diff --git a/.bowerrc b/.bowerrc new file mode 100644 index 0000000..5773025 --- /dev/null +++ b/.bowerrc @@ -0,0 +1,3 @@ +{ + "directory": "app/bower_components" +} diff --git a/.firebaserc b/.firebaserc new file mode 100644 index 0000000..99b9faf --- /dev/null +++ b/.firebaserc @@ -0,0 +1,5 @@ +{ + "projects": { + "default": "crowdevelop-40f3c" + } +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..efa16b9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,107 @@ + +# Created by https://www.gitignore.io/api/linu,linux,node,bower + +### Node ### +# Logs +logs +*.log +npm-debug.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (http://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules +jspm_packages + +# Optional npm cache directory +.npm + +# Optional REPL history +.node_repl_history + +# Yarn Integrity file +.yarn-integrity + +### Bower ### +bower_components +.bower-cache +.bower-registry +.bower-tmp + + +### WebStorm ### +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff: +.idea/workspace.xml +.idea/tasks.xml +.idea/dictionaries +.idea/vcs.xml +.idea/jsLibraryMappings.xml + +# Sensitive or high-churn files: +.idea/dataSources.ids +.idea/dataSources.xml +.idea/dataSources.local.xml +.idea/sqlDataSources.xml +.idea/dynamic.xml +.idea/uiDesigner.xml + +# Gradle: +.idea/gradle.xml +.idea/libraries + +# Mongo Explorer plugin: +.idea/mongoSettings.xml + +## File-based project format: +*.iws + +## Plugin-specific files: + +# IntelliJ +/out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +### WebStorm Patch ### +# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721 + +# *.iml +# modules.xml +# .idea/misc.xml +# *.ipr +.idea diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..9854d24 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,12 @@ +language: node_js +node_js: + - '6' +before_script: + - 'npm install -g bower' + - 'bower install' +script: + - echo 'Deploying!' +install: + - npm install -g firebase-tools +after_success: + - firebase deploy --token $FIREBASE_TOKEN diff --git a/README.md b/README.md index 8acc754..4154a20 100644 --- a/README.md +++ b/README.md @@ -1 +1,46 @@ -tfgCrowDevelop +# CrowDevelop - Software engineer ULPGC final college project + +### Status +[![Build Status](https://travis-ci.com/hmaciasc/CrowDevelop.svg?token=3qqEyH2Ym2Cs3Z3KNiwA&branch=develop)](https://travis-ci.com/hmaciasc/CrowDevelop) + + +# CrowDevelop + +(https://crowdevelop-40f3c.firebaseapp.com) + +CrowDevelop is a crowdfunding platform focused on software development projects. + + - Passwordless authentication + - Progressive web app with offline cache and install banner + - Push notifications + - Image upload. + - Mock payments (pending) + +### Tech + +CrowDevelop uses a number of open source projects to work properly: + +* [Firebase] - Backend as a service +* [AngularJS] - HTML enhanced for web apps! +* [Bootstrap 4] - great UI boilerplate for modern web apps +* [Gulp] - the streaming build system +* [AngularFire] - angular and firebase official integration lib +* [jQuery] + + +### Installation + +CrowDevelop requires [Node.js](https://nodejs.org/) to run. + +Install the dependencies and devDependencies and start the server. + +```sh +$ cd CrowDevelop +$ npm i -g gulp +$ npm i && bower install +$ gulp +``` + +Navigate to localhost:5000 + +### Current master version 1.0 diff --git a/app/firebase-messaging-sw.js b/app/firebase-messaging-sw.js new file mode 100644 index 0000000..684c979 --- /dev/null +++ b/app/firebase-messaging-sw.js @@ -0,0 +1,23 @@ +importScripts('https://www.gstatic.com/firebasejs/3.6.1/firebase-app.js'); +importScripts('https://www.gstatic.com/firebasejs/3.6.1/firebase-messaging.js'); + + +var config = { + apiKey: "AIzaSyDP4kTth7VjRSaNosacjj3PKGKM76OJKD0", + authDomain: "crowdevelop-40f3c.firebaseapp.com", + databaseURL: "https://crowdevelop-40f3c.firebaseio.com", + storageBucket: "crowdevelop-40f3c.appspot.com", + messagingSenderId: "598401583655" +}; + +firebase.initializeApp(config); + +var messaging = firebase.messaging(); +messaging.setBackgroundMessageHandler(function(payload) { + console.log(payload); + var title = "CrowDevelop notice"; + var options = { + body: payload.data.status + } + return self.registration.showNotification(title, options); +}); diff --git a/app/images/icon-notification-192x192.png b/app/images/icon-notification-192x192.png new file mode 100644 index 0000000..8e47f52 Binary files /dev/null and b/app/images/icon-notification-192x192.png differ diff --git a/app/images/icons/check-green.svg b/app/images/icons/check-green.svg new file mode 100644 index 0000000..89a6415 --- /dev/null +++ b/app/images/icons/check-green.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/images/icons/check.svg b/app/images/icons/check.svg new file mode 100644 index 0000000..9632559 --- /dev/null +++ b/app/images/icons/check.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/images/icons/credit-card.svg b/app/images/icons/credit-card.svg new file mode 100644 index 0000000..e68efc6 --- /dev/null +++ b/app/images/icons/credit-card.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/images/icons/down_circle.svg b/app/images/icons/down_circle.svg new file mode 100644 index 0000000..cf23ffc --- /dev/null +++ b/app/images/icons/down_circle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/images/icons/facebook.svg b/app/images/icons/facebook.svg new file mode 100644 index 0000000..6aa72f8 --- /dev/null +++ b/app/images/icons/facebook.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/images/icons/google_plus.svg b/app/images/icons/google_plus.svg new file mode 100644 index 0000000..e40b668 --- /dev/null +++ b/app/images/icons/google_plus.svg @@ -0,0 +1,10 @@ + \ No newline at end of file diff --git a/app/images/icons/heart-o.svg b/app/images/icons/heart-o.svg new file mode 100644 index 0000000..c3b76ac --- /dev/null +++ b/app/images/icons/heart-o.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/images/icons/heart.svg b/app/images/icons/heart.svg new file mode 100644 index 0000000..5f7c527 --- /dev/null +++ b/app/images/icons/heart.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/images/icons/icon-128x128.png b/app/images/icons/icon-128x128.png new file mode 100644 index 0000000..1901c17 Binary files /dev/null and b/app/images/icons/icon-128x128.png differ diff --git a/app/images/icons/icon-144x144.png b/app/images/icons/icon-144x144.png new file mode 100644 index 0000000..b6cd4f9 Binary files /dev/null and b/app/images/icons/icon-144x144.png differ diff --git a/app/images/icons/icon-152x152.png b/app/images/icons/icon-152x152.png new file mode 100644 index 0000000..f04bb92 Binary files /dev/null and b/app/images/icons/icon-152x152.png differ diff --git a/app/images/icons/icon-192x192.png b/app/images/icons/icon-192x192.png new file mode 100644 index 0000000..39a0a30 Binary files /dev/null and b/app/images/icons/icon-192x192.png differ diff --git a/app/images/icons/icon-384x384.png b/app/images/icons/icon-384x384.png new file mode 100644 index 0000000..7688bc6 Binary files /dev/null and b/app/images/icons/icon-384x384.png differ diff --git a/app/images/icons/icon-72x72.png b/app/images/icons/icon-72x72.png new file mode 100644 index 0000000..fae887d Binary files /dev/null and b/app/images/icons/icon-72x72.png differ diff --git a/app/images/icons/icon-96x96.png b/app/images/icons/icon-96x96.png new file mode 100644 index 0000000..32077b1 Binary files /dev/null and b/app/images/icons/icon-96x96.png differ diff --git a/app/images/icons/search-icon.png b/app/images/icons/search-icon.png new file mode 100644 index 0000000..0c8568a Binary files /dev/null and b/app/images/icons/search-icon.png differ diff --git a/app/images/icons/search.svg b/app/images/icons/search.svg new file mode 100644 index 0000000..92ce82b --- /dev/null +++ b/app/images/icons/search.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/images/icons/twitter.svg b/app/images/icons/twitter.svg new file mode 100644 index 0000000..18e1f0e --- /dev/null +++ b/app/images/icons/twitter.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/images/icons/up_circle.svg b/app/images/icons/up_circle.svg new file mode 100644 index 0000000..cffe195 --- /dev/null +++ b/app/images/icons/up_circle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/images/title1.jpg b/app/images/title1.jpg new file mode 100644 index 0000000..fa33e3e Binary files /dev/null and b/app/images/title1.jpg differ diff --git a/app/index.html b/app/index.html new file mode 100644 index 0000000..a3b434b --- /dev/null +++ b/app/index.html @@ -0,0 +1,86 @@ + + + + + + + + + + CrowDevelop + + + + + + + + + + + + + +
+
+
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/manifest.json b/app/manifest.json new file mode 100755 index 0000000..9d34e3d --- /dev/null +++ b/app/manifest.json @@ -0,0 +1,42 @@ +{ + "short_name": "CrowDevelop", + "name": "Crowd Develop", + "icons": [ + { + "src": "images/icons/icon-72x72.png", + "sizes": "72x72", + "type": "image/png" + }, + { + "src": "images/icons/icon-96x96.png", + "sizes": "96x96", + "type": "image/png" + }, + { + "src": "images/icons/icon-128x128.png", + "sizes": "128x128", + "type": "image/png" + }, + { + "src": "images/icons/icon-144x144.png", + "sizes": "144x144", + "type": "image/png" + }, + { + "src": "images/icons/icon-152x152.png", + "sizes": "152x152", + "type": "image/png" + }, + { + "src": "images/icons/icon-192x192.png", + "sizes": "192x192", + "type": "image/png" + } + ], + "display": "standalone", + "orientation": "portrait", + "start_url": "/", + "theme_color": "#ffffff", + "background_color": "#869B86", + "gcm_sender_id": "103953800507" +} diff --git a/app/scripts/app.js b/app/scripts/app.js new file mode 100644 index 0000000..bfc39b8 --- /dev/null +++ b/app/scripts/app.js @@ -0,0 +1,142 @@ +'use strict'; + +var config = { + apiKey: "AIzaSyDP4kTth7VjRSaNosacjj3PKGKM76OJKD0", + authDomain: "crowdevelop-40f3c.firebaseapp.com", + databaseURL: "https://crowdevelop-40f3c.firebaseio.com", + storageBucket: "crowdevelop-40f3c.appspot.com", + messagingSenderId: "598401583655" +}; + +firebase.initializeApp(config); + +angular.module('crowDevelop', ['firebase', 'ngRoute', 'ngStorage', 'ngAnimate']) + +.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) { + $routeProvider + .when('/', { + templateUrl: 'views/home.html', + controller: 'HomeCtrl' + }) + .when('/login', { + templateUrl: 'views/login.html', + controller: 'LoginCtrl' + }) + .when('/contact', { + templateUrl: 'views/shared/contact.html' + }) + .when('/tos', { + templateUrl: 'views/shared/tos.html' + }) + .when('/myProjects', { + templateUrl: 'views/projects/index.html', + controller: 'MyProjectsCtrl' + }) + .when('/projects/create', { + templateUrl: 'views/projects/create.html', + controller: 'ProjectsCreateCtrl' + }) + .when('/projects/favourites', { + templateUrl: 'views/projects/favourites.html', + controller: 'ProjectsFavouritesCtrl' + }) + .when('/projects/index', { + templateUrl: 'views/projects/index.html', + controller: 'ProjectsIndexCtrl' + }) + .when('/projects/category/:category', { + templateUrl: 'views/projects/index.html', + controller: 'ProjectsCategoryCtrl' + }) + .when('/projects/index/:pid', { + templateUrl: 'views/projects/details.html', + controller: 'ProjectsDetailsCtrl' + }) + .otherwise({ + templateUrl: 'views/shared/404.html' + }); + $locationProvider.html5Mode(true); +}]) + +.filter('trusted', ['$sce', function($sce) { + return function(url) { + return $sce.trustAsResourceUrl("https://www.youtube.com/embed/" + url); + }; +}]) + +.filter('formatText', function($sce) { + return function(description) { + if (!description) return description; + var text = description.replace(/\n/g, '
'); + return $sce.trustAsHtml(text); + } +}) + +.filter('camelToHuman', function() { + return function(string) { + return string.replace(/([a-z])([A-Z])/g, '$1 $2') + }; +}) + +.filter('capitalize', function() { + return function(input, scope) { + if (input != null) + input = input.toLowerCase(); + return input.substring(0, 1).toUpperCase() + input.substring(1); + } +}) + +.run(['$rootScope', '$firebaseObject', function($rootScope, $firebaseObject) { + if ('serviceWorker' in navigator) { + navigator.serviceWorker.register('../sw.js').then(function(registration) { + // Registration was successful + console.log('ServiceWorker registration successful'); + }).catch(function(err) { + // registration failed :( + console.log('ServiceWorker registration failed: '); + }); + } + var messaging = firebase.messaging(); + messaging.requestPermission() + .then(function() { + console.log('Notifications enabled'); + return messaging.getToken(); + }) + .then(function(token) { + $rootScope.fcmToken = token; + }) + .catch(function(err) { + console.log('Notifications cancelled by user'); + }) + + messaging.onMessage(function(payload) { + $rootScope.notifications.push(payload.notification); + $rootScope.$apply(); + }); +}]) + +.run(['$rootScope', '$location', '$localStorage', 'AuthService', '$window', function($rootScope, $location, $localStorage, AuthService, $window) { + + $rootScope.notifications = []; + $rootScope.firebaseUser = $localStorage.firebaseUser; + $rootScope.categories = ["Development", "Game", "Education", "Social", "Art", "Sports", "Health", "News"]; + $rootScope.authService = new AuthService({ + provider: 'google' + }); + $rootScope.online = navigator.onLine; + $window.addEventListener("offline", function() { + $rootScope.$apply(function() { + $rootScope.online = false; + }); + }, false); + + $window.addEventListener("online", function() { + $rootScope.$apply(function() { + $rootScope.online = true; + }); + }, false); + + $rootScope.goTo = function(path) { + $location.path(path); + }; +}]); diff --git a/app/scripts/controllers/header.js b/app/scripts/controllers/header.js new file mode 100644 index 0000000..1547051 --- /dev/null +++ b/app/scripts/controllers/header.js @@ -0,0 +1,10 @@ +'use strict'; + +angular.module('crowDevelop') + +.controller('HeaderCtrl', ['$rootScope', '$scope', 'AuthService', function($rootScope, $scope, AuthService) { + + $scope.logout = function() { + $rootScope.authService.logout(); + } +}]); diff --git a/app/scripts/controllers/home.js b/app/scripts/controllers/home.js new file mode 100644 index 0000000..50bc41c --- /dev/null +++ b/app/scripts/controllers/home.js @@ -0,0 +1,49 @@ +'use strict'; + +angular.module('crowDevelop') + +.controller('HomeCtrl', ['$rootScope', '$scope', '$firebaseArray', '$firebaseObject', '$location', function($rootScope, $scope, $firebaseArray, $firebaseObject, $location) { + + $scope.queryFilter = {}; + $scope.queryBy = '$'; + + + $scope.findProject = function() { + var projectsRef = firebase.database().ref('projects/'); + var query = projectsRef.orderByChild('name').equalTo($scope.query); + var list = $firebaseArray(query); + $rootScope.projectSearch = list; + $location.path('/projects/index'); + }; + + $scope.init = function() { + var projectRef = firebase.database().ref('projects/'); + var query = projectRef.orderByChild('donated').limitToLast(10); + $scope.projects = $firebaseArray(query); + updateStatuses($scope.projects); + }; + + + function updateStatuses(projects) { + projects.$loaded( + function(projects) { + for (var i = 0; i < projects.length; i++) { + var expireDate = new Date(projects[i].year, projects[i].month - 1, projects[i].day); + var now = new Date(); + now.setHours(0, 0, 0, 0); + if (expireDate < now && $rootScope.firebaseUser) endProject(projects[i].$id); + } + }, + function(err) { + console.log(err); + }); + } + + function endProject(projectId) { + var projectRef = firebase.database().ref('projects/' + projectId); + projectRef.child('status').set('closed'); + } + + + $scope.init(); +}]); diff --git a/app/scripts/controllers/login.js b/app/scripts/controllers/login.js new file mode 100644 index 0000000..db2b148 --- /dev/null +++ b/app/scripts/controllers/login.js @@ -0,0 +1,25 @@ +'use strict'; + +angular.module('crowDevelop') + +.controller('LoginCtrl', ['$rootScope', '$scope', '$location', 'AuthService', function($rootScope, $scope, $location, AuthService) { + + + $scope.login = function(provider) { + $rootScope.authService.login(provider).then(function(user) { + $rootScope.firebaseUser = user; + if (user != null) { + $location.path('/'); + } + }, function(error) { + $scope.loginError = error; + }); + }; + + + $scope.logout = function() { + $rootScope.authService.logout(); + $location.path('/'); + }; + +}]); diff --git a/app/scripts/controllers/projects/category.js b/app/scripts/controllers/projects/category.js new file mode 100644 index 0000000..041bb66 --- /dev/null +++ b/app/scripts/controllers/projects/category.js @@ -0,0 +1,30 @@ +'use strict'; + +angular.module('crowDevelop') + +.controller('ProjectsCategoryCtrl', ['$rootScope', '$scope', '$firebaseArray', '$location', '$routeParams', 'ProjectService', function($rootScope, $scope, $firebaseArray, $location, $routeParams, ProjectService) { + + var category = $routeParams.category; + + $scope.getCategoryProjects = function() { + $rootScope.projectSearch = ProjectService.findProjects('category', category); + if (!$rootScope.projectSearch.length) addEmptyMessage(); + }; + + function addEmptyMessage() { + $scope.errorMessage = {}; + $scope.errorMessage.big = 'No projects found in that category'; + $scope.errorMessage.small = 'Look for something else'; + } + + $scope.findProject = function() { + var projectsRef = firebase.database().ref('projects/'); + var query = projectsRef.orderByChild('name').equalTo($scope.query); + var list = $firebaseArray(query); + $rootScope.projectSearch = list; + $location.path('/projects/index'); + }; + + + $scope.getCategoryProjects(); +}]); diff --git a/app/scripts/controllers/projects/create.js b/app/scripts/controllers/projects/create.js new file mode 100644 index 0000000..2417784 --- /dev/null +++ b/app/scripts/controllers/projects/create.js @@ -0,0 +1,100 @@ +'use strict'; + +angular.module('crowDevelop') + +.controller('ProjectsCreateCtrl', ['$rootScope', '$scope', '$firebaseArray', '$location', function($rootScope, $scope, $firebaseArray, $location) { + $scope.project = {}; + $scope.currentDate = new Date(); + + $scope.myDate = new Date(); + + $scope.minDate = new Date( + $scope.myDate.getFullYear(), + $scope.myDate.getMonth(), + $scope.myDate.getDate()); + + $scope.maxDate = new Date( + $scope.myDate.getFullYear() + 2, + $scope.myDate.getMonth() + 1, + $scope.myDate.getDate()); + + $scope.log = function(image) { + $scope.project.image = image.files[0]; + $scope.$apply(); + }; + + $scope.create = function() { + var project = $scope.project; + + $scope.project.ownerId = $rootScope.firebaseUser.uid; + $scope.project.ownerName = $rootScope.firebaseUser.displayName; + $scope.project.day = $scope.project.selectedDate.getDay(); + $scope.project.month = $scope.project.selectedDate.getMonth() + 1; + $scope.project.year = $scope.project.selectedDate.getFullYear(); + $scope.project.donated = 0; + $scope.project.status = "inProgress"; + $scope.project.imageRef = ""; + + var video = $scope.project.video; + var regExp = /^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=|\?v=)([^#\&\?]*).*/; + var match = $scope.project.video.toString().match(regExp); + if (match && match[2].length == 11) { + $scope.project.video = match[2]; + $scope.videoError = false; + } else { + $scope.videoError = "Please enter a valid youtube video url"; + return; + } + + var ref = firebase.database().ref('projects'); + var list = $firebaseArray(ref); + list.$add($scope.project).then(function(ref) { + uploadPhoto(ref.key); + }); + + $location.path('/'); + }; + + function uploadPhoto(projectKey) { + var storage = firebase.storage(); + var storageRef = storage.ref(); + var imagesRef = storageRef.child('projectImages/' + projectKey).put($scope.project.image); + var downUrl = imagesRef.on(firebase.storage.TaskEvent.STATE_CHANGED, + function(snapshot) { + var progress = (snapshot.bytesTransferred / snapshot.totalBytes) * 100; + console.log('Upload is ' + progress + '% done'); + switch (snapshot.state) { + case firebase.storage.TaskState.PAUSED: + console.log('Upload is paused'); + break; + case firebase.storage.TaskState.RUNNING: + console.log('Upload is running'); + break; + } + }, + function(error) { + switch (error.code) { + case 'storage/unauthorized': + console.log("User doesn't have permission to access the object"); + break; + + case 'storage/canceled': + console.log('User canceled the upload'); + break; + + case 'storage/unknown': + console.log('Unknown error occurred, inspect error.serverResponse'); + break; + } + }, + function() { + $scope.project.imagesRef = imagesRef.snapshot.downloadURL; + + var ref = firebase.database().ref('projects/' + projectKey + '/imageRef'); + ref.set(imagesRef.snapshot.downloadURL); + + return imagesRef.snapshot.downloadURL; + }); + } + +}]); diff --git a/app/scripts/controllers/projects/details.js b/app/scripts/controllers/projects/details.js new file mode 100644 index 0000000..b9d328a --- /dev/null +++ b/app/scripts/controllers/projects/details.js @@ -0,0 +1,280 @@ +'use strict'; + +angular.module('crowDevelop') + +.controller('ProjectsDetailsCtrl', ['$rootScope', '$scope', '$firebaseObject', '$firebaseArray', '$routeParams', function($rootScope, $scope, $firebaseObject, $firebaseArray, $routeParams) { + + var pid = $routeParams.pid; + $scope.success = false; + + $scope.getProject = function() { + var projectRef = firebase.database().ref('projects/' + pid); + var obj = $firebaseObject(projectRef); + obj.$loaded().then(function() { + $('.project-title').css('background-image', 'url(' + $scope.project.imageRef + ')'); + }); + $scope.project = obj; + }; + + $scope.getComments = function() { + var commentsRef = firebase.database().ref('comments/' + $scope.project.$id); + var obj = $firebaseObject(commentsRef); + $scope.comments = obj; + }; + + $scope.getOwner = function(uid) { + var userRef = firebase.database().ref('users/' + uid); + var obj = $firebaseObject(userRef); + userRef.on('value', function(snapshot) { + $scope.owner = snapshot.val(); + }); + } + + $scope.getFavourite = function() { + var favRef = firebase.database().ref('favourites/' + $rootScope.firebaseUser.uid); + var state = $firebaseObject(favRef.child($scope.project.$id)); + state.$loaded().then(function() { + $scope.favourited = state.$value; + }); + } + + $scope.favourite = function() { + var favRef = firebase.database().ref('favourites/' + $rootScope.firebaseUser.uid); + var state = $firebaseObject(favRef.child($scope.project.$id)); + state.$loaded().then(function() { + favRef.child($scope.project.$id).set(!state.$value); + $scope.favourited = !state.$value; + }); + } + + $scope.getUpdates = function() { + var projectUpdates = firebase.database().ref().child('projectUpdates/' + $scope.project.$id); + $scope.projectUpdates = $firebaseArray(projectUpdates); + } + + $scope.addUpdate = function() { + var root = firebase.database().ref().child('projectUpdates/' + $scope.project.$id); + var updateRef = root.push().key; + var update = { + body: $scope.update.body, + url: $scope.update.url + }; + firebase.database().ref('projectUpdates/' + $scope.project.$id + '/' + updateRef).set(update) + .catch(function(e) { + $scope.error = e; + }); + } + + $scope.addFeature = function() { + var root = firebase.database().ref().child('features/' + $scope.project.$id); + var featureRef = root.push().key; + var feature = { + description: $scope.newFeature, + points: 1 + }; + firebase.database().ref('features/' + $scope.project.$id + '/' + featureRef).set(feature) + .catch(function(e) { + $scope.error = e; + }); + } + + $scope.voteFeature = function(fid, status) { + var voteRef = firebase.database().ref('featureVotes/' + $scope.project.$id + '/' + $rootScope.firebaseUser.uid); + var state = $firebaseObject(voteRef.child(fid)); + state.$loaded().then(function() { + for (let i = 0; i < $scope.features.length; i++) { + if ($scope.features[i].$id == fid) { + if (state.$value !== status || state.$value == undefined) { + $scope.features[i].status = status; + updatePoints(fid, status); + } + voteRef.child(fid).set(status); + break; + } + } + }); + getUserFeatureVotes(); + } + + function updatePoints(fid, status) { + var featureRef = firebase.database().ref('features/' + $scope.project.$id + '/' + fid); + var feature = $firebaseObject(featureRef); + feature.$loaded().then(function() { + if (status == 'up') { + feature.points = parseInt(feature.points) + 1; + } else if (status == 'down') { + feature.points = parseInt(feature.points) - 1; + } + feature.$save(); + }); + } + + $scope.getFeatures = function() { + var featuresRef = firebase.database().ref('features/' + $scope.project.$id).orderByChild('points'); + var obj = $firebaseArray(featuresRef); + $scope.features = obj; + } + + function getUserFeatureVotes() { + var userFeaturesRef = firebase.database().ref('featureVotes/' + $scope.project.$id + '/' + $rootScope.firebaseUser.uid); + var votes = $firebaseArray(userFeaturesRef); + votes.$loaded().then(function() { + for (var i = 0; i < $scope.features.length; i++) { + for (var j = 0; j < votes.length; j++) { + if ($scope.features[i].$id == votes[j].$id) { + $scope.features[i].status = votes[j].$value; + } + } + } + }); + } + + $scope.saveComment = function() { + var commentRef = firebase.database().ref('comments/' + $scope.project.$id); + var comment = { + writer: $rootScope.firebaseUser.displayName, + text: $scope.newComment, + photo: $rootScope.firebaseUser.photoURL + }; + var obj = $firebaseArray(commentRef).$add(comment); + } + + $scope.donate = function() { + var donationsRef = firebase.database().ref('donations/' + $scope.project.$id); + var donation = { + payer: $rootScope.firebaseUser.displayName, + uid: $rootScope.firebaseUser.uid, + amount: $scope.amount + }; + $firebaseArray(donationsRef).$add(donation); + + updateProject(); + } + + $scope.changeProjectStatus = function(status) { + if (confirm('Are you sure?')) { + var projectRef = firebase.database().ref('projects/' + $scope.project.$id); + var obj = $firebaseObject(projectRef); + obj.$loaded( + function(data) { + data.status = status; + data.$save().then(function(projectRef) { + projectRef.key === obj.$id; + }, function(error) { + console.log("Error:", error); + }); + }, + function(error) { + console.error("Error:", error); + } + ); + } + } + + function updateProject() { + $('.loaderDiv').toggleClass('loader'); + var projectRef = firebase.database().ref('projects/' + $scope.project.$id); + var obj = $firebaseObject(projectRef); + obj.$loaded( + function(data) { + data.donated = parseInt(data.donated, 10) + parseInt($scope.amount, 10); + data.$save().then(function(projectRef) { + projectRef.key === obj.$id; + }, function(error) { + console.log("Error:", error); + }); + }, + function(error) { + console.error("Error:", error); + } + ); + setTimeout(endSpinner, 3000); + } + + function endSpinner() { + $('.loaderDiv').toggleClass('loader'); + $('.successDiv').toggleClass('invisible success'); + } + + $.fn.toggleInputError = function(erred) { + this.parent('.form-group').toggleClass('has-danger', erred); + this.toggleClass('form-control-danger', erred); + return this; + }; + $.fn.toggleInputSuccess = function(erred) { + this.parent('.form-group').toggleClass('has-success', erred); + this.toggleClass('form-control-success', erred); + return this; + }; + + + function creditCardValidation() { + $('[data-numeric]').payment('restrictNumeric'); + $('.cc-number').payment('formatCardNumber'); + $('.cc-number').on('input', function(e) { + e.preventDefault(); + var cardType = $.payment.cardType($('.cc-number').val()); + $('.cc-number').toggleInputError(!$.payment.validateCardNumber($('.cc-number').val())); + $('.cc-number').toggleInputSuccess($.payment.validateCardNumber($('.cc-number').val())); + $('.cc-brand').text(cardType); + }); + } + + function expiryValidation() { + $('[data-numeric]').payment('restrictNumeric'); + $('.cc-exp').payment('formatCardExpiry'); + + $('.cc-exp').on('input', function(e) { + e.preventDefault(); + var cardType = $.payment.cardType($('.cc-number').val()); + $('.cc-exp').toggleInputError(!$.payment.validateCardExpiry($('.cc-exp').payment('cardExpiryVal'))); + $('.cc-exp').toggleInputSuccess($.payment.validateCardExpiry($('.cc-exp').payment('cardExpiryVal'))); + }); + } + + function cvcValidation() { + $('[data-numeric]').payment('restrictNumeric'); + $('.cc-cvc').payment('formatCardCVC'); + $('.cc-cvc').on('input', function(e) { + e.preventDefault(); + var cardType = $.payment.cardType($('.cc-number').val()); + $('.cc-cvc').toggleInputError(!$.payment.validateCardCVC($('.cc-cvc').val(), cardType)); + $('.cc-cvc').toggleInputSuccess($.payment.validateCardCVC($('.cc-cvc').val(), cardType)); + }); + } + + function expiryValidation() { + $('[data-numeric]').payment('restrictNumeric'); + $('.cc-exp').payment('formatCardExpiry'); + + $('.cc-exp').on('input', function(e) { + e.preventDefault(); + var cardType = $.payment.cardType($('.cc-number').val()); + $('.cc-exp').toggleInputError(!$.payment.validateCardExpiry($('.cc-exp').payment('cardExpiryVal'))); + $('.cc-exp').toggleInputSuccess($.payment.validateCardExpiry($('.cc-exp').payment('cardExpiryVal'))); + }); + } + + function cvcValidation() { + $('[data-numeric]').payment('restrictNumeric'); + $('.cc-cvc').payment('formatCardCVC'); + $('.cc-cvc').on('input', function(e) { + e.preventDefault(); + var cardType = $.payment.cardType($('.cc-number').val()); + $('.cc-cvc').toggleInputError(!$.payment.validateCardCVC($('.cc-cvc').val(), cardType)); + $('.cc-cvc').toggleInputSuccess($.payment.validateCardCVC($('.cc-cvc').val(), cardType)); + }); + } + + creditCardValidation(); + expiryValidation(); + cvcValidation(); + $scope.getProject(); + $scope.getUpdates(); + $scope.getComments(); + $scope.getFeatures(); + if ($rootScope.firebaseUser) { + $scope.getFavourite(); + getUserFeatureVotes(); + } +}]); diff --git a/app/scripts/controllers/projects/favourites.js b/app/scripts/controllers/projects/favourites.js new file mode 100644 index 0000000..0b7540c --- /dev/null +++ b/app/scripts/controllers/projects/favourites.js @@ -0,0 +1,37 @@ +'use strict'; + +angular.module('crowDevelop') + +.controller('ProjectsFavouritesCtrl', ['$rootScope', '$scope', '$firebaseObject', '$firebaseArray', '$location', function($rootScope, $scope, $firebaseObject, $firebaseArray, $location) { + + var user = $rootScope.firebaseUser; + + $scope.getFavouriteProjects = function() { + var uid = user.uid; + var favProjectsRef = firebase.database().ref('favourites/' + uid); + var favourites = $firebaseArray(favProjectsRef); + favourites.$loaded().then(function() { + var projects = []; + for (var i = 0; i < favourites.length; i++) { + if (favourites[i].$value) { + projects.push(getProject(favourites[i].$id)); + } + } + $scope.favProjects = projects; + }); + if (!favourites.length) addEmptyMessage(); + } + + function getProject(pid) { + var projectRef = firebase.database().ref('projects/' + pid); + return $firebaseObject(projectRef); + }; + + function addEmptyMessage() { + $scope.errorMessage = {}; + $scope.errorMessage.big = 'You have no favourite projects...Yet!'; + $scope.errorMessage.small = 'Favourite a project first'; + } + + $scope.getFavouriteProjects(); +}]); diff --git a/app/scripts/controllers/projects/index.js b/app/scripts/controllers/projects/index.js new file mode 100644 index 0000000..ab75023 --- /dev/null +++ b/app/scripts/controllers/projects/index.js @@ -0,0 +1,21 @@ +'use strict'; + +angular.module('crowDevelop') + +.controller('ProjectsIndexCtrl', ['ProjectService', '$rootScope', '$scope', '$firebaseArray', '$location', function(ProjectService, $rootScope, $scope, $firebaseArray, $location) { + + $scope.findProject = function() { + $rootScope.projectSearch = ProjectService.findProjects('name', $scope.query); + if (!$rootScope.projectSearch.length) addEmptyMessage(); + }; + + + function addEmptyMessage() { + $scope.errorMessage = {}; + $scope.errorMessage.big = 'No projects found with that name'; + $scope.errorMessage.small = 'Look for something else'; + } + + if (!$rootScope.projectSearch.length) addEmptyMessage(); + +}]); diff --git a/app/scripts/controllers/projects/myProjects.js b/app/scripts/controllers/projects/myProjects.js new file mode 100644 index 0000000..928dd8a --- /dev/null +++ b/app/scripts/controllers/projects/myProjects.js @@ -0,0 +1,20 @@ +'use strict'; + +angular.module('crowDevelop') + +.controller('MyProjectsCtrl', ['$rootScope', '$scope', '$firebaseArray', function($rootScope, $scope, $firebaseArray) { + + $scope.getOwnProjects = function() { + var projectsRef = firebase.database().ref('projects/'); + var query = projectsRef.orderByChild('ownerId').equalTo($rootScope.firebaseUser.uid); + var list = $firebaseArray(query); + $rootScope.projectSearch = list; + if (!list.length) { + $scope.errorMessage = {}; + $scope.errorMessage.big = 'You have not yet created a project'; + $scope.errorMessage.small = 'Go ahead, get funded.'; + } + }; + + $scope.getOwnProjects(); +}]); diff --git a/app/scripts/oneSignal/OneSignalConfig.js b/app/scripts/oneSignal/OneSignalConfig.js new file mode 100644 index 0000000..3b87a0f --- /dev/null +++ b/app/scripts/oneSignal/OneSignalConfig.js @@ -0,0 +1,9 @@ +var OneSignal = window.OneSignal || []; +OneSignal.push(["init", { + appId: "1a94c6cf-bf0d-42cc-a178-d938108e0b49", + autoRegister: false, + subdomainName: 'http://crowdevelop-40f3c.firebaseapp.com', + notifyButton: { + enable: true /* Set to false to hide */ + } +}]); diff --git a/app/scripts/oneSignal/OneSignalSDKUpdaterWorker.js b/app/scripts/oneSignal/OneSignalSDKUpdaterWorker.js new file mode 100644 index 0000000..8657823 --- /dev/null +++ b/app/scripts/oneSignal/OneSignalSDKUpdaterWorker.js @@ -0,0 +1 @@ +importScripts('https://cdn.onesignal.com/sdks/OneSignalSDK.js'); diff --git a/app/scripts/oneSignal/OneSignalSDKWorker.js b/app/scripts/oneSignal/OneSignalSDKWorker.js new file mode 100644 index 0000000..8657823 --- /dev/null +++ b/app/scripts/oneSignal/OneSignalSDKWorker.js @@ -0,0 +1 @@ +importScripts('https://cdn.onesignal.com/sdks/OneSignalSDK.js'); diff --git a/app/scripts/services/authService.js b/app/scripts/services/authService.js new file mode 100644 index 0000000..7d942be --- /dev/null +++ b/app/scripts/services/authService.js @@ -0,0 +1,73 @@ +'use strict'; + +angular.module('crowDevelop').factory('AuthService', ['$rootScope', '$firebaseAuth', '$location', '$q', '$localStorage', '$firebaseObject', + function($rootScope, $firebaseAuth, $location, $q, $localStorage, $firebaseObject) { + + var AuthService = function(properties) { + angular.extend(this, properties); + }; + + AuthService.prototype.isLoggedIn = function() { + return !!$localStorage.firebaseUser; + } + + AuthService.prototype.getLocalUser = function() { + return $localStorage.firebaseUser; + } + + AuthService.prototype.login = function(providerInput) { + var auth = $firebaseAuth(); + var deferred = $q.defer(); + var provider = getProviderForProviderId(providerInput); + auth.$signInWithPopup(provider).then(function(firebaseUser) { + $localStorage.firebaseUser = firebaseUser.user; + deferred.resolve(firebaseUser.user); + addTokenToDatabase(firebaseUser.user); + }).catch(function(error) { + if (error.code === 'auth/account-exists-with-different-credential') { + var pendingCred = error.credential; + var email = error.email; + + firebase.auth().fetchProvidersForEmail(email).then(function(providers) { + var provider = getProviderForProviderId(providers[0]); + firebase.auth().signInWithPopup(provider).then(function(firebaseUser) { + firebase.auth().currentUser.link(pendingCred).then(function(firebaseUser) { + console.log("Account linking success", firebaseUser); + $localStorage.firebaseUser = firebaseUser; + deferred.resolve(firebaseUser); + addTokenToDatabase(firebaseUser); + }); + }); + }); + } + }); + return deferred.promise; + }; + + function getProviderForProviderId(provider) { + if (provider === "google.com") return new firebase.auth.GoogleAuthProvider(); + if (provider === "facebook.com") return new firebase.auth.FacebookAuthProvider(); + if (provider === "twitter.com") return new firebase.auth.TwitterAuthProvider(); + } + + function addTokenToDatabase(user) { + var notificationsRef = firebase.database().ref('notificationRequests'); + var key = notificationsRef.push().key; + var user = { + username: user.displayName, + token: $rootScope.fcmToken + }; + firebase.database().ref('notificationRequests/' + key).set(user); + } + + AuthService.prototype.logout = function() { + var auth = $firebaseAuth(); + auth.$signOut(); + $localStorage.$reset(); + $rootScope.firebaseUser = null; + }; + + return AuthService; + + } +]); diff --git a/app/scripts/services/projectService.js b/app/scripts/services/projectService.js new file mode 100644 index 0000000..a8b9213 --- /dev/null +++ b/app/scripts/services/projectService.js @@ -0,0 +1,18 @@ +'use strict'; + +angular.module('crowDevelop').factory('ProjectService', ['$rootScope', '$firebaseArray', '$location', '$q', '$localStorage', function($rootScope, $firebaseArray, $location, $q, $localStorage) { + + var ProjectService = function(properties) { + angular.extend(this, properties); + }; + + ProjectService.findProjects = function(field, query) { + var projectsRef = firebase.database().ref('projects/'); + var orderedProjects = projectsRef.orderByChild(field).equalTo(query); + var projectList = $firebaseArray(orderedProjects); + return projectList; + }; + + return ProjectService; + +}]); diff --git a/app/styles/css/app.css b/app/styles/css/app.css new file mode 100644 index 0000000..25e4c7d --- /dev/null +++ b/app/styles/css/app.css @@ -0,0 +1,11944 @@ +@import 'https://fonts.googleapis.com/css?family=Fira+Sans:500,700,400|Roboto:400'; +.btn-black { + background-color: #000; + border-color: #000; + color: #8c8c8c; } + +.btn-black:hover { + background-color: #8c8c8c; + border-color: #000; + color: #000; + transition: all 1000ms ease; } + +.color-black { + color: #000; } + +.bg-black { + background: #000; } + +.btn-white { + background-color: #fefefe; + border-color: #fefefe; + color: white; } + +.btn-white:hover { + background-color: white; + border-color: #fefefe; + color: #fefefe; + transition: all 1000ms ease; } + +.color-white { + color: #fefefe; } + +.bg-white { + background: #fefefe; } + +.btn-light-black { + background-color: #505050; + border-color: #505050; + color: gainsboro; } + +.btn-light-black:hover { + background-color: gainsboro; + border-color: #505050; + color: #505050; + transition: all 1000ms ease; } + +.color-light-black { + color: #505050; } + +.bg-light-black { + background: #505050; } + +.btn-dark-white { + background-color: #EAE8E0; + border-color: #EAE8E0; + color: white; } + +.btn-dark-white:hover { + background-color: white; + border-color: #EAE8E0; + color: #EAE8E0; + transition: all 1000ms ease; } + +.color-dark-white { + color: #EAE8E0; } + +.bg-dark-white { + background: #EAE8E0; } + +.btn-light-white { + background-color: #EEE7F7; + border-color: #EEE7F7; + color: white; } + +.btn-light-white:hover { + background-color: white; + border-color: #EEE7F7; + color: #EEE7F7; + transition: all 1000ms ease; } + +.color-light-white { + color: #EEE7F7; } + +.bg-light-white { + background: #EEE7F7; } + +.btn-green-blue { + background-color: #60daaa; + border-color: #60daaa; + color: white; } + +.btn-green-blue:hover { + background-color: white; + border-color: #60daaa; + color: #60daaa; + transition: all 1000ms ease; } + +.color-green-blue { + color: #60daaa; } + +.bg-green-blue { + background: #60daaa; } + +.btn-green { + background-color: #00E676; + border-color: #00E676; + color: white; } + +.btn-green:hover { + background-color: white; + border-color: #00E676; + color: #00E676; + transition: all 1000ms ease; } + +.color-green { + color: #00E676; } + +.bg-green { + background: #00E676; } + +.btn-old-green { + background-color: #ACD07A; + border-color: #ACD07A; + color: white; } + +.btn-old-green:hover { + background-color: white; + border-color: #ACD07A; + color: #ACD07A; + transition: all 1000ms ease; } + +.color-old-green { + color: #ACD07A; } + +.bg-old-green { + background: #ACD07A; } + +.btn-light-deep-green { + background-color: #1abb9c; + border-color: #1abb9c; + color: #f1fdfb; } + +.btn-light-deep-green:hover { + background-color: #f1fdfb; + border-color: #1abb9c; + color: #1abb9c; + transition: all 1000ms ease; } + +.color-light-deep-green { + color: #1abb9c; } + +.bg-light-deep-green { + background: #1abb9c; } + +.btn-deep-green { + background-color: #169f84; + border-color: #169f84; + color: #d4f9f2; } + +.btn-deep-green:hover { + background-color: #d4f9f2; + border-color: #169f84; + color: #169f84; + transition: all 1000ms ease; } + +.color-deep-green { + color: #169f84; } + +.bg-deep-green { + background: #169f84; } + +.btn-yellow { + background-color: #fbca67; + border-color: #fbca67; + color: white; } + +.btn-yellow:hover { + background-color: white; + border-color: #fbca67; + color: #fbca67; + transition: all 1000ms ease; } + +.color-yellow { + color: #fbca67; } + +.bg-yellow { + background: #fbca67; } + +.btn-orange { + background-color: #ff8a30; + border-color: #ff8a30; + color: white; } + +.btn-orange:hover { + background-color: white; + border-color: #ff8a30; + color: #ff8a30; + transition: all 1000ms ease; } + +.color-orange { + color: #ff8a30; } + +.bg-orange { + background: #ff8a30; } + +.btn-red { + background-color: #f45e61; + border-color: #f45e61; + color: white; } + +.btn-red:hover { + background-color: white; + border-color: #f45e61; + color: #f45e61; + transition: all 1000ms ease; } + +.color-red { + color: #f45e61; } + +.bg-red { + background: #f45e61; } + +.btn-red-heart { + background-color: #f10829; + border-color: #f10829; + color: white; } + +.btn-red-heart:hover { + background-color: white; + border-color: #f10829; + color: #f10829; + transition: all 1000ms ease; } + +.color-red-heart { + color: #f10829; } + +.bg-red-heart { + background: #f10829; } + +.btn-cyan { + background-color: #0eb7da; + border-color: #0eb7da; + color: white; } + +.btn-cyan:hover { + background-color: white; + border-color: #0eb7da; + color: #0eb7da; + transition: all 1000ms ease; } + +.color-cyan { + color: #0eb7da; } + +.bg-cyan { + background: #0eb7da; } + +.btn-purple { + background-color: #6477b9; + border-color: #6477b9; + color: white; } + +.btn-purple:hover { + background-color: white; + border-color: #6477b9; + color: #6477b9; + transition: all 1000ms ease; } + +.color-purple { + color: #6477b9; } + +.bg-purple { + background: #6477b9; } + +.btn-light-blue { + background-color: #2fa0d0; + border-color: #2fa0d0; + color: white; } + +.btn-light-blue:hover { + background-color: white; + border-color: #2fa0d0; + color: #2fa0d0; + transition: all 1000ms ease; } + +.color-light-blue { + color: #2fa0d0; } + +.bg-light-blue { + background: #2fa0d0; } + +.btn-deep-blue { + background-color: #2f4bd0; + border-color: #2f4bd0; + color: white; } + +.btn-deep-blue:hover { + background-color: white; + border-color: #2f4bd0; + color: #2f4bd0; + transition: all 1000ms ease; } + +.color-deep-blue { + color: #2f4bd0; } + +.bg-deep-blue { + background: #2f4bd0; } + +.btn-dark-blue { + background-color: #141E27; + border-color: #141E27; + color: #8eabc5; } + +.btn-dark-blue:hover { + background-color: #8eabc5; + border-color: #141E27; + color: #141E27; + transition: all 1000ms ease; } + +.color-dark-blue { + color: #141E27; } + +.bg-dark-blue { + background: #141E27; } + +.btn-dark-brown { + background-color: #212220; + border-color: #212220; + color: #adb0ab; } + +.btn-dark-brown:hover { + background-color: #adb0ab; + border-color: #212220; + color: #212220; + transition: all 1000ms ease; } + +.color-dark-brown { + color: #212220; } + +.bg-dark-brown { + background: #212220; } + +.btn-Development { + background-color: #0eb7da; + border-color: #0eb7da; + color: white; } + +.btn-Development:hover { + background-color: white; + border-color: #0eb7da; + color: #0eb7da; + transition: all 1000ms ease; } + +.color-Development { + color: #0eb7da; } + +.bg-Development { + background: #0eb7da; } + +.btn-Game { + background-color: #00E676; + border-color: #00E676; + color: white; } + +.btn-Game:hover { + background-color: white; + border-color: #00E676; + color: #00E676; + transition: all 1000ms ease; } + +.color-Game { + color: #00E676; } + +.bg-Game { + background: #00E676; } + +.btn-Education { + background-color: #ACD07A; + border-color: #ACD07A; + color: white; } + +.btn-Education:hover { + background-color: white; + border-color: #ACD07A; + color: #ACD07A; + transition: all 1000ms ease; } + +.color-Education { + color: #ACD07A; } + +.bg-Education { + background: #ACD07A; } + +.btn-Social { + background-color: #6477b9; + border-color: #6477b9; + color: white; } + +.btn-Social:hover { + background-color: white; + border-color: #6477b9; + color: #6477b9; + transition: all 1000ms ease; } + +.color-Social { + color: #6477b9; } + +.bg-Social { + background: #6477b9; } + +.btn-Art { + background-color: #fbca67; + border-color: #fbca67; + color: white; } + +.btn-Art:hover { + background-color: white; + border-color: #fbca67; + color: #fbca67; + transition: all 1000ms ease; } + +.color-Art { + color: #fbca67; } + +.bg-Art { + background: #fbca67; } + +.btn-Sports { + background-color: #2f4bd0; + border-color: #2f4bd0; + color: white; } + +.btn-Sports:hover { + background-color: white; + border-color: #2f4bd0; + color: #2f4bd0; + transition: all 1000ms ease; } + +.color-Sports { + color: #2f4bd0; } + +.bg-Sports { + background: #2f4bd0; } + +.btn-Health { + background-color: #2fa0d0; + border-color: #2fa0d0; + color: white; } + +.btn-Health:hover { + background-color: white; + border-color: #2fa0d0; + color: #2fa0d0; + transition: all 1000ms ease; } + +.color-Health { + color: #2fa0d0; } + +.bg-Health { + background: #2fa0d0; } + +.btn-News { + background-color: #ff8a30; + border-color: #ff8a30; + color: white; } + +.btn-News:hover { + background-color: white; + border-color: #ff8a30; + color: #ff8a30; + transition: all 1000ms ease; } + +.color-News { + color: #ff8a30; } + +.bg-News { + background: #ff8a30; } + +.btn-google { + background-color: #DD4B38; + border-color: #DD4B38; + color: white; } + +.btn-google:hover { + background-color: white; + border-color: #DD4B38; + color: #DD4B38; + transition: all 1000ms ease; } + +.color-google { + color: #DD4B38; } + +.bg-google { + background: #DD4B38; } + +.btn-facebook { + background-color: #3B5998; + border-color: #3B5998; + color: #f2f4fa; } + +.btn-facebook:hover { + background-color: #f2f4fa; + border-color: #3B5998; + color: #3B5998; + transition: all 1000ms ease; } + +.color-facebook { + color: #3B5998; } + +.bg-facebook { + background: #3B5998; } + +.btn-twitter { + background-color: #55ACEE; + border-color: #55ACEE; + color: white; } + +.btn-twitter:hover { + background-color: white; + border-color: #55ACEE; + color: #55ACEE; + transition: all 1000ms ease; } + +.color-twitter { + color: #55ACEE; } + +.bg-twitter { + background: #55ACEE; } + +.fs-14px { + font-size: 14px; } + +.fs-16px { + font-size: 16px; } + +.fs-26px { + font-size: 26px; } + +.fs-36px { + font-size: 36px; } + +/* BOOTSTRAP OVERRIDES */ +.input-group-addon { + width: 7% !important; + background-color: #EAE8E0 !important; + border: none !important; + border-bottom: 3px solid #212220 !important; + border-radius: 0 !important; + padding-right: 30px !important; } + +.btn { + border-radius: 0.1rem !important; } + +.btn-def-black { + background-color: #000 !important; + border-color: #000 !important; + color: #fefefe !important; } + +.btn-def-black:hover { + background-color: #fefefe !important; + border-color: #000 !important; + color: #000 !important; } + +.card { + min-height: 100%; } + +.floaty { + position: fixed; + z-index: 20; + bottom: 15px; + right: 15px; } + +@media screen and (max-width: 600px) { + .alert-size { + width: 90%; } } + +@media screen and (min-width: 601px) { + .alert-size { + width: 300px; } } + +.alert-img { + width: 10%; } + +.modal-body, +.modal-header { + background-color: #EAE8E0; } + .modal-body input, .modal-body input:focus, + .modal-header input, + .modal-header input:focus { + background-color: #EAE8E0; + border: none !important; + border-bottom: 3px solid #212220 !important; } + +.modal-footer { + background-color: #141E27; } + +.alert { + border-radius: 0 !important; } + +/* Enabling flex cols */ +/* Margin and padding spacing */ +/*! + * Bootstrap v4.0.0-alpha.4 (http://getbootstrap.com) + * Copyright 2011-2016 The Bootstrap Authors + * Copyright 2011-2016 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +/*! normalize.css v4.0.0 | MIT License | github.com/necolas/normalize.css */ +html { + font-family: sans-serif; + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; } + +body { + margin: 0; } + +article, +aside, +details, +figcaption, +figure, +footer, +header, +main, +menu, +nav, +section, +summary { + display: block; } + +audio, +canvas, +progress, +video { + display: inline-block; } + +audio:not([controls]) { + display: none; + height: 0; } + +progress { + vertical-align: baseline; } + +template, +[hidden] { + display: none; } + +a { + background-color: transparent; } + +a:active, +a:hover { + outline-width: 0; } + +abbr[title] { + border-bottom: none; + text-decoration: underline; + text-decoration: underline dotted; } + +b, +strong { + font-weight: inherit; } + +b, +strong { + font-weight: bolder; } + +dfn { + font-style: italic; } + +h1 { + font-size: 2em; + margin: 0.67em 0; } + +mark { + background-color: #ff0; + color: #000; } + +small { + font-size: 80%; } + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; } + +sub { + bottom: -0.25em; } + +sup { + top: -0.5em; } + +img { + border-style: none; } + +svg:not(:root) { + overflow: hidden; } + +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; } + +figure { + margin: 1em 40px; } + +hr { + box-sizing: content-box; + height: 0; + overflow: visible; } + +button, +input, +select, +textarea { + font: inherit; } + +optgroup { + font-weight: bold; } + +button, +input, +select { + overflow: visible; } + +button, +input, +select, +textarea { + margin: 0; } + +button, +select { + text-transform: none; } + +button, +[type="button"], +[type="reset"], +[type="submit"] { + cursor: pointer; } + +[disabled] { + cursor: default; } + +button, +html [type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; } + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; } + +button:-moz-focusring, +input:-moz-focusring { + outline: 1px dotted ButtonText; } + +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; } + +legend { + box-sizing: border-box; + color: inherit; + display: table; + max-width: 100%; + padding: 0; + white-space: normal; } + +textarea { + overflow: auto; } + +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; + padding: 0; } + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; } + +[type="search"] { + -webkit-appearance: textfield; } + +[type="search"]::-webkit-search-cancel-button, +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; } + +@media print { + *, + *::before, + *::after, + *::first-letter, + *::first-line { + text-shadow: none !important; + box-shadow: none !important; } + a, + a:visited { + text-decoration: underline; } + abbr[title]::after { + content: " (" attr(title) ")"; } + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; } + thead { + display: table-header-group; } + tr, + img { + page-break-inside: avoid; } + p, + h2, + h3 { + orphans: 3; + widows: 3; } + h2, + h3 { + page-break-after: avoid; } + .navbar { + display: none; } + .btn > .caret, + .dropup > .btn > .caret { + border-top-color: #000 !important; } + .tag { + border: 1px solid #000; } + .table { + border-collapse: collapse !important; } + .table td, + .table th { + background-color: #fff !important; } + .table-bordered th, + .table-bordered td { + border: 1px solid #ddd !important; } } + +html { + box-sizing: border-box; } + +*, +*::before, +*::after { + box-sizing: inherit; } + +@-ms-viewport { + width: device-width; } + +html { + font-size: 16px; + -ms-overflow-style: scrollbar; + -webkit-tap-highlight-color: transparent; } + +body { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; + font-size: 1rem; + line-height: 1.5; + color: #373a3c; + background-color: #fff; } + +[tabindex="-1"]:focus { + outline: none !important; } + +h1, h2, h3, h4, h5, h6 { + margin-top: 0; + margin-bottom: .5rem; } + +p { + margin-top: 0; + margin-bottom: 1rem; } + +abbr[title], +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted #818a91; } + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; } + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; } + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; } + +dt { + font-weight: bold; } + +dd { + margin-bottom: .5rem; + margin-left: 0; } + +blockquote { + margin: 0 0 1rem; } + +a { + color: #0275d8; + text-decoration: none; } + a:focus, a:hover { + color: #014c8c; + text-decoration: underline; } + a:focus { + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; } + +a:not([href]):not([tabindex]) { + color: inherit; + text-decoration: none; } + a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover { + color: inherit; + text-decoration: none; } + a:not([href]):not([tabindex]):focus { + outline: none; } + +pre { + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; } + +figure { + margin: 0 0 1rem; } + +img { + vertical-align: middle; } + +[role="button"] { + cursor: pointer; } + +a, +area, +button, +[role="button"], +input, +label, +select, +summary, +textarea { + -ms-touch-action: manipulation; + touch-action: manipulation; } + +table { + border-collapse: collapse; + background-color: transparent; } + +caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #818a91; + text-align: left; + caption-side: bottom; } + +th { + text-align: left; } + +label { + display: inline-block; + margin-bottom: .5rem; } + +button:focus { + outline: 1px dotted; + outline: 5px auto -webkit-focus-ring-color; } + +input, +button, +select, +textarea { + margin: 0; + line-height: inherit; + border-radius: 0; } + +input[type="radio"]:disabled, +input[type="checkbox"]:disabled { + cursor: not-allowed; } + +input[type="date"], +input[type="time"], +input[type="datetime-local"], +input[type="month"] { + -webkit-appearance: listbox; } + +textarea { + resize: vertical; } + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; } + +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: .5rem; + font-size: 1.5rem; + line-height: inherit; } + +input[type="search"] { + -webkit-appearance: none; } + +output { + display: inline-block; } + +[hidden] { + display: none !important; } + +h1, h2, h3, h4, h5, h6, +.h1, .h2, .h3, .h4, .h5, .h6 { + margin-bottom: 5px; + font-family: inherit; + font-weight: 500; + line-height: 1.1; + color: inherit; } + +h1, .h1 { + font-size: 2.5rem; } + +h2, .h2 { + font-size: 2rem; } + +h3, .h3 { + font-size: 1.75rem; } + +h4, .h4 { + font-size: 1.5rem; } + +h5, .h5 { + font-size: 1.25rem; } + +h6, .h6 { + font-size: 1rem; } + +.lead { + font-size: 1.25rem; + font-weight: 300; } + +.display-1 { + font-size: 6rem; + font-weight: 300; } + +.display-2 { + font-size: 5.5rem; + font-weight: 300; } + +.display-3 { + font-size: 4.5rem; + font-weight: 300; } + +.display-4 { + font-size: 3.5rem; + font-weight: 300; } + +hr { + margin-top: 10px; + margin-bottom: 10px; + border: 0; + border-top: 1px solid rgba(0, 0, 0, 0.1); } + +small, +.small { + font-size: 80%; + font-weight: normal; } + +mark, +.mark { + padding: 0.2em; + background-color: #fcf8e3; } + +.list-unstyled { + padding-left: 0; + list-style: none; } + +.list-inline { + padding-left: 0; + list-style: none; } + +.list-inline-item { + display: inline-block; } + .list-inline-item:not(:last-child) { + margin-right: 5px; } + +.initialism { + font-size: 90%; + text-transform: uppercase; } + +.blockquote { + padding: 5px 10px; + margin-bottom: 10px; + font-size: 1.25rem; + border-left: 0.25rem solid #eceeef; } + +.blockquote-footer { + display: block; + font-size: 80%; + color: #818a91; } + .blockquote-footer::before { + content: "\2014 \00A0"; } + +.blockquote-reverse { + padding-right: 10px; + padding-left: 0; + text-align: right; + border-right: 0.25rem solid #eceeef; + border-left: 0; } + +.blockquote-reverse .blockquote-footer::before { + content: ""; } + +.blockquote-reverse .blockquote-footer::after { + content: "\00A0 \2014"; } + +.img-fluid, .carousel-inner > .carousel-item > img, +.carousel-inner > .carousel-item > a > img { + display: block; + max-width: 100%; + height: auto; } + +.img-rounded { + border-radius: 0.3rem; } + +.img-thumbnail { + padding: 0.25rem; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 0.25rem; + transition: all .2s ease-in-out; + display: inline-block; + max-width: 100%; + height: auto; } + +.img-circle { + border-radius: 50%; } + +.figure { + display: inline-block; } + +.figure-img { + margin-bottom: 5px; + line-height: 1; } + +.figure-caption { + font-size: 90%; + color: #818a91; } + +code, +kbd, +pre, +samp { + font-family: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; } + +code { + padding: 0.2rem 0.4rem; + font-size: 90%; + color: #bd4147; + background-color: #f7f7f9; + border-radius: 0.25rem; } + +kbd { + padding: 0.2rem 0.4rem; + font-size: 90%; + color: #fff; + background-color: #333; + border-radius: 0.2rem; } + kbd kbd { + padding: 0; + font-size: 100%; + font-weight: bold; } + +pre { + display: block; + margin-top: 0; + margin-bottom: 1rem; + font-size: 90%; + color: #373a3c; } + pre code { + padding: 0; + font-size: inherit; + color: inherit; + background-color: transparent; + border-radius: 0; } + +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; } + +.container { + margin-left: auto; + margin-right: auto; + padding-left: 15px; + padding-right: 15px; } + @media (min-width: 544px) { + .container { + max-width: 576px; } } + @media (min-width: 768px) { + .container { + max-width: 720px; } } + @media (min-width: 992px) { + .container { + max-width: 940px; } } + @media (min-width: 1200px) { + .container { + max-width: 1140px; } } + +.container-fluid { + margin-left: auto; + margin-right: auto; + padding-left: 15px; + padding-right: 15px; } + +.row { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-left: -15px; + margin-right: -15px; } + +.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12 { + position: relative; + min-height: 1px; + padding-right: 15px; + padding-left: 15px; + width: 100%; } + +.col-xs { + position: relative; + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + min-height: 1px; + padding-right: 15px; + padding-left: 15px; } + +.col-xs-1 { + -ms-flex: 0 0 8.33333%; + flex: 0 0 8.33333%; + max-width: 8.33333%; } + +.col-xs-2 { + -ms-flex: 0 0 16.66667%; + flex: 0 0 16.66667%; + max-width: 16.66667%; } + +.col-xs-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; } + +.col-xs-4 { + -ms-flex: 0 0 33.33333%; + flex: 0 0 33.33333%; + max-width: 33.33333%; } + +.col-xs-5 { + -ms-flex: 0 0 41.66667%; + flex: 0 0 41.66667%; + max-width: 41.66667%; } + +.col-xs-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; } + +.col-xs-7 { + -ms-flex: 0 0 58.33333%; + flex: 0 0 58.33333%; + max-width: 58.33333%; } + +.col-xs-8 { + -ms-flex: 0 0 66.66667%; + flex: 0 0 66.66667%; + max-width: 66.66667%; } + +.col-xs-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; } + +.col-xs-10 { + -ms-flex: 0 0 83.33333%; + flex: 0 0 83.33333%; + max-width: 83.33333%; } + +.col-xs-11 { + -ms-flex: 0 0 91.66667%; + flex: 0 0 91.66667%; + max-width: 91.66667%; } + +.col-xs-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; } + +.pull-xs-0 { + right: auto; } + +.pull-xs-1 { + right: 8.33333%; } + +.pull-xs-2 { + right: 16.66667%; } + +.pull-xs-3 { + right: 25%; } + +.pull-xs-4 { + right: 33.33333%; } + +.pull-xs-5 { + right: 41.66667%; } + +.pull-xs-6 { + right: 50%; } + +.pull-xs-7 { + right: 58.33333%; } + +.pull-xs-8 { + right: 66.66667%; } + +.pull-xs-9 { + right: 75%; } + +.pull-xs-10 { + right: 83.33333%; } + +.pull-xs-11 { + right: 91.66667%; } + +.pull-xs-12 { + right: 100%; } + +.push-xs-0 { + left: auto; } + +.push-xs-1 { + left: 8.33333%; } + +.push-xs-2 { + left: 16.66667%; } + +.push-xs-3 { + left: 25%; } + +.push-xs-4 { + left: 33.33333%; } + +.push-xs-5 { + left: 41.66667%; } + +.push-xs-6 { + left: 50%; } + +.push-xs-7 { + left: 58.33333%; } + +.push-xs-8 { + left: 66.66667%; } + +.push-xs-9 { + left: 75%; } + +.push-xs-10 { + left: 83.33333%; } + +.push-xs-11 { + left: 91.66667%; } + +.push-xs-12 { + left: 100%; } + +.offset-xs-1 { + margin-left: 8.33333%; } + +.offset-xs-2 { + margin-left: 16.66667%; } + +.offset-xs-3 { + margin-left: 25%; } + +.offset-xs-4 { + margin-left: 33.33333%; } + +.offset-xs-5 { + margin-left: 41.66667%; } + +.offset-xs-6 { + margin-left: 50%; } + +.offset-xs-7 { + margin-left: 58.33333%; } + +.offset-xs-8 { + margin-left: 66.66667%; } + +.offset-xs-9 { + margin-left: 75%; } + +.offset-xs-10 { + margin-left: 83.33333%; } + +.offset-xs-11 { + margin-left: 91.66667%; } + +@media (min-width: 544px) { + .col-sm { + position: relative; + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + min-height: 1px; + padding-right: 15px; + padding-left: 15px; } + .col-sm-1 { + -ms-flex: 0 0 8.33333%; + flex: 0 0 8.33333%; + max-width: 8.33333%; } + .col-sm-2 { + -ms-flex: 0 0 16.66667%; + flex: 0 0 16.66667%; + max-width: 16.66667%; } + .col-sm-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; } + .col-sm-4 { + -ms-flex: 0 0 33.33333%; + flex: 0 0 33.33333%; + max-width: 33.33333%; } + .col-sm-5 { + -ms-flex: 0 0 41.66667%; + flex: 0 0 41.66667%; + max-width: 41.66667%; } + .col-sm-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; } + .col-sm-7 { + -ms-flex: 0 0 58.33333%; + flex: 0 0 58.33333%; + max-width: 58.33333%; } + .col-sm-8 { + -ms-flex: 0 0 66.66667%; + flex: 0 0 66.66667%; + max-width: 66.66667%; } + .col-sm-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; } + .col-sm-10 { + -ms-flex: 0 0 83.33333%; + flex: 0 0 83.33333%; + max-width: 83.33333%; } + .col-sm-11 { + -ms-flex: 0 0 91.66667%; + flex: 0 0 91.66667%; + max-width: 91.66667%; } + .col-sm-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; } + .pull-sm-0 { + right: auto; } + .pull-sm-1 { + right: 8.33333%; } + .pull-sm-2 { + right: 16.66667%; } + .pull-sm-3 { + right: 25%; } + .pull-sm-4 { + right: 33.33333%; } + .pull-sm-5 { + right: 41.66667%; } + .pull-sm-6 { + right: 50%; } + .pull-sm-7 { + right: 58.33333%; } + .pull-sm-8 { + right: 66.66667%; } + .pull-sm-9 { + right: 75%; } + .pull-sm-10 { + right: 83.33333%; } + .pull-sm-11 { + right: 91.66667%; } + .pull-sm-12 { + right: 100%; } + .push-sm-0 { + left: auto; } + .push-sm-1 { + left: 8.33333%; } + .push-sm-2 { + left: 16.66667%; } + .push-sm-3 { + left: 25%; } + .push-sm-4 { + left: 33.33333%; } + .push-sm-5 { + left: 41.66667%; } + .push-sm-6 { + left: 50%; } + .push-sm-7 { + left: 58.33333%; } + .push-sm-8 { + left: 66.66667%; } + .push-sm-9 { + left: 75%; } + .push-sm-10 { + left: 83.33333%; } + .push-sm-11 { + left: 91.66667%; } + .push-sm-12 { + left: 100%; } + .offset-sm-0 { + margin-left: 0%; } + .offset-sm-1 { + margin-left: 8.33333%; } + .offset-sm-2 { + margin-left: 16.66667%; } + .offset-sm-3 { + margin-left: 25%; } + .offset-sm-4 { + margin-left: 33.33333%; } + .offset-sm-5 { + margin-left: 41.66667%; } + .offset-sm-6 { + margin-left: 50%; } + .offset-sm-7 { + margin-left: 58.33333%; } + .offset-sm-8 { + margin-left: 66.66667%; } + .offset-sm-9 { + margin-left: 75%; } + .offset-sm-10 { + margin-left: 83.33333%; } + .offset-sm-11 { + margin-left: 91.66667%; } } + +@media (min-width: 768px) { + .col-md { + position: relative; + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + min-height: 1px; + padding-right: 15px; + padding-left: 15px; } + .col-md-1 { + -ms-flex: 0 0 8.33333%; + flex: 0 0 8.33333%; + max-width: 8.33333%; } + .col-md-2 { + -ms-flex: 0 0 16.66667%; + flex: 0 0 16.66667%; + max-width: 16.66667%; } + .col-md-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; } + .col-md-4 { + -ms-flex: 0 0 33.33333%; + flex: 0 0 33.33333%; + max-width: 33.33333%; } + .col-md-5 { + -ms-flex: 0 0 41.66667%; + flex: 0 0 41.66667%; + max-width: 41.66667%; } + .col-md-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; } + .col-md-7 { + -ms-flex: 0 0 58.33333%; + flex: 0 0 58.33333%; + max-width: 58.33333%; } + .col-md-8 { + -ms-flex: 0 0 66.66667%; + flex: 0 0 66.66667%; + max-width: 66.66667%; } + .col-md-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; } + .col-md-10 { + -ms-flex: 0 0 83.33333%; + flex: 0 0 83.33333%; + max-width: 83.33333%; } + .col-md-11 { + -ms-flex: 0 0 91.66667%; + flex: 0 0 91.66667%; + max-width: 91.66667%; } + .col-md-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; } + .pull-md-0 { + right: auto; } + .pull-md-1 { + right: 8.33333%; } + .pull-md-2 { + right: 16.66667%; } + .pull-md-3 { + right: 25%; } + .pull-md-4 { + right: 33.33333%; } + .pull-md-5 { + right: 41.66667%; } + .pull-md-6 { + right: 50%; } + .pull-md-7 { + right: 58.33333%; } + .pull-md-8 { + right: 66.66667%; } + .pull-md-9 { + right: 75%; } + .pull-md-10 { + right: 83.33333%; } + .pull-md-11 { + right: 91.66667%; } + .pull-md-12 { + right: 100%; } + .push-md-0 { + left: auto; } + .push-md-1 { + left: 8.33333%; } + .push-md-2 { + left: 16.66667%; } + .push-md-3 { + left: 25%; } + .push-md-4 { + left: 33.33333%; } + .push-md-5 { + left: 41.66667%; } + .push-md-6 { + left: 50%; } + .push-md-7 { + left: 58.33333%; } + .push-md-8 { + left: 66.66667%; } + .push-md-9 { + left: 75%; } + .push-md-10 { + left: 83.33333%; } + .push-md-11 { + left: 91.66667%; } + .push-md-12 { + left: 100%; } + .offset-md-0 { + margin-left: 0%; } + .offset-md-1 { + margin-left: 8.33333%; } + .offset-md-2 { + margin-left: 16.66667%; } + .offset-md-3 { + margin-left: 25%; } + .offset-md-4 { + margin-left: 33.33333%; } + .offset-md-5 { + margin-left: 41.66667%; } + .offset-md-6 { + margin-left: 50%; } + .offset-md-7 { + margin-left: 58.33333%; } + .offset-md-8 { + margin-left: 66.66667%; } + .offset-md-9 { + margin-left: 75%; } + .offset-md-10 { + margin-left: 83.33333%; } + .offset-md-11 { + margin-left: 91.66667%; } } + +@media (min-width: 992px) { + .col-lg { + position: relative; + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + min-height: 1px; + padding-right: 15px; + padding-left: 15px; } + .col-lg-1 { + -ms-flex: 0 0 8.33333%; + flex: 0 0 8.33333%; + max-width: 8.33333%; } + .col-lg-2 { + -ms-flex: 0 0 16.66667%; + flex: 0 0 16.66667%; + max-width: 16.66667%; } + .col-lg-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; } + .col-lg-4 { + -ms-flex: 0 0 33.33333%; + flex: 0 0 33.33333%; + max-width: 33.33333%; } + .col-lg-5 { + -ms-flex: 0 0 41.66667%; + flex: 0 0 41.66667%; + max-width: 41.66667%; } + .col-lg-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; } + .col-lg-7 { + -ms-flex: 0 0 58.33333%; + flex: 0 0 58.33333%; + max-width: 58.33333%; } + .col-lg-8 { + -ms-flex: 0 0 66.66667%; + flex: 0 0 66.66667%; + max-width: 66.66667%; } + .col-lg-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; } + .col-lg-10 { + -ms-flex: 0 0 83.33333%; + flex: 0 0 83.33333%; + max-width: 83.33333%; } + .col-lg-11 { + -ms-flex: 0 0 91.66667%; + flex: 0 0 91.66667%; + max-width: 91.66667%; } + .col-lg-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; } + .pull-lg-0 { + right: auto; } + .pull-lg-1 { + right: 8.33333%; } + .pull-lg-2 { + right: 16.66667%; } + .pull-lg-3 { + right: 25%; } + .pull-lg-4 { + right: 33.33333%; } + .pull-lg-5 { + right: 41.66667%; } + .pull-lg-6 { + right: 50%; } + .pull-lg-7 { + right: 58.33333%; } + .pull-lg-8 { + right: 66.66667%; } + .pull-lg-9 { + right: 75%; } + .pull-lg-10 { + right: 83.33333%; } + .pull-lg-11 { + right: 91.66667%; } + .pull-lg-12 { + right: 100%; } + .push-lg-0 { + left: auto; } + .push-lg-1 { + left: 8.33333%; } + .push-lg-2 { + left: 16.66667%; } + .push-lg-3 { + left: 25%; } + .push-lg-4 { + left: 33.33333%; } + .push-lg-5 { + left: 41.66667%; } + .push-lg-6 { + left: 50%; } + .push-lg-7 { + left: 58.33333%; } + .push-lg-8 { + left: 66.66667%; } + .push-lg-9 { + left: 75%; } + .push-lg-10 { + left: 83.33333%; } + .push-lg-11 { + left: 91.66667%; } + .push-lg-12 { + left: 100%; } + .offset-lg-0 { + margin-left: 0%; } + .offset-lg-1 { + margin-left: 8.33333%; } + .offset-lg-2 { + margin-left: 16.66667%; } + .offset-lg-3 { + margin-left: 25%; } + .offset-lg-4 { + margin-left: 33.33333%; } + .offset-lg-5 { + margin-left: 41.66667%; } + .offset-lg-6 { + margin-left: 50%; } + .offset-lg-7 { + margin-left: 58.33333%; } + .offset-lg-8 { + margin-left: 66.66667%; } + .offset-lg-9 { + margin-left: 75%; } + .offset-lg-10 { + margin-left: 83.33333%; } + .offset-lg-11 { + margin-left: 91.66667%; } } + +@media (min-width: 1200px) { + .col-xl { + position: relative; + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + min-height: 1px; + padding-right: 15px; + padding-left: 15px; } + .col-xl-1 { + -ms-flex: 0 0 8.33333%; + flex: 0 0 8.33333%; + max-width: 8.33333%; } + .col-xl-2 { + -ms-flex: 0 0 16.66667%; + flex: 0 0 16.66667%; + max-width: 16.66667%; } + .col-xl-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; } + .col-xl-4 { + -ms-flex: 0 0 33.33333%; + flex: 0 0 33.33333%; + max-width: 33.33333%; } + .col-xl-5 { + -ms-flex: 0 0 41.66667%; + flex: 0 0 41.66667%; + max-width: 41.66667%; } + .col-xl-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; } + .col-xl-7 { + -ms-flex: 0 0 58.33333%; + flex: 0 0 58.33333%; + max-width: 58.33333%; } + .col-xl-8 { + -ms-flex: 0 0 66.66667%; + flex: 0 0 66.66667%; + max-width: 66.66667%; } + .col-xl-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; } + .col-xl-10 { + -ms-flex: 0 0 83.33333%; + flex: 0 0 83.33333%; + max-width: 83.33333%; } + .col-xl-11 { + -ms-flex: 0 0 91.66667%; + flex: 0 0 91.66667%; + max-width: 91.66667%; } + .col-xl-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; } + .pull-xl-0 { + right: auto; } + .pull-xl-1 { + right: 8.33333%; } + .pull-xl-2 { + right: 16.66667%; } + .pull-xl-3 { + right: 25%; } + .pull-xl-4 { + right: 33.33333%; } + .pull-xl-5 { + right: 41.66667%; } + .pull-xl-6 { + right: 50%; } + .pull-xl-7 { + right: 58.33333%; } + .pull-xl-8 { + right: 66.66667%; } + .pull-xl-9 { + right: 75%; } + .pull-xl-10 { + right: 83.33333%; } + .pull-xl-11 { + right: 91.66667%; } + .pull-xl-12 { + right: 100%; } + .push-xl-0 { + left: auto; } + .push-xl-1 { + left: 8.33333%; } + .push-xl-2 { + left: 16.66667%; } + .push-xl-3 { + left: 25%; } + .push-xl-4 { + left: 33.33333%; } + .push-xl-5 { + left: 41.66667%; } + .push-xl-6 { + left: 50%; } + .push-xl-7 { + left: 58.33333%; } + .push-xl-8 { + left: 66.66667%; } + .push-xl-9 { + left: 75%; } + .push-xl-10 { + left: 83.33333%; } + .push-xl-11 { + left: 91.66667%; } + .push-xl-12 { + left: 100%; } + .offset-xl-0 { + margin-left: 0%; } + .offset-xl-1 { + margin-left: 8.33333%; } + .offset-xl-2 { + margin-left: 16.66667%; } + .offset-xl-3 { + margin-left: 25%; } + .offset-xl-4 { + margin-left: 33.33333%; } + .offset-xl-5 { + margin-left: 41.66667%; } + .offset-xl-6 { + margin-left: 50%; } + .offset-xl-7 { + margin-left: 58.33333%; } + .offset-xl-8 { + margin-left: 66.66667%; } + .offset-xl-9 { + margin-left: 75%; } + .offset-xl-10 { + margin-left: 83.33333%; } + .offset-xl-11 { + margin-left: 91.66667%; } } + +.table { + width: 100%; + max-width: 100%; + margin-bottom: 10px; } + .table th, + .table td { + padding: 0.75rem; + vertical-align: top; + border-top: 1px solid #eceeef; } + .table thead th { + vertical-align: bottom; + border-bottom: 2px solid #eceeef; } + .table tbody + tbody { + border-top: 2px solid #eceeef; } + .table .table { + background-color: #fff; } + +.table-sm th, +.table-sm td { + padding: 0.3rem; } + +.table-bordered { + border: 1px solid #eceeef; } + .table-bordered th, + .table-bordered td { + border: 1px solid #eceeef; } + .table-bordered thead th, + .table-bordered thead td { + border-bottom-width: 2px; } + +.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(0, 0, 0, 0.05); } + +.table-hover tbody tr:hover { + background-color: rgba(0, 0, 0, 0.075); } + +.table-active, +.table-active > th, +.table-active > td { + background-color: rgba(0, 0, 0, 0.075); } + +.table-hover .table-active:hover { + background-color: rgba(0, 0, 0, 0.075); } + .table-hover .table-active:hover > td, + .table-hover .table-active:hover > th { + background-color: rgba(0, 0, 0, 0.075); } + +.table-success, +.table-success > th, +.table-success > td { + background-color: #dff0d8; } + +.table-hover .table-success:hover { + background-color: #d0e9c6; } + .table-hover .table-success:hover > td, + .table-hover .table-success:hover > th { + background-color: #d0e9c6; } + +.table-info, +.table-info > th, +.table-info > td { + background-color: #d9edf7; } + +.table-hover .table-info:hover { + background-color: #c4e3f3; } + .table-hover .table-info:hover > td, + .table-hover .table-info:hover > th { + background-color: #c4e3f3; } + +.table-warning, +.table-warning > th, +.table-warning > td { + background-color: #fcf8e3; } + +.table-hover .table-warning:hover { + background-color: #faf2cc; } + .table-hover .table-warning:hover > td, + .table-hover .table-warning:hover > th { + background-color: #faf2cc; } + +.table-danger, +.table-danger > th, +.table-danger > td { + background-color: #f2dede; } + +.table-hover .table-danger:hover { + background-color: #ebcccc; } + .table-hover .table-danger:hover > td, + .table-hover .table-danger:hover > th { + background-color: #ebcccc; } + +.thead-inverse th { + color: #fff; + background-color: #373a3c; } + +.thead-default th { + color: #55595c; + background-color: #eceeef; } + +.table-inverse { + color: #eceeef; + background-color: #373a3c; } + .table-inverse th, + .table-inverse td, + .table-inverse thead th { + border-color: #55595c; } + .table-inverse.table-bordered { + border: 0; } + +.table-responsive { + display: block; + width: 100%; + min-height: .01%; + overflow-x: auto; } + +.table-reflow thead { + float: left; } + +.table-reflow tbody { + display: block; + white-space: nowrap; } + +.table-reflow th, +.table-reflow td { + border-top: 1px solid #eceeef; + border-left: 1px solid #eceeef; } + .table-reflow th:last-child, + .table-reflow td:last-child { + border-right: 1px solid #eceeef; } + +.table-reflow thead:last-child tr:last-child th, +.table-reflow thead:last-child tr:last-child td, +.table-reflow tbody:last-child tr:last-child th, +.table-reflow tbody:last-child tr:last-child td, +.table-reflow tfoot:last-child tr:last-child th, +.table-reflow tfoot:last-child tr:last-child td { + border-bottom: 1px solid #eceeef; } + +.table-reflow tr { + float: left; } + .table-reflow tr th, + .table-reflow tr td { + display: block !important; + border: 1px solid #eceeef; } + +.form-control { + display: block; + width: 100%; + padding: 0.5rem 0.75rem; + font-size: 1rem; + line-height: 1.25; + color: #55595c; + background-color: #fff; + background-image: none; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0.25rem; } + .form-control::-ms-expand { + background-color: transparent; + border: 0; } + .form-control:focus { + color: #55595c; + background-color: #fff; + border-color: #66afe9; + outline: none; } + .form-control::-webkit-input-placeholder { + color: #999; + opacity: 1; } + .form-control::-moz-placeholder { + color: #999; + opacity: 1; } + .form-control:-ms-input-placeholder { + color: #999; + opacity: 1; } + .form-control::placeholder { + color: #999; + opacity: 1; } + .form-control:disabled, .form-control[readonly] { + background-color: #eceeef; + opacity: 1; } + .form-control:disabled { + cursor: not-allowed; } + +select.form-control:not([size]):not([multiple]) { + height: 2.5rem; } + +select.form-control:focus::-ms-value { + color: #55595c; + background-color: #fff; } + +.form-control-file, +.form-control-range { + display: block; } + +.col-form-label { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + margin-bottom: 0; } + +.col-form-label-lg { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + font-size: 1.25rem; } + +.col-form-label-sm { + padding-top: 0.25rem; + padding-bottom: 0.25rem; + font-size: 0.875rem; } + +.col-form-legend { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + margin-bottom: 0; + font-size: 1rem; } + +.form-control-static { + min-height: 2.5rem; + padding-top: 0.5rem; + padding-bottom: 0.5rem; + margin-bottom: 0; } + .form-control-static.form-control-sm, .input-group-sm > .form-control-static.form-control, + .input-group-sm > .form-control-static.input-group-addon, + .input-group-sm > .input-group-btn > .form-control-static.btn, .form-control-static.form-control-lg, .input-group-lg > .form-control-static.form-control, + .input-group-lg > .form-control-static.input-group-addon, + .input-group-lg > .input-group-btn > .form-control-static.btn { + padding-right: 0; + padding-left: 0; } + +.form-control-sm, .input-group-sm > .form-control, +.input-group-sm > .input-group-addon, +.input-group-sm > .input-group-btn > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + border-radius: 0.2rem; } + +select.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]), +.input-group-sm > select.input-group-addon:not([size]):not([multiple]), +.input-group-sm > .input-group-btn > select.btn:not([size]):not([multiple]) { + height: 1.8125rem; } + +.form-control-lg, .input-group-lg > .form-control, +.input-group-lg > .input-group-addon, +.input-group-lg > .input-group-btn > .btn { + padding: 0.75rem 1.5rem; + font-size: 1.25rem; + border-radius: 0.3rem; } + +select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]), +.input-group-lg > select.input-group-addon:not([size]):not([multiple]), +.input-group-lg > .input-group-btn > select.btn:not([size]):not([multiple]) { + height: 3.16667rem; } + +.form-group { + margin-bottom: 10px; } + +.form-text { + display: block; + margin-top: 2.5px; } + +.form-check { + position: relative; + display: block; + margin-bottom: 7.5px; } + .form-check + .form-check { + margin-top: -.25rem; } + .form-check.disabled .form-check-label { + color: #818a91; + cursor: not-allowed; } + +.form-check-label { + padding-left: 1.25rem; + margin-bottom: 0; + cursor: pointer; } + +.form-check-input { + position: absolute; + margin-top: .25rem; + margin-left: -1.25rem; } + .form-check-input:only-child { + position: static; } + +.form-check-inline { + position: relative; + display: inline-block; + padding-left: 1.25rem; + margin-bottom: 0; + vertical-align: middle; + cursor: pointer; } + .form-check-inline + .form-check-inline { + margin-left: .75rem; } + .form-check-inline.disabled { + cursor: not-allowed; } + +.form-control-feedback { + margin-top: 2.5px; } + +.form-control-success, +.form-control-warning, +.form-control-danger { + padding-right: 2.25rem; + background-repeat: no-repeat; + background-position: center right 0.625rem; + background-size: 1.25rem 1.25rem; } + +.has-success .form-control-feedback, +.has-success .form-control-label, +.has-success .form-check-label, +.has-success .form-check-inline, +.has-success .custom-control { + color: #5cb85c; } + +.has-success .form-control { + border-color: #5cb85c; } + +.has-success .input-group-addon { + color: #5cb85c; + border-color: #5cb85c; + background-color: #eaf6ea; } + +.has-success .form-control-feedback { + color: #5cb85c; } + +.has-success .form-control-success { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E"); } + +.has-warning .form-control-feedback, +.has-warning .form-control-label, +.has-warning .form-check-label, +.has-warning .form-check-inline, +.has-warning .custom-control { + color: #f0ad4e; } + +.has-warning .form-control { + border-color: #f0ad4e; } + +.has-warning .input-group-addon { + color: #f0ad4e; + border-color: #f0ad4e; + background-color: white; } + +.has-warning .form-control-feedback { + color: #f0ad4e; } + +.has-warning .form-control-warning { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E"); } + +.has-danger .form-control-feedback, +.has-danger .form-control-label, +.has-danger .form-check-label, +.has-danger .form-check-inline, +.has-danger .custom-control { + color: #d9534f; } + +.has-danger .form-control { + border-color: #d9534f; } + +.has-danger .input-group-addon { + color: #d9534f; + border-color: #d9534f; + background-color: #fdf7f7; } + +.has-danger .form-control-feedback { + color: #d9534f; } + +.has-danger .form-control-danger { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E"); } + +@media (min-width: 544px) { + .form-inline .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; } + .form-inline .form-control-static { + display: inline-block; } + .form-inline .input-group { + display: inline-table; + vertical-align: middle; } + .form-inline .input-group .input-group-addon, + .form-inline .input-group .input-group-btn, + .form-inline .input-group .form-control { + width: auto; } + .form-inline .input-group > .form-control { + width: 100%; } + .form-inline .form-control-label { + margin-bottom: 0; + vertical-align: middle; } + .form-inline .form-check { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; } + .form-inline .form-check-label { + padding-left: 0; } + .form-inline .form-check-input { + position: relative; + margin-left: 0; } + .form-inline .has-feedback .form-control-feedback { + top: 0; } } + +.btn { + display: inline-block; + font-weight: normal; + line-height: 1.25; + text-align: center; + white-space: nowrap; + vertical-align: middle; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + border: 1px solid transparent; + padding: 0.5rem 1rem; + font-size: 1rem; + border-radius: 0.25rem; } + .btn:focus, .btn.focus, .btn:active:focus, .btn:active.focus, .btn.active:focus, .btn.active.focus { + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; } + .btn:focus, .btn:hover { + text-decoration: none; } + .btn.focus { + text-decoration: none; } + .btn:active, .btn.active { + background-image: none; + outline: 0; } + .btn.disabled, .btn:disabled { + cursor: not-allowed; + opacity: .65; } + +a.btn.disabled, +fieldset[disabled] a.btn { + pointer-events: none; } + +.btn-primary { + color: #fff; + background-color: #0275d8; + border-color: #0275d8; } + .btn-primary:hover { + color: #fff; + background-color: #025aa5; + border-color: #01549b; } + .btn-primary:focus, .btn-primary.focus { + color: #fff; + background-color: #025aa5; + border-color: #01549b; } + .btn-primary:active, .btn-primary.active, + .open > .btn-primary.dropdown-toggle { + color: #fff; + background-color: #025aa5; + border-color: #01549b; + background-image: none; } + .btn-primary:active:hover, .btn-primary:active:focus, .btn-primary:active.focus, .btn-primary.active:hover, .btn-primary.active:focus, .btn-primary.active.focus, + .open > .btn-primary.dropdown-toggle:hover, + .open > .btn-primary.dropdown-toggle:focus, + .open > .btn-primary.dropdown-toggle.focus { + color: #fff; + background-color: #014682; + border-color: #01315a; } + .btn-primary.disabled:focus, .btn-primary.disabled.focus, .btn-primary:disabled:focus, .btn-primary:disabled.focus { + background-color: #0275d8; + border-color: #0275d8; } + .btn-primary.disabled:hover, .btn-primary:disabled:hover { + background-color: #0275d8; + border-color: #0275d8; } + +.btn-secondary { + color: #373a3c; + background-color: #fff; + border-color: #ccc; } + .btn-secondary:hover { + color: #373a3c; + background-color: #e6e6e6; + border-color: #adadad; } + .btn-secondary:focus, .btn-secondary.focus { + color: #373a3c; + background-color: #e6e6e6; + border-color: #adadad; } + .btn-secondary:active, .btn-secondary.active, + .open > .btn-secondary.dropdown-toggle { + color: #373a3c; + background-color: #e6e6e6; + border-color: #adadad; + background-image: none; } + .btn-secondary:active:hover, .btn-secondary:active:focus, .btn-secondary:active.focus, .btn-secondary.active:hover, .btn-secondary.active:focus, .btn-secondary.active.focus, + .open > .btn-secondary.dropdown-toggle:hover, + .open > .btn-secondary.dropdown-toggle:focus, + .open > .btn-secondary.dropdown-toggle.focus { + color: #373a3c; + background-color: #d4d4d4; + border-color: #8c8c8c; } + .btn-secondary.disabled:focus, .btn-secondary.disabled.focus, .btn-secondary:disabled:focus, .btn-secondary:disabled.focus { + background-color: #fff; + border-color: #ccc; } + .btn-secondary.disabled:hover, .btn-secondary:disabled:hover { + background-color: #fff; + border-color: #ccc; } + +.btn-info { + color: #fff; + background-color: #5bc0de; + border-color: #5bc0de; } + .btn-info:hover { + color: #fff; + background-color: #31b0d5; + border-color: #2aabd2; } + .btn-info:focus, .btn-info.focus { + color: #fff; + background-color: #31b0d5; + border-color: #2aabd2; } + .btn-info:active, .btn-info.active, + .open > .btn-info.dropdown-toggle { + color: #fff; + background-color: #31b0d5; + border-color: #2aabd2; + background-image: none; } + .btn-info:active:hover, .btn-info:active:focus, .btn-info:active.focus, .btn-info.active:hover, .btn-info.active:focus, .btn-info.active.focus, + .open > .btn-info.dropdown-toggle:hover, + .open > .btn-info.dropdown-toggle:focus, + .open > .btn-info.dropdown-toggle.focus { + color: #fff; + background-color: #269abc; + border-color: #1f7e9a; } + .btn-info.disabled:focus, .btn-info.disabled.focus, .btn-info:disabled:focus, .btn-info:disabled.focus { + background-color: #5bc0de; + border-color: #5bc0de; } + .btn-info.disabled:hover, .btn-info:disabled:hover { + background-color: #5bc0de; + border-color: #5bc0de; } + +.btn-success { + color: #fff; + background-color: #5cb85c; + border-color: #5cb85c; } + .btn-success:hover { + color: #fff; + background-color: #449d44; + border-color: #419641; } + .btn-success:focus, .btn-success.focus { + color: #fff; + background-color: #449d44; + border-color: #419641; } + .btn-success:active, .btn-success.active, + .open > .btn-success.dropdown-toggle { + color: #fff; + background-color: #449d44; + border-color: #419641; + background-image: none; } + .btn-success:active:hover, .btn-success:active:focus, .btn-success:active.focus, .btn-success.active:hover, .btn-success.active:focus, .btn-success.active.focus, + .open > .btn-success.dropdown-toggle:hover, + .open > .btn-success.dropdown-toggle:focus, + .open > .btn-success.dropdown-toggle.focus { + color: #fff; + background-color: #398439; + border-color: #2d672d; } + .btn-success.disabled:focus, .btn-success.disabled.focus, .btn-success:disabled:focus, .btn-success:disabled.focus { + background-color: #5cb85c; + border-color: #5cb85c; } + .btn-success.disabled:hover, .btn-success:disabled:hover { + background-color: #5cb85c; + border-color: #5cb85c; } + +.btn-warning { + color: #fff; + background-color: #f0ad4e; + border-color: #f0ad4e; } + .btn-warning:hover { + color: #fff; + background-color: #ec971f; + border-color: #eb9316; } + .btn-warning:focus, .btn-warning.focus { + color: #fff; + background-color: #ec971f; + border-color: #eb9316; } + .btn-warning:active, .btn-warning.active, + .open > .btn-warning.dropdown-toggle { + color: #fff; + background-color: #ec971f; + border-color: #eb9316; + background-image: none; } + .btn-warning:active:hover, .btn-warning:active:focus, .btn-warning:active.focus, .btn-warning.active:hover, .btn-warning.active:focus, .btn-warning.active.focus, + .open > .btn-warning.dropdown-toggle:hover, + .open > .btn-warning.dropdown-toggle:focus, + .open > .btn-warning.dropdown-toggle.focus { + color: #fff; + background-color: #d58512; + border-color: #b06d0f; } + .btn-warning.disabled:focus, .btn-warning.disabled.focus, .btn-warning:disabled:focus, .btn-warning:disabled.focus { + background-color: #f0ad4e; + border-color: #f0ad4e; } + .btn-warning.disabled:hover, .btn-warning:disabled:hover { + background-color: #f0ad4e; + border-color: #f0ad4e; } + +.btn-danger { + color: #fff; + background-color: #d9534f; + border-color: #d9534f; } + .btn-danger:hover { + color: #fff; + background-color: #c9302c; + border-color: #c12e2a; } + .btn-danger:focus, .btn-danger.focus { + color: #fff; + background-color: #c9302c; + border-color: #c12e2a; } + .btn-danger:active, .btn-danger.active, + .open > .btn-danger.dropdown-toggle { + color: #fff; + background-color: #c9302c; + border-color: #c12e2a; + background-image: none; } + .btn-danger:active:hover, .btn-danger:active:focus, .btn-danger:active.focus, .btn-danger.active:hover, .btn-danger.active:focus, .btn-danger.active.focus, + .open > .btn-danger.dropdown-toggle:hover, + .open > .btn-danger.dropdown-toggle:focus, + .open > .btn-danger.dropdown-toggle.focus { + color: #fff; + background-color: #ac2925; + border-color: #8b211e; } + .btn-danger.disabled:focus, .btn-danger.disabled.focus, .btn-danger:disabled:focus, .btn-danger:disabled.focus { + background-color: #d9534f; + border-color: #d9534f; } + .btn-danger.disabled:hover, .btn-danger:disabled:hover { + background-color: #d9534f; + border-color: #d9534f; } + +.btn-outline-primary { + color: #0275d8; + background-image: none; + background-color: transparent; + border-color: #0275d8; } + .btn-outline-primary:hover { + color: #fff; + background-color: #0275d8; + border-color: #0275d8; } + .btn-outline-primary:focus, .btn-outline-primary.focus { + color: #fff; + background-color: #0275d8; + border-color: #0275d8; } + .btn-outline-primary:active, .btn-outline-primary.active, + .open > .btn-outline-primary.dropdown-toggle { + color: #fff; + background-color: #0275d8; + border-color: #0275d8; } + .btn-outline-primary:active:hover, .btn-outline-primary:active:focus, .btn-outline-primary:active.focus, .btn-outline-primary.active:hover, .btn-outline-primary.active:focus, .btn-outline-primary.active.focus, + .open > .btn-outline-primary.dropdown-toggle:hover, + .open > .btn-outline-primary.dropdown-toggle:focus, + .open > .btn-outline-primary.dropdown-toggle.focus { + color: #fff; + background-color: #014682; + border-color: #01315a; } + .btn-outline-primary.disabled:focus, .btn-outline-primary.disabled.focus, .btn-outline-primary:disabled:focus, .btn-outline-primary:disabled.focus { + border-color: #43a7fd; } + .btn-outline-primary.disabled:hover, .btn-outline-primary:disabled:hover { + border-color: #43a7fd; } + +.btn-outline-secondary { + color: #ccc; + background-image: none; + background-color: transparent; + border-color: #ccc; } + .btn-outline-secondary:hover { + color: #fff; + background-color: #ccc; + border-color: #ccc; } + .btn-outline-secondary:focus, .btn-outline-secondary.focus { + color: #fff; + background-color: #ccc; + border-color: #ccc; } + .btn-outline-secondary:active, .btn-outline-secondary.active, + .open > .btn-outline-secondary.dropdown-toggle { + color: #fff; + background-color: #ccc; + border-color: #ccc; } + .btn-outline-secondary:active:hover, .btn-outline-secondary:active:focus, .btn-outline-secondary:active.focus, .btn-outline-secondary.active:hover, .btn-outline-secondary.active:focus, .btn-outline-secondary.active.focus, + .open > .btn-outline-secondary.dropdown-toggle:hover, + .open > .btn-outline-secondary.dropdown-toggle:focus, + .open > .btn-outline-secondary.dropdown-toggle.focus { + color: #fff; + background-color: #a1a1a1; + border-color: #8c8c8c; } + .btn-outline-secondary.disabled:focus, .btn-outline-secondary.disabled.focus, .btn-outline-secondary:disabled:focus, .btn-outline-secondary:disabled.focus { + border-color: white; } + .btn-outline-secondary.disabled:hover, .btn-outline-secondary:disabled:hover { + border-color: white; } + +.btn-outline-info { + color: #5bc0de; + background-image: none; + background-color: transparent; + border-color: #5bc0de; } + .btn-outline-info:hover { + color: #fff; + background-color: #5bc0de; + border-color: #5bc0de; } + .btn-outline-info:focus, .btn-outline-info.focus { + color: #fff; + background-color: #5bc0de; + border-color: #5bc0de; } + .btn-outline-info:active, .btn-outline-info.active, + .open > .btn-outline-info.dropdown-toggle { + color: #fff; + background-color: #5bc0de; + border-color: #5bc0de; } + .btn-outline-info:active:hover, .btn-outline-info:active:focus, .btn-outline-info:active.focus, .btn-outline-info.active:hover, .btn-outline-info.active:focus, .btn-outline-info.active.focus, + .open > .btn-outline-info.dropdown-toggle:hover, + .open > .btn-outline-info.dropdown-toggle:focus, + .open > .btn-outline-info.dropdown-toggle.focus { + color: #fff; + background-color: #269abc; + border-color: #1f7e9a; } + .btn-outline-info.disabled:focus, .btn-outline-info.disabled.focus, .btn-outline-info:disabled:focus, .btn-outline-info:disabled.focus { + border-color: #b0e1ef; } + .btn-outline-info.disabled:hover, .btn-outline-info:disabled:hover { + border-color: #b0e1ef; } + +.btn-outline-success { + color: #5cb85c; + background-image: none; + background-color: transparent; + border-color: #5cb85c; } + .btn-outline-success:hover { + color: #fff; + background-color: #5cb85c; + border-color: #5cb85c; } + .btn-outline-success:focus, .btn-outline-success.focus { + color: #fff; + background-color: #5cb85c; + border-color: #5cb85c; } + .btn-outline-success:active, .btn-outline-success.active, + .open > .btn-outline-success.dropdown-toggle { + color: #fff; + background-color: #5cb85c; + border-color: #5cb85c; } + .btn-outline-success:active:hover, .btn-outline-success:active:focus, .btn-outline-success:active.focus, .btn-outline-success.active:hover, .btn-outline-success.active:focus, .btn-outline-success.active.focus, + .open > .btn-outline-success.dropdown-toggle:hover, + .open > .btn-outline-success.dropdown-toggle:focus, + .open > .btn-outline-success.dropdown-toggle.focus { + color: #fff; + background-color: #398439; + border-color: #2d672d; } + .btn-outline-success.disabled:focus, .btn-outline-success.disabled.focus, .btn-outline-success:disabled:focus, .btn-outline-success:disabled.focus { + border-color: #a3d7a3; } + .btn-outline-success.disabled:hover, .btn-outline-success:disabled:hover { + border-color: #a3d7a3; } + +.btn-outline-warning { + color: #f0ad4e; + background-image: none; + background-color: transparent; + border-color: #f0ad4e; } + .btn-outline-warning:hover { + color: #fff; + background-color: #f0ad4e; + border-color: #f0ad4e; } + .btn-outline-warning:focus, .btn-outline-warning.focus { + color: #fff; + background-color: #f0ad4e; + border-color: #f0ad4e; } + .btn-outline-warning:active, .btn-outline-warning.active, + .open > .btn-outline-warning.dropdown-toggle { + color: #fff; + background-color: #f0ad4e; + border-color: #f0ad4e; } + .btn-outline-warning:active:hover, .btn-outline-warning:active:focus, .btn-outline-warning:active.focus, .btn-outline-warning.active:hover, .btn-outline-warning.active:focus, .btn-outline-warning.active.focus, + .open > .btn-outline-warning.dropdown-toggle:hover, + .open > .btn-outline-warning.dropdown-toggle:focus, + .open > .btn-outline-warning.dropdown-toggle.focus { + color: #fff; + background-color: #d58512; + border-color: #b06d0f; } + .btn-outline-warning.disabled:focus, .btn-outline-warning.disabled.focus, .btn-outline-warning:disabled:focus, .btn-outline-warning:disabled.focus { + border-color: #f8d9ac; } + .btn-outline-warning.disabled:hover, .btn-outline-warning:disabled:hover { + border-color: #f8d9ac; } + +.btn-outline-danger { + color: #d9534f; + background-image: none; + background-color: transparent; + border-color: #d9534f; } + .btn-outline-danger:hover { + color: #fff; + background-color: #d9534f; + border-color: #d9534f; } + .btn-outline-danger:focus, .btn-outline-danger.focus { + color: #fff; + background-color: #d9534f; + border-color: #d9534f; } + .btn-outline-danger:active, .btn-outline-danger.active, + .open > .btn-outline-danger.dropdown-toggle { + color: #fff; + background-color: #d9534f; + border-color: #d9534f; } + .btn-outline-danger:active:hover, .btn-outline-danger:active:focus, .btn-outline-danger:active.focus, .btn-outline-danger.active:hover, .btn-outline-danger.active:focus, .btn-outline-danger.active.focus, + .open > .btn-outline-danger.dropdown-toggle:hover, + .open > .btn-outline-danger.dropdown-toggle:focus, + .open > .btn-outline-danger.dropdown-toggle.focus { + color: #fff; + background-color: #ac2925; + border-color: #8b211e; } + .btn-outline-danger.disabled:focus, .btn-outline-danger.disabled.focus, .btn-outline-danger:disabled:focus, .btn-outline-danger:disabled.focus { + border-color: #eba5a3; } + .btn-outline-danger.disabled:hover, .btn-outline-danger:disabled:hover { + border-color: #eba5a3; } + +.btn-link { + font-weight: normal; + color: #0275d8; + border-radius: 0; } + .btn-link, .btn-link:active, .btn-link.active, .btn-link:disabled { + background-color: transparent; } + .btn-link, .btn-link:focus, .btn-link:active { + border-color: transparent; } + .btn-link:hover { + border-color: transparent; } + .btn-link:focus, .btn-link:hover { + color: #014c8c; + text-decoration: underline; + background-color: transparent; } + .btn-link:disabled:focus, .btn-link:disabled:hover { + color: #818a91; + text-decoration: none; } + +.btn-lg, .btn-group-lg > .btn { + padding: 0.75rem 1.5rem; + font-size: 1.25rem; + border-radius: 0.3rem; } + +.btn-sm, .btn-group-sm > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + border-radius: 0.2rem; } + +.btn-block { + display: block; + width: 100%; } + +.btn-block + .btn-block { + margin-top: 0.5rem; } + +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; } + +.fade { + opacity: 0; + transition: opacity .15s linear; } + .fade.in { + opacity: 1; } + +.collapse { + display: none; } + .collapse.in { + display: block; } + +.collapsing { + position: relative; + height: 0; + overflow: hidden; + transition-timing-function: ease; + transition-duration: .35s; + transition-property: height; } + +.dropup, +.dropdown { + position: relative; } + +.dropdown-toggle::after { + display: inline-block; + width: 0; + height: 0; + margin-left: 0.3em; + vertical-align: middle; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-left: 0.3em solid transparent; } + +.dropdown-toggle:focus { + outline: 0; } + +.dropup .dropdown-toggle::after { + border-top: 0; + border-bottom: 0.3em solid; } + +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + font-size: 1rem; + color: #373a3c; + text-align: left; + list-style: none; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0.25rem; } + +.dropdown-divider { + height: 1px; + margin: 5px 0; + overflow: hidden; + background-color: #e5e5e5; } + +.dropdown-item { + display: block; + width: 100%; + padding: 3px 20px; + clear: both; + font-weight: normal; + color: #373a3c; + text-align: inherit; + white-space: nowrap; + background: none; + border: 0; } + .dropdown-item:focus, .dropdown-item:hover { + color: #2b2d2f; + text-decoration: none; + background-color: #f5f5f5; } + .dropdown-item.active, .dropdown-item.active:focus, .dropdown-item.active:hover { + color: #fff; + text-decoration: none; + background-color: #0275d8; + outline: 0; } + .dropdown-item.disabled, .dropdown-item.disabled:focus, .dropdown-item.disabled:hover { + color: #818a91; } + .dropdown-item.disabled:focus, .dropdown-item.disabled:hover { + text-decoration: none; + cursor: not-allowed; + background-color: transparent; + background-image: none; + filter: "progid:DXImageTransform.Microsoft.gradient(enabled = false)"; } + +.open > .dropdown-menu { + display: block; } + +.open > a { + outline: 0; } + +.dropdown-menu-right { + right: 0; + left: auto; } + +.dropdown-menu-left { + right: auto; + left: 0; } + +.dropdown-header { + display: block; + padding: 5px 20px; + font-size: 0.875rem; + color: #818a91; + white-space: nowrap; } + +.dropdown-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 990; } + +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + content: ""; + border-top: 0; + border-bottom: 0.3em solid; } + +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 2px; } + +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-block; + vertical-align: middle; } + .btn-group > .btn, + .btn-group-vertical > .btn { + position: relative; + float: left; } + .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, + .btn-group-vertical > .btn:focus, + .btn-group-vertical > .btn:active, + .btn-group-vertical > .btn.active { + z-index: 2; } + .btn-group > .btn:hover, + .btn-group-vertical > .btn:hover { + z-index: 2; } + +.btn-group .btn + .btn, +.btn-group .btn + .btn-group, +.btn-group .btn-group + .btn, +.btn-group .btn-group + .btn-group { + margin-left: -1px; } + +.btn-toolbar { + margin-left: -0.5rem; } + .btn-toolbar::after { + content: ""; + display: table; + clear: both; } + .btn-toolbar .btn-group, + .btn-toolbar .input-group { + float: left; } + .btn-toolbar > .btn, + .btn-toolbar > .btn-group, + .btn-toolbar > .input-group { + margin-left: 0.5rem; } + +.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { + border-radius: 0; } + +.btn-group > .btn:first-child { + margin-left: 0; } + .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { + border-bottom-right-radius: 0; + border-top-right-radius: 0; } + +.btn-group > .btn:last-child:not(:first-child), +.btn-group > .dropdown-toggle:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; } + +.btn-group > .btn-group { + float: left; } + +.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; } + +.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-top-right-radius: 0; } + +.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-bottom-left-radius: 0; + border-top-left-radius: 0; } + +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; } + +.btn + .dropdown-toggle-split { + padding-right: 0.75rem; + padding-left: 0.75rem; } + .btn + .dropdown-toggle-split::after { + margin-left: 0; } + +.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { + padding-right: 0.375rem; + padding-left: 0.375rem; } + +.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { + padding-right: 1.125rem; + padding-left: 1.125rem; } + +.btn .caret { + margin-left: 0; } + +.btn-lg .caret, .btn-group-lg > .btn .caret { + border-width: 0.3em 0.3em 0; + border-bottom-width: 0; } + +.dropup .btn-lg .caret, .dropup .btn-group-lg > .btn .caret { + border-width: 0 0.3em 0.3em; } + +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group, +.btn-group-vertical > .btn-group > .btn { + display: block; + float: none; + width: 100%; + max-width: 100%; } + +.btn-group-vertical > .btn-group::after { + content: ""; + display: table; + clear: both; } + +.btn-group-vertical > .btn-group > .btn { + float: none; } + +.btn-group-vertical > .btn + .btn, +.btn-group-vertical > .btn + .btn-group, +.btn-group-vertical > .btn-group + .btn, +.btn-group-vertical > .btn-group + .btn-group { + margin-top: -1px; + margin-left: 0; } + +.btn-group-vertical > .btn:not(:first-child):not(:last-child) { + border-radius: 0; } + +.btn-group-vertical > .btn:first-child:not(:last-child) { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; } + +.btn-group-vertical > .btn:last-child:not(:first-child) { + border-top-right-radius: 0; + border-top-left-radius: 0; } + +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; } + +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; } + +.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; } + +[data-toggle="buttons"] > .btn input[type="radio"], +[data-toggle="buttons"] > .btn input[type="checkbox"], +[data-toggle="buttons"] > .btn-group > .btn input[type="radio"], +[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; } + +.input-group { + position: relative; + width: 100%; + display: -ms-flexbox; + display: flex; } + .input-group .form-control { + position: relative; + z-index: 2; + -ms-flex: 1; + flex: 1; + margin-bottom: 0; } + .input-group .form-control:focus, .input-group .form-control:active, .input-group .form-control:hover { + z-index: 3; } + +.input-group-addon:not(:first-child):not(:last-child), +.input-group-btn:not(:first-child):not(:last-child), +.input-group .form-control:not(:first-child):not(:last-child) { + border-radius: 0; } + +.input-group-addon, +.input-group-btn { + white-space: nowrap; + vertical-align: middle; } + +.input-group-addon { + padding: 0.5rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + font-weight: normal; + line-height: 1.25; + color: #55595c; + text-align: center; + background-color: #eceeef; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0.25rem; } + .input-group-addon.form-control-sm, + .input-group-sm > .input-group-addon, + .input-group-sm > .input-group-btn > .input-group-addon.btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + border-radius: 0.2rem; } + .input-group-addon.form-control-lg, + .input-group-lg > .input-group-addon, + .input-group-lg > .input-group-btn > .input-group-addon.btn { + padding: 0.75rem 1.5rem; + font-size: 1.25rem; + border-radius: 0.3rem; } + .input-group-addon input[type="radio"], + .input-group-addon input[type="checkbox"] { + margin-top: 0; } + +.input-group .form-control:not(:last-child), +.input-group-addon:not(:last-child), +.input-group-btn:not(:last-child) > .btn, +.input-group-btn:not(:last-child) > .btn-group > .btn, +.input-group-btn:not(:last-child) > .dropdown-toggle, +.input-group-btn:not(:first-child) > .btn:not(:last-child):not(.dropdown-toggle), +.input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-top-right-radius: 0; } + +.input-group-addon:not(:last-child) { + border-right: 0; } + +.input-group .form-control:not(:first-child), +.input-group-addon:not(:first-child), +.input-group-btn:not(:first-child) > .btn, +.input-group-btn:not(:first-child) > .btn-group > .btn, +.input-group-btn:not(:first-child) > .dropdown-toggle, +.input-group-btn:not(:last-child) > .btn:not(:first-child), +.input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .btn { + border-bottom-left-radius: 0; + border-top-left-radius: 0; } + +.form-control + .input-group-addon:not(:first-child) { + border-left: 0; } + +.input-group-btn { + position: relative; + font-size: 0; + white-space: nowrap; } + .input-group-btn > .btn { + position: relative; } + .input-group-btn > .btn + .btn { + margin-left: -1px; } + .input-group-btn > .btn:focus, .input-group-btn > .btn:active, .input-group-btn > .btn:hover { + z-index: 3; } + .input-group-btn:not(:last-child) > .btn, + .input-group-btn:not(:last-child) > .btn-group { + margin-right: -1px; } + .input-group-btn:not(:first-child) > .btn, + .input-group-btn:not(:first-child) > .btn-group { + z-index: 2; + margin-left: -1px; } + .input-group-btn:not(:first-child) > .btn:focus, .input-group-btn:not(:first-child) > .btn:active, .input-group-btn:not(:first-child) > .btn:hover, + .input-group-btn:not(:first-child) > .btn-group:focus, + .input-group-btn:not(:first-child) > .btn-group:active, + .input-group-btn:not(:first-child) > .btn-group:hover { + z-index: 3; } + +.custom-control { + position: relative; + display: inline; + padding-left: 1.5rem; + cursor: pointer; } + .custom-control + .custom-control { + margin-left: 1rem; } + +.custom-control-input { + position: absolute; + z-index: -1; + opacity: 0; } + .custom-control-input:checked ~ .custom-control-indicator { + color: #fff; + background-color: #0074d9; } + .custom-control-input:focus ~ .custom-control-indicator { + box-shadow: 0 0 0 0.075rem #fff, 0 0 0 0.2rem #0074d9; } + .custom-control-input:active ~ .custom-control-indicator { + color: #fff; + background-color: #84c6ff; } + .custom-control-input:disabled ~ .custom-control-indicator { + cursor: not-allowed; + background-color: #eee; } + .custom-control-input:disabled ~ .custom-control-description { + color: #767676; + cursor: not-allowed; } + +.custom-control-indicator { + position: absolute; + top: .0625rem; + left: 0; + display: block; + width: 1rem; + height: 1rem; + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-color: #ddd; + background-repeat: no-repeat; + background-position: center center; + background-size: 50% 50%; } + +.custom-checkbox .custom-control-indicator { + border-radius: 0.25rem; } + +.custom-checkbox .custom-control-input:checked ~ .custom-control-indicator { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E"); } + +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-indicator { + background-color: #0074d9; + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E"); } + +.custom-radio .custom-control-indicator { + border-radius: 50%; } + +.custom-radio .custom-control-input:checked ~ .custom-control-indicator { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E"); } + +.custom-controls-stacked .custom-control { + display: inline; } + .custom-controls-stacked .custom-control::after { + display: block; + margin-bottom: 0.25rem; + content: ""; } + .custom-controls-stacked .custom-control + .custom-control { + margin-left: 0; } + +.custom-select { + display: inline-block; + max-width: 100%; + padding: 0.375rem 1.75rem 0.375rem 0.75rem; + padding-right: 0.75rem \9; + color: #55595c; + vertical-align: middle; + background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right 0.75rem center; + background-image: none \9; + background-size: 8px 10px; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0.25rem; + -moz-appearance: none; + -webkit-appearance: none; } + .custom-select:focus { + border-color: #51a7e8; + outline: none; } + .custom-select:focus::-ms-value { + color: #55595c; + background-color: #fff; } + .custom-select:disabled { + color: #818a91; + cursor: not-allowed; + background-color: #eceeef; } + .custom-select::-ms-expand { + opacity: 0; } + +.custom-select-sm { + padding-top: 0.375rem; + padding-bottom: 0.375rem; + font-size: 75%; } + +.custom-file { + position: relative; + display: inline-block; + max-width: 100%; + height: 2.5rem; + cursor: pointer; } + +.custom-file-input { + min-width: 14rem; + max-width: 100%; + margin: 0; + filter: alpha(opacity=0); + opacity: 0; } + +.custom-file-control { + position: absolute; + top: 0; + right: 0; + left: 0; + z-index: 5; + height: 2.5rem; + padding: 0.5rem 1rem; + line-height: 1.5; + color: #555; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 0.25rem; } + .custom-file-control:lang(en)::after { + content: "Choose file..."; } + .custom-file-control::before { + position: absolute; + top: -1px; + right: -1px; + bottom: -1px; + z-index: 6; + display: block; + height: 2.5rem; + padding: 0.5rem 1rem; + line-height: 1.5; + color: #555; + background-color: #eee; + border: 1px solid #ddd; + border-radius: 0 0.25rem 0.25rem 0; } + .custom-file-control:lang(en)::before { + content: "Browse"; } + +.nav { + padding-left: 0; + margin-bottom: 0; + list-style: none; } + +.nav-link { + display: inline-block; } + .nav-link:focus, .nav-link:hover { + text-decoration: none; } + .nav-link.disabled { + color: #818a91; } + .nav-link.disabled, .nav-link.disabled:focus, .nav-link.disabled:hover { + color: #818a91; + cursor: not-allowed; + background-color: transparent; } + +.nav-inline .nav-item { + display: inline-block; } + +.nav-inline .nav-item + .nav-item, +.nav-inline .nav-link + .nav-link { + margin-left: 1rem; } + +.nav-tabs { + border-bottom: 1px solid #ddd; } + .nav-tabs::after { + content: ""; + display: table; + clear: both; } + .nav-tabs .nav-item { + float: left; + margin-bottom: -1px; } + .nav-tabs .nav-item + .nav-item { + margin-left: 0.2rem; } + .nav-tabs .nav-link { + display: block; + padding: 0.5em 1em; + border: 1px solid transparent; + border-top-right-radius: 0.25rem; + border-top-left-radius: 0.25rem; } + .nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover { + border-color: #eceeef #eceeef #ddd; } + .nav-tabs .nav-link.disabled, .nav-tabs .nav-link.disabled:focus, .nav-tabs .nav-link.disabled:hover { + color: #818a91; + background-color: transparent; + border-color: transparent; } + .nav-tabs .nav-link.active, .nav-tabs .nav-link.active:focus, .nav-tabs .nav-link.active:hover, + .nav-tabs .nav-item.open .nav-link, + .nav-tabs .nav-item.open .nav-link:focus, + .nav-tabs .nav-item.open .nav-link:hover { + color: #55595c; + background-color: #fff; + border-color: #ddd #ddd transparent; } + .nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-right-radius: 0; + border-top-left-radius: 0; } + +.nav-pills::after { + content: ""; + display: table; + clear: both; } + +.nav-pills .nav-item { + float: left; } + .nav-pills .nav-item + .nav-item { + margin-left: 0.2rem; } + +.nav-pills .nav-link { + display: block; + padding: 0.5em 1em; + border-radius: 0.25rem; } + +.nav-pills .nav-link.active, .nav-pills .nav-link.active:focus, .nav-pills .nav-link.active:hover, +.nav-pills .nav-item.open .nav-link, +.nav-pills .nav-item.open .nav-link:focus, +.nav-pills .nav-item.open .nav-link:hover { + color: #fff; + cursor: default; + background-color: #0275d8; } + +.nav-stacked .nav-item { + display: block; + float: none; } + .nav-stacked .nav-item + .nav-item { + margin-top: 0.2rem; + margin-left: 0; } + +.tab-content > .tab-pane { + display: none; } + +.tab-content > .active { + display: block; } + +.navbar { + position: relative; + padding: 5px 10px; } + .navbar::after { + content: ""; + display: table; + clear: both; } + @media (min-width: 544px) { + .navbar { + border-radius: 0.25rem; } } + +.navbar-full { + z-index: 1000; } + @media (min-width: 544px) { + .navbar-full { + border-radius: 0; } } + +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; } + @media (min-width: 544px) { + .navbar-fixed-top, + .navbar-fixed-bottom { + border-radius: 0; } } + +.navbar-fixed-top { + top: 0; } + +.navbar-fixed-bottom { + bottom: 0; } + +.navbar-sticky-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1030; + width: 100%; } + @media (min-width: 544px) { + .navbar-sticky-top { + border-radius: 0; } } + +.navbar-brand { + float: left; + padding-top: 0.25rem; + padding-bottom: 0.25rem; + margin-right: 1rem; + font-size: 1.25rem; } + .navbar-brand:focus, .navbar-brand:hover { + text-decoration: none; } + .navbar-brand > img { + display: block; } + +.navbar-divider { + float: left; + width: 1px; + padding-top: .425rem; + padding-bottom: .425rem; + margin-right: 10px; + margin-left: 10px; + overflow: hidden; } + .navbar-divider::before { + content: "\00a0"; } + +.navbar-toggler { + padding: .5rem .75rem; + font-size: 1.25rem; + line-height: 1; + background: none; + border: 1px solid transparent; + border-radius: 0.25rem; } + .navbar-toggler:focus, .navbar-toggler:hover { + text-decoration: none; } + +.navbar-nav .nav-item { + float: left; } + +.navbar-nav .nav-link { + display: block; + padding-top: .425rem; + padding-bottom: .425rem; } + .navbar-nav .nav-link + .nav-link { + margin-left: 1rem; } + +.navbar-nav .nav-item + .nav-item { + margin-left: 1rem; } + +.navbar-light .navbar-brand { + color: rgba(0, 0, 0, 0.8); } + .navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover { + color: rgba(0, 0, 0, 0.8); } + +.navbar-light .navbar-nav .nav-link { + color: rgba(0, 0, 0, 0.3); } + .navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover { + color: rgba(0, 0, 0, 0.6); } + +.navbar-light .navbar-nav .open > .nav-link, .navbar-light .navbar-nav .open > .nav-link:focus, .navbar-light .navbar-nav .open > .nav-link:hover, +.navbar-light .navbar-nav .active > .nav-link, +.navbar-light .navbar-nav .active > .nav-link:focus, +.navbar-light .navbar-nav .active > .nav-link:hover, +.navbar-light .navbar-nav .nav-link.open, +.navbar-light .navbar-nav .nav-link.open:focus, +.navbar-light .navbar-nav .nav-link.open:hover, +.navbar-light .navbar-nav .nav-link.active, +.navbar-light .navbar-nav .nav-link.active:focus, +.navbar-light .navbar-nav .nav-link.active:hover { + color: rgba(0, 0, 0, 0.8); } + +.navbar-light .navbar-divider { + background-color: rgba(0, 0, 0, 0.075); } + +.navbar-dark .navbar-brand { + color: white; } + .navbar-dark .navbar-brand:focus, .navbar-dark .navbar-brand:hover { + color: white; } + +.navbar-dark .navbar-nav .nav-link { + color: rgba(255, 255, 255, 0.5); } + .navbar-dark .navbar-nav .nav-link:focus, .navbar-dark .navbar-nav .nav-link:hover { + color: rgba(255, 255, 255, 0.75); } + +.navbar-dark .navbar-nav .open > .nav-link, .navbar-dark .navbar-nav .open > .nav-link:focus, .navbar-dark .navbar-nav .open > .nav-link:hover, +.navbar-dark .navbar-nav .active > .nav-link, +.navbar-dark .navbar-nav .active > .nav-link:focus, +.navbar-dark .navbar-nav .active > .nav-link:hover, +.navbar-dark .navbar-nav .nav-link.open, +.navbar-dark .navbar-nav .nav-link.open:focus, +.navbar-dark .navbar-nav .nav-link.open:hover, +.navbar-dark .navbar-nav .nav-link.active, +.navbar-dark .navbar-nav .nav-link.active:focus, +.navbar-dark .navbar-nav .nav-link.active:hover { + color: white; } + +.navbar-dark .navbar-divider { + background-color: rgba(255, 255, 255, 0.075); } + +.navbar-toggleable-xs::after { + content: ""; + display: table; + clear: both; } + +@media (max-width: 543px) { + .navbar-toggleable-xs .navbar-nav .nav-item { + float: none; + margin-left: 0; } } + +@media (min-width: 544px) { + .navbar-toggleable-xs { + display: block !important; } } + +.navbar-toggleable-sm::after { + content: ""; + display: table; + clear: both; } + +@media (max-width: 767px) { + .navbar-toggleable-sm .navbar-nav .nav-item { + float: none; + margin-left: 0; } } + +@media (min-width: 768px) { + .navbar-toggleable-sm { + display: block !important; } } + +.navbar-toggleable-md::after { + content: ""; + display: table; + clear: both; } + +@media (max-width: 991px) { + .navbar-toggleable-md .navbar-nav .nav-item { + float: none; + margin-left: 0; } } + +@media (min-width: 992px) { + .navbar-toggleable-md { + display: block !important; } } + +.card { + position: relative; + display: block; + margin-bottom: 0.75rem; + background-color: #fff; + border-radius: 0.25rem; + border: 1px solid rgba(0, 0, 0, 0.125); } + +.card-block { + padding: 1.25rem; } + .card-block::after { + content: ""; + display: table; + clear: both; } + +.card-title { + margin-bottom: 0.75rem; } + +.card-subtitle { + margin-top: -0.375rem; + margin-bottom: 0; } + +.card-text:last-child { + margin-bottom: 0; } + +.card-link:hover { + text-decoration: none; } + +.card-link + .card-link { + margin-left: 1.25rem; } + +.card > .list-group:first-child .list-group-item:first-child { + border-top-right-radius: 0.25rem; + border-top-left-radius: 0.25rem; } + +.card > .list-group:last-child .list-group-item:last-child { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; } + +.card-header { + padding: 0.75rem 1.25rem; + background-color: #f5f5f5; + border-bottom: 1px solid rgba(0, 0, 0, 0.125); } + .card-header::after { + content: ""; + display: table; + clear: both; } + .card-header:first-child { + border-radius: 0.25rem 0.25rem 0 0; } + +.card-footer { + padding: 0.75rem 1.25rem; + background-color: #f5f5f5; + border-top: 1px solid rgba(0, 0, 0, 0.125); } + .card-footer::after { + content: ""; + display: table; + clear: both; } + .card-footer:last-child { + border-radius: 0 0 0.25rem 0.25rem; } + +.card-header-tabs { + margin-right: -0.625rem; + margin-bottom: -0.75rem; + margin-left: -0.625rem; + border-bottom: 0; } + +.card-header-pills { + margin-right: -0.625rem; + margin-left: -0.625rem; } + +.card-primary { + background-color: #0275d8; + border-color: #0275d8; } + .card-primary .card-header, + .card-primary .card-footer { + background-color: transparent; } + +.card-success { + background-color: #5cb85c; + border-color: #5cb85c; } + .card-success .card-header, + .card-success .card-footer { + background-color: transparent; } + +.card-info { + background-color: #5bc0de; + border-color: #5bc0de; } + .card-info .card-header, + .card-info .card-footer { + background-color: transparent; } + +.card-warning { + background-color: #f0ad4e; + border-color: #f0ad4e; } + .card-warning .card-header, + .card-warning .card-footer { + background-color: transparent; } + +.card-danger { + background-color: #d9534f; + border-color: #d9534f; } + .card-danger .card-header, + .card-danger .card-footer { + background-color: transparent; } + +.card-outline-primary { + background-color: transparent; + border-color: #0275d8; } + +.card-outline-secondary { + background-color: transparent; + border-color: #ccc; } + +.card-outline-info { + background-color: transparent; + border-color: #5bc0de; } + +.card-outline-success { + background-color: transparent; + border-color: #5cb85c; } + +.card-outline-warning { + background-color: transparent; + border-color: #f0ad4e; } + +.card-outline-danger { + background-color: transparent; + border-color: #d9534f; } + +.card-inverse .card-header, +.card-inverse .card-footer { + border-color: rgba(255, 255, 255, 0.2); } + +.card-inverse .card-header, +.card-inverse .card-footer, +.card-inverse .card-title, +.card-inverse .card-blockquote { + color: #fff; } + +.card-inverse .card-link, +.card-inverse .card-text, +.card-inverse .card-subtitle, +.card-inverse .card-blockquote .blockquote-footer { + color: rgba(255, 255, 255, 0.65); } + +.card-inverse .card-link:focus, .card-inverse .card-link:hover { + color: #fff; } + +.card-blockquote { + padding: 0; + margin-bottom: 0; + border-left: 0; } + +.card-img { + border-radius: 0.25rem; } + +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: 1.25rem; } + +.card-img-top { + border-top-right-radius: 0.25rem; + border-top-left-radius: 0.25rem; } + +.card-img-bottom { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; } + +@media (min-width: 544px) { + .card-deck { + display: -ms-flexbox; + display: flex; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + margin-right: -0.625rem; + margin-bottom: 0.75rem; + margin-left: -0.625rem; } + .card-deck .card { + -ms-flex: 1 0 0; + flex: 1 0 0; + margin-right: 0.625rem; + margin-bottom: 0; + margin-left: 0.625rem; } } + +@media (min-width: 544px) { + .card-group { + display: -ms-flexbox; + display: flex; + -ms-flex-flow: row wrap; + flex-flow: row wrap; } + .card-group .card { + -ms-flex: 1 0 0; + flex: 1 0 0; } + .card-group .card + .card { + margin-left: 0; + border-left: 0; } + .card-group .card:first-child { + border-bottom-right-radius: 0; + border-top-right-radius: 0; } + .card-group .card:first-child .card-img-top { + border-top-right-radius: 0; } + .card-group .card:first-child .card-img-bottom { + border-bottom-right-radius: 0; } + .card-group .card:last-child { + border-bottom-left-radius: 0; + border-top-left-radius: 0; } + .card-group .card:last-child .card-img-top { + border-top-left-radius: 0; } + .card-group .card:last-child .card-img-bottom { + border-bottom-left-radius: 0; } + .card-group .card:not(:first-child):not(:last-child) { + border-radius: 0; } + .card-group .card:not(:first-child):not(:last-child) .card-img-top, + .card-group .card:not(:first-child):not(:last-child) .card-img-bottom { + border-radius: 0; } } + +@media (min-width: 544px) { + .card-columns { + -moz-column-count: 3; + column-count: 3; + -moz-column-gap: 1.25rem; + column-gap: 1.25rem; } + .card-columns .card { + width: 100%; } } + +.breadcrumb { + padding: 0.75rem 1rem; + margin-bottom: 10px; + list-style: none; + background-color: #eceeef; + border-radius: 0.25rem; } + .breadcrumb::after { + content: ""; + display: table; + clear: both; } + +.breadcrumb-item { + float: left; } + .breadcrumb-item + .breadcrumb-item::before { + display: inline-block; + padding-right: 0.5rem; + padding-left: 0.5rem; + color: #818a91; + content: "/"; } + .breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: underline; } + .breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: none; } + .breadcrumb-item.active { + color: #818a91; } + +.pagination { + display: inline-block; + padding-left: 0; + margin-top: 10px; + margin-bottom: 10px; + border-radius: 0.25rem; } + +.page-item { + display: inline; } + .page-item:first-child .page-link { + margin-left: 0; + border-bottom-left-radius: 0.25rem; + border-top-left-radius: 0.25rem; } + .page-item:last-child .page-link { + border-bottom-right-radius: 0.25rem; + border-top-right-radius: 0.25rem; } + .page-item.active .page-link, .page-item.active .page-link:focus, .page-item.active .page-link:hover { + z-index: 2; + color: #fff; + cursor: default; + background-color: #0275d8; + border-color: #0275d8; } + .page-item.disabled .page-link, .page-item.disabled .page-link:focus, .page-item.disabled .page-link:hover { + color: #818a91; + pointer-events: none; + cursor: not-allowed; + background-color: #fff; + border-color: #ddd; } + +.page-link { + position: relative; + float: left; + padding: 0.5rem 0.75rem; + margin-left: -1px; + color: #0275d8; + text-decoration: none; + background-color: #fff; + border: 1px solid #ddd; } + .page-link:focus, .page-link:hover { + color: #014c8c; + background-color: #eceeef; + border-color: #ddd; } + +.pagination-lg .page-link { + padding: 0.75rem 1.5rem; + font-size: 1.25rem; } + +.pagination-lg .page-item:first-child .page-link { + border-bottom-left-radius: 0.3rem; + border-top-left-radius: 0.3rem; } + +.pagination-lg .page-item:last-child .page-link { + border-bottom-right-radius: 0.3rem; + border-top-right-radius: 0.3rem; } + +.pagination-sm .page-link { + padding: 0.275rem 0.75rem; + font-size: 0.875rem; } + +.pagination-sm .page-item:first-child .page-link { + border-bottom-left-radius: 0.2rem; + border-top-left-radius: 0.2rem; } + +.pagination-sm .page-item:last-child .page-link { + border-bottom-right-radius: 0.2rem; + border-top-right-radius: 0.2rem; } + +.tag { + display: inline-block; + padding: 0.25em 0.4em; + font-size: 75%; + font-weight: bold; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: 0.25rem; } + .tag:empty { + display: none; } + +.btn .tag { + position: relative; + top: -1px; } + +a.tag:focus, a.tag:hover { + color: #fff; + text-decoration: none; + cursor: pointer; } + +.tag-pill { + padding-right: 0.6em; + padding-left: 0.6em; + border-radius: 10rem; } + +.tag-default { + background-color: #818a91; } + .tag-default[href]:focus, .tag-default[href]:hover { + background-color: #687077; } + +.tag-primary { + background-color: #0275d8; } + .tag-primary[href]:focus, .tag-primary[href]:hover { + background-color: #025aa5; } + +.tag-success { + background-color: #5cb85c; } + .tag-success[href]:focus, .tag-success[href]:hover { + background-color: #449d44; } + +.tag-info { + background-color: #5bc0de; } + .tag-info[href]:focus, .tag-info[href]:hover { + background-color: #31b0d5; } + +.tag-warning { + background-color: #f0ad4e; } + .tag-warning[href]:focus, .tag-warning[href]:hover { + background-color: #ec971f; } + +.tag-danger { + background-color: #d9534f; } + .tag-danger[href]:focus, .tag-danger[href]:hover { + background-color: #c9302c; } + +.jumbotron { + padding: 2rem 1rem; + margin-bottom: 2rem; + background-color: #eceeef; + border-radius: 0.3rem; } + @media (min-width: 544px) { + .jumbotron { + padding: 4rem 2rem; } } + +.jumbotron-hr { + border-top-color: #d0d5d8; } + +.jumbotron-fluid { + padding-right: 0; + padding-left: 0; + border-radius: 0; } + +.alert { + padding: 1rem; + margin-bottom: 10px; + border: 1px solid transparent; + border-radius: 0.25rem; } + +.alert-heading { + color: inherit; } + +.alert-link { + font-weight: bold; } + +.alert-dismissible { + padding-right: 2rem; } + .alert-dismissible .close { + position: relative; + top: -.125rem; + right: -1rem; + color: inherit; } + +.alert-success { + background-color: #dff0d8; + border-color: #d0e9c6; + color: #3c763d; } + .alert-success hr { + border-top-color: #c1e2b3; } + .alert-success .alert-link { + color: #2b542c; } + +.alert-info { + background-color: #d9edf7; + border-color: #bcdff1; + color: #31708f; } + .alert-info hr { + border-top-color: #a6d5ec; } + .alert-info .alert-link { + color: #245269; } + +.alert-warning { + background-color: #fcf8e3; + border-color: #faf2cc; + color: #8a6d3b; } + .alert-warning hr { + border-top-color: #f7ecb5; } + .alert-warning .alert-link { + color: #66512c; } + +.alert-danger { + background-color: #f2dede; + border-color: #ebcccc; + color: #a94442; } + .alert-danger hr { + border-top-color: #e4b9b9; } + .alert-danger .alert-link { + color: #843534; } + +@keyframes progress-bar-stripes { + from { + background-position: 10px 0; } + to { + background-position: 0 0; } } + +.progress { + display: block; + width: 100%; + height: 10px; + margin-bottom: 10px; } + +.progress[value] { + background-color: #eee; + border: 0; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + border-radius: 0.25rem; } + +.progress[value]::-ms-fill { + background-color: #0074d9; + border: 0; } + +.progress[value]::-moz-progress-bar { + background-color: #0074d9; + border-bottom-left-radius: 0.25rem; + border-top-left-radius: 0.25rem; } + +.progress[value]::-webkit-progress-value { + background-color: #0074d9; + border-bottom-left-radius: 0.25rem; + border-top-left-radius: 0.25rem; } + +.progress[value="100"]::-moz-progress-bar { + border-bottom-right-radius: 0.25rem; + border-top-right-radius: 0.25rem; } + +.progress[value="100"]::-webkit-progress-value { + border-bottom-right-radius: 0.25rem; + border-top-right-radius: 0.25rem; } + +.progress[value]::-webkit-progress-bar { + background-color: #eee; + border-radius: 0.25rem; } + +base::-moz-progress-bar, +.progress[value] { + background-color: #eee; + border-radius: 0.25rem; } + +@media screen and (min-width: 0\0) { + .progress { + background-color: #eee; + border-radius: 0.25rem; } + .progress-bar { + display: inline-block; + height: 10px; + text-indent: -999rem; + background-color: #0074d9; + border-bottom-left-radius: 0.25rem; + border-top-left-radius: 0.25rem; } + .progress[width="100%"] { + border-bottom-right-radius: 0.25rem; + border-top-right-radius: 0.25rem; } } + +.progress-striped[value]::-webkit-progress-value { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 10px 10px; } + +.progress-striped[value]::-moz-progress-bar { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 10px 10px; } + +.progress-striped[value]::-ms-fill { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 10px 10px; } + +@media screen and (min-width: 0\0) { + .progress-bar-striped { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 10px 10px; } } + +.progress-animated[value]::-webkit-progress-value { + animation: progress-bar-stripes 2s linear infinite; } + +.progress-animated[value]::-moz-progress-bar { + animation: progress-bar-stripes 2s linear infinite; } + +@media screen and (min-width: 0\0) { + .progress-animated .progress-bar-striped { + animation: progress-bar-stripes 2s linear infinite; } } + +.progress-success[value]::-webkit-progress-value { + background-color: #5cb85c; } + +.progress-success[value]::-moz-progress-bar { + background-color: #5cb85c; } + +.progress-success[value]::-ms-fill { + background-color: #5cb85c; } + +@media screen and (min-width: 0\0) { + .progress-success .progress-bar { + background-color: #5cb85c; } } + +.progress-info[value]::-webkit-progress-value { + background-color: #5bc0de; } + +.progress-info[value]::-moz-progress-bar { + background-color: #5bc0de; } + +.progress-info[value]::-ms-fill { + background-color: #5bc0de; } + +@media screen and (min-width: 0\0) { + .progress-info .progress-bar { + background-color: #5bc0de; } } + +.progress-warning[value]::-webkit-progress-value { + background-color: #f0ad4e; } + +.progress-warning[value]::-moz-progress-bar { + background-color: #f0ad4e; } + +.progress-warning[value]::-ms-fill { + background-color: #f0ad4e; } + +@media screen and (min-width: 0\0) { + .progress-warning .progress-bar { + background-color: #f0ad4e; } } + +.progress-danger[value]::-webkit-progress-value { + background-color: #d9534f; } + +.progress-danger[value]::-moz-progress-bar { + background-color: #d9534f; } + +.progress-danger[value]::-ms-fill { + background-color: #d9534f; } + +@media screen and (min-width: 0\0) { + .progress-danger .progress-bar { + background-color: #d9534f; } } + +.media { + display: -ms-flexbox; + display: flex; } + +.media-body { + -ms-flex: 1; + flex: 1; } + +.media-middle { + -ms-flex-item-align: center; + align-self: center; } + +.media-bottom { + -ms-flex-item-align: end; + align-self: flex-end; } + +.media-object { + display: block; } + .media-object.img-thumbnail { + max-width: none; } + +.media-right { + padding-left: 10px; } + +.media-left { + padding-right: 10px; } + +.media-heading { + margin-top: 0; + margin-bottom: 5px; } + +.media-list { + padding-left: 0; + list-style: none; } + +.list-group { + padding-left: 0; + margin-bottom: 0; } + +.list-group-item { + position: relative; + display: block; + padding: 0.75rem 1.25rem; + margin-bottom: -1px; + background-color: #fff; + border: 1px solid #ddd; } + .list-group-item:first-child { + border-top-right-radius: 0.25rem; + border-top-left-radius: 0.25rem; } + .list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; } + .list-group-item.disabled, .list-group-item.disabled:focus, .list-group-item.disabled:hover { + color: #818a91; + cursor: not-allowed; + background-color: #eceeef; } + .list-group-item.disabled .list-group-item-heading, .list-group-item.disabled:focus .list-group-item-heading, .list-group-item.disabled:hover .list-group-item-heading { + color: inherit; } + .list-group-item.disabled .list-group-item-text, .list-group-item.disabled:focus .list-group-item-text, .list-group-item.disabled:hover .list-group-item-text { + color: #818a91; } + .list-group-item.active, .list-group-item.active:focus, .list-group-item.active:hover { + z-index: 2; + color: #fff; + text-decoration: none; + background-color: #0275d8; + border-color: #0275d8; } + .list-group-item.active .list-group-item-heading, + .list-group-item.active .list-group-item-heading > small, + .list-group-item.active .list-group-item-heading > .small, .list-group-item.active:focus .list-group-item-heading, + .list-group-item.active:focus .list-group-item-heading > small, + .list-group-item.active:focus .list-group-item-heading > .small, .list-group-item.active:hover .list-group-item-heading, + .list-group-item.active:hover .list-group-item-heading > small, + .list-group-item.active:hover .list-group-item-heading > .small { + color: inherit; } + .list-group-item.active .list-group-item-text, .list-group-item.active:focus .list-group-item-text, .list-group-item.active:hover .list-group-item-text { + color: #a8d6fe; } + +.list-group-flush .list-group-item { + border-radius: 0; } + +.list-group-item-action { + width: 100%; + color: #555; + text-align: inherit; } + .list-group-item-action .list-group-item-heading { + color: #333; } + .list-group-item-action:focus, .list-group-item-action:hover { + color: #555; + text-decoration: none; + background-color: #f5f5f5; } + +.list-group-item-success { + color: #3c763d; + background-color: #dff0d8; } + +a.list-group-item-success, +button.list-group-item-success { + color: #3c763d; } + a.list-group-item-success .list-group-item-heading, + button.list-group-item-success .list-group-item-heading { + color: inherit; } + a.list-group-item-success:focus, a.list-group-item-success:hover, + button.list-group-item-success:focus, + button.list-group-item-success:hover { + color: #3c763d; + background-color: #d0e9c6; } + a.list-group-item-success.active, a.list-group-item-success.active:focus, a.list-group-item-success.active:hover, + button.list-group-item-success.active, + button.list-group-item-success.active:focus, + button.list-group-item-success.active:hover { + color: #fff; + background-color: #3c763d; + border-color: #3c763d; } + +.list-group-item-info { + color: #31708f; + background-color: #d9edf7; } + +a.list-group-item-info, +button.list-group-item-info { + color: #31708f; } + a.list-group-item-info .list-group-item-heading, + button.list-group-item-info .list-group-item-heading { + color: inherit; } + a.list-group-item-info:focus, a.list-group-item-info:hover, + button.list-group-item-info:focus, + button.list-group-item-info:hover { + color: #31708f; + background-color: #c4e3f3; } + a.list-group-item-info.active, a.list-group-item-info.active:focus, a.list-group-item-info.active:hover, + button.list-group-item-info.active, + button.list-group-item-info.active:focus, + button.list-group-item-info.active:hover { + color: #fff; + background-color: #31708f; + border-color: #31708f; } + +.list-group-item-warning { + color: #8a6d3b; + background-color: #fcf8e3; } + +a.list-group-item-warning, +button.list-group-item-warning { + color: #8a6d3b; } + a.list-group-item-warning .list-group-item-heading, + button.list-group-item-warning .list-group-item-heading { + color: inherit; } + a.list-group-item-warning:focus, a.list-group-item-warning:hover, + button.list-group-item-warning:focus, + button.list-group-item-warning:hover { + color: #8a6d3b; + background-color: #faf2cc; } + a.list-group-item-warning.active, a.list-group-item-warning.active:focus, a.list-group-item-warning.active:hover, + button.list-group-item-warning.active, + button.list-group-item-warning.active:focus, + button.list-group-item-warning.active:hover { + color: #fff; + background-color: #8a6d3b; + border-color: #8a6d3b; } + +.list-group-item-danger { + color: #a94442; + background-color: #f2dede; } + +a.list-group-item-danger, +button.list-group-item-danger { + color: #a94442; } + a.list-group-item-danger .list-group-item-heading, + button.list-group-item-danger .list-group-item-heading { + color: inherit; } + a.list-group-item-danger:focus, a.list-group-item-danger:hover, + button.list-group-item-danger:focus, + button.list-group-item-danger:hover { + color: #a94442; + background-color: #ebcccc; } + a.list-group-item-danger.active, a.list-group-item-danger.active:focus, a.list-group-item-danger.active:hover, + button.list-group-item-danger.active, + button.list-group-item-danger.active:focus, + button.list-group-item-danger.active:hover { + color: #fff; + background-color: #a94442; + border-color: #a94442; } + +.list-group-item-heading { + margin-top: 0; + margin-bottom: 5px; } + +.list-group-item-text { + margin-bottom: 0; + line-height: 1.3; } + +.embed-responsive { + position: relative; + display: block; + height: 0; + padding: 0; + overflow: hidden; } + .embed-responsive .embed-responsive-item, + .embed-responsive iframe, + .embed-responsive embed, + .embed-responsive object, + .embed-responsive video { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + border: 0; } + +.embed-responsive-21by9 { + padding-bottom: 42.85714%; } + +.embed-responsive-16by9 { + padding-bottom: 56.25%; } + +.embed-responsive-4by3 { + padding-bottom: 75%; } + +.embed-responsive-1by1 { + padding-bottom: 100%; } + +.close { + float: right; + font-size: 1.5rem; + font-weight: bold; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + opacity: .2; } + .close:focus, .close:hover { + color: #000; + text-decoration: none; + cursor: pointer; + opacity: .5; } + +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; } + +.modal-open { + overflow: hidden; } + +.modal { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1050; + display: none; + overflow: hidden; + outline: 0; + -webkit-overflow-scrolling: touch; } + .modal.fade .modal-dialog { + transition: transform .3s ease-out; + transform: translate(0, -25%); } + .modal.in .modal-dialog { + transform: translate(0, 0); } + +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; } + +.modal-dialog { + position: relative; + width: auto; + margin: 10px; } + +.modal-content { + position: relative; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; + outline: 0; } + +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000; } + .modal-backdrop.fade { + opacity: 0; } + .modal-backdrop.in { + opacity: 0.5; } + +.modal-header { + padding: 15px; + border-bottom: 1px solid #e5e5e5; } + .modal-header::after { + content: ""; + display: table; + clear: both; } + +.modal-header .close { + margin-top: -2px; } + +.modal-title { + margin: 0; + line-height: 1.5; } + +.modal-body { + position: relative; + padding: 15px; } + +.modal-footer { + padding: 15px; + text-align: right; + border-top: 1px solid #e5e5e5; } + .modal-footer::after { + content: ""; + display: table; + clear: both; } + +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; } + +@media (min-width: 544px) { + .modal-dialog { + max-width: 600px; + margin: 30px auto; } + .modal-sm { + max-width: 300px; } } + +@media (min-width: 992px) { + .modal-lg { + max-width: 900px; } } + +.tooltip { + position: absolute; + z-index: 1070; + display: block; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; + font-style: normal; + font-weight: normal; + letter-spacing: normal; + line-break: auto; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + font-size: 0.875rem; + word-wrap: break-word; + opacity: 0; } + .tooltip.in { + opacity: 0.9; } + .tooltip.tooltip-top, .tooltip.bs-tether-element-attached-bottom { + padding: 5px 0; + margin-top: -3px; } + .tooltip.tooltip-top .tooltip-arrow, .tooltip.bs-tether-element-attached-bottom .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-width: 5px 5px 0; + border-top-color: #000; } + .tooltip.tooltip-right, .tooltip.bs-tether-element-attached-left { + padding: 0 5px; + margin-left: 3px; } + .tooltip.tooltip-right .tooltip-arrow, .tooltip.bs-tether-element-attached-left .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #000; } + .tooltip.tooltip-bottom, .tooltip.bs-tether-element-attached-top { + padding: 5px 0; + margin-top: 3px; } + .tooltip.tooltip-bottom .tooltip-arrow, .tooltip.bs-tether-element-attached-top .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; } + .tooltip.tooltip-left, .tooltip.bs-tether-element-attached-right { + padding: 0 5px; + margin-left: -3px; } + .tooltip.tooltip-left .tooltip-arrow, .tooltip.bs-tether-element-attached-right .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-width: 5px 0 5px 5px; + border-left-color: #000; } + +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 0.25rem; } + +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; } + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: block; + max-width: 276px; + padding: 1px; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; + font-style: normal; + font-weight: normal; + letter-spacing: normal; + line-break: auto; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + font-size: 0.875rem; + word-wrap: break-word; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; } + .popover.popover-top, .popover.bs-tether-element-attached-bottom { + margin-top: -10px; } + .popover.popover-top .popover-arrow, .popover.bs-tether-element-attached-bottom .popover-arrow { + bottom: -11px; + left: 50%; + margin-left: -11px; + border-top-color: rgba(0, 0, 0, 0.25); + border-bottom-width: 0; } + .popover.popover-top .popover-arrow::after, .popover.bs-tether-element-attached-bottom .popover-arrow::after { + bottom: 1px; + margin-left: -10px; + content: ""; + border-top-color: #fff; + border-bottom-width: 0; } + .popover.popover-right, .popover.bs-tether-element-attached-left { + margin-left: 10px; } + .popover.popover-right .popover-arrow, .popover.bs-tether-element-attached-left .popover-arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-right-color: rgba(0, 0, 0, 0.25); + border-left-width: 0; } + .popover.popover-right .popover-arrow::after, .popover.bs-tether-element-attached-left .popover-arrow::after { + bottom: -10px; + left: 1px; + content: ""; + border-right-color: #fff; + border-left-width: 0; } + .popover.popover-bottom, .popover.bs-tether-element-attached-top { + margin-top: 10px; } + .popover.popover-bottom .popover-arrow, .popover.bs-tether-element-attached-top .popover-arrow { + top: -11px; + left: 50%; + margin-left: -11px; + border-top-width: 0; + border-bottom-color: rgba(0, 0, 0, 0.25); } + .popover.popover-bottom .popover-arrow::after, .popover.bs-tether-element-attached-top .popover-arrow::after { + top: 1px; + margin-left: -10px; + content: ""; + border-top-width: 0; + border-bottom-color: #fff; } + .popover.popover-left, .popover.bs-tether-element-attached-right { + margin-left: -10px; } + .popover.popover-left .popover-arrow, .popover.bs-tether-element-attached-right .popover-arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-right-width: 0; + border-left-color: rgba(0, 0, 0, 0.25); } + .popover.popover-left .popover-arrow::after, .popover.bs-tether-element-attached-right .popover-arrow::after { + right: 1px; + bottom: -10px; + content: ""; + border-right-width: 0; + border-left-color: #fff; } + +.popover-title { + padding: 8px 14px; + margin: 0; + font-size: 1rem; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-radius: 0.2375rem 0.2375rem 0 0; } + .popover-title:empty { + display: none; } + +.popover-content { + padding: 9px 14px; } + +.popover-arrow, .popover-arrow::after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; } + +.popover-arrow { + border-width: 11px; } + +.popover-arrow::after { + content: ""; + border-width: 10px; } + +.carousel { + position: relative; } + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; } + .carousel-inner > .carousel-item { + position: relative; + display: none; + transition: .6s ease-in-out left; } + .carousel-inner > .carousel-item > img, + .carousel-inner > .carousel-item > a > img { + line-height: 1; } + @media all and (transform-3d), (-webkit-transform-3d) { + .carousel-inner > .carousel-item { + transition: transform .6s ease-in-out; + backface-visibility: hidden; + perspective: 1000px; } + .carousel-inner > .carousel-item.next, .carousel-inner > .carousel-item.active.right { + left: 0; + transform: translate3d(100%, 0, 0); } + .carousel-inner > .carousel-item.prev, .carousel-inner > .carousel-item.active.left { + left: 0; + transform: translate3d(-100%, 0, 0); } + .carousel-inner > .carousel-item.next.left, .carousel-inner > .carousel-item.prev.right, .carousel-inner > .carousel-item.active { + left: 0; + transform: translate3d(0, 0, 0); } } + .carousel-inner > .active, + .carousel-inner > .next, + .carousel-inner > .prev { + display: block; } + .carousel-inner > .active { + left: 0; } + .carousel-inner > .next, + .carousel-inner > .prev { + position: absolute; + top: 0; + width: 100%; } + .carousel-inner > .next { + left: 100%; } + .carousel-inner > .prev { + left: -100%; } + .carousel-inner > .next.left, + .carousel-inner > .prev.right { + left: 0; } + .carousel-inner > .active.left { + left: -100%; } + .carousel-inner > .active.right { + left: 100%; } + +.carousel-control { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 15%; + font-size: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); + opacity: 0.5; } + .carousel-control.left { + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); } + .carousel-control.right { + right: 0; + left: auto; + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); } + .carousel-control:focus, .carousel-control:hover { + color: #fff; + text-decoration: none; + outline: 0; + opacity: .9; } + .carousel-control .icon-prev, + .carousel-control .icon-next { + position: absolute; + top: 50%; + z-index: 5; + display: inline-block; + width: 20px; + height: 20px; + margin-top: -10px; + font-family: serif; + line-height: 1; } + .carousel-control .icon-prev { + left: 50%; + margin-left: -10px; } + .carousel-control .icon-next { + right: 50%; + margin-right: -10px; } + .carousel-control .icon-prev::before { + content: "\2039"; } + .carousel-control .icon-next::before { + content: "\203a"; } + +.carousel-indicators { + position: absolute; + bottom: 10px; + left: 50%; + z-index: 15; + width: 60%; + padding-left: 0; + margin-left: -30%; + text-align: center; + list-style: none; } + .carousel-indicators li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + cursor: pointer; + background-color: transparent; + border: 1px solid #fff; + border-radius: 10px; } + .carousel-indicators .active { + width: 12px; + height: 12px; + margin: 0; + background-color: #fff; } + +.carousel-caption { + position: absolute; + right: 15%; + bottom: 20px; + left: 15%; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); } + .carousel-caption .btn { + text-shadow: none; } + +@media (min-width: 544px) { + .carousel-control .icon-prev, + .carousel-control .icon-next { + width: 30px; + height: 30px; + margin-top: -15px; + font-size: 30px; } + .carousel-control .icon-prev { + margin-left: -15px; } + .carousel-control .icon-next { + margin-right: -15px; } + .carousel-caption { + right: 20%; + left: 20%; + padding-bottom: 30px; } + .carousel-indicators { + bottom: 20px; } } + +.bg-faded { + background-color: #f7f7f9; } + +.bg-primary { + color: #fff !important; + background-color: #0275d8 !important; } + +a.bg-primary:focus, a.bg-primary:hover { + background-color: #025aa5 !important; } + +.bg-success { + color: #fff !important; + background-color: #5cb85c !important; } + +a.bg-success:focus, a.bg-success:hover { + background-color: #449d44 !important; } + +.bg-info { + color: #fff !important; + background-color: #5bc0de !important; } + +a.bg-info:focus, a.bg-info:hover { + background-color: #31b0d5 !important; } + +.bg-warning { + color: #fff !important; + background-color: #f0ad4e !important; } + +a.bg-warning:focus, a.bg-warning:hover { + background-color: #ec971f !important; } + +.bg-danger { + color: #fff !important; + background-color: #d9534f !important; } + +a.bg-danger:focus, a.bg-danger:hover { + background-color: #c9302c !important; } + +.bg-inverse { + color: #fff !important; + background-color: #373a3c !important; } + +a.bg-inverse:focus, a.bg-inverse:hover { + background-color: #1f2021 !important; } + +.clearfix::after { + content: ""; + display: table; + clear: both; } + +.d-block { + display: block !important; } + +.d-inline-block { + display: inline-block !important; } + +.d-inline { + display: inline !important; } + +.flex-xs-first { + -ms-flex-order: -1; + order: -1; } + +.flex-xs-last { + -ms-flex-order: 1; + order: 1; } + +.flex-xs-unordered { + -ms-flex-order: 0; + order: 0; } + +.flex-items-xs-top { + -ms-flex-align: start; + align-items: flex-start; } + +.flex-items-xs-middle { + -ms-flex-align: center; + align-items: center; } + +.flex-items-xs-bottom { + -ms-flex-align: end; + align-items: flex-end; } + +.flex-xs-top { + -ms-flex-item-align: start; + align-self: flex-start; } + +.flex-xs-middle { + -ms-flex-item-align: center; + align-self: center; } + +.flex-xs-bottom { + -ms-flex-item-align: end; + align-self: flex-end; } + +.flex-items-xs-left { + -ms-flex-pack: start; + justify-content: flex-start; } + +.flex-items-xs-center { + -ms-flex-pack: center; + justify-content: center; } + +.flex-items-xs-right { + -ms-flex-pack: end; + justify-content: flex-end; } + +.flex-items-xs-around { + -ms-flex-pack: distribute; + justify-content: space-around; } + +.flex-items-xs-between { + -ms-flex-pack: justify; + justify-content: space-between; } + +@media (min-width: 544px) { + .flex-sm-first { + -ms-flex-order: -1; + order: -1; } + .flex-sm-last { + -ms-flex-order: 1; + order: 1; } + .flex-sm-unordered { + -ms-flex-order: 0; + order: 0; } } + +@media (min-width: 544px) { + .flex-items-sm-top { + -ms-flex-align: start; + align-items: flex-start; } + .flex-items-sm-middle { + -ms-flex-align: center; + align-items: center; } + .flex-items-sm-bottom { + -ms-flex-align: end; + align-items: flex-end; } } + +@media (min-width: 544px) { + .flex-sm-top { + -ms-flex-item-align: start; + align-self: flex-start; } + .flex-sm-middle { + -ms-flex-item-align: center; + align-self: center; } + .flex-sm-bottom { + -ms-flex-item-align: end; + align-self: flex-end; } } + +@media (min-width: 544px) { + .flex-items-sm-left { + -ms-flex-pack: start; + justify-content: flex-start; } + .flex-items-sm-center { + -ms-flex-pack: center; + justify-content: center; } + .flex-items-sm-right { + -ms-flex-pack: end; + justify-content: flex-end; } + .flex-items-sm-around { + -ms-flex-pack: distribute; + justify-content: space-around; } + .flex-items-sm-between { + -ms-flex-pack: justify; + justify-content: space-between; } } + +@media (min-width: 768px) { + .flex-md-first { + -ms-flex-order: -1; + order: -1; } + .flex-md-last { + -ms-flex-order: 1; + order: 1; } + .flex-md-unordered { + -ms-flex-order: 0; + order: 0; } } + +@media (min-width: 768px) { + .flex-items-md-top { + -ms-flex-align: start; + align-items: flex-start; } + .flex-items-md-middle { + -ms-flex-align: center; + align-items: center; } + .flex-items-md-bottom { + -ms-flex-align: end; + align-items: flex-end; } } + +@media (min-width: 768px) { + .flex-md-top { + -ms-flex-item-align: start; + align-self: flex-start; } + .flex-md-middle { + -ms-flex-item-align: center; + align-self: center; } + .flex-md-bottom { + -ms-flex-item-align: end; + align-self: flex-end; } } + +@media (min-width: 768px) { + .flex-items-md-left { + -ms-flex-pack: start; + justify-content: flex-start; } + .flex-items-md-center { + -ms-flex-pack: center; + justify-content: center; } + .flex-items-md-right { + -ms-flex-pack: end; + justify-content: flex-end; } + .flex-items-md-around { + -ms-flex-pack: distribute; + justify-content: space-around; } + .flex-items-md-between { + -ms-flex-pack: justify; + justify-content: space-between; } } + +@media (min-width: 992px) { + .flex-lg-first { + -ms-flex-order: -1; + order: -1; } + .flex-lg-last { + -ms-flex-order: 1; + order: 1; } + .flex-lg-unordered { + -ms-flex-order: 0; + order: 0; } } + +@media (min-width: 992px) { + .flex-items-lg-top { + -ms-flex-align: start; + align-items: flex-start; } + .flex-items-lg-middle { + -ms-flex-align: center; + align-items: center; } + .flex-items-lg-bottom { + -ms-flex-align: end; + align-items: flex-end; } } + +@media (min-width: 992px) { + .flex-lg-top { + -ms-flex-item-align: start; + align-self: flex-start; } + .flex-lg-middle { + -ms-flex-item-align: center; + align-self: center; } + .flex-lg-bottom { + -ms-flex-item-align: end; + align-self: flex-end; } } + +@media (min-width: 992px) { + .flex-items-lg-left { + -ms-flex-pack: start; + justify-content: flex-start; } + .flex-items-lg-center { + -ms-flex-pack: center; + justify-content: center; } + .flex-items-lg-right { + -ms-flex-pack: end; + justify-content: flex-end; } + .flex-items-lg-around { + -ms-flex-pack: distribute; + justify-content: space-around; } + .flex-items-lg-between { + -ms-flex-pack: justify; + justify-content: space-between; } } + +@media (min-width: 1200px) { + .flex-xl-first { + -ms-flex-order: -1; + order: -1; } + .flex-xl-last { + -ms-flex-order: 1; + order: 1; } + .flex-xl-unordered { + -ms-flex-order: 0; + order: 0; } } + +@media (min-width: 1200px) { + .flex-items-xl-top { + -ms-flex-align: start; + align-items: flex-start; } + .flex-items-xl-middle { + -ms-flex-align: center; + align-items: center; } + .flex-items-xl-bottom { + -ms-flex-align: end; + align-items: flex-end; } } + +@media (min-width: 1200px) { + .flex-xl-top { + -ms-flex-item-align: start; + align-self: flex-start; } + .flex-xl-middle { + -ms-flex-item-align: center; + align-self: center; } + .flex-xl-bottom { + -ms-flex-item-align: end; + align-self: flex-end; } } + +@media (min-width: 1200px) { + .flex-items-xl-left { + -ms-flex-pack: start; + justify-content: flex-start; } + .flex-items-xl-center { + -ms-flex-pack: center; + justify-content: center; } + .flex-items-xl-right { + -ms-flex-pack: end; + justify-content: flex-end; } + .flex-items-xl-around { + -ms-flex-pack: distribute; + justify-content: space-around; } + .flex-items-xl-between { + -ms-flex-pack: justify; + justify-content: space-between; } } + +.pull-xs-left { + float: left !important; } + +.pull-xs-right { + float: right !important; } + +.pull-xs-none { + float: none !important; } + +@media (min-width: 544px) { + .pull-sm-left { + float: left !important; } + .pull-sm-right { + float: right !important; } + .pull-sm-none { + float: none !important; } } + +@media (min-width: 768px) { + .pull-md-left { + float: left !important; } + .pull-md-right { + float: right !important; } + .pull-md-none { + float: none !important; } } + +@media (min-width: 992px) { + .pull-lg-left { + float: left !important; } + .pull-lg-right { + float: right !important; } + .pull-lg-none { + float: none !important; } } + +@media (min-width: 1200px) { + .pull-xl-left { + float: left !important; } + .pull-xl-right { + float: right !important; } + .pull-xl-none { + float: none !important; } } + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; } + +.sr-only-focusable:active, .sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; } + +.w-100 { + width: 100% !important; } + +.m-x-auto { + margin-right: auto !important; + margin-left: auto !important; } + +.m-a-0 { + margin: 0 0 !important; } + +.m-t-0 { + margin-top: 0 !important; } + +.m-r-0 { + margin-right: 0 !important; } + +.m-b-0 { + margin-bottom: 0 !important; } + +.m-l-0 { + margin-left: 0 !important; } + +.m-x-0 { + margin-right: 0 !important; + margin-left: 0 !important; } + +.m-y-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; } + +.m-a-1 { + margin: 10px 10px !important; } + +.m-t-1 { + margin-top: 10px !important; } + +.m-r-1 { + margin-right: 10px !important; } + +.m-b-1 { + margin-bottom: 10px !important; } + +.m-l-1 { + margin-left: 10px !important; } + +.m-x-1 { + margin-right: 10px !important; + margin-left: 10px !important; } + +.m-y-1 { + margin-top: 10px !important; + margin-bottom: 10px !important; } + +.m-a-2 { + margin: 20px 20px !important; } + +.m-t-2 { + margin-top: 20px !important; } + +.m-r-2 { + margin-right: 20px !important; } + +.m-b-2 { + margin-bottom: 20px !important; } + +.m-l-2 { + margin-left: 20px !important; } + +.m-x-2 { + margin-right: 20px !important; + margin-left: 20px !important; } + +.m-y-2 { + margin-top: 20px !important; + margin-bottom: 20px !important; } + +.m-a-3 { + margin: 30px 30px !important; } + +.m-t-3 { + margin-top: 30px !important; } + +.m-r-3 { + margin-right: 30px !important; } + +.m-b-3 { + margin-bottom: 30px !important; } + +.m-l-3 { + margin-left: 30px !important; } + +.m-x-3 { + margin-right: 30px !important; + margin-left: 30px !important; } + +.m-y-3 { + margin-top: 30px !important; + margin-bottom: 30px !important; } + +.m-a-4 { + margin: 40px 40px !important; } + +.m-t-4 { + margin-top: 40px !important; } + +.m-r-4 { + margin-right: 40px !important; } + +.m-b-4 { + margin-bottom: 40px !important; } + +.m-l-4 { + margin-left: 40px !important; } + +.m-x-4 { + margin-right: 40px !important; + margin-left: 40px !important; } + +.m-y-4 { + margin-top: 40px !important; + margin-bottom: 40px !important; } + +.m-a-5 { + margin: 50px 50px !important; } + +.m-t-5 { + margin-top: 50px !important; } + +.m-r-5 { + margin-right: 50px !important; } + +.m-b-5 { + margin-bottom: 50px !important; } + +.m-l-5 { + margin-left: 50px !important; } + +.m-x-5 { + margin-right: 50px !important; + margin-left: 50px !important; } + +.m-y-5 { + margin-top: 50px !important; + margin-bottom: 50px !important; } + +.p-a-0 { + padding: 0 0 !important; } + +.p-t-0 { + padding-top: 0 !important; } + +.p-r-0 { + padding-right: 0 !important; } + +.p-b-0 { + padding-bottom: 0 !important; } + +.p-l-0 { + padding-left: 0 !important; } + +.p-x-0 { + padding-right: 0 !important; + padding-left: 0 !important; } + +.p-y-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; } + +.p-a-1 { + padding: 10px 10px !important; } + +.p-t-1 { + padding-top: 10px !important; } + +.p-r-1 { + padding-right: 10px !important; } + +.p-b-1 { + padding-bottom: 10px !important; } + +.p-l-1 { + padding-left: 10px !important; } + +.p-x-1 { + padding-right: 10px !important; + padding-left: 10px !important; } + +.p-y-1 { + padding-top: 10px !important; + padding-bottom: 10px !important; } + +.p-a-2 { + padding: 20px 20px !important; } + +.p-t-2 { + padding-top: 20px !important; } + +.p-r-2 { + padding-right: 20px !important; } + +.p-b-2 { + padding-bottom: 20px !important; } + +.p-l-2 { + padding-left: 20px !important; } + +.p-x-2 { + padding-right: 20px !important; + padding-left: 20px !important; } + +.p-y-2 { + padding-top: 20px !important; + padding-bottom: 20px !important; } + +.p-a-3 { + padding: 30px 30px !important; } + +.p-t-3 { + padding-top: 30px !important; } + +.p-r-3 { + padding-right: 30px !important; } + +.p-b-3 { + padding-bottom: 30px !important; } + +.p-l-3 { + padding-left: 30px !important; } + +.p-x-3 { + padding-right: 30px !important; + padding-left: 30px !important; } + +.p-y-3 { + padding-top: 30px !important; + padding-bottom: 30px !important; } + +.p-a-4 { + padding: 40px 40px !important; } + +.p-t-4 { + padding-top: 40px !important; } + +.p-r-4 { + padding-right: 40px !important; } + +.p-b-4 { + padding-bottom: 40px !important; } + +.p-l-4 { + padding-left: 40px !important; } + +.p-x-4 { + padding-right: 40px !important; + padding-left: 40px !important; } + +.p-y-4 { + padding-top: 40px !important; + padding-bottom: 40px !important; } + +.p-a-5 { + padding: 50px 50px !important; } + +.p-t-5 { + padding-top: 50px !important; } + +.p-r-5 { + padding-right: 50px !important; } + +.p-b-5 { + padding-bottom: 50px !important; } + +.p-l-5 { + padding-left: 50px !important; } + +.p-x-5 { + padding-right: 50px !important; + padding-left: 50px !important; } + +.p-y-5 { + padding-top: 50px !important; + padding-bottom: 50px !important; } + +.pos-f-t { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; } + +.text-justify { + text-align: justify !important; } + +.text-nowrap { + white-space: nowrap !important; } + +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } + +.text-xs-left { + text-align: left !important; } + +.text-xs-right { + text-align: right !important; } + +.text-xs-center { + text-align: center !important; } + +@media (min-width: 544px) { + .text-sm-left { + text-align: left !important; } + .text-sm-right { + text-align: right !important; } + .text-sm-center { + text-align: center !important; } } + +@media (min-width: 768px) { + .text-md-left { + text-align: left !important; } + .text-md-right { + text-align: right !important; } + .text-md-center { + text-align: center !important; } } + +@media (min-width: 992px) { + .text-lg-left { + text-align: left !important; } + .text-lg-right { + text-align: right !important; } + .text-lg-center { + text-align: center !important; } } + +@media (min-width: 1200px) { + .text-xl-left { + text-align: left !important; } + .text-xl-right { + text-align: right !important; } + .text-xl-center { + text-align: center !important; } } + +.text-lowercase { + text-transform: lowercase !important; } + +.text-uppercase { + text-transform: uppercase !important; } + +.text-capitalize { + text-transform: capitalize !important; } + +.font-weight-normal { + font-weight: normal; } + +.font-weight-bold { + font-weight: bold; } + +.font-italic { + font-style: italic; } + +.text-muted { + color: #818a91 !important; } + +a.text-muted:focus, a.text-muted:hover { + color: #687077 !important; } + +.text-primary { + color: #0275d8 !important; } + +a.text-primary:focus, a.text-primary:hover { + color: #025aa5 !important; } + +.text-success { + color: #5cb85c !important; } + +a.text-success:focus, a.text-success:hover { + color: #449d44 !important; } + +.text-info { + color: #5bc0de !important; } + +a.text-info:focus, a.text-info:hover { + color: #31b0d5 !important; } + +.text-warning { + color: #f0ad4e !important; } + +a.text-warning:focus, a.text-warning:hover { + color: #ec971f !important; } + +.text-danger { + color: #d9534f !important; } + +a.text-danger:focus, a.text-danger:hover { + color: #c9302c !important; } + +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; } + +.invisible { + visibility: hidden !important; } + +.hidden-xs-up { + display: none !important; } + +@media (max-width: 543px) { + .hidden-xs-down { + display: none !important; } } + +@media (min-width: 544px) { + .hidden-sm-up { + display: none !important; } } + +@media (max-width: 767px) { + .hidden-sm-down { + display: none !important; } } + +@media (min-width: 768px) { + .hidden-md-up { + display: none !important; } } + +@media (max-width: 991px) { + .hidden-md-down { + display: none !important; } } + +@media (min-width: 992px) { + .hidden-lg-up { + display: none !important; } } + +@media (max-width: 1199px) { + .hidden-lg-down { + display: none !important; } } + +@media (min-width: 1200px) { + .hidden-xl-up { + display: none !important; } } + +.hidden-xl-down { + display: none !important; } + +.visible-print-block { + display: none !important; } + @media print { + .visible-print-block { + display: block !important; } } + +.visible-print-inline { + display: none !important; } + @media print { + .visible-print-inline { + display: inline !important; } } + +.visible-print-inline-block { + display: none !important; } + @media print { + .visible-print-inline-block { + display: inline-block !important; } } + +@media print { + .hidden-print { + display: none !important; } } + +.col-center { + margin: auto; } + +.b-a-1px-black-0px { + border: 1px solid #000 !important; + border-radius: 0px; } + +.b-t-1px-black-0px { + border-top: 1px solid #000 !important; + border-radius: 0px; } + +.b-r-1px-black-0px { + border-right: 1px solid #000 !important; + border-radius: 0px; } + +.b-b-1px-black-0px { + border-bottom: 1px solid #000 !important; + border-radius: 0px; } + +.b-l-1px-black-0px { + border-left: 1px solid #000 !important; + border-radius: 0px; } + +.b-x-1px-black-0px { + border-right: 1px solid #000 !important; + border-left: 1px solid #000 !important; + border-radius: 0px; } + +.b-y-1px-black-0px { + border-top: 1px solid #000 !important; + border-bottom: 1px solid #000 !important; + border-radius: 0px; } + +.b-a-1px-white-0px { + border: 1px solid #fefefe !important; + border-radius: 0px; } + +.b-t-1px-white-0px { + border-top: 1px solid #fefefe !important; + border-radius: 0px; } + +.b-r-1px-white-0px { + border-right: 1px solid #fefefe !important; + border-radius: 0px; } + +.b-b-1px-white-0px { + border-bottom: 1px solid #fefefe !important; + border-radius: 0px; } + +.b-l-1px-white-0px { + border-left: 1px solid #fefefe !important; + border-radius: 0px; } + +.b-x-1px-white-0px { + border-right: 1px solid #fefefe !important; + border-left: 1px solid #fefefe !important; + border-radius: 0px; } + +.b-y-1px-white-0px { + border-top: 1px solid #fefefe !important; + border-bottom: 1px solid #fefefe !important; + border-radius: 0px; } + +.b-a-1px-light-black-0px { + border: 1px solid #505050 !important; + border-radius: 0px; } + +.b-t-1px-light-black-0px { + border-top: 1px solid #505050 !important; + border-radius: 0px; } + +.b-r-1px-light-black-0px { + border-right: 1px solid #505050 !important; + border-radius: 0px; } + +.b-b-1px-light-black-0px { + border-bottom: 1px solid #505050 !important; + border-radius: 0px; } + +.b-l-1px-light-black-0px { + border-left: 1px solid #505050 !important; + border-radius: 0px; } + +.b-x-1px-light-black-0px { + border-right: 1px solid #505050 !important; + border-left: 1px solid #505050 !important; + border-radius: 0px; } + +.b-y-1px-light-black-0px { + border-top: 1px solid #505050 !important; + border-bottom: 1px solid #505050 !important; + border-radius: 0px; } + +.b-a-1px-dark-white-0px { + border: 1px solid #EAE8E0 !important; + border-radius: 0px; } + +.b-t-1px-dark-white-0px { + border-top: 1px solid #EAE8E0 !important; + border-radius: 0px; } + +.b-r-1px-dark-white-0px { + border-right: 1px solid #EAE8E0 !important; + border-radius: 0px; } + +.b-b-1px-dark-white-0px { + border-bottom: 1px solid #EAE8E0 !important; + border-radius: 0px; } + +.b-l-1px-dark-white-0px { + border-left: 1px solid #EAE8E0 !important; + border-radius: 0px; } + +.b-x-1px-dark-white-0px { + border-right: 1px solid #EAE8E0 !important; + border-left: 1px solid #EAE8E0 !important; + border-radius: 0px; } + +.b-y-1px-dark-white-0px { + border-top: 1px solid #EAE8E0 !important; + border-bottom: 1px solid #EAE8E0 !important; + border-radius: 0px; } + +.b-a-1px-light-white-0px { + border: 1px solid #EEE7F7 !important; + border-radius: 0px; } + +.b-t-1px-light-white-0px { + border-top: 1px solid #EEE7F7 !important; + border-radius: 0px; } + +.b-r-1px-light-white-0px { + border-right: 1px solid #EEE7F7 !important; + border-radius: 0px; } + +.b-b-1px-light-white-0px { + border-bottom: 1px solid #EEE7F7 !important; + border-radius: 0px; } + +.b-l-1px-light-white-0px { + border-left: 1px solid #EEE7F7 !important; + border-radius: 0px; } + +.b-x-1px-light-white-0px { + border-right: 1px solid #EEE7F7 !important; + border-left: 1px solid #EEE7F7 !important; + border-radius: 0px; } + +.b-y-1px-light-white-0px { + border-top: 1px solid #EEE7F7 !important; + border-bottom: 1px solid #EEE7F7 !important; + border-radius: 0px; } + +.b-a-1px-green-blue-0px { + border: 1px solid #60daaa !important; + border-radius: 0px; } + +.b-t-1px-green-blue-0px { + border-top: 1px solid #60daaa !important; + border-radius: 0px; } + +.b-r-1px-green-blue-0px { + border-right: 1px solid #60daaa !important; + border-radius: 0px; } + +.b-b-1px-green-blue-0px { + border-bottom: 1px solid #60daaa !important; + border-radius: 0px; } + +.b-l-1px-green-blue-0px { + border-left: 1px solid #60daaa !important; + border-radius: 0px; } + +.b-x-1px-green-blue-0px { + border-right: 1px solid #60daaa !important; + border-left: 1px solid #60daaa !important; + border-radius: 0px; } + +.b-y-1px-green-blue-0px { + border-top: 1px solid #60daaa !important; + border-bottom: 1px solid #60daaa !important; + border-radius: 0px; } + +.b-a-1px-green-0px { + border: 1px solid #00E676 !important; + border-radius: 0px; } + +.b-t-1px-green-0px { + border-top: 1px solid #00E676 !important; + border-radius: 0px; } + +.b-r-1px-green-0px { + border-right: 1px solid #00E676 !important; + border-radius: 0px; } + +.b-b-1px-green-0px { + border-bottom: 1px solid #00E676 !important; + border-radius: 0px; } + +.b-l-1px-green-0px { + border-left: 1px solid #00E676 !important; + border-radius: 0px; } + +.b-x-1px-green-0px { + border-right: 1px solid #00E676 !important; + border-left: 1px solid #00E676 !important; + border-radius: 0px; } + +.b-y-1px-green-0px { + border-top: 1px solid #00E676 !important; + border-bottom: 1px solid #00E676 !important; + border-radius: 0px; } + +.b-a-1px-old-green-0px { + border: 1px solid #ACD07A !important; + border-radius: 0px; } + +.b-t-1px-old-green-0px { + border-top: 1px solid #ACD07A !important; + border-radius: 0px; } + +.b-r-1px-old-green-0px { + border-right: 1px solid #ACD07A !important; + border-radius: 0px; } + +.b-b-1px-old-green-0px { + border-bottom: 1px solid #ACD07A !important; + border-radius: 0px; } + +.b-l-1px-old-green-0px { + border-left: 1px solid #ACD07A !important; + border-radius: 0px; } + +.b-x-1px-old-green-0px { + border-right: 1px solid #ACD07A !important; + border-left: 1px solid #ACD07A !important; + border-radius: 0px; } + +.b-y-1px-old-green-0px { + border-top: 1px solid #ACD07A !important; + border-bottom: 1px solid #ACD07A !important; + border-radius: 0px; } + +.b-a-1px-light-deep-green-0px { + border: 1px solid #1abb9c !important; + border-radius: 0px; } + +.b-t-1px-light-deep-green-0px { + border-top: 1px solid #1abb9c !important; + border-radius: 0px; } + +.b-r-1px-light-deep-green-0px { + border-right: 1px solid #1abb9c !important; + border-radius: 0px; } + +.b-b-1px-light-deep-green-0px { + border-bottom: 1px solid #1abb9c !important; + border-radius: 0px; } + +.b-l-1px-light-deep-green-0px { + border-left: 1px solid #1abb9c !important; + border-radius: 0px; } + +.b-x-1px-light-deep-green-0px { + border-right: 1px solid #1abb9c !important; + border-left: 1px solid #1abb9c !important; + border-radius: 0px; } + +.b-y-1px-light-deep-green-0px { + border-top: 1px solid #1abb9c !important; + border-bottom: 1px solid #1abb9c !important; + border-radius: 0px; } + +.b-a-1px-deep-green-0px { + border: 1px solid #169f84 !important; + border-radius: 0px; } + +.b-t-1px-deep-green-0px { + border-top: 1px solid #169f84 !important; + border-radius: 0px; } + +.b-r-1px-deep-green-0px { + border-right: 1px solid #169f84 !important; + border-radius: 0px; } + +.b-b-1px-deep-green-0px { + border-bottom: 1px solid #169f84 !important; + border-radius: 0px; } + +.b-l-1px-deep-green-0px { + border-left: 1px solid #169f84 !important; + border-radius: 0px; } + +.b-x-1px-deep-green-0px { + border-right: 1px solid #169f84 !important; + border-left: 1px solid #169f84 !important; + border-radius: 0px; } + +.b-y-1px-deep-green-0px { + border-top: 1px solid #169f84 !important; + border-bottom: 1px solid #169f84 !important; + border-radius: 0px; } + +.b-a-1px-yellow-0px { + border: 1px solid #fbca67 !important; + border-radius: 0px; } + +.b-t-1px-yellow-0px { + border-top: 1px solid #fbca67 !important; + border-radius: 0px; } + +.b-r-1px-yellow-0px { + border-right: 1px solid #fbca67 !important; + border-radius: 0px; } + +.b-b-1px-yellow-0px { + border-bottom: 1px solid #fbca67 !important; + border-radius: 0px; } + +.b-l-1px-yellow-0px { + border-left: 1px solid #fbca67 !important; + border-radius: 0px; } + +.b-x-1px-yellow-0px { + border-right: 1px solid #fbca67 !important; + border-left: 1px solid #fbca67 !important; + border-radius: 0px; } + +.b-y-1px-yellow-0px { + border-top: 1px solid #fbca67 !important; + border-bottom: 1px solid #fbca67 !important; + border-radius: 0px; } + +.b-a-1px-orange-0px { + border: 1px solid #ff8a30 !important; + border-radius: 0px; } + +.b-t-1px-orange-0px { + border-top: 1px solid #ff8a30 !important; + border-radius: 0px; } + +.b-r-1px-orange-0px { + border-right: 1px solid #ff8a30 !important; + border-radius: 0px; } + +.b-b-1px-orange-0px { + border-bottom: 1px solid #ff8a30 !important; + border-radius: 0px; } + +.b-l-1px-orange-0px { + border-left: 1px solid #ff8a30 !important; + border-radius: 0px; } + +.b-x-1px-orange-0px { + border-right: 1px solid #ff8a30 !important; + border-left: 1px solid #ff8a30 !important; + border-radius: 0px; } + +.b-y-1px-orange-0px { + border-top: 1px solid #ff8a30 !important; + border-bottom: 1px solid #ff8a30 !important; + border-radius: 0px; } + +.b-a-1px-red-0px { + border: 1px solid #f45e61 !important; + border-radius: 0px; } + +.b-t-1px-red-0px { + border-top: 1px solid #f45e61 !important; + border-radius: 0px; } + +.b-r-1px-red-0px { + border-right: 1px solid #f45e61 !important; + border-radius: 0px; } + +.b-b-1px-red-0px { + border-bottom: 1px solid #f45e61 !important; + border-radius: 0px; } + +.b-l-1px-red-0px { + border-left: 1px solid #f45e61 !important; + border-radius: 0px; } + +.b-x-1px-red-0px { + border-right: 1px solid #f45e61 !important; + border-left: 1px solid #f45e61 !important; + border-radius: 0px; } + +.b-y-1px-red-0px { + border-top: 1px solid #f45e61 !important; + border-bottom: 1px solid #f45e61 !important; + border-radius: 0px; } + +.b-a-1px-red-heart-0px { + border: 1px solid #f10829 !important; + border-radius: 0px; } + +.b-t-1px-red-heart-0px { + border-top: 1px solid #f10829 !important; + border-radius: 0px; } + +.b-r-1px-red-heart-0px { + border-right: 1px solid #f10829 !important; + border-radius: 0px; } + +.b-b-1px-red-heart-0px { + border-bottom: 1px solid #f10829 !important; + border-radius: 0px; } + +.b-l-1px-red-heart-0px { + border-left: 1px solid #f10829 !important; + border-radius: 0px; } + +.b-x-1px-red-heart-0px { + border-right: 1px solid #f10829 !important; + border-left: 1px solid #f10829 !important; + border-radius: 0px; } + +.b-y-1px-red-heart-0px { + border-top: 1px solid #f10829 !important; + border-bottom: 1px solid #f10829 !important; + border-radius: 0px; } + +.b-a-1px-cyan-0px { + border: 1px solid #0eb7da !important; + border-radius: 0px; } + +.b-t-1px-cyan-0px { + border-top: 1px solid #0eb7da !important; + border-radius: 0px; } + +.b-r-1px-cyan-0px { + border-right: 1px solid #0eb7da !important; + border-radius: 0px; } + +.b-b-1px-cyan-0px { + border-bottom: 1px solid #0eb7da !important; + border-radius: 0px; } + +.b-l-1px-cyan-0px { + border-left: 1px solid #0eb7da !important; + border-radius: 0px; } + +.b-x-1px-cyan-0px { + border-right: 1px solid #0eb7da !important; + border-left: 1px solid #0eb7da !important; + border-radius: 0px; } + +.b-y-1px-cyan-0px { + border-top: 1px solid #0eb7da !important; + border-bottom: 1px solid #0eb7da !important; + border-radius: 0px; } + +.b-a-1px-purple-0px { + border: 1px solid #6477b9 !important; + border-radius: 0px; } + +.b-t-1px-purple-0px { + border-top: 1px solid #6477b9 !important; + border-radius: 0px; } + +.b-r-1px-purple-0px { + border-right: 1px solid #6477b9 !important; + border-radius: 0px; } + +.b-b-1px-purple-0px { + border-bottom: 1px solid #6477b9 !important; + border-radius: 0px; } + +.b-l-1px-purple-0px { + border-left: 1px solid #6477b9 !important; + border-radius: 0px; } + +.b-x-1px-purple-0px { + border-right: 1px solid #6477b9 !important; + border-left: 1px solid #6477b9 !important; + border-radius: 0px; } + +.b-y-1px-purple-0px { + border-top: 1px solid #6477b9 !important; + border-bottom: 1px solid #6477b9 !important; + border-radius: 0px; } + +.b-a-1px-light-blue-0px { + border: 1px solid #2fa0d0 !important; + border-radius: 0px; } + +.b-t-1px-light-blue-0px { + border-top: 1px solid #2fa0d0 !important; + border-radius: 0px; } + +.b-r-1px-light-blue-0px { + border-right: 1px solid #2fa0d0 !important; + border-radius: 0px; } + +.b-b-1px-light-blue-0px { + border-bottom: 1px solid #2fa0d0 !important; + border-radius: 0px; } + +.b-l-1px-light-blue-0px { + border-left: 1px solid #2fa0d0 !important; + border-radius: 0px; } + +.b-x-1px-light-blue-0px { + border-right: 1px solid #2fa0d0 !important; + border-left: 1px solid #2fa0d0 !important; + border-radius: 0px; } + +.b-y-1px-light-blue-0px { + border-top: 1px solid #2fa0d0 !important; + border-bottom: 1px solid #2fa0d0 !important; + border-radius: 0px; } + +.b-a-1px-deep-blue-0px { + border: 1px solid #2f4bd0 !important; + border-radius: 0px; } + +.b-t-1px-deep-blue-0px { + border-top: 1px solid #2f4bd0 !important; + border-radius: 0px; } + +.b-r-1px-deep-blue-0px { + border-right: 1px solid #2f4bd0 !important; + border-radius: 0px; } + +.b-b-1px-deep-blue-0px { + border-bottom: 1px solid #2f4bd0 !important; + border-radius: 0px; } + +.b-l-1px-deep-blue-0px { + border-left: 1px solid #2f4bd0 !important; + border-radius: 0px; } + +.b-x-1px-deep-blue-0px { + border-right: 1px solid #2f4bd0 !important; + border-left: 1px solid #2f4bd0 !important; + border-radius: 0px; } + +.b-y-1px-deep-blue-0px { + border-top: 1px solid #2f4bd0 !important; + border-bottom: 1px solid #2f4bd0 !important; + border-radius: 0px; } + +.b-a-1px-dark-blue-0px { + border: 1px solid #141E27 !important; + border-radius: 0px; } + +.b-t-1px-dark-blue-0px { + border-top: 1px solid #141E27 !important; + border-radius: 0px; } + +.b-r-1px-dark-blue-0px { + border-right: 1px solid #141E27 !important; + border-radius: 0px; } + +.b-b-1px-dark-blue-0px { + border-bottom: 1px solid #141E27 !important; + border-radius: 0px; } + +.b-l-1px-dark-blue-0px { + border-left: 1px solid #141E27 !important; + border-radius: 0px; } + +.b-x-1px-dark-blue-0px { + border-right: 1px solid #141E27 !important; + border-left: 1px solid #141E27 !important; + border-radius: 0px; } + +.b-y-1px-dark-blue-0px { + border-top: 1px solid #141E27 !important; + border-bottom: 1px solid #141E27 !important; + border-radius: 0px; } + +.b-a-1px-dark-brown-0px { + border: 1px solid #212220 !important; + border-radius: 0px; } + +.b-t-1px-dark-brown-0px { + border-top: 1px solid #212220 !important; + border-radius: 0px; } + +.b-r-1px-dark-brown-0px { + border-right: 1px solid #212220 !important; + border-radius: 0px; } + +.b-b-1px-dark-brown-0px { + border-bottom: 1px solid #212220 !important; + border-radius: 0px; } + +.b-l-1px-dark-brown-0px { + border-left: 1px solid #212220 !important; + border-radius: 0px; } + +.b-x-1px-dark-brown-0px { + border-right: 1px solid #212220 !important; + border-left: 1px solid #212220 !important; + border-radius: 0px; } + +.b-y-1px-dark-brown-0px { + border-top: 1px solid #212220 !important; + border-bottom: 1px solid #212220 !important; + border-radius: 0px; } + +.b-a-1px-Development-0px { + border: 1px solid #0eb7da !important; + border-radius: 0px; } + +.b-t-1px-Development-0px { + border-top: 1px solid #0eb7da !important; + border-radius: 0px; } + +.b-r-1px-Development-0px { + border-right: 1px solid #0eb7da !important; + border-radius: 0px; } + +.b-b-1px-Development-0px { + border-bottom: 1px solid #0eb7da !important; + border-radius: 0px; } + +.b-l-1px-Development-0px { + border-left: 1px solid #0eb7da !important; + border-radius: 0px; } + +.b-x-1px-Development-0px { + border-right: 1px solid #0eb7da !important; + border-left: 1px solid #0eb7da !important; + border-radius: 0px; } + +.b-y-1px-Development-0px { + border-top: 1px solid #0eb7da !important; + border-bottom: 1px solid #0eb7da !important; + border-radius: 0px; } + +.b-a-1px-Game-0px { + border: 1px solid #00E676 !important; + border-radius: 0px; } + +.b-t-1px-Game-0px { + border-top: 1px solid #00E676 !important; + border-radius: 0px; } + +.b-r-1px-Game-0px { + border-right: 1px solid #00E676 !important; + border-radius: 0px; } + +.b-b-1px-Game-0px { + border-bottom: 1px solid #00E676 !important; + border-radius: 0px; } + +.b-l-1px-Game-0px { + border-left: 1px solid #00E676 !important; + border-radius: 0px; } + +.b-x-1px-Game-0px { + border-right: 1px solid #00E676 !important; + border-left: 1px solid #00E676 !important; + border-radius: 0px; } + +.b-y-1px-Game-0px { + border-top: 1px solid #00E676 !important; + border-bottom: 1px solid #00E676 !important; + border-radius: 0px; } + +.b-a-1px-Education-0px { + border: 1px solid #ACD07A !important; + border-radius: 0px; } + +.b-t-1px-Education-0px { + border-top: 1px solid #ACD07A !important; + border-radius: 0px; } + +.b-r-1px-Education-0px { + border-right: 1px solid #ACD07A !important; + border-radius: 0px; } + +.b-b-1px-Education-0px { + border-bottom: 1px solid #ACD07A !important; + border-radius: 0px; } + +.b-l-1px-Education-0px { + border-left: 1px solid #ACD07A !important; + border-radius: 0px; } + +.b-x-1px-Education-0px { + border-right: 1px solid #ACD07A !important; + border-left: 1px solid #ACD07A !important; + border-radius: 0px; } + +.b-y-1px-Education-0px { + border-top: 1px solid #ACD07A !important; + border-bottom: 1px solid #ACD07A !important; + border-radius: 0px; } + +.b-a-1px-Social-0px { + border: 1px solid #6477b9 !important; + border-radius: 0px; } + +.b-t-1px-Social-0px { + border-top: 1px solid #6477b9 !important; + border-radius: 0px; } + +.b-r-1px-Social-0px { + border-right: 1px solid #6477b9 !important; + border-radius: 0px; } + +.b-b-1px-Social-0px { + border-bottom: 1px solid #6477b9 !important; + border-radius: 0px; } + +.b-l-1px-Social-0px { + border-left: 1px solid #6477b9 !important; + border-radius: 0px; } + +.b-x-1px-Social-0px { + border-right: 1px solid #6477b9 !important; + border-left: 1px solid #6477b9 !important; + border-radius: 0px; } + +.b-y-1px-Social-0px { + border-top: 1px solid #6477b9 !important; + border-bottom: 1px solid #6477b9 !important; + border-radius: 0px; } + +.b-a-1px-Art-0px { + border: 1px solid #fbca67 !important; + border-radius: 0px; } + +.b-t-1px-Art-0px { + border-top: 1px solid #fbca67 !important; + border-radius: 0px; } + +.b-r-1px-Art-0px { + border-right: 1px solid #fbca67 !important; + border-radius: 0px; } + +.b-b-1px-Art-0px { + border-bottom: 1px solid #fbca67 !important; + border-radius: 0px; } + +.b-l-1px-Art-0px { + border-left: 1px solid #fbca67 !important; + border-radius: 0px; } + +.b-x-1px-Art-0px { + border-right: 1px solid #fbca67 !important; + border-left: 1px solid #fbca67 !important; + border-radius: 0px; } + +.b-y-1px-Art-0px { + border-top: 1px solid #fbca67 !important; + border-bottom: 1px solid #fbca67 !important; + border-radius: 0px; } + +.b-a-1px-Sports-0px { + border: 1px solid #2f4bd0 !important; + border-radius: 0px; } + +.b-t-1px-Sports-0px { + border-top: 1px solid #2f4bd0 !important; + border-radius: 0px; } + +.b-r-1px-Sports-0px { + border-right: 1px solid #2f4bd0 !important; + border-radius: 0px; } + +.b-b-1px-Sports-0px { + border-bottom: 1px solid #2f4bd0 !important; + border-radius: 0px; } + +.b-l-1px-Sports-0px { + border-left: 1px solid #2f4bd0 !important; + border-radius: 0px; } + +.b-x-1px-Sports-0px { + border-right: 1px solid #2f4bd0 !important; + border-left: 1px solid #2f4bd0 !important; + border-radius: 0px; } + +.b-y-1px-Sports-0px { + border-top: 1px solid #2f4bd0 !important; + border-bottom: 1px solid #2f4bd0 !important; + border-radius: 0px; } + +.b-a-1px-Health-0px { + border: 1px solid #2fa0d0 !important; + border-radius: 0px; } + +.b-t-1px-Health-0px { + border-top: 1px solid #2fa0d0 !important; + border-radius: 0px; } + +.b-r-1px-Health-0px { + border-right: 1px solid #2fa0d0 !important; + border-radius: 0px; } + +.b-b-1px-Health-0px { + border-bottom: 1px solid #2fa0d0 !important; + border-radius: 0px; } + +.b-l-1px-Health-0px { + border-left: 1px solid #2fa0d0 !important; + border-radius: 0px; } + +.b-x-1px-Health-0px { + border-right: 1px solid #2fa0d0 !important; + border-left: 1px solid #2fa0d0 !important; + border-radius: 0px; } + +.b-y-1px-Health-0px { + border-top: 1px solid #2fa0d0 !important; + border-bottom: 1px solid #2fa0d0 !important; + border-radius: 0px; } + +.b-a-1px-News-0px { + border: 1px solid #ff8a30 !important; + border-radius: 0px; } + +.b-t-1px-News-0px { + border-top: 1px solid #ff8a30 !important; + border-radius: 0px; } + +.b-r-1px-News-0px { + border-right: 1px solid #ff8a30 !important; + border-radius: 0px; } + +.b-b-1px-News-0px { + border-bottom: 1px solid #ff8a30 !important; + border-radius: 0px; } + +.b-l-1px-News-0px { + border-left: 1px solid #ff8a30 !important; + border-radius: 0px; } + +.b-x-1px-News-0px { + border-right: 1px solid #ff8a30 !important; + border-left: 1px solid #ff8a30 !important; + border-radius: 0px; } + +.b-y-1px-News-0px { + border-top: 1px solid #ff8a30 !important; + border-bottom: 1px solid #ff8a30 !important; + border-radius: 0px; } + +.b-a-1px-google-0px { + border: 1px solid #DD4B38 !important; + border-radius: 0px; } + +.b-t-1px-google-0px { + border-top: 1px solid #DD4B38 !important; + border-radius: 0px; } + +.b-r-1px-google-0px { + border-right: 1px solid #DD4B38 !important; + border-radius: 0px; } + +.b-b-1px-google-0px { + border-bottom: 1px solid #DD4B38 !important; + border-radius: 0px; } + +.b-l-1px-google-0px { + border-left: 1px solid #DD4B38 !important; + border-radius: 0px; } + +.b-x-1px-google-0px { + border-right: 1px solid #DD4B38 !important; + border-left: 1px solid #DD4B38 !important; + border-radius: 0px; } + +.b-y-1px-google-0px { + border-top: 1px solid #DD4B38 !important; + border-bottom: 1px solid #DD4B38 !important; + border-radius: 0px; } + +.b-a-1px-facebook-0px { + border: 1px solid #3B5998 !important; + border-radius: 0px; } + +.b-t-1px-facebook-0px { + border-top: 1px solid #3B5998 !important; + border-radius: 0px; } + +.b-r-1px-facebook-0px { + border-right: 1px solid #3B5998 !important; + border-radius: 0px; } + +.b-b-1px-facebook-0px { + border-bottom: 1px solid #3B5998 !important; + border-radius: 0px; } + +.b-l-1px-facebook-0px { + border-left: 1px solid #3B5998 !important; + border-radius: 0px; } + +.b-x-1px-facebook-0px { + border-right: 1px solid #3B5998 !important; + border-left: 1px solid #3B5998 !important; + border-radius: 0px; } + +.b-y-1px-facebook-0px { + border-top: 1px solid #3B5998 !important; + border-bottom: 1px solid #3B5998 !important; + border-radius: 0px; } + +.b-a-1px-twitter-0px { + border: 1px solid #55ACEE !important; + border-radius: 0px; } + +.b-t-1px-twitter-0px { + border-top: 1px solid #55ACEE !important; + border-radius: 0px; } + +.b-r-1px-twitter-0px { + border-right: 1px solid #55ACEE !important; + border-radius: 0px; } + +.b-b-1px-twitter-0px { + border-bottom: 1px solid #55ACEE !important; + border-radius: 0px; } + +.b-l-1px-twitter-0px { + border-left: 1px solid #55ACEE !important; + border-radius: 0px; } + +.b-x-1px-twitter-0px { + border-right: 1px solid #55ACEE !important; + border-left: 1px solid #55ACEE !important; + border-radius: 0px; } + +.b-y-1px-twitter-0px { + border-top: 1px solid #55ACEE !important; + border-bottom: 1px solid #55ACEE !important; + border-radius: 0px; } + +.b-a-2px-black-0px { + border: 2px solid #000 !important; + border-radius: 0px; } + +.b-t-2px-black-0px { + border-top: 2px solid #000 !important; + border-radius: 0px; } + +.b-r-2px-black-0px { + border-right: 2px solid #000 !important; + border-radius: 0px; } + +.b-b-2px-black-0px { + border-bottom: 2px solid #000 !important; + border-radius: 0px; } + +.b-l-2px-black-0px { + border-left: 2px solid #000 !important; + border-radius: 0px; } + +.b-x-2px-black-0px { + border-right: 2px solid #000 !important; + border-left: 2px solid #000 !important; + border-radius: 0px; } + +.b-y-2px-black-0px { + border-top: 2px solid #000 !important; + border-bottom: 2px solid #000 !important; + border-radius: 0px; } + +.b-a-2px-white-0px { + border: 2px solid #fefefe !important; + border-radius: 0px; } + +.b-t-2px-white-0px { + border-top: 2px solid #fefefe !important; + border-radius: 0px; } + +.b-r-2px-white-0px { + border-right: 2px solid #fefefe !important; + border-radius: 0px; } + +.b-b-2px-white-0px { + border-bottom: 2px solid #fefefe !important; + border-radius: 0px; } + +.b-l-2px-white-0px { + border-left: 2px solid #fefefe !important; + border-radius: 0px; } + +.b-x-2px-white-0px { + border-right: 2px solid #fefefe !important; + border-left: 2px solid #fefefe !important; + border-radius: 0px; } + +.b-y-2px-white-0px { + border-top: 2px solid #fefefe !important; + border-bottom: 2px solid #fefefe !important; + border-radius: 0px; } + +.b-a-2px-light-black-0px { + border: 2px solid #505050 !important; + border-radius: 0px; } + +.b-t-2px-light-black-0px { + border-top: 2px solid #505050 !important; + border-radius: 0px; } + +.b-r-2px-light-black-0px { + border-right: 2px solid #505050 !important; + border-radius: 0px; } + +.b-b-2px-light-black-0px { + border-bottom: 2px solid #505050 !important; + border-radius: 0px; } + +.b-l-2px-light-black-0px { + border-left: 2px solid #505050 !important; + border-radius: 0px; } + +.b-x-2px-light-black-0px { + border-right: 2px solid #505050 !important; + border-left: 2px solid #505050 !important; + border-radius: 0px; } + +.b-y-2px-light-black-0px { + border-top: 2px solid #505050 !important; + border-bottom: 2px solid #505050 !important; + border-radius: 0px; } + +.b-a-2px-dark-white-0px { + border: 2px solid #EAE8E0 !important; + border-radius: 0px; } + +.b-t-2px-dark-white-0px { + border-top: 2px solid #EAE8E0 !important; + border-radius: 0px; } + +.b-r-2px-dark-white-0px { + border-right: 2px solid #EAE8E0 !important; + border-radius: 0px; } + +.b-b-2px-dark-white-0px { + border-bottom: 2px solid #EAE8E0 !important; + border-radius: 0px; } + +.b-l-2px-dark-white-0px { + border-left: 2px solid #EAE8E0 !important; + border-radius: 0px; } + +.b-x-2px-dark-white-0px { + border-right: 2px solid #EAE8E0 !important; + border-left: 2px solid #EAE8E0 !important; + border-radius: 0px; } + +.b-y-2px-dark-white-0px { + border-top: 2px solid #EAE8E0 !important; + border-bottom: 2px solid #EAE8E0 !important; + border-radius: 0px; } + +.b-a-2px-light-white-0px { + border: 2px solid #EEE7F7 !important; + border-radius: 0px; } + +.b-t-2px-light-white-0px { + border-top: 2px solid #EEE7F7 !important; + border-radius: 0px; } + +.b-r-2px-light-white-0px { + border-right: 2px solid #EEE7F7 !important; + border-radius: 0px; } + +.b-b-2px-light-white-0px { + border-bottom: 2px solid #EEE7F7 !important; + border-radius: 0px; } + +.b-l-2px-light-white-0px { + border-left: 2px solid #EEE7F7 !important; + border-radius: 0px; } + +.b-x-2px-light-white-0px { + border-right: 2px solid #EEE7F7 !important; + border-left: 2px solid #EEE7F7 !important; + border-radius: 0px; } + +.b-y-2px-light-white-0px { + border-top: 2px solid #EEE7F7 !important; + border-bottom: 2px solid #EEE7F7 !important; + border-radius: 0px; } + +.b-a-2px-green-blue-0px { + border: 2px solid #60daaa !important; + border-radius: 0px; } + +.b-t-2px-green-blue-0px { + border-top: 2px solid #60daaa !important; + border-radius: 0px; } + +.b-r-2px-green-blue-0px { + border-right: 2px solid #60daaa !important; + border-radius: 0px; } + +.b-b-2px-green-blue-0px { + border-bottom: 2px solid #60daaa !important; + border-radius: 0px; } + +.b-l-2px-green-blue-0px { + border-left: 2px solid #60daaa !important; + border-radius: 0px; } + +.b-x-2px-green-blue-0px { + border-right: 2px solid #60daaa !important; + border-left: 2px solid #60daaa !important; + border-radius: 0px; } + +.b-y-2px-green-blue-0px { + border-top: 2px solid #60daaa !important; + border-bottom: 2px solid #60daaa !important; + border-radius: 0px; } + +.b-a-2px-green-0px { + border: 2px solid #00E676 !important; + border-radius: 0px; } + +.b-t-2px-green-0px { + border-top: 2px solid #00E676 !important; + border-radius: 0px; } + +.b-r-2px-green-0px { + border-right: 2px solid #00E676 !important; + border-radius: 0px; } + +.b-b-2px-green-0px { + border-bottom: 2px solid #00E676 !important; + border-radius: 0px; } + +.b-l-2px-green-0px { + border-left: 2px solid #00E676 !important; + border-radius: 0px; } + +.b-x-2px-green-0px { + border-right: 2px solid #00E676 !important; + border-left: 2px solid #00E676 !important; + border-radius: 0px; } + +.b-y-2px-green-0px { + border-top: 2px solid #00E676 !important; + border-bottom: 2px solid #00E676 !important; + border-radius: 0px; } + +.b-a-2px-old-green-0px { + border: 2px solid #ACD07A !important; + border-radius: 0px; } + +.b-t-2px-old-green-0px { + border-top: 2px solid #ACD07A !important; + border-radius: 0px; } + +.b-r-2px-old-green-0px { + border-right: 2px solid #ACD07A !important; + border-radius: 0px; } + +.b-b-2px-old-green-0px { + border-bottom: 2px solid #ACD07A !important; + border-radius: 0px; } + +.b-l-2px-old-green-0px { + border-left: 2px solid #ACD07A !important; + border-radius: 0px; } + +.b-x-2px-old-green-0px { + border-right: 2px solid #ACD07A !important; + border-left: 2px solid #ACD07A !important; + border-radius: 0px; } + +.b-y-2px-old-green-0px { + border-top: 2px solid #ACD07A !important; + border-bottom: 2px solid #ACD07A !important; + border-radius: 0px; } + +.b-a-2px-light-deep-green-0px { + border: 2px solid #1abb9c !important; + border-radius: 0px; } + +.b-t-2px-light-deep-green-0px { + border-top: 2px solid #1abb9c !important; + border-radius: 0px; } + +.b-r-2px-light-deep-green-0px { + border-right: 2px solid #1abb9c !important; + border-radius: 0px; } + +.b-b-2px-light-deep-green-0px { + border-bottom: 2px solid #1abb9c !important; + border-radius: 0px; } + +.b-l-2px-light-deep-green-0px { + border-left: 2px solid #1abb9c !important; + border-radius: 0px; } + +.b-x-2px-light-deep-green-0px { + border-right: 2px solid #1abb9c !important; + border-left: 2px solid #1abb9c !important; + border-radius: 0px; } + +.b-y-2px-light-deep-green-0px { + border-top: 2px solid #1abb9c !important; + border-bottom: 2px solid #1abb9c !important; + border-radius: 0px; } + +.b-a-2px-deep-green-0px { + border: 2px solid #169f84 !important; + border-radius: 0px; } + +.b-t-2px-deep-green-0px { + border-top: 2px solid #169f84 !important; + border-radius: 0px; } + +.b-r-2px-deep-green-0px { + border-right: 2px solid #169f84 !important; + border-radius: 0px; } + +.b-b-2px-deep-green-0px { + border-bottom: 2px solid #169f84 !important; + border-radius: 0px; } + +.b-l-2px-deep-green-0px { + border-left: 2px solid #169f84 !important; + border-radius: 0px; } + +.b-x-2px-deep-green-0px { + border-right: 2px solid #169f84 !important; + border-left: 2px solid #169f84 !important; + border-radius: 0px; } + +.b-y-2px-deep-green-0px { + border-top: 2px solid #169f84 !important; + border-bottom: 2px solid #169f84 !important; + border-radius: 0px; } + +.b-a-2px-yellow-0px { + border: 2px solid #fbca67 !important; + border-radius: 0px; } + +.b-t-2px-yellow-0px { + border-top: 2px solid #fbca67 !important; + border-radius: 0px; } + +.b-r-2px-yellow-0px { + border-right: 2px solid #fbca67 !important; + border-radius: 0px; } + +.b-b-2px-yellow-0px { + border-bottom: 2px solid #fbca67 !important; + border-radius: 0px; } + +.b-l-2px-yellow-0px { + border-left: 2px solid #fbca67 !important; + border-radius: 0px; } + +.b-x-2px-yellow-0px { + border-right: 2px solid #fbca67 !important; + border-left: 2px solid #fbca67 !important; + border-radius: 0px; } + +.b-y-2px-yellow-0px { + border-top: 2px solid #fbca67 !important; + border-bottom: 2px solid #fbca67 !important; + border-radius: 0px; } + +.b-a-2px-orange-0px { + border: 2px solid #ff8a30 !important; + border-radius: 0px; } + +.b-t-2px-orange-0px { + border-top: 2px solid #ff8a30 !important; + border-radius: 0px; } + +.b-r-2px-orange-0px { + border-right: 2px solid #ff8a30 !important; + border-radius: 0px; } + +.b-b-2px-orange-0px { + border-bottom: 2px solid #ff8a30 !important; + border-radius: 0px; } + +.b-l-2px-orange-0px { + border-left: 2px solid #ff8a30 !important; + border-radius: 0px; } + +.b-x-2px-orange-0px { + border-right: 2px solid #ff8a30 !important; + border-left: 2px solid #ff8a30 !important; + border-radius: 0px; } + +.b-y-2px-orange-0px { + border-top: 2px solid #ff8a30 !important; + border-bottom: 2px solid #ff8a30 !important; + border-radius: 0px; } + +.b-a-2px-red-0px { + border: 2px solid #f45e61 !important; + border-radius: 0px; } + +.b-t-2px-red-0px { + border-top: 2px solid #f45e61 !important; + border-radius: 0px; } + +.b-r-2px-red-0px { + border-right: 2px solid #f45e61 !important; + border-radius: 0px; } + +.b-b-2px-red-0px { + border-bottom: 2px solid #f45e61 !important; + border-radius: 0px; } + +.b-l-2px-red-0px { + border-left: 2px solid #f45e61 !important; + border-radius: 0px; } + +.b-x-2px-red-0px { + border-right: 2px solid #f45e61 !important; + border-left: 2px solid #f45e61 !important; + border-radius: 0px; } + +.b-y-2px-red-0px { + border-top: 2px solid #f45e61 !important; + border-bottom: 2px solid #f45e61 !important; + border-radius: 0px; } + +.b-a-2px-red-heart-0px { + border: 2px solid #f10829 !important; + border-radius: 0px; } + +.b-t-2px-red-heart-0px { + border-top: 2px solid #f10829 !important; + border-radius: 0px; } + +.b-r-2px-red-heart-0px { + border-right: 2px solid #f10829 !important; + border-radius: 0px; } + +.b-b-2px-red-heart-0px { + border-bottom: 2px solid #f10829 !important; + border-radius: 0px; } + +.b-l-2px-red-heart-0px { + border-left: 2px solid #f10829 !important; + border-radius: 0px; } + +.b-x-2px-red-heart-0px { + border-right: 2px solid #f10829 !important; + border-left: 2px solid #f10829 !important; + border-radius: 0px; } + +.b-y-2px-red-heart-0px { + border-top: 2px solid #f10829 !important; + border-bottom: 2px solid #f10829 !important; + border-radius: 0px; } + +.b-a-2px-cyan-0px { + border: 2px solid #0eb7da !important; + border-radius: 0px; } + +.b-t-2px-cyan-0px { + border-top: 2px solid #0eb7da !important; + border-radius: 0px; } + +.b-r-2px-cyan-0px { + border-right: 2px solid #0eb7da !important; + border-radius: 0px; } + +.b-b-2px-cyan-0px { + border-bottom: 2px solid #0eb7da !important; + border-radius: 0px; } + +.b-l-2px-cyan-0px { + border-left: 2px solid #0eb7da !important; + border-radius: 0px; } + +.b-x-2px-cyan-0px { + border-right: 2px solid #0eb7da !important; + border-left: 2px solid #0eb7da !important; + border-radius: 0px; } + +.b-y-2px-cyan-0px { + border-top: 2px solid #0eb7da !important; + border-bottom: 2px solid #0eb7da !important; + border-radius: 0px; } + +.b-a-2px-purple-0px { + border: 2px solid #6477b9 !important; + border-radius: 0px; } + +.b-t-2px-purple-0px { + border-top: 2px solid #6477b9 !important; + border-radius: 0px; } + +.b-r-2px-purple-0px { + border-right: 2px solid #6477b9 !important; + border-radius: 0px; } + +.b-b-2px-purple-0px { + border-bottom: 2px solid #6477b9 !important; + border-radius: 0px; } + +.b-l-2px-purple-0px { + border-left: 2px solid #6477b9 !important; + border-radius: 0px; } + +.b-x-2px-purple-0px { + border-right: 2px solid #6477b9 !important; + border-left: 2px solid #6477b9 !important; + border-radius: 0px; } + +.b-y-2px-purple-0px { + border-top: 2px solid #6477b9 !important; + border-bottom: 2px solid #6477b9 !important; + border-radius: 0px; } + +.b-a-2px-light-blue-0px { + border: 2px solid #2fa0d0 !important; + border-radius: 0px; } + +.b-t-2px-light-blue-0px { + border-top: 2px solid #2fa0d0 !important; + border-radius: 0px; } + +.b-r-2px-light-blue-0px { + border-right: 2px solid #2fa0d0 !important; + border-radius: 0px; } + +.b-b-2px-light-blue-0px { + border-bottom: 2px solid #2fa0d0 !important; + border-radius: 0px; } + +.b-l-2px-light-blue-0px { + border-left: 2px solid #2fa0d0 !important; + border-radius: 0px; } + +.b-x-2px-light-blue-0px { + border-right: 2px solid #2fa0d0 !important; + border-left: 2px solid #2fa0d0 !important; + border-radius: 0px; } + +.b-y-2px-light-blue-0px { + border-top: 2px solid #2fa0d0 !important; + border-bottom: 2px solid #2fa0d0 !important; + border-radius: 0px; } + +.b-a-2px-deep-blue-0px { + border: 2px solid #2f4bd0 !important; + border-radius: 0px; } + +.b-t-2px-deep-blue-0px { + border-top: 2px solid #2f4bd0 !important; + border-radius: 0px; } + +.b-r-2px-deep-blue-0px { + border-right: 2px solid #2f4bd0 !important; + border-radius: 0px; } + +.b-b-2px-deep-blue-0px { + border-bottom: 2px solid #2f4bd0 !important; + border-radius: 0px; } + +.b-l-2px-deep-blue-0px { + border-left: 2px solid #2f4bd0 !important; + border-radius: 0px; } + +.b-x-2px-deep-blue-0px { + border-right: 2px solid #2f4bd0 !important; + border-left: 2px solid #2f4bd0 !important; + border-radius: 0px; } + +.b-y-2px-deep-blue-0px { + border-top: 2px solid #2f4bd0 !important; + border-bottom: 2px solid #2f4bd0 !important; + border-radius: 0px; } + +.b-a-2px-dark-blue-0px { + border: 2px solid #141E27 !important; + border-radius: 0px; } + +.b-t-2px-dark-blue-0px { + border-top: 2px solid #141E27 !important; + border-radius: 0px; } + +.b-r-2px-dark-blue-0px { + border-right: 2px solid #141E27 !important; + border-radius: 0px; } + +.b-b-2px-dark-blue-0px { + border-bottom: 2px solid #141E27 !important; + border-radius: 0px; } + +.b-l-2px-dark-blue-0px { + border-left: 2px solid #141E27 !important; + border-radius: 0px; } + +.b-x-2px-dark-blue-0px { + border-right: 2px solid #141E27 !important; + border-left: 2px solid #141E27 !important; + border-radius: 0px; } + +.b-y-2px-dark-blue-0px { + border-top: 2px solid #141E27 !important; + border-bottom: 2px solid #141E27 !important; + border-radius: 0px; } + +.b-a-2px-dark-brown-0px { + border: 2px solid #212220 !important; + border-radius: 0px; } + +.b-t-2px-dark-brown-0px { + border-top: 2px solid #212220 !important; + border-radius: 0px; } + +.b-r-2px-dark-brown-0px { + border-right: 2px solid #212220 !important; + border-radius: 0px; } + +.b-b-2px-dark-brown-0px { + border-bottom: 2px solid #212220 !important; + border-radius: 0px; } + +.b-l-2px-dark-brown-0px { + border-left: 2px solid #212220 !important; + border-radius: 0px; } + +.b-x-2px-dark-brown-0px { + border-right: 2px solid #212220 !important; + border-left: 2px solid #212220 !important; + border-radius: 0px; } + +.b-y-2px-dark-brown-0px { + border-top: 2px solid #212220 !important; + border-bottom: 2px solid #212220 !important; + border-radius: 0px; } + +.b-a-2px-Development-0px { + border: 2px solid #0eb7da !important; + border-radius: 0px; } + +.b-t-2px-Development-0px { + border-top: 2px solid #0eb7da !important; + border-radius: 0px; } + +.b-r-2px-Development-0px { + border-right: 2px solid #0eb7da !important; + border-radius: 0px; } + +.b-b-2px-Development-0px { + border-bottom: 2px solid #0eb7da !important; + border-radius: 0px; } + +.b-l-2px-Development-0px { + border-left: 2px solid #0eb7da !important; + border-radius: 0px; } + +.b-x-2px-Development-0px { + border-right: 2px solid #0eb7da !important; + border-left: 2px solid #0eb7da !important; + border-radius: 0px; } + +.b-y-2px-Development-0px { + border-top: 2px solid #0eb7da !important; + border-bottom: 2px solid #0eb7da !important; + border-radius: 0px; } + +.b-a-2px-Game-0px { + border: 2px solid #00E676 !important; + border-radius: 0px; } + +.b-t-2px-Game-0px { + border-top: 2px solid #00E676 !important; + border-radius: 0px; } + +.b-r-2px-Game-0px { + border-right: 2px solid #00E676 !important; + border-radius: 0px; } + +.b-b-2px-Game-0px { + border-bottom: 2px solid #00E676 !important; + border-radius: 0px; } + +.b-l-2px-Game-0px { + border-left: 2px solid #00E676 !important; + border-radius: 0px; } + +.b-x-2px-Game-0px { + border-right: 2px solid #00E676 !important; + border-left: 2px solid #00E676 !important; + border-radius: 0px; } + +.b-y-2px-Game-0px { + border-top: 2px solid #00E676 !important; + border-bottom: 2px solid #00E676 !important; + border-radius: 0px; } + +.b-a-2px-Education-0px { + border: 2px solid #ACD07A !important; + border-radius: 0px; } + +.b-t-2px-Education-0px { + border-top: 2px solid #ACD07A !important; + border-radius: 0px; } + +.b-r-2px-Education-0px { + border-right: 2px solid #ACD07A !important; + border-radius: 0px; } + +.b-b-2px-Education-0px { + border-bottom: 2px solid #ACD07A !important; + border-radius: 0px; } + +.b-l-2px-Education-0px { + border-left: 2px solid #ACD07A !important; + border-radius: 0px; } + +.b-x-2px-Education-0px { + border-right: 2px solid #ACD07A !important; + border-left: 2px solid #ACD07A !important; + border-radius: 0px; } + +.b-y-2px-Education-0px { + border-top: 2px solid #ACD07A !important; + border-bottom: 2px solid #ACD07A !important; + border-radius: 0px; } + +.b-a-2px-Social-0px { + border: 2px solid #6477b9 !important; + border-radius: 0px; } + +.b-t-2px-Social-0px { + border-top: 2px solid #6477b9 !important; + border-radius: 0px; } + +.b-r-2px-Social-0px { + border-right: 2px solid #6477b9 !important; + border-radius: 0px; } + +.b-b-2px-Social-0px { + border-bottom: 2px solid #6477b9 !important; + border-radius: 0px; } + +.b-l-2px-Social-0px { + border-left: 2px solid #6477b9 !important; + border-radius: 0px; } + +.b-x-2px-Social-0px { + border-right: 2px solid #6477b9 !important; + border-left: 2px solid #6477b9 !important; + border-radius: 0px; } + +.b-y-2px-Social-0px { + border-top: 2px solid #6477b9 !important; + border-bottom: 2px solid #6477b9 !important; + border-radius: 0px; } + +.b-a-2px-Art-0px { + border: 2px solid #fbca67 !important; + border-radius: 0px; } + +.b-t-2px-Art-0px { + border-top: 2px solid #fbca67 !important; + border-radius: 0px; } + +.b-r-2px-Art-0px { + border-right: 2px solid #fbca67 !important; + border-radius: 0px; } + +.b-b-2px-Art-0px { + border-bottom: 2px solid #fbca67 !important; + border-radius: 0px; } + +.b-l-2px-Art-0px { + border-left: 2px solid #fbca67 !important; + border-radius: 0px; } + +.b-x-2px-Art-0px { + border-right: 2px solid #fbca67 !important; + border-left: 2px solid #fbca67 !important; + border-radius: 0px; } + +.b-y-2px-Art-0px { + border-top: 2px solid #fbca67 !important; + border-bottom: 2px solid #fbca67 !important; + border-radius: 0px; } + +.b-a-2px-Sports-0px { + border: 2px solid #2f4bd0 !important; + border-radius: 0px; } + +.b-t-2px-Sports-0px { + border-top: 2px solid #2f4bd0 !important; + border-radius: 0px; } + +.b-r-2px-Sports-0px { + border-right: 2px solid #2f4bd0 !important; + border-radius: 0px; } + +.b-b-2px-Sports-0px { + border-bottom: 2px solid #2f4bd0 !important; + border-radius: 0px; } + +.b-l-2px-Sports-0px { + border-left: 2px solid #2f4bd0 !important; + border-radius: 0px; } + +.b-x-2px-Sports-0px { + border-right: 2px solid #2f4bd0 !important; + border-left: 2px solid #2f4bd0 !important; + border-radius: 0px; } + +.b-y-2px-Sports-0px { + border-top: 2px solid #2f4bd0 !important; + border-bottom: 2px solid #2f4bd0 !important; + border-radius: 0px; } + +.b-a-2px-Health-0px { + border: 2px solid #2fa0d0 !important; + border-radius: 0px; } + +.b-t-2px-Health-0px { + border-top: 2px solid #2fa0d0 !important; + border-radius: 0px; } + +.b-r-2px-Health-0px { + border-right: 2px solid #2fa0d0 !important; + border-radius: 0px; } + +.b-b-2px-Health-0px { + border-bottom: 2px solid #2fa0d0 !important; + border-radius: 0px; } + +.b-l-2px-Health-0px { + border-left: 2px solid #2fa0d0 !important; + border-radius: 0px; } + +.b-x-2px-Health-0px { + border-right: 2px solid #2fa0d0 !important; + border-left: 2px solid #2fa0d0 !important; + border-radius: 0px; } + +.b-y-2px-Health-0px { + border-top: 2px solid #2fa0d0 !important; + border-bottom: 2px solid #2fa0d0 !important; + border-radius: 0px; } + +.b-a-2px-News-0px { + border: 2px solid #ff8a30 !important; + border-radius: 0px; } + +.b-t-2px-News-0px { + border-top: 2px solid #ff8a30 !important; + border-radius: 0px; } + +.b-r-2px-News-0px { + border-right: 2px solid #ff8a30 !important; + border-radius: 0px; } + +.b-b-2px-News-0px { + border-bottom: 2px solid #ff8a30 !important; + border-radius: 0px; } + +.b-l-2px-News-0px { + border-left: 2px solid #ff8a30 !important; + border-radius: 0px; } + +.b-x-2px-News-0px { + border-right: 2px solid #ff8a30 !important; + border-left: 2px solid #ff8a30 !important; + border-radius: 0px; } + +.b-y-2px-News-0px { + border-top: 2px solid #ff8a30 !important; + border-bottom: 2px solid #ff8a30 !important; + border-radius: 0px; } + +.b-a-2px-google-0px { + border: 2px solid #DD4B38 !important; + border-radius: 0px; } + +.b-t-2px-google-0px { + border-top: 2px solid #DD4B38 !important; + border-radius: 0px; } + +.b-r-2px-google-0px { + border-right: 2px solid #DD4B38 !important; + border-radius: 0px; } + +.b-b-2px-google-0px { + border-bottom: 2px solid #DD4B38 !important; + border-radius: 0px; } + +.b-l-2px-google-0px { + border-left: 2px solid #DD4B38 !important; + border-radius: 0px; } + +.b-x-2px-google-0px { + border-right: 2px solid #DD4B38 !important; + border-left: 2px solid #DD4B38 !important; + border-radius: 0px; } + +.b-y-2px-google-0px { + border-top: 2px solid #DD4B38 !important; + border-bottom: 2px solid #DD4B38 !important; + border-radius: 0px; } + +.b-a-2px-facebook-0px { + border: 2px solid #3B5998 !important; + border-radius: 0px; } + +.b-t-2px-facebook-0px { + border-top: 2px solid #3B5998 !important; + border-radius: 0px; } + +.b-r-2px-facebook-0px { + border-right: 2px solid #3B5998 !important; + border-radius: 0px; } + +.b-b-2px-facebook-0px { + border-bottom: 2px solid #3B5998 !important; + border-radius: 0px; } + +.b-l-2px-facebook-0px { + border-left: 2px solid #3B5998 !important; + border-radius: 0px; } + +.b-x-2px-facebook-0px { + border-right: 2px solid #3B5998 !important; + border-left: 2px solid #3B5998 !important; + border-radius: 0px; } + +.b-y-2px-facebook-0px { + border-top: 2px solid #3B5998 !important; + border-bottom: 2px solid #3B5998 !important; + border-radius: 0px; } + +.b-a-2px-twitter-0px { + border: 2px solid #55ACEE !important; + border-radius: 0px; } + +.b-t-2px-twitter-0px { + border-top: 2px solid #55ACEE !important; + border-radius: 0px; } + +.b-r-2px-twitter-0px { + border-right: 2px solid #55ACEE !important; + border-radius: 0px; } + +.b-b-2px-twitter-0px { + border-bottom: 2px solid #55ACEE !important; + border-radius: 0px; } + +.b-l-2px-twitter-0px { + border-left: 2px solid #55ACEE !important; + border-radius: 0px; } + +.b-x-2px-twitter-0px { + border-right: 2px solid #55ACEE !important; + border-left: 2px solid #55ACEE !important; + border-radius: 0px; } + +.b-y-2px-twitter-0px { + border-top: 2px solid #55ACEE !important; + border-bottom: 2px solid #55ACEE !important; + border-radius: 0px; } + +.b-a-1px-black-1px { + border: 1px solid #000 !important; + border-radius: 1px; } + +.b-t-1px-black-1px { + border-top: 1px solid #000 !important; + border-radius: 1px; } + +.b-r-1px-black-1px { + border-right: 1px solid #000 !important; + border-radius: 1px; } + +.b-b-1px-black-1px { + border-bottom: 1px solid #000 !important; + border-radius: 1px; } + +.b-l-1px-black-1px { + border-left: 1px solid #000 !important; + border-radius: 1px; } + +.b-x-1px-black-1px { + border-right: 1px solid #000 !important; + border-left: 1px solid #000 !important; + border-radius: 1px; } + +.b-y-1px-black-1px { + border-top: 1px solid #000 !important; + border-bottom: 1px solid #000 !important; + border-radius: 1px; } + +.b-a-1px-white-1px { + border: 1px solid #fefefe !important; + border-radius: 1px; } + +.b-t-1px-white-1px { + border-top: 1px solid #fefefe !important; + border-radius: 1px; } + +.b-r-1px-white-1px { + border-right: 1px solid #fefefe !important; + border-radius: 1px; } + +.b-b-1px-white-1px { + border-bottom: 1px solid #fefefe !important; + border-radius: 1px; } + +.b-l-1px-white-1px { + border-left: 1px solid #fefefe !important; + border-radius: 1px; } + +.b-x-1px-white-1px { + border-right: 1px solid #fefefe !important; + border-left: 1px solid #fefefe !important; + border-radius: 1px; } + +.b-y-1px-white-1px { + border-top: 1px solid #fefefe !important; + border-bottom: 1px solid #fefefe !important; + border-radius: 1px; } + +.b-a-1px-light-black-1px { + border: 1px solid #505050 !important; + border-radius: 1px; } + +.b-t-1px-light-black-1px { + border-top: 1px solid #505050 !important; + border-radius: 1px; } + +.b-r-1px-light-black-1px { + border-right: 1px solid #505050 !important; + border-radius: 1px; } + +.b-b-1px-light-black-1px { + border-bottom: 1px solid #505050 !important; + border-radius: 1px; } + +.b-l-1px-light-black-1px { + border-left: 1px solid #505050 !important; + border-radius: 1px; } + +.b-x-1px-light-black-1px { + border-right: 1px solid #505050 !important; + border-left: 1px solid #505050 !important; + border-radius: 1px; } + +.b-y-1px-light-black-1px { + border-top: 1px solid #505050 !important; + border-bottom: 1px solid #505050 !important; + border-radius: 1px; } + +.b-a-1px-dark-white-1px { + border: 1px solid #EAE8E0 !important; + border-radius: 1px; } + +.b-t-1px-dark-white-1px { + border-top: 1px solid #EAE8E0 !important; + border-radius: 1px; } + +.b-r-1px-dark-white-1px { + border-right: 1px solid #EAE8E0 !important; + border-radius: 1px; } + +.b-b-1px-dark-white-1px { + border-bottom: 1px solid #EAE8E0 !important; + border-radius: 1px; } + +.b-l-1px-dark-white-1px { + border-left: 1px solid #EAE8E0 !important; + border-radius: 1px; } + +.b-x-1px-dark-white-1px { + border-right: 1px solid #EAE8E0 !important; + border-left: 1px solid #EAE8E0 !important; + border-radius: 1px; } + +.b-y-1px-dark-white-1px { + border-top: 1px solid #EAE8E0 !important; + border-bottom: 1px solid #EAE8E0 !important; + border-radius: 1px; } + +.b-a-1px-light-white-1px { + border: 1px solid #EEE7F7 !important; + border-radius: 1px; } + +.b-t-1px-light-white-1px { + border-top: 1px solid #EEE7F7 !important; + border-radius: 1px; } + +.b-r-1px-light-white-1px { + border-right: 1px solid #EEE7F7 !important; + border-radius: 1px; } + +.b-b-1px-light-white-1px { + border-bottom: 1px solid #EEE7F7 !important; + border-radius: 1px; } + +.b-l-1px-light-white-1px { + border-left: 1px solid #EEE7F7 !important; + border-radius: 1px; } + +.b-x-1px-light-white-1px { + border-right: 1px solid #EEE7F7 !important; + border-left: 1px solid #EEE7F7 !important; + border-radius: 1px; } + +.b-y-1px-light-white-1px { + border-top: 1px solid #EEE7F7 !important; + border-bottom: 1px solid #EEE7F7 !important; + border-radius: 1px; } + +.b-a-1px-green-blue-1px { + border: 1px solid #60daaa !important; + border-radius: 1px; } + +.b-t-1px-green-blue-1px { + border-top: 1px solid #60daaa !important; + border-radius: 1px; } + +.b-r-1px-green-blue-1px { + border-right: 1px solid #60daaa !important; + border-radius: 1px; } + +.b-b-1px-green-blue-1px { + border-bottom: 1px solid #60daaa !important; + border-radius: 1px; } + +.b-l-1px-green-blue-1px { + border-left: 1px solid #60daaa !important; + border-radius: 1px; } + +.b-x-1px-green-blue-1px { + border-right: 1px solid #60daaa !important; + border-left: 1px solid #60daaa !important; + border-radius: 1px; } + +.b-y-1px-green-blue-1px { + border-top: 1px solid #60daaa !important; + border-bottom: 1px solid #60daaa !important; + border-radius: 1px; } + +.b-a-1px-green-1px { + border: 1px solid #00E676 !important; + border-radius: 1px; } + +.b-t-1px-green-1px { + border-top: 1px solid #00E676 !important; + border-radius: 1px; } + +.b-r-1px-green-1px { + border-right: 1px solid #00E676 !important; + border-radius: 1px; } + +.b-b-1px-green-1px { + border-bottom: 1px solid #00E676 !important; + border-radius: 1px; } + +.b-l-1px-green-1px { + border-left: 1px solid #00E676 !important; + border-radius: 1px; } + +.b-x-1px-green-1px { + border-right: 1px solid #00E676 !important; + border-left: 1px solid #00E676 !important; + border-radius: 1px; } + +.b-y-1px-green-1px { + border-top: 1px solid #00E676 !important; + border-bottom: 1px solid #00E676 !important; + border-radius: 1px; } + +.b-a-1px-old-green-1px { + border: 1px solid #ACD07A !important; + border-radius: 1px; } + +.b-t-1px-old-green-1px { + border-top: 1px solid #ACD07A !important; + border-radius: 1px; } + +.b-r-1px-old-green-1px { + border-right: 1px solid #ACD07A !important; + border-radius: 1px; } + +.b-b-1px-old-green-1px { + border-bottom: 1px solid #ACD07A !important; + border-radius: 1px; } + +.b-l-1px-old-green-1px { + border-left: 1px solid #ACD07A !important; + border-radius: 1px; } + +.b-x-1px-old-green-1px { + border-right: 1px solid #ACD07A !important; + border-left: 1px solid #ACD07A !important; + border-radius: 1px; } + +.b-y-1px-old-green-1px { + border-top: 1px solid #ACD07A !important; + border-bottom: 1px solid #ACD07A !important; + border-radius: 1px; } + +.b-a-1px-light-deep-green-1px { + border: 1px solid #1abb9c !important; + border-radius: 1px; } + +.b-t-1px-light-deep-green-1px { + border-top: 1px solid #1abb9c !important; + border-radius: 1px; } + +.b-r-1px-light-deep-green-1px { + border-right: 1px solid #1abb9c !important; + border-radius: 1px; } + +.b-b-1px-light-deep-green-1px { + border-bottom: 1px solid #1abb9c !important; + border-radius: 1px; } + +.b-l-1px-light-deep-green-1px { + border-left: 1px solid #1abb9c !important; + border-radius: 1px; } + +.b-x-1px-light-deep-green-1px { + border-right: 1px solid #1abb9c !important; + border-left: 1px solid #1abb9c !important; + border-radius: 1px; } + +.b-y-1px-light-deep-green-1px { + border-top: 1px solid #1abb9c !important; + border-bottom: 1px solid #1abb9c !important; + border-radius: 1px; } + +.b-a-1px-deep-green-1px { + border: 1px solid #169f84 !important; + border-radius: 1px; } + +.b-t-1px-deep-green-1px { + border-top: 1px solid #169f84 !important; + border-radius: 1px; } + +.b-r-1px-deep-green-1px { + border-right: 1px solid #169f84 !important; + border-radius: 1px; } + +.b-b-1px-deep-green-1px { + border-bottom: 1px solid #169f84 !important; + border-radius: 1px; } + +.b-l-1px-deep-green-1px { + border-left: 1px solid #169f84 !important; + border-radius: 1px; } + +.b-x-1px-deep-green-1px { + border-right: 1px solid #169f84 !important; + border-left: 1px solid #169f84 !important; + border-radius: 1px; } + +.b-y-1px-deep-green-1px { + border-top: 1px solid #169f84 !important; + border-bottom: 1px solid #169f84 !important; + border-radius: 1px; } + +.b-a-1px-yellow-1px { + border: 1px solid #fbca67 !important; + border-radius: 1px; } + +.b-t-1px-yellow-1px { + border-top: 1px solid #fbca67 !important; + border-radius: 1px; } + +.b-r-1px-yellow-1px { + border-right: 1px solid #fbca67 !important; + border-radius: 1px; } + +.b-b-1px-yellow-1px { + border-bottom: 1px solid #fbca67 !important; + border-radius: 1px; } + +.b-l-1px-yellow-1px { + border-left: 1px solid #fbca67 !important; + border-radius: 1px; } + +.b-x-1px-yellow-1px { + border-right: 1px solid #fbca67 !important; + border-left: 1px solid #fbca67 !important; + border-radius: 1px; } + +.b-y-1px-yellow-1px { + border-top: 1px solid #fbca67 !important; + border-bottom: 1px solid #fbca67 !important; + border-radius: 1px; } + +.b-a-1px-orange-1px { + border: 1px solid #ff8a30 !important; + border-radius: 1px; } + +.b-t-1px-orange-1px { + border-top: 1px solid #ff8a30 !important; + border-radius: 1px; } + +.b-r-1px-orange-1px { + border-right: 1px solid #ff8a30 !important; + border-radius: 1px; } + +.b-b-1px-orange-1px { + border-bottom: 1px solid #ff8a30 !important; + border-radius: 1px; } + +.b-l-1px-orange-1px { + border-left: 1px solid #ff8a30 !important; + border-radius: 1px; } + +.b-x-1px-orange-1px { + border-right: 1px solid #ff8a30 !important; + border-left: 1px solid #ff8a30 !important; + border-radius: 1px; } + +.b-y-1px-orange-1px { + border-top: 1px solid #ff8a30 !important; + border-bottom: 1px solid #ff8a30 !important; + border-radius: 1px; } + +.b-a-1px-red-1px { + border: 1px solid #f45e61 !important; + border-radius: 1px; } + +.b-t-1px-red-1px { + border-top: 1px solid #f45e61 !important; + border-radius: 1px; } + +.b-r-1px-red-1px { + border-right: 1px solid #f45e61 !important; + border-radius: 1px; } + +.b-b-1px-red-1px { + border-bottom: 1px solid #f45e61 !important; + border-radius: 1px; } + +.b-l-1px-red-1px { + border-left: 1px solid #f45e61 !important; + border-radius: 1px; } + +.b-x-1px-red-1px { + border-right: 1px solid #f45e61 !important; + border-left: 1px solid #f45e61 !important; + border-radius: 1px; } + +.b-y-1px-red-1px { + border-top: 1px solid #f45e61 !important; + border-bottom: 1px solid #f45e61 !important; + border-radius: 1px; } + +.b-a-1px-red-heart-1px { + border: 1px solid #f10829 !important; + border-radius: 1px; } + +.b-t-1px-red-heart-1px { + border-top: 1px solid #f10829 !important; + border-radius: 1px; } + +.b-r-1px-red-heart-1px { + border-right: 1px solid #f10829 !important; + border-radius: 1px; } + +.b-b-1px-red-heart-1px { + border-bottom: 1px solid #f10829 !important; + border-radius: 1px; } + +.b-l-1px-red-heart-1px { + border-left: 1px solid #f10829 !important; + border-radius: 1px; } + +.b-x-1px-red-heart-1px { + border-right: 1px solid #f10829 !important; + border-left: 1px solid #f10829 !important; + border-radius: 1px; } + +.b-y-1px-red-heart-1px { + border-top: 1px solid #f10829 !important; + border-bottom: 1px solid #f10829 !important; + border-radius: 1px; } + +.b-a-1px-cyan-1px { + border: 1px solid #0eb7da !important; + border-radius: 1px; } + +.b-t-1px-cyan-1px { + border-top: 1px solid #0eb7da !important; + border-radius: 1px; } + +.b-r-1px-cyan-1px { + border-right: 1px solid #0eb7da !important; + border-radius: 1px; } + +.b-b-1px-cyan-1px { + border-bottom: 1px solid #0eb7da !important; + border-radius: 1px; } + +.b-l-1px-cyan-1px { + border-left: 1px solid #0eb7da !important; + border-radius: 1px; } + +.b-x-1px-cyan-1px { + border-right: 1px solid #0eb7da !important; + border-left: 1px solid #0eb7da !important; + border-radius: 1px; } + +.b-y-1px-cyan-1px { + border-top: 1px solid #0eb7da !important; + border-bottom: 1px solid #0eb7da !important; + border-radius: 1px; } + +.b-a-1px-purple-1px { + border: 1px solid #6477b9 !important; + border-radius: 1px; } + +.b-t-1px-purple-1px { + border-top: 1px solid #6477b9 !important; + border-radius: 1px; } + +.b-r-1px-purple-1px { + border-right: 1px solid #6477b9 !important; + border-radius: 1px; } + +.b-b-1px-purple-1px { + border-bottom: 1px solid #6477b9 !important; + border-radius: 1px; } + +.b-l-1px-purple-1px { + border-left: 1px solid #6477b9 !important; + border-radius: 1px; } + +.b-x-1px-purple-1px { + border-right: 1px solid #6477b9 !important; + border-left: 1px solid #6477b9 !important; + border-radius: 1px; } + +.b-y-1px-purple-1px { + border-top: 1px solid #6477b9 !important; + border-bottom: 1px solid #6477b9 !important; + border-radius: 1px; } + +.b-a-1px-light-blue-1px { + border: 1px solid #2fa0d0 !important; + border-radius: 1px; } + +.b-t-1px-light-blue-1px { + border-top: 1px solid #2fa0d0 !important; + border-radius: 1px; } + +.b-r-1px-light-blue-1px { + border-right: 1px solid #2fa0d0 !important; + border-radius: 1px; } + +.b-b-1px-light-blue-1px { + border-bottom: 1px solid #2fa0d0 !important; + border-radius: 1px; } + +.b-l-1px-light-blue-1px { + border-left: 1px solid #2fa0d0 !important; + border-radius: 1px; } + +.b-x-1px-light-blue-1px { + border-right: 1px solid #2fa0d0 !important; + border-left: 1px solid #2fa0d0 !important; + border-radius: 1px; } + +.b-y-1px-light-blue-1px { + border-top: 1px solid #2fa0d0 !important; + border-bottom: 1px solid #2fa0d0 !important; + border-radius: 1px; } + +.b-a-1px-deep-blue-1px { + border: 1px solid #2f4bd0 !important; + border-radius: 1px; } + +.b-t-1px-deep-blue-1px { + border-top: 1px solid #2f4bd0 !important; + border-radius: 1px; } + +.b-r-1px-deep-blue-1px { + border-right: 1px solid #2f4bd0 !important; + border-radius: 1px; } + +.b-b-1px-deep-blue-1px { + border-bottom: 1px solid #2f4bd0 !important; + border-radius: 1px; } + +.b-l-1px-deep-blue-1px { + border-left: 1px solid #2f4bd0 !important; + border-radius: 1px; } + +.b-x-1px-deep-blue-1px { + border-right: 1px solid #2f4bd0 !important; + border-left: 1px solid #2f4bd0 !important; + border-radius: 1px; } + +.b-y-1px-deep-blue-1px { + border-top: 1px solid #2f4bd0 !important; + border-bottom: 1px solid #2f4bd0 !important; + border-radius: 1px; } + +.b-a-1px-dark-blue-1px { + border: 1px solid #141E27 !important; + border-radius: 1px; } + +.b-t-1px-dark-blue-1px { + border-top: 1px solid #141E27 !important; + border-radius: 1px; } + +.b-r-1px-dark-blue-1px { + border-right: 1px solid #141E27 !important; + border-radius: 1px; } + +.b-b-1px-dark-blue-1px { + border-bottom: 1px solid #141E27 !important; + border-radius: 1px; } + +.b-l-1px-dark-blue-1px { + border-left: 1px solid #141E27 !important; + border-radius: 1px; } + +.b-x-1px-dark-blue-1px { + border-right: 1px solid #141E27 !important; + border-left: 1px solid #141E27 !important; + border-radius: 1px; } + +.b-y-1px-dark-blue-1px { + border-top: 1px solid #141E27 !important; + border-bottom: 1px solid #141E27 !important; + border-radius: 1px; } + +.b-a-1px-dark-brown-1px { + border: 1px solid #212220 !important; + border-radius: 1px; } + +.b-t-1px-dark-brown-1px { + border-top: 1px solid #212220 !important; + border-radius: 1px; } + +.b-r-1px-dark-brown-1px { + border-right: 1px solid #212220 !important; + border-radius: 1px; } + +.b-b-1px-dark-brown-1px { + border-bottom: 1px solid #212220 !important; + border-radius: 1px; } + +.b-l-1px-dark-brown-1px { + border-left: 1px solid #212220 !important; + border-radius: 1px; } + +.b-x-1px-dark-brown-1px { + border-right: 1px solid #212220 !important; + border-left: 1px solid #212220 !important; + border-radius: 1px; } + +.b-y-1px-dark-brown-1px { + border-top: 1px solid #212220 !important; + border-bottom: 1px solid #212220 !important; + border-radius: 1px; } + +.b-a-1px-Development-1px { + border: 1px solid #0eb7da !important; + border-radius: 1px; } + +.b-t-1px-Development-1px { + border-top: 1px solid #0eb7da !important; + border-radius: 1px; } + +.b-r-1px-Development-1px { + border-right: 1px solid #0eb7da !important; + border-radius: 1px; } + +.b-b-1px-Development-1px { + border-bottom: 1px solid #0eb7da !important; + border-radius: 1px; } + +.b-l-1px-Development-1px { + border-left: 1px solid #0eb7da !important; + border-radius: 1px; } + +.b-x-1px-Development-1px { + border-right: 1px solid #0eb7da !important; + border-left: 1px solid #0eb7da !important; + border-radius: 1px; } + +.b-y-1px-Development-1px { + border-top: 1px solid #0eb7da !important; + border-bottom: 1px solid #0eb7da !important; + border-radius: 1px; } + +.b-a-1px-Game-1px { + border: 1px solid #00E676 !important; + border-radius: 1px; } + +.b-t-1px-Game-1px { + border-top: 1px solid #00E676 !important; + border-radius: 1px; } + +.b-r-1px-Game-1px { + border-right: 1px solid #00E676 !important; + border-radius: 1px; } + +.b-b-1px-Game-1px { + border-bottom: 1px solid #00E676 !important; + border-radius: 1px; } + +.b-l-1px-Game-1px { + border-left: 1px solid #00E676 !important; + border-radius: 1px; } + +.b-x-1px-Game-1px { + border-right: 1px solid #00E676 !important; + border-left: 1px solid #00E676 !important; + border-radius: 1px; } + +.b-y-1px-Game-1px { + border-top: 1px solid #00E676 !important; + border-bottom: 1px solid #00E676 !important; + border-radius: 1px; } + +.b-a-1px-Education-1px { + border: 1px solid #ACD07A !important; + border-radius: 1px; } + +.b-t-1px-Education-1px { + border-top: 1px solid #ACD07A !important; + border-radius: 1px; } + +.b-r-1px-Education-1px { + border-right: 1px solid #ACD07A !important; + border-radius: 1px; } + +.b-b-1px-Education-1px { + border-bottom: 1px solid #ACD07A !important; + border-radius: 1px; } + +.b-l-1px-Education-1px { + border-left: 1px solid #ACD07A !important; + border-radius: 1px; } + +.b-x-1px-Education-1px { + border-right: 1px solid #ACD07A !important; + border-left: 1px solid #ACD07A !important; + border-radius: 1px; } + +.b-y-1px-Education-1px { + border-top: 1px solid #ACD07A !important; + border-bottom: 1px solid #ACD07A !important; + border-radius: 1px; } + +.b-a-1px-Social-1px { + border: 1px solid #6477b9 !important; + border-radius: 1px; } + +.b-t-1px-Social-1px { + border-top: 1px solid #6477b9 !important; + border-radius: 1px; } + +.b-r-1px-Social-1px { + border-right: 1px solid #6477b9 !important; + border-radius: 1px; } + +.b-b-1px-Social-1px { + border-bottom: 1px solid #6477b9 !important; + border-radius: 1px; } + +.b-l-1px-Social-1px { + border-left: 1px solid #6477b9 !important; + border-radius: 1px; } + +.b-x-1px-Social-1px { + border-right: 1px solid #6477b9 !important; + border-left: 1px solid #6477b9 !important; + border-radius: 1px; } + +.b-y-1px-Social-1px { + border-top: 1px solid #6477b9 !important; + border-bottom: 1px solid #6477b9 !important; + border-radius: 1px; } + +.b-a-1px-Art-1px { + border: 1px solid #fbca67 !important; + border-radius: 1px; } + +.b-t-1px-Art-1px { + border-top: 1px solid #fbca67 !important; + border-radius: 1px; } + +.b-r-1px-Art-1px { + border-right: 1px solid #fbca67 !important; + border-radius: 1px; } + +.b-b-1px-Art-1px { + border-bottom: 1px solid #fbca67 !important; + border-radius: 1px; } + +.b-l-1px-Art-1px { + border-left: 1px solid #fbca67 !important; + border-radius: 1px; } + +.b-x-1px-Art-1px { + border-right: 1px solid #fbca67 !important; + border-left: 1px solid #fbca67 !important; + border-radius: 1px; } + +.b-y-1px-Art-1px { + border-top: 1px solid #fbca67 !important; + border-bottom: 1px solid #fbca67 !important; + border-radius: 1px; } + +.b-a-1px-Sports-1px { + border: 1px solid #2f4bd0 !important; + border-radius: 1px; } + +.b-t-1px-Sports-1px { + border-top: 1px solid #2f4bd0 !important; + border-radius: 1px; } + +.b-r-1px-Sports-1px { + border-right: 1px solid #2f4bd0 !important; + border-radius: 1px; } + +.b-b-1px-Sports-1px { + border-bottom: 1px solid #2f4bd0 !important; + border-radius: 1px; } + +.b-l-1px-Sports-1px { + border-left: 1px solid #2f4bd0 !important; + border-radius: 1px; } + +.b-x-1px-Sports-1px { + border-right: 1px solid #2f4bd0 !important; + border-left: 1px solid #2f4bd0 !important; + border-radius: 1px; } + +.b-y-1px-Sports-1px { + border-top: 1px solid #2f4bd0 !important; + border-bottom: 1px solid #2f4bd0 !important; + border-radius: 1px; } + +.b-a-1px-Health-1px { + border: 1px solid #2fa0d0 !important; + border-radius: 1px; } + +.b-t-1px-Health-1px { + border-top: 1px solid #2fa0d0 !important; + border-radius: 1px; } + +.b-r-1px-Health-1px { + border-right: 1px solid #2fa0d0 !important; + border-radius: 1px; } + +.b-b-1px-Health-1px { + border-bottom: 1px solid #2fa0d0 !important; + border-radius: 1px; } + +.b-l-1px-Health-1px { + border-left: 1px solid #2fa0d0 !important; + border-radius: 1px; } + +.b-x-1px-Health-1px { + border-right: 1px solid #2fa0d0 !important; + border-left: 1px solid #2fa0d0 !important; + border-radius: 1px; } + +.b-y-1px-Health-1px { + border-top: 1px solid #2fa0d0 !important; + border-bottom: 1px solid #2fa0d0 !important; + border-radius: 1px; } + +.b-a-1px-News-1px { + border: 1px solid #ff8a30 !important; + border-radius: 1px; } + +.b-t-1px-News-1px { + border-top: 1px solid #ff8a30 !important; + border-radius: 1px; } + +.b-r-1px-News-1px { + border-right: 1px solid #ff8a30 !important; + border-radius: 1px; } + +.b-b-1px-News-1px { + border-bottom: 1px solid #ff8a30 !important; + border-radius: 1px; } + +.b-l-1px-News-1px { + border-left: 1px solid #ff8a30 !important; + border-radius: 1px; } + +.b-x-1px-News-1px { + border-right: 1px solid #ff8a30 !important; + border-left: 1px solid #ff8a30 !important; + border-radius: 1px; } + +.b-y-1px-News-1px { + border-top: 1px solid #ff8a30 !important; + border-bottom: 1px solid #ff8a30 !important; + border-radius: 1px; } + +.b-a-1px-google-1px { + border: 1px solid #DD4B38 !important; + border-radius: 1px; } + +.b-t-1px-google-1px { + border-top: 1px solid #DD4B38 !important; + border-radius: 1px; } + +.b-r-1px-google-1px { + border-right: 1px solid #DD4B38 !important; + border-radius: 1px; } + +.b-b-1px-google-1px { + border-bottom: 1px solid #DD4B38 !important; + border-radius: 1px; } + +.b-l-1px-google-1px { + border-left: 1px solid #DD4B38 !important; + border-radius: 1px; } + +.b-x-1px-google-1px { + border-right: 1px solid #DD4B38 !important; + border-left: 1px solid #DD4B38 !important; + border-radius: 1px; } + +.b-y-1px-google-1px { + border-top: 1px solid #DD4B38 !important; + border-bottom: 1px solid #DD4B38 !important; + border-radius: 1px; } + +.b-a-1px-facebook-1px { + border: 1px solid #3B5998 !important; + border-radius: 1px; } + +.b-t-1px-facebook-1px { + border-top: 1px solid #3B5998 !important; + border-radius: 1px; } + +.b-r-1px-facebook-1px { + border-right: 1px solid #3B5998 !important; + border-radius: 1px; } + +.b-b-1px-facebook-1px { + border-bottom: 1px solid #3B5998 !important; + border-radius: 1px; } + +.b-l-1px-facebook-1px { + border-left: 1px solid #3B5998 !important; + border-radius: 1px; } + +.b-x-1px-facebook-1px { + border-right: 1px solid #3B5998 !important; + border-left: 1px solid #3B5998 !important; + border-radius: 1px; } + +.b-y-1px-facebook-1px { + border-top: 1px solid #3B5998 !important; + border-bottom: 1px solid #3B5998 !important; + border-radius: 1px; } + +.b-a-1px-twitter-1px { + border: 1px solid #55ACEE !important; + border-radius: 1px; } + +.b-t-1px-twitter-1px { + border-top: 1px solid #55ACEE !important; + border-radius: 1px; } + +.b-r-1px-twitter-1px { + border-right: 1px solid #55ACEE !important; + border-radius: 1px; } + +.b-b-1px-twitter-1px { + border-bottom: 1px solid #55ACEE !important; + border-radius: 1px; } + +.b-l-1px-twitter-1px { + border-left: 1px solid #55ACEE !important; + border-radius: 1px; } + +.b-x-1px-twitter-1px { + border-right: 1px solid #55ACEE !important; + border-left: 1px solid #55ACEE !important; + border-radius: 1px; } + +.b-y-1px-twitter-1px { + border-top: 1px solid #55ACEE !important; + border-bottom: 1px solid #55ACEE !important; + border-radius: 1px; } + +.b-a-2px-black-1px { + border: 2px solid #000 !important; + border-radius: 1px; } + +.b-t-2px-black-1px { + border-top: 2px solid #000 !important; + border-radius: 1px; } + +.b-r-2px-black-1px { + border-right: 2px solid #000 !important; + border-radius: 1px; } + +.b-b-2px-black-1px { + border-bottom: 2px solid #000 !important; + border-radius: 1px; } + +.b-l-2px-black-1px { + border-left: 2px solid #000 !important; + border-radius: 1px; } + +.b-x-2px-black-1px { + border-right: 2px solid #000 !important; + border-left: 2px solid #000 !important; + border-radius: 1px; } + +.b-y-2px-black-1px { + border-top: 2px solid #000 !important; + border-bottom: 2px solid #000 !important; + border-radius: 1px; } + +.b-a-2px-white-1px { + border: 2px solid #fefefe !important; + border-radius: 1px; } + +.b-t-2px-white-1px { + border-top: 2px solid #fefefe !important; + border-radius: 1px; } + +.b-r-2px-white-1px { + border-right: 2px solid #fefefe !important; + border-radius: 1px; } + +.b-b-2px-white-1px { + border-bottom: 2px solid #fefefe !important; + border-radius: 1px; } + +.b-l-2px-white-1px { + border-left: 2px solid #fefefe !important; + border-radius: 1px; } + +.b-x-2px-white-1px { + border-right: 2px solid #fefefe !important; + border-left: 2px solid #fefefe !important; + border-radius: 1px; } + +.b-y-2px-white-1px { + border-top: 2px solid #fefefe !important; + border-bottom: 2px solid #fefefe !important; + border-radius: 1px; } + +.b-a-2px-light-black-1px { + border: 2px solid #505050 !important; + border-radius: 1px; } + +.b-t-2px-light-black-1px { + border-top: 2px solid #505050 !important; + border-radius: 1px; } + +.b-r-2px-light-black-1px { + border-right: 2px solid #505050 !important; + border-radius: 1px; } + +.b-b-2px-light-black-1px { + border-bottom: 2px solid #505050 !important; + border-radius: 1px; } + +.b-l-2px-light-black-1px { + border-left: 2px solid #505050 !important; + border-radius: 1px; } + +.b-x-2px-light-black-1px { + border-right: 2px solid #505050 !important; + border-left: 2px solid #505050 !important; + border-radius: 1px; } + +.b-y-2px-light-black-1px { + border-top: 2px solid #505050 !important; + border-bottom: 2px solid #505050 !important; + border-radius: 1px; } + +.b-a-2px-dark-white-1px { + border: 2px solid #EAE8E0 !important; + border-radius: 1px; } + +.b-t-2px-dark-white-1px { + border-top: 2px solid #EAE8E0 !important; + border-radius: 1px; } + +.b-r-2px-dark-white-1px { + border-right: 2px solid #EAE8E0 !important; + border-radius: 1px; } + +.b-b-2px-dark-white-1px { + border-bottom: 2px solid #EAE8E0 !important; + border-radius: 1px; } + +.b-l-2px-dark-white-1px { + border-left: 2px solid #EAE8E0 !important; + border-radius: 1px; } + +.b-x-2px-dark-white-1px { + border-right: 2px solid #EAE8E0 !important; + border-left: 2px solid #EAE8E0 !important; + border-radius: 1px; } + +.b-y-2px-dark-white-1px { + border-top: 2px solid #EAE8E0 !important; + border-bottom: 2px solid #EAE8E0 !important; + border-radius: 1px; } + +.b-a-2px-light-white-1px { + border: 2px solid #EEE7F7 !important; + border-radius: 1px; } + +.b-t-2px-light-white-1px { + border-top: 2px solid #EEE7F7 !important; + border-radius: 1px; } + +.b-r-2px-light-white-1px { + border-right: 2px solid #EEE7F7 !important; + border-radius: 1px; } + +.b-b-2px-light-white-1px { + border-bottom: 2px solid #EEE7F7 !important; + border-radius: 1px; } + +.b-l-2px-light-white-1px { + border-left: 2px solid #EEE7F7 !important; + border-radius: 1px; } + +.b-x-2px-light-white-1px { + border-right: 2px solid #EEE7F7 !important; + border-left: 2px solid #EEE7F7 !important; + border-radius: 1px; } + +.b-y-2px-light-white-1px { + border-top: 2px solid #EEE7F7 !important; + border-bottom: 2px solid #EEE7F7 !important; + border-radius: 1px; } + +.b-a-2px-green-blue-1px { + border: 2px solid #60daaa !important; + border-radius: 1px; } + +.b-t-2px-green-blue-1px { + border-top: 2px solid #60daaa !important; + border-radius: 1px; } + +.b-r-2px-green-blue-1px { + border-right: 2px solid #60daaa !important; + border-radius: 1px; } + +.b-b-2px-green-blue-1px { + border-bottom: 2px solid #60daaa !important; + border-radius: 1px; } + +.b-l-2px-green-blue-1px { + border-left: 2px solid #60daaa !important; + border-radius: 1px; } + +.b-x-2px-green-blue-1px { + border-right: 2px solid #60daaa !important; + border-left: 2px solid #60daaa !important; + border-radius: 1px; } + +.b-y-2px-green-blue-1px { + border-top: 2px solid #60daaa !important; + border-bottom: 2px solid #60daaa !important; + border-radius: 1px; } + +.b-a-2px-green-1px { + border: 2px solid #00E676 !important; + border-radius: 1px; } + +.b-t-2px-green-1px { + border-top: 2px solid #00E676 !important; + border-radius: 1px; } + +.b-r-2px-green-1px { + border-right: 2px solid #00E676 !important; + border-radius: 1px; } + +.b-b-2px-green-1px { + border-bottom: 2px solid #00E676 !important; + border-radius: 1px; } + +.b-l-2px-green-1px { + border-left: 2px solid #00E676 !important; + border-radius: 1px; } + +.b-x-2px-green-1px { + border-right: 2px solid #00E676 !important; + border-left: 2px solid #00E676 !important; + border-radius: 1px; } + +.b-y-2px-green-1px { + border-top: 2px solid #00E676 !important; + border-bottom: 2px solid #00E676 !important; + border-radius: 1px; } + +.b-a-2px-old-green-1px { + border: 2px solid #ACD07A !important; + border-radius: 1px; } + +.b-t-2px-old-green-1px { + border-top: 2px solid #ACD07A !important; + border-radius: 1px; } + +.b-r-2px-old-green-1px { + border-right: 2px solid #ACD07A !important; + border-radius: 1px; } + +.b-b-2px-old-green-1px { + border-bottom: 2px solid #ACD07A !important; + border-radius: 1px; } + +.b-l-2px-old-green-1px { + border-left: 2px solid #ACD07A !important; + border-radius: 1px; } + +.b-x-2px-old-green-1px { + border-right: 2px solid #ACD07A !important; + border-left: 2px solid #ACD07A !important; + border-radius: 1px; } + +.b-y-2px-old-green-1px { + border-top: 2px solid #ACD07A !important; + border-bottom: 2px solid #ACD07A !important; + border-radius: 1px; } + +.b-a-2px-light-deep-green-1px { + border: 2px solid #1abb9c !important; + border-radius: 1px; } + +.b-t-2px-light-deep-green-1px { + border-top: 2px solid #1abb9c !important; + border-radius: 1px; } + +.b-r-2px-light-deep-green-1px { + border-right: 2px solid #1abb9c !important; + border-radius: 1px; } + +.b-b-2px-light-deep-green-1px { + border-bottom: 2px solid #1abb9c !important; + border-radius: 1px; } + +.b-l-2px-light-deep-green-1px { + border-left: 2px solid #1abb9c !important; + border-radius: 1px; } + +.b-x-2px-light-deep-green-1px { + border-right: 2px solid #1abb9c !important; + border-left: 2px solid #1abb9c !important; + border-radius: 1px; } + +.b-y-2px-light-deep-green-1px { + border-top: 2px solid #1abb9c !important; + border-bottom: 2px solid #1abb9c !important; + border-radius: 1px; } + +.b-a-2px-deep-green-1px { + border: 2px solid #169f84 !important; + border-radius: 1px; } + +.b-t-2px-deep-green-1px { + border-top: 2px solid #169f84 !important; + border-radius: 1px; } + +.b-r-2px-deep-green-1px { + border-right: 2px solid #169f84 !important; + border-radius: 1px; } + +.b-b-2px-deep-green-1px { + border-bottom: 2px solid #169f84 !important; + border-radius: 1px; } + +.b-l-2px-deep-green-1px { + border-left: 2px solid #169f84 !important; + border-radius: 1px; } + +.b-x-2px-deep-green-1px { + border-right: 2px solid #169f84 !important; + border-left: 2px solid #169f84 !important; + border-radius: 1px; } + +.b-y-2px-deep-green-1px { + border-top: 2px solid #169f84 !important; + border-bottom: 2px solid #169f84 !important; + border-radius: 1px; } + +.b-a-2px-yellow-1px { + border: 2px solid #fbca67 !important; + border-radius: 1px; } + +.b-t-2px-yellow-1px { + border-top: 2px solid #fbca67 !important; + border-radius: 1px; } + +.b-r-2px-yellow-1px { + border-right: 2px solid #fbca67 !important; + border-radius: 1px; } + +.b-b-2px-yellow-1px { + border-bottom: 2px solid #fbca67 !important; + border-radius: 1px; } + +.b-l-2px-yellow-1px { + border-left: 2px solid #fbca67 !important; + border-radius: 1px; } + +.b-x-2px-yellow-1px { + border-right: 2px solid #fbca67 !important; + border-left: 2px solid #fbca67 !important; + border-radius: 1px; } + +.b-y-2px-yellow-1px { + border-top: 2px solid #fbca67 !important; + border-bottom: 2px solid #fbca67 !important; + border-radius: 1px; } + +.b-a-2px-orange-1px { + border: 2px solid #ff8a30 !important; + border-radius: 1px; } + +.b-t-2px-orange-1px { + border-top: 2px solid #ff8a30 !important; + border-radius: 1px; } + +.b-r-2px-orange-1px { + border-right: 2px solid #ff8a30 !important; + border-radius: 1px; } + +.b-b-2px-orange-1px { + border-bottom: 2px solid #ff8a30 !important; + border-radius: 1px; } + +.b-l-2px-orange-1px { + border-left: 2px solid #ff8a30 !important; + border-radius: 1px; } + +.b-x-2px-orange-1px { + border-right: 2px solid #ff8a30 !important; + border-left: 2px solid #ff8a30 !important; + border-radius: 1px; } + +.b-y-2px-orange-1px { + border-top: 2px solid #ff8a30 !important; + border-bottom: 2px solid #ff8a30 !important; + border-radius: 1px; } + +.b-a-2px-red-1px { + border: 2px solid #f45e61 !important; + border-radius: 1px; } + +.b-t-2px-red-1px { + border-top: 2px solid #f45e61 !important; + border-radius: 1px; } + +.b-r-2px-red-1px { + border-right: 2px solid #f45e61 !important; + border-radius: 1px; } + +.b-b-2px-red-1px { + border-bottom: 2px solid #f45e61 !important; + border-radius: 1px; } + +.b-l-2px-red-1px { + border-left: 2px solid #f45e61 !important; + border-radius: 1px; } + +.b-x-2px-red-1px { + border-right: 2px solid #f45e61 !important; + border-left: 2px solid #f45e61 !important; + border-radius: 1px; } + +.b-y-2px-red-1px { + border-top: 2px solid #f45e61 !important; + border-bottom: 2px solid #f45e61 !important; + border-radius: 1px; } + +.b-a-2px-red-heart-1px { + border: 2px solid #f10829 !important; + border-radius: 1px; } + +.b-t-2px-red-heart-1px { + border-top: 2px solid #f10829 !important; + border-radius: 1px; } + +.b-r-2px-red-heart-1px { + border-right: 2px solid #f10829 !important; + border-radius: 1px; } + +.b-b-2px-red-heart-1px { + border-bottom: 2px solid #f10829 !important; + border-radius: 1px; } + +.b-l-2px-red-heart-1px { + border-left: 2px solid #f10829 !important; + border-radius: 1px; } + +.b-x-2px-red-heart-1px { + border-right: 2px solid #f10829 !important; + border-left: 2px solid #f10829 !important; + border-radius: 1px; } + +.b-y-2px-red-heart-1px { + border-top: 2px solid #f10829 !important; + border-bottom: 2px solid #f10829 !important; + border-radius: 1px; } + +.b-a-2px-cyan-1px { + border: 2px solid #0eb7da !important; + border-radius: 1px; } + +.b-t-2px-cyan-1px { + border-top: 2px solid #0eb7da !important; + border-radius: 1px; } + +.b-r-2px-cyan-1px { + border-right: 2px solid #0eb7da !important; + border-radius: 1px; } + +.b-b-2px-cyan-1px { + border-bottom: 2px solid #0eb7da !important; + border-radius: 1px; } + +.b-l-2px-cyan-1px { + border-left: 2px solid #0eb7da !important; + border-radius: 1px; } + +.b-x-2px-cyan-1px { + border-right: 2px solid #0eb7da !important; + border-left: 2px solid #0eb7da !important; + border-radius: 1px; } + +.b-y-2px-cyan-1px { + border-top: 2px solid #0eb7da !important; + border-bottom: 2px solid #0eb7da !important; + border-radius: 1px; } + +.b-a-2px-purple-1px { + border: 2px solid #6477b9 !important; + border-radius: 1px; } + +.b-t-2px-purple-1px { + border-top: 2px solid #6477b9 !important; + border-radius: 1px; } + +.b-r-2px-purple-1px { + border-right: 2px solid #6477b9 !important; + border-radius: 1px; } + +.b-b-2px-purple-1px { + border-bottom: 2px solid #6477b9 !important; + border-radius: 1px; } + +.b-l-2px-purple-1px { + border-left: 2px solid #6477b9 !important; + border-radius: 1px; } + +.b-x-2px-purple-1px { + border-right: 2px solid #6477b9 !important; + border-left: 2px solid #6477b9 !important; + border-radius: 1px; } + +.b-y-2px-purple-1px { + border-top: 2px solid #6477b9 !important; + border-bottom: 2px solid #6477b9 !important; + border-radius: 1px; } + +.b-a-2px-light-blue-1px { + border: 2px solid #2fa0d0 !important; + border-radius: 1px; } + +.b-t-2px-light-blue-1px { + border-top: 2px solid #2fa0d0 !important; + border-radius: 1px; } + +.b-r-2px-light-blue-1px { + border-right: 2px solid #2fa0d0 !important; + border-radius: 1px; } + +.b-b-2px-light-blue-1px { + border-bottom: 2px solid #2fa0d0 !important; + border-radius: 1px; } + +.b-l-2px-light-blue-1px { + border-left: 2px solid #2fa0d0 !important; + border-radius: 1px; } + +.b-x-2px-light-blue-1px { + border-right: 2px solid #2fa0d0 !important; + border-left: 2px solid #2fa0d0 !important; + border-radius: 1px; } + +.b-y-2px-light-blue-1px { + border-top: 2px solid #2fa0d0 !important; + border-bottom: 2px solid #2fa0d0 !important; + border-radius: 1px; } + +.b-a-2px-deep-blue-1px { + border: 2px solid #2f4bd0 !important; + border-radius: 1px; } + +.b-t-2px-deep-blue-1px { + border-top: 2px solid #2f4bd0 !important; + border-radius: 1px; } + +.b-r-2px-deep-blue-1px { + border-right: 2px solid #2f4bd0 !important; + border-radius: 1px; } + +.b-b-2px-deep-blue-1px { + border-bottom: 2px solid #2f4bd0 !important; + border-radius: 1px; } + +.b-l-2px-deep-blue-1px { + border-left: 2px solid #2f4bd0 !important; + border-radius: 1px; } + +.b-x-2px-deep-blue-1px { + border-right: 2px solid #2f4bd0 !important; + border-left: 2px solid #2f4bd0 !important; + border-radius: 1px; } + +.b-y-2px-deep-blue-1px { + border-top: 2px solid #2f4bd0 !important; + border-bottom: 2px solid #2f4bd0 !important; + border-radius: 1px; } + +.b-a-2px-dark-blue-1px { + border: 2px solid #141E27 !important; + border-radius: 1px; } + +.b-t-2px-dark-blue-1px { + border-top: 2px solid #141E27 !important; + border-radius: 1px; } + +.b-r-2px-dark-blue-1px { + border-right: 2px solid #141E27 !important; + border-radius: 1px; } + +.b-b-2px-dark-blue-1px { + border-bottom: 2px solid #141E27 !important; + border-radius: 1px; } + +.b-l-2px-dark-blue-1px { + border-left: 2px solid #141E27 !important; + border-radius: 1px; } + +.b-x-2px-dark-blue-1px { + border-right: 2px solid #141E27 !important; + border-left: 2px solid #141E27 !important; + border-radius: 1px; } + +.b-y-2px-dark-blue-1px { + border-top: 2px solid #141E27 !important; + border-bottom: 2px solid #141E27 !important; + border-radius: 1px; } + +.b-a-2px-dark-brown-1px { + border: 2px solid #212220 !important; + border-radius: 1px; } + +.b-t-2px-dark-brown-1px { + border-top: 2px solid #212220 !important; + border-radius: 1px; } + +.b-r-2px-dark-brown-1px { + border-right: 2px solid #212220 !important; + border-radius: 1px; } + +.b-b-2px-dark-brown-1px { + border-bottom: 2px solid #212220 !important; + border-radius: 1px; } + +.b-l-2px-dark-brown-1px { + border-left: 2px solid #212220 !important; + border-radius: 1px; } + +.b-x-2px-dark-brown-1px { + border-right: 2px solid #212220 !important; + border-left: 2px solid #212220 !important; + border-radius: 1px; } + +.b-y-2px-dark-brown-1px { + border-top: 2px solid #212220 !important; + border-bottom: 2px solid #212220 !important; + border-radius: 1px; } + +.b-a-2px-Development-1px { + border: 2px solid #0eb7da !important; + border-radius: 1px; } + +.b-t-2px-Development-1px { + border-top: 2px solid #0eb7da !important; + border-radius: 1px; } + +.b-r-2px-Development-1px { + border-right: 2px solid #0eb7da !important; + border-radius: 1px; } + +.b-b-2px-Development-1px { + border-bottom: 2px solid #0eb7da !important; + border-radius: 1px; } + +.b-l-2px-Development-1px { + border-left: 2px solid #0eb7da !important; + border-radius: 1px; } + +.b-x-2px-Development-1px { + border-right: 2px solid #0eb7da !important; + border-left: 2px solid #0eb7da !important; + border-radius: 1px; } + +.b-y-2px-Development-1px { + border-top: 2px solid #0eb7da !important; + border-bottom: 2px solid #0eb7da !important; + border-radius: 1px; } + +.b-a-2px-Game-1px { + border: 2px solid #00E676 !important; + border-radius: 1px; } + +.b-t-2px-Game-1px { + border-top: 2px solid #00E676 !important; + border-radius: 1px; } + +.b-r-2px-Game-1px { + border-right: 2px solid #00E676 !important; + border-radius: 1px; } + +.b-b-2px-Game-1px { + border-bottom: 2px solid #00E676 !important; + border-radius: 1px; } + +.b-l-2px-Game-1px { + border-left: 2px solid #00E676 !important; + border-radius: 1px; } + +.b-x-2px-Game-1px { + border-right: 2px solid #00E676 !important; + border-left: 2px solid #00E676 !important; + border-radius: 1px; } + +.b-y-2px-Game-1px { + border-top: 2px solid #00E676 !important; + border-bottom: 2px solid #00E676 !important; + border-radius: 1px; } + +.b-a-2px-Education-1px { + border: 2px solid #ACD07A !important; + border-radius: 1px; } + +.b-t-2px-Education-1px { + border-top: 2px solid #ACD07A !important; + border-radius: 1px; } + +.b-r-2px-Education-1px { + border-right: 2px solid #ACD07A !important; + border-radius: 1px; } + +.b-b-2px-Education-1px { + border-bottom: 2px solid #ACD07A !important; + border-radius: 1px; } + +.b-l-2px-Education-1px { + border-left: 2px solid #ACD07A !important; + border-radius: 1px; } + +.b-x-2px-Education-1px { + border-right: 2px solid #ACD07A !important; + border-left: 2px solid #ACD07A !important; + border-radius: 1px; } + +.b-y-2px-Education-1px { + border-top: 2px solid #ACD07A !important; + border-bottom: 2px solid #ACD07A !important; + border-radius: 1px; } + +.b-a-2px-Social-1px { + border: 2px solid #6477b9 !important; + border-radius: 1px; } + +.b-t-2px-Social-1px { + border-top: 2px solid #6477b9 !important; + border-radius: 1px; } + +.b-r-2px-Social-1px { + border-right: 2px solid #6477b9 !important; + border-radius: 1px; } + +.b-b-2px-Social-1px { + border-bottom: 2px solid #6477b9 !important; + border-radius: 1px; } + +.b-l-2px-Social-1px { + border-left: 2px solid #6477b9 !important; + border-radius: 1px; } + +.b-x-2px-Social-1px { + border-right: 2px solid #6477b9 !important; + border-left: 2px solid #6477b9 !important; + border-radius: 1px; } + +.b-y-2px-Social-1px { + border-top: 2px solid #6477b9 !important; + border-bottom: 2px solid #6477b9 !important; + border-radius: 1px; } + +.b-a-2px-Art-1px { + border: 2px solid #fbca67 !important; + border-radius: 1px; } + +.b-t-2px-Art-1px { + border-top: 2px solid #fbca67 !important; + border-radius: 1px; } + +.b-r-2px-Art-1px { + border-right: 2px solid #fbca67 !important; + border-radius: 1px; } + +.b-b-2px-Art-1px { + border-bottom: 2px solid #fbca67 !important; + border-radius: 1px; } + +.b-l-2px-Art-1px { + border-left: 2px solid #fbca67 !important; + border-radius: 1px; } + +.b-x-2px-Art-1px { + border-right: 2px solid #fbca67 !important; + border-left: 2px solid #fbca67 !important; + border-radius: 1px; } + +.b-y-2px-Art-1px { + border-top: 2px solid #fbca67 !important; + border-bottom: 2px solid #fbca67 !important; + border-radius: 1px; } + +.b-a-2px-Sports-1px { + border: 2px solid #2f4bd0 !important; + border-radius: 1px; } + +.b-t-2px-Sports-1px { + border-top: 2px solid #2f4bd0 !important; + border-radius: 1px; } + +.b-r-2px-Sports-1px { + border-right: 2px solid #2f4bd0 !important; + border-radius: 1px; } + +.b-b-2px-Sports-1px { + border-bottom: 2px solid #2f4bd0 !important; + border-radius: 1px; } + +.b-l-2px-Sports-1px { + border-left: 2px solid #2f4bd0 !important; + border-radius: 1px; } + +.b-x-2px-Sports-1px { + border-right: 2px solid #2f4bd0 !important; + border-left: 2px solid #2f4bd0 !important; + border-radius: 1px; } + +.b-y-2px-Sports-1px { + border-top: 2px solid #2f4bd0 !important; + border-bottom: 2px solid #2f4bd0 !important; + border-radius: 1px; } + +.b-a-2px-Health-1px { + border: 2px solid #2fa0d0 !important; + border-radius: 1px; } + +.b-t-2px-Health-1px { + border-top: 2px solid #2fa0d0 !important; + border-radius: 1px; } + +.b-r-2px-Health-1px { + border-right: 2px solid #2fa0d0 !important; + border-radius: 1px; } + +.b-b-2px-Health-1px { + border-bottom: 2px solid #2fa0d0 !important; + border-radius: 1px; } + +.b-l-2px-Health-1px { + border-left: 2px solid #2fa0d0 !important; + border-radius: 1px; } + +.b-x-2px-Health-1px { + border-right: 2px solid #2fa0d0 !important; + border-left: 2px solid #2fa0d0 !important; + border-radius: 1px; } + +.b-y-2px-Health-1px { + border-top: 2px solid #2fa0d0 !important; + border-bottom: 2px solid #2fa0d0 !important; + border-radius: 1px; } + +.b-a-2px-News-1px { + border: 2px solid #ff8a30 !important; + border-radius: 1px; } + +.b-t-2px-News-1px { + border-top: 2px solid #ff8a30 !important; + border-radius: 1px; } + +.b-r-2px-News-1px { + border-right: 2px solid #ff8a30 !important; + border-radius: 1px; } + +.b-b-2px-News-1px { + border-bottom: 2px solid #ff8a30 !important; + border-radius: 1px; } + +.b-l-2px-News-1px { + border-left: 2px solid #ff8a30 !important; + border-radius: 1px; } + +.b-x-2px-News-1px { + border-right: 2px solid #ff8a30 !important; + border-left: 2px solid #ff8a30 !important; + border-radius: 1px; } + +.b-y-2px-News-1px { + border-top: 2px solid #ff8a30 !important; + border-bottom: 2px solid #ff8a30 !important; + border-radius: 1px; } + +.b-a-2px-google-1px { + border: 2px solid #DD4B38 !important; + border-radius: 1px; } + +.b-t-2px-google-1px { + border-top: 2px solid #DD4B38 !important; + border-radius: 1px; } + +.b-r-2px-google-1px { + border-right: 2px solid #DD4B38 !important; + border-radius: 1px; } + +.b-b-2px-google-1px { + border-bottom: 2px solid #DD4B38 !important; + border-radius: 1px; } + +.b-l-2px-google-1px { + border-left: 2px solid #DD4B38 !important; + border-radius: 1px; } + +.b-x-2px-google-1px { + border-right: 2px solid #DD4B38 !important; + border-left: 2px solid #DD4B38 !important; + border-radius: 1px; } + +.b-y-2px-google-1px { + border-top: 2px solid #DD4B38 !important; + border-bottom: 2px solid #DD4B38 !important; + border-radius: 1px; } + +.b-a-2px-facebook-1px { + border: 2px solid #3B5998 !important; + border-radius: 1px; } + +.b-t-2px-facebook-1px { + border-top: 2px solid #3B5998 !important; + border-radius: 1px; } + +.b-r-2px-facebook-1px { + border-right: 2px solid #3B5998 !important; + border-radius: 1px; } + +.b-b-2px-facebook-1px { + border-bottom: 2px solid #3B5998 !important; + border-radius: 1px; } + +.b-l-2px-facebook-1px { + border-left: 2px solid #3B5998 !important; + border-radius: 1px; } + +.b-x-2px-facebook-1px { + border-right: 2px solid #3B5998 !important; + border-left: 2px solid #3B5998 !important; + border-radius: 1px; } + +.b-y-2px-facebook-1px { + border-top: 2px solid #3B5998 !important; + border-bottom: 2px solid #3B5998 !important; + border-radius: 1px; } + +.b-a-2px-twitter-1px { + border: 2px solid #55ACEE !important; + border-radius: 1px; } + +.b-t-2px-twitter-1px { + border-top: 2px solid #55ACEE !important; + border-radius: 1px; } + +.b-r-2px-twitter-1px { + border-right: 2px solid #55ACEE !important; + border-radius: 1px; } + +.b-b-2px-twitter-1px { + border-bottom: 2px solid #55ACEE !important; + border-radius: 1px; } + +.b-l-2px-twitter-1px { + border-left: 2px solid #55ACEE !important; + border-radius: 1px; } + +.b-x-2px-twitter-1px { + border-right: 2px solid #55ACEE !important; + border-left: 2px solid #55ACEE !important; + border-radius: 1px; } + +.b-y-2px-twitter-1px { + border-top: 2px solid #55ACEE !important; + border-bottom: 2px solid #55ACEE !important; + border-radius: 1px; } + +.b-a-1px-black-3px { + border: 1px solid #000 !important; + border-radius: 3px; } + +.b-t-1px-black-3px { + border-top: 1px solid #000 !important; + border-radius: 3px; } + +.b-r-1px-black-3px { + border-right: 1px solid #000 !important; + border-radius: 3px; } + +.b-b-1px-black-3px { + border-bottom: 1px solid #000 !important; + border-radius: 3px; } + +.b-l-1px-black-3px { + border-left: 1px solid #000 !important; + border-radius: 3px; } + +.b-x-1px-black-3px { + border-right: 1px solid #000 !important; + border-left: 1px solid #000 !important; + border-radius: 3px; } + +.b-y-1px-black-3px { + border-top: 1px solid #000 !important; + border-bottom: 1px solid #000 !important; + border-radius: 3px; } + +.b-a-1px-white-3px { + border: 1px solid #fefefe !important; + border-radius: 3px; } + +.b-t-1px-white-3px { + border-top: 1px solid #fefefe !important; + border-radius: 3px; } + +.b-r-1px-white-3px { + border-right: 1px solid #fefefe !important; + border-radius: 3px; } + +.b-b-1px-white-3px { + border-bottom: 1px solid #fefefe !important; + border-radius: 3px; } + +.b-l-1px-white-3px { + border-left: 1px solid #fefefe !important; + border-radius: 3px; } + +.b-x-1px-white-3px { + border-right: 1px solid #fefefe !important; + border-left: 1px solid #fefefe !important; + border-radius: 3px; } + +.b-y-1px-white-3px { + border-top: 1px solid #fefefe !important; + border-bottom: 1px solid #fefefe !important; + border-radius: 3px; } + +.b-a-1px-light-black-3px { + border: 1px solid #505050 !important; + border-radius: 3px; } + +.b-t-1px-light-black-3px { + border-top: 1px solid #505050 !important; + border-radius: 3px; } + +.b-r-1px-light-black-3px { + border-right: 1px solid #505050 !important; + border-radius: 3px; } + +.b-b-1px-light-black-3px { + border-bottom: 1px solid #505050 !important; + border-radius: 3px; } + +.b-l-1px-light-black-3px { + border-left: 1px solid #505050 !important; + border-radius: 3px; } + +.b-x-1px-light-black-3px { + border-right: 1px solid #505050 !important; + border-left: 1px solid #505050 !important; + border-radius: 3px; } + +.b-y-1px-light-black-3px { + border-top: 1px solid #505050 !important; + border-bottom: 1px solid #505050 !important; + border-radius: 3px; } + +.b-a-1px-dark-white-3px { + border: 1px solid #EAE8E0 !important; + border-radius: 3px; } + +.b-t-1px-dark-white-3px { + border-top: 1px solid #EAE8E0 !important; + border-radius: 3px; } + +.b-r-1px-dark-white-3px { + border-right: 1px solid #EAE8E0 !important; + border-radius: 3px; } + +.b-b-1px-dark-white-3px { + border-bottom: 1px solid #EAE8E0 !important; + border-radius: 3px; } + +.b-l-1px-dark-white-3px { + border-left: 1px solid #EAE8E0 !important; + border-radius: 3px; } + +.b-x-1px-dark-white-3px { + border-right: 1px solid #EAE8E0 !important; + border-left: 1px solid #EAE8E0 !important; + border-radius: 3px; } + +.b-y-1px-dark-white-3px { + border-top: 1px solid #EAE8E0 !important; + border-bottom: 1px solid #EAE8E0 !important; + border-radius: 3px; } + +.b-a-1px-light-white-3px { + border: 1px solid #EEE7F7 !important; + border-radius: 3px; } + +.b-t-1px-light-white-3px { + border-top: 1px solid #EEE7F7 !important; + border-radius: 3px; } + +.b-r-1px-light-white-3px { + border-right: 1px solid #EEE7F7 !important; + border-radius: 3px; } + +.b-b-1px-light-white-3px { + border-bottom: 1px solid #EEE7F7 !important; + border-radius: 3px; } + +.b-l-1px-light-white-3px { + border-left: 1px solid #EEE7F7 !important; + border-radius: 3px; } + +.b-x-1px-light-white-3px { + border-right: 1px solid #EEE7F7 !important; + border-left: 1px solid #EEE7F7 !important; + border-radius: 3px; } + +.b-y-1px-light-white-3px { + border-top: 1px solid #EEE7F7 !important; + border-bottom: 1px solid #EEE7F7 !important; + border-radius: 3px; } + +.b-a-1px-green-blue-3px { + border: 1px solid #60daaa !important; + border-radius: 3px; } + +.b-t-1px-green-blue-3px { + border-top: 1px solid #60daaa !important; + border-radius: 3px; } + +.b-r-1px-green-blue-3px { + border-right: 1px solid #60daaa !important; + border-radius: 3px; } + +.b-b-1px-green-blue-3px { + border-bottom: 1px solid #60daaa !important; + border-radius: 3px; } + +.b-l-1px-green-blue-3px { + border-left: 1px solid #60daaa !important; + border-radius: 3px; } + +.b-x-1px-green-blue-3px { + border-right: 1px solid #60daaa !important; + border-left: 1px solid #60daaa !important; + border-radius: 3px; } + +.b-y-1px-green-blue-3px { + border-top: 1px solid #60daaa !important; + border-bottom: 1px solid #60daaa !important; + border-radius: 3px; } + +.b-a-1px-green-3px { + border: 1px solid #00E676 !important; + border-radius: 3px; } + +.b-t-1px-green-3px { + border-top: 1px solid #00E676 !important; + border-radius: 3px; } + +.b-r-1px-green-3px { + border-right: 1px solid #00E676 !important; + border-radius: 3px; } + +.b-b-1px-green-3px { + border-bottom: 1px solid #00E676 !important; + border-radius: 3px; } + +.b-l-1px-green-3px { + border-left: 1px solid #00E676 !important; + border-radius: 3px; } + +.b-x-1px-green-3px { + border-right: 1px solid #00E676 !important; + border-left: 1px solid #00E676 !important; + border-radius: 3px; } + +.b-y-1px-green-3px { + border-top: 1px solid #00E676 !important; + border-bottom: 1px solid #00E676 !important; + border-radius: 3px; } + +.b-a-1px-old-green-3px { + border: 1px solid #ACD07A !important; + border-radius: 3px; } + +.b-t-1px-old-green-3px { + border-top: 1px solid #ACD07A !important; + border-radius: 3px; } + +.b-r-1px-old-green-3px { + border-right: 1px solid #ACD07A !important; + border-radius: 3px; } + +.b-b-1px-old-green-3px { + border-bottom: 1px solid #ACD07A !important; + border-radius: 3px; } + +.b-l-1px-old-green-3px { + border-left: 1px solid #ACD07A !important; + border-radius: 3px; } + +.b-x-1px-old-green-3px { + border-right: 1px solid #ACD07A !important; + border-left: 1px solid #ACD07A !important; + border-radius: 3px; } + +.b-y-1px-old-green-3px { + border-top: 1px solid #ACD07A !important; + border-bottom: 1px solid #ACD07A !important; + border-radius: 3px; } + +.b-a-1px-light-deep-green-3px { + border: 1px solid #1abb9c !important; + border-radius: 3px; } + +.b-t-1px-light-deep-green-3px { + border-top: 1px solid #1abb9c !important; + border-radius: 3px; } + +.b-r-1px-light-deep-green-3px { + border-right: 1px solid #1abb9c !important; + border-radius: 3px; } + +.b-b-1px-light-deep-green-3px { + border-bottom: 1px solid #1abb9c !important; + border-radius: 3px; } + +.b-l-1px-light-deep-green-3px { + border-left: 1px solid #1abb9c !important; + border-radius: 3px; } + +.b-x-1px-light-deep-green-3px { + border-right: 1px solid #1abb9c !important; + border-left: 1px solid #1abb9c !important; + border-radius: 3px; } + +.b-y-1px-light-deep-green-3px { + border-top: 1px solid #1abb9c !important; + border-bottom: 1px solid #1abb9c !important; + border-radius: 3px; } + +.b-a-1px-deep-green-3px { + border: 1px solid #169f84 !important; + border-radius: 3px; } + +.b-t-1px-deep-green-3px { + border-top: 1px solid #169f84 !important; + border-radius: 3px; } + +.b-r-1px-deep-green-3px { + border-right: 1px solid #169f84 !important; + border-radius: 3px; } + +.b-b-1px-deep-green-3px { + border-bottom: 1px solid #169f84 !important; + border-radius: 3px; } + +.b-l-1px-deep-green-3px { + border-left: 1px solid #169f84 !important; + border-radius: 3px; } + +.b-x-1px-deep-green-3px { + border-right: 1px solid #169f84 !important; + border-left: 1px solid #169f84 !important; + border-radius: 3px; } + +.b-y-1px-deep-green-3px { + border-top: 1px solid #169f84 !important; + border-bottom: 1px solid #169f84 !important; + border-radius: 3px; } + +.b-a-1px-yellow-3px { + border: 1px solid #fbca67 !important; + border-radius: 3px; } + +.b-t-1px-yellow-3px { + border-top: 1px solid #fbca67 !important; + border-radius: 3px; } + +.b-r-1px-yellow-3px { + border-right: 1px solid #fbca67 !important; + border-radius: 3px; } + +.b-b-1px-yellow-3px { + border-bottom: 1px solid #fbca67 !important; + border-radius: 3px; } + +.b-l-1px-yellow-3px { + border-left: 1px solid #fbca67 !important; + border-radius: 3px; } + +.b-x-1px-yellow-3px { + border-right: 1px solid #fbca67 !important; + border-left: 1px solid #fbca67 !important; + border-radius: 3px; } + +.b-y-1px-yellow-3px { + border-top: 1px solid #fbca67 !important; + border-bottom: 1px solid #fbca67 !important; + border-radius: 3px; } + +.b-a-1px-orange-3px { + border: 1px solid #ff8a30 !important; + border-radius: 3px; } + +.b-t-1px-orange-3px { + border-top: 1px solid #ff8a30 !important; + border-radius: 3px; } + +.b-r-1px-orange-3px { + border-right: 1px solid #ff8a30 !important; + border-radius: 3px; } + +.b-b-1px-orange-3px { + border-bottom: 1px solid #ff8a30 !important; + border-radius: 3px; } + +.b-l-1px-orange-3px { + border-left: 1px solid #ff8a30 !important; + border-radius: 3px; } + +.b-x-1px-orange-3px { + border-right: 1px solid #ff8a30 !important; + border-left: 1px solid #ff8a30 !important; + border-radius: 3px; } + +.b-y-1px-orange-3px { + border-top: 1px solid #ff8a30 !important; + border-bottom: 1px solid #ff8a30 !important; + border-radius: 3px; } + +.b-a-1px-red-3px { + border: 1px solid #f45e61 !important; + border-radius: 3px; } + +.b-t-1px-red-3px { + border-top: 1px solid #f45e61 !important; + border-radius: 3px; } + +.b-r-1px-red-3px { + border-right: 1px solid #f45e61 !important; + border-radius: 3px; } + +.b-b-1px-red-3px { + border-bottom: 1px solid #f45e61 !important; + border-radius: 3px; } + +.b-l-1px-red-3px { + border-left: 1px solid #f45e61 !important; + border-radius: 3px; } + +.b-x-1px-red-3px { + border-right: 1px solid #f45e61 !important; + border-left: 1px solid #f45e61 !important; + border-radius: 3px; } + +.b-y-1px-red-3px { + border-top: 1px solid #f45e61 !important; + border-bottom: 1px solid #f45e61 !important; + border-radius: 3px; } + +.b-a-1px-red-heart-3px { + border: 1px solid #f10829 !important; + border-radius: 3px; } + +.b-t-1px-red-heart-3px { + border-top: 1px solid #f10829 !important; + border-radius: 3px; } + +.b-r-1px-red-heart-3px { + border-right: 1px solid #f10829 !important; + border-radius: 3px; } + +.b-b-1px-red-heart-3px { + border-bottom: 1px solid #f10829 !important; + border-radius: 3px; } + +.b-l-1px-red-heart-3px { + border-left: 1px solid #f10829 !important; + border-radius: 3px; } + +.b-x-1px-red-heart-3px { + border-right: 1px solid #f10829 !important; + border-left: 1px solid #f10829 !important; + border-radius: 3px; } + +.b-y-1px-red-heart-3px { + border-top: 1px solid #f10829 !important; + border-bottom: 1px solid #f10829 !important; + border-radius: 3px; } + +.b-a-1px-cyan-3px { + border: 1px solid #0eb7da !important; + border-radius: 3px; } + +.b-t-1px-cyan-3px { + border-top: 1px solid #0eb7da !important; + border-radius: 3px; } + +.b-r-1px-cyan-3px { + border-right: 1px solid #0eb7da !important; + border-radius: 3px; } + +.b-b-1px-cyan-3px { + border-bottom: 1px solid #0eb7da !important; + border-radius: 3px; } + +.b-l-1px-cyan-3px { + border-left: 1px solid #0eb7da !important; + border-radius: 3px; } + +.b-x-1px-cyan-3px { + border-right: 1px solid #0eb7da !important; + border-left: 1px solid #0eb7da !important; + border-radius: 3px; } + +.b-y-1px-cyan-3px { + border-top: 1px solid #0eb7da !important; + border-bottom: 1px solid #0eb7da !important; + border-radius: 3px; } + +.b-a-1px-purple-3px { + border: 1px solid #6477b9 !important; + border-radius: 3px; } + +.b-t-1px-purple-3px { + border-top: 1px solid #6477b9 !important; + border-radius: 3px; } + +.b-r-1px-purple-3px { + border-right: 1px solid #6477b9 !important; + border-radius: 3px; } + +.b-b-1px-purple-3px { + border-bottom: 1px solid #6477b9 !important; + border-radius: 3px; } + +.b-l-1px-purple-3px { + border-left: 1px solid #6477b9 !important; + border-radius: 3px; } + +.b-x-1px-purple-3px { + border-right: 1px solid #6477b9 !important; + border-left: 1px solid #6477b9 !important; + border-radius: 3px; } + +.b-y-1px-purple-3px { + border-top: 1px solid #6477b9 !important; + border-bottom: 1px solid #6477b9 !important; + border-radius: 3px; } + +.b-a-1px-light-blue-3px { + border: 1px solid #2fa0d0 !important; + border-radius: 3px; } + +.b-t-1px-light-blue-3px { + border-top: 1px solid #2fa0d0 !important; + border-radius: 3px; } + +.b-r-1px-light-blue-3px { + border-right: 1px solid #2fa0d0 !important; + border-radius: 3px; } + +.b-b-1px-light-blue-3px { + border-bottom: 1px solid #2fa0d0 !important; + border-radius: 3px; } + +.b-l-1px-light-blue-3px { + border-left: 1px solid #2fa0d0 !important; + border-radius: 3px; } + +.b-x-1px-light-blue-3px { + border-right: 1px solid #2fa0d0 !important; + border-left: 1px solid #2fa0d0 !important; + border-radius: 3px; } + +.b-y-1px-light-blue-3px { + border-top: 1px solid #2fa0d0 !important; + border-bottom: 1px solid #2fa0d0 !important; + border-radius: 3px; } + +.b-a-1px-deep-blue-3px { + border: 1px solid #2f4bd0 !important; + border-radius: 3px; } + +.b-t-1px-deep-blue-3px { + border-top: 1px solid #2f4bd0 !important; + border-radius: 3px; } + +.b-r-1px-deep-blue-3px { + border-right: 1px solid #2f4bd0 !important; + border-radius: 3px; } + +.b-b-1px-deep-blue-3px { + border-bottom: 1px solid #2f4bd0 !important; + border-radius: 3px; } + +.b-l-1px-deep-blue-3px { + border-left: 1px solid #2f4bd0 !important; + border-radius: 3px; } + +.b-x-1px-deep-blue-3px { + border-right: 1px solid #2f4bd0 !important; + border-left: 1px solid #2f4bd0 !important; + border-radius: 3px; } + +.b-y-1px-deep-blue-3px { + border-top: 1px solid #2f4bd0 !important; + border-bottom: 1px solid #2f4bd0 !important; + border-radius: 3px; } + +.b-a-1px-dark-blue-3px { + border: 1px solid #141E27 !important; + border-radius: 3px; } + +.b-t-1px-dark-blue-3px { + border-top: 1px solid #141E27 !important; + border-radius: 3px; } + +.b-r-1px-dark-blue-3px { + border-right: 1px solid #141E27 !important; + border-radius: 3px; } + +.b-b-1px-dark-blue-3px { + border-bottom: 1px solid #141E27 !important; + border-radius: 3px; } + +.b-l-1px-dark-blue-3px { + border-left: 1px solid #141E27 !important; + border-radius: 3px; } + +.b-x-1px-dark-blue-3px { + border-right: 1px solid #141E27 !important; + border-left: 1px solid #141E27 !important; + border-radius: 3px; } + +.b-y-1px-dark-blue-3px { + border-top: 1px solid #141E27 !important; + border-bottom: 1px solid #141E27 !important; + border-radius: 3px; } + +.b-a-1px-dark-brown-3px { + border: 1px solid #212220 !important; + border-radius: 3px; } + +.b-t-1px-dark-brown-3px { + border-top: 1px solid #212220 !important; + border-radius: 3px; } + +.b-r-1px-dark-brown-3px { + border-right: 1px solid #212220 !important; + border-radius: 3px; } + +.b-b-1px-dark-brown-3px { + border-bottom: 1px solid #212220 !important; + border-radius: 3px; } + +.b-l-1px-dark-brown-3px { + border-left: 1px solid #212220 !important; + border-radius: 3px; } + +.b-x-1px-dark-brown-3px { + border-right: 1px solid #212220 !important; + border-left: 1px solid #212220 !important; + border-radius: 3px; } + +.b-y-1px-dark-brown-3px { + border-top: 1px solid #212220 !important; + border-bottom: 1px solid #212220 !important; + border-radius: 3px; } + +.b-a-1px-Development-3px { + border: 1px solid #0eb7da !important; + border-radius: 3px; } + +.b-t-1px-Development-3px { + border-top: 1px solid #0eb7da !important; + border-radius: 3px; } + +.b-r-1px-Development-3px { + border-right: 1px solid #0eb7da !important; + border-radius: 3px; } + +.b-b-1px-Development-3px { + border-bottom: 1px solid #0eb7da !important; + border-radius: 3px; } + +.b-l-1px-Development-3px { + border-left: 1px solid #0eb7da !important; + border-radius: 3px; } + +.b-x-1px-Development-3px { + border-right: 1px solid #0eb7da !important; + border-left: 1px solid #0eb7da !important; + border-radius: 3px; } + +.b-y-1px-Development-3px { + border-top: 1px solid #0eb7da !important; + border-bottom: 1px solid #0eb7da !important; + border-radius: 3px; } + +.b-a-1px-Game-3px { + border: 1px solid #00E676 !important; + border-radius: 3px; } + +.b-t-1px-Game-3px { + border-top: 1px solid #00E676 !important; + border-radius: 3px; } + +.b-r-1px-Game-3px { + border-right: 1px solid #00E676 !important; + border-radius: 3px; } + +.b-b-1px-Game-3px { + border-bottom: 1px solid #00E676 !important; + border-radius: 3px; } + +.b-l-1px-Game-3px { + border-left: 1px solid #00E676 !important; + border-radius: 3px; } + +.b-x-1px-Game-3px { + border-right: 1px solid #00E676 !important; + border-left: 1px solid #00E676 !important; + border-radius: 3px; } + +.b-y-1px-Game-3px { + border-top: 1px solid #00E676 !important; + border-bottom: 1px solid #00E676 !important; + border-radius: 3px; } + +.b-a-1px-Education-3px { + border: 1px solid #ACD07A !important; + border-radius: 3px; } + +.b-t-1px-Education-3px { + border-top: 1px solid #ACD07A !important; + border-radius: 3px; } + +.b-r-1px-Education-3px { + border-right: 1px solid #ACD07A !important; + border-radius: 3px; } + +.b-b-1px-Education-3px { + border-bottom: 1px solid #ACD07A !important; + border-radius: 3px; } + +.b-l-1px-Education-3px { + border-left: 1px solid #ACD07A !important; + border-radius: 3px; } + +.b-x-1px-Education-3px { + border-right: 1px solid #ACD07A !important; + border-left: 1px solid #ACD07A !important; + border-radius: 3px; } + +.b-y-1px-Education-3px { + border-top: 1px solid #ACD07A !important; + border-bottom: 1px solid #ACD07A !important; + border-radius: 3px; } + +.b-a-1px-Social-3px { + border: 1px solid #6477b9 !important; + border-radius: 3px; } + +.b-t-1px-Social-3px { + border-top: 1px solid #6477b9 !important; + border-radius: 3px; } + +.b-r-1px-Social-3px { + border-right: 1px solid #6477b9 !important; + border-radius: 3px; } + +.b-b-1px-Social-3px { + border-bottom: 1px solid #6477b9 !important; + border-radius: 3px; } + +.b-l-1px-Social-3px { + border-left: 1px solid #6477b9 !important; + border-radius: 3px; } + +.b-x-1px-Social-3px { + border-right: 1px solid #6477b9 !important; + border-left: 1px solid #6477b9 !important; + border-radius: 3px; } + +.b-y-1px-Social-3px { + border-top: 1px solid #6477b9 !important; + border-bottom: 1px solid #6477b9 !important; + border-radius: 3px; } + +.b-a-1px-Art-3px { + border: 1px solid #fbca67 !important; + border-radius: 3px; } + +.b-t-1px-Art-3px { + border-top: 1px solid #fbca67 !important; + border-radius: 3px; } + +.b-r-1px-Art-3px { + border-right: 1px solid #fbca67 !important; + border-radius: 3px; } + +.b-b-1px-Art-3px { + border-bottom: 1px solid #fbca67 !important; + border-radius: 3px; } + +.b-l-1px-Art-3px { + border-left: 1px solid #fbca67 !important; + border-radius: 3px; } + +.b-x-1px-Art-3px { + border-right: 1px solid #fbca67 !important; + border-left: 1px solid #fbca67 !important; + border-radius: 3px; } + +.b-y-1px-Art-3px { + border-top: 1px solid #fbca67 !important; + border-bottom: 1px solid #fbca67 !important; + border-radius: 3px; } + +.b-a-1px-Sports-3px { + border: 1px solid #2f4bd0 !important; + border-radius: 3px; } + +.b-t-1px-Sports-3px { + border-top: 1px solid #2f4bd0 !important; + border-radius: 3px; } + +.b-r-1px-Sports-3px { + border-right: 1px solid #2f4bd0 !important; + border-radius: 3px; } + +.b-b-1px-Sports-3px { + border-bottom: 1px solid #2f4bd0 !important; + border-radius: 3px; } + +.b-l-1px-Sports-3px { + border-left: 1px solid #2f4bd0 !important; + border-radius: 3px; } + +.b-x-1px-Sports-3px { + border-right: 1px solid #2f4bd0 !important; + border-left: 1px solid #2f4bd0 !important; + border-radius: 3px; } + +.b-y-1px-Sports-3px { + border-top: 1px solid #2f4bd0 !important; + border-bottom: 1px solid #2f4bd0 !important; + border-radius: 3px; } + +.b-a-1px-Health-3px { + border: 1px solid #2fa0d0 !important; + border-radius: 3px; } + +.b-t-1px-Health-3px { + border-top: 1px solid #2fa0d0 !important; + border-radius: 3px; } + +.b-r-1px-Health-3px { + border-right: 1px solid #2fa0d0 !important; + border-radius: 3px; } + +.b-b-1px-Health-3px { + border-bottom: 1px solid #2fa0d0 !important; + border-radius: 3px; } + +.b-l-1px-Health-3px { + border-left: 1px solid #2fa0d0 !important; + border-radius: 3px; } + +.b-x-1px-Health-3px { + border-right: 1px solid #2fa0d0 !important; + border-left: 1px solid #2fa0d0 !important; + border-radius: 3px; } + +.b-y-1px-Health-3px { + border-top: 1px solid #2fa0d0 !important; + border-bottom: 1px solid #2fa0d0 !important; + border-radius: 3px; } + +.b-a-1px-News-3px { + border: 1px solid #ff8a30 !important; + border-radius: 3px; } + +.b-t-1px-News-3px { + border-top: 1px solid #ff8a30 !important; + border-radius: 3px; } + +.b-r-1px-News-3px { + border-right: 1px solid #ff8a30 !important; + border-radius: 3px; } + +.b-b-1px-News-3px { + border-bottom: 1px solid #ff8a30 !important; + border-radius: 3px; } + +.b-l-1px-News-3px { + border-left: 1px solid #ff8a30 !important; + border-radius: 3px; } + +.b-x-1px-News-3px { + border-right: 1px solid #ff8a30 !important; + border-left: 1px solid #ff8a30 !important; + border-radius: 3px; } + +.b-y-1px-News-3px { + border-top: 1px solid #ff8a30 !important; + border-bottom: 1px solid #ff8a30 !important; + border-radius: 3px; } + +.b-a-1px-google-3px { + border: 1px solid #DD4B38 !important; + border-radius: 3px; } + +.b-t-1px-google-3px { + border-top: 1px solid #DD4B38 !important; + border-radius: 3px; } + +.b-r-1px-google-3px { + border-right: 1px solid #DD4B38 !important; + border-radius: 3px; } + +.b-b-1px-google-3px { + border-bottom: 1px solid #DD4B38 !important; + border-radius: 3px; } + +.b-l-1px-google-3px { + border-left: 1px solid #DD4B38 !important; + border-radius: 3px; } + +.b-x-1px-google-3px { + border-right: 1px solid #DD4B38 !important; + border-left: 1px solid #DD4B38 !important; + border-radius: 3px; } + +.b-y-1px-google-3px { + border-top: 1px solid #DD4B38 !important; + border-bottom: 1px solid #DD4B38 !important; + border-radius: 3px; } + +.b-a-1px-facebook-3px { + border: 1px solid #3B5998 !important; + border-radius: 3px; } + +.b-t-1px-facebook-3px { + border-top: 1px solid #3B5998 !important; + border-radius: 3px; } + +.b-r-1px-facebook-3px { + border-right: 1px solid #3B5998 !important; + border-radius: 3px; } + +.b-b-1px-facebook-3px { + border-bottom: 1px solid #3B5998 !important; + border-radius: 3px; } + +.b-l-1px-facebook-3px { + border-left: 1px solid #3B5998 !important; + border-radius: 3px; } + +.b-x-1px-facebook-3px { + border-right: 1px solid #3B5998 !important; + border-left: 1px solid #3B5998 !important; + border-radius: 3px; } + +.b-y-1px-facebook-3px { + border-top: 1px solid #3B5998 !important; + border-bottom: 1px solid #3B5998 !important; + border-radius: 3px; } + +.b-a-1px-twitter-3px { + border: 1px solid #55ACEE !important; + border-radius: 3px; } + +.b-t-1px-twitter-3px { + border-top: 1px solid #55ACEE !important; + border-radius: 3px; } + +.b-r-1px-twitter-3px { + border-right: 1px solid #55ACEE !important; + border-radius: 3px; } + +.b-b-1px-twitter-3px { + border-bottom: 1px solid #55ACEE !important; + border-radius: 3px; } + +.b-l-1px-twitter-3px { + border-left: 1px solid #55ACEE !important; + border-radius: 3px; } + +.b-x-1px-twitter-3px { + border-right: 1px solid #55ACEE !important; + border-left: 1px solid #55ACEE !important; + border-radius: 3px; } + +.b-y-1px-twitter-3px { + border-top: 1px solid #55ACEE !important; + border-bottom: 1px solid #55ACEE !important; + border-radius: 3px; } + +.b-a-2px-black-3px { + border: 2px solid #000 !important; + border-radius: 3px; } + +.b-t-2px-black-3px { + border-top: 2px solid #000 !important; + border-radius: 3px; } + +.b-r-2px-black-3px { + border-right: 2px solid #000 !important; + border-radius: 3px; } + +.b-b-2px-black-3px { + border-bottom: 2px solid #000 !important; + border-radius: 3px; } + +.b-l-2px-black-3px { + border-left: 2px solid #000 !important; + border-radius: 3px; } + +.b-x-2px-black-3px { + border-right: 2px solid #000 !important; + border-left: 2px solid #000 !important; + border-radius: 3px; } + +.b-y-2px-black-3px { + border-top: 2px solid #000 !important; + border-bottom: 2px solid #000 !important; + border-radius: 3px; } + +.b-a-2px-white-3px { + border: 2px solid #fefefe !important; + border-radius: 3px; } + +.b-t-2px-white-3px { + border-top: 2px solid #fefefe !important; + border-radius: 3px; } + +.b-r-2px-white-3px { + border-right: 2px solid #fefefe !important; + border-radius: 3px; } + +.b-b-2px-white-3px { + border-bottom: 2px solid #fefefe !important; + border-radius: 3px; } + +.b-l-2px-white-3px { + border-left: 2px solid #fefefe !important; + border-radius: 3px; } + +.b-x-2px-white-3px { + border-right: 2px solid #fefefe !important; + border-left: 2px solid #fefefe !important; + border-radius: 3px; } + +.b-y-2px-white-3px { + border-top: 2px solid #fefefe !important; + border-bottom: 2px solid #fefefe !important; + border-radius: 3px; } + +.b-a-2px-light-black-3px { + border: 2px solid #505050 !important; + border-radius: 3px; } + +.b-t-2px-light-black-3px { + border-top: 2px solid #505050 !important; + border-radius: 3px; } + +.b-r-2px-light-black-3px { + border-right: 2px solid #505050 !important; + border-radius: 3px; } + +.b-b-2px-light-black-3px { + border-bottom: 2px solid #505050 !important; + border-radius: 3px; } + +.b-l-2px-light-black-3px { + border-left: 2px solid #505050 !important; + border-radius: 3px; } + +.b-x-2px-light-black-3px { + border-right: 2px solid #505050 !important; + border-left: 2px solid #505050 !important; + border-radius: 3px; } + +.b-y-2px-light-black-3px { + border-top: 2px solid #505050 !important; + border-bottom: 2px solid #505050 !important; + border-radius: 3px; } + +.b-a-2px-dark-white-3px { + border: 2px solid #EAE8E0 !important; + border-radius: 3px; } + +.b-t-2px-dark-white-3px { + border-top: 2px solid #EAE8E0 !important; + border-radius: 3px; } + +.b-r-2px-dark-white-3px { + border-right: 2px solid #EAE8E0 !important; + border-radius: 3px; } + +.b-b-2px-dark-white-3px { + border-bottom: 2px solid #EAE8E0 !important; + border-radius: 3px; } + +.b-l-2px-dark-white-3px { + border-left: 2px solid #EAE8E0 !important; + border-radius: 3px; } + +.b-x-2px-dark-white-3px { + border-right: 2px solid #EAE8E0 !important; + border-left: 2px solid #EAE8E0 !important; + border-radius: 3px; } + +.b-y-2px-dark-white-3px { + border-top: 2px solid #EAE8E0 !important; + border-bottom: 2px solid #EAE8E0 !important; + border-radius: 3px; } + +.b-a-2px-light-white-3px { + border: 2px solid #EEE7F7 !important; + border-radius: 3px; } + +.b-t-2px-light-white-3px { + border-top: 2px solid #EEE7F7 !important; + border-radius: 3px; } + +.b-r-2px-light-white-3px { + border-right: 2px solid #EEE7F7 !important; + border-radius: 3px; } + +.b-b-2px-light-white-3px { + border-bottom: 2px solid #EEE7F7 !important; + border-radius: 3px; } + +.b-l-2px-light-white-3px { + border-left: 2px solid #EEE7F7 !important; + border-radius: 3px; } + +.b-x-2px-light-white-3px { + border-right: 2px solid #EEE7F7 !important; + border-left: 2px solid #EEE7F7 !important; + border-radius: 3px; } + +.b-y-2px-light-white-3px { + border-top: 2px solid #EEE7F7 !important; + border-bottom: 2px solid #EEE7F7 !important; + border-radius: 3px; } + +.b-a-2px-green-blue-3px { + border: 2px solid #60daaa !important; + border-radius: 3px; } + +.b-t-2px-green-blue-3px { + border-top: 2px solid #60daaa !important; + border-radius: 3px; } + +.b-r-2px-green-blue-3px { + border-right: 2px solid #60daaa !important; + border-radius: 3px; } + +.b-b-2px-green-blue-3px { + border-bottom: 2px solid #60daaa !important; + border-radius: 3px; } + +.b-l-2px-green-blue-3px { + border-left: 2px solid #60daaa !important; + border-radius: 3px; } + +.b-x-2px-green-blue-3px { + border-right: 2px solid #60daaa !important; + border-left: 2px solid #60daaa !important; + border-radius: 3px; } + +.b-y-2px-green-blue-3px { + border-top: 2px solid #60daaa !important; + border-bottom: 2px solid #60daaa !important; + border-radius: 3px; } + +.b-a-2px-green-3px { + border: 2px solid #00E676 !important; + border-radius: 3px; } + +.b-t-2px-green-3px { + border-top: 2px solid #00E676 !important; + border-radius: 3px; } + +.b-r-2px-green-3px { + border-right: 2px solid #00E676 !important; + border-radius: 3px; } + +.b-b-2px-green-3px { + border-bottom: 2px solid #00E676 !important; + border-radius: 3px; } + +.b-l-2px-green-3px { + border-left: 2px solid #00E676 !important; + border-radius: 3px; } + +.b-x-2px-green-3px { + border-right: 2px solid #00E676 !important; + border-left: 2px solid #00E676 !important; + border-radius: 3px; } + +.b-y-2px-green-3px { + border-top: 2px solid #00E676 !important; + border-bottom: 2px solid #00E676 !important; + border-radius: 3px; } + +.b-a-2px-old-green-3px { + border: 2px solid #ACD07A !important; + border-radius: 3px; } + +.b-t-2px-old-green-3px { + border-top: 2px solid #ACD07A !important; + border-radius: 3px; } + +.b-r-2px-old-green-3px { + border-right: 2px solid #ACD07A !important; + border-radius: 3px; } + +.b-b-2px-old-green-3px { + border-bottom: 2px solid #ACD07A !important; + border-radius: 3px; } + +.b-l-2px-old-green-3px { + border-left: 2px solid #ACD07A !important; + border-radius: 3px; } + +.b-x-2px-old-green-3px { + border-right: 2px solid #ACD07A !important; + border-left: 2px solid #ACD07A !important; + border-radius: 3px; } + +.b-y-2px-old-green-3px { + border-top: 2px solid #ACD07A !important; + border-bottom: 2px solid #ACD07A !important; + border-radius: 3px; } + +.b-a-2px-light-deep-green-3px, .searchInput, .searchInput:focus, .search-addon { + border: 2px solid #1abb9c !important; + border-radius: 3px; } + +.b-t-2px-light-deep-green-3px { + border-top: 2px solid #1abb9c !important; + border-radius: 3px; } + +.b-r-2px-light-deep-green-3px { + border-right: 2px solid #1abb9c !important; + border-radius: 3px; } + +.b-b-2px-light-deep-green-3px { + border-bottom: 2px solid #1abb9c !important; + border-radius: 3px; } + +.b-l-2px-light-deep-green-3px { + border-left: 2px solid #1abb9c !important; + border-radius: 3px; } + +.b-x-2px-light-deep-green-3px { + border-right: 2px solid #1abb9c !important; + border-left: 2px solid #1abb9c !important; + border-radius: 3px; } + +.b-y-2px-light-deep-green-3px { + border-top: 2px solid #1abb9c !important; + border-bottom: 2px solid #1abb9c !important; + border-radius: 3px; } + +.b-a-2px-deep-green-3px { + border: 2px solid #169f84 !important; + border-radius: 3px; } + +.b-t-2px-deep-green-3px { + border-top: 2px solid #169f84 !important; + border-radius: 3px; } + +.b-r-2px-deep-green-3px { + border-right: 2px solid #169f84 !important; + border-radius: 3px; } + +.b-b-2px-deep-green-3px { + border-bottom: 2px solid #169f84 !important; + border-radius: 3px; } + +.b-l-2px-deep-green-3px { + border-left: 2px solid #169f84 !important; + border-radius: 3px; } + +.b-x-2px-deep-green-3px { + border-right: 2px solid #169f84 !important; + border-left: 2px solid #169f84 !important; + border-radius: 3px; } + +.b-y-2px-deep-green-3px { + border-top: 2px solid #169f84 !important; + border-bottom: 2px solid #169f84 !important; + border-radius: 3px; } + +.b-a-2px-yellow-3px { + border: 2px solid #fbca67 !important; + border-radius: 3px; } + +.b-t-2px-yellow-3px { + border-top: 2px solid #fbca67 !important; + border-radius: 3px; } + +.b-r-2px-yellow-3px { + border-right: 2px solid #fbca67 !important; + border-radius: 3px; } + +.b-b-2px-yellow-3px { + border-bottom: 2px solid #fbca67 !important; + border-radius: 3px; } + +.b-l-2px-yellow-3px { + border-left: 2px solid #fbca67 !important; + border-radius: 3px; } + +.b-x-2px-yellow-3px { + border-right: 2px solid #fbca67 !important; + border-left: 2px solid #fbca67 !important; + border-radius: 3px; } + +.b-y-2px-yellow-3px { + border-top: 2px solid #fbca67 !important; + border-bottom: 2px solid #fbca67 !important; + border-radius: 3px; } + +.b-a-2px-orange-3px { + border: 2px solid #ff8a30 !important; + border-radius: 3px; } + +.b-t-2px-orange-3px { + border-top: 2px solid #ff8a30 !important; + border-radius: 3px; } + +.b-r-2px-orange-3px { + border-right: 2px solid #ff8a30 !important; + border-radius: 3px; } + +.b-b-2px-orange-3px { + border-bottom: 2px solid #ff8a30 !important; + border-radius: 3px; } + +.b-l-2px-orange-3px { + border-left: 2px solid #ff8a30 !important; + border-radius: 3px; } + +.b-x-2px-orange-3px { + border-right: 2px solid #ff8a30 !important; + border-left: 2px solid #ff8a30 !important; + border-radius: 3px; } + +.b-y-2px-orange-3px { + border-top: 2px solid #ff8a30 !important; + border-bottom: 2px solid #ff8a30 !important; + border-radius: 3px; } + +.b-a-2px-red-3px { + border: 2px solid #f45e61 !important; + border-radius: 3px; } + +.b-t-2px-red-3px { + border-top: 2px solid #f45e61 !important; + border-radius: 3px; } + +.b-r-2px-red-3px { + border-right: 2px solid #f45e61 !important; + border-radius: 3px; } + +.b-b-2px-red-3px { + border-bottom: 2px solid #f45e61 !important; + border-radius: 3px; } + +.b-l-2px-red-3px { + border-left: 2px solid #f45e61 !important; + border-radius: 3px; } + +.b-x-2px-red-3px { + border-right: 2px solid #f45e61 !important; + border-left: 2px solid #f45e61 !important; + border-radius: 3px; } + +.b-y-2px-red-3px { + border-top: 2px solid #f45e61 !important; + border-bottom: 2px solid #f45e61 !important; + border-radius: 3px; } + +.b-a-2px-red-heart-3px { + border: 2px solid #f10829 !important; + border-radius: 3px; } + +.b-t-2px-red-heart-3px { + border-top: 2px solid #f10829 !important; + border-radius: 3px; } + +.b-r-2px-red-heart-3px { + border-right: 2px solid #f10829 !important; + border-radius: 3px; } + +.b-b-2px-red-heart-3px { + border-bottom: 2px solid #f10829 !important; + border-radius: 3px; } + +.b-l-2px-red-heart-3px { + border-left: 2px solid #f10829 !important; + border-radius: 3px; } + +.b-x-2px-red-heart-3px { + border-right: 2px solid #f10829 !important; + border-left: 2px solid #f10829 !important; + border-radius: 3px; } + +.b-y-2px-red-heart-3px { + border-top: 2px solid #f10829 !important; + border-bottom: 2px solid #f10829 !important; + border-radius: 3px; } + +.b-a-2px-cyan-3px { + border: 2px solid #0eb7da !important; + border-radius: 3px; } + +.b-t-2px-cyan-3px { + border-top: 2px solid #0eb7da !important; + border-radius: 3px; } + +.b-r-2px-cyan-3px { + border-right: 2px solid #0eb7da !important; + border-radius: 3px; } + +.b-b-2px-cyan-3px { + border-bottom: 2px solid #0eb7da !important; + border-radius: 3px; } + +.b-l-2px-cyan-3px { + border-left: 2px solid #0eb7da !important; + border-radius: 3px; } + +.b-x-2px-cyan-3px { + border-right: 2px solid #0eb7da !important; + border-left: 2px solid #0eb7da !important; + border-radius: 3px; } + +.b-y-2px-cyan-3px { + border-top: 2px solid #0eb7da !important; + border-bottom: 2px solid #0eb7da !important; + border-radius: 3px; } + +.b-a-2px-purple-3px { + border: 2px solid #6477b9 !important; + border-radius: 3px; } + +.b-t-2px-purple-3px { + border-top: 2px solid #6477b9 !important; + border-radius: 3px; } + +.b-r-2px-purple-3px { + border-right: 2px solid #6477b9 !important; + border-radius: 3px; } + +.b-b-2px-purple-3px { + border-bottom: 2px solid #6477b9 !important; + border-radius: 3px; } + +.b-l-2px-purple-3px { + border-left: 2px solid #6477b9 !important; + border-radius: 3px; } + +.b-x-2px-purple-3px { + border-right: 2px solid #6477b9 !important; + border-left: 2px solid #6477b9 !important; + border-radius: 3px; } + +.b-y-2px-purple-3px { + border-top: 2px solid #6477b9 !important; + border-bottom: 2px solid #6477b9 !important; + border-radius: 3px; } + +.b-a-2px-light-blue-3px { + border: 2px solid #2fa0d0 !important; + border-radius: 3px; } + +.b-t-2px-light-blue-3px { + border-top: 2px solid #2fa0d0 !important; + border-radius: 3px; } + +.b-r-2px-light-blue-3px { + border-right: 2px solid #2fa0d0 !important; + border-radius: 3px; } + +.b-b-2px-light-blue-3px { + border-bottom: 2px solid #2fa0d0 !important; + border-radius: 3px; } + +.b-l-2px-light-blue-3px { + border-left: 2px solid #2fa0d0 !important; + border-radius: 3px; } + +.b-x-2px-light-blue-3px { + border-right: 2px solid #2fa0d0 !important; + border-left: 2px solid #2fa0d0 !important; + border-radius: 3px; } + +.b-y-2px-light-blue-3px { + border-top: 2px solid #2fa0d0 !important; + border-bottom: 2px solid #2fa0d0 !important; + border-radius: 3px; } + +.b-a-2px-deep-blue-3px { + border: 2px solid #2f4bd0 !important; + border-radius: 3px; } + +.b-t-2px-deep-blue-3px { + border-top: 2px solid #2f4bd0 !important; + border-radius: 3px; } + +.b-r-2px-deep-blue-3px { + border-right: 2px solid #2f4bd0 !important; + border-radius: 3px; } + +.b-b-2px-deep-blue-3px { + border-bottom: 2px solid #2f4bd0 !important; + border-radius: 3px; } + +.b-l-2px-deep-blue-3px { + border-left: 2px solid #2f4bd0 !important; + border-radius: 3px; } + +.b-x-2px-deep-blue-3px { + border-right: 2px solid #2f4bd0 !important; + border-left: 2px solid #2f4bd0 !important; + border-radius: 3px; } + +.b-y-2px-deep-blue-3px { + border-top: 2px solid #2f4bd0 !important; + border-bottom: 2px solid #2f4bd0 !important; + border-radius: 3px; } + +.b-a-2px-dark-blue-3px { + border: 2px solid #141E27 !important; + border-radius: 3px; } + +.b-t-2px-dark-blue-3px { + border-top: 2px solid #141E27 !important; + border-radius: 3px; } + +.b-r-2px-dark-blue-3px { + border-right: 2px solid #141E27 !important; + border-radius: 3px; } + +.b-b-2px-dark-blue-3px { + border-bottom: 2px solid #141E27 !important; + border-radius: 3px; } + +.b-l-2px-dark-blue-3px { + border-left: 2px solid #141E27 !important; + border-radius: 3px; } + +.b-x-2px-dark-blue-3px { + border-right: 2px solid #141E27 !important; + border-left: 2px solid #141E27 !important; + border-radius: 3px; } + +.b-y-2px-dark-blue-3px { + border-top: 2px solid #141E27 !important; + border-bottom: 2px solid #141E27 !important; + border-radius: 3px; } + +.b-a-2px-dark-brown-3px { + border: 2px solid #212220 !important; + border-radius: 3px; } + +.b-t-2px-dark-brown-3px { + border-top: 2px solid #212220 !important; + border-radius: 3px; } + +.b-r-2px-dark-brown-3px { + border-right: 2px solid #212220 !important; + border-radius: 3px; } + +.b-b-2px-dark-brown-3px { + border-bottom: 2px solid #212220 !important; + border-radius: 3px; } + +.b-l-2px-dark-brown-3px { + border-left: 2px solid #212220 !important; + border-radius: 3px; } + +.b-x-2px-dark-brown-3px { + border-right: 2px solid #212220 !important; + border-left: 2px solid #212220 !important; + border-radius: 3px; } + +.b-y-2px-dark-brown-3px { + border-top: 2px solid #212220 !important; + border-bottom: 2px solid #212220 !important; + border-radius: 3px; } + +.b-a-2px-Development-3px { + border: 2px solid #0eb7da !important; + border-radius: 3px; } + +.b-t-2px-Development-3px { + border-top: 2px solid #0eb7da !important; + border-radius: 3px; } + +.b-r-2px-Development-3px { + border-right: 2px solid #0eb7da !important; + border-radius: 3px; } + +.b-b-2px-Development-3px { + border-bottom: 2px solid #0eb7da !important; + border-radius: 3px; } + +.b-l-2px-Development-3px { + border-left: 2px solid #0eb7da !important; + border-radius: 3px; } + +.b-x-2px-Development-3px { + border-right: 2px solid #0eb7da !important; + border-left: 2px solid #0eb7da !important; + border-radius: 3px; } + +.b-y-2px-Development-3px { + border-top: 2px solid #0eb7da !important; + border-bottom: 2px solid #0eb7da !important; + border-radius: 3px; } + +.b-a-2px-Game-3px { + border: 2px solid #00E676 !important; + border-radius: 3px; } + +.b-t-2px-Game-3px { + border-top: 2px solid #00E676 !important; + border-radius: 3px; } + +.b-r-2px-Game-3px { + border-right: 2px solid #00E676 !important; + border-radius: 3px; } + +.b-b-2px-Game-3px { + border-bottom: 2px solid #00E676 !important; + border-radius: 3px; } + +.b-l-2px-Game-3px { + border-left: 2px solid #00E676 !important; + border-radius: 3px; } + +.b-x-2px-Game-3px { + border-right: 2px solid #00E676 !important; + border-left: 2px solid #00E676 !important; + border-radius: 3px; } + +.b-y-2px-Game-3px { + border-top: 2px solid #00E676 !important; + border-bottom: 2px solid #00E676 !important; + border-radius: 3px; } + +.b-a-2px-Education-3px { + border: 2px solid #ACD07A !important; + border-radius: 3px; } + +.b-t-2px-Education-3px { + border-top: 2px solid #ACD07A !important; + border-radius: 3px; } + +.b-r-2px-Education-3px { + border-right: 2px solid #ACD07A !important; + border-radius: 3px; } + +.b-b-2px-Education-3px { + border-bottom: 2px solid #ACD07A !important; + border-radius: 3px; } + +.b-l-2px-Education-3px { + border-left: 2px solid #ACD07A !important; + border-radius: 3px; } + +.b-x-2px-Education-3px { + border-right: 2px solid #ACD07A !important; + border-left: 2px solid #ACD07A !important; + border-radius: 3px; } + +.b-y-2px-Education-3px { + border-top: 2px solid #ACD07A !important; + border-bottom: 2px solid #ACD07A !important; + border-radius: 3px; } + +.b-a-2px-Social-3px { + border: 2px solid #6477b9 !important; + border-radius: 3px; } + +.b-t-2px-Social-3px { + border-top: 2px solid #6477b9 !important; + border-radius: 3px; } + +.b-r-2px-Social-3px { + border-right: 2px solid #6477b9 !important; + border-radius: 3px; } + +.b-b-2px-Social-3px { + border-bottom: 2px solid #6477b9 !important; + border-radius: 3px; } + +.b-l-2px-Social-3px { + border-left: 2px solid #6477b9 !important; + border-radius: 3px; } + +.b-x-2px-Social-3px { + border-right: 2px solid #6477b9 !important; + border-left: 2px solid #6477b9 !important; + border-radius: 3px; } + +.b-y-2px-Social-3px { + border-top: 2px solid #6477b9 !important; + border-bottom: 2px solid #6477b9 !important; + border-radius: 3px; } + +.b-a-2px-Art-3px { + border: 2px solid #fbca67 !important; + border-radius: 3px; } + +.b-t-2px-Art-3px { + border-top: 2px solid #fbca67 !important; + border-radius: 3px; } + +.b-r-2px-Art-3px { + border-right: 2px solid #fbca67 !important; + border-radius: 3px; } + +.b-b-2px-Art-3px { + border-bottom: 2px solid #fbca67 !important; + border-radius: 3px; } + +.b-l-2px-Art-3px { + border-left: 2px solid #fbca67 !important; + border-radius: 3px; } + +.b-x-2px-Art-3px { + border-right: 2px solid #fbca67 !important; + border-left: 2px solid #fbca67 !important; + border-radius: 3px; } + +.b-y-2px-Art-3px { + border-top: 2px solid #fbca67 !important; + border-bottom: 2px solid #fbca67 !important; + border-radius: 3px; } + +.b-a-2px-Sports-3px { + border: 2px solid #2f4bd0 !important; + border-radius: 3px; } + +.b-t-2px-Sports-3px { + border-top: 2px solid #2f4bd0 !important; + border-radius: 3px; } + +.b-r-2px-Sports-3px { + border-right: 2px solid #2f4bd0 !important; + border-radius: 3px; } + +.b-b-2px-Sports-3px { + border-bottom: 2px solid #2f4bd0 !important; + border-radius: 3px; } + +.b-l-2px-Sports-3px { + border-left: 2px solid #2f4bd0 !important; + border-radius: 3px; } + +.b-x-2px-Sports-3px { + border-right: 2px solid #2f4bd0 !important; + border-left: 2px solid #2f4bd0 !important; + border-radius: 3px; } + +.b-y-2px-Sports-3px { + border-top: 2px solid #2f4bd0 !important; + border-bottom: 2px solid #2f4bd0 !important; + border-radius: 3px; } + +.b-a-2px-Health-3px { + border: 2px solid #2fa0d0 !important; + border-radius: 3px; } + +.b-t-2px-Health-3px { + border-top: 2px solid #2fa0d0 !important; + border-radius: 3px; } + +.b-r-2px-Health-3px { + border-right: 2px solid #2fa0d0 !important; + border-radius: 3px; } + +.b-b-2px-Health-3px { + border-bottom: 2px solid #2fa0d0 !important; + border-radius: 3px; } + +.b-l-2px-Health-3px { + border-left: 2px solid #2fa0d0 !important; + border-radius: 3px; } + +.b-x-2px-Health-3px { + border-right: 2px solid #2fa0d0 !important; + border-left: 2px solid #2fa0d0 !important; + border-radius: 3px; } + +.b-y-2px-Health-3px { + border-top: 2px solid #2fa0d0 !important; + border-bottom: 2px solid #2fa0d0 !important; + border-radius: 3px; } + +.b-a-2px-News-3px { + border: 2px solid #ff8a30 !important; + border-radius: 3px; } + +.b-t-2px-News-3px { + border-top: 2px solid #ff8a30 !important; + border-radius: 3px; } + +.b-r-2px-News-3px { + border-right: 2px solid #ff8a30 !important; + border-radius: 3px; } + +.b-b-2px-News-3px { + border-bottom: 2px solid #ff8a30 !important; + border-radius: 3px; } + +.b-l-2px-News-3px { + border-left: 2px solid #ff8a30 !important; + border-radius: 3px; } + +.b-x-2px-News-3px { + border-right: 2px solid #ff8a30 !important; + border-left: 2px solid #ff8a30 !important; + border-radius: 3px; } + +.b-y-2px-News-3px { + border-top: 2px solid #ff8a30 !important; + border-bottom: 2px solid #ff8a30 !important; + border-radius: 3px; } + +.b-a-2px-google-3px { + border: 2px solid #DD4B38 !important; + border-radius: 3px; } + +.b-t-2px-google-3px { + border-top: 2px solid #DD4B38 !important; + border-radius: 3px; } + +.b-r-2px-google-3px { + border-right: 2px solid #DD4B38 !important; + border-radius: 3px; } + +.b-b-2px-google-3px { + border-bottom: 2px solid #DD4B38 !important; + border-radius: 3px; } + +.b-l-2px-google-3px { + border-left: 2px solid #DD4B38 !important; + border-radius: 3px; } + +.b-x-2px-google-3px { + border-right: 2px solid #DD4B38 !important; + border-left: 2px solid #DD4B38 !important; + border-radius: 3px; } + +.b-y-2px-google-3px { + border-top: 2px solid #DD4B38 !important; + border-bottom: 2px solid #DD4B38 !important; + border-radius: 3px; } + +.b-a-2px-facebook-3px { + border: 2px solid #3B5998 !important; + border-radius: 3px; } + +.b-t-2px-facebook-3px { + border-top: 2px solid #3B5998 !important; + border-radius: 3px; } + +.b-r-2px-facebook-3px { + border-right: 2px solid #3B5998 !important; + border-radius: 3px; } + +.b-b-2px-facebook-3px { + border-bottom: 2px solid #3B5998 !important; + border-radius: 3px; } + +.b-l-2px-facebook-3px { + border-left: 2px solid #3B5998 !important; + border-radius: 3px; } + +.b-x-2px-facebook-3px { + border-right: 2px solid #3B5998 !important; + border-left: 2px solid #3B5998 !important; + border-radius: 3px; } + +.b-y-2px-facebook-3px { + border-top: 2px solid #3B5998 !important; + border-bottom: 2px solid #3B5998 !important; + border-radius: 3px; } + +.b-a-2px-twitter-3px { + border: 2px solid #55ACEE !important; + border-radius: 3px; } + +.b-t-2px-twitter-3px { + border-top: 2px solid #55ACEE !important; + border-radius: 3px; } + +.b-r-2px-twitter-3px { + border-right: 2px solid #55ACEE !important; + border-radius: 3px; } + +.b-b-2px-twitter-3px { + border-bottom: 2px solid #55ACEE !important; + border-radius: 3px; } + +.b-l-2px-twitter-3px { + border-left: 2px solid #55ACEE !important; + border-radius: 3px; } + +.b-x-2px-twitter-3px { + border-right: 2px solid #55ACEE !important; + border-left: 2px solid #55ACEE !important; + border-radius: 3px; } + +.b-y-2px-twitter-3px { + border-top: 2px solid #55ACEE !important; + border-bottom: 2px solid #55ACEE !important; + border-radius: 3px; } + +.pdl-10px { + padding-left: 10px; } + +.text-400 { + font-weight: 400; } + +.text-300 { + font-weight: 300; } + +.pos-f-b { + position: fixed; + bottom: 0; + right: 0; + left: 0; + z-index: 1030; } + +/*datepicker*/ +.datepicker.dropdown-menu { + width: 250px; + height: 250px; } + +.datepicker.dropdown-menu button { + outline: none; + border: 0px; } + +.datepicker.dropdown-menu tbody { + height: 180px; } + +.datepicker.dropdown-menu tbody button { + padding: 6px; } + +.datepicker.dropdown-menu.datepicker-mode-1 tbody button, .datepicker.dropdown-menu.datepicker-mode-2 tbody button { + height: 65px; } + +.timepicker.dropdown-menu { + padding: 0 4px; } + +.timepicker.dropdown-menu button { + outline: none; + border: 0px; } + +.timepicker.dropdown-menu tbody button { + padding: 6px; } + +/* Loader */ +.loader { + color: #6477b9; + font-size: 10px; + margin: 20px auto; + position: relative; + text-indent: -9999em; + transform: translateZ(0); + animation-delay: -0.16s; } + .loader::before, .loader::after, .loader { + border-radius: 50%; + width: 2.5em; + height: 2.5em; + animation-fill-mode: both; + animation: loadKF 1.8s infinite ease-in-out; } + .loader::before { + left: -3.5em; + animation-delay: -0.32s; } + .loader::after { + left: 3.5em; } + .loader::before, .loader::after { + content: ''; + position: absolute; + top: 0; } + +@keyframes loadKF { + 0%, + 80%, + 100% { + box-shadow: 0 2.5em 0 -1.3em; } + 40% { + box-shadow: 0 2.5em 0 0; } } + +.success { + color: #50be61; + font-size: 18px; + margin: 20px auto; + position: relative; + transform: translateZ(0); + transform: rotate(720deg); } + .success::after { + content: ' Donation made. Thank you!'; + font-size: 18px; } + .success i::after { + font-size: 30px; } + +.lift { + transition: transform 0.7s cubic-bezier(0.18, 0.89, 0.32, 1.28); } + .lift:hover { + transform: translate(0, -8px); } + +.shadow { + box-shadow: 0px 10px 10px -5px rgba(0, 0, 0, 0.62); + transition: box-shadow 0.7s cubic-bezier(0.18, 0.89, 0.32, 1.28); } + .shadow:hover { + box-shadow: 0px 15px 15px 0px rgba(0, 0, 0, 0.62); } + +.header-container { + width: 90%; + margin-left: 5%; } + +.header-item { + max-height: 40px; + font-size: 14px; + border-radius: 1px; + box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.2); + border: solid 1px black; + padding: 7px 24px; + color: black !important; } + +.collapse-item { + font-size: 14px; + color: black !important; } + +.profileImg { + max-height: 35px; + margin-right: 15px; + margin-top: 4.5px; } + +.nav { + line-height: 2; } + +@media screen and (max-width: 544px) { + #collapseNavbar { + margin-top: 15px; } } + +.navbar { + margin: 20px 0; } + +.navbar-brand { + margin-left: 24px; + padding-top: 6px; } + +.navbar-div { + border-top: 2px solid #000 !important; + border-bottom: 2px solid #000; } + +.link { + outline: none; + text-decoration: none; + position: relative; + font-size: 1.5em; + line-height: 1; + color: #9e9ba4; + display: inline-block; } + +/* Nukun */ +.link--nukun { + color: #E3E8DC; + font-weight: 900; + text-transform: uppercase; + overflow: hidden; + padding: 10px 0; + transition: color 0.3s; } + +.link--nukun:hover { + color: #1e1a1b; } + +.link--nukun::before, +.link--nukun::after { + content: ''; + position: absolute; + width: 30%; + height: 5px; + background: #E3E8DC; + bottom: 4px; + left: 35%; + transition: transform 1s; + transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); } + +.link--nukun::after { + background: #ACD07A; + transform: translate3d(-300%, 0, 0) scale3d(1, 1, 1); } + +.link--nukun:hover::before { + transform: translate3d(300%, 0, 0) scale3d(1, 1, 1); } + +.link--nukun:hover::after { + transform: translate3d(0, 0, 0) scale3d(1, 1, 1); } + +.link--nukun span { + color: #E3E8DC; + display: inline-block; + position: relative; + transform: perspective(1000px) rotate3d(0, 1, 0, 0deg); + transition: transform 0.5s, color 0.5s; + transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); } + +.link--nukun:hover span { + color: #fff; + transform: perspective(1000px) rotate3d(0, 1, 0, 180deg); } + +footer { + height: 150px; } + +.footer-row { + height: 100%; + margin-right: 0; + margin-left: 0; } + +.footer-item { + height: 150px; + text-decoration: none !important; + background: none; + border: 0; + color: #ACD07A; + margin: 1em; + padding: 1em 2em; + position: relative; + vertical-align: middle; } + .footer-item::before, .footer-item::after { + content: ''; + position: absolute; + width: 100%; + height: 100%; } + +.draw { + transition: all 0.25s; } + .draw::before, .draw::after { + border: 2px solid transparent; + width: 0; + height: 0; } + .draw::before { + bottom: 0; + right: 0; } + .draw::after { + top: 0; + left: 0; } + .draw:hover { + color: #60daaa; + padding: 20px; } + .draw:hover::before, .draw:hover::after { + width: 100%; + height: 100%; } + .draw:hover::before { + border-bottom-color: #60daaa; + border-left-color: #60daaa; + transition: width 0.25s ease-out, height 0.25s ease-out 0.25s; } + .draw:hover::after { + border-top-color: #60daaa; + border-right-color: #60daaa; + transition: border-color 0s ease-out 0.5s, width 0.25s ease-out 0.5s, height 0.25s ease-out 0.75s; } + +* { + font-family: 'Fira Sans', sans-serif; + margin: 0; + padding: 0; + box-sizing: border-box; } + +body, +head { + max-width: 100%; + background-color: white; } + +li { + list-style-type: none; } + +html { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; } + +h1 { + font-family: "Fira Sans", sans-serif; + font-size: 33px; + font-weight: 500; + line-height: 1.25; + opacity: 1.00; + margin-top: 0; + margin-bottom: 10px; + letter-spacing: -0.72px; + word-spacing: 0.00px; + text-transform: none; } + +h2 { + font-family: "Fira Sans", sans-serif; + font-size: 24px; + font-weight: 700; + line-height: 1.20; + opacity: 1.00; + margin-top: 30px; + margin-bottom: 5px; + letter-spacing: -0.72px; + word-spacing: 0.00px; + text-transform: none; } + +h3 { + font-family: "Fira Sans", sans-serif; + font-size: 20px; + font-weight: 400; + line-height: 1.20; + opacity: 1.00; + margin-top: 30px; + margin-bottom: 5px; + letter-spacing: 0.00px; + word-spacing: 0.00px; + text-transform: none; } + +p { + font-family: "Roboto", sans-serif; + font-size: 18px; + font-weight: 400; + line-height: 1.60; + opacity: 0.70; + margin-top: 0; + margin-bottom: 25px; + letter-spacing: -0.30px; + word-spacing: -0.10px; + text-transform: none; } + +#notFound { + margin: 1em 0; + padding: 0 0 0.25em 0; + border-bottom: 1px dotted #ccc; + text-align: center; + font-size: 3em; + font-weight: 300; + line-height: 1.1em; } + +form input { + border-radius: 0 !important; } + +.home-container { + display: block; } + +.title-bg { + background-image: url("https://firebasestorage.googleapis.com/v0/b/crowdevelop-40f3c.appspot.com/o/title1.jpg?alt=media&token=d6b89087-174b-46f4-b30e-cdfd669627e7"); + background-size: cover; + display: block; + filter: blur(2px); + -webkit-filter: blur(2px); + height: 500px; + left: 0; + position: relative; + right: 0; + z-index: 1; + -webkit-transition: all 1s ease-out; } + .title-bg:hover { + filter: none; + -webkit-filter: none; } + +.text-container { + display: inline-block; + position: relative; + top: -300px; + left: calc(50% - 151px); + z-index: 2; + background: rgba(0, 0, 0, 0.75); + box-shadow: 0 1px 5px rgba(0, 0, 0, 0.25); + color: white; + border-radius: 3px; + padding: 4px 8px; } + +.alternate-title-bg { + background-image: url("https://firebasestorage.googleapis.com/v0/b/crowdevelop-40f3c.appspot.com/o/title1.jpg?alt=media&token=d6b89087-174b-46f4-b30e-cdfd669627e7"); + background-position: center center; + background-size: cover; + background-repeat: no-repeat; + -webkit-filter: blur(1px); + filter: blur(1px); + z-index: 1; + height: 500px; } + +.project-title { + background-position: center; + background-size: cover; + background-repeat: no-repeat; + z-index: -9; + color: #fefefe; + height: 500px; } + +.project-head { + margin: 0 auto; + color: white; + border-radius: 3px; + padding: 4px 8px; + background: rgba(0, 0, 0, 0.75); + box-shadow: 0 1px 5px rgba(0, 0, 0, 0.25); } + +.divider { + height: 1px; + margin: 0.5px 0; + overflow: hidden; + background-color: #e5e5e5; } + +.search-container { + box-shadow: 1px 1px 0 #169f84, 2px 2px 0 #169f84, 3px 3px 0 #169f84, 4px 4px 0 #169f84, 5px 5px 0 #169f84, 6px 6px 0 #169f84, 7px 7px 0 #169f84; } + +.search-addon { + color: white !important; + background-color: #1abb9c !important; } + @media screen and (max-width: 543px) { + .search-addon { + width: 15% !important; } } + @media screen and (min-width: 544px) { + .search-addon { + width: 7% !important; } } + +.search-label { + color: #A9A9A9 !important; + padding-left: 5px; } + +.Site { + display: -ms-flexbox; + display: flex; + min-height: 100vh; + -ms-flex-direction: column; + flex-direction: column; } + +.container-fluid { + padding-left: 0px; + padding-right: 0px; } + +.row { + margin-left: 0px; + margin-right: 0px; } + +.Site-content { + -ms-flex: 1; + flex: 1; } + +.material { + position: relative; + padding: 0; + width: 100%; + border: none; + overflow: visible; + /* Remove focus */ + /* Use custom arrow */ } + .material input { + box-sizing: border-box; + width: 100%; + padding: 12px 10px 8px; + border: none; + border-radius: 0; + box-shadow: none; + border-bottom: 1px solid #DDD; + font-size: 120%; + outline: none; + cursor: text; } + .material input::-webkit-input-placeholder { + transition: color 300ms ease; } + .material input::-moz-placeholder { + transition: color 300ms ease; } + .material input:-ms-input-placeholder { + transition: color 300ms ease; } + .material input::placeholder { + transition: color 300ms ease; } + .material input:not(:focus)::-webkit-input-placeholder { + color: transparent; } + .material input:not(:focus)::-moz-placeholder { + color: transparent; } + .material input:not(:focus):-ms-input-placeholder { + color: transparent; } + .material input:not(:focus)::placeholder { + color: transparent; } + .material label { + position: absolute; + top: 10px; + font-size: 120%; + color: #505050; + transform-origin: 0 -350%; + transition: transform 300ms ease; + pointer-events: none; + z-index: 5; } + .material input:focus ~ label, + .material input:valid ~ label, + .material select ~ label, + .material textarea ~ label { + transform: scale(0.7); } + .material select { + font-family: inherit; + background-color: transparent; + width: 100%; + padding: 4px 0; + font-size: 16px; + color: rgba(0, 0, 0, 0.26); + border: none; + border-bottom: 1px solid rgba(0, 0, 0, 0.12); } + .material select:focus { + outline: none; } + .material .selectField select { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; } + .material .selectField { + font-family: 'Roboto'; + position: relative; } + .material .selectField:after { + position: absolute; + top: 0.75em; + right: 0.5em; + /* Styling the down arrow */ + width: 0; + height: 0; + padding: 0; + content: ''; + border-left: .25em solid transparent; + border-right: .25em solid transparent; + border-top: 0.375em solid rgba(0, 0, 0, 0.12); + pointer-events: none; } + +.inputfile { + width: 0.1px; + height: 0.1px; + opacity: 0; + overflow: hidden; + position: absolute; + padding: 5px 2.5px; + z-index: -1; } + +.inputfile + label { + font-size: 1.25em; + font-weight: 700; + color: white; + padding: 3px 10px; + background-color: #6477b9; + display: inline-block; } + +.inputfile:focus + label, +.inputfile + label:hover { + background-color: #39487e; } + +.inputfile + label { + cursor: pointer; + /* "hand" cursor */ } + +.inputfile:focus + label { + outline: 1px dotted #000; + outline: -webkit-focus-ring-color auto 5px; } + +.search-svg { + width: 30px; + height: auto; } + +.fav-btn { + padding: 2px 10px !important; } + +.heart-svg { + width: 30px; + height: auto; } + +.up-svg, .down-svg { + width: 20px; + height: auto; } + +/* Project list view */ +.project { + background-color: #fefefe; + border-radius: 4px; + border-style: solid; + border-width: 2px; + border-color: #000; + box-sizing: border-box; + cursor: pointer; + padding-left: 0; + padding-right: 0; + box-shadow: 0 5px 24px 1px #000; } + +.projectDetails { + background-color: rgba(38, 50, 56, 0.7); + box-sizing: inherit; + padding: 5px 15px; + cursor: pointer; + box-shadow: 0 5px 24px 1px #000; } + +.fav-icon { + padding-left: 4px !important; } + +.description { + text-align: justify; + display: block; } + +.comment-input { + border: 2px solid #CDD3D7 !important; + border-radius: 4px !important; } + +.comment { + padding-bottom: 15px; } + .comment .comment-header { + display: inline; } + .comment .comment-photo { + max-height: 40px; + width: auto; + margin: 0 10px; } + .comment .comment-writer { + color: #5995DD; + font-size: 15px; } + .comment .comment-text { + color: #444444; + text-align: justify; + padding: 10px 0; + margin: 0; } + +.category { + display: -ms-flexbox; + display: flex; } + +.category-btn { + -ms-flex: 1; + flex: 1; } + +.has-error input { + border-width: 2px; } + +.validation.text-danger:after { + content: 'Validation failed'; } + +.validation.text-success:after { + content: 'Validation passed'; } + +.imageLabel { + color: #a7a7a7 !important; } diff --git a/app/styles/sass/app.scss b/app/styles/sass/app.scss new file mode 100644 index 0000000..72a5922 --- /dev/null +++ b/app/styles/sass/app.scss @@ -0,0 +1,10 @@ +@import "components/variables"; +@import "components/bootstrap"; +@import "components/helpers"; +@import "components/header"; +@import "components/footer"; +@import "components/main"; +@import "components/forms"; +@import "components/icons"; +@import "components/login"; +@import "components/projects"; diff --git a/app/styles/sass/components/bootstrap.scss b/app/styles/sass/components/bootstrap.scss new file mode 100644 index 0000000..a34673e --- /dev/null +++ b/app/styles/sass/components/bootstrap.scss @@ -0,0 +1,109 @@ +/* BOOTSTRAP OVERRIDES */ +.input-group-addon { + width: 7% !important; + background-color: $color-modal-content !important; + border: none !important; + border-bottom: 3px solid $border-color !important; + border-radius: 0 !important; + padding-right: 30px !important; +} + +// BUTTONS +.btn { + border-radius: 0.1rem !important; +} + +.btn-def-black { + background-color: $btn-color !important; + border-color: $btn-color !important; + color: $btn-text-color !important; +} + +.btn-def-black:hover { + background-color: $btn-text-color !important; + border-color: $btn-color !important; + color: $btn-color !important; +} +// CARDS +.card { + min-height: 100%; +} + + +// NOTIFICATIONS +.floaty { + position: fixed; + z-index: 20; + bottom: 15px; + right: 15px; +} + +.alert-size { + @media screen and (max-width: 600px) { + width: 90%; + } + @media screen and (min-width: 601px) { + width: 300px; + } +} + +.alert-img { + width: 10%; +} + +// MODAL +.modal-body, +.modal-header { + background-color: $color-modal-content; + + input, input:focus { + background-color: $color-modal-content; + border: none !important; + border-bottom: 3px solid $border-color !important; + } +} + +.modal-footer { + background-color: $color-modal-footer; +} + +// ALERT +.alert { + border-radius: 0 !important; +} + +/* Enabling flex cols */ +$enable-flex : true; + +/* Margin and padding spacing */ +$spacer: 10px; +$spacer-x: $spacer; +$spacer-y: $spacer; +$spacers: ( + 0: ( + x: 0, + y: 0 + ), + 1: ( + x: $spacer-x, + y: $spacer-y + ), + 2: ( + x: ($spacer-x * 2), + y: ($spacer-y * 2) + ), + 3: ( + x: ($spacer-x * 3), + y: ($spacer-y * 3) + ), + 4: ( + x: ($spacer-x * 4), + y: ($spacer-y * 4) + ), + 5: ( + x: ($spacer-x * 5), + y: ($spacer-y * 5) + ) +); + +@import "../../../bower_components/bootstrap/scss/bootstrap"; diff --git a/app/styles/sass/components/footer.scss b/app/styles/sass/components/footer.scss new file mode 100644 index 0000000..6129aca --- /dev/null +++ b/app/styles/sass/components/footer.scss @@ -0,0 +1,82 @@ +footer { + height: 150px; +} + +.footer-row { + height: 100%; + margin-right: 0; + margin-left: 0; +} + +// Basic styles +.footer-item { + height: 150px; + text-decoration: none !important; + background: none; + border: 0; + color: $footer-item-color; + margin: 1em; + padding: 1em 2em; + position: relative; + vertical-align: middle; + + &::before, + &::after { + content: ''; + position: absolute; + width: 100%; + height: 100%; + } +} + +.draw { + transition: all 0.25s; + + &::before, + &::after { + border: 2px solid transparent; + width: 0; + height: 0; + } + + // Borders: first expands right, then down + &::before { + bottom: 0; + right: 0; + } + + // Borders: first expands left, then up + &::after { + top: 0; + left: 0; + } + + &:hover { + color: $link-animation; + padding: 20px; + } + + // Hover styles + &:hover::before, + &:hover::after { + width: 100%; + height: 100%; + } + + &:hover::before { + border-bottom-color: $link-animation; + border-left-color: $link-animation; + transition: + width 0.25s ease-out, + height 0.25s ease-out 0.25s; + } + + &:hover::after { + border-top-color: $link-animation; + border-right-color: $link-animation; + transition: + border-color 0s ease-out 0.5s, + width 0.25s ease-out 0.5s, + height 0.25s ease-out 0.75s; + } +} diff --git a/app/styles/sass/components/forms.scss b/app/styles/sass/components/forms.scss new file mode 100644 index 0000000..8ec2eee --- /dev/null +++ b/app/styles/sass/components/forms.scss @@ -0,0 +1,122 @@ +.material { + position: relative; + padding: 0; + width: 100%; + border: none; + overflow: visible; + + input { + box-sizing: border-box; + width: 100%; + padding: 12px 10px 8px; + border: none; + border-radius: 0; + box-shadow: none; + border-bottom: 1px solid #DDD; + font-size: 120%; + outline: none; + cursor: text; + + &::placeholder { + transition: color 300ms ease; + } + &:not(:focus)::placeholder { + color: transparent; + } + } + + label { + position: absolute; + top: 10px; + font-size: 120%; + color: col(light-black); + transform-origin: 0 -350%; + transition: transform 300ms ease; + pointer-events: none; + z-index: 5; + } + + input:focus ~ label, + input:valid ~ label, + select ~ label, + textarea ~ label { + transform: scale(0.7); + } + + select { + font-family: inherit; + background-color: transparent; + width: 100%; + padding: 4px 0; + font-size: 16px; + color: rgba(0,0,0, 0.26); + border: none; + border-bottom: 1px solid rgba(0,0,0, 0.12); + } + + /* Remove focus */ + select:focus { + outline: none; + } + + /* Use custom arrow */ + .selectField select { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + } + + .selectField { + font-family: 'Roboto'; + position: relative; + } + + .selectField:after { + position: absolute; + top: 0.75em; + right: 0.5em; + /* Styling the down arrow */ + width: 0; + height: 0; + padding: 0; + content: ''; + border-left: .25em solid transparent; + border-right: .25em solid transparent; + border-top: 0.375em solid rgba(0,0,0, 0.12); + pointer-events: none; + } +} + + +.inputfile { + width: 0.1px; + height: 0.1px; + opacity: 0; + overflow: hidden; + position: absolute; + padding: 5px 2.5px; + z-index: -1; +} + +.inputfile + label { + font-size: 1.25em; + font-weight: 700; + color: white; + padding: 3px 10px; + background-color: col(purple); + display: inline-block; +} + +.inputfile:focus + label, +.inputfile + label:hover { + background-color: darken(col(purple), 20%); +} + +.inputfile + label { + cursor: pointer; /* "hand" cursor */ +} + +.inputfile:focus + label { + outline: 1px dotted #000; + outline: -webkit-focus-ring-color auto 5px; +} diff --git a/app/styles/sass/components/header.scss b/app/styles/sass/components/header.scss new file mode 100644 index 0000000..15880d0 --- /dev/null +++ b/app/styles/sass/components/header.scss @@ -0,0 +1,123 @@ +.header-container{ + width: 90%; + margin-left: 5%; +} + +.header-item { + max-height: 40px; + font-size: 14px; + border-radius: 1px; + box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.2); + border: solid 1px black; + padding: 7px 24px; + color: black !important; +} + +.collapse-item { + font-size: 14px; + color: black !important; +} + +.profileImg { + max-height: 35px; + margin-right: 15px; + margin-top: 4.5px; +} + +.nav { + line-height: 2; +} + +@media screen and (max-width: 544px) { + #collapseNavbar { + margin-top: 15px; + } +} + +.navbar { + margin: 20px 0; +} + +.navbar-brand { + margin-left: 24px; + padding-top: 6px; +} + +.navbar-div { + border-top: 2px solid $header-accent !important; + border-bottom: 2px solid $header-accent; +} + +.link { + outline: none; + text-decoration: none; + position: relative; + font-size: 1.5em; + line-height: 1; + color: #9e9ba4; + display: inline-block; +} + +/* Nukun */ +.link--nukun { + color: #E3E8DC; + font-weight: 900; + text-transform: uppercase; + overflow: hidden; + padding: 10px 0; + -webkit-transition: color 0.3s; + transition: color 0.3s; +} + +.link--nukun:hover { + color: #1e1a1b; +} + +.link--nukun::before, +.link--nukun::after { + content: ''; + position: absolute; + width: 30%; + height: 5px; + background: #E3E8DC; + bottom: 4px; + left: 35%; + -webkit-transition: -webkit-transform 0.5s; + transition: transform 1s; + -webkit-transition-timing-function: cubic-bezier(0.2,1,0.3,1); + transition-timing-function: cubic-bezier(0.2,1,0.3,1); +} + +.link--nukun::after { + background: $brand-accent; + -webkit-transform: translate3d(-300%,0,0) scale3d(0,1,1); + transform: translate3d(-300%,0,0) scale3d(1,1,1); +} + +.link--nukun:hover::before { + -webkit-transform: translate3d(300%,0,0) scale3d(0,1,1); + transform: translate3d(300%,0,0) scale3d(1,1,1); +} + +.link--nukun:hover::after { + -webkit-transform: translate3d(0,0,0) scale3d(1,1,1); + transform: translate3d(0,0,0) scale3d(1,1,1); +} + +.link--nukun span { + color: #E3E8DC; + display: inline-block; + position: relative; + -webkit-transform: perspective(1000px) rotate3d(0,1,0,0deg); + transform: perspective(1000px) rotate3d(0,1,0,0deg); + -webkit-transition: -webkit-transform 0.5s, color 0.5s; + transition: transform 0.5s, color 0.5s; + -webkit-transition-timing-function: cubic-bezier(0.2,1,0.3,1); + transition-timing-function: cubic-bezier(0.2,1,0.3,1); +} + +.link--nukun:hover span { + color: #fff; + -webkit-transform: perspective(1000px) rotate3d(0,1,0,180deg); + transform: perspective(1000px) rotate3d(0,1,0,180deg); +} diff --git a/app/styles/sass/components/helpers.scss b/app/styles/sass/components/helpers.scss new file mode 100644 index 0000000..862583a --- /dev/null +++ b/app/styles/sass/components/helpers.scss @@ -0,0 +1,184 @@ +.col-center { + margin: auto; +} + +// BORDERS +@each $radius in 0px, 1px, 3px { + @each $size in 1px, 2px { + @each $ckey, $cvalue in $colors { + + .b-a-#{$size}-#{$ckey}-#{$radius} { + border: $size solid $cvalue !important; + border-radius: $radius; + } + .b-t-#{$size}-#{$ckey}-#{$radius} { + border-top: $size solid $cvalue !important; + border-radius: $radius; + } + .b-r-#{$size}-#{$ckey}-#{$radius} { + border-right: $size solid $cvalue !important; + border-radius: $radius; + } + .b-b-#{$size}-#{$ckey}-#{$radius} { + border-bottom: $size solid $cvalue !important; + border-radius: $radius; + } + .b-l-#{$size}-#{$ckey}-#{$radius} { + border-left: $size solid $cvalue !important; + border-radius: $radius; + } + // AXIS + .b-x-#{$size}-#{$ckey}-#{$radius} { + border-right: $size solid $cvalue !important; + border-left: $size solid $cvalue !important; + border-radius: $radius; + } + .b-y-#{$size}-#{$ckey}-#{$radius} { + border-top: $size solid $cvalue !important; + border-bottom: $size solid $cvalue !important; + border-radius: $radius; + } + } + } +} + +// PADDINGS +.pdl-10px { + padding-left: 10px; +} + +.text-400 { + font-weight: 400; +} + +.text-300 { + font-weight: 300; +} + +.pos-f-b { + position: fixed; + bottom: 0; + right: 0; + left: 0; + z-index: $zindex-navbar-fixed; +} + +/*datepicker*/ + +.datepicker.dropdown-menu { + width: 250px; + height: 250px; +} + +.datepicker.dropdown-menu button { + outline: none; + border: 0px; +} + +.datepicker.dropdown-menu tbody { + height: 180px; +} + +.datepicker.dropdown-menu tbody button { + padding: 6px; +} + +.datepicker.dropdown-menu.datepicker-mode-1 tbody button, .datepicker.dropdown-menu.datepicker-mode-2 tbody button { + height: 65px; +} + +.timepicker.dropdown-menu { + padding: 0 4px; +} + +.timepicker.dropdown-menu button { + outline: none; + border: 0px; +} + +.timepicker.dropdown-menu tbody button { + padding: 6px; +} + +/* Loader */ +.loader { + color: $loader; + font-size: 10px; + margin: 20px auto; + position: relative; + text-indent: -9999em; + transform: translateZ(0); + animation-delay: -0.16s; + + &::before, + &::after, + & { + border-radius: 50%; + width: 2.5em; + height: 2.5em; + animation-fill-mode: both; + animation: loadKF 1.8s infinite ease-in-out; + } + + &::before { + left: -3.5em; + animation-delay: -0.32s; + } + + &::after { + left: 3.5em; + } + + &::before, + &::after { + content: ''; + position: absolute; + top: 0; + } +} + +@keyframes loadKF { + 0%, + 80%, + 100% { + box-shadow: 0 2.5em 0 -1.3em; + } + 40% { + box-shadow: 0 2.5em 0 0; + } +} + +.success { + color: #50be61; + font-size: 18px; + margin: 20px auto; + position: relative; + transform: translateZ(0); + transform: rotate(720deg); + + &::after { + content: ' Donation made. Thank you!'; + font-size: 18px; + } + i::after { + font-size: 30px; + } +} + +// LIFT ANIMATION +.lift { + transition: transform .7s cubic-bezier(0.18, 0.89, 0.32, 1.28); + + &:hover { + transform: translate(0, -8px); + } +} + +.shadow { + box-shadow: 0px 10px 10px -5px rgba(0,0,0,0.62); + transition: box-shadow .7s cubic-bezier(0.18, 0.89, 0.32, 1.28); + + &:hover { + box-shadow: 0px 15px 15px 0px rgba(0,0,0,0.62); + } +} diff --git a/app/styles/sass/components/icons.scss b/app/styles/sass/components/icons.scss new file mode 100644 index 0000000..b48e43a --- /dev/null +++ b/app/styles/sass/components/icons.scss @@ -0,0 +1,18 @@ +.search-svg { + width: 30px; + height: auto; +} + +.fav-btn { + padding: 2px 10px !important; +} + +.heart-svg { + width: 30px; + height: auto; +} + +.up-svg, .down-svg { + width: 20px; + height: auto; +} diff --git a/app/styles/sass/components/login.scss b/app/styles/sass/components/login.scss new file mode 100644 index 0000000..3854029 --- /dev/null +++ b/app/styles/sass/components/login.scss @@ -0,0 +1,11 @@ +.btn-google { + background-color: col(google); +} + +.btn-facebook { + background-color: col(facebook); +} + +.btn-twitter { + background-color: col(twitter); +} diff --git a/app/styles/sass/components/main.scss b/app/styles/sass/components/main.scss new file mode 100644 index 0000000..6bded58 --- /dev/null +++ b/app/styles/sass/components/main.scss @@ -0,0 +1,215 @@ +// FONTS +@import 'https://fonts.googleapis.com/css?family=Fira+Sans:500,700,400|Roboto:400'; + +* { + font-family: 'Fira Sans', sans-serif; + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body, +head { + max-width: 100%; + background-color: white; +} + +li { + list-style-type: none; +} + +html { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +// fonts + +h1 { + font-family: "Fira Sans", sans-serif; + font-size: 33px; + font-weight: 500; + line-height: 1.25; + opacity: 1.00; + margin-top: 0; + margin-bottom: 10px; + letter-spacing: -0.72px; + word-spacing: 0.00px; + text-transform: none; +} + +h2 { + font-family: "Fira Sans", sans-serif; + font-size: 24px; + font-weight: 700; + line-height: 1.20; + opacity: 1.00; + margin-top: 30px; + margin-bottom: 5px; + letter-spacing: -0.72px; + word-spacing: 0.00px; + text-transform: none; +} + +h3 { + font-family: "Fira Sans", sans-serif; + font-size: 20px; + font-weight: 400; + line-height: 1.20; + opacity: 1.00; + margin-top: 30px; + margin-bottom: 5px; + letter-spacing: 0.00px; + word-spacing: 0.00px; + text-transform: none; +} + +p { + font-family: "Roboto", sans-serif; + font-size: 18px; + font-weight: 400; + line-height: 1.60; + opacity: 0.70; + margin-top: 0; + margin-bottom: 25px; + letter-spacing: -0.30px; + word-spacing: -0.10px; + text-transform: none; +} + +#notFound { + margin: 1em 0; + padding: 0 0 0.25em 0; + border-bottom: 1px dotted #ccc; + text-align: center; + font-size: 3em; + font-weight: 300; + line-height: 1.1em; +} + +form { + input { + border-radius: 0 !important; + } +} + +.home-container { + display: block; +} + +.title-bg { + background-image: url('https://firebasestorage.googleapis.com/v0/b/crowdevelop-40f3c.appspot.com/o/title1.jpg?alt=media&token=d6b89087-174b-46f4-b30e-cdfd669627e7'); + background-size: cover; + display: block; + filter: $effect; + -webkit-filter: $effect; + height: 500px; + left: 0; + position: relative; + right: 0; + z-index: 1; + -webkit-transition: all 1s ease-out; + + &:hover { + filter: none; + -webkit-filter: none; + } +} +.text-container { + display: inline-block; + position: relative; + top: -300px; + left: calc(50% - 151px); + z-index: 2; + background: rgba(0, 0, 0, 0.75); + box-shadow: 0 1px 5px rgba(0, 0, 0, 0.25); + color: white; + border-radius: 3px; + padding: 4px 8px; +} + +.alternate-title-bg { + background-image: url('https://firebasestorage.googleapis.com/v0/b/crowdevelop-40f3c.appspot.com/o/title1.jpg?alt=media&token=d6b89087-174b-46f4-b30e-cdfd669627e7'); + background-position: center center; + background-size: cover; + background-repeat: no-repeat; + filter: blur(1px); + z-index: 1; + height: 500px; +} + +.project-title { + background-position: center; + background-size: cover; + background-repeat: no-repeat; + z-index: -9; + color: col(white); + height: 500px; +} + +.project-head { + margin: 0 auto; + color: white; + border-radius: 3px; + padding: 4px 8px; + background: rgba(0, 0, 0, 0.75); + box-shadow: 0 1px 5px rgba(0, 0, 0, 0.25); +} + +.divider { + height: 1px; + margin: 0.5px 0; + overflow: hidden; + background-color: #e5e5e5; +} + +.search-container { + box-shadow: + 1px 1px 0 col('deep-green'), + 2px 2px 0 col('deep-green'), + 3px 3px 0 col('deep-green'), + 4px 4px 0 col('deep-green'), + 5px 5px 0 col('deep-green'), + 6px 6px 0 col('deep-green'), + 7px 7px 0 col('deep-green'); +} + +.searchInput, .searchInput:focus{ + @extend .b-a-2px-light-deep-green-3px; +} +.search-addon { + @extend .b-a-2px-light-deep-green-3px; + color: white !important; + background-color: col('light-deep-green') !important; + + @media screen and (max-width: 543px) { + width: 15% !important; + } + @media screen and (min-width: 544px) { + width: 7% !important; + } +} + +.search-label { + color: #A9A9A9 !important; + padding-left: 5px; +} + +.Site { + display: flex; + min-height: 100vh; + flex-direction: column; +} + +.container-fluid { + padding-left: 0px; + padding-right: 0px; +} + +.row { + margin-left: 0px; + margin-right: 0px; +} + +.Site-content { + flex: 1; +} diff --git a/app/styles/sass/components/projects.scss b/app/styles/sass/components/projects.scss new file mode 100644 index 0000000..c3bbd5e --- /dev/null +++ b/app/styles/sass/components/projects.scss @@ -0,0 +1,95 @@ +/* Project list view */ +.project { + background-color: col(white); + border-radius: 4px; + border-style: solid; + border-width: 2px; + border-color: col(black); + box-sizing: border-box; + cursor: pointer; + padding-left: 0; + padding-right: 0; + box-shadow: 0 5px 24px 1px $shadow-color; +} + +.projectDetails { + background-color: rgba(38, 50, 56, 0.7); + box-sizing: inherit; + padding: 5px 15px; + cursor: pointer; + box-shadow: 0 5px 24px 1px $shadow-color; +} + +.fav-icon { + padding-left: 4px !important; +} + +.description { + text-align: justify; + display: block; +} + +.comment-input { + border: 2px solid #CDD3D7 !important; + border-radius: 4px !important; +} + +.comment { + padding-bottom: 15px; + + .comment-header { + display: inline; + } + + .comment-photo { + max-height: 40px; + width: auto; + margin: 0 10px; + } + + .comment-writer { + color: #5995DD; + font-size: 15px; + } + + .comment-text { + color: #444444; + text-align: justify; + padding: 10px 0; + margin: 0; + } +} +@mixin input-image($image, $distance) { + background: url($image) no-repeat !important; + background-position: -webkit-calc(100% - #{$distance}) center !important; + background-position: -moz-calc(100% - #{$distance}) center !important; + background-position: calc(100% - #{$distance}) center !important; + background-size: contain !important; + background-color: white !important; + padding-right: 60px !important; +} + +.category { + display: flex; +} + +.category-btn { + flex: 1; +} + +// Donation form validation +.has-error input { + border-width: 2px; +} + +.validation.text-danger:after { + content: 'Validation failed'; +} + +.validation.text-success:after { + content: 'Validation passed'; +} + +.imageLabel { + color: #a7a7a7 !important; +} diff --git a/app/styles/sass/components/variables.scss b/app/styles/sass/components/variables.scss new file mode 100644 index 0000000..febfed3 --- /dev/null +++ b/app/styles/sass/components/variables.scss @@ -0,0 +1,136 @@ +@function col($col) { + @return map-get($base-colors, '#{$col}'); +} + +$effect1 : grayscale(100%); +$effect : blur(2px); + +$black: #000; +$white: #fefefe; +$light-black: #505050; +$dark-white: #EAE8E0; +$light-white: #EEE7F7; + +$green-blue: #60daaa; +$green: #00E676; +$old-green: #ACD07A; + +$yellow: #fbca67; +$orange: #ff8a30; + +$red: #f45e61; +$red-heart: #f10829; + +$cyan: #0eb7da; +$purple: #6477b9; +$light-blue: #2fa0d0; +$deep-blue: #2f4bd0; +$dark-blue: #141E27; +$dark-brown: #212220; + +$base-colors: ( + 'black': #000, + 'white': #fefefe, + 'light-black': #505050, + 'dark-white': #EAE8E0, + 'light-white': #EEE7F7, + + 'green-blue': #60daaa, + 'green': #00E676, + 'old-green': #ACD07A, + 'light-deep-green':#1abb9c, + 'deep-green': #169f84, + + 'yellow': #fbca67, + 'orange': #ff8a30, + + 'red': #f45e61, + 'red-heart': #f10829, + + 'cyan': #0eb7da, + 'purple': #6477b9, + 'light-blue': #2fa0d0, + 'deep-blue': #2f4bd0, + 'dark-blue': #141E27, + 'dark-brown': #212220, + +); + +$categories: ( + 'Development': col(cyan), + 'Game': col(green), + 'Education': col(old-green), + 'Social': col(purple), + 'Art': col(yellow), + 'Sports': col(deep-blue), + 'Health': col(light-blue), + 'News': col(orange) +); + +$vendors: ( + 'google': #DD4B38, + 'facebook': #3B5998, + 'twitter': #55ACEE +); + + +// Primary +$background: col(white); +$text: col(purple); +$loader: col(purple); + +// HEADER +$header-accent: col(black); +$brand-accent: col(old-green); + +// FOOTER +$link-animation: col(green-blue); +$footer-item-color: col(old-green); + +// BUTTONS +$btn-color: col(black); +$btn-text-color: col(white); +$button-color: col(black); +$button-hover: col(purple); +$color-heart : col(red-heart); + +$purple-back-nav: col(purple); +$shadow-color: col(black); +$border-color: col(dark-brown); + +// MODAL +$color-modal-content: col(dark-white); +$color-modal-footer: col(dark-blue); + + +$colors: map-merge($base-colors, $categories); +$colors: map-merge($colors, $vendors); +// GENERATORS +@each $key, $value in $colors { + .btn-#{$key} { + background-color: $value; + border-color: $value; + color: lighten($value, 55%); + } + + .btn-#{$key}:hover { + background-color: lighten($value, 55%); + border-color: $value; + color: $value; + transition: all 1000ms ease; + } + .color-#{$key} { + color: $value; + } + + .bg-#{$key} { + background: $value; + } +} +$font-sizes: 14, 16, 26, 36; +@each $val in $font-sizes { + .fs-#{$val}px { + font-size: $val+px; + } +} +$screen-sizes: ( xs : 544, sm : 768, md : 992, lg : 1200, ); diff --git a/app/sw.js b/app/sw.js new file mode 100644 index 0000000..e081b7d --- /dev/null +++ b/app/sw.js @@ -0,0 +1,581 @@ +/** + * Copyright 2016 Google Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// DO NOT EDIT THIS GENERATED OUTPUT DIRECTLY! +// This file should be overwritten as part of your build process. +// If you need to extend the behavior of the generated service worker, the best approach is to write +// additional code and include it using the importScripts option: +// https://github.com/GoogleChrome/sw-precache#importscripts-arraystring +// +// Alternatively, it's possible to make changes to the underlying template file and then use that as the +// new base for generating output, via the templateFilePath option: +// https://github.com/GoogleChrome/sw-precache#templatefilepath-string +// +// If you go that route, make sure that whenever you update your sw-precache dependency, you reconcile any +// changes made to this original template file with your modified copy. + +// This generated service worker JavaScript will precache your site's resources. +// The code needs to be saved in a .js file at the top-level of your site, and registered +// from your pages in order to be used. See +// https://github.com/googlechrome/sw-precache/blob/master/demo/app/js/service-worker-registration.js +// for an example of how you can register this script and handle various service worker events. + +/* eslint-env worker, serviceworker */ +/* eslint-disable indent, no-unused-vars, no-multiple-empty-lines, max-nested-callbacks, space-before-function-paren, quotes, comma-spacing */ +'use strict'; + +var precacheConfig = [ + ["/bower_components/angular-animate/angular-animate.js", "622db889dbf7347ae160be1560cc2dcf"], + ["/bower_components/angular-animate/angular-animate.min.js", "be3e9252465c508fa88c2f2ba9108348"], + ["/bower_components/angular-animate/index.js", "eca59ea32960ae595dd18ad9480185b1"], + ["/bower_components/angular-mocks/angular-mocks.js", "bc501cca67446a1c077f784c98b003d0"], + ["/bower_components/angular-mocks/ngAnimateMock.js", "ed7195f7cbba99b06f95a715d6027375"], + ["/bower_components/angular-mocks/ngMock.js", "38d4e7768ae37daa27dd22d750d062fd"], + ["/bower_components/angular-mocks/ngMockE2E.js", "afaf184834005c99ba7f80720439dba2"], + ["/bower_components/angular-route/angular-route.js", "2bcf33d7b863367d4b7bb55f5b8f09ca"], + ["/bower_components/angular-route/angular-route.min.js", "943c8bd5b40115471ded31bd66acf53e"], + ["/bower_components/angular-route/index.js", "a3320f99fcd749cc422bb5add3888b34"], + ["/bower_components/angular-ui-router/release/angular-ui-router.js", "a1279756d8925e905aec1bf3924c7e72"], + ["/bower_components/angular-ui-router/release/angular-ui-router.min.js", "d2b6d0ce05898c582d48f5fc7562db83"], + ["/bower_components/angular-ui-router/src/common.js", "464d431ef1a562e0568f28e12c4216bc"], + ["/bower_components/angular-ui-router/src/resolve.js", "50bdaf08938a9eacc0abb5dc983989b3"], + ["/bower_components/angular-ui-router/src/state.js", "069d14ec00ebb9785e865f702d59e883"], + ["/bower_components/angular-ui-router/src/stateDirectives.js", "e4b63f56514252b1e23befa941bdb2e5"], + ["/bower_components/angular-ui-router/src/stateFilters.js", "18b68f94ab548a82d5de148a4f2bb6d3"], + ["/bower_components/angular-ui-router/src/templateFactory.js", "ae0763a83d877c17e33b577514d4ff51"], + ["/bower_components/angular-ui-router/src/urlMatcherFactory.js", "dacf7aee3daf4264aba1f28619d9336b"], + ["/bower_components/angular-ui-router/src/urlRouter.js", "9505c410ff39376cb28a79b5da390921"], + ["/bower_components/angular-ui-router/src/view.js", "651abd1e858d67b2c066130966f047ec"], + ["/bower_components/angular-ui-router/src/viewDirective.js", "7718706549ebbb0fb228893bcb7ab8b2"], + ["/bower_components/angular-ui-router/src/viewScroll.js", "e45db2f223481f236dc05e1192eab2e0"], + ["/bower_components/angular/angular-csp.css", "5d7bf1728c2447221cad6c6263557306"], + ["/bower_components/angular/angular.js", "fea945437030dbaf178cc608f8cf24ff"], + ["/bower_components/angular/angular.min.js", "c8ddded85c81cfcd8dd4e54b71724d85"], + ["/bower_components/angular/index.js", "0d848853205d22ab8be985876aec948a"], + ["/bower_components/angularfire/dist/angularfire.js", "1f9a0051a93b1e6222e7a321ea2b225d"], + ["/bower_components/angularfire/dist/angularfire.min.js", "9f9a4e5492db9cfa0a1b2f7f360e32fd"], + ["/bower_components/bootstrap/Gruntfile.js", "d10c395cd25d58954dcb53c27f8773a4"], + ["/bower_components/bootstrap/dist/css/bootstrap.css", "5582a5c2e4ddb3a5a1ce367c7d7cbc49"], + ["/bower_components/bootstrap/dist/css/bootstrap.min.css", "9c4cb4ff957dc75b4ad8ea73124a9025"], + ["/bower_components/bootstrap/dist/js/bootstrap.js", "8f446247ac606dafa85939dc0da2aef2"], + ["/bower_components/bootstrap/dist/js/bootstrap.min.js", "5e5c79d6d6acc502d8e0d2b4f9e0eed5"], + ["/bower_components/bootstrap/grunt/bs-sass-compile/libsass.js", "930af091b839b21b53746c3caa7da296"], + ["/bower_components/bootstrap/grunt/bs-sass-compile/sass.js", "9c351f25287c98c533cdce3dae8b8109"], + ["/bower_components/bootstrap/grunt/change-version.js", "ff3af84a6e20c71b6b1357712daf1bf0"], + ["/bower_components/bootstrap/grunt/postcss.js", "88b74c86a6ef4e8014b74249308d9719"], + ["/bower_components/bootstrap/js/dist/alert.js", "62d7ddd6025432f2d9a8f1196effb931"], + ["/bower_components/bootstrap/js/dist/button.js", "8b5463a21a7ab6c7fbaf8c3e798ed426"], + ["/bower_components/bootstrap/js/dist/carousel.js", "9be1a5913fa5fc907022214f7b32ae61"], + ["/bower_components/bootstrap/js/dist/collapse.js", "d323e13650d995bfa5c04838ba19c228"], + ["/bower_components/bootstrap/js/dist/dropdown.js", "49c636137551ccb39b3f17f885a03e13"], + ["/bower_components/bootstrap/js/dist/modal.js", "a7c6110319f1a537e31b6641ade2d355"], + ["/bower_components/bootstrap/js/dist/popover.js", "19dd2932149415f492f3d57f6b3134d6"], + ["/bower_components/bootstrap/js/dist/scrollspy.js", "be022db2b7c29fce385ce41c5f26a8cd"], + ["/bower_components/bootstrap/js/dist/tab.js", "f1fb29df91b33075cd0ebf3e50bccc3c"], + ["/bower_components/bootstrap/js/dist/tooltip.js", "e853dd965edd8e5fc51ecc7ab1ba023f"], + ["/bower_components/bootstrap/js/dist/util.js", "363997f335c36f9f6c9e52fa38031b9d"], + ["/bower_components/bootstrap/js/src/alert.js", "6287842e15caaa6c04ee2deba0263c07"], + ["/bower_components/bootstrap/js/src/button.js", "41858d0f5a68f1c4ec4c9b81b59eee46"], + ["/bower_components/bootstrap/js/src/carousel.js", "be3859ea276562119470b5faa01f0b52"], + ["/bower_components/bootstrap/js/src/collapse.js", "571bf8fd391b2e9215c689378a7a4901"], + ["/bower_components/bootstrap/js/src/dropdown.js", "0c56de63d810fca093231f9f076e542e"], + ["/bower_components/bootstrap/js/src/modal.js", "978f07f7f4f234fe45c22e3d7212420a"], + ["/bower_components/bootstrap/js/src/popover.js", "eefa64bfe3f9810524d52982216b7d8f"], + ["/bower_components/bootstrap/js/src/scrollspy.js", "c53a74fce0c1707bae9710d58ea6deb1"], + ["/bower_components/bootstrap/js/src/tab.js", "edf30e8086c3c3e7a29c4b3866726d33"], + ["/bower_components/bootstrap/js/src/tooltip.js", "e20fcce07efc210dafe66d2b4c686934"], + ["/bower_components/bootstrap/js/src/util.js", "b3b31628ff7c200c8b98176d12d430e5"], + ["/bower_components/bootstrap/package.js", "552dd7c992f2e4cab61827b69d91af8c"], + ["/bower_components/bower/Docs/En/Declare/transition-graph.png", "980440c36cf172f787a3bec7c72317a2"], + ["/bower_components/bower/Source/Accessors.js", "ce5a719082c1516b792e70f0b717b0a0"], + ["/bower_components/bower/Source/Ajax.Dom.js", "a8fdd83ec73e4d7bbb27286ad47170be"], + ["/bower_components/bower/Source/Ajax.js", "7adaeb2eb0dd5faed2952fc7855240c0"], + ["/bower_components/bower/Source/Class/BindAll.js", "878bfef602a089e9667ee896c0268ee6"], + ["/bower_components/bower/Source/Class/Class.js", "f7d7f1071a755f5bd01816894c62c7f3"], + ["/bower_components/bower/Source/Class/Events.js", "a875f803feaf3249d83b2876cd4d50da"], + ["/bower_components/bower/Source/Class/Generators.js", "f924dc0e3ad407a919d88ae63e4d7563"], + ["/bower_components/bower/Source/Class/Options.js", "87ffe2c49ff9786f458df30e9eef25b8"], + ["/bower_components/bower/Source/Cookie.js", "c7886c6b5e1112d9e2576a05d8322adc"], + ["/bower_components/bower/Source/Core.js", "951ccae05c48ad448ada05a1dbb51502"], + ["/bower_components/bower/Source/CoreExtended.js", "36af6e5a35e2cd9c0e5e9e70a248887d"], + ["/bower_components/bower/Source/Declare/Animatable.js", "c1e8913dc6a83a669a1831b06e26f07a"], + ["/bower_components/bower/Source/Declare/ClassCompat.js", "a378c1dcd33bf41d07285b11d4a1ee5a"], + ["/bower_components/bower/Source/Declare/Color.js", "4f42fd18af3355c0c668c1af7a2fba4c"], + ["/bower_components/bower/Source/Declare/Declare.js", "b50f3d509a73a46366b9eafdf23a924a"], + ["/bower_components/bower/Source/Declare/Events.js", "b5d752300c6d8d84c6225764947aef92"], + ["/bower_components/bower/Source/Declare/ImagePreloader.js", "b094ec22cccb40bc0e38b932ebaa60d4"], + ["/bower_components/bower/Source/Declare/Keyboard.js", "6e99922f9842c5a4ac59bb271fc5b330"], + ["/bower_components/bower/Source/Declare/Registry.js", "a6751abd4a788150ca109dfe073b5f34"], + ["/bower_components/bower/Source/Declare/Settings.js", "608707eca464a497067d0d192b7fe403"], + ["/bower_components/bower/Source/Declare/Trace.js", "af483bab2e62a1ed8d830e0e5966e7f1"], + ["/bower_components/bower/Source/Declare/Transition.js", "06978abc5d6c6a5c5ccae0e3e461ad2e"], + ["/bower_components/bower/Source/Dom.js", "0a72a85c7b5ff929518c000198eb939c"], + ["/bower_components/bower/Source/Frame.js", "e4f484e023375fe145fd6343e908c8a0"], + ["/bower_components/bower/Source/Js185.js", "d9fbc73794477359cdc1400837b79b5e"], + ["/bower_components/bower/Source/PointerLock.js", "b975b8951fb3892e76c82a9c9f91c8fc"], + ["/bower_components/bower/Source/Prototypes/Abstract.js", "ff8b51b48fa922796d8c10614fcfae25"], + ["/bower_components/bower/Source/Prototypes/Array.js", "666f78a6e6738af683b72e51363a3040"], + ["/bower_components/bower/Source/Prototypes/Function.js", "3bb2e47b090cbdd8f832e476b761777e"], + ["/bower_components/bower/Source/Prototypes/Number.js", "fe4624d8d6aaf82c4aede53dc840d431"], + ["/bower_components/bower/Source/Prototypes/Object.js", "0bad4923f41474be637b06f2f7e05c9e"], + ["/bower_components/bower/Source/Prototypes/String.js", "368ad2182f055a69df684dc9515d50c2"], + ["/bower_components/bower/Source/Types/Array.js", "cfcf5716fefc714d40ffd6c0b48d685e"], + ["/bower_components/bower/Source/Types/Function.js", "41d2a773b5c49cd1726f65667314b22c"], + ["/bower_components/bower/Source/Types/Math.js", "b9ddd7104861b31ebafd55d739ce0cb8"], + ["/bower_components/bower/Source/Types/Number.js", "b64a4e3fdc65cc5a34a0bf7281fbb1da"], + ["/bower_components/bower/Source/Types/Object.js", "a7098f1cd3e07771c9da1ee00c72d00f"], + ["/bower_components/bower/Source/Types/String.js", "d30930b87310691e766f3e6c670a503d"], + ["/bower_components/bower/Source/Uri.js", "61c348681e87101a1f6aca55dfd612e6"], + ["/bower_components/bower/Source/atom.css", "911ef0c80b30abb6d649bf6954eac297"], + ["/bower_components/bower/Source/overall.js", "b9857fbd61066fbb9a49856b99349ed0"], + ["/bower_components/bower/Tests/cells.png", "f1062a7683108a35a7be0afb4668deb6"], + ["/bower_components/bower/Tests/index.html", "a1298f68ab36c5e12fabfad549e06340"], + ["/bower_components/bower/Tests/lib/jquery.js", "276acf5f04c4c60aaf73e66177dc43f7"], + ["/bower_components/bower/Tests/lib/qunit.css", "f367a1e4ef502aeda63045af845d3456"], + ["/bower_components/bower/Tests/lib/qunit.js", "f1d1e2f68d95c7e42b2cdd1ecfa95e34"], + ["/bower_components/bower/Tests/tests/class.js", "8ba67199eead49d29d3757743e87dad6"], + ["/bower_components/bower/Tests/tests/color.js", "fc5a4268c232bddb4ba91f98707f4077"], + ["/bower_components/bower/Tests/tests/core.js", "fe736d993a534184cd5e3d769d1ee57b"], + ["/bower_components/bower/Tests/tests/declare.js", "c3a7ffadf8e1f9d81d3b3816c2b93e65"], + ["/bower_components/bower/Tests/tests/dom.js", "7bf8ea71b6704b5946a746d8176a5c98"], + ["/bower_components/bower/Tests/tests/mootools.js", "9fdc84a9814e9956e2c3ebdbd8c3a603"], + ["/bower_components/bower/Tests/tests/prototypes.js", "6eff1906631ff4430569b5864a76e721"], + ["/bower_components/bower/Tests/tests/uri.js", "179d16409126242001191b74b8a32aba"], + ["/bower_components/bower/Tests/visual-tests.html", "31624d9f1345269225a4d0ec63a1aadc"], + ["/bower_components/bower/atom-full-compiled.js", "3d6e81910d14c1d48c92a90ffbb20ab3"], + ["/bower_components/firebase/firebase-app-externs.js", "fe922d8ccb7354de6239700e1f848a2a"], + ["/bower_components/firebase/firebase-app.js", "1b5450a5910e8fdb50c2a4cca692261a"], + ["/bower_components/firebase/firebase-auth-externs.js", "125cc110f7066c57820b8173c7670e07"], + ["/bower_components/firebase/firebase-auth.js", "aa1898d31bd387c92b7ac221630bcc7d"], + ["/bower_components/firebase/firebase-database-externs.js", "e615ca0142dcc2f363df31bddcee996b"], + ["/bower_components/firebase/firebase-database.js", "81ad82c48997a81cdced18049595a9db"], + ["/bower_components/firebase/firebase-messaging-externs.js", "1963cff7d22c54b5f78b93f4e7058081"], + ["/bower_components/firebase/firebase-messaging.js", "0c6fae49a7f5a87630f6c47cc8003d8a"], + ["/bower_components/firebase/firebase-storage-externs.js", "87948f9d9359a8d5a5d5b04e4c350b0a"], + ["/bower_components/firebase/firebase-storage.js", "375fb91a89ae5948db4ea3ca722bca2e"], + ["/bower_components/firebase/firebase.js", "24cf2da1908fe34cd1d842f3dfa50411"], + ["/bower_components/install/detect-zoom.js", "55625b06f0343495fca3a9af61dcd3fb"], + ["/bower_components/install/detect-zoom.min.js", "291452b830524909d0c60c68be5d56ab"], + ["/bower_components/jquery.payment/lib/jquery.payment.js", "dbcc7d0f1c04a938618b2c76cf574995"], + ["/bower_components/jquery/dist/core.js", "e947c0fa5428a8723e0fbd3eb04d984e"], + ["/bower_components/jquery/dist/jquery.js", "46836bbc603c9565b5cc061100ccbac8"], + ["/bower_components/jquery/dist/jquery.min.js", "e071abda8fe61194711cfc2ab99fe104"], + ["/bower_components/jquery/dist/jquery.slim.js", "ce540e4747aeee3613024f0fd720e2a9"], + ["/bower_components/jquery/dist/jquery.slim.min.js", "550ddfe84a114f79a767c087df97f3bc"], + ["/bower_components/jquery/external/sizzle/dist/sizzle.js", "88f56d86d94c7e2f4589a9312c360c55"], + ["/bower_components/jquery/external/sizzle/dist/sizzle.min.js", "a7da9ea7bd03729fae7b8a8c7a596ed1"], + ["/bower_components/jquery/src/ajax.js", "9841f8f3cb2bca0cbc658dc9cef66edb"], + ["/bower_components/jquery/src/ajax/jsonp.js", "54065d23a00581d31b4a33a24d4c1884"], + ["/bower_components/jquery/src/ajax/load.js", "21d96252f08f9b355b349af39ce7236d"], + ["/bower_components/jquery/src/ajax/parseXML.js", "1dc77355e5b4154006c86ed894e5095d"], + ["/bower_components/jquery/src/ajax/script.js", "9878bca97ea247869613a955084e79c5"], + ["/bower_components/jquery/src/ajax/var/location.js", "1effe93501b51c83d7825474e73a8aae"], + ["/bower_components/jquery/src/ajax/var/nonce.js", "bd8ccf8ec6f7fb2ca1c87fa19b147d12"], + ["/bower_components/jquery/src/ajax/var/rquery.js", "0cea5be4c1cb48604c76fe1e49501d9a"], + ["/bower_components/jquery/src/ajax/xhr.js", "938cbba14002684850d1a5670f91e3c2"], + ["/bower_components/jquery/src/attributes.js", "e3b938fc47b1ddf14846fc5cbede18a1"], + ["/bower_components/jquery/src/attributes/attr.js", "41f70d52f33c2f7f29cc2990de650707"], + ["/bower_components/jquery/src/attributes/classes.js", "4820005f22ce0cfa01918c4f80953fcf"], + ["/bower_components/jquery/src/attributes/prop.js", "a3b5116692ba1c0c61d9daec297fa5e9"], + ["/bower_components/jquery/src/attributes/support.js", "87c02d854903b60b55c82f12e5cbb951"], + ["/bower_components/jquery/src/attributes/val.js", "1be20bf558e2e81d9fa6ac6245bfd201"], + ["/bower_components/jquery/src/callbacks.js", "e1defa238b7e0f97d9ea89179a3f7102"], + ["/bower_components/jquery/src/core.js", "e947c0fa5428a8723e0fbd3eb04d984e"], + ["/bower_components/jquery/src/core/DOMEval.js", "89491487801516d0c1f73720288ef2c2"], + ["/bower_components/jquery/src/core/access.js", "45967f27177636396bac684cd1229946"], + ["/bower_components/jquery/src/core/init.js", "547c2871bd1e44ffc56cd8488193ae41"], + ["/bower_components/jquery/src/core/parseHTML.js", "984984492643b1081f812b27558d4fd7"], + ["/bower_components/jquery/src/core/ready-no-deferred.js", "65073614525d11a3abc9d14bcf6bfd23"], + ["/bower_components/jquery/src/core/ready.js", "998548d0b1605da460aa3712b367d60d"], + ["/bower_components/jquery/src/core/readyException.js", "a4eaadadf4d1420be6f30e03ba32c0b2"], + ["/bower_components/jquery/src/core/stripAndCollapse.js", "fab52ba44e0e097a9d8f44c5a4c7fde6"], + ["/bower_components/jquery/src/core/support.js", "a1fdd851ac2e51ceac1e388460c9ea9b"], + ["/bower_components/jquery/src/core/var/rsingleTag.js", "d6ac5fb411468c45818898044af9ccc8"], + ["/bower_components/jquery/src/css.js", "57bac89a37381f83297695155e899e3c"], + ["/bower_components/jquery/src/css/addGetHookIf.js", "39e2ba4bf431074cde3dcef95d1ea269"], + ["/bower_components/jquery/src/css/adjustCSS.js", "a5d386b2b941eed261637e63605026ff"], + ["/bower_components/jquery/src/css/curCSS.js", "10ce79c4d2cf9fef9561c129b9d330a8"], + ["/bower_components/jquery/src/css/hiddenVisibleSelectors.js", "46ad6606fc658bf81331ac866c8dff05"], + ["/bower_components/jquery/src/css/showHide.js", "54cab17f823997ec76defd99a42fba25"], + ["/bower_components/jquery/src/css/support.js", "a71ff6c5463e17ce7d3933f3dad0cadc"], + ["/bower_components/jquery/src/css/var/cssExpand.js", "97946b11fa6b665f8107a0355ebd21a9"], + ["/bower_components/jquery/src/css/var/getStyles.js", "6c085f1a5b10741fb4f47652d826e8b7"], + ["/bower_components/jquery/src/css/var/isHiddenWithinTree.js", "3ab2e617a068a7281d1aa4bd5c00986b"], + ["/bower_components/jquery/src/css/var/rmargin.js", "3e578e8aa9c5ce7ae7fd345f2768b91e"], + ["/bower_components/jquery/src/css/var/rnumnonpx.js", "76441e4d11353acf6c624b9174c10d28"], + ["/bower_components/jquery/src/css/var/swap.js", "caec1d33fb755d503bba6dde7135b888"], + ["/bower_components/jquery/src/data.js", "9644b22ed614df5b6c5149695af89727"], + ["/bower_components/jquery/src/data/Data.js", "f3b1ebd13c9cdbb0041fbf111b89a219"], + ["/bower_components/jquery/src/data/var/acceptData.js", "784eb09770f6731c4fb5c57207955cfb"], + ["/bower_components/jquery/src/data/var/dataPriv.js", "5793e35236c3a32cb1e4a6b4401211a3"], + ["/bower_components/jquery/src/data/var/dataUser.js", "5793e35236c3a32cb1e4a6b4401211a3"], + ["/bower_components/jquery/src/deferred.js", "6af8177fdb219ba9af13132fbfa393c9"], + ["/bower_components/jquery/src/deferred/exceptionHook.js", "bdd1af0b6da071ae9fb638040e56493e"], + ["/bower_components/jquery/src/deprecated.js", "511e2b3f55ecfd1cc77d6045955d8bae"], + ["/bower_components/jquery/src/dimensions.js", "53e95f615dee5889f28329e344b47105"], + ["/bower_components/jquery/src/effects.js", "422ed9e6045d806addf4ae616d256687"], + ["/bower_components/jquery/src/effects/Tween.js", "1ededd3dbfc9d3ee6bb1ccd74a947c04"], + ["/bower_components/jquery/src/effects/animatedSelector.js", "c6282b6a67db32fcf5e5ed312d8ae626"], + ["/bower_components/jquery/src/event.js", "f84dcb79f50f4cd22659edb74260e629"], + ["/bower_components/jquery/src/event/ajax.js", "ab2368042f88d56a4e8eb7ef0885d52d"], + ["/bower_components/jquery/src/event/alias.js", "4d207f908b195d3cf91e31510e6b1165"], + ["/bower_components/jquery/src/event/focusin.js", "a49297140eed77038234070114fc9e10"], + ["/bower_components/jquery/src/event/support.js", "911a4c1a08cc3b6401cb2d046e148f6a"], + ["/bower_components/jquery/src/event/trigger.js", "ab61fd013893279b68adf30e73ff6cff"], + ["/bower_components/jquery/src/exports/amd.js", "0ce022aabd17f908da7d12221283b8ff"], + ["/bower_components/jquery/src/exports/global.js", "17721874f4081fd75192ae8752ca1fe8"], + ["/bower_components/jquery/src/jquery.js", "4d214954fbc2490c0b5a1757577e4cf7"], + ["/bower_components/jquery/src/manipulation.js", "1f3d769713359ed2ab14e80ee984bf61"], + ["/bower_components/jquery/src/manipulation/_evalUrl.js", "273280943dfd7c57f45e531df20aa797"], + ["/bower_components/jquery/src/manipulation/buildFragment.js", "34a2d513f5ed7341c23d8d0d7a4444d4"], + ["/bower_components/jquery/src/manipulation/getAll.js", "dd26ea739fa0a633620ad64b82f71da5"], + ["/bower_components/jquery/src/manipulation/setGlobalEval.js", "45e10fe7bb054db32f6177ac8c190997"], + ["/bower_components/jquery/src/manipulation/support.js", "7278ee59c62f54227229eab552dbe041"], + ["/bower_components/jquery/src/manipulation/var/rcheckableType.js", "5f76cc651dda52520c04b10e96e56604"], + ["/bower_components/jquery/src/manipulation/var/rscriptType.js", "2b1ecb3253a9115c7a0e14d7015d7e40"], + ["/bower_components/jquery/src/manipulation/var/rtagName.js", "2fbe6bcebf3ef64351e4738514bee668"], + ["/bower_components/jquery/src/manipulation/wrapMap.js", "bd6bd7cfc997ee4dbe32d0f46719b9a6"], + ["/bower_components/jquery/src/offset.js", "08bd5d5a30c7df90d8f104daac8e0e87"], + ["/bower_components/jquery/src/queue.js", "e7d425e97f2a193872b05755c22aac29"], + ["/bower_components/jquery/src/queue/delay.js", "6b3b3baf444126f92d5fb08ad67e78ec"], + ["/bower_components/jquery/src/selector-native.js", "09e3c6e382c9dc5e8b4ff8c0684dd0a8"], + ["/bower_components/jquery/src/selector-sizzle.js", "e552c731b58c5253574ff6a4c72730df"], + ["/bower_components/jquery/src/selector.js", "254a3ebd012ddf4c1268afb301fb0804"], + ["/bower_components/jquery/src/serialize.js", "4c169a12be7d55051f4918e58f931ee8"], + ["/bower_components/jquery/src/traversing.js", "4622abbea369ded55308e31be09e1c25"], + ["/bower_components/jquery/src/traversing/findFilter.js", "dbfa25a469944debdc85213194aeaba1"], + ["/bower_components/jquery/src/traversing/var/dir.js", "3e37162fe277c99009aef1bc3576cf66"], + ["/bower_components/jquery/src/traversing/var/rneedsContext.js", "f8237f8e3c92d1846c801b8900e70285"], + ["/bower_components/jquery/src/traversing/var/siblings.js", "872fe79c18c63237b878541e25f65792"], + ["/bower_components/jquery/src/var/ObjectFunctionString.js", "c81564edaa40fb0aa2a6ff6eb363f2d6"], + ["/bower_components/jquery/src/var/arr.js", "d88b9159a6350fa26ad2755c2c803842"], + ["/bower_components/jquery/src/var/class2type.js", "8008cada8581f6317a43762b481af585"], + ["/bower_components/jquery/src/var/concat.js", "7479d21ee167a8c9c5c0c6de20944e49"], + ["/bower_components/jquery/src/var/document.js", "28ad506eb48f42c7144716e7f781513c"], + ["/bower_components/jquery/src/var/documentElement.js", "b42747c44c5f46813de9cfc409863bd9"], + ["/bower_components/jquery/src/var/fnToString.js", "779df484d863e0154c7d27ad74144b4b"], + ["/bower_components/jquery/src/var/getProto.js", "cc39bf4d74b2346688c1289d64587ae9"], + ["/bower_components/jquery/src/var/hasOwn.js", "ea807ca4509ac0a9337ee60c8e756acd"], + ["/bower_components/jquery/src/var/indexOf.js", "91f549f495364b948fc51d475276baff"], + ["/bower_components/jquery/src/var/pnum.js", "8bb2e88e531e9cd2bc9059df5b5f0595"], + ["/bower_components/jquery/src/var/push.js", "0fbcbedbfc38e86883db047628486e6b"], + ["/bower_components/jquery/src/var/rcssNum.js", "d05e443af01d56ae50f9ae29b516cdbb"], + ["/bower_components/jquery/src/var/rnothtmlwhite.js", "cd00ba8a3e513c5456e44e91789dd9b4"], + ["/bower_components/jquery/src/var/slice.js", "52a787d2ca995b614bd97d5bf8ae5218"], + ["/bower_components/jquery/src/var/support.js", "2d3a2082ece44cf22f02c83ca6992615"], + ["/bower_components/jquery/src/var/toString.js", "1a5b3ede2aafabfb4b6b1795a012b361"], + ["/bower_components/jquery/src/wrap.js", "76586fa41ac42166ebabb38fed320248"], + ["/bower_components/ngstorage/ngStorage.js", "587579c86a0ccf812c91ecb5905d98b6"], + ["/bower_components/ngstorage/ngStorage.min.js", "ee45fc1dc996fc2033bc24c058f95fe4"], + ["/bower_components/ngstorage/package.js", "62510ac35f392608ce18bf7872570f0b"], + ["/bower_components/tether/dist/css/tether-theme-arrows-dark.css", "9bdaf7b51c21d97b8d99163b8bd2855b"], + ["/bower_components/tether/dist/css/tether-theme-arrows-dark.min.css", "81d133231fdca6766390bd8d3f51cfcd"], + ["/bower_components/tether/dist/css/tether-theme-arrows.css", "71a3f9ce7bb5200c0e31b0d44def1ea6"], + ["/bower_components/tether/dist/css/tether-theme-arrows.min.css", "93cb0ccf16d69a1b6395a19fcde81768"], + ["/bower_components/tether/dist/css/tether-theme-basic.css", "46d54e88ce1912145ac1a5f8d4908f51"], + ["/bower_components/tether/dist/css/tether-theme-basic.min.css", "e01e283b5f75333211d7a10f5d5efe2a"], + ["/bower_components/tether/dist/css/tether.css", "ae54ad768669744640d63a41f2c8691f"], + ["/bower_components/tether/dist/css/tether.min.css", "62155a3948cbf17b1bf4b407c90ab84f"], + ["/bower_components/tether/dist/js/tether.js", "69029c396068e7f0994829559e4a15b6"], + ["/bower_components/tether/dist/js/tether.min.js", "99d5eb445062f5f3b82d29aa2680e4a2"], + ["/bower_components/tether/docs/css/intro.css", "4f176dd6396608214f34dd5f28a7ffa6"], + ["/bower_components/tether/docs/js/intro.js", "f0a7cd8d9d3c412f029b599d399db595"], + ["/bower_components/tether/docs/js/markAttachment.js", "cba6aa0fdce724c5b1f64f18cf1aeb49"], + ["/bower_components/tether/docs/welcome/browser-demo.html", "f81f5da3b921101f60c0d1e095eea893"], + ["/bower_components/tether/docs/welcome/css/browser-demo.css", "2ad57d4618524003497ff3ee1625f23c"], + ["/bower_components/tether/docs/welcome/css/prism.css", "9570476d70f5d8edd9ae6c2581864de8"], + ["/bower_components/tether/docs/welcome/css/welcome.css", "88ff2d390eb79397e45c9426d0053621"], + ["/bower_components/tether/docs/welcome/index.html", "2876380da5976550e978e2a0ddaf5c07"], + ["/bower_components/tether/docs/welcome/js/drop.js", "b7461f9a88fae1520ea867bd321b8785"], + ["/bower_components/tether/docs/welcome/js/jquery.js", "f16d4569fa38fb8a8f264cc832978824"], + ["/bower_components/tether/docs/welcome/js/log.js", "a44578d6abd2c5477bd98191e4d600d6"], + ["/bower_components/tether/docs/welcome/js/tether-v0.1.3.js", "2dd299f9a18e6fefc9e3a389d2e21921"], + ["/bower_components/tether/docs/welcome/js/welcome.js", "9992c06215f7304166b0b9fda02dcf14"], + ["/bower_components/tether/examples/chosen/chosen-sprite.png", "25b9acb1b504c95c6b95c33986b7317e"], + ["/bower_components/tether/examples/chosen/chosen-sprite@2x.png", "614fad616d014daf5367e068505cad35"], + ["/bower_components/tether/examples/chosen/chosen.css", "265e282e0809c9d0fd409e95480592a4"], + ["/bower_components/tether/examples/chosen/chosen.js", "0c1f2d8c18a8cef65777c5a24254c06e"], + ["/bower_components/tether/examples/chosen/index.html", "e965bd0d0dc4d2c84b8e496dba7a56a5"], + ["/bower_components/tether/examples/common/css/style.css", "553b42b6808b1e2aa4930943c6aaa8c8"], + ["/bower_components/tether/examples/content-visible/index.html", "be20942e083d80723c593300984142ab"], + ["/bower_components/tether/examples/dolls/dolls.css", "37d5b7647989093f686e91a8093bd28b"], + ["/bower_components/tether/examples/dolls/dolls.js", "135fec952bcc879cb24772efdc442c23"], + ["/bower_components/tether/examples/dolls/index.html", "5b5557aca529b480941ea25218533dd6"], + ["/bower_components/tether/examples/element-scroll/index.html", "f92ea019668a054487df19c6c9b48992"], + ["/bower_components/tether/examples/enable-disable/index.html", "deeb6f742a200cf5b994de075e42c776"], + ["/bower_components/tether/examples/facebook/facebook.css", "bc65c3d95a84750b8bb7fb3a4a30757c"], + ["/bower_components/tether/examples/facebook/index.html", "8faaab09bdba9b8ac2abc4a32dbf5f8c"], + ["/bower_components/tether/examples/out-of-bounds/index.html", "37c0946b128ec5f9e2d7f94c512273aa"], + ["/bower_components/tether/examples/pin/index.html", "6632b16f442318ef634abb5f91348770"], + ["/bower_components/tether/examples/resources/css/base.css", "96e174c1ca9a69a6e26a1a680c4d0156"], + ["/bower_components/tether/examples/resources/js/jquery.js", "37cd58c5f1052b2673d2dfc2f3bc46e7"], + ["/bower_components/tether/examples/resources/js/log.js", "a44578d6abd2c5477bd98191e4d600d6"], + ["/bower_components/tether/examples/scroll/index.html", "d48d9be7d3ce589b05f27efa08928929"], + ["/bower_components/tether/examples/simple/index.html", "a53ee6e06a3d6d1701070313f3533a30"], + ["/bower_components/tether/examples/testbed/index.html", "1c04e76affb076ffcb0a55281ba3a75f"], + ["/bower_components/tether/examples/tooltip/index.html", "7b5a6145cfa46b322b0ebbd291d556fd"], + ["/bower_components/tether/examples/viewport/colors.css", "d88c0596a9157f99c35c1eb1e19b4279"], + ["/bower_components/tether/examples/viewport/index.html", "78268c0baaaea19b6911cef3eae92807"], + ["/bower_components/tether/gulpfile.js", "7564ed33d4a4356e36fd9cbf87576361"], + ["/bower_components/tether/src/js/abutment.js", "87a099608ecbd742ff2998d4c0d09633"], + ["/bower_components/tether/src/js/constraint.js", "1c1f7ce15702283745724f82b355fd7c"], + ["/bower_components/tether/src/js/markAttachment.js", "35145291949fd17e1b5dc79cd90c9aa1"], + ["/bower_components/tether/src/js/shift.js", "aab803d6a4df9c9294be34caadee4ec6"], + ["/bower_components/tether/src/js/tether.js", "c3898225f4f30d6e91be10fc3526ac08"], + ["/bower_components/tether/src/js/utils.js", "fa9938ddb2ab8703cf7a009b020ce34e"], + ["/firebase-messaging-sw.js", "16ffe93294b2459a628ad335ee66cf2e"], + ["/images/icon-notification-192x192.png", "153ec28d4a902ee51b7e6ccb127d092d"], + ["/images/icons/icon-128x128.png", "93a402037a21745d81981edfbc64c850"], + ["/images/icons/icon-144x144.png", "eafbe3387c7e8237670659675a0bd92d"], + ["/images/icons/icon-152x152.png", "030e72d03ce15bfa8abab30c429c0440"], + ["/images/icons/icon-192x192.png", "b6817b595223d05071a2c13c7b8cea31"], + ["/images/icons/icon-384x384.png", "75cbaa6e3e9c5dd7700fe48a786adb2a"], + ["/images/icons/icon-72x72.png", "65fc449f3abf8325922d069f6fbad9d6"], + ["/images/icons/icon-96x96.png", "9b14d3618f14ec8d99f1ef1288c6975a"], + ["/images/icons/search-icon.png", "9b273adad0d1945d0b6b0841af07cefc"], + ["/images/title1.jpg", "3740064bbd83a0db3869f5eb8d3994ef"], + ["/index.html", "64956ba525ce8f68f0fab1f94b481d89"], + ["/scripts/app.js", "7d867bd7620782774a6c866d72fa06e3"], + ["/scripts/controllers/header.js", "af1d22d5417835c12e49113ace36b76e"], + ["/scripts/controllers/home.js", "1305b453f4e6cd82c75e6f1d596e52c9"], + ["/scripts/controllers/login.js", "06f7d1c91a17f2e4feda0eef83eb64c1"], + ["/scripts/controllers/projects/category.js", "567fb30733de83b7c86d5899d853c1e1"], + ["/scripts/controllers/projects/create.js", "1fe9f738d224eebfa2c429af372a4693"], + ["/scripts/controllers/projects/details.js", "58af3dfdaa46873d0a64e87c0622444e"], + ["/scripts/controllers/projects/favourites.js", "995184aafa553f55efde83218edd947b"], + ["/scripts/controllers/projects/index.js", "c6bbac43067cfa7afb133cea29cb7eb7"], + ["/scripts/controllers/projects/myProjects.js", "0da3366052eddc2c6fa2c81626850fff"], + ["/scripts/oneSignal/OneSignalConfig.js", "598bbf6e17e6cba2a2b53c9e551bca2f"], + ["/scripts/oneSignal/OneSignalSDKUpdaterWorker.js", "a4f31b84d594856359f740d4fa3f088d"], + ["/scripts/oneSignal/OneSignalSDKWorker.js", "a4f31b84d594856359f740d4fa3f088d"], + ["/scripts/services/authService.js", "88fad6ec728484131fa78e845c57025f"], + ["/scripts/services/projectService.js", "07a9221d25bbb1b54ebda2b7d6ffae1c"], + ["/styles/css/app.css", "9b807f1be7a64d09295305f208e21e55"], + ["/views/home.html", "ade191f75483471150cccaa2525800fa"], + ["/views/login.html", "5a21335ed9005efaa24119e326ca6b83"], + ["/views/projects/create.html", "7db21f56f72bf904961bd5ff761fc2cb"], + ["/views/projects/details.html", "3e37c26b0915950adab706e9ab230d84"], + ["/views/projects/favourites.html", "e0beea3fe52724c349a5c95a4907d25b"], + ["/views/projects/index.html", "937a327a9a5623dc33304564bff6805c"], + ["/views/shared/404.html", "a2e45c128eb2a0fab0c75aa9c88cb3ba"], + ["/views/shared/contact.html", "078be41b0f6d1f9fb2d92a6c6cc7e68a"], + ["/views/shared/footer.html", "04ec9c7131f9cd5e8267809f33dc4b4a"], + ["/views/shared/header.html", "2616a0c8e16aa800aaf70d3672670cf6"], + ["/views/shared/tos.html", "b0eb24053d502fdbe091fee29d1b6753"] +]; +var cacheName = 'sw-precache-v10--' + (self.registration ? self.registration.scope : ''); + + +var ignoreUrlParametersMatching = [/^utm_/]; + + + +var addDirectoryIndex = function(originalUrl, index) { + var url = new URL(originalUrl); + if (url.pathname.slice(-1) === '/') { + url.pathname += index; + } + return url.toString(); +}; + +var createCacheKey = function(originalUrl, paramName, paramValue, + dontCacheBustUrlsMatching) { + // Create a new URL object to avoid modifying originalUrl. + var url = new URL(originalUrl); + + // If dontCacheBustUrlsMatching is not set, or if we don't have a match, + // then add in the extra cache-busting URL parameter. + if (!dontCacheBustUrlsMatching || + !(url.toString().match(dontCacheBustUrlsMatching))) { + url.search += (url.search ? '&' : '') + + encodeURIComponent(paramName) + '=' + encodeURIComponent(paramValue); + } + + return url.toString(); +}; + +var isPathWhitelisted = function(whitelist, absoluteUrlString) { + // If the whitelist is empty, then consider all URLs to be whitelisted. + if (whitelist.length === 0) { + return true; + } + + // Otherwise compare each path regex to the path of the URL passed in. + var path = (new URL(absoluteUrlString)).pathname; + return whitelist.some(function(whitelistedPathRegex) { + return path.match(whitelistedPathRegex); + }); +}; + +var stripIgnoredUrlParameters = function(originalUrl, + ignoreUrlParametersMatching) { + var url = new URL(originalUrl); + + url.search = url.search.slice(1) // Exclude initial '?' + .split('&') // Split into an array of 'key=value' strings + .map(function(kv) { + return kv.split('='); // Split each 'key=value' string into a [key, value] array + }) + .filter(function(kv) { + return ignoreUrlParametersMatching.every(function(ignoredRegex) { + return !ignoredRegex.test(kv[0]); // Return true iff the key doesn't match any of the regexes. + }); + }) + .map(function(kv) { + return kv.join('='); // Join each [key, value] array into a 'key=value' string + }) + .join('&'); // Join the array of 'key=value' strings into a string with '&' in between each + + return url.toString(); +}; + + +var hashParamName = '_sw-precache'; +var urlsToCacheKeys = new Map( + precacheConfig.map(function(item) { + var relativeUrl = item[0]; + var hash = item[1]; + var absoluteUrl = new URL(relativeUrl, self.location); + var cacheKey = createCacheKey(absoluteUrl, hashParamName, hash, false); + return [absoluteUrl.toString(), cacheKey]; + }) +); + +function setOfCachedUrls(cache) { + return cache.keys().then(function(requests) { + return requests.map(function(request) { + return request.url; + }); + }).then(function(urls) { + return new Set(urls); + }); +} + +self.addEventListener('install', function(event) { + event.waitUntil( + caches.open(cacheName).then(function(cache) { + return setOfCachedUrls(cache).then(function(cachedUrls) { + return Promise.all( + Array.from(urlsToCacheKeys.values()).map(function(cacheKey) { + // If we don't have a key matching url in the cache already, add it. + if (!cachedUrls.has(cacheKey)) { + return cache.add(new Request(cacheKey, { + credentials: 'same-origin' + })); + } + }) + ); + }); + }).then(function() { + + // Force the SW to transition from installing -> active state + return self.skipWaiting(); + + }) + ); +}); + +self.addEventListener('activate', function(event) { + var setOfExpectedUrls = new Set(urlsToCacheKeys.values()); + + event.waitUntil( + caches.open(cacheName).then(function(cache) { + return cache.keys().then(function(existingRequests) { + return Promise.all( + existingRequests.map(function(existingRequest) { + if (!setOfExpectedUrls.has(existingRequest.url)) { + return cache.delete(existingRequest); + } + }) + ); + }); + }).then(function() { + + return self.clients.claim(); + + }) + ); +}); + + +self.addEventListener('fetch', function(event) { + if (event.request.method === 'GET') { + // Should we call event.respondWith() inside this fetch event handler? + // This needs to be determined synchronously, which will give other fetch + // handlers a chance to handle the request if need be. + var shouldRespond; + + // First, remove all the ignored parameter and see if we have that URL + // in our cache. If so, great! shouldRespond will be true. + var url = stripIgnoredUrlParameters(event.request.url, ignoreUrlParametersMatching); + shouldRespond = urlsToCacheKeys.has(url); + + // If shouldRespond is false, check again, this time with 'index.html' + // (or whatever the directoryIndex option is set to) at the end. + var directoryIndex = 'index.html'; + if (!shouldRespond && directoryIndex) { + url = addDirectoryIndex(url, directoryIndex); + shouldRespond = urlsToCacheKeys.has(url); + } + + // If shouldRespond is still false, check to see if this is a navigation + // request, and if so, whether the URL matches navigateFallbackWhitelist. + var navigateFallback = ''; + if (!shouldRespond && + navigateFallback && + (event.request.mode === 'navigate') && + isPathWhitelisted([], event.request.url)) { + url = new URL(navigateFallback, self.location).toString(); + shouldRespond = urlsToCacheKeys.has(url); + } + + // If shouldRespond was set to true at any point, then call + // event.respondWith(), using the appropriate cache key. + if (shouldRespond) { + event.respondWith( + caches.open(cacheName).then(function(cache) { + return cache.match(urlsToCacheKeys.get(url)).then(function(response) { + if (response) { + return response; + } + throw Error('The cached response that was expected is missing.'); + }); + }).catch(function(e) { + // Fall back to just fetch()ing the request if some unexpected error + // prevented the cached response from being valid. + console.warn('Couldn\'t serve response for "%s" from cache: %O', event.request.url, e); + return fetch(event.request); + }) + ); + } + } +}); + +self.addEventListener('notificationclick', event => { + const rootUrl = new URL('/', location).href; + event.notification.close(); + // Enumerate windows, and call window.focus(), or open a new one. + event.waitUntil( + clients.matchAll().then(matchedClients => { + for (let client of matchedClients) { + if (client.url === rootUrl) { + return client.focus(); + } + } + return clients.openWindow("/"); + }) + ); +}); diff --git a/app/views/home.html b/app/views/home.html new file mode 100644 index 0000000..a5c242b --- /dev/null +++ b/app/views/home.html @@ -0,0 +1,53 @@ +
+
+
+

Funding your ideas

+

Crowd guided development

+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+ + +
Find
+
+
+
+
+
+
+
+
+

No projects created yet

+
+
+
+
+

Popular projects:

+
+
+
+
+
+ Card image cap +
+

{{project.name}}

+

{{project.description | limitTo : 250}}

+ Project details +
+
+
+
diff --git a/app/views/login.html b/app/views/login.html new file mode 100644 index 0000000..d655a5b --- /dev/null +++ b/app/views/login.html @@ -0,0 +1,25 @@ +
+
+

Login options

+
+
+
+
+
+ Warning! {{loginError}} +
+
+
+
+
+ + + +
+
diff --git a/app/views/projects/create.html b/app/views/projects/create.html new file mode 100644 index 0000000..bb739a9 --- /dev/null +++ b/app/views/projects/create.html @@ -0,0 +1,93 @@ +
+
+
+

Create a project

+
+
+
+
+
+
+
+ + +

Email to contact to.

+
+ Alert! Need to specify a valid email. +
+
+
+ + +

Give your project a name.

+
+ Alert! Need to specify a valid name. +
+
+
+ + +

Categorize your project.

+
+ Alert! Need to specify a category. +
+
+
+ + +

Describe your project.

+
+ Alert! Description must be 300 characters. +
+
+
+ + +

Select a finish date.

+
+ Alert! Need to specify a date. +
+
+
+ + {{project.image.name}} +

Picture for project header.

+
+
+ + +

Video about project.

+
+ {{videoError}} +
+
+ +
+ + +

Stablish your goal in €.

+
+ Alert! Goal must be stablished. +
+
+
+ + +

Stablish your achievement.

+
+ Alert! Must be lower than projects target goal. +
+
+ +
+
+ Alert! You have to make an account first. +
+ + Cancel +
+
+
+
+
+
diff --git a/app/views/projects/details.html b/app/views/projects/details.html new file mode 100644 index 0000000..766a8ed --- /dev/null +++ b/app/views/projects/details.html @@ -0,0 +1,217 @@ +
+
+
+

Administrate your project:

+

Project status: {{ project.status | camelToHuman }}

+ +
+
+
+
+

{{project.name}}

+

by {{project.ownerName}}

+
+
+
+
+
+ +
+
+
+
+ + Login to make a donation + + + +
+
+
+

Category:

+ {{project.category}} +

Description:

+ +
+

Deadline: {{project.day}}/{{project.month}}/{{project.year}}

+
+
+ Target amount: {{project.goal}}€ +
+
{{ project.donated / project.goal * 100 | number:0 || 0}}% Reached
+ +
+
+
+ +
+

Update {{$index + 1}}

+

{{update.body}}

+ {{update.url}} +
+ + +
+

Share this project!

+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+
+
+
+

Publish an update. Keep the donors informed.

+
+
+ +
+ Alert! Write somethings first. +
+
+
+ +
+
+ +
+
+
+
+
+
+

Add feature to the pool:

+
+
+ +
+ Alert! Write somethings first. +
+
+
+ +
+
+
+
+

Features:

+
+
+
+

{{$index + 1 + 'º ' + feature.description}}

+
+
+ + +

{{feature.points}}

+
+
+
+
+
+
+
+
+

Comments

+
+
+ + +
+ Alert! Write somethings first. +
+
+
+ +
+
+
+
+
+
+
+
+ User + {{comment.writer}} +
+

{{comment.text}}

+
+
+
+
+
diff --git a/app/views/projects/favourites.html b/app/views/projects/favourites.html new file mode 100644 index 0000000..6003050 --- /dev/null +++ b/app/views/projects/favourites.html @@ -0,0 +1,23 @@ +
+
+
+

{{errorMessage.big}}

+

{{errorMessage.small}}

+
+
+

My favourite projects:

+
+
+
+
+
+
+ Card image cap +
+

{{project.name}}

+

{{project.description | limitTo : 250}}

+ Project details +
+
+
+
diff --git a/app/views/projects/index.html b/app/views/projects/index.html new file mode 100644 index 0000000..d9cde13 --- /dev/null +++ b/app/views/projects/index.html @@ -0,0 +1,38 @@ +
+
+
+
+
+
+ + +
Find!
+
+
+
+
+
+
+
+
+
+

{{errorMessage.big}}

+

{{errorMessage.small}}

+
+
+

Search results:

+
+
+
+
+
+
+ Card image cap +
+

{{project.name}}

+

{{project.description | limitTo : 250}}

+ Project details +
+
+
+
diff --git a/app/views/shared/404.html b/app/views/shared/404.html new file mode 100644 index 0000000..9643496 --- /dev/null +++ b/app/views/shared/404.html @@ -0,0 +1,22 @@ + + + + + Page Not Found + + + +

Looks like you are lost

+

Try looking for a project among our categories.

+
+
+
+
+ +
+
+
+
+ + + diff --git a/app/views/shared/contact.html b/app/views/shared/contact.html new file mode 100644 index 0000000..9e4aacd --- /dev/null +++ b/app/views/shared/contact.html @@ -0,0 +1,33 @@ +
+
+
+

Created by Héctor Macías

+

Powered by Firebase

+
+
+ Email us +
+
+

Share!

+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+
+
diff --git a/app/views/shared/footer.html b/app/views/shared/footer.html new file mode 100644 index 0000000..08b785b --- /dev/null +++ b/app/views/shared/footer.html @@ -0,0 +1,13 @@ + diff --git a/app/views/shared/header.html b/app/views/shared/header.html new file mode 100644 index 0000000..c72aec6 --- /dev/null +++ b/app/views/shared/header.html @@ -0,0 +1,36 @@ +
+ +
diff --git a/app/views/shared/tos.html b/app/views/shared/tos.html new file mode 100644 index 0000000..4e30ffe --- /dev/null +++ b/app/views/shared/tos.html @@ -0,0 +1,142 @@ +
+
+
+ Back to home +

+ Web Site Terms and Conditions of Use +

+ +

+ 1. Terms +

+ +

+ By accessing this web site, you are agreeing to be bound by these web site Terms and Conditions of Use, all applicable laws and regulations, and agree that you are responsible for compliance with any applicable local laws. If you do not agree with any + of these terms, you are prohibited from using or accessing this site. The materials contained in this web site are protected by applicable copyright and trade mark law. +

+ +

+ 2. Use License +

+ +
    +
  1. + Permission is granted to temporarily download one copy of the materials (information or software) on CrowDevelop's web site for personal, non-commercial transitory viewing only. This is the grant of a license, not a transfer of title, and under this license + you may not: + +
      +
    1. modify or copy the materials;
    2. +
    3. use the materials for any commercial purpose, or for any public display (commercial or non-commercial);
    4. +
    5. attempt to decompile or reverse engineer any software contained on CrowDevelop's web site;
    6. +
    7. remove any copyright or other proprietary notations from the materials; or
    8. +
    9. transfer the materials to another person or "mirror" the materials on any other server.
    10. +
    +
  2. +
  3. + This license shall automatically terminate if you violate any of these restrictions and may be terminated by CrowDevelop at any time. Upon terminating your viewing of these materials or upon the termination of this license, you must destroy any downloaded + materials in your possession whether in electronic or printed format. +
  4. +
+ +

+ 3. Disclaimer +

+ +
    +
  1. + The materials on CrowDevelop's web site are provided "as is". CrowDevelop makes no warranties, expressed or implied, and hereby disclaims and negates all other warranties, including without limitation, implied warranties or conditions of merchantability, + fitness for a particular purpose, or non-infringement of intellectual property or other violation of rights. Further, CrowDevelop does not warrant or make any representations concerning the accuracy, likely results, or reliability + of the use of the materials on its Internet web site or otherwise relating to such materials or on any sites linked to this site. +
  2. +
+ +

+ 4. Limitations +

+ +

+ In no event shall CrowDevelop or its suppliers be liable for any damages (including, without limitation, damages for loss of data or profit, or due to business interruption,) arising out of the use or inability to use the materials on CrowDevelop's Internet + site, even if CrowDevelop or a CrowDevelop authorized representative has been notified orally or in writing of the possibility of such damage. Because some jurisdictions do not allow limitations on implied warranties, or limitations of + liability for consequential or incidental damages, these limitations may not apply to you. +

+ +

+ 5. Revisions and Errata +

+ +

+ The materials appearing on CrowDevelop's web site could include technical, typographical, or photographic errors. CrowDevelop does not warrant that any of the materials on its web site are accurate, complete, or current. CrowDevelop may make changes to + the materials contained on its web site at any time without notice. CrowDevelop does not, however, make any commitment to update the materials. +

+ +

+ 6. Links +

+ +

+ CrowDevelop has not reviewed all of the sites linked to its Internet web site and is not responsible for the contents of any such linked site. The inclusion of any link does not imply endorsement by CrowDevelop of the site. Use of any such linked web + site is at the user's own risk. +

+ +

+ 7. Site Terms of Use Modifications +

+ +

+ CrowDevelop may revise these terms of use for its web site at any time without notice. By using this web site you are agreeing to be bound by the then current version of these Terms and Conditions of Use. +

+ +

+ 8. Governing Law +

+ +

+ Any claim relating to CrowDevelop's web site shall be governed by the laws of the State of Spain without regard to its conflict of law provisions. +

+ +

+ General Terms and Conditions applicable to Use of a Web Site. +

+ + + +

+ Privacy Policy +

+ +

+ Your privacy is very important to us. Accordingly, we have developed this Policy in order for you to understand how we collect, use, communicate and disclose and make use of personal information. The following outlines our privacy policy. +

+ +
    +
  • + Before or at the time of collecting personal information, we will identify the purposes for which information is being collected. +
  • +
  • + We will collect and use of personal information solely with the objective of fulfilling those purposes specified by us and for other compatible purposes, unless we obtain the consent of the individual concerned or as required by law. +
  • +
  • + We will only retain personal information as long as necessary for the fulfillment of those purposes. +
  • +
  • + We will collect personal information by lawful and fair means and, where appropriate, with the knowledge or consent of the individual concerned. +
  • +
  • + Personal data should be relevant to the purposes for which it is to be used, and, to the extent necessary for those purposes, should be accurate, complete, and up-to-date. +
  • +
  • + We will protect personal information by reasonable security safeguards against loss or theft, as well as unauthorized access, disclosure, copying, use or modification. +
  • +
  • + We will make readily available to customers information about our policies and practices relating to the management of personal information. +
  • +
+ +

+ We are committed to conducting our business in accordance with these principles in order to ensure that the confidentiality of personal information is protected and maintained. +

+ Back to home +
+
+ +
diff --git a/bower.json b/bower.json new file mode 100644 index 0000000..a879b45 --- /dev/null +++ b/bower.json @@ -0,0 +1,36 @@ +{ + "name": "tfgCrowDevelop", + "description": "", + "main": "index.js", + "authors": [ + "Héctor Macías " + ], + "license": "ISC", + "homepage": "", + "ignore": [ + "**/.*", + "node_modules", + "bower_components", + "test", + "tests" + ], + "dependencies": { + "angular": "~1.5.8", + "angular-animate": "1.5.8", + "angular-route": "1.5.8", + "angular-ui-router": "^0.3.1", + "angularfire": "^2.0.2", + "bootstrap": "v4.0.0-alpha.4", + "jquery.payment": "jquery-payment#^1.1.6", + "ngstorage": "^0.3.11" + }, + "resolutions": { + "bootstrap": "v4.0.0-alpha.4" + }, + "devDependencies": { + "angular": "1.5.8", + "angular-mocks": "1.5.8", + "bower": "*", + "install": "^1.0.4" + } +} diff --git a/database.rules.json b/database.rules.json new file mode 100644 index 0000000..c3cfc73 --- /dev/null +++ b/database.rules.json @@ -0,0 +1,9 @@ +{ + "rules": { + ".read": true, + ".write": "auth != null", + "projects" : { + ".indexOn": ["name", "donated", "ownerId"] + } + } +} diff --git a/e2e/auth.spec.js b/e2e/auth.spec.js new file mode 100644 index 0000000..4990f5f --- /dev/null +++ b/e2e/auth.spec.js @@ -0,0 +1,72 @@ +'use strict'; + +describe('CrowDevelop authentication', function() { + var handlePromise; + + beforeAll(function() { + browser.get('http://localhost:5000/login'); + handlePromise = browser.driver.getAllWindowHandles(); + }); + + it('title should be CrowDevelop', function() { + expect(browser.getTitle()).toEqual('CrowDevelop'); + }); + + it('should have a navbar', function() { + var brand = element.all(by.className('navbar-brand')).first(); + expect(brand.getText()).toEqual('CROWDEVELOP'); + }); + + it('should have a footer', function() { + expect(element(by.css('footer'))).not.toBe(null); + }); + + it('login shows 3 providers', function() { + var google = element(by.className('btn-google')); + var twitter = element(by.className('btn-twitter')); + var facebook = element(by.className('btn-facebook')); + expect(google.isPresent()); + expect(twitter.isPresent()); + expect(facebook.isPresent()); + }); + + it('should login with google', function() { + var google = element(by.className('btn-google')).click(); + browser.getAllWindowHandles().then(function(handles) { + browser.getAllWindowHandles().then(function(handles) { + var popupHandle = handles[1]; + + browser.switchTo().window(popupHandle); + + var emailFieldExists = by.id('Email'); + browser.driver.wait(function() { + return browser.driver.isElementPresent(emailFieldExists); + }, 5000); + + var email = browser.driver.findElement(by.id('Email')); + var next = browser.driver.findElement(by.id('next')); + var signIn = browser.driver.findElement(by.id('signIn')); + + email.sendKeys('crowdevelopTest@gmail.com'); + next.click(); + browser.sleep(1000); + var passwd = browser.driver.findElement(by.id('Passwd')); + var passwordFieldExists = by.id('Passwd'); + browser.driver.wait(function() { + return browser.driver.isElementPresent(passwordFieldExists); + }, 5000); + + passwd.sendKeys('cdcrowdevelop'); + signIn.click(); + + browser.sleep(3000); + browser.switchTo().window(handles[0]); + var signOut = element(by.id('quickstart-sign-in')) + expect(signOut.isPresent()).toBe(true); + + }); + }); + }); + + +}); diff --git a/e2e/categories.spec.js b/e2e/categories.spec.js new file mode 100644 index 0000000..e88a3c4 --- /dev/null +++ b/e2e/categories.spec.js @@ -0,0 +1,42 @@ +'use strict'; + +describe('CrowDevelop categories page', function() { + var projects = element.all(by.repeater('project in projectSearch')); + var searchForm = element(by.className('form')); + var search = element(by.model('query')); + + beforeAll(function() { + browser.get('http://localhost:5000/projects/category/Game'); + }); + + it('title should be CrowDevelop', function() { + expect(browser.getTitle()).toEqual('CrowDevelop'); + }); + + it('should have a projects list or an error message', function() { + if (projects.length == 0) { + var errorBig = element(by.id('error-big')); + var errorSmall = element(by.id('error-small')); + expect(errorBig.getText()).toEqual('No projects found in that category'); + expect(errorSmall.getText()).toEqual('Look for something else'); + } else { + expect(projects.length).not.toBe(0); + } + }); + + it('should have a navbar', function() { + var brand = element.all(by.className('navbar-brand')).first(); + expect(brand.getText()).toEqual('CROWDEVELOP'); + }); + + it('should have a footer', function() { + expect(element(by.css('footer'))).not.toBe(null); + }); + + it('should have search form that redirects to projects/index', function() { + search.sendKeys('Test'); + searchForm.submit().then(function() { + expect(browser.getCurrentUrl()).toEqual('http://localhost:5000/projects/index'); + }); + }); +}); diff --git a/e2e/contact.spec.js b/e2e/contact.spec.js new file mode 100644 index 0000000..f658e6c --- /dev/null +++ b/e2e/contact.spec.js @@ -0,0 +1,46 @@ +'use strict'; + +describe('CrowDevelop contact page', function() { + + beforeAll(function() { + browser.get('http://localhost:5000/contact'); + browser.sleep(2000); + }); + + it('title should be CrowDevelop', function() { + expect(browser.getTitle()).toEqual('CrowDevelop'); + }); + + it('should have a brand text', function() { + var brand = element.all(by.className('navbar-brand')).first(); + expect(brand.getText()).toEqual('CROWDEVELOP'); + }); + + it('should have footer links', function() { + expect(element(by.css('footer'))).not.toBe(null); + }); + + it('should have an email link', function() { + var email = element(by.id('email')); + expect(email.getText()).toEqual('Email us'); + }); + + it('should have an owner and a powered by text', function() { + var owner = element(by.id('owner')); + var powered = element(by.id('powered')); + expect(owner.getText()).toEqual('Created by Héctor Macías'); + expect(powered.getText()).toEqual('Powered by Firebase'); + }); + + it('should have 3 share buttons', function() { + var facebook = element.all(by.className('btn-facebook')).first(); + var twitter = element.all(by.className('btn-twitter')).first(); + var google = element.all(by.className('btn-google')).first(); + expect(twitter.isPresent()); + expect(google.isPresent()); + expect(facebook.isPresent()); + }); + + + +}); diff --git a/e2e/createProject.spec.js b/e2e/createProject.spec.js new file mode 100644 index 0000000..322d0e9 --- /dev/null +++ b/e2e/createProject.spec.js @@ -0,0 +1,57 @@ +'use strict'; + +describe('CrowDevelop create project page', function() { + var updates = element.all(by.repeater('update in projectUpdates')); + var comments = element.all(by.repeater('comment in comments')); + var features = element.all(by.repeater('feature in features')); + + beforeAll(function() { + browser.get('http://localhost:5000/projects/create'); + browser.sleep(4000); + }); + + it('title should be CrowDevelop', function() { + expect(browser.getTitle()).toEqual('CrowDevelop'); + }); + + it('should have a brand text', function() { + var brand = element.all(by.className('navbar-brand')).first(); + expect(brand.getText()).toEqual('CROWDEVELOP'); + }); + + it('should have footer links', function() { + expect(element(by.css('footer'))).not.toBe(null); + }); + + it('should have an email input', function() { + var email = element(by.model('project.email')); + expect(email.isPresent()); + }); + + it('should have a name input', function() { + var name = element(by.model('project.name')); + expect(name.isPresent()); + }); + + it('should have a category select', function() { + var category = element(by.model('project.category')); + expect(category.isPresent()); + }); + + it('should have an image input', function() { + var image = element(by.model('project.image')); + expect(image.isPresent()); + }); + + it('should have a video input', function() { + var video = element(by.model('project.video')); + expect(video.isPresent()); + }); + + it('should have a goal input', function() { + var goal = element(by.model('project.goal')); + expect(goal.isPresent()); + }); + + +}); diff --git a/e2e/details.spec.js b/e2e/details.spec.js new file mode 100644 index 0000000..e8e02ff --- /dev/null +++ b/e2e/details.spec.js @@ -0,0 +1,97 @@ +'use strict'; + +describe('CrowDevelop details page', function() { + var updates = element.all(by.repeater('update in projectUpdates')); + var comments = element.all(by.repeater('comment in comments')); + var features = element.all(by.repeater('feature in features')); + + beforeAll(function() { + browser.get('http://localhost:5000/projects/index/-KXWsNzIL95aYJc3S9GX'); + browser.sleep(4000); + }); + + it('title should be CrowDevelop', function() { + expect(browser.getTitle()).toEqual('CrowDevelop'); + }); + + it('should have a brand text', function() { + var brand = element.all(by.className('navbar-brand')).first(); + expect(brand.getText()).toEqual('CROWDEVELOP'); + }); + + it('should have footer links', function() { + expect(element(by.css('footer'))).not.toBe(null); + }); + + it('should have a title and owner', function() { + var title = element(by.id('projectName')); + var owner = element(by.id('projectOwner')); + expect(title.getText()).toEqual('Test'); + expect(owner.getText()).toEqual('by Héctor Macías'); + }); + + it('should have a donate button', function() { + var donateButton = element(by.id('donateButton')); + expect(donateButton.getText()).toEqual('Donate to this project'); + }); + + it('should have a favourite button', function() { + var favouriteButton = element(by.className('fav-btn')); + expect(favouriteButton.isPresent()); + }); + + it('should have a description', function() { + var description = element(by.id('description')); + expect(description.getText()).toEqual('Test'); + }); + + it('should have a category', function() { + var category = element(by.id('category')); + expect(category.getText()).toEqual('Sports'); + }); + + it('should have a deadline', function() { + var deadline = element(by.id('deadline')); + expect(deadline.getText()).toEqual('Deadline: 5/2/2100'); + }); + + it('should have a targetAmount', function() { + var targetAmount = element(by.id('targetAmount')); + expect(targetAmount.getText()).toEqual('Target amount: 120000€'); + }); + + it('should have an update', function() { + var updateIndex = element.all(by.className('updateIndex')).first(); + var updateBody = element.all(by.className('updateBody')).first(); + var updateURL = element.all(by.className('updateURL')).first(); + expect(updateIndex.getText()).toEqual('Update 1'); + expect(updateBody.getText()).toEqual('Update 1'); + expect(updateURL.getText()).toEqual('https://goo.gl/forms/e1TXG8Mf9hoVgTtP2'); + }); + + it('should have a feature', function() { + var featureDescription = element.all(by.className('featureDescription')).first(); + var featurePoints = element.all(by.className('featurePoints')).first(); + expect(featureDescription.getText()).toEqual('1º Feature 1'); + expect(featurePoints.getText()).toEqual('1'); + }); + + it('should have a comment', function() { + var commentWriter = element.all(by.className('comment-writer')).first(); + expect(commentWriter.getText()).toEqual('Héctor Macías'); + var commentText = element.all(by.className('comment-text')).first(); + expect(commentText.getText()).toEqual('Comment 1'); + }); + + it('should have 3 share buttons', function() { + var googleShare = element.all(by.className('googleShare')).first(); + var twitterShare = element.all(by.className('twitterShare')).first(); + var facebookShare = element.all(by.className('facebookShare')).first(); + expect(twitterShare.isPresent()); + expect(googleShare.isPresent()); + expect(facebookShare.isPresent()); + }); + + + +}); diff --git a/e2e/favourites.spec.js b/e2e/favourites.spec.js new file mode 100644 index 0000000..5a6864a --- /dev/null +++ b/e2e/favourites.spec.js @@ -0,0 +1,40 @@ +'use strict'; + +describe('CrowDevelop favourite page', function() { + var handlePromise; + var favourites = element.all(by.repeater('project in favProjects')); + + beforeAll(function() { + + browser.get('http://localhost:5000/projects/favourites'); + }); + + it('title should be CrowDevelop', function() { + expect(browser.getTitle()).toEqual('CrowDevelop'); + }); + + it('should have a navbar', function() { + var brand = element.all(by.className('navbar-brand')).first(); + expect(brand.getText()).toEqual('CROWDEVELOP'); + }); + + it('should have a footer', function() { + expect(element(by.css('footer'))).not.toBe(null); + }); + + it('should have a list of projects', function() { + if (favourites.length == 0) { + expect(element(by.id('errorBig')).getText()).toEqual('You have no favourite projects...Yet!'); + expect(element(by.id('errorSmall')).getText()).toEqual('Favourite a project first'); + } else { + var project = favourites.first(); + var projectName = element(by.id('projectName')); + var projectDescription = element(by.id('projectDescription')); + var detailsButton = element(by.id('detailsButton')); + expect(projectName.isPresent()); + expect(projectDescription.isPresent()); + expect(detailsButton.isPresent()); + } + }); + +}); diff --git a/e2e/home.spec.js b/e2e/home.spec.js new file mode 100644 index 0000000..5c6cd0f --- /dev/null +++ b/e2e/home.spec.js @@ -0,0 +1,50 @@ +'use strict'; + +describe('CrowDevelop home page', function() { + var projects = element.all(by.repeater('project in projects')); + var categories = element.all(by.repeater('category in categories')); + var searchForm = element(by.className('form')); + var search = element(by.model('query')); + + beforeAll(function() { + browser.get('http://localhost:5000'); + }); + + it('title should be CrowDevelop', function() { + expect(browser.getTitle()).toEqual('CrowDevelop'); + }); + + it('should have projects', function() { + if (projects.length == 0) { + var message = element(by.className('empty')); + expect(message.getText()).toEqual('No projects created yet'); + } + expect(projects.length).not.toBe(0); + }); + + it('should have categories', function() { + expect(categories.length).not.toBe(0); + }); + + it('should have a brand text', function() { + var brand = element.all(by.className('navbar-brand')).first(); + expect(brand.getText()).toEqual('CROWDEVELOP'); + }); + + it('should have footer links', function() { + expect(element(by.css('footer'))).not.toBe(null); + }); + + it('should have search form that redirects to projects/index', function() { + search.sendKeys('Test1'); + searchForm.submit().then(function() { + expect(browser.getCurrentUrl()).toEqual('http://localhost:5000/projects/index'); + }); + }); + + it('should automatically show not found when location is not permited', function() { + browser.get('http://localhost:5000/asd'); + var notFound = element(by.id('notFound')); + expect(notFound.getText()).toEqual('Looks like you are lost'); + }); +}); diff --git a/firebase.json b/firebase.json new file mode 100644 index 0000000..27fb416 --- /dev/null +++ b/firebase.json @@ -0,0 +1,14 @@ +{ + "database": { + "rules": "database.rules.json" + }, + "hosting": { + "public": "app", + "rewrites": [ + { + "source": "**", + "destination": "/index.html" + } + ] + } +} diff --git a/gulpfile.js b/gulpfile.js new file mode 100755 index 0000000..bf6b3e9 --- /dev/null +++ b/gulpfile.js @@ -0,0 +1,64 @@ +// Load Gulp +var gulp = require('gulp'), + // cssmin = require('gulp-cssmin'), + sass = require('gulp-sass'), + path = require('path'), + browserSync = require('browser-sync'), + // modRewrite = require('connect-modrewrite'), + exec = require('child_process').exec, + plugins = require('gulp-load-plugins')({ + rename: { + 'gulp-live-server': 'serve', + 'gulp-autoprefixer': 'autoprefixer' + } + }); + +gulp.task('default', ['watch', 'firebase']); + +gulp.task('generate-service-worker', function(callback) { + var path = require('path'); + var swPrecache = require('sw-precache'); + var rootDir = 'app'; + + swPrecache.write(path.join(rootDir, 'sw.js'), { + staticFileGlobs: [rootDir + '/**/*.{js,html,css,png,jpg,gif}'], + stripPrefix: rootDir + }, callback); +}); + +gulp.task('serve', function() { + browserSync.init(null, { + notify: false, + port: 8080, + server: { + baseDir: ['app'], + } + }); + gulp.watch('app/styles/sass/**/*.scss', ['sass']); + gulp.watch(['app/**/*.*']).on('change', browserSync.reload); +}); + +gulp.task('sass', function() { + gulp.src('app/styles/sass/*.scss') + .pipe(sass().on('error', sass.logError)) + .pipe(plugins.autoprefixer({ + browsers: ['last 2 versions'], + cascade: false + })) + // .pipe(cssmin()) + .pipe(gulp.dest('app/styles/css')) + .pipe(browserSync.stream()); +}); + +gulp.task('watch', function() { + gulp.watch('app/styles/sass/**/*.scss', ['sass']); +}); + +gulp.task('firebase', function(cb) { + exec('sudo firebase serve', function(err, stdout, stderr) { + console.log(stdout); + console.log(stderr); + cb(err); + }); + gulp.watch('app/styles/sass/**/*.scss', ['sass']); +}); diff --git a/karma.conf.js b/karma.conf.js new file mode 100644 index 0000000..4c99b08 --- /dev/null +++ b/karma.conf.js @@ -0,0 +1,77 @@ +// Karma configuration +// Generated on Sat Sep 24 2016 17:38:39 GMT+0100 (WEST) + +module.exports = function(config) { + config.set({ + + // base path that will be used to resolve all patterns (eg. files, exclude) + basePath: '', + + + // frameworks to use + // available frameworks: https://npmjs.org/browse/keyword/karma-adapter + frameworks: ['jasmine'], + + + // list of files / patterns to load in the browser + files: [ + 'app/bower_components/angular/angular.js', + 'app/bower_components/angular-animate/angular-animate.min.js', + 'app/bower_components/angular-route/angular-route.min.js', + 'app/bower_components/angular-mocks/angular-mocks.js', + 'app/bower_components/mockfirebase/browser/mockfirebase.js', + 'app/bower_components/firebase/firebase.js', + 'app/bower_components/angularfire/dist/angularfire.min.js', + 'app/bower_components/angular-strap/dist/angular-strap.min.js', + 'app/bower_components/angular-strap/dist/angular-strap.tpl.min.js', + 'app/scripts/**/*.js', + 'units/*.js' + ], + + + // list of files to exclude + exclude: [], + + + // preprocess matching files before serving them to the browser + // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor + preprocessors: {}, + + + // test results reporter to use + // possible values: 'dots', 'progress' + // available reporters: https://npmjs.org/browse/keyword/karma-reporter + reporters: ['progress'], + + + // web server port + port: 9876, + + + // enable / disable colors in the output (reporters and logs) + colors: true, + + + // level of logging + // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG + logLevel: config.LOG_INFO, + + + // enable / disable watching file and executing tests whenever any file changes + autoWatch: true, + + + // start these browsers + // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher + browsers: ['Chrome'], + + + // Continuous Integration mode + // if true, Karma captures browsers, runs the tests and exits + singleRun: false, + + // Concurrency level + // how many browser should be started simultaneous + concurrency: Infinity + }) +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..2fbdef5 --- /dev/null +++ b/package.json @@ -0,0 +1,42 @@ +{ + "name": "tfgCrowDevelop", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "postinstall": "bower install", + "karma": "./node_modules/karma/bin/karma start karma.conf.js", + "driver": "webdriver-manager start", + "protractor": "protractor protractor.conf.js", + "gulp": "gulp" + }, + "keywords": [], + "author": "", + "license": "ISC", + "devDependencies": { + "browser-sync": "^2.15.0", + "chromedriver": "^2.24.1", + "connect-modrewrite": "^0.9.0", + "gulp": "^3.9.1", + "gulp-autoprefixer": "^2.3.1", + "gulp-cssmin": "^0.1.7", + "gulp-exec": "^2.1.2", + "gulp-jshint": "^1.12.0", + "gulp-live-server": "0.0.29", + "gulp-load-plugins": "^0.8.1", + "gulp-path": "^3.0.3", + "gulp-plumber": "^0.6.6", + "gulp-rename": "^1.2.0", + "gulp-sass": "^2.3.2", + "gulp-util": "^3.0.7", + "jasmine": "^2.5.2", + "jasmine-reporters": "^2.2.0", + "karma": "^1.3.0", + "karma-chrome-launcher": "^2.0.0", + "karma-cli": "^1.0.1", + "karma-jasmine": "^1.0.2", + "karma-phantomjs-launcher": "^1.0.2", + "protractor": "^4.0.9", + "sw-precache": "^4.2.2" + } +} diff --git a/protractor.conf.js b/protractor.conf.js new file mode 100644 index 0000000..4c49a95 --- /dev/null +++ b/protractor.conf.js @@ -0,0 +1,60 @@ +// protractor.conf.base.js +'use strict'; + +exports.config = { + // The address of a running selenium server. + seleniumAddress: 'http://localhost:4444/wd/hub', + + // Spec patterns are relative to the location of the spec file. They may + // include glob patterns. + specs: ['e2e/*.js'], + + // onPrepare: function() { + // // Disable animations so e2e tests run more quickly + // var disableNgAnimate = function() { + // angular.module('disableNgAnimate', []).run(function($animate) { + // $animate.enabled(false); + // }); + // }; + // + // browser.addMockModule('disableNgAnimate', disableNgAnimate); + // + // require('jasmine-reporters'); + // jasmine.getEnv().addReporter(new jasmine.JUnitXmlReporter('xmloutput', true, true)); + // }, + rootElement: '.crowDevelop', + onPrepare: function() { + global.isAngularSite = function(flag) { + console.log('Switching to ' + (flag ? 'Asynchronous' : 'Synchronous') + ' mode.') + browser.ignoreSynchronization = !flag; + }, + global.BROWSER_WAIT = 5000; + }, + + // Options to be passed to Jasmine-node. + jasmineNodeOpts: { + isVerbose: true, + showColors: true, + includeStackTrace: true, + defaultTimeoutInterval: 30000 + }, + + baseUrl: 'https://localhost:5000', + + framework: 'jasmine' +}; + + + +// protractor.conf.phantom.js +'use strict'; + +var config = exports.config = require('./protractor.conf.js').config; + +config.capabilities = { + browserName: 'chrome', + version: '', + platform: 'ANY' +}; + +// Run by "protractor protractor.conf.phantom.js" diff --git a/units/homeCtrl.spec.js b/units/homeCtrl.spec.js new file mode 100644 index 0000000..deaf647 --- /dev/null +++ b/units/homeCtrl.spec.js @@ -0,0 +1,67 @@ +describe('Home controller suite', function() { + + window.MockFirebase.override(); + + beforeEach(module('crowDevelop', 'firebase', function($provide) { + $provide.value('') + })); + + var $rootScope, $controller, $firebaseArray, $firebaseObject, $location; + var firebaseRef; + + beforeEach(function() { + module('firebase.database'); + + inject(function(_$rootScope_, _$controller_, _$firebaseArray_, _$location_, _$firebaseObject_) { + $rootScope = _$rootScope_; + $controller = _$controller_; + $firebaseArray = _$firebaseArray_; + $firebaseObject = _$firebaseObject_; + $location = _$location_; + }); + }); + + describe('$scope.findProject function tests', function() { + var $scope, controller; + + beforeEach(function() { + $scope = {}; + controller = $controller('HomeCtrl', { + $scope: $scope + }); + }); + + it('gets a list of projects from search form', function() { + var projectsRef = firebase.database().ref('projects/'); + var ref = projectsRef.child('-KQMm6HtJZ64VwmTFMj1'); + var obj = $firebaseObject(ref); + console.log(obj); + var query = projectsRef.orderByChild('name').equalTo('Test1'); + projectsRef.on('value', function(snapshot) { + console.log(snapshot.val()); + }); + // var list = $firebaseArray(query); + // console.log(list); + expect(list[0]).toBe('Test1'); + }); + }); + + // describe('$scope.init', function() { + // var $scope, controller; + // + // beforeEach(function() { + // $scope = {}; + // controller = $controller('HomeCtrl', { + // $scope: $scope, + // $firebaseArray: $firebaseArray + // }); + // }); + // + // it('gets a list of projects from db', function() { + // $scope.init(); + // console.log($scope.projects); + // expect($scope.projects.length).not.toBe(0); + // }); + // }); + +}); diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..1a1b9c4 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,4159 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 +"@types/jasmine@^2.2.31": + version "2.5.35" + resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-2.5.35.tgz#5566406dc8417d380d6c2f9562ec3c71ec28ef78" + +"@types/node@^6.0.35": + version "6.0.45" + resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.45.tgz#c4842a9d653d767831e4ff495b6008cc0d579966" + +"@types/q@^0.0.30": + version "0.0.30" + resolved "https://registry.yarnpkg.com/@types/q/-/q-0.0.30.tgz#fd7ee1af40f21cdd1f519268073b3432ec17d7a3" + +"@types/selenium-webdriver@~2.53.30": + version "2.53.33" + resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-2.53.33.tgz#64672bae3acedf9d9e6bcfa8bdb7c37497751c3d" + +abbrev@1: + version "1.0.9" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" + +accepts@~1.3.3, accepts@1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.3.tgz#c3ca7434938648c3e0d9c1e328dd68b622c284ca" + dependencies: + mime-types "~2.1.11" + negotiator "0.6.1" + +accepts@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.1.4.tgz#d71c96f7d41d0feda2c38cd14e8a27c04158df4a" + dependencies: + mime-types "~2.0.4" + negotiator "0.4.9" + +adm-zip@^0.4.7, adm-zip@0.4.7: + version "0.4.7" + resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.4.7.tgz#8606c2cbf1c426ce8c8ec00174447fd49b6eafc1" + +adm-zip@0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.4.4.tgz#a61ed5ae6905c3aea58b3a657d25033091052736" + +after@0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/after/-/after-0.8.1.tgz#ab5d4fb883f596816d3515f8f791c0af486dd627" + +agent-base@2: + version "2.0.1" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-2.0.1.tgz#bd8f9e86a8eb221fffa07bd14befd55df142815e" + dependencies: + extend "~3.0.0" + semver "~5.0.1" + +amdefine@>=0.0.4: + version "1.0.0" + resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.0.tgz#fd17474700cb5cc9c2b709f0be9d23ce3c198c33" + +ansi-regex@^0.2.0, ansi-regex@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-0.2.1.tgz#0d8e946967a3d8143f93e24e298525fc1b2235f9" + +ansi-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.0.0.tgz#c5061b6e0ef8a81775e50f5d66151bf6bf371107" + +ansi-styles@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.1.0.tgz#eaecbf66cd706882760b2f4691582b8f55d7a7de" + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + +anymatch@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507" + dependencies: + arrify "^1.0.0" + micromatch "^2.1.5" + +aproba@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.0.4.tgz#2713680775e7614c8ba186c065d4e2e52d1072c0" + +archy@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" + +are-we-there-yet@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz#80e470e95a084794fe1899262c5667c6e88de1b3" + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.0 || ^1.1.13" + +arr-diff@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" + dependencies: + arr-flatten "^1.0.1" + +arr-flatten@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.1.tgz#e5ffe54d45e19f32f216e91eb99c8ce892bb604b" + +array-differ@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" + +array-find-index@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" + +array-index@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-index/-/array-index-1.0.0.tgz#ec56a749ee103e4e08c790b9c353df16055b97f9" + dependencies: + debug "^2.2.0" + es6-symbol "^3.0.2" + +array-slice@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-0.2.3.tgz#dd3cfb80ed7973a75117cdac69b0b99ec86186f5" + +array-union@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + dependencies: + array-uniq "^1.0.1" + +array-uniq@^1.0.1, array-uniq@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + +array-unique@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" + +arraybuffer.slice@0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz#f33b2159f0532a3f3107a272c0ccfbd1ad2979ca" + +arrify@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + +asn1@~0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" + +asn1@0.1.11: + version "0.1.11" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.1.11.tgz#559be18376d08a4ec4dbe80877d27818639b2df7" + +assert-plus@^0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.1.5.tgz#ee74009413002d84cec7219c6ac811812e723160" + +assert-plus@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" + +assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + +async-each-series@0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/async-each-series/-/async-each-series-0.1.1.tgz#7617c1917401fd8ca4a28aadce3dbae98afeb432" + +async-each@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" + +async-foreach@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" + +async@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/async/-/async-2.1.1.tgz#e11b6d10043f2254efb61a21163d840ccddb8d28" + dependencies: + lodash "^4.14.0" + +async@0.1.15: + version "0.1.15" + resolved "https://registry.yarnpkg.com/async/-/async-0.1.15.tgz#2180eaca2cf2a6ca5280d41c0585bec9b3e49bd3" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + +autoprefixer-core@^5.0.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/autoprefixer-core/-/autoprefixer-core-5.2.1.tgz#e640c414ae419aae21c1ad43c8ea0f3db82a566d" + dependencies: + browserslist "~0.4.0" + caniuse-db "^1.0.30000214" + num2fraction "^1.1.0" + postcss "~4.1.12" + +aws-sign2@~0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" + +aws4@^1.2.1: + version "1.5.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.5.0.tgz#0a29ffb79c31c9e712eeb087e8e7a64b4a56d755" + +backo2@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" + +balanced-match@^0.4.1: + version "0.4.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" + +base64-arraybuffer@0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.2.tgz#474df4a9f2da24e05df3158c3b1db3c3cd46a154" + +base64-arraybuffer@0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8" + +base64id@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/base64id/-/base64id-0.1.0.tgz#02ce0fdeee0cef4f40080e1e73e834f0b1bfce3f" + +batch@0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/batch/-/batch-0.5.3.tgz#3f3414f380321743bfc1042f9a83ff1d5824d464" + +bcrypt-pbkdf@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.0.tgz#3ca76b85241c7170bf7d9703e7b9aa74630040d4" + dependencies: + tweetnacl "^0.14.3" + +beeper@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/beeper/-/beeper-1.1.0.tgz#9ee6fc1ce7f54feaace7ce73588b056037866a2c" + +benchmark@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/benchmark/-/benchmark-1.0.0.tgz#2f1e2fa4c359f11122aa183082218e957e390c73" + +better-assert@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522" + dependencies: + callsite "1.0.0" + +binary-extensions@^1.0.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.7.0.tgz#6c1610db163abfb34edfe42fa423343a1e01185d" + +bl@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/bl/-/bl-1.0.3.tgz#fc5421a28fd4226036c3b3891a66a25bc64d226e" + dependencies: + readable-stream "~2.0.5" + +bl@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/bl/-/bl-1.1.2.tgz#fdca871a99713aa00d19e3bbba41c44787a65398" + dependencies: + readable-stream "~2.0.5" + +blob@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.4.tgz#bcf13052ca54463f30f9fc7e95b9a47630a94921" + +block-stream@*: + version "0.0.9" + resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" + dependencies: + inherits "~2.0.0" + +bluebird@^3.3.0: + version "3.4.6" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.6.tgz#01da8d821d87813d158967e743d5fe6c62cf8c0f" + +body-parser@^1.12.4, body-parser@^1.2.0: + version "1.15.2" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.15.2.tgz#d7578cf4f1d11d5f6ea804cef35dc7a7ff6dae67" + dependencies: + bytes "2.4.0" + content-type "~1.0.2" + debug "~2.2.0" + depd "~1.1.0" + http-errors "~1.5.0" + iconv-lite "0.4.13" + on-finished "~2.3.0" + qs "6.2.0" + raw-body "~2.1.7" + type-is "~1.6.13" + +boom@2.x.x: + version "2.10.1" + resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" + dependencies: + hoek "2.x.x" + +brace-expansion@^1.0.0: + version "1.1.6" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz#7197d7eaa9b87e648390ea61fc66c84427420df9" + dependencies: + balanced-match "^0.4.1" + concat-map "0.0.1" + +braces@^0.1.2: + version "0.1.5" + resolved "https://registry.yarnpkg.com/braces/-/braces-0.1.5.tgz#c085711085291d8b75fdd74eab0f8597280711e6" + dependencies: + expand-range "^0.1.0" + +braces@^1.8.2: + version "1.8.5" + resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" + dependencies: + expand-range "^1.8.1" + preserve "^0.2.0" + repeat-element "^1.1.2" + +browser-sync-client@^2.3.3: + version "2.4.2" + resolved "https://registry.yarnpkg.com/browser-sync-client/-/browser-sync-client-2.4.2.tgz#0c510d4183c0b5dbc4044363facc3a4273f7ba28" + dependencies: + etag "^1.7.0" + fresh "^0.3.0" + +browser-sync-ui@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/browser-sync-ui/-/browser-sync-ui-0.6.1.tgz#d8b98ea3b755632287350a37ee2eaaacabea28d2" + dependencies: + async-each-series "0.1.1" + connect-history-api-fallback "^1.1.0" + immutable "^3.7.6" + server-destroy "1.0.1" + stream-throttle "^0.1.3" + weinre "^2.0.0-pre-I0Z7U9OV" + +browser-sync@^2.15.0: + version "2.17.3" + resolved "https://registry.yarnpkg.com/browser-sync/-/browser-sync-2.17.3.tgz#d3d369607fdcbf0729a14502d5fed43a2217b074" + dependencies: + browser-sync-client "^2.3.3" + browser-sync-ui "0.6.1" + bs-recipes "1.2.3" + chokidar "1.6.0" + connect "3.5.0" + dev-ip "^1.0.1" + easy-extender "2.3.2" + eazy-logger "3.0.2" + emitter-steward "^1.0.0" + fs-extra "0.30.0" + http-proxy "1.15.1" + immutable "3.8.1" + localtunnel "1.8.1" + micromatch "2.3.11" + opn "4.0.2" + portscanner "^1.0.0" + qs "6.2.1" + resp-modifier "6.0.2" + rx "4.1.0" + serve-index "1.8.0" + serve-static "1.11.1" + server-destroy "1.0.1" + socket.io "1.5.0" + ua-parser-js "0.7.10" + yargs "6.0.0" + +browserslist@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-0.4.0.tgz#3bd4ab9199dc1b9150d4d6dba4d9d3aabbc86dd4" + dependencies: + caniuse-db "^1.0.30000153" + +bs-recipes@1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/bs-recipes/-/bs-recipes-1.2.3.tgz#0e4d17bb1cff92ef6c36608b8487d9a07571ac54" + +buffer-shims@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" + +builtin-modules@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + +bytes@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.4.0.tgz#7d97196f9d5baf7f6935e25985549edd2a6c2339" + +callsite@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20" + +camelcase-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" + dependencies: + camelcase "^2.0.0" + map-obj "^1.0.0" + +camelcase@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" + +camelcase@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" + +camelcase@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" + +caniuse-db@^1.0.30000153, caniuse-db@^1.0.30000214: + version "1.0.30000555" + resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000555.tgz#12572c4e0111781c49b01e1fdcc455e7456b8ed4" + +caseless@~0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" + +chalk@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.5.1.tgz#663b3a648b68b55d04690d49167aa837858f2174" + dependencies: + ansi-styles "^1.1.0" + escape-string-regexp "^1.0.0" + has-ansi "^0.1.0" + strip-ansi "^0.3.0" + supports-color "^0.2.0" + +chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chokidar@^1.4.1, chokidar@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.6.0.tgz#90c32ad4802901d7713de532dc284e96a63ad058" + dependencies: + anymatch "^1.3.0" + async-each "^1.0.0" + glob-parent "^2.0.0" + inherits "^2.0.1" + is-binary-path "^1.0.0" + is-glob "^2.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.0.0" + optionalDependencies: + fsevents "^1.0.0" + +chromedriver: + version "2.24.1" + resolved "https://registry.yarnpkg.com/chromedriver/-/chromedriver-2.24.1.tgz#e7fb2e2a6cd6ae754ef0ae11f0813ca2bd993e92" + dependencies: + adm-zip "^0.4.7" + kew "^0.5.0" + mkdirp "^0.5.0" + npmconf "^2.1.1" + rimraf "^2.0.3" + +clean-css@^3.1.9: + version "3.4.20" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-3.4.20.tgz#c0d8963b5448e030f0bcd3ddd0dac4dfe3dea501" + dependencies: + commander "2.8.x" + source-map "0.4.x" + +cli@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/cli/-/cli-1.0.0.tgz#ee07dfc1390e3f2e6a9957cf88e1d4bfa777719d" + dependencies: + exit "0.1.2" + glob "^7.0.5" + +cliui@^3.0.3, cliui@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + wrap-ansi "^2.0.0" + +clone-stats@^0.0.1, clone-stats@~0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1" + +clone@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/clone/-/clone-0.2.0.tgz#c6126a90ad4f72dbf5acdb243cc37724fe93fc1f" + +clone@^1.0.0, clone@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149" + +code-point-at@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.0.1.tgz#1104cd34f9b5b45d3eba88f1babc1924e1ce35fb" + dependencies: + number-is-nan "^1.0.0" + +colors@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" + +combine-lists@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/combine-lists/-/combine-lists-1.0.1.tgz#458c07e09e0d900fc28b70a3fec2dacd1d2cb7f6" + dependencies: + lodash "^4.5.0" + +combined-stream@^1.0.5, combined-stream@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" + dependencies: + delayed-stream "~1.0.0" + +commander@^2.2.0, commander@^2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" + dependencies: + graceful-readlink ">= 1.0.0" + +commander@2.8.x: + version "2.8.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.8.1.tgz#06be367febfda0c330aa1e2a072d3dc9762425d4" + dependencies: + graceful-readlink ">= 1.0.0" + +component-bind@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1" + +component-emitter@1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.1.2.tgz#296594f2753daa63996d2af08d15a95116c9aec3" + +component-emitter@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.0.tgz#ccd113a86388d06482d03de3fc7df98526ba8efe" + +component-inherit@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + +concat-stream@1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.0.tgz#53f7d43c51c5e43f81c8fdd03321c631be68d611" + dependencies: + inherits "~2.0.1" + readable-stream "~2.0.0" + typedarray "~0.0.5" + +config-chain@~1.1.8: + version "1.1.11" + resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.11.tgz#aba09747dfbe4c3e70e766a6e41586e1859fc6f2" + dependencies: + ini "^1.3.4" + proto-list "~1.2.1" + +connect-history-api-fallback@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.3.0.tgz#e51d17f8f0ef0db90a64fdb47de3051556e9f169" + +connect-livereload@^0.5.3: + version "0.5.4" + resolved "https://registry.yarnpkg.com/connect-livereload/-/connect-livereload-0.5.4.tgz#80157d1371c9f37cc14039ab1895970d119dc3bc" + +connect-modrewrite@^0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/connect-modrewrite/-/connect-modrewrite-0.9.0.tgz#747b2ab65c44aa51b76a1e2c1168a1900063901c" + dependencies: + qs "^1.2.2" + +connect@^3.3.4, connect@^3.3.5, connect@3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/connect/-/connect-3.5.0.tgz#b357525a0b4c1f50599cd983e1d9efeea9677198" + dependencies: + debug "~2.2.0" + finalhandler "0.5.0" + parseurl "~1.3.1" + utils-merge "1.0.0" + +connect@1.x: + version "1.9.2" + resolved "https://registry.yarnpkg.com/connect/-/connect-1.9.2.tgz#42880a22e9438ae59a8add74e437f58ae8e52807" + dependencies: + formidable "1.0.x" + mime ">= 0.0.1" + qs ">= 0.4.0" + +console-browserify@1.1.x: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" + dependencies: + date-now "^0.1.4" + +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + +content-type@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.2.tgz#b7d113aee7a8dd27bd21133c4dc2529df1721eed" + +core-js@^2.2.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e" + +core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + +cross-spawn@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982" + dependencies: + lru-cache "^4.0.1" + which "^1.2.9" + +cryptiles@2.x.x: + version "2.0.5" + resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" + dependencies: + boom "2.x.x" + +ctype@0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/ctype/-/ctype-0.5.3.tgz#82c18c2461f74114ef16c135224ad0b9144ca12f" + +currently-unhandled@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" + dependencies: + array-find-index "^1.0.1" + +custom-event@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/custom-event/-/custom-event-1.0.0.tgz#2e4628be19dc4b214b5c02630c5971e811618062" + +d@^0.1.1, d@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/d/-/d-0.1.1.tgz#da184c535d18d8ee7ba2aa229b914009fae11309" + dependencies: + es5-ext "~0.10.2" + +dashdash@^1.12.0: + version "1.14.0" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.0.tgz#29e486c5418bf0f356034a993d51686a33e84141" + dependencies: + assert-plus "^1.0.0" + +date-now@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" + +dateformat@^1.0.11, dateformat@^1.0.7-1.2.3: + version "1.0.12" + resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-1.0.12.tgz#9f124b67594c937ff706932e4a642cca8dbbfee9" + dependencies: + get-stdin "^4.0.1" + meow "^3.3.0" + +debug@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-0.8.1.tgz#20ff4d26f5e422cb68a1bacbbb61039ad8c1c130" + +debug@^2.1.1, debug@^2.2.0, debug@~2.2.0, debug@2, debug@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" + dependencies: + ms "0.7.1" + +debug@0.7.4: + version "0.7.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-0.7.4.tgz#06e1ea8082c2cb14e39806e22e2f6f757f92af39" + +decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + +deep-extend@~0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.1.tgz#efe4113d08085f4e6f9687759810f807469e2253" + +deepmerge@~0.2.7: + version "0.2.10" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-0.2.10.tgz#8906bf9e525a4fbf1b203b2afcb4640249821219" + +defaults@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" + dependencies: + clone "^1.0.2" + +del@^2.2.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" + dependencies: + globby "^5.0.0" + is-path-cwd "^1.0.0" + is-path-in-cwd "^1.0.0" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + rimraf "^2.2.8" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + +depd@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3" + +deprecated@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/deprecated/-/deprecated-0.0.1.tgz#f9c9af5464afa1e7a971458a8bdef2aa94d5bb19" + +destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + +detect-file@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-0.1.0.tgz#4935dedfd9488648e006b0129566e9386711ea63" + dependencies: + fs-exists-sync "^0.1.0" + +dev-ip@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/dev-ip/-/dev-ip-1.0.1.tgz#a76a3ed1855be7a012bb8ac16cb80f3c00dc28f0" + +di@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/di/-/di-0.0.1.tgz#806649326ceaa7caa3306d75d985ea2748ba913c" + +dom-serialize@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/dom-serialize/-/dom-serialize-2.2.1.tgz#562ae8999f44be5ea3076f5419dcd59eb43ac95b" + dependencies: + custom-event "~1.0.0" + ent "~2.2.0" + extend "^3.0.0" + void-elements "^2.0.0" + +dom-serializer@0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82" + dependencies: + domelementtype "~1.1.1" + entities "~1.1.1" + +dom-urls@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/dom-urls/-/dom-urls-1.1.0.tgz#001ddf81628cd1e706125c7176f53ccec55d918e" + dependencies: + urijs "^1.16.1" + +domelementtype@~1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b" + +domelementtype@1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2" + +domhandler@2.3: + version "2.3.0" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.3.0.tgz#2de59a0822d5027fabff6f032c2b25a2a8abe738" + dependencies: + domelementtype "1" + +domutils@1.5: + version "1.5.1" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" + dependencies: + dom-serializer "0" + domelementtype "1" + +duplexer@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" + +duplexer2@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db" + dependencies: + readable-stream "~1.1.9" + +easy-extender@2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/easy-extender/-/easy-extender-2.3.2.tgz#3d3248febe2b159607316d8f9cf491c16648221d" + dependencies: + lodash "^3.10.1" + +eazy-logger@3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/eazy-logger/-/eazy-logger-3.0.2.tgz#a325aa5e53d13a2225889b2ac4113b2b9636f4fc" + dependencies: + tfunk "^3.0.1" + +ecc-jsbn@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" + dependencies: + jsbn "~0.1.0" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + +emitter-steward@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/emitter-steward/-/emitter-steward-1.0.0.tgz#f3411ade9758a7565df848b2da0cbbd1b46cbd64" + +encodeurl@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20" + +end-of-stream@~0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-0.1.5.tgz#8e177206c3c80837d85632e8b9359dfe8b2f6eaf" + dependencies: + once "~1.3.0" + +engine.io-client@1.6.9: + version "1.6.9" + resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-1.6.9.tgz#1d6ad48048a5083c95096943b29d36efdb212401" + dependencies: + component-emitter "1.1.2" + component-inherit "0.0.3" + debug "2.2.0" + engine.io-parser "1.2.4" + has-cors "1.1.0" + indexof "0.0.1" + parsejson "0.0.1" + parseqs "0.0.2" + parseuri "0.0.4" + ws "1.0.1" + xmlhttprequest-ssl "1.5.1" + yeast "0.1.2" + +engine.io-client@1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-1.7.0.tgz#0bb81d3563ab7afb668f1e1b400c9403b03006ee" + dependencies: + component-emitter "1.1.2" + component-inherit "0.0.3" + debug "2.2.0" + engine.io-parser "1.3.0" + has-cors "1.1.0" + indexof "0.0.1" + parsejson "0.0.1" + parseqs "0.0.2" + parseuri "0.0.4" + ws "1.1.1" + xmlhttprequest-ssl "1.5.1" + yeast "0.1.2" + +engine.io-parser@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-1.2.4.tgz#e0897b0bf14e792d4cd2a5950553919c56948c42" + dependencies: + after "0.8.1" + arraybuffer.slice "0.0.6" + base64-arraybuffer "0.1.2" + blob "0.0.4" + has-binary "0.1.6" + utf8 "2.1.0" + +engine.io-parser@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-1.3.0.tgz#61a35c7f3a3ccd1b179e4f52257a7a8cfacaeb21" + dependencies: + after "0.8.1" + arraybuffer.slice "0.0.6" + base64-arraybuffer "0.1.5" + blob "0.0.4" + has-binary "0.1.6" + wtf-8 "1.0.0" + +engine.io@1.6.10: + version "1.6.10" + resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-1.6.10.tgz#f87d84e1bd21d1a2ec7f8deef0c62054acdfb27a" + dependencies: + accepts "1.1.4" + base64id "0.1.0" + debug "2.2.0" + engine.io-parser "1.2.4" + ws "1.0.1" + +engine.io@1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-1.7.0.tgz#a417857af4995d9bbdf8a0e03a87e473ebe64fbe" + dependencies: + accepts "1.3.3" + base64id "0.1.0" + debug "2.2.0" + engine.io-parser "1.3.0" + ws "1.1.1" + +ent@~2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d" + +entities@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" + +entities@1.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-1.0.0.tgz#b2987aa3821347fcde642b24fdfc9e4fb712bf26" + +error-ex@^1.2.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.0.tgz#e67b43f3e82c96ea3a584ffee0b9fc3325d802d9" + dependencies: + is-arrayish "^0.2.1" + +es5-ext@^0.10.7, es5-ext@~0.10.11, es5-ext@~0.10.2: + version "0.10.12" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.12.tgz#aa84641d4db76b62abba5e45fd805ecbab140047" + dependencies: + es6-iterator "2" + es6-symbol "~3.1" + +es6-iterator@2: + version "2.0.0" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.0.tgz#bd968567d61635e33c0b80727613c9cb4b096bac" + dependencies: + d "^0.1.1" + es5-ext "^0.10.7" + es6-symbol "3" + +es6-promise@^4.0.5, es6-promise@~4.0.3: + version "4.0.5" + resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.0.5.tgz#7882f30adde5b240ccfa7f7d78c548330951ae42" + +es6-promise@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-2.3.0.tgz#96edb9f2fdb01995822b263dd8aadab6748181bc" + +es6-symbol@^3.0.2, es6-symbol@~3.1, es6-symbol@3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.0.tgz#94481c655e7a7cad82eba832d97d5433496d7ffa" + dependencies: + d "~0.1.1" + es5-ext "~0.10.11" + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + +escape-string-regexp@^1.0.0, escape-string-regexp@^1.0.2: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + +etag@^1.7.0, etag@~1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.7.0.tgz#03d30b5f67dd6e632d2945d30d6652731a34d5d8" + +event-stream@~3.2.1: + version "3.2.2" + resolved "https://registry.yarnpkg.com/event-stream/-/event-stream-3.2.2.tgz#f79f9984c07ee3fd9b44ffb3cd0422b13e24084d" + dependencies: + duplexer "~0.1.1" + from "~0" + map-stream "~0.1.0" + pause-stream "0.0.11" + split "0.3" + stream-combiner "~0.0.4" + through "~2.3.1" + +eventemitter3@1.x.x: + version "1.2.0" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.2.0.tgz#1c86991d816ad1e504750e73874224ecf3bec508" + +exit@^0.1.2, exit@0.1.2, exit@0.1.x: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + +expand-braces@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/expand-braces/-/expand-braces-0.1.2.tgz#488b1d1d2451cb3d3a6b192cfc030f44c5855fea" + dependencies: + array-slice "^0.2.3" + array-unique "^0.2.1" + braces "^0.1.2" + +expand-brackets@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" + dependencies: + is-posix-bracket "^0.1.0" + +expand-range@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-0.1.1.tgz#4cb8eda0993ca56fa4f41fc42f3cbb4ccadff044" + dependencies: + is-number "^0.1.1" + repeat-string "^0.2.2" + +expand-range@^1.8.1: + version "1.8.2" + resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" + dependencies: + fill-range "^2.1.0" + +expand-tilde@^1.2.1, expand-tilde@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-1.2.2.tgz#0b81eba897e5a3d31d1c3d102f8f01441e559449" + dependencies: + os-homedir "^1.0.1" + +express@2.5.x: + version "2.5.11" + resolved "https://registry.yarnpkg.com/express/-/express-2.5.11.tgz#4ce8ea1f3635e69e49f0ebb497b6a4b0a51ce6f0" + dependencies: + connect "1.x" + mime "1.2.4" + mkdirp "0.3.0" + qs "0.4.x" + +extend@^3.0.0, extend@~3.0.0, extend@3: + version "3.0.0" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4" + +extglob@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" + dependencies: + is-extglob "^1.0.0" + +extract-zip@~1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.5.0.tgz#92ccf6d81ef70a9fa4c1747114ccef6d8688a6c4" + dependencies: + concat-stream "1.5.0" + debug "0.7.4" + mkdirp "0.5.0" + yauzl "2.4.1" + +extsprintf@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" + +fancy-log@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.2.0.tgz#d5a51b53e9ab22ca07d558f2b67ae55fdb5fcbd8" + dependencies: + chalk "^1.1.1" + time-stamp "^1.0.0" + +faye-websocket@^0.7.2: + version "0.7.3" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.7.3.tgz#cc4074c7f4a4dfd03af54dd65c354b135132ce11" + dependencies: + websocket-driver ">=0.3.6" + +fd-slicer@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65" + dependencies: + pend "~1.2.0" + +filename-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.0.tgz#996e3e80479b98b9897f15a8a58b3d084e926775" + +filesize@~2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/filesize/-/filesize-2.0.4.tgz#7805941c60fcdfe63f46d7ea358c59ade11c1325" + +fill-range@^2.1.0: + version "2.2.3" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" + dependencies: + is-number "^2.1.0" + isobject "^2.0.0" + randomatic "^1.1.3" + repeat-element "^1.1.2" + repeat-string "^1.5.2" + +finalhandler@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-0.5.0.tgz#e9508abece9b6dba871a6942a1d7911b91911ac7" + dependencies: + debug "~2.2.0" + escape-html "~1.0.3" + on-finished "~2.3.0" + statuses "~1.3.0" + unpipe "~1.0.0" + +find-index@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/find-index/-/find-index-0.1.1.tgz#675d358b2ca3892d795a1ab47232f8b6e2e0dde4" + +find-up@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +findup-sync@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.2.1.tgz#e0a90a450075c49466ee513732057514b81e878c" + dependencies: + glob "~4.3.0" + +findup-sync@^0.4.2: + version "0.4.3" + resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.4.3.tgz#40043929e7bc60adf0b7f4827c4c6e75a0deca12" + dependencies: + detect-file "^0.1.0" + is-glob "^2.0.1" + micromatch "^2.3.7" + resolve-dir "^0.1.0" + +fined@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/fined/-/fined-1.0.2.tgz#5b28424b760d7598960b7ef8480dff8ad3660e97" + dependencies: + expand-tilde "^1.2.1" + lodash.assignwith "^4.0.7" + lodash.isempty "^4.2.1" + lodash.isplainobject "^4.0.4" + lodash.isstring "^4.0.1" + lodash.pick "^4.2.1" + parse-filepath "^1.0.1" + +first-chunk-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz#59bfb50cd905f60d7c394cd3d9acaab4e6ad934e" + +flagged-respawn@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-0.3.2.tgz#ff191eddcd7088a675b2610fffc976be9b8074b5" + +for-in@^0.1.5: + version "0.1.6" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.6.tgz#c9f96e89bfad18a545af5ec3ed352a1d9e5b4dc8" + +for-own@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.4.tgz#0149b41a39088c7515f51ebe1c1386d45f935072" + dependencies: + for-in "^0.1.5" + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + +form-data@~1.0.0-rc3, form-data@~1.0.0-rc4: + version "1.0.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-1.0.1.tgz#ae315db9a4907fa065502304a66d7733475ee37c" + dependencies: + async "^2.0.1" + combined-stream "^1.0.5" + mime-types "^2.1.11" + +form-data@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.0.0.tgz#6f0aebadcc5da16c13e1ecc11137d85f9b883b25" + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.5" + mime-types "^2.1.11" + +formidable@1.0.x: + version "1.0.17" + resolved "https://registry.yarnpkg.com/formidable/-/formidable-1.0.17.tgz#ef5491490f9433b705faa77249c99029ae348559" + +fresh@^0.3.0, fresh@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.3.0.tgz#651f838e22424e7566de161d8358caa199f83d4f" + +from@~0: + version "0.1.3" + resolved "https://registry.yarnpkg.com/from/-/from-0.1.3.tgz#ef63ac2062ac32acf7862e0d40b44b896f22f3bc" + +fs-access@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/fs-access/-/fs-access-1.0.1.tgz#d6a87f262271cefebec30c553407fb995da8777a" + dependencies: + null-check "^1.0.0" + +fs-exists-sync@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add" + +fs-extra@~0.30.0, fs-extra@0.30.0: + version "0.30.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.30.0.tgz#f233ffcc08d4da7d432daa449776989db1df93f0" + dependencies: + graceful-fs "^4.1.2" + jsonfile "^2.1.0" + klaw "^1.0.0" + path-is-absolute "^1.0.0" + rimraf "^2.2.8" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + +fsevents@^1.0.0: + version "1.0.14" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.0.14.tgz#558e8cc38643d8ef40fe45158486d0d25758eee4" + dependencies: + nan "^2.3.0" + node-pre-gyp "^0.6.29" + +fstream-ignore@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" + dependencies: + fstream "^1.0.0" + inherits "2" + minimatch "^3.0.0" + +fstream@^1.0.0, fstream@^1.0.2, fstream@~1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.10.tgz#604e8a92fe26ffd9f6fae30399d4984e1ab22822" + dependencies: + graceful-fs "^4.1.2" + inherits "~2.0.0" + mkdirp ">=0.5 0" + rimraf "2" + +gauge@~2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.6.0.tgz#d35301ad18e96902b4751dcbbe40f4218b942a46" + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-color "^0.1.7" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + wide-align "^1.1.0" + +gaze@^0.5.1: + version "0.5.2" + resolved "https://registry.yarnpkg.com/gaze/-/gaze-0.5.2.tgz#40b709537d24d1d45767db5a908689dfe69ac44f" + dependencies: + globule "~0.1.0" + +gaze@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.2.tgz#847224677adb8870d679257ed3388fdb61e40105" + dependencies: + globule "^1.0.0" + +generate-function@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" + +generate-object-property@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" + dependencies: + is-property "^1.0.0" + +get-caller-file@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" + +get-stdin@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" + +getpass@^0.1.1: + version "0.1.6" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.6.tgz#283ffd9fc1256840875311c1b60e8c40187110e6" + dependencies: + assert-plus "^1.0.0" + +glob-base@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" + dependencies: + glob-parent "^2.0.0" + is-glob "^2.0.0" + +glob-parent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" + dependencies: + is-glob "^2.0.0" + +glob-stream@^3.1.5: + version "3.1.18" + resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-3.1.18.tgz#9170a5f12b790306fdfe598f313f8f7954fd143b" + dependencies: + glob "^4.3.1" + glob2base "^0.0.12" + minimatch "^2.0.1" + ordered-read-streams "^0.1.0" + through2 "^0.6.1" + unique-stream "^1.0.0" + +glob-watcher@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-0.0.6.tgz#b95b4a8df74b39c83298b0c05c978b4d9a3b710b" + dependencies: + gaze "^0.5.1" + +glob@^4.3.1: + version "4.5.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-4.5.3.tgz#c6cb73d3226c1efef04de3c56d012f03377ee15f" + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "^2.0.1" + once "^1.3.0" + +glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.0.6, glob@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.2" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@~3.1.21: + version "3.1.21" + resolved "https://registry.yarnpkg.com/glob/-/glob-3.1.21.tgz#d29e0a055dea5138f4d07ed40e8982e83c2066cd" + dependencies: + graceful-fs "~1.2.0" + inherits "1" + minimatch "~0.2.11" + +glob@~4.3.0: + version "4.3.5" + resolved "https://registry.yarnpkg.com/glob/-/glob-4.3.5.tgz#80fbb08ca540f238acce5d11d1e9bc41e75173d3" + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "^2.0.1" + once "^1.3.0" + +glob@~7.0.3: + version "7.0.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.6.tgz#211bafaf49e525b8cd93260d14ab136152b3f57a" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.2" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob2base@^0.0.12: + version "0.0.12" + resolved "https://registry.yarnpkg.com/glob2base/-/glob2base-0.0.12.tgz#9d419b3e28f12e83a362164a277055922c9c0d56" + dependencies: + find-index "^0.1.1" + +global-modules@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-0.2.3.tgz#ea5a3bed42c6d6ce995a4f8a1269b5dae223828d" + dependencies: + global-prefix "^0.1.4" + is-windows "^0.2.0" + +global-prefix@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-0.1.4.tgz#05158db1cde2dd491b455e290eb3ab8bfc45c6e1" + dependencies: + ini "^1.3.4" + is-windows "^0.2.0" + osenv "^0.1.3" + which "^1.2.10" + +globby@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" + dependencies: + array-union "^1.0.1" + arrify "^1.0.0" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +globule@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/globule/-/globule-1.0.0.tgz#f22aebaacce02be492453e979c3ae9b6983f1c6c" + dependencies: + glob "~7.0.3" + lodash "~4.9.0" + minimatch "~3.0.0" + +globule@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/globule/-/globule-0.1.0.tgz#d9c8edde1da79d125a151b79533b978676346ae5" + dependencies: + glob "~3.1.21" + lodash "~1.0.1" + minimatch "~0.2.11" + +glogg@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/glogg/-/glogg-1.0.0.tgz#7fe0f199f57ac906cf512feead8f90ee4a284fc5" + dependencies: + sparkles "^1.0.0" + +graceful-fs@^3.0.0: + version "3.0.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-3.0.11.tgz#7613c778a1afea62f25c630a086d7f3acbbdd818" + dependencies: + natives "^1.1.0" + +graceful-fs@^4.1.2, graceful-fs@^4.1.6: + version "4.1.9" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.9.tgz#baacba37d19d11f9d146d3578bc99958c3787e29" + +graceful-fs@~1.2.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-1.2.3.tgz#15a4806a57547cb2d2dbf27f42e89a8c3451b364" + +graceful-fs@~2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-2.0.3.tgz#7cd2cdb228a4a3f36e95efa6cc142de7d1a136d0" + +"graceful-readlink@>= 1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" + +gulp-autoprefixer@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/gulp-autoprefixer/-/gulp-autoprefixer-2.3.1.tgz#f675d3b1bd76f088df2f24ab7ad3e4a059e07e67" + dependencies: + autoprefixer-core "^5.0.0" + gulp-util "^3.0.0" + object-assign "^2.0.0" + postcss "^4.1.5" + through2 "^0.6.2" + vinyl-sourcemaps-apply "^0.1.3" + +gulp-cssmin@^0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/gulp-cssmin/-/gulp-cssmin-0.1.7.tgz#f576fe5211d107baa9401504249bf87aed1556bd" + dependencies: + clean-css "^3.1.9" + filesize "~2.0.0" + graceful-fs "~2.0.0" + gulp-rename "~1.1.0" + gulp-util "~2.2.0" + map-stream "0.0.4" + temp-write "~0.1.0" + +gulp-exec@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/gulp-exec/-/gulp-exec-2.1.2.tgz#5d8b132b0de0a738cb5dc9dfab8a0205726cca96" + dependencies: + gulp-util "^3.0.0" + gulplog "^1.0.0" + through2 "^2.0.0" + +gulp-jshint@^1.12.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/gulp-jshint/-/gulp-jshint-1.12.0.tgz#23fbd1bafdd6fbfe61ea64667a74809a961d03de" + dependencies: + gulp-util "^3.0.0" + jshint "^2.7.0" + lodash "^3.0.1" + minimatch "^2.0.1" + rcloader "0.1.2" + through2 "~0.6.1" + +gulp-live-server@0.0.29: + version "0.0.29" + resolved "https://registry.yarnpkg.com/gulp-live-server/-/gulp-live-server-0.0.29.tgz#862d8f0a688638230d92e5b5f99b8a1c3a87313c" + dependencies: + chalk "^1.0.0" + connect "^3.3.4" + connect-livereload "^0.5.3" + debug "^2.1.1" + deepmerge "~0.2.7" + event-stream "~3.2.1" + q "^1.2.0" + serve-static "^1.9.1" + tiny-lr "0.0.9" + +gulp-load-plugins@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/gulp-load-plugins/-/gulp-load-plugins-0.8.1.tgz#0a8261d059dfddc918fda406c8232e72fa34d2ea" + dependencies: + findup-sync "^0.2.1" + multimatch "2.0.0" + +gulp-path@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/gulp-path/-/gulp-path-3.0.3.tgz#a15390a30ca970969203ed122270920e8da3a55f" + +gulp-plumber@^0.6.6: + version "0.6.6" + resolved "https://registry.yarnpkg.com/gulp-plumber/-/gulp-plumber-0.6.6.tgz#9f9846a513c70d03216ce7a2a8ce6fd5a3fc3175" + dependencies: + gulp-util "~3" + through2 "~0.6" + +gulp-rename@^1.2.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/gulp-rename/-/gulp-rename-1.2.2.tgz#3ad4428763f05e2764dec1c67d868db275687817" + +gulp-rename@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/gulp-rename/-/gulp-rename-1.1.0.tgz#93090aaaf4d386c07f20538a6888f15efba727a1" + dependencies: + map-stream ">=0.0.4" + +gulp-sass@^2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/gulp-sass/-/gulp-sass-2.3.2.tgz#82b7ab90fe902cdc34c04f180d92f2c34902dd52" + dependencies: + gulp-util "^3.0" + lodash.clonedeep "^4.3.2" + node-sass "^3.4.2" + through2 "^2.0.0" + vinyl-sourcemaps-apply "^0.2.0" + +gulp-util@^3.0, gulp-util@^3.0.0, gulp-util@^3.0.7, gulp-util@~3: + version "3.0.7" + resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.7.tgz#78925c4b8f8b49005ac01a011c557e6218941cbb" + dependencies: + array-differ "^1.0.0" + array-uniq "^1.0.2" + beeper "^1.0.0" + chalk "^1.0.0" + dateformat "^1.0.11" + fancy-log "^1.1.0" + gulplog "^1.0.0" + has-gulplog "^0.1.0" + lodash._reescape "^3.0.0" + lodash._reevaluate "^3.0.0" + lodash._reinterpolate "^3.0.0" + lodash.template "^3.0.0" + minimist "^1.1.0" + multipipe "^0.1.2" + object-assign "^3.0.0" + replace-ext "0.0.1" + through2 "^2.0.0" + vinyl "^0.5.0" + +gulp-util@~2.2.0: + version "2.2.20" + resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-2.2.20.tgz#d7146e5728910bd8f047a6b0b1e549bc22dbd64c" + dependencies: + chalk "^0.5.0" + dateformat "^1.0.7-1.2.3" + lodash._reinterpolate "^2.4.1" + lodash.template "^2.4.1" + minimist "^0.2.0" + multipipe "^0.1.0" + through2 "^0.5.0" + vinyl "^0.2.1" + +gulp@^3.9.1: + version "3.9.1" + resolved "https://registry.yarnpkg.com/gulp/-/gulp-3.9.1.tgz#571ce45928dd40af6514fc4011866016c13845b4" + dependencies: + archy "^1.0.0" + chalk "^1.0.0" + deprecated "^0.0.1" + gulp-util "^3.0.0" + interpret "^1.0.0" + liftoff "^2.1.0" + minimist "^1.1.0" + orchestrator "^0.3.0" + pretty-hrtime "^1.0.0" + semver "^4.1.0" + tildify "^1.0.0" + v8flags "^2.0.2" + vinyl-fs "^0.3.0" + +gulplog@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5" + dependencies: + glogg "^1.0.0" + +har-validator@~2.0.2, har-validator@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" + dependencies: + chalk "^1.1.1" + commander "^2.9.0" + is-my-json-valid "^2.12.4" + pinkie-promise "^2.0.0" + +has-ansi@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-0.1.0.tgz#84f265aae8c0e6a88a12d7022894b7568894c62e" + dependencies: + ansi-regex "^0.2.0" + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + dependencies: + ansi-regex "^2.0.0" + +has-binary@0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/has-binary/-/has-binary-0.1.6.tgz#25326f39cfa4f616ad8787894e3af2cfbc7b6e10" + dependencies: + isarray "0.0.1" + +has-binary@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/has-binary/-/has-binary-0.1.7.tgz#68e61eb16210c9545a0a5cce06a873912fe1e68c" + dependencies: + isarray "0.0.1" + +has-color@^0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/has-color/-/has-color-0.1.7.tgz#67144a5260c34fc3cca677d041daf52fe7b78b2f" + +has-cors@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39" + +has-gulplog@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce" + dependencies: + sparkles "^1.0.0" + +has-unicode@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + +hasha@~2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/hasha/-/hasha-2.2.0.tgz#78d7cbfc1e6d66303fe79837365984517b2f6ee1" + dependencies: + is-stream "^1.0.1" + pinkie-promise "^2.0.0" + +hawk@~3.1.0, hawk@~3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" + dependencies: + boom "2.x.x" + cryptiles "2.x.x" + hoek "2.x.x" + sntp "1.x.x" + +hoek@2.x.x: + version "2.16.3" + resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" + +hosted-git-info@^2.1.4: + version "2.1.5" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.1.5.tgz#0ba81d90da2e25ab34a332e6ec77936e1598118b" + +htmlparser2@3.8.x: + version "3.8.3" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.8.3.tgz#996c28b191516a8be86501a7d79757e5c70c1068" + dependencies: + domelementtype "1" + domhandler "2.3" + domutils "1.5" + entities "1.0" + readable-stream "1.1" + +http-errors@~1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.5.0.tgz#b1cb3d8260fd8e2386cad3189045943372d48211" + dependencies: + inherits "2.0.1" + setprototypeof "1.0.1" + statuses ">= 1.3.0 < 2" + +http-proxy@^1.13.0, http-proxy@1.15.1: + version "1.15.1" + resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.15.1.tgz#91a6088172e79bc0e821d5eb04ce702f32446393" + dependencies: + eventemitter3 "1.x.x" + requires-port "1.x.x" + +http-signature@~0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-0.11.0.tgz#1796cf67a001ad5cd6849dca0991485f09089fe6" + dependencies: + asn1 "0.1.11" + assert-plus "^0.1.5" + ctype "0.5.3" + +http-signature@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" + dependencies: + assert-plus "^0.2.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +https-proxy-agent@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz#35f7da6c48ce4ddbfa264891ac593ee5ff8671e6" + dependencies: + agent-base "2" + debug "2" + extend "3" + +iconv-lite@0.4.13: + version "0.4.13" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2" + +immutable@^3.7.6, immutable@3.8.1: + version "3.8.1" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.1.tgz#200807f11ab0f72710ea485542de088075f68cd2" + +in-publish@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.0.tgz#e20ff5e3a2afc2690320b6dc552682a9c7fadf51" + +indent-string@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" + dependencies: + repeating "^2.0.0" + +indexof@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.1, inherits@2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + +inherits@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-1.0.2.tgz#ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b" + +inherits@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + +ini@^1.2.0, ini@^1.3.4, ini@~1.3.0: + version "1.3.4" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" + +interpret@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.1.tgz#d579fb7f693b858004947af39fa0db49f795602c" + +invert-kv@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + +is-absolute@^0.2.3: + version "0.2.5" + resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-0.2.5.tgz#994142b9f468d27c14fbf0cd30fe77db934ca76d" + dependencies: + is-relative "^0.2.1" + is-windows "^0.1.1" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + dependencies: + binary-extensions "^1.0.0" + +is-buffer@^1.0.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.4.tgz#cfc86ccd5dc5a52fa80489111c6920c457e2d98b" + +is-builtin-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" + dependencies: + builtin-modules "^1.0.0" + +is-dotfile@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.2.tgz#2c132383f39199f8edc268ca01b9b007d205cc4d" + +is-equal-shallow@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" + dependencies: + is-primitive "^2.0.0" + +is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + +is-extglob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" + +is-finite@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + dependencies: + number-is-nan "^1.0.0" + +is-glob@^2.0.0, is-glob@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" + dependencies: + is-extglob "^1.0.0" + +is-my-json-valid@^2.12.4: + version "2.15.0" + resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz#936edda3ca3c211fd98f3b2d3e08da43f7b2915b" + dependencies: + generate-function "^2.0.0" + generate-object-property "^1.1.0" + jsonpointer "^4.0.0" + xtend "^4.0.0" + +is-number@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-0.1.1.tgz#69a7af116963d47206ec9bd9b48a14216f1e3806" + +is-number@^2.0.2, is-number@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" + dependencies: + kind-of "^3.0.2" + +is-path-cwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" + +is-path-in-cwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc" + dependencies: + is-path-inside "^1.0.0" + +is-path-inside@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.0.tgz#fc06e5a1683fbda13de667aff717bbc10a48f37f" + dependencies: + path-is-inside "^1.0.1" + +is-posix-bracket@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" + +is-primitive@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" + +is-property@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" + +is-relative@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-0.2.1.tgz#d27f4c7d516d175fb610db84bbeef23c3bc97aa5" + dependencies: + is-unc-path "^0.1.1" + +is-stream@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + +is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + +is-unc-path@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-0.1.1.tgz#ab2533d77ad733561124c3dc0f5cd8b90054c86b" + dependencies: + unc-path-regex "^0.1.0" + +is-utf8@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + +is-windows@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-0.1.1.tgz#be310715431cfabccc54ab3951210fa0b6d01abe" + +is-windows@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-0.2.0.tgz#de1aa6d63ea29dd248737b69f1ff8b8002d2108c" + +isarray@~1.0.0, isarray@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + +isbinaryfile@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-3.0.1.tgz#6e99573675372e841a0520c036b41513d783e79e" + +isexe@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-1.1.2.tgz#36f3e22e60750920f5e7241a476a8c6a42275ad0" + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + dependencies: + isarray "1.0.0" + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + +jasmine-core@~2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.5.2.tgz#6f61bd79061e27f43e6f9355e44b3c6cab6ff297" + +jasmine-reporters@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/jasmine-reporters/-/jasmine-reporters-2.2.0.tgz#e8c7916df3e4283bc8829a3fc21140eb322f8a5b" + dependencies: + jasmine "^2.4.1" + mkdirp "^0.5.1" + xmldom "^0.1.22" + +jasmine@^2.4.1, jasmine@^2.5.2, jasmine@2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jasmine/-/jasmine-2.5.2.tgz#6283cef7085c095cc25d651e954df004f7e3e421" + dependencies: + exit "^0.1.2" + glob "^7.0.6" + jasmine-core "~2.5.2" + +jasminewd2@0.0.10: + version "0.0.10" + resolved "https://registry.yarnpkg.com/jasminewd2/-/jasminewd2-0.0.10.tgz#94f48ae2bc946cad643035467b4bb7ea9c1075ef" + +jodid25519@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967" + dependencies: + jsbn "~0.1.0" + +js-base64@~2.1.8: + version "2.1.9" + resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.1.9.tgz#f0e80ae039a4bd654b5f281fc93f04a914a7fcce" + +jsbn@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.0.tgz#650987da0dd74f4ebf5a11377a2aa2d273e97dfd" + +jshint@^2.7.0: + version "2.9.3" + resolved "https://registry.yarnpkg.com/jshint/-/jshint-2.9.3.tgz#a2e14ff85c2d6bf8c8080e5aa55129ebc6a2d320" + dependencies: + cli "~1.0.0" + console-browserify "1.1.x" + exit "0.1.x" + htmlparser2 "3.8.x" + lodash "3.7.x" + minimatch "~3.0.2" + shelljs "0.3.x" + strip-json-comments "1.0.x" + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + +json3@3.2.6: + version "3.2.6" + resolved "https://registry.yarnpkg.com/json3/-/json3-3.2.6.tgz#f6efc93c06a04de9aec53053df2559bb19e2038b" + +json3@3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" + +jsonfile@^2.1.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" + optionalDependencies: + graceful-fs "^4.1.6" + +jsonpointer@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.0.tgz#6661e161d2fc445f19f98430231343722e1fcbd5" + +jsprim@^1.2.2: + version "1.3.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.3.1.tgz#2a7256f70412a29ee3670aaca625994c4dcff252" + dependencies: + extsprintf "1.0.2" + json-schema "0.2.3" + verror "1.3.6" + +karma-chrome-launcher@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/karma-chrome-launcher/-/karma-chrome-launcher-2.0.0.tgz#c2790c5a32b15577d0fff5a4d5a2703b3b439c25" + dependencies: + fs-access "^1.0.0" + which "^1.2.1" + +karma-cli@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/karma-cli/-/karma-cli-1.0.1.tgz#ae6c3c58a313a1d00b45164c455b9b86ce17f960" + dependencies: + resolve "^1.1.6" + +karma-phantomjs-launcher@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/karma-phantomjs-launcher/-/karma-phantomjs-launcher-1.0.2.tgz#19e1041498fd75563ed86730a22c1fe579fa8fb1" + dependencies: + lodash "^4.0.1" + phantomjs-prebuilt "^2.1.7" + +karma@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/karma/-/karma-1.3.0.tgz#b2b94e8f499fadd0069d54f9aef4a4d48ec5cc1f" + dependencies: + bluebird "^3.3.0" + body-parser "^1.12.4" + chokidar "^1.4.1" + colors "^1.1.0" + combine-lists "^1.0.0" + connect "^3.3.5" + core-js "^2.2.0" + di "^0.0.1" + dom-serialize "^2.2.0" + expand-braces "^0.1.1" + glob "^7.0.3" + graceful-fs "^4.1.2" + http-proxy "^1.13.0" + isbinaryfile "^3.0.0" + lodash "^3.8.0" + log4js "^0.6.31" + mime "^1.3.4" + minimatch "^3.0.0" + optimist "^0.6.1" + qjobs "^1.1.4" + range-parser "^1.2.0" + rimraf "^2.3.3" + socket.io "1.4.7" + source-map "^0.5.3" + tmp "0.0.28" + useragent "^2.1.9" + +kew@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/kew/-/kew-0.5.0.tgz#ece11cb5d8d01a81f8ce804c8d0bba06e6b25ca2" + +kew@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/kew/-/kew-0.7.0.tgz#79d93d2d33363d6fdd2970b335d9141ad591d79b" + +kind-of@^3.0.2: + version "3.0.4" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.0.4.tgz#7b8ecf18a4e17f8269d73b501c9f232c96887a74" + dependencies: + is-buffer "^1.0.2" + +klaw@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.0.tgz#8857bfbc1d824badf13d3d0241d8bbe46fb12f73" + +lcid@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" + dependencies: + invert-kv "^1.0.0" + +liftoff@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/liftoff/-/liftoff-2.3.0.tgz#a98f2ff67183d8ba7cfaca10548bd7ff0550b385" + dependencies: + extend "^3.0.0" + findup-sync "^0.4.2" + fined "^1.0.1" + flagged-respawn "^0.3.2" + lodash.isplainobject "^4.0.4" + lodash.isstring "^4.0.1" + lodash.mapvalues "^4.4.0" + rechoir "^0.6.2" + resolve "^1.1.7" + +limiter@^1.0.5: + version "1.1.0" + resolved "https://registry.yarnpkg.com/limiter/-/limiter-1.1.0.tgz#6e2bd12ca3fcdaa11f224e2e53c896df3f08d913" + +load-json-file@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + pinkie-promise "^2.0.0" + strip-bom "^2.0.0" + +localtunnel@1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/localtunnel/-/localtunnel-1.8.1.tgz#d51b2bb7a7066afb05b57fc9db844015098f2e17" + dependencies: + debug "2.2.0" + openurl "1.1.0" + request "2.65.0" + yargs "3.29.0" + +lodash._basecopy@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" + +lodash._basetostring@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz#d1861d877f824a52f669832dcaf3ee15566a07d5" + +lodash._basevalues@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz#5b775762802bde3d3297503e26300820fdf661b7" + +lodash._escapehtmlchar@~2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/lodash._escapehtmlchar/-/lodash._escapehtmlchar-2.4.1.tgz#df67c3bb6b7e8e1e831ab48bfa0795b92afe899d" + dependencies: + lodash._htmlescapes "~2.4.1" + +lodash._escapestringchar@~2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/lodash._escapestringchar/-/lodash._escapestringchar-2.4.1.tgz#ecfe22618a2ade50bfeea43937e51df66f0edb72" + +lodash._getnative@^3.0.0: + version "3.9.1" + resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" + +lodash._htmlescapes@~2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz#32d14bf0844b6de6f8b62a051b4f67c228b624cb" + +lodash._isiterateecall@^3.0.0: + version "3.0.9" + resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" + +lodash._isnative@~2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/lodash._isnative/-/lodash._isnative-2.4.1.tgz#3ea6404b784a7be836c7b57580e1cdf79b14832c" + +lodash._objecttypes@~2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz#7c0b7f69d98a1f76529f890b0cdb1b4dfec11c11" + +lodash._reescape@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reescape/-/lodash._reescape-3.0.0.tgz#2b1d6f5dfe07c8a355753e5f27fac7f1cde1616a" + +lodash._reevaluate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz#58bc74c40664953ae0b124d806996daca431e2ed" + +lodash._reinterpolate@^2.4.1, lodash._reinterpolate@~2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz#4f1227aa5a8711fc632f5b07a1f4607aab8b3222" + +lodash._reinterpolate@^3.0.0, lodash._reinterpolate@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" + +lodash._reunescapedhtml@~2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/lodash._reunescapedhtml/-/lodash._reunescapedhtml-2.4.1.tgz#747c4fc40103eb3bb8a0976e571f7a2659e93ba7" + dependencies: + lodash._htmlescapes "~2.4.1" + lodash.keys "~2.4.1" + +lodash._root@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692" + +lodash._shimkeys@~2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz#6e9cc9666ff081f0b5a6c978b83e242e6949d203" + dependencies: + lodash._objecttypes "~2.4.1" + +lodash.assign@^4.0.3, lodash.assign@^4.0.6, lodash.assign@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" + +lodash.assignwith@^4.0.7: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.assignwith/-/lodash.assignwith-4.2.0.tgz#127a97f02adc41751a954d24b0de17e100e038eb" + +lodash.clonedeep@^4.3.2: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" + +lodash.defaults@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" + +lodash.defaults@~2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-2.4.1.tgz#a7e8885f05e68851144b6e12a8f3678026bc4c54" + dependencies: + lodash._objecttypes "~2.4.1" + lodash.keys "~2.4.1" + +lodash.escape@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz#995ee0dc18c1b48cc92effae71a10aab5b487698" + dependencies: + lodash._root "^3.0.0" + +lodash.escape@~2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-2.4.1.tgz#2ce12c5e084db0a57dda5e5d1eeeb9f5d175a3b4" + dependencies: + lodash._escapehtmlchar "~2.4.1" + lodash._reunescapedhtml "~2.4.1" + lodash.keys "~2.4.1" + +lodash.isarguments@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" + +lodash.isarray@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" + +lodash.isempty@^4.2.1: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.isempty/-/lodash.isempty-4.4.0.tgz#6f86cbedd8be4ec987be9aaf33c9684db1b31e7e" + +lodash.isobject@~2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/lodash.isobject/-/lodash.isobject-2.4.1.tgz#5a2e47fe69953f1ee631a7eba1fe64d2d06558f5" + dependencies: + lodash._objecttypes "~2.4.1" + +lodash.isplainobject@^4.0.4: + version "4.0.6" + resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + +lodash.isstring@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" + +lodash.keys@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" + dependencies: + lodash._getnative "^3.0.0" + lodash.isarguments "^3.0.0" + lodash.isarray "^3.0.0" + +lodash.keys@~2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-2.4.1.tgz#48dea46df8ff7632b10d706b8acb26591e2b3727" + dependencies: + lodash._isnative "~2.4.1" + lodash._shimkeys "~2.4.1" + lodash.isobject "~2.4.1" + +lodash.mapvalues@^4.4.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz#1bafa5005de9dd6f4f26668c30ca37230cc9689c" + +lodash.pick@^4.2.1: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" + +lodash.restparam@^3.0.0: + version "3.6.1" + resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" + +lodash.template@^2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-2.4.1.tgz#9e611007edf629129a974ab3c48b817b3e1cf20d" + dependencies: + lodash._escapestringchar "~2.4.1" + lodash._reinterpolate "~2.4.1" + lodash.defaults "~2.4.1" + lodash.escape "~2.4.1" + lodash.keys "~2.4.1" + lodash.templatesettings "~2.4.1" + lodash.values "~2.4.1" + +lodash.template@^3.0.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-3.6.2.tgz#f8cdecc6169a255be9098ae8b0c53d378931d14f" + dependencies: + lodash._basecopy "^3.0.0" + lodash._basetostring "^3.0.0" + lodash._basevalues "^3.0.0" + lodash._isiterateecall "^3.0.0" + lodash._reinterpolate "^3.0.0" + lodash.escape "^3.0.0" + lodash.keys "^3.0.0" + lodash.restparam "^3.0.0" + lodash.templatesettings "^3.0.0" + +lodash.template@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.4.0.tgz#e73a0385c8355591746e020b99679c690e68fba0" + dependencies: + lodash._reinterpolate "~3.0.0" + lodash.templatesettings "^4.0.0" + +lodash.templatesettings@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz#fb307844753b66b9f1afa54e262c745307dba8e5" + dependencies: + lodash._reinterpolate "^3.0.0" + lodash.escape "^3.0.0" + +lodash.templatesettings@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz#2b4d4e95ba440d915ff08bc899e4553666713316" + dependencies: + lodash._reinterpolate "~3.0.0" + +lodash.templatesettings@~2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-2.4.1.tgz#ea76c75d11eb86d4dbe89a83893bb861929ac699" + dependencies: + lodash._reinterpolate "~2.4.1" + lodash.escape "~2.4.1" + +lodash.values@~2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/lodash.values/-/lodash.values-2.4.1.tgz#abf514436b3cb705001627978cbcf30b1280eea4" + dependencies: + lodash.keys "~2.4.1" + +lodash@^3.0.1, lodash@^3.10.1, lodash@^3.8.0: + version "3.10.1" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" + +lodash@^4.0.0, lodash@^4.0.1, lodash@^4.14.0, lodash@^4.5.0: + version "4.16.4" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.16.4.tgz#01ce306b9bad1319f2a5528674f88297aeb70127" + +lodash@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-1.0.2.tgz#8f57560c83b59fc270bd3d561b690043430e2551" + +lodash@~2.4.1: + version "2.4.2" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-2.4.2.tgz#fadd834b9683073da179b3eae6d9c0d15053f73e" + +lodash@~4.9.0: + version "4.9.0" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.9.0.tgz#4c20d742f03ce85dc700e0dd7ab9bcab85e6fc14" + +lodash@3.7.x: + version "3.7.0" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.7.0.tgz#3678bd8ab995057c07ade836ed2ef087da811d45" + +log4js@^0.6.31: + version "0.6.38" + resolved "https://registry.yarnpkg.com/log4js/-/log4js-0.6.38.tgz#2c494116695d6fb25480943d3fc872e662a522fd" + dependencies: + readable-stream "~1.0.2" + semver "~4.3.3" + +loud-rejection@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" + dependencies: + currently-unhandled "^0.4.1" + signal-exit "^3.0.0" + +lru-cache@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.1.tgz#1343955edaf2e37d9b9e7ee7241e27c4b9fb72be" + dependencies: + pseudomap "^1.0.1" + yallist "^2.0.0" + +lru-cache@2: + version "2.7.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952" + +lru-cache@2.2.x: + version "2.2.4" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.2.4.tgz#6c658619becf14031d0d0b594b16042ce4dc063d" + +map-cache@^0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + +map-obj@^1.0.0, map-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + +map-stream@>=0.0.4, map-stream@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194" + +map-stream@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.0.4.tgz#5ec6de90213ef6c7b2eb9367e9ade8da4efdb68b" + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + +meow@^3.3.0, meow@^3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" + dependencies: + camelcase-keys "^2.0.0" + decamelize "^1.1.2" + loud-rejection "^1.0.0" + map-obj "^1.0.1" + minimist "^1.1.3" + normalize-package-data "^2.3.4" + object-assign "^4.0.1" + read-pkg-up "^1.0.1" + redent "^1.0.0" + trim-newlines "^1.0.0" + +micromatch@^2.1.5, micromatch@^2.3.7, micromatch@2.3.11: + version "2.3.11" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" + dependencies: + arr-diff "^2.0.0" + array-unique "^0.2.1" + braces "^1.8.2" + expand-brackets "^0.1.4" + extglob "^0.3.1" + filename-regex "^2.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.1" + kind-of "^3.0.2" + normalize-path "^2.0.1" + object.omit "^2.0.0" + parse-glob "^3.0.4" + regex-cache "^0.4.2" + +mime-db@~1.12.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.12.0.tgz#3d0c63180f458eb10d325aaa37d7c58ae312e9d7" + +mime-db@~1.24.0: + version "1.24.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.24.0.tgz#e2d13f939f0016c6e4e9ad25a8652f126c467f0c" + +mime-types@^2.1.11, mime-types@~2.1.11, mime-types@~2.1.7: + version "2.1.12" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.12.tgz#152ba256777020dd4663f54c2e7bc26381e71729" + dependencies: + mime-db "~1.24.0" + +mime-types@~2.0.4: + version "2.0.14" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.0.14.tgz#310e159db23e077f8bb22b748dabfa4957140aa6" + dependencies: + mime-db "~1.12.0" + +mime@^1.3.4, "mime@>= 0.0.1", mime@1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53" + +mime@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.2.4.tgz#11b5fdaf29c2509255176b80ad520294f5de92b7" + +minimatch@^2.0.1: + version "2.0.10" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-2.0.10.tgz#8d087c39c6b38c001b97fca7ce6d0e1e80afbac7" + dependencies: + brace-expansion "^1.0.0" + +minimatch@^3.0.0, minimatch@^3.0.2, minimatch@~3.0.0, minimatch@~3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" + dependencies: + brace-expansion "^1.0.0" + +minimatch@~0.2.11: + version "0.2.14" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.2.14.tgz#c74e780574f63c6f9a090e90efbe6ef53a6a756a" + dependencies: + lru-cache "2" + sigmund "~1.0.0" + +minimist@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.2.0.tgz#4dffe525dae2b864c66c2e23c6271d7afdecefce" + +minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + +minimist@~0.0.1: + version "0.0.10" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" + +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + +mkdirp@^0.5.0, mkdirp@^0.5.1, "mkdirp@>=0.5 0", mkdirp@~0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + dependencies: + minimist "0.0.8" + +mkdirp@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.3.0.tgz#1bbf5ab1ba827af23575143490426455f481fe1e" + +mkdirp@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.0.tgz#1d73076a6df986cd9344e15e71fcc05a4c9abf12" + dependencies: + minimist "0.0.8" + +ms@0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" + +multimatch@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.0.0.tgz#c5ada425357b744ba54842ebdce1c8f0be542b6f" + dependencies: + array-differ "^1.0.0" + array-union "^1.0.1" + minimatch "^2.0.1" + +multipipe@^0.1.0, multipipe@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/multipipe/-/multipipe-0.1.2.tgz#2a8f2ddf70eed564dff2d57f1e1a137d9f05078b" + dependencies: + duplexer2 "0.0.2" + +nan@^2.3.0, nan@^2.3.2: + version "2.4.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.4.0.tgz#fb3c59d45fe4effe215f0b890f8adf6eb32d2232" + +natives@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/natives/-/natives-1.1.0.tgz#e9ff841418a6b2ec7a495e939984f78f163e6e31" + +negotiator@0.4.9: + version "0.4.9" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.4.9.tgz#92e46b6db53c7e421ed64a2bc94f08be7630df3f" + +negotiator@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" + +node-gyp@^3.3.1: + version "3.4.0" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.4.0.tgz#dda558393b3ecbbe24c9e6b8703c71194c63fa36" + dependencies: + fstream "^1.0.0" + glob "^7.0.3" + graceful-fs "^4.1.2" + minimatch "^3.0.2" + mkdirp "^0.5.0" + nopt "2 || 3" + npmlog "0 || 1 || 2 || 3" + osenv "0" + path-array "^1.0.0" + request "2" + rimraf "2" + semver "2.x || 3.x || 4 || 5" + tar "^2.0.0" + which "1" + +node-pre-gyp@^0.6.29: + version "0.6.30" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.30.tgz#64d3073a6f573003717ccfe30c89023297babba1" + dependencies: + mkdirp "~0.5.0" + nopt "~3.0.1" + npmlog "4.x" + rc "~1.1.0" + request "2.x" + rimraf "~2.5.0" + semver "~5.3.0" + tar "~2.2.0" + tar-pack "~3.1.0" + +node-sass@^3.4.2: + version "3.10.1" + resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-3.10.1.tgz#c535b2e1a5439240591e06d7308cb663820d616c" + dependencies: + async-foreach "^0.1.3" + chalk "^1.1.1" + cross-spawn "^3.0.0" + gaze "^1.0.0" + get-stdin "^4.0.1" + glob "^7.0.3" + in-publish "^2.0.0" + lodash.assign "^4.2.0" + lodash.clonedeep "^4.3.2" + meow "^3.7.0" + mkdirp "^0.5.1" + nan "^2.3.2" + node-gyp "^3.3.1" + npmlog "^4.0.0" + request "^2.61.0" + sass-graph "^2.1.1" + +node-uuid@~1.4.3, node-uuid@~1.4.7: + version "1.4.7" + resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.7.tgz#6da5a17668c4b3dd59623bda11cf7fa4c1f60a6f" + +nopt@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-2.0.0.tgz#ca7416f20a5e3f9c3b86180f96295fa3d0b52e0d" + dependencies: + abbrev "1" + +nopt@~3.0.1, "nopt@2 || 3", nopt@3.0.x: + version "3.0.6" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + dependencies: + abbrev "1" + +noptify@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/noptify/-/noptify-0.0.3.tgz#58f654a73d9753df0c51d9686dc92104a67f4bbb" + dependencies: + nopt "~2.0.0" + +normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: + version "2.3.5" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.5.tgz#8d924f142960e1777e7ffe170543631cc7cb02df" + dependencies: + hosted-git-info "^2.1.4" + is-builtin-module "^1.0.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.0.1.tgz#47886ac1662760d4261b7d979d241709d3ce3f7a" + +npmconf@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/npmconf/-/npmconf-2.1.2.tgz#66606a4a736f1e77a059aa071a79c94ab781853a" + dependencies: + config-chain "~1.1.8" + inherits "~2.0.0" + ini "^1.2.0" + mkdirp "^0.5.0" + nopt "~3.0.1" + once "~1.3.0" + osenv "^0.1.0" + semver "2 || 3 || 4" + uid-number "0.0.5" + +npmlog@^4.0.0, npmlog@4.x: + version "4.0.0" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.0.tgz#e094503961c70c1774eb76692080e8d578a9f88f" + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.6.0" + set-blocking "~2.0.0" + +"npmlog@0 || 1 || 2 || 3": + version "3.1.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-3.1.2.tgz#2d46fa874337af9498a2f12bb43d8d0be4a36873" + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.6.0" + set-blocking "~2.0.0" + +null-check@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/null-check/-/null-check-1.0.0.tgz#977dffd7176012b9ec30d2a39db5cf72a0439edd" + +num2fraction@^1.1.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + +oauth-sign@~0.8.0, oauth-sign@~0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" + +object-assign@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-2.1.1.tgz#43c36e5d569ff8e4816c4efa8be02d26967c18aa" + +object-assign@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2" + +object-assign@^4.0.1, object-assign@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0" + +object-component@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/object-component/-/object-component-0.0.3.tgz#f0c69aa50efc95b866c186f400a33769cb2f1291" + +object-path@^0.9.0: + version "0.9.2" + resolved "https://registry.yarnpkg.com/object-path/-/object-path-0.9.2.tgz#0fd9a74fc5fad1ae3968b586bda5c632bd6c05a5" + +object.omit@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.0.tgz#868597333d54e60662940bb458605dd6ae12fe94" + dependencies: + for-own "^0.1.3" + is-extendable "^0.1.1" + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + dependencies: + ee-first "1.1.1" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + dependencies: + wrappy "1" + +once@~1.3.0, once@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20" + dependencies: + wrappy "1" + +openurl@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/openurl/-/openurl-1.1.0.tgz#e2f2189d999c04823201f083f0f1a7cd8903187a" + +opn@4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/opn/-/opn-4.0.2.tgz#7abc22e644dff63b0a96d5ab7f2790c0f01abc95" + dependencies: + object-assign "^4.0.1" + pinkie-promise "^2.0.0" + +optimist@^0.6.1, optimist@~0.6.0: + version "0.6.1" + resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" + dependencies: + minimist "~0.0.1" + wordwrap "~0.0.2" + +options@>=0.0.5: + version "0.0.6" + resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f" + +orchestrator@^0.3.0: + version "0.3.7" + resolved "https://registry.yarnpkg.com/orchestrator/-/orchestrator-0.3.7.tgz#c45064e22c5a2a7b99734f409a95ffedc7d3c3df" + dependencies: + end-of-stream "~0.1.5" + sequencify "~0.0.7" + stream-consume "~0.1.0" + +ordered-read-streams@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz#fd565a9af8eb4473ba69b6ed8a34352cb552f126" + +os-homedir@^1.0.0, os-homedir@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + +os-locale@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" + dependencies: + lcid "^1.0.0" + +os-tmpdir@^1.0.0, os-tmpdir@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + +osenv@^0.1.0, osenv@^0.1.3, osenv@0: + version "0.1.3" + resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.3.tgz#83cf05c6d6458fc4d5ac6362ea325d92f2754217" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.0" + +parse-filepath@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.1.tgz#159d6155d43904d16c10ef698911da1e91969b73" + dependencies: + is-absolute "^0.2.3" + map-cache "^0.2.0" + path-root "^0.1.1" + +parse-glob@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" + dependencies: + glob-base "^0.3.0" + is-dotfile "^1.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.0" + +parse-json@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + dependencies: + error-ex "^1.2.0" + +parsejson@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/parsejson/-/parsejson-0.0.1.tgz#9b10c6c0d825ab589e685153826de0a3ba278bcc" + dependencies: + better-assert "~1.0.0" + +parseqs@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.2.tgz#9dfe70b2cddac388bde4f35b1f240fa58adbe6c7" + dependencies: + better-assert "~1.0.0" + +parseuri@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.4.tgz#806582a39887e1ea18dd5e2fe0e01902268e9350" + dependencies: + better-assert "~1.0.0" + +parseurl@^1.0.1, parseurl@~1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56" + +path-array@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-array/-/path-array-1.0.1.tgz#7e2f0f35f07a2015122b868b7eac0eb2c4fec271" + dependencies: + array-index "^1.0.0" + +path-exists@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + dependencies: + pinkie-promise "^2.0.0" + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + +path-is-inside@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + +path-root-regex@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" + +path-root@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" + dependencies: + path-root-regex "^0.1.0" + +path-to-regexp@^1.0.1: + version "1.6.0" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.6.0.tgz#4c59cfeab5e360a2657b180730a4bb4582ecec5b" + dependencies: + isarray "0.0.1" + +path-type@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" + dependencies: + graceful-fs "^4.1.2" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +pause-stream@0.0.11: + version "0.0.11" + resolved "https://registry.yarnpkg.com/pause-stream/-/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445" + dependencies: + through "~2.3" + +pend@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" + +phantomjs-prebuilt@^2.1.7: + version "2.1.13" + resolved "https://registry.yarnpkg.com/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.13.tgz#66556ad9e965d893ca5a7dc9e763df7e8697f76d" + dependencies: + es6-promise "~4.0.3" + extract-zip "~1.5.0" + fs-extra "~0.30.0" + hasha "~2.2.0" + kew "~0.7.0" + progress "~1.1.8" + request "~2.74.0" + request-progress "~2.0.1" + which "~1.2.10" + +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + +portscanner@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/portscanner/-/portscanner-1.0.0.tgz#3b5cfe393828b5160abc600e6270ebc2f1590558" + dependencies: + async "0.1.15" + +postcss@^4.1.5, postcss@~4.1.12: + version "4.1.16" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-4.1.16.tgz#4c449b4c8af9df3caf6d37f8e1e575d0361758dc" + dependencies: + es6-promise "~2.3.0" + js-base64 "~2.1.8" + source-map "~0.4.2" + +preserve@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" + +pretty-bytes@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-3.0.1.tgz#27d0008d778063a0b4811bb35c79f1bd5d5fbccf" + dependencies: + number-is-nan "^1.0.0" + +pretty-hrtime@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.2.tgz#70ca96f4d0628a443b918758f79416a9a7bc9fa8" + +process-nextick-args@~1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" + +progress@~1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" + +proto-list@~1.2.1: + version "1.2.4" + resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" + +protractor@^4.0.9: + version "4.0.9" + resolved "https://registry.yarnpkg.com/protractor/-/protractor-4.0.9.tgz#152f72e3729b2576226e370dc308699cccfa77ba" + dependencies: + "@types/jasmine" "^2.2.31" + "@types/node" "^6.0.35" + "@types/q" "^0.0.30" + "@types/selenium-webdriver" "~2.53.30" + adm-zip "0.4.7" + chalk "^1.1.3" + glob "^7.0.3" + jasmine "2.5.2" + jasminewd2 "0.0.10" + optimist "~0.6.0" + q "1.4.1" + saucelabs "~1.3.0" + selenium-webdriver "2.53.3" + source-map-support "~0.4.0" + webdriver-manager "^10.2.2" + +pseudomap@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + +q@^1.2.0, q@^1.4.1, q@1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/q/-/q-1.4.1.tgz#55705bcd93c5f3673530c2c2cbc0c2b3addc286e" + +qjobs@^1.1.4: + version "1.1.5" + resolved "https://registry.yarnpkg.com/qjobs/-/qjobs-1.1.5.tgz#659de9f2cf8dcc27a1481276f205377272382e73" + +qs@^0.6.6: + version "0.6.6" + resolved "https://registry.yarnpkg.com/qs/-/qs-0.6.6.tgz#6e015098ff51968b8a3c819001d5f2c89bc4b107" + +qs@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-1.2.2.tgz#19b57ff24dc2a99ce1f8bdf6afcda59f8ef61f88" + +"qs@>= 0.4.0", qs@~6.2.0, qs@6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.1.tgz#ce03c5ff0935bc1d9d69a9f14cbd18e568d67625" + +qs@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/qs/-/qs-5.2.1.tgz#801fee030e0b9450d6385adc48a4cc55b44aedfc" + +qs@0.4.x: + version "0.4.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-0.4.2.tgz#3cac4c861e371a8c9c4770ac23cda8de639b8e5f" + +qs@6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.0.tgz#3b7848c03c2dece69a9522b0fae8c4126d745f3b" + +randomatic@^1.1.3: + version "1.1.5" + resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.5.tgz#5e9ef5f2d573c67bd2b8124ae90b5156e457840b" + dependencies: + is-number "^2.0.2" + kind-of "^3.0.2" + +range-parser@^1.2.0, range-parser@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" + +raw-body@~2.1.7: + version "2.1.7" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.1.7.tgz#adfeace2e4fb3098058014d08c072dcc59758774" + dependencies: + bytes "2.4.0" + iconv-lite "0.4.13" + unpipe "1.0.0" + +rc@~1.1.0: + version "1.1.6" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.1.6.tgz#43651b76b6ae53b5c802f1151fa3fc3b059969c9" + dependencies: + deep-extend "~0.4.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~1.0.4" + +rcfinder@~0.1.6: + version "0.1.9" + resolved "https://registry.yarnpkg.com/rcfinder/-/rcfinder-0.1.9.tgz#f3e80f387ddf9ae80ae30a4100329642eae81115" + dependencies: + lodash.clonedeep "^4.3.2" + +rcloader@0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/rcloader/-/rcloader-0.1.2.tgz#a0963a6437d09ef8cb92d932d2dad497b0d1736c" + dependencies: + lodash "~2.4.1" + rcfinder "~0.1.6" + +read-pkg-up@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" + dependencies: + find-up "^1.0.0" + read-pkg "^1.0.0" + +read-pkg@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" + dependencies: + load-json-file "^1.0.0" + normalize-package-data "^2.3.2" + path-type "^1.0.0" + +"readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.2, readable-stream@~2.1.4: + version "2.1.5" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0" + dependencies: + buffer-shims "^1.0.0" + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "~1.0.0" + process-nextick-args "~1.0.6" + string_decoder "~0.10.x" + util-deprecate "~1.0.1" + +"readable-stream@>=1.0.33-1 <1.1.0-0", readable-stream@~1.0.17, readable-stream@~1.0.2: + version "1.0.34" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readable-stream@~1.1.9: + version "1.1.14" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readable-stream@~2.0.0, readable-stream@~2.0.5: + version "2.0.6" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "~1.0.0" + process-nextick-args "~1.0.6" + string_decoder "~0.10.x" + util-deprecate "~1.0.1" + +readable-stream@1.1: + version "1.1.13" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.13.tgz#f6eef764f514c89e2b9e23146a75ba106756d23e" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readdirp@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" + dependencies: + graceful-fs "^4.1.2" + minimatch "^3.0.2" + readable-stream "^2.0.2" + set-immediate-shim "^1.0.1" + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + dependencies: + resolve "^1.1.6" + +redent@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" + dependencies: + indent-string "^2.1.0" + strip-indent "^1.0.1" + +regex-cache@^0.4.2: + version "0.4.3" + resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145" + dependencies: + is-equal-shallow "^0.1.3" + is-primitive "^2.0.0" + +repeat-element@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" + +repeat-string@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-0.2.2.tgz#c7a8d3236068362059a7e4651fc6884e8b1fb4ae" + +repeat-string@^1.5.2: + version "1.5.4" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.5.4.tgz#64ec0c91e0f4b475f90d5b643651e3e6e5b6c2d5" + +repeating@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + dependencies: + is-finite "^1.0.0" + +replace-ext@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924" + +request-progress@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/request-progress/-/request-progress-2.0.1.tgz#5d36bb57961c673aa5b788dbc8141fdf23b44e08" + dependencies: + throttleit "^1.0.0" + +request@^2.61.0, request@^2.69.0, request@2, request@2.x: + version "2.75.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.75.0.tgz#d2b8268a286da13eaa5d01adf5d18cc90f657d93" + dependencies: + aws-sign2 "~0.6.0" + aws4 "^1.2.1" + bl "~1.1.2" + caseless "~0.11.0" + combined-stream "~1.0.5" + extend "~3.0.0" + forever-agent "~0.6.1" + form-data "~2.0.0" + har-validator "~2.0.6" + hawk "~3.1.3" + http-signature "~1.1.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.7" + node-uuid "~1.4.7" + oauth-sign "~0.8.1" + qs "~6.2.0" + stringstream "~0.0.4" + tough-cookie "~2.3.0" + tunnel-agent "~0.4.1" + +request@~2.74.0: + version "2.74.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.74.0.tgz#7693ca768bbb0ea5c8ce08c084a45efa05b892ab" + dependencies: + aws-sign2 "~0.6.0" + aws4 "^1.2.1" + bl "~1.1.2" + caseless "~0.11.0" + combined-stream "~1.0.5" + extend "~3.0.0" + forever-agent "~0.6.1" + form-data "~1.0.0-rc4" + har-validator "~2.0.6" + hawk "~3.1.3" + http-signature "~1.1.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.7" + node-uuid "~1.4.7" + oauth-sign "~0.8.1" + qs "~6.2.0" + stringstream "~0.0.4" + tough-cookie "~2.3.0" + tunnel-agent "~0.4.1" + +request@2.65.0: + version "2.65.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.65.0.tgz#cc1a3bc72b96254734fc34296da322f9486ddeba" + dependencies: + aws-sign2 "~0.6.0" + bl "~1.0.0" + caseless "~0.11.0" + combined-stream "~1.0.5" + extend "~3.0.0" + forever-agent "~0.6.1" + form-data "~1.0.0-rc3" + har-validator "~2.0.2" + hawk "~3.1.0" + http-signature "~0.11.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.7" + node-uuid "~1.4.3" + oauth-sign "~0.8.0" + qs "~5.2.0" + stringstream "~0.0.4" + tough-cookie "~2.2.0" + tunnel-agent "~0.4.1" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + +require-main-filename@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" + +requires-port@1.x.x: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + +resolve-dir@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-0.1.1.tgz#b219259a5602fac5c5c496ad894a6e8cc430261e" + dependencies: + expand-tilde "^1.2.2" + global-modules "^0.2.3" + +resolve@^1.1.6, resolve@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + +resp-modifier@6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/resp-modifier/-/resp-modifier-6.0.2.tgz#b124de5c4fbafcba541f48ffa73970f4aa456b4f" + dependencies: + debug "^2.2.0" + minimatch "^3.0.2" + +rimraf@^2.0.3, rimraf@^2.2.8, rimraf@^2.3.3, rimraf@^2.5.2, rimraf@~2.5.0, rimraf@~2.5.1, rimraf@2: + version "2.5.4" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04" + dependencies: + glob "^7.0.5" + +rx@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" + +sass-graph@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.1.2.tgz#965104be23e8103cb7e5f710df65935b317da57b" + dependencies: + glob "^7.0.0" + lodash "^4.0.0" + yargs "^4.7.1" + +saucelabs@~1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/saucelabs/-/saucelabs-1.3.0.tgz#d240e8009df7fa87306ec4578a69ba3b5c424fee" + dependencies: + https-proxy-agent "^1.0.0" + +sax@0.6.x: + version "0.6.1" + resolved "https://registry.yarnpkg.com/sax/-/sax-0.6.1.tgz#563b19c7c1de892e09bfc4f2fc30e3c27f0952b9" + +selenium-webdriver@2.53.3: + version "2.53.3" + resolved "https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-2.53.3.tgz#d29ff5a957dff1a1b49dc457756e4e4bfbdce085" + dependencies: + adm-zip "0.4.4" + rimraf "^2.2.8" + tmp "0.0.24" + ws "^1.0.1" + xml2js "0.4.4" + +semver@^4.1.0, semver@~4.3.3, "semver@2 || 3 || 4": + version "4.3.6" + resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da" + +semver@~5.0.1: + version "5.0.3" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.0.3.tgz#77466de589cd5d3c95f138aa78bc569a3cb5d27a" + +semver@~5.3.0, "semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5": + version "5.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" + +send@0.14.1: + version "0.14.1" + resolved "https://registry.yarnpkg.com/send/-/send-0.14.1.tgz#a954984325392f51532a7760760e459598c89f7a" + dependencies: + debug "~2.2.0" + depd "~1.1.0" + destroy "~1.0.4" + encodeurl "~1.0.1" + escape-html "~1.0.3" + etag "~1.7.0" + fresh "0.3.0" + http-errors "~1.5.0" + mime "1.3.4" + ms "0.7.1" + on-finished "~2.3.0" + range-parser "~1.2.0" + statuses "~1.3.0" + +sequencify@~0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/sequencify/-/sequencify-0.0.7.tgz#90cff19d02e07027fd767f5ead3e7b95d1e7380c" + +serve-index@1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.8.0.tgz#7c5d96c13fb131101f93c1c5774f8516a1e78d3b" + dependencies: + accepts "~1.3.3" + batch "0.5.3" + debug "~2.2.0" + escape-html "~1.0.3" + http-errors "~1.5.0" + mime-types "~2.1.11" + parseurl "~1.3.1" + +serve-static@^1.9.1, serve-static@1.11.1: + version "1.11.1" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.11.1.tgz#d6cce7693505f733c759de57befc1af76c0f0805" + dependencies: + encodeurl "~1.0.1" + escape-html "~1.0.3" + parseurl "~1.3.1" + send "0.14.1" + +server-destroy@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/server-destroy/-/server-destroy-1.0.1.tgz#f13bf928e42b9c3e79383e61cc3998b5d14e6cdd" + +serviceworker-cache-polyfill@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/serviceworker-cache-polyfill/-/serviceworker-cache-polyfill-4.0.0.tgz#de19ee73bef21ab3c0740a37b33db62464babdeb" + +set-blocking@^2.0.0, set-blocking@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + +set-immediate-shim@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" + +setprototypeof@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.1.tgz#52009b27888c4dc48f591949c0a8275834c1ca7e" + +shelljs@0.3.x: + version "0.3.0" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.3.0.tgz#3596e6307a781544f591f37da618360f31db57b1" + +sigmund@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" + +signal-exit@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.1.tgz#5a4c884992b63a7acd9badb7894c3ee9cfccad81" + +sntp@1.x.x: + version "1.0.9" + resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" + dependencies: + hoek "2.x.x" + +socket.io-adapter@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-0.4.0.tgz#fb9f82ab1aa65290bf72c3657955b930a991a24f" + dependencies: + debug "2.2.0" + socket.io-parser "2.2.2" + +socket.io-client@1.4.6: + version "1.4.6" + resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-1.4.6.tgz#49b0ba537efd15b8297c84016e642e1c7c752c3d" + dependencies: + backo2 "1.0.2" + component-bind "1.0.0" + component-emitter "1.2.0" + debug "2.2.0" + engine.io-client "1.6.9" + has-binary "0.1.7" + indexof "0.0.1" + object-component "0.0.3" + parseuri "0.0.4" + socket.io-parser "2.2.6" + to-array "0.1.4" + +socket.io-client@1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-1.5.0.tgz#08232d0adb5a665a7c24bd9796557a33f58f38ae" + dependencies: + backo2 "1.0.2" + component-bind "1.0.0" + component-emitter "1.2.0" + debug "2.2.0" + engine.io-client "1.7.0" + has-binary "0.1.7" + indexof "0.0.1" + object-component "0.0.3" + parseuri "0.0.4" + socket.io-parser "2.2.6" + to-array "0.1.4" + +socket.io-parser@2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-2.2.2.tgz#3d7af6b64497e956b7d9fe775f999716027f9417" + dependencies: + benchmark "1.0.0" + component-emitter "1.1.2" + debug "0.7.4" + isarray "0.0.1" + json3 "3.2.6" + +socket.io-parser@2.2.6: + version "2.2.6" + resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-2.2.6.tgz#38dfd61df50dcf8ab1d9e2091322bf902ba28b99" + dependencies: + benchmark "1.0.0" + component-emitter "1.1.2" + debug "2.2.0" + isarray "0.0.1" + json3 "3.3.2" + +socket.io@1.4.7: + version "1.4.7" + resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-1.4.7.tgz#92b7f7cb88c5797d4daee279fe8075dbe6d3fa1c" + dependencies: + debug "2.2.0" + engine.io "1.6.10" + has-binary "0.1.7" + socket.io-adapter "0.4.0" + socket.io-client "1.4.6" + socket.io-parser "2.2.6" + +socket.io@1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-1.5.0.tgz#024dd9719d9267d6a6984eebe2ab5ceb9a0b8a98" + dependencies: + debug "2.2.0" + engine.io "1.7.0" + has-binary "0.1.7" + socket.io-adapter "0.4.0" + socket.io-client "1.5.0" + socket.io-parser "2.2.6" + +source-map-support@~0.4.0: + version "0.4.3" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.3.tgz#693c8383d4389a4569486987c219744dfc601685" + dependencies: + source-map "^0.5.3" + +source-map@^0.1.39: + version "0.1.43" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346" + dependencies: + amdefine ">=0.0.4" + +source-map@^0.5.1, source-map@^0.5.3: + version "0.5.6" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" + +source-map@~0.4.2, source-map@0.4.x: + version "0.4.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" + dependencies: + amdefine ">=0.0.4" + +sparkles@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.0.tgz#1acbbfb592436d10bbe8f785b7cc6f82815012c3" + +spdx-correct@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" + dependencies: + spdx-license-ids "^1.0.2" + +spdx-expression-parse@~1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" + +spdx-license-ids@^1.0.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" + +split@0.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz#cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f" + dependencies: + through "2" + +sshpk@^1.7.0: + version "1.10.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.10.1.tgz#30e1a5d329244974a1af61511339d595af6638b0" + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + dashdash "^1.12.0" + getpass "^0.1.1" + optionalDependencies: + bcrypt-pbkdf "^1.0.0" + ecc-jsbn "~0.1.1" + jodid25519 "^1.0.0" + jsbn "~0.1.0" + tweetnacl "~0.14.0" + +"statuses@>= 1.3.0 < 2", statuses@~1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.0.tgz#8e55758cb20e7682c1f4fce8dcab30bf01d1e07a" + +stream-combiner@~0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14" + dependencies: + duplexer "~0.1.1" + +stream-consume@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/stream-consume/-/stream-consume-0.1.0.tgz#a41ead1a6d6081ceb79f65b061901b6d8f3d1d0f" + +stream-throttle@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/stream-throttle/-/stream-throttle-0.1.3.tgz#add57c8d7cc73a81630d31cd55d3961cfafba9c3" + dependencies: + commander "^2.2.0" + limiter "^1.0.5" + +string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + +string-width@^1.0.1, string-width@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +stringstream@~0.0.4: + version "0.0.5" + resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" + +strip-ansi@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.3.0.tgz#25f48ea22ca79187f3174a4db8759347bb126220" + dependencies: + ansi-regex "^0.2.1" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + dependencies: + ansi-regex "^2.0.0" + +strip-bom@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-1.0.0.tgz#85b8862f3844b5a6d5ec8467a93598173a36f794" + dependencies: + first-chunk-stream "^1.0.0" + is-utf8 "^0.2.0" + +strip-bom@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + dependencies: + is-utf8 "^0.2.0" + +strip-indent@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" + dependencies: + get-stdin "^4.0.1" + +strip-json-comments@~1.0.4, strip-json-comments@1.0.x: + version "1.0.4" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91" + +supports-color@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-0.2.0.tgz#d92de2694eb3f67323973d7ae3d8b55b4c22190a" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + +sw-precache@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/sw-precache/-/sw-precache-4.2.1.tgz#7ce7b98a45ec75056ef279c8c38908d4e332a094" + dependencies: + dom-urls "^1.1.0" + es6-promise "^4.0.5" + glob "^7.1.1" + lodash.defaults "^4.2.0" + lodash.template "^4.4.0" + meow "^3.7.0" + mkdirp "^0.5.1" + pretty-bytes "^3.0.1" + sw-toolbox "^3.4.0" + +sw-toolbox@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/sw-toolbox/-/sw-toolbox-3.4.0.tgz#a16efecf4a79ed32191cf1923525f2ee89bc76dc" + dependencies: + path-to-regexp "^1.0.1" + serviceworker-cache-polyfill "^4.0.0" + +tar-pack@~3.1.0: + version "3.1.4" + resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.1.4.tgz#bc8cf9a22f5832739f12f3910dac1eb97b49708c" + dependencies: + debug "~2.2.0" + fstream "~1.0.10" + fstream-ignore "~1.0.5" + once "~1.3.3" + readable-stream "~2.1.4" + rimraf "~2.5.1" + tar "~2.2.1" + uid-number "~0.0.6" + +tar@^2.0.0, tar@~2.2.0, tar@~2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" + dependencies: + block-stream "*" + fstream "^1.0.2" + inherits "2" + +temp-write@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/temp-write/-/temp-write-0.1.1.tgz#0b6467838dd77fbf7f62a0c93da879732ffda932" + dependencies: + graceful-fs "~2.0.0" + tempfile "~0.1.2" + +tempfile@~0.1.2: + version "0.1.3" + resolved "https://registry.yarnpkg.com/tempfile/-/tempfile-0.1.3.tgz#7d6b710047339d39f847327a056dadf183103010" + dependencies: + uuid "~1.4.0" + +tfunk@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/tfunk/-/tfunk-3.0.2.tgz#327ebc6176af2680c6cd0d6d22297c79d7f96efd" + dependencies: + chalk "^1.1.1" + object-path "^0.9.0" + +throttleit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.0.tgz#9e785836daf46743145a5984b6268d828528ac6c" + +through@~2.3, through@~2.3.1, through@2: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + +through2@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/through2/-/through2-0.5.1.tgz#dfdd012eb9c700e2323fd334f38ac622ab372da7" + dependencies: + readable-stream "~1.0.17" + xtend "~3.0.0" + +through2@^0.6.1, through2@^0.6.2, through2@~0.6, through2@~0.6.1: + version "0.6.5" + resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48" + dependencies: + readable-stream ">=1.0.33-1 <1.1.0-0" + xtend ">=4.0.0 <4.1.0-0" + +through2@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.1.tgz#384e75314d49f32de12eebb8136b8eb6b5d59da9" + dependencies: + readable-stream "~2.0.0" + xtend "~4.0.0" + +tildify@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/tildify/-/tildify-1.2.0.tgz#dcec03f55dca9b7aa3e5b04f21817eb56e63588a" + dependencies: + os-homedir "^1.0.0" + +time-stamp@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.0.1.tgz#9f4bd23559c9365966f3302dbba2b07c6b99b151" + +tiny-lr@0.0.9: + version "0.0.9" + resolved "https://registry.yarnpkg.com/tiny-lr/-/tiny-lr-0.0.9.tgz#53973fae34f8c18c07c825b4b270f782e5ebb152" + dependencies: + body-parser "^1.2.0" + debug "^0.8.1" + faye-websocket "^0.7.2" + noptify "~0.0.3" + parseurl "^1.0.1" + qs "^0.6.6" + +tmp@0.0.24: + version "0.0.24" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.24.tgz#d6a5e198d14a9835cc6f2d7c3d9e302428c8cf12" + +tmp@0.0.28: + version "0.0.28" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.28.tgz#172735b7f614ea7af39664fa84cf0de4e515d120" + dependencies: + os-tmpdir "~1.0.1" + +to-array@0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890" + +tough-cookie@~2.2.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.2.2.tgz#c83a1830f4e5ef0b93ef2a3488e724f8de016ac7" + +tough-cookie@~2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.1.tgz#99c77dfbb7d804249e8a299d4cb0fd81fef083fd" + +trim-newlines@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" + +tunnel-agent@~0.4.1: + version "0.4.3" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.3" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.3.tgz#3da382f670f25ded78d7b3d1792119bca0b7132d" + +type-is@~1.6.13: + version "1.6.13" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.13.tgz#6e83ba7bc30cd33a7bb0b7fb00737a2085bf9d08" + dependencies: + media-typer "0.3.0" + mime-types "~2.1.11" + +typedarray@~0.0.5: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + +ua-parser-js@0.7.10: + version "0.7.10" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.10.tgz#917559ddcce07cbc09ece7d80495e4c268f4ef9f" + +uid-number@~0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" + +uid-number@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.5.tgz#5a3db23ef5dbd55b81fce0ec9a2ac6fccdebb81e" + +ultron@1.0.x: + version "1.0.2" + resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa" + +unc-path-regex@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" + +underscore@1.7.x: + version "1.7.0" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.7.0.tgz#6bbaf0877500d36be34ecaa584e0db9fef035209" + +unique-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-1.0.0.tgz#d59a4a75427447d9aa6c91e70263f8d26a4b104b" + +unpipe@~1.0.0, unpipe@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + +urijs@^1.16.1: + version "1.18.2" + resolved "https://registry.yarnpkg.com/urijs/-/urijs-1.18.2.tgz#c2791fa9fb52f4603caf36032d9666432a1dda33" + +user-home@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" + +useragent@^2.1.9: + version "2.1.9" + resolved "https://registry.yarnpkg.com/useragent/-/useragent-2.1.9.tgz#4dba2bc4dad1875777ab15de3ff8098b475000b7" + dependencies: + lru-cache "2.2.x" + +utf8@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/utf8/-/utf8-2.1.0.tgz#0cfec5c8052d44a23e3aaa908104e8075f95dfd5" + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + +utils-merge@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8" + +uuid@~1.4.0: + version "1.4.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-1.4.2.tgz#453019f686966a6df83cdc5244e7c990ecc332fc" + +v8flags@^2.0.2: + version "2.0.11" + resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.0.11.tgz#bca8f30f0d6d60612cc2c00641e6962d42ae6881" + dependencies: + user-home "^1.1.1" + +validate-npm-package-license@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" + dependencies: + spdx-correct "~1.0.0" + spdx-expression-parse "~1.0.0" + +verror@1.3.6: + version "1.3.6" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c" + dependencies: + extsprintf "1.0.2" + +vinyl-fs@^0.3.0: + version "0.3.14" + resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-0.3.14.tgz#9a6851ce1cac1c1cea5fe86c0931d620c2cfa9e6" + dependencies: + defaults "^1.0.0" + glob-stream "^3.1.5" + glob-watcher "^0.0.6" + graceful-fs "^3.0.0" + mkdirp "^0.5.0" + strip-bom "^1.0.0" + through2 "^0.6.1" + vinyl "^0.4.0" + +vinyl-sourcemaps-apply@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.1.4.tgz#c5fcbd43e2f238423c2dc98bddd6f79b72bc345b" + dependencies: + source-map "^0.1.39" + +vinyl-sourcemaps-apply@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz#ab6549d61d172c2b1b87be5c508d239c8ef87705" + dependencies: + source-map "^0.5.1" + +vinyl@^0.2.1: + version "0.2.3" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.2.3.tgz#bca938209582ec5a49ad538a00fa1f125e513252" + dependencies: + clone-stats "~0.0.1" + +vinyl@^0.4.0: + version "0.4.6" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.4.6.tgz#2f356c87a550a255461f36bbeb2a5ba8bf784847" + dependencies: + clone "^0.2.0" + clone-stats "^0.0.1" + +vinyl@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.5.3.tgz#b0455b38fc5e0cf30d4325132e461970c2091cde" + dependencies: + clone "^1.0.0" + clone-stats "^0.0.1" + replace-ext "0.0.1" + +void-elements@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec" + +webdriver-manager@^10.2.2: + version "10.2.3" + resolved "https://registry.yarnpkg.com/webdriver-manager/-/webdriver-manager-10.2.3.tgz#b79f57afb26363712bd7bc082759110c27052bf7" + dependencies: + adm-zip "^0.4.7" + chalk "^1.1.1" + del "^2.2.0" + glob "^7.0.3" + ini "^1.3.4" + minimist "^1.2.0" + q "^1.4.1" + request "^2.69.0" + rimraf "^2.5.2" + +websocket-driver@>=0.3.6: + version "0.6.5" + resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.6.5.tgz#5cb2556ceb85f4373c6d8238aa691c8454e13a36" + dependencies: + websocket-extensions ">=0.1.1" + +websocket-extensions@>=0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.1.tgz#76899499c184b6ef754377c2dbb0cd6cb55d29e7" + +weinre@^2.0.0-pre-I0Z7U9OV: + version "2.0.0-pre-I0Z7U9OV" + resolved "https://registry.yarnpkg.com/weinre/-/weinre-2.0.0-pre-I0Z7U9OV.tgz#fef8aa223921f7b40bbbbd4c3ed4302f6fd0a813" + dependencies: + express "2.5.x" + nopt "3.0.x" + underscore "1.7.x" + +which-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" + +which@^1.2.1, which@^1.2.10, which@^1.2.9, which@~1.2.10, which@1: + version "1.2.11" + resolved "https://registry.yarnpkg.com/which/-/which-1.2.11.tgz#c8b2eeea6b8c1659fa7c1dd4fdaabe9533dc5e8b" + dependencies: + isexe "^1.1.1" + +wide-align@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.0.tgz#40edde802a71fea1f070da3e62dcda2e7add96ad" + dependencies: + string-width "^1.0.1" + +window-size@^0.1.2: + version "0.1.4" + resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.4.tgz#f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876" + +window-size@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.2.0.tgz#b4315bb4214a3d7058ebeee892e13fa24d98b075" + +wordwrap@~0.0.2: + version "0.0.3" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" + +wrap-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.0.0.tgz#7d30f8f873f9a5bbc3a64dabc8d177e071ae426f" + dependencies: + string-width "^1.0.1" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + +ws@^1.0.1, ws@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.1.tgz#082ddb6c641e85d4bb451f03d52f06eabdb1f018" + dependencies: + options ">=0.0.5" + ultron "1.0.x" + +ws@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-1.0.1.tgz#7d0b2a2e58cddd819039c29c9de65045e1b310e9" + dependencies: + options ">=0.0.5" + ultron "1.0.x" + +wtf-8@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wtf-8/-/wtf-8-1.0.0.tgz#392d8ba2d0f1c34d1ee2d630f15d0efb68e1048a" + +xml2js@0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.4.tgz#3111010003008ae19240eba17497b57c729c555d" + dependencies: + sax "0.6.x" + xmlbuilder ">=1.0.0" + +xmlbuilder@>=1.0.0: + version "8.2.2" + resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-8.2.2.tgz#69248673410b4ba42e1a6136551d2922335aa773" + +xmldom@^0.1.22: + version "0.1.22" + resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.22.tgz#10de4e5e964981f03c8cc72fadc08d14b6c3aa26" + +xmlhttprequest-ssl@1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.1.tgz#3b7741fea4a86675976e908d296d4445961faa67" + +xtend@^4.0.0, "xtend@>=4.0.0 <4.1.0-0", xtend@~4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + +xtend@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-3.0.0.tgz#5cce7407baf642cba7becda568111c493f59665a" + +y18n@^3.2.0, y18n@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" + +yallist@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.0.0.tgz#306c543835f09ee1a4cb23b7bce9ab341c91cdd4" + +yargs-parser@^2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-2.4.1.tgz#85568de3cf150ff49fa51825f03a8c880ddcc5c4" + dependencies: + camelcase "^3.0.0" + lodash.assign "^4.0.6" + +yargs-parser@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.0.2.tgz#7f7173a8c7cca1d81dc7c18692fc07c2c2e2b1e0" + dependencies: + camelcase "^3.0.0" + +yargs@^4.7.1: + version "4.8.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-4.8.1.tgz#c0c42924ca4aaa6b0e6da1739dfb216439f9ddc0" + dependencies: + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + lodash.assign "^4.0.3" + os-locale "^1.4.0" + read-pkg-up "^1.0.1" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^1.0.1" + which-module "^1.0.0" + window-size "^0.2.0" + y18n "^3.2.1" + yargs-parser "^2.4.1" + +yargs@3.29.0: + version "3.29.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.29.0.tgz#1aab9660eae79d8b8f675bcaeeab6ee34c2cf69c" + dependencies: + camelcase "^1.2.1" + cliui "^3.0.3" + decamelize "^1.0.0" + os-locale "^1.4.0" + window-size "^0.1.2" + y18n "^3.2.0" + +yargs@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.0.0.tgz#900479df4e8bf6ab0e87216f5ed2b2760b968345" + dependencies: + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^1.4.0" + read-pkg-up "^1.0.1" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^1.0.2" + which-module "^1.0.0" + window-size "^0.2.0" + y18n "^3.2.1" + yargs-parser "^4.0.2" + +yauzl@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.4.1.tgz#9528f442dab1b2284e58b4379bb194e22e0c4005" + dependencies: + fd-slicer "~1.0.1" + +yeast@0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419" +