├── .gitignore ├── screenshots ├── bounce_animation.gif └── shake_animation.gif ├── dist ├── formAnimation.min.js └── formAnimation.js ├── Gruntfile.js ├── src └── formAnimation.js ├── LICENSE ├── demo ├── shake │ ├── shake.js │ └── shake.html ├── bounce │ ├── bounce.js │ └── bounce.html └── style.css ├── package.json ├── README.md ├── vendor ├── jquery-validation │ ├── additional-methods.min.js │ └── jquery.validate.min.js └── animate │ └── animate.css └── npm-debug.log /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /screenshots/bounce_animation.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nnluukhtn/formAnimation/HEAD/screenshots/bounce_animation.gif -------------------------------------------------------------------------------- /screenshots/shake_animation.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nnluukhtn/formAnimation/HEAD/screenshots/shake_animation.gif -------------------------------------------------------------------------------- /dist/formAnimation.min.js: -------------------------------------------------------------------------------- 1 | /*! formAnimation 17-04-2016 */ 2 | !function(a){a.fn.formAnimation=function(b){var c=this;if(!c.length)return void(b&&b.debug&&window.console&&console.warn("Nothing selected, can't validate, returning nothing."));var d=b.invalidEvent||"invalid-form.validate",e="animated "+b.animatedClass,f=function(){a(c).on(d,function(b){a(c).addClass(e)})},g=function(){a(c).find('input[type="submit"]').click(function(b){a(c).removeClass(e)})};g(),f()}}(jQuery); -------------------------------------------------------------------------------- /Gruntfile.js: -------------------------------------------------------------------------------- 1 | module.exports = function(grunt) { 2 | 3 | grunt.initConfig({ 4 | pkg: grunt.file.readJSON('package.json'), 5 | concat: { 6 | options: { 7 | separator: ';' 8 | }, 9 | dist: { 10 | src: ['src/**/*.js'], 11 | dest: 'dist/<%= pkg.name %>.js' 12 | } 13 | }, 14 | uglify: { 15 | options: { 16 | banner: '/*! <%= pkg.name %> <%= grunt.template.today("dd-mm-yyyy") %> */\n' 17 | }, 18 | dist: { 19 | files: { 20 | 'dist/<%= pkg.name %>.min.js': ['<%= concat.dist.dest %>'] 21 | } 22 | } 23 | }, 24 | watch: { 25 | files: ['<%= jshint.files %>'], 26 | tasks: ['jshint', 'qunit'] 27 | } 28 | }); 29 | 30 | grunt.loadNpmTasks('grunt-contrib-uglify'); 31 | grunt.loadNpmTasks('grunt-contrib-jshint'); 32 | grunt.loadNpmTasks('grunt-contrib-qunit'); 33 | grunt.loadNpmTasks('grunt-contrib-watch'); 34 | grunt.loadNpmTasks('grunt-contrib-concat'); 35 | 36 | grunt.registerTask('default', ['concat', 'uglify']); 37 | 38 | }; 39 | -------------------------------------------------------------------------------- /dist/formAnimation.js: -------------------------------------------------------------------------------- 1 | (function($){ 2 | $.fn.formAnimation = function(options) { 3 | var _this = this; 4 | 5 | // If nothing is selected, return nothing; can't chain anyway, references: https://github.com/jzaefferer/jquery-validation/blob/master/src/core.js#L6-L12 6 | if ( !_this.length ) { 7 | if ( options && options.debug && window.console ) { 8 | console.warn("Nothing selected, can't validate, returning nothing."); 9 | } 10 | return; 11 | } 12 | 13 | var invalidEvent = options.invalidEvent || 'invalid-form.validate'; 14 | var animatedClasses = 'animated' + ' ' + options.animatedClass; 15 | 16 | var bindingInvalidEvent = function() { 17 | $(_this).on(invalidEvent, function(_event) { 18 | $(_this).addClass(animatedClasses); 19 | }); 20 | }; 21 | 22 | var bindingSubmitClickEvent = function() { 23 | $(_this).find('input[type="submit"]').click(function(_event) { 24 | $(_this).removeClass(animatedClasses); 25 | }); 26 | }; 27 | 28 | bindingSubmitClickEvent(); 29 | bindingInvalidEvent(); 30 | }; 31 | }(jQuery)); 32 | -------------------------------------------------------------------------------- /src/formAnimation.js: -------------------------------------------------------------------------------- 1 | (function($){ 2 | $.fn.formAnimation = function(options) { 3 | var _this = this; 4 | 5 | // If nothing is selected, return nothing; can't chain anyway, references: https://github.com/jzaefferer/jquery-validation/blob/master/src/core.js#L6-L12 6 | if ( !_this.length ) { 7 | if ( options && options.debug && window.console ) { 8 | console.warn("Nothing selected, can't validate, returning nothing."); 9 | } 10 | return; 11 | } 12 | 13 | var invalidEvent = options.invalidEvent || 'invalid-form.validate'; 14 | var animatedClasses = 'animated' + ' ' + options.animatedClass; 15 | 16 | var bindingInvalidEvent = function() { 17 | $(_this).on(invalidEvent, function(_event) { 18 | $(_this).addClass(animatedClasses); 19 | }); 20 | }; 21 | 22 | var bindingSubmitClickEvent = function() { 23 | $(_this).find('input[type="submit"]').click(function(_event) { 24 | $(_this).removeClass(animatedClasses); 25 | }); 26 | }; 27 | 28 | bindingSubmitClickEvent(); 29 | bindingInvalidEvent(); 30 | }; 31 | }(jQuery)); 32 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Luu Nguyen 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /demo/shake/shake.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function(){ 2 | $('#form1').validate({ 3 | rules: { 4 | username: { 5 | minlength: 3, 6 | maxlength: 20, 7 | required: true 8 | }, 9 | email: { 10 | email: true, 11 | required: true 12 | }, 13 | password: { 14 | minlength: 5, 15 | required: true 16 | }, 17 | payment: { 18 | required: true 19 | } 20 | }, 21 | highlight: function(element) { 22 | $(element).closest('.form-group').removeClass('has-success').addClass('has-error') 23 | $(element).closest('.form-group').removeClass('has-success').addClass('has-error'); 24 | }, 25 | unhighlight: function(element) { 26 | $(element).closest('.form-group').removeClass('has-error').addClass('has-success'); 27 | } 28 | }); 29 | 30 | $('#form1').formAnimation({ animatedClass: 'shake' }); 31 | 32 | // $('#form1').on('invalid-form.validate', function(e) { 33 | // $(this).addClass('animated jello'); 34 | // }); 35 | // 36 | // $('.submit input').click(function() { 37 | // $('#form1.animated').removeClass('animated jello'); 38 | // }); 39 | }); 40 | -------------------------------------------------------------------------------- /demo/bounce/bounce.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function(){ 2 | $('#form1').validate({ 3 | rules: { 4 | username: { 5 | minlength: 3, 6 | maxlength: 20, 7 | required: true 8 | }, 9 | email: { 10 | email: true, 11 | required: true 12 | }, 13 | password: { 14 | minlength: 5, 15 | required: true 16 | }, 17 | payment: { 18 | required: true 19 | } 20 | }, 21 | highlight: function(element) { 22 | $(element).closest('.form-group').removeClass('has-success').addClass('has-error') 23 | $(element).closest('.form-group').removeClass('has-success').addClass('has-error'); 24 | }, 25 | unhighlight: function(element) { 26 | $(element).closest('.form-group').removeClass('has-error').addClass('has-success'); 27 | } 28 | }); 29 | 30 | $('#form1').formAnimation({ animatedClass: 'bounce' }); 31 | 32 | // $('#form1').on('invalid-form.validate', function(e) { 33 | // $(this).addClass('animated jello'); 34 | // }); 35 | // 36 | // $('.submit input').click(function() { 37 | // $('#form1.animated').removeClass('animated jello'); 38 | // }); 39 | }); 40 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "formAnimation", 3 | "title": "jQuery Form Animation Plugin", 4 | "description": "Form validation <3 animate.css", 5 | "version": "0.0.1", 6 | "homepage": "https://github.com/nnluukhtn/formAnimation", 7 | "license": "MIT", 8 | "author": { 9 | "name": "Luu Nguyen", 10 | "email": "nnluukhtn@gmail.com", 11 | "url": "http://nnluukhtn.github.io" 12 | }, 13 | "repository": { 14 | "type": "git", 15 | "url": "git://github.com/nnluukhtn/formAnimation.git" 16 | }, 17 | "bugs": { 18 | "url": "https://github.com/nnluukhtn/formAnimation/issues" 19 | }, 20 | "licenses": [ 21 | { 22 | "type": "MIT", 23 | "url": "http://www.opensource.org/licenses/MIT" 24 | } 25 | ], 26 | "scripts": { 27 | "test": "grunt", 28 | "prepublish": "grunt" 29 | }, 30 | "files": [ 31 | "dist/jquery.formAnimation.js" 32 | ], 33 | "main": "dist/jquery.formAnimation.js", 34 | "dependencies": { 35 | "jquery": "^1.7 || ^2.0" 36 | }, 37 | "devDependencies": { 38 | "commitplease": "^2.2.3", 39 | "grunt": "^0.4.4", 40 | "grunt-contrib-compress": "^0.7", 41 | "grunt-contrib-concat": "^0.3", 42 | "grunt-contrib-copy": "^0.5", 43 | "grunt-contrib-jshint": "^0.11.3", 44 | "grunt-contrib-qunit": "^0.4", 45 | "grunt-contrib-uglify": "^0.4", 46 | "grunt-contrib-watch": "^0.6", 47 | "grunt-jscs": "^2.2", 48 | "grunt-text-replace": "^0.3.11" 49 | }, 50 | "keywords": [ 51 | "jquery", 52 | "jquery-plugin", 53 | "forms", 54 | "validation", 55 | "validate", 56 | "animation", 57 | "animate" 58 | ] 59 | } 60 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [jQuery Form Animation Plugin](https://github.com/nnluukhtn/formAnimation) - Form Animation: when form validation <3 animate.css 2 | ================================ 3 | 4 | The jQuery Form Animation Plugin provides drop-in animation for your existing forms, while making all kinds of customizations to fit your application really easy. 5 | 6 | ![Screenshot](screenshots/shake_animation.gif) 7 | 8 | ![Screenshot](screenshots/bounce_animation.gif) 9 | 10 | ## Getting Started 11 | 12 | ### Downloading the required libraries 13 | 14 | jQuery can be downloaded from https://jquery.com/ 15 | 16 | jQuery Validation Plugin can be downloaded from http://jqueryvalidation.org/ 17 | 18 | Animate.css can be downloaded from https://daneden.github.io/animate.css/ 19 | 20 | ### Including it on your page 21 | 22 | Include jQuery and the plugin on a page. Then select a form to add animation and call the `formAnimation` method. 23 | 24 | ```html 25 | 26 | 27 | 28 | ... 29 | 30 |
31 | 32 |
33 | 34 | 35 | 36 | 39 | 40 | ``` 41 | 42 | Alternatively include jQuery and the plugin via requirejs in your module. 43 | 44 | ```js 45 | define(["jquery", "jquery.validate", "formAnimation"], function( $ ) { 46 | $("form").formAnimation({ animatedClass: 'shake' }); 47 | }); 48 | ``` 49 | 50 | ## Reporting issues and contributing code 51 | 52 | Bug reports and pull requests are welcome on GitHub at https://github.com/nnluukhtn/formAnimation. 53 | 54 | ## License 55 | Copyright © Luu Nguyen
56 | Licensed under the MIT license. 57 | -------------------------------------------------------------------------------- /demo/shake/shake.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Form Animations 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 |
16 |

FORM ANIMATION

17 |

SHAKE ANIMATION

18 |
19 |
20 |
21 | 22 |
23 |
24 |
25 | 26 | 27 |
28 |
29 | 30 |
31 |
32 |
33 | 34 |
35 |
36 | 37 |
38 |
39 |
40 | 41 |
42 |
43 | 44 |
45 |
46 |
47 | 48 | 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /demo/bounce/bounce.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Form Animations 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 |
16 |

FORM ANIMATION

17 |

BOUNCE ANIMATION

18 |
19 |
20 |
21 | 22 |
23 |
24 |
25 | 26 | 27 |
28 |
29 | 30 |
31 |
32 |
33 | 34 |
35 |
36 | 37 |
38 |
39 |
40 | 41 |
42 |
43 | 44 |
45 |
46 |
47 | 48 | 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /demo/style.css: -------------------------------------------------------------------------------- 1 | * { 2 | outline: none !important; } 3 | 4 | html, body { 5 | width: 100%; 6 | height: 100%; } 7 | 8 | body { 9 | padding: 3em 15px; 10 | background-image: -webkit-radial-gradient(closest-corner, rgba(16, 47, 70, 0) 60%, rgba(16, 47, 70, 0.26)), -webkit-linear-gradient(108deg, #26d0ce, #1a2980 90%); 11 | background-image: -moz-radial-gradient(closest-corner, rgba(16, 47, 70, 0) 60%, rgba(16, 47, 70, 0.26)), -moz-linear-gradient(108deg, #26d0ce, #1a2980 90%); 12 | background-image: -ms-radial-gradient(closest-corner, rgba(16, 47, 70, 0) 60%, rgba(16, 47, 70, 0.26)), -ms-linear-gradient(108deg, #26d0ce, #1a2980 90%); 13 | display: table; 14 | font-family: "Raleway", sans-serif; } 15 | 16 | .wrapper { 17 | display: table-cell; 18 | vertical-align: middle; } 19 | 20 | .form-header { 21 | text-align: center; 22 | color: white; } 23 | .form-header .fa { 24 | font-size: 48px; 25 | margin-bottom: 5px; } 26 | .form-header h1 { 27 | font-weight: 300; 28 | margin-bottom: 15px; 29 | letter-spacing: 0.3em; 30 | font-size: 24px; } 31 | 32 | .form-header h2 { 33 | font-weight: 300; 34 | margin-bottom: 30px; 35 | letter-spacing: 0.3em; 36 | font-size: 20px; } 37 | 38 | .has-feedback .form-control-feedback { 39 | top: 4px; 40 | width: 40px; 41 | font-size: 18px; 42 | color: #6fd653; 43 | opacity: 0; } 44 | 45 | form { 46 | max-width: 400px; 47 | margin: 0 auto; 48 | background-color: #f6f6f6; 49 | padding: 30px 25px 0; 50 | border-radius: 5px; 51 | box-shadow: 0 5px 15px rgba(0, 0, 0, 0.25); 52 | text-align: center; } 53 | form .form-group { 54 | margin-bottom: 20px; } 55 | form .form-group .input-group-addon { 56 | height: 44px; 57 | width: 44px; 58 | padding-top: 15px; 59 | position: absolute; 60 | left: 0; 61 | top: 0; 62 | border: 0; 63 | background-color: transparent; } 64 | form .form-group .input-group-addon .glyphicon { 65 | font-size: 15px; } 66 | form .form-group .form-control { 67 | height: 44px; 68 | padding: 12px; 69 | padding-left: 46px; 70 | background-color: white; 71 | font-weight: 500; } 72 | form .form-group.has-error label { 73 | color: #d9534f; } 74 | form .form-group.has-error label.error { 75 | margin-top: 10px; 76 | margin-bottom: 0; 77 | font-weight: 400; 78 | font-size: 13px; } 79 | form .form-group.has-error input, form .form-group.has-error textarea { 80 | border-color: #d9534f; } 81 | form .form-group.has-error input:focus, form .form-group.has-error textarea:focus { 82 | border-color: #d9534f; 83 | box-shadow: 0 0 6px #d9534f; } 84 | form .form-group.has-error .input-group-addon { 85 | color: #d9534f; } 86 | form .form-group.has-success label { 87 | color: #6fd653; } 88 | form .form-group.has-success input, form .form-group.has-success textarea { 89 | border-color: #6fd653; } 90 | form .form-group.has-success input:focus, form .form-group.has-success textarea:focus { 91 | border-color: #6fd653; 92 | box-shadow: 0 0 6px #6fd653; } 93 | form .form-group.has-success .input-group-addon { 94 | color: #6fd653; } 95 | form .form-group.has-success .form-control-feedback { 96 | opacity: 1; } 97 | form .form-group.submit { 98 | margin: 35px -25px 0; } 99 | form .form-group.submit input[type="submit"] { 100 | display: block; 101 | width: 100%; 102 | font-size: 18px; 103 | letter-spacing: 0.4em; 104 | border-radius: 0 0 4px 4px; 105 | border: 0; 106 | padding: 20px 0 22px; 107 | background-color: #3ac56e; 108 | color: white; 109 | font-weight: 500; 110 | -webkit-transition: all 0.4s; 111 | -moz-transition: all 0.4s; 112 | transition: all 0.4s; } 113 | form .form-group.submit input[type="submit"].disabled { 114 | background-color: #999999; } 115 | 116 | form.animate-form .has-feedback .form-control-feedback { 117 | opacity: 1; 118 | -webkit-transform: scale(0); 119 | -moz-transform: scale(0); 120 | -ms-transform: scale(0); 121 | -o-transform: scale(0); 122 | transform: scale(0); 123 | -webkit-transition: all 0.25s cubic-bezier(0.035, 1.22, 0.645, 1.385); 124 | -moz-transition: all 0.25s cubic-bezier(0.035, 1.22, 0.645, 1.385); 125 | transition: all 0.25s cubic-bezier(0.035, 1.22, 0.645, 1.385); } 126 | form.animate-form .form-group.has-success .form-control-feedback { 127 | -webkit-transform: scale(1); 128 | -moz-transform: scale(1); 129 | -ms-transform: scale(1); 130 | -o-transform: scale(1); 131 | transform: scale(1); } 132 | -------------------------------------------------------------------------------- /vendor/jquery-validation/additional-methods.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery Validation Plugin - v1.14.0 - 6/30/2015 2 | * http://jqueryvalidation.org/ 3 | * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */ 4 | !function(a){"function"==typeof define&&define.amd?define(["jquery","./jquery.validate.min"],a):a(jQuery)}(function(a){!function(){function b(a){return a.replace(/<.[^<>]*?>/g," ").replace(/ | /gi," ").replace(/[.(),;:!?%#$'\"_+=\/\-“”’]*/g,"")}a.validator.addMethod("maxWords",function(a,c,d){return this.optional(c)||b(a).match(/\b\w+\b/g).length<=d},a.validator.format("Please enter {0} words or less.")),a.validator.addMethod("minWords",function(a,c,d){return this.optional(c)||b(a).match(/\b\w+\b/g).length>=d},a.validator.format("Please enter at least {0} words.")),a.validator.addMethod("rangeWords",function(a,c,d){var e=b(a),f=/\b\w+\b/g;return this.optional(c)||e.match(f).length>=d[0]&&e.match(f).length<=d[1]},a.validator.format("Please enter between {0} and {1} words."))}(),a.validator.addMethod("accept",function(b,c,d){var e,f,g="string"==typeof d?d.replace(/\s/g,"").replace(/,/g,"|"):"image/*",h=this.optional(c);if(h)return h;if("file"===a(c).attr("type")&&(g=g.replace(/\*/g,".*"),c.files&&c.files.length))for(e=0;ec;c++)d=h-c,e=f.substring(c,c+1),g+=d*e;return g%11===0},"Please specify a valid bank account number"),a.validator.addMethod("bankorgiroaccountNL",function(b,c){return this.optional(c)||a.validator.methods.bankaccountNL.call(this,b,c)||a.validator.methods.giroaccountNL.call(this,b,c)},"Please specify a valid bank or giro account number"),a.validator.addMethod("bic",function(a,b){return this.optional(b)||/^([A-Z]{6}[A-Z2-9][A-NP-Z1-2])(X{3}|[A-WY-Z0-9][A-Z0-9]{2})?$/.test(a)},"Please specify a valid BIC code"),a.validator.addMethod("cifES",function(a){"use strict";var b,c,d,e,f,g,h=[];if(a=a.toUpperCase(),!a.match("((^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$|^[T]{1}[A-Z0-9]{8}$)|^[0-9]{8}[A-Z]{1}$)"))return!1;for(d=0;9>d;d++)h[d]=parseInt(a.charAt(d),10);for(c=h[2]+h[4]+h[6],e=1;8>e;e+=2)f=(2*h[e]).toString(),g=f.charAt(1),c+=parseInt(f.charAt(0),10)+(""===g?0:parseInt(g,10));return/^[ABCDEFGHJNPQRSUVW]{1}/.test(a)?(c+="",b=10-parseInt(c.charAt(c.length-1),10),a+=b,h[8].toString()===String.fromCharCode(64+b)||h[8].toString()===a.charAt(a.length-1)):!1},"Please specify a valid CIF number."),a.validator.addMethod("cpfBR",function(a){if(a=a.replace(/([~!@#$%^&*()_+=`{}\[\]\-|\\:;'<>,.\/? ])+/g,""),11!==a.length)return!1;var b,c,d,e,f=0;if(b=parseInt(a.substring(9,10),10),c=parseInt(a.substring(10,11),10),d=function(a,b){var c=10*a%11;return(10===c||11===c)&&(c=0),c===b},""===a||"00000000000"===a||"11111111111"===a||"22222222222"===a||"33333333333"===a||"44444444444"===a||"55555555555"===a||"66666666666"===a||"77777777777"===a||"88888888888"===a||"99999999999"===a)return!1;for(e=1;9>=e;e++)f+=parseInt(a.substring(e-1,e),10)*(11-e);if(d(f,b)){for(f=0,e=1;10>=e;e++)f+=parseInt(a.substring(e-1,e),10)*(12-e);return d(f,c)}return!1},"Please specify a valid CPF number"),a.validator.addMethod("creditcardtypes",function(a,b,c){if(/[^0-9\-]+/.test(a))return!1;a=a.replace(/\D/g,"");var d=0;return c.mastercard&&(d|=1),c.visa&&(d|=2),c.amex&&(d|=4),c.dinersclub&&(d|=8),c.enroute&&(d|=16),c.discover&&(d|=32),c.jcb&&(d|=64),c.unknown&&(d|=128),c.all&&(d=255),1&d&&/^(5[12345])/.test(a)?16===a.length:2&d&&/^(4)/.test(a)?16===a.length:4&d&&/^(3[47])/.test(a)?15===a.length:8&d&&/^(3(0[012345]|[68]))/.test(a)?14===a.length:16&d&&/^(2(014|149))/.test(a)?15===a.length:32&d&&/^(6011)/.test(a)?16===a.length:64&d&&/^(3)/.test(a)?16===a.length:64&d&&/^(2131|1800)/.test(a)?15===a.length:128&d?!0:!1},"Please enter a valid credit card number."),a.validator.addMethod("currency",function(a,b,c){var d,e="string"==typeof c,f=e?c:c[0],g=e?!0:c[1];return f=f.replace(/,/g,""),f=g?f+"]":f+"]?",d="^["+f+"([1-9]{1}[0-9]{0,2}(\\,[0-9]{3})*(\\.[0-9]{0,2})?|[1-9]{1}[0-9]{0,}(\\.[0-9]{0,2})?|0(\\.[0-9]{0,2})?|(\\.[0-9]{1,2})?)$",d=new RegExp(d),this.optional(b)||d.test(a)},"Please specify a valid currency"),a.validator.addMethod("dateFA",function(a,b){return this.optional(b)||/^[1-4]\d{3}\/((0?[1-6]\/((3[0-1])|([1-2][0-9])|(0?[1-9])))|((1[0-2]|(0?[7-9]))\/(30|([1-2][0-9])|(0?[1-9]))))$/.test(a)},a.validator.messages.date),a.validator.addMethod("dateITA",function(a,b){var c,d,e,f,g,h=!1,i=/^\d{1,2}\/\d{1,2}\/\d{4}$/;return i.test(a)?(c=a.split("/"),d=parseInt(c[0],10),e=parseInt(c[1],10),f=parseInt(c[2],10),g=new Date(Date.UTC(f,e-1,d,12,0,0,0)),h=g.getUTCFullYear()===f&&g.getUTCMonth()===e-1&&g.getUTCDate()===d?!0:!1):h=!1,this.optional(b)||h},a.validator.messages.date),a.validator.addMethod("dateNL",function(a,b){return this.optional(b)||/^(0?[1-9]|[12]\d|3[01])[\.\/\-](0?[1-9]|1[012])[\.\/\-]([12]\d)?(\d\d)$/.test(a)},a.validator.messages.date),a.validator.addMethod("extension",function(a,b,c){return c="string"==typeof c?c.replace(/,/g,"|"):"png|jpe?g|gif",this.optional(b)||a.match(new RegExp("\\.("+c+")$","i"))},a.validator.format("Please enter a value with a valid extension.")),a.validator.addMethod("giroaccountNL",function(a,b){return this.optional(b)||/^[0-9]{1,7}$/.test(a)},"Please specify a valid giro account number"),a.validator.addMethod("iban",function(a,b){if(this.optional(b))return!0;var c,d,e,f,g,h,i,j,k,l=a.replace(/ /g,"").toUpperCase(),m="",n=!0,o="",p="";if(c=l.substring(0,2),h={AL:"\\d{8}[\\dA-Z]{16}",AD:"\\d{8}[\\dA-Z]{12}",AT:"\\d{16}",AZ:"[\\dA-Z]{4}\\d{20}",BE:"\\d{12}",BH:"[A-Z]{4}[\\dA-Z]{14}",BA:"\\d{16}",BR:"\\d{23}[A-Z][\\dA-Z]",BG:"[A-Z]{4}\\d{6}[\\dA-Z]{8}",CR:"\\d{17}",HR:"\\d{17}",CY:"\\d{8}[\\dA-Z]{16}",CZ:"\\d{20}",DK:"\\d{14}",DO:"[A-Z]{4}\\d{20}",EE:"\\d{16}",FO:"\\d{14}",FI:"\\d{14}",FR:"\\d{10}[\\dA-Z]{11}\\d{2}",GE:"[\\dA-Z]{2}\\d{16}",DE:"\\d{18}",GI:"[A-Z]{4}[\\dA-Z]{15}",GR:"\\d{7}[\\dA-Z]{16}",GL:"\\d{14}",GT:"[\\dA-Z]{4}[\\dA-Z]{20}",HU:"\\d{24}",IS:"\\d{22}",IE:"[\\dA-Z]{4}\\d{14}",IL:"\\d{19}",IT:"[A-Z]\\d{10}[\\dA-Z]{12}",KZ:"\\d{3}[\\dA-Z]{13}",KW:"[A-Z]{4}[\\dA-Z]{22}",LV:"[A-Z]{4}[\\dA-Z]{13}",LB:"\\d{4}[\\dA-Z]{20}",LI:"\\d{5}[\\dA-Z]{12}",LT:"\\d{16}",LU:"\\d{3}[\\dA-Z]{13}",MK:"\\d{3}[\\dA-Z]{10}\\d{2}",MT:"[A-Z]{4}\\d{5}[\\dA-Z]{18}",MR:"\\d{23}",MU:"[A-Z]{4}\\d{19}[A-Z]{3}",MC:"\\d{10}[\\dA-Z]{11}\\d{2}",MD:"[\\dA-Z]{2}\\d{18}",ME:"\\d{18}",NL:"[A-Z]{4}\\d{10}",NO:"\\d{11}",PK:"[\\dA-Z]{4}\\d{16}",PS:"[\\dA-Z]{4}\\d{21}",PL:"\\d{24}",PT:"\\d{21}",RO:"[A-Z]{4}[\\dA-Z]{16}",SM:"[A-Z]\\d{10}[\\dA-Z]{12}",SA:"\\d{2}[\\dA-Z]{18}",RS:"\\d{18}",SK:"\\d{20}",SI:"\\d{15}",ES:"\\d{20}",SE:"\\d{20}",CH:"\\d{5}[\\dA-Z]{12}",TN:"\\d{20}",TR:"\\d{5}[\\dA-Z]{17}",AE:"\\d{3}\\d{16}",GB:"[A-Z]{4}\\d{14}",VG:"[\\dA-Z]{4}\\d{16}"},g=h[c],"undefined"!=typeof g&&(i=new RegExp("^[A-Z]{2}\\d{2}"+g+"$",""),!i.test(l)))return!1;for(d=l.substring(4,l.length)+l.substring(0,4),j=0;j9&&a.match(/^(?:(?:(?:00\s?|\+)44\s?|0)7(?:[1345789]\d{2}|624)\s?\d{3}\s?\d{3})$/)},"Please specify a valid mobile number"),a.validator.addMethod("nieES",function(a){"use strict";return a=a.toUpperCase(),a.match("((^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$|^[T]{1}[A-Z0-9]{8}$)|^[0-9]{8}[A-Z]{1}$)")?/^[T]{1}/.test(a)?a[8]===/^[T]{1}[A-Z0-9]{8}$/.test(a):/^[XYZ]{1}/.test(a)?a[8]==="TRWAGMYFPDXBNJZSQVHLCKE".charAt(a.replace("X","0").replace("Y","1").replace("Z","2").substring(0,8)%23):!1:!1},"Please specify a valid NIE number."),a.validator.addMethod("nifES",function(a){"use strict";return a=a.toUpperCase(),a.match("((^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$|^[T]{1}[A-Z0-9]{8}$)|^[0-9]{8}[A-Z]{1}$)")?/^[0-9]{8}[A-Z]{1}$/.test(a)?"TRWAGMYFPDXBNJZSQVHLCKE".charAt(a.substring(8,0)%23)===a.charAt(8):/^[KLM]{1}/.test(a)?a[8]===String.fromCharCode(64):!1:!1},"Please specify a valid NIF number."),jQuery.validator.addMethod("notEqualTo",function(b,c,d){return this.optional(c)||!a.validator.methods.equalTo.call(this,b,c,d)},"Please enter a different value, values must not be the same."),a.validator.addMethod("nowhitespace",function(a,b){return this.optional(b)||/^\S+$/i.test(a)},"No white space please"),a.validator.addMethod("pattern",function(a,b,c){return this.optional(b)?!0:("string"==typeof c&&(c=new RegExp("^(?:"+c+")$")),c.test(a))},"Invalid format."),a.validator.addMethod("phoneNL",function(a,b){return this.optional(b)||/^((\+|00(\s|\s?\-\s?)?)31(\s|\s?\-\s?)?(\(0\)[\-\s]?)?|0)[1-9]((\s|\s?\-\s?)?[0-9]){8}$/.test(a)},"Please specify a valid phone number."),a.validator.addMethod("phoneUK",function(a,b){return a=a.replace(/\(|\)|\s+|-/g,""),this.optional(b)||a.length>9&&a.match(/^(?:(?:(?:00\s?|\+)44\s?)|(?:\(?0))(?:\d{2}\)?\s?\d{4}\s?\d{4}|\d{3}\)?\s?\d{3}\s?\d{3,4}|\d{4}\)?\s?(?:\d{5}|\d{3}\s?\d{3})|\d{5}\)?\s?\d{4,5})$/)},"Please specify a valid phone number"),a.validator.addMethod("phoneUS",function(a,b){return a=a.replace(/\s+/g,""),this.optional(b)||a.length>9&&a.match(/^(\+?1-?)?(\([2-9]([02-9]\d|1[02-9])\)|[2-9]([02-9]\d|1[02-9]))-?[2-9]([02-9]\d|1[02-9])-?\d{4}$/)},"Please specify a valid phone number"),a.validator.addMethod("phonesUK",function(a,b){return a=a.replace(/\(|\)|\s+|-/g,""),this.optional(b)||a.length>9&&a.match(/^(?:(?:(?:00\s?|\+)44\s?|0)(?:1\d{8,9}|[23]\d{9}|7(?:[1345789]\d{8}|624\d{6})))$/)},"Please specify a valid uk phone number"),a.validator.addMethod("postalCodeCA",function(a,b){return this.optional(b)||/^[ABCEGHJKLMNPRSTVXY]\d[A-Z] \d[A-Z]\d$/.test(a)},"Please specify a valid postal code"),a.validator.addMethod("postalcodeBR",function(a,b){return this.optional(b)||/^\d{2}.\d{3}-\d{3}?$|^\d{5}-?\d{3}?$/.test(a)},"Informe um CEP válido."),a.validator.addMethod("postalcodeIT",function(a,b){return this.optional(b)||/^\d{5}$/.test(a)},"Please specify a valid postal code"),a.validator.addMethod("postalcodeNL",function(a,b){return this.optional(b)||/^[1-9][0-9]{3}\s?[a-zA-Z]{2}$/.test(a)},"Please specify a valid postal code"),a.validator.addMethod("postcodeUK",function(a,b){return this.optional(b)||/^((([A-PR-UWYZ][0-9])|([A-PR-UWYZ][0-9][0-9])|([A-PR-UWYZ][A-HK-Y][0-9])|([A-PR-UWYZ][A-HK-Y][0-9][0-9])|([A-PR-UWYZ][0-9][A-HJKSTUW])|([A-PR-UWYZ][A-HK-Y][0-9][ABEHMNPRVWXY]))\s?([0-9][ABD-HJLNP-UW-Z]{2})|(GIR)\s?(0AA))$/i.test(a)},"Please specify a valid UK postcode"),a.validator.addMethod("require_from_group",function(b,c,d){var e=a(d[1],c.form),f=e.eq(0),g=f.data("valid_req_grp")?f.data("valid_req_grp"):a.extend({},this),h=e.filter(function(){return g.elementValue(this)}).length>=d[0];return f.data("valid_req_grp",g),a(c).data("being_validated")||(e.data("being_validated",!0),e.each(function(){g.element(this)}),e.data("being_validated",!1)),h},a.validator.format("Please fill at least {0} of these fields.")),a.validator.addMethod("skip_or_fill_minimum",function(b,c,d){var e=a(d[1],c.form),f=e.eq(0),g=f.data("valid_skip")?f.data("valid_skip"):a.extend({},this),h=e.filter(function(){return g.elementValue(this)}).length,i=0===h||h>=d[0];return f.data("valid_skip",g),a(c).data("being_validated")||(e.data("being_validated",!0),e.each(function(){g.element(this)}),e.data("being_validated",!1)),i},a.validator.format("Please either skip these fields or fill at least {0} of them.")),a.validator.addMethod("stateUS",function(a,b,c){var d,e="undefined"==typeof c,f=e||"undefined"==typeof c.caseSensitive?!1:c.caseSensitive,g=e||"undefined"==typeof c.includeTerritories?!1:c.includeTerritories,h=e||"undefined"==typeof c.includeMilitary?!1:c.includeMilitary;return d=g||h?g&&h?"^(A[AEKLPRSZ]|C[AOT]|D[CE]|FL|G[AU]|HI|I[ADLN]|K[SY]|LA|M[ADEINOPST]|N[CDEHJMVY]|O[HKR]|P[AR]|RI|S[CD]|T[NX]|UT|V[AIT]|W[AIVY])$":g?"^(A[KLRSZ]|C[AOT]|D[CE]|FL|G[AU]|HI|I[ADLN]|K[SY]|LA|M[ADEINOPST]|N[CDEHJMVY]|O[HKR]|P[AR]|RI|S[CD]|T[NX]|UT|V[AIT]|W[AIVY])$":"^(A[AEKLPRZ]|C[AOT]|D[CE]|FL|GA|HI|I[ADLN]|K[SY]|LA|M[ADEINOST]|N[CDEHJMVY]|O[HKR]|PA|RI|S[CD]|T[NX]|UT|V[AT]|W[AIVY])$":"^(A[KLRZ]|C[AOT]|D[CE]|FL|GA|HI|I[ADLN]|K[SY]|LA|M[ADEINOST]|N[CDEHJMVY]|O[HKR]|PA|RI|S[CD]|T[NX]|UT|V[AT]|W[AIVY])$",d=f?new RegExp(d):new RegExp(d,"i"),this.optional(b)||d.test(a)},"Please specify a valid state"),a.validator.addMethod("strippedminlength",function(b,c,d){return a(b).text().length>=d},a.validator.format("Please enter at least {0} characters")),a.validator.addMethod("time",function(a,b){return this.optional(b)||/^([01]\d|2[0-3]|[0-9])(:[0-5]\d){1,2}$/.test(a)},"Please enter a valid time, between 00:00 and 23:59"),a.validator.addMethod("time12h",function(a,b){return this.optional(b)||/^((0?[1-9]|1[012])(:[0-5]\d){1,2}(\ ?[AP]M))$/i.test(a)},"Please enter a valid time in 12-hour am/pm format"),a.validator.addMethod("url2",function(a,b){return this.optional(b)||/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)*(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(a)},a.validator.messages.url),a.validator.addMethod("vinUS",function(a){if(17!==a.length)return!1;var b,c,d,e,f,g,h=["A","B","C","D","E","F","G","H","J","K","L","M","N","P","R","S","T","U","V","W","X","Y","Z"],i=[1,2,3,4,5,6,7,8,1,2,3,4,5,7,9,2,3,4,5,6,7,8,9],j=[8,7,6,5,4,3,2,10,0,9,8,7,6,5,4,3,2],k=0;for(b=0;17>b;b++){if(e=j[b],d=a.slice(b,b+1),8===b&&(g=d),isNaN(d)){for(c=0;c").attr("name",c.submitButton.name).val(a(c.submitButton).val()).appendTo(c.currentForm)),e=c.settings.submitHandler.call(c,c.currentForm,b),c.submitButton&&d.remove(),void 0!==e?e:!1):!0}return c.settings.debug&&b.preventDefault(),c.cancelSubmit?(c.cancelSubmit=!1,d()):c.form()?c.pendingRequest?(c.formSubmitted=!0,!1):d():(c.focusInvalid(),!1)})),c)},valid:function(){var b,c,d;return a(this[0]).is("form")?b=this.validate().form():(d=[],b=!0,c=a(this[0].form).validate(),this.each(function(){b=c.element(this)&&b,d=d.concat(c.errorList)}),c.errorList=d),b},rules:function(b,c){var d,e,f,g,h,i,j=this[0];if(b)switch(d=a.data(j.form,"validator").settings,e=d.rules,f=a.validator.staticRules(j),b){case"add":a.extend(f,a.validator.normalizeRule(c)),delete f.messages,e[j.name]=f,c.messages&&(d.messages[j.name]=a.extend(d.messages[j.name],c.messages));break;case"remove":return c?(i={},a.each(c.split(/\s/),function(b,c){i[c]=f[c],delete f[c],"required"===c&&a(j).removeAttr("aria-required")}),i):(delete e[j.name],f)}return g=a.validator.normalizeRules(a.extend({},a.validator.classRules(j),a.validator.attributeRules(j),a.validator.dataRules(j),a.validator.staticRules(j)),j),g.required&&(h=g.required,delete g.required,g=a.extend({required:h},g),a(j).attr("aria-required","true")),g.remote&&(h=g.remote,delete g.remote,g=a.extend(g,{remote:h})),g}}),a.extend(a.expr[":"],{blank:function(b){return!a.trim(""+a(b).val())},filled:function(b){return!!a.trim(""+a(b).val())},unchecked:function(b){return!a(b).prop("checked")}}),a.validator=function(b,c){this.settings=a.extend(!0,{},a.validator.defaults,b),this.currentForm=c,this.init()},a.validator.format=function(b,c){return 1===arguments.length?function(){var c=a.makeArray(arguments);return c.unshift(b),a.validator.format.apply(this,c)}:(arguments.length>2&&c.constructor!==Array&&(c=a.makeArray(arguments).slice(1)),c.constructor!==Array&&(c=[c]),a.each(c,function(a,c){b=b.replace(new RegExp("\\{"+a+"\\}","g"),function(){return c})}),b)},a.extend(a.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",validClass:"valid",errorElement:"label",focusCleanup:!1,focusInvalid:!0,errorContainer:a([]),errorLabelContainer:a([]),onsubmit:!0,ignore:":hidden",ignoreTitle:!1,onfocusin:function(a){this.lastActive=a,this.settings.focusCleanup&&(this.settings.unhighlight&&this.settings.unhighlight.call(this,a,this.settings.errorClass,this.settings.validClass),this.hideThese(this.errorsFor(a)))},onfocusout:function(a){this.checkable(a)||!(a.name in this.submitted)&&this.optional(a)||this.element(a)},onkeyup:function(b,c){var d=[16,17,18,20,35,36,37,38,39,40,45,144,225];9===c.which&&""===this.elementValue(b)||-1!==a.inArray(c.keyCode,d)||(b.name in this.submitted||b===this.lastElement)&&this.element(b)},onclick:function(a){a.name in this.submitted?this.element(a):a.parentNode.name in this.submitted&&this.element(a.parentNode)},highlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).addClass(c).removeClass(d):a(b).addClass(c).removeClass(d)},unhighlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).removeClass(c).addClass(d):a(b).removeClass(c).addClass(d)}},setDefaults:function(b){a.extend(a.validator.defaults,b)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date ( ISO ).",number:"Please enter a valid number.",digits:"Please enter only digits.",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",maxlength:a.validator.format("Please enter no more than {0} characters."),minlength:a.validator.format("Please enter at least {0} characters."),rangelength:a.validator.format("Please enter a value between {0} and {1} characters long."),range:a.validator.format("Please enter a value between {0} and {1}."),max:a.validator.format("Please enter a value less than or equal to {0}."),min:a.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:!1,prototype:{init:function(){function b(b){var c=a.data(this.form,"validator"),d="on"+b.type.replace(/^validate/,""),e=c.settings;e[d]&&!a(this).is(e.ignore)&&e[d].call(c,this,b)}this.labelContainer=a(this.settings.errorLabelContainer),this.errorContext=this.labelContainer.length&&this.labelContainer||a(this.currentForm),this.containers=a(this.settings.errorContainer).add(this.settings.errorLabelContainer),this.submitted={},this.valueCache={},this.pendingRequest=0,this.pending={},this.invalid={},this.reset();var c,d=this.groups={};a.each(this.settings.groups,function(b,c){"string"==typeof c&&(c=c.split(/\s/)),a.each(c,function(a,c){d[c]=b})}),c=this.settings.rules,a.each(c,function(b,d){c[b]=a.validator.normalizeRule(d)}),a(this.currentForm).on("focusin.validate focusout.validate keyup.validate",":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'], [type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], [type='radio'], [type='checkbox']",b).on("click.validate","select, option, [type='radio'], [type='checkbox']",b),this.settings.invalidHandler&&a(this.currentForm).on("invalid-form.validate",this.settings.invalidHandler),a(this.currentForm).find("[required], [data-rule-required], .required").attr("aria-required","true")},form:function(){return this.checkForm(),a.extend(this.submitted,this.errorMap),this.invalid=a.extend({},this.errorMap),this.valid()||a(this.currentForm).triggerHandler("invalid-form",[this]),this.showErrors(),this.valid()},checkForm:function(){this.prepareForm();for(var a=0,b=this.currentElements=this.elements();b[a];a++)this.check(b[a]);return this.valid()},element:function(b){var c=this.clean(b),d=this.validationTargetFor(c),e=!0;return this.lastElement=d,void 0===d?delete this.invalid[c.name]:(this.prepareElement(d),this.currentElements=a(d),e=this.check(d)!==!1,e?delete this.invalid[d.name]:this.invalid[d.name]=!0),a(b).attr("aria-invalid",!e),this.numberOfInvalids()||(this.toHide=this.toHide.add(this.containers)),this.showErrors(),e},showErrors:function(b){if(b){a.extend(this.errorMap,b),this.errorList=[];for(var c in b)this.errorList.push({message:b[c],element:this.findByName(c)[0]});this.successList=a.grep(this.successList,function(a){return!(a.name in b)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){a.fn.resetForm&&a(this.currentForm).resetForm(),this.submitted={},this.lastElement=null,this.prepareForm(),this.hideErrors();var b,c=this.elements().removeData("previousValue").removeAttr("aria-invalid");if(this.settings.unhighlight)for(b=0;c[b];b++)this.settings.unhighlight.call(this,c[b],this.settings.errorClass,"");else c.removeClass(this.settings.errorClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(a){var b,c=0;for(b in a)c++;return c},hideErrors:function(){this.hideThese(this.toHide)},hideThese:function(a){a.not(this.containers).text(""),this.addWrapper(a).hide()},valid:function(){return 0===this.size()},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{a(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(b){}},findLastActive:function(){var b=this.lastActive;return b&&1===a.grep(this.errorList,function(a){return a.element.name===b.name}).length&&b},elements:function(){var b=this,c={};return a(this.currentForm).find("input, select, textarea").not(":submit, :reset, :image, :disabled").not(this.settings.ignore).filter(function(){return!this.name&&b.settings.debug&&window.console&&console.error("%o has no name assigned",this),this.name in c||!b.objectLength(a(this).rules())?!1:(c[this.name]=!0,!0)})},clean:function(b){return a(b)[0]},errors:function(){var b=this.settings.errorClass.split(" ").join(".");return a(this.settings.errorElement+"."+b,this.errorContext)},reset:function(){this.successList=[],this.errorList=[],this.errorMap={},this.toShow=a([]),this.toHide=a([]),this.currentElements=a([])},prepareForm:function(){this.reset(),this.toHide=this.errors().add(this.containers)},prepareElement:function(a){this.reset(),this.toHide=this.errorsFor(a)},elementValue:function(b){var c,d=a(b),e=b.type;return"radio"===e||"checkbox"===e?this.findByName(b.name).filter(":checked").val():"number"===e&&"undefined"!=typeof b.validity?b.validity.badInput?!1:d.val():(c=d.val(),"string"==typeof c?c.replace(/\r/g,""):c)},check:function(b){b=this.validationTargetFor(this.clean(b));var c,d,e,f=a(b).rules(),g=a.map(f,function(a,b){return b}).length,h=!1,i=this.elementValue(b);for(d in f){e={method:d,parameters:f[d]};try{if(c=a.validator.methods[d].call(this,i,b,e.parameters),"dependency-mismatch"===c&&1===g){h=!0;continue}if(h=!1,"pending"===c)return void(this.toHide=this.toHide.not(this.errorsFor(b)));if(!c)return this.formatAndAdd(b,e),!1}catch(j){throw this.settings.debug&&window.console&&console.log("Exception occurred when checking element "+b.id+", check the '"+e.method+"' method.",j),j instanceof TypeError&&(j.message+=". Exception occurred when checking element "+b.id+", check the '"+e.method+"' method."),j}}if(!h)return this.objectLength(f)&&this.successList.push(b),!0},customDataMessage:function(b,c){return a(b).data("msg"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase())||a(b).data("msg")},customMessage:function(a,b){var c=this.settings.messages[a];return c&&(c.constructor===String?c:c[b])},findDefined:function(){for(var a=0;aWarning: No message defined for "+b.name+"")},formatAndAdd:function(b,c){var d=this.defaultMessage(b,c.method),e=/\$?\{(\d+)\}/g;"function"==typeof d?d=d.call(this,c.parameters,b):e.test(d)&&(d=a.validator.format(d.replace(e,"{$1}"),c.parameters)),this.errorList.push({message:d,element:b,method:c.method}),this.errorMap[b.name]=d,this.submitted[b.name]=d},addWrapper:function(a){return this.settings.wrapper&&(a=a.add(a.parent(this.settings.wrapper))),a},defaultShowErrors:function(){var a,b,c;for(a=0;this.errorList[a];a++)c=this.errorList[a],this.settings.highlight&&this.settings.highlight.call(this,c.element,this.settings.errorClass,this.settings.validClass),this.showLabel(c.element,c.message);if(this.errorList.length&&(this.toShow=this.toShow.add(this.containers)),this.settings.success)for(a=0;this.successList[a];a++)this.showLabel(this.successList[a]);if(this.settings.unhighlight)for(a=0,b=this.validElements();b[a];a++)this.settings.unhighlight.call(this,b[a],this.settings.errorClass,this.settings.validClass);this.toHide=this.toHide.not(this.toShow),this.hideErrors(),this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return a(this.errorList).map(function(){return this.element})},showLabel:function(b,c){var d,e,f,g=this.errorsFor(b),h=this.idOrName(b),i=a(b).attr("aria-describedby");g.length?(g.removeClass(this.settings.validClass).addClass(this.settings.errorClass),g.html(c)):(g=a("<"+this.settings.errorElement+">").attr("id",h+"-error").addClass(this.settings.errorClass).html(c||""),d=g,this.settings.wrapper&&(d=g.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()),this.labelContainer.length?this.labelContainer.append(d):this.settings.errorPlacement?this.settings.errorPlacement(d,a(b)):d.insertAfter(b),g.is("label")?g.attr("for",h):0===g.parents("label[for='"+h+"']").length&&(f=g.attr("id").replace(/(:|\.|\[|\]|\$)/g,"\\$1"),i?i.match(new RegExp("\\b"+f+"\\b"))||(i+=" "+f):i=f,a(b).attr("aria-describedby",i),e=this.groups[b.name],e&&a.each(this.groups,function(b,c){c===e&&a("[name='"+b+"']",this.currentForm).attr("aria-describedby",g.attr("id"))}))),!c&&this.settings.success&&(g.text(""),"string"==typeof this.settings.success?g.addClass(this.settings.success):this.settings.success(g,b)),this.toShow=this.toShow.add(g)},errorsFor:function(b){var c=this.idOrName(b),d=a(b).attr("aria-describedby"),e="label[for='"+c+"'], label[for='"+c+"'] *";return d&&(e=e+", #"+d.replace(/\s+/g,", #")),this.errors().filter(e)},idOrName:function(a){return this.groups[a.name]||(this.checkable(a)?a.name:a.id||a.name)},validationTargetFor:function(b){return this.checkable(b)&&(b=this.findByName(b.name)),a(b).not(this.settings.ignore)[0]},checkable:function(a){return/radio|checkbox/i.test(a.type)},findByName:function(b){return a(this.currentForm).find("[name='"+b+"']")},getLength:function(b,c){switch(c.nodeName.toLowerCase()){case"select":return a("option:selected",c).length;case"input":if(this.checkable(c))return this.findByName(c.name).filter(":checked").length}return b.length},depend:function(a,b){return this.dependTypes[typeof a]?this.dependTypes[typeof a](a,b):!0},dependTypes:{"boolean":function(a){return a},string:function(b,c){return!!a(b,c.form).length},"function":function(a,b){return a(b)}},optional:function(b){var c=this.elementValue(b);return!a.validator.methods.required.call(this,c,b)&&"dependency-mismatch"},startRequest:function(a){this.pending[a.name]||(this.pendingRequest++,this.pending[a.name]=!0)},stopRequest:function(b,c){this.pendingRequest--,this.pendingRequest<0&&(this.pendingRequest=0),delete this.pending[b.name],c&&0===this.pendingRequest&&this.formSubmitted&&this.form()?(a(this.currentForm).submit(),this.formSubmitted=!1):!c&&0===this.pendingRequest&&this.formSubmitted&&(a(this.currentForm).triggerHandler("invalid-form",[this]),this.formSubmitted=!1)},previousValue:function(b){return a.data(b,"previousValue")||a.data(b,"previousValue",{old:null,valid:!0,message:this.defaultMessage(b,"remote")})},destroy:function(){this.resetForm(),a(this.currentForm).off(".validate").removeData("validator")}},classRuleSettings:{required:{required:!0},email:{email:!0},url:{url:!0},date:{date:!0},dateISO:{dateISO:!0},number:{number:!0},digits:{digits:!0},creditcard:{creditcard:!0}},addClassRules:function(b,c){b.constructor===String?this.classRuleSettings[b]=c:a.extend(this.classRuleSettings,b)},classRules:function(b){var c={},d=a(b).attr("class");return d&&a.each(d.split(" "),function(){this in a.validator.classRuleSettings&&a.extend(c,a.validator.classRuleSettings[this])}),c},normalizeAttributeRule:function(a,b,c,d){/min|max/.test(c)&&(null===b||/number|range|text/.test(b))&&(d=Number(d),isNaN(d)&&(d=void 0)),d||0===d?a[c]=d:b===c&&"range"!==b&&(a[c]=!0)},attributeRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)"required"===c?(d=b.getAttribute(c),""===d&&(d=!0),d=!!d):d=f.attr(c),this.normalizeAttributeRule(e,g,c,d);return e.maxlength&&/-1|2147483647|524288/.test(e.maxlength)&&delete e.maxlength,e},dataRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)d=f.data("rule"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase()),this.normalizeAttributeRule(e,g,c,d);return e},staticRules:function(b){var c={},d=a.data(b.form,"validator");return d.settings.rules&&(c=a.validator.normalizeRule(d.settings.rules[b.name])||{}),c},normalizeRules:function(b,c){return a.each(b,function(d,e){if(e===!1)return void delete b[d];if(e.param||e.depends){var f=!0;switch(typeof e.depends){case"string":f=!!a(e.depends,c.form).length;break;case"function":f=e.depends.call(c,c)}f?b[d]=void 0!==e.param?e.param:!0:delete b[d]}}),a.each(b,function(d,e){b[d]=a.isFunction(e)?e(c):e}),a.each(["minlength","maxlength"],function(){b[this]&&(b[this]=Number(b[this]))}),a.each(["rangelength","range"],function(){var c;b[this]&&(a.isArray(b[this])?b[this]=[Number(b[this][0]),Number(b[this][1])]:"string"==typeof b[this]&&(c=b[this].replace(/[\[\]]/g,"").split(/[\s,]+/),b[this]=[Number(c[0]),Number(c[1])]))}),a.validator.autoCreateRanges&&(null!=b.min&&null!=b.max&&(b.range=[b.min,b.max],delete b.min,delete b.max),null!=b.minlength&&null!=b.maxlength&&(b.rangelength=[b.minlength,b.maxlength],delete b.minlength,delete b.maxlength)),b},normalizeRule:function(b){if("string"==typeof b){var c={};a.each(b.split(/\s/),function(){c[this]=!0}),b=c}return b},addMethod:function(b,c,d){a.validator.methods[b]=c,a.validator.messages[b]=void 0!==d?d:a.validator.messages[b],c.length<3&&a.validator.addClassRules(b,a.validator.normalizeRule(b))},methods:{required:function(b,c,d){if(!this.depend(d,c))return"dependency-mismatch";if("select"===c.nodeName.toLowerCase()){var e=a(c).val();return e&&e.length>0}return this.checkable(c)?this.getLength(b,c)>0:b.length>0},email:function(a,b){return this.optional(b)||/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(a)},url:function(a,b){return this.optional(b)||/^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})).?)(?::\d{2,5})?(?:[/?#]\S*)?$/i.test(a)},date:function(a,b){return this.optional(b)||!/Invalid|NaN/.test(new Date(a).toString())},dateISO:function(a,b){return this.optional(b)||/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(a)},number:function(a,b){return this.optional(b)||/^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(a)},digits:function(a,b){return this.optional(b)||/^\d+$/.test(a)},creditcard:function(a,b){if(this.optional(b))return"dependency-mismatch";if(/[^0-9 \-]+/.test(a))return!1;var c,d,e=0,f=0,g=!1;if(a=a.replace(/\D/g,""),a.length<13||a.length>19)return!1;for(c=a.length-1;c>=0;c--)d=a.charAt(c),f=parseInt(d,10),g&&(f*=2)>9&&(f-=9),e+=f,g=!g;return e%10===0},minlength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||e>=d},maxlength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||d>=e},rangelength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||e>=d[0]&&e<=d[1]},min:function(a,b,c){return this.optional(b)||a>=c},max:function(a,b,c){return this.optional(b)||c>=a},range:function(a,b,c){return this.optional(b)||a>=c[0]&&a<=c[1]},equalTo:function(b,c,d){var e=a(d);return this.settings.onfocusout&&e.off(".validate-equalTo").on("blur.validate-equalTo",function(){a(c).valid()}),b===e.val()},remote:function(b,c,d){if(this.optional(c))return"dependency-mismatch";var e,f,g=this.previousValue(c);return this.settings.messages[c.name]||(this.settings.messages[c.name]={}),g.originalMessage=this.settings.messages[c.name].remote,this.settings.messages[c.name].remote=g.message,d="string"==typeof d&&{url:d}||d,g.old===b?g.valid:(g.old=b,e=this,this.startRequest(c),f={},f[c.name]=b,a.ajax(a.extend(!0,{mode:"abort",port:"validate"+c.name,dataType:"json",data:f,context:e.currentForm,success:function(d){var f,h,i,j=d===!0||"true"===d;e.settings.messages[c.name].remote=g.originalMessage,j?(i=e.formSubmitted,e.prepareElement(c),e.formSubmitted=i,e.successList.push(c),delete e.invalid[c.name],e.showErrors()):(f={},h=d||e.defaultMessage(c,"remote"),f[c.name]=g.message=a.isFunction(h)?h(b):h,e.invalid[c.name]=!0,e.showErrors(f)),g.valid=j,e.stopRequest(c,j)}},d)),"pending")}}});var b,c={};a.ajaxPrefilter?a.ajaxPrefilter(function(a,b,d){var e=a.port;"abort"===a.mode&&(c[e]&&c[e].abort(),c[e]=d)}):(b=a.ajax,a.ajax=function(d){var e=("mode"in d?d:a.ajaxSettings).mode,f=("port"in d?d:a.ajaxSettings).port;return"abort"===e?(c[f]&&c[f].abort(),c[f]=b.apply(this,arguments),c[f]):b.apply(this,arguments)})}); -------------------------------------------------------------------------------- /npm-debug.log: -------------------------------------------------------------------------------- 1 | 0 info it worked if it ends with ok 2 | 1 verbose cli [ '/usr/local/Cellar/node/5.5.0/bin/node', 3 | 1 verbose cli '/usr/local/bin/npm', 4 | 1 verbose cli 'install' ] 5 | 2 info using npm@3.5.3 6 | 3 info using node@v5.5.0 7 | 4 silly loadCurrentTree Starting 8 | 5 silly install loadCurrentTree 9 | 6 silly install readLocalPackageData 10 | 7 silly install normalizeTree 11 | 8 silly loadCurrentTree Finishing 12 | 9 silly loadIdealTree Starting 13 | 10 silly install loadIdealTree 14 | 11 silly cloneCurrentTree Starting 15 | 12 silly install cloneCurrentTreeToIdealTree 16 | 13 silly cloneCurrentTree Finishing 17 | 14 silly loadShrinkwrap Starting 18 | 15 silly install loadShrinkwrap 19 | 16 silly loadShrinkwrap Finishing 20 | 17 silly loadAllDepsIntoIdealTree Starting 21 | 18 silly install loadAllDepsIntoIdealTree 22 | 19 silly loadAllDepsIntoIdealTree Finishing 23 | 20 silly idealTree:prePrune formAnimation@0.0.1 24 | 20 silly idealTree:prePrune ├── abbrev@1.0.7 25 | 20 silly idealTree:prePrune ├── acorn@1.2.2 26 | 20 silly idealTree:prePrune ├── align-text@0.1.4 27 | 20 silly idealTree:prePrune ├── alter@0.2.0 28 | 20 silly idealTree:prePrune ├── amdefine@1.0.0 29 | 20 silly idealTree:prePrune ├── ansi-regex@2.0.0 30 | 20 silly idealTree:prePrune ├── ansi-styles@2.2.1 31 | 20 silly idealTree:prePrune ├─┬ archiver@0.6.1 32 | 20 silly idealTree:prePrune │ └── lodash@2.4.2 33 | 20 silly idealTree:prePrune ├─┬ argparse@0.1.16 34 | 20 silly idealTree:prePrune │ └── underscore.string@2.4.0 35 | 20 silly idealTree:prePrune ├── asn1@0.2.3 36 | 20 silly idealTree:prePrune ├── assert-plus@0.2.0 37 | 20 silly idealTree:prePrune ├── ast-traverse@0.1.1 38 | 20 silly idealTree:prePrune ├── ast-types@0.8.12 39 | 20 silly idealTree:prePrune ├── async@0.1.22 40 | 20 silly idealTree:prePrune ├── aws-sign2@0.6.0 41 | 20 silly idealTree:prePrune ├─┬ babel-core@5.8.38 42 | 20 silly idealTree:prePrune │ ├── debug@2.2.0 43 | 20 silly idealTree:prePrune │ ├── lodash@3.10.1 44 | 20 silly idealTree:prePrune │ └── minimatch@2.0.10 45 | 20 silly idealTree:prePrune ├── babel-jscs@2.0.5 46 | 20 silly idealTree:prePrune ├── babel-plugin-constant-folding@1.0.1 47 | 20 silly idealTree:prePrune ├── babel-plugin-dead-code-elimination@1.0.2 48 | 20 silly idealTree:prePrune ├── babel-plugin-eval@1.0.1 49 | 20 silly idealTree:prePrune ├── babel-plugin-inline-environment-variables@1.0.1 50 | 20 silly idealTree:prePrune ├── babel-plugin-jscript@1.0.4 51 | 20 silly idealTree:prePrune ├── babel-plugin-member-expression-literals@1.0.1 52 | 20 silly idealTree:prePrune ├── babel-plugin-property-literals@1.0.1 53 | 20 silly idealTree:prePrune ├─┬ babel-plugin-proto-to-assign@1.0.4 54 | 20 silly idealTree:prePrune │ └── lodash@3.10.1 55 | 20 silly idealTree:prePrune ├── babel-plugin-react-constant-elements@1.0.3 56 | 20 silly idealTree:prePrune ├── babel-plugin-react-display-name@1.0.3 57 | 20 silly idealTree:prePrune ├── babel-plugin-remove-console@1.0.1 58 | 20 silly idealTree:prePrune ├── babel-plugin-remove-debugger@1.0.1 59 | 20 silly idealTree:prePrune ├── babel-plugin-runtime@1.0.7 60 | 20 silly idealTree:prePrune ├── babel-plugin-undeclared-variables-check@1.0.2 61 | 20 silly idealTree:prePrune ├── babel-plugin-undefined-to-void@1.1.6 62 | 20 silly idealTree:prePrune ├── babylon@5.8.38 63 | 20 silly idealTree:prePrune ├── balanced-match@0.3.0 64 | 20 silly idealTree:prePrune ├─┬ bl@1.0.3 65 | 20 silly idealTree:prePrune │ ├── isarray@1.0.0 66 | 20 silly idealTree:prePrune │ └── readable-stream@2.0.6 67 | 20 silly idealTree:prePrune ├── bluebird@2.10.2 68 | 20 silly idealTree:prePrune ├── boom@2.10.1 69 | 20 silly idealTree:prePrune ├── brace-expansion@1.1.3 70 | 20 silly idealTree:prePrune ├── breakable@1.0.0 71 | 20 silly idealTree:prePrune ├── camelcase@1.2.1 72 | 20 silly idealTree:prePrune ├── caseless@0.11.0 73 | 20 silly idealTree:prePrune ├── center-align@0.1.3 74 | 20 silly idealTree:prePrune ├── chalk@1.1.3 75 | 20 silly idealTree:prePrune ├─┬ cli-table@0.3.1 76 | 20 silly idealTree:prePrune │ └── colors@1.0.3 77 | 20 silly idealTree:prePrune ├─┬ cli@0.6.6 78 | 20 silly idealTree:prePrune │ ├── glob@3.2.11 79 | 20 silly idealTree:prePrune │ └── minimatch@0.3.0 80 | 20 silly idealTree:prePrune ├── cliui@2.1.0 81 | 20 silly idealTree:prePrune ├── coffee-script@1.3.3 82 | 20 silly idealTree:prePrune ├── colors@0.6.2 83 | 20 silly idealTree:prePrune ├── combined-stream@1.0.5 84 | 20 silly idealTree:prePrune ├── commander@2.9.0 85 | 20 silly idealTree:prePrune ├─┬ comment-parser@0.3.1 86 | 20 silly idealTree:prePrune │ ├── isarray@1.0.0 87 | 20 silly idealTree:prePrune │ └── readable-stream@2.1.0 88 | 20 silly idealTree:prePrune ├── commitplease@2.3.0 89 | 20 silly idealTree:prePrune ├─┬ commoner@0.10.4 90 | 20 silly idealTree:prePrune │ ├── glob@5.0.15 91 | 20 silly idealTree:prePrune │ ├── graceful-fs@4.1.3 92 | 20 silly idealTree:prePrune │ ├── iconv-lite@0.4.13 93 | 20 silly idealTree:prePrune │ └── minimatch@3.0.0 94 | 20 silly idealTree:prePrune ├── concat-map@0.0.1 95 | 20 silly idealTree:prePrune ├─┬ concat-stream@1.5.0 96 | 20 silly idealTree:prePrune │ ├── isarray@1.0.0 97 | 20 silly idealTree:prePrune │ └── readable-stream@2.0.6 98 | 20 silly idealTree:prePrune ├── console-browserify@1.1.0 99 | 20 silly idealTree:prePrune ├── convert-source-map@1.2.0 100 | 20 silly idealTree:prePrune ├── core-js@1.2.6 101 | 20 silly idealTree:prePrune ├── core-util-is@1.0.2 102 | 20 silly idealTree:prePrune ├── cryptiles@2.0.5 103 | 20 silly idealTree:prePrune ├── cycle@1.0.3 104 | 20 silly idealTree:prePrune ├── d@0.1.1 105 | 20 silly idealTree:prePrune ├─┬ dashdash@1.13.0 106 | 20 silly idealTree:prePrune │ └── assert-plus@1.0.0 107 | 20 silly idealTree:prePrune ├── date-now@0.1.4 108 | 20 silly idealTree:prePrune ├── dateformat@1.0.2-1.2.3 109 | 20 silly idealTree:prePrune ├── debug@0.7.4 110 | 20 silly idealTree:prePrune ├── decamelize@1.2.0 111 | 20 silly idealTree:prePrune ├── deep-equal@0.0.0 112 | 20 silly idealTree:prePrune ├── defined@0.0.0 113 | 20 silly idealTree:prePrune ├─┬ defs@1.1.1 114 | 20 silly idealTree:prePrune │ ├── esprima-fb@15001.1001.0-dev-harmony-fb 115 | 20 silly idealTree:prePrune │ ├── window-size@0.1.4 116 | 20 silly idealTree:prePrune │ └── yargs@3.27.0 117 | 20 silly idealTree:prePrune ├── delayed-stream@1.0.0 118 | 20 silly idealTree:prePrune ├─┬ detect-indent@3.0.1 119 | 20 silly idealTree:prePrune │ └── minimist@1.2.0 120 | 20 silly idealTree:prePrune ├─┬ detective@4.3.1 121 | 20 silly idealTree:prePrune │ └── defined@1.0.0 122 | 20 silly idealTree:prePrune ├─┬ dom-serializer@0.1.0 123 | 20 silly idealTree:prePrune │ ├── domelementtype@1.1.3 124 | 20 silly idealTree:prePrune │ └── entities@1.1.1 125 | 20 silly idealTree:prePrune ├── domelementtype@1.3.0 126 | 20 silly idealTree:prePrune ├── domhandler@2.3.0 127 | 20 silly idealTree:prePrune ├── domutils@1.5.1 128 | 20 silly idealTree:prePrune ├── ecc-jsbn@0.1.1 129 | 20 silly idealTree:prePrune ├── entities@1.0.0 130 | 20 silly idealTree:prePrune ├── es5-ext@0.10.11 131 | 20 silly idealTree:prePrune ├── es6-iterator@2.0.0 132 | 20 silly idealTree:prePrune ├── es6-map@0.1.3 133 | 20 silly idealTree:prePrune ├── es6-set@0.1.4 134 | 20 silly idealTree:prePrune ├── es6-symbol@3.0.2 135 | 20 silly idealTree:prePrune ├── es6-weak-map@2.0.1 136 | 20 silly idealTree:prePrune ├── escape-string-regexp@1.0.5 137 | 20 silly idealTree:prePrune ├── escope@3.6.0 138 | 20 silly idealTree:prePrune ├── esmangle-evaluator@1.0.0 139 | 20 silly idealTree:prePrune ├── esprima@1.0.4 140 | 20 silly idealTree:prePrune ├─┬ esrecurse@4.1.0 141 | 20 silly idealTree:prePrune │ └── estraverse@4.1.1 142 | 20 silly idealTree:prePrune ├── estraverse@4.2.0 143 | 20 silly idealTree:prePrune ├── esutils@2.0.2 144 | 20 silly idealTree:prePrune ├── event-emitter@0.3.4 145 | 20 silly idealTree:prePrune ├── eventemitter2@0.4.14 146 | 20 silly idealTree:prePrune ├── exit@0.1.2 147 | 20 silly idealTree:prePrune ├── extend@3.0.0 148 | 20 silly idealTree:prePrune ├── extract-zip@1.5.0 149 | 20 silly idealTree:prePrune ├── extsprintf@1.0.2 150 | 20 silly idealTree:prePrune ├── eyes@0.1.8 151 | 20 silly idealTree:prePrune ├── falafel@1.2.0 152 | 20 silly idealTree:prePrune ├── faye-websocket@0.4.4 153 | 20 silly idealTree:prePrune ├── fd-slicer@1.0.1 154 | 20 silly idealTree:prePrune ├─┬ file-utils@0.1.5 155 | 20 silly idealTree:prePrune │ ├─┬ glob@3.2.11 156 | 20 silly idealTree:prePrune │ │ └── minimatch@0.3.0 157 | 20 silly idealTree:prePrune │ └── lodash@2.1.0 158 | 20 silly idealTree:prePrune ├─┬ findup-sync@0.1.3 159 | 20 silly idealTree:prePrune │ ├── glob@3.2.11 160 | 20 silly idealTree:prePrune │ ├── lodash@2.4.2 161 | 20 silly idealTree:prePrune │ └── minimatch@0.3.0 162 | 20 silly idealTree:prePrune ├── foreach@2.0.5 163 | 20 silly idealTree:prePrune ├── forever-agent@0.6.1 164 | 20 silly idealTree:prePrune ├─┬ form-data@1.0.0-rc4 165 | 20 silly idealTree:prePrune │ └── async@1.5.2 166 | 20 silly idealTree:prePrune ├─┬ fs-extra@0.26.7 167 | 20 silly idealTree:prePrune │ └── graceful-fs@4.1.3 168 | 20 silly idealTree:prePrune ├── fs-readdir-recursive@0.1.2 169 | 20 silly idealTree:prePrune ├── gaze@0.5.2 170 | 20 silly idealTree:prePrune ├── generate-function@2.0.0 171 | 20 silly idealTree:prePrune ├── generate-object-property@1.2.0 172 | 20 silly idealTree:prePrune ├── get-stdin@4.0.1 173 | 20 silly idealTree:prePrune ├── getobject@0.1.0 174 | 20 silly idealTree:prePrune ├─┬ glob@3.1.21 175 | 20 silly idealTree:prePrune │ └── inherits@1.0.2 176 | 20 silly idealTree:prePrune ├── globals@6.4.1 177 | 20 silly idealTree:prePrune ├─┬ globule@0.1.0 178 | 20 silly idealTree:prePrune │ └── lodash@1.0.2 179 | 20 silly idealTree:prePrune ├── graceful-fs@1.2.3 180 | 20 silly idealTree:prePrune ├── graceful-readlink@1.0.1 181 | 20 silly idealTree:prePrune ├── grunt-contrib-compress@0.7.0 182 | 20 silly idealTree:prePrune ├── grunt-contrib-concat@0.3.0 183 | 20 silly idealTree:prePrune ├── grunt-contrib-copy@0.5.0 184 | 20 silly idealTree:prePrune ├── grunt-contrib-jshint@0.11.3 185 | 20 silly idealTree:prePrune ├── grunt-contrib-qunit@0.4.0 186 | 20 silly idealTree:prePrune ├─┬ grunt-contrib-uglify@0.4.1 187 | 20 silly idealTree:prePrune │ ├── ansi-styles@1.0.0 188 | 20 silly idealTree:prePrune │ ├── chalk@0.4.0 189 | 20 silly idealTree:prePrune │ └── strip-ansi@0.1.1 190 | 20 silly idealTree:prePrune ├─┬ grunt-contrib-watch@0.6.1 191 | 20 silly idealTree:prePrune │ ├── async@0.2.10 192 | 20 silly idealTree:prePrune │ └── lodash@2.4.2 193 | 20 silly idealTree:prePrune ├─┬ grunt-jscs@2.8.0 194 | 20 silly idealTree:prePrune │ └── lodash@4.6.1 195 | 20 silly idealTree:prePrune ├─┬ grunt-legacy-log-utils@0.1.1 196 | 20 silly idealTree:prePrune │ ├── lodash@2.4.2 197 | 20 silly idealTree:prePrune │ └── underscore.string@2.3.3 198 | 20 silly idealTree:prePrune ├─┬ grunt-legacy-log@0.1.3 199 | 20 silly idealTree:prePrune │ ├── lodash@2.4.2 200 | 20 silly idealTree:prePrune │ └── underscore.string@2.3.3 201 | 20 silly idealTree:prePrune ├── grunt-legacy-util@0.2.0 202 | 20 silly idealTree:prePrune ├─┬ grunt-lib-phantomjs@0.5.0 203 | 20 silly idealTree:prePrune │ └── semver@1.0.14 204 | 20 silly idealTree:prePrune ├── grunt-text-replace@0.3.12 205 | 20 silly idealTree:prePrune ├── grunt@0.4.5 206 | 20 silly idealTree:prePrune ├── gzip-size@0.1.1 207 | 20 silly idealTree:prePrune ├── har-validator@2.0.6 208 | 20 silly idealTree:prePrune ├── has-ansi@2.0.0 209 | 20 silly idealTree:prePrune ├── has-color@0.1.7 210 | 20 silly idealTree:prePrune ├── hasha@2.2.0 211 | 20 silly idealTree:prePrune ├── hawk@3.1.3 212 | 20 silly idealTree:prePrune ├── hoek@2.16.3 213 | 20 silly idealTree:prePrune ├── home-or-tmp@1.0.0 214 | 20 silly idealTree:prePrune ├── hooker@0.2.3 215 | 20 silly idealTree:prePrune ├─┬ htmlparser2@3.8.3 216 | 20 silly idealTree:prePrune │ └── readable-stream@1.1.14 217 | 20 silly idealTree:prePrune ├── http-signature@1.1.1 218 | 20 silly idealTree:prePrune ├── i@0.3.4 219 | 20 silly idealTree:prePrune ├── iconv-lite@0.2.11 220 | 20 silly idealTree:prePrune ├── inflight@1.0.4 221 | 20 silly idealTree:prePrune ├── inherit@2.2.3 222 | 20 silly idealTree:prePrune ├── inherits@2.0.1 223 | 20 silly idealTree:prePrune ├── inline-process-browser@2.0.1 224 | 20 silly idealTree:prePrune ├── invert-kv@1.0.0 225 | 20 silly idealTree:prePrune ├── is-absolute@0.1.7 226 | 20 silly idealTree:prePrune ├── is-buffer@1.1.3 227 | 20 silly idealTree:prePrune ├── is-finite@1.0.1 228 | 20 silly idealTree:prePrune ├── is-integer@1.0.6 229 | 20 silly idealTree:prePrune ├── is-my-json-valid@2.13.1 230 | 20 silly idealTree:prePrune ├── is-property@1.0.2 231 | 20 silly idealTree:prePrune ├── is-relative@0.1.3 232 | 20 silly idealTree:prePrune ├── is-stream@1.1.0 233 | 20 silly idealTree:prePrune ├── is-typedarray@1.0.0 234 | 20 silly idealTree:prePrune ├── is-utf8@0.2.1 235 | 20 silly idealTree:prePrune ├── isarray@0.0.1 236 | 20 silly idealTree:prePrune ├── isbinaryfile@0.1.9 237 | 20 silly idealTree:prePrune ├── isexe@1.1.2 238 | 20 silly idealTree:prePrune ├── isstream@0.1.2 239 | 20 silly idealTree:prePrune ├── jodid25519@1.0.2 240 | 20 silly idealTree:prePrune ├── jquery@2.2.3 241 | 20 silly idealTree:prePrune ├── js-tokens@1.0.1 242 | 20 silly idealTree:prePrune ├── js-yaml@2.0.5 243 | 20 silly idealTree:prePrune ├── jsbn@0.1.0 244 | 20 silly idealTree:prePrune ├── jscs-jsdoc@1.3.2 245 | 20 silly idealTree:prePrune ├── jscs-preset-wikimedia@1.0.0 246 | 20 silly idealTree:prePrune ├─┬ jscs@2.11.0 247 | 20 silly idealTree:prePrune │ ├── argparse@1.0.7 248 | 20 silly idealTree:prePrune │ ├── esprima@2.7.2 249 | 20 silly idealTree:prePrune │ ├── glob@5.0.15 250 | 20 silly idealTree:prePrune │ ├── js-yaml@3.4.6 251 | 20 silly idealTree:prePrune │ ├── lodash@3.10.1 252 | 20 silly idealTree:prePrune │ └── minimatch@3.0.0 253 | 20 silly idealTree:prePrune ├─┬ jsdoctypeparser@1.2.0 254 | 20 silly idealTree:prePrune │ └── lodash@3.10.1 255 | 20 silly idealTree:prePrune ├── jsesc@0.5.0 256 | 20 silly idealTree:prePrune ├─┬ jshint@2.8.0 257 | 20 silly idealTree:prePrune │ ├── lodash@3.7.0 258 | 20 silly idealTree:prePrune │ └── minimatch@2.0.10 259 | 20 silly idealTree:prePrune ├── json-schema@0.2.2 260 | 20 silly idealTree:prePrune ├── json-stringify-safe@5.0.1 261 | 20 silly idealTree:prePrune ├── json5@0.4.0 262 | 20 silly idealTree:prePrune ├── jsonfile@2.3.0 263 | 20 silly idealTree:prePrune ├── jsonify@0.0.0 264 | 20 silly idealTree:prePrune ├── jsonlint@1.6.2 265 | 20 silly idealTree:prePrune ├── jsonpointer@2.0.0 266 | 20 silly idealTree:prePrune ├── jsprim@1.2.2 267 | 20 silly idealTree:prePrune ├── JSV@4.0.2 268 | 20 silly idealTree:prePrune ├── kew@0.7.0 269 | 20 silly idealTree:prePrune ├── kind-of@3.0.2 270 | 20 silly idealTree:prePrune ├── klaw@1.2.0 271 | 20 silly idealTree:prePrune ├── lazy-cache@1.0.3 272 | 20 silly idealTree:prePrune ├── lazystream@0.1.0 273 | 20 silly idealTree:prePrune ├── lcid@1.0.0 274 | 20 silly idealTree:prePrune ├── leven@1.0.2 275 | 20 silly idealTree:prePrune ├─┬ lodash._baseassign@3.2.0 276 | 20 silly idealTree:prePrune │ └── lodash.keys@3.1.2 277 | 20 silly idealTree:prePrune ├── lodash._basecopy@3.0.1 278 | 20 silly idealTree:prePrune ├── lodash._bindcallback@3.0.1 279 | 20 silly idealTree:prePrune ├── lodash._createassigner@3.1.1 280 | 20 silly idealTree:prePrune ├── lodash._getnative@3.9.1 281 | 20 silly idealTree:prePrune ├── lodash._isiterateecall@3.0.9 282 | 20 silly idealTree:prePrune ├── lodash._isnative@2.4.1 283 | 20 silly idealTree:prePrune ├── lodash._objecttypes@2.4.1 284 | 20 silly idealTree:prePrune ├── lodash._shimkeys@2.4.1 285 | 20 silly idealTree:prePrune ├─┬ lodash.assign@3.2.0 286 | 20 silly idealTree:prePrune │ └── lodash.keys@3.1.2 287 | 20 silly idealTree:prePrune ├── lodash.defaults@2.4.1 288 | 20 silly idealTree:prePrune ├── lodash.isarguments@3.0.8 289 | 20 silly idealTree:prePrune ├── lodash.isarray@3.0.4 290 | 20 silly idealTree:prePrune ├── lodash.isobject@2.4.1 291 | 20 silly idealTree:prePrune ├── lodash.keys@2.4.1 292 | 20 silly idealTree:prePrune ├── lodash.restparam@3.6.1 293 | 20 silly idealTree:prePrune ├── lodash@0.9.2 294 | 20 silly idealTree:prePrune ├── longest@1.0.1 295 | 20 silly idealTree:prePrune ├── lru-cache@2.7.3 296 | 20 silly idealTree:prePrune ├─┬ maxmin@0.1.0 297 | 20 silly idealTree:prePrune │ ├── ansi-styles@1.0.0 298 | 20 silly idealTree:prePrune │ ├── chalk@0.4.0 299 | 20 silly idealTree:prePrune │ └── strip-ansi@0.1.1 300 | 20 silly idealTree:prePrune ├── mime-db@1.22.0 301 | 20 silly idealTree:prePrune ├── mime-types@2.1.10 302 | 20 silly idealTree:prePrune ├── minimatch@0.2.14 303 | 20 silly idealTree:prePrune ├── minimist@0.0.8 304 | 20 silly idealTree:prePrune ├── mkdirp@0.5.0 305 | 20 silly idealTree:prePrune ├── mout@0.11.1 306 | 20 silly idealTree:prePrune ├── ms@0.7.1 307 | 20 silly idealTree:prePrune ├── mute-stream@0.0.6 308 | 20 silly idealTree:prePrune ├── natural-compare@1.2.2 309 | 20 silly idealTree:prePrune ├── ncp@0.4.2 310 | 20 silly idealTree:prePrune ├── node-uuid@1.4.7 311 | 20 silly idealTree:prePrune ├─┬ nomnom@1.8.1 312 | 20 silly idealTree:prePrune │ ├── ansi-styles@1.0.0 313 | 20 silly idealTree:prePrune │ ├── chalk@0.4.0 314 | 20 silly idealTree:prePrune │ ├── strip-ansi@0.1.1 315 | 20 silly idealTree:prePrune │ └── underscore@1.6.0 316 | 20 silly idealTree:prePrune ├── nopt@1.0.10 317 | 20 silly idealTree:prePrune ├─┬ noptify@0.0.3 318 | 20 silly idealTree:prePrune │ └── nopt@2.0.0 319 | 20 silly idealTree:prePrune ├── number-is-nan@1.0.0 320 | 20 silly idealTree:prePrune ├── oauth-sign@0.8.1 321 | 20 silly idealTree:prePrune ├── object-assign@4.0.1 322 | 20 silly idealTree:prePrune ├── object-keys@1.0.9 323 | 20 silly idealTree:prePrune ├── once@1.3.3 324 | 20 silly idealTree:prePrune ├── os-locale@1.4.0 325 | 20 silly idealTree:prePrune ├── os-tmpdir@1.0.1 326 | 20 silly idealTree:prePrune ├─┬ output-file-sync@1.1.1 327 | 20 silly idealTree:prePrune │ └── mkdirp@0.5.1 328 | 20 silly idealTree:prePrune ├── package@1.0.1 329 | 20 silly idealTree:prePrune ├── path-exists@1.0.0 330 | 20 silly idealTree:prePrune ├── path-is-absolute@1.0.0 331 | 20 silly idealTree:prePrune ├── pathval@0.1.1 332 | 20 silly idealTree:prePrune ├── pend@1.2.0 333 | 20 silly idealTree:prePrune ├─┬ phantomjs@1.9.20 334 | 20 silly idealTree:prePrune │ └── which@1.2.4 335 | 20 silly idealTree:prePrune ├── pinkie-promise@2.0.1 336 | 20 silly idealTree:prePrune ├── pinkie@2.0.4 337 | 20 silly idealTree:prePrune ├── pkginfo@0.4.0 338 | 20 silly idealTree:prePrune ├── pretty-bytes@0.1.2 339 | 20 silly idealTree:prePrune ├── prettysize@0.0.3 340 | 20 silly idealTree:prePrune ├── private@0.1.6 341 | 20 silly idealTree:prePrune ├── process-nextick-args@1.0.6 342 | 20 silly idealTree:prePrune ├── progress@1.1.8 343 | 20 silly idealTree:prePrune ├── prompt@0.2.14 344 | 20 silly idealTree:prePrune ├── q@1.4.1 345 | 20 silly idealTree:prePrune ├── qs@5.2.0 346 | 20 silly idealTree:prePrune ├── read@1.0.7 347 | 20 silly idealTree:prePrune ├── readable-stream@1.0.34 348 | 20 silly idealTree:prePrune ├─┬ recast@0.10.33 349 | 20 silly idealTree:prePrune │ └── esprima-fb@15001.1001.0-dev-harmony-fb 350 | 20 silly idealTree:prePrune ├── regenerate@1.2.1 351 | 20 silly idealTree:prePrune ├─┬ regenerator@0.8.40 352 | 20 silly idealTree:prePrune │ └── esprima-fb@15001.1001.0-dev-harmony-fb 353 | 20 silly idealTree:prePrune ├─┬ regexpu@1.3.0 354 | 20 silly idealTree:prePrune │ └── esprima@2.7.2 355 | 20 silly idealTree:prePrune ├── regjsgen@0.2.0 356 | 20 silly idealTree:prePrune ├── regjsparser@0.1.5 357 | 20 silly idealTree:prePrune ├── repeat-string@1.5.4 358 | 20 silly idealTree:prePrune ├── repeating@1.1.3 359 | 20 silly idealTree:prePrune ├── request-progress@2.0.1 360 | 20 silly idealTree:prePrune ├── request@2.67.0 361 | 20 silly idealTree:prePrune ├── reserved-words@0.1.1 362 | 20 silly idealTree:prePrune ├── resolve@1.1.7 363 | 20 silly idealTree:prePrune ├── revalidator@0.1.8 364 | 20 silly idealTree:prePrune ├── right-align@0.1.3 365 | 20 silly idealTree:prePrune ├── rimraf@2.2.8 366 | 20 silly idealTree:prePrune ├── semver@5.1.0 367 | 20 silly idealTree:prePrune ├── shebang-regex@1.0.0 368 | 20 silly idealTree:prePrune ├── shelljs@0.3.0 369 | 20 silly idealTree:prePrune ├── sigmund@1.0.1 370 | 20 silly idealTree:prePrune ├── simple-fmt@0.1.0 371 | 20 silly idealTree:prePrune ├── simple-is@0.2.0 372 | 20 silly idealTree:prePrune ├── slash@1.0.0 373 | 20 silly idealTree:prePrune ├── sntp@1.0.9 374 | 20 silly idealTree:prePrune ├─┬ source-map-support@0.2.10 375 | 20 silly idealTree:prePrune │ └── source-map@0.1.32 376 | 20 silly idealTree:prePrune ├── source-map@0.5.3 377 | 20 silly idealTree:prePrune ├── sprintf-js@1.0.3 378 | 20 silly idealTree:prePrune ├── sshpk@1.7.4 379 | 20 silly idealTree:prePrune ├── stable@0.1.5 380 | 20 silly idealTree:prePrune ├── stack-trace@0.0.9 381 | 20 silly idealTree:prePrune ├── string_decoder@0.10.31 382 | 20 silly idealTree:prePrune ├── stringmap@0.2.2 383 | 20 silly idealTree:prePrune ├── stringset@0.2.1 384 | 20 silly idealTree:prePrune ├── stringstream@0.0.5 385 | 20 silly idealTree:prePrune ├── strip-ansi@3.0.1 386 | 20 silly idealTree:prePrune ├── strip-bom@2.0.0 387 | 20 silly idealTree:prePrune ├── strip-json-comments@1.0.4 388 | 20 silly idealTree:prePrune ├── supports-color@2.0.0 389 | 20 silly idealTree:prePrune ├── tape@0.2.2 390 | 20 silly idealTree:prePrune ├── temporary@0.0.8 391 | 20 silly idealTree:prePrune ├── throttleit@1.0.0 392 | 20 silly idealTree:prePrune ├── through@2.3.8 393 | 20 silly idealTree:prePrune ├── through2@0.6.5 394 | 20 silly idealTree:prePrune ├─┬ tiny-lr-fork@0.0.5 395 | 20 silly idealTree:prePrune │ └── qs@0.5.6 396 | 20 silly idealTree:prePrune ├── to-double-quotes@2.0.0 397 | 20 silly idealTree:prePrune ├── to-fast-properties@1.0.2 398 | 20 silly idealTree:prePrune ├── to-single-quotes@2.0.0 399 | 20 silly idealTree:prePrune ├── tough-cookie@2.2.2 400 | 20 silly idealTree:prePrune ├── trim-right@1.0.1 401 | 20 silly idealTree:prePrune ├── try-resolve@1.0.1 402 | 20 silly idealTree:prePrune ├── tryor@0.1.2 403 | 20 silly idealTree:prePrune ├── tunnel-agent@0.4.2 404 | 20 silly idealTree:prePrune ├── tweetnacl@0.14.3 405 | 20 silly idealTree:prePrune ├── typedarray@0.0.6 406 | 20 silly idealTree:prePrune ├─┬ uglify-js@2.6.2 407 | 20 silly idealTree:prePrune │ └── async@0.2.10 408 | 20 silly idealTree:prePrune ├── uglify-to-browserify@1.0.2 409 | 20 silly idealTree:prePrune ├── underscore.string@2.2.1 410 | 20 silly idealTree:prePrune ├── underscore@1.7.0 411 | 20 silly idealTree:prePrune ├─┬ unreachable-branch-transform@0.5.1 412 | 20 silly idealTree:prePrune │ ├── ast-types@0.8.16 413 | 20 silly idealTree:prePrune │ ├── esprima@2.7.2 414 | 20 silly idealTree:prePrune │ └── recast@0.11.5 415 | 20 silly idealTree:prePrune ├── user-home@1.1.1 416 | 20 silly idealTree:prePrune ├── util-deprecate@1.0.2 417 | 20 silly idealTree:prePrune ├─┬ utile@0.2.1 418 | 20 silly idealTree:prePrune │ └── async@0.2.10 419 | 20 silly idealTree:prePrune ├── verror@1.3.6 420 | 20 silly idealTree:prePrune ├─┬ vow-fs@0.3.4 421 | 20 silly idealTree:prePrune │ ├── glob@4.5.3 422 | 20 silly idealTree:prePrune │ └── minimatch@2.0.10 423 | 20 silly idealTree:prePrune ├── vow-queue@0.4.2 424 | 20 silly idealTree:prePrune ├── vow@0.4.12 425 | 20 silly idealTree:prePrune ├── which@1.0.9 426 | 20 silly idealTree:prePrune ├── window-size@0.1.0 427 | 20 silly idealTree:prePrune ├─┬ winston@0.8.3 428 | 20 silly idealTree:prePrune │ ├── async@0.2.10 429 | 20 silly idealTree:prePrune │ └── pkginfo@0.3.1 430 | 20 silly idealTree:prePrune ├── wordwrap@0.0.2 431 | 20 silly idealTree:prePrune ├── wrappy@1.0.1 432 | 20 silly idealTree:prePrune ├─┬ xmlbuilder@3.1.0 433 | 20 silly idealTree:prePrune │ └── lodash@3.10.1 434 | 20 silly idealTree:prePrune ├── xtend@4.0.1 435 | 20 silly idealTree:prePrune ├── y18n@3.2.1 436 | 20 silly idealTree:prePrune ├── yargs@3.10.0 437 | 20 silly idealTree:prePrune ├── yauzl@2.4.1 438 | 20 silly idealTree:prePrune ├── zip-stream@0.2.3 439 | 20 silly idealTree:prePrune └── zlib-browserify@0.0.3 440 | 21 silly loadIdealTree Finishing 441 | 22 silly currentTree formAnimation@0.0.1 442 | 22 silly currentTree ├── abbrev@1.0.7 443 | 22 silly currentTree ├── acorn@1.2.2 444 | 22 silly currentTree ├── align-text@0.1.4 445 | 22 silly currentTree ├── alter@0.2.0 446 | 22 silly currentTree ├── amdefine@1.0.0 447 | 22 silly currentTree ├── ansi-regex@2.0.0 448 | 22 silly currentTree ├── ansi-styles@2.2.1 449 | 22 silly currentTree ├─┬ archiver@0.6.1 450 | 22 silly currentTree │ └── lodash@2.4.2 451 | 22 silly currentTree ├─┬ argparse@0.1.16 452 | 22 silly currentTree │ └── underscore.string@2.4.0 453 | 22 silly currentTree ├── asn1@0.2.3 454 | 22 silly currentTree ├── assert-plus@0.2.0 455 | 22 silly currentTree ├── ast-traverse@0.1.1 456 | 22 silly currentTree ├── ast-types@0.8.12 457 | 22 silly currentTree ├── async@0.1.22 458 | 22 silly currentTree ├── aws-sign2@0.6.0 459 | 22 silly currentTree ├─┬ babel-core@5.8.38 460 | 22 silly currentTree │ ├── debug@2.2.0 461 | 22 silly currentTree │ ├── lodash@3.10.1 462 | 22 silly currentTree │ └── minimatch@2.0.10 463 | 22 silly currentTree ├── babel-jscs@2.0.5 464 | 22 silly currentTree ├── babel-plugin-constant-folding@1.0.1 465 | 22 silly currentTree ├── babel-plugin-dead-code-elimination@1.0.2 466 | 22 silly currentTree ├── babel-plugin-eval@1.0.1 467 | 22 silly currentTree ├── babel-plugin-inline-environment-variables@1.0.1 468 | 22 silly currentTree ├── babel-plugin-jscript@1.0.4 469 | 22 silly currentTree ├── babel-plugin-member-expression-literals@1.0.1 470 | 22 silly currentTree ├── babel-plugin-property-literals@1.0.1 471 | 22 silly currentTree ├─┬ babel-plugin-proto-to-assign@1.0.4 472 | 22 silly currentTree │ └── lodash@3.10.1 473 | 22 silly currentTree ├── babel-plugin-react-constant-elements@1.0.3 474 | 22 silly currentTree ├── babel-plugin-react-display-name@1.0.3 475 | 22 silly currentTree ├── babel-plugin-remove-console@1.0.1 476 | 22 silly currentTree ├── babel-plugin-remove-debugger@1.0.1 477 | 22 silly currentTree ├── babel-plugin-runtime@1.0.7 478 | 22 silly currentTree ├── babel-plugin-undeclared-variables-check@1.0.2 479 | 22 silly currentTree ├── babel-plugin-undefined-to-void@1.1.6 480 | 22 silly currentTree ├── babylon@5.8.38 481 | 22 silly currentTree ├── balanced-match@0.3.0 482 | 22 silly currentTree ├─┬ bl@1.0.3 483 | 22 silly currentTree │ ├── isarray@1.0.0 484 | 22 silly currentTree │ └── readable-stream@2.0.6 485 | 22 silly currentTree ├── bluebird@2.10.2 486 | 22 silly currentTree ├── boom@2.10.1 487 | 22 silly currentTree ├── brace-expansion@1.1.3 488 | 22 silly currentTree ├── breakable@1.0.0 489 | 22 silly currentTree ├── camelcase@1.2.1 490 | 22 silly currentTree ├── caseless@0.11.0 491 | 22 silly currentTree ├── center-align@0.1.3 492 | 22 silly currentTree ├── chalk@1.1.3 493 | 22 silly currentTree ├─┬ cli-table@0.3.1 494 | 22 silly currentTree │ └── colors@1.0.3 495 | 22 silly currentTree ├─┬ cli@0.6.6 496 | 22 silly currentTree │ ├── glob@3.2.11 497 | 22 silly currentTree │ └── minimatch@0.3.0 498 | 22 silly currentTree ├── cliui@2.1.0 499 | 22 silly currentTree ├── coffee-script@1.3.3 500 | 22 silly currentTree ├── colors@0.6.2 501 | 22 silly currentTree ├── combined-stream@1.0.5 502 | 22 silly currentTree ├── commander@2.9.0 503 | 22 silly currentTree ├─┬ comment-parser@0.3.1 504 | 22 silly currentTree │ ├── isarray@1.0.0 505 | 22 silly currentTree │ └── readable-stream@2.1.0 506 | 22 silly currentTree ├── commitplease@2.3.0 507 | 22 silly currentTree ├─┬ commoner@0.10.4 508 | 22 silly currentTree │ ├── glob@5.0.15 509 | 22 silly currentTree │ ├── graceful-fs@4.1.3 510 | 22 silly currentTree │ ├── iconv-lite@0.4.13 511 | 22 silly currentTree │ └── minimatch@3.0.0 512 | 22 silly currentTree ├── concat-map@0.0.1 513 | 22 silly currentTree ├─┬ concat-stream@1.5.0 514 | 22 silly currentTree │ ├── isarray@1.0.0 515 | 22 silly currentTree │ └── readable-stream@2.0.6 516 | 22 silly currentTree ├── console-browserify@1.1.0 517 | 22 silly currentTree ├── convert-source-map@1.2.0 518 | 22 silly currentTree ├── core-js@1.2.6 519 | 22 silly currentTree ├── core-util-is@1.0.2 520 | 22 silly currentTree ├── cryptiles@2.0.5 521 | 22 silly currentTree ├── cycle@1.0.3 522 | 22 silly currentTree ├── d@0.1.1 523 | 22 silly currentTree ├─┬ dashdash@1.13.0 524 | 22 silly currentTree │ └── assert-plus@1.0.0 525 | 22 silly currentTree ├── date-now@0.1.4 526 | 22 silly currentTree ├── dateformat@1.0.2-1.2.3 527 | 22 silly currentTree ├── debug@0.7.4 528 | 22 silly currentTree ├── decamelize@1.2.0 529 | 22 silly currentTree ├── deep-equal@0.0.0 530 | 22 silly currentTree ├── defined@0.0.0 531 | 22 silly currentTree ├─┬ defs@1.1.1 532 | 22 silly currentTree │ ├── esprima-fb@15001.1001.0-dev-harmony-fb 533 | 22 silly currentTree │ ├── window-size@0.1.4 534 | 22 silly currentTree │ └── yargs@3.27.0 535 | 22 silly currentTree ├── delayed-stream@1.0.0 536 | 22 silly currentTree ├─┬ detect-indent@3.0.1 537 | 22 silly currentTree │ └── minimist@1.2.0 538 | 22 silly currentTree ├─┬ detective@4.3.1 539 | 22 silly currentTree │ └── defined@1.0.0 540 | 22 silly currentTree ├─┬ dom-serializer@0.1.0 541 | 22 silly currentTree │ ├── domelementtype@1.1.3 542 | 22 silly currentTree │ └── entities@1.1.1 543 | 22 silly currentTree ├── domelementtype@1.3.0 544 | 22 silly currentTree ├── domhandler@2.3.0 545 | 22 silly currentTree ├── domutils@1.5.1 546 | 22 silly currentTree ├── ecc-jsbn@0.1.1 547 | 22 silly currentTree ├── entities@1.0.0 548 | 22 silly currentTree ├── es5-ext@0.10.11 549 | 22 silly currentTree ├── es6-iterator@2.0.0 550 | 22 silly currentTree ├── es6-map@0.1.3 551 | 22 silly currentTree ├── es6-set@0.1.4 552 | 22 silly currentTree ├── es6-symbol@3.0.2 553 | 22 silly currentTree ├── es6-weak-map@2.0.1 554 | 22 silly currentTree ├── escape-string-regexp@1.0.5 555 | 22 silly currentTree ├── escope@3.6.0 556 | 22 silly currentTree ├── esmangle-evaluator@1.0.0 557 | 22 silly currentTree ├── esprima@1.0.4 558 | 22 silly currentTree ├─┬ esrecurse@4.1.0 559 | 22 silly currentTree │ └── estraverse@4.1.1 560 | 22 silly currentTree ├── estraverse@4.2.0 561 | 22 silly currentTree ├── esutils@2.0.2 562 | 22 silly currentTree ├── event-emitter@0.3.4 563 | 22 silly currentTree ├── eventemitter2@0.4.14 564 | 22 silly currentTree ├── exit@0.1.2 565 | 22 silly currentTree ├── extend@3.0.0 566 | 22 silly currentTree ├── extract-zip@1.5.0 567 | 22 silly currentTree ├── extsprintf@1.0.2 568 | 22 silly currentTree ├── eyes@0.1.8 569 | 22 silly currentTree ├── falafel@1.2.0 570 | 22 silly currentTree ├── faye-websocket@0.4.4 571 | 22 silly currentTree ├── fd-slicer@1.0.1 572 | 22 silly currentTree ├─┬ file-utils@0.1.5 573 | 22 silly currentTree │ ├─┬ glob@3.2.11 574 | 22 silly currentTree │ │ └── minimatch@0.3.0 575 | 22 silly currentTree │ └── lodash@2.1.0 576 | 22 silly currentTree ├─┬ findup-sync@0.1.3 577 | 22 silly currentTree │ ├── glob@3.2.11 578 | 22 silly currentTree │ ├── lodash@2.4.2 579 | 22 silly currentTree │ └── minimatch@0.3.0 580 | 22 silly currentTree ├── foreach@2.0.5 581 | 22 silly currentTree ├── forever-agent@0.6.1 582 | 22 silly currentTree ├─┬ form-data@1.0.0-rc4 583 | 22 silly currentTree │ └── async@1.5.2 584 | 22 silly currentTree ├─┬ fs-extra@0.26.7 585 | 22 silly currentTree │ └── graceful-fs@4.1.3 586 | 22 silly currentTree ├── fs-readdir-recursive@0.1.2 587 | 22 silly currentTree ├── gaze@0.5.2 588 | 22 silly currentTree ├── generate-function@2.0.0 589 | 22 silly currentTree ├── generate-object-property@1.2.0 590 | 22 silly currentTree ├── get-stdin@4.0.1 591 | 22 silly currentTree ├── getobject@0.1.0 592 | 22 silly currentTree ├─┬ glob@3.1.21 593 | 22 silly currentTree │ └── inherits@1.0.2 594 | 22 silly currentTree ├── globals@6.4.1 595 | 22 silly currentTree ├─┬ globule@0.1.0 596 | 22 silly currentTree │ └── lodash@1.0.2 597 | 22 silly currentTree ├── graceful-fs@1.2.3 598 | 22 silly currentTree ├── graceful-readlink@1.0.1 599 | 22 silly currentTree ├── grunt-contrib-compress@0.7.0 600 | 22 silly currentTree ├── grunt-contrib-concat@0.3.0 601 | 22 silly currentTree ├── grunt-contrib-copy@0.5.0 602 | 22 silly currentTree ├── grunt-contrib-jshint@0.11.3 603 | 22 silly currentTree ├── grunt-contrib-qunit@0.4.0 604 | 22 silly currentTree ├─┬ grunt-contrib-uglify@0.4.1 605 | 22 silly currentTree │ ├── ansi-styles@1.0.0 606 | 22 silly currentTree │ ├── chalk@0.4.0 607 | 22 silly currentTree │ └── strip-ansi@0.1.1 608 | 22 silly currentTree ├─┬ grunt-contrib-watch@0.6.1 609 | 22 silly currentTree │ ├── async@0.2.10 610 | 22 silly currentTree │ └── lodash@2.4.2 611 | 22 silly currentTree ├─┬ grunt-jscs@2.8.0 612 | 22 silly currentTree │ └── lodash@4.6.1 613 | 22 silly currentTree ├─┬ grunt-legacy-log-utils@0.1.1 614 | 22 silly currentTree │ ├── lodash@2.4.2 615 | 22 silly currentTree │ └── underscore.string@2.3.3 616 | 22 silly currentTree ├─┬ grunt-legacy-log@0.1.3 617 | 22 silly currentTree │ ├── lodash@2.4.2 618 | 22 silly currentTree │ └── underscore.string@2.3.3 619 | 22 silly currentTree ├── grunt-legacy-util@0.2.0 620 | 22 silly currentTree ├─┬ grunt-lib-phantomjs@0.5.0 621 | 22 silly currentTree │ └── semver@1.0.14 622 | 22 silly currentTree ├── grunt-text-replace@0.3.12 623 | 22 silly currentTree ├── grunt@0.4.5 624 | 22 silly currentTree ├── gzip-size@0.1.1 625 | 22 silly currentTree ├── har-validator@2.0.6 626 | 22 silly currentTree ├── has-ansi@2.0.0 627 | 22 silly currentTree ├── has-color@0.1.7 628 | 22 silly currentTree ├── hasha@2.2.0 629 | 22 silly currentTree ├── hawk@3.1.3 630 | 22 silly currentTree ├── hoek@2.16.3 631 | 22 silly currentTree ├── home-or-tmp@1.0.0 632 | 22 silly currentTree ├── hooker@0.2.3 633 | 22 silly currentTree ├─┬ htmlparser2@3.8.3 634 | 22 silly currentTree │ └── readable-stream@1.1.14 635 | 22 silly currentTree ├── http-signature@1.1.1 636 | 22 silly currentTree ├── i@0.3.4 637 | 22 silly currentTree ├── iconv-lite@0.2.11 638 | 22 silly currentTree ├── inflight@1.0.4 639 | 22 silly currentTree ├── inherit@2.2.3 640 | 22 silly currentTree ├── inherits@2.0.1 641 | 22 silly currentTree ├── inline-process-browser@2.0.1 642 | 22 silly currentTree ├── invert-kv@1.0.0 643 | 22 silly currentTree ├── is-absolute@0.1.7 644 | 22 silly currentTree ├── is-buffer@1.1.3 645 | 22 silly currentTree ├── is-finite@1.0.1 646 | 22 silly currentTree ├── is-integer@1.0.6 647 | 22 silly currentTree ├── is-my-json-valid@2.13.1 648 | 22 silly currentTree ├── is-property@1.0.2 649 | 22 silly currentTree ├── is-relative@0.1.3 650 | 22 silly currentTree ├── is-stream@1.1.0 651 | 22 silly currentTree ├── is-typedarray@1.0.0 652 | 22 silly currentTree ├── is-utf8@0.2.1 653 | 22 silly currentTree ├── isarray@0.0.1 654 | 22 silly currentTree ├── isbinaryfile@0.1.9 655 | 22 silly currentTree ├── isexe@1.1.2 656 | 22 silly currentTree ├── isstream@0.1.2 657 | 22 silly currentTree ├── jodid25519@1.0.2 658 | 22 silly currentTree ├── jquery@2.2.3 659 | 22 silly currentTree ├── js-tokens@1.0.1 660 | 22 silly currentTree ├── js-yaml@2.0.5 661 | 22 silly currentTree ├── jsbn@0.1.0 662 | 22 silly currentTree ├── jscs-jsdoc@1.3.2 663 | 22 silly currentTree ├── jscs-preset-wikimedia@1.0.0 664 | 22 silly currentTree ├─┬ jscs@2.11.0 665 | 22 silly currentTree │ ├── argparse@1.0.7 666 | 22 silly currentTree │ ├── esprima@2.7.2 667 | 22 silly currentTree │ ├── glob@5.0.15 668 | 22 silly currentTree │ ├── js-yaml@3.4.6 669 | 22 silly currentTree │ ├── lodash@3.10.1 670 | 22 silly currentTree │ └── minimatch@3.0.0 671 | 22 silly currentTree ├─┬ jsdoctypeparser@1.2.0 672 | 22 silly currentTree │ └── lodash@3.10.1 673 | 22 silly currentTree ├── jsesc@0.5.0 674 | 22 silly currentTree ├─┬ jshint@2.8.0 675 | 22 silly currentTree │ ├── lodash@3.7.0 676 | 22 silly currentTree │ └── minimatch@2.0.10 677 | 22 silly currentTree ├── json-schema@0.2.2 678 | 22 silly currentTree ├── json-stringify-safe@5.0.1 679 | 22 silly currentTree ├── json5@0.4.0 680 | 22 silly currentTree ├── jsonfile@2.3.0 681 | 22 silly currentTree ├── jsonify@0.0.0 682 | 22 silly currentTree ├── jsonlint@1.6.2 683 | 22 silly currentTree ├── jsonpointer@2.0.0 684 | 22 silly currentTree ├── jsprim@1.2.2 685 | 22 silly currentTree ├── JSV@4.0.2 686 | 22 silly currentTree ├── kew@0.7.0 687 | 22 silly currentTree ├── kind-of@3.0.2 688 | 22 silly currentTree ├── klaw@1.2.0 689 | 22 silly currentTree ├── lazy-cache@1.0.3 690 | 22 silly currentTree ├── lazystream@0.1.0 691 | 22 silly currentTree ├── lcid@1.0.0 692 | 22 silly currentTree ├── leven@1.0.2 693 | 22 silly currentTree ├─┬ lodash._baseassign@3.2.0 694 | 22 silly currentTree │ └── lodash.keys@3.1.2 695 | 22 silly currentTree ├── lodash._basecopy@3.0.1 696 | 22 silly currentTree ├── lodash._bindcallback@3.0.1 697 | 22 silly currentTree ├── lodash._createassigner@3.1.1 698 | 22 silly currentTree ├── lodash._getnative@3.9.1 699 | 22 silly currentTree ├── lodash._isiterateecall@3.0.9 700 | 22 silly currentTree ├── lodash._isnative@2.4.1 701 | 22 silly currentTree ├── lodash._objecttypes@2.4.1 702 | 22 silly currentTree ├── lodash._shimkeys@2.4.1 703 | 22 silly currentTree ├─┬ lodash.assign@3.2.0 704 | 22 silly currentTree │ └── lodash.keys@3.1.2 705 | 22 silly currentTree ├── lodash.defaults@2.4.1 706 | 22 silly currentTree ├── lodash.isarguments@3.0.8 707 | 22 silly currentTree ├── lodash.isarray@3.0.4 708 | 22 silly currentTree ├── lodash.isobject@2.4.1 709 | 22 silly currentTree ├── lodash.keys@2.4.1 710 | 22 silly currentTree ├── lodash.restparam@3.6.1 711 | 22 silly currentTree ├── lodash@0.9.2 712 | 22 silly currentTree ├── longest@1.0.1 713 | 22 silly currentTree ├── lru-cache@2.7.3 714 | 22 silly currentTree ├─┬ maxmin@0.1.0 715 | 22 silly currentTree │ ├── ansi-styles@1.0.0 716 | 22 silly currentTree │ ├── chalk@0.4.0 717 | 22 silly currentTree │ └── strip-ansi@0.1.1 718 | 22 silly currentTree ├── mime-db@1.22.0 719 | 22 silly currentTree ├── mime-types@2.1.10 720 | 22 silly currentTree ├── minimatch@0.2.14 721 | 22 silly currentTree ├── minimist@0.0.8 722 | 22 silly currentTree ├── mkdirp@0.5.0 723 | 22 silly currentTree ├── mout@0.11.1 724 | 22 silly currentTree ├── ms@0.7.1 725 | 22 silly currentTree ├── mute-stream@0.0.6 726 | 22 silly currentTree ├── natural-compare@1.2.2 727 | 22 silly currentTree ├── ncp@0.4.2 728 | 22 silly currentTree ├── node-uuid@1.4.7 729 | 22 silly currentTree ├─┬ nomnom@1.8.1 730 | 22 silly currentTree │ ├── ansi-styles@1.0.0 731 | 22 silly currentTree │ ├── chalk@0.4.0 732 | 22 silly currentTree │ ├── strip-ansi@0.1.1 733 | 22 silly currentTree │ └── underscore@1.6.0 734 | 22 silly currentTree ├── nopt@1.0.10 735 | 22 silly currentTree ├─┬ noptify@0.0.3 736 | 22 silly currentTree │ └── nopt@2.0.0 737 | 22 silly currentTree ├── number-is-nan@1.0.0 738 | 22 silly currentTree ├── oauth-sign@0.8.1 739 | 22 silly currentTree ├── object-assign@4.0.1 740 | 22 silly currentTree ├── object-keys@1.0.9 741 | 22 silly currentTree ├── once@1.3.3 742 | 22 silly currentTree ├── os-locale@1.4.0 743 | 22 silly currentTree ├── os-tmpdir@1.0.1 744 | 22 silly currentTree ├─┬ output-file-sync@1.1.1 745 | 22 silly currentTree │ └── mkdirp@0.5.1 746 | 22 silly currentTree ├── package@1.0.1 747 | 22 silly currentTree ├── path-exists@1.0.0 748 | 22 silly currentTree ├── path-is-absolute@1.0.0 749 | 22 silly currentTree ├── pathval@0.1.1 750 | 22 silly currentTree ├── pend@1.2.0 751 | 22 silly currentTree ├─┬ phantomjs@1.9.20 752 | 22 silly currentTree │ └── which@1.2.4 753 | 22 silly currentTree ├── pinkie-promise@2.0.1 754 | 22 silly currentTree ├── pinkie@2.0.4 755 | 22 silly currentTree ├── pkginfo@0.4.0 756 | 22 silly currentTree ├── pretty-bytes@0.1.2 757 | 22 silly currentTree ├── prettysize@0.0.3 758 | 22 silly currentTree ├── private@0.1.6 759 | 22 silly currentTree ├── process-nextick-args@1.0.6 760 | 22 silly currentTree ├── progress@1.1.8 761 | 22 silly currentTree ├── prompt@0.2.14 762 | 22 silly currentTree ├── q@1.4.1 763 | 22 silly currentTree ├── qs@5.2.0 764 | 22 silly currentTree ├── read@1.0.7 765 | 22 silly currentTree ├── readable-stream@1.0.34 766 | 22 silly currentTree ├─┬ recast@0.10.33 767 | 22 silly currentTree │ └── esprima-fb@15001.1001.0-dev-harmony-fb 768 | 22 silly currentTree ├── regenerate@1.2.1 769 | 22 silly currentTree ├─┬ regenerator@0.8.40 770 | 22 silly currentTree │ └── esprima-fb@15001.1001.0-dev-harmony-fb 771 | 22 silly currentTree ├─┬ regexpu@1.3.0 772 | 22 silly currentTree │ └── esprima@2.7.2 773 | 22 silly currentTree ├── regjsgen@0.2.0 774 | 22 silly currentTree ├── regjsparser@0.1.5 775 | 22 silly currentTree ├── repeat-string@1.5.4 776 | 22 silly currentTree ├── repeating@1.1.3 777 | 22 silly currentTree ├── request-progress@2.0.1 778 | 22 silly currentTree ├── request@2.67.0 779 | 22 silly currentTree ├── reserved-words@0.1.1 780 | 22 silly currentTree ├── resolve@1.1.7 781 | 22 silly currentTree ├── revalidator@0.1.8 782 | 22 silly currentTree ├── right-align@0.1.3 783 | 22 silly currentTree ├── rimraf@2.2.8 784 | 22 silly currentTree ├── semver@5.1.0 785 | 22 silly currentTree ├── shebang-regex@1.0.0 786 | 22 silly currentTree ├── shelljs@0.3.0 787 | 22 silly currentTree ├── sigmund@1.0.1 788 | 22 silly currentTree ├── simple-fmt@0.1.0 789 | 22 silly currentTree ├── simple-is@0.2.0 790 | 22 silly currentTree ├── slash@1.0.0 791 | 22 silly currentTree ├── sntp@1.0.9 792 | 22 silly currentTree ├─┬ source-map-support@0.2.10 793 | 22 silly currentTree │ └── source-map@0.1.32 794 | 22 silly currentTree ├── source-map@0.5.3 795 | 22 silly currentTree ├── sprintf-js@1.0.3 796 | 22 silly currentTree ├── sshpk@1.7.4 797 | 22 silly currentTree ├── stable@0.1.5 798 | 22 silly currentTree ├── stack-trace@0.0.9 799 | 22 silly currentTree ├── string_decoder@0.10.31 800 | 22 silly currentTree ├── stringmap@0.2.2 801 | 22 silly currentTree ├── stringset@0.2.1 802 | 22 silly currentTree ├── stringstream@0.0.5 803 | 22 silly currentTree ├── strip-ansi@3.0.1 804 | 22 silly currentTree ├── strip-bom@2.0.0 805 | 22 silly currentTree ├── strip-json-comments@1.0.4 806 | 22 silly currentTree ├── supports-color@2.0.0 807 | 22 silly currentTree ├── tape@0.2.2 808 | 22 silly currentTree ├── temporary@0.0.8 809 | 22 silly currentTree ├── throttleit@1.0.0 810 | 22 silly currentTree ├── through@2.3.8 811 | 22 silly currentTree ├── through2@0.6.5 812 | 22 silly currentTree ├─┬ tiny-lr-fork@0.0.5 813 | 22 silly currentTree │ └── qs@0.5.6 814 | 22 silly currentTree ├── to-double-quotes@2.0.0 815 | 22 silly currentTree ├── to-fast-properties@1.0.2 816 | 22 silly currentTree ├── to-single-quotes@2.0.0 817 | 22 silly currentTree ├── tough-cookie@2.2.2 818 | 22 silly currentTree ├── trim-right@1.0.1 819 | 22 silly currentTree ├── try-resolve@1.0.1 820 | 22 silly currentTree ├── tryor@0.1.2 821 | 22 silly currentTree ├── tunnel-agent@0.4.2 822 | 22 silly currentTree ├── tweetnacl@0.14.3 823 | 22 silly currentTree ├── typedarray@0.0.6 824 | 22 silly currentTree ├─┬ uglify-js@2.6.2 825 | 22 silly currentTree │ └── async@0.2.10 826 | 22 silly currentTree ├── uglify-to-browserify@1.0.2 827 | 22 silly currentTree ├── underscore.string@2.2.1 828 | 22 silly currentTree ├── underscore@1.7.0 829 | 22 silly currentTree ├─┬ unreachable-branch-transform@0.5.1 830 | 22 silly currentTree │ ├── ast-types@0.8.16 831 | 22 silly currentTree │ ├── esprima@2.7.2 832 | 22 silly currentTree │ └── recast@0.11.5 833 | 22 silly currentTree ├── user-home@1.1.1 834 | 22 silly currentTree ├── util-deprecate@1.0.2 835 | 22 silly currentTree ├─┬ utile@0.2.1 836 | 22 silly currentTree │ └── async@0.2.10 837 | 22 silly currentTree ├── verror@1.3.6 838 | 22 silly currentTree ├─┬ vow-fs@0.3.4 839 | 22 silly currentTree │ ├── glob@4.5.3 840 | 22 silly currentTree │ └── minimatch@2.0.10 841 | 22 silly currentTree ├── vow-queue@0.4.2 842 | 22 silly currentTree ├── vow@0.4.12 843 | 22 silly currentTree ├── which@1.0.9 844 | 22 silly currentTree ├── window-size@0.1.0 845 | 22 silly currentTree ├─┬ winston@0.8.3 846 | 22 silly currentTree │ ├── async@0.2.10 847 | 22 silly currentTree │ └── pkginfo@0.3.1 848 | 22 silly currentTree ├── wordwrap@0.0.2 849 | 22 silly currentTree ├── wrappy@1.0.1 850 | 22 silly currentTree ├─┬ xmlbuilder@3.1.0 851 | 22 silly currentTree │ └── lodash@3.10.1 852 | 22 silly currentTree ├── xtend@4.0.1 853 | 22 silly currentTree ├── y18n@3.2.1 854 | 22 silly currentTree ├── yargs@3.10.0 855 | 22 silly currentTree ├── yauzl@2.4.1 856 | 22 silly currentTree ├── zip-stream@0.2.3 857 | 22 silly currentTree └── zlib-browserify@0.0.3 858 | 23 silly idealTree formAnimation@0.0.1 859 | 23 silly idealTree ├── abbrev@1.0.7 860 | 23 silly idealTree ├── acorn@1.2.2 861 | 23 silly idealTree ├── align-text@0.1.4 862 | 23 silly idealTree ├── alter@0.2.0 863 | 23 silly idealTree ├── amdefine@1.0.0 864 | 23 silly idealTree ├── ansi-regex@2.0.0 865 | 23 silly idealTree ├── ansi-styles@2.2.1 866 | 23 silly idealTree ├─┬ archiver@0.6.1 867 | 23 silly idealTree │ └── lodash@2.4.2 868 | 23 silly idealTree ├─┬ argparse@0.1.16 869 | 23 silly idealTree │ └── underscore.string@2.4.0 870 | 23 silly idealTree ├── asn1@0.2.3 871 | 23 silly idealTree ├── assert-plus@0.2.0 872 | 23 silly idealTree ├── ast-traverse@0.1.1 873 | 23 silly idealTree ├── ast-types@0.8.12 874 | 23 silly idealTree ├── async@0.1.22 875 | 23 silly idealTree ├── aws-sign2@0.6.0 876 | 23 silly idealTree ├─┬ babel-core@5.8.38 877 | 23 silly idealTree │ ├── debug@2.2.0 878 | 23 silly idealTree │ ├── lodash@3.10.1 879 | 23 silly idealTree │ └── minimatch@2.0.10 880 | 23 silly idealTree ├── babel-jscs@2.0.5 881 | 23 silly idealTree ├── babel-plugin-constant-folding@1.0.1 882 | 23 silly idealTree ├── babel-plugin-dead-code-elimination@1.0.2 883 | 23 silly idealTree ├── babel-plugin-eval@1.0.1 884 | 23 silly idealTree ├── babel-plugin-inline-environment-variables@1.0.1 885 | 23 silly idealTree ├── babel-plugin-jscript@1.0.4 886 | 23 silly idealTree ├── babel-plugin-member-expression-literals@1.0.1 887 | 23 silly idealTree ├── babel-plugin-property-literals@1.0.1 888 | 23 silly idealTree ├─┬ babel-plugin-proto-to-assign@1.0.4 889 | 23 silly idealTree │ └── lodash@3.10.1 890 | 23 silly idealTree ├── babel-plugin-react-constant-elements@1.0.3 891 | 23 silly idealTree ├── babel-plugin-react-display-name@1.0.3 892 | 23 silly idealTree ├── babel-plugin-remove-console@1.0.1 893 | 23 silly idealTree ├── babel-plugin-remove-debugger@1.0.1 894 | 23 silly idealTree ├── babel-plugin-runtime@1.0.7 895 | 23 silly idealTree ├── babel-plugin-undeclared-variables-check@1.0.2 896 | 23 silly idealTree ├── babel-plugin-undefined-to-void@1.1.6 897 | 23 silly idealTree ├── babylon@5.8.38 898 | 23 silly idealTree ├── balanced-match@0.3.0 899 | 23 silly idealTree ├─┬ bl@1.0.3 900 | 23 silly idealTree │ ├── isarray@1.0.0 901 | 23 silly idealTree │ └── readable-stream@2.0.6 902 | 23 silly idealTree ├── bluebird@2.10.2 903 | 23 silly idealTree ├── boom@2.10.1 904 | 23 silly idealTree ├── brace-expansion@1.1.3 905 | 23 silly idealTree ├── breakable@1.0.0 906 | 23 silly idealTree ├── camelcase@1.2.1 907 | 23 silly idealTree ├── caseless@0.11.0 908 | 23 silly idealTree ├── center-align@0.1.3 909 | 23 silly idealTree ├── chalk@1.1.3 910 | 23 silly idealTree ├─┬ cli-table@0.3.1 911 | 23 silly idealTree │ └── colors@1.0.3 912 | 23 silly idealTree ├─┬ cli@0.6.6 913 | 23 silly idealTree │ ├── glob@3.2.11 914 | 23 silly idealTree │ └── minimatch@0.3.0 915 | 23 silly idealTree ├── cliui@2.1.0 916 | 23 silly idealTree ├── coffee-script@1.3.3 917 | 23 silly idealTree ├── colors@0.6.2 918 | 23 silly idealTree ├── combined-stream@1.0.5 919 | 23 silly idealTree ├── commander@2.9.0 920 | 23 silly idealTree ├─┬ comment-parser@0.3.1 921 | 23 silly idealTree │ ├── isarray@1.0.0 922 | 23 silly idealTree │ └── readable-stream@2.1.0 923 | 23 silly idealTree ├── commitplease@2.3.0 924 | 23 silly idealTree ├─┬ commoner@0.10.4 925 | 23 silly idealTree │ ├── glob@5.0.15 926 | 23 silly idealTree │ ├── graceful-fs@4.1.3 927 | 23 silly idealTree │ ├── iconv-lite@0.4.13 928 | 23 silly idealTree │ └── minimatch@3.0.0 929 | 23 silly idealTree ├── concat-map@0.0.1 930 | 23 silly idealTree ├─┬ concat-stream@1.5.0 931 | 23 silly idealTree │ ├── isarray@1.0.0 932 | 23 silly idealTree │ └── readable-stream@2.0.6 933 | 23 silly idealTree ├── console-browserify@1.1.0 934 | 23 silly idealTree ├── convert-source-map@1.2.0 935 | 23 silly idealTree ├── core-js@1.2.6 936 | 23 silly idealTree ├── core-util-is@1.0.2 937 | 23 silly idealTree ├── cryptiles@2.0.5 938 | 23 silly idealTree ├── cycle@1.0.3 939 | 23 silly idealTree ├── d@0.1.1 940 | 23 silly idealTree ├─┬ dashdash@1.13.0 941 | 23 silly idealTree │ └── assert-plus@1.0.0 942 | 23 silly idealTree ├── date-now@0.1.4 943 | 23 silly idealTree ├── dateformat@1.0.2-1.2.3 944 | 23 silly idealTree ├── debug@0.7.4 945 | 23 silly idealTree ├── decamelize@1.2.0 946 | 23 silly idealTree ├── deep-equal@0.0.0 947 | 23 silly idealTree ├── defined@0.0.0 948 | 23 silly idealTree ├─┬ defs@1.1.1 949 | 23 silly idealTree │ ├── esprima-fb@15001.1001.0-dev-harmony-fb 950 | 23 silly idealTree │ ├── window-size@0.1.4 951 | 23 silly idealTree │ └── yargs@3.27.0 952 | 23 silly idealTree ├── delayed-stream@1.0.0 953 | 23 silly idealTree ├─┬ detect-indent@3.0.1 954 | 23 silly idealTree │ └── minimist@1.2.0 955 | 23 silly idealTree ├─┬ detective@4.3.1 956 | 23 silly idealTree │ └── defined@1.0.0 957 | 23 silly idealTree ├─┬ dom-serializer@0.1.0 958 | 23 silly idealTree │ ├── domelementtype@1.1.3 959 | 23 silly idealTree │ └── entities@1.1.1 960 | 23 silly idealTree ├── domelementtype@1.3.0 961 | 23 silly idealTree ├── domhandler@2.3.0 962 | 23 silly idealTree ├── domutils@1.5.1 963 | 23 silly idealTree ├── ecc-jsbn@0.1.1 964 | 23 silly idealTree ├── entities@1.0.0 965 | 23 silly idealTree ├── es5-ext@0.10.11 966 | 23 silly idealTree ├── es6-iterator@2.0.0 967 | 23 silly idealTree ├── es6-map@0.1.3 968 | 23 silly idealTree ├── es6-set@0.1.4 969 | 23 silly idealTree ├── es6-symbol@3.0.2 970 | 23 silly idealTree ├── es6-weak-map@2.0.1 971 | 23 silly idealTree ├── escape-string-regexp@1.0.5 972 | 23 silly idealTree ├── escope@3.6.0 973 | 23 silly idealTree ├── esmangle-evaluator@1.0.0 974 | 23 silly idealTree ├── esprima@1.0.4 975 | 23 silly idealTree ├─┬ esrecurse@4.1.0 976 | 23 silly idealTree │ └── estraverse@4.1.1 977 | 23 silly idealTree ├── estraverse@4.2.0 978 | 23 silly idealTree ├── esutils@2.0.2 979 | 23 silly idealTree ├── event-emitter@0.3.4 980 | 23 silly idealTree ├── eventemitter2@0.4.14 981 | 23 silly idealTree ├── exit@0.1.2 982 | 23 silly idealTree ├── extend@3.0.0 983 | 23 silly idealTree ├── extract-zip@1.5.0 984 | 23 silly idealTree ├── extsprintf@1.0.2 985 | 23 silly idealTree ├── eyes@0.1.8 986 | 23 silly idealTree ├── falafel@1.2.0 987 | 23 silly idealTree ├── faye-websocket@0.4.4 988 | 23 silly idealTree ├── fd-slicer@1.0.1 989 | 23 silly idealTree ├─┬ file-utils@0.1.5 990 | 23 silly idealTree │ ├─┬ glob@3.2.11 991 | 23 silly idealTree │ │ └── minimatch@0.3.0 992 | 23 silly idealTree │ └── lodash@2.1.0 993 | 23 silly idealTree ├─┬ findup-sync@0.1.3 994 | 23 silly idealTree │ ├── glob@3.2.11 995 | 23 silly idealTree │ ├── lodash@2.4.2 996 | 23 silly idealTree │ └── minimatch@0.3.0 997 | 23 silly idealTree ├── foreach@2.0.5 998 | 23 silly idealTree ├── forever-agent@0.6.1 999 | 23 silly idealTree ├─┬ form-data@1.0.0-rc4 1000 | 23 silly idealTree │ └── async@1.5.2 1001 | 23 silly idealTree ├─┬ fs-extra@0.26.7 1002 | 23 silly idealTree │ └── graceful-fs@4.1.3 1003 | 23 silly idealTree ├── fs-readdir-recursive@0.1.2 1004 | 23 silly idealTree ├── gaze@0.5.2 1005 | 23 silly idealTree ├── generate-function@2.0.0 1006 | 23 silly idealTree ├── generate-object-property@1.2.0 1007 | 23 silly idealTree ├── get-stdin@4.0.1 1008 | 23 silly idealTree ├── getobject@0.1.0 1009 | 23 silly idealTree ├─┬ glob@3.1.21 1010 | 23 silly idealTree │ └── inherits@1.0.2 1011 | 23 silly idealTree ├── globals@6.4.1 1012 | 23 silly idealTree ├─┬ globule@0.1.0 1013 | 23 silly idealTree │ └── lodash@1.0.2 1014 | 23 silly idealTree ├── graceful-fs@1.2.3 1015 | 23 silly idealTree ├── graceful-readlink@1.0.1 1016 | 23 silly idealTree ├── grunt-contrib-compress@0.7.0 1017 | 23 silly idealTree ├── grunt-contrib-concat@0.3.0 1018 | 23 silly idealTree ├── grunt-contrib-copy@0.5.0 1019 | 23 silly idealTree ├── grunt-contrib-jshint@0.11.3 1020 | 23 silly idealTree ├── grunt-contrib-qunit@0.4.0 1021 | 23 silly idealTree ├─┬ grunt-contrib-uglify@0.4.1 1022 | 23 silly idealTree │ ├── ansi-styles@1.0.0 1023 | 23 silly idealTree │ ├── chalk@0.4.0 1024 | 23 silly idealTree │ └── strip-ansi@0.1.1 1025 | 23 silly idealTree ├─┬ grunt-contrib-watch@0.6.1 1026 | 23 silly idealTree │ ├── async@0.2.10 1027 | 23 silly idealTree │ └── lodash@2.4.2 1028 | 23 silly idealTree ├─┬ grunt-jscs@2.8.0 1029 | 23 silly idealTree │ └── lodash@4.6.1 1030 | 23 silly idealTree ├─┬ grunt-legacy-log-utils@0.1.1 1031 | 23 silly idealTree │ ├── lodash@2.4.2 1032 | 23 silly idealTree │ └── underscore.string@2.3.3 1033 | 23 silly idealTree ├─┬ grunt-legacy-log@0.1.3 1034 | 23 silly idealTree │ ├── lodash@2.4.2 1035 | 23 silly idealTree │ └── underscore.string@2.3.3 1036 | 23 silly idealTree ├── grunt-legacy-util@0.2.0 1037 | 23 silly idealTree ├─┬ grunt-lib-phantomjs@0.5.0 1038 | 23 silly idealTree │ └── semver@1.0.14 1039 | 23 silly idealTree ├── grunt-text-replace@0.3.12 1040 | 23 silly idealTree ├── grunt@0.4.5 1041 | 23 silly idealTree ├── gzip-size@0.1.1 1042 | 23 silly idealTree ├── har-validator@2.0.6 1043 | 23 silly idealTree ├── has-ansi@2.0.0 1044 | 23 silly idealTree ├── has-color@0.1.7 1045 | 23 silly idealTree ├── hasha@2.2.0 1046 | 23 silly idealTree ├── hawk@3.1.3 1047 | 23 silly idealTree ├── hoek@2.16.3 1048 | 23 silly idealTree ├── home-or-tmp@1.0.0 1049 | 23 silly idealTree ├── hooker@0.2.3 1050 | 23 silly idealTree ├─┬ htmlparser2@3.8.3 1051 | 23 silly idealTree │ └── readable-stream@1.1.14 1052 | 23 silly idealTree ├── http-signature@1.1.1 1053 | 23 silly idealTree ├── i@0.3.4 1054 | 23 silly idealTree ├── iconv-lite@0.2.11 1055 | 23 silly idealTree ├── inflight@1.0.4 1056 | 23 silly idealTree ├── inherit@2.2.3 1057 | 23 silly idealTree ├── inherits@2.0.1 1058 | 23 silly idealTree ├── inline-process-browser@2.0.1 1059 | 23 silly idealTree ├── invert-kv@1.0.0 1060 | 23 silly idealTree ├── is-absolute@0.1.7 1061 | 23 silly idealTree ├── is-buffer@1.1.3 1062 | 23 silly idealTree ├── is-finite@1.0.1 1063 | 23 silly idealTree ├── is-integer@1.0.6 1064 | 23 silly idealTree ├── is-my-json-valid@2.13.1 1065 | 23 silly idealTree ├── is-property@1.0.2 1066 | 23 silly idealTree ├── is-relative@0.1.3 1067 | 23 silly idealTree ├── is-stream@1.1.0 1068 | 23 silly idealTree ├── is-typedarray@1.0.0 1069 | 23 silly idealTree ├── is-utf8@0.2.1 1070 | 23 silly idealTree ├── isarray@0.0.1 1071 | 23 silly idealTree ├── isbinaryfile@0.1.9 1072 | 23 silly idealTree ├── isexe@1.1.2 1073 | 23 silly idealTree ├── isstream@0.1.2 1074 | 23 silly idealTree ├── jodid25519@1.0.2 1075 | 23 silly idealTree ├── jquery@2.2.3 1076 | 23 silly idealTree ├── js-tokens@1.0.1 1077 | 23 silly idealTree ├── js-yaml@2.0.5 1078 | 23 silly idealTree ├── jsbn@0.1.0 1079 | 23 silly idealTree ├── jscs-jsdoc@1.3.2 1080 | 23 silly idealTree ├── jscs-preset-wikimedia@1.0.0 1081 | 23 silly idealTree ├─┬ jscs@2.11.0 1082 | 23 silly idealTree │ ├── argparse@1.0.7 1083 | 23 silly idealTree │ ├── esprima@2.7.2 1084 | 23 silly idealTree │ ├── glob@5.0.15 1085 | 23 silly idealTree │ ├── js-yaml@3.4.6 1086 | 23 silly idealTree │ ├── lodash@3.10.1 1087 | 23 silly idealTree │ └── minimatch@3.0.0 1088 | 23 silly idealTree ├─┬ jsdoctypeparser@1.2.0 1089 | 23 silly idealTree │ └── lodash@3.10.1 1090 | 23 silly idealTree ├── jsesc@0.5.0 1091 | 23 silly idealTree ├─┬ jshint@2.8.0 1092 | 23 silly idealTree │ ├── lodash@3.7.0 1093 | 23 silly idealTree │ └── minimatch@2.0.10 1094 | 23 silly idealTree ├── json-schema@0.2.2 1095 | 23 silly idealTree ├── json-stringify-safe@5.0.1 1096 | 23 silly idealTree ├── json5@0.4.0 1097 | 23 silly idealTree ├── jsonfile@2.3.0 1098 | 23 silly idealTree ├── jsonify@0.0.0 1099 | 23 silly idealTree ├── jsonlint@1.6.2 1100 | 23 silly idealTree ├── jsonpointer@2.0.0 1101 | 23 silly idealTree ├── jsprim@1.2.2 1102 | 23 silly idealTree ├── JSV@4.0.2 1103 | 23 silly idealTree ├── kew@0.7.0 1104 | 23 silly idealTree ├── kind-of@3.0.2 1105 | 23 silly idealTree ├── klaw@1.2.0 1106 | 23 silly idealTree ├── lazy-cache@1.0.3 1107 | 23 silly idealTree ├── lazystream@0.1.0 1108 | 23 silly idealTree ├── lcid@1.0.0 1109 | 23 silly idealTree ├── leven@1.0.2 1110 | 23 silly idealTree ├─┬ lodash._baseassign@3.2.0 1111 | 23 silly idealTree │ └── lodash.keys@3.1.2 1112 | 23 silly idealTree ├── lodash._basecopy@3.0.1 1113 | 23 silly idealTree ├── lodash._bindcallback@3.0.1 1114 | 23 silly idealTree ├── lodash._createassigner@3.1.1 1115 | 23 silly idealTree ├── lodash._getnative@3.9.1 1116 | 23 silly idealTree ├── lodash._isiterateecall@3.0.9 1117 | 23 silly idealTree ├── lodash._isnative@2.4.1 1118 | 23 silly idealTree ├── lodash._objecttypes@2.4.1 1119 | 23 silly idealTree ├── lodash._shimkeys@2.4.1 1120 | 23 silly idealTree ├─┬ lodash.assign@3.2.0 1121 | 23 silly idealTree │ └── lodash.keys@3.1.2 1122 | 23 silly idealTree ├── lodash.defaults@2.4.1 1123 | 23 silly idealTree ├── lodash.isarguments@3.0.8 1124 | 23 silly idealTree ├── lodash.isarray@3.0.4 1125 | 23 silly idealTree ├── lodash.isobject@2.4.1 1126 | 23 silly idealTree ├── lodash.keys@2.4.1 1127 | 23 silly idealTree ├── lodash.restparam@3.6.1 1128 | 23 silly idealTree ├── lodash@0.9.2 1129 | 23 silly idealTree ├── longest@1.0.1 1130 | 23 silly idealTree ├── lru-cache@2.7.3 1131 | 23 silly idealTree ├─┬ maxmin@0.1.0 1132 | 23 silly idealTree │ ├── ansi-styles@1.0.0 1133 | 23 silly idealTree │ ├── chalk@0.4.0 1134 | 23 silly idealTree │ └── strip-ansi@0.1.1 1135 | 23 silly idealTree ├── mime-db@1.22.0 1136 | 23 silly idealTree ├── mime-types@2.1.10 1137 | 23 silly idealTree ├── minimatch@0.2.14 1138 | 23 silly idealTree ├── minimist@0.0.8 1139 | 23 silly idealTree ├── mkdirp@0.5.0 1140 | 23 silly idealTree ├── mout@0.11.1 1141 | 23 silly idealTree ├── ms@0.7.1 1142 | 23 silly idealTree ├── mute-stream@0.0.6 1143 | 23 silly idealTree ├── natural-compare@1.2.2 1144 | 23 silly idealTree ├── ncp@0.4.2 1145 | 23 silly idealTree ├── node-uuid@1.4.7 1146 | 23 silly idealTree ├─┬ nomnom@1.8.1 1147 | 23 silly idealTree │ ├── ansi-styles@1.0.0 1148 | 23 silly idealTree │ ├── chalk@0.4.0 1149 | 23 silly idealTree │ ├── strip-ansi@0.1.1 1150 | 23 silly idealTree │ └── underscore@1.6.0 1151 | 23 silly idealTree ├── nopt@1.0.10 1152 | 23 silly idealTree ├─┬ noptify@0.0.3 1153 | 23 silly idealTree │ └── nopt@2.0.0 1154 | 23 silly idealTree ├── number-is-nan@1.0.0 1155 | 23 silly idealTree ├── oauth-sign@0.8.1 1156 | 23 silly idealTree ├── object-assign@4.0.1 1157 | 23 silly idealTree ├── object-keys@1.0.9 1158 | 23 silly idealTree ├── once@1.3.3 1159 | 23 silly idealTree ├── os-locale@1.4.0 1160 | 23 silly idealTree ├── os-tmpdir@1.0.1 1161 | 23 silly idealTree ├─┬ output-file-sync@1.1.1 1162 | 23 silly idealTree │ └── mkdirp@0.5.1 1163 | 23 silly idealTree ├── package@1.0.1 1164 | 23 silly idealTree ├── path-exists@1.0.0 1165 | 23 silly idealTree ├── path-is-absolute@1.0.0 1166 | 23 silly idealTree ├── pathval@0.1.1 1167 | 23 silly idealTree ├── pend@1.2.0 1168 | 23 silly idealTree ├─┬ phantomjs@1.9.20 1169 | 23 silly idealTree │ └── which@1.2.4 1170 | 23 silly idealTree ├── pinkie-promise@2.0.1 1171 | 23 silly idealTree ├── pinkie@2.0.4 1172 | 23 silly idealTree ├── pkginfo@0.4.0 1173 | 23 silly idealTree ├── pretty-bytes@0.1.2 1174 | 23 silly idealTree ├── prettysize@0.0.3 1175 | 23 silly idealTree ├── private@0.1.6 1176 | 23 silly idealTree ├── process-nextick-args@1.0.6 1177 | 23 silly idealTree ├── progress@1.1.8 1178 | 23 silly idealTree ├── prompt@0.2.14 1179 | 23 silly idealTree ├── q@1.4.1 1180 | 23 silly idealTree ├── qs@5.2.0 1181 | 23 silly idealTree ├── read@1.0.7 1182 | 23 silly idealTree ├── readable-stream@1.0.34 1183 | 23 silly idealTree ├─┬ recast@0.10.33 1184 | 23 silly idealTree │ └── esprima-fb@15001.1001.0-dev-harmony-fb 1185 | 23 silly idealTree ├── regenerate@1.2.1 1186 | 23 silly idealTree ├─┬ regenerator@0.8.40 1187 | 23 silly idealTree │ └── esprima-fb@15001.1001.0-dev-harmony-fb 1188 | 23 silly idealTree ├─┬ regexpu@1.3.0 1189 | 23 silly idealTree │ └── esprima@2.7.2 1190 | 23 silly idealTree ├── regjsgen@0.2.0 1191 | 23 silly idealTree ├── regjsparser@0.1.5 1192 | 23 silly idealTree ├── repeat-string@1.5.4 1193 | 23 silly idealTree ├── repeating@1.1.3 1194 | 23 silly idealTree ├── request-progress@2.0.1 1195 | 23 silly idealTree ├── request@2.67.0 1196 | 23 silly idealTree ├── reserved-words@0.1.1 1197 | 23 silly idealTree ├── resolve@1.1.7 1198 | 23 silly idealTree ├── revalidator@0.1.8 1199 | 23 silly idealTree ├── right-align@0.1.3 1200 | 23 silly idealTree ├── rimraf@2.2.8 1201 | 23 silly idealTree ├── semver@5.1.0 1202 | 23 silly idealTree ├── shebang-regex@1.0.0 1203 | 23 silly idealTree ├── shelljs@0.3.0 1204 | 23 silly idealTree ├── sigmund@1.0.1 1205 | 23 silly idealTree ├── simple-fmt@0.1.0 1206 | 23 silly idealTree ├── simple-is@0.2.0 1207 | 23 silly idealTree ├── slash@1.0.0 1208 | 23 silly idealTree ├── sntp@1.0.9 1209 | 23 silly idealTree ├─┬ source-map-support@0.2.10 1210 | 23 silly idealTree │ └── source-map@0.1.32 1211 | 23 silly idealTree ├── source-map@0.5.3 1212 | 23 silly idealTree ├── sprintf-js@1.0.3 1213 | 23 silly idealTree ├── sshpk@1.7.4 1214 | 23 silly idealTree ├── stable@0.1.5 1215 | 23 silly idealTree ├── stack-trace@0.0.9 1216 | 23 silly idealTree ├── string_decoder@0.10.31 1217 | 23 silly idealTree ├── stringmap@0.2.2 1218 | 23 silly idealTree ├── stringset@0.2.1 1219 | 23 silly idealTree ├── stringstream@0.0.5 1220 | 23 silly idealTree ├── strip-ansi@3.0.1 1221 | 23 silly idealTree ├── strip-bom@2.0.0 1222 | 23 silly idealTree ├── strip-json-comments@1.0.4 1223 | 23 silly idealTree ├── supports-color@2.0.0 1224 | 23 silly idealTree ├── tape@0.2.2 1225 | 23 silly idealTree ├── temporary@0.0.8 1226 | 23 silly idealTree ├── throttleit@1.0.0 1227 | 23 silly idealTree ├── through@2.3.8 1228 | 23 silly idealTree ├── through2@0.6.5 1229 | 23 silly idealTree ├─┬ tiny-lr-fork@0.0.5 1230 | 23 silly idealTree │ └── qs@0.5.6 1231 | 23 silly idealTree ├── to-double-quotes@2.0.0 1232 | 23 silly idealTree ├── to-fast-properties@1.0.2 1233 | 23 silly idealTree ├── to-single-quotes@2.0.0 1234 | 23 silly idealTree ├── tough-cookie@2.2.2 1235 | 23 silly idealTree ├── trim-right@1.0.1 1236 | 23 silly idealTree ├── try-resolve@1.0.1 1237 | 23 silly idealTree ├── tryor@0.1.2 1238 | 23 silly idealTree ├── tunnel-agent@0.4.2 1239 | 23 silly idealTree ├── tweetnacl@0.14.3 1240 | 23 silly idealTree ├── typedarray@0.0.6 1241 | 23 silly idealTree ├─┬ uglify-js@2.6.2 1242 | 23 silly idealTree │ └── async@0.2.10 1243 | 23 silly idealTree ├── uglify-to-browserify@1.0.2 1244 | 23 silly idealTree ├── underscore.string@2.2.1 1245 | 23 silly idealTree ├── underscore@1.7.0 1246 | 23 silly idealTree ├─┬ unreachable-branch-transform@0.5.1 1247 | 23 silly idealTree │ ├── ast-types@0.8.16 1248 | 23 silly idealTree │ ├── esprima@2.7.2 1249 | 23 silly idealTree │ └── recast@0.11.5 1250 | 23 silly idealTree ├── user-home@1.1.1 1251 | 23 silly idealTree ├── util-deprecate@1.0.2 1252 | 23 silly idealTree ├─┬ utile@0.2.1 1253 | 23 silly idealTree │ └── async@0.2.10 1254 | 23 silly idealTree ├── verror@1.3.6 1255 | 23 silly idealTree ├─┬ vow-fs@0.3.4 1256 | 23 silly idealTree │ ├── glob@4.5.3 1257 | 23 silly idealTree │ └── minimatch@2.0.10 1258 | 23 silly idealTree ├── vow-queue@0.4.2 1259 | 23 silly idealTree ├── vow@0.4.12 1260 | 23 silly idealTree ├── which@1.0.9 1261 | 23 silly idealTree ├── window-size@0.1.0 1262 | 23 silly idealTree ├─┬ winston@0.8.3 1263 | 23 silly idealTree │ ├── async@0.2.10 1264 | 23 silly idealTree │ └── pkginfo@0.3.1 1265 | 23 silly idealTree ├── wordwrap@0.0.2 1266 | 23 silly idealTree ├── wrappy@1.0.1 1267 | 23 silly idealTree ├─┬ xmlbuilder@3.1.0 1268 | 23 silly idealTree │ └── lodash@3.10.1 1269 | 23 silly idealTree ├── xtend@4.0.1 1270 | 23 silly idealTree ├── y18n@3.2.1 1271 | 23 silly idealTree ├── yargs@3.10.0 1272 | 23 silly idealTree ├── yauzl@2.4.1 1273 | 23 silly idealTree ├── zip-stream@0.2.3 1274 | 23 silly idealTree └── zlib-browserify@0.0.3 1275 | 24 silly generateActionsToTake Starting 1276 | 25 silly install generateActionsToTake 1277 | 26 silly generateActionsToTake Finishing 1278 | 27 silly diffTrees action count 0 1279 | 28 silly decomposeActions action count 0 1280 | 29 silly executeActions Starting 1281 | 30 silly install executeActions 1282 | 31 silly doSerial global-install 0 1283 | 32 silly doParallel fetch 0 1284 | 33 verbose lock using /Users/luu/.npm/_locks/staging-8edce030c2c055f2.lock for /Users/luu/Documents/Luu Nguyen/Individual/Source Code/form-validation-animations/node_modules/.staging 1285 | 34 silly doParallel extract 0 1286 | 35 silly doParallel preinstall 0 1287 | 36 silly doReverseSerial remove 0 1288 | 37 silly doSerial move 0 1289 | 38 silly doSerial finalize 0 1290 | 39 silly doSerial build 0 1291 | 40 silly doSerial global-link 0 1292 | 41 silly doParallel update-linked 0 1293 | 42 silly doSerial install 0 1294 | 43 silly doSerial postinstall 0 1295 | 44 verbose unlock done using /Users/luu/.npm/_locks/staging-8edce030c2c055f2.lock for /Users/luu/Documents/Luu Nguyen/Individual/Source Code/form-validation-animations/node_modules/.staging 1296 | 45 silly executeActions Finishing 1297 | 46 silly rollbackFailedOptional Starting 1298 | 47 silly rollbackFailedOptional Finishing 1299 | 48 silly runTopLevelLifecycles Starting 1300 | 49 silly install runTopLevelLifecycles 1301 | 50 silly preinstall formAnimation@0.0.1 /Users/luu/Documents/Luu Nguyen/Individual/Source Code/form-validation-animations/formAnimation-91aea5c5 1302 | 51 info lifecycle formAnimation@0.0.1~preinstall: formAnimation@0.0.1 1303 | 52 silly lifecycle formAnimation@0.0.1~preinstall: no script for preinstall, continuing 1304 | 53 silly build formAnimation@0.0.1 1305 | 54 info linkStuff formAnimation@0.0.1 1306 | 55 silly linkStuff formAnimation@0.0.1 has /Users/luu/Documents/Luu Nguyen/Individual/Source Code as its parent node_modules 1307 | 56 verbose linkBins formAnimation@0.0.1 1308 | 57 verbose linkMans formAnimation@0.0.1 1309 | 58 silly install formAnimation@0.0.1 /Users/luu/Documents/Luu Nguyen/Individual/Source Code/form-validation-animations/formAnimation-91aea5c5 1310 | 59 info lifecycle formAnimation@0.0.1~install: formAnimation@0.0.1 1311 | 60 silly lifecycle formAnimation@0.0.1~install: no script for install, continuing 1312 | 61 silly postinstall formAnimation@0.0.1 /Users/luu/Documents/Luu Nguyen/Individual/Source Code/form-validation-animations/formAnimation-91aea5c5 1313 | 62 info lifecycle formAnimation@0.0.1~postinstall: formAnimation@0.0.1 1314 | 63 silly lifecycle formAnimation@0.0.1~postinstall: no script for postinstall, continuing 1315 | 64 silly prepublish formAnimation@0.0.1 /Users/luu/Documents/Luu Nguyen/Individual/Source Code/form-validation-animations/formAnimation-91aea5c5 1316 | 65 info lifecycle formAnimation@0.0.1~prepublish: formAnimation@0.0.1 1317 | 66 verbose lifecycle formAnimation@0.0.1~prepublish: unsafe-perm in lifecycle true 1318 | 67 verbose lifecycle formAnimation@0.0.1~prepublish: PATH: /usr/local/lib/node_modules/npm/bin/node-gyp-bin:/Users/luu/Documents/Luu Nguyen/Individual/Source Code/form-validation-animations/node_modules/.bin:/Users/luu/.rvm/gems/ruby-2.0.0-p643/bin:/Users/luu/.rvm/gems/ruby-2.0.0-p643@global/bin:/Users/luu/.rvm/rubies/ruby-2.0.0-p643/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/luu/.rvm/bin 1319 | 68 verbose lifecycle formAnimation@0.0.1~prepublish: CWD: /Users/luu/Documents/Luu Nguyen/Individual/Source Code/form-validation-animations 1320 | 69 silly lifecycle formAnimation@0.0.1~prepublish: Args: [ '-c', 'grunt' ] 1321 | 70 silly lifecycle formAnimation@0.0.1~prepublish: Returned: code: 3 signal: null 1322 | 71 info lifecycle formAnimation@0.0.1~prepublish: Failed to exec prepublish script 1323 | 72 verbose stack Error: formAnimation@0.0.1 prepublish: `grunt` 1324 | 72 verbose stack Exit status 3 1325 | 72 verbose stack at EventEmitter. (/usr/local/lib/node_modules/npm/lib/utils/lifecycle.js:232:16) 1326 | 72 verbose stack at emitTwo (events.js:100:13) 1327 | 72 verbose stack at EventEmitter.emit (events.js:185:7) 1328 | 72 verbose stack at ChildProcess. (/usr/local/lib/node_modules/npm/lib/utils/spawn.js:24:14) 1329 | 72 verbose stack at emitTwo (events.js:100:13) 1330 | 72 verbose stack at ChildProcess.emit (events.js:185:7) 1331 | 72 verbose stack at maybeClose (internal/child_process.js:821:16) 1332 | 72 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5) 1333 | 73 verbose pkgid formAnimation@0.0.1 1334 | 74 verbose cwd /Users/luu/Documents/Luu Nguyen/Individual/Source Code/form-validation-animations 1335 | 75 error Darwin 15.4.0 1336 | 76 error argv "/usr/local/Cellar/node/5.5.0/bin/node" "/usr/local/bin/npm" "install" 1337 | 77 error node v5.5.0 1338 | 78 error npm v3.5.3 1339 | 79 error code ELIFECYCLE 1340 | 80 error formAnimation@0.0.1 prepublish: `grunt` 1341 | 80 error Exit status 3 1342 | 81 error Failed at the formAnimation@0.0.1 prepublish script 'grunt'. 1343 | 81 error Make sure you have the latest version of node.js and npm installed. 1344 | 81 error If you do, this is most likely a problem with the formAnimation package, 1345 | 81 error not with npm itself. 1346 | 81 error Tell the author that this fails on your system: 1347 | 81 error grunt 1348 | 81 error You can get information on how to open an issue for this project with: 1349 | 81 error npm bugs formAnimation 1350 | 81 error Or if that isn't available, you can get their info via: 1351 | 81 error npm owner ls formAnimation 1352 | 81 error There is likely additional logging output above. 1353 | 82 verbose exit [ 1, true ] 1354 | -------------------------------------------------------------------------------- /vendor/animate/animate.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /*! 4 | * animate.css -http://daneden.me/animate 5 | * Version - 3.5.0 6 | * Licensed under the MIT license - http://opensource.org/licenses/MIT 7 | * 8 | * Copyright (c) 2016 Daniel Eden 9 | */ 10 | 11 | .animated { 12 | -webkit-animation-duration: 1s; 13 | animation-duration: 1s; 14 | -webkit-animation-fill-mode: both; 15 | animation-fill-mode: both; 16 | } 17 | 18 | .animated.infinite { 19 | -webkit-animation-iteration-count: infinite; 20 | animation-iteration-count: infinite; 21 | } 22 | 23 | .animated.hinge { 24 | -webkit-animation-duration: 2s; 25 | animation-duration: 2s; 26 | } 27 | 28 | .animated.flipOutX, 29 | .animated.flipOutY, 30 | .animated.bounceIn, 31 | .animated.bounceOut { 32 | -webkit-animation-duration: .75s; 33 | animation-duration: .75s; 34 | } 35 | 36 | @-webkit-keyframes bounce { 37 | from, 20%, 53%, 80%, to { 38 | -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); 39 | animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); 40 | -webkit-transform: translate3d(0,0,0); 41 | transform: translate3d(0,0,0); 42 | } 43 | 44 | 40%, 43% { 45 | -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); 46 | animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); 47 | -webkit-transform: translate3d(0, -30px, 0); 48 | transform: translate3d(0, -30px, 0); 49 | } 50 | 51 | 70% { 52 | -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); 53 | animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); 54 | -webkit-transform: translate3d(0, -15px, 0); 55 | transform: translate3d(0, -15px, 0); 56 | } 57 | 58 | 90% { 59 | -webkit-transform: translate3d(0,-4px,0); 60 | transform: translate3d(0,-4px,0); 61 | } 62 | } 63 | 64 | @keyframes bounce { 65 | from, 20%, 53%, 80%, to { 66 | -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); 67 | animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); 68 | -webkit-transform: translate3d(0,0,0); 69 | transform: translate3d(0,0,0); 70 | } 71 | 72 | 40%, 43% { 73 | -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); 74 | animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); 75 | -webkit-transform: translate3d(0, -30px, 0); 76 | transform: translate3d(0, -30px, 0); 77 | } 78 | 79 | 70% { 80 | -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); 81 | animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); 82 | -webkit-transform: translate3d(0, -15px, 0); 83 | transform: translate3d(0, -15px, 0); 84 | } 85 | 86 | 90% { 87 | -webkit-transform: translate3d(0,-4px,0); 88 | transform: translate3d(0,-4px,0); 89 | } 90 | } 91 | 92 | .bounce { 93 | -webkit-animation-name: bounce; 94 | animation-name: bounce; 95 | -webkit-transform-origin: center bottom; 96 | transform-origin: center bottom; 97 | } 98 | 99 | @-webkit-keyframes flash { 100 | from, 50%, to { 101 | opacity: 1; 102 | } 103 | 104 | 25%, 75% { 105 | opacity: 0; 106 | } 107 | } 108 | 109 | @keyframes flash { 110 | from, 50%, to { 111 | opacity: 1; 112 | } 113 | 114 | 25%, 75% { 115 | opacity: 0; 116 | } 117 | } 118 | 119 | .flash { 120 | -webkit-animation-name: flash; 121 | animation-name: flash; 122 | } 123 | 124 | /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ 125 | 126 | @-webkit-keyframes pulse { 127 | from { 128 | -webkit-transform: scale3d(1, 1, 1); 129 | transform: scale3d(1, 1, 1); 130 | } 131 | 132 | 50% { 133 | -webkit-transform: scale3d(1.05, 1.05, 1.05); 134 | transform: scale3d(1.05, 1.05, 1.05); 135 | } 136 | 137 | to { 138 | -webkit-transform: scale3d(1, 1, 1); 139 | transform: scale3d(1, 1, 1); 140 | } 141 | } 142 | 143 | @keyframes pulse { 144 | from { 145 | -webkit-transform: scale3d(1, 1, 1); 146 | transform: scale3d(1, 1, 1); 147 | } 148 | 149 | 50% { 150 | -webkit-transform: scale3d(1.05, 1.05, 1.05); 151 | transform: scale3d(1.05, 1.05, 1.05); 152 | } 153 | 154 | to { 155 | -webkit-transform: scale3d(1, 1, 1); 156 | transform: scale3d(1, 1, 1); 157 | } 158 | } 159 | 160 | .pulse { 161 | -webkit-animation-name: pulse; 162 | animation-name: pulse; 163 | } 164 | 165 | @-webkit-keyframes rubberBand { 166 | from { 167 | -webkit-transform: scale3d(1, 1, 1); 168 | transform: scale3d(1, 1, 1); 169 | } 170 | 171 | 30% { 172 | -webkit-transform: scale3d(1.25, 0.75, 1); 173 | transform: scale3d(1.25, 0.75, 1); 174 | } 175 | 176 | 40% { 177 | -webkit-transform: scale3d(0.75, 1.25, 1); 178 | transform: scale3d(0.75, 1.25, 1); 179 | } 180 | 181 | 50% { 182 | -webkit-transform: scale3d(1.15, 0.85, 1); 183 | transform: scale3d(1.15, 0.85, 1); 184 | } 185 | 186 | 65% { 187 | -webkit-transform: scale3d(.95, 1.05, 1); 188 | transform: scale3d(.95, 1.05, 1); 189 | } 190 | 191 | 75% { 192 | -webkit-transform: scale3d(1.05, .95, 1); 193 | transform: scale3d(1.05, .95, 1); 194 | } 195 | 196 | to { 197 | -webkit-transform: scale3d(1, 1, 1); 198 | transform: scale3d(1, 1, 1); 199 | } 200 | } 201 | 202 | @keyframes rubberBand { 203 | from { 204 | -webkit-transform: scale3d(1, 1, 1); 205 | transform: scale3d(1, 1, 1); 206 | } 207 | 208 | 30% { 209 | -webkit-transform: scale3d(1.25, 0.75, 1); 210 | transform: scale3d(1.25, 0.75, 1); 211 | } 212 | 213 | 40% { 214 | -webkit-transform: scale3d(0.75, 1.25, 1); 215 | transform: scale3d(0.75, 1.25, 1); 216 | } 217 | 218 | 50% { 219 | -webkit-transform: scale3d(1.15, 0.85, 1); 220 | transform: scale3d(1.15, 0.85, 1); 221 | } 222 | 223 | 65% { 224 | -webkit-transform: scale3d(.95, 1.05, 1); 225 | transform: scale3d(.95, 1.05, 1); 226 | } 227 | 228 | 75% { 229 | -webkit-transform: scale3d(1.05, .95, 1); 230 | transform: scale3d(1.05, .95, 1); 231 | } 232 | 233 | to { 234 | -webkit-transform: scale3d(1, 1, 1); 235 | transform: scale3d(1, 1, 1); 236 | } 237 | } 238 | 239 | .rubberBand { 240 | -webkit-animation-name: rubberBand; 241 | animation-name: rubberBand; 242 | } 243 | 244 | @-webkit-keyframes shake { 245 | from, to { 246 | -webkit-transform: translate3d(0, 0, 0); 247 | transform: translate3d(0, 0, 0); 248 | } 249 | 250 | 10%, 30%, 50%, 70%, 90% { 251 | -webkit-transform: translate3d(-10px, 0, 0); 252 | transform: translate3d(-10px, 0, 0); 253 | } 254 | 255 | 20%, 40%, 60%, 80% { 256 | -webkit-transform: translate3d(10px, 0, 0); 257 | transform: translate3d(10px, 0, 0); 258 | } 259 | } 260 | 261 | @keyframes shake { 262 | from, to { 263 | -webkit-transform: translate3d(0, 0, 0); 264 | transform: translate3d(0, 0, 0); 265 | } 266 | 267 | 10%, 30%, 50%, 70%, 90% { 268 | -webkit-transform: translate3d(-10px, 0, 0); 269 | transform: translate3d(-10px, 0, 0); 270 | } 271 | 272 | 20%, 40%, 60%, 80% { 273 | -webkit-transform: translate3d(10px, 0, 0); 274 | transform: translate3d(10px, 0, 0); 275 | } 276 | } 277 | 278 | .shake { 279 | -webkit-animation-name: shake; 280 | animation-name: shake; 281 | } 282 | 283 | @-webkit-keyframes headShake { 284 | 0% { 285 | -webkit-transform: translateX(0); 286 | transform: translateX(0); 287 | } 288 | 289 | 6.5% { 290 | -webkit-transform: translateX(-6px) rotateY(-9deg); 291 | transform: translateX(-6px) rotateY(-9deg); 292 | } 293 | 294 | 18.5% { 295 | -webkit-transform: translateX(5px) rotateY(7deg); 296 | transform: translateX(5px) rotateY(7deg); 297 | } 298 | 299 | 31.5% { 300 | -webkit-transform: translateX(-3px) rotateY(-5deg); 301 | transform: translateX(-3px) rotateY(-5deg); 302 | } 303 | 304 | 43.5% { 305 | -webkit-transform: translateX(2px) rotateY(3deg); 306 | transform: translateX(2px) rotateY(3deg); 307 | } 308 | 309 | 50% { 310 | -webkit-transform: translateX(0); 311 | transform: translateX(0); 312 | } 313 | } 314 | 315 | @keyframes headShake { 316 | 0% { 317 | -webkit-transform: translateX(0); 318 | transform: translateX(0); 319 | } 320 | 321 | 6.5% { 322 | -webkit-transform: translateX(-6px) rotateY(-9deg); 323 | transform: translateX(-6px) rotateY(-9deg); 324 | } 325 | 326 | 18.5% { 327 | -webkit-transform: translateX(5px) rotateY(7deg); 328 | transform: translateX(5px) rotateY(7deg); 329 | } 330 | 331 | 31.5% { 332 | -webkit-transform: translateX(-3px) rotateY(-5deg); 333 | transform: translateX(-3px) rotateY(-5deg); 334 | } 335 | 336 | 43.5% { 337 | -webkit-transform: translateX(2px) rotateY(3deg); 338 | transform: translateX(2px) rotateY(3deg); 339 | } 340 | 341 | 50% { 342 | -webkit-transform: translateX(0); 343 | transform: translateX(0); 344 | } 345 | } 346 | 347 | .headShake { 348 | -webkit-animation-timing-function: ease-in-out; 349 | animation-timing-function: ease-in-out; 350 | -webkit-animation-name: headShake; 351 | animation-name: headShake; 352 | } 353 | 354 | @-webkit-keyframes swing { 355 | 20% { 356 | -webkit-transform: rotate3d(0, 0, 1, 15deg); 357 | transform: rotate3d(0, 0, 1, 15deg); 358 | } 359 | 360 | 40% { 361 | -webkit-transform: rotate3d(0, 0, 1, -10deg); 362 | transform: rotate3d(0, 0, 1, -10deg); 363 | } 364 | 365 | 60% { 366 | -webkit-transform: rotate3d(0, 0, 1, 5deg); 367 | transform: rotate3d(0, 0, 1, 5deg); 368 | } 369 | 370 | 80% { 371 | -webkit-transform: rotate3d(0, 0, 1, -5deg); 372 | transform: rotate3d(0, 0, 1, -5deg); 373 | } 374 | 375 | to { 376 | -webkit-transform: rotate3d(0, 0, 1, 0deg); 377 | transform: rotate3d(0, 0, 1, 0deg); 378 | } 379 | } 380 | 381 | @keyframes swing { 382 | 20% { 383 | -webkit-transform: rotate3d(0, 0, 1, 15deg); 384 | transform: rotate3d(0, 0, 1, 15deg); 385 | } 386 | 387 | 40% { 388 | -webkit-transform: rotate3d(0, 0, 1, -10deg); 389 | transform: rotate3d(0, 0, 1, -10deg); 390 | } 391 | 392 | 60% { 393 | -webkit-transform: rotate3d(0, 0, 1, 5deg); 394 | transform: rotate3d(0, 0, 1, 5deg); 395 | } 396 | 397 | 80% { 398 | -webkit-transform: rotate3d(0, 0, 1, -5deg); 399 | transform: rotate3d(0, 0, 1, -5deg); 400 | } 401 | 402 | to { 403 | -webkit-transform: rotate3d(0, 0, 1, 0deg); 404 | transform: rotate3d(0, 0, 1, 0deg); 405 | } 406 | } 407 | 408 | .swing { 409 | -webkit-transform-origin: top center; 410 | transform-origin: top center; 411 | -webkit-animation-name: swing; 412 | animation-name: swing; 413 | } 414 | 415 | @-webkit-keyframes tada { 416 | from { 417 | -webkit-transform: scale3d(1, 1, 1); 418 | transform: scale3d(1, 1, 1); 419 | } 420 | 421 | 10%, 20% { 422 | -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); 423 | transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); 424 | } 425 | 426 | 30%, 50%, 70%, 90% { 427 | -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); 428 | transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); 429 | } 430 | 431 | 40%, 60%, 80% { 432 | -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); 433 | transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); 434 | } 435 | 436 | to { 437 | -webkit-transform: scale3d(1, 1, 1); 438 | transform: scale3d(1, 1, 1); 439 | } 440 | } 441 | 442 | @keyframes tada { 443 | from { 444 | -webkit-transform: scale3d(1, 1, 1); 445 | transform: scale3d(1, 1, 1); 446 | } 447 | 448 | 10%, 20% { 449 | -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); 450 | transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); 451 | } 452 | 453 | 30%, 50%, 70%, 90% { 454 | -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); 455 | transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); 456 | } 457 | 458 | 40%, 60%, 80% { 459 | -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); 460 | transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); 461 | } 462 | 463 | to { 464 | -webkit-transform: scale3d(1, 1, 1); 465 | transform: scale3d(1, 1, 1); 466 | } 467 | } 468 | 469 | .tada { 470 | -webkit-animation-name: tada; 471 | animation-name: tada; 472 | } 473 | 474 | /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ 475 | 476 | @-webkit-keyframes wobble { 477 | from { 478 | -webkit-transform: none; 479 | transform: none; 480 | } 481 | 482 | 15% { 483 | -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); 484 | transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); 485 | } 486 | 487 | 30% { 488 | -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); 489 | transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); 490 | } 491 | 492 | 45% { 493 | -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); 494 | transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); 495 | } 496 | 497 | 60% { 498 | -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); 499 | transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); 500 | } 501 | 502 | 75% { 503 | -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); 504 | transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); 505 | } 506 | 507 | to { 508 | -webkit-transform: none; 509 | transform: none; 510 | } 511 | } 512 | 513 | @keyframes wobble { 514 | from { 515 | -webkit-transform: none; 516 | transform: none; 517 | } 518 | 519 | 15% { 520 | -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); 521 | transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); 522 | } 523 | 524 | 30% { 525 | -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); 526 | transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); 527 | } 528 | 529 | 45% { 530 | -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); 531 | transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); 532 | } 533 | 534 | 60% { 535 | -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); 536 | transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); 537 | } 538 | 539 | 75% { 540 | -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); 541 | transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); 542 | } 543 | 544 | to { 545 | -webkit-transform: none; 546 | transform: none; 547 | } 548 | } 549 | 550 | .wobble { 551 | -webkit-animation-name: wobble; 552 | animation-name: wobble; 553 | } 554 | 555 | @-webkit-keyframes jello { 556 | from, 11.1%, to { 557 | -webkit-transform: none; 558 | transform: none; 559 | } 560 | 561 | 22.2% { 562 | -webkit-transform: skewX(-12.5deg) skewY(-12.5deg); 563 | transform: skewX(-12.5deg) skewY(-12.5deg); 564 | } 565 | 566 | 33.3% { 567 | -webkit-transform: skewX(6.25deg) skewY(6.25deg); 568 | transform: skewX(6.25deg) skewY(6.25deg); 569 | } 570 | 571 | 44.4% { 572 | -webkit-transform: skewX(-3.125deg) skewY(-3.125deg); 573 | transform: skewX(-3.125deg) skewY(-3.125deg); 574 | } 575 | 576 | 55.5% { 577 | -webkit-transform: skewX(1.5625deg) skewY(1.5625deg); 578 | transform: skewX(1.5625deg) skewY(1.5625deg); 579 | } 580 | 581 | 66.6% { 582 | -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg); 583 | transform: skewX(-0.78125deg) skewY(-0.78125deg); 584 | } 585 | 586 | 77.7% { 587 | -webkit-transform: skewX(0.390625deg) skewY(0.390625deg); 588 | transform: skewX(0.390625deg) skewY(0.390625deg); 589 | } 590 | 591 | 88.8% { 592 | -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg); 593 | transform: skewX(-0.1953125deg) skewY(-0.1953125deg); 594 | } 595 | } 596 | 597 | @keyframes jello { 598 | from, 11.1%, to { 599 | -webkit-transform: none; 600 | transform: none; 601 | } 602 | 603 | 22.2% { 604 | -webkit-transform: skewX(-12.5deg) skewY(-12.5deg); 605 | transform: skewX(-12.5deg) skewY(-12.5deg); 606 | } 607 | 608 | 33.3% { 609 | -webkit-transform: skewX(6.25deg) skewY(6.25deg); 610 | transform: skewX(6.25deg) skewY(6.25deg); 611 | } 612 | 613 | 44.4% { 614 | -webkit-transform: skewX(-3.125deg) skewY(-3.125deg); 615 | transform: skewX(-3.125deg) skewY(-3.125deg); 616 | } 617 | 618 | 55.5% { 619 | -webkit-transform: skewX(1.5625deg) skewY(1.5625deg); 620 | transform: skewX(1.5625deg) skewY(1.5625deg); 621 | } 622 | 623 | 66.6% { 624 | -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg); 625 | transform: skewX(-0.78125deg) skewY(-0.78125deg); 626 | } 627 | 628 | 77.7% { 629 | -webkit-transform: skewX(0.390625deg) skewY(0.390625deg); 630 | transform: skewX(0.390625deg) skewY(0.390625deg); 631 | } 632 | 633 | 88.8% { 634 | -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg); 635 | transform: skewX(-0.1953125deg) skewY(-0.1953125deg); 636 | } 637 | } 638 | 639 | .jello { 640 | -webkit-animation-name: jello; 641 | animation-name: jello; 642 | -webkit-transform-origin: center; 643 | transform-origin: center; 644 | } 645 | 646 | @-webkit-keyframes bounceIn { 647 | from, 20%, 40%, 60%, 80%, to { 648 | -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); 649 | animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); 650 | } 651 | 652 | 0% { 653 | opacity: 0; 654 | -webkit-transform: scale3d(.3, .3, .3); 655 | transform: scale3d(.3, .3, .3); 656 | } 657 | 658 | 20% { 659 | -webkit-transform: scale3d(1.1, 1.1, 1.1); 660 | transform: scale3d(1.1, 1.1, 1.1); 661 | } 662 | 663 | 40% { 664 | -webkit-transform: scale3d(.9, .9, .9); 665 | transform: scale3d(.9, .9, .9); 666 | } 667 | 668 | 60% { 669 | opacity: 1; 670 | -webkit-transform: scale3d(1.03, 1.03, 1.03); 671 | transform: scale3d(1.03, 1.03, 1.03); 672 | } 673 | 674 | 80% { 675 | -webkit-transform: scale3d(.97, .97, .97); 676 | transform: scale3d(.97, .97, .97); 677 | } 678 | 679 | to { 680 | opacity: 1; 681 | -webkit-transform: scale3d(1, 1, 1); 682 | transform: scale3d(1, 1, 1); 683 | } 684 | } 685 | 686 | @keyframes bounceIn { 687 | from, 20%, 40%, 60%, 80%, to { 688 | -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); 689 | animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); 690 | } 691 | 692 | 0% { 693 | opacity: 0; 694 | -webkit-transform: scale3d(.3, .3, .3); 695 | transform: scale3d(.3, .3, .3); 696 | } 697 | 698 | 20% { 699 | -webkit-transform: scale3d(1.1, 1.1, 1.1); 700 | transform: scale3d(1.1, 1.1, 1.1); 701 | } 702 | 703 | 40% { 704 | -webkit-transform: scale3d(.9, .9, .9); 705 | transform: scale3d(.9, .9, .9); 706 | } 707 | 708 | 60% { 709 | opacity: 1; 710 | -webkit-transform: scale3d(1.03, 1.03, 1.03); 711 | transform: scale3d(1.03, 1.03, 1.03); 712 | } 713 | 714 | 80% { 715 | -webkit-transform: scale3d(.97, .97, .97); 716 | transform: scale3d(.97, .97, .97); 717 | } 718 | 719 | to { 720 | opacity: 1; 721 | -webkit-transform: scale3d(1, 1, 1); 722 | transform: scale3d(1, 1, 1); 723 | } 724 | } 725 | 726 | .bounceIn { 727 | -webkit-animation-name: bounceIn; 728 | animation-name: bounceIn; 729 | } 730 | 731 | @-webkit-keyframes bounceInDown { 732 | from, 60%, 75%, 90%, to { 733 | -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); 734 | animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); 735 | } 736 | 737 | 0% { 738 | opacity: 0; 739 | -webkit-transform: translate3d(0, -3000px, 0); 740 | transform: translate3d(0, -3000px, 0); 741 | } 742 | 743 | 60% { 744 | opacity: 1; 745 | -webkit-transform: translate3d(0, 25px, 0); 746 | transform: translate3d(0, 25px, 0); 747 | } 748 | 749 | 75% { 750 | -webkit-transform: translate3d(0, -10px, 0); 751 | transform: translate3d(0, -10px, 0); 752 | } 753 | 754 | 90% { 755 | -webkit-transform: translate3d(0, 5px, 0); 756 | transform: translate3d(0, 5px, 0); 757 | } 758 | 759 | to { 760 | -webkit-transform: none; 761 | transform: none; 762 | } 763 | } 764 | 765 | @keyframes bounceInDown { 766 | from, 60%, 75%, 90%, to { 767 | -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); 768 | animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); 769 | } 770 | 771 | 0% { 772 | opacity: 0; 773 | -webkit-transform: translate3d(0, -3000px, 0); 774 | transform: translate3d(0, -3000px, 0); 775 | } 776 | 777 | 60% { 778 | opacity: 1; 779 | -webkit-transform: translate3d(0, 25px, 0); 780 | transform: translate3d(0, 25px, 0); 781 | } 782 | 783 | 75% { 784 | -webkit-transform: translate3d(0, -10px, 0); 785 | transform: translate3d(0, -10px, 0); 786 | } 787 | 788 | 90% { 789 | -webkit-transform: translate3d(0, 5px, 0); 790 | transform: translate3d(0, 5px, 0); 791 | } 792 | 793 | to { 794 | -webkit-transform: none; 795 | transform: none; 796 | } 797 | } 798 | 799 | .bounceInDown { 800 | -webkit-animation-name: bounceInDown; 801 | animation-name: bounceInDown; 802 | } 803 | 804 | @-webkit-keyframes bounceInLeft { 805 | from, 60%, 75%, 90%, to { 806 | -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); 807 | animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); 808 | } 809 | 810 | 0% { 811 | opacity: 0; 812 | -webkit-transform: translate3d(-3000px, 0, 0); 813 | transform: translate3d(-3000px, 0, 0); 814 | } 815 | 816 | 60% { 817 | opacity: 1; 818 | -webkit-transform: translate3d(25px, 0, 0); 819 | transform: translate3d(25px, 0, 0); 820 | } 821 | 822 | 75% { 823 | -webkit-transform: translate3d(-10px, 0, 0); 824 | transform: translate3d(-10px, 0, 0); 825 | } 826 | 827 | 90% { 828 | -webkit-transform: translate3d(5px, 0, 0); 829 | transform: translate3d(5px, 0, 0); 830 | } 831 | 832 | to { 833 | -webkit-transform: none; 834 | transform: none; 835 | } 836 | } 837 | 838 | @keyframes bounceInLeft { 839 | from, 60%, 75%, 90%, to { 840 | -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); 841 | animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); 842 | } 843 | 844 | 0% { 845 | opacity: 0; 846 | -webkit-transform: translate3d(-3000px, 0, 0); 847 | transform: translate3d(-3000px, 0, 0); 848 | } 849 | 850 | 60% { 851 | opacity: 1; 852 | -webkit-transform: translate3d(25px, 0, 0); 853 | transform: translate3d(25px, 0, 0); 854 | } 855 | 856 | 75% { 857 | -webkit-transform: translate3d(-10px, 0, 0); 858 | transform: translate3d(-10px, 0, 0); 859 | } 860 | 861 | 90% { 862 | -webkit-transform: translate3d(5px, 0, 0); 863 | transform: translate3d(5px, 0, 0); 864 | } 865 | 866 | to { 867 | -webkit-transform: none; 868 | transform: none; 869 | } 870 | } 871 | 872 | .bounceInLeft { 873 | -webkit-animation-name: bounceInLeft; 874 | animation-name: bounceInLeft; 875 | } 876 | 877 | @-webkit-keyframes bounceInRight { 878 | from, 60%, 75%, 90%, to { 879 | -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); 880 | animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); 881 | } 882 | 883 | from { 884 | opacity: 0; 885 | -webkit-transform: translate3d(3000px, 0, 0); 886 | transform: translate3d(3000px, 0, 0); 887 | } 888 | 889 | 60% { 890 | opacity: 1; 891 | -webkit-transform: translate3d(-25px, 0, 0); 892 | transform: translate3d(-25px, 0, 0); 893 | } 894 | 895 | 75% { 896 | -webkit-transform: translate3d(10px, 0, 0); 897 | transform: translate3d(10px, 0, 0); 898 | } 899 | 900 | 90% { 901 | -webkit-transform: translate3d(-5px, 0, 0); 902 | transform: translate3d(-5px, 0, 0); 903 | } 904 | 905 | to { 906 | -webkit-transform: none; 907 | transform: none; 908 | } 909 | } 910 | 911 | @keyframes bounceInRight { 912 | from, 60%, 75%, 90%, to { 913 | -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); 914 | animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); 915 | } 916 | 917 | from { 918 | opacity: 0; 919 | -webkit-transform: translate3d(3000px, 0, 0); 920 | transform: translate3d(3000px, 0, 0); 921 | } 922 | 923 | 60% { 924 | opacity: 1; 925 | -webkit-transform: translate3d(-25px, 0, 0); 926 | transform: translate3d(-25px, 0, 0); 927 | } 928 | 929 | 75% { 930 | -webkit-transform: translate3d(10px, 0, 0); 931 | transform: translate3d(10px, 0, 0); 932 | } 933 | 934 | 90% { 935 | -webkit-transform: translate3d(-5px, 0, 0); 936 | transform: translate3d(-5px, 0, 0); 937 | } 938 | 939 | to { 940 | -webkit-transform: none; 941 | transform: none; 942 | } 943 | } 944 | 945 | .bounceInRight { 946 | -webkit-animation-name: bounceInRight; 947 | animation-name: bounceInRight; 948 | } 949 | 950 | @-webkit-keyframes bounceInUp { 951 | from, 60%, 75%, 90%, to { 952 | -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); 953 | animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); 954 | } 955 | 956 | from { 957 | opacity: 0; 958 | -webkit-transform: translate3d(0, 3000px, 0); 959 | transform: translate3d(0, 3000px, 0); 960 | } 961 | 962 | 60% { 963 | opacity: 1; 964 | -webkit-transform: translate3d(0, -20px, 0); 965 | transform: translate3d(0, -20px, 0); 966 | } 967 | 968 | 75% { 969 | -webkit-transform: translate3d(0, 10px, 0); 970 | transform: translate3d(0, 10px, 0); 971 | } 972 | 973 | 90% { 974 | -webkit-transform: translate3d(0, -5px, 0); 975 | transform: translate3d(0, -5px, 0); 976 | } 977 | 978 | to { 979 | -webkit-transform: translate3d(0, 0, 0); 980 | transform: translate3d(0, 0, 0); 981 | } 982 | } 983 | 984 | @keyframes bounceInUp { 985 | from, 60%, 75%, 90%, to { 986 | -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); 987 | animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); 988 | } 989 | 990 | from { 991 | opacity: 0; 992 | -webkit-transform: translate3d(0, 3000px, 0); 993 | transform: translate3d(0, 3000px, 0); 994 | } 995 | 996 | 60% { 997 | opacity: 1; 998 | -webkit-transform: translate3d(0, -20px, 0); 999 | transform: translate3d(0, -20px, 0); 1000 | } 1001 | 1002 | 75% { 1003 | -webkit-transform: translate3d(0, 10px, 0); 1004 | transform: translate3d(0, 10px, 0); 1005 | } 1006 | 1007 | 90% { 1008 | -webkit-transform: translate3d(0, -5px, 0); 1009 | transform: translate3d(0, -5px, 0); 1010 | } 1011 | 1012 | to { 1013 | -webkit-transform: translate3d(0, 0, 0); 1014 | transform: translate3d(0, 0, 0); 1015 | } 1016 | } 1017 | 1018 | .bounceInUp { 1019 | -webkit-animation-name: bounceInUp; 1020 | animation-name: bounceInUp; 1021 | } 1022 | 1023 | @-webkit-keyframes bounceOut { 1024 | 20% { 1025 | -webkit-transform: scale3d(.9, .9, .9); 1026 | transform: scale3d(.9, .9, .9); 1027 | } 1028 | 1029 | 50%, 55% { 1030 | opacity: 1; 1031 | -webkit-transform: scale3d(1.1, 1.1, 1.1); 1032 | transform: scale3d(1.1, 1.1, 1.1); 1033 | } 1034 | 1035 | to { 1036 | opacity: 0; 1037 | -webkit-transform: scale3d(.3, .3, .3); 1038 | transform: scale3d(.3, .3, .3); 1039 | } 1040 | } 1041 | 1042 | @keyframes bounceOut { 1043 | 20% { 1044 | -webkit-transform: scale3d(.9, .9, .9); 1045 | transform: scale3d(.9, .9, .9); 1046 | } 1047 | 1048 | 50%, 55% { 1049 | opacity: 1; 1050 | -webkit-transform: scale3d(1.1, 1.1, 1.1); 1051 | transform: scale3d(1.1, 1.1, 1.1); 1052 | } 1053 | 1054 | to { 1055 | opacity: 0; 1056 | -webkit-transform: scale3d(.3, .3, .3); 1057 | transform: scale3d(.3, .3, .3); 1058 | } 1059 | } 1060 | 1061 | .bounceOut { 1062 | -webkit-animation-name: bounceOut; 1063 | animation-name: bounceOut; 1064 | } 1065 | 1066 | @-webkit-keyframes bounceOutDown { 1067 | 20% { 1068 | -webkit-transform: translate3d(0, 10px, 0); 1069 | transform: translate3d(0, 10px, 0); 1070 | } 1071 | 1072 | 40%, 45% { 1073 | opacity: 1; 1074 | -webkit-transform: translate3d(0, -20px, 0); 1075 | transform: translate3d(0, -20px, 0); 1076 | } 1077 | 1078 | to { 1079 | opacity: 0; 1080 | -webkit-transform: translate3d(0, 2000px, 0); 1081 | transform: translate3d(0, 2000px, 0); 1082 | } 1083 | } 1084 | 1085 | @keyframes bounceOutDown { 1086 | 20% { 1087 | -webkit-transform: translate3d(0, 10px, 0); 1088 | transform: translate3d(0, 10px, 0); 1089 | } 1090 | 1091 | 40%, 45% { 1092 | opacity: 1; 1093 | -webkit-transform: translate3d(0, -20px, 0); 1094 | transform: translate3d(0, -20px, 0); 1095 | } 1096 | 1097 | to { 1098 | opacity: 0; 1099 | -webkit-transform: translate3d(0, 2000px, 0); 1100 | transform: translate3d(0, 2000px, 0); 1101 | } 1102 | } 1103 | 1104 | .bounceOutDown { 1105 | -webkit-animation-name: bounceOutDown; 1106 | animation-name: bounceOutDown; 1107 | } 1108 | 1109 | @-webkit-keyframes bounceOutLeft { 1110 | 20% { 1111 | opacity: 1; 1112 | -webkit-transform: translate3d(20px, 0, 0); 1113 | transform: translate3d(20px, 0, 0); 1114 | } 1115 | 1116 | to { 1117 | opacity: 0; 1118 | -webkit-transform: translate3d(-2000px, 0, 0); 1119 | transform: translate3d(-2000px, 0, 0); 1120 | } 1121 | } 1122 | 1123 | @keyframes bounceOutLeft { 1124 | 20% { 1125 | opacity: 1; 1126 | -webkit-transform: translate3d(20px, 0, 0); 1127 | transform: translate3d(20px, 0, 0); 1128 | } 1129 | 1130 | to { 1131 | opacity: 0; 1132 | -webkit-transform: translate3d(-2000px, 0, 0); 1133 | transform: translate3d(-2000px, 0, 0); 1134 | } 1135 | } 1136 | 1137 | .bounceOutLeft { 1138 | -webkit-animation-name: bounceOutLeft; 1139 | animation-name: bounceOutLeft; 1140 | } 1141 | 1142 | @-webkit-keyframes bounceOutRight { 1143 | 20% { 1144 | opacity: 1; 1145 | -webkit-transform: translate3d(-20px, 0, 0); 1146 | transform: translate3d(-20px, 0, 0); 1147 | } 1148 | 1149 | to { 1150 | opacity: 0; 1151 | -webkit-transform: translate3d(2000px, 0, 0); 1152 | transform: translate3d(2000px, 0, 0); 1153 | } 1154 | } 1155 | 1156 | @keyframes bounceOutRight { 1157 | 20% { 1158 | opacity: 1; 1159 | -webkit-transform: translate3d(-20px, 0, 0); 1160 | transform: translate3d(-20px, 0, 0); 1161 | } 1162 | 1163 | to { 1164 | opacity: 0; 1165 | -webkit-transform: translate3d(2000px, 0, 0); 1166 | transform: translate3d(2000px, 0, 0); 1167 | } 1168 | } 1169 | 1170 | .bounceOutRight { 1171 | -webkit-animation-name: bounceOutRight; 1172 | animation-name: bounceOutRight; 1173 | } 1174 | 1175 | @-webkit-keyframes bounceOutUp { 1176 | 20% { 1177 | -webkit-transform: translate3d(0, -10px, 0); 1178 | transform: translate3d(0, -10px, 0); 1179 | } 1180 | 1181 | 40%, 45% { 1182 | opacity: 1; 1183 | -webkit-transform: translate3d(0, 20px, 0); 1184 | transform: translate3d(0, 20px, 0); 1185 | } 1186 | 1187 | to { 1188 | opacity: 0; 1189 | -webkit-transform: translate3d(0, -2000px, 0); 1190 | transform: translate3d(0, -2000px, 0); 1191 | } 1192 | } 1193 | 1194 | @keyframes bounceOutUp { 1195 | 20% { 1196 | -webkit-transform: translate3d(0, -10px, 0); 1197 | transform: translate3d(0, -10px, 0); 1198 | } 1199 | 1200 | 40%, 45% { 1201 | opacity: 1; 1202 | -webkit-transform: translate3d(0, 20px, 0); 1203 | transform: translate3d(0, 20px, 0); 1204 | } 1205 | 1206 | to { 1207 | opacity: 0; 1208 | -webkit-transform: translate3d(0, -2000px, 0); 1209 | transform: translate3d(0, -2000px, 0); 1210 | } 1211 | } 1212 | 1213 | .bounceOutUp { 1214 | -webkit-animation-name: bounceOutUp; 1215 | animation-name: bounceOutUp; 1216 | } 1217 | 1218 | @-webkit-keyframes fadeIn { 1219 | from { 1220 | opacity: 0; 1221 | } 1222 | 1223 | to { 1224 | opacity: 1; 1225 | } 1226 | } 1227 | 1228 | @keyframes fadeIn { 1229 | from { 1230 | opacity: 0; 1231 | } 1232 | 1233 | to { 1234 | opacity: 1; 1235 | } 1236 | } 1237 | 1238 | .fadeIn { 1239 | -webkit-animation-name: fadeIn; 1240 | animation-name: fadeIn; 1241 | } 1242 | 1243 | @-webkit-keyframes fadeInDown { 1244 | from { 1245 | opacity: 0; 1246 | -webkit-transform: translate3d(0, -100%, 0); 1247 | transform: translate3d(0, -100%, 0); 1248 | } 1249 | 1250 | to { 1251 | opacity: 1; 1252 | -webkit-transform: none; 1253 | transform: none; 1254 | } 1255 | } 1256 | 1257 | @keyframes fadeInDown { 1258 | from { 1259 | opacity: 0; 1260 | -webkit-transform: translate3d(0, -100%, 0); 1261 | transform: translate3d(0, -100%, 0); 1262 | } 1263 | 1264 | to { 1265 | opacity: 1; 1266 | -webkit-transform: none; 1267 | transform: none; 1268 | } 1269 | } 1270 | 1271 | .fadeInDown { 1272 | -webkit-animation-name: fadeInDown; 1273 | animation-name: fadeInDown; 1274 | } 1275 | 1276 | @-webkit-keyframes fadeInDownBig { 1277 | from { 1278 | opacity: 0; 1279 | -webkit-transform: translate3d(0, -2000px, 0); 1280 | transform: translate3d(0, -2000px, 0); 1281 | } 1282 | 1283 | to { 1284 | opacity: 1; 1285 | -webkit-transform: none; 1286 | transform: none; 1287 | } 1288 | } 1289 | 1290 | @keyframes fadeInDownBig { 1291 | from { 1292 | opacity: 0; 1293 | -webkit-transform: translate3d(0, -2000px, 0); 1294 | transform: translate3d(0, -2000px, 0); 1295 | } 1296 | 1297 | to { 1298 | opacity: 1; 1299 | -webkit-transform: none; 1300 | transform: none; 1301 | } 1302 | } 1303 | 1304 | .fadeInDownBig { 1305 | -webkit-animation-name: fadeInDownBig; 1306 | animation-name: fadeInDownBig; 1307 | } 1308 | 1309 | @-webkit-keyframes fadeInLeft { 1310 | from { 1311 | opacity: 0; 1312 | -webkit-transform: translate3d(-100%, 0, 0); 1313 | transform: translate3d(-100%, 0, 0); 1314 | } 1315 | 1316 | to { 1317 | opacity: 1; 1318 | -webkit-transform: none; 1319 | transform: none; 1320 | } 1321 | } 1322 | 1323 | @keyframes fadeInLeft { 1324 | from { 1325 | opacity: 0; 1326 | -webkit-transform: translate3d(-100%, 0, 0); 1327 | transform: translate3d(-100%, 0, 0); 1328 | } 1329 | 1330 | to { 1331 | opacity: 1; 1332 | -webkit-transform: none; 1333 | transform: none; 1334 | } 1335 | } 1336 | 1337 | .fadeInLeft { 1338 | -webkit-animation-name: fadeInLeft; 1339 | animation-name: fadeInLeft; 1340 | } 1341 | 1342 | @-webkit-keyframes fadeInLeftBig { 1343 | from { 1344 | opacity: 0; 1345 | -webkit-transform: translate3d(-2000px, 0, 0); 1346 | transform: translate3d(-2000px, 0, 0); 1347 | } 1348 | 1349 | to { 1350 | opacity: 1; 1351 | -webkit-transform: none; 1352 | transform: none; 1353 | } 1354 | } 1355 | 1356 | @keyframes fadeInLeftBig { 1357 | from { 1358 | opacity: 0; 1359 | -webkit-transform: translate3d(-2000px, 0, 0); 1360 | transform: translate3d(-2000px, 0, 0); 1361 | } 1362 | 1363 | to { 1364 | opacity: 1; 1365 | -webkit-transform: none; 1366 | transform: none; 1367 | } 1368 | } 1369 | 1370 | .fadeInLeftBig { 1371 | -webkit-animation-name: fadeInLeftBig; 1372 | animation-name: fadeInLeftBig; 1373 | } 1374 | 1375 | @-webkit-keyframes fadeInRight { 1376 | from { 1377 | opacity: 0; 1378 | -webkit-transform: translate3d(100%, 0, 0); 1379 | transform: translate3d(100%, 0, 0); 1380 | } 1381 | 1382 | to { 1383 | opacity: 1; 1384 | -webkit-transform: none; 1385 | transform: none; 1386 | } 1387 | } 1388 | 1389 | @keyframes fadeInRight { 1390 | from { 1391 | opacity: 0; 1392 | -webkit-transform: translate3d(100%, 0, 0); 1393 | transform: translate3d(100%, 0, 0); 1394 | } 1395 | 1396 | to { 1397 | opacity: 1; 1398 | -webkit-transform: none; 1399 | transform: none; 1400 | } 1401 | } 1402 | 1403 | .fadeInRight { 1404 | -webkit-animation-name: fadeInRight; 1405 | animation-name: fadeInRight; 1406 | } 1407 | 1408 | @-webkit-keyframes fadeInRightBig { 1409 | from { 1410 | opacity: 0; 1411 | -webkit-transform: translate3d(2000px, 0, 0); 1412 | transform: translate3d(2000px, 0, 0); 1413 | } 1414 | 1415 | to { 1416 | opacity: 1; 1417 | -webkit-transform: none; 1418 | transform: none; 1419 | } 1420 | } 1421 | 1422 | @keyframes fadeInRightBig { 1423 | from { 1424 | opacity: 0; 1425 | -webkit-transform: translate3d(2000px, 0, 0); 1426 | transform: translate3d(2000px, 0, 0); 1427 | } 1428 | 1429 | to { 1430 | opacity: 1; 1431 | -webkit-transform: none; 1432 | transform: none; 1433 | } 1434 | } 1435 | 1436 | .fadeInRightBig { 1437 | -webkit-animation-name: fadeInRightBig; 1438 | animation-name: fadeInRightBig; 1439 | } 1440 | 1441 | @-webkit-keyframes fadeInUp { 1442 | from { 1443 | opacity: 0; 1444 | -webkit-transform: translate3d(0, 100%, 0); 1445 | transform: translate3d(0, 100%, 0); 1446 | } 1447 | 1448 | to { 1449 | opacity: 1; 1450 | -webkit-transform: none; 1451 | transform: none; 1452 | } 1453 | } 1454 | 1455 | @keyframes fadeInUp { 1456 | from { 1457 | opacity: 0; 1458 | -webkit-transform: translate3d(0, 100%, 0); 1459 | transform: translate3d(0, 100%, 0); 1460 | } 1461 | 1462 | to { 1463 | opacity: 1; 1464 | -webkit-transform: none; 1465 | transform: none; 1466 | } 1467 | } 1468 | 1469 | .fadeInUp { 1470 | -webkit-animation-name: fadeInUp; 1471 | animation-name: fadeInUp; 1472 | } 1473 | 1474 | @-webkit-keyframes fadeInUpBig { 1475 | from { 1476 | opacity: 0; 1477 | -webkit-transform: translate3d(0, 2000px, 0); 1478 | transform: translate3d(0, 2000px, 0); 1479 | } 1480 | 1481 | to { 1482 | opacity: 1; 1483 | -webkit-transform: none; 1484 | transform: none; 1485 | } 1486 | } 1487 | 1488 | @keyframes fadeInUpBig { 1489 | from { 1490 | opacity: 0; 1491 | -webkit-transform: translate3d(0, 2000px, 0); 1492 | transform: translate3d(0, 2000px, 0); 1493 | } 1494 | 1495 | to { 1496 | opacity: 1; 1497 | -webkit-transform: none; 1498 | transform: none; 1499 | } 1500 | } 1501 | 1502 | .fadeInUpBig { 1503 | -webkit-animation-name: fadeInUpBig; 1504 | animation-name: fadeInUpBig; 1505 | } 1506 | 1507 | @-webkit-keyframes fadeOut { 1508 | from { 1509 | opacity: 1; 1510 | } 1511 | 1512 | to { 1513 | opacity: 0; 1514 | } 1515 | } 1516 | 1517 | @keyframes fadeOut { 1518 | from { 1519 | opacity: 1; 1520 | } 1521 | 1522 | to { 1523 | opacity: 0; 1524 | } 1525 | } 1526 | 1527 | .fadeOut { 1528 | -webkit-animation-name: fadeOut; 1529 | animation-name: fadeOut; 1530 | } 1531 | 1532 | @-webkit-keyframes fadeOutDown { 1533 | from { 1534 | opacity: 1; 1535 | } 1536 | 1537 | to { 1538 | opacity: 0; 1539 | -webkit-transform: translate3d(0, 100%, 0); 1540 | transform: translate3d(0, 100%, 0); 1541 | } 1542 | } 1543 | 1544 | @keyframes fadeOutDown { 1545 | from { 1546 | opacity: 1; 1547 | } 1548 | 1549 | to { 1550 | opacity: 0; 1551 | -webkit-transform: translate3d(0, 100%, 0); 1552 | transform: translate3d(0, 100%, 0); 1553 | } 1554 | } 1555 | 1556 | .fadeOutDown { 1557 | -webkit-animation-name: fadeOutDown; 1558 | animation-name: fadeOutDown; 1559 | } 1560 | 1561 | @-webkit-keyframes fadeOutDownBig { 1562 | from { 1563 | opacity: 1; 1564 | } 1565 | 1566 | to { 1567 | opacity: 0; 1568 | -webkit-transform: translate3d(0, 2000px, 0); 1569 | transform: translate3d(0, 2000px, 0); 1570 | } 1571 | } 1572 | 1573 | @keyframes fadeOutDownBig { 1574 | from { 1575 | opacity: 1; 1576 | } 1577 | 1578 | to { 1579 | opacity: 0; 1580 | -webkit-transform: translate3d(0, 2000px, 0); 1581 | transform: translate3d(0, 2000px, 0); 1582 | } 1583 | } 1584 | 1585 | .fadeOutDownBig { 1586 | -webkit-animation-name: fadeOutDownBig; 1587 | animation-name: fadeOutDownBig; 1588 | } 1589 | 1590 | @-webkit-keyframes fadeOutLeft { 1591 | from { 1592 | opacity: 1; 1593 | } 1594 | 1595 | to { 1596 | opacity: 0; 1597 | -webkit-transform: translate3d(-100%, 0, 0); 1598 | transform: translate3d(-100%, 0, 0); 1599 | } 1600 | } 1601 | 1602 | @keyframes fadeOutLeft { 1603 | from { 1604 | opacity: 1; 1605 | } 1606 | 1607 | to { 1608 | opacity: 0; 1609 | -webkit-transform: translate3d(-100%, 0, 0); 1610 | transform: translate3d(-100%, 0, 0); 1611 | } 1612 | } 1613 | 1614 | .fadeOutLeft { 1615 | -webkit-animation-name: fadeOutLeft; 1616 | animation-name: fadeOutLeft; 1617 | } 1618 | 1619 | @-webkit-keyframes fadeOutLeftBig { 1620 | from { 1621 | opacity: 1; 1622 | } 1623 | 1624 | to { 1625 | opacity: 0; 1626 | -webkit-transform: translate3d(-2000px, 0, 0); 1627 | transform: translate3d(-2000px, 0, 0); 1628 | } 1629 | } 1630 | 1631 | @keyframes fadeOutLeftBig { 1632 | from { 1633 | opacity: 1; 1634 | } 1635 | 1636 | to { 1637 | opacity: 0; 1638 | -webkit-transform: translate3d(-2000px, 0, 0); 1639 | transform: translate3d(-2000px, 0, 0); 1640 | } 1641 | } 1642 | 1643 | .fadeOutLeftBig { 1644 | -webkit-animation-name: fadeOutLeftBig; 1645 | animation-name: fadeOutLeftBig; 1646 | } 1647 | 1648 | @-webkit-keyframes fadeOutRight { 1649 | from { 1650 | opacity: 1; 1651 | } 1652 | 1653 | to { 1654 | opacity: 0; 1655 | -webkit-transform: translate3d(100%, 0, 0); 1656 | transform: translate3d(100%, 0, 0); 1657 | } 1658 | } 1659 | 1660 | @keyframes fadeOutRight { 1661 | from { 1662 | opacity: 1; 1663 | } 1664 | 1665 | to { 1666 | opacity: 0; 1667 | -webkit-transform: translate3d(100%, 0, 0); 1668 | transform: translate3d(100%, 0, 0); 1669 | } 1670 | } 1671 | 1672 | .fadeOutRight { 1673 | -webkit-animation-name: fadeOutRight; 1674 | animation-name: fadeOutRight; 1675 | } 1676 | 1677 | @-webkit-keyframes fadeOutRightBig { 1678 | from { 1679 | opacity: 1; 1680 | } 1681 | 1682 | to { 1683 | opacity: 0; 1684 | -webkit-transform: translate3d(2000px, 0, 0); 1685 | transform: translate3d(2000px, 0, 0); 1686 | } 1687 | } 1688 | 1689 | @keyframes fadeOutRightBig { 1690 | from { 1691 | opacity: 1; 1692 | } 1693 | 1694 | to { 1695 | opacity: 0; 1696 | -webkit-transform: translate3d(2000px, 0, 0); 1697 | transform: translate3d(2000px, 0, 0); 1698 | } 1699 | } 1700 | 1701 | .fadeOutRightBig { 1702 | -webkit-animation-name: fadeOutRightBig; 1703 | animation-name: fadeOutRightBig; 1704 | } 1705 | 1706 | @-webkit-keyframes fadeOutUp { 1707 | from { 1708 | opacity: 1; 1709 | } 1710 | 1711 | to { 1712 | opacity: 0; 1713 | -webkit-transform: translate3d(0, -100%, 0); 1714 | transform: translate3d(0, -100%, 0); 1715 | } 1716 | } 1717 | 1718 | @keyframes fadeOutUp { 1719 | from { 1720 | opacity: 1; 1721 | } 1722 | 1723 | to { 1724 | opacity: 0; 1725 | -webkit-transform: translate3d(0, -100%, 0); 1726 | transform: translate3d(0, -100%, 0); 1727 | } 1728 | } 1729 | 1730 | .fadeOutUp { 1731 | -webkit-animation-name: fadeOutUp; 1732 | animation-name: fadeOutUp; 1733 | } 1734 | 1735 | @-webkit-keyframes fadeOutUpBig { 1736 | from { 1737 | opacity: 1; 1738 | } 1739 | 1740 | to { 1741 | opacity: 0; 1742 | -webkit-transform: translate3d(0, -2000px, 0); 1743 | transform: translate3d(0, -2000px, 0); 1744 | } 1745 | } 1746 | 1747 | @keyframes fadeOutUpBig { 1748 | from { 1749 | opacity: 1; 1750 | } 1751 | 1752 | to { 1753 | opacity: 0; 1754 | -webkit-transform: translate3d(0, -2000px, 0); 1755 | transform: translate3d(0, -2000px, 0); 1756 | } 1757 | } 1758 | 1759 | .fadeOutUpBig { 1760 | -webkit-animation-name: fadeOutUpBig; 1761 | animation-name: fadeOutUpBig; 1762 | } 1763 | 1764 | @-webkit-keyframes flip { 1765 | from { 1766 | -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg); 1767 | transform: perspective(400px) rotate3d(0, 1, 0, -360deg); 1768 | -webkit-animation-timing-function: ease-out; 1769 | animation-timing-function: ease-out; 1770 | } 1771 | 1772 | 40% { 1773 | -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); 1774 | transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); 1775 | -webkit-animation-timing-function: ease-out; 1776 | animation-timing-function: ease-out; 1777 | } 1778 | 1779 | 50% { 1780 | -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); 1781 | transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); 1782 | -webkit-animation-timing-function: ease-in; 1783 | animation-timing-function: ease-in; 1784 | } 1785 | 1786 | 80% { 1787 | -webkit-transform: perspective(400px) scale3d(.95, .95, .95); 1788 | transform: perspective(400px) scale3d(.95, .95, .95); 1789 | -webkit-animation-timing-function: ease-in; 1790 | animation-timing-function: ease-in; 1791 | } 1792 | 1793 | to { 1794 | -webkit-transform: perspective(400px); 1795 | transform: perspective(400px); 1796 | -webkit-animation-timing-function: ease-in; 1797 | animation-timing-function: ease-in; 1798 | } 1799 | } 1800 | 1801 | @keyframes flip { 1802 | from { 1803 | -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg); 1804 | transform: perspective(400px) rotate3d(0, 1, 0, -360deg); 1805 | -webkit-animation-timing-function: ease-out; 1806 | animation-timing-function: ease-out; 1807 | } 1808 | 1809 | 40% { 1810 | -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); 1811 | transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); 1812 | -webkit-animation-timing-function: ease-out; 1813 | animation-timing-function: ease-out; 1814 | } 1815 | 1816 | 50% { 1817 | -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); 1818 | transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); 1819 | -webkit-animation-timing-function: ease-in; 1820 | animation-timing-function: ease-in; 1821 | } 1822 | 1823 | 80% { 1824 | -webkit-transform: perspective(400px) scale3d(.95, .95, .95); 1825 | transform: perspective(400px) scale3d(.95, .95, .95); 1826 | -webkit-animation-timing-function: ease-in; 1827 | animation-timing-function: ease-in; 1828 | } 1829 | 1830 | to { 1831 | -webkit-transform: perspective(400px); 1832 | transform: perspective(400px); 1833 | -webkit-animation-timing-function: ease-in; 1834 | animation-timing-function: ease-in; 1835 | } 1836 | } 1837 | 1838 | .animated.flip { 1839 | -webkit-backface-visibility: visible; 1840 | backface-visibility: visible; 1841 | -webkit-animation-name: flip; 1842 | animation-name: flip; 1843 | } 1844 | 1845 | @-webkit-keyframes flipInX { 1846 | from { 1847 | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); 1848 | transform: perspective(400px) rotate3d(1, 0, 0, 90deg); 1849 | -webkit-animation-timing-function: ease-in; 1850 | animation-timing-function: ease-in; 1851 | opacity: 0; 1852 | } 1853 | 1854 | 40% { 1855 | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); 1856 | transform: perspective(400px) rotate3d(1, 0, 0, -20deg); 1857 | -webkit-animation-timing-function: ease-in; 1858 | animation-timing-function: ease-in; 1859 | } 1860 | 1861 | 60% { 1862 | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); 1863 | transform: perspective(400px) rotate3d(1, 0, 0, 10deg); 1864 | opacity: 1; 1865 | } 1866 | 1867 | 80% { 1868 | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); 1869 | transform: perspective(400px) rotate3d(1, 0, 0, -5deg); 1870 | } 1871 | 1872 | to { 1873 | -webkit-transform: perspective(400px); 1874 | transform: perspective(400px); 1875 | } 1876 | } 1877 | 1878 | @keyframes flipInX { 1879 | from { 1880 | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); 1881 | transform: perspective(400px) rotate3d(1, 0, 0, 90deg); 1882 | -webkit-animation-timing-function: ease-in; 1883 | animation-timing-function: ease-in; 1884 | opacity: 0; 1885 | } 1886 | 1887 | 40% { 1888 | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); 1889 | transform: perspective(400px) rotate3d(1, 0, 0, -20deg); 1890 | -webkit-animation-timing-function: ease-in; 1891 | animation-timing-function: ease-in; 1892 | } 1893 | 1894 | 60% { 1895 | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); 1896 | transform: perspective(400px) rotate3d(1, 0, 0, 10deg); 1897 | opacity: 1; 1898 | } 1899 | 1900 | 80% { 1901 | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); 1902 | transform: perspective(400px) rotate3d(1, 0, 0, -5deg); 1903 | } 1904 | 1905 | to { 1906 | -webkit-transform: perspective(400px); 1907 | transform: perspective(400px); 1908 | } 1909 | } 1910 | 1911 | .flipInX { 1912 | -webkit-backface-visibility: visible !important; 1913 | backface-visibility: visible !important; 1914 | -webkit-animation-name: flipInX; 1915 | animation-name: flipInX; 1916 | } 1917 | 1918 | @-webkit-keyframes flipInY { 1919 | from { 1920 | -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); 1921 | transform: perspective(400px) rotate3d(0, 1, 0, 90deg); 1922 | -webkit-animation-timing-function: ease-in; 1923 | animation-timing-function: ease-in; 1924 | opacity: 0; 1925 | } 1926 | 1927 | 40% { 1928 | -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg); 1929 | transform: perspective(400px) rotate3d(0, 1, 0, -20deg); 1930 | -webkit-animation-timing-function: ease-in; 1931 | animation-timing-function: ease-in; 1932 | } 1933 | 1934 | 60% { 1935 | -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg); 1936 | transform: perspective(400px) rotate3d(0, 1, 0, 10deg); 1937 | opacity: 1; 1938 | } 1939 | 1940 | 80% { 1941 | -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg); 1942 | transform: perspective(400px) rotate3d(0, 1, 0, -5deg); 1943 | } 1944 | 1945 | to { 1946 | -webkit-transform: perspective(400px); 1947 | transform: perspective(400px); 1948 | } 1949 | } 1950 | 1951 | @keyframes flipInY { 1952 | from { 1953 | -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); 1954 | transform: perspective(400px) rotate3d(0, 1, 0, 90deg); 1955 | -webkit-animation-timing-function: ease-in; 1956 | animation-timing-function: ease-in; 1957 | opacity: 0; 1958 | } 1959 | 1960 | 40% { 1961 | -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg); 1962 | transform: perspective(400px) rotate3d(0, 1, 0, -20deg); 1963 | -webkit-animation-timing-function: ease-in; 1964 | animation-timing-function: ease-in; 1965 | } 1966 | 1967 | 60% { 1968 | -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg); 1969 | transform: perspective(400px) rotate3d(0, 1, 0, 10deg); 1970 | opacity: 1; 1971 | } 1972 | 1973 | 80% { 1974 | -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg); 1975 | transform: perspective(400px) rotate3d(0, 1, 0, -5deg); 1976 | } 1977 | 1978 | to { 1979 | -webkit-transform: perspective(400px); 1980 | transform: perspective(400px); 1981 | } 1982 | } 1983 | 1984 | .flipInY { 1985 | -webkit-backface-visibility: visible !important; 1986 | backface-visibility: visible !important; 1987 | -webkit-animation-name: flipInY; 1988 | animation-name: flipInY; 1989 | } 1990 | 1991 | @-webkit-keyframes flipOutX { 1992 | from { 1993 | -webkit-transform: perspective(400px); 1994 | transform: perspective(400px); 1995 | } 1996 | 1997 | 30% { 1998 | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); 1999 | transform: perspective(400px) rotate3d(1, 0, 0, -20deg); 2000 | opacity: 1; 2001 | } 2002 | 2003 | to { 2004 | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); 2005 | transform: perspective(400px) rotate3d(1, 0, 0, 90deg); 2006 | opacity: 0; 2007 | } 2008 | } 2009 | 2010 | @keyframes flipOutX { 2011 | from { 2012 | -webkit-transform: perspective(400px); 2013 | transform: perspective(400px); 2014 | } 2015 | 2016 | 30% { 2017 | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); 2018 | transform: perspective(400px) rotate3d(1, 0, 0, -20deg); 2019 | opacity: 1; 2020 | } 2021 | 2022 | to { 2023 | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); 2024 | transform: perspective(400px) rotate3d(1, 0, 0, 90deg); 2025 | opacity: 0; 2026 | } 2027 | } 2028 | 2029 | .flipOutX { 2030 | -webkit-animation-name: flipOutX; 2031 | animation-name: flipOutX; 2032 | -webkit-backface-visibility: visible !important; 2033 | backface-visibility: visible !important; 2034 | } 2035 | 2036 | @-webkit-keyframes flipOutY { 2037 | from { 2038 | -webkit-transform: perspective(400px); 2039 | transform: perspective(400px); 2040 | } 2041 | 2042 | 30% { 2043 | -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg); 2044 | transform: perspective(400px) rotate3d(0, 1, 0, -15deg); 2045 | opacity: 1; 2046 | } 2047 | 2048 | to { 2049 | -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); 2050 | transform: perspective(400px) rotate3d(0, 1, 0, 90deg); 2051 | opacity: 0; 2052 | } 2053 | } 2054 | 2055 | @keyframes flipOutY { 2056 | from { 2057 | -webkit-transform: perspective(400px); 2058 | transform: perspective(400px); 2059 | } 2060 | 2061 | 30% { 2062 | -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg); 2063 | transform: perspective(400px) rotate3d(0, 1, 0, -15deg); 2064 | opacity: 1; 2065 | } 2066 | 2067 | to { 2068 | -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); 2069 | transform: perspective(400px) rotate3d(0, 1, 0, 90deg); 2070 | opacity: 0; 2071 | } 2072 | } 2073 | 2074 | .flipOutY { 2075 | -webkit-backface-visibility: visible !important; 2076 | backface-visibility: visible !important; 2077 | -webkit-animation-name: flipOutY; 2078 | animation-name: flipOutY; 2079 | } 2080 | 2081 | @-webkit-keyframes lightSpeedIn { 2082 | from { 2083 | -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg); 2084 | transform: translate3d(100%, 0, 0) skewX(-30deg); 2085 | opacity: 0; 2086 | } 2087 | 2088 | 60% { 2089 | -webkit-transform: skewX(20deg); 2090 | transform: skewX(20deg); 2091 | opacity: 1; 2092 | } 2093 | 2094 | 80% { 2095 | -webkit-transform: skewX(-5deg); 2096 | transform: skewX(-5deg); 2097 | opacity: 1; 2098 | } 2099 | 2100 | to { 2101 | -webkit-transform: none; 2102 | transform: none; 2103 | opacity: 1; 2104 | } 2105 | } 2106 | 2107 | @keyframes lightSpeedIn { 2108 | from { 2109 | -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg); 2110 | transform: translate3d(100%, 0, 0) skewX(-30deg); 2111 | opacity: 0; 2112 | } 2113 | 2114 | 60% { 2115 | -webkit-transform: skewX(20deg); 2116 | transform: skewX(20deg); 2117 | opacity: 1; 2118 | } 2119 | 2120 | 80% { 2121 | -webkit-transform: skewX(-5deg); 2122 | transform: skewX(-5deg); 2123 | opacity: 1; 2124 | } 2125 | 2126 | to { 2127 | -webkit-transform: none; 2128 | transform: none; 2129 | opacity: 1; 2130 | } 2131 | } 2132 | 2133 | .lightSpeedIn { 2134 | -webkit-animation-name: lightSpeedIn; 2135 | animation-name: lightSpeedIn; 2136 | -webkit-animation-timing-function: ease-out; 2137 | animation-timing-function: ease-out; 2138 | } 2139 | 2140 | @-webkit-keyframes lightSpeedOut { 2141 | from { 2142 | opacity: 1; 2143 | } 2144 | 2145 | to { 2146 | -webkit-transform: translate3d(100%, 0, 0) skewX(30deg); 2147 | transform: translate3d(100%, 0, 0) skewX(30deg); 2148 | opacity: 0; 2149 | } 2150 | } 2151 | 2152 | @keyframes lightSpeedOut { 2153 | from { 2154 | opacity: 1; 2155 | } 2156 | 2157 | to { 2158 | -webkit-transform: translate3d(100%, 0, 0) skewX(30deg); 2159 | transform: translate3d(100%, 0, 0) skewX(30deg); 2160 | opacity: 0; 2161 | } 2162 | } 2163 | 2164 | .lightSpeedOut { 2165 | -webkit-animation-name: lightSpeedOut; 2166 | animation-name: lightSpeedOut; 2167 | -webkit-animation-timing-function: ease-in; 2168 | animation-timing-function: ease-in; 2169 | } 2170 | 2171 | @-webkit-keyframes rotateIn { 2172 | from { 2173 | -webkit-transform-origin: center; 2174 | transform-origin: center; 2175 | -webkit-transform: rotate3d(0, 0, 1, -200deg); 2176 | transform: rotate3d(0, 0, 1, -200deg); 2177 | opacity: 0; 2178 | } 2179 | 2180 | to { 2181 | -webkit-transform-origin: center; 2182 | transform-origin: center; 2183 | -webkit-transform: none; 2184 | transform: none; 2185 | opacity: 1; 2186 | } 2187 | } 2188 | 2189 | @keyframes rotateIn { 2190 | from { 2191 | -webkit-transform-origin: center; 2192 | transform-origin: center; 2193 | -webkit-transform: rotate3d(0, 0, 1, -200deg); 2194 | transform: rotate3d(0, 0, 1, -200deg); 2195 | opacity: 0; 2196 | } 2197 | 2198 | to { 2199 | -webkit-transform-origin: center; 2200 | transform-origin: center; 2201 | -webkit-transform: none; 2202 | transform: none; 2203 | opacity: 1; 2204 | } 2205 | } 2206 | 2207 | .rotateIn { 2208 | -webkit-animation-name: rotateIn; 2209 | animation-name: rotateIn; 2210 | } 2211 | 2212 | @-webkit-keyframes rotateInDownLeft { 2213 | from { 2214 | -webkit-transform-origin: left bottom; 2215 | transform-origin: left bottom; 2216 | -webkit-transform: rotate3d(0, 0, 1, -45deg); 2217 | transform: rotate3d(0, 0, 1, -45deg); 2218 | opacity: 0; 2219 | } 2220 | 2221 | to { 2222 | -webkit-transform-origin: left bottom; 2223 | transform-origin: left bottom; 2224 | -webkit-transform: none; 2225 | transform: none; 2226 | opacity: 1; 2227 | } 2228 | } 2229 | 2230 | @keyframes rotateInDownLeft { 2231 | from { 2232 | -webkit-transform-origin: left bottom; 2233 | transform-origin: left bottom; 2234 | -webkit-transform: rotate3d(0, 0, 1, -45deg); 2235 | transform: rotate3d(0, 0, 1, -45deg); 2236 | opacity: 0; 2237 | } 2238 | 2239 | to { 2240 | -webkit-transform-origin: left bottom; 2241 | transform-origin: left bottom; 2242 | -webkit-transform: none; 2243 | transform: none; 2244 | opacity: 1; 2245 | } 2246 | } 2247 | 2248 | .rotateInDownLeft { 2249 | -webkit-animation-name: rotateInDownLeft; 2250 | animation-name: rotateInDownLeft; 2251 | } 2252 | 2253 | @-webkit-keyframes rotateInDownRight { 2254 | from { 2255 | -webkit-transform-origin: right bottom; 2256 | transform-origin: right bottom; 2257 | -webkit-transform: rotate3d(0, 0, 1, 45deg); 2258 | transform: rotate3d(0, 0, 1, 45deg); 2259 | opacity: 0; 2260 | } 2261 | 2262 | to { 2263 | -webkit-transform-origin: right bottom; 2264 | transform-origin: right bottom; 2265 | -webkit-transform: none; 2266 | transform: none; 2267 | opacity: 1; 2268 | } 2269 | } 2270 | 2271 | @keyframes rotateInDownRight { 2272 | from { 2273 | -webkit-transform-origin: right bottom; 2274 | transform-origin: right bottom; 2275 | -webkit-transform: rotate3d(0, 0, 1, 45deg); 2276 | transform: rotate3d(0, 0, 1, 45deg); 2277 | opacity: 0; 2278 | } 2279 | 2280 | to { 2281 | -webkit-transform-origin: right bottom; 2282 | transform-origin: right bottom; 2283 | -webkit-transform: none; 2284 | transform: none; 2285 | opacity: 1; 2286 | } 2287 | } 2288 | 2289 | .rotateInDownRight { 2290 | -webkit-animation-name: rotateInDownRight; 2291 | animation-name: rotateInDownRight; 2292 | } 2293 | 2294 | @-webkit-keyframes rotateInUpLeft { 2295 | from { 2296 | -webkit-transform-origin: left bottom; 2297 | transform-origin: left bottom; 2298 | -webkit-transform: rotate3d(0, 0, 1, 45deg); 2299 | transform: rotate3d(0, 0, 1, 45deg); 2300 | opacity: 0; 2301 | } 2302 | 2303 | to { 2304 | -webkit-transform-origin: left bottom; 2305 | transform-origin: left bottom; 2306 | -webkit-transform: none; 2307 | transform: none; 2308 | opacity: 1; 2309 | } 2310 | } 2311 | 2312 | @keyframes rotateInUpLeft { 2313 | from { 2314 | -webkit-transform-origin: left bottom; 2315 | transform-origin: left bottom; 2316 | -webkit-transform: rotate3d(0, 0, 1, 45deg); 2317 | transform: rotate3d(0, 0, 1, 45deg); 2318 | opacity: 0; 2319 | } 2320 | 2321 | to { 2322 | -webkit-transform-origin: left bottom; 2323 | transform-origin: left bottom; 2324 | -webkit-transform: none; 2325 | transform: none; 2326 | opacity: 1; 2327 | } 2328 | } 2329 | 2330 | .rotateInUpLeft { 2331 | -webkit-animation-name: rotateInUpLeft; 2332 | animation-name: rotateInUpLeft; 2333 | } 2334 | 2335 | @-webkit-keyframes rotateInUpRight { 2336 | from { 2337 | -webkit-transform-origin: right bottom; 2338 | transform-origin: right bottom; 2339 | -webkit-transform: rotate3d(0, 0, 1, -90deg); 2340 | transform: rotate3d(0, 0, 1, -90deg); 2341 | opacity: 0; 2342 | } 2343 | 2344 | to { 2345 | -webkit-transform-origin: right bottom; 2346 | transform-origin: right bottom; 2347 | -webkit-transform: none; 2348 | transform: none; 2349 | opacity: 1; 2350 | } 2351 | } 2352 | 2353 | @keyframes rotateInUpRight { 2354 | from { 2355 | -webkit-transform-origin: right bottom; 2356 | transform-origin: right bottom; 2357 | -webkit-transform: rotate3d(0, 0, 1, -90deg); 2358 | transform: rotate3d(0, 0, 1, -90deg); 2359 | opacity: 0; 2360 | } 2361 | 2362 | to { 2363 | -webkit-transform-origin: right bottom; 2364 | transform-origin: right bottom; 2365 | -webkit-transform: none; 2366 | transform: none; 2367 | opacity: 1; 2368 | } 2369 | } 2370 | 2371 | .rotateInUpRight { 2372 | -webkit-animation-name: rotateInUpRight; 2373 | animation-name: rotateInUpRight; 2374 | } 2375 | 2376 | @-webkit-keyframes rotateOut { 2377 | from { 2378 | -webkit-transform-origin: center; 2379 | transform-origin: center; 2380 | opacity: 1; 2381 | } 2382 | 2383 | to { 2384 | -webkit-transform-origin: center; 2385 | transform-origin: center; 2386 | -webkit-transform: rotate3d(0, 0, 1, 200deg); 2387 | transform: rotate3d(0, 0, 1, 200deg); 2388 | opacity: 0; 2389 | } 2390 | } 2391 | 2392 | @keyframes rotateOut { 2393 | from { 2394 | -webkit-transform-origin: center; 2395 | transform-origin: center; 2396 | opacity: 1; 2397 | } 2398 | 2399 | to { 2400 | -webkit-transform-origin: center; 2401 | transform-origin: center; 2402 | -webkit-transform: rotate3d(0, 0, 1, 200deg); 2403 | transform: rotate3d(0, 0, 1, 200deg); 2404 | opacity: 0; 2405 | } 2406 | } 2407 | 2408 | .rotateOut { 2409 | -webkit-animation-name: rotateOut; 2410 | animation-name: rotateOut; 2411 | } 2412 | 2413 | @-webkit-keyframes rotateOutDownLeft { 2414 | from { 2415 | -webkit-transform-origin: left bottom; 2416 | transform-origin: left bottom; 2417 | opacity: 1; 2418 | } 2419 | 2420 | to { 2421 | -webkit-transform-origin: left bottom; 2422 | transform-origin: left bottom; 2423 | -webkit-transform: rotate3d(0, 0, 1, 45deg); 2424 | transform: rotate3d(0, 0, 1, 45deg); 2425 | opacity: 0; 2426 | } 2427 | } 2428 | 2429 | @keyframes rotateOutDownLeft { 2430 | from { 2431 | -webkit-transform-origin: left bottom; 2432 | transform-origin: left bottom; 2433 | opacity: 1; 2434 | } 2435 | 2436 | to { 2437 | -webkit-transform-origin: left bottom; 2438 | transform-origin: left bottom; 2439 | -webkit-transform: rotate3d(0, 0, 1, 45deg); 2440 | transform: rotate3d(0, 0, 1, 45deg); 2441 | opacity: 0; 2442 | } 2443 | } 2444 | 2445 | .rotateOutDownLeft { 2446 | -webkit-animation-name: rotateOutDownLeft; 2447 | animation-name: rotateOutDownLeft; 2448 | } 2449 | 2450 | @-webkit-keyframes rotateOutDownRight { 2451 | from { 2452 | -webkit-transform-origin: right bottom; 2453 | transform-origin: right bottom; 2454 | opacity: 1; 2455 | } 2456 | 2457 | to { 2458 | -webkit-transform-origin: right bottom; 2459 | transform-origin: right bottom; 2460 | -webkit-transform: rotate3d(0, 0, 1, -45deg); 2461 | transform: rotate3d(0, 0, 1, -45deg); 2462 | opacity: 0; 2463 | } 2464 | } 2465 | 2466 | @keyframes rotateOutDownRight { 2467 | from { 2468 | -webkit-transform-origin: right bottom; 2469 | transform-origin: right bottom; 2470 | opacity: 1; 2471 | } 2472 | 2473 | to { 2474 | -webkit-transform-origin: right bottom; 2475 | transform-origin: right bottom; 2476 | -webkit-transform: rotate3d(0, 0, 1, -45deg); 2477 | transform: rotate3d(0, 0, 1, -45deg); 2478 | opacity: 0; 2479 | } 2480 | } 2481 | 2482 | .rotateOutDownRight { 2483 | -webkit-animation-name: rotateOutDownRight; 2484 | animation-name: rotateOutDownRight; 2485 | } 2486 | 2487 | @-webkit-keyframes rotateOutUpLeft { 2488 | from { 2489 | -webkit-transform-origin: left bottom; 2490 | transform-origin: left bottom; 2491 | opacity: 1; 2492 | } 2493 | 2494 | to { 2495 | -webkit-transform-origin: left bottom; 2496 | transform-origin: left bottom; 2497 | -webkit-transform: rotate3d(0, 0, 1, -45deg); 2498 | transform: rotate3d(0, 0, 1, -45deg); 2499 | opacity: 0; 2500 | } 2501 | } 2502 | 2503 | @keyframes rotateOutUpLeft { 2504 | from { 2505 | -webkit-transform-origin: left bottom; 2506 | transform-origin: left bottom; 2507 | opacity: 1; 2508 | } 2509 | 2510 | to { 2511 | -webkit-transform-origin: left bottom; 2512 | transform-origin: left bottom; 2513 | -webkit-transform: rotate3d(0, 0, 1, -45deg); 2514 | transform: rotate3d(0, 0, 1, -45deg); 2515 | opacity: 0; 2516 | } 2517 | } 2518 | 2519 | .rotateOutUpLeft { 2520 | -webkit-animation-name: rotateOutUpLeft; 2521 | animation-name: rotateOutUpLeft; 2522 | } 2523 | 2524 | @-webkit-keyframes rotateOutUpRight { 2525 | from { 2526 | -webkit-transform-origin: right bottom; 2527 | transform-origin: right bottom; 2528 | opacity: 1; 2529 | } 2530 | 2531 | to { 2532 | -webkit-transform-origin: right bottom; 2533 | transform-origin: right bottom; 2534 | -webkit-transform: rotate3d(0, 0, 1, 90deg); 2535 | transform: rotate3d(0, 0, 1, 90deg); 2536 | opacity: 0; 2537 | } 2538 | } 2539 | 2540 | @keyframes rotateOutUpRight { 2541 | from { 2542 | -webkit-transform-origin: right bottom; 2543 | transform-origin: right bottom; 2544 | opacity: 1; 2545 | } 2546 | 2547 | to { 2548 | -webkit-transform-origin: right bottom; 2549 | transform-origin: right bottom; 2550 | -webkit-transform: rotate3d(0, 0, 1, 90deg); 2551 | transform: rotate3d(0, 0, 1, 90deg); 2552 | opacity: 0; 2553 | } 2554 | } 2555 | 2556 | .rotateOutUpRight { 2557 | -webkit-animation-name: rotateOutUpRight; 2558 | animation-name: rotateOutUpRight; 2559 | } 2560 | 2561 | @-webkit-keyframes hinge { 2562 | 0% { 2563 | -webkit-transform-origin: top left; 2564 | transform-origin: top left; 2565 | -webkit-animation-timing-function: ease-in-out; 2566 | animation-timing-function: ease-in-out; 2567 | } 2568 | 2569 | 20%, 60% { 2570 | -webkit-transform: rotate3d(0, 0, 1, 80deg); 2571 | transform: rotate3d(0, 0, 1, 80deg); 2572 | -webkit-transform-origin: top left; 2573 | transform-origin: top left; 2574 | -webkit-animation-timing-function: ease-in-out; 2575 | animation-timing-function: ease-in-out; 2576 | } 2577 | 2578 | 40%, 80% { 2579 | -webkit-transform: rotate3d(0, 0, 1, 60deg); 2580 | transform: rotate3d(0, 0, 1, 60deg); 2581 | -webkit-transform-origin: top left; 2582 | transform-origin: top left; 2583 | -webkit-animation-timing-function: ease-in-out; 2584 | animation-timing-function: ease-in-out; 2585 | opacity: 1; 2586 | } 2587 | 2588 | to { 2589 | -webkit-transform: translate3d(0, 700px, 0); 2590 | transform: translate3d(0, 700px, 0); 2591 | opacity: 0; 2592 | } 2593 | } 2594 | 2595 | @keyframes hinge { 2596 | 0% { 2597 | -webkit-transform-origin: top left; 2598 | transform-origin: top left; 2599 | -webkit-animation-timing-function: ease-in-out; 2600 | animation-timing-function: ease-in-out; 2601 | } 2602 | 2603 | 20%, 60% { 2604 | -webkit-transform: rotate3d(0, 0, 1, 80deg); 2605 | transform: rotate3d(0, 0, 1, 80deg); 2606 | -webkit-transform-origin: top left; 2607 | transform-origin: top left; 2608 | -webkit-animation-timing-function: ease-in-out; 2609 | animation-timing-function: ease-in-out; 2610 | } 2611 | 2612 | 40%, 80% { 2613 | -webkit-transform: rotate3d(0, 0, 1, 60deg); 2614 | transform: rotate3d(0, 0, 1, 60deg); 2615 | -webkit-transform-origin: top left; 2616 | transform-origin: top left; 2617 | -webkit-animation-timing-function: ease-in-out; 2618 | animation-timing-function: ease-in-out; 2619 | opacity: 1; 2620 | } 2621 | 2622 | to { 2623 | -webkit-transform: translate3d(0, 700px, 0); 2624 | transform: translate3d(0, 700px, 0); 2625 | opacity: 0; 2626 | } 2627 | } 2628 | 2629 | .hinge { 2630 | -webkit-animation-name: hinge; 2631 | animation-name: hinge; 2632 | } 2633 | 2634 | /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ 2635 | 2636 | @-webkit-keyframes rollIn { 2637 | from { 2638 | opacity: 0; 2639 | -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); 2640 | transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); 2641 | } 2642 | 2643 | to { 2644 | opacity: 1; 2645 | -webkit-transform: none; 2646 | transform: none; 2647 | } 2648 | } 2649 | 2650 | @keyframes rollIn { 2651 | from { 2652 | opacity: 0; 2653 | -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); 2654 | transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); 2655 | } 2656 | 2657 | to { 2658 | opacity: 1; 2659 | -webkit-transform: none; 2660 | transform: none; 2661 | } 2662 | } 2663 | 2664 | .rollIn { 2665 | -webkit-animation-name: rollIn; 2666 | animation-name: rollIn; 2667 | } 2668 | 2669 | /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ 2670 | 2671 | @-webkit-keyframes rollOut { 2672 | from { 2673 | opacity: 1; 2674 | } 2675 | 2676 | to { 2677 | opacity: 0; 2678 | -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); 2679 | transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); 2680 | } 2681 | } 2682 | 2683 | @keyframes rollOut { 2684 | from { 2685 | opacity: 1; 2686 | } 2687 | 2688 | to { 2689 | opacity: 0; 2690 | -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); 2691 | transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); 2692 | } 2693 | } 2694 | 2695 | .rollOut { 2696 | -webkit-animation-name: rollOut; 2697 | animation-name: rollOut; 2698 | } 2699 | 2700 | @-webkit-keyframes zoomIn { 2701 | from { 2702 | opacity: 0; 2703 | -webkit-transform: scale3d(.3, .3, .3); 2704 | transform: scale3d(.3, .3, .3); 2705 | } 2706 | 2707 | 50% { 2708 | opacity: 1; 2709 | } 2710 | } 2711 | 2712 | @keyframes zoomIn { 2713 | from { 2714 | opacity: 0; 2715 | -webkit-transform: scale3d(.3, .3, .3); 2716 | transform: scale3d(.3, .3, .3); 2717 | } 2718 | 2719 | 50% { 2720 | opacity: 1; 2721 | } 2722 | } 2723 | 2724 | .zoomIn { 2725 | -webkit-animation-name: zoomIn; 2726 | animation-name: zoomIn; 2727 | } 2728 | 2729 | @-webkit-keyframes zoomInDown { 2730 | from { 2731 | opacity: 0; 2732 | -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); 2733 | transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); 2734 | -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); 2735 | animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); 2736 | } 2737 | 2738 | 60% { 2739 | opacity: 1; 2740 | -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); 2741 | transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); 2742 | -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); 2743 | animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); 2744 | } 2745 | } 2746 | 2747 | @keyframes zoomInDown { 2748 | from { 2749 | opacity: 0; 2750 | -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); 2751 | transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); 2752 | -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); 2753 | animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); 2754 | } 2755 | 2756 | 60% { 2757 | opacity: 1; 2758 | -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); 2759 | transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); 2760 | -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); 2761 | animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); 2762 | } 2763 | } 2764 | 2765 | .zoomInDown { 2766 | -webkit-animation-name: zoomInDown; 2767 | animation-name: zoomInDown; 2768 | } 2769 | 2770 | @-webkit-keyframes zoomInLeft { 2771 | from { 2772 | opacity: 0; 2773 | -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); 2774 | transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); 2775 | -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); 2776 | animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); 2777 | } 2778 | 2779 | 60% { 2780 | opacity: 1; 2781 | -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); 2782 | transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); 2783 | -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); 2784 | animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); 2785 | } 2786 | } 2787 | 2788 | @keyframes zoomInLeft { 2789 | from { 2790 | opacity: 0; 2791 | -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); 2792 | transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); 2793 | -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); 2794 | animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); 2795 | } 2796 | 2797 | 60% { 2798 | opacity: 1; 2799 | -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); 2800 | transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); 2801 | -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); 2802 | animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); 2803 | } 2804 | } 2805 | 2806 | .zoomInLeft { 2807 | -webkit-animation-name: zoomInLeft; 2808 | animation-name: zoomInLeft; 2809 | } 2810 | 2811 | @-webkit-keyframes zoomInRight { 2812 | from { 2813 | opacity: 0; 2814 | -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); 2815 | transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); 2816 | -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); 2817 | animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); 2818 | } 2819 | 2820 | 60% { 2821 | opacity: 1; 2822 | -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); 2823 | transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); 2824 | -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); 2825 | animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); 2826 | } 2827 | } 2828 | 2829 | @keyframes zoomInRight { 2830 | from { 2831 | opacity: 0; 2832 | -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); 2833 | transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); 2834 | -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); 2835 | animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); 2836 | } 2837 | 2838 | 60% { 2839 | opacity: 1; 2840 | -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); 2841 | transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); 2842 | -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); 2843 | animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); 2844 | } 2845 | } 2846 | 2847 | .zoomInRight { 2848 | -webkit-animation-name: zoomInRight; 2849 | animation-name: zoomInRight; 2850 | } 2851 | 2852 | @-webkit-keyframes zoomInUp { 2853 | from { 2854 | opacity: 0; 2855 | -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); 2856 | transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); 2857 | -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); 2858 | animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); 2859 | } 2860 | 2861 | 60% { 2862 | opacity: 1; 2863 | -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); 2864 | transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); 2865 | -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); 2866 | animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); 2867 | } 2868 | } 2869 | 2870 | @keyframes zoomInUp { 2871 | from { 2872 | opacity: 0; 2873 | -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); 2874 | transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); 2875 | -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); 2876 | animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); 2877 | } 2878 | 2879 | 60% { 2880 | opacity: 1; 2881 | -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); 2882 | transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); 2883 | -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); 2884 | animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); 2885 | } 2886 | } 2887 | 2888 | .zoomInUp { 2889 | -webkit-animation-name: zoomInUp; 2890 | animation-name: zoomInUp; 2891 | } 2892 | 2893 | @-webkit-keyframes zoomOut { 2894 | from { 2895 | opacity: 1; 2896 | } 2897 | 2898 | 50% { 2899 | opacity: 0; 2900 | -webkit-transform: scale3d(.3, .3, .3); 2901 | transform: scale3d(.3, .3, .3); 2902 | } 2903 | 2904 | to { 2905 | opacity: 0; 2906 | } 2907 | } 2908 | 2909 | @keyframes zoomOut { 2910 | from { 2911 | opacity: 1; 2912 | } 2913 | 2914 | 50% { 2915 | opacity: 0; 2916 | -webkit-transform: scale3d(.3, .3, .3); 2917 | transform: scale3d(.3, .3, .3); 2918 | } 2919 | 2920 | to { 2921 | opacity: 0; 2922 | } 2923 | } 2924 | 2925 | .zoomOut { 2926 | -webkit-animation-name: zoomOut; 2927 | animation-name: zoomOut; 2928 | } 2929 | 2930 | @-webkit-keyframes zoomOutDown { 2931 | 40% { 2932 | opacity: 1; 2933 | -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); 2934 | transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); 2935 | -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); 2936 | animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); 2937 | } 2938 | 2939 | to { 2940 | opacity: 0; 2941 | -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); 2942 | transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); 2943 | -webkit-transform-origin: center bottom; 2944 | transform-origin: center bottom; 2945 | -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); 2946 | animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); 2947 | } 2948 | } 2949 | 2950 | @keyframes zoomOutDown { 2951 | 40% { 2952 | opacity: 1; 2953 | -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); 2954 | transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); 2955 | -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); 2956 | animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); 2957 | } 2958 | 2959 | to { 2960 | opacity: 0; 2961 | -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); 2962 | transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); 2963 | -webkit-transform-origin: center bottom; 2964 | transform-origin: center bottom; 2965 | -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); 2966 | animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); 2967 | } 2968 | } 2969 | 2970 | .zoomOutDown { 2971 | -webkit-animation-name: zoomOutDown; 2972 | animation-name: zoomOutDown; 2973 | } 2974 | 2975 | @-webkit-keyframes zoomOutLeft { 2976 | 40% { 2977 | opacity: 1; 2978 | -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); 2979 | transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); 2980 | } 2981 | 2982 | to { 2983 | opacity: 0; 2984 | -webkit-transform: scale(.1) translate3d(-2000px, 0, 0); 2985 | transform: scale(.1) translate3d(-2000px, 0, 0); 2986 | -webkit-transform-origin: left center; 2987 | transform-origin: left center; 2988 | } 2989 | } 2990 | 2991 | @keyframes zoomOutLeft { 2992 | 40% { 2993 | opacity: 1; 2994 | -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); 2995 | transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); 2996 | } 2997 | 2998 | to { 2999 | opacity: 0; 3000 | -webkit-transform: scale(.1) translate3d(-2000px, 0, 0); 3001 | transform: scale(.1) translate3d(-2000px, 0, 0); 3002 | -webkit-transform-origin: left center; 3003 | transform-origin: left center; 3004 | } 3005 | } 3006 | 3007 | .zoomOutLeft { 3008 | -webkit-animation-name: zoomOutLeft; 3009 | animation-name: zoomOutLeft; 3010 | } 3011 | 3012 | @-webkit-keyframes zoomOutRight { 3013 | 40% { 3014 | opacity: 1; 3015 | -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); 3016 | transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); 3017 | } 3018 | 3019 | to { 3020 | opacity: 0; 3021 | -webkit-transform: scale(.1) translate3d(2000px, 0, 0); 3022 | transform: scale(.1) translate3d(2000px, 0, 0); 3023 | -webkit-transform-origin: right center; 3024 | transform-origin: right center; 3025 | } 3026 | } 3027 | 3028 | @keyframes zoomOutRight { 3029 | 40% { 3030 | opacity: 1; 3031 | -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); 3032 | transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); 3033 | } 3034 | 3035 | to { 3036 | opacity: 0; 3037 | -webkit-transform: scale(.1) translate3d(2000px, 0, 0); 3038 | transform: scale(.1) translate3d(2000px, 0, 0); 3039 | -webkit-transform-origin: right center; 3040 | transform-origin: right center; 3041 | } 3042 | } 3043 | 3044 | .zoomOutRight { 3045 | -webkit-animation-name: zoomOutRight; 3046 | animation-name: zoomOutRight; 3047 | } 3048 | 3049 | @-webkit-keyframes zoomOutUp { 3050 | 40% { 3051 | opacity: 1; 3052 | -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); 3053 | transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); 3054 | -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); 3055 | animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); 3056 | } 3057 | 3058 | to { 3059 | opacity: 0; 3060 | -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); 3061 | transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); 3062 | -webkit-transform-origin: center bottom; 3063 | transform-origin: center bottom; 3064 | -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); 3065 | animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); 3066 | } 3067 | } 3068 | 3069 | @keyframes zoomOutUp { 3070 | 40% { 3071 | opacity: 1; 3072 | -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); 3073 | transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); 3074 | -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); 3075 | animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); 3076 | } 3077 | 3078 | to { 3079 | opacity: 0; 3080 | -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); 3081 | transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); 3082 | -webkit-transform-origin: center bottom; 3083 | transform-origin: center bottom; 3084 | -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); 3085 | animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); 3086 | } 3087 | } 3088 | 3089 | .zoomOutUp { 3090 | -webkit-animation-name: zoomOutUp; 3091 | animation-name: zoomOutUp; 3092 | } 3093 | 3094 | @-webkit-keyframes slideInDown { 3095 | from { 3096 | -webkit-transform: translate3d(0, -100%, 0); 3097 | transform: translate3d(0, -100%, 0); 3098 | visibility: visible; 3099 | } 3100 | 3101 | to { 3102 | -webkit-transform: translate3d(0, 0, 0); 3103 | transform: translate3d(0, 0, 0); 3104 | } 3105 | } 3106 | 3107 | @keyframes slideInDown { 3108 | from { 3109 | -webkit-transform: translate3d(0, -100%, 0); 3110 | transform: translate3d(0, -100%, 0); 3111 | visibility: visible; 3112 | } 3113 | 3114 | to { 3115 | -webkit-transform: translate3d(0, 0, 0); 3116 | transform: translate3d(0, 0, 0); 3117 | } 3118 | } 3119 | 3120 | .slideInDown { 3121 | -webkit-animation-name: slideInDown; 3122 | animation-name: slideInDown; 3123 | } 3124 | 3125 | @-webkit-keyframes slideInLeft { 3126 | from { 3127 | -webkit-transform: translate3d(-100%, 0, 0); 3128 | transform: translate3d(-100%, 0, 0); 3129 | visibility: visible; 3130 | } 3131 | 3132 | to { 3133 | -webkit-transform: translate3d(0, 0, 0); 3134 | transform: translate3d(0, 0, 0); 3135 | } 3136 | } 3137 | 3138 | @keyframes slideInLeft { 3139 | from { 3140 | -webkit-transform: translate3d(-100%, 0, 0); 3141 | transform: translate3d(-100%, 0, 0); 3142 | visibility: visible; 3143 | } 3144 | 3145 | to { 3146 | -webkit-transform: translate3d(0, 0, 0); 3147 | transform: translate3d(0, 0, 0); 3148 | } 3149 | } 3150 | 3151 | .slideInLeft { 3152 | -webkit-animation-name: slideInLeft; 3153 | animation-name: slideInLeft; 3154 | } 3155 | 3156 | @-webkit-keyframes slideInRight { 3157 | from { 3158 | -webkit-transform: translate3d(100%, 0, 0); 3159 | transform: translate3d(100%, 0, 0); 3160 | visibility: visible; 3161 | } 3162 | 3163 | to { 3164 | -webkit-transform: translate3d(0, 0, 0); 3165 | transform: translate3d(0, 0, 0); 3166 | } 3167 | } 3168 | 3169 | @keyframes slideInRight { 3170 | from { 3171 | -webkit-transform: translate3d(100%, 0, 0); 3172 | transform: translate3d(100%, 0, 0); 3173 | visibility: visible; 3174 | } 3175 | 3176 | to { 3177 | -webkit-transform: translate3d(0, 0, 0); 3178 | transform: translate3d(0, 0, 0); 3179 | } 3180 | } 3181 | 3182 | .slideInRight { 3183 | -webkit-animation-name: slideInRight; 3184 | animation-name: slideInRight; 3185 | } 3186 | 3187 | @-webkit-keyframes slideInUp { 3188 | from { 3189 | -webkit-transform: translate3d(0, 100%, 0); 3190 | transform: translate3d(0, 100%, 0); 3191 | visibility: visible; 3192 | } 3193 | 3194 | to { 3195 | -webkit-transform: translate3d(0, 0, 0); 3196 | transform: translate3d(0, 0, 0); 3197 | } 3198 | } 3199 | 3200 | @keyframes slideInUp { 3201 | from { 3202 | -webkit-transform: translate3d(0, 100%, 0); 3203 | transform: translate3d(0, 100%, 0); 3204 | visibility: visible; 3205 | } 3206 | 3207 | to { 3208 | -webkit-transform: translate3d(0, 0, 0); 3209 | transform: translate3d(0, 0, 0); 3210 | } 3211 | } 3212 | 3213 | .slideInUp { 3214 | -webkit-animation-name: slideInUp; 3215 | animation-name: slideInUp; 3216 | } 3217 | 3218 | @-webkit-keyframes slideOutDown { 3219 | from { 3220 | -webkit-transform: translate3d(0, 0, 0); 3221 | transform: translate3d(0, 0, 0); 3222 | } 3223 | 3224 | to { 3225 | visibility: hidden; 3226 | -webkit-transform: translate3d(0, 100%, 0); 3227 | transform: translate3d(0, 100%, 0); 3228 | } 3229 | } 3230 | 3231 | @keyframes slideOutDown { 3232 | from { 3233 | -webkit-transform: translate3d(0, 0, 0); 3234 | transform: translate3d(0, 0, 0); 3235 | } 3236 | 3237 | to { 3238 | visibility: hidden; 3239 | -webkit-transform: translate3d(0, 100%, 0); 3240 | transform: translate3d(0, 100%, 0); 3241 | } 3242 | } 3243 | 3244 | .slideOutDown { 3245 | -webkit-animation-name: slideOutDown; 3246 | animation-name: slideOutDown; 3247 | } 3248 | 3249 | @-webkit-keyframes slideOutLeft { 3250 | from { 3251 | -webkit-transform: translate3d(0, 0, 0); 3252 | transform: translate3d(0, 0, 0); 3253 | } 3254 | 3255 | to { 3256 | visibility: hidden; 3257 | -webkit-transform: translate3d(-100%, 0, 0); 3258 | transform: translate3d(-100%, 0, 0); 3259 | } 3260 | } 3261 | 3262 | @keyframes slideOutLeft { 3263 | from { 3264 | -webkit-transform: translate3d(0, 0, 0); 3265 | transform: translate3d(0, 0, 0); 3266 | } 3267 | 3268 | to { 3269 | visibility: hidden; 3270 | -webkit-transform: translate3d(-100%, 0, 0); 3271 | transform: translate3d(-100%, 0, 0); 3272 | } 3273 | } 3274 | 3275 | .slideOutLeft { 3276 | -webkit-animation-name: slideOutLeft; 3277 | animation-name: slideOutLeft; 3278 | } 3279 | 3280 | @-webkit-keyframes slideOutRight { 3281 | from { 3282 | -webkit-transform: translate3d(0, 0, 0); 3283 | transform: translate3d(0, 0, 0); 3284 | } 3285 | 3286 | to { 3287 | visibility: hidden; 3288 | -webkit-transform: translate3d(100%, 0, 0); 3289 | transform: translate3d(100%, 0, 0); 3290 | } 3291 | } 3292 | 3293 | @keyframes slideOutRight { 3294 | from { 3295 | -webkit-transform: translate3d(0, 0, 0); 3296 | transform: translate3d(0, 0, 0); 3297 | } 3298 | 3299 | to { 3300 | visibility: hidden; 3301 | -webkit-transform: translate3d(100%, 0, 0); 3302 | transform: translate3d(100%, 0, 0); 3303 | } 3304 | } 3305 | 3306 | .slideOutRight { 3307 | -webkit-animation-name: slideOutRight; 3308 | animation-name: slideOutRight; 3309 | } 3310 | 3311 | @-webkit-keyframes slideOutUp { 3312 | from { 3313 | -webkit-transform: translate3d(0, 0, 0); 3314 | transform: translate3d(0, 0, 0); 3315 | } 3316 | 3317 | to { 3318 | visibility: hidden; 3319 | -webkit-transform: translate3d(0, -100%, 0); 3320 | transform: translate3d(0, -100%, 0); 3321 | } 3322 | } 3323 | 3324 | @keyframes slideOutUp { 3325 | from { 3326 | -webkit-transform: translate3d(0, 0, 0); 3327 | transform: translate3d(0, 0, 0); 3328 | } 3329 | 3330 | to { 3331 | visibility: hidden; 3332 | -webkit-transform: translate3d(0, -100%, 0); 3333 | transform: translate3d(0, -100%, 0); 3334 | } 3335 | } 3336 | 3337 | .slideOutUp { 3338 | -webkit-animation-name: slideOutUp; 3339 | animation-name: slideOutUp; 3340 | } 3341 | --------------------------------------------------------------------------------