Version Description
Download this release
Release Info
Developer | austyfrosty |
Plugin | Custom Login |
Version | 3.2.9 |
Comparing to | |
See all releases |
Code changes from version 3.2.8 to 3.2.9
- README.md +70 -13
- css/_notes/dwsync.xml +0 -1
- css/admin.css +0 -0
- css/animate.css +2835 -2370
- css/animate.min.css +10 -5
- css/chosen/_notes/dwsync.xml +0 -1
- css/chosen/chosen-sprite.png +0 -0
- css/chosen/chosen-sprite@2x.png +0 -0
- css/chosen/chosen.css +123 -64
- css/chosen/chosen.min.css +10 -2
- css/login/_notes/dwsync.xml +0 -1
- css/login/login-rtl.css +0 -0
- css/login/login.css +0 -0
- custom-login.php +330 -329
- extensions.json +0 -0
- includes/_notes/dwsync.xml +0 -1
- includes/admin/_notes/dwsync.xml +0 -1
- includes/admin/dashboard.php +281 -252
- includes/admin/import-export.php +2 -2
- includes/admin/plugins.php +0 -0
- includes/admin/roost.php +0 -91
- includes/admin/tracking.php +3 -7
- includes/class-cl-common.php +189 -168
- includes/class-cl-cron.php +0 -0
- includes/class-cl-extensions.php +3 -3
- includes/class-cl-scripts-styles.php +0 -0
- includes/class-cl-settings-api.php +733 -674
- includes/class-cl-settings-upgrades.php +70 -70
- includes/class-cl-templates.php +0 -0
- includes/class-cl-wp-login.php +248 -276
- includes/default-settings.php +0 -0
- includes/functions.php +0 -0
- includes/libraries/_notes/dwsync.xml +0 -1
- includes/libraries/edd-remote-install-client/EDD_Remote_Install_Client.php +4 -4
- includes/libraries/edd-remote-install-client/_notes/dwsync.xml +0 -1
- includes/libraries/edd-remote-install-client/css/_notes/dwsync.xml +0 -1
- includes/libraries/edd-remote-install-client/css/edd-remote-install-admin.css +0 -0
- includes/libraries/edd-remote-install-client/js/_notes/dwsync.xml +0 -1
- includes/libraries/edd-remote-install-client/js/edd-remote-install-admin.js +0 -0
- js/_notes/dwsync.xml +0 -1
- js/ace/src-min-noconflict/ace.js +0 -0
- js/ace/src-min-noconflict/ext-beautify.js +0 -0
- js/ace/src-min-noconflict/ext-chromevox.js +0 -0
- js/ace/src-min-noconflict/ext-elastic_tabstops_lite.js +0 -0
- js/ace/src-min-noconflict/ext-emmet.js +0 -0
- js/ace/src-min-noconflict/ext-error_marker.js +0 -0
- js/ace/src-min-noconflict/ext-keybinding_menu.js +0 -0
- js/ace/src-min-noconflict/ext-language_tools.js +0 -0
- js/ace/src-min-noconflict/ext-linking.js +0 -0
- js/ace/src-min-noconflict/ext-modelist.js +0 -0
- js/ace/src-min-noconflict/ext-old_ie.js +0 -0
- js/ace/src-min-noconflict/ext-searchbox.js +0 -0
- js/ace/src-min-noconflict/ext-settings_menu.js +0 -0
- js/ace/src-min-noconflict/ext-spellcheck.js +0 -0
- js/ace/src-min-noconflict/ext-split.js +0 -0
- js/ace/src-min-noconflict/ext-static_highlight.js +0 -0
- js/ace/src-min-noconflict/ext-statusbar.js +0 -0
- js/ace/src-min-noconflict/ext-textarea.js +0 -0
- js/ace/src-min-noconflict/ext-themelist.js +0 -0
- js/ace/src-min-noconflict/ext-whitespace.js +0 -0
- js/ace/src-min-noconflict/keybinding-emacs.js +0 -0
- js/ace/src-min-noconflict/keybinding-vim.js +0 -0
- js/ace/src-min-noconflict/mode-css.js +0 -0
- js/ace/src-min-noconflict/mode-html.js +0 -0
- js/ace/src-min-noconflict/mode-javascript.js +0 -0
- js/ace/src-min-noconflict/snippets/abap.js +0 -0
- js/ace/src-min-noconflict/snippets/actionscript.js +0 -0
- js/ace/src-min-noconflict/snippets/ada.js +0 -0
- js/ace/src-min-noconflict/snippets/apache_conf.js +0 -0
- js/ace/src-min-noconflict/snippets/applescript.js +0 -0
- js/ace/src-min-noconflict/snippets/asciidoc.js +0 -0
- js/ace/src-min-noconflict/snippets/assembly_x86.js +0 -0
- js/ace/src-min-noconflict/snippets/autohotkey.js +0 -0
- js/ace/src-min-noconflict/snippets/batchfile.js +0 -0
- js/ace/src-min-noconflict/snippets/c9search.js +0 -0
- js/ace/src-min-noconflict/snippets/c_cpp.js +0 -0
- js/ace/src-min-noconflict/snippets/cirru.js +0 -0
- js/ace/src-min-noconflict/snippets/clojure.js +0 -0
- js/ace/src-min-noconflict/snippets/cobol.js +0 -0
- js/ace/src-min-noconflict/snippets/coffee.js +0 -0
- js/ace/src-min-noconflict/snippets/coldfusion.js +0 -0
- js/ace/src-min-noconflict/snippets/csharp.js +0 -0
- js/ace/src-min-noconflict/snippets/css.js +0 -0
- js/ace/src-min-noconflict/snippets/curly.js +0 -0
- js/ace/src-min-noconflict/snippets/d.js +0 -0
- js/ace/src-min-noconflict/snippets/dart.js +0 -0
- js/ace/src-min-noconflict/snippets/diff.js +0 -0
- js/ace/src-min-noconflict/snippets/django.js +0 -0
- js/ace/src-min-noconflict/snippets/dockerfile.js +0 -0
- js/ace/src-min-noconflict/snippets/dot.js +0 -0
- js/ace/src-min-noconflict/snippets/eiffel.js +0 -0
- js/ace/src-min-noconflict/snippets/ejs.js +0 -0
- js/ace/src-min-noconflict/snippets/elixir.js +0 -0
- js/ace/src-min-noconflict/snippets/elm.js +0 -0
- js/ace/src-min-noconflict/snippets/erlang.js +0 -0
- js/ace/src-min-noconflict/snippets/forth.js +0 -0
- js/ace/src-min-noconflict/snippets/ftl.js +0 -0
- js/ace/src-min-noconflict/snippets/gcode.js +0 -0
- js/ace/src-min-noconflict/snippets/gherkin.js +0 -0
- js/ace/src-min-noconflict/snippets/gitignore.js +0 -0
- js/ace/src-min-noconflict/snippets/glsl.js +0 -0
- js/ace/src-min-noconflict/snippets/golang.js +0 -0
- js/ace/src-min-noconflict/snippets/groovy.js +0 -0
- js/ace/src-min-noconflict/snippets/haml.js +0 -0
- js/ace/src-min-noconflict/snippets/handlebars.js +0 -0
- js/ace/src-min-noconflict/snippets/haskell.js +0 -0
- js/ace/src-min-noconflict/snippets/haxe.js +0 -0
- js/ace/src-min-noconflict/snippets/html.js +0 -0
- js/ace/src-min-noconflict/snippets/html_ruby.js +0 -0
- js/ace/src-min-noconflict/snippets/ini.js +0 -0
- js/ace/src-min-noconflict/snippets/io.js +0 -0
- js/ace/src-min-noconflict/snippets/jack.js +0 -0
- js/ace/src-min-noconflict/snippets/jade.js +0 -0
- js/ace/src-min-noconflict/snippets/java.js +0 -0
- js/ace/src-min-noconflict/snippets/javascript.js +0 -0
- js/ace/src-min-noconflict/snippets/json.js +0 -0
- js/ace/src-min-noconflict/snippets/jsoniq.js +0 -0
- js/ace/src-min-noconflict/snippets/jsp.js +0 -0
- js/ace/src-min-noconflict/snippets/jsx.js +0 -0
- js/ace/src-min-noconflict/snippets/julia.js +0 -0
- js/ace/src-min-noconflict/snippets/latex.js +0 -0
- js/ace/src-min-noconflict/snippets/less.js +0 -0
- js/ace/src-min-noconflict/snippets/liquid.js +0 -0
- js/ace/src-min-noconflict/snippets/lisp.js +0 -0
- js/ace/src-min-noconflict/snippets/livescript.js +0 -0
- js/ace/src-min-noconflict/snippets/logiql.js +0 -0
- js/ace/src-min-noconflict/snippets/lsl.js +0 -0
- js/ace/src-min-noconflict/snippets/lua.js +0 -0
- js/ace/src-min-noconflict/snippets/luapage.js +0 -0
- js/ace/src-min-noconflict/snippets/lucene.js +0 -0
- js/ace/src-min-noconflict/snippets/makefile.js +0 -0
- js/ace/src-min-noconflict/snippets/markdown.js +0 -0
- js/ace/src-min-noconflict/snippets/matlab.js +0 -0
- js/ace/src-min-noconflict/snippets/mel.js +0 -0
- js/ace/src-min-noconflict/snippets/mushcode.js +0 -0
- js/ace/src-min-noconflict/snippets/mysql.js +0 -0
- js/ace/src-min-noconflict/snippets/nix.js +0 -0
- js/ace/src-min-noconflict/snippets/objectivec.js +0 -0
- js/ace/src-min-noconflict/snippets/ocaml.js +0 -0
- js/ace/src-min-noconflict/snippets/pascal.js +0 -0
- js/ace/src-min-noconflict/snippets/perl.js +0 -0
- js/ace/src-min-noconflict/snippets/pgsql.js +0 -0
- js/ace/src-min-noconflict/snippets/php.js +0 -0
- js/ace/src-min-noconflict/snippets/plain_text.js +0 -0
- js/ace/src-min-noconflict/snippets/powershell.js +0 -0
- js/ace/src-min-noconflict/snippets/praat.js +0 -0
- js/ace/src-min-noconflict/snippets/prolog.js +0 -0
- js/ace/src-min-noconflict/snippets/properties.js +0 -0
- js/ace/src-min-noconflict/snippets/protobuf.js +0 -0
- js/ace/src-min-noconflict/snippets/python.js +0 -0
- js/ace/src-min-noconflict/snippets/r.js +0 -0
- js/ace/src-min-noconflict/snippets/rdoc.js +0 -0
- js/ace/src-min-noconflict/snippets/rhtml.js +0 -0
- js/ace/src-min-noconflict/snippets/ruby.js +0 -0
- js/ace/src-min-noconflict/snippets/rust.js +0 -0
- js/ace/src-min-noconflict/snippets/sass.js +0 -0
- js/ace/src-min-noconflict/snippets/scad.js +0 -0
- js/ace/src-min-noconflict/snippets/scala.js +0 -0
- js/ace/src-min-noconflict/snippets/scheme.js +0 -0
- js/ace/src-min-noconflict/snippets/scss.js +0 -0
- js/ace/src-min-noconflict/snippets/sh.js +0 -0
- js/ace/src-min-noconflict/snippets/sjs.js +0 -0
- js/ace/src-min-noconflict/snippets/smarty.js +0 -0
- js/ace/src-min-noconflict/snippets/snippets.js +0 -0
- js/ace/src-min-noconflict/snippets/soy_template.js +0 -0
- js/ace/src-min-noconflict/snippets/space.js +0 -0
- js/ace/src-min-noconflict/snippets/sql.js +0 -0
- js/ace/src-min-noconflict/snippets/stylus.js +0 -0
- js/ace/src-min-noconflict/snippets/svg.js +0 -0
- js/ace/src-min-noconflict/snippets/tcl.js +0 -0
- js/ace/src-min-noconflict/snippets/tex.js +0 -0
- js/ace/src-min-noconflict/snippets/text.js +0 -0
- js/ace/src-min-noconflict/snippets/textile.js +0 -0
- js/ace/src-min-noconflict/snippets/toml.js +0 -0
- js/ace/src-min-noconflict/snippets/twig.js +0 -0
- js/ace/src-min-noconflict/snippets/typescript.js +0 -0
- js/ace/src-min-noconflict/snippets/vala.js +0 -0
- js/ace/src-min-noconflict/snippets/vbscript.js +0 -0
- js/ace/src-min-noconflict/snippets/velocity.js +0 -0
- js/ace/src-min-noconflict/snippets/verilog.js +0 -0
- js/ace/src-min-noconflict/snippets/vhdl.js +0 -0
- js/ace/src-min-noconflict/snippets/xml.js +0 -0
- js/ace/src-min-noconflict/snippets/xquery.js +0 -0
- js/ace/src-min-noconflict/snippets/yaml.js +0 -0
- js/ace/src-min-noconflict/worker-coffee.js +0 -0
- js/ace/src-min-noconflict/worker-css.js +0 -0
- js/ace/src-min-noconflict/worker-html.js +0 -0
- js/ace/src-min-noconflict/worker-javascript.js +0 -0
- js/admin.js +420 -405
- js/chosen.jquery.js +463 -343
- js/chosen.jquery.min.js +3 -2
- js/jquery.sticky.js +238 -120
- languages/custom-login-tr_TR.mo +0 -0
- languages/custom-login-tr_TR.pot +0 -0
- languages/custom-login.mo +0 -0
- languages/custom-login.po +0 -0
- languages/custom-login.pot +0 -0
- readme.txt +70 -15
- templates/wp-login-script.php +6 -6
- templates/wp-login-style.php +6 -6
- uninstall.php +0 -0
README.md
CHANGED
@@ -1,23 +1,29 @@
|
|
1 |
# Custom Login #
|
2 |
-
|
3 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
**Tags:** admin, branding, customization, custom login, login, logo, error, login error, custom login pro
|
5 |
-
**Requires at least:** 4.
|
6 |
-
**Tested up to:**
|
7 |
**Stable tag:** trunk
|
8 |
**License:** GPLv2 or later
|
9 |
**License URI:** http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
11 |
-
|
12 |
|
13 |
## Description ##
|
14 |
|
15 |
-
Custom Login 2.0 was 140% faster than version 1.0, and version 3.0 is now even better! *Minimum WordPress version is 4.
|
16 |
|
17 |
For more information visit the official [Custom Login](https://frosty.media/plugins/custom-login/) page.
|
18 |
|
19 |
> <strong>Support</strong><br>
|
20 |
-
> [Austin](
|
21 |
>
|
22 |
> Any extensions purchased on [Frosty Media](https://frosty.media/) (not hosted on WordPress.org) will not be supported on the WordPress.org forum. You can always browse our *small* but growing [documentation](https://frosty.media/docs) for further assistance. You need a valid license key to make support submissions *on our site*. We thank you in advance.
|
23 |
|
@@ -26,11 +32,11 @@ For more information visit the official [Custom Login](https://frosty.media/plug
|
|
26 |
|
27 |
### Video ###
|
28 |
|
29 |
-
|
30 |
|
31 |
### Extensions ###
|
32 |
|
33 |
-
There are currently
|
34 |
|
35 |
**Extensions available now**
|
36 |
|
@@ -39,6 +45,8 @@ There are currently 5 premium extensions available, with more coming (suggestion
|
|
39 |
* [Login Redirects](https://frosty.media/plugins/custom-login-redirects/?utm_source=wordpressorg&utm_medium=custom-login&utm_campaign=readme.txt "Custom Login Redirects") - Manage login redirects.
|
40 |
* [No Password](https://frosty.media/plugins/custom-login-no-password-login/?utm_source=wordpressorg&utm_medium=custom-login&utm_campaign=readme.txt "Custom Login No Password logins") - allow users to login without a password.
|
41 |
* [Style Pack #1](https://frosty.media/plugins/custom-login-style-pack-1?utm_source=wordpressorg&utm_medium=custom-login&utm_campaign=readme.txt "Custom Login Style Pack #1") - four pre-designed login styles.
|
|
|
|
|
42 |
|
43 |
**Extensions in development/extension ideas**
|
44 |
|
@@ -62,7 +70,7 @@ Activate the plugin and customize your WordPress login screen. It's as easy as m
|
|
62 |
### links ###
|
63 |
|
64 |
* Premium Plugins: [https://frosty.media/plugins](https://frosty.media/plugins/ "Premium WordPress Plugins by Frosty")
|
65 |
-
* Austins Blog: [https:/austin.passy.co/](
|
66 |
* Austin on Twitter: @[TheFrosty](https:/twitter.com/TheFrosty "Austin TheFrosty' Passy on Twitter")
|
67 |
* Frosty Media on Twitter: @[Frosty_Media](https:/twitter.com/Frosty_Media "Frosty Media on Twitter")
|
68 |
* **Development welcomed on [GitHub](https://github.com/thefrosty/custom-login)**
|
@@ -87,7 +95,7 @@ Follow the steps below to install the plugin.
|
|
87 |
They are additional plugins that add/extend functionality to the Custom Login plugin. You can find all Custom Login extensions on [Frosty.Media](http://frosty.media).
|
88 |
|
89 |
### My new settings aren't showing up ###
|
90 |
-
This plugin caches all settings in a transient, try clicking the new 'Update stylesheet' button to delete and refresh the cache. *This
|
91 |
|
92 |
### Is there a PRO version? ###
|
93 |
Well, yes and no. Since version 3.0 of Custom Login the [PRO](http://frosty.media/plugins/custom-login-pro/) version is a completely different plugin. Instead of settings to manage your login design there is a new post type where you can create unlimited "designs" and activate each one as needed. Since version 3.0 all Custom Login extensions no longer work with Custom Login Pro, but will be merged into it in the future.
|
@@ -99,7 +107,7 @@ I created this plugin to allow for custom login of any WordPress login screen. S
|
|
99 |
Check out the [Flickr group](http://flickr.com/groups/custom-login/)! Upload and add it to our pool!
|
100 |
|
101 |
### I think i want to uninstall ###
|
102 |
-
Just
|
103 |
|
104 |
## Screenshots ##
|
105 |
|
@@ -131,6 +139,55 @@ Custom Login showcase on the [Flickr group](http://flickr.com/groups/custom-logi
|
|
131 |
|
132 |
## Changelog ##
|
133 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
134 |
### Version 3.2 (02/09/15) ###
|
135 |
|
136 |
* Message: Celebrate 500,000 downloads. Visit the settings page or [this post](https://frosty.media/?p=26056) to get any extension for free! *Restrictions may apply.
|
@@ -233,4 +290,4 @@ Celebrate 500,000 downloads w/ a FREE extension! Update to version 3.2 for more
|
|
233 |
Fixes unable to login to admin site.
|
234 |
|
235 |
### 3.0.5 ###
|
236 |
-
Complete rewrite of Custom Login, be sure to run the update script to keep your old settings.
|
1 |
# Custom Login #
|
2 |
+
|
3 |
+
[![WordPress plugin](https://img.shields.io/wordpress/plugin/dt/custom-login.svg?style=flat)](https://wordpress.org/plugins/custom-login/)
|
4 |
+
[![WordPress plugin](https://img.shields.io/wordpress/plugin/v/custom-login.svg?style=flat)](https://wordpress.org/plugins/custom-login/)
|
5 |
+
[![WordPress](https://img.shields.io/wordpress/v/custom-login.svg?style=flat)]()
|
6 |
+
[![License](https://img.shields.io/badge/license-GPL--2.0%2B-red.svg)](https://github.com/thefrosty/custom-login/blob/master/license.txt)
|
7 |
+
|
8 |
+
**Contributors:** [austyfrosty](https://profiles.wordpress.org/austyfrosty), [frostymedia](https://profiles.wordpress.org/frostymedia)
|
9 |
+
**Donate link:** [PayPal](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=7431290)
|
10 |
**Tags:** admin, branding, customization, custom login, login, logo, error, login error, custom login pro
|
11 |
+
**Requires at least:** 4.9
|
12 |
+
**Tested up to:** 5.2
|
13 |
**Stable tag:** trunk
|
14 |
**License:** GPLv2 or later
|
15 |
**License URI:** http://www.gnu.org/licenses/gpl-2.0.html
|
16 |
|
17 |
+
Custom Login allows you to easily customize your admin login page, works great for client sites!
|
18 |
|
19 |
## Description ##
|
20 |
|
21 |
+
Custom Login 2.0 was 140% faster than version 1.0, and version 3.0 is now even better! *Minimum WordPress version is 4.9*
|
22 |
|
23 |
For more information visit the official [Custom Login](https://frosty.media/plugins/custom-login/) page.
|
24 |
|
25 |
> <strong>Support</strong><br>
|
26 |
+
> [Austin](http://austin.passy.co) and the [Frosty Media](https://frosty.media/) team will always try our best to support the Custom Login plugin on the WordPress.org forum, but please note that we can not guarantee a response in a timely manner. If you have an issue we would appriciate you using GitHub or purchasing priority support on our site.
|
27 |
>
|
28 |
> Any extensions purchased on [Frosty Media](https://frosty.media/) (not hosted on WordPress.org) will not be supported on the WordPress.org forum. You can always browse our *small* but growing [documentation](https://frosty.media/docs) for further assistance. You need a valid license key to make support submissions *on our site*. We thank you in advance.
|
29 |
|
32 |
|
33 |
### Video ###
|
34 |
|
35 |
+
[![IMAGE ALT TEXT HERE](https://img.youtube.com/vi/hZkc-t36xYQ/0.jpg)](https://www.youtube.com/watch?v=hZkc-t36xYQ)
|
36 |
|
37 |
### Extensions ###
|
38 |
|
39 |
+
There are currently 7 premium extensions available, with more coming (suggestions welcome - and *will be offered for free to said user*).
|
40 |
|
41 |
**Extensions available now**
|
42 |
|
45 |
* [Login Redirects](https://frosty.media/plugins/custom-login-redirects/?utm_source=wordpressorg&utm_medium=custom-login&utm_campaign=readme.txt "Custom Login Redirects") - Manage login redirects.
|
46 |
* [No Password](https://frosty.media/plugins/custom-login-no-password-login/?utm_source=wordpressorg&utm_medium=custom-login&utm_campaign=readme.txt "Custom Login No Password logins") - allow users to login without a password.
|
47 |
* [Style Pack #1](https://frosty.media/plugins/custom-login-style-pack-1?utm_source=wordpressorg&utm_medium=custom-login&utm_campaign=readme.txt "Custom Login Style Pack #1") - four pre-designed login styles.
|
48 |
+
* [Style Pack #2](https://frosty.media/plugins/custom-login-style-pack-2?utm_source=wordpressorg&utm_medium=custom-login&utm_campaign=readme.txt "Custom Login Style Pack #2") - four pre-designed fun login styles.
|
49 |
+
* [Style Pack #3](https://frosty.media/plugins/custom-login-style-pack-3?utm_source=wordpressorg&utm_medium=custom-login&utm_campaign=readme.txt "Custom Login Style Pack #3") - four pre-designed holiday login styles.
|
50 |
|
51 |
**Extensions in development/extension ideas**
|
52 |
|
70 |
### links ###
|
71 |
|
72 |
* Premium Plugins: [https://frosty.media/plugins](https://frosty.media/plugins/ "Premium WordPress Plugins by Frosty")
|
73 |
+
* Austins Blog: [https:/austin.passy.co/](http://austin.passy.co/ "Austin Passy's blog")
|
74 |
* Austin on Twitter: @[TheFrosty](https:/twitter.com/TheFrosty "Austin TheFrosty' Passy on Twitter")
|
75 |
* Frosty Media on Twitter: @[Frosty_Media](https:/twitter.com/Frosty_Media "Frosty Media on Twitter")
|
76 |
* **Development welcomed on [GitHub](https://github.com/thefrosty/custom-login)**
|
95 |
They are additional plugins that add/extend functionality to the Custom Login plugin. You can find all Custom Login extensions on [Frosty.Media](http://frosty.media).
|
96 |
|
97 |
### My new settings aren't showing up ###
|
98 |
+
This plugin caches all settings in a transient, try clicking the new 'Update stylesheet' button to delete and refresh the cache. *This will apply to versions < 3.0*.
|
99 |
|
100 |
### Is there a PRO version? ###
|
101 |
Well, yes and no. Since version 3.0 of Custom Login the [PRO](http://frosty.media/plugins/custom-login-pro/) version is a completely different plugin. Instead of settings to manage your login design there is a new post type where you can create unlimited "designs" and activate each one as needed. Since version 3.0 all Custom Login extensions no longer work with Custom Login Pro, but will be merged into it in the future.
|
107 |
Check out the [Flickr group](http://flickr.com/groups/custom-login/)! Upload and add it to our pool!
|
108 |
|
109 |
### I think i want to uninstall ###
|
110 |
+
Just deactivate it. Sad panda is sad.
|
111 |
|
112 |
## Screenshots ##
|
113 |
|
139 |
|
140 |
## Changelog ##
|
141 |
|
142 |
+
### Version 3.2.9 (2019/05/07) ###
|
143 |
+
* Tested up to WordPress 5.2.
|
144 |
+
* Update deprecated login text filter in WordPress 5.2.
|
145 |
+
* Update animate.css to version 3.7.0.
|
146 |
+
* Update chosen.js to 1.8.7.
|
147 |
+
* Update jQuery Sticky to 1.0.4.
|
148 |
+
* Fix spelling error in admin JS on typeof check for ACE JS.
|
149 |
+
|
150 |
+
### Version 3.2.8 (12/11/17) ###
|
151 |
+
|
152 |
+
* Update notifications URL to current correct location for admin settings page.
|
153 |
+
|
154 |
+
### Version 3.2.7 (11/13/17) ###
|
155 |
+
|
156 |
+
* Fix duplicate CSS output in head bug.
|
157 |
+
* Fix empty link URL and title on wp login page when on multisite.
|
158 |
+
|
159 |
+
### Version 3.2.6 (11/10/17) ###
|
160 |
+
|
161 |
+
* Check compatibility with WordPress 4.9.
|
162 |
+
* Update Settings API to fix `Undefined index: active` message.
|
163 |
+
|
164 |
+
### Version 3.2.5 (04/13/16) ###
|
165 |
+
|
166 |
+
* WordPress 4.5 compatible update (moves Custom Login css after WordPress' login style sheet).
|
167 |
+
* Fix issue where toggling the 'active' checkbox in the header doesn't activate or de-activate the plugin settings (updates via AJAX now).
|
168 |
+
|
169 |
+
### Version 3.2.4 (09/16/15) ###
|
170 |
+
|
171 |
+
* Fix PHP Fatal error.
|
172 |
+
** PHP Fatal error: Call to a member function get_permalink() on a non-object in /includes/admin/dashboard.php:114
|
173 |
+
|
174 |
+
### Version 3.2.2 (05/04/15) ###
|
175 |
+
|
176 |
+
* May the fourth be with you.
|
177 |
+
* Cleaned up dashboard JS errors.
|
178 |
+
|
179 |
+
### Version 3.2.2 (04/29/15) ###
|
180 |
+
|
181 |
+
* Update version number.
|
182 |
+
* Fix upgrade notice showing when not needed.
|
183 |
+
* Add class 'notice' and 'is-dismissible' to notice.
|
184 |
+
* Cleanup admin dashboard empty ob_get_clean() notice.
|
185 |
+
|
186 |
+
### Version 3.2.1 (04/20/15) ###
|
187 |
+
|
188 |
+
* Fix: XSS security flaw.
|
189 |
+
* Fix: Settings page not showing. (Fixes Issue: [#6](https://github.com/thefrosty/custom-login/pull/6) /ht @[DrewAPicture](https://github.com/DrewAPicture).
|
190 |
+
|
191 |
### Version 3.2 (02/09/15) ###
|
192 |
|
193 |
* Message: Celebrate 500,000 downloads. Visit the settings page or [this post](https://frosty.media/?p=26056) to get any extension for free! *Restrictions may apply.
|
290 |
Fixes unable to login to admin site.
|
291 |
|
292 |
### 3.0.5 ###
|
293 |
+
Complete rewrite of Custom Login, be sure to run the update script to keep your old settings.
|
css/_notes/dwsync.xml
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
<?xml version="1.0" encoding="utf-8" ?>
|
|
css/admin.css
CHANGED
File without changes
|
css/animate.css
CHANGED
@@ -1,3158 +1,3623 @@
|
|
1 |
@charset "UTF-8";
|
2 |
-
/*!
|
3 |
-
Animate.css - http://daneden.me/animate
|
4 |
-
Licensed under the MIT license - http://opensource.org/licenses/MIT
|
5 |
-
|
6 |
-
Copyright (c) 2014 Daniel Eden
|
7 |
-
*/
|
8 |
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
.animated.infinite {
|
17 |
-
-webkit-animation-iteration-count: infinite;
|
18 |
-
animation-iteration-count: infinite;
|
19 |
-
}
|
20 |
-
|
21 |
-
.animated.hinge {
|
22 |
-
-webkit-animation-duration: 2s;
|
23 |
-
animation-duration: 2s;
|
24 |
-
}
|
25 |
|
26 |
@-webkit-keyframes bounce {
|
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 |
|
54 |
@keyframes bounce {
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
|
|
|
|
|
|
|
|
|
|
80 |
}
|
81 |
|
82 |
.bounce {
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
transform-origin: center bottom;
|
88 |
}
|
89 |
|
90 |
@-webkit-keyframes flash {
|
91 |
-
|
92 |
-
|
93 |
-
|
|
|
|
|
94 |
|
95 |
-
|
96 |
-
|
97 |
-
|
|
|
98 |
}
|
99 |
|
100 |
@keyframes flash {
|
101 |
-
|
102 |
-
|
103 |
-
|
|
|
|
|
104 |
|
105 |
-
|
106 |
-
|
107 |
-
|
|
|
108 |
}
|
109 |
|
110 |
.flash {
|
111 |
-
|
112 |
-
|
113 |
}
|
114 |
|
115 |
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
|
116 |
|
117 |
@-webkit-keyframes pulse {
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
}
|
133 |
|
134 |
@keyframes pulse {
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
}
|
150 |
|
151 |
.pulse {
|
152 |
-
|
153 |
-
|
154 |
}
|
155 |
|
156 |
@-webkit-keyframes rubberBand {
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
}
|
192 |
|
193 |
@keyframes rubberBand {
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
}
|
229 |
|
230 |
.rubberBand {
|
231 |
-
|
232 |
-
|
233 |
}
|
234 |
|
235 |
@-webkit-keyframes shake {
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
250 |
}
|
251 |
|
252 |
@keyframes shake {
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
267 |
}
|
268 |
|
269 |
.shake {
|
270 |
-
|
271 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
272 |
}
|
273 |
|
274 |
@-webkit-keyframes swing {
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
}
|
300 |
|
301 |
@keyframes swing {
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
}
|
327 |
|
328 |
.swing {
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
animation-name: swing;
|
334 |
}
|
335 |
|
336 |
@-webkit-keyframes tada {
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
361 |
}
|
362 |
|
363 |
@keyframes tada {
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
388 |
}
|
389 |
|
390 |
.tada {
|
391 |
-
|
392 |
-
|
393 |
}
|
394 |
|
395 |
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
|
396 |
|
397 |
@-webkit-keyframes wobble {
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
}
|
433 |
|
434 |
@keyframes wobble {
|
435 |
-
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
|
464 |
-
|
465 |
-
|
466 |
-
|
467 |
-
|
468 |
-
|
469 |
}
|
470 |
|
471 |
.wobble {
|
472 |
-
|
473 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
474 |
}
|
475 |
|
476 |
@-webkit-keyframes bounceIn {
|
477 |
-
|
478 |
-
|
479 |
-
|
480 |
-
|
481 |
-
|
482 |
-
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
|
500 |
-
|
501 |
-
|
502 |
-
|
503 |
-
|
504 |
-
|
505 |
-
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
-
|
510 |
-
|
511 |
-
|
512 |
-
|
513 |
-
|
|
|
|
|
|
|
|
|
|
|
514 |
}
|
515 |
|
516 |
@keyframes bounceIn {
|
517 |
-
|
518 |
-
|
519 |
-
|
520 |
-
|
521 |
-
|
522 |
-
|
523 |
-
|
524 |
-
|
525 |
-
|
526 |
-
|
527 |
-
|
528 |
-
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
-
|
533 |
-
|
534 |
-
|
535 |
-
|
536 |
-
|
537 |
-
|
538 |
-
|
539 |
-
|
540 |
-
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
|
545 |
-
|
546 |
-
|
547 |
-
|
548 |
-
|
549 |
-
|
550 |
-
|
551 |
-
|
552 |
-
|
553 |
-
|
|
|
|
|
|
|
|
|
|
|
554 |
}
|
555 |
|
556 |
.bounceIn {
|
557 |
-
|
558 |
-
|
559 |
-
|
560 |
-
|
561 |
}
|
562 |
|
563 |
@-webkit-keyframes bounceInDown {
|
564 |
-
|
565 |
-
|
566 |
-
|
567 |
-
|
568 |
-
|
569 |
-
|
570 |
-
|
571 |
-
|
572 |
-
|
573 |
-
|
574 |
-
|
575 |
-
|
576 |
-
|
577 |
-
|
578 |
-
|
579 |
-
|
580 |
-
|
581 |
-
|
582 |
-
|
583 |
-
|
584 |
-
|
585 |
-
|
586 |
-
|
587 |
-
|
588 |
-
|
589 |
-
|
590 |
-
|
591 |
-
|
592 |
-
|
593 |
-
|
594 |
-
|
|
|
|
|
|
|
|
|
595 |
}
|
596 |
|
597 |
@keyframes bounceInDown {
|
598 |
-
|
599 |
-
|
600 |
-
|
601 |
-
|
602 |
-
|
603 |
-
|
604 |
-
|
605 |
-
|
606 |
-
|
607 |
-
|
608 |
-
|
609 |
-
|
610 |
-
|
611 |
-
|
612 |
-
|
613 |
-
|
614 |
-
|
615 |
-
|
616 |
-
|
617 |
-
|
618 |
-
|
619 |
-
|
620 |
-
|
621 |
-
|
622 |
-
|
623 |
-
|
624 |
-
|
625 |
-
|
626 |
-
|
627 |
-
|
628 |
-
|
|
|
|
|
|
|
|
|
629 |
}
|
630 |
|
631 |
.bounceInDown {
|
632 |
-
|
633 |
-
|
634 |
}
|
635 |
|
636 |
@-webkit-keyframes bounceInLeft {
|
637 |
-
|
638 |
-
|
639 |
-
|
640 |
-
|
641 |
-
|
642 |
-
|
643 |
-
|
644 |
-
|
645 |
-
|
646 |
-
|
647 |
-
|
648 |
-
|
649 |
-
|
650 |
-
|
651 |
-
|
652 |
-
|
653 |
-
|
654 |
-
|
655 |
-
|
656 |
-
|
657 |
-
|
658 |
-
|
659 |
-
|
660 |
-
|
661 |
-
|
662 |
-
|
663 |
-
|
664 |
-
|
665 |
-
|
666 |
-
|
667 |
-
|
|
|
|
|
|
|
|
|
668 |
}
|
669 |
|
670 |
@keyframes bounceInLeft {
|
671 |
-
|
672 |
-
|
673 |
-
|
674 |
-
|
675 |
-
|
676 |
-
|
677 |
-
|
678 |
-
|
679 |
-
|
680 |
-
|
681 |
-
|
682 |
-
|
683 |
-
|
684 |
-
|
685 |
-
|
686 |
-
|
687 |
-
|
688 |
-
|
689 |
-
|
690 |
-
|
691 |
-
|
692 |
-
|
693 |
-
|
694 |
-
|
695 |
-
|
696 |
-
|
697 |
-
|
698 |
-
|
699 |
-
|
700 |
-
|
701 |
-
|
|
|
|
|
|
|
|
|
702 |
}
|
703 |
|
704 |
.bounceInLeft {
|
705 |
-
|
706 |
-
|
707 |
}
|
708 |
|
709 |
@-webkit-keyframes bounceInRight {
|
710 |
-
|
711 |
-
|
712 |
-
|
713 |
-
|
714 |
-
|
715 |
-
|
716 |
-
|
717 |
-
|
718 |
-
|
719 |
-
|
720 |
-
|
721 |
-
|
722 |
-
|
723 |
-
|
724 |
-
|
725 |
-
|
726 |
-
|
727 |
-
|
728 |
-
|
729 |
-
|
730 |
-
|
731 |
-
|
732 |
-
|
733 |
-
|
734 |
-
|
735 |
-
|
736 |
-
|
737 |
-
|
738 |
-
|
739 |
-
|
740 |
-
|
|
|
|
|
|
|
|
|
741 |
}
|
742 |
|
743 |
@keyframes bounceInRight {
|
744 |
-
|
745 |
-
|
746 |
-
|
747 |
-
|
748 |
-
|
749 |
-
|
750 |
-
|
751 |
-
|
752 |
-
|
753 |
-
|
754 |
-
|
755 |
-
|
756 |
-
|
757 |
-
|
758 |
-
|
759 |
-
|
760 |
-
|
761 |
-
|
762 |
-
|
763 |
-
|
764 |
-
|
765 |
-
|
766 |
-
|
767 |
-
|
768 |
-
|
769 |
-
|
770 |
-
|
771 |
-
|
772 |
-
|
773 |
-
|
774 |
-
|
|
|
|
|
|
|
|
|
775 |
}
|
776 |
|
777 |
.bounceInRight {
|
778 |
-
|
779 |
-
|
780 |
}
|
781 |
|
782 |
@-webkit-keyframes bounceInUp {
|
783 |
-
|
784 |
-
|
785 |
-
|
786 |
-
|
787 |
-
|
788 |
-
|
789 |
-
|
790 |
-
|
791 |
-
|
792 |
-
|
793 |
-
|
794 |
-
|
795 |
-
|
796 |
-
|
797 |
-
|
798 |
-
|
799 |
-
|
800 |
-
|
801 |
-
|
802 |
-
|
803 |
-
|
804 |
-
|
805 |
-
|
806 |
-
|
807 |
-
|
808 |
-
|
809 |
-
|
810 |
-
|
811 |
-
|
812 |
-
|
813 |
-
|
|
|
|
|
|
|
|
|
814 |
}
|
815 |
|
816 |
@keyframes bounceInUp {
|
817 |
-
|
818 |
-
|
819 |
-
|
820 |
-
|
821 |
-
|
822 |
-
|
823 |
-
|
824 |
-
|
825 |
-
|
826 |
-
|
827 |
-
|
828 |
-
|
829 |
-
|
830 |
-
|
831 |
-
|
832 |
-
|
833 |
-
|
834 |
-
|
835 |
-
|
836 |
-
|
837 |
-
|
838 |
-
|
839 |
-
|
840 |
-
|
841 |
-
|
842 |
-
|
843 |
-
|
844 |
-
|
845 |
-
|
846 |
-
|
847 |
-
|
|
|
|
|
|
|
|
|
848 |
}
|
849 |
|
850 |
.bounceInUp {
|
851 |
-
|
852 |
-
|
853 |
}
|
854 |
|
855 |
@-webkit-keyframes bounceOut {
|
856 |
-
|
857 |
-
|
858 |
-
|
859 |
-
|
860 |
|
861 |
-
|
862 |
-
|
863 |
-
|
864 |
-
|
865 |
-
|
|
|
866 |
|
867 |
-
|
868 |
-
|
869 |
-
|
870 |
-
|
871 |
-
|
872 |
}
|
873 |
|
874 |
@keyframes bounceOut {
|
875 |
-
|
876 |
-
|
877 |
-
|
878 |
-
|
879 |
|
880 |
-
|
881 |
-
|
882 |
-
|
883 |
-
|
884 |
-
|
|
|
885 |
|
886 |
-
|
887 |
-
|
888 |
-
|
889 |
-
|
890 |
-
|
891 |
}
|
892 |
|
893 |
.bounceOut {
|
894 |
-
|
895 |
-
|
896 |
-
|
897 |
-
|
898 |
}
|
899 |
|
900 |
@-webkit-keyframes bounceOutDown {
|
901 |
-
|
902 |
-
|
903 |
-
|
904 |
-
|
905 |
|
906 |
-
|
907 |
-
|
908 |
-
|
909 |
-
|
910 |
-
|
|
|
911 |
|
912 |
-
|
913 |
-
|
914 |
-
|
915 |
-
|
916 |
-
|
917 |
}
|
918 |
|
919 |
@keyframes bounceOutDown {
|
920 |
-
|
921 |
-
|
922 |
-
|
923 |
-
|
924 |
|
925 |
-
|
926 |
-
|
927 |
-
|
928 |
-
|
929 |
-
|
|
|
930 |
|
931 |
-
|
932 |
-
|
933 |
-
|
934 |
-
|
935 |
-
|
936 |
}
|
937 |
|
938 |
.bounceOutDown {
|
939 |
-
|
940 |
-
|
941 |
}
|
942 |
|
943 |
@-webkit-keyframes bounceOutLeft {
|
944 |
-
|
945 |
-
|
946 |
-
|
947 |
-
|
948 |
-
|
949 |
|
950 |
-
|
951 |
-
|
952 |
-
|
953 |
-
|
954 |
-
|
955 |
}
|
956 |
|
957 |
@keyframes bounceOutLeft {
|
958 |
-
|
959 |
-
|
960 |
-
|
961 |
-
|
962 |
-
|
963 |
|
964 |
-
|
965 |
-
|
966 |
-
|
967 |
-
|
968 |
-
|
969 |
}
|
970 |
|
971 |
.bounceOutLeft {
|
972 |
-
|
973 |
-
|
974 |
}
|
975 |
|
976 |
@-webkit-keyframes bounceOutRight {
|
977 |
-
|
978 |
-
|
979 |
-
|
980 |
-
|
981 |
-
|
982 |
|
983 |
-
|
984 |
-
|
985 |
-
|
986 |
-
|
987 |
-
|
988 |
}
|
989 |
|
990 |
@keyframes bounceOutRight {
|
991 |
-
|
992 |
-
|
993 |
-
|
994 |
-
|
995 |
-
|
996 |
|
997 |
-
|
998 |
-
|
999 |
-
|
1000 |
-
|
1001 |
-
|
1002 |
}
|
1003 |
|
1004 |
.bounceOutRight {
|
1005 |
-
|
1006 |
-
|
1007 |
}
|
1008 |
|
1009 |
@-webkit-keyframes bounceOutUp {
|
1010 |
-
|
1011 |
-
|
1012 |
-
|
1013 |
-
|
1014 |
|
1015 |
-
|
1016 |
-
|
1017 |
-
|
1018 |
-
|
1019 |
-
|
|
|
1020 |
|
1021 |
-
|
1022 |
-
|
1023 |
-
|
1024 |
-
|
1025 |
-
|
1026 |
}
|
1027 |
|
1028 |
@keyframes bounceOutUp {
|
1029 |
-
|
1030 |
-
|
1031 |
-
|
1032 |
-
|
1033 |
|
1034 |
-
|
1035 |
-
|
1036 |
-
|
1037 |
-
|
1038 |
-
|
|
|
1039 |
|
1040 |
-
|
1041 |
-
|
1042 |
-
|
1043 |
-
|
1044 |
-
|
1045 |
}
|
1046 |
|
1047 |
.bounceOutUp {
|
1048 |
-
|
1049 |
-
|
1050 |
}
|
1051 |
|
1052 |
@-webkit-keyframes fadeIn {
|
1053 |
-
|
1054 |
-
|
|
|
|
|
|
|
|
|
|
|
1055 |
}
|
1056 |
|
1057 |
@keyframes fadeIn {
|
1058 |
-
|
1059 |
-
|
|
|
|
|
|
|
|
|
|
|
1060 |
}
|
1061 |
|
1062 |
.fadeIn {
|
1063 |
-
|
1064 |
-
|
1065 |
}
|
1066 |
|
1067 |
@-webkit-keyframes fadeInDown {
|
1068 |
-
|
1069 |
-
|
1070 |
-
|
1071 |
-
|
1072 |
-
|
1073 |
|
1074 |
-
|
1075 |
-
|
1076 |
-
|
1077 |
-
|
1078 |
-
|
1079 |
}
|
1080 |
|
1081 |
@keyframes fadeInDown {
|
1082 |
-
|
1083 |
-
|
1084 |
-
|
1085 |
-
|
1086 |
-
|
1087 |
|
1088 |
-
|
1089 |
-
|
1090 |
-
|
1091 |
-
|
1092 |
-
|
1093 |
}
|
1094 |
|
1095 |
.fadeInDown {
|
1096 |
-
|
1097 |
-
|
1098 |
}
|
1099 |
|
1100 |
@-webkit-keyframes fadeInDownBig {
|
1101 |
-
|
1102 |
-
|
1103 |
-
|
1104 |
-
|
1105 |
-
|
1106 |
|
1107 |
-
|
1108 |
-
|
1109 |
-
|
1110 |
-
|
1111 |
-
|
1112 |
}
|
1113 |
|
1114 |
@keyframes fadeInDownBig {
|
1115 |
-
|
1116 |
-
|
1117 |
-
|
1118 |
-
|
1119 |
-
|
1120 |
|
1121 |
-
|
1122 |
-
|
1123 |
-
|
1124 |
-
|
1125 |
-
|
1126 |
}
|
1127 |
|
1128 |
.fadeInDownBig {
|
1129 |
-
|
1130 |
-
|
1131 |
}
|
1132 |
|
1133 |
@-webkit-keyframes fadeInLeft {
|
1134 |
-
|
1135 |
-
|
1136 |
-
|
1137 |
-
|
1138 |
-
|
1139 |
|
1140 |
-
|
1141 |
-
|
1142 |
-
|
1143 |
-
|
1144 |
-
|
1145 |
}
|
1146 |
|
1147 |
@keyframes fadeInLeft {
|
1148 |
-
|
1149 |
-
|
1150 |
-
|
1151 |
-
|
1152 |
-
|
1153 |
|
1154 |
-
|
1155 |
-
|
1156 |
-
|
1157 |
-
|
1158 |
-
|
1159 |
}
|
1160 |
|
1161 |
.fadeInLeft {
|
1162 |
-
|
1163 |
-
|
1164 |
}
|
1165 |
|
1166 |
@-webkit-keyframes fadeInLeftBig {
|
1167 |
-
|
1168 |
-
|
1169 |
-
|
1170 |
-
|
1171 |
-
|
1172 |
|
1173 |
-
|
1174 |
-
|
1175 |
-
|
1176 |
-
|
1177 |
-
|
1178 |
}
|
1179 |
|
1180 |
@keyframes fadeInLeftBig {
|
1181 |
-
|
1182 |
-
|
1183 |
-
|
1184 |
-
|
1185 |
-
|
1186 |
|
1187 |
-
|
1188 |
-
|
1189 |
-
|
1190 |
-
|
1191 |
-
|
1192 |
}
|
1193 |
|
1194 |
.fadeInLeftBig {
|
1195 |
-
|
1196 |
-
|
1197 |
}
|
1198 |
|
1199 |
@-webkit-keyframes fadeInRight {
|
1200 |
-
|
1201 |
-
|
1202 |
-
|
1203 |
-
|
1204 |
-
|
1205 |
|
1206 |
-
|
1207 |
-
|
1208 |
-
|
1209 |
-
|
1210 |
-
|
1211 |
}
|
1212 |
|
1213 |
@keyframes fadeInRight {
|
1214 |
-
|
1215 |
-
|
1216 |
-
|
1217 |
-
|
1218 |
-
|
1219 |
|
1220 |
-
|
1221 |
-
|
1222 |
-
|
1223 |
-
|
1224 |
-
|
1225 |
}
|
1226 |
|
1227 |
.fadeInRight {
|
1228 |
-
|
1229 |
-
|
1230 |
}
|
1231 |
|
1232 |
@-webkit-keyframes fadeInRightBig {
|
1233 |
-
|
1234 |
-
|
1235 |
-
|
1236 |
-
|
1237 |
-
|
1238 |
|
1239 |
-
|
1240 |
-
|
1241 |
-
|
1242 |
-
|
1243 |
-
|
1244 |
}
|
1245 |
|
1246 |
@keyframes fadeInRightBig {
|
1247 |
-
|
1248 |
-
|
1249 |
-
|
1250 |
-
|
1251 |
-
|
1252 |
|
1253 |
-
|
1254 |
-
|
1255 |
-
|
1256 |
-
|
1257 |
-
|
1258 |
}
|
1259 |
|
1260 |
.fadeInRightBig {
|
1261 |
-
|
1262 |
-
|
1263 |
}
|
1264 |
|
1265 |
@-webkit-keyframes fadeInUp {
|
1266 |
-
|
1267 |
-
|
1268 |
-
|
1269 |
-
|
1270 |
-
|
1271 |
|
1272 |
-
|
1273 |
-
|
1274 |
-
|
1275 |
-
|
1276 |
-
|
1277 |
}
|
1278 |
|
1279 |
@keyframes fadeInUp {
|
1280 |
-
|
1281 |
-
|
1282 |
-
|
1283 |
-
|
1284 |
-
|
1285 |
|
1286 |
-
|
1287 |
-
|
1288 |
-
|
1289 |
-
|
1290 |
-
|
1291 |
}
|
1292 |
|
1293 |
.fadeInUp {
|
1294 |
-
|
1295 |
-
|
1296 |
}
|
1297 |
|
1298 |
@-webkit-keyframes fadeInUpBig {
|
1299 |
-
|
1300 |
-
|
1301 |
-
|
1302 |
-
|
1303 |
-
|
1304 |
|
1305 |
-
|
1306 |
-
|
1307 |
-
|
1308 |
-
|
1309 |
-
|
1310 |
}
|
1311 |
|
1312 |
@keyframes fadeInUpBig {
|
1313 |
-
|
1314 |
-
|
1315 |
-
|
1316 |
-
|
1317 |
-
|
1318 |
|
1319 |
-
|
1320 |
-
|
1321 |
-
|
1322 |
-
|
1323 |
-
|
1324 |
}
|
1325 |
|
1326 |
.fadeInUpBig {
|
1327 |
-
|
1328 |
-
|
1329 |
}
|
1330 |
|
1331 |
@-webkit-keyframes fadeOut {
|
1332 |
-
|
1333 |
-
|
|
|
|
|
|
|
|
|
|
|
1334 |
}
|
1335 |
|
1336 |
@keyframes fadeOut {
|
1337 |
-
|
1338 |
-
|
|
|
|
|
|
|
|
|
|
|
1339 |
}
|
1340 |
|
1341 |
.fadeOut {
|
1342 |
-
|
1343 |
-
|
1344 |
}
|
1345 |
|
1346 |
@-webkit-keyframes fadeOutDown {
|
1347 |
-
|
1348 |
-
|
1349 |
-
|
1350 |
|
1351 |
-
|
1352 |
-
|
1353 |
-
|
1354 |
-
|
1355 |
-
|
1356 |
}
|
1357 |
|
1358 |
@keyframes fadeOutDown {
|
1359 |
-
|
1360 |
-
|
1361 |
-
|
1362 |
|
1363 |
-
|
1364 |
-
|
1365 |
-
|
1366 |
-
|
1367 |
-
|
1368 |
}
|
1369 |
|
1370 |
.fadeOutDown {
|
1371 |
-
|
1372 |
-
|
1373 |
}
|
1374 |
|
1375 |
@-webkit-keyframes fadeOutDownBig {
|
1376 |
-
|
1377 |
-
|
1378 |
-
|
1379 |
|
1380 |
-
|
1381 |
-
|
1382 |
-
|
1383 |
-
|
1384 |
-
|
1385 |
}
|
1386 |
|
1387 |
@keyframes fadeOutDownBig {
|
1388 |
-
|
1389 |
-
|
1390 |
-
|
1391 |
|
1392 |
-
|
1393 |
-
|
1394 |
-
|
1395 |
-
|
1396 |
-
|
1397 |
}
|
1398 |
|
1399 |
.fadeOutDownBig {
|
1400 |
-
|
1401 |
-
|
1402 |
}
|
1403 |
|
1404 |
@-webkit-keyframes fadeOutLeft {
|
1405 |
-
|
1406 |
-
|
1407 |
-
|
1408 |
|
1409 |
-
|
1410 |
-
|
1411 |
-
|
1412 |
-
|
1413 |
-
|
1414 |
}
|
1415 |
|
1416 |
@keyframes fadeOutLeft {
|
1417 |
-
|
1418 |
-
|
1419 |
-
|
1420 |
|
1421 |
-
|
1422 |
-
|
1423 |
-
|
1424 |
-
|
1425 |
-
|
1426 |
}
|
1427 |
|
1428 |
.fadeOutLeft {
|
1429 |
-
|
1430 |
-
|
1431 |
}
|
1432 |
|
1433 |
@-webkit-keyframes fadeOutLeftBig {
|
1434 |
-
|
1435 |
-
|
1436 |
-
|
1437 |
|
1438 |
-
|
1439 |
-
|
1440 |
-
|
1441 |
-
|
1442 |
-
|
1443 |
}
|
1444 |
|
1445 |
@keyframes fadeOutLeftBig {
|
1446 |
-
|
1447 |
-
|
1448 |
-
|
1449 |
|
1450 |
-
|
1451 |
-
|
1452 |
-
|
1453 |
-
|
1454 |
-
|
1455 |
}
|
1456 |
|
1457 |
.fadeOutLeftBig {
|
1458 |
-
|
1459 |
-
|
1460 |
}
|
1461 |
|
1462 |
@-webkit-keyframes fadeOutRight {
|
1463 |
-
|
1464 |
-
|
1465 |
-
|
1466 |
|
1467 |
-
|
1468 |
-
|
1469 |
-
|
1470 |
-
|
1471 |
-
|
1472 |
}
|
1473 |
|
1474 |
@keyframes fadeOutRight {
|
1475 |
-
|
1476 |
-
|
1477 |
-
|
1478 |
|
1479 |
-
|
1480 |
-
|
1481 |
-
|
1482 |
-
|
1483 |
-
|
1484 |
}
|
1485 |
|
1486 |
.fadeOutRight {
|
1487 |
-
|
1488 |
-
|
1489 |
}
|
1490 |
|
1491 |
@-webkit-keyframes fadeOutRightBig {
|
1492 |
-
|
1493 |
-
|
1494 |
-
|
1495 |
|
1496 |
-
|
1497 |
-
|
1498 |
-
|
1499 |
-
|
1500 |
-
|
1501 |
}
|
1502 |
|
1503 |
@keyframes fadeOutRightBig {
|
1504 |
-
|
1505 |
-
|
1506 |
-
|
1507 |
|
1508 |
-
|
1509 |
-
|
1510 |
-
|
1511 |
-
|
1512 |
-
|
1513 |
}
|
1514 |
|
1515 |
.fadeOutRightBig {
|
1516 |
-
|
1517 |
-
|
1518 |
}
|
1519 |
|
1520 |
@-webkit-keyframes fadeOutUp {
|
1521 |
-
|
1522 |
-
|
1523 |
-
|
1524 |
|
1525 |
-
|
1526 |
-
|
1527 |
-
|
1528 |
-
|
1529 |
-
|
1530 |
}
|
1531 |
|
1532 |
@keyframes fadeOutUp {
|
1533 |
-
|
1534 |
-
|
1535 |
-
|
1536 |
|
1537 |
-
|
1538 |
-
|
1539 |
-
|
1540 |
-
|
1541 |
-
|
1542 |
}
|
1543 |
|
1544 |
.fadeOutUp {
|
1545 |
-
|
1546 |
-
|
1547 |
}
|
1548 |
|
1549 |
@-webkit-keyframes fadeOutUpBig {
|
1550 |
-
|
1551 |
-
|
1552 |
-
|
1553 |
|
1554 |
-
|
1555 |
-
|
1556 |
-
|
1557 |
-
|
1558 |
-
|
1559 |
}
|
1560 |
|
1561 |
@keyframes fadeOutUpBig {
|
1562 |
-
|
1563 |
-
|
1564 |
-
|
1565 |
|
1566 |
-
|
1567 |
-
|
1568 |
-
|
1569 |
-
|
1570 |
-
|
1571 |
}
|
1572 |
|
1573 |
.fadeOutUpBig {
|
1574 |
-
|
1575 |
-
|
1576 |
}
|
1577 |
|
1578 |
@-webkit-keyframes flip {
|
1579 |
-
|
1580 |
-
|
1581 |
-
|
1582 |
-
|
1583 |
-
|
1584 |
-
|
1585 |
-
|
1586 |
-
|
1587 |
-
|
1588 |
-
|
1589 |
-
|
1590 |
-
|
1591 |
-
|
1592 |
-
|
1593 |
-
|
1594 |
-
|
1595 |
-
|
1596 |
-
|
1597 |
-
|
1598 |
-
|
1599 |
-
|
1600 |
-
|
1601 |
-
|
1602 |
-
|
1603 |
-
|
1604 |
-
|
1605 |
-
|
1606 |
-
|
1607 |
-
|
1608 |
-
|
1609 |
-
|
1610 |
-
|
1611 |
-
|
1612 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1613 |
}
|
1614 |
|
1615 |
@keyframes flip {
|
1616 |
-
|
1617 |
-
|
1618 |
-
|
1619 |
-
|
1620 |
-
|
1621 |
-
|
1622 |
-
|
1623 |
-
|
1624 |
-
|
1625 |
-
|
1626 |
-
|
1627 |
-
|
1628 |
-
|
1629 |
-
|
1630 |
-
|
1631 |
-
|
1632 |
-
|
1633 |
-
|
1634 |
-
|
1635 |
-
|
1636 |
-
|
1637 |
-
|
1638 |
-
|
1639 |
-
|
1640 |
-
|
1641 |
-
|
1642 |
-
|
1643 |
-
|
1644 |
-
|
1645 |
-
|
1646 |
-
|
1647 |
-
|
1648 |
-
|
1649 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1650 |
}
|
1651 |
|
1652 |
.animated.flip {
|
1653 |
-
|
1654 |
-
|
1655 |
-
|
1656 |
-
|
1657 |
}
|
1658 |
|
1659 |
@-webkit-keyframes flipInX {
|
1660 |
-
|
1661 |
-
|
1662 |
-
|
1663 |
-
|
1664 |
-
|
1665 |
-
|
1666 |
-
|
1667 |
-
|
1668 |
-
|
1669 |
-
|
1670 |
-
|
1671 |
-
|
1672 |
-
|
1673 |
-
|
1674 |
-
|
1675 |
-
|
1676 |
-
|
1677 |
-
|
1678 |
-
|
1679 |
-
|
1680 |
-
|
1681 |
-
|
1682 |
-
|
1683 |
-
|
1684 |
-
|
1685 |
-
|
1686 |
-
|
1687 |
-
|
1688 |
-
|
1689 |
-
|
1690 |
}
|
1691 |
|
1692 |
@keyframes flipInX {
|
1693 |
-
|
1694 |
-
|
1695 |
-
|
1696 |
-
|
1697 |
-
|
1698 |
-
|
1699 |
-
|
1700 |
-
|
1701 |
-
|
1702 |
-
|
1703 |
-
|
1704 |
-
|
1705 |
-
|
1706 |
-
|
1707 |
-
|
1708 |
-
|
1709 |
-
|
1710 |
-
|
1711 |
-
|
1712 |
-
|
1713 |
-
|
1714 |
-
|
1715 |
-
|
1716 |
-
|
1717 |
-
|
1718 |
-
|
1719 |
-
|
1720 |
-
|
1721 |
-
|
1722 |
-
|
1723 |
}
|
1724 |
|
1725 |
.flipInX {
|
1726 |
-
|
1727 |
-
|
1728 |
-
|
1729 |
-
|
1730 |
}
|
1731 |
|
1732 |
@-webkit-keyframes flipInY {
|
1733 |
-
|
1734 |
-
|
1735 |
-
|
1736 |
-
|
1737 |
-
|
1738 |
-
|
1739 |
-
|
1740 |
-
|
1741 |
-
|
1742 |
-
|
1743 |
-
|
1744 |
-
|
1745 |
-
|
1746 |
-
|
1747 |
-
|
1748 |
-
|
1749 |
-
|
1750 |
-
|
1751 |
-
|
1752 |
-
|
1753 |
-
|
1754 |
-
|
1755 |
-
|
1756 |
-
|
1757 |
-
|
1758 |
-
|
1759 |
-
|
1760 |
-
|
1761 |
-
|
1762 |
-
|
1763 |
}
|
1764 |
|
1765 |
@keyframes flipInY {
|
1766 |
-
|
1767 |
-
|
1768 |
-
|
1769 |
-
|
1770 |
-
|
1771 |
-
|
1772 |
-
|
1773 |
-
|
1774 |
-
|
1775 |
-
|
1776 |
-
|
1777 |
-
|
1778 |
-
|
1779 |
-
|
1780 |
-
|
1781 |
-
|
1782 |
-
|
1783 |
-
|
1784 |
-
|
1785 |
-
|
1786 |
-
|
1787 |
-
|
1788 |
-
|
1789 |
-
|
1790 |
-
|
1791 |
-
|
1792 |
-
|
1793 |
-
|
1794 |
-
|
1795 |
-
|
1796 |
}
|
1797 |
|
1798 |
.flipInY {
|
1799 |
-
|
1800 |
-
|
1801 |
-
|
1802 |
-
|
1803 |
}
|
1804 |
|
1805 |
@-webkit-keyframes flipOutX {
|
1806 |
-
|
1807 |
-
|
1808 |
-
|
1809 |
-
|
1810 |
|
1811 |
-
|
1812 |
-
|
1813 |
-
|
1814 |
-
|
1815 |
-
|
1816 |
|
1817 |
-
|
1818 |
-
|
1819 |
-
|
1820 |
-
|
1821 |
-
|
1822 |
}
|
1823 |
|
1824 |
@keyframes flipOutX {
|
1825 |
-
|
1826 |
-
|
1827 |
-
|
1828 |
-
|
1829 |
|
1830 |
-
|
1831 |
-
|
1832 |
-
|
1833 |
-
|
1834 |
-
|
1835 |
|
1836 |
-
|
1837 |
-
|
1838 |
-
|
1839 |
-
|
1840 |
-
|
1841 |
}
|
1842 |
|
1843 |
.flipOutX {
|
1844 |
-
|
1845 |
-
|
1846 |
-
|
1847 |
-
|
1848 |
-
|
1849 |
-
|
1850 |
}
|
1851 |
|
1852 |
@-webkit-keyframes flipOutY {
|
1853 |
-
|
1854 |
-
|
1855 |
-
|
1856 |
-
|
1857 |
|
1858 |
-
|
1859 |
-
|
1860 |
-
|
1861 |
-
|
1862 |
-
|
1863 |
|
1864 |
-
|
1865 |
-
|
1866 |
-
|
1867 |
-
|
1868 |
-
|
1869 |
}
|
1870 |
|
1871 |
@keyframes flipOutY {
|
1872 |
-
|
1873 |
-
|
1874 |
-
|
1875 |
-
|
1876 |
|
1877 |
-
|
1878 |
-
|
1879 |
-
|
1880 |
-
|
1881 |
-
|
1882 |
|
1883 |
-
|
1884 |
-
|
1885 |
-
|
1886 |
-
|
1887 |
-
|
1888 |
}
|
1889 |
|
1890 |
.flipOutY {
|
1891 |
-
|
1892 |
-
|
1893 |
-
|
1894 |
-
|
1895 |
-
|
1896 |
-
|
1897 |
}
|
1898 |
|
1899 |
@-webkit-keyframes lightSpeedIn {
|
1900 |
-
|
1901 |
-
|
1902 |
-
|
1903 |
-
|
1904 |
-
|
1905 |
-
|
1906 |
-
|
1907 |
-
|
1908 |
-
|
1909 |
-
|
1910 |
-
|
1911 |
-
|
1912 |
-
|
1913 |
-
|
1914 |
-
|
1915 |
-
|
1916 |
-
|
1917 |
-
|
1918 |
-
|
1919 |
-
|
1920 |
-
|
1921 |
-
opacity: 1;
|
1922 |
-
}
|
1923 |
}
|
1924 |
|
1925 |
@keyframes lightSpeedIn {
|
1926 |
-
|
1927 |
-
|
1928 |
-
|
1929 |
-
|
1930 |
-
|
1931 |
-
|
1932 |
-
|
1933 |
-
|
1934 |
-
|
1935 |
-
|
1936 |
-
|
1937 |
-
|
1938 |
-
|
1939 |
-
|
1940 |
-
|
1941 |
-
|
1942 |
-
|
1943 |
-
|
1944 |
-
|
1945 |
-
|
1946 |
-
|
1947 |
-
opacity: 1;
|
1948 |
-
}
|
1949 |
}
|
1950 |
|
1951 |
.lightSpeedIn {
|
1952 |
-
|
1953 |
-
|
1954 |
-
|
1955 |
-
|
1956 |
}
|
1957 |
|
1958 |
@-webkit-keyframes lightSpeedOut {
|
1959 |
-
|
1960 |
-
|
1961 |
-
|
1962 |
|
1963 |
-
|
1964 |
-
|
1965 |
-
|
1966 |
-
|
1967 |
-
|
1968 |
}
|
1969 |
|
1970 |
@keyframes lightSpeedOut {
|
1971 |
-
|
1972 |
-
|
1973 |
-
|
1974 |
|
1975 |
-
|
1976 |
-
|
1977 |
-
|
1978 |
-
|
1979 |
-
|
1980 |
}
|
1981 |
|
1982 |
.lightSpeedOut {
|
1983 |
-
|
1984 |
-
|
1985 |
-
|
1986 |
-
|
1987 |
}
|
1988 |
|
1989 |
@-webkit-keyframes rotateIn {
|
1990 |
-
|
1991 |
-
|
1992 |
-
|
1993 |
-
|
1994 |
-
|
1995 |
-
|
1996 |
-
|
1997 |
-
|
1998 |
-
|
1999 |
-
|
2000 |
-
|
2001 |
-
|
2002 |
-
|
2003 |
-
|
2004 |
-
|
2005 |
}
|
2006 |
|
2007 |
@keyframes rotateIn {
|
2008 |
-
|
2009 |
-
|
2010 |
-
|
2011 |
-
|
2012 |
-
|
2013 |
-
|
2014 |
-
|
2015 |
-
|
2016 |
-
|
2017 |
-
|
2018 |
-
|
2019 |
-
|
2020 |
-
|
2021 |
-
|
2022 |
-
|
2023 |
}
|
2024 |
|
2025 |
.rotateIn {
|
2026 |
-
|
2027 |
-
|
2028 |
}
|
2029 |
|
2030 |
@-webkit-keyframes rotateInDownLeft {
|
2031 |
-
|
2032 |
-
|
2033 |
-
|
2034 |
-
|
2035 |
-
|
2036 |
-
|
2037 |
-
|
2038 |
-
|
2039 |
-
|
2040 |
-
|
2041 |
-
|
2042 |
-
|
2043 |
-
|
2044 |
-
|
2045 |
-
|
2046 |
}
|
2047 |
|
2048 |
@keyframes rotateInDownLeft {
|
2049 |
-
|
2050 |
-
|
2051 |
-
|
2052 |
-
|
2053 |
-
|
2054 |
-
|
2055 |
-
|
2056 |
-
|
2057 |
-
|
2058 |
-
|
2059 |
-
|
2060 |
-
|
2061 |
-
|
2062 |
-
|
2063 |
-
|
2064 |
}
|
2065 |
|
2066 |
.rotateInDownLeft {
|
2067 |
-
|
2068 |
-
|
2069 |
}
|
2070 |
|
2071 |
@-webkit-keyframes rotateInDownRight {
|
2072 |
-
|
2073 |
-
|
2074 |
-
|
2075 |
-
|
2076 |
-
|
2077 |
-
|
2078 |
-
|
2079 |
-
|
2080 |
-
|
2081 |
-
|
2082 |
-
|
2083 |
-
|
2084 |
-
|
2085 |
-
|
2086 |
-
|
2087 |
}
|
2088 |
|
2089 |
@keyframes rotateInDownRight {
|
2090 |
-
|
2091 |
-
|
2092 |
-
|
2093 |
-
|
2094 |
-
|
2095 |
-
|
2096 |
-
|
2097 |
-
|
2098 |
-
|
2099 |
-
|
2100 |
-
|
2101 |
-
|
2102 |
-
|
2103 |
-
|
2104 |
-
|
2105 |
}
|
2106 |
|
2107 |
.rotateInDownRight {
|
2108 |
-
|
2109 |
-
|
2110 |
}
|
2111 |
|
2112 |
@-webkit-keyframes rotateInUpLeft {
|
2113 |
-
|
2114 |
-
|
2115 |
-
|
2116 |
-
|
2117 |
-
|
2118 |
-
|
2119 |
-
|
2120 |
-
|
2121 |
-
|
2122 |
-
|
2123 |
-
|
2124 |
-
|
2125 |
-
|
2126 |
-
|
2127 |
-
|
2128 |
}
|
2129 |
|
2130 |
@keyframes rotateInUpLeft {
|
2131 |
-
|
2132 |
-
|
2133 |
-
|
2134 |
-
|
2135 |
-
|
2136 |
-
|
2137 |
-
|
2138 |
-
|
2139 |
-
|
2140 |
-
|
2141 |
-
|
2142 |
-
|
2143 |
-
|
2144 |
-
|
2145 |
-
|
2146 |
}
|
2147 |
|
2148 |
.rotateInUpLeft {
|
2149 |
-
|
2150 |
-
|
2151 |
}
|
2152 |
|
2153 |
@-webkit-keyframes rotateInUpRight {
|
2154 |
-
|
2155 |
-
|
2156 |
-
|
2157 |
-
|
2158 |
-
|
2159 |
-
|
2160 |
-
|
2161 |
-
|
2162 |
-
|
2163 |
-
|
2164 |
-
|
2165 |
-
|
2166 |
-
|
2167 |
-
|
2168 |
-
|
2169 |
}
|
2170 |
|
2171 |
@keyframes rotateInUpRight {
|
2172 |
-
|
2173 |
-
|
2174 |
-
|
2175 |
-
|
2176 |
-
|
2177 |
-
|
2178 |
-
|
2179 |
-
|
2180 |
-
|
2181 |
-
|
2182 |
-
|
2183 |
-
|
2184 |
-
|
2185 |
-
|
2186 |
-
|
2187 |
}
|
2188 |
|
2189 |
.rotateInUpRight {
|
2190 |
-
|
2191 |
-
|
2192 |
}
|
2193 |
|
2194 |
@-webkit-keyframes rotateOut {
|
2195 |
-
|
2196 |
-
|
2197 |
-
|
2198 |
-
|
2199 |
-
|
2200 |
|
2201 |
-
|
2202 |
-
|
2203 |
-
|
2204 |
-
|
2205 |
-
|
2206 |
-
|
2207 |
-
|
2208 |
}
|
2209 |
|
2210 |
@keyframes rotateOut {
|
2211 |
-
|
2212 |
-
|
2213 |
-
|
2214 |
-
|
2215 |
-
|
2216 |
|
2217 |
-
|
2218 |
-
|
2219 |
-
|
2220 |
-
|
2221 |
-
|
2222 |
-
|
2223 |
-
|
2224 |
}
|
2225 |
|
2226 |
.rotateOut {
|
2227 |
-
|
2228 |
-
|
2229 |
}
|
2230 |
|
2231 |
@-webkit-keyframes rotateOutDownLeft {
|
2232 |
-
|
2233 |
-
|
2234 |
-
|
2235 |
-
|
2236 |
-
|
2237 |
|
2238 |
-
|
2239 |
-
|
2240 |
-
|
2241 |
-
|
2242 |
-
|
2243 |
-
|
2244 |
-
|
2245 |
}
|
2246 |
|
2247 |
@keyframes rotateOutDownLeft {
|
2248 |
-
|
2249 |
-
|
2250 |
-
|
2251 |
-
|
2252 |
-
|
2253 |
|
2254 |
-
|
2255 |
-
|
2256 |
-
|
2257 |
-
|
2258 |
-
|
2259 |
-
|
2260 |
-
|
2261 |
}
|
2262 |
|
2263 |
.rotateOutDownLeft {
|
2264 |
-
|
2265 |
-
|
2266 |
}
|
2267 |
|
2268 |
@-webkit-keyframes rotateOutDownRight {
|
2269 |
-
|
2270 |
-
|
2271 |
-
|
2272 |
-
|
2273 |
-
|
2274 |
|
2275 |
-
|
2276 |
-
|
2277 |
-
|
2278 |
-
|
2279 |
-
|
2280 |
-
|
2281 |
-
|
2282 |
}
|
2283 |
|
2284 |
@keyframes rotateOutDownRight {
|
2285 |
-
|
2286 |
-
|
2287 |
-
|
2288 |
-
|
2289 |
-
|
2290 |
|
2291 |
-
|
2292 |
-
|
2293 |
-
|
2294 |
-
|
2295 |
-
|
2296 |
-
|
2297 |
-
|
2298 |
}
|
2299 |
|
2300 |
.rotateOutDownRight {
|
2301 |
-
|
2302 |
-
|
2303 |
}
|
2304 |
|
2305 |
@-webkit-keyframes rotateOutUpLeft {
|
2306 |
-
|
2307 |
-
|
2308 |
-
|
2309 |
-
|
2310 |
-
|
2311 |
|
2312 |
-
|
2313 |
-
|
2314 |
-
|
2315 |
-
|
2316 |
-
|
2317 |
-
|
2318 |
-
|
2319 |
}
|
2320 |
|
2321 |
@keyframes rotateOutUpLeft {
|
2322 |
-
|
2323 |
-
|
2324 |
-
|
2325 |
-
|
2326 |
-
|
2327 |
|
2328 |
-
|
2329 |
-
|
2330 |
-
|
2331 |
-
|
2332 |
-
|
2333 |
-
|
2334 |
-
|
2335 |
}
|
2336 |
|
2337 |
.rotateOutUpLeft {
|
2338 |
-
|
2339 |
-
|
2340 |
}
|
2341 |
|
2342 |
@-webkit-keyframes rotateOutUpRight {
|
2343 |
-
|
2344 |
-
|
2345 |
-
|
2346 |
-
|
2347 |
-
|
2348 |
|
2349 |
-
|
2350 |
-
|
2351 |
-
|
2352 |
-
|
2353 |
-
|
2354 |
-
|
2355 |
-
|
2356 |
}
|
2357 |
|
2358 |
@keyframes rotateOutUpRight {
|
2359 |
-
|
2360 |
-
|
2361 |
-
|
2362 |
-
|
2363 |
-
|
2364 |
|
2365 |
-
|
2366 |
-
|
2367 |
-
|
2368 |
-
|
2369 |
-
|
2370 |
-
|
2371 |
-
|
2372 |
}
|
2373 |
|
2374 |
.rotateOutUpRight {
|
2375 |
-
|
2376 |
-
|
2377 |
}
|
2378 |
|
2379 |
@-webkit-keyframes hinge {
|
2380 |
-
|
2381 |
-
|
2382 |
-
|
2383 |
-
|
2384 |
-
|
2385 |
-
|
2386 |
-
|
2387 |
-
|
2388 |
-
|
2389 |
-
|
2390 |
-
|
2391 |
-
|
2392 |
-
|
2393 |
-
|
2394 |
-
|
2395 |
-
|
2396 |
-
|
2397 |
-
|
2398 |
-
|
2399 |
-
|
2400 |
-
|
2401 |
-
|
2402 |
-
|
2403 |
-
|
2404 |
-
|
2405 |
-
|
2406 |
-
|
2407 |
-
|
2408 |
-
|
2409 |
-
|
2410 |
-
|
|
|
|
|
2411 |
}
|
2412 |
|
2413 |
@keyframes hinge {
|
2414 |
-
|
2415 |
-
|
2416 |
-
|
2417 |
-
|
2418 |
-
|
2419 |
-
|
2420 |
-
|
2421 |
-
|
2422 |
-
|
2423 |
-
|
2424 |
-
|
2425 |
-
|
2426 |
-
|
2427 |
-
|
2428 |
-
|
2429 |
-
|
2430 |
-
|
2431 |
-
|
2432 |
-
|
2433 |
-
|
2434 |
-
|
2435 |
-
|
2436 |
-
|
2437 |
-
|
2438 |
-
|
2439 |
-
|
2440 |
-
|
2441 |
-
|
2442 |
-
|
2443 |
-
|
2444 |
-
|
|
|
|
|
2445 |
}
|
2446 |
|
2447 |
.hinge {
|
2448 |
-
|
2449 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2450 |
}
|
2451 |
|
2452 |
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
|
2453 |
|
2454 |
@-webkit-keyframes rollIn {
|
2455 |
-
|
2456 |
-
|
2457 |
-
|
2458 |
-
|
2459 |
-
|
2460 |
|
2461 |
-
|
2462 |
-
|
2463 |
-
|
2464 |
-
|
2465 |
-
|
2466 |
}
|
2467 |
|
2468 |
@keyframes rollIn {
|
2469 |
-
|
2470 |
-
|
2471 |
-
|
2472 |
-
|
2473 |
-
|
2474 |
|
2475 |
-
|
2476 |
-
|
2477 |
-
|
2478 |
-
|
2479 |
-
|
2480 |
}
|
2481 |
|
2482 |
.rollIn {
|
2483 |
-
|
2484 |
-
|
2485 |
}
|
2486 |
|
2487 |
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
|
2488 |
|
2489 |
@-webkit-keyframes rollOut {
|
2490 |
-
|
2491 |
-
|
2492 |
-
|
2493 |
|
2494 |
-
|
2495 |
-
|
2496 |
-
|
2497 |
-
|
2498 |
-
|
2499 |
}
|
2500 |
|
2501 |
@keyframes rollOut {
|
2502 |
-
|
2503 |
-
|
2504 |
-
|
2505 |
|
2506 |
-
|
2507 |
-
|
2508 |
-
|
2509 |
-
|
2510 |
-
|
2511 |
}
|
2512 |
|
2513 |
.rollOut {
|
2514 |
-
|
2515 |
-
|
2516 |
}
|
2517 |
|
2518 |
@-webkit-keyframes zoomIn {
|
2519 |
-
|
2520 |
-
|
2521 |
-
|
2522 |
-
|
2523 |
-
|
2524 |
|
2525 |
-
|
2526 |
-
|
2527 |
-
|
2528 |
}
|
2529 |
|
2530 |
@keyframes zoomIn {
|
2531 |
-
|
2532 |
-
|
2533 |
-
|
2534 |
-
|
2535 |
-
|
2536 |
|
2537 |
-
|
2538 |
-
|
2539 |
-
|
2540 |
}
|
2541 |
|
2542 |
.zoomIn {
|
2543 |
-
|
2544 |
-
|
2545 |
}
|
2546 |
|
2547 |
@-webkit-keyframes zoomInDown {
|
2548 |
-
|
2549 |
-
|
2550 |
-
|
2551 |
-
|
2552 |
-
|
2553 |
-
|
2554 |
-
|
2555 |
-
|
2556 |
-
|
2557 |
-
|
2558 |
-
|
2559 |
-
|
2560 |
-
|
2561 |
-
|
2562 |
-
|
2563 |
}
|
2564 |
|
2565 |
@keyframes zoomInDown {
|
2566 |
-
|
2567 |
-
|
2568 |
-
|
2569 |
-
|
2570 |
-
|
2571 |
-
|
2572 |
-
|
2573 |
-
|
2574 |
-
|
2575 |
-
|
2576 |
-
|
2577 |
-
|
2578 |
-
|
2579 |
-
|
2580 |
-
|
2581 |
}
|
2582 |
|
2583 |
.zoomInDown {
|
2584 |
-
|
2585 |
-
|
2586 |
}
|
2587 |
|
2588 |
@-webkit-keyframes zoomInLeft {
|
2589 |
-
|
2590 |
-
|
2591 |
-
|
2592 |
-
|
2593 |
-
|
2594 |
-
|
2595 |
-
|
2596 |
-
|
2597 |
-
|
2598 |
-
|
2599 |
-
|
2600 |
-
|
2601 |
-
|
2602 |
-
|
2603 |
-
|
2604 |
}
|
2605 |
|
2606 |
@keyframes zoomInLeft {
|
2607 |
-
|
2608 |
-
|
2609 |
-
|
2610 |
-
|
2611 |
-
|
2612 |
-
|
2613 |
-
|
2614 |
-
|
2615 |
-
|
2616 |
-
|
2617 |
-
|
2618 |
-
|
2619 |
-
|
2620 |
-
|
2621 |
-
|
2622 |
}
|
2623 |
|
2624 |
.zoomInLeft {
|
2625 |
-
|
2626 |
-
|
2627 |
}
|
2628 |
|
2629 |
@-webkit-keyframes zoomInRight {
|
2630 |
-
|
2631 |
-
|
2632 |
-
|
2633 |
-
|
2634 |
-
|
2635 |
-
|
2636 |
-
|
2637 |
-
|
2638 |
-
|
2639 |
-
|
2640 |
-
|
2641 |
-
|
2642 |
-
|
2643 |
-
|
2644 |
-
|
2645 |
}
|
2646 |
|
2647 |
@keyframes zoomInRight {
|
2648 |
-
|
2649 |
-
|
2650 |
-
|
2651 |
-
|
2652 |
-
|
2653 |
-
|
2654 |
-
|
2655 |
-
|
2656 |
-
|
2657 |
-
|
2658 |
-
|
2659 |
-
|
2660 |
-
|
2661 |
-
|
2662 |
-
|
2663 |
}
|
2664 |
|
2665 |
.zoomInRight {
|
2666 |
-
|
2667 |
-
|
2668 |
}
|
2669 |
|
2670 |
@-webkit-keyframes zoomInUp {
|
2671 |
-
|
2672 |
-
|
2673 |
-
|
2674 |
-
|
2675 |
-
|
2676 |
-
|
2677 |
-
|
2678 |
-
|
2679 |
-
|
2680 |
-
|
2681 |
-
|
2682 |
-
|
2683 |
-
|
2684 |
-
|
2685 |
-
|
2686 |
}
|
2687 |
|
2688 |
@keyframes zoomInUp {
|
2689 |
-
|
2690 |
-
|
2691 |
-
|
2692 |
-
|
2693 |
-
|
2694 |
-
|
2695 |
-
|
2696 |
-
|
2697 |
-
|
2698 |
-
|
2699 |
-
|
2700 |
-
|
2701 |
-
|
2702 |
-
|
2703 |
-
|
2704 |
}
|
2705 |
|
2706 |
.zoomInUp {
|
2707 |
-
|
2708 |
-
|
2709 |
}
|
2710 |
|
2711 |
@-webkit-keyframes zoomOut {
|
2712 |
-
|
2713 |
-
|
2714 |
-
|
2715 |
|
2716 |
-
|
2717 |
-
|
2718 |
-
|
2719 |
-
|
2720 |
-
|
2721 |
|
2722 |
-
|
2723 |
-
|
2724 |
-
|
2725 |
}
|
2726 |
|
2727 |
@keyframes zoomOut {
|
2728 |
-
|
2729 |
-
|
2730 |
-
|
2731 |
|
2732 |
-
|
2733 |
-
|
2734 |
-
|
2735 |
-
|
2736 |
-
|
2737 |
|
2738 |
-
|
2739 |
-
|
2740 |
-
|
2741 |
}
|
2742 |
|
2743 |
.zoomOut {
|
2744 |
-
|
2745 |
-
|
2746 |
}
|
2747 |
|
2748 |
@-webkit-keyframes zoomOutDown {
|
2749 |
-
|
2750 |
-
|
2751 |
-
|
2752 |
-
|
2753 |
-
|
2754 |
-
|
2755 |
-
|
2756 |
-
|
2757 |
-
|
2758 |
-
|
2759 |
-
|
2760 |
-
|
2761 |
-
|
2762 |
-
|
2763 |
-
|
2764 |
-
|
2765 |
-
|
2766 |
}
|
2767 |
|
2768 |
@keyframes zoomOutDown {
|
2769 |
-
|
2770 |
-
|
2771 |
-
|
2772 |
-
|
2773 |
-
|
2774 |
-
|
2775 |
-
|
2776 |
-
|
2777 |
-
|
2778 |
-
|
2779 |
-
|
2780 |
-
|
2781 |
-
|
2782 |
-
|
2783 |
-
|
2784 |
-
|
2785 |
-
|
2786 |
}
|
2787 |
|
2788 |
.zoomOutDown {
|
2789 |
-
|
2790 |
-
|
2791 |
}
|
2792 |
|
2793 |
@-webkit-keyframes zoomOutLeft {
|
2794 |
-
|
2795 |
-
|
2796 |
-
|
2797 |
-
|
2798 |
-
|
2799 |
|
2800 |
-
|
2801 |
-
|
2802 |
-
|
2803 |
-
|
2804 |
-
|
2805 |
-
|
2806 |
-
|
2807 |
}
|
2808 |
|
2809 |
@keyframes zoomOutLeft {
|
2810 |
-
|
2811 |
-
|
2812 |
-
|
2813 |
-
|
2814 |
-
|
2815 |
|
2816 |
-
|
2817 |
-
|
2818 |
-
|
2819 |
-
|
2820 |
-
|
2821 |
-
|
2822 |
-
|
2823 |
}
|
2824 |
|
2825 |
.zoomOutLeft {
|
2826 |
-
|
2827 |
-
|
2828 |
}
|
2829 |
|
2830 |
@-webkit-keyframes zoomOutRight {
|
2831 |
-
|
2832 |
-
|
2833 |
-
|
2834 |
-
|
2835 |
-
|
2836 |
|
2837 |
-
|
2838 |
-
|
2839 |
-
|
2840 |
-
|
2841 |
-
|
2842 |
-
|
2843 |
-
|
2844 |
}
|
2845 |
|
2846 |
@keyframes zoomOutRight {
|
2847 |
-
|
2848 |
-
|
2849 |
-
|
2850 |
-
|
2851 |
-
|
2852 |
|
2853 |
-
|
2854 |
-
|
2855 |
-
|
2856 |
-
|
2857 |
-
|
2858 |
-
|
2859 |
-
|
2860 |
}
|
2861 |
|
2862 |
.zoomOutRight {
|
2863 |
-
|
2864 |
-
|
2865 |
}
|
2866 |
|
2867 |
@-webkit-keyframes zoomOutUp {
|
2868 |
-
|
2869 |
-
|
2870 |
-
|
2871 |
-
|
2872 |
-
|
2873 |
-
|
2874 |
-
|
2875 |
-
|
2876 |
-
|
2877 |
-
|
2878 |
-
|
2879 |
-
|
2880 |
-
|
2881 |
-
|
2882 |
-
|
2883 |
-
|
2884 |
-
|
2885 |
}
|
2886 |
|
2887 |
@keyframes zoomOutUp {
|
2888 |
-
|
2889 |
-
|
2890 |
-
|
2891 |
-
|
2892 |
-
|
2893 |
-
|
2894 |
-
|
2895 |
-
|
2896 |
-
|
2897 |
-
|
2898 |
-
|
2899 |
-
|
2900 |
-
|
2901 |
-
|
2902 |
-
|
2903 |
-
|
2904 |
-
|
2905 |
}
|
2906 |
|
2907 |
.zoomOutUp {
|
2908 |
-
|
2909 |
-
|
2910 |
}
|
2911 |
|
2912 |
@-webkit-keyframes slideInDown {
|
2913 |
-
|
2914 |
-
|
2915 |
-
|
2916 |
-
|
2917 |
-
|
2918 |
|
2919 |
-
|
2920 |
-
|
2921 |
-
|
2922 |
-
|
2923 |
}
|
2924 |
|
2925 |
@keyframes slideInDown {
|
2926 |
-
|
2927 |
-
|
2928 |
-
|
2929 |
-
|
2930 |
-
|
2931 |
|
2932 |
-
|
2933 |
-
|
2934 |
-
|
2935 |
-
|
2936 |
}
|
2937 |
|
2938 |
.slideInDown {
|
2939 |
-
|
2940 |
-
|
2941 |
}
|
2942 |
|
2943 |
@-webkit-keyframes slideInLeft {
|
2944 |
-
|
2945 |
-
|
2946 |
-
|
2947 |
-
|
2948 |
-
|
2949 |
|
2950 |
-
|
2951 |
-
|
2952 |
-
|
2953 |
-
|
2954 |
}
|
2955 |
|
2956 |
@keyframes slideInLeft {
|
2957 |
-
|
2958 |
-
|
2959 |
-
|
2960 |
-
|
2961 |
-
|
2962 |
|
2963 |
-
|
2964 |
-
|
2965 |
-
|
2966 |
-
|
2967 |
}
|
2968 |
|
2969 |
.slideInLeft {
|
2970 |
-
|
2971 |
-
|
2972 |
}
|
2973 |
|
2974 |
@-webkit-keyframes slideInRight {
|
2975 |
-
|
2976 |
-
|
2977 |
-
|
2978 |
-
|
2979 |
-
|
2980 |
|
2981 |
-
|
2982 |
-
|
2983 |
-
|
2984 |
-
|
2985 |
}
|
2986 |
|
2987 |
@keyframes slideInRight {
|
2988 |
-
|
2989 |
-
|
2990 |
-
|
2991 |
-
|
2992 |
-
|
2993 |
|
2994 |
-
|
2995 |
-
|
2996 |
-
|
2997 |
-
|
2998 |
}
|
2999 |
|
3000 |
.slideInRight {
|
3001 |
-
|
3002 |
-
|
3003 |
}
|
3004 |
|
3005 |
@-webkit-keyframes slideInUp {
|
3006 |
-
|
3007 |
-
|
3008 |
-
|
3009 |
-
|
3010 |
-
|
3011 |
|
3012 |
-
|
3013 |
-
|
3014 |
-
|
3015 |
-
|
3016 |
}
|
3017 |
|
3018 |
@keyframes slideInUp {
|
3019 |
-
|
3020 |
-
|
3021 |
-
|
3022 |
-
|
3023 |
-
|
3024 |
|
3025 |
-
|
3026 |
-
|
3027 |
-
|
3028 |
-
|
3029 |
}
|
3030 |
|
3031 |
.slideInUp {
|
3032 |
-
|
3033 |
-
|
3034 |
}
|
3035 |
|
3036 |
@-webkit-keyframes slideOutDown {
|
3037 |
-
|
3038 |
-
|
3039 |
-
|
3040 |
-
|
3041 |
|
3042 |
-
|
3043 |
-
|
3044 |
-
|
3045 |
-
|
3046 |
-
|
3047 |
}
|
3048 |
|
3049 |
@keyframes slideOutDown {
|
3050 |
-
|
3051 |
-
|
3052 |
-
|
3053 |
-
|
3054 |
|
3055 |
-
|
3056 |
-
|
3057 |
-
|
3058 |
-
|
3059 |
-
|
3060 |
}
|
3061 |
|
3062 |
.slideOutDown {
|
3063 |
-
|
3064 |
-
|
3065 |
}
|
3066 |
|
3067 |
@-webkit-keyframes slideOutLeft {
|
3068 |
-
|
3069 |
-
|
3070 |
-
|
3071 |
-
|
3072 |
|
3073 |
-
|
3074 |
-
|
3075 |
-
|
3076 |
-
|
3077 |
-
|
3078 |
}
|
3079 |
|
3080 |
@keyframes slideOutLeft {
|
3081 |
-
|
3082 |
-
|
3083 |
-
|
3084 |
-
|
3085 |
|
3086 |
-
|
3087 |
-
|
3088 |
-
|
3089 |
-
|
3090 |
-
|
3091 |
}
|
3092 |
|
3093 |
.slideOutLeft {
|
3094 |
-
|
3095 |
-
|
3096 |
}
|
3097 |
|
3098 |
@-webkit-keyframes slideOutRight {
|
3099 |
-
|
3100 |
-
|
3101 |
-
|
3102 |
-
|
3103 |
|
3104 |
-
|
3105 |
-
|
3106 |
-
|
3107 |
-
|
3108 |
-
|
3109 |
}
|
3110 |
|
3111 |
@keyframes slideOutRight {
|
3112 |
-
|
3113 |
-
|
3114 |
-
|
3115 |
-
|
3116 |
|
3117 |
-
|
3118 |
-
|
3119 |
-
|
3120 |
-
|
3121 |
-
|
3122 |
}
|
3123 |
|
3124 |
.slideOutRight {
|
3125 |
-
|
3126 |
-
|
3127 |
}
|
3128 |
|
3129 |
@-webkit-keyframes slideOutUp {
|
3130 |
-
|
3131 |
-
|
3132 |
-
|
3133 |
-
|
3134 |
|
3135 |
-
|
3136 |
-
|
3137 |
-
|
3138 |
-
|
3139 |
-
|
3140 |
}
|
3141 |
|
3142 |
@keyframes slideOutUp {
|
3143 |
-
|
3144 |
-
|
3145 |
-
|
3146 |
-
|
3147 |
|
3148 |
-
|
3149 |
-
|
3150 |
-
|
3151 |
-
|
3152 |
-
|
3153 |
}
|
3154 |
|
3155 |
.slideOutUp {
|
3156 |
-
|
3157 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3158 |
}
|
1 |
@charset "UTF-8";
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
3 |
+
/*!
|
4 |
+
* animate.css -http://daneden.me/animate
|
5 |
+
* Version - 3.7.0
|
6 |
+
* Licensed under the MIT license - http://opensource.org/licenses/MIT
|
7 |
+
*
|
8 |
+
* Copyright (c) 2018 Daniel Eden
|
9 |
+
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
|
11 |
@-webkit-keyframes bounce {
|
12 |
+
from,
|
13 |
+
20%,
|
14 |
+
53%,
|
15 |
+
80%,
|
16 |
+
to {
|
17 |
+
-webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
|
18 |
+
animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
|
19 |
+
-webkit-transform: translate3d(0, 0, 0);
|
20 |
+
transform: translate3d(0, 0, 0);
|
21 |
+
}
|
22 |
+
|
23 |
+
40%,
|
24 |
+
43% {
|
25 |
+
-webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
|
26 |
+
animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
|
27 |
+
-webkit-transform: translate3d(0, -30px, 0);
|
28 |
+
transform: translate3d(0, -30px, 0);
|
29 |
+
}
|
30 |
+
|
31 |
+
70% {
|
32 |
+
-webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
|
33 |
+
animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
|
34 |
+
-webkit-transform: translate3d(0, -15px, 0);
|
35 |
+
transform: translate3d(0, -15px, 0);
|
36 |
+
}
|
37 |
+
|
38 |
+
90% {
|
39 |
+
-webkit-transform: translate3d(0, -4px, 0);
|
40 |
+
transform: translate3d(0, -4px, 0);
|
41 |
+
}
|
42 |
}
|
43 |
|
44 |
@keyframes bounce {
|
45 |
+
from,
|
46 |
+
20%,
|
47 |
+
53%,
|
48 |
+
80%,
|
49 |
+
to {
|
50 |
+
-webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
|
51 |
+
animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
|
52 |
+
-webkit-transform: translate3d(0, 0, 0);
|
53 |
+
transform: translate3d(0, 0, 0);
|
54 |
+
}
|
55 |
+
|
56 |
+
40%,
|
57 |
+
43% {
|
58 |
+
-webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
|
59 |
+
animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
|
60 |
+
-webkit-transform: translate3d(0, -30px, 0);
|
61 |
+
transform: translate3d(0, -30px, 0);
|
62 |
+
}
|
63 |
+
|
64 |
+
70% {
|
65 |
+
-webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
|
66 |
+
animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
|
67 |
+
-webkit-transform: translate3d(0, -15px, 0);
|
68 |
+
transform: translate3d(0, -15px, 0);
|
69 |
+
}
|
70 |
+
|
71 |
+
90% {
|
72 |
+
-webkit-transform: translate3d(0, -4px, 0);
|
73 |
+
transform: translate3d(0, -4px, 0);
|
74 |
+
}
|
75 |
}
|
76 |
|
77 |
.bounce {
|
78 |
+
-webkit-animation-name: bounce;
|
79 |
+
animation-name: bounce;
|
80 |
+
-webkit-transform-origin: center bottom;
|
81 |
+
transform-origin: center bottom;
|
|
|
82 |
}
|
83 |
|
84 |
@-webkit-keyframes flash {
|
85 |
+
from,
|
86 |
+
50%,
|
87 |
+
to {
|
88 |
+
opacity: 1;
|
89 |
+
}
|
90 |
|
91 |
+
25%,
|
92 |
+
75% {
|
93 |
+
opacity: 0;
|
94 |
+
}
|
95 |
}
|
96 |
|
97 |
@keyframes flash {
|
98 |
+
from,
|
99 |
+
50%,
|
100 |
+
to {
|
101 |
+
opacity: 1;
|
102 |
+
}
|
103 |
|
104 |
+
25%,
|
105 |
+
75% {
|
106 |
+
opacity: 0;
|
107 |
+
}
|
108 |
}
|
109 |
|
110 |
.flash {
|
111 |
+
-webkit-animation-name: flash;
|
112 |
+
animation-name: flash;
|
113 |
}
|
114 |
|
115 |
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
|
116 |
|
117 |
@-webkit-keyframes pulse {
|
118 |
+
from {
|
119 |
+
-webkit-transform: scale3d(1, 1, 1);
|
120 |
+
transform: scale3d(1, 1, 1);
|
121 |
+
}
|
122 |
|
123 |
+
50% {
|
124 |
+
-webkit-transform: scale3d(1.05, 1.05, 1.05);
|
125 |
+
transform: scale3d(1.05, 1.05, 1.05);
|
126 |
+
}
|
127 |
|
128 |
+
to {
|
129 |
+
-webkit-transform: scale3d(1, 1, 1);
|
130 |
+
transform: scale3d(1, 1, 1);
|
131 |
+
}
|
132 |
}
|
133 |
|
134 |
@keyframes pulse {
|
135 |
+
from {
|
136 |
+
-webkit-transform: scale3d(1, 1, 1);
|
137 |
+
transform: scale3d(1, 1, 1);
|
138 |
+
}
|
139 |
|
140 |
+
50% {
|
141 |
+
-webkit-transform: scale3d(1.05, 1.05, 1.05);
|
142 |
+
transform: scale3d(1.05, 1.05, 1.05);
|
143 |
+
}
|
144 |
|
145 |
+
to {
|
146 |
+
-webkit-transform: scale3d(1, 1, 1);
|
147 |
+
transform: scale3d(1, 1, 1);
|
148 |
+
}
|
149 |
}
|
150 |
|
151 |
.pulse {
|
152 |
+
-webkit-animation-name: pulse;
|
153 |
+
animation-name: pulse;
|
154 |
}
|
155 |
|
156 |
@-webkit-keyframes rubberBand {
|
157 |
+
from {
|
158 |
+
-webkit-transform: scale3d(1, 1, 1);
|
159 |
+
transform: scale3d(1, 1, 1);
|
160 |
+
}
|
161 |
+
|
162 |
+
30% {
|
163 |
+
-webkit-transform: scale3d(1.25, 0.75, 1);
|
164 |
+
transform: scale3d(1.25, 0.75, 1);
|
165 |
+
}
|
166 |
+
|
167 |
+
40% {
|
168 |
+
-webkit-transform: scale3d(0.75, 1.25, 1);
|
169 |
+
transform: scale3d(0.75, 1.25, 1);
|
170 |
+
}
|
171 |
+
|
172 |
+
50% {
|
173 |
+
-webkit-transform: scale3d(1.15, 0.85, 1);
|
174 |
+
transform: scale3d(1.15, 0.85, 1);
|
175 |
+
}
|
176 |
+
|
177 |
+
65% {
|
178 |
+
-webkit-transform: scale3d(0.95, 1.05, 1);
|
179 |
+
transform: scale3d(0.95, 1.05, 1);
|
180 |
+
}
|
181 |
+
|
182 |
+
75% {
|
183 |
+
-webkit-transform: scale3d(1.05, 0.95, 1);
|
184 |
+
transform: scale3d(1.05, 0.95, 1);
|
185 |
+
}
|
186 |
+
|
187 |
+
to {
|
188 |
+
-webkit-transform: scale3d(1, 1, 1);
|
189 |
+
transform: scale3d(1, 1, 1);
|
190 |
+
}
|
191 |
}
|
192 |
|
193 |
@keyframes rubberBand {
|
194 |
+
from {
|
195 |
+
-webkit-transform: scale3d(1, 1, 1);
|
196 |
+
transform: scale3d(1, 1, 1);
|
197 |
+
}
|
198 |
+
|
199 |
+
30% {
|
200 |
+
-webkit-transform: scale3d(1.25, 0.75, 1);
|
201 |
+
transform: scale3d(1.25, 0.75, 1);
|
202 |
+
}
|
203 |
+
|
204 |
+
40% {
|
205 |
+
-webkit-transform: scale3d(0.75, 1.25, 1);
|
206 |
+
transform: scale3d(0.75, 1.25, 1);
|
207 |
+
}
|
208 |
+
|
209 |
+
50% {
|
210 |
+
-webkit-transform: scale3d(1.15, 0.85, 1);
|
211 |
+
transform: scale3d(1.15, 0.85, 1);
|
212 |
+
}
|
213 |
+
|
214 |
+
65% {
|
215 |
+
-webkit-transform: scale3d(0.95, 1.05, 1);
|
216 |
+
transform: scale3d(0.95, 1.05, 1);
|
217 |
+
}
|
218 |
+
|
219 |
+
75% {
|
220 |
+
-webkit-transform: scale3d(1.05, 0.95, 1);
|
221 |
+
transform: scale3d(1.05, 0.95, 1);
|
222 |
+
}
|
223 |
+
|
224 |
+
to {
|
225 |
+
-webkit-transform: scale3d(1, 1, 1);
|
226 |
+
transform: scale3d(1, 1, 1);
|
227 |
+
}
|
228 |
}
|
229 |
|
230 |
.rubberBand {
|
231 |
+
-webkit-animation-name: rubberBand;
|
232 |
+
animation-name: rubberBand;
|
233 |
}
|
234 |
|
235 |
@-webkit-keyframes shake {
|
236 |
+
from,
|
237 |
+
to {
|
238 |
+
-webkit-transform: translate3d(0, 0, 0);
|
239 |
+
transform: translate3d(0, 0, 0);
|
240 |
+
}
|
241 |
+
|
242 |
+
10%,
|
243 |
+
30%,
|
244 |
+
50%,
|
245 |
+
70%,
|
246 |
+
90% {
|
247 |
+
-webkit-transform: translate3d(-10px, 0, 0);
|
248 |
+
transform: translate3d(-10px, 0, 0);
|
249 |
+
}
|
250 |
+
|
251 |
+
20%,
|
252 |
+
40%,
|
253 |
+
60%,
|
254 |
+
80% {
|
255 |
+
-webkit-transform: translate3d(10px, 0, 0);
|
256 |
+
transform: translate3d(10px, 0, 0);
|
257 |
+
}
|
258 |
}
|
259 |
|
260 |
@keyframes shake {
|
261 |
+
from,
|
262 |
+
to {
|
263 |
+
-webkit-transform: translate3d(0, 0, 0);
|
264 |
+
transform: translate3d(0, 0, 0);
|
265 |
+
}
|
266 |
+
|
267 |
+
10%,
|
268 |
+
30%,
|
269 |
+
50%,
|
270 |
+
70%,
|
271 |
+
90% {
|
272 |
+
-webkit-transform: translate3d(-10px, 0, 0);
|
273 |
+
transform: translate3d(-10px, 0, 0);
|
274 |
+
}
|
275 |
+
|
276 |
+
20%,
|
277 |
+
40%,
|
278 |
+
60%,
|
279 |
+
80% {
|
280 |
+
-webkit-transform: translate3d(10px, 0, 0);
|
281 |
+
transform: translate3d(10px, 0, 0);
|
282 |
+
}
|
283 |
}
|
284 |
|
285 |
.shake {
|
286 |
+
-webkit-animation-name: shake;
|
287 |
+
animation-name: shake;
|
288 |
+
}
|
289 |
+
|
290 |
+
@-webkit-keyframes headShake {
|
291 |
+
0% {
|
292 |
+
-webkit-transform: translateX(0);
|
293 |
+
transform: translateX(0);
|
294 |
+
}
|
295 |
+
|
296 |
+
6.5% {
|
297 |
+
-webkit-transform: translateX(-6px) rotateY(-9deg);
|
298 |
+
transform: translateX(-6px) rotateY(-9deg);
|
299 |
+
}
|
300 |
+
|
301 |
+
18.5% {
|
302 |
+
-webkit-transform: translateX(5px) rotateY(7deg);
|
303 |
+
transform: translateX(5px) rotateY(7deg);
|
304 |
+
}
|
305 |
+
|
306 |
+
31.5% {
|
307 |
+
-webkit-transform: translateX(-3px) rotateY(-5deg);
|
308 |
+
transform: translateX(-3px) rotateY(-5deg);
|
309 |
+
}
|
310 |
+
|
311 |
+
43.5% {
|
312 |
+
-webkit-transform: translateX(2px) rotateY(3deg);
|
313 |
+
transform: translateX(2px) rotateY(3deg);
|
314 |
+
}
|
315 |
+
|
316 |
+
50% {
|
317 |
+
-webkit-transform: translateX(0);
|
318 |
+
transform: translateX(0);
|
319 |
+
}
|
320 |
+
}
|
321 |
+
|
322 |
+
@keyframes headShake {
|
323 |
+
0% {
|
324 |
+
-webkit-transform: translateX(0);
|
325 |
+
transform: translateX(0);
|
326 |
+
}
|
327 |
+
|
328 |
+
6.5% {
|
329 |
+
-webkit-transform: translateX(-6px) rotateY(-9deg);
|
330 |
+
transform: translateX(-6px) rotateY(-9deg);
|
331 |
+
}
|
332 |
+
|
333 |
+
18.5% {
|
334 |
+
-webkit-transform: translateX(5px) rotateY(7deg);
|
335 |
+
transform: translateX(5px) rotateY(7deg);
|
336 |
+
}
|
337 |
+
|
338 |
+
31.5% {
|
339 |
+
-webkit-transform: translateX(-3px) rotateY(-5deg);
|
340 |
+
transform: translateX(-3px) rotateY(-5deg);
|
341 |
+
}
|
342 |
+
|
343 |
+
43.5% {
|
344 |
+
-webkit-transform: translateX(2px) rotateY(3deg);
|
345 |
+
transform: translateX(2px) rotateY(3deg);
|
346 |
+
}
|
347 |
+
|
348 |
+
50% {
|
349 |
+
-webkit-transform: translateX(0);
|
350 |
+
transform: translateX(0);
|
351 |
+
}
|
352 |
+
}
|
353 |
+
|
354 |
+
.headShake {
|
355 |
+
-webkit-animation-timing-function: ease-in-out;
|
356 |
+
animation-timing-function: ease-in-out;
|
357 |
+
-webkit-animation-name: headShake;
|
358 |
+
animation-name: headShake;
|
359 |
}
|
360 |
|
361 |
@-webkit-keyframes swing {
|
362 |
+
20% {
|
363 |
+
-webkit-transform: rotate3d(0, 0, 1, 15deg);
|
364 |
+
transform: rotate3d(0, 0, 1, 15deg);
|
365 |
+
}
|
366 |
|
367 |
+
40% {
|
368 |
+
-webkit-transform: rotate3d(0, 0, 1, -10deg);
|
369 |
+
transform: rotate3d(0, 0, 1, -10deg);
|
370 |
+
}
|
371 |
|
372 |
+
60% {
|
373 |
+
-webkit-transform: rotate3d(0, 0, 1, 5deg);
|
374 |
+
transform: rotate3d(0, 0, 1, 5deg);
|
375 |
+
}
|
376 |
|
377 |
+
80% {
|
378 |
+
-webkit-transform: rotate3d(0, 0, 1, -5deg);
|
379 |
+
transform: rotate3d(0, 0, 1, -5deg);
|
380 |
+
}
|
381 |
|
382 |
+
to {
|
383 |
+
-webkit-transform: rotate3d(0, 0, 1, 0deg);
|
384 |
+
transform: rotate3d(0, 0, 1, 0deg);
|
385 |
+
}
|
386 |
}
|
387 |
|
388 |
@keyframes swing {
|
389 |
+
20% {
|
390 |
+
-webkit-transform: rotate3d(0, 0, 1, 15deg);
|
391 |
+
transform: rotate3d(0, 0, 1, 15deg);
|
392 |
+
}
|
393 |
|
394 |
+
40% {
|
395 |
+
-webkit-transform: rotate3d(0, 0, 1, -10deg);
|
396 |
+
transform: rotate3d(0, 0, 1, -10deg);
|
397 |
+
}
|
398 |
|
399 |
+
60% {
|
400 |
+
-webkit-transform: rotate3d(0, 0, 1, 5deg);
|
401 |
+
transform: rotate3d(0, 0, 1, 5deg);
|
402 |
+
}
|
403 |
|
404 |
+
80% {
|
405 |
+
-webkit-transform: rotate3d(0, 0, 1, -5deg);
|
406 |
+
transform: rotate3d(0, 0, 1, -5deg);
|
407 |
+
}
|
408 |
|
409 |
+
to {
|
410 |
+
-webkit-transform: rotate3d(0, 0, 1, 0deg);
|
411 |
+
transform: rotate3d(0, 0, 1, 0deg);
|
412 |
+
}
|
413 |
}
|
414 |
|
415 |
.swing {
|
416 |
+
-webkit-transform-origin: top center;
|
417 |
+
transform-origin: top center;
|
418 |
+
-webkit-animation-name: swing;
|
419 |
+
animation-name: swing;
|
|
|
420 |
}
|
421 |
|
422 |
@-webkit-keyframes tada {
|
423 |
+
from {
|
424 |
+
-webkit-transform: scale3d(1, 1, 1);
|
425 |
+
transform: scale3d(1, 1, 1);
|
426 |
+
}
|
427 |
+
|
428 |
+
10%,
|
429 |
+
20% {
|
430 |
+
-webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
|
431 |
+
transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
|
432 |
+
}
|
433 |
+
|
434 |
+
30%,
|
435 |
+
50%,
|
436 |
+
70%,
|
437 |
+
90% {
|
438 |
+
-webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
|
439 |
+
transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
|
440 |
+
}
|
441 |
+
|
442 |
+
40%,
|
443 |
+
60%,
|
444 |
+
80% {
|
445 |
+
-webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
|
446 |
+
transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
|
447 |
+
}
|
448 |
+
|
449 |
+
to {
|
450 |
+
-webkit-transform: scale3d(1, 1, 1);
|
451 |
+
transform: scale3d(1, 1, 1);
|
452 |
+
}
|
453 |
}
|
454 |
|
455 |
@keyframes tada {
|
456 |
+
from {
|
457 |
+
-webkit-transform: scale3d(1, 1, 1);
|
458 |
+
transform: scale3d(1, 1, 1);
|
459 |
+
}
|
460 |
+
|
461 |
+
10%,
|
462 |
+
20% {
|
463 |
+
-webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
|
464 |
+
transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
|
465 |
+
}
|
466 |
+
|
467 |
+
30%,
|
468 |
+
50%,
|
469 |
+
70%,
|
470 |
+
90% {
|
471 |
+
-webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
|
472 |
+
transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
|
473 |
+
}
|
474 |
+
|
475 |
+
40%,
|
476 |
+
60%,
|
477 |
+
80% {
|
478 |
+
-webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
|
479 |
+
transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
|
480 |
+
}
|
481 |
+
|
482 |
+
to {
|
483 |
+
-webkit-transform: scale3d(1, 1, 1);
|
484 |
+
transform: scale3d(1, 1, 1);
|
485 |
+
}
|
486 |
}
|
487 |
|
488 |
.tada {
|
489 |
+
-webkit-animation-name: tada;
|
490 |
+
animation-name: tada;
|
491 |
}
|
492 |
|
493 |
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
|
494 |
|
495 |
@-webkit-keyframes wobble {
|
496 |
+
from {
|
497 |
+
-webkit-transform: translate3d(0, 0, 0);
|
498 |
+
transform: translate3d(0, 0, 0);
|
499 |
+
}
|
500 |
+
|
501 |
+
15% {
|
502 |
+
-webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
|
503 |
+
transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
|
504 |
+
}
|
505 |
+
|
506 |
+
30% {
|
507 |
+
-webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
|
508 |
+
transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
|
509 |
+
}
|
510 |
+
|
511 |
+
45% {
|
512 |
+
-webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
|
513 |
+
transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
|
514 |
+
}
|
515 |
+
|
516 |
+
60% {
|
517 |
+
-webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
|
518 |
+
transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
|
519 |
+
}
|
520 |
+
|
521 |
+
75% {
|
522 |
+
-webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
|
523 |
+
transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
|
524 |
+
}
|
525 |
+
|
526 |
+
to {
|
527 |
+
-webkit-transform: translate3d(0, 0, 0);
|
528 |
+
transform: translate3d(0, 0, 0);
|
529 |
+
}
|
530 |
}
|
531 |
|
532 |
@keyframes wobble {
|
533 |
+
from {
|
534 |
+
-webkit-transform: translate3d(0, 0, 0);
|
535 |
+
transform: translate3d(0, 0, 0);
|
536 |
+
}
|
537 |
+
|
538 |
+
15% {
|
539 |
+
-webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
|
540 |
+
transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
|
541 |
+
}
|
542 |
+
|
543 |
+
30% {
|
544 |
+
-webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
|
545 |
+
transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
|
546 |
+
}
|
547 |
+
|
548 |
+
45% {
|
549 |
+
-webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
|
550 |
+
transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
|
551 |
+
}
|
552 |
+
|
553 |
+
60% {
|
554 |
+
-webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
|
555 |
+
transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
|
556 |
+
}
|
557 |
+
|
558 |
+
75% {
|
559 |
+
-webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
|
560 |
+
transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
|
561 |
+
}
|
562 |
+
|
563 |
+
to {
|
564 |
+
-webkit-transform: translate3d(0, 0, 0);
|
565 |
+
transform: translate3d(0, 0, 0);
|
566 |
+
}
|
567 |
}
|
568 |
|
569 |
.wobble {
|
570 |
+
-webkit-animation-name: wobble;
|
571 |
+
animation-name: wobble;
|
572 |
+
}
|
573 |
+
|
574 |
+
@-webkit-keyframes jello {
|
575 |
+
from,
|
576 |
+
11.1%,
|
577 |
+
to {
|
578 |
+
-webkit-transform: translate3d(0, 0, 0);
|
579 |
+
transform: translate3d(0, 0, 0);
|
580 |
+
}
|
581 |
+
|
582 |
+
22.2% {
|
583 |
+
-webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
|
584 |
+
transform: skewX(-12.5deg) skewY(-12.5deg);
|
585 |
+
}
|
586 |
+
|
587 |
+
33.3% {
|
588 |
+
-webkit-transform: skewX(6.25deg) skewY(6.25deg);
|
589 |
+
transform: skewX(6.25deg) skewY(6.25deg);
|
590 |
+
}
|
591 |
+
|
592 |
+
44.4% {
|
593 |
+
-webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
|
594 |
+
transform: skewX(-3.125deg) skewY(-3.125deg);
|
595 |
+
}
|
596 |
+
|
597 |
+
55.5% {
|
598 |
+
-webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
|
599 |
+
transform: skewX(1.5625deg) skewY(1.5625deg);
|
600 |
+
}
|
601 |
+
|
602 |
+
66.6% {
|
603 |
+
-webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
|
604 |
+
transform: skewX(-0.78125deg) skewY(-0.78125deg);
|
605 |
+
}
|
606 |
+
|
607 |
+
77.7% {
|
608 |
+
-webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
|
609 |
+
transform: skewX(0.390625deg) skewY(0.390625deg);
|
610 |
+
}
|
611 |
+
|
612 |
+
88.8% {
|
613 |
+
-webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
|
614 |
+
transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
|
615 |
+
}
|
616 |
+
}
|
617 |
+
|
618 |
+
@keyframes jello {
|
619 |
+
from,
|
620 |
+
11.1%,
|
621 |
+
to {
|
622 |
+
-webkit-transform: translate3d(0, 0, 0);
|
623 |
+
transform: translate3d(0, 0, 0);
|
624 |
+
}
|
625 |
+
|
626 |
+
22.2% {
|
627 |
+
-webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
|
628 |
+
transform: skewX(-12.5deg) skewY(-12.5deg);
|
629 |
+
}
|
630 |
+
|
631 |
+
33.3% {
|
632 |
+
-webkit-transform: skewX(6.25deg) skewY(6.25deg);
|
633 |
+
transform: skewX(6.25deg) skewY(6.25deg);
|
634 |
+
}
|
635 |
+
|
636 |
+
44.4% {
|
637 |
+
-webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
|
638 |
+
transform: skewX(-3.125deg) skewY(-3.125deg);
|
639 |
+
}
|
640 |
+
|
641 |
+
55.5% {
|
642 |
+
-webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
|
643 |
+
transform: skewX(1.5625deg) skewY(1.5625deg);
|
644 |
+
}
|
645 |
+
|
646 |
+
66.6% {
|
647 |
+
-webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
|
648 |
+
transform: skewX(-0.78125deg) skewY(-0.78125deg);
|
649 |
+
}
|
650 |
+
|
651 |
+
77.7% {
|
652 |
+
-webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
|
653 |
+
transform: skewX(0.390625deg) skewY(0.390625deg);
|
654 |
+
}
|
655 |
+
|
656 |
+
88.8% {
|
657 |
+
-webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
|
658 |
+
transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
|
659 |
+
}
|
660 |
+
}
|
661 |
+
|
662 |
+
.jello {
|
663 |
+
-webkit-animation-name: jello;
|
664 |
+
animation-name: jello;
|
665 |
+
-webkit-transform-origin: center;
|
666 |
+
transform-origin: center;
|
667 |
+
}
|
668 |
+
|
669 |
+
@-webkit-keyframes heartBeat {
|
670 |
+
0% {
|
671 |
+
-webkit-transform: scale(1);
|
672 |
+
transform: scale(1);
|
673 |
+
}
|
674 |
+
|
675 |
+
14% {
|
676 |
+
-webkit-transform: scale(1.3);
|
677 |
+
transform: scale(1.3);
|
678 |
+
}
|
679 |
+
|
680 |
+
28% {
|
681 |
+
-webkit-transform: scale(1);
|
682 |
+
transform: scale(1);
|
683 |
+
}
|
684 |
+
|
685 |
+
42% {
|
686 |
+
-webkit-transform: scale(1.3);
|
687 |
+
transform: scale(1.3);
|
688 |
+
}
|
689 |
+
|
690 |
+
70% {
|
691 |
+
-webkit-transform: scale(1);
|
692 |
+
transform: scale(1);
|
693 |
+
}
|
694 |
+
}
|
695 |
+
|
696 |
+
@keyframes heartBeat {
|
697 |
+
0% {
|
698 |
+
-webkit-transform: scale(1);
|
699 |
+
transform: scale(1);
|
700 |
+
}
|
701 |
+
|
702 |
+
14% {
|
703 |
+
-webkit-transform: scale(1.3);
|
704 |
+
transform: scale(1.3);
|
705 |
+
}
|
706 |
+
|
707 |
+
28% {
|
708 |
+
-webkit-transform: scale(1);
|
709 |
+
transform: scale(1);
|
710 |
+
}
|
711 |
+
|
712 |
+
42% {
|
713 |
+
-webkit-transform: scale(1.3);
|
714 |
+
transform: scale(1.3);
|
715 |
+
}
|
716 |
+
|
717 |
+
70% {
|
718 |
+
-webkit-transform: scale(1);
|
719 |
+
transform: scale(1);
|
720 |
+
}
|
721 |
+
}
|
722 |
+
|
723 |
+
.heartBeat {
|
724 |
+
-webkit-animation-name: heartBeat;
|
725 |
+
animation-name: heartBeat;
|
726 |
+
-webkit-animation-duration: 1.3s;
|
727 |
+
animation-duration: 1.3s;
|
728 |
+
-webkit-animation-timing-function: ease-in-out;
|
729 |
+
animation-timing-function: ease-in-out;
|
730 |
}
|
731 |
|
732 |
@-webkit-keyframes bounceIn {
|
733 |
+
from,
|
734 |
+
20%,
|
735 |
+
40%,
|
736 |
+
60%,
|
737 |
+
80%,
|
738 |
+
to {
|
739 |
+
-webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
|
740 |
+
animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
|
741 |
+
}
|
742 |
+
|
743 |
+
0% {
|
744 |
+
opacity: 0;
|
745 |
+
-webkit-transform: scale3d(0.3, 0.3, 0.3);
|
746 |
+
transform: scale3d(0.3, 0.3, 0.3);
|
747 |
+
}
|
748 |
+
|
749 |
+
20% {
|
750 |
+
-webkit-transform: scale3d(1.1, 1.1, 1.1);
|
751 |
+
transform: scale3d(1.1, 1.1, 1.1);
|
752 |
+
}
|
753 |
+
|
754 |
+
40% {
|
755 |
+
-webkit-transform: scale3d(0.9, 0.9, 0.9);
|
756 |
+
transform: scale3d(0.9, 0.9, 0.9);
|
757 |
+
}
|
758 |
+
|
759 |
+
60% {
|
760 |
+
opacity: 1;
|
761 |
+
-webkit-transform: scale3d(1.03, 1.03, 1.03);
|
762 |
+
transform: scale3d(1.03, 1.03, 1.03);
|
763 |
+
}
|
764 |
+
|
765 |
+
80% {
|
766 |
+
-webkit-transform: scale3d(0.97, 0.97, 0.97);
|
767 |
+
transform: scale3d(0.97, 0.97, 0.97);
|
768 |
+
}
|
769 |
+
|
770 |
+
to {
|
771 |
+
opacity: 1;
|
772 |
+
-webkit-transform: scale3d(1, 1, 1);
|
773 |
+
transform: scale3d(1, 1, 1);
|
774 |
+
}
|
775 |
}
|
776 |
|
777 |
@keyframes bounceIn {
|
778 |
+
from,
|
779 |
+
20%,
|
780 |
+
40%,
|
781 |
+
60%,
|
782 |
+
80%,
|
783 |
+
to {
|
784 |
+
-webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
|
785 |
+
animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
|
786 |
+
}
|
787 |
+
|
788 |
+
0% {
|
789 |
+
opacity: 0;
|
790 |
+
-webkit-transform: scale3d(0.3, 0.3, 0.3);
|
791 |
+
transform: scale3d(0.3, 0.3, 0.3);
|
792 |
+
}
|
793 |
+
|
794 |
+
20% {
|
795 |
+
-webkit-transform: scale3d(1.1, 1.1, 1.1);
|
796 |
+
transform: scale3d(1.1, 1.1, 1.1);
|
797 |
+
}
|
798 |
+
|
799 |
+
40% {
|
800 |
+
-webkit-transform: scale3d(0.9, 0.9, 0.9);
|
801 |
+
transform: scale3d(0.9, 0.9, 0.9);
|
802 |
+
}
|
803 |
+
|
804 |
+
60% {
|
805 |
+
opacity: 1;
|
806 |
+
-webkit-transform: scale3d(1.03, 1.03, 1.03);
|
807 |
+
transform: scale3d(1.03, 1.03, 1.03);
|
808 |
+
}
|
809 |
+
|
810 |
+
80% {
|
811 |
+
-webkit-transform: scale3d(0.97, 0.97, 0.97);
|
812 |
+
transform: scale3d(0.97, 0.97, 0.97);
|
813 |
+
}
|
814 |
+
|
815 |
+
to {
|
816 |
+
opacity: 1;
|
817 |
+
-webkit-transform: scale3d(1, 1, 1);
|
818 |
+
transform: scale3d(1, 1, 1);
|
819 |
+
}
|
820 |
}
|
821 |
|
822 |
.bounceIn {
|
823 |
+
-webkit-animation-duration: 0.75s;
|
824 |
+
animation-duration: 0.75s;
|
825 |
+
-webkit-animation-name: bounceIn;
|
826 |
+
animation-name: bounceIn;
|
827 |
}
|
828 |
|
829 |
@-webkit-keyframes bounceInDown {
|
830 |
+
from,
|
831 |
+
60%,
|
832 |
+
75%,
|
833 |
+
90%,
|
834 |
+
to {
|
835 |
+
-webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
|
836 |
+
animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
|
837 |
+
}
|
838 |
+
|
839 |
+
0% {
|
840 |
+
opacity: 0;
|
841 |
+
-webkit-transform: translate3d(0, -3000px, 0);
|
842 |
+
transform: translate3d(0, -3000px, 0);
|
843 |
+
}
|
844 |
+
|
845 |
+
60% {
|
846 |
+
opacity: 1;
|
847 |
+
-webkit-transform: translate3d(0, 25px, 0);
|
848 |
+
transform: translate3d(0, 25px, 0);
|
849 |
+
}
|
850 |
+
|
851 |
+
75% {
|
852 |
+
-webkit-transform: translate3d(0, -10px, 0);
|
853 |
+
transform: translate3d(0, -10px, 0);
|
854 |
+
}
|
855 |
+
|
856 |
+
90% {
|
857 |
+
-webkit-transform: translate3d(0, 5px, 0);
|
858 |
+
transform: translate3d(0, 5px, 0);
|
859 |
+
}
|
860 |
+
|
861 |
+
to {
|
862 |
+
-webkit-transform: translate3d(0, 0, 0);
|
863 |
+
transform: translate3d(0, 0, 0);
|
864 |
+
}
|
865 |
}
|
866 |
|
867 |
@keyframes bounceInDown {
|
868 |
+
from,
|
869 |
+
60%,
|
870 |
+
75%,
|
871 |
+
90%,
|
872 |
+
to {
|
873 |
+
-webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
|
874 |
+
animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
|
875 |
+
}
|
876 |
+
|
877 |
+
0% {
|
878 |
+
opacity: 0;
|
879 |
+
-webkit-transform: translate3d(0, -3000px, 0);
|
880 |
+
transform: translate3d(0, -3000px, 0);
|
881 |
+
}
|
882 |
+
|
883 |
+
60% {
|
884 |
+
opacity: 1;
|
885 |
+
-webkit-transform: translate3d(0, 25px, 0);
|
886 |
+
transform: translate3d(0, 25px, 0);
|
887 |
+
}
|
888 |
+
|
889 |
+
75% {
|
890 |
+
-webkit-transform: translate3d(0, -10px, 0);
|
891 |
+
transform: translate3d(0, -10px, 0);
|
892 |
+
}
|
893 |
+
|
894 |
+
90% {
|
895 |
+
-webkit-transform: translate3d(0, 5px, 0);
|
896 |
+
transform: translate3d(0, 5px, 0);
|
897 |
+
}
|
898 |
+
|
899 |
+
to {
|
900 |
+
-webkit-transform: translate3d(0, 0, 0);
|
901 |
+
transform: translate3d(0, 0, 0);
|
902 |
+
}
|
903 |
}
|
904 |
|
905 |
.bounceInDown {
|
906 |
+
-webkit-animation-name: bounceInDown;
|
907 |
+
animation-name: bounceInDown;
|
908 |
}
|
909 |
|
910 |
@-webkit-keyframes bounceInLeft {
|
911 |
+
from,
|
912 |
+
60%,
|
913 |
+
75%,
|
914 |
+
90%,
|
915 |
+
to {
|
916 |
+
-webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
|
917 |
+
animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
|
918 |
+
}
|
919 |
+
|
920 |
+
0% {
|
921 |
+
opacity: 0;
|
922 |
+
-webkit-transform: translate3d(-3000px, 0, 0);
|
923 |
+
transform: translate3d(-3000px, 0, 0);
|
924 |
+
}
|
925 |
+
|
926 |
+
60% {
|
927 |
+
opacity: 1;
|
928 |
+
-webkit-transform: translate3d(25px, 0, 0);
|
929 |
+
transform: translate3d(25px, 0, 0);
|
930 |
+
}
|
931 |
+
|
932 |
+
75% {
|
933 |
+
-webkit-transform: translate3d(-10px, 0, 0);
|
934 |
+
transform: translate3d(-10px, 0, 0);
|
935 |
+
}
|
936 |
+
|
937 |
+
90% {
|
938 |
+
-webkit-transform: translate3d(5px, 0, 0);
|
939 |
+
transform: translate3d(5px, 0, 0);
|
940 |
+
}
|
941 |
+
|
942 |
+
to {
|
943 |
+
-webkit-transform: translate3d(0, 0, 0);
|
944 |
+
transform: translate3d(0, 0, 0);
|
945 |
+
}
|
946 |
}
|
947 |
|
948 |
@keyframes bounceInLeft {
|
949 |
+
from,
|
950 |
+
60%,
|
951 |
+
75%,
|
952 |
+
90%,
|
953 |
+
to {
|
954 |
+
-webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
|
955 |
+
animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
|
956 |
+
}
|
957 |
+
|
958 |
+
0% {
|
959 |
+
opacity: 0;
|
960 |
+
-webkit-transform: translate3d(-3000px, 0, 0);
|
961 |
+
transform: translate3d(-3000px, 0, 0);
|
962 |
+
}
|
963 |
+
|
964 |
+
60% {
|
965 |
+
opacity: 1;
|
966 |
+
-webkit-transform: translate3d(25px, 0, 0);
|
967 |
+
transform: translate3d(25px, 0, 0);
|
968 |
+
}
|
969 |
+
|
970 |
+
75% {
|
971 |
+
-webkit-transform: translate3d(-10px, 0, 0);
|
972 |
+
transform: translate3d(-10px, 0, 0);
|
973 |
+
}
|
974 |
+
|
975 |
+
90% {
|
976 |
+
-webkit-transform: translate3d(5px, 0, 0);
|
977 |
+
transform: translate3d(5px, 0, 0);
|
978 |
+
}
|
979 |
+
|
980 |
+
to {
|
981 |
+
-webkit-transform: translate3d(0, 0, 0);
|
982 |
+
transform: translate3d(0, 0, 0);
|
983 |
+
}
|
984 |
}
|
985 |
|
986 |
.bounceInLeft {
|
987 |
+
-webkit-animation-name: bounceInLeft;
|
988 |
+
animation-name: bounceInLeft;
|
989 |
}
|
990 |
|
991 |
@-webkit-keyframes bounceInRight {
|
992 |
+
from,
|
993 |
+
60%,
|
994 |
+
75%,
|
995 |
+
90%,
|
996 |
+
to {
|
997 |
+
-webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
|
998 |
+
animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
|
999 |
+
}
|
1000 |
+
|
1001 |
+
from {
|
1002 |
+
opacity: 0;
|
1003 |
+
-webkit-transform: translate3d(3000px, 0, 0);
|
1004 |
+
transform: translate3d(3000px, 0, 0);
|
1005 |
+
}
|
1006 |
+
|
1007 |
+
60% {
|
1008 |
+
opacity: 1;
|
1009 |
+
-webkit-transform: translate3d(-25px, 0, 0);
|
1010 |
+
transform: translate3d(-25px, 0, 0);
|
1011 |
+
}
|
1012 |
+
|
1013 |
+
75% {
|
1014 |
+
-webkit-transform: translate3d(10px, 0, 0);
|
1015 |
+
transform: translate3d(10px, 0, 0);
|
1016 |
+
}
|
1017 |
+
|
1018 |
+
90% {
|
1019 |
+
-webkit-transform: translate3d(-5px, 0, 0);
|
1020 |
+
transform: translate3d(-5px, 0, 0);
|
1021 |
+
}
|
1022 |
+
|
1023 |
+
to {
|
1024 |
+
-webkit-transform: translate3d(0, 0, 0);
|
1025 |
+
transform: translate3d(0, 0, 0);
|
1026 |
+
}
|
1027 |
}
|
1028 |
|
1029 |
@keyframes bounceInRight {
|
1030 |
+
from,
|
1031 |
+
60%,
|
1032 |
+
75%,
|
1033 |
+
90%,
|
1034 |
+
to {
|
1035 |
+
-webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
|
1036 |
+
animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
|
1037 |
+
}
|
1038 |
+
|
1039 |
+
from {
|
1040 |
+
opacity: 0;
|
1041 |
+
-webkit-transform: translate3d(3000px, 0, 0);
|
1042 |
+
transform: translate3d(3000px, 0, 0);
|
1043 |
+
}
|
1044 |
+
|
1045 |
+
60% {
|
1046 |
+
opacity: 1;
|
1047 |
+
-webkit-transform: translate3d(-25px, 0, 0);
|
1048 |
+
transform: translate3d(-25px, 0, 0);
|
1049 |
+
}
|
1050 |
+
|
1051 |
+
75% {
|
1052 |
+
-webkit-transform: translate3d(10px, 0, 0);
|
1053 |
+
transform: translate3d(10px, 0, 0);
|
1054 |
+
}
|
1055 |
+
|
1056 |
+
90% {
|
1057 |
+
-webkit-transform: translate3d(-5px, 0, 0);
|
1058 |
+
transform: translate3d(-5px, 0, 0);
|
1059 |
+
}
|
1060 |
+
|
1061 |
+
to {
|
1062 |
+
-webkit-transform: translate3d(0, 0, 0);
|
1063 |
+
transform: translate3d(0, 0, 0);
|
1064 |
+
}
|
1065 |
}
|
1066 |
|
1067 |
.bounceInRight {
|
1068 |
+
-webkit-animation-name: bounceInRight;
|
1069 |
+
animation-name: bounceInRight;
|
1070 |
}
|
1071 |
|
1072 |
@-webkit-keyframes bounceInUp {
|
1073 |
+
from,
|
1074 |
+
60%,
|
1075 |
+
75%,
|
1076 |
+
90%,
|
1077 |
+
to {
|
1078 |
+
-webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
|
1079 |
+
animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
|
1080 |
+
}
|
1081 |
+
|
1082 |
+
from {
|
1083 |
+
opacity: 0;
|
1084 |
+
-webkit-transform: translate3d(0, 3000px, 0);
|
1085 |
+
transform: translate3d(0, 3000px, 0);
|
1086 |
+
}
|
1087 |
+
|
1088 |
+
60% {
|
1089 |
+
opacity: 1;
|
1090 |
+
-webkit-transform: translate3d(0, -20px, 0);
|
1091 |
+
transform: translate3d(0, -20px, 0);
|
1092 |
+
}
|
1093 |
+
|
1094 |
+
75% {
|
1095 |
+
-webkit-transform: translate3d(0, 10px, 0);
|
1096 |
+
transform: translate3d(0, 10px, 0);
|
1097 |
+
}
|
1098 |
+
|
1099 |
+
90% {
|
1100 |
+
-webkit-transform: translate3d(0, -5px, 0);
|
1101 |
+
transform: translate3d(0, -5px, 0);
|
1102 |
+
}
|
1103 |
+
|
1104 |
+
to {
|
1105 |
+
-webkit-transform: translate3d(0, 0, 0);
|
1106 |
+
transform: translate3d(0, 0, 0);
|
1107 |
+
}
|
1108 |
}
|
1109 |
|
1110 |
@keyframes bounceInUp {
|
1111 |
+
from,
|
1112 |
+
60%,
|
1113 |
+
75%,
|
1114 |
+
90%,
|
1115 |
+
to {
|
1116 |
+
-webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
|
1117 |
+
animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
|
1118 |
+
}
|
1119 |
+
|
1120 |
+
from {
|
1121 |
+
opacity: 0;
|
1122 |
+
-webkit-transform: translate3d(0, 3000px, 0);
|
1123 |
+
transform: translate3d(0, 3000px, 0);
|
1124 |
+
}
|
1125 |
+
|
1126 |
+
60% {
|
1127 |
+
opacity: 1;
|
1128 |
+
-webkit-transform: translate3d(0, -20px, 0);
|
1129 |
+
transform: translate3d(0, -20px, 0);
|
1130 |
+
}
|
1131 |
+
|
1132 |
+
75% {
|
1133 |
+
-webkit-transform: translate3d(0, 10px, 0);
|
1134 |
+
transform: translate3d(0, 10px, 0);
|
1135 |
+
}
|
1136 |
+
|
1137 |
+
90% {
|
1138 |
+
-webkit-transform: translate3d(0, -5px, 0);
|
1139 |
+
transform: translate3d(0, -5px, 0);
|
1140 |
+
}
|
1141 |
+
|
1142 |
+
to {
|
1143 |
+
-webkit-transform: translate3d(0, 0, 0);
|
1144 |
+
transform: translate3d(0, 0, 0);
|
1145 |
+
}
|
1146 |
}
|
1147 |
|
1148 |
.bounceInUp {
|
1149 |
+
-webkit-animation-name: bounceInUp;
|
1150 |
+
animation-name: bounceInUp;
|
1151 |
}
|
1152 |
|
1153 |
@-webkit-keyframes bounceOut {
|
1154 |
+
20% {
|
1155 |
+
-webkit-transform: scale3d(0.9, 0.9, 0.9);
|
1156 |
+
transform: scale3d(0.9, 0.9, 0.9);
|
1157 |
+
}
|
1158 |
|
1159 |
+
50%,
|
1160 |
+
55% {
|
1161 |
+
opacity: 1;
|
1162 |
+
-webkit-transform: scale3d(1.1, 1.1, 1.1);
|
1163 |
+
transform: scale3d(1.1, 1.1, 1.1);
|
1164 |
+
}
|
1165 |
|
1166 |
+
to {
|
1167 |
+
opacity: 0;
|
1168 |
+
-webkit-transform: scale3d(0.3, 0.3, 0.3);
|
1169 |
+
transform: scale3d(0.3, 0.3, 0.3);
|
1170 |
+
}
|
1171 |
}
|
1172 |
|
1173 |
@keyframes bounceOut {
|
1174 |
+
20% {
|
1175 |
+
-webkit-transform: scale3d(0.9, 0.9, 0.9);
|
1176 |
+
transform: scale3d(0.9, 0.9, 0.9);
|
1177 |
+
}
|
1178 |
|
1179 |
+
50%,
|
1180 |
+
55% {
|
1181 |
+
opacity: 1;
|
1182 |
+
-webkit-transform: scale3d(1.1, 1.1, 1.1);
|
1183 |
+
transform: scale3d(1.1, 1.1, 1.1);
|
1184 |
+
}
|
1185 |
|
1186 |
+
to {
|
1187 |
+
opacity: 0;
|
1188 |
+
-webkit-transform: scale3d(0.3, 0.3, 0.3);
|
1189 |
+
transform: scale3d(0.3, 0.3, 0.3);
|
1190 |
+
}
|
1191 |
}
|
1192 |
|
1193 |
.bounceOut {
|
1194 |
+
-webkit-animation-duration: 0.75s;
|
1195 |
+
animation-duration: 0.75s;
|
1196 |
+
-webkit-animation-name: bounceOut;
|
1197 |
+
animation-name: bounceOut;
|
1198 |
}
|
1199 |
|
1200 |
@-webkit-keyframes bounceOutDown {
|
1201 |
+
20% {
|
1202 |
+
-webkit-transform: translate3d(0, 10px, 0);
|
1203 |
+
transform: translate3d(0, 10px, 0);
|
1204 |
+
}
|
1205 |
|
1206 |
+
40%,
|
1207 |
+
45% {
|
1208 |
+
opacity: 1;
|
1209 |
+
-webkit-transform: translate3d(0, -20px, 0);
|
1210 |
+
transform: translate3d(0, -20px, 0);
|
1211 |
+
}
|
1212 |
|
1213 |
+
to {
|
1214 |
+
opacity: 0;
|
1215 |
+
-webkit-transform: translate3d(0, 2000px, 0);
|
1216 |
+
transform: translate3d(0, 2000px, 0);
|
1217 |
+
}
|
1218 |
}
|
1219 |
|
1220 |
@keyframes bounceOutDown {
|
1221 |
+
20% {
|
1222 |
+
-webkit-transform: translate3d(0, 10px, 0);
|
1223 |
+
transform: translate3d(0, 10px, 0);
|
1224 |
+
}
|
1225 |
|
1226 |
+
40%,
|
1227 |
+
45% {
|
1228 |
+
opacity: 1;
|
1229 |
+
-webkit-transform: translate3d(0, -20px, 0);
|
1230 |
+
transform: translate3d(0, -20px, 0);
|
1231 |
+
}
|
1232 |
|
1233 |
+
to {
|
1234 |
+
opacity: 0;
|
1235 |
+
-webkit-transform: translate3d(0, 2000px, 0);
|
1236 |
+
transform: translate3d(0, 2000px, 0);
|
1237 |
+
}
|
1238 |
}
|
1239 |
|
1240 |
.bounceOutDown {
|
1241 |
+
-webkit-animation-name: bounceOutDown;
|
1242 |
+
animation-name: bounceOutDown;
|
1243 |
}
|
1244 |
|
1245 |
@-webkit-keyframes bounceOutLeft {
|
1246 |
+
20% {
|
1247 |
+
opacity: 1;
|
1248 |
+
-webkit-transform: translate3d(20px, 0, 0);
|
1249 |
+
transform: translate3d(20px, 0, 0);
|
1250 |
+
}
|
1251 |
|
1252 |
+
to {
|
1253 |
+
opacity: 0;
|
1254 |
+
-webkit-transform: translate3d(-2000px, 0, 0);
|
1255 |
+
transform: translate3d(-2000px, 0, 0);
|
1256 |
+
}
|
1257 |
}
|
1258 |
|
1259 |
@keyframes bounceOutLeft {
|
1260 |
+
20% {
|
1261 |
+
opacity: 1;
|
1262 |
+
-webkit-transform: translate3d(20px, 0, 0);
|
1263 |
+
transform: translate3d(20px, 0, 0);
|
1264 |
+
}
|
1265 |
|
1266 |
+
to {
|
1267 |
+
opacity: 0;
|
1268 |
+
-webkit-transform: translate3d(-2000px, 0, 0);
|
1269 |
+
transform: translate3d(-2000px, 0, 0);
|
1270 |
+
}
|
1271 |
}
|
1272 |
|
1273 |
.bounceOutLeft {
|
1274 |
+
-webkit-animation-name: bounceOutLeft;
|
1275 |
+
animation-name: bounceOutLeft;
|
1276 |
}
|
1277 |
|
1278 |
@-webkit-keyframes bounceOutRight {
|
1279 |
+
20% {
|
1280 |
+
opacity: 1;
|
1281 |
+
-webkit-transform: translate3d(-20px, 0, 0);
|
1282 |
+
transform: translate3d(-20px, 0, 0);
|
1283 |
+
}
|
1284 |
|
1285 |
+
to {
|
1286 |
+
opacity: 0;
|
1287 |
+
-webkit-transform: translate3d(2000px, 0, 0);
|
1288 |
+
transform: translate3d(2000px, 0, 0);
|
1289 |
+
}
|
1290 |
}
|
1291 |
|
1292 |
@keyframes bounceOutRight {
|
1293 |
+
20% {
|
1294 |
+
opacity: 1;
|
1295 |
+
-webkit-transform: translate3d(-20px, 0, 0);
|
1296 |
+
transform: translate3d(-20px, 0, 0);
|
1297 |
+
}
|
1298 |
|
1299 |
+
to {
|
1300 |
+
opacity: 0;
|
1301 |
+
-webkit-transform: translate3d(2000px, 0, 0);
|
1302 |
+
transform: translate3d(2000px, 0, 0);
|
1303 |
+
}
|
1304 |
}
|
1305 |
|
1306 |
.bounceOutRight {
|
1307 |
+
-webkit-animation-name: bounceOutRight;
|
1308 |
+
animation-name: bounceOutRight;
|
1309 |
}
|
1310 |
|
1311 |
@-webkit-keyframes bounceOutUp {
|
1312 |
+
20% {
|
1313 |
+
-webkit-transform: translate3d(0, -10px, 0);
|
1314 |
+
transform: translate3d(0, -10px, 0);
|
1315 |
+
}
|
1316 |
|
1317 |
+
40%,
|
1318 |
+
45% {
|
1319 |
+
opacity: 1;
|
1320 |
+
-webkit-transform: translate3d(0, 20px, 0);
|
1321 |
+
transform: translate3d(0, 20px, 0);
|
1322 |
+
}
|
1323 |
|
1324 |
+
to {
|
1325 |
+
opacity: 0;
|
1326 |
+
-webkit-transform: translate3d(0, -2000px, 0);
|
1327 |
+
transform: translate3d(0, -2000px, 0);
|
1328 |
+
}
|
1329 |
}
|
1330 |
|
1331 |
@keyframes bounceOutUp {
|
1332 |
+
20% {
|
1333 |
+
-webkit-transform: translate3d(0, -10px, 0);
|
1334 |
+
transform: translate3d(0, -10px, 0);
|
1335 |
+
}
|
1336 |
|
1337 |
+
40%,
|
1338 |
+
45% {
|
1339 |
+
opacity: 1;
|
1340 |
+
-webkit-transform: translate3d(0, 20px, 0);
|
1341 |
+
transform: translate3d(0, 20px, 0);
|
1342 |
+
}
|
1343 |
|
1344 |
+
to {
|
1345 |
+
opacity: 0;
|
1346 |
+
-webkit-transform: translate3d(0, -2000px, 0);
|
1347 |
+
transform: translate3d(0, -2000px, 0);
|
1348 |
+
}
|
1349 |
}
|
1350 |
|
1351 |
.bounceOutUp {
|
1352 |
+
-webkit-animation-name: bounceOutUp;
|
1353 |
+
animation-name: bounceOutUp;
|
1354 |
}
|
1355 |
|
1356 |
@-webkit-keyframes fadeIn {
|
1357 |
+
from {
|
1358 |
+
opacity: 0;
|
1359 |
+
}
|
1360 |
+
|
1361 |
+
to {
|
1362 |
+
opacity: 1;
|
1363 |
+
}
|
1364 |
}
|
1365 |
|
1366 |
@keyframes fadeIn {
|
1367 |
+
from {
|
1368 |
+
opacity: 0;
|
1369 |
+
}
|
1370 |
+
|
1371 |
+
to {
|
1372 |
+
opacity: 1;
|
1373 |
+
}
|
1374 |
}
|
1375 |
|
1376 |
.fadeIn {
|
1377 |
+
-webkit-animation-name: fadeIn;
|
1378 |
+
animation-name: fadeIn;
|
1379 |
}
|
1380 |
|
1381 |
@-webkit-keyframes fadeInDown {
|
1382 |
+
from {
|
1383 |
+
opacity: 0;
|
1384 |
+
-webkit-transform: translate3d(0, -100%, 0);
|
1385 |
+
transform: translate3d(0, -100%, 0);
|
1386 |
+
}
|
1387 |
|
1388 |
+
to {
|
1389 |
+
opacity: 1;
|
1390 |
+
-webkit-transform: translate3d(0, 0, 0);
|
1391 |
+
transform: translate3d(0, 0, 0);
|
1392 |
+
}
|
1393 |
}
|
1394 |
|
1395 |
@keyframes fadeInDown {
|
1396 |
+
from {
|
1397 |
+
opacity: 0;
|
1398 |
+
-webkit-transform: translate3d(0, -100%, 0);
|
1399 |
+
transform: translate3d(0, -100%, 0);
|
1400 |
+
}
|
1401 |
|
1402 |
+
to {
|
1403 |
+
opacity: 1;
|
1404 |
+
-webkit-transform: translate3d(0, 0, 0);
|
1405 |
+
transform: translate3d(0, 0, 0);
|
1406 |
+
}
|
1407 |
}
|
1408 |
|
1409 |
.fadeInDown {
|
1410 |
+
-webkit-animation-name: fadeInDown;
|
1411 |
+
animation-name: fadeInDown;
|
1412 |
}
|
1413 |
|
1414 |
@-webkit-keyframes fadeInDownBig {
|
1415 |
+
from {
|
1416 |
+
opacity: 0;
|
1417 |
+
-webkit-transform: translate3d(0, -2000px, 0);
|
1418 |
+
transform: translate3d(0, -2000px, 0);
|
1419 |
+
}
|
1420 |
|
1421 |
+
to {
|
1422 |
+
opacity: 1;
|
1423 |
+
-webkit-transform: translate3d(0, 0, 0);
|
1424 |
+
transform: translate3d(0, 0, 0);
|
1425 |
+
}
|
1426 |
}
|
1427 |
|
1428 |
@keyframes fadeInDownBig {
|
1429 |
+
from {
|
1430 |
+
opacity: 0;
|
1431 |
+
-webkit-transform: translate3d(0, -2000px, 0);
|
1432 |
+
transform: translate3d(0, -2000px, 0);
|
1433 |
+
}
|
1434 |
|
1435 |
+
to {
|
1436 |
+
opacity: 1;
|
1437 |
+
-webkit-transform: translate3d(0, 0, 0);
|
1438 |
+
transform: translate3d(0, 0, 0);
|
1439 |
+
}
|
1440 |
}
|
1441 |
|
1442 |
.fadeInDownBig {
|
1443 |
+
-webkit-animation-name: fadeInDownBig;
|
1444 |
+
animation-name: fadeInDownBig;
|
1445 |
}
|
1446 |
|
1447 |
@-webkit-keyframes fadeInLeft {
|
1448 |
+
from {
|
1449 |
+
opacity: 0;
|
1450 |
+
-webkit-transform: translate3d(-100%, 0, 0);
|
1451 |
+
transform: translate3d(-100%, 0, 0);
|
1452 |
+
}
|
1453 |
|
1454 |
+
to {
|
1455 |
+
opacity: 1;
|
1456 |
+
-webkit-transform: translate3d(0, 0, 0);
|
1457 |
+
transform: translate3d(0, 0, 0);
|
1458 |
+
}
|
1459 |
}
|
1460 |
|
1461 |
@keyframes fadeInLeft {
|
1462 |
+
from {
|
1463 |
+
opacity: 0;
|
1464 |
+
-webkit-transform: translate3d(-100%, 0, 0);
|
1465 |
+
transform: translate3d(-100%, 0, 0);
|
1466 |
+
}
|
1467 |
|
1468 |
+
to {
|
1469 |
+
opacity: 1;
|
1470 |
+
-webkit-transform: translate3d(0, 0, 0);
|
1471 |
+
transform: translate3d(0, 0, 0);
|
1472 |
+
}
|
1473 |
}
|
1474 |
|
1475 |
.fadeInLeft {
|
1476 |
+
-webkit-animation-name: fadeInLeft;
|
1477 |
+
animation-name: fadeInLeft;
|
1478 |
}
|
1479 |
|
1480 |
@-webkit-keyframes fadeInLeftBig {
|
1481 |
+
from {
|
1482 |
+
opacity: 0;
|
1483 |
+
-webkit-transform: translate3d(-2000px, 0, 0);
|
1484 |
+
transform: translate3d(-2000px, 0, 0);
|
1485 |
+
}
|
1486 |
|
1487 |
+
to {
|
1488 |
+
opacity: 1;
|
1489 |
+
-webkit-transform: translate3d(0, 0, 0);
|
1490 |
+
transform: translate3d(0, 0, 0);
|
1491 |
+
}
|
1492 |
}
|
1493 |
|
1494 |
@keyframes fadeInLeftBig {
|
1495 |
+
from {
|
1496 |
+
opacity: 0;
|
1497 |
+
-webkit-transform: translate3d(-2000px, 0, 0);
|
1498 |
+
transform: translate3d(-2000px, 0, 0);
|
1499 |
+
}
|
1500 |
|
1501 |
+
to {
|
1502 |
+
opacity: 1;
|
1503 |
+
-webkit-transform: translate3d(0, 0, 0);
|
1504 |
+
transform: translate3d(0, 0, 0);
|
1505 |
+
}
|
1506 |
}
|
1507 |
|
1508 |
.fadeInLeftBig {
|
1509 |
+
-webkit-animation-name: fadeInLeftBig;
|
1510 |
+
animation-name: fadeInLeftBig;
|
1511 |
}
|
1512 |
|
1513 |
@-webkit-keyframes fadeInRight {
|
1514 |
+
from {
|
1515 |
+
opacity: 0;
|
1516 |
+
-webkit-transform: translate3d(100%, 0, 0);
|
1517 |
+
transform: translate3d(100%, 0, 0);
|
1518 |
+
}
|
1519 |
|
1520 |
+
to {
|
1521 |
+
opacity: 1;
|
1522 |
+
-webkit-transform: translate3d(0, 0, 0);
|
1523 |
+
transform: translate3d(0, 0, 0);
|
1524 |
+
}
|
1525 |
}
|
1526 |
|
1527 |
@keyframes fadeInRight {
|
1528 |
+
from {
|
1529 |
+
opacity: 0;
|
1530 |
+
-webkit-transform: translate3d(100%, 0, 0);
|
1531 |
+
transform: translate3d(100%, 0, 0);
|
1532 |
+
}
|
1533 |
|
1534 |
+
to {
|
1535 |
+
opacity: 1;
|
1536 |
+
-webkit-transform: translate3d(0, 0, 0);
|
1537 |
+
transform: translate3d(0, 0, 0);
|
1538 |
+
}
|
1539 |
}
|
1540 |
|
1541 |
.fadeInRight {
|
1542 |
+
-webkit-animation-name: fadeInRight;
|
1543 |
+
animation-name: fadeInRight;
|
1544 |
}
|
1545 |
|
1546 |
@-webkit-keyframes fadeInRightBig {
|
1547 |
+
from {
|
1548 |
+
opacity: 0;
|
1549 |
+
-webkit-transform: translate3d(2000px, 0, 0);
|
1550 |
+
transform: translate3d(2000px, 0, 0);
|
1551 |
+
}
|
1552 |
|
1553 |
+
to {
|
1554 |
+
opacity: 1;
|
1555 |
+
-webkit-transform: translate3d(0, 0, 0);
|
1556 |
+
transform: translate3d(0, 0, 0);
|
1557 |
+
}
|
1558 |
}
|
1559 |
|
1560 |
@keyframes fadeInRightBig {
|
1561 |
+
from {
|
1562 |
+
opacity: 0;
|
1563 |
+
-webkit-transform: translate3d(2000px, 0, 0);
|
1564 |
+
transform: translate3d(2000px, 0, 0);
|
1565 |
+
}
|
1566 |
|
1567 |
+
to {
|
1568 |
+
opacity: 1;
|
1569 |
+
-webkit-transform: translate3d(0, 0, 0);
|
1570 |
+
transform: translate3d(0, 0, 0);
|
1571 |
+
}
|
1572 |
}
|
1573 |
|
1574 |
.fadeInRightBig {
|
1575 |
+
-webkit-animation-name: fadeInRightBig;
|
1576 |
+
animation-name: fadeInRightBig;
|
1577 |
}
|
1578 |
|
1579 |
@-webkit-keyframes fadeInUp {
|
1580 |
+
from {
|
1581 |
+
opacity: 0;
|
1582 |
+
-webkit-transform: translate3d(0, 100%, 0);
|
1583 |
+
transform: translate3d(0, 100%, 0);
|
1584 |
+
}
|
1585 |
|
1586 |
+
to {
|
1587 |
+
opacity: 1;
|
1588 |
+
-webkit-transform: translate3d(0, 0, 0);
|
1589 |
+
transform: translate3d(0, 0, 0);
|
1590 |
+
}
|
1591 |
}
|
1592 |
|
1593 |
@keyframes fadeInUp {
|
1594 |
+
from {
|
1595 |
+
opacity: 0;
|
1596 |
+
-webkit-transform: translate3d(0, 100%, 0);
|
1597 |
+
transform: translate3d(0, 100%, 0);
|
1598 |
+
}
|
1599 |
|
1600 |
+
to {
|
1601 |
+
opacity: 1;
|
1602 |
+
-webkit-transform: translate3d(0, 0, 0);
|
1603 |
+
transform: translate3d(0, 0, 0);
|
1604 |
+
}
|
1605 |
}
|
1606 |
|
1607 |
.fadeInUp {
|
1608 |
+
-webkit-animation-name: fadeInUp;
|
1609 |
+
animation-name: fadeInUp;
|
1610 |
}
|
1611 |
|
1612 |
@-webkit-keyframes fadeInUpBig {
|
1613 |
+
from {
|
1614 |
+
opacity: 0;
|
1615 |
+
-webkit-transform: translate3d(0, 2000px, 0);
|
1616 |
+
transform: translate3d(0, 2000px, 0);
|
1617 |
+
}
|
1618 |
|
1619 |
+
to {
|
1620 |
+
opacity: 1;
|
1621 |
+
-webkit-transform: translate3d(0, 0, 0);
|
1622 |
+
transform: translate3d(0, 0, 0);
|
1623 |
+
}
|
1624 |
}
|
1625 |
|
1626 |
@keyframes fadeInUpBig {
|
1627 |
+
from {
|
1628 |
+
opacity: 0;
|
1629 |
+
-webkit-transform: translate3d(0, 2000px, 0);
|
1630 |
+
transform: translate3d(0, 2000px, 0);
|
1631 |
+
}
|
1632 |
|
1633 |
+
to {
|
1634 |
+
opacity: 1;
|
1635 |
+
-webkit-transform: translate3d(0, 0, 0);
|
1636 |
+
transform: translate3d(0, 0, 0);
|
1637 |
+
}
|
1638 |
}
|
1639 |
|
1640 |
.fadeInUpBig {
|
1641 |
+
-webkit-animation-name: fadeInUpBig;
|
1642 |
+
animation-name: fadeInUpBig;
|
1643 |
}
|
1644 |
|
1645 |
@-webkit-keyframes fadeOut {
|
1646 |
+
from {
|
1647 |
+
opacity: 1;
|
1648 |
+
}
|
1649 |
+
|
1650 |
+
to {
|
1651 |
+
opacity: 0;
|
1652 |
+
}
|
1653 |
}
|
1654 |
|
1655 |
@keyframes fadeOut {
|
1656 |
+
from {
|
1657 |
+
opacity: 1;
|
1658 |
+
}
|
1659 |
+
|
1660 |
+
to {
|
1661 |
+
opacity: 0;
|
1662 |
+
}
|
1663 |
}
|
1664 |
|
1665 |
.fadeOut {
|
1666 |
+
-webkit-animation-name: fadeOut;
|
1667 |
+
animation-name: fadeOut;
|
1668 |
}
|
1669 |
|
1670 |
@-webkit-keyframes fadeOutDown {
|
1671 |
+
from {
|
1672 |
+
opacity: 1;
|
1673 |
+
}
|
1674 |
|
1675 |
+
to {
|
1676 |
+
opacity: 0;
|
1677 |
+
-webkit-transform: translate3d(0, 100%, 0);
|
1678 |
+
transform: translate3d(0, 100%, 0);
|
1679 |
+
}
|
1680 |
}
|
1681 |
|
1682 |
@keyframes fadeOutDown {
|
1683 |
+
from {
|
1684 |
+
opacity: 1;
|
1685 |
+
}
|
1686 |
|
1687 |
+
to {
|
1688 |
+
opacity: 0;
|
1689 |
+
-webkit-transform: translate3d(0, 100%, 0);
|
1690 |
+
transform: translate3d(0, 100%, 0);
|
1691 |
+
}
|
1692 |
}
|
1693 |
|
1694 |
.fadeOutDown {
|
1695 |
+
-webkit-animation-name: fadeOutDown;
|
1696 |
+
animation-name: fadeOutDown;
|
1697 |
}
|
1698 |
|
1699 |
@-webkit-keyframes fadeOutDownBig {
|
1700 |
+
from {
|
1701 |
+
opacity: 1;
|
1702 |
+
}
|
1703 |
|
1704 |
+
to {
|
1705 |
+
opacity: 0;
|
1706 |
+
-webkit-transform: translate3d(0, 2000px, 0);
|
1707 |
+
transform: translate3d(0, 2000px, 0);
|
1708 |
+
}
|
1709 |
}
|
1710 |
|
1711 |
@keyframes fadeOutDownBig {
|
1712 |
+
from {
|
1713 |
+
opacity: 1;
|
1714 |
+
}
|
1715 |
|
1716 |
+
to {
|
1717 |
+
opacity: 0;
|
1718 |
+
-webkit-transform: translate3d(0, 2000px, 0);
|
1719 |
+
transform: translate3d(0, 2000px, 0);
|
1720 |
+
}
|
1721 |
}
|
1722 |
|
1723 |
.fadeOutDownBig {
|
1724 |
+
-webkit-animation-name: fadeOutDownBig;
|
1725 |
+
animation-name: fadeOutDownBig;
|
1726 |
}
|
1727 |
|
1728 |
@-webkit-keyframes fadeOutLeft {
|
1729 |
+
from {
|
1730 |
+
opacity: 1;
|
1731 |
+
}
|
1732 |
|
1733 |
+
to {
|
1734 |
+
opacity: 0;
|
1735 |
+
-webkit-transform: translate3d(-100%, 0, 0);
|
1736 |
+
transform: translate3d(-100%, 0, 0);
|
1737 |
+
}
|
1738 |
}
|
1739 |
|
1740 |
@keyframes fadeOutLeft {
|
1741 |
+
from {
|
1742 |
+
opacity: 1;
|
1743 |
+
}
|
1744 |
|
1745 |
+
to {
|
1746 |
+
opacity: 0;
|
1747 |
+
-webkit-transform: translate3d(-100%, 0, 0);
|
1748 |
+
transform: translate3d(-100%, 0, 0);
|
1749 |
+
}
|
1750 |
}
|
1751 |
|
1752 |
.fadeOutLeft {
|
1753 |
+
-webkit-animation-name: fadeOutLeft;
|
1754 |
+
animation-name: fadeOutLeft;
|
1755 |
}
|
1756 |
|
1757 |
@-webkit-keyframes fadeOutLeftBig {
|
1758 |
+
from {
|
1759 |
+
opacity: 1;
|
1760 |
+
}
|
1761 |
|
1762 |
+
to {
|
1763 |
+
opacity: 0;
|
1764 |
+
-webkit-transform: translate3d(-2000px, 0, 0);
|
1765 |
+
transform: translate3d(-2000px, 0, 0);
|
1766 |
+
}
|
1767 |
}
|
1768 |
|
1769 |
@keyframes fadeOutLeftBig {
|
1770 |
+
from {
|
1771 |
+
opacity: 1;
|
1772 |
+
}
|
1773 |
|
1774 |
+
to {
|
1775 |
+
opacity: 0;
|
1776 |
+
-webkit-transform: translate3d(-2000px, 0, 0);
|
1777 |
+
transform: translate3d(-2000px, 0, 0);
|
1778 |
+
}
|
1779 |
}
|
1780 |
|
1781 |
.fadeOutLeftBig {
|
1782 |
+
-webkit-animation-name: fadeOutLeftBig;
|
1783 |
+
animation-name: fadeOutLeftBig;
|
1784 |
}
|
1785 |
|
1786 |
@-webkit-keyframes fadeOutRight {
|
1787 |
+
from {
|
1788 |
+
opacity: 1;
|
1789 |
+
}
|
1790 |
|
1791 |
+
to {
|
1792 |
+
opacity: 0;
|
1793 |
+
-webkit-transform: translate3d(100%, 0, 0);
|
1794 |
+
transform: translate3d(100%, 0, 0);
|
1795 |
+
}
|
1796 |
}
|
1797 |
|
1798 |
@keyframes fadeOutRight {
|
1799 |
+
from {
|
1800 |
+
opacity: 1;
|
1801 |
+
}
|
1802 |
|
1803 |
+
to {
|
1804 |
+
opacity: 0;
|
1805 |
+
-webkit-transform: translate3d(100%, 0, 0);
|
1806 |
+
transform: translate3d(100%, 0, 0);
|
1807 |
+
}
|
1808 |
}
|
1809 |
|
1810 |
.fadeOutRight {
|
1811 |
+
-webkit-animation-name: fadeOutRight;
|
1812 |
+
animation-name: fadeOutRight;
|
1813 |
}
|
1814 |
|
1815 |
@-webkit-keyframes fadeOutRightBig {
|
1816 |
+
from {
|
1817 |
+
opacity: 1;
|
1818 |
+
}
|
1819 |
|
1820 |
+
to {
|
1821 |
+
opacity: 0;
|
1822 |
+
-webkit-transform: translate3d(2000px, 0, 0);
|
1823 |
+
transform: translate3d(2000px, 0, 0);
|
1824 |
+
}
|
1825 |
}
|
1826 |
|
1827 |
@keyframes fadeOutRightBig {
|
1828 |
+
from {
|
1829 |
+
opacity: 1;
|
1830 |
+
}
|
1831 |
|
1832 |
+
to {
|
1833 |
+
opacity: 0;
|
1834 |
+
-webkit-transform: translate3d(2000px, 0, 0);
|
1835 |
+
transform: translate3d(2000px, 0, 0);
|
1836 |
+
}
|
1837 |
}
|
1838 |
|
1839 |
.fadeOutRightBig {
|
1840 |
+
-webkit-animation-name: fadeOutRightBig;
|
1841 |
+
animation-name: fadeOutRightBig;
|
1842 |
}
|
1843 |
|
1844 |
@-webkit-keyframes fadeOutUp {
|
1845 |
+
from {
|
1846 |
+
opacity: 1;
|
1847 |
+
}
|
1848 |
|
1849 |
+
to {
|
1850 |
+
opacity: 0;
|
1851 |
+
-webkit-transform: translate3d(0, -100%, 0);
|
1852 |
+
transform: translate3d(0, -100%, 0);
|
1853 |
+
}
|
1854 |
}
|
1855 |
|
1856 |
@keyframes fadeOutUp {
|
1857 |
+
from {
|
1858 |
+
opacity: 1;
|
1859 |
+
}
|
1860 |
|
1861 |
+
to {
|
1862 |
+
opacity: 0;
|
1863 |
+
-webkit-transform: translate3d(0, -100%, 0);
|
1864 |
+
transform: translate3d(0, -100%, 0);
|
1865 |
+
}
|
1866 |
}
|
1867 |
|
1868 |
.fadeOutUp {
|
1869 |
+
-webkit-animation-name: fadeOutUp;
|
1870 |
+
animation-name: fadeOutUp;
|
1871 |
}
|
1872 |
|
1873 |
@-webkit-keyframes fadeOutUpBig {
|
1874 |
+
from {
|
1875 |
+
opacity: 1;
|
1876 |
+
}
|
1877 |
|
1878 |
+
to {
|
1879 |
+
opacity: 0;
|
1880 |
+
-webkit-transform: translate3d(0, -2000px, 0);
|
1881 |
+
transform: translate3d(0, -2000px, 0);
|
1882 |
+
}
|
1883 |
}
|
1884 |
|
1885 |
@keyframes fadeOutUpBig {
|
1886 |
+
from {
|
1887 |
+
opacity: 1;
|
1888 |
+
}
|
1889 |
|
1890 |
+
to {
|
1891 |
+
opacity: 0;
|
1892 |
+
-webkit-transform: translate3d(0, -2000px, 0);
|
1893 |
+
transform: translate3d(0, -2000px, 0);
|
1894 |
+
}
|
1895 |
}
|
1896 |
|
1897 |
.fadeOutUpBig {
|
1898 |
+
-webkit-animation-name: fadeOutUpBig;
|
1899 |
+
animation-name: fadeOutUpBig;
|
1900 |
}
|
1901 |
|
1902 |
@-webkit-keyframes flip {
|
1903 |
+
from {
|
1904 |
+
-webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0)
|
1905 |
+
rotate3d(0, 1, 0, -360deg);
|
1906 |
+
transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
|
1907 |
+
-webkit-animation-timing-function: ease-out;
|
1908 |
+
animation-timing-function: ease-out;
|
1909 |
+
}
|
1910 |
+
|
1911 |
+
40% {
|
1912 |
+
-webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
|
1913 |
+
rotate3d(0, 1, 0, -190deg);
|
1914 |
+
transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
|
1915 |
+
rotate3d(0, 1, 0, -190deg);
|
1916 |
+
-webkit-animation-timing-function: ease-out;
|
1917 |
+
animation-timing-function: ease-out;
|
1918 |
+
}
|
1919 |
+
|
1920 |
+
50% {
|
1921 |
+
-webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
|
1922 |
+
rotate3d(0, 1, 0, -170deg);
|
1923 |
+
transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
|
1924 |
+
rotate3d(0, 1, 0, -170deg);
|
1925 |
+
-webkit-animation-timing-function: ease-in;
|
1926 |
+
animation-timing-function: ease-in;
|
1927 |
+
}
|
1928 |
+
|
1929 |
+
80% {
|
1930 |
+
-webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
|
1931 |
+
rotate3d(0, 1, 0, 0deg);
|
1932 |
+
transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
|
1933 |
+
rotate3d(0, 1, 0, 0deg);
|
1934 |
+
-webkit-animation-timing-function: ease-in;
|
1935 |
+
animation-timing-function: ease-in;
|
1936 |
+
}
|
1937 |
+
|
1938 |
+
to {
|
1939 |
+
-webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0)
|
1940 |
+
rotate3d(0, 1, 0, 0deg);
|
1941 |
+
transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
|
1942 |
+
-webkit-animation-timing-function: ease-in;
|
1943 |
+
animation-timing-function: ease-in;
|
1944 |
+
}
|
1945 |
}
|
1946 |
|
1947 |
@keyframes flip {
|
1948 |
+
from {
|
1949 |
+
-webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0)
|
1950 |
+
rotate3d(0, 1, 0, -360deg);
|
1951 |
+
transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
|
1952 |
+
-webkit-animation-timing-function: ease-out;
|
1953 |
+
animation-timing-function: ease-out;
|
1954 |
+
}
|
1955 |
+
|
1956 |
+
40% {
|
1957 |
+
-webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
|
1958 |
+
rotate3d(0, 1, 0, -190deg);
|
1959 |
+
transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
|
1960 |
+
rotate3d(0, 1, 0, -190deg);
|
1961 |
+
-webkit-animation-timing-function: ease-out;
|
1962 |
+
animation-timing-function: ease-out;
|
1963 |
+
}
|
1964 |
+
|
1965 |
+
50% {
|
1966 |
+
-webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
|
1967 |
+
rotate3d(0, 1, 0, -170deg);
|
1968 |
+
transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
|
1969 |
+
rotate3d(0, 1, 0, -170deg);
|
1970 |
+
-webkit-animation-timing-function: ease-in;
|
1971 |
+
animation-timing-function: ease-in;
|
1972 |
+
}
|
1973 |
+
|
1974 |
+
80% {
|
1975 |
+
-webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
|
1976 |
+
rotate3d(0, 1, 0, 0deg);
|
1977 |
+
transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
|
1978 |
+
rotate3d(0, 1, 0, 0deg);
|
1979 |
+
-webkit-animation-timing-function: ease-in;
|
1980 |
+
animation-timing-function: ease-in;
|
1981 |
+
}
|
1982 |
+
|
1983 |
+
to {
|
1984 |
+
-webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0)
|
1985 |
+
rotate3d(0, 1, 0, 0deg);
|
1986 |
+
transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
|
1987 |
+
-webkit-animation-timing-function: ease-in;
|
1988 |
+
animation-timing-function: ease-in;
|
1989 |
+
}
|
1990 |
}
|
1991 |
|
1992 |
.animated.flip {
|
1993 |
+
-webkit-backface-visibility: visible;
|
1994 |
+
backface-visibility: visible;
|
1995 |
+
-webkit-animation-name: flip;
|
1996 |
+
animation-name: flip;
|
1997 |
}
|
1998 |
|
1999 |
@-webkit-keyframes flipInX {
|
2000 |
+
from {
|
2001 |
+
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
|
2002 |
+
transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
|
2003 |
+
-webkit-animation-timing-function: ease-in;
|
2004 |
+
animation-timing-function: ease-in;
|
2005 |
+
opacity: 0;
|
2006 |
+
}
|
2007 |
+
|
2008 |
+
40% {
|
2009 |
+
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
|
2010 |
+
transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
|
2011 |
+
-webkit-animation-timing-function: ease-in;
|
2012 |
+
animation-timing-function: ease-in;
|
2013 |
+
}
|
2014 |
+
|
2015 |
+
60% {
|
2016 |
+
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
|
2017 |
+
transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
|
2018 |
+
opacity: 1;
|
2019 |
+
}
|
2020 |
+
|
2021 |
+
80% {
|
2022 |
+
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
|
2023 |
+
transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
|
2024 |
+
}
|
2025 |
+
|
2026 |
+
to {
|
2027 |
+
-webkit-transform: perspective(400px);
|
2028 |
+
transform: perspective(400px);
|
2029 |
+
}
|
2030 |
}
|
2031 |
|
2032 |
@keyframes flipInX {
|
2033 |
+
from {
|
2034 |
+
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
|
2035 |
+
transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
|
2036 |
+
-webkit-animation-timing-function: ease-in;
|
2037 |
+
animation-timing-function: ease-in;
|
2038 |
+
opacity: 0;
|
2039 |
+
}
|
2040 |
+
|
2041 |
+
40% {
|
2042 |
+
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
|
2043 |
+
transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
|
2044 |
+
-webkit-animation-timing-function: ease-in;
|
2045 |
+
animation-timing-function: ease-in;
|
2046 |
+
}
|
2047 |
+
|
2048 |
+
60% {
|
2049 |
+
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
|
2050 |
+
transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
|
2051 |
+
opacity: 1;
|
2052 |
+
}
|
2053 |
+
|
2054 |
+
80% {
|
2055 |
+
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
|
2056 |
+
transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
|
2057 |
+
}
|
2058 |
+
|
2059 |
+
to {
|
2060 |
+
-webkit-transform: perspective(400px);
|
2061 |
+
transform: perspective(400px);
|
2062 |
+
}
|
2063 |
}
|
2064 |
|
2065 |
.flipInX {
|
2066 |
+
-webkit-backface-visibility: visible !important;
|
2067 |
+
backface-visibility: visible !important;
|
2068 |
+
-webkit-animation-name: flipInX;
|
2069 |
+
animation-name: flipInX;
|
2070 |
}
|
2071 |
|
2072 |
@-webkit-keyframes flipInY {
|
2073 |
+
from {
|
2074 |
+
-webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
|
2075 |
+
transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
|
2076 |
+
-webkit-animation-timing-function: ease-in;
|
2077 |
+
animation-timing-function: ease-in;
|
2078 |
+
opacity: 0;
|
2079 |
+
}
|
2080 |
+
|
2081 |
+
40% {
|
2082 |
+
-webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
|
2083 |
+
transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
|
2084 |
+
-webkit-animation-timing-function: ease-in;
|
2085 |
+
animation-timing-function: ease-in;
|
2086 |
+
}
|
2087 |
+
|
2088 |
+
60% {
|
2089 |
+
-webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
|
2090 |
+
transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
|
2091 |
+
opacity: 1;
|
2092 |
+
}
|
2093 |
+
|
2094 |
+
80% {
|
2095 |
+
-webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
|
2096 |
+
transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
|
2097 |
+
}
|
2098 |
+
|
2099 |
+
to {
|
2100 |
+
-webkit-transform: perspective(400px);
|
2101 |
+
transform: perspective(400px);
|
2102 |
+
}
|
2103 |
}
|
2104 |
|
2105 |
@keyframes flipInY {
|
2106 |
+
from {
|
2107 |
+
-webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
|
2108 |
+
transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
|
2109 |
+
-webkit-animation-timing-function: ease-in;
|
2110 |
+
animation-timing-function: ease-in;
|
2111 |
+
opacity: 0;
|
2112 |
+
}
|
2113 |
+
|
2114 |
+
40% {
|
2115 |
+
-webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
|
2116 |
+
transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
|
2117 |
+
-webkit-animation-timing-function: ease-in;
|
2118 |
+
animation-timing-function: ease-in;
|
2119 |
+
}
|
2120 |
+
|
2121 |
+
60% {
|
2122 |
+
-webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
|
2123 |
+
transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
|
2124 |
+
opacity: 1;
|
2125 |
+
}
|
2126 |
+
|
2127 |
+
80% {
|
2128 |
+
-webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
|
2129 |
+
transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
|
2130 |
+
}
|
2131 |
+
|
2132 |
+
to {
|
2133 |
+
-webkit-transform: perspective(400px);
|
2134 |
+
transform: perspective(400px);
|
2135 |
+
}
|
2136 |
}
|
2137 |
|
2138 |
.flipInY {
|
2139 |
+
-webkit-backface-visibility: visible !important;
|
2140 |
+
backface-visibility: visible !important;
|
2141 |
+
-webkit-animation-name: flipInY;
|
2142 |
+
animation-name: flipInY;
|
2143 |
}
|
2144 |
|
2145 |
@-webkit-keyframes flipOutX {
|
2146 |
+
from {
|
2147 |
+
-webkit-transform: perspective(400px);
|
2148 |
+
transform: perspective(400px);
|
2149 |
+
}
|
2150 |
|
2151 |
+
30% {
|
2152 |
+
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
|
2153 |
+
transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
|
2154 |
+
opacity: 1;
|
2155 |
+
}
|
2156 |
|
2157 |
+
to {
|
2158 |
+
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
|
2159 |
+
transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
|
2160 |
+
opacity: 0;
|
2161 |
+
}
|
2162 |
}
|
2163 |
|
2164 |
@keyframes flipOutX {
|
2165 |
+
from {
|
2166 |
+
-webkit-transform: perspective(400px);
|
2167 |
+
transform: perspective(400px);
|
2168 |
+
}
|
2169 |
|
2170 |
+
30% {
|
2171 |
+
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
|
2172 |
+
transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
|
2173 |
+
opacity: 1;
|
2174 |
+
}
|
2175 |
|
2176 |
+
to {
|
2177 |
+
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
|
2178 |
+
transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
|
2179 |
+
opacity: 0;
|
2180 |
+
}
|
2181 |
}
|
2182 |
|
2183 |
.flipOutX {
|
2184 |
+
-webkit-animation-duration: 0.75s;
|
2185 |
+
animation-duration: 0.75s;
|
2186 |
+
-webkit-animation-name: flipOutX;
|
2187 |
+
animation-name: flipOutX;
|
2188 |
+
-webkit-backface-visibility: visible !important;
|
2189 |
+
backface-visibility: visible !important;
|
2190 |
}
|
2191 |
|
2192 |
@-webkit-keyframes flipOutY {
|
2193 |
+
from {
|
2194 |
+
-webkit-transform: perspective(400px);
|
2195 |
+
transform: perspective(400px);
|
2196 |
+
}
|
2197 |
|
2198 |
+
30% {
|
2199 |
+
-webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
|
2200 |
+
transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
|
2201 |
+
opacity: 1;
|
2202 |
+
}
|
2203 |
|
2204 |
+
to {
|
2205 |
+
-webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
|
2206 |
+
transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
|
2207 |
+
opacity: 0;
|
2208 |
+
}
|
2209 |
}
|
2210 |
|
2211 |
@keyframes flipOutY {
|
2212 |
+
from {
|
2213 |
+
-webkit-transform: perspective(400px);
|
2214 |
+
transform: perspective(400px);
|
2215 |
+
}
|
2216 |
|
2217 |
+
30% {
|
2218 |
+
-webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
|
2219 |
+
transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
|
2220 |
+
opacity: 1;
|
2221 |
+
}
|
2222 |
|
2223 |
+
to {
|
2224 |
+
-webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
|
2225 |
+
transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
|
2226 |
+
opacity: 0;
|
2227 |
+
}
|
2228 |
}
|
2229 |
|
2230 |
.flipOutY {
|
2231 |
+
-webkit-animation-duration: 0.75s;
|
2232 |
+
animation-duration: 0.75s;
|
2233 |
+
-webkit-backface-visibility: visible !important;
|
2234 |
+
backface-visibility: visible !important;
|
2235 |
+
-webkit-animation-name: flipOutY;
|
2236 |
+
animation-name: flipOutY;
|
2237 |
}
|
2238 |
|
2239 |
@-webkit-keyframes lightSpeedIn {
|
2240 |
+
from {
|
2241 |
+
-webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
|
2242 |
+
transform: translate3d(100%, 0, 0) skewX(-30deg);
|
2243 |
+
opacity: 0;
|
2244 |
+
}
|
2245 |
+
|
2246 |
+
60% {
|
2247 |
+
-webkit-transform: skewX(20deg);
|
2248 |
+
transform: skewX(20deg);
|
2249 |
+
opacity: 1;
|
2250 |
+
}
|
2251 |
+
|
2252 |
+
80% {
|
2253 |
+
-webkit-transform: skewX(-5deg);
|
2254 |
+
transform: skewX(-5deg);
|
2255 |
+
}
|
2256 |
+
|
2257 |
+
to {
|
2258 |
+
-webkit-transform: translate3d(0, 0, 0);
|
2259 |
+
transform: translate3d(0, 0, 0);
|
2260 |
+
}
|
|
|
|
|
2261 |
}
|
2262 |
|
2263 |
@keyframes lightSpeedIn {
|
2264 |
+
from {
|
2265 |
+
-webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
|
2266 |
+
transform: translate3d(100%, 0, 0) skewX(-30deg);
|
2267 |
+
opacity: 0;
|
2268 |
+
}
|
2269 |
+
|
2270 |
+
60% {
|
2271 |
+
-webkit-transform: skewX(20deg);
|
2272 |
+
transform: skewX(20deg);
|
2273 |
+
opacity: 1;
|
2274 |
+
}
|
2275 |
+
|
2276 |
+
80% {
|
2277 |
+
-webkit-transform: skewX(-5deg);
|
2278 |
+
transform: skewX(-5deg);
|
2279 |
+
}
|
2280 |
+
|
2281 |
+
to {
|
2282 |
+
-webkit-transform: translate3d(0, 0, 0);
|
2283 |
+
transform: translate3d(0, 0, 0);
|
2284 |
+
}
|
|
|
|
|
2285 |
}
|
2286 |
|
2287 |
.lightSpeedIn {
|
2288 |
+
-webkit-animation-name: lightSpeedIn;
|
2289 |
+
animation-name: lightSpeedIn;
|
2290 |
+
-webkit-animation-timing-function: ease-out;
|
2291 |
+
animation-timing-function: ease-out;
|
2292 |
}
|
2293 |
|
2294 |
@-webkit-keyframes lightSpeedOut {
|
2295 |
+
from {
|
2296 |
+
opacity: 1;
|
2297 |
+
}
|
2298 |
|
2299 |
+
to {
|
2300 |
+
-webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
|
2301 |
+
transform: translate3d(100%, 0, 0) skewX(30deg);
|
2302 |
+
opacity: 0;
|
2303 |
+
}
|
2304 |
}
|
2305 |
|
2306 |
@keyframes lightSpeedOut {
|
2307 |
+
from {
|
2308 |
+
opacity: 1;
|
2309 |
+
}
|
2310 |
|
2311 |
+
to {
|
2312 |
+
-webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
|
2313 |
+
transform: translate3d(100%, 0, 0) skewX(30deg);
|
2314 |
+
opacity: 0;
|
2315 |
+
}
|
2316 |
}
|
2317 |
|
2318 |
.lightSpeedOut {
|
2319 |
+
-webkit-animation-name: lightSpeedOut;
|
2320 |
+
animation-name: lightSpeedOut;
|
2321 |
+
-webkit-animation-timing-function: ease-in;
|
2322 |
+
animation-timing-function: ease-in;
|
2323 |
}
|
2324 |
|
2325 |
@-webkit-keyframes rotateIn {
|
2326 |
+
from {
|
2327 |
+
-webkit-transform-origin: center;
|
2328 |
+
transform-origin: center;
|
2329 |
+
-webkit-transform: rotate3d(0, 0, 1, -200deg);
|
2330 |
+
transform: rotate3d(0, 0, 1, -200deg);
|
2331 |
+
opacity: 0;
|
2332 |
+
}
|
2333 |
+
|
2334 |
+
to {
|
2335 |
+
-webkit-transform-origin: center;
|
2336 |
+
transform-origin: center;
|
2337 |
+
-webkit-transform: translate3d(0, 0, 0);
|
2338 |
+
transform: translate3d(0, 0, 0);
|
2339 |
+
opacity: 1;
|
2340 |
+
}
|
2341 |
}
|
2342 |
|
2343 |
@keyframes rotateIn {
|
2344 |
+
from {
|
2345 |
+
-webkit-transform-origin: center;
|
2346 |
+
transform-origin: center;
|
2347 |
+
-webkit-transform: rotate3d(0, 0, 1, -200deg);
|
2348 |
+
transform: rotate3d(0, 0, 1, -200deg);
|
2349 |
+
opacity: 0;
|
2350 |
+
}
|
2351 |
+
|
2352 |
+
to {
|
2353 |
+
-webkit-transform-origin: center;
|
2354 |
+
transform-origin: center;
|
2355 |
+
-webkit-transform: translate3d(0, 0, 0);
|
2356 |
+
transform: translate3d(0, 0, 0);
|
2357 |
+
opacity: 1;
|
2358 |
+
}
|
2359 |
}
|
2360 |
|
2361 |
.rotateIn {
|
2362 |
+
-webkit-animation-name: rotateIn;
|
2363 |
+
animation-name: rotateIn;
|
2364 |
}
|
2365 |
|
2366 |
@-webkit-keyframes rotateInDownLeft {
|
2367 |
+
from {
|
2368 |
+
-webkit-transform-origin: left bottom;
|
2369 |
+
transform-origin: left bottom;
|
2370 |
+
-webkit-transform: rotate3d(0, 0, 1, -45deg);
|
2371 |
+
transform: rotate3d(0, 0, 1, -45deg);
|
2372 |
+
opacity: 0;
|
2373 |
+
}
|
2374 |
+
|
2375 |
+
to {
|
2376 |
+
-webkit-transform-origin: left bottom;
|
2377 |
+
transform-origin: left bottom;
|
2378 |
+
-webkit-transform: translate3d(0, 0, 0);
|
2379 |
+
transform: translate3d(0, 0, 0);
|
2380 |
+
opacity: 1;
|
2381 |
+
}
|
2382 |
}
|
2383 |
|
2384 |
@keyframes rotateInDownLeft {
|
2385 |
+
from {
|
2386 |
+
-webkit-transform-origin: left bottom;
|
2387 |
+
transform-origin: left bottom;
|
2388 |
+
-webkit-transform: rotate3d(0, 0, 1, -45deg);
|
2389 |
+
transform: rotate3d(0, 0, 1, -45deg);
|
2390 |
+
opacity: 0;
|
2391 |
+
}
|
2392 |
+
|
2393 |
+
to {
|
2394 |
+
-webkit-transform-origin: left bottom;
|
2395 |
+
transform-origin: left bottom;
|
2396 |
+
-webkit-transform: translate3d(0, 0, 0);
|
2397 |
+
transform: translate3d(0, 0, 0);
|
2398 |
+
opacity: 1;
|
2399 |
+
}
|
2400 |
}
|
2401 |
|
2402 |
.rotateInDownLeft {
|
2403 |
+
-webkit-animation-name: rotateInDownLeft;
|
2404 |
+
animation-name: rotateInDownLeft;
|
2405 |
}
|
2406 |
|
2407 |
@-webkit-keyframes rotateInDownRight {
|
2408 |
+
from {
|
2409 |
+
-webkit-transform-origin: right bottom;
|
2410 |
+
transform-origin: right bottom;
|
2411 |
+
-webkit-transform: rotate3d(0, 0, 1, 45deg);
|
2412 |
+
transform: rotate3d(0, 0, 1, 45deg);
|
2413 |
+
opacity: 0;
|
2414 |
+
}
|
2415 |
+
|
2416 |
+
to {
|
2417 |
+
-webkit-transform-origin: right bottom;
|
2418 |
+
transform-origin: right bottom;
|
2419 |
+
-webkit-transform: translate3d(0, 0, 0);
|
2420 |
+
transform: translate3d(0, 0, 0);
|
2421 |
+
opacity: 1;
|
2422 |
+
}
|
2423 |
}
|
2424 |
|
2425 |
@keyframes rotateInDownRight {
|
2426 |
+
from {
|
2427 |
+
-webkit-transform-origin: right bottom;
|
2428 |
+
transform-origin: right bottom;
|
2429 |
+
-webkit-transform: rotate3d(0, 0, 1, 45deg);
|
2430 |
+
transform: rotate3d(0, 0, 1, 45deg);
|
2431 |
+
opacity: 0;
|
2432 |
+
}
|
2433 |
+
|
2434 |
+
to {
|
2435 |
+
-webkit-transform-origin: right bottom;
|
2436 |
+
transform-origin: right bottom;
|
2437 |
+
-webkit-transform: translate3d(0, 0, 0);
|
2438 |
+
transform: translate3d(0, 0, 0);
|
2439 |
+
opacity: 1;
|
2440 |
+
}
|
2441 |
}
|
2442 |
|
2443 |
.rotateInDownRight {
|
2444 |
+
-webkit-animation-name: rotateInDownRight;
|
2445 |
+
animation-name: rotateInDownRight;
|
2446 |
}
|
2447 |
|
2448 |
@-webkit-keyframes rotateInUpLeft {
|
2449 |
+
from {
|
2450 |
+
-webkit-transform-origin: left bottom;
|
2451 |
+
transform-origin: left bottom;
|
2452 |
+
-webkit-transform: rotate3d(0, 0, 1, 45deg);
|
2453 |
+
transform: rotate3d(0, 0, 1, 45deg);
|
2454 |
+
opacity: 0;
|
2455 |
+
}
|
2456 |
+
|
2457 |
+
to {
|
2458 |
+
-webkit-transform-origin: left bottom;
|
2459 |
+
transform-origin: left bottom;
|
2460 |
+
-webkit-transform: translate3d(0, 0, 0);
|
2461 |
+
transform: translate3d(0, 0, 0);
|
2462 |
+
opacity: 1;
|
2463 |
+
}
|
2464 |
}
|
2465 |
|
2466 |
@keyframes rotateInUpLeft {
|
2467 |
+
from {
|
2468 |
+
-webkit-transform-origin: left bottom;
|
2469 |
+
transform-origin: left bottom;
|
2470 |
+
-webkit-transform: rotate3d(0, 0, 1, 45deg);
|
2471 |
+
transform: rotate3d(0, 0, 1, 45deg);
|
2472 |
+
opacity: 0;
|
2473 |
+
}
|
2474 |
+
|
2475 |
+
to {
|
2476 |
+
-webkit-transform-origin: left bottom;
|
2477 |
+
transform-origin: left bottom;
|
2478 |
+
-webkit-transform: translate3d(0, 0, 0);
|
2479 |
+
transform: translate3d(0, 0, 0);
|
2480 |
+
opacity: 1;
|
2481 |
+
}
|
2482 |
}
|
2483 |
|
2484 |
.rotateInUpLeft {
|
2485 |
+
-webkit-animation-name: rotateInUpLeft;
|
2486 |
+
animation-name: rotateInUpLeft;
|
2487 |
}
|
2488 |
|
2489 |
@-webkit-keyframes rotateInUpRight {
|
2490 |
+
from {
|
2491 |
+
-webkit-transform-origin: right bottom;
|
2492 |
+
transform-origin: right bottom;
|
2493 |
+
-webkit-transform: rotate3d(0, 0, 1, -90deg);
|
2494 |
+
transform: rotate3d(0, 0, 1, -90deg);
|
2495 |
+
opacity: 0;
|
2496 |
+
}
|
2497 |
+
|
2498 |
+
to {
|
2499 |
+
-webkit-transform-origin: right bottom;
|
2500 |
+
transform-origin: right bottom;
|
2501 |
+
-webkit-transform: translate3d(0, 0, 0);
|
2502 |
+
transform: translate3d(0, 0, 0);
|
2503 |
+
opacity: 1;
|
2504 |
+
}
|
2505 |
}
|
2506 |
|
2507 |
@keyframes rotateInUpRight {
|
2508 |
+
from {
|
2509 |
+
-webkit-transform-origin: right bottom;
|
2510 |
+
transform-origin: right bottom;
|
2511 |
+
-webkit-transform: rotate3d(0, 0, 1, -90deg);
|
2512 |
+
transform: rotate3d(0, 0, 1, -90deg);
|
2513 |
+
opacity: 0;
|
2514 |
+
}
|
2515 |
+
|
2516 |
+
to {
|
2517 |
+
-webkit-transform-origin: right bottom;
|
2518 |
+
transform-origin: right bottom;
|
2519 |
+
-webkit-transform: translate3d(0, 0, 0);
|
2520 |
+
transform: translate3d(0, 0, 0);
|
2521 |
+
opacity: 1;
|
2522 |
+
}
|
2523 |
}
|
2524 |
|
2525 |
.rotateInUpRight {
|
2526 |
+
-webkit-animation-name: rotateInUpRight;
|
2527 |
+
animation-name: rotateInUpRight;
|
2528 |
}
|
2529 |
|
2530 |
@-webkit-keyframes rotateOut {
|
2531 |
+
from {
|
2532 |
+
-webkit-transform-origin: center;
|
2533 |
+
transform-origin: center;
|
2534 |
+
opacity: 1;
|
2535 |
+
}
|
2536 |
|
2537 |
+
to {
|
2538 |
+
-webkit-transform-origin: center;
|
2539 |
+
transform-origin: center;
|
2540 |
+
-webkit-transform: rotate3d(0, 0, 1, 200deg);
|
2541 |
+
transform: rotate3d(0, 0, 1, 200deg);
|
2542 |
+
opacity: 0;
|
2543 |
+
}
|
2544 |
}
|
2545 |
|
2546 |
@keyframes rotateOut {
|
2547 |
+
from {
|
2548 |
+
-webkit-transform-origin: center;
|
2549 |
+
transform-origin: center;
|
2550 |
+
opacity: 1;
|
2551 |
+
}
|
2552 |
|
2553 |
+
to {
|
2554 |
+
-webkit-transform-origin: center;
|
2555 |
+
transform-origin: center;
|
2556 |
+
-webkit-transform: rotate3d(0, 0, 1, 200deg);
|
2557 |
+
transform: rotate3d(0, 0, 1, 200deg);
|
2558 |
+
opacity: 0;
|
2559 |
+
}
|
2560 |
}
|
2561 |
|
2562 |
.rotateOut {
|
2563 |
+
-webkit-animation-name: rotateOut;
|
2564 |
+
animation-name: rotateOut;
|
2565 |
}
|
2566 |
|
2567 |
@-webkit-keyframes rotateOutDownLeft {
|
2568 |
+
from {
|
2569 |
+
-webkit-transform-origin: left bottom;
|
2570 |
+
transform-origin: left bottom;
|
2571 |
+
opacity: 1;
|
2572 |
+
}
|
2573 |
|
2574 |
+
to {
|
2575 |
+
-webkit-transform-origin: left bottom;
|
2576 |
+
transform-origin: left bottom;
|
2577 |
+
-webkit-transform: rotate3d(0, 0, 1, 45deg);
|
2578 |
+
transform: rotate3d(0, 0, 1, 45deg);
|
2579 |
+
opacity: 0;
|
2580 |
+
}
|
2581 |
}
|
2582 |
|
2583 |
@keyframes rotateOutDownLeft {
|
2584 |
+
from {
|
2585 |
+
-webkit-transform-origin: left bottom;
|
2586 |
+
transform-origin: left bottom;
|
2587 |
+
opacity: 1;
|
2588 |
+
}
|
2589 |
|
2590 |
+
to {
|
2591 |
+
-webkit-transform-origin: left bottom;
|
2592 |
+
transform-origin: left bottom;
|
2593 |
+
-webkit-transform: rotate3d(0, 0, 1, 45deg);
|
2594 |
+
transform: rotate3d(0, 0, 1, 45deg);
|
2595 |
+
opacity: 0;
|
2596 |
+
}
|
2597 |
}
|
2598 |
|
2599 |
.rotateOutDownLeft {
|
2600 |
+
-webkit-animation-name: rotateOutDownLeft;
|
2601 |
+
animation-name: rotateOutDownLeft;
|
2602 |
}
|
2603 |
|
2604 |
@-webkit-keyframes rotateOutDownRight {
|
2605 |
+
from {
|
2606 |
+
-webkit-transform-origin: right bottom;
|
2607 |
+
transform-origin: right bottom;
|
2608 |
+
opacity: 1;
|
2609 |
+
}
|
2610 |
|
2611 |
+
to {
|
2612 |
+
-webkit-transform-origin: right bottom;
|
2613 |
+
transform-origin: right bottom;
|
2614 |
+
-webkit-transform: rotate3d(0, 0, 1, -45deg);
|
2615 |
+
transform: rotate3d(0, 0, 1, -45deg);
|
2616 |
+
opacity: 0;
|
2617 |
+
}
|
2618 |
}
|
2619 |
|
2620 |
@keyframes rotateOutDownRight {
|
2621 |
+
from {
|
2622 |
+
-webkit-transform-origin: right bottom;
|
2623 |
+
transform-origin: right bottom;
|
2624 |
+
opacity: 1;
|
2625 |
+
}
|
2626 |
|
2627 |
+
to {
|
2628 |
+
-webkit-transform-origin: right bottom;
|
2629 |
+
transform-origin: right bottom;
|
2630 |
+
-webkit-transform: rotate3d(0, 0, 1, -45deg);
|
2631 |
+
transform: rotate3d(0, 0, 1, -45deg);
|
2632 |
+
opacity: 0;
|
2633 |
+
}
|
2634 |
}
|
2635 |
|
2636 |
.rotateOutDownRight {
|
2637 |
+
-webkit-animation-name: rotateOutDownRight;
|
2638 |
+
animation-name: rotateOutDownRight;
|
2639 |
}
|
2640 |
|
2641 |
@-webkit-keyframes rotateOutUpLeft {
|
2642 |
+
from {
|
2643 |
+
-webkit-transform-origin: left bottom;
|
2644 |
+
transform-origin: left bottom;
|
2645 |
+
opacity: 1;
|
2646 |
+
}
|
2647 |
|
2648 |
+
to {
|
2649 |
+
-webkit-transform-origin: left bottom;
|
2650 |
+
transform-origin: left bottom;
|
2651 |
+
-webkit-transform: rotate3d(0, 0, 1, -45deg);
|
2652 |
+
transform: rotate3d(0, 0, 1, -45deg);
|
2653 |
+
opacity: 0;
|
2654 |
+
}
|
2655 |
}
|
2656 |
|
2657 |
@keyframes rotateOutUpLeft {
|
2658 |
+
from {
|
2659 |
+
-webkit-transform-origin: left bottom;
|
2660 |
+
transform-origin: left bottom;
|
2661 |
+
opacity: 1;
|
2662 |
+
}
|
2663 |
|
2664 |
+
to {
|
2665 |
+
-webkit-transform-origin: left bottom;
|
2666 |
+
transform-origin: left bottom;
|
2667 |
+
-webkit-transform: rotate3d(0, 0, 1, -45deg);
|
2668 |
+
transform: rotate3d(0, 0, 1, -45deg);
|
2669 |
+
opacity: 0;
|
2670 |
+
}
|
2671 |
}
|
2672 |
|
2673 |
.rotateOutUpLeft {
|
2674 |
+
-webkit-animation-name: rotateOutUpLeft;
|
2675 |
+
animation-name: rotateOutUpLeft;
|
2676 |
}
|
2677 |
|
2678 |
@-webkit-keyframes rotateOutUpRight {
|
2679 |
+
from {
|
2680 |
+
-webkit-transform-origin: right bottom;
|
2681 |
+
transform-origin: right bottom;
|
2682 |
+
opacity: 1;
|
2683 |
+
}
|
2684 |
|
2685 |
+
to {
|
2686 |
+
-webkit-transform-origin: right bottom;
|
2687 |
+
transform-origin: right bottom;
|
2688 |
+
-webkit-transform: rotate3d(0, 0, 1, 90deg);
|
2689 |
+
transform: rotate3d(0, 0, 1, 90deg);
|
2690 |
+
opacity: 0;
|
2691 |
+
}
|
2692 |
}
|
2693 |
|
2694 |
@keyframes rotateOutUpRight {
|
2695 |
+
from {
|
2696 |
+
-webkit-transform-origin: right bottom;
|
2697 |
+
transform-origin: right bottom;
|
2698 |
+
opacity: 1;
|
2699 |
+
}
|
2700 |
|
2701 |
+
to {
|
2702 |
+
-webkit-transform-origin: right bottom;
|
2703 |
+
transform-origin: right bottom;
|
2704 |
+
-webkit-transform: rotate3d(0, 0, 1, 90deg);
|
2705 |
+
transform: rotate3d(0, 0, 1, 90deg);
|
2706 |
+
opacity: 0;
|
2707 |
+
}
|
2708 |
}
|
2709 |
|
2710 |
.rotateOutUpRight {
|
2711 |
+
-webkit-animation-name: rotateOutUpRight;
|
2712 |
+
animation-name: rotateOutUpRight;
|
2713 |
}
|
2714 |
|
2715 |
@-webkit-keyframes hinge {
|
2716 |
+
0% {
|
2717 |
+
-webkit-transform-origin: top left;
|
2718 |
+
transform-origin: top left;
|
2719 |
+
-webkit-animation-timing-function: ease-in-out;
|
2720 |
+
animation-timing-function: ease-in-out;
|
2721 |
+
}
|
2722 |
+
|
2723 |
+
20%,
|
2724 |
+
60% {
|
2725 |
+
-webkit-transform: rotate3d(0, 0, 1, 80deg);
|
2726 |
+
transform: rotate3d(0, 0, 1, 80deg);
|
2727 |
+
-webkit-transform-origin: top left;
|
2728 |
+
transform-origin: top left;
|
2729 |
+
-webkit-animation-timing-function: ease-in-out;
|
2730 |
+
animation-timing-function: ease-in-out;
|
2731 |
+
}
|
2732 |
+
|
2733 |
+
40%,
|
2734 |
+
80% {
|
2735 |
+
-webkit-transform: rotate3d(0, 0, 1, 60deg);
|
2736 |
+
transform: rotate3d(0, 0, 1, 60deg);
|
2737 |
+
-webkit-transform-origin: top left;
|
2738 |
+
transform-origin: top left;
|
2739 |
+
-webkit-animation-timing-function: ease-in-out;
|
2740 |
+
animation-timing-function: ease-in-out;
|
2741 |
+
opacity: 1;
|
2742 |
+
}
|
2743 |
+
|
2744 |
+
to {
|
2745 |
+
-webkit-transform: translate3d(0, 700px, 0);
|
2746 |
+
transform: translate3d(0, 700px, 0);
|
2747 |
+
opacity: 0;
|
2748 |
+
}
|
2749 |
}
|
2750 |
|
2751 |
@keyframes hinge {
|
2752 |
+
0% {
|
2753 |
+
-webkit-transform-origin: top left;
|
2754 |
+
transform-origin: top left;
|
2755 |
+
-webkit-animation-timing-function: ease-in-out;
|
2756 |
+
animation-timing-function: ease-in-out;
|
2757 |
+
}
|
2758 |
+
|
2759 |
+
20%,
|
2760 |
+
60% {
|
2761 |
+
-webkit-transform: rotate3d(0, 0, 1, 80deg);
|
2762 |
+
transform: rotate3d(0, 0, 1, 80deg);
|
2763 |
+
-webkit-transform-origin: top left;
|
2764 |
+
transform-origin: top left;
|
2765 |
+
-webkit-animation-timing-function: ease-in-out;
|
2766 |
+
animation-timing-function: ease-in-out;
|
2767 |
+
}
|
2768 |
+
|
2769 |
+
40%,
|
2770 |
+
80% {
|
2771 |
+
-webkit-transform: rotate3d(0, 0, 1, 60deg);
|
2772 |
+
transform: rotate3d(0, 0, 1, 60deg);
|
2773 |
+
-webkit-transform-origin: top left;
|
2774 |
+
transform-origin: top left;
|
2775 |
+
-webkit-animation-timing-function: ease-in-out;
|
2776 |
+
animation-timing-function: ease-in-out;
|
2777 |
+
opacity: 1;
|
2778 |
+
}
|
2779 |
+
|
2780 |
+
to {
|
2781 |
+
-webkit-transform: translate3d(0, 700px, 0);
|
2782 |
+
transform: translate3d(0, 700px, 0);
|
2783 |
+
opacity: 0;
|
2784 |
+
}
|
2785 |
}
|
2786 |
|
2787 |
.hinge {
|
2788 |
+
-webkit-animation-duration: 2s;
|
2789 |
+
animation-duration: 2s;
|
2790 |
+
-webkit-animation-name: hinge;
|
2791 |
+
animation-name: hinge;
|
2792 |
+
}
|
2793 |
+
|
2794 |
+
@-webkit-keyframes jackInTheBox {
|
2795 |
+
from {
|
2796 |
+
opacity: 0;
|
2797 |
+
-webkit-transform: scale(0.1) rotate(30deg);
|
2798 |
+
transform: scale(0.1) rotate(30deg);
|
2799 |
+
-webkit-transform-origin: center bottom;
|
2800 |
+
transform-origin: center bottom;
|
2801 |
+
}
|
2802 |
+
|
2803 |
+
50% {
|
2804 |
+
-webkit-transform: rotate(-10deg);
|
2805 |
+
transform: rotate(-10deg);
|
2806 |
+
}
|
2807 |
+
|
2808 |
+
70% {
|
2809 |
+
-webkit-transform: rotate(3deg);
|
2810 |
+
transform: rotate(3deg);
|
2811 |
+
}
|
2812 |
+
|
2813 |
+
to {
|
2814 |
+
opacity: 1;
|
2815 |
+
-webkit-transform: scale(1);
|
2816 |
+
transform: scale(1);
|
2817 |
+
}
|
2818 |
+
}
|
2819 |
+
|
2820 |
+
@keyframes jackInTheBox {
|
2821 |
+
from {
|
2822 |
+
opacity: 0;
|
2823 |
+
-webkit-transform: scale(0.1) rotate(30deg);
|
2824 |
+
transform: scale(0.1) rotate(30deg);
|
2825 |
+
-webkit-transform-origin: center bottom;
|
2826 |
+
transform-origin: center bottom;
|
2827 |
+
}
|
2828 |
+
|
2829 |
+
50% {
|
2830 |
+
-webkit-transform: rotate(-10deg);
|
2831 |
+
transform: rotate(-10deg);
|
2832 |
+
}
|
2833 |
+
|
2834 |
+
70% {
|
2835 |
+
-webkit-transform: rotate(3deg);
|
2836 |
+
transform: rotate(3deg);
|
2837 |
+
}
|
2838 |
+
|
2839 |
+
to {
|
2840 |
+
opacity: 1;
|
2841 |
+
-webkit-transform: scale(1);
|
2842 |
+
transform: scale(1);
|
2843 |
+
}
|
2844 |
+
}
|
2845 |
+
|
2846 |
+
.jackInTheBox {
|
2847 |
+
-webkit-animation-name: jackInTheBox;
|
2848 |
+
animation-name: jackInTheBox;
|
2849 |
}
|
2850 |
|
2851 |
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
|
2852 |
|
2853 |
@-webkit-keyframes rollIn {
|
2854 |
+
from {
|
2855 |
+
opacity: 0;
|
2856 |
+
-webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
|
2857 |
+
transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
|
2858 |
+
}
|
2859 |
|
2860 |
+
to {
|
2861 |
+
opacity: 1;
|
2862 |
+
-webkit-transform: translate3d(0, 0, 0);
|
2863 |
+
transform: translate3d(0, 0, 0);
|
2864 |
+
}
|
2865 |
}
|
2866 |
|
2867 |
@keyframes rollIn {
|
2868 |
+
from {
|
2869 |
+
opacity: 0;
|
2870 |
+
-webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
|
2871 |
+
transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
|
2872 |
+
}
|
2873 |
|
2874 |
+
to {
|
2875 |
+
opacity: 1;
|
2876 |
+
-webkit-transform: translate3d(0, 0, 0);
|
2877 |
+
transform: translate3d(0, 0, 0);
|
2878 |
+
}
|
2879 |
}
|
2880 |
|
2881 |
.rollIn {
|
2882 |
+
-webkit-animation-name: rollIn;
|
2883 |
+
animation-name: rollIn;
|
2884 |
}
|
2885 |
|
2886 |
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
|
2887 |
|
2888 |
@-webkit-keyframes rollOut {
|
2889 |
+
from {
|
2890 |
+
opacity: 1;
|
2891 |
+
}
|
2892 |
|
2893 |
+
to {
|
2894 |
+
opacity: 0;
|
2895 |
+
-webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
|
2896 |
+
transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
|
2897 |
+
}
|
2898 |
}
|
2899 |
|
2900 |
@keyframes rollOut {
|
2901 |
+
from {
|
2902 |
+
opacity: 1;
|
2903 |
+
}
|
2904 |
|
2905 |
+
to {
|
2906 |
+
opacity: 0;
|
2907 |
+
-webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
|
2908 |
+
transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
|
2909 |
+
}
|
2910 |
}
|
2911 |
|
2912 |
.rollOut {
|
2913 |
+
-webkit-animation-name: rollOut;
|
2914 |
+
animation-name: rollOut;
|
2915 |
}
|
2916 |
|
2917 |
@-webkit-keyframes zoomIn {
|
2918 |
+
from {
|
2919 |
+
opacity: 0;
|
2920 |
+
-webkit-transform: scale3d(0.3, 0.3, 0.3);
|
2921 |
+
transform: scale3d(0.3, 0.3, 0.3);
|
2922 |
+
}
|
2923 |
|
2924 |
+
50% {
|
2925 |
+
opacity: 1;
|
2926 |
+
}
|
2927 |
}
|
2928 |
|
2929 |
@keyframes zoomIn {
|
2930 |
+
from {
|
2931 |
+
opacity: 0;
|
2932 |
+
-webkit-transform: scale3d(0.3, 0.3, 0.3);
|
2933 |
+
transform: scale3d(0.3, 0.3, 0.3);
|
2934 |
+
}
|
2935 |
|
2936 |
+
50% {
|
2937 |
+
opacity: 1;
|
2938 |
+
}
|
2939 |
}
|
2940 |
|
2941 |
.zoomIn {
|
2942 |
+
-webkit-animation-name: zoomIn;
|
2943 |
+
animation-name: zoomIn;
|
2944 |
}
|
2945 |
|
2946 |
@-webkit-keyframes zoomInDown {
|
2947 |
+
from {
|
2948 |
+
opacity: 0;
|
2949 |
+
-webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
|
2950 |
+
transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
|
2951 |
+
-webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
|
2952 |
+
animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
|
2953 |
+
}
|
2954 |
+
|
2955 |
+
60% {
|
2956 |
+
opacity: 1;
|
2957 |
+
-webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
|
2958 |
+
transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
|
2959 |
+
-webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
|
2960 |
+
animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
|
2961 |
+
}
|
2962 |
}
|
2963 |
|
2964 |
@keyframes zoomInDown {
|
2965 |
+
from {
|
2966 |
+
opacity: 0;
|
2967 |
+
-webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
|
2968 |
+
transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
|
2969 |
+
-webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
|
2970 |
+
animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
|
2971 |
+
}
|
2972 |
+
|
2973 |
+
60% {
|
2974 |
+
opacity: 1;
|
2975 |
+
-webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
|
2976 |
+
transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
|
2977 |
+
-webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
|
2978 |
+
animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
|
2979 |
+
}
|
2980 |
}
|
2981 |
|
2982 |
.zoomInDown {
|
2983 |
+
-webkit-animation-name: zoomInDown;
|
2984 |
+
animation-name: zoomInDown;
|
2985 |
}
|
2986 |
|
2987 |
@-webkit-keyframes zoomInLeft {
|
2988 |
+
from {
|
2989 |
+
opacity: 0;
|
2990 |
+
-webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
|
2991 |
+
transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
|
2992 |
+
-webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
|
2993 |
+
animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
|
2994 |
+
}
|
2995 |
+
|
2996 |
+
60% {
|
2997 |
+
opacity: 1;
|
2998 |
+
-webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
|
2999 |
+
transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
|
3000 |
+
-webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
|
3001 |
+
animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
|
3002 |
+
}
|
3003 |
}
|
3004 |
|
3005 |
@keyframes zoomInLeft {
|
3006 |
+
from {
|
3007 |
+
opacity: 0;
|
3008 |
+
-webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
|
3009 |
+
transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
|
3010 |
+
-webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
|
3011 |
+
animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
|
3012 |
+
}
|
3013 |
+
|
3014 |
+
60% {
|
3015 |
+
opacity: 1;
|
3016 |
+
-webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
|
3017 |
+
transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
|
3018 |
+
-webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
|
3019 |
+
animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
|
3020 |
+
}
|
3021 |
}
|
3022 |
|
3023 |
.zoomInLeft {
|
3024 |
+
-webkit-animation-name: zoomInLeft;
|
3025 |
+
animation-name: zoomInLeft;
|
3026 |
}
|
3027 |
|
3028 |
@-webkit-keyframes zoomInRight {
|
3029 |
+
from {
|
3030 |
+
opacity: 0;
|
3031 |
+
-webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
|
3032 |
+
transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
|
3033 |
+
-webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
|
3034 |
+
animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
|
3035 |
+
}
|
3036 |
+
|
3037 |
+
60% {
|
3038 |
+
opacity: 1;
|
3039 |
+
-webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
|
3040 |
+
transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
|
3041 |
+
-webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
|
3042 |
+
animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
|
3043 |
+
}
|
3044 |
}
|
3045 |
|
3046 |
@keyframes zoomInRight {
|
3047 |
+
from {
|
3048 |
+
opacity: 0;
|
3049 |
+
-webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
|
3050 |
+
transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
|
3051 |
+
-webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
|
3052 |
+
animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
|
3053 |
+
}
|
3054 |
+
|
3055 |
+
60% {
|
3056 |
+
opacity: 1;
|
3057 |
+
-webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
|
3058 |
+
transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
|
3059 |
+
-webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
|
3060 |
+
animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
|
3061 |
+
}
|
3062 |
}
|
3063 |
|
3064 |
.zoomInRight {
|
3065 |
+
-webkit-animation-name: zoomInRight;
|
3066 |
+
animation-name: zoomInRight;
|
3067 |
}
|
3068 |
|
3069 |
@-webkit-keyframes zoomInUp {
|
3070 |
+
from {
|
3071 |
+
opacity: 0;
|
3072 |
+
-webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
|
3073 |
+
transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
|
3074 |
+
-webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
|
3075 |
+
animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
|
3076 |
+
}
|
3077 |
+
|
3078 |
+
60% {
|
3079 |
+
opacity: 1;
|
3080 |
+
-webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
|
3081 |
+
transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
|
3082 |
+
-webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
|
3083 |
+
animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
|
3084 |
+
}
|
3085 |
}
|
3086 |
|
3087 |
@keyframes zoomInUp {
|
3088 |
+
from {
|
3089 |
+
opacity: 0;
|
3090 |
+
-webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
|
3091 |
+
transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
|
3092 |
+
-webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
|
3093 |
+
animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
|
3094 |
+
}
|
3095 |
+
|
3096 |
+
60% {
|
3097 |
+
opacity: 1;
|
3098 |
+
-webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
|
3099 |
+
transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
|
3100 |
+
-webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
|
3101 |
+
animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
|
3102 |
+
}
|
3103 |
}
|
3104 |
|
3105 |
.zoomInUp {
|
3106 |
+
-webkit-animation-name: zoomInUp;
|
3107 |
+
animation-name: zoomInUp;
|
3108 |
}
|
3109 |
|
3110 |
@-webkit-keyframes zoomOut {
|
3111 |
+
from {
|
3112 |
+
opacity: 1;
|
3113 |
+
}
|
3114 |
|
3115 |
+
50% {
|
3116 |
+
opacity: 0;
|
3117 |
+
-webkit-transform: scale3d(0.3, 0.3, 0.3);
|
3118 |
+
transform: scale3d(0.3, 0.3, 0.3);
|
3119 |
+
}
|
3120 |
|
3121 |
+
to {
|
3122 |
+
opacity: 0;
|
3123 |
+
}
|
3124 |
}
|
3125 |
|
3126 |
@keyframes zoomOut {
|
3127 |
+
from {
|
3128 |
+
opacity: 1;
|
3129 |
+
}
|
3130 |
|
3131 |
+
50% {
|
3132 |
+
opacity: 0;
|
3133 |
+
-webkit-transform: scale3d(0.3, 0.3, 0.3);
|
3134 |
+
transform: scale3d(0.3, 0.3, 0.3);
|
3135 |
+
}
|
3136 |
|
3137 |
+
to {
|
3138 |
+
opacity: 0;
|
3139 |
+
}
|
3140 |
}
|
3141 |
|
3142 |
.zoomOut {
|
3143 |
+
-webkit-animation-name: zoomOut;
|
3144 |
+
animation-name: zoomOut;
|
3145 |
}
|
3146 |
|
3147 |
@-webkit-keyframes zoomOutDown {
|
3148 |
+
40% {
|
3149 |
+
opacity: 1;
|
3150 |
+
-webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
|
3151 |
+
transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
|
3152 |
+
-webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
|
3153 |
+
animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
|
3154 |
+
}
|
3155 |
+
|
3156 |
+
to {
|
3157 |
+
opacity: 0;
|
3158 |
+
-webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
|
3159 |
+
transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
|
3160 |
+
-webkit-transform-origin: center bottom;
|
3161 |
+
transform-origin: center bottom;
|
3162 |
+
-webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
|
3163 |
+
animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
|
3164 |
+
}
|
3165 |
}
|
3166 |
|
3167 |
@keyframes zoomOutDown {
|
3168 |
+
40% {
|
3169 |
+
opacity: 1;
|
3170 |
+
-webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
|
3171 |
+
transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
|
3172 |
+
-webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
|
3173 |
+
animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
|
3174 |
+
}
|
3175 |
+
|
3176 |
+
to {
|
3177 |
+
opacity: 0;
|
3178 |
+
-webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
|
3179 |
+
transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
|
3180 |
+
-webkit-transform-origin: center bottom;
|
3181 |
+
transform-origin: center bottom;
|
3182 |
+
-webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
|
3183 |
+
animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
|
3184 |
+
}
|
3185 |
}
|
3186 |
|
3187 |
.zoomOutDown {
|
3188 |
+
-webkit-animation-name: zoomOutDown;
|
3189 |
+
animation-name: zoomOutDown;
|
3190 |
}
|
3191 |
|
3192 |
@-webkit-keyframes zoomOutLeft {
|
3193 |
+
40% {
|
3194 |
+
opacity: 1;
|
3195 |
+
-webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
|
3196 |
+
transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
|
3197 |
+
}
|
3198 |
|
3199 |
+
to {
|
3200 |
+
opacity: 0;
|
3201 |
+
-webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
|
3202 |
+
transform: scale(0.1) translate3d(-2000px, 0, 0);
|
3203 |
+
-webkit-transform-origin: left center;
|
3204 |
+
transform-origin: left center;
|
3205 |
+
}
|
3206 |
}
|
3207 |
|
3208 |
@keyframes zoomOutLeft {
|
3209 |
+
40% {
|
3210 |
+
opacity: 1;
|
3211 |
+
-webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
|
3212 |
+
transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
|
3213 |
+
}
|
3214 |
|
3215 |
+
to {
|
3216 |
+
opacity: 0;
|
3217 |
+
-webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
|
3218 |
+
transform: scale(0.1) translate3d(-2000px, 0, 0);
|
3219 |
+
-webkit-transform-origin: left center;
|
3220 |
+
transform-origin: left center;
|
3221 |
+
}
|
3222 |
}
|
3223 |
|
3224 |
.zoomOutLeft {
|
3225 |
+
-webkit-animation-name: zoomOutLeft;
|
3226 |
+
animation-name: zoomOutLeft;
|
3227 |
}
|
3228 |
|
3229 |
@-webkit-keyframes zoomOutRight {
|
3230 |
+
40% {
|
3231 |
+
opacity: 1;
|
3232 |
+
-webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
|
3233 |
+
transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
|
3234 |
+
}
|
3235 |
|
3236 |
+
to {
|
3237 |
+
opacity: 0;
|
3238 |
+
-webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
|
3239 |
+
transform: scale(0.1) translate3d(2000px, 0, 0);
|
3240 |
+
-webkit-transform-origin: right center;
|
3241 |
+
transform-origin: right center;
|
3242 |
+
}
|
3243 |
}
|
3244 |
|
3245 |
@keyframes zoomOutRight {
|
3246 |
+
40% {
|
3247 |
+
opacity: 1;
|
3248 |
+
-webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
|
3249 |
+
transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
|
3250 |
+
}
|
3251 |
|
3252 |
+
to {
|
3253 |
+
opacity: 0;
|
3254 |
+
-webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
|
3255 |
+
transform: scale(0.1) translate3d(2000px, 0, 0);
|
3256 |
+
-webkit-transform-origin: right center;
|
3257 |
+
transform-origin: right center;
|
3258 |
+
}
|
3259 |
}
|
3260 |
|
3261 |
.zoomOutRight {
|
3262 |
+
-webkit-animation-name: zoomOutRight;
|
3263 |
+
animation-name: zoomOutRight;
|
3264 |
}
|
3265 |
|
3266 |
@-webkit-keyframes zoomOutUp {
|
3267 |
+
40% {
|
3268 |
+
opacity: 1;
|
3269 |
+
-webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
|
3270 |
+
transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
|
3271 |
+
-webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
|
3272 |
+
animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
|
3273 |
+
}
|
3274 |
+
|
3275 |
+
to {
|
3276 |
+
opacity: 0;
|
3277 |
+
-webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
|
3278 |
+
transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
|
3279 |
+
-webkit-transform-origin: center bottom;
|
3280 |
+
transform-origin: center bottom;
|
3281 |
+
-webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
|
3282 |
+
animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
|
3283 |
+
}
|
3284 |
}
|
3285 |
|
3286 |
@keyframes zoomOutUp {
|
3287 |
+
40% {
|
3288 |
+
opacity: 1;
|
3289 |
+
-webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
|
3290 |
+
transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
|
3291 |
+
-webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
|
3292 |
+
animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
|
3293 |
+
}
|
3294 |
+
|
3295 |
+
to {
|
3296 |
+
opacity: 0;
|
3297 |
+
-webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
|
3298 |
+
transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
|
3299 |
+
-webkit-transform-origin: center bottom;
|
3300 |
+
transform-origin: center bottom;
|
3301 |
+
-webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
|
3302 |
+
animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
|
3303 |
+
}
|
3304 |
}
|
3305 |
|
3306 |
.zoomOutUp {
|
3307 |
+
-webkit-animation-name: zoomOutUp;
|
3308 |
+
animation-name: zoomOutUp;
|
3309 |
}
|
3310 |
|
3311 |
@-webkit-keyframes slideInDown {
|
3312 |
+
from {
|
3313 |
+
-webkit-transform: translate3d(0, -100%, 0);
|
3314 |
+
transform: translate3d(0, -100%, 0);
|
3315 |
+
visibility: visible;
|
3316 |
+
}
|
3317 |
|
3318 |
+
to {
|
3319 |
+
-webkit-transform: translate3d(0, 0, 0);
|
3320 |
+
transform: translate3d(0, 0, 0);
|
3321 |
+
}
|
3322 |
}
|
3323 |
|
3324 |
@keyframes slideInDown {
|
3325 |
+
from {
|
3326 |
+
-webkit-transform: translate3d(0, -100%, 0);
|
3327 |
+
transform: translate3d(0, -100%, 0);
|
3328 |
+
visibility: visible;
|
3329 |
+
}
|
3330 |
|
3331 |
+
to {
|
3332 |
+
-webkit-transform: translate3d(0, 0, 0);
|
3333 |
+
transform: translate3d(0, 0, 0);
|
3334 |
+
}
|
3335 |
}
|
3336 |
|
3337 |
.slideInDown {
|
3338 |
+
-webkit-animation-name: slideInDown;
|
3339 |
+
animation-name: slideInDown;
|
3340 |
}
|
3341 |
|
3342 |
@-webkit-keyframes slideInLeft {
|
3343 |
+
from {
|
3344 |
+
-webkit-transform: translate3d(-100%, 0, 0);
|
3345 |
+
transform: translate3d(-100%, 0, 0);
|
3346 |
+
visibility: visible;
|
3347 |
+
}
|
3348 |
|
3349 |
+
to {
|
3350 |
+
-webkit-transform: translate3d(0, 0, 0);
|
3351 |
+
transform: translate3d(0, 0, 0);
|
3352 |
+
}
|
3353 |
}
|
3354 |
|
3355 |
@keyframes slideInLeft {
|
3356 |
+
from {
|
3357 |
+
-webkit-transform: translate3d(-100%, 0, 0);
|
3358 |
+
transform: translate3d(-100%, 0, 0);
|
3359 |
+
visibility: visible;
|
3360 |
+
}
|
3361 |
|
3362 |
+
to {
|
3363 |
+
-webkit-transform: translate3d(0, 0, 0);
|
3364 |
+
transform: translate3d(0, 0, 0);
|
3365 |
+
}
|
3366 |
}
|
3367 |
|
3368 |
.slideInLeft {
|
3369 |
+
-webkit-animation-name: slideInLeft;
|
3370 |
+
animation-name: slideInLeft;
|
3371 |
}
|
3372 |
|
3373 |
@-webkit-keyframes slideInRight {
|
3374 |
+
from {
|
3375 |
+
-webkit-transform: translate3d(100%, 0, 0);
|
3376 |
+
transform: translate3d(100%, 0, 0);
|
3377 |
+
visibility: visible;
|
3378 |
+
}
|
3379 |
|
3380 |
+
to {
|
3381 |
+
-webkit-transform: translate3d(0, 0, 0);
|
3382 |
+
transform: translate3d(0, 0, 0);
|
3383 |
+
}
|
3384 |
}
|
3385 |
|
3386 |
@keyframes slideInRight {
|
3387 |
+
from {
|
3388 |
+
-webkit-transform: translate3d(100%, 0, 0);
|
3389 |
+
transform: translate3d(100%, 0, 0);
|
3390 |
+
visibility: visible;
|
3391 |
+
}
|
3392 |
|
3393 |
+
to {
|
3394 |
+
-webkit-transform: translate3d(0, 0, 0);
|
3395 |
+
transform: translate3d(0, 0, 0);
|
3396 |
+
}
|
3397 |
}
|
3398 |
|
3399 |
.slideInRight {
|
3400 |
+
-webkit-animation-name: slideInRight;
|
3401 |
+
animation-name: slideInRight;
|
3402 |
}
|
3403 |
|
3404 |
@-webkit-keyframes slideInUp {
|
3405 |
+
from {
|
3406 |
+
-webkit-transform: translate3d(0, 100%, 0);
|
3407 |
+
transform: translate3d(0, 100%, 0);
|
3408 |
+
visibility: visible;
|
3409 |
+
}
|
3410 |
|
3411 |
+
to {
|
3412 |
+
-webkit-transform: translate3d(0, 0, 0);
|
3413 |
+
transform: translate3d(0, 0, 0);
|
3414 |
+
}
|
3415 |
}
|
3416 |
|
3417 |
@keyframes slideInUp {
|
3418 |
+
from {
|
3419 |
+
-webkit-transform: translate3d(0, 100%, 0);
|
3420 |
+
transform: translate3d(0, 100%, 0);
|
3421 |
+
visibility: visible;
|
3422 |
+
}
|
3423 |
|
3424 |
+
to {
|
3425 |
+
-webkit-transform: translate3d(0, 0, 0);
|
3426 |
+
transform: translate3d(0, 0, 0);
|
3427 |
+
}
|
3428 |
}
|
3429 |
|
3430 |
.slideInUp {
|
3431 |
+
-webkit-animation-name: slideInUp;
|
3432 |
+
animation-name: slideInUp;
|
3433 |
}
|
3434 |
|
3435 |
@-webkit-keyframes slideOutDown {
|
3436 |
+
from {
|
3437 |
+
-webkit-transform: translate3d(0, 0, 0);
|
3438 |
+
transform: translate3d(0, 0, 0);
|
3439 |
+
}
|
3440 |
|
3441 |
+
to {
|
3442 |
+
visibility: hidden;
|
3443 |
+
-webkit-transform: translate3d(0, 100%, 0);
|
3444 |
+
transform: translate3d(0, 100%, 0);
|
3445 |
+
}
|
3446 |
}
|
3447 |
|
3448 |
@keyframes slideOutDown {
|
3449 |
+
from {
|
3450 |
+
-webkit-transform: translate3d(0, 0, 0);
|
3451 |
+
transform: translate3d(0, 0, 0);
|
3452 |
+
}
|
3453 |
|
3454 |
+
to {
|
3455 |
+
visibility: hidden;
|
3456 |
+
-webkit-transform: translate3d(0, 100%, 0);
|
3457 |
+
transform: translate3d(0, 100%, 0);
|
3458 |
+
}
|
3459 |
}
|
3460 |
|
3461 |
.slideOutDown {
|
3462 |
+
-webkit-animation-name: slideOutDown;
|
3463 |
+
animation-name: slideOutDown;
|
3464 |
}
|
3465 |
|
3466 |
@-webkit-keyframes slideOutLeft {
|
3467 |
+
from {
|
3468 |
+
-webkit-transform: translate3d(0, 0, 0);
|
3469 |
+
transform: translate3d(0, 0, 0);
|
3470 |
+
}
|
3471 |
|
3472 |
+
to {
|
3473 |
+
visibility: hidden;
|
3474 |
+
-webkit-transform: translate3d(-100%, 0, 0);
|
3475 |
+
transform: translate3d(-100%, 0, 0);
|
3476 |
+
}
|
3477 |
}
|
3478 |
|
3479 |
@keyframes slideOutLeft {
|
3480 |
+
from {
|
3481 |
+
-webkit-transform: translate3d(0, 0, 0);
|
3482 |
+
transform: translate3d(0, 0, 0);
|
3483 |
+
}
|
3484 |
|
3485 |
+
to {
|
3486 |
+
visibility: hidden;
|
3487 |
+
-webkit-transform: translate3d(-100%, 0, 0);
|
3488 |
+
transform: translate3d(-100%, 0, 0);
|
3489 |
+
}
|
3490 |
}
|
3491 |
|
3492 |
.slideOutLeft {
|
3493 |
+
-webkit-animation-name: slideOutLeft;
|
3494 |
+
animation-name: slideOutLeft;
|
3495 |
}
|
3496 |
|
3497 |
@-webkit-keyframes slideOutRight {
|
3498 |
+
from {
|
3499 |
+
-webkit-transform: translate3d(0, 0, 0);
|
3500 |
+
transform: translate3d(0, 0, 0);
|
3501 |
+
}
|
3502 |
|
3503 |
+
to {
|
3504 |
+
visibility: hidden;
|
3505 |
+
-webkit-transform: translate3d(100%, 0, 0);
|
3506 |
+
transform: translate3d(100%, 0, 0);
|
3507 |
+
}
|
3508 |
}
|
3509 |
|
3510 |
@keyframes slideOutRight {
|
3511 |
+
from {
|
3512 |
+
-webkit-transform: translate3d(0, 0, 0);
|
3513 |
+
transform: translate3d(0, 0, 0);
|
3514 |
+
}
|
3515 |
|
3516 |
+
to {
|
3517 |
+
visibility: hidden;
|
3518 |
+
-webkit-transform: translate3d(100%, 0, 0);
|
3519 |
+
transform: translate3d(100%, 0, 0);
|
3520 |
+
}
|
3521 |
}
|
3522 |
|
3523 |
.slideOutRight {
|
3524 |
+
-webkit-animation-name: slideOutRight;
|
3525 |
+
animation-name: slideOutRight;
|
3526 |
}
|
3527 |
|
3528 |
@-webkit-keyframes slideOutUp {
|
3529 |
+
from {
|
3530 |
+
-webkit-transform: translate3d(0, 0, 0);
|
3531 |
+
transform: translate3d(0, 0, 0);
|
3532 |
+
}
|
3533 |
|
3534 |
+
to {
|
3535 |
+
visibility: hidden;
|
3536 |
+
-webkit-transform: translate3d(0, -100%, 0);
|
3537 |
+
transform: translate3d(0, -100%, 0);
|
3538 |
+
}
|
3539 |
}
|
3540 |
|
3541 |
@keyframes slideOutUp {
|
3542 |
+
from {
|
3543 |
+
-webkit-transform: translate3d(0, 0, 0);
|
3544 |
+
transform: translate3d(0, 0, 0);
|
3545 |
+
}
|
3546 |
|
3547 |
+
to {
|
3548 |
+
visibility: hidden;
|
3549 |
+
-webkit-transform: translate3d(0, -100%, 0);
|
3550 |
+
transform: translate3d(0, -100%, 0);
|
3551 |
+
}
|
3552 |
}
|
3553 |
|
3554 |
.slideOutUp {
|
3555 |
+
-webkit-animation-name: slideOutUp;
|
3556 |
+
animation-name: slideOutUp;
|
3557 |
+
}
|
3558 |
+
|
3559 |
+
.animated {
|
3560 |
+
-webkit-animation-duration: 1s;
|
3561 |
+
animation-duration: 1s;
|
3562 |
+
-webkit-animation-fill-mode: both;
|
3563 |
+
animation-fill-mode: both;
|
3564 |
+
}
|
3565 |
+
|
3566 |
+
.animated.infinite {
|
3567 |
+
-webkit-animation-iteration-count: infinite;
|
3568 |
+
animation-iteration-count: infinite;
|
3569 |
+
}
|
3570 |
+
|
3571 |
+
.animated.delay-1s {
|
3572 |
+
-webkit-animation-delay: 1s;
|
3573 |
+
animation-delay: 1s;
|
3574 |
+
}
|
3575 |
+
|
3576 |
+
.animated.delay-2s {
|
3577 |
+
-webkit-animation-delay: 2s;
|
3578 |
+
animation-delay: 2s;
|
3579 |
+
}
|
3580 |
+
|
3581 |
+
.animated.delay-3s {
|
3582 |
+
-webkit-animation-delay: 3s;
|
3583 |
+
animation-delay: 3s;
|
3584 |
+
}
|
3585 |
+
|
3586 |
+
.animated.delay-4s {
|
3587 |
+
-webkit-animation-delay: 4s;
|
3588 |
+
animation-delay: 4s;
|
3589 |
+
}
|
3590 |
+
|
3591 |
+
.animated.delay-5s {
|
3592 |
+
-webkit-animation-delay: 5s;
|
3593 |
+
animation-delay: 5s;
|
3594 |
+
}
|
3595 |
+
|
3596 |
+
.animated.fast {
|
3597 |
+
-webkit-animation-duration: 800ms;
|
3598 |
+
animation-duration: 800ms;
|
3599 |
+
}
|
3600 |
+
|
3601 |
+
.animated.faster {
|
3602 |
+
-webkit-animation-duration: 500ms;
|
3603 |
+
animation-duration: 500ms;
|
3604 |
+
}
|
3605 |
+
|
3606 |
+
.animated.slow {
|
3607 |
+
-webkit-animation-duration: 2s;
|
3608 |
+
animation-duration: 2s;
|
3609 |
+
}
|
3610 |
+
|
3611 |
+
.animated.slower {
|
3612 |
+
-webkit-animation-duration: 3s;
|
3613 |
+
animation-duration: 3s;
|
3614 |
+
}
|
3615 |
+
|
3616 |
+
@media (print), (prefers-reduced-motion) {
|
3617 |
+
.animated {
|
3618 |
+
-webkit-animation: unset !important;
|
3619 |
+
animation: unset !important;
|
3620 |
+
-webkit-transition: none !important;
|
3621 |
+
transition: none !important;
|
3622 |
+
}
|
3623 |
}
|
css/animate.min.css
CHANGED
@@ -1,6 +1,11 @@
|
|
1 |
-
@charset "UTF-8"
|
2 |
-
Animate.css - http://daneden.me/animate
|
3 |
-
Licensed under the MIT license - http://opensource.org/licenses/MIT
|
4 |
|
5 |
-
|
6 |
-
*/.animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.hinge{-webkit-animation-duration:2s;animation-duration:2s}@-webkit-keyframes bounce{0%,100%,20%,53%,80%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}40%,43%{-webkit-transition-timing-function:cubic-bezier(0.755,.050,.855,.060);transition-timing-function:cubic-bezier(0.755,.050,.855,.060);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-transition-timing-function:cubic-bezier(0.755,.050,.855,.060);transition-timing-function:cubic-bezier(0.755,.050,.855,.060);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}@keyframes bounce{0%,100%,20%,53%,80%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}40%,43%{-webkit-transition-timing-function:cubic-bezier(0.755,.050,.855,.060);transition-timing-function:cubic-bezier(0.755,.050,.855,.060);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-transition-timing-function:cubic-bezier(0.755,.050,.855,.060);transition-timing-function:cubic-bezier(0.755,.050,.855,.060);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;-ms-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{0%,100%,50%{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,100%,50%{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes pulse{0%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{0%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(0.75,1.25,1);transform:scale3d(0.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes rubberBand{0%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(0.75,1.25,1);transform:scale3d(0.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{0%,100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shake{0%,100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes swing{20%{-webkit-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}40%{-webkit-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}60%{-webkit-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}80%{-webkit-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}100%{-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg)}}@keyframes swing{20%{-webkit-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}40%{-webkit-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}60%{-webkit-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}80%{-webkit-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}100%{-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg)}}.swing{-webkit-transform-origin:top center;-ms-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{0%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes tada{0%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}100%{-webkit-transform:none;transform:none}}@keyframes wobble{0%{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}100%{-webkit-transform:none;transform:none}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes bounceIn{0%,100%,20%,40%,60%,80%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes bounceIn{0%,100%,20%,40%,60%,80%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.bounceIn{-webkit-animation-name:bounceIn;animation-name:bounceIn;-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes bounceInDown{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}100%{-webkit-transform:none;transform:none}}@keyframes bounceInDown{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}100%{-webkit-transform:none;transform:none}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}100%{-webkit-transform:none;transform:none}}@keyframes bounceInLeft{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}100%{-webkit-transform:none;transform:none}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}100%{-webkit-transform:none;transform:none}}@keyframes bounceInRight{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}100%{-webkit-transform:none;transform:none}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes bounceInUp{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}100%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}100%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}.bounceOut{-webkit-animation-name:bounceOut;animation-name:bounceOut;-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}100%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}100%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}100%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}100%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}100%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}100%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}100%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}100%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-360deg);transform:perspective(400px) rotate3d(0,1,0,-360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{0%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-360deg);transform:perspective(400px) rotate3d(0,1,0,-360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animated.flip{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInX{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{0%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}.flipOutX{-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}.flipOutY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY;-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}100%{-webkit-transform:none;transform:none;opacity:1}}@keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}100%{-webkit-transform:none;transform:none;opacity:1}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{0%{opacity:1}100%{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}@keyframes lightSpeedOut{0%{opacity:1}100%{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,-200deg);transform:rotate3d(0,0,1,-200deg);opacity:0}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateIn{0%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,-200deg);transform:rotate3d(0,0,1,-200deg);opacity:0}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-90deg);transform:rotate3d(0,0,1,-90deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-90deg);transform:rotate3d(0,0,1,-90deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{0%{-webkit-transform-origin:center;transform-origin:center;opacity:1}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,200deg);transform:rotate3d(0,0,1,200deg);opacity:0}}@keyframes rotateOut{0%{-webkit-transform-origin:center;transform-origin:center;opacity:1}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,200deg);transform:rotate3d(0,0,1,200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}}@keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}@keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}@keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,90deg);transform:rotate3d(0,0,1,90deg);opacity:0}}@keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,90deg);transform:rotate3d(0,0,1,90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0,0,1,80deg);transform:rotate3d(0,0,1,80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0,0,1,60deg);transform:rotate3d(0,0,1,60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}100%{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0,0,1,80deg);transform:rotate3d(0,0,1,80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0,0,1,60deg);transform:rotate3d(0,0,1,60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}100%{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.hinge{-webkit-animation-name:hinge;animation-name:hinge}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}100%{opacity:1;-webkit-transform:none;transform:none}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg);transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}@keyframes rollOut{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg);transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}100%{opacity:0}}@keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}100%{opacity:0}}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}100%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}100%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}100%{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}100%{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}100%{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}100%{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}100%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}100%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp}@-webkit-keyframes slideInDown{0%{-webkit-transform:translateY(-100%);transform:translateY(-100%);visibility:visible}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideInDown{0%{-webkit-transform:translateY(-100%);transform:translateY(-100%);visibility:visible}100%{-webkit-transform:translateY(0);transform:translateY(0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%);visibility:visible}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInLeft{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%);visibility:visible}100%{-webkit-transform:translateX(0);transform:translateX(0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{-webkit-transform:translateX(100%);transform:translateX(100%);visibility:visible}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInRight{0%{-webkit-transform:translateX(100%);transform:translateX(100%);visibility:visible}100%{-webkit-transform:translateX(0);transform:translateX(0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{0%{-webkit-transform:translateY(100%);transform:translateY(100%);visibility:visible}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideInUp{0%{-webkit-transform:translateY(100%);transform:translateY(100%);visibility:visible}100%{-webkit-transform:translateY(0);transform:translateY(0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{visibility:hidden;-webkit-transform:translateY(100%);transform:translateY(100%)}}@keyframes slideOutDown{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{visibility:hidden;-webkit-transform:translateY(100%);transform:translateY(100%)}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{visibility:hidden;-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes slideOutLeft{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{visibility:hidden;-webkit-transform:translateX(-100%);transform:translateX(-100%)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{visibility:hidden;-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes slideOutRight{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{visibility:hidden;-webkit-transform:translateX(100%);transform:translateX(100%)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{visibility:hidden;-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@keyframes slideOutUp{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{visibility:hidden;-webkit-transform:translateY(-100%);transform:translateY(-100%)}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
@charset "UTF-8";
|
|
|
|
|
2 |
|
3 |
+
/*!
|
4 |
+
* animate.css -http://daneden.me/animate
|
5 |
+
* Version - 3.7.0
|
6 |
+
* Licensed under the MIT license - http://opensource.org/licenses/MIT
|
7 |
+
*
|
8 |
+
* Copyright (c) 2018 Daniel Eden
|
9 |
+
*/
|
10 |
+
|
11 |
+
@-webkit-keyframes bounce{0%,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);animation-timing-function:cubic-bezier(.215,.61,.355,1);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0);animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0);animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}@keyframes bounce{0%,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);animation-timing-function:cubic-bezier(.215,.61,.355,1);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0);animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0);animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}.bounce{-webkit-animation-name:bounce;-webkit-transform-origin:center bottom;animation-name:bounce;transform-origin:center bottom}@-webkit-keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shake{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}.headShake{-webkit-animation-name:headShake;-webkit-animation-timing-function:ease-in-out;animation-name:headShake;animation-timing-function:ease-in-out}@-webkit-keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}.swing{-webkit-animation-name:swing;-webkit-transform-origin:top center;animation-name:swing;transform-origin:top center}@-webkit-keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}@keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}.jello{-webkit-animation-name:jello;-webkit-transform-origin:center;animation-name:jello;transform-origin:center}@-webkit-keyframes heartBeat{0%{-webkit-transform:scale(1);transform:scale(1)}14%{-webkit-transform:scale(1.3);transform:scale(1.3)}28%{-webkit-transform:scale(1);transform:scale(1)}42%{-webkit-transform:scale(1.3);transform:scale(1.3)}70%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes heartBeat{0%{-webkit-transform:scale(1);transform:scale(1)}14%{-webkit-transform:scale(1.3);transform:scale(1.3)}28%{-webkit-transform:scale(1);transform:scale(1)}42%{-webkit-transform:scale(1.3);transform:scale(1.3)}70%{-webkit-transform:scale(1);transform:scale(1)}}.heartBeat{-webkit-animation-duration:1.3s;-webkit-animation-name:heartBeat;-webkit-animation-timing-function:ease-in-out;animation-duration:1.3s;animation-name:heartBeat;animation-timing-function:ease-in-out}@-webkit-keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:scale3d(.3,.3,.3);opacity:0;transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{-webkit-transform:scale3d(1.03,1.03,1.03);opacity:1;transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{-webkit-transform:scaleX(1);opacity:1;transform:scaleX(1)}}@keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:scale3d(.3,.3,.3);opacity:0;transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{-webkit-transform:scale3d(1.03,1.03,1.03);opacity:1;transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{-webkit-transform:scaleX(1);opacity:1;transform:scaleX(1)}}.bounceIn{-webkit-animation-duration:.75s;-webkit-animation-name:bounceIn;animation-duration:.75s;animation-name:bounceIn}@-webkit-keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:translate3d(0,-3000px,0);opacity:0;transform:translate3d(0,-3000px,0)}60%{-webkit-transform:translate3d(0,25px,0);opacity:1;transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:translate3d(0,-3000px,0);opacity:0;transform:translate3d(0,-3000px,0)}60%{-webkit-transform:translate3d(0,25px,0);opacity:1;transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:translate3d(-3000px,0,0);opacity:0;transform:translate3d(-3000px,0,0)}60%{-webkit-transform:translate3d(25px,0,0);opacity:1;transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:translate3d(-3000px,0,0);opacity:0;transform:translate3d(-3000px,0,0)}60%{-webkit-transform:translate3d(25px,0,0);opacity:1;transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:translate3d(3000px,0,0);opacity:0;transform:translate3d(3000px,0,0)}60%{-webkit-transform:translate3d(-25px,0,0);opacity:1;transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:translate3d(3000px,0,0);opacity:0;transform:translate3d(3000px,0,0)}60%{-webkit-transform:translate3d(-25px,0,0);opacity:1;transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:translate3d(0,3000px,0);opacity:0;transform:translate3d(0,3000px,0)}60%{-webkit-transform:translate3d(0,-20px,0);opacity:1;transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:translate3d(0,3000px,0);opacity:0;transform:translate3d(0,3000px,0)}60%{-webkit-transform:translate3d(0,-20px,0);opacity:1;transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{-webkit-transform:scale3d(1.1,1.1,1.1);opacity:1;transform:scale3d(1.1,1.1,1.1)}to{-webkit-transform:scale3d(.3,.3,.3);opacity:0;transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{-webkit-transform:scale3d(1.1,1.1,1.1);opacity:1;transform:scale3d(1.1,1.1,1.1)}to{-webkit-transform:scale3d(.3,.3,.3);opacity:0;transform:scale3d(.3,.3,.3)}}.bounceOut{-webkit-animation-duration:.75s;-webkit-animation-name:bounceOut;animation-duration:.75s;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{-webkit-transform:translate3d(0,-20px,0);opacity:1;transform:translate3d(0,-20px,0)}to{-webkit-transform:translate3d(0,2000px,0);opacity:0;transform:translate3d(0,2000px,0)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{-webkit-transform:translate3d(0,-20px,0);opacity:1;transform:translate3d(0,-20px,0)}to{-webkit-transform:translate3d(0,2000px,0);opacity:0;transform:translate3d(0,2000px,0)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{-webkit-transform:translate3d(20px,0,0);opacity:1;transform:translate3d(20px,0,0)}to{-webkit-transform:translate3d(-2000px,0,0);opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes bounceOutLeft{20%{-webkit-transform:translate3d(20px,0,0);opacity:1;transform:translate3d(20px,0,0)}to{-webkit-transform:translate3d(-2000px,0,0);opacity:0;transform:translate3d(-2000px,0,0)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{-webkit-transform:translate3d(-20px,0,0);opacity:1;transform:translate3d(-20px,0,0)}to{-webkit-transform:translate3d(2000px,0,0);opacity:0;transform:translate3d(2000px,0,0)}}@keyframes bounceOutRight{20%{-webkit-transform:translate3d(-20px,0,0);opacity:1;transform:translate3d(-20px,0,0)}to{-webkit-transform:translate3d(2000px,0,0);opacity:0;transform:translate3d(2000px,0,0)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{-webkit-transform:translate3d(0,20px,0);opacity:1;transform:translate3d(0,20px,0)}to{-webkit-transform:translate3d(0,-2000px,0);opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{-webkit-transform:translate3d(0,20px,0);opacity:1;transform:translate3d(0,20px,0)}to{-webkit-transform:translate3d(0,-2000px,0);opacity:0;transform:translate3d(0,-2000px,0)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{-webkit-transform:translate3d(0,-100%,0);opacity:0;transform:translate3d(0,-100%,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes fadeInDown{0%{-webkit-transform:translate3d(0,-100%,0);opacity:0;transform:translate3d(0,-100%,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{-webkit-transform:translate3d(0,-2000px,0);opacity:0;transform:translate3d(0,-2000px,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes fadeInDownBig{0%{-webkit-transform:translate3d(0,-2000px,0);opacity:0;transform:translate3d(0,-2000px,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{-webkit-transform:translate3d(-100%,0,0);opacity:0;transform:translate3d(-100%,0,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes fadeInLeft{0%{-webkit-transform:translate3d(-100%,0,0);opacity:0;transform:translate3d(-100%,0,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{-webkit-transform:translate3d(-2000px,0,0);opacity:0;transform:translate3d(-2000px,0,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes fadeInLeftBig{0%{-webkit-transform:translate3d(-2000px,0,0);opacity:0;transform:translate3d(-2000px,0,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{-webkit-transform:translate3d(100%,0,0);opacity:0;transform:translate3d(100%,0,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes fadeInRight{0%{-webkit-transform:translate3d(100%,0,0);opacity:0;transform:translate3d(100%,0,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{-webkit-transform:translate3d(2000px,0,0);opacity:0;transform:translate3d(2000px,0,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes fadeInRightBig{0%{-webkit-transform:translate3d(2000px,0,0);opacity:0;transform:translate3d(2000px,0,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{-webkit-transform:translate3d(0,100%,0);opacity:0;transform:translate3d(0,100%,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes fadeInUp{0%{-webkit-transform:translate3d(0,100%,0);opacity:0;transform:translate3d(0,100%,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{-webkit-transform:translate3d(0,2000px,0);opacity:0;transform:translate3d(0,2000px,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes fadeInUpBig{0%{-webkit-transform:translate3d(0,2000px,0);opacity:0;transform:translate3d(0,2000px,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1}to{-webkit-transform:translate3d(0,100%,0);opacity:0;transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{0%{opacity:1}to{-webkit-transform:translate3d(0,100%,0);opacity:0;transform:translate3d(0,100%,0)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1}to{-webkit-transform:translate3d(0,2000px,0);opacity:0;transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{0%{opacity:1}to{-webkit-transform:translate3d(0,2000px,0);opacity:0;transform:translate3d(0,2000px,0)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1}to{-webkit-transform:translate3d(-100%,0,0);opacity:0;transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{0%{opacity:1}to{-webkit-transform:translate3d(-100%,0,0);opacity:0;transform:translate3d(-100%,0,0)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1}to{-webkit-transform:translate3d(-2000px,0,0);opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{0%{opacity:1}to{-webkit-transform:translate3d(-2000px,0,0);opacity:0;transform:translate3d(-2000px,0,0)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0);opacity:0;transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0);opacity:0;transform:translate3d(100%,0,0)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1}to{-webkit-transform:translate3d(2000px,0,0);opacity:0;transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{0%{opacity:1}to{-webkit-transform:translate3d(2000px,0,0);opacity:0;transform:translate3d(2000px,0,0)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1}to{-webkit-transform:translate3d(0,-100%,0);opacity:0;transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{0%{opacity:1}to{-webkit-transform:translate3d(0,-100%,0);opacity:0;transform:translate3d(0,-100%,0)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1}to{-webkit-transform:translate3d(0,-2000px,0);opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{0%{opacity:1}to{-webkit-transform:translate3d(0,-2000px,0);opacity:0;transform:translate3d(0,-2000px,0)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{0%{-webkit-animation-timing-function:ease-out;-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);animation-timing-function:ease-out;transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn)}40%{-webkit-animation-timing-function:ease-out;-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);animation-timing-function:ease-out;transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg)}50%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);animation-timing-function:ease-in;transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg)}80%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);animation-timing-function:ease-in;transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg)}to{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);animation-timing-function:ease-in;transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg)}}@keyframes flip{0%{-webkit-animation-timing-function:ease-out;-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);animation-timing-function:ease-out;transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn)}40%{-webkit-animation-timing-function:ease-out;-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);animation-timing-function:ease-out;transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg)}50%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);animation-timing-function:ease-in;transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg)}80%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);animation-timing-function:ease-in;transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg)}to{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);animation-timing-function:ease-in;transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg)}}.animated.flip{-webkit-animation-name:flip;-webkit-backface-visibility:visible;animation-name:flip;backface-visibility:visible}@-webkit-keyframes flipInX{0%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateX(90deg)}40%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in;transform:perspective(400px) rotateX(-20deg)}60%{-webkit-transform:perspective(400px) rotateX(10deg);opacity:1;transform:perspective(400px) rotateX(10deg)}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateX(90deg)}40%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in;transform:perspective(400px) rotateX(-20deg)}60%{-webkit-transform:perspective(400px) rotateX(10deg);opacity:1;transform:perspective(400px) rotateX(10deg)}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInX{-webkit-animation-name:flipInX;-webkit-backface-visibility:visible!important;animation-name:flipInX;backface-visibility:visible!important}@-webkit-keyframes flipInY{0%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateY(90deg);animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateY(90deg)}40%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateY(-20deg);animation-timing-function:ease-in;transform:perspective(400px) rotateY(-20deg)}60%{-webkit-transform:perspective(400px) rotateY(10deg);opacity:1;transform:perspective(400px) rotateY(10deg)}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{0%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateY(90deg);animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateY(90deg)}40%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateY(-20deg);animation-timing-function:ease-in;transform:perspective(400px) rotateY(-20deg)}60%{-webkit-transform:perspective(400px) rotateY(10deg);opacity:1;transform:perspective(400px) rotateY(10deg)}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInY{-webkit-animation-name:flipInY;-webkit-backface-visibility:visible!important;animation-name:flipInY;backface-visibility:visible!important}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);opacity:1;transform:perspective(400px) rotateX(-20deg)}to{-webkit-transform:perspective(400px) rotateX(90deg);opacity:0;transform:perspective(400px) rotateX(90deg)}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);opacity:1;transform:perspective(400px) rotateX(-20deg)}to{-webkit-transform:perspective(400px) rotateX(90deg);opacity:0;transform:perspective(400px) rotateX(90deg)}}.flipOutX{-webkit-animation-duration:.75s;-webkit-animation-name:flipOutX;-webkit-backface-visibility:visible!important;animation-duration:.75s;animation-name:flipOutX;backface-visibility:visible!important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);opacity:1;transform:perspective(400px) rotateY(-15deg)}to{-webkit-transform:perspective(400px) rotateY(90deg);opacity:0;transform:perspective(400px) rotateY(90deg)}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);opacity:1;transform:perspective(400px) rotateY(-15deg)}to{-webkit-transform:perspective(400px) rotateY(90deg);opacity:0;transform:perspective(400px) rotateY(90deg)}}.flipOutY{-webkit-animation-duration:.75s;-webkit-animation-name:flipOutY;-webkit-backface-visibility:visible!important;animation-duration:.75s;animation-name:flipOutY;backface-visibility:visible!important}@-webkit-keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);opacity:0;transform:translate3d(100%,0,0) skewX(-30deg)}60%{-webkit-transform:skewX(20deg);opacity:1;transform:skewX(20deg)}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);opacity:0;transform:translate3d(100%,0,0) skewX(-30deg)}60%{-webkit-transform:skewX(20deg);opacity:1;transform:skewX(20deg)}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-name:lightSpeedIn;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);opacity:0;transform:translate3d(100%,0,0) skewX(30deg)}}@keyframes lightSpeedOut{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);opacity:0;transform:translate3d(100%,0,0) skewX(30deg)}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-name:lightSpeedOut;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{-webkit-transform:rotate(-200deg);-webkit-transform-origin:center;opacity:0;transform:rotate(-200deg);transform-origin:center}to{-webkit-transform:translateZ(0);-webkit-transform-origin:center;opacity:1;transform:translateZ(0);transform-origin:center}}@keyframes rotateIn{0%{-webkit-transform:rotate(-200deg);-webkit-transform-origin:center;opacity:0;transform:rotate(-200deg);transform-origin:center}to{-webkit-transform:translateZ(0);-webkit-transform-origin:center;opacity:1;transform:translateZ(0);transform-origin:center}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform:rotate(-45deg);-webkit-transform-origin:left bottom;opacity:0;transform:rotate(-45deg);transform-origin:left bottom}to{-webkit-transform:translateZ(0);-webkit-transform-origin:left bottom;opacity:1;transform:translateZ(0);transform-origin:left bottom}}@keyframes rotateInDownLeft{0%{-webkit-transform:rotate(-45deg);-webkit-transform-origin:left bottom;opacity:0;transform:rotate(-45deg);transform-origin:left bottom}to{-webkit-transform:translateZ(0);-webkit-transform-origin:left bottom;opacity:1;transform:translateZ(0);transform-origin:left bottom}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform:rotate(45deg);-webkit-transform-origin:right bottom;opacity:0;transform:rotate(45deg);transform-origin:right bottom}to{-webkit-transform:translateZ(0);-webkit-transform-origin:right bottom;opacity:1;transform:translateZ(0);transform-origin:right bottom}}@keyframes rotateInDownRight{0%{-webkit-transform:rotate(45deg);-webkit-transform-origin:right bottom;opacity:0;transform:rotate(45deg);transform-origin:right bottom}to{-webkit-transform:translateZ(0);-webkit-transform-origin:right bottom;opacity:1;transform:translateZ(0);transform-origin:right bottom}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform:rotate(45deg);-webkit-transform-origin:left bottom;opacity:0;transform:rotate(45deg);transform-origin:left bottom}to{-webkit-transform:translateZ(0);-webkit-transform-origin:left bottom;opacity:1;transform:translateZ(0);transform-origin:left bottom}}@keyframes rotateInUpLeft{0%{-webkit-transform:rotate(45deg);-webkit-transform-origin:left bottom;opacity:0;transform:rotate(45deg);transform-origin:left bottom}to{-webkit-transform:translateZ(0);-webkit-transform-origin:left bottom;opacity:1;transform:translateZ(0);transform-origin:left bottom}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform:rotate(-90deg);-webkit-transform-origin:right bottom;opacity:0;transform:rotate(-90deg);transform-origin:right bottom}to{-webkit-transform:translateZ(0);-webkit-transform-origin:right bottom;opacity:1;transform:translateZ(0);transform-origin:right bottom}}@keyframes rotateInUpRight{0%{-webkit-transform:rotate(-90deg);-webkit-transform-origin:right bottom;opacity:0;transform:rotate(-90deg);transform-origin:right bottom}to{-webkit-transform:translateZ(0);-webkit-transform-origin:right bottom;opacity:1;transform:translateZ(0);transform-origin:right bottom}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{0%{-webkit-transform-origin:center;opacity:1;transform-origin:center}to{-webkit-transform:rotate(200deg);-webkit-transform-origin:center;opacity:0;transform:rotate(200deg);transform-origin:center}}@keyframes rotateOut{0%{-webkit-transform-origin:center;opacity:1;transform-origin:center}to{-webkit-transform:rotate(200deg);-webkit-transform-origin:center;opacity:0;transform:rotate(200deg);transform-origin:center}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;opacity:1;transform-origin:left bottom}to{-webkit-transform:rotate(45deg);-webkit-transform-origin:left bottom;opacity:0;transform:rotate(45deg);transform-origin:left bottom}}@keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;opacity:1;transform-origin:left bottom}to{-webkit-transform:rotate(45deg);-webkit-transform-origin:left bottom;opacity:0;transform:rotate(45deg);transform-origin:left bottom}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;opacity:1;transform-origin:right bottom}to{-webkit-transform:rotate(-45deg);-webkit-transform-origin:right bottom;opacity:0;transform:rotate(-45deg);transform-origin:right bottom}}@keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;opacity:1;transform-origin:right bottom}to{-webkit-transform:rotate(-45deg);-webkit-transform-origin:right bottom;opacity:0;transform:rotate(-45deg);transform-origin:right bottom}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;opacity:1;transform-origin:left bottom}to{-webkit-transform:rotate(-45deg);-webkit-transform-origin:left bottom;opacity:0;transform:rotate(-45deg);transform-origin:left bottom}}@keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;opacity:1;transform-origin:left bottom}to{-webkit-transform:rotate(-45deg);-webkit-transform-origin:left bottom;opacity:0;transform:rotate(-45deg);transform-origin:left bottom}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;opacity:1;transform-origin:right bottom}to{-webkit-transform:rotate(90deg);-webkit-transform-origin:right bottom;opacity:0;transform:rotate(90deg);transform-origin:right bottom}}@keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;opacity:1;transform-origin:right bottom}to{-webkit-transform:rotate(90deg);-webkit-transform-origin:right bottom;opacity:0;transform:rotate(90deg);transform-origin:right bottom}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes hinge{0%{-webkit-animation-timing-function:ease-in-out;-webkit-transform-origin:top left;animation-timing-function:ease-in-out;transform-origin:top left}20%,60%{-webkit-animation-timing-function:ease-in-out;-webkit-transform:rotate(80deg);-webkit-transform-origin:top left;animation-timing-function:ease-in-out;transform:rotate(80deg);transform-origin:top left}40%,80%{-webkit-animation-timing-function:ease-in-out;-webkit-transform:rotate(60deg);-webkit-transform-origin:top left;animation-timing-function:ease-in-out;opacity:1;transform:rotate(60deg);transform-origin:top left}to{-webkit-transform:translate3d(0,700px,0);opacity:0;transform:translate3d(0,700px,0)}}@keyframes hinge{0%{-webkit-animation-timing-function:ease-in-out;-webkit-transform-origin:top left;animation-timing-function:ease-in-out;transform-origin:top left}20%,60%{-webkit-animation-timing-function:ease-in-out;-webkit-transform:rotate(80deg);-webkit-transform-origin:top left;animation-timing-function:ease-in-out;transform:rotate(80deg);transform-origin:top left}40%,80%{-webkit-animation-timing-function:ease-in-out;-webkit-transform:rotate(60deg);-webkit-transform-origin:top left;animation-timing-function:ease-in-out;opacity:1;transform:rotate(60deg);transform-origin:top left}to{-webkit-transform:translate3d(0,700px,0);opacity:0;transform:translate3d(0,700px,0)}}.hinge{-webkit-animation-duration:2s;-webkit-animation-name:hinge;animation-duration:2s;animation-name:hinge}@-webkit-keyframes jackInTheBox{0%{-webkit-transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;opacity:0;transform:scale(.1) rotate(30deg);transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{-webkit-transform:scale(1);opacity:1;transform:scale(1)}}@keyframes jackInTheBox{0%{-webkit-transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;opacity:0;transform:scale(.1) rotate(30deg);transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{-webkit-transform:scale(1);opacity:1;transform:scale(1)}}.jackInTheBox{-webkit-animation-name:jackInTheBox;animation-name:jackInTheBox}@-webkit-keyframes rollIn{0%{-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);opacity:0;transform:translate3d(-100%,0,0) rotate(-120deg)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes rollIn{0%{-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);opacity:0;transform:translate3d(-100%,0,0) rotate(-120deg)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) rotate(120deg);opacity:0;transform:translate3d(100%,0,0) rotate(120deg)}}@keyframes rollOut{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) rotate(120deg);opacity:0;transform:translate3d(100%,0,0) rotate(120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{0%{-webkit-transform:scale3d(.3,.3,.3);opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{0%{-webkit-transform:scale3d(.3,.3,.3);opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,60px,0)}}@keyframes zoomInDown{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,60px,0)}}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(10px,0,0)}}@keyframes zoomInLeft{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(10px,0,0)}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(1000px,0,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(-10px,0,0)}}@keyframes zoomInRight{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(1000px,0,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(-10px,0,0)}}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,1000px,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,-60px,0)}}@keyframes zoomInUp{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,1000px,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,-60px,0)}}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{0%{opacity:1}50%{-webkit-transform:scale3d(.3,.3,.3);opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes zoomOut{0%{opacity:1}50%{-webkit-transform:scale3d(.3,.3,.3);opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,-60px,0)}to{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform-origin:center bottom}}@keyframes zoomOutDown{40%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,-60px,0)}to{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform-origin:center bottom}}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown}@-webkit-keyframes zoomOutLeft{40%{-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);opacity:1;transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{-webkit-transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;opacity:0;transform:scale(.1) translate3d(-2000px,0,0);transform-origin:left center}}@keyframes zoomOutLeft{40%{-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);opacity:1;transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{-webkit-transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;opacity:0;transform:scale(.1) translate3d(-2000px,0,0);transform-origin:left center}}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft}@-webkit-keyframes zoomOutRight{40%{-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);opacity:1;transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{-webkit-transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;opacity:0;transform:scale(.1) translate3d(2000px,0,0);transform-origin:right center}}@keyframes zoomOutRight{40%{-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);opacity:1;transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{-webkit-transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;opacity:0;transform:scale(.1) translate3d(2000px,0,0);transform-origin:right center}}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight}@-webkit-keyframes zoomOutUp{40%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,60px,0)}to{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform-origin:center bottom}}@keyframes zoomOutUp{40%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,60px,0)}to{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform-origin:center bottom}}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp}@-webkit-keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:hidden}}@keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:hidden}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:hidden}}@keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:hidden}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:hidden}}@keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:hidden}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:hidden}}@keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:hidden}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}.animated{-webkit-animation-duration:1s;-webkit-animation-fill-mode:both;animation-duration:1s;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.delay-1s{-webkit-animation-delay:1s;animation-delay:1s}.animated.delay-2s{-webkit-animation-delay:2s;animation-delay:2s}.animated.delay-3s{-webkit-animation-delay:3s;animation-delay:3s}.animated.delay-4s{-webkit-animation-delay:4s;animation-delay:4s}.animated.delay-5s{-webkit-animation-delay:5s;animation-delay:5s}.animated.fast{-webkit-animation-duration:.8s;animation-duration:.8s}.animated.faster{-webkit-animation-duration:.5s;animation-duration:.5s}.animated.slow{-webkit-animation-duration:2s;animation-duration:2s}.animated.slower{-webkit-animation-duration:3s;animation-duration:3s}@media (prefers-reduced-motion),(print){.animated{-webkit-animation:unset!important;-webkit-transition:none!important;animation:unset!important;transition:none!important}}
|
css/chosen/_notes/dwsync.xml
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
<?xml version="1.0" encoding="utf-8" ?>
|
|
css/chosen/chosen-sprite.png
CHANGED
File without changes
|
css/chosen/chosen-sprite@2x.png
CHANGED
File without changes
|
css/chosen/chosen.css
CHANGED
@@ -2,9 +2,9 @@
|
|
2 |
Chosen, a Select Box Enhancer for jQuery and Prototype
|
3 |
by Patrick Filler for Harvest, http://getharvest.com
|
4 |
|
5 |
-
Version 1.
|
6 |
Full source at https://github.com/harvesthq/chosen
|
7 |
-
Copyright (c) 2011-
|
8 |
|
9 |
MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md
|
10 |
This file is generated by `grunt build`, do not edit it by hand.
|
@@ -16,35 +16,57 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
16 |
display: inline-block;
|
17 |
vertical-align: middle;
|
18 |
font-size: 13px;
|
19 |
-
zoom: 1;
|
20 |
-
*display: inline;
|
21 |
-webkit-user-select: none;
|
22 |
-
|
23 |
-
|
|
|
24 |
}
|
|
|
25 |
.chosen-container * {
|
26 |
-webkit-box-sizing: border-box;
|
27 |
-
|
28 |
-
box-sizing: border-box;
|
29 |
}
|
|
|
30 |
.chosen-container .chosen-drop {
|
31 |
position: absolute;
|
32 |
top: 100%;
|
33 |
-
left: -9999px;
|
34 |
z-index: 1010;
|
35 |
width: 100%;
|
36 |
border: 1px solid #aaa;
|
37 |
border-top: 0;
|
38 |
background: #fff;
|
39 |
-
box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);
|
|
|
|
|
|
|
|
|
40 |
}
|
|
|
41 |
.chosen-container.chosen-with-drop .chosen-drop {
|
42 |
-
|
|
|
|
|
43 |
}
|
|
|
44 |
.chosen-container a {
|
45 |
cursor: pointer;
|
46 |
}
|
47 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
/* @end */
|
49 |
/* @group Single Chosen */
|
50 |
.chosen-container-single .chosen-single {
|
@@ -56,21 +78,21 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
56 |
border: 1px solid #aaa;
|
57 |
border-radius: 5px;
|
58 |
background-color: #fff;
|
59 |
-
background: -webkit-gradient(linear,
|
60 |
-
background:
|
61 |
-
background: -moz-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
|
62 |
-
background: -o-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
|
63 |
-
background: linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
|
64 |
background-clip: padding-box;
|
65 |
-
box-shadow: 0 0 3px
|
|
|
66 |
color: #444;
|
67 |
text-decoration: none;
|
68 |
white-space: nowrap;
|
69 |
line-height: 24px;
|
70 |
}
|
|
|
71 |
.chosen-container-single .chosen-default {
|
72 |
color: #999;
|
73 |
}
|
|
|
74 |
.chosen-container-single .chosen-single span {
|
75 |
display: block;
|
76 |
overflow: hidden;
|
@@ -78,9 +100,11 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
78 |
text-overflow: ellipsis;
|
79 |
white-space: nowrap;
|
80 |
}
|
|
|
81 |
.chosen-container-single .chosen-single-with-deselect span {
|
82 |
margin-right: 38px;
|
83 |
}
|
|
|
84 |
.chosen-container-single .chosen-single abbr {
|
85 |
position: absolute;
|
86 |
top: 6px;
|
@@ -88,15 +112,18 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
88 |
display: block;
|
89 |
width: 12px;
|
90 |
height: 12px;
|
91 |
-
background: url(
|
92 |
font-size: 1px;
|
93 |
}
|
|
|
94 |
.chosen-container-single .chosen-single abbr:hover {
|
95 |
background-position: -42px -10px;
|
96 |
}
|
|
|
97 |
.chosen-container-single.chosen-disabled .chosen-single abbr:hover {
|
98 |
background-position: -42px -10px;
|
99 |
}
|
|
|
100 |
.chosen-container-single .chosen-single div {
|
101 |
position: absolute;
|
102 |
top: 0;
|
@@ -105,12 +132,14 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
105 |
width: 18px;
|
106 |
height: 100%;
|
107 |
}
|
|
|
108 |
.chosen-container-single .chosen-single div b {
|
109 |
display: block;
|
110 |
width: 100%;
|
111 |
height: 100%;
|
112 |
-
background: url(
|
113 |
}
|
|
|
114 |
.chosen-container-single .chosen-search {
|
115 |
position: relative;
|
116 |
z-index: 1010;
|
@@ -118,6 +147,7 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
118 |
padding: 3px 4px;
|
119 |
white-space: nowrap;
|
120 |
}
|
|
|
121 |
.chosen-container-single .chosen-search input[type="text"] {
|
122 |
margin: 1px 0;
|
123 |
padding: 4px 20px 4px 5px;
|
@@ -125,21 +155,24 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
125 |
height: auto;
|
126 |
outline: 0;
|
127 |
border: 1px solid #aaa;
|
128 |
-
background:
|
129 |
-
background: url('chosen-sprite.png') no-repeat 100% -20px;
|
130 |
font-size: 1em;
|
131 |
font-family: sans-serif;
|
132 |
line-height: normal;
|
133 |
border-radius: 0;
|
134 |
}
|
|
|
135 |
.chosen-container-single .chosen-drop {
|
136 |
margin-top: -1px;
|
137 |
border-radius: 0 0 4px 4px;
|
138 |
background-clip: padding-box;
|
139 |
}
|
|
|
140 |
.chosen-container-single.chosen-container-single-nosearch .chosen-search {
|
141 |
position: absolute;
|
142 |
-
|
|
|
|
|
143 |
}
|
144 |
|
145 |
/* @end */
|
@@ -154,6 +187,7 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
154 |
max-height: 240px;
|
155 |
-webkit-overflow-scrolling: touch;
|
156 |
}
|
|
|
157 |
.chosen-container .chosen-results li {
|
158 |
display: none;
|
159 |
margin: 0;
|
@@ -163,37 +197,41 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
163 |
word-wrap: break-word;
|
164 |
-webkit-touch-callout: none;
|
165 |
}
|
|
|
166 |
.chosen-container .chosen-results li.active-result {
|
167 |
display: list-item;
|
168 |
cursor: pointer;
|
169 |
}
|
|
|
170 |
.chosen-container .chosen-results li.disabled-result {
|
171 |
display: list-item;
|
172 |
color: #ccc;
|
173 |
cursor: default;
|
174 |
}
|
|
|
175 |
.chosen-container .chosen-results li.highlighted {
|
176 |
background-color: #3875d7;
|
177 |
-
background-image: -webkit-gradient(linear,
|
178 |
-
background-image: -webkit-linear-gradient(#3875d7 20%, #2a62bc 90%);
|
179 |
-
background-image: -moz-linear-gradient(#3875d7 20%, #2a62bc 90%);
|
180 |
-
background-image: -o-linear-gradient(#3875d7 20%, #2a62bc 90%);
|
181 |
background-image: linear-gradient(#3875d7 20%, #2a62bc 90%);
|
182 |
color: #fff;
|
183 |
}
|
|
|
184 |
.chosen-container .chosen-results li.no-results {
|
185 |
color: #777;
|
186 |
display: list-item;
|
187 |
background: #f4f4f4;
|
188 |
}
|
|
|
189 |
.chosen-container .chosen-results li.group-result {
|
190 |
display: list-item;
|
191 |
font-weight: bold;
|
192 |
cursor: default;
|
193 |
}
|
|
|
194 |
.chosen-container .chosen-results li.group-option {
|
195 |
padding-left: 15px;
|
196 |
}
|
|
|
197 |
.chosen-container .chosen-results li em {
|
198 |
font-style: normal;
|
199 |
text-decoration: underline;
|
@@ -207,26 +245,25 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
207 |
margin: 0;
|
208 |
padding: 0 5px;
|
209 |
width: 100%;
|
210 |
-
height: auto
|
211 |
-
height: 1%;
|
212 |
border: 1px solid #aaa;
|
213 |
background-color: #fff;
|
214 |
-
background-image: -webkit-gradient(linear,
|
215 |
-
background-image:
|
216 |
-
background-image: -moz-linear-gradient(#eeeeee 1%, #ffffff 15%);
|
217 |
-
background-image: -o-linear-gradient(#eeeeee 1%, #ffffff 15%);
|
218 |
-
background-image: linear-gradient(#eeeeee 1%, #ffffff 15%);
|
219 |
cursor: text;
|
220 |
}
|
|
|
221 |
.chosen-container-multi .chosen-choices li {
|
222 |
float: left;
|
223 |
list-style: none;
|
224 |
}
|
|
|
225 |
.chosen-container-multi .chosen-choices li.search-field {
|
226 |
margin: 0;
|
227 |
padding: 0;
|
228 |
white-space: nowrap;
|
229 |
}
|
|
|
230 |
.chosen-container-multi .chosen-choices li.search-field input[type="text"] {
|
231 |
margin: 1px 0;
|
232 |
padding: 0;
|
@@ -234,13 +271,16 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
234 |
outline: 0;
|
235 |
border: 0 !important;
|
236 |
background: transparent !important;
|
237 |
-
box-shadow: none;
|
|
|
238 |
color: #999;
|
239 |
font-size: 100%;
|
240 |
font-family: sans-serif;
|
241 |
line-height: normal;
|
242 |
border-radius: 0;
|
|
|
243 |
}
|
|
|
244 |
.chosen-container-multi .chosen-choices li.search-choice {
|
245 |
position: relative;
|
246 |
margin: 3px 5px 3px 0;
|
@@ -249,22 +289,22 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
249 |
max-width: 100%;
|
250 |
border-radius: 3px;
|
251 |
background-color: #eeeeee;
|
252 |
-
background-image: -webkit-gradient(linear,
|
253 |
-
background-image:
|
254 |
-
background-image: -moz-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
|
255 |
-
background-image: -o-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
|
256 |
-
background-image: linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
|
257 |
background-size: 100% 19px;
|
258 |
background-repeat: repeat-x;
|
259 |
background-clip: padding-box;
|
260 |
-
box-shadow: 0 0 2px
|
|
|
261 |
color: #333;
|
262 |
line-height: 13px;
|
263 |
cursor: default;
|
264 |
}
|
|
|
265 |
.chosen-container-multi .chosen-choices li.search-choice span {
|
266 |
word-wrap: break-word;
|
267 |
}
|
|
|
268 |
.chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
|
269 |
position: absolute;
|
270 |
top: 4px;
|
@@ -272,33 +312,36 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
272 |
display: block;
|
273 |
width: 12px;
|
274 |
height: 12px;
|
275 |
-
background: url(
|
276 |
font-size: 1px;
|
277 |
}
|
|
|
278 |
.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover {
|
279 |
background-position: -42px -10px;
|
280 |
}
|
|
|
281 |
.chosen-container-multi .chosen-choices li.search-choice-disabled {
|
282 |
padding-right: 5px;
|
283 |
border: 1px solid #ccc;
|
284 |
background-color: #e4e4e4;
|
285 |
-
background-image: -webkit-gradient(linear,
|
286 |
-
background-image:
|
287 |
-
background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
|
288 |
-
background-image: -o-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
|
289 |
-
background-image: linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
|
290 |
color: #666;
|
291 |
}
|
|
|
292 |
.chosen-container-multi .chosen-choices li.search-choice-focus {
|
293 |
background: #d4d4d4;
|
294 |
}
|
|
|
295 |
.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close {
|
296 |
background-position: -42px -10px;
|
297 |
}
|
|
|
298 |
.chosen-container-multi .chosen-results {
|
299 |
margin: 0;
|
300 |
padding: 0;
|
301 |
}
|
|
|
302 |
.chosen-container-multi .chosen-drop .result-selected {
|
303 |
display: list-item;
|
304 |
color: #ccc;
|
@@ -309,32 +352,35 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
309 |
/* @group Active */
|
310 |
.chosen-container-active .chosen-single {
|
311 |
border: 1px solid #5897fb;
|
312 |
-
box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
|
|
|
313 |
}
|
|
|
314 |
.chosen-container-active.chosen-with-drop .chosen-single {
|
315 |
border: 1px solid #aaa;
|
316 |
-
-moz-border-radius-bottomright: 0;
|
317 |
border-bottom-right-radius: 0;
|
318 |
-
-moz-border-radius-bottomleft: 0;
|
319 |
border-bottom-left-radius: 0;
|
320 |
-
background-image: -webkit-gradient(linear,
|
321 |
-
background-image:
|
322 |
-
|
323 |
-
|
324 |
-
background-image: linear-gradient(#eeeeee 20%, #ffffff 80%);
|
325 |
-
box-shadow: 0 1px 0 #fff inset;
|
326 |
}
|
|
|
327 |
.chosen-container-active.chosen-with-drop .chosen-single div {
|
328 |
border-left: none;
|
329 |
background: transparent;
|
330 |
}
|
|
|
331 |
.chosen-container-active.chosen-with-drop .chosen-single div b {
|
332 |
background-position: -18px 2px;
|
333 |
}
|
|
|
334 |
.chosen-container-active .chosen-choices {
|
335 |
border: 1px solid #5897fb;
|
336 |
-
box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
|
|
|
337 |
}
|
|
|
338 |
.chosen-container-active .chosen-choices li.search-field input[type="text"] {
|
339 |
color: #222 !important;
|
340 |
}
|
@@ -345,9 +391,11 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
345 |
opacity: 0.5 !important;
|
346 |
cursor: default;
|
347 |
}
|
|
|
348 |
.chosen-disabled .chosen-single {
|
349 |
cursor: default;
|
350 |
}
|
|
|
351 |
.chosen-disabled .chosen-choices .search-choice .search-choice-close {
|
352 |
cursor: default;
|
353 |
}
|
@@ -357,71 +405,81 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
357 |
.chosen-rtl {
|
358 |
text-align: right;
|
359 |
}
|
|
|
360 |
.chosen-rtl .chosen-single {
|
361 |
overflow: visible;
|
362 |
padding: 0 8px 0 0;
|
363 |
}
|
|
|
364 |
.chosen-rtl .chosen-single span {
|
365 |
margin-right: 0;
|
366 |
margin-left: 26px;
|
367 |
direction: rtl;
|
368 |
}
|
|
|
369 |
.chosen-rtl .chosen-single-with-deselect span {
|
370 |
margin-left: 38px;
|
371 |
}
|
|
|
372 |
.chosen-rtl .chosen-single div {
|
373 |
right: auto;
|
374 |
left: 3px;
|
375 |
}
|
|
|
376 |
.chosen-rtl .chosen-single abbr {
|
377 |
right: auto;
|
378 |
left: 26px;
|
379 |
}
|
|
|
380 |
.chosen-rtl .chosen-choices li {
|
381 |
float: right;
|
382 |
}
|
|
|
383 |
.chosen-rtl .chosen-choices li.search-field input[type="text"] {
|
384 |
direction: rtl;
|
385 |
}
|
|
|
386 |
.chosen-rtl .chosen-choices li.search-choice {
|
387 |
margin: 3px 5px 3px 0;
|
388 |
padding: 3px 5px 3px 19px;
|
389 |
}
|
|
|
390 |
.chosen-rtl .chosen-choices li.search-choice .search-choice-close {
|
391 |
right: auto;
|
392 |
left: 4px;
|
393 |
}
|
394 |
-
|
395 |
-
.chosen-rtl .chosen-drop {
|
396 |
-
left: 9999px;
|
397 |
-
}
|
398 |
.chosen-rtl.chosen-container-single .chosen-results {
|
399 |
margin: 0 0 4px 4px;
|
400 |
padding: 0 4px 0 0;
|
401 |
}
|
|
|
402 |
.chosen-rtl .chosen-results li.group-option {
|
403 |
padding-right: 15px;
|
404 |
padding-left: 0;
|
405 |
}
|
|
|
406 |
.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div {
|
407 |
border-right: none;
|
408 |
}
|
|
|
409 |
.chosen-rtl .chosen-search input[type="text"] {
|
410 |
padding: 4px 5px 4px 20px;
|
411 |
-
background:
|
412 |
-
background: url('chosen-sprite.png') no-repeat -30px -20px;
|
413 |
direction: rtl;
|
414 |
}
|
|
|
415 |
.chosen-rtl.chosen-container-single .chosen-single div b {
|
416 |
background-position: 6px 2px;
|
417 |
}
|
|
|
418 |
.chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b {
|
419 |
background-position: -12px 2px;
|
420 |
}
|
421 |
|
422 |
/* @end */
|
423 |
/* @group Retina compatibility */
|
424 |
-
@media only screen and (-webkit-min-device-pixel-ratio:
|
425 |
.chosen-rtl .chosen-search input[type="text"],
|
426 |
.chosen-container-single .chosen-single abbr,
|
427 |
.chosen-container-single .chosen-single div b,
|
@@ -429,9 +487,10 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
429 |
.chosen-container-multi .chosen-choices .search-choice .search-choice-close,
|
430 |
.chosen-container .chosen-results-scroll-down span,
|
431 |
.chosen-container .chosen-results-scroll-up span {
|
432 |
-
background-image: url(
|
433 |
background-size: 52px 37px !important;
|
434 |
background-repeat: no-repeat !important;
|
435 |
}
|
436 |
}
|
|
|
437 |
/* @end */
|
2 |
Chosen, a Select Box Enhancer for jQuery and Prototype
|
3 |
by Patrick Filler for Harvest, http://getharvest.com
|
4 |
|
5 |
+
Version 1.8.7
|
6 |
Full source at https://github.com/harvesthq/chosen
|
7 |
+
Copyright (c) 2011-2018 Harvest http://getharvest.com
|
8 |
|
9 |
MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md
|
10 |
This file is generated by `grunt build`, do not edit it by hand.
|
16 |
display: inline-block;
|
17 |
vertical-align: middle;
|
18 |
font-size: 13px;
|
|
|
|
|
19 |
-webkit-user-select: none;
|
20 |
+
-moz-user-select: none;
|
21 |
+
-ms-user-select: none;
|
22 |
+
user-select: none;
|
23 |
}
|
24 |
+
|
25 |
.chosen-container * {
|
26 |
-webkit-box-sizing: border-box;
|
27 |
+
box-sizing: border-box;
|
|
|
28 |
}
|
29 |
+
|
30 |
.chosen-container .chosen-drop {
|
31 |
position: absolute;
|
32 |
top: 100%;
|
|
|
33 |
z-index: 1010;
|
34 |
width: 100%;
|
35 |
border: 1px solid #aaa;
|
36 |
border-top: 0;
|
37 |
background: #fff;
|
38 |
+
-webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);
|
39 |
+
box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);
|
40 |
+
clip: rect(0, 0, 0, 0);
|
41 |
+
-webkit-clip-path: inset(100% 100%);
|
42 |
+
clip-path: inset(100% 100%);
|
43 |
}
|
44 |
+
|
45 |
.chosen-container.chosen-with-drop .chosen-drop {
|
46 |
+
clip: auto;
|
47 |
+
-webkit-clip-path: none;
|
48 |
+
clip-path: none;
|
49 |
}
|
50 |
+
|
51 |
.chosen-container a {
|
52 |
cursor: pointer;
|
53 |
}
|
54 |
|
55 |
+
.chosen-container .search-choice .group-name, .chosen-container .chosen-single .group-name {
|
56 |
+
margin-right: 4px;
|
57 |
+
overflow: hidden;
|
58 |
+
white-space: nowrap;
|
59 |
+
text-overflow: ellipsis;
|
60 |
+
font-weight: normal;
|
61 |
+
color: #999999;
|
62 |
+
}
|
63 |
+
|
64 |
+
.chosen-container .search-choice .group-name:after, .chosen-container .chosen-single .group-name:after {
|
65 |
+
content: ":";
|
66 |
+
padding-left: 2px;
|
67 |
+
vertical-align: top;
|
68 |
+
}
|
69 |
+
|
70 |
/* @end */
|
71 |
/* @group Single Chosen */
|
72 |
.chosen-container-single .chosen-single {
|
78 |
border: 1px solid #aaa;
|
79 |
border-radius: 5px;
|
80 |
background-color: #fff;
|
81 |
+
background: -webkit-gradient(linear, left top, left bottom, color-stop(20%, #fff), color-stop(50%, #f6f6f6), color-stop(52%, #eee), to(#f4f4f4));
|
82 |
+
background: linear-gradient(#fff 20%, #f6f6f6 50%, #eee 52%, #f4f4f4 100%);
|
|
|
|
|
|
|
83 |
background-clip: padding-box;
|
84 |
+
-webkit-box-shadow: 0 0 3px #fff inset, 0 1px 1px rgba(0, 0, 0, 0.1);
|
85 |
+
box-shadow: 0 0 3px #fff inset, 0 1px 1px rgba(0, 0, 0, 0.1);
|
86 |
color: #444;
|
87 |
text-decoration: none;
|
88 |
white-space: nowrap;
|
89 |
line-height: 24px;
|
90 |
}
|
91 |
+
|
92 |
.chosen-container-single .chosen-default {
|
93 |
color: #999;
|
94 |
}
|
95 |
+
|
96 |
.chosen-container-single .chosen-single span {
|
97 |
display: block;
|
98 |
overflow: hidden;
|
100 |
text-overflow: ellipsis;
|
101 |
white-space: nowrap;
|
102 |
}
|
103 |
+
|
104 |
.chosen-container-single .chosen-single-with-deselect span {
|
105 |
margin-right: 38px;
|
106 |
}
|
107 |
+
|
108 |
.chosen-container-single .chosen-single abbr {
|
109 |
position: absolute;
|
110 |
top: 6px;
|
112 |
display: block;
|
113 |
width: 12px;
|
114 |
height: 12px;
|
115 |
+
background: url("chosen-sprite.png") -42px 1px no-repeat;
|
116 |
font-size: 1px;
|
117 |
}
|
118 |
+
|
119 |
.chosen-container-single .chosen-single abbr:hover {
|
120 |
background-position: -42px -10px;
|
121 |
}
|
122 |
+
|
123 |
.chosen-container-single.chosen-disabled .chosen-single abbr:hover {
|
124 |
background-position: -42px -10px;
|
125 |
}
|
126 |
+
|
127 |
.chosen-container-single .chosen-single div {
|
128 |
position: absolute;
|
129 |
top: 0;
|
132 |
width: 18px;
|
133 |
height: 100%;
|
134 |
}
|
135 |
+
|
136 |
.chosen-container-single .chosen-single div b {
|
137 |
display: block;
|
138 |
width: 100%;
|
139 |
height: 100%;
|
140 |
+
background: url("chosen-sprite.png") no-repeat 0px 2px;
|
141 |
}
|
142 |
+
|
143 |
.chosen-container-single .chosen-search {
|
144 |
position: relative;
|
145 |
z-index: 1010;
|
147 |
padding: 3px 4px;
|
148 |
white-space: nowrap;
|
149 |
}
|
150 |
+
|
151 |
.chosen-container-single .chosen-search input[type="text"] {
|
152 |
margin: 1px 0;
|
153 |
padding: 4px 20px 4px 5px;
|
155 |
height: auto;
|
156 |
outline: 0;
|
157 |
border: 1px solid #aaa;
|
158 |
+
background: url("chosen-sprite.png") no-repeat 100% -20px;
|
|
|
159 |
font-size: 1em;
|
160 |
font-family: sans-serif;
|
161 |
line-height: normal;
|
162 |
border-radius: 0;
|
163 |
}
|
164 |
+
|
165 |
.chosen-container-single .chosen-drop {
|
166 |
margin-top: -1px;
|
167 |
border-radius: 0 0 4px 4px;
|
168 |
background-clip: padding-box;
|
169 |
}
|
170 |
+
|
171 |
.chosen-container-single.chosen-container-single-nosearch .chosen-search {
|
172 |
position: absolute;
|
173 |
+
clip: rect(0, 0, 0, 0);
|
174 |
+
-webkit-clip-path: inset(100% 100%);
|
175 |
+
clip-path: inset(100% 100%);
|
176 |
}
|
177 |
|
178 |
/* @end */
|
187 |
max-height: 240px;
|
188 |
-webkit-overflow-scrolling: touch;
|
189 |
}
|
190 |
+
|
191 |
.chosen-container .chosen-results li {
|
192 |
display: none;
|
193 |
margin: 0;
|
197 |
word-wrap: break-word;
|
198 |
-webkit-touch-callout: none;
|
199 |
}
|
200 |
+
|
201 |
.chosen-container .chosen-results li.active-result {
|
202 |
display: list-item;
|
203 |
cursor: pointer;
|
204 |
}
|
205 |
+
|
206 |
.chosen-container .chosen-results li.disabled-result {
|
207 |
display: list-item;
|
208 |
color: #ccc;
|
209 |
cursor: default;
|
210 |
}
|
211 |
+
|
212 |
.chosen-container .chosen-results li.highlighted {
|
213 |
background-color: #3875d7;
|
214 |
+
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(20%, #3875d7), color-stop(90%, #2a62bc));
|
|
|
|
|
|
|
215 |
background-image: linear-gradient(#3875d7 20%, #2a62bc 90%);
|
216 |
color: #fff;
|
217 |
}
|
218 |
+
|
219 |
.chosen-container .chosen-results li.no-results {
|
220 |
color: #777;
|
221 |
display: list-item;
|
222 |
background: #f4f4f4;
|
223 |
}
|
224 |
+
|
225 |
.chosen-container .chosen-results li.group-result {
|
226 |
display: list-item;
|
227 |
font-weight: bold;
|
228 |
cursor: default;
|
229 |
}
|
230 |
+
|
231 |
.chosen-container .chosen-results li.group-option {
|
232 |
padding-left: 15px;
|
233 |
}
|
234 |
+
|
235 |
.chosen-container .chosen-results li em {
|
236 |
font-style: normal;
|
237 |
text-decoration: underline;
|
245 |
margin: 0;
|
246 |
padding: 0 5px;
|
247 |
width: 100%;
|
248 |
+
height: auto;
|
|
|
249 |
border: 1px solid #aaa;
|
250 |
background-color: #fff;
|
251 |
+
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(1%, #eee), color-stop(15%, #fff));
|
252 |
+
background-image: linear-gradient(#eee 1%, #fff 15%);
|
|
|
|
|
|
|
253 |
cursor: text;
|
254 |
}
|
255 |
+
|
256 |
.chosen-container-multi .chosen-choices li {
|
257 |
float: left;
|
258 |
list-style: none;
|
259 |
}
|
260 |
+
|
261 |
.chosen-container-multi .chosen-choices li.search-field {
|
262 |
margin: 0;
|
263 |
padding: 0;
|
264 |
white-space: nowrap;
|
265 |
}
|
266 |
+
|
267 |
.chosen-container-multi .chosen-choices li.search-field input[type="text"] {
|
268 |
margin: 1px 0;
|
269 |
padding: 0;
|
271 |
outline: 0;
|
272 |
border: 0 !important;
|
273 |
background: transparent !important;
|
274 |
+
-webkit-box-shadow: none;
|
275 |
+
box-shadow: none;
|
276 |
color: #999;
|
277 |
font-size: 100%;
|
278 |
font-family: sans-serif;
|
279 |
line-height: normal;
|
280 |
border-radius: 0;
|
281 |
+
width: 25px;
|
282 |
}
|
283 |
+
|
284 |
.chosen-container-multi .chosen-choices li.search-choice {
|
285 |
position: relative;
|
286 |
margin: 3px 5px 3px 0;
|
289 |
max-width: 100%;
|
290 |
border-radius: 3px;
|
291 |
background-color: #eeeeee;
|
292 |
+
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), to(#eee));
|
293 |
+
background-image: linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);
|
|
|
|
|
|
|
294 |
background-size: 100% 19px;
|
295 |
background-repeat: repeat-x;
|
296 |
background-clip: padding-box;
|
297 |
+
-webkit-box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);
|
298 |
+
box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);
|
299 |
color: #333;
|
300 |
line-height: 13px;
|
301 |
cursor: default;
|
302 |
}
|
303 |
+
|
304 |
.chosen-container-multi .chosen-choices li.search-choice span {
|
305 |
word-wrap: break-word;
|
306 |
}
|
307 |
+
|
308 |
.chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
|
309 |
position: absolute;
|
310 |
top: 4px;
|
312 |
display: block;
|
313 |
width: 12px;
|
314 |
height: 12px;
|
315 |
+
background: url("chosen-sprite.png") -42px 1px no-repeat;
|
316 |
font-size: 1px;
|
317 |
}
|
318 |
+
|
319 |
.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover {
|
320 |
background-position: -42px -10px;
|
321 |
}
|
322 |
+
|
323 |
.chosen-container-multi .chosen-choices li.search-choice-disabled {
|
324 |
padding-right: 5px;
|
325 |
border: 1px solid #ccc;
|
326 |
background-color: #e4e4e4;
|
327 |
+
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), to(#eee));
|
328 |
+
background-image: linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);
|
|
|
|
|
|
|
329 |
color: #666;
|
330 |
}
|
331 |
+
|
332 |
.chosen-container-multi .chosen-choices li.search-choice-focus {
|
333 |
background: #d4d4d4;
|
334 |
}
|
335 |
+
|
336 |
.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close {
|
337 |
background-position: -42px -10px;
|
338 |
}
|
339 |
+
|
340 |
.chosen-container-multi .chosen-results {
|
341 |
margin: 0;
|
342 |
padding: 0;
|
343 |
}
|
344 |
+
|
345 |
.chosen-container-multi .chosen-drop .result-selected {
|
346 |
display: list-item;
|
347 |
color: #ccc;
|
352 |
/* @group Active */
|
353 |
.chosen-container-active .chosen-single {
|
354 |
border: 1px solid #5897fb;
|
355 |
+
-webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
|
356 |
+
box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
|
357 |
}
|
358 |
+
|
359 |
.chosen-container-active.chosen-with-drop .chosen-single {
|
360 |
border: 1px solid #aaa;
|
|
|
361 |
border-bottom-right-radius: 0;
|
|
|
362 |
border-bottom-left-radius: 0;
|
363 |
+
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(20%, #eee), color-stop(80%, #fff));
|
364 |
+
background-image: linear-gradient(#eee 20%, #fff 80%);
|
365 |
+
-webkit-box-shadow: 0 1px 0 #fff inset;
|
366 |
+
box-shadow: 0 1px 0 #fff inset;
|
|
|
|
|
367 |
}
|
368 |
+
|
369 |
.chosen-container-active.chosen-with-drop .chosen-single div {
|
370 |
border-left: none;
|
371 |
background: transparent;
|
372 |
}
|
373 |
+
|
374 |
.chosen-container-active.chosen-with-drop .chosen-single div b {
|
375 |
background-position: -18px 2px;
|
376 |
}
|
377 |
+
|
378 |
.chosen-container-active .chosen-choices {
|
379 |
border: 1px solid #5897fb;
|
380 |
+
-webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
|
381 |
+
box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
|
382 |
}
|
383 |
+
|
384 |
.chosen-container-active .chosen-choices li.search-field input[type="text"] {
|
385 |
color: #222 !important;
|
386 |
}
|
391 |
opacity: 0.5 !important;
|
392 |
cursor: default;
|
393 |
}
|
394 |
+
|
395 |
.chosen-disabled .chosen-single {
|
396 |
cursor: default;
|
397 |
}
|
398 |
+
|
399 |
.chosen-disabled .chosen-choices .search-choice .search-choice-close {
|
400 |
cursor: default;
|
401 |
}
|
405 |
.chosen-rtl {
|
406 |
text-align: right;
|
407 |
}
|
408 |
+
|
409 |
.chosen-rtl .chosen-single {
|
410 |
overflow: visible;
|
411 |
padding: 0 8px 0 0;
|
412 |
}
|
413 |
+
|
414 |
.chosen-rtl .chosen-single span {
|
415 |
margin-right: 0;
|
416 |
margin-left: 26px;
|
417 |
direction: rtl;
|
418 |
}
|
419 |
+
|
420 |
.chosen-rtl .chosen-single-with-deselect span {
|
421 |
margin-left: 38px;
|
422 |
}
|
423 |
+
|
424 |
.chosen-rtl .chosen-single div {
|
425 |
right: auto;
|
426 |
left: 3px;
|
427 |
}
|
428 |
+
|
429 |
.chosen-rtl .chosen-single abbr {
|
430 |
right: auto;
|
431 |
left: 26px;
|
432 |
}
|
433 |
+
|
434 |
.chosen-rtl .chosen-choices li {
|
435 |
float: right;
|
436 |
}
|
437 |
+
|
438 |
.chosen-rtl .chosen-choices li.search-field input[type="text"] {
|
439 |
direction: rtl;
|
440 |
}
|
441 |
+
|
442 |
.chosen-rtl .chosen-choices li.search-choice {
|
443 |
margin: 3px 5px 3px 0;
|
444 |
padding: 3px 5px 3px 19px;
|
445 |
}
|
446 |
+
|
447 |
.chosen-rtl .chosen-choices li.search-choice .search-choice-close {
|
448 |
right: auto;
|
449 |
left: 4px;
|
450 |
}
|
451 |
+
|
|
|
|
|
|
|
452 |
.chosen-rtl.chosen-container-single .chosen-results {
|
453 |
margin: 0 0 4px 4px;
|
454 |
padding: 0 4px 0 0;
|
455 |
}
|
456 |
+
|
457 |
.chosen-rtl .chosen-results li.group-option {
|
458 |
padding-right: 15px;
|
459 |
padding-left: 0;
|
460 |
}
|
461 |
+
|
462 |
.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div {
|
463 |
border-right: none;
|
464 |
}
|
465 |
+
|
466 |
.chosen-rtl .chosen-search input[type="text"] {
|
467 |
padding: 4px 5px 4px 20px;
|
468 |
+
background: url("chosen-sprite.png") no-repeat -30px -20px;
|
|
|
469 |
direction: rtl;
|
470 |
}
|
471 |
+
|
472 |
.chosen-rtl.chosen-container-single .chosen-single div b {
|
473 |
background-position: 6px 2px;
|
474 |
}
|
475 |
+
|
476 |
.chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b {
|
477 |
background-position: -12px 2px;
|
478 |
}
|
479 |
|
480 |
/* @end */
|
481 |
/* @group Retina compatibility */
|
482 |
+
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi), only screen and (min-resolution: 1.5dppx) {
|
483 |
.chosen-rtl .chosen-search input[type="text"],
|
484 |
.chosen-container-single .chosen-single abbr,
|
485 |
.chosen-container-single .chosen-single div b,
|
487 |
.chosen-container-multi .chosen-choices .search-choice .search-choice-close,
|
488 |
.chosen-container .chosen-results-scroll-down span,
|
489 |
.chosen-container .chosen-results-scroll-up span {
|
490 |
+
background-image: url("chosen-sprite@2x.png") !important;
|
491 |
background-size: 52px 37px !important;
|
492 |
background-repeat: no-repeat !important;
|
493 |
}
|
494 |
}
|
495 |
+
|
496 |
/* @end */
|
css/chosen/chosen.min.css
CHANGED
@@ -1,3 +1,11 @@
|
|
1 |
-
|
|
|
|
|
2 |
|
3 |
-
.chosen-container{position:relative;display:inline-block;vertical-align:middle;font-size:13px;zoom:1;*display:inline;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chosen-container *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.chosen-container .chosen-drop{position:absolute;top:100%;left:-9999px;z-index:1010;width:100%;border:1px solid #aaa;border-top:0;background:#fff;box-shadow:0 4px 5px rgba(0,0,0,.15)}.chosen-container.chosen-with-drop .chosen-drop{left:0}.chosen-container a{cursor:pointer}.chosen-container-single .chosen-single{position:relative;display:block;overflow:hidden;padding:0 0 0 8px;height:25px;border:1px solid #aaa;border-radius:5px;background-color:#fff;background:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#fff),color-stop(50%,#f6f6f6),color-stop(52%,#eee),color-stop(100%,#f4f4f4));background:-webkit-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:-moz-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:-o-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background-clip:padding-box;box-shadow:0 0 3px #fff inset,0 1px 1px rgba(0,0,0,.1);color:#444;text-decoration:none;white-space:nowrap;line-height:24px}.chosen-container-single .chosen-default{color:#999}.chosen-container-single .chosen-single span{display:block;overflow:hidden;margin-right:26px;text-overflow:ellipsis;white-space:nowrap}.chosen-container-single .chosen-single-with-deselect span{margin-right:38px}.chosen-container-single .chosen-single abbr{position:absolute;top:6px;right:26px;display:block;width:12px;height:12px;background:url(chosen-sprite.png) -42px 1px no-repeat;font-size:1px}.chosen-container-single .chosen-single abbr:hover{background-position:-42px -10px}.chosen-container-single.chosen-disabled .chosen-single abbr:hover{background-position:-42px -10px}.chosen-container-single .chosen-single div{position:absolute;top:0;right:0;display:block;width:18px;height:100%}.chosen-container-single .chosen-single div b{display:block;width:100%;height:100%;background:url(chosen-sprite.png) no-repeat 0 2px}.chosen-container-single .chosen-search{position:relative;z-index:1010;margin:0;padding:3px 4px;white-space:nowrap}.chosen-container-single .chosen-search input[type=text]{margin:1px 0;padding:4px 20px 4px 5px;width:100%;height:auto;outline:0;border:1px solid #aaa;background:#fff url(chosen-sprite.png) no-repeat 100% -20px;background:url(chosen-sprite.png) no-repeat 100% -20px;font-size:1em;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-single .chosen-drop{margin-top:-1px;border-radius:0 0 4px 4px;background-clip:padding-box}.chosen-container-single.chosen-container-single-nosearch .chosen-search{position:absolute;left:-9999px}.chosen-container .chosen-results{color:#444;position:relative;overflow-x:hidden;overflow-y:auto;margin:0 4px 4px 0;padding:0 0 0 4px;max-height:240px;-webkit-overflow-scrolling:touch}.chosen-container .chosen-results li{display:none;margin:0;padding:5px 6px;list-style:none;line-height:15px;word-wrap:break-word;-webkit-touch-callout:none}.chosen-container .chosen-results li.active-result{display:list-item;cursor:pointer}.chosen-container .chosen-results li.disabled-result{display:list-item;color:#ccc;cursor:default}.chosen-container .chosen-results li.highlighted{background-color:#3875d7;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#3875d7),color-stop(90%,#2a62bc));background-image:-webkit-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:-moz-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:-o-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:linear-gradient(#3875d7 20%,#2a62bc 90%);color:#fff}.chosen-container .chosen-results li.no-results{color:#777;display:list-item;background:#f4f4f4}.chosen-container .chosen-results li.group-result{display:list-item;font-weight:700;cursor:default}.chosen-container .chosen-results li.group-option{padding-left:15px}.chosen-container .chosen-results li em{font-style:normal;text-decoration:underline}.chosen-container-multi .chosen-choices{position:relative;overflow:hidden;margin:0;padding:0 5px;width:100%;height:auto!important;height:1%;border:1px solid #aaa;background-color:#fff;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(1%,#eee),color-stop(15%,#fff));background-image:-webkit-linear-gradient(#eee 1%,#fff 15%);background-image:-moz-linear-gradient(#eee 1%,#fff 15%);background-image:-o-linear-gradient(#eee 1%,#fff 15%);background-image:linear-gradient(#eee 1%,#fff 15%);cursor:text}.chosen-container-multi .chosen-choices li{float:left;list-style:none}.chosen-container-multi .chosen-choices li.search-field{margin:0;padding:0;white-space:nowrap}.chosen-container-multi .chosen-choices li.search-field input[type=text]{margin:1px 0;padding:0;height:25px;outline:0;border:0!important;background:transparent!important;box-shadow:none;color:#999;font-size:100%;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-multi .chosen-choices li.search-choice{position:relative;margin:3px 5px 3px 0;padding:3px 20px 3px 5px;border:1px solid #aaa;max-width:100%;border-radius:3px;background-color:#eee;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#f4f4f4),color-stop(50%,#f0f0f0),color-stop(52%,#e8e8e8),color-stop(100%,#eee));background-image:-webkit-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-moz-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-o-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-size:100% 19px;background-repeat:repeat-x;background-clip:padding-box;box-shadow:0 0 2px #fff inset,0 1px 0 rgba(0,0,0,.05);color:#333;line-height:13px;cursor:default}.chosen-container-multi .chosen-choices li.search-choice span{word-wrap:break-word}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close{position:absolute;top:4px;right:3px;display:block;width:12px;height:12px;background:url(chosen-sprite.png) -42px 1px no-repeat;font-size:1px}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover{background-position:-42px -10px}.chosen-container-multi .chosen-choices li.search-choice-disabled{padding-right:5px;border:1px solid #ccc;background-color:#e4e4e4;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#f4f4f4),color-stop(50%,#f0f0f0),color-stop(52%,#e8e8e8),color-stop(100%,#eee));background-image:-webkit-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-moz-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-o-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);color:#666}.chosen-container-multi .chosen-choices li.search-choice-focus{background:#d4d4d4}.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close{background-position:-42px -10px}.chosen-container-multi .chosen-results{margin:0;padding:0}.chosen-container-multi .chosen-drop .result-selected{display:list-item;color:#ccc;cursor:default}.chosen-container-active .chosen-single{border:1px solid #5897fb;box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active.chosen-with-drop .chosen-single{border:1px solid #aaa;-moz-border-radius-bottomright:0;border-bottom-right-radius:0;-moz-border-radius-bottomleft:0;border-bottom-left-radius:0;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#eee),color-stop(80%,#fff));background-image:-webkit-linear-gradient(#eee 20%,#fff 80%);background-image:-moz-linear-gradient(#eee 20%,#fff 80%);background-image:-o-linear-gradient(#eee 20%,#fff 80%);background-image:linear-gradient(#eee 20%,#fff 80%);box-shadow:0 1px 0 #fff inset}.chosen-container-active.chosen-with-drop .chosen-single div{border-left:0;background:transparent}.chosen-container-active.chosen-with-drop .chosen-single div b{background-position:-18px 2px}.chosen-container-active .chosen-choices{border:1px solid #5897fb;box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active .chosen-choices li.search-field input[type=text]{color:#222!important}.chosen-disabled{opacity:.5!important;cursor:default}.chosen-disabled .chosen-single{cursor:default}.chosen-disabled .chosen-choices .search-choice .search-choice-close{cursor:default}.chosen-rtl{text-align:right}.chosen-rtl .chosen-single{overflow:visible;padding:0 8px 0 0}.chosen-rtl .chosen-single span{margin-right:0;margin-left:26px;direction:rtl}.chosen-rtl .chosen-single-with-deselect span{margin-left:38px}.chosen-rtl .chosen-single div{right:auto;left:3px}.chosen-rtl .chosen-single abbr{right:auto;left:26px}.chosen-rtl .chosen-choices li{float:right}.chosen-rtl .chosen-choices li.search-field input[type=text]{direction:rtl}.chosen-rtl .chosen-choices li.search-choice{margin:3px 5px 3px 0;padding:3px 5px 3px 19px}.chosen-rtl .chosen-choices li.search-choice .search-choice-close{right:auto;left:4px}.chosen-rtl.chosen-container-single-nosearch .chosen-search,.chosen-rtl .chosen-drop{left:9999px}.chosen-rtl.chosen-container-single .chosen-results{margin:0 0 4px 4px;padding:0 4px 0 0}.chosen-rtl .chosen-results li.group-option{padding-right:15px;padding-left:0}.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div{border-right:0}.chosen-rtl .chosen-search input[type=text]{padding:4px 5px 4px 20px;background:#fff url(chosen-sprite.png) no-repeat -30px -20px;background:url(chosen-sprite.png) no-repeat -30px -20px;direction:rtl}.chosen-rtl.chosen-container-single .chosen-single div b{background-position:6px 2px}.chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b{background-position:-12px 2px}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-resolution:144dpi){.chosen-rtl .chosen-search input[type=text],.chosen-container-single .chosen-single abbr,.chosen-container-single .chosen-single div b,.chosen-container-single .chosen-search input[type=text],.chosen-container-multi .chosen-choices .search-choice .search-choice-close,.chosen-container .chosen-results-scroll-down span,.chosen-container .chosen-results-scroll-up span{background-image:url(chosen-sprite@2x.png)!important;background-size:52px 37px!important;background-repeat:no-repeat!important}}
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*!
|
2 |
+
Chosen, a Select Box Enhancer for jQuery and Prototype
|
3 |
+
by Patrick Filler for Harvest, http://getharvest.com
|
4 |
|
5 |
+
Version 1.8.7
|
6 |
+
Full source at https://github.com/harvesthq/chosen
|
7 |
+
Copyright (c) 2011-2018 Harvest http://getharvest.com
|
8 |
+
|
9 |
+
MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md
|
10 |
+
This file is generated by `grunt build`, do not edit it by hand.
|
11 |
+
*/.chosen-container{position:relative;display:inline-block;vertical-align:middle;font-size:13px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.chosen-container *{-webkit-box-sizing:border-box;box-sizing:border-box}.chosen-container .chosen-drop{position:absolute;top:100%;z-index:1010;width:100%;border:1px solid #aaa;border-top:0;background:#fff;-webkit-box-shadow:0 4px 5px rgba(0,0,0,.15);box-shadow:0 4px 5px rgba(0,0,0,.15);clip:rect(0,0,0,0);-webkit-clip-path:inset(100% 100%);clip-path:inset(100% 100%)}.chosen-container.chosen-with-drop .chosen-drop{clip:auto;-webkit-clip-path:none;clip-path:none}.chosen-container a{cursor:pointer}.chosen-container .chosen-single .group-name,.chosen-container .search-choice .group-name{margin-right:4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:400;color:#999}.chosen-container .chosen-single .group-name:after,.chosen-container .search-choice .group-name:after{content:":";padding-left:2px;vertical-align:top}.chosen-container-single .chosen-single{position:relative;display:block;overflow:hidden;padding:0 0 0 8px;height:25px;border:1px solid #aaa;border-radius:5px;background-color:#fff;background:-webkit-gradient(linear,left top,left bottom,color-stop(20%,#fff),color-stop(50%,#f6f6f6),color-stop(52%,#eee),to(#f4f4f4));background:linear-gradient(#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background-clip:padding-box;-webkit-box-shadow:0 0 3px #fff inset,0 1px 1px rgba(0,0,0,.1);box-shadow:0 0 3px #fff inset,0 1px 1px rgba(0,0,0,.1);color:#444;text-decoration:none;white-space:nowrap;line-height:24px}.chosen-container-single .chosen-default{color:#999}.chosen-container-single .chosen-single span{display:block;overflow:hidden;margin-right:26px;text-overflow:ellipsis;white-space:nowrap}.chosen-container-single .chosen-single-with-deselect span{margin-right:38px}.chosen-container-single .chosen-single abbr{position:absolute;top:6px;right:26px;display:block;width:12px;height:12px;background:url(chosen-sprite.png) -42px 1px no-repeat;font-size:1px}.chosen-container-single .chosen-single abbr:hover{background-position:-42px -10px}.chosen-container-single.chosen-disabled .chosen-single abbr:hover{background-position:-42px -10px}.chosen-container-single .chosen-single div{position:absolute;top:0;right:0;display:block;width:18px;height:100%}.chosen-container-single .chosen-single div b{display:block;width:100%;height:100%;background:url(chosen-sprite.png) no-repeat 0 2px}.chosen-container-single .chosen-search{position:relative;z-index:1010;margin:0;padding:3px 4px;white-space:nowrap}.chosen-container-single .chosen-search input[type=text]{margin:1px 0;padding:4px 20px 4px 5px;width:100%;height:auto;outline:0;border:1px solid #aaa;background:url(chosen-sprite.png) no-repeat 100% -20px;font-size:1em;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-single .chosen-drop{margin-top:-1px;border-radius:0 0 4px 4px;background-clip:padding-box}.chosen-container-single.chosen-container-single-nosearch .chosen-search{position:absolute;clip:rect(0,0,0,0);-webkit-clip-path:inset(100% 100%);clip-path:inset(100% 100%)}.chosen-container .chosen-results{color:#444;position:relative;overflow-x:hidden;overflow-y:auto;margin:0 4px 4px 0;padding:0 0 0 4px;max-height:240px;-webkit-overflow-scrolling:touch}.chosen-container .chosen-results li{display:none;margin:0;padding:5px 6px;list-style:none;line-height:15px;word-wrap:break-word;-webkit-touch-callout:none}.chosen-container .chosen-results li.active-result{display:list-item;cursor:pointer}.chosen-container .chosen-results li.disabled-result{display:list-item;color:#ccc;cursor:default}.chosen-container .chosen-results li.highlighted{background-color:#3875d7;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(20%,#3875d7),color-stop(90%,#2a62bc));background-image:linear-gradient(#3875d7 20%,#2a62bc 90%);color:#fff}.chosen-container .chosen-results li.no-results{color:#777;display:list-item;background:#f4f4f4}.chosen-container .chosen-results li.group-result{display:list-item;font-weight:700;cursor:default}.chosen-container .chosen-results li.group-option{padding-left:15px}.chosen-container .chosen-results li em{font-style:normal;text-decoration:underline}.chosen-container-multi .chosen-choices{position:relative;overflow:hidden;margin:0;padding:0 5px;width:100%;height:auto;border:1px solid #aaa;background-color:#fff;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(1%,#eee),color-stop(15%,#fff));background-image:linear-gradient(#eee 1%,#fff 15%);cursor:text}.chosen-container-multi .chosen-choices li{float:left;list-style:none}.chosen-container-multi .chosen-choices li.search-field{margin:0;padding:0;white-space:nowrap}.chosen-container-multi .chosen-choices li.search-field input[type=text]{margin:1px 0;padding:0;height:25px;outline:0;border:0!important;background:0 0!important;-webkit-box-shadow:none;box-shadow:none;color:#999;font-size:100%;font-family:sans-serif;line-height:normal;border-radius:0;width:25px}.chosen-container-multi .chosen-choices li.search-choice{position:relative;margin:3px 5px 3px 0;padding:3px 20px 3px 5px;border:1px solid #aaa;max-width:100%;border-radius:3px;background-color:#eee;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(20%,#f4f4f4),color-stop(50%,#f0f0f0),color-stop(52%,#e8e8e8),to(#eee));background-image:linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-size:100% 19px;background-repeat:repeat-x;background-clip:padding-box;-webkit-box-shadow:0 0 2px #fff inset,0 1px 0 rgba(0,0,0,.05);box-shadow:0 0 2px #fff inset,0 1px 0 rgba(0,0,0,.05);color:#333;line-height:13px;cursor:default}.chosen-container-multi .chosen-choices li.search-choice span{word-wrap:break-word}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close{position:absolute;top:4px;right:3px;display:block;width:12px;height:12px;background:url(chosen-sprite.png) -42px 1px no-repeat;font-size:1px}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover{background-position:-42px -10px}.chosen-container-multi .chosen-choices li.search-choice-disabled{padding-right:5px;border:1px solid #ccc;background-color:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(20%,#f4f4f4),color-stop(50%,#f0f0f0),color-stop(52%,#e8e8e8),to(#eee));background-image:linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);color:#666}.chosen-container-multi .chosen-choices li.search-choice-focus{background:#d4d4d4}.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close{background-position:-42px -10px}.chosen-container-multi .chosen-results{margin:0;padding:0}.chosen-container-multi .chosen-drop .result-selected{display:list-item;color:#ccc;cursor:default}.chosen-container-active .chosen-single{border:1px solid #5897fb;-webkit-box-shadow:0 0 5px rgba(0,0,0,.3);box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active.chosen-with-drop .chosen-single{border:1px solid #aaa;border-bottom-right-radius:0;border-bottom-left-radius:0;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(20%,#eee),color-stop(80%,#fff));background-image:linear-gradient(#eee 20%,#fff 80%);-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset}.chosen-container-active.chosen-with-drop .chosen-single div{border-left:none;background:0 0}.chosen-container-active.chosen-with-drop .chosen-single div b{background-position:-18px 2px}.chosen-container-active .chosen-choices{border:1px solid #5897fb;-webkit-box-shadow:0 0 5px rgba(0,0,0,.3);box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active .chosen-choices li.search-field input[type=text]{color:#222!important}.chosen-disabled{opacity:.5!important;cursor:default}.chosen-disabled .chosen-single{cursor:default}.chosen-disabled .chosen-choices .search-choice .search-choice-close{cursor:default}.chosen-rtl{text-align:right}.chosen-rtl .chosen-single{overflow:visible;padding:0 8px 0 0}.chosen-rtl .chosen-single span{margin-right:0;margin-left:26px;direction:rtl}.chosen-rtl .chosen-single-with-deselect span{margin-left:38px}.chosen-rtl .chosen-single div{right:auto;left:3px}.chosen-rtl .chosen-single abbr{right:auto;left:26px}.chosen-rtl .chosen-choices li{float:right}.chosen-rtl .chosen-choices li.search-field input[type=text]{direction:rtl}.chosen-rtl .chosen-choices li.search-choice{margin:3px 5px 3px 0;padding:3px 5px 3px 19px}.chosen-rtl .chosen-choices li.search-choice .search-choice-close{right:auto;left:4px}.chosen-rtl.chosen-container-single .chosen-results{margin:0 0 4px 4px;padding:0 4px 0 0}.chosen-rtl .chosen-results li.group-option{padding-right:15px;padding-left:0}.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div{border-right:none}.chosen-rtl .chosen-search input[type=text]{padding:4px 5px 4px 20px;background:url(chosen-sprite.png) no-repeat -30px -20px;direction:rtl}.chosen-rtl.chosen-container-single .chosen-single div b{background-position:6px 2px}.chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b{background-position:-12px 2px}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:144dpi),only screen and (min-resolution:1.5dppx){.chosen-container .chosen-results-scroll-down span,.chosen-container .chosen-results-scroll-up span,.chosen-container-multi .chosen-choices .search-choice .search-choice-close,.chosen-container-single .chosen-search input[type=text],.chosen-container-single .chosen-single abbr,.chosen-container-single .chosen-single div b,.chosen-rtl .chosen-search input[type=text]{background-image:url(chosen-sprite@2x.png)!important;background-size:52px 37px!important;background-repeat:no-repeat!important}}
|
css/login/_notes/dwsync.xml
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
<?xml version="1.0" encoding="utf-8" ?>
|
|
css/login/login-rtl.css
CHANGED
File without changes
|
css/login/login.css
CHANGED
File without changes
|
custom-login.php
CHANGED
@@ -3,16 +3,16 @@
|
|
3 |
* Plugin Name: Custom Login
|
4 |
* Plugin URI: https://frosty.media/plugins/custom-login
|
5 |
* Description: A simple way to customize your WordPress <code>wp-login.php</code> screen! A <a href="https://frosty.media/">Frosty Media</a> plugin.
|
6 |
-
* Version: 3.2
|
7 |
* Author: Austin Passy
|
8 |
* Author URI: https://austin.passy.co
|
9 |
* Text Domain: custom-login
|
10 |
* GitHub Plugin URI: https://github.com/thefrosty/custom-login
|
11 |
* GitHub Branch: master
|
12 |
*
|
13 |
-
* @copyright 2012 -
|
14 |
* @author Austin Passy
|
15 |
-
* @link
|
16 |
* @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
17 |
*
|
18 |
* This program is distributed in the hope that it will be useful,
|
@@ -22,329 +22,330 @@
|
|
22 |
* @class Custom_Login
|
23 |
*/
|
24 |
|
25 |
-
if ( !class_exists( 'Custom_Login' ) ) :
|
26 |
-
|
27 |
-
/**
|
28 |
-
* Main Custom_Login Class
|
29 |
-
*
|
30 |
-
* @since 2.0
|
31 |
-
*/
|
32 |
-
final class Custom_Login {
|
33 |
-
|
34 |
-
/** Singleton *************************************************************/
|
35 |
-
private static $instance;
|
36 |
-
|
37 |
-
/**
|
38 |
-
* Plugin vars
|
39 |
-
* @return string
|
40 |
-
*/
|
41 |
-
var $version = '3.2',
|
42 |
-
$menu_page,
|
43 |
-
$prefix;
|
44 |
-
|
45 |
-
/**
|
46 |
-
* Private settings
|
47 |
-
*/
|
48 |
-
public $settings_api;
|
49 |
-
|
50 |
-
/**
|
51 |
-
* Main Instance
|
52 |
-
*
|
53 |
-
* @staticvar array $instance
|
54 |
-
* @return The one true instance
|
55 |
-
*/
|
56 |
-
public static function instance() {
|
57 |
-
if ( ! isset( self::$instance ) && ! ( self::$instance instanceof Custom_Login ) ) {
|
58 |
-
self::$instance = new Custom_Login;
|
59 |
-
self::$instance->setup_constants();
|
60 |
-
|
61 |
-
add_action( 'plugins_loaded', array( self::$instance, 'plugin_textdomain' ) );
|
62 |
-
|
63 |
-
self::$instance->includes();
|
64 |
-
self::$instance->actions();
|
65 |
-
}
|
66 |
-
return self::$instance;
|
67 |
-
}
|
68 |
-
|
69 |
-
/**
|
70 |
-
* Setup plugin constants
|
71 |
-
*
|
72 |
-
* @access private
|
73 |
-
* @since 3.0
|
74 |
-
* @return void
|
75 |
-
*/
|
76 |
-
private function setup_constants() {
|
77 |
-
|
78 |
-
// API URL
|
79 |
-
if ( ! defined( 'CUSTOM_LOGIN_API_URL' ) ) {
|
80 |
-
define( 'CUSTOM_LOGIN_API_URL', 'https://frosty.media/' );
|
81 |
-
}
|
82 |
-
|
83 |
-
// Plugin version
|
84 |
-
if ( ! defined( 'CUSTOM_LOGIN_VERSION' ) ) {
|
85 |
-
define( 'CUSTOM_LOGIN_VERSION', $this->version );
|
86 |
-
}
|
87 |
-
|
88 |
-
// Plugin Root File
|
89 |
-
if ( ! defined( 'CUSTOM_LOGIN_FILE' ) ) {
|
90 |
-
define( 'CUSTOM_LOGIN_FILE', __FILE__ );
|
91 |
-
}
|
92 |
-
|
93 |
-
// Plugin Folder Path
|
94 |
-
if ( ! defined( 'CUSTOM_LOGIN_DIR' ) ) {
|
95 |
-
define( 'CUSTOM_LOGIN_DIR', plugin_dir_path( CUSTOM_LOGIN_FILE ) );
|
96 |
-
}
|
97 |
-
|
98 |
-
// Plugin Folder URL
|
99 |
-
if ( ! defined( 'CUSTOM_LOGIN_URL' ) ) {
|
100 |
-
define( 'CUSTOM_LOGIN_URL', plugin_dir_url( CUSTOM_LOGIN_FILE ) );
|
101 |
-
}
|
102 |
-
|
103 |
-
// Plugin Root Basename
|
104 |
-
if ( ! defined( 'CUSTOM_LOGIN_BASENAME' ) ) {
|
105 |
-
define( 'CUSTOM_LOGIN_BASENAME', plugin_basename( CUSTOM_LOGIN_FILE ) );
|
106 |
-
}
|
107 |
-
|
108 |
-
// Plugin Dirname
|
109 |
-
if ( ! defined( 'CUSTOM_LOGIN_DIRNAME' ) ) {
|
110 |
-
define( 'CUSTOM_LOGIN_DIRNAME', dirname( CUSTOM_LOGIN_BASENAME ) );
|
111 |
-
}
|
112 |
-
|
113 |
-
// Plugin Settings Name
|
114 |
-
if ( ! defined( 'CUSTOM_LOGIN_OPTION' ) ) {
|
115 |
-
define( 'CUSTOM_LOGIN_OPTION', str_replace( '-', '_', CUSTOM_LOGIN_DIRNAME ) );
|
116 |
-
}
|
117 |
-
}
|
118 |
-
|
119 |
-
/**
|
120 |
-
* Load the plugin translations
|
121 |
-
*
|
122 |
-
*/
|
123 |
-
public function plugin_textdomain() {
|
124 |
-
load_plugin_textdomain( CUSTOM_LOGIN_DIRNAME, false, CUSTOM_LOGIN_DIRNAME . '/languages/' );
|
125 |
-
}
|
126 |
-
|
127 |
-
/**
|
128 |
-
* Includes required functions
|
129 |
-
*
|
130 |
-
*/
|
131 |
-
private function includes() {
|
132 |
-
|
133 |
-
require_once( trailingslashit( CUSTOM_LOGIN_DIR ) . 'includes/class-cl-common.php' );
|
134 |
-
require_once( trailingslashit( CUSTOM_LOGIN_DIR ) . 'includes/class-cl-cron.php' );
|
135 |
-
require_once( trailingslashit( CUSTOM_LOGIN_DIR ) . 'includes/class-cl-extensions.php' );
|
136 |
-
require_once( trailingslashit( CUSTOM_LOGIN_DIR ) . 'includes/class-cl-templates.php' );
|
137 |
-
require_once( trailingslashit( CUSTOM_LOGIN_DIR ) . 'includes/class-cl-scripts-styles.php' );
|
138 |
-
require_once( trailingslashit( CUSTOM_LOGIN_DIR ) . 'includes/class-cl-settings-api.php' );
|
139 |
-
require_once( trailingslashit( CUSTOM_LOGIN_DIR ) . 'includes/class-cl-settings-upgrades.php' );
|
140 |
-
require_once( trailingslashit( CUSTOM_LOGIN_DIR ) . 'includes/class-cl-wp-login.php' );
|
141 |
-
require_once( trailingslashit( CUSTOM_LOGIN_DIR ) . 'includes/functions.php' );
|
142 |
-
|
143 |
-
if ( is_admin() ) {
|
144 |
-
require_once( trailingslashit( CUSTOM_LOGIN_DIR ) . 'includes/admin/dashboard.php' );
|
145 |
-
require_once( trailingslashit( CUSTOM_LOGIN_DIR ) . 'includes/admin/plugins.php' );
|
146 |
-
require_once( trailingslashit( CUSTOM_LOGIN_DIR ) . 'includes/admin/import-export.php' );
|
147 |
-
require_once( trailingslashit( CUSTOM_LOGIN_DIR ) . 'includes/admin/tracking.php' );
|
148 |
-
// require_once( trailingslashit( CUSTOM_LOGIN_DIR ) . 'includes/admin/roost.php' ); // Not enabled until global domains available.
|
149 |
-
}
|
150 |
-
}
|
151 |
-
|
152 |
-
/**
|
153 |
-
* To infinity and beyond
|
154 |
-
*/
|
155 |
-
private function actions() {
|
156 |
-
|
157 |
-
$this->prefix = CUSTOM_LOGIN_OPTION;
|
158 |
-
|
159 |
-
register_activation_hook( CUSTOM_LOGIN_FILE, array( $this, 'activate' ) );
|
160 |
-
|
161 |
-
add_action( 'login_head', array( $this, 'cl_version_in_header' ), 1 );
|
162 |
-
add_action( 'wp_head', array( $this, 'cl_version_in_header' ) );
|
163 |
-
add_action( 'admin_menu', array( $this, 'admin_menu' ), 9 );
|
164 |
-
add_action( 'admin_init', array( $this, 'load_settings' ), 8 );
|
165 |
-
add_action( $this->prefix . '_after_sanitize_options', array( $this, 'delete_transients' ), 8 );
|
166 |
-
|
167 |
-
add_action( 'admin_notices', array( $this, 'show_notifications' ) );
|
168 |
-
add_action( 'admin_init', array( $this, 'notification_ignore' ) );
|
169 |
-
|
170 |
-
do_action( $this->prefix . '_actions' );
|
171 |
-
}
|
172 |
-
|
173 |
-
/**
|
174 |
-
* Runs on plugin install.
|
175 |
-
*
|
176 |
-
* @since 3.1
|
177 |
-
* @return void
|
178 |
-
*/
|
179 |
-
function activate() {
|
180 |
-
}
|
181 |
-
|
182 |
-
/**
|
183 |
-
* Adds CL Version to the <head> tag
|
184 |
-
*
|
185 |
-
* @since 3.0.0
|
186 |
-
* @return void
|
187 |
-
*/
|
188 |
-
function cl_version_in_header(){
|
189 |
-
echo '<meta name="generator" content="Custom Login v' . CUSTOM_LOGIN_VERSION . '" />' . "\n";
|
190 |
-
}
|
191 |
|
192 |
/**
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
$this->menu_page = add_options_page(
|
200 |
-
__( 'Custom Login Settings', CUSTOM_LOGIN_DIRNAME ),
|
201 |
-
__( 'Custom Login', CUSTOM_LOGIN_DIRNAME ),
|
202 |
-
$capability,
|
203 |
-
CUSTOM_LOGIN_DIRNAME,
|
204 |
-
array( $this, 'settings_page' )
|
205 |
-
);
|
206 |
-
}
|
207 |
-
|
208 |
-
/**
|
209 |
-
* Display the plugin settings options page
|
210 |
-
*/
|
211 |
-
public function settings_page() { ?>
|
212 |
-
|
213 |
-
<div class="wrap">
|
214 |
-
<?php $this->settings_api->settings_html(); ?>
|
215 |
-
</div><?php
|
216 |
-
}
|
217 |
-
|
218 |
-
/**
|
219 |
-
* Display the plugin settings options page
|
220 |
-
*/
|
221 |
-
public function load_settings() {
|
222 |
-
|
223 |
-
include( trailingslashit( CUSTOM_LOGIN_DIR ) . 'includes/default-settings.php' );
|
224 |
-
$this->settings_api = new CL_Settings_API(
|
225 |
-
$sections,
|
226 |
-
$fields,
|
227 |
-
array(
|
228 |
-
'option_name' => CUSTOM_LOGIN_OPTION,
|
229 |
-
'option_group' => CUSTOM_LOGIN_OPTION . '_group',
|
230 |
-
'domain' => CUSTOM_LOGIN_DIRNAME,
|
231 |
-
'prefix' => $this->prefix,
|
232 |
-
'version' => $this->version,
|
233 |
-
'menu_page' => $this->menu_page,
|
234 |
-
'nonce' => CUSTOM_LOGIN_OPTION . '_nonce_' . CUSTOM_LOGIN_BASENAME,
|
235 |
-
'file' => CUSTOM_LOGIN_FILE,
|
236 |
-
)
|
237 |
-
);
|
238 |
-
$this->settings_api->admin_init();
|
239 |
-
}
|
240 |
-
|
241 |
-
/**
|
242 |
-
* Hook into the 'sanitize_options' hook in the Settings API
|
243 |
-
* and remove the transient settings for the style and script.
|
244 |
-
*
|
245 |
-
* @since 3.0.0
|
246 |
-
*/
|
247 |
-
public function delete_transients() {
|
248 |
-
delete_transient( CL_Common::get_transient_key( 'style' ) );
|
249 |
-
delete_transient( CL_Common::get_transient_key( 'script' ) );
|
250 |
-
}
|
251 |
-
|
252 |
-
/**
|
253 |
-
* Show global notifications if they are allowed.
|
254 |
-
*
|
255 |
-
*/
|
256 |
-
function show_notifications() {
|
257 |
-
|
258 |
-
$is_cl_screen = CL_Common::is_settings_page();
|
259 |
-
$transient_key = CL_Common::get_transient_key( 'announcement' );
|
260 |
-
$ignore_key = CUSTOM_LOGIN_OPTION . '_ignore_announcement';
|
261 |
-
$old_message = get_option( CUSTOM_LOGIN_OPTION . '_announcement_message' );
|
262 |
-
$user_meta = get_user_meta( get_current_user_id(), $ignore_key, true );
|
263 |
-
$capability = CL_Common::get_option( 'capability', 'general', 'manage_options' );
|
264 |
-
|
265 |
-
/**
|
266 |
-
delete_user_meta( get_current_user_id(), $ignore_key, 1 );
|
267 |
-
delete_transient( $transient_key );
|
268 |
-
update_option( CUSTOM_LOGIN_OPTION . '_announcement_message', '' ); //*/
|
269 |
-
|
270 |
-
// Current user can't manage options
|
271 |
-
if ( !current_user_can( $capability ) )
|
272 |
-
return;
|
273 |
-
|
274 |
-
if ( !$is_cl_screen ) {
|
275 |
-
|
276 |
-
// Let's not show this at all if not on out menu page. @since 3.1
|
277 |
-
return;
|
278 |
-
|
279 |
-
// Global notifications
|
280 |
-
if ( 'off' === CL_Common::get_option( 'admin_notices', 'general', 'off' ) )
|
281 |
-
return;
|
282 |
-
|
283 |
-
// Make sure 'Frosty_Media_Notifications' isn't activated
|
284 |
-
if ( class_exists( 'Frosty_Media_Notifications' ) )
|
285 |
-
return;
|
286 |
-
}
|
287 |
-
|
288 |
-
// https://raw.github.com/thefrosty/custom-login/master/extensions.json
|
289 |
-
$message_url = add_query_arg( array( 'edd_action' => 'cl_announcements' ), trailingslashit( CUSTOM_LOGIN_API_URL ) . 'cl-checkin-api/' );
|
290 |
-
|
291 |
-
$announcement = CL_Common::wp_remote_get(
|
292 |
-
$message_url,
|
293 |
-
$transient_key,
|
294 |
-
DAY_IN_SECONDS,
|
295 |
-
'CustomLogin' // We need our custom $user_agent
|
296 |
-
);
|
297 |
-
|
298 |
-
// Bail if errors
|
299 |
-
if ( is_wp_error( $announcement ) )
|
300 |
-
return;
|
301 |
-
|
302 |
-
// Bail if false or empty
|
303 |
-
if ( !$announcement || empty( $announcement ) )
|
304 |
-
return;
|
305 |
-
|
306 |
-
if ( trim( $old_message ) !== trim( $announcement->message ) && !empty( $old_message ) ) {
|
307 |
-
delete_user_meta( get_current_user_id(), $ignore_key );
|
308 |
-
delete_transient( $transient_key );
|
309 |
-
update_option( CUSTOM_LOGIN_OPTION . '_announcement_message', $announcement->message );
|
310 |
-
}
|
311 |
-
|
312 |
-
$html = '<div class="updated"><p>';
|
313 |
-
$html .= !$is_cl_screen ? // If we're on our settings page let not show the dismiss notice link.
|
314 |
-
sprintf( '%2$s <span class="alignright">| <a href="%3$s">%1$s</a></span>',
|
315 |
-
__( 'Dismiss', CUSTOM_LOGIN_DIRNAME ),
|
316 |
-
$announcement->message,
|
317 |
-
esc_url( add_query_arg( $ignore_key, wp_create_nonce( $ignore_key ), admin_url( 'options-general.php?page=custom-login' ) ) ),
|
318 |
-
esc_url( admin_url( 'options-general.php?page=custom-login#custom_login_general' ) )
|
319 |
-
) :
|
320 |
-
sprintf( '%s', $announcement->message );
|
321 |
-
$html .= '</p></div>';
|
322 |
-
|
323 |
-
if ( ( !$user_meta && 1 !== $user_meta ) || $is_cl_screen )
|
324 |
-
echo $html;
|
325 |
-
}
|
326 |
-
|
327 |
-
/**
|
328 |
-
* Remove the admin notification.
|
329 |
-
*
|
330 |
-
* @return void
|
331 |
-
*/
|
332 |
-
function notification_ignore() {
|
333 |
-
|
334 |
-
$ignore_key = CUSTOM_LOGIN_OPTION . '_ignore_announcement';
|
335 |
-
|
336 |
-
// Bail if not set
|
337 |
-
if ( !isset( $_GET[$ignore_key] ) )
|
338 |
-
return;
|
339 |
-
|
340 |
-
// Check nonce
|
341 |
-
check_admin_referer( $ignore_key, $ignore_key );
|
342 |
-
|
343 |
-
// If user clicks to ignore the notice, add that to their user meta
|
344 |
-
add_user_meta( get_current_user_id(), $ignore_key, 1, true );
|
345 |
-
}
|
346 |
|
347 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
348 |
|
349 |
endif; // End if class_exists check
|
350 |
|
@@ -357,13 +358,13 @@ endif; // End if class_exists check
|
|
357 |
*
|
358 |
* Example: <?php $custom_login = CUSTOMLOGIN(); ?>
|
359 |
*
|
360 |
-
* @return
|
361 |
*/
|
362 |
-
if ( !function_exists( 'CUSTOMLOGIN' ) ) {
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
}
|
367 |
|
368 |
// Out of the frying pan, and into the fire.
|
369 |
-
CUSTOMLOGIN();
|
3 |
* Plugin Name: Custom Login
|
4 |
* Plugin URI: https://frosty.media/plugins/custom-login
|
5 |
* Description: A simple way to customize your WordPress <code>wp-login.php</code> screen! A <a href="https://frosty.media/">Frosty Media</a> plugin.
|
6 |
+
* Version: 3.2.9
|
7 |
* Author: Austin Passy
|
8 |
* Author URI: https://austin.passy.co
|
9 |
* Text Domain: custom-login
|
10 |
* GitHub Plugin URI: https://github.com/thefrosty/custom-login
|
11 |
* GitHub Branch: master
|
12 |
*
|
13 |
+
* @copyright 2012 - 2019
|
14 |
* @author Austin Passy
|
15 |
+
* @link https://austin.passy.co/
|
16 |
* @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
17 |
*
|
18 |
* This program is distributed in the hope that it will be useful,
|
22 |
* @class Custom_Login
|
23 |
*/
|
24 |
|
25 |
+
if ( ! class_exists( 'Custom_Login' ) ) :
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
|
27 |
/**
|
28 |
+
* Main Custom_Login Class
|
29 |
+
*
|
30 |
+
* @since 2.0
|
31 |
+
*/
|
32 |
+
final class Custom_Login {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
|
34 |
+
/** Singleton *************************************************************/
|
35 |
+
private static $instance;
|
36 |
+
|
37 |
+
/**
|
38 |
+
* Plugin vars
|
39 |
+
*
|
40 |
+
* @return string
|
41 |
+
*/
|
42 |
+
var $version = '3.2.9',
|
43 |
+
$menu_page,
|
44 |
+
$prefix;
|
45 |
+
|
46 |
+
/**
|
47 |
+
* Custom Login Settings API
|
48 |
+
*
|
49 |
+
* @var CL_Settings_API $settings_api
|
50 |
+
*/
|
51 |
+
public $settings_api;
|
52 |
+
|
53 |
+
/**
|
54 |
+
* Main Instance
|
55 |
+
*
|
56 |
+
* @return Custom_Login The one true instance
|
57 |
+
*/
|
58 |
+
public static function instance() {
|
59 |
+
if ( ! isset( self::$instance ) && ! ( self::$instance instanceof Custom_Login ) ) {
|
60 |
+
self::$instance = new Custom_Login;
|
61 |
+
self::$instance->setup_constants();
|
62 |
+
|
63 |
+
add_action( 'plugins_loaded', array( self::$instance, 'plugin_textdomain' ) );
|
64 |
+
|
65 |
+
self::$instance->includes();
|
66 |
+
self::$instance->actions();
|
67 |
+
}
|
68 |
+
|
69 |
+
return self::$instance;
|
70 |
+
}
|
71 |
+
|
72 |
+
/**
|
73 |
+
* Setup plugin constants
|
74 |
+
*
|
75 |
+
* @access private
|
76 |
+
* @since 3.0
|
77 |
+
* @return void
|
78 |
+
*/
|
79 |
+
private function setup_constants() {
|
80 |
+
// API URL
|
81 |
+
if ( ! defined( 'CUSTOM_LOGIN_API_URL' ) ) {
|
82 |
+
define( 'CUSTOM_LOGIN_API_URL', 'https://frosty.media/' );
|
83 |
+
}
|
84 |
+
|
85 |
+
// Plugin version
|
86 |
+
if ( ! defined( 'CUSTOM_LOGIN_VERSION' ) ) {
|
87 |
+
define( 'CUSTOM_LOGIN_VERSION', $this->version );
|
88 |
+
}
|
89 |
+
|
90 |
+
// Plugin Root File
|
91 |
+
if ( ! defined( 'CUSTOM_LOGIN_FILE' ) ) {
|
92 |
+
define( 'CUSTOM_LOGIN_FILE', __FILE__ );
|
93 |
+
}
|
94 |
+
|
95 |
+
// Plugin Folder Path
|
96 |
+
if ( ! defined( 'CUSTOM_LOGIN_DIR' ) ) {
|
97 |
+
define( 'CUSTOM_LOGIN_DIR', plugin_dir_path( CUSTOM_LOGIN_FILE ) );
|
98 |
+
}
|
99 |
+
|
100 |
+
// Plugin Folder URL
|
101 |
+
if ( ! defined( 'CUSTOM_LOGIN_URL' ) ) {
|
102 |
+
define( 'CUSTOM_LOGIN_URL', plugin_dir_url( CUSTOM_LOGIN_FILE ) );
|
103 |
+
}
|
104 |
+
|
105 |
+
// Plugin Root Basename
|
106 |
+
if ( ! defined( 'CUSTOM_LOGIN_BASENAME' ) ) {
|
107 |
+
define( 'CUSTOM_LOGIN_BASENAME', plugin_basename( CUSTOM_LOGIN_FILE ) );
|
108 |
+
}
|
109 |
+
|
110 |
+
// Plugin Dirname
|
111 |
+
if ( ! defined( 'CUSTOM_LOGIN_DIRNAME' ) ) {
|
112 |
+
define( 'CUSTOM_LOGIN_DIRNAME', dirname( CUSTOM_LOGIN_BASENAME ) );
|
113 |
+
}
|
114 |
+
|
115 |
+
// Plugin Settings Name
|
116 |
+
if ( ! defined( 'CUSTOM_LOGIN_OPTION' ) ) {
|
117 |
+
define( 'CUSTOM_LOGIN_OPTION', str_replace( '-', '_', CUSTOM_LOGIN_DIRNAME ) );
|
118 |
+
}
|
119 |
+
}
|
120 |
+
|
121 |
+
/**
|
122 |
+
* Load the plugin translations
|
123 |
+
*
|
124 |
+
*/
|
125 |
+
public function plugin_textdomain() {
|
126 |
+
load_plugin_textdomain( CUSTOM_LOGIN_DIRNAME, false, CUSTOM_LOGIN_DIRNAME . '/languages/' );
|
127 |
+
}
|
128 |
+
|
129 |
+
/**
|
130 |
+
* Includes required functions
|
131 |
+
*
|
132 |
+
*/
|
133 |
+
private function includes() {
|
134 |
+
require_once trailingslashit( CUSTOM_LOGIN_DIR ) . 'includes/class-cl-common.php';
|
135 |
+
require_once trailingslashit( CUSTOM_LOGIN_DIR ) . 'includes/class-cl-cron.php';
|
136 |
+
require_once trailingslashit( CUSTOM_LOGIN_DIR ) . 'includes/class-cl-extensions.php';
|
137 |
+
require_once trailingslashit( CUSTOM_LOGIN_DIR ) . 'includes/class-cl-templates.php';
|
138 |
+
require_once trailingslashit( CUSTOM_LOGIN_DIR ) . 'includes/class-cl-scripts-styles.php';
|
139 |
+
require_once trailingslashit( CUSTOM_LOGIN_DIR ) . 'includes/class-cl-settings-api.php';
|
140 |
+
require_once trailingslashit( CUSTOM_LOGIN_DIR ) . 'includes/class-cl-settings-upgrades.php';
|
141 |
+
require_once trailingslashit( CUSTOM_LOGIN_DIR ) . 'includes/class-cl-wp-login.php';
|
142 |
+
require_once trailingslashit( CUSTOM_LOGIN_DIR ) . 'includes/functions.php';
|
143 |
+
|
144 |
+
if ( is_admin() ) {
|
145 |
+
require_once trailingslashit( CUSTOM_LOGIN_DIR ) . 'includes/admin/dashboard.php';
|
146 |
+
require_once trailingslashit( CUSTOM_LOGIN_DIR ) . 'includes/admin/plugins.php';
|
147 |
+
require_once trailingslashit( CUSTOM_LOGIN_DIR ) . 'includes/admin/import-export.php';
|
148 |
+
require_once trailingslashit( CUSTOM_LOGIN_DIR ) . 'includes/admin/tracking.php';
|
149 |
+
}
|
150 |
+
}
|
151 |
+
|
152 |
+
/**
|
153 |
+
* To infinity and beyond
|
154 |
+
*/
|
155 |
+
private function actions() {
|
156 |
+
$this->prefix = CUSTOM_LOGIN_OPTION;
|
157 |
+
|
158 |
+
register_activation_hook( CUSTOM_LOGIN_FILE, array( $this, 'activate' ) );
|
159 |
+
|
160 |
+
add_action( 'login_head', array( $this, 'cl_version_in_header' ), 1 );
|
161 |
+
add_action( 'wp_head', array( $this, 'cl_version_in_header' ) );
|
162 |
+
add_action( 'admin_menu', array( $this, 'admin_menu' ), 9 );
|
163 |
+
add_action( 'admin_init', array( $this, 'load_settings' ), 8 );
|
164 |
+
add_action( $this->prefix . '_after_sanitize_options', array( $this, 'delete_transients' ), 8 );
|
165 |
+
|
166 |
+
add_action( 'admin_notices', array( $this, 'show_notifications' ) );
|
167 |
+
add_action( 'admin_init', array( $this, 'notification_ignore' ) );
|
168 |
+
|
169 |
+
do_action( $this->prefix . '_actions' );
|
170 |
+
}
|
171 |
+
|
172 |
+
/**
|
173 |
+
* Runs on plugin install.
|
174 |
+
*
|
175 |
+
* @since 3.1
|
176 |
+
*/
|
177 |
+
function activate() {
|
178 |
+
}
|
179 |
+
|
180 |
+
/**
|
181 |
+
* Adds CL Version to the <head> tag
|
182 |
+
*
|
183 |
+
* @since 3.0.0
|
184 |
+
* @return void
|
185 |
+
*/
|
186 |
+
function cl_version_in_header() {
|
187 |
+
echo '<meta name="generator" content="Custom Login v' . CUSTOM_LOGIN_VERSION . '" />' . "\n";
|
188 |
+
}
|
189 |
+
|
190 |
+
/**
|
191 |
+
* Register the plugin page
|
192 |
+
*/
|
193 |
+
public function admin_menu() {
|
194 |
+
$capability = CL_Common::get_option( 'capability', 'general', 'manage_options' );
|
195 |
+
|
196 |
+
$this->menu_page = add_options_page(
|
197 |
+
__( 'Custom Login Settings', CUSTOM_LOGIN_DIRNAME ),
|
198 |
+
__( 'Custom Login', CUSTOM_LOGIN_DIRNAME ),
|
199 |
+
$capability,
|
200 |
+
CUSTOM_LOGIN_DIRNAME,
|
201 |
+
array( $this, 'settings_page' )
|
202 |
+
);
|
203 |
+
}
|
204 |
+
|
205 |
+
/**
|
206 |
+
* Display the plugin settings options page
|
207 |
+
*/
|
208 |
+
public function settings_page() { ?>
|
209 |
+
<div class="wrap">
|
210 |
+
<?php $this->settings_api->settings_html(); ?>
|
211 |
+
</div><?php
|
212 |
+
}
|
213 |
+
|
214 |
+
/**
|
215 |
+
* Display the plugin settings options page
|
216 |
+
*/
|
217 |
+
public function load_settings() {
|
218 |
+
|
219 |
+
include trailingslashit( CUSTOM_LOGIN_DIR ) . 'includes/default-settings.php';
|
220 |
+
$this->settings_api = new CL_Settings_API(
|
221 |
+
$sections,
|
222 |
+
$fields,
|
223 |
+
array(
|
224 |
+
'option_name' => CUSTOM_LOGIN_OPTION,
|
225 |
+
'option_group' => CUSTOM_LOGIN_OPTION . '_group',
|
226 |
+
'domain' => CUSTOM_LOGIN_DIRNAME,
|
227 |
+
'prefix' => $this->prefix,
|
228 |
+
'version' => $this->version,
|
229 |
+
'menu_page' => $this->menu_page,
|
230 |
+
'nonce' => CUSTOM_LOGIN_OPTION . '_nonce_' . CUSTOM_LOGIN_BASENAME,
|
231 |
+
'file' => CUSTOM_LOGIN_FILE,
|
232 |
+
)
|
233 |
+
);
|
234 |
+
$this->settings_api->admin_init();
|
235 |
+
}
|
236 |
+
|
237 |
+
/**
|
238 |
+
* Hook into the 'sanitize_options' hook in the Settings API
|
239 |
+
* and remove the transient settings for the style and script.
|
240 |
+
*
|
241 |
+
* @since 3.0.0
|
242 |
+
*/
|
243 |
+
public function delete_transients() {
|
244 |
+
delete_transient( CL_Common::get_transient_key( 'style' ) );
|
245 |
+
delete_transient( CL_Common::get_transient_key( 'script' ) );
|
246 |
+
}
|
247 |
+
|
248 |
+
/**
|
249 |
+
* Show global notifications if they are allowed.
|
250 |
+
*
|
251 |
+
*/
|
252 |
+
public function show_notifications() {
|
253 |
+
$is_cl_screen = CL_Common::is_settings_page();
|
254 |
+
$transient_key = CL_Common::get_transient_key( 'announcement' );
|
255 |
+
$ignore_key = CUSTOM_LOGIN_OPTION . '_ignore_announcement';
|
256 |
+
$old_message = get_option( CUSTOM_LOGIN_OPTION . '_announcement_message' );
|
257 |
+
$user_meta = get_user_meta( get_current_user_id(), $ignore_key, true );
|
258 |
+
$capability = CL_Common::get_option( 'capability', 'general', 'manage_options' );
|
259 |
+
|
260 |
+
/**
|
261 |
+
* delete_user_meta( get_current_user_id(), $ignore_key, 1 );
|
262 |
+
* delete_transient( $transient_key );
|
263 |
+
* update_option( CUSTOM_LOGIN_OPTION . '_announcement_message', '' );
|
264 |
+
*/
|
265 |
+
|
266 |
+
// Current user can't manage options
|
267 |
+
if ( ! current_user_can( $capability ) ) {
|
268 |
+
return;
|
269 |
+
}
|
270 |
+
|
271 |
+
if ( ! $is_cl_screen ) {
|
272 |
+
|
273 |
+
// Make sure 'Frosty_Media_Notifications' isn't activated
|
274 |
+
if ( class_exists( 'Frosty_Media_Notifications' ) ) {
|
275 |
+
return;
|
276 |
+
}
|
277 |
+
|
278 |
+
// Global notifications
|
279 |
+
if ( 'off' === CL_Common::get_option( 'admin_notices', 'general', 'off' ) ) {
|
280 |
+
return;
|
281 |
+
}
|
282 |
+
|
283 |
+
// Let's not show this at all if not on out menu page. @since 3.1
|
284 |
+
return;
|
285 |
+
}
|
286 |
+
|
287 |
+
$message_url = esc_url( add_query_arg( array( 'get_notifications' => 'true' ), CUSTOM_LOGIN_API_URL) );
|
288 |
+
|
289 |
+
$announcement = CL_Common::wp_remote_get(
|
290 |
+
$message_url,
|
291 |
+
$transient_key,
|
292 |
+
DAY_IN_SECONDS,
|
293 |
+
'WordPress' // We need our custom $user_agent
|
294 |
+
);
|
295 |
+
|
296 |
+
// Bail if errors
|
297 |
+
if ( is_wp_error( $announcement ) ) {
|
298 |
+
return;
|
299 |
+
}
|
300 |
+
|
301 |
+
// Bail if false or empty
|
302 |
+
if ( ! $announcement || empty( $announcement[0] ) ) {
|
303 |
+
return;
|
304 |
+
}
|
305 |
+
|
306 |
+
if ( trim( $old_message ) !== trim( $announcement[0]->message ) && ! empty( $old_message ) ) {
|
307 |
+
delete_user_meta( get_current_user_id(), $ignore_key );
|
308 |
+
delete_transient( $transient_key );
|
309 |
+
update_option( CUSTOM_LOGIN_OPTION . '_announcement_message', $announcement[0]->message );
|
310 |
+
}
|
311 |
+
|
312 |
+
$html = '<div class="updated"><p>';
|
313 |
+
$html .= ! $is_cl_screen ? // If we're on our settings page let not show the dismiss notice link.
|
314 |
+
sprintf( '%2$s <span class="alignright">| <a href="%3$s">%1$s</a></span>',
|
315 |
+
__( 'Dismiss', CUSTOM_LOGIN_DIRNAME ),
|
316 |
+
$announcement[0]->message,
|
317 |
+
esc_url( add_query_arg( $ignore_key, wp_create_nonce( $ignore_key ), admin_url( 'options-general.php?page=custom-login' ) ) ),
|
318 |
+
esc_url( admin_url( 'options-general.php?page=custom-login#custom_login_general' ) )
|
319 |
+
) :
|
320 |
+
sprintf( '%s', $announcement[0]->message );
|
321 |
+
$html .= '</p></div>';
|
322 |
+
|
323 |
+
if ( ( ! $user_meta && 1 !== $user_meta ) || $is_cl_screen ) {
|
324 |
+
echo $html;
|
325 |
+
}
|
326 |
+
}
|
327 |
+
|
328 |
+
/**
|
329 |
+
* Remove the admin notification.
|
330 |
+
*
|
331 |
+
* @return void
|
332 |
+
*/
|
333 |
+
public function notification_ignore() {
|
334 |
+
$ignore_key = CUSTOM_LOGIN_OPTION . '_ignore_announcement';
|
335 |
+
|
336 |
+
// Bail if not set
|
337 |
+
if ( ! isset( $_GET[ $ignore_key ] ) ) {
|
338 |
+
return;
|
339 |
+
}
|
340 |
+
|
341 |
+
// Check nonce
|
342 |
+
check_admin_referer( $ignore_key, $ignore_key );
|
343 |
+
|
344 |
+
// If user clicks to ignore the notice, add that to their user meta
|
345 |
+
add_user_meta( get_current_user_id(), $ignore_key, 1, true );
|
346 |
+
}
|
347 |
+
|
348 |
+
}
|
349 |
|
350 |
endif; // End if class_exists check
|
351 |
|
358 |
*
|
359 |
* Example: <?php $custom_login = CUSTOMLOGIN(); ?>
|
360 |
*
|
361 |
+
* @return Custom_Login
|
362 |
*/
|
363 |
+
if ( ! function_exists( 'CUSTOMLOGIN' ) ) {
|
364 |
+
function CUSTOMLOGIN() {
|
365 |
+
return Custom_Login::instance();
|
366 |
+
}
|
367 |
}
|
368 |
|
369 |
// Out of the frying pan, and into the fire.
|
370 |
+
CUSTOMLOGIN();
|
extensions.json
CHANGED
File without changes
|
includes/_notes/dwsync.xml
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
<?xml version="1.0" encoding="utf-8" ?>
|
|
includes/admin/_notes/dwsync.xml
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
<?xml version="1.0" encoding="utf-8" ?>
|
|
includes/admin/dashboard.php
CHANGED
@@ -20,258 +20,287 @@ if ( ! defined( 'ABSPATH' ) ) exit;
|
|
20 |
*/
|
21 |
class CL_Dashboard {
|
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 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
<?php
|
272 |
-
|
273 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
274 |
}
|
275 |
|
276 |
// Only load on the WordPress Dashboard (index.php) page.
|
277 |
-
add_action( 'load-index.php', array( 'CL_Dashboard', 'instance' ) );
|
20 |
*/
|
21 |
class CL_Dashboard {
|
22 |
|
23 |
+
/** Singleton *************************************************************/
|
24 |
+
private static $instance;
|
25 |
+
|
26 |
+
private $id;
|
27 |
+
|
28 |
+
private static $headers = array();
|
29 |
+
private static $scripts = array();
|
30 |
+
|
31 |
+
const FEED_URL = 'https://frosty.media/feed/';
|
32 |
+
|
33 |
+
/**
|
34 |
+
* Main Instance
|
35 |
+
*
|
36 |
+
* @staticvar array $instance
|
37 |
+
* @return CL_Dashboard The one true instance
|
38 |
+
*/
|
39 |
+
public static function instance() {
|
40 |
+
if ( ! isset( self::$instance ) ) {
|
41 |
+
self::$instance = new self;
|
42 |
+
self::$instance->id = sprintf( '%s-dashboard', CUSTOM_LOGIN_DIRNAME );
|
43 |
+
self::$instance->actions();
|
44 |
+
}
|
45 |
+
return self::$instance;
|
46 |
+
}
|
47 |
+
|
48 |
+
private function actions() {
|
49 |
+
|
50 |
+
if ( !is_admin() )
|
51 |
+
return;
|
52 |
+
|
53 |
+
add_action( 'wp_dashboard_setup', array( $this, 'add_dashboard_widget' ) );
|
54 |
+
// add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
|
55 |
+
add_action( 'admin_enqueue_scripts', array( $this, 'inline_scripts' ) );
|
56 |
+
add_action( 'admin_footer', array( $this, 'admin_footer' ) );
|
57 |
+
}
|
58 |
+
|
59 |
+
/**
|
60 |
+
* Check if the dashboard widget is allowed.
|
61 |
+
*
|
62 |
+
* @access private
|
63 |
+
* @return bool
|
64 |
+
*/
|
65 |
+
private function dashboard_allowed() {
|
66 |
+
$dashboard = CL_Common::get_option( 'dashboard_widget', 'general', 'off' );
|
67 |
+
|
68 |
+
if ( 'on' === $dashboard )
|
69 |
+
return true;
|
70 |
+
|
71 |
+
return false;
|
72 |
+
}
|
73 |
+
|
74 |
+
/**
|
75 |
+
* Add Dashboard widget
|
76 |
+
*/
|
77 |
+
public function add_dashboard_widget() {
|
78 |
+
|
79 |
+
if ( !$this->dashboard_allowed() )
|
80 |
+
return;
|
81 |
+
|
82 |
+
wp_add_dashboard_widget(
|
83 |
+
$this->id,
|
84 |
+
__( 'Frosty Media', CUSTOM_LOGIN_DIRNAME ),
|
85 |
+
array( $this, 'widget' )
|
86 |
+
);
|
87 |
+
}
|
88 |
+
|
89 |
+
/**
|
90 |
+
* Scripts & Styles
|
91 |
+
*/
|
92 |
+
public function enqueue_scripts() {
|
93 |
+
|
94 |
+
if ( $this->dashboard_allowed() ) {
|
95 |
+
wp_enqueue_style( $this->id, $this->add_query_arg( 'css' ), null, null, 'screen' );
|
96 |
+
}
|
97 |
+
else {
|
98 |
+
wp_enqueue_script( $this->id, $this->add_query_arg( 'js' ), array( 'jquery' ), null, true );
|
99 |
+
}
|
100 |
+
}
|
101 |
+
|
102 |
+
public function admin_footer() {
|
103 |
+
if ( $this->dashboard_allowed() ) {
|
104 |
+
echo $this->CSS( false );
|
105 |
+
}
|
106 |
+
else {
|
107 |
+
echo $this->jQuery( false );
|
108 |
+
}
|
109 |
+
}
|
110 |
+
|
111 |
+
private function get_feed( $count = 1, $feed = self::FEED_URL ) {
|
112 |
+
return CL_Common::fetch_rss_items( $count, $feed );
|
113 |
+
}
|
114 |
+
|
115 |
+
private function get_feed_url() {
|
116 |
+
|
117 |
+
$rss_items = $this->get_feed();
|
118 |
+
|
119 |
+
if ( false !== $rss_items && isset( $rss_items[0] ) ) {
|
120 |
+
|
121 |
+
$feed_url = preg_replace( '/#.*/', '', esc_url( $rss_items[0]->get_permalink(), null, 'display' ) );
|
122 |
+
|
123 |
+
return esc_url( add_query_arg( array( 'utm_medium' => 'wpadmin_dashboard', 'utm_term' => 'newsitem', 'utm_campaign' => CUSTOM_LOGIN_DIRNAME ), $feed_url ) );
|
124 |
+
}
|
125 |
+
|
126 |
+
return esc_url( self::FEED_URL );
|
127 |
+
}
|
128 |
+
|
129 |
+
private function get_feed_title() {
|
130 |
+
|
131 |
+
$rss_items = $this->get_feed();
|
132 |
+
|
133 |
+
return isset( $rss_items[0] ) ? esc_html( $rss_items[0]->get_title() ) : 'Unknown';
|
134 |
+
}
|
135 |
+
|
136 |
+
/**
|
137 |
+
* Dashboard widget
|
138 |
+
*/
|
139 |
+
public function widget() {
|
140 |
+
|
141 |
+
// FEED
|
142 |
+
$rss_items = $this->get_feed();
|
143 |
+
|
144 |
+
$content = '<div class="rss-widget">';
|
145 |
+
$content .= '<ul>';
|
146 |
+
|
147 |
+
if ( !$rss_items ) {
|
148 |
+
$content .= '<li>' . __( 'Error fetching feed', CUSTOM_LOGIN_DIRNAME ) . '</li>';
|
149 |
+
}
|
150 |
+
else {
|
151 |
+
$count = 1;
|
152 |
+
foreach ( $rss_items as $key => $item ) {
|
153 |
+
$feed_url = preg_replace( '/#.*/', '', esc_url( $item->get_permalink(), null, 'display' ) );
|
154 |
+
$content .= '<li>';
|
155 |
+
$content .= '<a class="rsswidget" href="' . esc_url( add_query_arg( array( 'utm_medium' => 'wpadmin_dashboard', 'utm_term' => 'newsitem', 'utm_campaign' => CUSTOM_LOGIN_DIRNAME ), $feed_url ) ) . '">' . esc_html( $item->get_title() ) . '</a>';
|
156 |
+
$content .= $count === 1 ? ' <span class="rss-date">' . $item->get_date( get_option( 'date_format' ) ) . '</span>' : '';
|
157 |
+
$content .= $count === 1 ? '<div class="rssSummary">' . strip_tags( wp_trim_words( $item->get_description(), 28 ) ) . '</div>' : '';
|
158 |
+
$content .= '</li>';
|
159 |
+
$count++;
|
160 |
+
}
|
161 |
+
}
|
162 |
+
$content .= '</ul>';
|
163 |
+
$content .= '</div>';
|
164 |
+
|
165 |
+
|
166 |
+
// Plugins
|
167 |
+
$rss_items = $this->get_feed( 3, sprintf( '%s?post_type=plugin&plugin_tag=custom-login-extension', self::FEED_URL ) );
|
168 |
+
|
169 |
+
$content .= '<div class="rss-widget">';
|
170 |
+
$content .= '<ul>';
|
171 |
+
//$content .= '<li><strong>' . __( 'Custom Login Extensions:', CUSTOM_LOGIN_DIRNAME ) . '</strong></li>';
|
172 |
+
|
173 |
+
if ( !$rss_items ) {
|
174 |
+
$content .= '<li>' . __( 'Error fetching feed', CUSTOM_LOGIN_DIRNAME ) . '</li>';
|
175 |
+
}
|
176 |
+
else {
|
177 |
+
foreach ( $rss_items as $item ) {
|
178 |
+
$url = preg_replace( '/#.*/', '', esc_url( $item->get_permalink(), null, 'display' ) );
|
179 |
+
$content .= '<li>';
|
180 |
+
$content .= '<a class="rsswidget" href="' . esc_url( add_query_arg( array( 'utm_medium' => 'wpadmin_dashboard', 'utm_term' => 'newsitem', 'utm_campaign' => CUSTOM_LOGIN_DIRNAME ), $url ) ) . '">' . esc_html( $item->get_title() ) . '</a>';
|
181 |
+
# $content .= '<div class="rssSummary">' . strip_tags( wp_trim_words( $item->get_description(), 10 ) ) . '</div>';
|
182 |
+
$content .= '</li>';
|
183 |
+
}
|
184 |
+
}
|
185 |
+
$content .= '</ul>';
|
186 |
+
$content .= '</div>';
|
187 |
+
|
188 |
+
$content .= '<div class="rss-widget">';
|
189 |
+
$content .= '<ul class="social">';
|
190 |
+
$content .= '<li>';
|
191 |
+
$content .= '<a href="https://www.facebook.com/FrostyMediaWP"><span class="dashicons dashicons-facebook"></span>/FrostyMediaWP</a> | ';
|
192 |
+
$content .= '<a href="https://twitter.com/Frosty_Media"><span class="dashicons dashicons-twitter"></span>/Frosty_Media</a> | ';
|
193 |
+
$content .= '<a href="https://twitter.com/TheFrosty"><span class="dashicons dashicons-twitter"></span>/TheFrosty</a>';
|
194 |
+
$content .= '</li>';
|
195 |
+
$content .= '</ul>';
|
196 |
+
|
197 |
+
$content .= '</div>';
|
198 |
+
|
199 |
+
echo $content;
|
200 |
+
}
|
201 |
+
|
202 |
+
/**
|
203 |
+
* Generate the custom CSS/JS.
|
204 |
+
*
|
205 |
+
*/
|
206 |
+
public function inline_scripts() {
|
207 |
+
|
208 |
+
if ( isset( $_GET[ $this->id ] ) && intval( $_GET[ $this->id ] ) === 1 ) {
|
209 |
+
|
210 |
+
if ( isset( $_GET['type'] ) && $_GET['type'] === 'css' ) {
|
211 |
+
|
212 |
+
if ( !headers_sent() ) {
|
213 |
+
header("content-type:text/css");
|
214 |
+
}
|
215 |
+
ob_start();
|
216 |
+
str_replace( ob_end_clean(), '', ob_end_clean() );
|
217 |
+
$this->CSS();
|
218 |
+
if ( ob_get_level() ) echo ob_get_clean();
|
219 |
+
die;
|
220 |
+
}
|
221 |
+
elseif ( isset( $_GET['type'] ) && $_GET['type'] === 'js' ) {
|
222 |
+
|
223 |
+
if ( !headers_sent() ) {
|
224 |
+
header("content-type:application/x-javascript");
|
225 |
+
}
|
226 |
+
ob_start();
|
227 |
+
str_replace( ob_end_clean(), '', ob_end_clean() );
|
228 |
+
$this->jQuery();
|
229 |
+
if ( ob_get_level() ) echo ob_get_clean();
|
230 |
+
die;
|
231 |
+
}
|
232 |
+
}
|
233 |
+
}
|
234 |
+
|
235 |
+
public function clean_ob_contents( $contents ) {
|
236 |
+
return str_replace( $contents, '', $contents );
|
237 |
+
}
|
238 |
+
|
239 |
+
/**
|
240 |
+
* Helper function to return the proper query arg.
|
241 |
+
*/
|
242 |
+
private function add_query_arg( $type = 'js' ) {
|
243 |
+
$url = add_query_arg(
|
244 |
+
array(
|
245 |
+
$this->id => '1',
|
246 |
+
'type' => $type
|
247 |
+
),
|
248 |
+
trailingslashit( admin_url() )
|
249 |
+
);
|
250 |
+
return esc_url( $url );
|
251 |
+
}
|
252 |
+
|
253 |
+
/**
|
254 |
+
* Create the CSS.
|
255 |
+
*
|
256 |
+
* @param bool $remove_wrapper
|
257 |
+
*/
|
258 |
+
private function CSS( $remove_wrapper = true ) {
|
259 |
+
if ( !$remove_wrapper ) { ?>
|
260 |
+
<style>
|
261 |
+
<?php }
|
262 |
+
#<?php echo $this->id; ?> .inside {
|
263 |
+
margin: 0;
|
264 |
+
padding: 0;
|
265 |
+
}
|
266 |
+
#<?php echo $this->id; ?> .rss-widget {
|
267 |
+
border-bottom: 1px solid #eee;
|
268 |
+
font-size: 13px;
|
269 |
+
padding: 8px 12px 10px;
|
270 |
+
}
|
271 |
+
<?php if ( !$remove_wrapper ) { ?>
|
272 |
+
</style>
|
273 |
+
<?php }
|
274 |
+
}
|
275 |
+
|
276 |
+
/**
|
277 |
+
* Create the jQuery.
|
278 |
+
*
|
279 |
+
* @param bool $remove_wrapper
|
280 |
+
*/
|
281 |
+
private function jQuery( $remove_wrapper = true ) {
|
282 |
+
if ( !$remove_wrapper ) { ?>
|
283 |
+
<script>
|
284 |
+
<?php } ?>
|
285 |
+
jQuery(document).ready(function($) {
|
286 |
+
|
287 |
+
var CL_Timeout = 200;
|
288 |
+
|
289 |
+
if ( !$('#dashboard_primary .rss-widget').eq(1).length ) {
|
290 |
+
CL_Timeout = 2500;
|
291 |
+
}
|
292 |
+
|
293 |
+
setTimeout( function() {
|
294 |
+
$('#dashboard_primary .rss-widget:eq(1) ul').append('<a class="rsswidget" href="<?php echo $this->get_feed_url(); ?>">FrostyMedia: <?php echo $this->get_feed_title(); ?></a>');
|
295 |
+
}, CL_Timeout );
|
296 |
+
|
297 |
+
});
|
298 |
+
<?php if ( !$remove_wrapper ) { ?>
|
299 |
+
</script>
|
300 |
+
<?php }
|
301 |
+
}
|
302 |
+
|
303 |
}
|
304 |
|
305 |
// Only load on the WordPress Dashboard (index.php) page.
|
306 |
+
add_action( 'load-index.php', array( 'CL_Dashboard', 'instance' ), 99 );
|
includes/admin/import-export.php
CHANGED
@@ -79,13 +79,13 @@ class CL_Import_Export {
|
|
79 |
'name' => 'export',
|
80 |
'label' => __( 'Export', CUSTOM_LOGIN_DIRNAME ),
|
81 |
'desc' => sprintf( __( 'This textarea is always pre-filled with the current settings. Copy these settings for import at a later time, or <a href="%s">download</a> them.', CUSTOM_LOGIN_DIRNAME ),
|
82 |
-
wp_nonce_url(
|
83 |
add_query_arg( array( 'action' => CUSTOM_LOGIN_OPTION . '_download_export' ),
|
84 |
''
|
85 |
),
|
86 |
'export',
|
87 |
'cl_nonce'
|
88 |
-
)
|
89 |
),
|
90 |
'default' => $this->get_custom_login_settings(),
|
91 |
'type' => 'textarea',
|
79 |
'name' => 'export',
|
80 |
'label' => __( 'Export', CUSTOM_LOGIN_DIRNAME ),
|
81 |
'desc' => sprintf( __( 'This textarea is always pre-filled with the current settings. Copy these settings for import at a later time, or <a href="%s">download</a> them.', CUSTOM_LOGIN_DIRNAME ),
|
82 |
+
esc_url( wp_nonce_url(
|
83 |
add_query_arg( array( 'action' => CUSTOM_LOGIN_OPTION . '_download_export' ),
|
84 |
''
|
85 |
),
|
86 |
'export',
|
87 |
'cl_nonce'
|
88 |
+
) )
|
89 |
),
|
90 |
'default' => $this->get_custom_login_settings(),
|
91 |
'type' => 'textarea',
|
includes/admin/plugins.php
CHANGED
File without changes
|
includes/admin/roost.php
DELETED
@@ -1,91 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* @package CustomLogin
|
4 |
-
* @subpackage Classes/CL_Roost
|
5 |
-
* @author Austin Passy <http://austin.passy.co>
|
6 |
-
* @copyright Copyright (c) 2015, Austin Passy
|
7 |
-
* @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
|
8 |
-
*/
|
9 |
-
|
10 |
-
// Exit if accessed directly
|
11 |
-
if ( !defined( 'ABSPATH' ) ) exit;
|
12 |
-
|
13 |
-
// Is Roost allowed?
|
14 |
-
if ( !defined( 'CL_ALLOW_ROOST' ) ) return;
|
15 |
-
|
16 |
-
/**
|
17 |
-
* Roost (push notifications) signup
|
18 |
-
*
|
19 |
-
* @access public
|
20 |
-
* @since 3.2
|
21 |
-
* @return void
|
22 |
-
*/
|
23 |
-
class CL_Roost {
|
24 |
-
|
25 |
-
/**
|
26 |
-
* Roost API Key.
|
27 |
-
*
|
28 |
-
* @access private
|
29 |
-
*/
|
30 |
-
private $api_key;
|
31 |
-
|
32 |
-
/**
|
33 |
-
* Get things going
|
34 |
-
*
|
35 |
-
* @access public
|
36 |
-
* @return void
|
37 |
-
*/
|
38 |
-
public function __construct() {
|
39 |
-
|
40 |
-
$this->api_key = '7fe37450d6104fd8929240faa803caf1';
|
41 |
-
|
42 |
-
add_action( 'admin_action_' . CUSTOM_LOGIN_OPTION . '_allow_push', array( $this, 'admin_action_hook' ) );
|
43 |
-
add_action( CUSTOM_LOGIN_OPTION . '_settings_sidebars', array( $this, 'settings_sidebar' ), 23 );
|
44 |
-
}
|
45 |
-
|
46 |
-
/**
|
47 |
-
* Action hook called on 'admin_action_' $_REQUEST
|
48 |
-
*
|
49 |
-
* @return void
|
50 |
-
*/
|
51 |
-
public function admin_action_hook() {
|
52 |
-
|
53 |
-
add_action( 'admin_head', array( $this, 'admin_head' ), 99 );
|
54 |
-
}
|
55 |
-
|
56 |
-
/**
|
57 |
-
* Output our script to the admin header.
|
58 |
-
*
|
59 |
-
* @ref https://goroost.com/push-notification-documentation#document-2
|
60 |
-
* @return void
|
61 |
-
*/
|
62 |
-
public function admin_head() {
|
63 |
-
echo '<script src="https://cdn.goroost.com/roostjs/' . $this->api_key . '" async></script>';
|
64 |
-
echo "<script>\n";
|
65 |
-
echo "var _roost = _roost || [];\n";
|
66 |
-
echo "_roost.push([\"segments_add\", \"customlogin\"]);\n";
|
67 |
-
echo "</script>\n";
|
68 |
-
}
|
69 |
-
|
70 |
-
/**
|
71 |
-
* Box with a link to output our script.
|
72 |
-
*
|
73 |
-
* @return string
|
74 |
-
*/
|
75 |
-
public function settings_sidebar( $args ) {
|
76 |
-
|
77 |
-
$user_agent = $_SERVER['HTTP_USER_AGENT'];
|
78 |
-
|
79 |
-
if ( !preg_match('/macintosh|mac os x/i', $user_agent ) )
|
80 |
-
return;
|
81 |
-
|
82 |
-
if ( !preg_match('/safari/i', $user_agent ) )
|
83 |
-
return;
|
84 |
-
|
85 |
-
$content = sprintf( __( 'Stay up to date with desktop push notifications: <a href="%s">click here</a>, then click "allow".', CUSTOM_LOGIN_DIRNAME ), add_query_arg( 'action', sprintf( '%s_allow_push', CUSTOM_LOGIN_OPTION ), admin_url() ) );
|
86 |
-
|
87 |
-
CUSTOMLOGIN()->settings_api->postbox( 'custom-login-roost', sprintf( __( '%sPush Notifications', CUSTOM_LOGIN_DIRNAME ), '*' ), $content );
|
88 |
-
}
|
89 |
-
|
90 |
-
}
|
91 |
-
new CL_Roost;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/admin/tracking.php
CHANGED
@@ -144,7 +144,7 @@ class CL_Tracking {
|
|
144 |
|
145 |
$this->setup_data( $extra_data );
|
146 |
|
147 |
-
$response = wp_remote_post( $this->api, array(
|
148 |
'method' => 'POST',
|
149 |
'timeout' => apply_filters( 'cl_wp_remote_post_timeout', (int) 15 ),
|
150 |
'redirection' => 5,
|
@@ -186,15 +186,13 @@ class CL_Tracking {
|
|
186 |
|
187 |
$options = get_option( $this->option, array() );
|
188 |
|
189 |
-
#var_dump( $options ); exit;
|
190 |
-
|
191 |
$options['tracking'] = 'on';
|
192 |
update_option( $this->option, $options );
|
193 |
update_option( 'custom_login_hide_tracking_notice', '1' );
|
194 |
|
195 |
$this->send_checkin( true, array( 'on_activation' => 'admin notice', 'mailchimp_sub' => 'yes' ) );
|
196 |
|
197 |
-
wp_redirect( remove_query_arg( 'action' ) );
|
198 |
exit;
|
199 |
}
|
200 |
|
@@ -208,13 +206,11 @@ class CL_Tracking {
|
|
208 |
|
209 |
$options = get_option( $this->option, array() );
|
210 |
|
211 |
-
#var_dump( $options ); exit;
|
212 |
-
|
213 |
$options['tracking'] = 'off';
|
214 |
update_option( $this->option, $options );
|
215 |
update_option( 'custom_login_hide_tracking_notice', '1' );
|
216 |
|
217 |
-
|
218 |
exit;
|
219 |
}
|
220 |
|
144 |
|
145 |
$this->setup_data( $extra_data );
|
146 |
|
147 |
+
$response = wp_remote_post( esc_url_raw( $this->api ), array(
|
148 |
'method' => 'POST',
|
149 |
'timeout' => apply_filters( 'cl_wp_remote_post_timeout', (int) 15 ),
|
150 |
'redirection' => 5,
|
186 |
|
187 |
$options = get_option( $this->option, array() );
|
188 |
|
|
|
|
|
189 |
$options['tracking'] = 'on';
|
190 |
update_option( $this->option, $options );
|
191 |
update_option( 'custom_login_hide_tracking_notice', '1' );
|
192 |
|
193 |
$this->send_checkin( true, array( 'on_activation' => 'admin notice', 'mailchimp_sub' => 'yes' ) );
|
194 |
|
195 |
+
wp_redirect( esc_url( remove_query_arg( 'action' ) ) );
|
196 |
exit;
|
197 |
}
|
198 |
|
206 |
|
207 |
$options = get_option( $this->option, array() );
|
208 |
|
|
|
|
|
209 |
$options['tracking'] = 'off';
|
210 |
update_option( $this->option, $options );
|
211 |
update_option( 'custom_login_hide_tracking_notice', '1' );
|
212 |
|
213 |
+
wp_redirect( esc_url( remove_query_arg( 'action' ) ) );
|
214 |
exit;
|
215 |
}
|
216 |
|
includes/class-cl-common.php
CHANGED
@@ -11,67 +11,88 @@
|
|
11 |
if ( !defined( 'ABSPATH' ) ) exit;
|
12 |
|
13 |
class CL_Common {
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
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 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
75 |
|
76 |
/**
|
77 |
* Get the value of a settings field
|
@@ -79,119 +100,119 @@ class CL_Common {
|
|
79 |
* @param string $option settings field name
|
80 |
* @param string $subsection the section name this field belongs to
|
81 |
* @param string $default default text if it's not found
|
82 |
-
|
83 |
* @return string
|
84 |
*/
|
85 |
public static function get_option( $option, $subsection = '', $default = '' ) {
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
}
|
96 |
|
97 |
/**
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
public static function get_options( $subsection = 'design' ) {
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
}
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
public static function wp_remote_get( $url = false, $transient_key, $expiration = null, $user_agent = 'WordPress' ) {
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
}
|
11 |
if ( !defined( 'ABSPATH' ) ) exit;
|
12 |
|
13 |
class CL_Common {
|
14 |
+
|
15 |
+
/**
|
16 |
+
* Return the RSS feed object.
|
17 |
+
*
|
18 |
+
* @param string $feed The feed to fetch.
|
19 |
+
*
|
20 |
+
* @return object
|
21 |
+
*/
|
22 |
+
public static function fetch_feed( $feed ) {
|
23 |
+
|
24 |
+
if ( !function_exists( 'fetch_feed' ) ) {
|
25 |
+
include_once( ABSPATH . WPINC . '/feed.php' );
|
26 |
+
}
|
27 |
+
|
28 |
+
return fetch_feed( $feed );
|
29 |
+
}
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Fetch RSS items from the feed.
|
33 |
+
*
|
34 |
+
* @param int $num Number of items to fetch.
|
35 |
+
* @param string $feed The feed to fetch.
|
36 |
+
* @return array|bool False on error, array of RSS items on success.
|
37 |
+
*/
|
38 |
+
public static function fetch_rss_items( $num, $feed ) {
|
39 |
+
|
40 |
+
$rss = self::fetch_feed( $feed );
|
41 |
+
$maxitems = 0;
|
42 |
+
|
43 |
+
if ( !is_wp_error( $rss ) ) { // Checks that the object is created correctly
|
44 |
+
|
45 |
+
// Figure out how many total items there are, but limit it to 5.
|
46 |
+
$maxitems = $rss->get_item_quantity( $num );
|
47 |
+
|
48 |
+
// Build an array of all the items, starting with element 0 (first element).
|
49 |
+
$rss_items = $rss->get_items( 0, $maxitems );
|
50 |
+
|
51 |
+
}
|
52 |
+
else {
|
53 |
+
return false;
|
54 |
+
}
|
55 |
+
|
56 |
+
// If the feed was erroneous
|
57 |
+
if ( !$rss_items || $maxitems == 0 ) {
|
58 |
+
$md5 = md5( $feed );
|
59 |
+
delete_transient( 'feed_' . $md5 );
|
60 |
+
delete_transient( 'feed_mod_' . $md5 );
|
61 |
+
$rss = self::fetch_feed( $feed );
|
62 |
+
$rss_items = $rss->get_items( 0, $rss->get_item_quantity( $num ) );
|
63 |
+
}
|
64 |
+
|
65 |
+
return $rss_items;
|
66 |
+
}
|
67 |
+
|
68 |
+
/**
|
69 |
+
* Helper function to return the data URI.
|
70 |
+
*
|
71 |
+
* @return string
|
72 |
+
*/
|
73 |
+
public static function get_data_uri( $_image, $mime = '' ) {
|
74 |
+
|
75 |
+
$image = trailingslashit( CUSTOM_LOGIN_URL );
|
76 |
+
$image .= $_image;
|
77 |
+
|
78 |
+
$data = file_exists( $image ) ? base64_encode( file_get_contents( $image ) ) : '';
|
79 |
+
|
80 |
+
return !empty( $data ) ? 'data:image/' . $mime . ';base64,' . $data : '';
|
81 |
+
}
|
82 |
+
|
83 |
+
/**
|
84 |
+
* Get's the cached transient key.
|
85 |
+
*
|
86 |
+
* @return string
|
87 |
+
*/
|
88 |
+
public static function get_transient_key( $input ) {
|
89 |
+
|
90 |
+
$len = is_multisite() ? 40 : 45;
|
91 |
+
$key = 'custom_login_';
|
92 |
+
$key = $key . substr( md5( $input ), 0, $len - strlen( $key ) );
|
93 |
+
|
94 |
+
return $key;
|
95 |
+
}
|
96 |
|
97 |
/**
|
98 |
* Get the value of a settings field
|
100 |
* @param string $option settings field name
|
101 |
* @param string $subsection the section name this field belongs to
|
102 |
* @param string $default default text if it's not found
|
103 |
+
*
|
104 |
* @return string
|
105 |
*/
|
106 |
public static function get_option( $option, $subsection = '', $default = '' ) {
|
107 |
+
|
108 |
+
$section = CUSTOM_LOGIN_OPTION . '_' . $subsection;
|
109 |
+
$setting = get_option( $section, array() );
|
110 |
+
|
111 |
+
if ( isset( $setting[$option] ) ) {
|
112 |
+
return $setting[$option];
|
113 |
+
}
|
114 |
+
|
115 |
+
return $default;
|
116 |
}
|
117 |
|
118 |
/**
|
119 |
+
* Get all values of a settings section
|
120 |
+
*
|
121 |
+
* @param string $subsection the section name this field belongs to
|
122 |
+
*
|
123 |
+
* @return array
|
124 |
+
*/
|
125 |
public static function get_options( $subsection = 'design' ) {
|
126 |
+
|
127 |
+
$section = CUSTOM_LOGIN_OPTION . '_' . $subsection;
|
128 |
+
$settings = get_option( $section, array() );
|
129 |
+
|
130 |
+
return $settings;
|
131 |
}
|
132 |
+
|
133 |
+
/**
|
134 |
+
* Helper function to make remote calls
|
135 |
+
*
|
136 |
+
* @since 3.0.0
|
137 |
+
* @updated 3.0.8
|
138 |
+
*/
|
139 |
public static function wp_remote_get( $url = false, $transient_key, $expiration = null, $user_agent = 'WordPress' ) {
|
140 |
+
|
141 |
+
if ( !$url ) return false;
|
142 |
+
|
143 |
+
if ( 'WordPress' == $user_agent ) {
|
144 |
+
global $wp_version;
|
145 |
+
$_version = $wp_version;
|
146 |
+
}
|
147 |
+
else {
|
148 |
+
$_version = CUSTOM_LOGIN_VERSION;
|
149 |
+
}
|
150 |
+
|
151 |
+
$expiration = null !== $expiration ? $expiration : WEEK_IN_SECONDS;
|
152 |
+
|
153 |
+
# delete_transient( $transient_key );
|
154 |
+
if ( false === ( $json = get_transient( $transient_key ) ) ) {
|
155 |
+
|
156 |
+
$response = wp_remote_get(
|
157 |
+
esc_url( $url ),
|
158 |
+
array(
|
159 |
+
'timeout' => apply_filters( 'cl_wp_remote_get_timeout', (int) 15 ),
|
160 |
+
'sslverify' => false,
|
161 |
+
'user-agent' => $user_agent . '/' . $_version . '; ' . get_bloginfo( 'url' ),
|
162 |
+
)
|
163 |
+
);
|
164 |
+
|
165 |
+
if ( !is_wp_error( $response ) ) {
|
166 |
+
|
167 |
+
if ( isset( $response['body'] ) && strlen( $response['body'] ) > 0 ) {
|
168 |
+
|
169 |
+
$json = json_decode( wp_remote_retrieve_body( $response ) );
|
170 |
+
|
171 |
+
// Discount, double check?
|
172 |
+
if ( is_wp_error( $json ) )
|
173 |
+
return false;
|
174 |
+
|
175 |
+
// Cache the results for '$expiration'
|
176 |
+
set_transient( $transient_key, $json, $expiration );
|
177 |
+
|
178 |
+
// Return the data
|
179 |
+
return $json;
|
180 |
+
}
|
181 |
+
}
|
182 |
+
else {
|
183 |
+
return false; // Error, lets return!
|
184 |
+
}
|
185 |
+
}
|
186 |
+
|
187 |
+
return $json;
|
188 |
+
}
|
189 |
+
|
190 |
+
/**
|
191 |
+
* Helper function check if we're on our settings page.
|
192 |
+
*
|
193 |
+
* @since 3.0.9
|
194 |
+
*/
|
195 |
+
public static function is_settings_page( $page = '' ) {
|
196 |
+
|
197 |
+
$return = true;
|
198 |
+
$screen = get_current_screen();
|
199 |
+
|
200 |
+
if ( null !== $screen ) {
|
201 |
+
|
202 |
+
if ( $screen->id != ( CUSTOMLOGIN()->menu_page ) )
|
203 |
+
$return = false;
|
204 |
+
}
|
205 |
+
else {
|
206 |
+
global $pagenow;
|
207 |
+
|
208 |
+
if ( 'options-general.php' != $pagenow )
|
209 |
+
$return = false;
|
210 |
+
|
211 |
+
if ( !isset( $_GET['page'] ) || CUSTOM_LOGIN_DIRNAME != $_GET['page'] )
|
212 |
+
$return = false;
|
213 |
+
}
|
214 |
+
|
215 |
+
return $return;
|
216 |
+
}
|
217 |
+
|
218 |
+
}
|
includes/class-cl-cron.php
CHANGED
File without changes
|
includes/class-cl-extensions.php
CHANGED
@@ -217,7 +217,7 @@ class CL_Extensions {
|
|
217 |
$html .= '<div class="col span_1_of_3 eddri-addon">';
|
218 |
$html .= '<div class="eddri-addon-container">';
|
219 |
$html .= '<div class="eddri-img-wrap">';
|
220 |
-
$html .= '<a href="' . add_query_arg( array( 'utm_source' => 'wordpressorg', 'utm_medium' => 'custom-login', 'utm_campaign' => 'eddri' ), $extension['url'] ) . '" target="_blank"><img class="eddri-thumbnail" src="' . $extension['image'] . '"></a>';
|
221 |
$html .= '<p>' . $extension['description'] . '</p>';
|
222 |
$html .= '</div>';
|
223 |
|
@@ -230,9 +230,9 @@ class CL_Extensions {
|
|
230 |
$html .= '<ul>';
|
231 |
foreach( $extension['links'] as $link ) {
|
232 |
$html .= '<li>';
|
233 |
-
$html .= $link['description'] . ' (' . $link['price'] . '): <a href="' . add_query_arg( array( 'edd_action' => 'straight_to_gateway', 'download_id' => $link['download_id'], 'edd_options[price_id]' => $link['price_id'] ), $this->checkout_url ) . '">PayPal</a>';
|
234 |
$html .= ' | ';
|
235 |
-
$html .= '<a href="' . add_query_arg( array( 'edd_action' => 'add_to_cart', 'download_id' => $link['download_id'], 'edd_options[price_id]' => $link['price_id'] ), $this->checkout_url ) . '">Credit Card</a>';
|
236 |
$html .= '</li>';
|
237 |
}
|
238 |
$html .= '</ul>';
|
217 |
$html .= '<div class="col span_1_of_3 eddri-addon">';
|
218 |
$html .= '<div class="eddri-addon-container">';
|
219 |
$html .= '<div class="eddri-img-wrap">';
|
220 |
+
$html .= '<a href="' . esc_url( add_query_arg( array( 'utm_source' => 'wordpressorg', 'utm_medium' => 'custom-login', 'utm_campaign' => 'eddri' ), $extension['url'] ) ) . '" target="_blank"><img class="eddri-thumbnail" src="' . $extension['image'] . '"></a>';
|
221 |
$html .= '<p>' . $extension['description'] . '</p>';
|
222 |
$html .= '</div>';
|
223 |
|
230 |
$html .= '<ul>';
|
231 |
foreach( $extension['links'] as $link ) {
|
232 |
$html .= '<li>';
|
233 |
+
$html .= $link['description'] . ' (' . $link['price'] . '): <a href="' . esc_url( add_query_arg( array( 'edd_action' => 'straight_to_gateway', 'download_id' => $link['download_id'], 'edd_options[price_id]' => $link['price_id'] ), $this->checkout_url ) ) . '">PayPal</a>';
|
234 |
$html .= ' | ';
|
235 |
+
$html .= '<a href="' . esc_url( add_query_arg( array( 'edd_action' => 'add_to_cart', 'download_id' => $link['download_id'], 'edd_options[price_id]' => $link['price_id'] ), $this->checkout_url ) ) . '">Credit Card</a>';
|
236 |
$html .= '</li>';
|
237 |
}
|
238 |
$html .= '</ul>';
|
includes/class-cl-scripts-styles.php
CHANGED
File without changes
|
includes/class-cl-settings-api.php
CHANGED
@@ -1,174 +1,188 @@
|
|
1 |
<?php
|
2 |
|
3 |
// Exit if accessed directly
|
4 |
-
if ( ! defined( 'ABSPATH' ) )
|
|
|
|
|
5 |
|
6 |
/**
|
7 |
* Custom Login Settings API
|
8 |
*/
|
9 |
class CL_Settings_API {
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
public function __construct( $sections = array(), $fields = array(), $args = array() ) {
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
|
|
|
|
|
|
|
|
67 |
public function admin_enqueue_scripts( $hook ) {
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
|
|
|
|
|
|
|
|
99 |
public function wp_localize_script() {
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
}
|
105 |
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
public function set_sections( $sections ) {
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
|
|
116 |
}
|
117 |
|
118 |
/**
|
119 |
* Add a single section
|
120 |
*
|
121 |
-
* @param array
|
122 |
*/
|
123 |
public function add_section( $section ) {
|
124 |
-
|
125 |
-
|
126 |
-
|
|
|
127 |
}
|
128 |
|
129 |
/**
|
130 |
* Set settings fields
|
131 |
*
|
132 |
-
* @param array
|
133 |
*/
|
134 |
public function set_fields( $fields ) {
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
|
|
139 |
}
|
140 |
|
141 |
/**
|
142 |
* Add a single field
|
143 |
*
|
144 |
-
* @param array
|
145 |
-
* @param array
|
146 |
*/
|
147 |
public function add_field( $section, $field ) {
|
148 |
-
|
149 |
-
$defaults = array(
|
150 |
-
'name' => '',
|
151 |
-
'label' => '',
|
152 |
-
'desc' => '',
|
153 |
-
'type' => 'text',
|
154 |
-
);
|
155 |
|
156 |
-
|
157 |
-
|
158 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
159 |
}
|
160 |
|
161 |
/**
|
162 |
* Add a single section
|
163 |
*
|
164 |
-
* @param array
|
165 |
*/
|
166 |
public function add_sidebar( $sidebar = array() ) {
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
}
|
173 |
|
174 |
/**
|
@@ -180,474 +194,487 @@ class CL_Settings_API {
|
|
180 |
* registers them to WordPress and ready for use.
|
181 |
*/
|
182 |
public function admin_init() {
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
|
|
|
|
|
|
220 |
}
|
221 |
|
222 |
/**
|
223 |
* Displays a text field for a settings field
|
224 |
*
|
225 |
-
* @param array
|
226 |
-
|
|
|
227 |
*/
|
228 |
function callback_text( $args ) {
|
229 |
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
}
|
239 |
|
240 |
/**
|
241 |
* Displays a text field for a settings field
|
242 |
*
|
243 |
-
* @param array
|
244 |
-
|
|
|
245 |
*/
|
246 |
function callback_text_number( $args ) {
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
}
|
251 |
|
252 |
/**
|
253 |
* Displays a text field for a settings field
|
254 |
*
|
255 |
-
* @param array
|
256 |
*/
|
257 |
function callback_text_array( $args ) {
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
*/
|
292 |
function callback_colorpicker( $args ) {
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
}
|
328 |
|
329 |
/**
|
330 |
* Displays a checkbox for a settings field
|
331 |
*
|
332 |
-
* @param array
|
333 |
*/
|
334 |
function callback_checkbox( $args ) {
|
335 |
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
$html .= !empty( $args['desc'] ) ? sprintf( '<span class="description"> %s</span>', $args['desc'] ) : '';
|
345 |
|
346 |
-
|
|
|
|
|
347 |
}
|
348 |
|
349 |
/**
|
350 |
* Displays a multicheckbox a settings field
|
351 |
*
|
352 |
-
* @param array
|
353 |
*/
|
354 |
function callback_multicheck( $args ) {
|
355 |
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
}
|
374 |
|
375 |
/**
|
376 |
* Displays a multicheckbox a settings field
|
377 |
*
|
378 |
-
* @param array
|
379 |
*/
|
380 |
function callback_radio( $args ) {
|
381 |
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
}
|
399 |
|
400 |
/**
|
401 |
* Displays a selectbox for a settings field
|
402 |
*
|
403 |
-
* @param array
|
404 |
*/
|
405 |
function callback_select( $args ) {
|
406 |
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
/* Localize the array */
|
411 |
-
$this->localize_array['callback_select'][] = array( 'id' => $args['id'], 'section' => $args['section'] );
|
412 |
-
|
413 |
-
$html = sprintf( '<select class="%1$s" name="%2$s[%3$s]" id="%2$s[%3$s]">', $size, $args['section'], $args['id'] );
|
414 |
-
foreach ( $args['options'] as $key => $label ) {
|
415 |
-
$html .= sprintf( '<option value="%s"%s>%s</option>', $key, selected( $value, $key, false ), $label );
|
416 |
-
}
|
417 |
-
$html .= sprintf( '</select>' );
|
418 |
-
|
419 |
-
$html .= !empty( $args['desc'] ) ? sprintf( '<br><span class="description"> %s</span>', $args['desc'] ) : '';
|
420 |
|
421 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
422 |
}
|
423 |
|
424 |
/**
|
425 |
* Displays a textarea for a settings field
|
426 |
*
|
427 |
-
* @param array
|
428 |
*/
|
429 |
function callback_textarea( $args ) {
|
430 |
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
}
|
447 |
|
448 |
/**
|
449 |
* Displays a HTML for a settings field
|
450 |
*
|
451 |
-
* @param array
|
452 |
*/
|
453 |
function callback_html( $args ) {
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
}
|
461 |
|
462 |
/**
|
463 |
* Displays raw HTML for a settings field
|
464 |
*
|
465 |
-
* @param array
|
466 |
*/
|
467 |
function callback_raw( $args ) {
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
}
|
473 |
|
474 |
/**
|
475 |
* Displays a rich text textarea for a settings field
|
476 |
*
|
477 |
-
* @param array
|
478 |
*/
|
479 |
function callback_wysiwyg( $args ) {
|
480 |
|
481 |
-
|
482 |
-
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
|
|
|
|
|
|
|
495 |
}
|
496 |
|
497 |
/**
|
498 |
* Displays a file upload field for a settings field
|
499 |
*
|
500 |
-
* @param array
|
501 |
*/
|
502 |
function callback_file( $args ) {
|
503 |
-
|
504 |
-
|
505 |
-
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
-
|
510 |
-
|
511 |
-
|
512 |
-
|
513 |
-
|
514 |
-
|
515 |
-
|
516 |
-
|
517 |
-
|
518 |
-
|
519 |
-
|
520 |
-
|
521 |
-
|
522 |
-
|
523 |
-
|
524 |
-
|
525 |
-
|
526 |
-
|
527 |
-
|
528 |
-
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
}
|
533 |
|
534 |
/**
|
535 |
* Displays a password field for a settings field
|
536 |
*
|
537 |
-
* @param array
|
538 |
*/
|
539 |
function callback_password( $args ) {
|
540 |
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
|
545 |
-
|
546 |
-
|
547 |
-
|
548 |
}
|
549 |
|
550 |
/**
|
551 |
* Sanitize callback for Settings API
|
552 |
-
*/
|
553 |
function sanitize_options( $options ) {
|
554 |
-
|
555 |
-
|
556 |
-
|
557 |
-
|
558 |
-
|
559 |
-
|
560 |
-
|
561 |
-
|
562 |
-
|
563 |
-
|
564 |
-
|
565 |
-
|
566 |
-
|
567 |
-
|
568 |
-
|
569 |
-
|
570 |
-
|
571 |
-
|
572 |
-
|
573 |
-
|
574 |
-
|
575 |
-
|
576 |
-
|
577 |
-
|
578 |
-
|
579 |
-
|
580 |
-
|
|
|
581 |
/**
|
582 |
* Get sanitization callback for given option slug
|
583 |
-
*
|
584 |
* @param string $slug option slug
|
585 |
-
*
|
586 |
* @return mixed string or bool false
|
587 |
-
*/
|
588 |
function get_sanitize_callback( $slug = '' ) {
|
589 |
-
|
590 |
-
|
591 |
-
|
592 |
-
|
593 |
-
|
594 |
-
|
595 |
-
|
596 |
-
|
597 |
-
|
598 |
-
|
599 |
-
|
600 |
-
|
601 |
-
|
602 |
-
|
603 |
-
|
604 |
-
|
605 |
-
|
606 |
-
|
607 |
-
|
608 |
-
|
609 |
-
|
610 |
-
|
611 |
-
|
612 |
-
|
613 |
-
|
614 |
-
|
615 |
-
|
616 |
-
|
617 |
-
|
618 |
-
|
619 |
-
|
620 |
-
|
621 |
-
|
622 |
-
|
623 |
-
|
624 |
-
|
625 |
-
|
626 |
-
|
627 |
-
|
628 |
-
|
629 |
-
|
630 |
-
|
631 |
-
|
632 |
-
|
633 |
-
|
634 |
-
|
635 |
-
|
636 |
-
|
637 |
-
|
638 |
-
|
639 |
-
|
640 |
-
|
641 |
-
|
642 |
-
|
643 |
-
|
644 |
-
|
645 |
-
|
646 |
-
|
647 |
-
|
648 |
-
|
649 |
-
|
650 |
-
|
|
|
|
|
|
|
|
|
|
|
651 |
|
652 |
/**
|
653 |
* Show navigation as lists
|
@@ -655,7 +682,7 @@ class CL_Settings_API {
|
|
655 |
* Shows all the settings section labels as list items
|
656 |
*/
|
657 |
private function show_navigation() {
|
658 |
-
|
659 |
$html = '<ul class="cl-sections-menu">';
|
660 |
foreach ( $this->settings_sections as $tab ) {
|
661 |
$html .= sprintf( '<li><a href="%1$s">%2$s</a></li>', isset( $tab['href'] ) ? $tab['href'] : '#' . $tab['id'], $tab['title'] );
|
@@ -671,22 +698,23 @@ class CL_Settings_API {
|
|
671 |
* This function displays every sections in a different form
|
672 |
*/
|
673 |
private function show_forms() {
|
674 |
-
|
675 |
-
|
676 |
-
|
677 |
-
|
678 |
-
|
679 |
-
|
680 |
-
|
681 |
-
|
682 |
-
|
683 |
-
|
684 |
-
|
685 |
-
|
686 |
-
|
687 |
-
|
688 |
-
|
689 |
-
|
|
|
690 |
}
|
691 |
|
692 |
/**
|
@@ -695,61 +723,91 @@ class CL_Settings_API {
|
|
695 |
* This function displays every sections in a different form
|
696 |
*/
|
697 |
public function get_form() {
|
698 |
-
|
699 |
-
|
700 |
-
|
701 |
-
|
702 |
-
|
703 |
-
|
704 |
-
|
705 |
-
|
706 |
-
|
707 |
-
|
708 |
-
|
709 |
-
|
710 |
-
|
711 |
-
|
712 |
-
|
713 |
-
|
714 |
-
|
715 |
-
|
716 |
-
|
717 |
-
|
718 |
-
|
719 |
-
|
720 |
-
|
721 |
-
|
722 |
-
|
723 |
-
|
724 |
-
|
725 |
-
|
726 |
-
|
727 |
-
|
728 |
-
|
729 |
-
|
730 |
-
|
731 |
-
|
732 |
-
|
733 |
-
|
734 |
-
|
735 |
-
|
736 |
-
|
737 |
-
|
738 |
-
|
739 |
-
|
740 |
-
|
741 |
-
|
742 |
-
|
743 |
-
|
744 |
-
|
745 |
-
|
746 |
-
|
747 |
-
|
748 |
-
|
749 |
-
|
750 |
-
|
751 |
-
|
752 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
753 |
<span class="tgl_body">
|
754 |
<span class="tgl_switch"></span>
|
755 |
<span class="tgl_track">
|
@@ -757,140 +815,141 @@ class CL_Settings_API {
|
|
757 |
<span class="tgl_bgd tgl_bgd-negative"></span>
|
758 |
</span>
|
759 |
</span>
|
760 |
-
|
761 |
-
|
762 |
-
|
763 |
-
|
764 |
-
|
765 |
-
|
766 |
-
|
767 |
-
|
768 |
-
|
769 |
<i class="dashicons dashicons-star-filled"></i>
|
770 |
<i class="dashicons dashicons-star-filled"></i>
|
771 |
<i class="dashicons dashicons-star-filled"></i>
|
772 |
<i class="dashicons dashicons-star-filled"></i>
|
773 |
<i class="dashicons dashicons-star-filled"></i>
|
774 |
</a>', _x( 'Rate', 'rate; as in rate this plugin', $this->settings['domain'] ) );
|
775 |
-
|
776 |
-
|
777 |
-
|
778 |
-
|
779 |
-
|
780 |
-
|
781 |
-
|
782 |
-
|
783 |
-
|
784 |
-
|
785 |
-
|
786 |
-
|
787 |
-
|
788 |
-
|
789 |
-
|
790 |
-
|
791 |
-
|
792 |
-
|
793 |
-
|
794 |
-
|
795 |
-
|
796 |
-
|
797 |
-
|
798 |
-
|
799 |
-
|
800 |
-
|
801 |
-
|
802 |
-
|
803 |
-
|
804 |
-
|
805 |
-
|
806 |
-
|
807 |
-
|
808 |
-
|
809 |
-
|
810 |
-
|
811 |
-
|
812 |
-
|
813 |
-
|
814 |
-
|
815 |
-
|
816 |
-
|
817 |
-
|
818 |
-
|
819 |
-
|
820 |
-
|
821 |
-
|
822 |
-
|
823 |
-
|
824 |
-
|
825 |
-
|
826 |
-
|
827 |
-
|
828 |
-
|
829 |
-
|
830 |
-
|
831 |
-
|
832 |
-
|
833 |
-
|
834 |
-
|
835 |
-
|
836 |
-
|
837 |
-
|
838 |
-
|
839 |
-
|
840 |
-
|
841 |
-
|
842 |
-
|
843 |
-
|
844 |
-
|
845 |
-
|
846 |
-
|
847 |
-
|
848 |
-
|
849 |
-
|
850 |
-
|
851 |
-
|
852 |
-
|
853 |
-
|
854 |
-
|
855 |
-
|
856 |
-
|
857 |
-
|
858 |
-
|
859 |
-
|
860 |
-
|
861 |
-
|
862 |
-
|
863 |
-
|
864 |
-
|
865 |
-
|
866 |
-
|
867 |
/**
|
868 |
* Replace all square brackets with and underscore.
|
869 |
*
|
870 |
-
* @param string
|
|
|
871 |
* @return string
|
872 |
*/
|
873 |
-
|
874 |
-
|
875 |
-
|
876 |
|
877 |
/**
|
878 |
* Get the value of a settings field
|
879 |
*
|
880 |
-
* @param string
|
881 |
-
* @param string
|
882 |
-
* @param string
|
|
|
883 |
* @return string
|
884 |
*/
|
885 |
-
|
886 |
-
|
887 |
-
|
888 |
-
|
889 |
-
|
890 |
-
|
891 |
-
|
892 |
-
|
893 |
-
|
894 |
-
|
895 |
|
896 |
}
|
1 |
<?php
|
2 |
|
3 |
// Exit if accessed directly
|
4 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
5 |
+
exit;
|
6 |
+
}
|
7 |
|
8 |
/**
|
9 |
* Custom Login Settings API
|
10 |
*/
|
11 |
class CL_Settings_API {
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Version
|
15 |
+
*/
|
16 |
+
var $api_version = '2.1.0';
|
17 |
+
|
18 |
+
/**
|
19 |
+
* @var array
|
20 |
+
*/
|
21 |
+
private $settings_sections = array();
|
22 |
+
private $settings_fields = array();
|
23 |
+
private $settings_sidebars = array();
|
24 |
+
private $localize_array = array();
|
25 |
+
|
26 |
+
/**
|
27 |
+
* @var array
|
28 |
+
*/
|
29 |
+
private $settings = array();
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Fire away captain!
|
33 |
+
*/
|
34 |
public function __construct( $sections = array(), $fields = array(), $args = array() ) {
|
35 |
+
|
36 |
+
$this->settings = $args;
|
37 |
+
|
38 |
+
if ( ! empty( $sections ) ) {
|
39 |
+
$this->set_sections( $sections );
|
40 |
+
}
|
41 |
+
|
42 |
+
if ( ! empty( $fields ) ) {
|
43 |
+
$this->set_fields( $fields );
|
44 |
+
}
|
45 |
+
|
46 |
+
add_action( 'load-' . $this->settings['menu_page'], array( $this, 'init' ), 89 );
|
47 |
+
add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
|
48 |
+
add_action( 'admin_footer', array( $this, 'wp_localize_script' ), 99 );
|
49 |
+
add_action( 'wp_ajax_' . $this->settings['prefix'] . '_get_form', array( $this, 'get_form' ), 99 );
|
50 |
+
add_action( 'wp_ajax_' . $this->settings['prefix'] . '_activate_check', array( $this, 'activate_check_ajax' ) );
|
51 |
+
}
|
52 |
+
|
53 |
+
/**
|
54 |
+
* Fire any actions needed a little late
|
55 |
+
*
|
56 |
+
* @return void
|
57 |
+
*/
|
58 |
+
public function init() {
|
59 |
+
|
60 |
+
add_action( 'admin_notices', array( $this, 'upgrade_notices' ) );
|
61 |
+
add_action( $this->settings['prefix'] . '_sticky_admin_notice', array(
|
62 |
+
$this,
|
63 |
+
'sticky_admin_notice_social_links',
|
64 |
+
), 10 );
|
65 |
+
add_action( $this->settings['prefix'] . '_before_submit_button', array( $this, 'is_active_toggle' ), 10 );
|
66 |
+
add_action( $this->settings['prefix'] . '_settings_sidebars', array( $this, 'about_the_author' ), 19 );
|
67 |
+
add_action( $this->settings['prefix'] . '_settings_sidebars', array( $this, 'sidebar_feed' ), 20 );
|
68 |
+
}
|
69 |
+
|
70 |
+
/**
|
71 |
+
* Enqueue scripts and styles
|
72 |
+
*/
|
73 |
public function admin_enqueue_scripts( $hook ) {
|
74 |
+
if ( 'settings_page_' . $this->settings['domain'] !== $hook ) {
|
75 |
+
return;
|
76 |
+
}
|
77 |
+
|
78 |
+
/* Core */
|
79 |
+
wp_enqueue_media();
|
80 |
+
wp_enqueue_script( array( 'wp-color-picker', 'plugin-install' ) );
|
81 |
+
wp_enqueue_style( array( 'wp-color-picker', 'thickbox', 'plugin-install' ) );
|
82 |
+
|
83 |
+
/* jQuery Chosen */
|
84 |
+
wp_enqueue_script( 'chosen', plugins_url( 'js/chosen.jquery.min.js', $this->settings['file'] ), array( 'jquery' ), '1.3.0', true );
|
85 |
+
wp_enqueue_style( 'chosen', plugins_url( 'css/chosen/chosen.min.css', $this->settings['file'] ), null, '1.3.0', 'screen' );
|
86 |
+
|
87 |
+
/* jQuery Sticky */
|
88 |
+
wp_enqueue_script( 'sticky', plugins_url( 'js/jquery.sticky.js', $this->settings['file'] ), array( 'jquery' ), '1.0.0', true );
|
89 |
+
|
90 |
+
/* Ace */
|
91 |
+
wp_enqueue_script( 'ace', plugins_url( 'js/ace/src-min-noconflict/ace.js', $this->settings['file'] ), null, '20.12.14', true );
|
92 |
+
|
93 |
+
/* Dashicons */
|
94 |
+
wp_enqueue_style( 'dashicons' );
|
95 |
+
|
96 |
+
/* Admin */
|
97 |
+
wp_enqueue_script( $this->settings['domain'], plugins_url( 'js/admin.js', $this->settings['file'] ), array(
|
98 |
+
'jquery',
|
99 |
+
'jquery-form',
|
100 |
+
), $this->settings['version'], true );
|
101 |
+
wp_enqueue_style( $this->settings['domain'], plugins_url( 'css/admin.css', $this->settings['file'] ), false, $this->settings['version'], 'screen' );
|
102 |
+
|
103 |
+
do_action( "{$this->settings['domain']}_admin_enqueue_scripts" );
|
104 |
+
}
|
105 |
+
|
106 |
+
/**
|
107 |
+
* Localize our script array.
|
108 |
+
*/
|
109 |
public function wp_localize_script() {
|
110 |
+
$this->localize_array['prefix'] = $this->settings['prefix'];
|
111 |
+
$this->localize_array['blog_id'] = get_current_blog_id();
|
112 |
+
$this->localize_array['nonce'] = wp_create_nonce( $this->settings['nonce'] );
|
113 |
+
wp_localize_script( $this->settings['domain'], 'cl_settings_api', $this->localize_array );
|
114 |
}
|
115 |
|
116 |
+
/**
|
117 |
+
* Set settings sections
|
118 |
+
*
|
119 |
+
* @param array $sections setting sections array
|
120 |
+
*/
|
121 |
public function set_sections( $sections ) {
|
122 |
+
|
123 |
+
$sections = apply_filters( $this->settings['prefix'] . '_add_settings_sections', $sections );
|
124 |
+
$this->settings_sections = $sections;
|
125 |
+
|
126 |
+
return $this;
|
127 |
}
|
128 |
|
129 |
/**
|
130 |
* Add a single section
|
131 |
*
|
132 |
+
* @param array $section
|
133 |
*/
|
134 |
public function add_section( $section ) {
|
135 |
+
|
136 |
+
$this->settings_sections[] = $section;
|
137 |
+
|
138 |
+
return $this;
|
139 |
}
|
140 |
|
141 |
/**
|
142 |
* Set settings fields
|
143 |
*
|
144 |
+
* @param array $fields settings fields array
|
145 |
*/
|
146 |
public function set_fields( $fields ) {
|
147 |
+
|
148 |
+
$fields = apply_filters( $this->settings['prefix'] . '_add_settings_fields', $fields );
|
149 |
+
$this->settings_fields = $fields;
|
150 |
+
|
151 |
+
return $this;
|
152 |
}
|
153 |
|
154 |
/**
|
155 |
* Add a single field
|
156 |
*
|
157 |
+
* @param array $section
|
158 |
+
* @param array $field
|
159 |
*/
|
160 |
public function add_field( $section, $field ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
161 |
|
162 |
+
$defaults = array(
|
163 |
+
'name' => '',
|
164 |
+
'label' => '',
|
165 |
+
'desc' => '',
|
166 |
+
'type' => 'text',
|
167 |
+
);
|
168 |
+
|
169 |
+
$args = wp_parse_args( $field, $defaults );
|
170 |
+
$this->settings_fields[ $section ][] = $args;
|
171 |
+
|
172 |
+
return $this;
|
173 |
}
|
174 |
|
175 |
/**
|
176 |
* Add a single section
|
177 |
*
|
178 |
+
* @param array $section
|
179 |
*/
|
180 |
public function add_sidebar( $sidebar = array() ) {
|
181 |
+
|
182 |
+
$sidebar = apply_filters( $this->settings['prefix'] . '_add_settings_sidebar', $sidebar );
|
183 |
+
if ( ! empty( $sidebar ) ) {
|
184 |
+
$this->settings_sidebars[] = $sidebar;
|
185 |
+
}
|
186 |
}
|
187 |
|
188 |
/**
|
194 |
* registers them to WordPress and ready for use.
|
195 |
*/
|
196 |
public function admin_init() {
|
197 |
+
|
198 |
+
//register settings sections
|
199 |
+
foreach ( $this->settings_sections as $section ) {
|
200 |
+
if ( false == get_option( $section['id'] ) && ( isset( $section['option'] ) && false !== $section['option'] ) ) {
|
201 |
+
add_option( $section['id'] );
|
202 |
+
}
|
203 |
+
|
204 |
+
add_settings_section( $section['id'], $section['title'], '__return_false', $section['id'] );
|
205 |
+
}
|
206 |
+
|
207 |
+
//register settings fields
|
208 |
+
foreach ( $this->settings_fields as $section => $field ) {
|
209 |
+
foreach ( $field as $option ) {
|
210 |
+
|
211 |
+
$type = isset( $option['type'] ) ? $option['type'] : 'text';
|
212 |
+
|
213 |
+
$args = array(
|
214 |
+
'id' => $option['name'],
|
215 |
+
'desc' => isset( $option['desc'] ) ? $option['desc'] : '',
|
216 |
+
'name' => $option['label'],
|
217 |
+
'section' => $section,
|
218 |
+
'size' => isset( $option['size'] ) ? $option['size'] : null,
|
219 |
+
'options' => isset( $option['options'] ) ? $option['options'] : '',
|
220 |
+
'default' => isset( $option['default'] ) ? $option['default'] : '',
|
221 |
+
'sanitize' => isset( $option['sanitize'] ) ? $option['sanitize'] : '',
|
222 |
+
'callback' => isset( $option['class'] ) ? $option['class'] : $this,
|
223 |
+
);
|
224 |
+
$args = wp_parse_args( $args, $option );
|
225 |
+
|
226 |
+
add_settings_field( $section . '[' . $option['name'] . ']', $option['label'], array(
|
227 |
+
$args['callback'],
|
228 |
+
'callback_' . $type,
|
229 |
+
), $section, $section, $args );
|
230 |
+
}
|
231 |
+
}
|
232 |
+
|
233 |
+
// creates our settings in the options table
|
234 |
+
foreach ( $this->settings_sections as $section ) {
|
235 |
+
register_setting( $section['id'], $section['id'], array( $this, 'sanitize_options' ) );
|
236 |
+
}
|
237 |
}
|
238 |
|
239 |
/**
|
240 |
* Displays a text field for a settings field
|
241 |
*
|
242 |
+
* @param array $args settings field args
|
243 |
+
*
|
244 |
+
* @updated 2.0.2
|
245 |
*/
|
246 |
function callback_text( $args ) {
|
247 |
|
248 |
+
$value = esc_attr( $this->get_option( $args['id'], $args['section'], $args['default'] ) );
|
249 |
+
$size = isset( $args['size'] ) && ! is_null( $args['size'] ) ? $args['size'] : 'regular';
|
250 |
+
$type = isset( $args['type'] ) && ! is_null( $args['type'] ) ? $args['type'] : 'text';
|
251 |
+
|
252 |
+
$html = sprintf( '<input type="%1$s" class="%2$s-text" id="%3$s[%4$s]" name="%3$s[%4$s]" value="%5$s">', $type, $size, $args['section'], $args['id'], $value );
|
253 |
+
$html .= ! empty( $args['desc'] ) ? sprintf( '<span class="description"> %s</span>', $args['desc'] ) : '';
|
254 |
+
|
255 |
+
echo $html;
|
256 |
}
|
257 |
|
258 |
/**
|
259 |
* Displays a text field for a settings field
|
260 |
*
|
261 |
+
* @param array $args settings field args
|
262 |
+
*
|
263 |
+
* @since 2.0.2
|
264 |
*/
|
265 |
function callback_text_number( $args ) {
|
266 |
+
|
267 |
+
$args['type'] = 'number';
|
268 |
+
$this->callback_text( $args );
|
269 |
}
|
270 |
|
271 |
/**
|
272 |
* Displays a text field for a settings field
|
273 |
*
|
274 |
+
* @param array $args settings field args
|
275 |
*/
|
276 |
function callback_text_array( $args ) {
|
277 |
+
|
278 |
+
$value = $this->get_option( $args['id'], $args['section'], $args['default'] );
|
279 |
+
$size = isset( $args['size'] ) && ! is_null( $args['size'] ) ? $args['size'] : 'regular';
|
280 |
+
|
281 |
+
$html = '<ul style="margin-top:0">';
|
282 |
+
|
283 |
+
if ( is_array( $value ) ) {
|
284 |
+
foreach ( $value as $key => $val ) {
|
285 |
+
$html .= '<li>';
|
286 |
+
$html .= sprintf( '<input type="text" class="%1$s-text" id="%2$s[%3$s]" name="%2$s[%3$s][]" value="%4$s" data-key="%5$s">', $size, $args['section'], $args['id'], esc_attr( $val ), $key );
|
287 |
+
$html .= sprintf( '<a href="#" class="button dodelete-%1$s[%2$s]">-</a>', $args['section'], $args['id'] );
|
288 |
+
$html .= '</li>';
|
289 |
+
}
|
290 |
+
} else {
|
291 |
+
$html .= '<li>';
|
292 |
+
$html .= sprintf( '<input type="text" class="%1$s-text" id="%2$s[%3$s]" name="%2$s[%3$s][]" value="%4$s" data-key="0" data-array="false">', $size, $args['section'], $args['id'], esc_attr( $value ) );
|
293 |
+
$html .= sprintf( '<a href="#" class="button dodelete-%1$s[%2$s]">-</a>', $args['section'], $args['id'] );
|
294 |
+
$html .= '</li>';
|
295 |
+
}
|
296 |
+
|
297 |
+
$html .= '</ul>';
|
298 |
+
$html .= sprintf( '<a href="#" class="button docopy-%1$s[%2$s]">+</a>', $args['section'], $args['id'] );
|
299 |
+
|
300 |
+
$html .= ! empty( $args['desc'] ) ? sprintf( '<span class="description"> %s</span>', $args['desc'] ) : '';
|
301 |
+
|
302 |
+
echo $html;
|
303 |
+
}
|
304 |
+
|
305 |
+
/**
|
306 |
+
* Displays a text field for a settings field
|
307 |
+
*
|
308 |
+
* @param array $args settings field args
|
309 |
+
*/
|
|
|
310 |
function callback_colorpicker( $args ) {
|
311 |
+
|
312 |
+
$value = esc_attr( $this->get_option( $args['id'], $args['section'], $args['default'] ) );
|
313 |
+
$check = esc_attr( $this->get_option( $args['id'] . '_checkbox', $args['section'], $args['default'] ) );
|
314 |
+
$opacity = esc_attr( $this->get_option( $args['id'] . '_opacity', $args['section'], $args['default'] ) );
|
315 |
+
$size = isset( $args['size'] ) && ! is_null( $args['size'] ) ? $args['size'] : 'small';
|
316 |
+
$options = array( '1', '0.9', '0.8', '0.7', '0.6', '0.5', '0.4', '0.3', '0.2', '0.1', '0', );
|
317 |
+
$class = 'on' != $check ? ' hidden' : '';
|
318 |
+
|
319 |
+
/* Localize the array */
|
320 |
+
$this->localize_array['callback_colorpicker'][] = array( 'id' => $args['id'], 'section' => $args['section'] );
|
321 |
+
|
322 |
+
/* Color */
|
323 |
+
$html = '<div class="cl-colorpicker-wrap">';
|
324 |
+
$html .= sprintf( '<input type="text" class="%1$s-text" id="%2$s[%3$s]" name="%2$s[%3$s]" value="%4$s" style="float:left">', $size, $args['section'], $args['id'], $value );
|
325 |
+
|
326 |
+
/* Allow Opacity */
|
327 |
+
$html .= '<div class="checkbox-wrap">';
|
328 |
+
$html .= sprintf( '<input type="hidden" name="%1$s[%2$s]" value="off" >', $args['section'], $args['id'] . '_checkbox' );
|
329 |
+
$html .= sprintf( '<input type="checkbox" class="checkbox" id="%1$s[%2$s]" name="%1$s[%2$s]" value="on"%4$s >', $args['section'], $args['id'] . '_checkbox', $check, checked( $check, 'on', false ) );
|
330 |
+
$html .= sprintf( __( '<label for="%1$s[%2$s]">Opacity</label>', $this->settings['domain'] ), $args['section'], $args['id'] . '_checkbox' );
|
331 |
+
$html .= '</div>';
|
332 |
+
|
333 |
+
/* Opacity */
|
334 |
+
$html .= sprintf( '<select class="%1$s%4$s" name="%2$s[%3$s]" id="%2$s[%3$s]" style="margin-left:70px;">', $size, $args['section'], $args['id'] . '_opacity', $class );
|
335 |
+
foreach ( $options as $key ) {
|
336 |
+
$html .= sprintf( '<option value="%s"%s>%s</option>', $key, selected( $opacity, $key, false ), $key );
|
337 |
+
}
|
338 |
+
$html .= '</select>';
|
339 |
+
$html .= '<br class="clear">';
|
340 |
+
$html .= '</div>';
|
341 |
+
|
342 |
+
$html .= ! empty( $args['desc'] ) ? sprintf( '<span class="description"> %s</span>', $args['desc'] ) : '';
|
343 |
+
|
344 |
+
echo $html;
|
345 |
}
|
346 |
|
347 |
/**
|
348 |
* Displays a checkbox for a settings field
|
349 |
*
|
350 |
+
* @param array $args settings field args
|
351 |
*/
|
352 |
function callback_checkbox( $args ) {
|
353 |
|
354 |
+
$value = esc_attr( $this->get_option( $args['id'], $args['section'], $args['default'] ) );
|
355 |
+
|
356 |
+
$html = '<div class="checkbox-wrap">';
|
357 |
+
$html .= sprintf( '<input type="hidden" name="%1$s[%2$s]" value="off" >', $args['section'], $args['id'] );
|
358 |
+
$html .= sprintf( '<input type="checkbox" class="checkbox" id="%1$s[%2$s]" name="%1$s[%2$s]" value="on"%4$s >', $args['section'], $args['id'], $value, checked( $value, 'on', false ) );
|
359 |
+
$html .= sprintf( '<label for="%1$s[%2$s]"></label>', $args['section'], $args['id'] );
|
360 |
+
$html .= '</div>';
|
|
|
|
|
361 |
|
362 |
+
$html .= ! empty( $args['desc'] ) ? sprintf( '<span class="description"> %s</span>', $args['desc'] ) : '';
|
363 |
+
|
364 |
+
echo $html;
|
365 |
}
|
366 |
|
367 |
/**
|
368 |
* Displays a multicheckbox a settings field
|
369 |
*
|
370 |
+
* @param array $args settings field args
|
371 |
*/
|
372 |
function callback_multicheck( $args ) {
|
373 |
|
374 |
+
$value = $this->get_option( $args['id'], $args['section'], $args['default'] );
|
375 |
+
|
376 |
+
$html = '<div class="checkbox-wrap">';
|
377 |
+
$html .= '<ul>';
|
378 |
+
foreach ( $args['options'] as $key => $label ) {
|
379 |
+
$checked = isset( $value[ $key ] ) ? $value[ $key ] : '0';
|
380 |
+
$html .= '<li>';
|
381 |
+
$html .= sprintf( '<input type="checkbox" class="checkbox" id="%1$s[%2$s][%3$s]" name="%1$s[%2$s][%3$s]" value="%3$s"%4$s >', $args['section'], $args['id'], $key, checked( $checked, $key, false ) );
|
382 |
+
$html .= sprintf( '<label for="%1$s[%2$s][%4$s]" title="%3$s"> %3$s</label>', $args['section'], $args['id'], $label, $key );
|
383 |
+
$html .= '</li>';
|
384 |
+
}
|
385 |
+
$html .= '</ul>';
|
386 |
+
$html .= '</div>';
|
387 |
+
|
388 |
+
$html .= ! empty( $args['desc'] ) ? sprintf( '<span class="description"> %s</span>', $args['desc'] ) : '';
|
389 |
+
|
390 |
+
echo $html;
|
391 |
}
|
392 |
|
393 |
/**
|
394 |
* Displays a multicheckbox a settings field
|
395 |
*
|
396 |
+
* @param array $args settings field args
|
397 |
*/
|
398 |
function callback_radio( $args ) {
|
399 |
|
400 |
+
$value = $this->get_option( $args['id'], $args['section'], $args['default'] );
|
401 |
+
|
402 |
+
$html = '<div class="radio-wrap">';
|
403 |
+
$html .= '<ul>';
|
404 |
+
foreach ( $args['options'] as $key => $label ) {
|
405 |
+
$html .= '<li>';
|
406 |
+
$html .= sprintf( '<input type="radio" class="radio" id="%1$s[%2$s][%3$s]" name="%1$s[%2$s]" value="%3$s"%4$s >', $args['section'], $args['id'], $key, checked( $value, $key, false ) );
|
407 |
+
$html .= sprintf( '<label for="%1$s[%2$s][%4$s]" title="%3$s"> %3$s</label><br>', $args['section'], $args['id'], $label, $key );
|
408 |
+
$html .= '</li>';
|
409 |
+
}
|
410 |
+
$html .= '</ul>';
|
411 |
+
$html .= '</div>';
|
412 |
+
|
413 |
+
$html .= ! empty( $args['desc'] ) ? sprintf( '<span class="description"> %s</span>', $args['desc'] ) : '';
|
414 |
+
|
415 |
+
echo $html;
|
416 |
}
|
417 |
|
418 |
/**
|
419 |
* Displays a selectbox for a settings field
|
420 |
*
|
421 |
+
* @param array $args settings field args
|
422 |
*/
|
423 |
function callback_select( $args ) {
|
424 |
|
425 |
+
$value = esc_attr( $this->get_option( $args['id'], $args['section'], $args['default'] ) );
|
426 |
+
$size = isset( $args['size'] ) && ! is_null( $args['size'] ) ? $args['size'] : 'regular';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
427 |
|
428 |
+
/* Localize the array */
|
429 |
+
$this->localize_array['callback_select'][] = array( 'id' => $args['id'], 'section' => $args['section'] );
|
430 |
+
|
431 |
+
$html = sprintf( '<select class="%1$s" name="%2$s[%3$s]" id="%2$s[%3$s]">', $size, $args['section'], $args['id'] );
|
432 |
+
foreach ( $args['options'] as $key => $label ) {
|
433 |
+
$html .= sprintf( '<option value="%s"%s>%s</option>', $key, selected( $value, $key, false ), $label );
|
434 |
+
}
|
435 |
+
$html .= sprintf( '</select>' );
|
436 |
+
|
437 |
+
$html .= ! empty( $args['desc'] ) ? sprintf( '<br><span class="description"> %s</span>', $args['desc'] ) : '';
|
438 |
+
|
439 |
+
echo $html;
|
440 |
}
|
441 |
|
442 |
/**
|
443 |
* Displays a textarea for a settings field
|
444 |
*
|
445 |
+
* @param array $args settings field args
|
446 |
*/
|
447 |
function callback_textarea( $args ) {
|
448 |
|
449 |
+
$value = esc_textarea( $this->get_option( $args['id'], $args['section'], $args['default'] ) );
|
450 |
+
$size = isset( $args['size'] ) && ! is_null( $args['size'] ) ? $args['size'] : 'regular';
|
451 |
+
$extra = isset( $args['extra'] ) && is_array( $args['extra'] ) ? $args['extra'] : null;
|
452 |
+
$param = '';
|
453 |
+
|
454 |
+
if ( null !== $extra ) {
|
455 |
+
foreach ( $extra as $p_key => $p_value ) {
|
456 |
+
$param .= $p_key . '="' . $p_value . '"';
|
457 |
+
}
|
458 |
+
}
|
459 |
+
|
460 |
+
$html = sprintf( '<textarea rows="5" cols="55" class="%1$s-text" id="%2$s[%3$s]" name="%2$s[%3$s]"%5$s>%4$s</textarea>', $size, $args['section'], $args['id'], stripslashes( $value ), $param );
|
461 |
+
$html .= ! empty( $args['desc'] ) ? sprintf( '<span class="description"> %s</span>', $args['desc'] ) : '';
|
462 |
+
|
463 |
+
echo $html;
|
464 |
}
|
465 |
|
466 |
/**
|
467 |
* Displays a HTML for a settings field
|
468 |
*
|
469 |
+
* @param array $args settings field args
|
470 |
*/
|
471 |
function callback_html( $args ) {
|
472 |
+
static $counter = 0;
|
473 |
+
|
474 |
+
$html = isset( $args['desc'] ) ? sprintf( '<div class="section-%s-%d">%s</div><hr>', $args['section'], $counter, $args['desc'] ) : '';
|
475 |
+
$counter ++;
|
476 |
+
|
477 |
+
echo $html;
|
478 |
}
|
479 |
|
480 |
/**
|
481 |
* Displays raw HTML for a settings field
|
482 |
*
|
483 |
+
* @param array $args settings field args
|
484 |
*/
|
485 |
function callback_raw( $args ) {
|
486 |
+
|
487 |
+
$html = isset( $args['desc'] ) ? sprintf( '<div class="raw-html">%s</div>', $args['desc'] ) : '';
|
488 |
+
|
489 |
+
echo $html;
|
490 |
}
|
491 |
|
492 |
/**
|
493 |
* Displays a rich text textarea for a settings field
|
494 |
*
|
495 |
+
* @param array $args settings field args
|
496 |
*/
|
497 |
function callback_wysiwyg( $args ) {
|
498 |
|
499 |
+
$value = wpautop( $this->get_option( $args['id'], $args['section'], $args['default'] ) );
|
500 |
+
$size = isset( $args['size'] ) && ! is_null( $args['size'] ) ? $args['size'] : '500px';
|
501 |
+
|
502 |
+
$html = sprintf( '<div style="width: %s">', $size );
|
503 |
+
|
504 |
+
ob_start();
|
505 |
+
wp_editor( $value, $args['section'] . '[' . $args['id'] . ']', array(
|
506 |
+
'teeny' => true,
|
507 |
+
'textarea_rows' => 10,
|
508 |
+
) );
|
509 |
+
|
510 |
+
$html .= ob_get_clean();
|
511 |
+
$html .= '</div>';
|
512 |
+
|
513 |
+
$html .= ! empty( $args['desc'] ) ? sprintf( '<br><span class="description"> %s</span>', $args['desc'] ) : '';
|
514 |
+
|
515 |
+
echo $html;
|
516 |
}
|
517 |
|
518 |
/**
|
519 |
* Displays a file upload field for a settings field
|
520 |
*
|
521 |
+
* @param array $args settings field args
|
522 |
*/
|
523 |
function callback_file( $args ) {
|
524 |
+
static $counter = 0;
|
525 |
+
|
526 |
+
$value = esc_attr( $this->get_option( $args['id'], $args['section'], $args['default'] ) );
|
527 |
+
$size = isset( $args['size'] ) && ! is_null( $args['size'] ) ? $args['size'] : 'regular';
|
528 |
+
$id = $args['section'] . '[' . $args['id'] . ']';
|
529 |
+
|
530 |
+
/* Localize the array */
|
531 |
+
$this->localize_array['callback_file'][] = array( 'id' => $args['id'], 'section' => $args['section'] );
|
532 |
+
|
533 |
+
$html = sprintf( '<input type="text" class="%1$s-text" id="%2$s[%3$s]" name="%2$s[%3$s]" value="%4$s">', $size, $args['section'], $args['id'], $value );
|
534 |
+
$html .= '<input type="button" class="button ' . $args['id'] . '-browse" id="' . $id . '_button" value="Browse" style="margin-left:5px" >';
|
535 |
+
$html .= '<input type="button" class="button ' . $args['id'] . '-clear" id="' . $id . '_clear" value="Clear" style="margin-left:5px" >';
|
536 |
+
|
537 |
+
$html .= ! empty( $args['desc'] ) ? sprintf( '<br><span class="description"> %s</span>', $args['desc'] ) : '';
|
538 |
+
|
539 |
+
/* Image */
|
540 |
+
$html .= '<div id="' . $id . '_preview" class="' . $id . '_preview">';
|
541 |
+
if ( $value != '' ) {
|
542 |
+
$check_image = preg_match( '/(^.*\.jpg|jpeg|png|gif|ico*)/i', $value );
|
543 |
+
if ( $check_image ) {
|
544 |
+
$html .= '<div class="img-wrapper">';
|
545 |
+
$html .= '<img src="' . $value . '" alt="" >';
|
546 |
+
$html .= '<a href="#" class="remove_file_button" rel="' . $id . '">Remove Image</a>';
|
547 |
+
$html .= '</div>';
|
548 |
+
}
|
549 |
+
}
|
550 |
+
$html .= '</div>';
|
551 |
+
|
552 |
+
echo $html;
|
553 |
}
|
554 |
|
555 |
/**
|
556 |
* Displays a password field for a settings field
|
557 |
*
|
558 |
+
* @param array $args settings field args
|
559 |
*/
|
560 |
function callback_password( $args ) {
|
561 |
|
562 |
+
$value = esc_attr( $this->get_option( $args['id'], $args['section'], $args['default'] ) );
|
563 |
+
$size = isset( $args['size'] ) && ! is_null( $args['size'] ) ? $args['size'] : 'regular';
|
564 |
+
|
565 |
+
$html = sprintf( '<input type="password" class="%1$s-text" id="%2$s[%3$s]" name="%2$s[%3$s]" value="%4$s">', $size, $args['section'], $args['id'], $value );
|
566 |
+
$html .= ! empty( $args['desc'] ) ? sprintf( '<span class="description"> %s</span>', $args['desc'] ) : '';
|
567 |
+
|
568 |
+
echo $html;
|
569 |
}
|
570 |
|
571 |
/**
|
572 |
* Sanitize callback for Settings API
|
573 |
+
*/
|
574 |
function sanitize_options( $options ) {
|
575 |
+
|
576 |
+
if ( is_null( $options ) ) {
|
577 |
+
return $options;
|
578 |
+
}
|
579 |
+
|
580 |
+
do_action( $this->settings['prefix'] . '_before_sanitize_options', $options );
|
581 |
+
|
582 |
+
foreach ( $options as $option_slug => $option_value ) {
|
583 |
+
$sanitize_callback = $this->get_sanitize_callback( $option_slug );
|
584 |
+
|
585 |
+
// If callback is set, call it
|
586 |
+
if ( $sanitize_callback ) {
|
587 |
+
$options[ $option_slug ] = call_user_func( $sanitize_callback, $option_value );
|
588 |
+
continue;
|
589 |
+
}
|
590 |
+
|
591 |
+
// Treat everything that's not an array as a string
|
592 |
+
if ( ! is_array( $option_value ) ) {
|
593 |
+
$options[ $option_slug ] = sanitize_text_field( $option_value );
|
594 |
+
continue;
|
595 |
+
}
|
596 |
+
}
|
597 |
+
|
598 |
+
do_action( $this->settings['prefix'] . '_after_sanitize_options', $options );
|
599 |
+
|
600 |
+
return $options;
|
601 |
+
}
|
602 |
+
|
603 |
/**
|
604 |
* Get sanitization callback for given option slug
|
605 |
+
*
|
606 |
* @param string $slug option slug
|
607 |
+
*
|
608 |
* @return mixed string or bool false
|
609 |
+
*/
|
610 |
function get_sanitize_callback( $slug = '' ) {
|
611 |
+
|
612 |
+
if ( empty( $slug ) ) {
|
613 |
+
return false;
|
614 |
+
}
|
615 |
+
|
616 |
+
// Iterate over registered fields and see if we can find proper callback
|
617 |
+
foreach ( $this->settings_fields as $section => $options ) {
|
618 |
+
foreach ( $options as $option ) {
|
619 |
+
if ( $option['name'] != $slug ) {
|
620 |
+
continue;
|
621 |
+
}
|
622 |
+
|
623 |
+
// Return the callback name
|
624 |
+
return isset( $option['sanitize'] ) && is_callable( $option['sanitize'] ) ? $option['sanitize'] : false;
|
625 |
+
}
|
626 |
+
}
|
627 |
+
|
628 |
+
return false;
|
629 |
+
}
|
630 |
+
|
631 |
+
/**
|
632 |
+
* Output our settings HTML
|
633 |
+
*
|
634 |
+
*/
|
635 |
+
public function settings_html() { ?>
|
636 |
+
|
637 |
+
<div class="cl-container">
|
638 |
+
|
639 |
+
<div class="cl-header">
|
640 |
+
<h3><?php _e( 'Custom Login', $this->settings['domain'] ); ?></h3>
|
641 |
+
<span><?php echo $this->settings['version']; ?></span>
|
642 |
+
<div>
|
643 |
+
<?php echo sprintf( __( 'A %s plugin', $this->settings['domain'] ), '<strong><a href="https://frosty.media/" target="_blank">Frosty Media</a></strong>' ); ?>
|
644 |
+
| <a href="https://twitter.com/Frosty_Media"><span
|
645 |
+
class="dashicons dashicons-twitter"></span></a>
|
646 |
+
</div>
|
647 |
+
</div><!-- #cl-header -->
|
648 |
+
|
649 |
+
<div id="cl-notices">
|
650 |
+
<h2></h2>
|
651 |
+
</div><!-- #cl-text -->
|
652 |
+
|
653 |
+
<div id="cl-sticky">
|
654 |
+
<div class="wrap">
|
655 |
+
<div id="sticky-admin-notice">
|
656 |
+
<?php do_action( $this->settings['prefix'] . '_sticky_admin_notice' ); ?>
|
657 |
+
</div>
|
658 |
+
<div class="alignright">
|
659 |
+
<?php do_action( $this->settings['prefix'] . '_before_submit_button' ); ?>
|
660 |
+
<?php submit_button( __( 'Save Changes', $this->settings['domain'] ), 'primary', 'cl_save', false ); ?>
|
661 |
+
</div>
|
662 |
+
<br class="clear">
|
663 |
+
</div>
|
664 |
+
</div><!-- #cl-sticky -->
|
665 |
+
|
666 |
+
<div class="cl-sidebar">
|
667 |
+
<?php $this->show_navigation(); ?>
|
668 |
+
<?php do_action( $this->settings['prefix'] . '_settings_sidebars', $this->settings_sidebars ); ?>
|
669 |
+
</div><!-- #cl-header -->
|
670 |
+
|
671 |
+
<div class="cl-main">
|
672 |
+
<?php $this->show_forms(); ?>
|
673 |
+
</div><!-- #cl-header -->
|
674 |
+
|
675 |
+
</div><!-- #cl-wrapper -->
|
676 |
+
<?php
|
677 |
+
}
|
678 |
|
679 |
/**
|
680 |
* Show navigation as lists
|
682 |
* Shows all the settings section labels as list items
|
683 |
*/
|
684 |
private function show_navigation() {
|
685 |
+
|
686 |
$html = '<ul class="cl-sections-menu">';
|
687 |
foreach ( $this->settings_sections as $tab ) {
|
688 |
$html .= sprintf( '<li><a href="%1$s">%2$s</a></li>', isset( $tab['href'] ) ? $tab['href'] : '#' . $tab['id'], $tab['title'] );
|
698 |
* This function displays every sections in a different form
|
699 |
*/
|
700 |
private function show_forms() {
|
701 |
+
|
702 |
+
foreach ( $this->settings_sections as $form ) {
|
703 |
+
$form_id = $form['id']; ?>
|
704 |
+
<div id="<?php echo $form_id; ?>" class="group">
|
705 |
+
<form action="options.php" id="<?php echo $form_id; ?>form" method="post">
|
706 |
+
<?php do_action( $this->settings['prefix'] . '_form_top_' . $form_id, $form ); ?>
|
707 |
+
<?php settings_fields( $form_id ); ?>
|
708 |
+
<?php do_settings_sections( $form_id ); ?>
|
709 |
+
<?php do_action( $this->settings['prefix'] . '_form_bottom_' . $form_id, $form ); ?>
|
710 |
+
<?php if ( isset( $form['submit'] ) && $form['submit'] ) {
|
711 |
+
submit_button( sprintf( __( 'Save %s', $this->settings['domain'] ), $form['title'] ) );
|
712 |
+
} ?>
|
713 |
+
</form>
|
714 |
+
</div><?php
|
715 |
+
# var_dump( $form_id, get_option( $form_id ) );
|
716 |
+
}
|
717 |
+
do_action( $this->settings['prefix'] . '_after_settings_sections_form' );
|
718 |
}
|
719 |
|
720 |
/**
|
723 |
* This function displays every sections in a different form
|
724 |
*/
|
725 |
public function get_form() {
|
726 |
+
|
727 |
+
check_ajax_referer( $this->settings['nonce'], 'nonce' );
|
728 |
+
|
729 |
+
if ( isset( $_POST['form_id'] ) ) {
|
730 |
+
|
731 |
+
$setting_form = array();
|
732 |
+
$setting_form['error'] = 1;
|
733 |
+
|
734 |
+
foreach ( $this->settings_sections as $form ) {
|
735 |
+
$form_id = $form['id'];
|
736 |
+
if ( str_replace( '#', '', $_POST['form_id'] ) !== $form_id ) {
|
737 |
+
continue;
|
738 |
+
}
|
739 |
+
ob_start(); ?>
|
740 |
+
<form action="options.php" id="<?php echo $form_id; ?>form" method="post">
|
741 |
+
<?php do_action( $this->settings['prefix'] . '_form_top_' . $form['id'], $form ); ?>
|
742 |
+
<?php settings_fields( $form['id'] ); ?>
|
743 |
+
<?php do_settings_sections( $form['id'] ); ?>
|
744 |
+
<?php do_action( $this->settings['prefix'] . '_form_bottom_' . $form['id'], $form ); ?>
|
745 |
+
<?php submit_button( sprintf( __( 'Save %s Changes', $this->settings['domain'] ), $form_id ) ); ?>
|
746 |
+
</form><?php
|
747 |
+
$setting_form['error'] = 0;
|
748 |
+
$setting_form['html'] = ob_get_clean();
|
749 |
+
}
|
750 |
+
|
751 |
+
header( 'Content-Type: application/json' );
|
752 |
+
echo json_encode( $setting_form );
|
753 |
+
die();
|
754 |
+
}
|
755 |
+
}
|
756 |
+
|
757 |
+
/**
|
758 |
+
* Show the section settings forms
|
759 |
+
*
|
760 |
+
* This function displays every sections in a different form
|
761 |
+
*/
|
762 |
+
public function activate_check_ajax() {
|
763 |
+
|
764 |
+
if ( empty( $_POST ) || ! check_ajax_referer( $this->settings['nonce'], 'nonce', false ) ) {
|
765 |
+
wp_send_json_error();
|
766 |
+
}
|
767 |
+
|
768 |
+
$settings = CL_Common::get_options( 'general' );
|
769 |
+
$active_value = isset( $_POST['active_value'] ) && 'true' == $_POST['active_value'] ? 'on' : 'off';
|
770 |
+
|
771 |
+
if ( isset( $settings['active'] ) && $settings['active'] !== $active_value ) {
|
772 |
+
$settings['active'] = $active_value;
|
773 |
+
|
774 |
+
if ( update_option( CUSTOM_LOGIN_OPTION . '_general', $settings ) ) {
|
775 |
+
wp_send_json_success();
|
776 |
+
} else {
|
777 |
+
wp_send_json_error();
|
778 |
+
}
|
779 |
+
}
|
780 |
+
|
781 |
+
wp_send_json_success();
|
782 |
+
}
|
783 |
+
|
784 |
+
/**
|
785 |
+
* Create a potbox widget.
|
786 |
+
*
|
787 |
+
* @param string $id ID of the postbox.
|
788 |
+
* @param string $title Title of the postbox.
|
789 |
+
* @param string $content Content of the postbox.
|
790 |
+
*/
|
791 |
+
public function postbox( $id, $title, $content, $group = false ) { ?>
|
792 |
+
|
793 |
+
<div class="metabox-holder<?php if ( $group ) {
|
794 |
+
echo ' group';
|
795 |
+
} ?>" id="<?php echo $id; ?>">
|
796 |
+
<div class="postbox">
|
797 |
+
<h3><?php echo $title; ?></h3>
|
798 |
+
<div class="inside"><?php echo $content; ?></div>
|
799 |
+
</div>
|
800 |
+
</div><?php
|
801 |
+
}
|
802 |
+
|
803 |
+
/**
|
804 |
+
* Global 'active' checkbox notification.
|
805 |
+
*
|
806 |
+
* @ref http://codepen.io/pklada/pen/jEGwMB
|
807 |
+
*/
|
808 |
+
function is_active_toggle() { ?>
|
809 |
+
<label class="tgl">
|
810 |
+
<span class="tgl_input"></span>
|
811 |
<span class="tgl_body">
|
812 |
<span class="tgl_switch"></span>
|
813 |
<span class="tgl_track">
|
815 |
<span class="tgl_bgd tgl_bgd-negative"></span>
|
816 |
</span>
|
817 |
</span>
|
818 |
+
</label><?php
|
819 |
+
}
|
820 |
+
|
821 |
+
/**
|
822 |
+
* Box with latest plugins from Extendd.com for sidebar
|
823 |
+
*/
|
824 |
+
function about_the_author( $args ) {
|
825 |
+
|
826 |
+
$content = sprintf( '%s: <a href="https://wordpress.org/support/view/plugin-reviews/custom-login" class="star-rating" target="_blank">
|
827 |
<i class="dashicons dashicons-star-filled"></i>
|
828 |
<i class="dashicons dashicons-star-filled"></i>
|
829 |
<i class="dashicons dashicons-star-filled"></i>
|
830 |
<i class="dashicons dashicons-star-filled"></i>
|
831 |
<i class="dashicons dashicons-star-filled"></i>
|
832 |
</a>', _x( 'Rate', 'rate; as in rate this plugin', $this->settings['domain'] ) );
|
833 |
+
|
834 |
+
$content .= '<ul>';
|
835 |
+
$content .= sprintf( '<li>%s: <a href="http://austin.passy.co" target="_blank">Austin Passy</a></li>', _x( 'Author', 'the author of this plugin', $this->settings['domain'] ) );
|
836 |
+
$content .= sprintf( '<li>%s: <a href="https://twitter.com/TheFrosty" target="_blank">TheFrosty</a></li>', __( 'Twitter', $this->settings['domain'] ) );
|
837 |
+
$content .= '</ul>';
|
838 |
+
|
839 |
+
$content .= sprintf( __( '<small>If you have suggestions for a new add-on, feel free to open a support request on <a href="%s" target="_blank">GitHub</a>. Want regular updates? Follow me on <a href="%s" target="_blank">Twitter</a> or visit my <a href="%s" target="_blank">blog</a>.</small>' ),
|
840 |
+
'https://github.com/thefrosty/custom-login/issues',
|
841 |
+
'https://twitter.com/TheFrosty',
|
842 |
+
'http://austin.passy.co'
|
843 |
+
);
|
844 |
+
|
845 |
+
$this->postbox( 'frosty-media-author', __( 'Custom Login', $this->settings['domain'] ), $content );
|
846 |
+
}
|
847 |
+
|
848 |
+
/**
|
849 |
+
* Box with latest plugins from Extendd.com for sidebar
|
850 |
+
*/
|
851 |
+
function sidebar_feed( $args ) {
|
852 |
+
|
853 |
+
$defaults = array(
|
854 |
+
'items' => 6,
|
855 |
+
'feed' => 'https://frosty.media/feed/?post_type=plugin&plugin_tag=custom-login-extension',
|
856 |
+
);
|
857 |
+
|
858 |
+
$args = wp_parse_args( $args, $defaults );
|
859 |
+
|
860 |
+
$rss_items = CL_Common::fetch_rss_items( $args['items'], $args['feed'] );
|
861 |
+
|
862 |
+
$content = '<ul>';
|
863 |
+
if ( ! $rss_items ) {
|
864 |
+
$content .= '<li>' . __( 'Error fetching feed', $this->settings['domain'] ) . '</li>';
|
865 |
+
} else {
|
866 |
+
foreach ( $rss_items as $item ) {
|
867 |
+
$url = preg_replace( '/#.*/', '', esc_url( $item->get_permalink(), null, 'display' ) );
|
868 |
+
$content .= '<li>';
|
869 |
+
$content .= '<a href="' . $url . '?utm_source=wpadmin&utm_medium=sidebarwidget&utm_term=newsite&utm_campaign=' . $this->settings['prefix'] . '_settings-api" target="_blank">' . esc_html( $item->get_title() ) . '</a>';
|
870 |
+
$content .= '</li>';
|
871 |
+
}
|
872 |
+
}
|
873 |
+
$content .= '</ul>';
|
874 |
+
|
875 |
+
$this->postbox( 'custom-login-extensions', sprintf( __( 'Custom Login Extensions %s', $this->settings['domain'] ), '<small class="dashicons dashicons-external"></small>' ), $content );
|
876 |
+
}
|
877 |
+
|
878 |
+
/**
|
879 |
+
* Display Upgrade Notices
|
880 |
+
*
|
881 |
+
* @access private
|
882 |
+
* @since 3.0.3
|
883 |
+
* @return void
|
884 |
+
*/
|
885 |
+
public function upgrade_notices() {
|
886 |
+
|
887 |
+
$show_upgrade_notice = false;
|
888 |
+
|
889 |
+
// Version < 2.0
|
890 |
+
if ( false !== get_option( 'custom_login_settings', false ) ) {
|
891 |
+
$show_upgrade_notice = true;
|
892 |
+
}
|
893 |
+
|
894 |
+
// Version > 2.0
|
895 |
+
if ( false !== get_option( 'custom_login', false ) ) {
|
896 |
+
$show_upgrade_notice = true;
|
897 |
+
}
|
898 |
+
|
899 |
+
if ( $show_upgrade_notice && ( '' === get_option( CUSTOM_LOGIN_OPTION . '_general', '' ) ) ) {
|
900 |
+
remove_action( 'admin_notice', array( CL_Settings_Upgrade::instance(), 'upgrade_notices' ) );
|
901 |
+
printf(
|
902 |
+
'<div class="error"><p>' . esc_html__( 'Custom Login has detected old settings. If you wish to use them please run %sthis%s script before making any changes below.', CUSTOM_LOGIN_DIRNAME ) . '</p></div>',
|
903 |
+
'<a href="' . esc_url( admin_url( 'options.php?page=custom-login-upgrades' ) ) . '">',
|
904 |
+
'</a>'
|
905 |
+
);
|
906 |
+
}
|
907 |
+
}
|
908 |
+
|
909 |
+
/**
|
910 |
+
* Box with latest plugins from Extendd.com for sidebar
|
911 |
+
*/
|
912 |
+
public function sticky_admin_notice_social_links() {
|
913 |
+
|
914 |
+
$content = '<ul class="social">';
|
915 |
+
$content .= '<li><a href="https://www.facebook.com/FrostyMediaWP" target="_blank"><span class="dashicons dashicons-facebook"></span></a></li>';
|
916 |
+
$content .= '<li><a href="https://twitter.com/Frosty_Media" target="_blank"><span class="dashicons dashicons-twitter"></span></a></li>';
|
917 |
+
$content .= '<li><a href="https://plus.google.com/+FrostyMedia/" target="_blank"><span class="dashicons dashicons-googleplus"></span></a></li>';
|
918 |
+
$content .= '<li><a href="http://eepurl.com/bbj0bD" target="_blank"><span class="dashicons dashicons-email"></span></a></li>';
|
919 |
+
$content .= '</ul>';
|
920 |
+
|
921 |
+
echo $content;
|
922 |
+
}
|
923 |
+
|
|
|
924 |
/**
|
925 |
* Replace all square brackets with and underscore.
|
926 |
*
|
927 |
+
* @param string $input
|
928 |
+
*
|
929 |
* @return string
|
930 |
*/
|
931 |
+
private function replace_bracket_underscore( $input ) {
|
932 |
+
return preg_replace( '/[\[\]]/', '_', $input );
|
933 |
+
}
|
934 |
|
935 |
/**
|
936 |
* Get the value of a settings field
|
937 |
*
|
938 |
+
* @param string $option settings field name
|
939 |
+
* @param string $section the section name this field belongs to
|
940 |
+
* @param string $default default text if it's not found
|
941 |
+
*
|
942 |
* @return string
|
943 |
*/
|
944 |
+
function get_option( $option, $section, $default = '' ) {
|
945 |
+
|
946 |
+
$options = get_option( $section, array() );
|
947 |
+
|
948 |
+
if ( isset( $options[ $option ] ) ) {
|
949 |
+
return $options[ $option ];
|
950 |
+
}
|
951 |
+
|
952 |
+
return $default;
|
953 |
+
}
|
954 |
|
955 |
}
|
includes/class-cl-settings-upgrades.php
CHANGED
@@ -14,7 +14,7 @@ class CL_Settings_Upgrade {
|
|
14 |
|
15 |
/** Singleton *************************************************************/
|
16 |
private static $instance;
|
17 |
-
|
18 |
protected $parent;
|
19 |
|
20 |
/**
|
@@ -31,9 +31,9 @@ class CL_Settings_Upgrade {
|
|
31 |
}
|
32 |
return self::$instance;
|
33 |
}
|
34 |
-
|
35 |
private function actions() {
|
36 |
-
|
37 |
add_action( 'admin_notices', array( $this, 'upgrade_notices' ) );
|
38 |
add_action( 'admin_menu', array( $this, 'add_submenu_page' ) );
|
39 |
add_action( 'wp_ajax_custom_login_trigger_upgrades', array( $this, 'trigger_upgrades' ) );
|
@@ -47,41 +47,41 @@ class CL_Settings_Upgrade {
|
|
47 |
* @return void
|
48 |
*/
|
49 |
public function upgrade_notices() {
|
50 |
-
|
51 |
if ( isset( $_GET['page'] ) && $_GET['page'] == ( 'custom-login-upgrades' || 'custom-login' ) )
|
52 |
return; // Don't show notices on the upgrades page
|
53 |
-
|
54 |
$cl_version = get_option( CUSTOM_LOGIN_OPTION . '_version' );
|
55 |
-
|
56 |
if ( ! $cl_version ) {
|
57 |
// 2.0 is the first version to use this option so we must add it
|
58 |
$cl_version = '2.0';
|
59 |
}
|
60 |
-
|
61 |
$cl_version = preg_replace( '/[^0-9.].*/', '', $cl_version );
|
62 |
-
|
63 |
// Version less than 2.0 (settings exist)
|
64 |
if ( false !== ( $old_settings = get_option( 'custom_login_settings', false ) ) ) {
|
65 |
-
|
66 |
// New install
|
67 |
if ( !$old_settings )
|
68 |
return;
|
69 |
-
|
70 |
if ( !empty( $old_settings ) && !empty( $old_settings['version'] ) )
|
71 |
$cl_version = $old_settings['version'];
|
72 |
-
|
73 |
// Versions less than 2.0
|
74 |
if ( version_compare( $cl_version, '2.0', '<' ) ) {
|
75 |
printf(
|
76 |
'<div class="updated"><p>' . __( 'Custom Login needs to upgrade the settings, please click <a href="%s">here</a> to start the upgrade.', CUSTOM_LOGIN_DIRNAME ) . '</p></div>',
|
77 |
-
add_query_arg( array( 'ver' => '2.0' ), admin_url( 'options.php?page=custom-login-upgrades' ) )
|
78 |
);
|
79 |
}
|
80 |
} // 2.0
|
81 |
-
|
82 |
// Version less than 3.0 (settings exist)
|
83 |
if ( false !== ( $old_settings = get_option( 'custom_login', false ) ) ) {
|
84 |
-
|
85 |
// Versions less than 3.0
|
86 |
if ( version_compare( $cl_version, '3.0', '<' ) ) {
|
87 |
printf(
|
@@ -90,16 +90,16 @@ class CL_Settings_Upgrade {
|
|
90 |
);
|
91 |
}
|
92 |
} // 3.0
|
93 |
-
|
94 |
// Version less than 3.1
|
95 |
-
if ( version_compare(
|
96 |
printf(
|
97 |
-
'<div class="
|
98 |
-
add_query_arg( array( 'ver' => '3.1' ), admin_url( 'options.php?page=custom-login-upgrades' ) )
|
99 |
);
|
100 |
} // 3.1
|
101 |
}
|
102 |
-
|
103 |
/**
|
104 |
* Add Submenu Upgrade page
|
105 |
*
|
@@ -107,8 +107,8 @@ class CL_Settings_Upgrade {
|
|
107 |
* @since 1.0
|
108 |
* @return void
|
109 |
*/
|
110 |
-
public function add_submenu_page() {
|
111 |
-
|
112 |
add_submenu_page(
|
113 |
null,
|
114 |
__( 'Custom Login Upgrades', CUSTOM_LOGIN_DIRNAME ),
|
@@ -154,7 +154,7 @@ class CL_Settings_Upgrade {
|
|
154 |
</div>
|
155 |
<?php
|
156 |
}
|
157 |
-
|
158 |
/**
|
159 |
* Triggers all upgrade functions
|
160 |
*
|
@@ -164,57 +164,57 @@ class CL_Settings_Upgrade {
|
|
164 |
* @since 2.0
|
165 |
*/
|
166 |
public function trigger_upgrades() {
|
167 |
-
|
168 |
check_ajax_referer( 'CL_Settings_Upgrade' . basename( __FILE__ ), 'nonce' );
|
169 |
-
|
170 |
$cl_version = get_option( CUSTOM_LOGIN_OPTION . '_version' );
|
171 |
-
|
172 |
if ( ! $cl_version ) {
|
173 |
// 2.0 is the first version to use this option so we must add it
|
174 |
$cl_version = '2.0';
|
175 |
add_option( CUSTOM_LOGIN_OPTION . '_version', $cl_version );
|
176 |
}
|
177 |
-
|
178 |
// Version less than 2.0
|
179 |
if ( false !== ( $old_settings = get_option( 'custom_login_settings', false ) ) ) {
|
180 |
-
|
181 |
$cl_version = '1.0';
|
182 |
-
|
183 |
if ( !empty( $old_settings ) && !empty( $old_settings['version'] ) )
|
184 |
$cl_version = $old_settings['version'];
|
185 |
-
|
186 |
if ( version_compare( $cl_version, '2.0', '<' ) ) {
|
187 |
$this->cl_v20_upgrades();
|
188 |
}
|
189 |
-
|
190 |
} // 2.0
|
191 |
-
|
192 |
// Version less than 3.0
|
193 |
if ( false !== ( $old_settings = get_option( 'custom_login', false ) ) ) {
|
194 |
-
|
195 |
$cl_version = '2.0';
|
196 |
-
|
197 |
if ( !empty( $old_settings ) && !empty( $old_settings['version'] ) )
|
198 |
$cl_version = $old_settings['version'];
|
199 |
-
|
200 |
if ( version_compare( $cl_version, '3.0', '<' ) ) {
|
201 |
$this->cl_v30_upgrades();
|
202 |
}
|
203 |
-
|
204 |
} // 3.0
|
205 |
-
|
206 |
// Version less than 3.1
|
207 |
if ( version_compare( $cl_version, '3.1', '<' ) ) {
|
208 |
$this->cl_v31_upgrades();
|
209 |
} // 3.1
|
210 |
-
|
211 |
update_option( CUSTOM_LOGIN_OPTION . '_version', CUSTOM_LOGIN_VERSION );
|
212 |
-
|
213 |
if ( DOING_AJAX ) {
|
214 |
die( 'complete' );
|
215 |
}
|
216 |
}
|
217 |
-
|
218 |
/**
|
219 |
* Upgrade routine for v2.0
|
220 |
*
|
@@ -223,10 +223,10 @@ class CL_Settings_Upgrade {
|
|
223 |
* @return void
|
224 |
*/
|
225 |
private function cl_v20_upgrades() {
|
226 |
-
|
227 |
$old_settings = get_option( 'custom_login_settings' );
|
228 |
$new_settings = get_option( 'custom_login', array() );
|
229 |
-
|
230 |
$new_settings['version'] = $this->parent->version;
|
231 |
$new_settings['active'] = true === $old_settings['custom'] ? 'on' : 'off';
|
232 |
$new_settings['html_background_color'] = CL_Scripts_Styles::is_rgba( $old_settings['html_background_color'] ) ? CL_Scripts_Styles::rgba2hex( $old_settings['html_background_color'] ) : $old_settings['html_background_color'];
|
@@ -275,12 +275,12 @@ class CL_Settings_Upgrade {
|
|
275 |
$new_settings['custom_css'] = wp_filter_nohtml_kses( $old_settings['custom_css'] );
|
276 |
$new_settings['custom_html'] = wp_kses_post( $old_settings['custom_html'] );
|
277 |
$new_settings['custom_jquery'] = wp_specialchars_decode( stripslashes( $old_settings['custom_jquery'] ), 1, 0, 1 );
|
278 |
-
|
279 |
update_option( 'custom_login', $new_settings );
|
280 |
delete_option( 'custom_login_settings' );
|
281 |
return true;
|
282 |
}
|
283 |
-
|
284 |
/**
|
285 |
* Upgrade routine for v3.0
|
286 |
*
|
@@ -289,11 +289,11 @@ class CL_Settings_Upgrade {
|
|
289 |
* @return void
|
290 |
*/
|
291 |
private function cl_v30_upgrades() {
|
292 |
-
|
293 |
$old_settings = get_option( 'custom_login', array() );
|
294 |
$design_settings = get_option( CUSTOM_LOGIN_OPTION . '_design', array() );
|
295 |
$general_settings = get_option( CUSTOM_LOGIN_OPTION . '_general', array() );
|
296 |
-
|
297 |
/** Design */
|
298 |
$design_settings['html_background_color'] = $this->get_old_setting( $old_settings, 'html_background_color' );
|
299 |
$design_settings['html_background_color_checkbox'] = $this->get_old_setting( $old_settings, 'html_background_color_checkbox' );
|
@@ -302,7 +302,7 @@ class CL_Settings_Upgrade {
|
|
302 |
$design_settings['html_background_position'] = $this->get_old_setting( $old_settings, 'html_background_position' );
|
303 |
$design_settings['html_background_repeat'] = $this->get_old_setting( $old_settings, 'html_background_repeat' );
|
304 |
$design_settings['html_background_size'] = $this->get_old_setting( $old_settings, 'html_background_size' );
|
305 |
-
|
306 |
$design_settings['logo_force_form_max_width'] = 'off'; // New
|
307 |
$design_settings['hide_wp_logo'] = $this->get_old_setting( $old_settings, 'hide_wp_logo' );
|
308 |
$design_settings['logo_background_url'] = $this->get_old_setting( $old_settings, 'logo_background_url' );
|
@@ -311,9 +311,9 @@ class CL_Settings_Upgrade {
|
|
311 |
$design_settings['logo_background_position'] = $this->get_old_setting( $old_settings, 'logo_background_position' );
|
312 |
$design_settings['logo_background_repeat'] = $this->get_old_setting( $old_settings, 'logo_background_repeat' );
|
313 |
$design_settings['logo_background_size'] = $this->get_old_setting( $old_settings, 'logo_background_size' );
|
314 |
-
|
315 |
$design_settings['login_form_width'] = ''; // New
|
316 |
-
|
317 |
$design_settings['login_form_background_color'] = $this->get_old_setting( $old_settings, 'login_form_background_color' );
|
318 |
$design_settings['login_form_background_color_checkbox'] = $this->get_old_setting( $old_settings, 'login_form_background_color_checkbox' );
|
319 |
$design_settings['login_form_background_color_opacity'] = $this->get_old_setting( $old_settings, 'login_form_background_color_opacity' );
|
@@ -321,7 +321,7 @@ class CL_Settings_Upgrade {
|
|
321 |
$design_settings['login_form_background_position'] = $this->get_old_setting( $old_settings, 'login_form_background_position' );
|
322 |
$design_settings['login_form_background_repeat'] = $this->get_old_setting( $old_settings, 'login_form_background_repeat' );
|
323 |
$design_settings['login_form_background_size'] = $this->get_old_setting( $old_settings, 'login_form_background_size' );
|
324 |
-
|
325 |
$design_settings['login_form_border_radius'] = $this->get_old_setting( $old_settings, 'login_form_border_radius' );
|
326 |
$design_settings['login_form_border_size'] = $this->get_old_setting( $old_settings, 'login_form_border_size' );
|
327 |
$design_settings['login_form_border_color'] = $this->get_old_setting( $old_settings, 'login_form_border_color' );
|
@@ -331,11 +331,11 @@ class CL_Settings_Upgrade {
|
|
331 |
$design_settings['login_form_box_shadow_color'] = $this->get_old_setting( $old_settings, 'login_form_box_shadow_color' );
|
332 |
$design_settings['login_form_box_shadow_color_checkbox'] = $this->get_old_setting( $old_settings, 'login_form_box_shadow_color_checkbox' );
|
333 |
$design_settings['login_form_box_shadow_color_opacity'] = $this->get_old_setting( $old_settings, 'login_form_box_shadow_color_opacity' );
|
334 |
-
|
335 |
$design_settings['label_color'] = $this->get_old_setting( $old_settings, 'label_color' );
|
336 |
$design_settings['label_color_checkbox'] = $this->get_old_setting( $old_settings, 'label_color_checkbox' );
|
337 |
$design_settings['label_color_opacity'] = $this->get_old_setting( $old_settings, 'label_color_opacity' );
|
338 |
-
|
339 |
$design_settings['nav_color'] = $this->get_old_setting( $old_settings, 'nav_color' );
|
340 |
$design_settings['nav_color_checkbox'] = $this->get_old_setting( $old_settings, 'nav_color_checkbox' );
|
341 |
$design_settings['nav_color_opacity'] = $this->get_old_setting( $old_settings, 'nav_color_opacity' );
|
@@ -348,12 +348,12 @@ class CL_Settings_Upgrade {
|
|
348 |
$design_settings['nav_text_shadow_hover_color'] = $this->get_old_setting( $old_settings, 'nav_text_shadow_hover_color' );
|
349 |
$design_settings['nav_text_shadow_hover_color_checkbox'] = $this->get_old_setting( $old_settings, 'nav_text_shadow_hover_color_checkbox' );
|
350 |
$design_settings['nav_text_shadow_hover_color_opacity'] = $this->get_old_setting( $old_settings, 'nav_text_shadow_hover_color_opacity' );
|
351 |
-
|
352 |
$design_settings['custom_css'] = wp_filter_nohtml_kses( $this->get_old_setting( $old_settings, 'custom_css' ) );
|
353 |
$design_settings['animate.css'] = 'off'; // New
|
354 |
$design_settings['custom_html'] = wp_kses_post( $this->get_old_setting( $old_settings, 'custom_html' ) );
|
355 |
$design_settings['custom_jquery'] = wp_specialchars_decode( stripslashes( $this->get_old_setting( $old_settings, 'custom_jquery' ) ), 1, 0, 1 );
|
356 |
-
|
357 |
/** General */
|
358 |
$general_settings['active'] = $this->get_old_setting( $old_settings, 'active', 'on' );
|
359 |
$general_settings['capability'] = 'manage_options'; // New
|
@@ -361,14 +361,14 @@ class CL_Settings_Upgrade {
|
|
361 |
$general_settings['admin_notices'] = 'off'; // New
|
362 |
$general_settings['wp_shake_js'] = 'off'; // New
|
363 |
$general_settings['remove_login_css'] = 'off'; // New
|
364 |
-
$general_settings['lostpassword_text'] = 'off'; // New
|
365 |
-
|
366 |
update_option( CUSTOM_LOGIN_OPTION . '_design', $design_settings );
|
367 |
update_option( CUSTOM_LOGIN_OPTION . '_general', $general_settings );
|
368 |
delete_option( 'custom_login' );
|
369 |
return true;
|
370 |
}
|
371 |
-
|
372 |
/**
|
373 |
* Upgrade routine for v3.1
|
374 |
*
|
@@ -377,36 +377,36 @@ class CL_Settings_Upgrade {
|
|
377 |
* @return void
|
378 |
*/
|
379 |
private function cl_v31_upgrades() {
|
380 |
-
|
381 |
$general_settings = get_option( CUSTOM_LOGIN_OPTION . '_general', array() );
|
382 |
-
|
383 |
-
// Remove old settings
|
384 |
unset( $general_settings['allow_password_reset'] );
|
385 |
unset( $general_settings['auth_timeout'] );
|
386 |
unset( $general_settings['auth_timeout_remember'] );
|
387 |
-
|
388 |
// Leave
|
389 |
$general_settings['active'] = $this->get_old_setting( $general_settings, 'active', 'on' );
|
390 |
-
|
391 |
// New settings
|
392 |
$general_settings['dashboard_widget'] = 'off';
|
393 |
-
|
394 |
update_option( CUSTOM_LOGIN_OPTION . '_general', $general_settings );
|
395 |
-
|
396 |
// Update tracking options name
|
397 |
update_option( CUSTOM_LOGIN_OPTION . '_tracking_last_send', get_option( 'cl_tracking_last_send' ) );
|
398 |
update_option( CUSTOM_LOGIN_OPTION . '_tracking_notice', get_option( 'cl_tracking_notice' ) );
|
399 |
delete_option( 'cl_tracking_last_send' );
|
400 |
delete_option( 'cl_tracking_notice' );
|
401 |
-
|
402 |
delete_option( CUSTOM_LOGIN_OPTION . '_announcement_message' );
|
403 |
-
|
404 |
/** Cleanup Cron Events */
|
405 |
wp_clear_scheduled_hook( 'cl_daily_scheduled_events' );
|
406 |
wp_clear_scheduled_hook( 'cl_weekly_scheduled_events' );
|
407 |
return true;
|
408 |
}
|
409 |
-
|
410 |
/**
|
411 |
* Helper function to check if option isset
|
412 |
*
|
@@ -415,12 +415,12 @@ class CL_Settings_Upgrade {
|
|
415 |
private function get_old_setting( $setting = array(), $option = null, $default = '' ) {
|
416 |
if ( is_null( $option ) )
|
417 |
return $default;
|
418 |
-
|
419 |
if ( isset( $setting[$option] ) )
|
420 |
return $setting[$option];
|
421 |
-
|
422 |
return $default;
|
423 |
}
|
424 |
-
|
425 |
}
|
426 |
-
CL_Settings_Upgrade::instance();
|
14 |
|
15 |
/** Singleton *************************************************************/
|
16 |
private static $instance;
|
17 |
+
|
18 |
protected $parent;
|
19 |
|
20 |
/**
|
31 |
}
|
32 |
return self::$instance;
|
33 |
}
|
34 |
+
|
35 |
private function actions() {
|
36 |
+
|
37 |
add_action( 'admin_notices', array( $this, 'upgrade_notices' ) );
|
38 |
add_action( 'admin_menu', array( $this, 'add_submenu_page' ) );
|
39 |
add_action( 'wp_ajax_custom_login_trigger_upgrades', array( $this, 'trigger_upgrades' ) );
|
47 |
* @return void
|
48 |
*/
|
49 |
public function upgrade_notices() {
|
50 |
+
|
51 |
if ( isset( $_GET['page'] ) && $_GET['page'] == ( 'custom-login-upgrades' || 'custom-login' ) )
|
52 |
return; // Don't show notices on the upgrades page
|
53 |
+
|
54 |
$cl_version = get_option( CUSTOM_LOGIN_OPTION . '_version' );
|
55 |
+
|
56 |
if ( ! $cl_version ) {
|
57 |
// 2.0 is the first version to use this option so we must add it
|
58 |
$cl_version = '2.0';
|
59 |
}
|
60 |
+
|
61 |
$cl_version = preg_replace( '/[^0-9.].*/', '', $cl_version );
|
62 |
+
|
63 |
// Version less than 2.0 (settings exist)
|
64 |
if ( false !== ( $old_settings = get_option( 'custom_login_settings', false ) ) ) {
|
65 |
+
|
66 |
// New install
|
67 |
if ( !$old_settings )
|
68 |
return;
|
69 |
+
|
70 |
if ( !empty( $old_settings ) && !empty( $old_settings['version'] ) )
|
71 |
$cl_version = $old_settings['version'];
|
72 |
+
|
73 |
// Versions less than 2.0
|
74 |
if ( version_compare( $cl_version, '2.0', '<' ) ) {
|
75 |
printf(
|
76 |
'<div class="updated"><p>' . __( 'Custom Login needs to upgrade the settings, please click <a href="%s">here</a> to start the upgrade.', CUSTOM_LOGIN_DIRNAME ) . '</p></div>',
|
77 |
+
esc_url( add_query_arg( array( 'ver' => '2.0' ), admin_url( 'options.php?page=custom-login-upgrades' ) ) )
|
78 |
);
|
79 |
}
|
80 |
} // 2.0
|
81 |
+
|
82 |
// Version less than 3.0 (settings exist)
|
83 |
if ( false !== ( $old_settings = get_option( 'custom_login', false ) ) ) {
|
84 |
+
|
85 |
// Versions less than 3.0
|
86 |
if ( version_compare( $cl_version, '3.0', '<' ) ) {
|
87 |
printf(
|
90 |
);
|
91 |
}
|
92 |
} // 3.0
|
93 |
+
|
94 |
// Version less than 3.1
|
95 |
+
if ( version_compare( CUSTOM_LOGIN_VERSION, '3.1', '<' ) ) {
|
96 |
printf(
|
97 |
+
'<div class="notice is-dismissible"><p>' . __( 'Custom Login needs to upgrade the database, please click <a href="%s">here</a> to start the upgrade.', CUSTOM_LOGIN_DIRNAME ) . '</p></div>',
|
98 |
+
esc_url( add_query_arg( array( 'ver' => '3.1' ), admin_url( 'options.php?page=custom-login-upgrades' ) ) )
|
99 |
);
|
100 |
} // 3.1
|
101 |
}
|
102 |
+
|
103 |
/**
|
104 |
* Add Submenu Upgrade page
|
105 |
*
|
107 |
* @since 1.0
|
108 |
* @return void
|
109 |
*/
|
110 |
+
public function add_submenu_page() {
|
111 |
+
|
112 |
add_submenu_page(
|
113 |
null,
|
114 |
__( 'Custom Login Upgrades', CUSTOM_LOGIN_DIRNAME ),
|
154 |
</div>
|
155 |
<?php
|
156 |
}
|
157 |
+
|
158 |
/**
|
159 |
* Triggers all upgrade functions
|
160 |
*
|
164 |
* @since 2.0
|
165 |
*/
|
166 |
public function trigger_upgrades() {
|
167 |
+
|
168 |
check_ajax_referer( 'CL_Settings_Upgrade' . basename( __FILE__ ), 'nonce' );
|
169 |
+
|
170 |
$cl_version = get_option( CUSTOM_LOGIN_OPTION . '_version' );
|
171 |
+
|
172 |
if ( ! $cl_version ) {
|
173 |
// 2.0 is the first version to use this option so we must add it
|
174 |
$cl_version = '2.0';
|
175 |
add_option( CUSTOM_LOGIN_OPTION . '_version', $cl_version );
|
176 |
}
|
177 |
+
|
178 |
// Version less than 2.0
|
179 |
if ( false !== ( $old_settings = get_option( 'custom_login_settings', false ) ) ) {
|
180 |
+
|
181 |
$cl_version = '1.0';
|
182 |
+
|
183 |
if ( !empty( $old_settings ) && !empty( $old_settings['version'] ) )
|
184 |
$cl_version = $old_settings['version'];
|
185 |
+
|
186 |
if ( version_compare( $cl_version, '2.0', '<' ) ) {
|
187 |
$this->cl_v20_upgrades();
|
188 |
}
|
189 |
+
|
190 |
} // 2.0
|
191 |
+
|
192 |
// Version less than 3.0
|
193 |
if ( false !== ( $old_settings = get_option( 'custom_login', false ) ) ) {
|
194 |
+
|
195 |
$cl_version = '2.0';
|
196 |
+
|
197 |
if ( !empty( $old_settings ) && !empty( $old_settings['version'] ) )
|
198 |
$cl_version = $old_settings['version'];
|
199 |
+
|
200 |
if ( version_compare( $cl_version, '3.0', '<' ) ) {
|
201 |
$this->cl_v30_upgrades();
|
202 |
}
|
203 |
+
|
204 |
} // 3.0
|
205 |
+
|
206 |
// Version less than 3.1
|
207 |
if ( version_compare( $cl_version, '3.1', '<' ) ) {
|
208 |
$this->cl_v31_upgrades();
|
209 |
} // 3.1
|
210 |
+
|
211 |
update_option( CUSTOM_LOGIN_OPTION . '_version', CUSTOM_LOGIN_VERSION );
|
212 |
+
|
213 |
if ( DOING_AJAX ) {
|
214 |
die( 'complete' );
|
215 |
}
|
216 |
}
|
217 |
+
|
218 |
/**
|
219 |
* Upgrade routine for v2.0
|
220 |
*
|
223 |
* @return void
|
224 |
*/
|
225 |
private function cl_v20_upgrades() {
|
226 |
+
|
227 |
$old_settings = get_option( 'custom_login_settings' );
|
228 |
$new_settings = get_option( 'custom_login', array() );
|
229 |
+
|
230 |
$new_settings['version'] = $this->parent->version;
|
231 |
$new_settings['active'] = true === $old_settings['custom'] ? 'on' : 'off';
|
232 |
$new_settings['html_background_color'] = CL_Scripts_Styles::is_rgba( $old_settings['html_background_color'] ) ? CL_Scripts_Styles::rgba2hex( $old_settings['html_background_color'] ) : $old_settings['html_background_color'];
|
275 |
$new_settings['custom_css'] = wp_filter_nohtml_kses( $old_settings['custom_css'] );
|
276 |
$new_settings['custom_html'] = wp_kses_post( $old_settings['custom_html'] );
|
277 |
$new_settings['custom_jquery'] = wp_specialchars_decode( stripslashes( $old_settings['custom_jquery'] ), 1, 0, 1 );
|
278 |
+
|
279 |
update_option( 'custom_login', $new_settings );
|
280 |
delete_option( 'custom_login_settings' );
|
281 |
return true;
|
282 |
}
|
283 |
+
|
284 |
/**
|
285 |
* Upgrade routine for v3.0
|
286 |
*
|
289 |
* @return void
|
290 |
*/
|
291 |
private function cl_v30_upgrades() {
|
292 |
+
|
293 |
$old_settings = get_option( 'custom_login', array() );
|
294 |
$design_settings = get_option( CUSTOM_LOGIN_OPTION . '_design', array() );
|
295 |
$general_settings = get_option( CUSTOM_LOGIN_OPTION . '_general', array() );
|
296 |
+
|
297 |
/** Design */
|
298 |
$design_settings['html_background_color'] = $this->get_old_setting( $old_settings, 'html_background_color' );
|
299 |
$design_settings['html_background_color_checkbox'] = $this->get_old_setting( $old_settings, 'html_background_color_checkbox' );
|
302 |
$design_settings['html_background_position'] = $this->get_old_setting( $old_settings, 'html_background_position' );
|
303 |
$design_settings['html_background_repeat'] = $this->get_old_setting( $old_settings, 'html_background_repeat' );
|
304 |
$design_settings['html_background_size'] = $this->get_old_setting( $old_settings, 'html_background_size' );
|
305 |
+
|
306 |
$design_settings['logo_force_form_max_width'] = 'off'; // New
|
307 |
$design_settings['hide_wp_logo'] = $this->get_old_setting( $old_settings, 'hide_wp_logo' );
|
308 |
$design_settings['logo_background_url'] = $this->get_old_setting( $old_settings, 'logo_background_url' );
|
311 |
$design_settings['logo_background_position'] = $this->get_old_setting( $old_settings, 'logo_background_position' );
|
312 |
$design_settings['logo_background_repeat'] = $this->get_old_setting( $old_settings, 'logo_background_repeat' );
|
313 |
$design_settings['logo_background_size'] = $this->get_old_setting( $old_settings, 'logo_background_size' );
|
314 |
+
|
315 |
$design_settings['login_form_width'] = ''; // New
|
316 |
+
|
317 |
$design_settings['login_form_background_color'] = $this->get_old_setting( $old_settings, 'login_form_background_color' );
|
318 |
$design_settings['login_form_background_color_checkbox'] = $this->get_old_setting( $old_settings, 'login_form_background_color_checkbox' );
|
319 |
$design_settings['login_form_background_color_opacity'] = $this->get_old_setting( $old_settings, 'login_form_background_color_opacity' );
|
321 |
$design_settings['login_form_background_position'] = $this->get_old_setting( $old_settings, 'login_form_background_position' );
|
322 |
$design_settings['login_form_background_repeat'] = $this->get_old_setting( $old_settings, 'login_form_background_repeat' );
|
323 |
$design_settings['login_form_background_size'] = $this->get_old_setting( $old_settings, 'login_form_background_size' );
|
324 |
+
|
325 |
$design_settings['login_form_border_radius'] = $this->get_old_setting( $old_settings, 'login_form_border_radius' );
|
326 |
$design_settings['login_form_border_size'] = $this->get_old_setting( $old_settings, 'login_form_border_size' );
|
327 |
$design_settings['login_form_border_color'] = $this->get_old_setting( $old_settings, 'login_form_border_color' );
|
331 |
$design_settings['login_form_box_shadow_color'] = $this->get_old_setting( $old_settings, 'login_form_box_shadow_color' );
|
332 |
$design_settings['login_form_box_shadow_color_checkbox'] = $this->get_old_setting( $old_settings, 'login_form_box_shadow_color_checkbox' );
|
333 |
$design_settings['login_form_box_shadow_color_opacity'] = $this->get_old_setting( $old_settings, 'login_form_box_shadow_color_opacity' );
|
334 |
+
|
335 |
$design_settings['label_color'] = $this->get_old_setting( $old_settings, 'label_color' );
|
336 |
$design_settings['label_color_checkbox'] = $this->get_old_setting( $old_settings, 'label_color_checkbox' );
|
337 |
$design_settings['label_color_opacity'] = $this->get_old_setting( $old_settings, 'label_color_opacity' );
|
338 |
+
|
339 |
$design_settings['nav_color'] = $this->get_old_setting( $old_settings, 'nav_color' );
|
340 |
$design_settings['nav_color_checkbox'] = $this->get_old_setting( $old_settings, 'nav_color_checkbox' );
|
341 |
$design_settings['nav_color_opacity'] = $this->get_old_setting( $old_settings, 'nav_color_opacity' );
|
348 |
$design_settings['nav_text_shadow_hover_color'] = $this->get_old_setting( $old_settings, 'nav_text_shadow_hover_color' );
|
349 |
$design_settings['nav_text_shadow_hover_color_checkbox'] = $this->get_old_setting( $old_settings, 'nav_text_shadow_hover_color_checkbox' );
|
350 |
$design_settings['nav_text_shadow_hover_color_opacity'] = $this->get_old_setting( $old_settings, 'nav_text_shadow_hover_color_opacity' );
|
351 |
+
|
352 |
$design_settings['custom_css'] = wp_filter_nohtml_kses( $this->get_old_setting( $old_settings, 'custom_css' ) );
|
353 |
$design_settings['animate.css'] = 'off'; // New
|
354 |
$design_settings['custom_html'] = wp_kses_post( $this->get_old_setting( $old_settings, 'custom_html' ) );
|
355 |
$design_settings['custom_jquery'] = wp_specialchars_decode( stripslashes( $this->get_old_setting( $old_settings, 'custom_jquery' ) ), 1, 0, 1 );
|
356 |
+
|
357 |
/** General */
|
358 |
$general_settings['active'] = $this->get_old_setting( $old_settings, 'active', 'on' );
|
359 |
$general_settings['capability'] = 'manage_options'; // New
|
361 |
$general_settings['admin_notices'] = 'off'; // New
|
362 |
$general_settings['wp_shake_js'] = 'off'; // New
|
363 |
$general_settings['remove_login_css'] = 'off'; // New
|
364 |
+
$general_settings['lostpassword_text'] = 'off'; // New
|
365 |
+
|
366 |
update_option( CUSTOM_LOGIN_OPTION . '_design', $design_settings );
|
367 |
update_option( CUSTOM_LOGIN_OPTION . '_general', $general_settings );
|
368 |
delete_option( 'custom_login' );
|
369 |
return true;
|
370 |
}
|
371 |
+
|
372 |
/**
|
373 |
* Upgrade routine for v3.1
|
374 |
*
|
377 |
* @return void
|
378 |
*/
|
379 |
private function cl_v31_upgrades() {
|
380 |
+
|
381 |
$general_settings = get_option( CUSTOM_LOGIN_OPTION . '_general', array() );
|
382 |
+
|
383 |
+
// Remove old settings
|
384 |
unset( $general_settings['allow_password_reset'] );
|
385 |
unset( $general_settings['auth_timeout'] );
|
386 |
unset( $general_settings['auth_timeout_remember'] );
|
387 |
+
|
388 |
// Leave
|
389 |
$general_settings['active'] = $this->get_old_setting( $general_settings, 'active', 'on' );
|
390 |
+
|
391 |
// New settings
|
392 |
$general_settings['dashboard_widget'] = 'off';
|
393 |
+
|
394 |
update_option( CUSTOM_LOGIN_OPTION . '_general', $general_settings );
|
395 |
+
|
396 |
// Update tracking options name
|
397 |
update_option( CUSTOM_LOGIN_OPTION . '_tracking_last_send', get_option( 'cl_tracking_last_send' ) );
|
398 |
update_option( CUSTOM_LOGIN_OPTION . '_tracking_notice', get_option( 'cl_tracking_notice' ) );
|
399 |
delete_option( 'cl_tracking_last_send' );
|
400 |
delete_option( 'cl_tracking_notice' );
|
401 |
+
|
402 |
delete_option( CUSTOM_LOGIN_OPTION . '_announcement_message' );
|
403 |
+
|
404 |
/** Cleanup Cron Events */
|
405 |
wp_clear_scheduled_hook( 'cl_daily_scheduled_events' );
|
406 |
wp_clear_scheduled_hook( 'cl_weekly_scheduled_events' );
|
407 |
return true;
|
408 |
}
|
409 |
+
|
410 |
/**
|
411 |
* Helper function to check if option isset
|
412 |
*
|
415 |
private function get_old_setting( $setting = array(), $option = null, $default = '' ) {
|
416 |
if ( is_null( $option ) )
|
417 |
return $default;
|
418 |
+
|
419 |
if ( isset( $setting[$option] ) )
|
420 |
return $setting[$option];
|
421 |
+
|
422 |
return $default;
|
423 |
}
|
424 |
+
|
425 |
}
|
426 |
+
CL_Settings_Upgrade::instance();
|
includes/class-cl-templates.php
CHANGED
File without changes
|
includes/class-cl-wp-login.php
CHANGED
@@ -8,283 +8,255 @@
|
|
8 |
*/
|
9 |
|
10 |
// Exit if accessed directly
|
11 |
-
if ( !defined( 'ABSPATH' ) )
|
|
|
|
|
12 |
|
13 |
class CL_WP_Login {
|
14 |
|
15 |
-
|
16 |
-
|
17 |
-
|
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 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
* @removed 3.1
|
259 |
-
*/
|
260 |
-
public function allow_password_reset( $user_id ) {
|
261 |
-
if ( 'on' === CL_Common::get_option( 'allow_password_reset', 'general', 'off' ) )
|
262 |
-
return false;
|
263 |
-
|
264 |
-
return true;
|
265 |
-
}
|
266 |
-
|
267 |
-
/**
|
268 |
-
* Remove the "Lost your password?" text.
|
269 |
-
*/
|
270 |
-
public function remove_lostpassword_text( $translated_text, $untranslated_text ) {
|
271 |
-
global $pagenow;
|
272 |
-
|
273 |
-
if ( 'wp-login.php' == $pagenow ) {
|
274 |
-
|
275 |
-
if ( 'off' !== CL_Common::get_option( 'lostpassword_text', 'general' ) ) {
|
276 |
-
//make the changes to the text
|
277 |
-
switch( $untranslated_text ) {
|
278 |
-
|
279 |
-
case 'Lost your password?':
|
280 |
-
$translated_text = '';
|
281 |
-
break;
|
282 |
-
}
|
283 |
-
}
|
284 |
-
}
|
285 |
-
|
286 |
-
return $translated_text;
|
287 |
-
}
|
288 |
-
|
289 |
}
|
290 |
-
|
|
8 |
*/
|
9 |
|
10 |
// Exit if accessed directly
|
11 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
12 |
+
exit;
|
13 |
+
}
|
14 |
|
15 |
class CL_WP_Login {
|
16 |
|
17 |
+
/** Singleton *************************************************************/
|
18 |
+
private static $instance;
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Main Instance
|
22 |
+
*
|
23 |
+
* @staticvar array $instance
|
24 |
+
* @return self The one true instance
|
25 |
+
*/
|
26 |
+
public static function instance() {
|
27 |
+
if ( ! isset( self::$instance ) ) {
|
28 |
+
self::$instance = new self;
|
29 |
+
self::$instance->init();
|
30 |
+
}
|
31 |
+
|
32 |
+
return self::$instance;
|
33 |
+
}
|
34 |
+
|
35 |
+
private function init() {
|
36 |
+
|
37 |
+
if ( 'off' === CL_Common::get_option( 'active', 'general', 'off' ) ) {
|
38 |
+
return;
|
39 |
+
}
|
40 |
+
|
41 |
+
$this->actions();
|
42 |
+
$this->filters();
|
43 |
+
}
|
44 |
+
|
45 |
+
private function actions() {
|
46 |
+
add_action( 'login_enqueue_scripts', array( $this, 'login_enqueue_scripts' ) );
|
47 |
+
add_action( 'login_footer', array( $this, 'login_footer_html' ), 8 );
|
48 |
+
add_action( 'login_footer', array( $this, 'login_footer_jquery' ), 19 );
|
49 |
+
|
50 |
+
add_action( 'init', array( $this, 'login_remove_scripts' ) );
|
51 |
+
add_action( 'login_head', array( $this, 'login_head' ), 10 );
|
52 |
+
add_filter( 'login_headerurl', array( $this, 'login_headerurl' ) );
|
53 |
+
if (version_compare($GLOBALS['wp_version'],'5.2', '>=')) {
|
54 |
+
add_filter('login_headertext', [$this, 'login_headertitle']);
|
55 |
+
} else {
|
56 |
+
add_filter('login_headertitle', [$this, 'login_headertitle']);
|
57 |
+
}
|
58 |
+
}
|
59 |
+
|
60 |
+
private function filters() {
|
61 |
+
add_filter( 'gettext', array( $this, 'remove_lostpassword_text' ), 20, 2 );
|
62 |
+
}
|
63 |
+
|
64 |
+
/**
|
65 |
+
*************************************************************
|
66 |
+
**************** ACTIONS **********************************
|
67 |
+
*************************************************************
|
68 |
+
*/
|
69 |
+
|
70 |
+
/**
|
71 |
+
* Enqueue additional scripts.
|
72 |
+
*
|
73 |
+
* @since 2.0
|
74 |
+
* @updated 3.2
|
75 |
+
*/
|
76 |
+
public function login_enqueue_scripts() {
|
77 |
+
/**
|
78 |
+
* Animate.css
|
79 |
+
* @ref https://github.com/daneden/animate.css/blob/master/animate.min.css
|
80 |
+
*/
|
81 |
+
$animate_css = CL_Common::get_option( 'animate.css', 'design', 'off' );
|
82 |
+
if ( 'on' == $animate_css ) {
|
83 |
+
wp_enqueue_style( 'animate.css', plugins_url( 'css/animate.min.css', CUSTOM_LOGIN_FILE ), array( 'login' ), '08112014', 'screen' );
|
84 |
+
}
|
85 |
+
|
86 |
+
/* Custom jQuery */
|
87 |
+
$jquery = CL_Common::get_option( 'custom_jquery', 'design', '' );
|
88 |
+
if ( '' !== $jquery ) {
|
89 |
+
wp_enqueue_script( 'jquery' );
|
90 |
+
}
|
91 |
+
}
|
92 |
+
|
93 |
+
/**
|
94 |
+
* If there is custom HTML set in the settings echo it to the
|
95 |
+
* 'login_footer' hook in wp-login.php.
|
96 |
+
*
|
97 |
+
* @return string|void
|
98 |
+
*/
|
99 |
+
public function login_footer_html() {
|
100 |
+
|
101 |
+
$custom_html = CL_Common::get_option( 'custom_html', 'design', false );
|
102 |
+
|
103 |
+
if ( $custom_html ) {
|
104 |
+
$html = wp_kses_post( $custom_html );
|
105 |
+
$html .= "\n";
|
106 |
+
|
107 |
+
echo $html;
|
108 |
+
}
|
109 |
+
}
|
110 |
+
|
111 |
+
/**
|
112 |
+
* Database access to the scripts and styles.
|
113 |
+
*
|
114 |
+
* @since 2.1
|
115 |
+
* @return string|void
|
116 |
+
*/
|
117 |
+
public function login_footer_jquery() {
|
118 |
+
|
119 |
+
$jquery = CL_Common::get_option( 'custom_jquery', 'design', '' );
|
120 |
+
|
121 |
+
if ( '' != $jquery ) {
|
122 |
+
|
123 |
+
global $cl_js_atts;
|
124 |
+
|
125 |
+
$cl_js_atts = array(
|
126 |
+
'version' => CUSTOM_LOGIN_VERSION,
|
127 |
+
'trans_key' => CL_Common::get_transient_key( 'script' ),
|
128 |
+
);
|
129 |
+
$cl_js_atts = wp_parse_args( CL_Common::get_options( 'design' ), $cl_js_atts );
|
130 |
+
|
131 |
+
foreach ( $cl_js_atts as $atts => $value ) {
|
132 |
+
if ( 'custom_jquery' !== $atts && 'version' !== $atts && 'trans_key' !== $atts ) {
|
133 |
+
unset( $cl_js_atts[ $atts ] );
|
134 |
+
}
|
135 |
+
}
|
136 |
+
|
137 |
+
ob_start();
|
138 |
+
echo "<script type=\"text/javascript\">\n";
|
139 |
+
CL_Templates::get_template_part( 'wp-login', 'script' );
|
140 |
+
echo "\n</script>\n";
|
141 |
+
echo ob_get_clean();
|
142 |
+
}
|
143 |
+
}
|
144 |
+
|
145 |
+
/**
|
146 |
+
* Finds the global page for the wp-login.php. When on the page
|
147 |
+
* remove default stylesheets so we can add our own.
|
148 |
+
*
|
149 |
+
* @return void
|
150 |
+
*/
|
151 |
+
function login_remove_scripts() {
|
152 |
+
global $pagenow;
|
153 |
+
|
154 |
+
if ( 'wp-login.php' == $pagenow ) {
|
155 |
+
|
156 |
+
$suffix = is_rtl() ? '-rtl' : '';
|
157 |
+
$suffix .= defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; // Don't have minified version in place.
|
158 |
+
|
159 |
+
/**
|
160 |
+
* User reports on messed up checkboxes
|
161 |
+
*
|
162 |
+
* Probobly easier to use WordPress login CSS
|
163 |
+
*
|
164 |
+
* wp_deregister_style( array( 'login' ) );
|
165 |
+
*
|
166 |
+
* wp_enqueue_style( 'forms', get_admin_url( get_current_blog_id(), "css/forms{$suffix}.css", 'admin' ), null, CUSTOM_LOGIN_VERSION, 'screen' );
|
167 |
+
* wp_enqueue_style( 'l10n', get_admin_url( get_current_blog_id(), "css/l10n{$suffix}.css", 'admin' ), null, CUSTOM_LOGIN_VERSION, 'screen' );
|
168 |
+
* wp_register_style( 'login', plugins_url( "css/login/login{$suffix}.css", CUSTOM_LOGIN_FILE ), array( 'buttons' ), CUSTOM_LOGIN_VERSION, 'all' );
|
169 |
+
*/
|
170 |
+
|
171 |
+
if ( 'on' === CL_Common::get_option( 'remove_login_css', 'general' ) ) {
|
172 |
+
add_filter( 'wp_admin_css', '__return_false' );
|
173 |
+
wp_deregister_style( 'login' );
|
174 |
+
}
|
175 |
+
}
|
176 |
+
}
|
177 |
+
|
178 |
+
/**
|
179 |
+
* Actions hooked into login_head
|
180 |
+
*
|
181 |
+
*/
|
182 |
+
public function login_head() {
|
183 |
+
global $cl_css_atts;
|
184 |
+
|
185 |
+
$cl_css_atts = array(
|
186 |
+
'version' => CUSTOM_LOGIN_VERSION,
|
187 |
+
'trans_key' => CL_Common::get_transient_key( 'style' ),
|
188 |
+
);
|
189 |
+
$cl_css_atts = wp_parse_args( CL_Common::get_options( 'design' ), $cl_css_atts );
|
190 |
+
|
191 |
+
ob_start();
|
192 |
+
echo "<style type=\"text/css\">\n";
|
193 |
+
CL_Templates::get_template_part( 'wp-login', 'style' );
|
194 |
+
echo "\n</style>\n";
|
195 |
+
echo ob_get_clean();
|
196 |
+
|
197 |
+
if ( 'on' === CL_Common::get_option( 'wp_shake_js', 'general' ) ) {
|
198 |
+
remove_action( 'login_head', 'wp_shake_js', 12 );
|
199 |
+
}
|
200 |
+
}
|
201 |
+
|
202 |
+
/**
|
203 |
+
* Replace the default link to your URL
|
204 |
+
*
|
205 |
+
* @param string $url
|
206 |
+
*
|
207 |
+
* @return string
|
208 |
+
*/
|
209 |
+
public function login_headerurl( $url ) {
|
210 |
+
if ( ! is_multisite() ) {
|
211 |
+
return home_url();
|
212 |
+
}
|
213 |
+
|
214 |
+
return $url;
|
215 |
+
}
|
216 |
+
|
217 |
+
/**
|
218 |
+
* Replace the default title to your description
|
219 |
+
*
|
220 |
+
* @param string $title
|
221 |
+
*
|
222 |
+
* @return string
|
223 |
+
*/
|
224 |
+
public function login_headertitle( $title ) {
|
225 |
+
if ( ! is_multisite() ) {
|
226 |
+
return get_bloginfo( 'description' );
|
227 |
+
}
|
228 |
+
|
229 |
+
return $title;
|
230 |
+
}
|
231 |
+
|
232 |
+
/**
|
233 |
+
*************************************************************
|
234 |
+
**************** FILTERS **********************************
|
235 |
+
*************************************************************
|
236 |
+
*/
|
237 |
+
|
238 |
+
/**
|
239 |
+
* Remove the "Lost your password?" text.
|
240 |
+
*/
|
241 |
+
public function remove_lostpassword_text( $translated_text, $untranslated_text ) {
|
242 |
+
global $pagenow;
|
243 |
+
|
244 |
+
if ( 'wp-login.php' == $pagenow ) {
|
245 |
+
|
246 |
+
if ( 'off' !== CL_Common::get_option( 'lostpassword_text', 'general' ) ) {
|
247 |
+
//make the changes to the text
|
248 |
+
switch ( $untranslated_text ) {
|
249 |
+
|
250 |
+
case 'Lost your password?':
|
251 |
+
$translated_text = '';
|
252 |
+
break;
|
253 |
+
}
|
254 |
+
}
|
255 |
+
}
|
256 |
+
|
257 |
+
return $translated_text;
|
258 |
+
}
|
259 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
260 |
}
|
261 |
+
|
262 |
+
add_action( CUSTOM_LOGIN_OPTION . '_actions', array( 'CL_WP_Login', 'instance' ) );
|
includes/default-settings.php
CHANGED
File without changes
|
includes/functions.php
CHANGED
File without changes
|
includes/libraries/_notes/dwsync.xml
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
<?xml version="1.0" encoding="utf-8" ?>
|
|
includes/libraries/edd-remote-install-client/EDD_Remote_Install_Client.php
CHANGED
@@ -124,7 +124,7 @@ class CL_Remote_Install_Client {
|
|
124 |
'license' => urlencode( $_GET['license'] )
|
125 |
);
|
126 |
|
127 |
-
$download_link = add_query_arg($api_params, $this->api_url);
|
128 |
|
129 |
///////////// NEW /////////////////
|
130 |
$download_id = $this->get_remote_download_id( $_GET['name'] );
|
@@ -314,7 +314,7 @@ class CL_Remote_Install_Client {
|
|
314 |
);
|
315 |
|
316 |
// Call the custom API.
|
317 |
-
$response = wp_remote_get( add_query_arg( $api_params, $this->api_url ), array( 'timeout' => 15, 'sslverify' => false ) );
|
318 |
|
319 |
// make sure the response came back okay
|
320 |
if ( is_wp_error( $response ) )
|
@@ -371,7 +371,7 @@ class CL_Remote_Install_Client {
|
|
371 |
'item_name' => urlencode( $download_title )
|
372 |
);
|
373 |
|
374 |
-
$response = wp_remote_get( add_query_arg( $api_params, $this->api_url ), array( 'timeout' => 15, 'sslverify' => false ) );
|
375 |
|
376 |
if ( !is_wp_error( $response ) )
|
377 |
$download_id = json_decode( wp_remote_retrieve_body( $response ) );
|
@@ -388,7 +388,7 @@ class CL_Remote_Install_Client {
|
|
388 |
'expires' => rawurlencode( base64_encode( strtotime( '+1 hour' ) ) )
|
389 |
), $this->api_url );
|
390 |
|
391 |
-
return apply_filters( 'edd_sl_encoded_package_url', $package_url );
|
392 |
|
393 |
}
|
394 |
}
|
124 |
'license' => urlencode( $_GET['license'] )
|
125 |
);
|
126 |
|
127 |
+
$download_link = esc_url( add_query_arg($api_params, $this->api_url) );
|
128 |
|
129 |
///////////// NEW /////////////////
|
130 |
$download_id = $this->get_remote_download_id( $_GET['name'] );
|
314 |
);
|
315 |
|
316 |
// Call the custom API.
|
317 |
+
$response = wp_remote_get( esc_url( add_query_arg( $api_params, $this->api_url ) ), array( 'timeout' => 15, 'sslverify' => false ) );
|
318 |
|
319 |
// make sure the response came back okay
|
320 |
if ( is_wp_error( $response ) )
|
371 |
'item_name' => urlencode( $download_title )
|
372 |
);
|
373 |
|
374 |
+
$response = wp_remote_get( esc_url( add_query_arg( $api_params, $this->api_url ) ), array( 'timeout' => 15, 'sslverify' => false ) );
|
375 |
|
376 |
if ( !is_wp_error( $response ) )
|
377 |
$download_id = json_decode( wp_remote_retrieve_body( $response ) );
|
388 |
'expires' => rawurlencode( base64_encode( strtotime( '+1 hour' ) ) )
|
389 |
), $this->api_url );
|
390 |
|
391 |
+
return apply_filters( 'edd_sl_encoded_package_url', esc_url( $package_url ) );
|
392 |
|
393 |
}
|
394 |
}
|
includes/libraries/edd-remote-install-client/_notes/dwsync.xml
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
<?xml version="1.0" encoding="utf-8" ?>
|
|
includes/libraries/edd-remote-install-client/css/_notes/dwsync.xml
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
<?xml version="1.0" encoding="utf-8" ?>
|
|
includes/libraries/edd-remote-install-client/css/edd-remote-install-admin.css
CHANGED
File without changes
|
includes/libraries/edd-remote-install-client/js/_notes/dwsync.xml
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
<?xml version="1.0" encoding="utf-8" ?>
|
|
includes/libraries/edd-remote-install-client/js/edd-remote-install-admin.js
CHANGED
File without changes
|
js/_notes/dwsync.xml
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
<?xml version="1.0" encoding="utf-8" ?>
|
|
js/ace/src-min-noconflict/ace.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/ext-beautify.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/ext-chromevox.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/ext-elastic_tabstops_lite.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/ext-emmet.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/ext-error_marker.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/ext-keybinding_menu.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/ext-language_tools.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/ext-linking.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/ext-modelist.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/ext-old_ie.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/ext-searchbox.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/ext-settings_menu.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/ext-spellcheck.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/ext-split.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/ext-static_highlight.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/ext-statusbar.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/ext-textarea.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/ext-themelist.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/ext-whitespace.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/keybinding-emacs.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/keybinding-vim.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/mode-css.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/mode-html.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/mode-javascript.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/abap.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/actionscript.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/ada.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/apache_conf.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/applescript.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/asciidoc.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/assembly_x86.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/autohotkey.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/batchfile.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/c9search.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/c_cpp.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/cirru.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/clojure.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/cobol.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/coffee.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/coldfusion.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/csharp.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/css.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/curly.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/d.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/dart.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/diff.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/django.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/dockerfile.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/dot.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/eiffel.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/ejs.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/elixir.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/elm.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/erlang.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/forth.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/ftl.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/gcode.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/gherkin.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/gitignore.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/glsl.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/golang.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/groovy.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/haml.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/handlebars.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/haskell.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/haxe.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/html.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/html_ruby.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/ini.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/io.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/jack.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/jade.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/java.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/javascript.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/json.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/jsoniq.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/jsp.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/jsx.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/julia.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/latex.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/less.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/liquid.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/lisp.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/livescript.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/logiql.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/lsl.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/lua.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/luapage.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/lucene.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/makefile.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/markdown.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/matlab.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/mel.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/mushcode.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/mysql.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/nix.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/objectivec.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/ocaml.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/pascal.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/perl.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/pgsql.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/php.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/plain_text.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/powershell.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/praat.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/prolog.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/properties.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/protobuf.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/python.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/r.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/rdoc.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/rhtml.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/ruby.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/rust.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/sass.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/scad.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/scala.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/scheme.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/scss.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/sh.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/sjs.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/smarty.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/snippets.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/soy_template.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/space.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/sql.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/stylus.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/svg.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/tcl.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/tex.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/text.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/textile.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/toml.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/twig.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/typescript.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/vala.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/vbscript.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/velocity.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/verilog.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/vhdl.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/xml.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/xquery.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/snippets/yaml.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/worker-coffee.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/worker-css.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/worker-html.js
CHANGED
File without changes
|
js/ace/src-min-noconflict/worker-javascript.js
CHANGED
File without changes
|
js/admin.js
CHANGED
@@ -1,408 +1,423 @@
|
|
1 |
-
(function($) {
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
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 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
126 |
$(value).parents('tr').find('th').prop('colspan','2').append('<hr>');
|
127 |
$(value).parent('td').remove();
|
128 |
}); //*/
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
}(jQuery));
|
1 |
+
(function ($) {
|
2 |
+
"use strict";
|
3 |
+
|
4 |
+
/**
|
5 |
+
* Match the header with the WP-admin user color selection.
|
6 |
+
* Load before the document is ready.
|
7 |
+
*/
|
8 |
+
$('.cl-header').css('background-color', $('#adminmenuwrap').css('background-color'));
|
9 |
+
|
10 |
+
$(document).ready(function () {
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Global vars
|
14 |
+
*
|
15 |
+
* @return string
|
16 |
+
*/
|
17 |
+
var $this = null,
|
18 |
+
activetab,
|
19 |
+
clicked_group,
|
20 |
+
loaded = [],
|
21 |
+
form;
|
22 |
+
|
23 |
+
/**
|
24 |
+
*** Header *************************
|
25 |
+
************************************
|
26 |
+
************************************
|
27 |
+
*/
|
28 |
+
$('.cl-header').contrastColor();
|
29 |
+
|
30 |
+
/**
|
31 |
+
*** Active *************************
|
32 |
+
************************************
|
33 |
+
************************************
|
34 |
+
*/
|
35 |
+
$('span.tgl_input').replaceWith($('input[id="custom_login_general[active]"]').clone());
|
36 |
+
|
37 |
+
$(document).on('change', 'input[id="custom_login_general[active]"]', function () {
|
38 |
+
$('input[id="custom_login_general[active]"]').prop('checked', this.checked);
|
39 |
+
$.ajax({
|
40 |
+
type: "POST",
|
41 |
+
data: {
|
42 |
+
action: cl_settings_api.prefix + '_activate_check',
|
43 |
+
nonce: cl_settings_api.nonce,
|
44 |
+
active_value: this.checked.toString()
|
45 |
+
},
|
46 |
+
dataType: "json",
|
47 |
+
url: ajaxurl
|
48 |
+
})
|
49 |
+
.done(function (response) {
|
50 |
+
if (response.success) {
|
51 |
+
} else {
|
52 |
+
|
53 |
+
}
|
54 |
+
})
|
55 |
+
.fail(function () {
|
56 |
+
throw new Error('Error');
|
57 |
+
});
|
58 |
+
});
|
59 |
+
|
60 |
+
/**
|
61 |
+
*** Sidebar Nav + Main Group *******
|
62 |
+
************************************
|
63 |
+
************************************
|
64 |
+
*/
|
65 |
+
//localStorage.setItem('activetab', '');
|
66 |
+
$('.cl-main .group').hide();
|
67 |
+
if (typeof localStorage !== 'undefined') {
|
68 |
+
activetab = localStorage.getItem('activetab');
|
69 |
+
}
|
70 |
+
if (activetab !== '' && $(activetab).length) {
|
71 |
+
$(activetab).fadeIn();
|
72 |
+
$('input[id="cl_save"]').val('Save ' + $('a[href="' + activetab + '"]').text());
|
73 |
+
} else {
|
74 |
+
var first_group = $('.cl-main .group:first');
|
75 |
+
first_group.fadeIn();
|
76 |
+
$('input[id="cl_save"]').val('Save ' + $('.cl-sidebar .cl-sections-menu li:first a').text());
|
77 |
+
}
|
78 |
+
|
79 |
+
if (activetab !== '' && $('.cl-sections-menu a[href="' + activetab + '"]').length) {
|
80 |
+
$('.cl-sections-menu a[href="' + activetab + '"]').addClass('active');
|
81 |
+
} else {
|
82 |
+
$('.cl-sections-menu a:first').addClass('active');
|
83 |
+
}
|
84 |
+
// on.click event
|
85 |
+
$('.cl-sections-menu a').on('click', function (e) {
|
86 |
+
$this = $(this);
|
87 |
+
clicked_group = $this.attr('href');
|
88 |
+
|
89 |
+
$('input[id="cl_save"]').val('Save ' + $('a[href="' + clicked_group + '"]').text());
|
90 |
+
|
91 |
+
$('.cl-sections-menu a').removeClass('active');
|
92 |
+
$this.addClass('active').blur();
|
93 |
+
if (typeof (localStorage) != 'undefined') {
|
94 |
+
localStorage.setItem('activetab', clicked_group);
|
95 |
+
}
|
96 |
+
|
97 |
+
$('[class^="chosen-"]').each(function () {
|
98 |
+
if ($(this).css('width') === '0px') $(this).css('width', '220px');
|
99 |
+
});
|
100 |
+
|
101 |
+
$('.cl-main .group').hide();
|
102 |
+
$(clicked_group).fadeIn();
|
103 |
+
e.preventDefault();
|
104 |
+
});
|
105 |
+
|
106 |
+
/**
|
107 |
+
*** Sticky *************************
|
108 |
+
************************************
|
109 |
+
************************************
|
110 |
+
*/
|
111 |
+
var $sticky = $('#cl-sticky').sticky({
|
112 |
+
topSpacing: $('#wpadminbar').length ? $('#wpadminbar').height() : 0,
|
113 |
+
getWidthFrom: $('.cl-container')
|
114 |
+
});
|
115 |
+
$(window).scroll(function () {
|
116 |
+
if ($(window).scrollTop() + $(window).height() > $(document).height() - 200) {
|
117 |
+
$sticky.hide();
|
118 |
+
} else {
|
119 |
+
$sticky.show();
|
120 |
+
}
|
121 |
+
});
|
122 |
+
|
123 |
+
/**
|
124 |
+
*** Form Submit ********************
|
125 |
+
************************************
|
126 |
+
************************************
|
127 |
+
*/
|
128 |
+
$(document.body).on('click', 'input[name="cl_save"]', function (e) {
|
129 |
+
$this = $(this);
|
130 |
+
form = $('.cl-main > div.group:visible > form');
|
131 |
+
$this.attr('form', form.attr('id'));
|
132 |
+
form.submit();
|
133 |
+
}); //*/
|
134 |
+
|
135 |
+
/**
|
136 |
+
*** callback_html ******************
|
137 |
+
************************************
|
138 |
+
************************************
|
139 |
+
*
|
140 |
+
$.each( $('div[class^="section-custom_login"]'), function( index, value ) {
|
141 |
$(value).parents('tr').find('th').prop('colspan','2').append('<hr>');
|
142 |
$(value).parent('td').remove();
|
143 |
}); //*/
|
144 |
+
|
145 |
+
/**
|
146 |
+
*** callback_raw *******************
|
147 |
+
************************************
|
148 |
+
************************************
|
149 |
+
*/
|
150 |
+
$.each($('div[class="raw-html"]'), function (index, value) {
|
151 |
+
$(value).parents('tr').find('td').prop('colspan', '2');
|
152 |
+
$(value).parents('tr').find('th').remove();
|
153 |
+
});
|
154 |
+
|
155 |
+
/**
|
156 |
+
*** callback_text_array ************
|
157 |
+
************************************
|
158 |
+
************************************
|
159 |
+
*/
|
160 |
+
$('body').on('click', 'a[class^="button docopy-"]', function (e) {
|
161 |
+
e.preventDefault();
|
162 |
+
|
163 |
+
$this = $(this).prev().children();
|
164 |
+
var clone = $('input[id="' + $this.children().prop('id') + '"]');
|
165 |
+
var value = clone.data('key');
|
166 |
+
var newValue = parseInt(value) + 1;
|
167 |
+
|
168 |
+
var newInput = $this.last().clone();
|
169 |
+
newInput.insertAfter(clone.parent().last());
|
170 |
+
newInput.children().val('').data('key', newValue);
|
171 |
+
return false;
|
172 |
+
});
|
173 |
+
$('body').on('click', 'a[class^="button dodelete-"]', function (e) {
|
174 |
+
e.preventDefault();
|
175 |
+
|
176 |
+
$(this).parent().remove();
|
177 |
+
});
|
178 |
+
|
179 |
+
/**
|
180 |
+
*** callback_colorpicker ***********
|
181 |
+
************************************
|
182 |
+
************************************
|
183 |
+
*/
|
184 |
+
if (cl_settings_api.callback_colorpicker) {
|
185 |
+
$.each(cl_settings_api.callback_colorpicker, function (index, value) {
|
186 |
+
$this = value.section + '[' + value.id;
|
187 |
+
$('input[name="' + $this + ']"]').wpColorPicker();
|
188 |
+
|
189 |
+
if ($('select[name="' + $this + '_opacity]"]').hasClass('hidden')) {
|
190 |
+
$('select[name="' + $this + '_opacity]"]').removeClass('hidden').chosen().addClass('hidden');
|
191 |
+
} else {
|
192 |
+
$('select[name="' + $this + '_opacity]"]').chosen();
|
193 |
+
}
|
194 |
+
$('select[name="' + $this + '_opacity]"]').trigger('chosen:updated');
|
195 |
+
|
196 |
+
/**
|
197 |
+
* .replace @ref http://stackoverflow.com/a/3812077/558561
|
198 |
+
*/
|
199 |
+
var str = $this + '_opacity';
|
200 |
+
if (!$('input[name="' + $this + '_checkbox]"]').is(':checked')) {
|
201 |
+
$('#' + str.replace(/[\[\]]/g, '_') + '__chosen').hide();
|
202 |
+
}
|
203 |
+
|
204 |
+
$('input[name="' + $this + '_checkbox]"]').on('change', function () {
|
205 |
+
$('#' + str.replace(/[\[\]]/g, '_') + '__chosen').toggle();
|
206 |
+
});
|
207 |
+
});
|
208 |
+
}
|
209 |
+
|
210 |
+
/**
|
211 |
+
*** callback_select ****************
|
212 |
+
************************************
|
213 |
+
************************************
|
214 |
+
*/
|
215 |
+
if (cl_settings_api.callback_select) {
|
216 |
+
$.each(cl_settings_api.callback_select, function (index, value) {
|
217 |
+
$('select[name="' + value.section + '[' + value.id + ']"]').chosen();
|
218 |
+
$('select[name="' + value.section + '[' + value.id + ']"]').trigger('chosen:updated');
|
219 |
+
});
|
220 |
+
}
|
221 |
+
|
222 |
+
/**
|
223 |
+
*** callback_file ******************
|
224 |
+
************************************
|
225 |
+
************************************
|
226 |
+
*/
|
227 |
+
if (cl_settings_api.callback_file) {
|
228 |
+
$.each(cl_settings_api.callback_file, function (index, value) {
|
229 |
+
// WP 3.5+ uploader
|
230 |
+
var file_frame;
|
231 |
+
var wp_media_post_id = wp.media.model.settings.post.id;
|
232 |
+
var set_to_post_id = 0;
|
233 |
+
window.formfield = '';
|
234 |
+
|
235 |
+
$(document.body).on('click', 'input[type="button"].button.' + value.id + '-browse', function (e) {
|
236 |
+
e.preventDefault();
|
237 |
+
|
238 |
+
$this = $(this);
|
239 |
+
window.formfield = $this.closest('td');
|
240 |
+
|
241 |
+
// If the media frame already exists, reopen it.
|
242 |
+
if (file_frame) {
|
243 |
+
file_frame.uploader.uploader.param('post_id', set_to_post_id);
|
244 |
+
file_frame.open();
|
245 |
+
return;
|
246 |
+
} else {
|
247 |
+
// Set the wp.media post id so the uploader grabs the ID we want when initialised
|
248 |
+
wp.media.model.settings.post.id = set_to_post_id;
|
249 |
+
}
|
250 |
+
|
251 |
+
// Create the media frame.
|
252 |
+
file_frame = wp.media.frames.file_frame = wp.media({
|
253 |
+
frame: 'post',
|
254 |
+
state: 'insert',
|
255 |
+
title: $this.data('uploader_title'),
|
256 |
+
button: {
|
257 |
+
text: $this.data('uploader_button_text'),
|
258 |
+
},
|
259 |
+
library: {
|
260 |
+
type: 'image',
|
261 |
+
},
|
262 |
+
multiple: false // Set to true to allow multiple files to be selected
|
263 |
+
});
|
264 |
+
|
265 |
+
file_frame.on('menu:render:default', function (view) {
|
266 |
+
// Store our views in an object.
|
267 |
+
var views = {};
|
268 |
+
|
269 |
+
// Unset default menu items
|
270 |
+
view.unset('library-separator');
|
271 |
+
view.unset('gallery');
|
272 |
+
view.unset('featured-image');
|
273 |
+
view.unset('embed');
|
274 |
+
|
275 |
+
// Initialize the views in our view object.
|
276 |
+
view.set(views);
|
277 |
+
});
|
278 |
+
|
279 |
+
// When an image is selected, run a callback.
|
280 |
+
file_frame.on('insert', function () {
|
281 |
+
var attachment = file_frame.state().get('selection').first().toJSON();
|
282 |
+
|
283 |
+
// console.log(attachment);
|
284 |
+
// console.log(window.formfield.find('input[type="text"]').attr('id'));
|
285 |
+
|
286 |
+
window.formfield.find('input[type="text"]').val(attachment.url);
|
287 |
+
window.formfield.find('#' + value.id + '_preview').html('<div class="img-wrapper" style="width:250px"><img src="' + attachment.url + '" alt="" ><a href="#" class="remove_file_button" rel="' + value.id + '">Remove Image</a></div>');
|
288 |
+
|
289 |
+
// @since 3.0.1
|
290 |
+
// @updated 3.0.3
|
291 |
+
if (window.formfield.find('input[type="text"]').attr('id') == 'custom_login_design[logo_background_url]') {
|
292 |
+
window.formfield.parents('table').find('input[name="custom_login_design[logo_background_size_width]"]').val(attachment.width);
|
293 |
+
window.formfield.parents('table').find('input[name="custom_login_design[logo_background_size_height]"]').val(attachment.height);
|
294 |
+
}
|
295 |
+
|
296 |
+
});
|
297 |
+
|
298 |
+
// Finally, open the modal
|
299 |
+
file_frame.open();
|
300 |
+
});
|
301 |
+
|
302 |
+
$('input[type="button"].button.' + value.id + '-clear').on('click', function (e) {
|
303 |
+
e.preventDefault();
|
304 |
+
$(this).closest('td').find('input[type="text"]').val('');
|
305 |
+
$(this).closest('td').find('#' + $(this).prop('id').replace('_clear', '_preview') + ' div.image').remove();
|
306 |
+
});
|
307 |
+
$('a.remove_file_button').on('click', function (e) {
|
308 |
+
e.preventDefault();
|
309 |
+
$(this).closest('td').find('input[type="text"]').val('');
|
310 |
+
$(this).parent().slideUp().remove();
|
311 |
+
});
|
312 |
+
});
|
313 |
+
}
|
314 |
+
|
315 |
+
if (typeof ace !== 'undefined') {
|
316 |
+
|
317 |
+
/**
|
318 |
+
*** Custom CSS Textarea ************
|
319 |
+
*/
|
320 |
+
var custom_css_textarea = $('textarea[id$="custom_css]"]');
|
321 |
+
custom_css_textarea.parents('tr').find('td').prop('colspan', '2');
|
322 |
+
custom_css_textarea.parents('tr').find('th').remove();
|
323 |
+
$('<div id="custom_login[custom_css]_ace"/>').insertAfter(custom_css_textarea);
|
324 |
+
var custom_css = ace.edit("custom_login[custom_css]_ace");
|
325 |
+
custom_css.setOptions({
|
326 |
+
maxLines: 30,
|
327 |
+
autoScrollEditorIntoView: true
|
328 |
+
});
|
329 |
+
custom_css.getSession().setMode("ace/mode/css");
|
330 |
+
custom_css.setTheme("ace/theme/github");
|
331 |
+
custom_css_textarea.hide();
|
332 |
+
custom_css.getSession().setValue(custom_css_textarea.val());
|
333 |
+
custom_css.getSession().on('change', function () {
|
334 |
+
custom_css_textarea.val(custom_css.getSession().getValue());
|
335 |
+
});
|
336 |
+
|
337 |
+
/**
|
338 |
+
*** Custom HTML Textarea ***********
|
339 |
+
*/
|
340 |
+
var custom_html_textarea = $('textarea[id$="custom_html]"]');
|
341 |
+
custom_html_textarea.parents('tr').find('td').prop('colspan', '2');
|
342 |
+
custom_html_textarea.parents('tr').find('th').remove();
|
343 |
+
$('<div id="custom_login[custom_html]_ace"/>').insertAfter(custom_html_textarea);
|
344 |
+
var custom_html = ace.edit("custom_login[custom_html]_ace");
|
345 |
+
custom_html.setOptions({
|
346 |
+
maxLines: 30,
|
347 |
+
autoScrollEditorIntoView: true
|
348 |
+
});
|
349 |
+
custom_html.getSession().setMode("ace/mode/html");
|
350 |
+
custom_html.setTheme("ace/theme/github");
|
351 |
+
custom_html_textarea.hide();
|
352 |
+
custom_html.getSession().setValue(custom_html_textarea.val());
|
353 |
+
custom_html.getSession().on('change', function () {
|
354 |
+
custom_html_textarea.val(custom_html.getSession().getValue());
|
355 |
+
});
|
356 |
+
|
357 |
+
/**
|
358 |
+
*** Custom JS Textarea *************
|
359 |
+
*/
|
360 |
+
var custom_js_textarea = $('textarea[id$="custom_jquery]"]');
|
361 |
+
custom_js_textarea.parents('tr').find('td').prop('colspan', '2');
|
362 |
+
custom_js_textarea.parents('tr').find('th').remove();
|
363 |
+
$('<div id="custom_login[custom_jquery]_ace"/>').insertAfter(custom_js_textarea);
|
364 |
+
var custom_js = ace.edit("custom_login[custom_jquery]_ace");
|
365 |
+
custom_js.setOptions({
|
366 |
+
maxLines: 30,
|
367 |
+
autoScrollEditorIntoView: true
|
368 |
+
});
|
369 |
+
custom_js.getSession().setMode("ace/mode/javascript");
|
370 |
+
custom_js.setTheme("ace/theme/github");
|
371 |
+
custom_js_textarea.hide();
|
372 |
+
custom_js.getSession().setValue(custom_js_textarea.val());
|
373 |
+
custom_js.getSession().on('change', function () {
|
374 |
+
custom_js_textarea.val(custom_js.getSession().getValue());
|
375 |
+
});
|
376 |
+
} // ace
|
377 |
+
|
378 |
+
/**
|
379 |
+
*** Setting Function ***************
|
380 |
+
************************************
|
381 |
+
************************************
|
382 |
+
*/
|
383 |
+
function get_setting(id) {
|
384 |
+
|
385 |
+
// @ref http://stackoverflow.com/a/8769051/558561
|
386 |
+
if ($.inArray(id, loaded) === -1) {
|
387 |
+
|
388 |
+
var jqxhr = $.post(ajaxurl, {
|
389 |
+
action: cl_settings_api.prefix + '_get_form',
|
390 |
+
nonce: cl_settings_api.nonce,
|
391 |
+
form_id: id,
|
392 |
+
}, function (response) {
|
393 |
+
if (response.error === 0) {
|
394 |
+
$(id).html(response.html);
|
395 |
+
}
|
396 |
+
}, 'json');
|
397 |
+
|
398 |
+
loaded.push(id);
|
399 |
+
}
|
400 |
+
|
401 |
+
} // get_setting()
|
402 |
+
|
403 |
+
}); // (document)
|
404 |
+
|
405 |
+
/**
|
406 |
+
* Helper function to create contracting color
|
407 |
+
* @ref http://codeitdown.com/jquery-color-contrast/
|
408 |
+
*/
|
409 |
+
$.fn.contrastColor = function () {
|
410 |
+
return this.each(function () {
|
411 |
+
var bg = $(this).css('background-color');
|
412 |
+
//get r,g,b and decide
|
413 |
+
var rgb = bg.replace(/^(rgb|rgba)\(/, '').replace(/\)$/, '').replace(/\s/g, '').split(',');
|
414 |
+
var yiq = ((rgb[0] * 299) + (rgb[1] * 587) + (rgb[2] * 114)) / 1000;
|
415 |
+
if (yiq >= 128) {
|
416 |
+
$(this).children().css('color', '#111111');
|
417 |
+
} else {
|
418 |
+
$(this).children().css('color', '#ffffff');
|
419 |
+
}
|
420 |
+
});
|
421 |
+
};
|
422 |
+
|
423 |
+
}(jQuery));
|
js/chosen.jquery.js
CHANGED
@@ -2,18 +2,19 @@
|
|
2 |
Chosen, a Select Box Enhancer for jQuery and Prototype
|
3 |
by Patrick Filler for Harvest, http://getharvest.com
|
4 |
|
5 |
-
Version 1.
|
6 |
Full source at https://github.com/harvesthq/chosen
|
7 |
-
Copyright (c) 2011-
|
8 |
|
9 |
MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md
|
10 |
This file is generated by `grunt build`, do not edit it by hand.
|
11 |
*/
|
12 |
|
13 |
(function() {
|
14 |
-
var $, AbstractChosen, Chosen, SelectParser,
|
15 |
-
|
16 |
-
|
|
|
17 |
|
18 |
SelectParser = (function() {
|
19 |
function SelectParser() {
|
@@ -30,23 +31,24 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
30 |
};
|
31 |
|
32 |
SelectParser.prototype.add_group = function(group) {
|
33 |
-
var group_position,
|
34 |
group_position = this.parsed.length;
|
35 |
this.parsed.push({
|
36 |
array_index: group_position,
|
37 |
group: true,
|
38 |
-
label:
|
|
|
39 |
children: 0,
|
40 |
disabled: group.disabled,
|
41 |
classes: group.className
|
42 |
});
|
43 |
-
|
44 |
-
|
45 |
-
for (
|
46 |
-
option =
|
47 |
-
|
48 |
}
|
49 |
-
return
|
50 |
};
|
51 |
|
52 |
SelectParser.prototype.add_option = function(option, group_position, group_disabled) {
|
@@ -61,9 +63,11 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
61 |
value: option.value,
|
62 |
text: option.text,
|
63 |
html: option.innerHTML,
|
|
|
64 |
selected: option.selected,
|
65 |
disabled: group_disabled === true ? group_disabled : option.disabled,
|
66 |
group_array_index: group_position,
|
|
|
67 |
classes: option.className,
|
68 |
style: option.style.cssText
|
69 |
});
|
@@ -78,46 +82,26 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
78 |
}
|
79 |
};
|
80 |
|
81 |
-
SelectParser.prototype.escapeExpression = function(text) {
|
82 |
-
var map, unsafe_chars;
|
83 |
-
if ((text == null) || text === false) {
|
84 |
-
return "";
|
85 |
-
}
|
86 |
-
if (!/[\&\<\>\"\'\`]/.test(text)) {
|
87 |
-
return text;
|
88 |
-
}
|
89 |
-
map = {
|
90 |
-
"<": "<",
|
91 |
-
">": ">",
|
92 |
-
'"': """,
|
93 |
-
"'": "'",
|
94 |
-
"`": "`"
|
95 |
-
};
|
96 |
-
unsafe_chars = /&(?!\w+;)|[\<\>\"\'\`]/g;
|
97 |
-
return text.replace(unsafe_chars, function(chr) {
|
98 |
-
return map[chr] || "&";
|
99 |
-
});
|
100 |
-
};
|
101 |
-
|
102 |
return SelectParser;
|
103 |
|
104 |
})();
|
105 |
|
106 |
SelectParser.select_to_array = function(select) {
|
107 |
-
var child,
|
108 |
parser = new SelectParser();
|
109 |
-
|
110 |
-
for (
|
111 |
-
child =
|
112 |
parser.add_node(child);
|
113 |
}
|
114 |
return parser.parsed;
|
115 |
};
|
116 |
|
117 |
AbstractChosen = (function() {
|
118 |
-
function AbstractChosen(form_field,
|
119 |
this.form_field = form_field;
|
120 |
-
this.options =
|
|
|
121 |
if (!AbstractChosen.browser_is_supported()) {
|
122 |
return;
|
123 |
}
|
@@ -131,17 +115,21 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
131 |
}
|
132 |
|
133 |
AbstractChosen.prototype.set_default_values = function() {
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
this
|
139 |
-
|
140 |
-
|
|
|
|
|
|
|
141 |
this.active_field = false;
|
142 |
this.mouse_on_container = false;
|
143 |
this.results_showing = false;
|
144 |
this.result_highlighted = null;
|
|
|
145 |
this.allow_single_deselect = (this.options.allow_single_deselect != null) && (this.form_field.options[0] != null) && this.form_field.options[0].text === "" ? this.options.allow_single_deselect : false;
|
146 |
this.disable_search_threshold = this.options.disable_search_threshold || 0;
|
147 |
this.disable_search = this.options.disable_search || false;
|
@@ -152,7 +140,11 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
152 |
this.max_selected_options = this.options.max_selected_options || Infinity;
|
153 |
this.inherit_select_classes = this.options.inherit_select_classes || false;
|
154 |
this.display_selected_options = this.options.display_selected_options != null ? this.options.display_selected_options : true;
|
155 |
-
|
|
|
|
|
|
|
|
|
156 |
};
|
157 |
|
158 |
AbstractChosen.prototype.set_default_text = function() {
|
@@ -163,9 +155,18 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
163 |
} else {
|
164 |
this.default_text = this.options.placeholder_text_single || this.options.placeholder_text || AbstractChosen.default_single_text;
|
165 |
}
|
|
|
166 |
return this.results_none_found = this.form_field.getAttribute("data-no_results_text") || this.options.no_results_text || AbstractChosen.default_no_result_text;
|
167 |
};
|
168 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
169 |
AbstractChosen.prototype.mouse_enter = function() {
|
170 |
return this.mouse_on_container = true;
|
171 |
};
|
@@ -175,12 +176,13 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
175 |
};
|
176 |
|
177 |
AbstractChosen.prototype.input_focus = function(evt) {
|
178 |
-
var _this = this;
|
179 |
if (this.is_multiple) {
|
180 |
if (!this.active_field) {
|
181 |
-
return setTimeout((function() {
|
182 |
-
return
|
183 |
-
|
|
|
|
|
184 |
}
|
185 |
} else {
|
186 |
if (!this.active_field) {
|
@@ -190,33 +192,51 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
190 |
};
|
191 |
|
192 |
AbstractChosen.prototype.input_blur = function(evt) {
|
193 |
-
var _this = this;
|
194 |
if (!this.mouse_on_container) {
|
195 |
this.active_field = false;
|
196 |
-
return setTimeout((function() {
|
197 |
-
return
|
198 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
199 |
}
|
200 |
};
|
201 |
|
202 |
AbstractChosen.prototype.results_option_build = function(options) {
|
203 |
-
var content, data,
|
204 |
content = '';
|
205 |
-
|
206 |
-
|
207 |
-
|
|
|
|
|
208 |
if (data.group) {
|
209 |
-
|
210 |
} else {
|
211 |
-
|
|
|
|
|
|
|
|
|
212 |
}
|
213 |
if (options != null ? options.first : void 0) {
|
214 |
if (data.selected && this.is_multiple) {
|
215 |
this.choice_build(data);
|
216 |
} else if (data.selected && !this.is_multiple) {
|
217 |
-
this.single_set_selected_text(data
|
218 |
}
|
219 |
}
|
|
|
|
|
|
|
220 |
}
|
221 |
return content;
|
222 |
};
|
@@ -247,9 +267,14 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
247 |
}
|
248 |
option_el = document.createElement("li");
|
249 |
option_el.className = classes.join(" ");
|
250 |
-
|
|
|
|
|
251 |
option_el.setAttribute("data-option-array-index", option.array_index);
|
252 |
-
option_el.innerHTML = option.
|
|
|
|
|
|
|
253 |
return this.outerHTML(option_el);
|
254 |
};
|
255 |
|
@@ -268,7 +293,10 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
268 |
}
|
269 |
group_el = document.createElement("li");
|
270 |
group_el.className = classes.join(" ");
|
271 |
-
group_el.innerHTML = group.
|
|
|
|
|
|
|
272 |
return this.outerHTML(group_el);
|
273 |
};
|
274 |
|
@@ -285,18 +313,18 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
285 |
};
|
286 |
|
287 |
AbstractChosen.prototype.reset_single_select_options = function() {
|
288 |
-
var
|
289 |
-
|
290 |
-
|
291 |
-
for (
|
292 |
-
result =
|
293 |
if (result.selected) {
|
294 |
-
|
295 |
} else {
|
296 |
-
|
297 |
}
|
298 |
}
|
299 |
-
return
|
300 |
};
|
301 |
|
302 |
AbstractChosen.prototype.results_toggle = function() {
|
@@ -315,19 +343,20 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
315 |
}
|
316 |
};
|
317 |
|
318 |
-
AbstractChosen.prototype.winnow_results = function() {
|
319 |
-
var
|
320 |
this.no_results_clear();
|
321 |
results = 0;
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
option = _ref[_i];
|
329 |
option.search_match = false;
|
330 |
results_group = null;
|
|
|
|
|
331 |
if (this.include_option_in_results(option)) {
|
332 |
if (option.group) {
|
333 |
option.group_match = false;
|
@@ -340,17 +369,20 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
340 |
}
|
341 |
results_group.active_options += 1;
|
342 |
}
|
|
|
343 |
if (!(option.group && !this.group_search)) {
|
344 |
-
|
345 |
-
option.search_match =
|
346 |
if (option.search_match && !option.group) {
|
347 |
results += 1;
|
348 |
}
|
349 |
if (option.search_match) {
|
350 |
-
if (
|
351 |
-
startpos =
|
352 |
-
|
353 |
-
|
|
|
|
|
354 |
}
|
355 |
if (results_group != null) {
|
356 |
results_group.group_match = true;
|
@@ -362,47 +394,45 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
362 |
}
|
363 |
}
|
364 |
this.result_clear_highlight();
|
365 |
-
if (results < 1 &&
|
366 |
this.update_results_content("");
|
367 |
-
return this.no_results(
|
368 |
} else {
|
369 |
this.update_results_content(this.results_option_build());
|
370 |
-
|
|
|
|
|
371 |
}
|
372 |
};
|
373 |
|
374 |
AbstractChosen.prototype.get_search_regex = function(escaped_search_string) {
|
375 |
-
var
|
376 |
-
|
377 |
-
|
|
|
|
|
|
|
|
|
378 |
};
|
379 |
|
380 |
AbstractChosen.prototype.search_string_match = function(search_string, regex) {
|
381 |
-
var
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
parts = search_string.replace(/\[|\]/g, "").split(" ");
|
386 |
-
if (parts.length) {
|
387 |
-
for (_i = 0, _len = parts.length; _i < _len; _i++) {
|
388 |
-
part = parts[_i];
|
389 |
-
if (regex.test(part)) {
|
390 |
-
return true;
|
391 |
-
}
|
392 |
-
}
|
393 |
-
}
|
394 |
}
|
|
|
395 |
};
|
396 |
|
397 |
AbstractChosen.prototype.choices_count = function() {
|
398 |
-
var
|
399 |
if (this.selected_option_count != null) {
|
400 |
return this.selected_option_count;
|
401 |
}
|
402 |
this.selected_option_count = 0;
|
403 |
-
|
404 |
-
for (
|
405 |
-
option =
|
406 |
if (option.selected) {
|
407 |
this.selected_option_count += 1;
|
408 |
}
|
@@ -412,59 +442,109 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
412 |
|
413 |
AbstractChosen.prototype.choices_click = function(evt) {
|
414 |
evt.preventDefault();
|
|
|
415 |
if (!(this.results_showing || this.is_disabled)) {
|
416 |
return this.results_show();
|
417 |
}
|
418 |
};
|
419 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
420 |
AbstractChosen.prototype.keyup_checker = function(evt) {
|
421 |
-
var
|
422 |
-
stroke = (
|
423 |
this.search_field_scale();
|
424 |
switch (stroke) {
|
425 |
case 8:
|
426 |
if (this.is_multiple && this.backstroke_length < 1 && this.choices_count() > 0) {
|
427 |
-
|
428 |
} else if (!this.pending_backstroke) {
|
429 |
this.result_clear_highlight();
|
430 |
-
|
431 |
}
|
432 |
break;
|
433 |
case 13:
|
434 |
evt.preventDefault();
|
435 |
if (this.results_showing) {
|
436 |
-
|
437 |
}
|
438 |
break;
|
439 |
case 27:
|
440 |
if (this.results_showing) {
|
441 |
this.results_hide();
|
442 |
}
|
443 |
-
|
444 |
case 9:
|
|
|
|
|
|
|
445 |
case 38:
|
446 |
case 40:
|
447 |
-
case 16:
|
448 |
case 91:
|
449 |
-
case 17:
|
450 |
break;
|
451 |
default:
|
452 |
-
|
|
|
453 |
}
|
454 |
};
|
455 |
|
456 |
AbstractChosen.prototype.clipboard_event_checker = function(evt) {
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
|
|
|
|
|
|
|
|
|
461 |
};
|
462 |
|
463 |
AbstractChosen.prototype.container_width = function() {
|
464 |
if (this.options.width != null) {
|
465 |
return this.options.width;
|
466 |
} else {
|
467 |
-
return
|
468 |
}
|
469 |
};
|
470 |
|
@@ -507,18 +587,25 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
507 |
return tmp.innerHTML;
|
508 |
};
|
509 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
510 |
AbstractChosen.browser_is_supported = function() {
|
511 |
-
if (
|
512 |
return document.documentMode >= 8;
|
513 |
}
|
514 |
-
if (/iP(od|hone)/i.test(window.navigator.userAgent)) {
|
515 |
return false;
|
516 |
}
|
517 |
-
if (/Android/i.test(window.navigator.userAgent)) {
|
518 |
-
if (/Mobile/i.test(window.navigator.userAgent)) {
|
519 |
-
return false;
|
520 |
-
}
|
521 |
-
}
|
522 |
return true;
|
523 |
};
|
524 |
|
@@ -543,27 +630,29 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
543 |
var $this, chosen;
|
544 |
$this = $(this);
|
545 |
chosen = $this.data('chosen');
|
546 |
-
if (options === 'destroy'
|
547 |
-
chosen
|
548 |
-
|
|
|
|
|
|
|
|
|
549 |
$this.data('chosen', new Chosen(this, options));
|
550 |
}
|
551 |
});
|
552 |
}
|
553 |
});
|
554 |
|
555 |
-
Chosen = (function(
|
556 |
-
|
557 |
|
558 |
function Chosen() {
|
559 |
-
|
560 |
-
return _ref;
|
561 |
}
|
562 |
|
563 |
Chosen.prototype.setup = function() {
|
564 |
this.form_field_jq = $(this.form_field);
|
565 |
-
this.current_selectedIndex = this.form_field.selectedIndex;
|
566 |
-
return this.is_rtl = this.form_field_jq.hasClass("chosen-rtl");
|
567 |
};
|
568 |
|
569 |
Chosen.prototype.set_up_html = function() {
|
@@ -578,17 +667,17 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
578 |
}
|
579 |
container_props = {
|
580 |
'class': container_classes.join(' '),
|
581 |
-
'style': "width: " + (this.container_width()) + ";",
|
582 |
'title': this.form_field.title
|
583 |
};
|
584 |
if (this.form_field.id.length) {
|
585 |
container_props.id = this.form_field.id.replace(/[^\w]/g, '_') + "_chosen";
|
586 |
}
|
587 |
this.container = $("<div />", container_props);
|
|
|
588 |
if (this.is_multiple) {
|
589 |
-
this.container.html(
|
590 |
} else {
|
591 |
-
this.container.html(
|
592 |
}
|
593 |
this.form_field_jq.hide().after(this.container);
|
594 |
this.dropdown = this.container.find('div.chosen-drop').first();
|
@@ -615,89 +704,139 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
615 |
};
|
616 |
|
617 |
Chosen.prototype.register_observers = function() {
|
618 |
-
|
619 |
-
|
620 |
-
|
621 |
-
|
622 |
-
this
|
623 |
-
|
624 |
-
|
625 |
-
|
626 |
-
|
627 |
-
});
|
628 |
-
this.container.
|
629 |
-
|
630 |
-
|
631 |
-
|
632 |
-
|
633 |
-
|
634 |
-
|
635 |
-
|
636 |
-
|
637 |
-
this
|
638 |
-
|
639 |
-
|
640 |
-
|
641 |
-
|
642 |
-
});
|
643 |
-
this.
|
644 |
-
|
645 |
-
|
646 |
-
|
647 |
-
|
648 |
-
|
649 |
-
|
650 |
-
|
651 |
-
|
652 |
-
this
|
653 |
-
|
654 |
-
|
655 |
-
|
656 |
-
|
657 |
-
});
|
658 |
-
this.
|
659 |
-
|
660 |
-
|
661 |
-
|
662 |
-
|
663 |
-
|
664 |
-
|
665 |
-
|
666 |
-
|
667 |
-
this
|
668 |
-
|
669 |
-
|
670 |
-
|
671 |
-
|
672 |
-
});
|
673 |
-
this.
|
674 |
-
|
675 |
-
|
676 |
-
|
677 |
-
|
678 |
-
|
679 |
-
|
680 |
-
|
681 |
-
|
682 |
-
this
|
683 |
-
|
684 |
-
|
685 |
-
|
686 |
-
|
687 |
-
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
688 |
if (this.is_multiple) {
|
689 |
-
return this.search_choices.
|
690 |
-
|
691 |
-
|
|
|
|
|
692 |
} else {
|
693 |
-
return this.container.
|
694 |
evt.preventDefault();
|
695 |
});
|
696 |
}
|
697 |
};
|
698 |
|
699 |
Chosen.prototype.destroy = function() {
|
700 |
-
$(this.container[0].ownerDocument).
|
|
|
|
|
|
|
701 |
if (this.search_field[0].tabIndex) {
|
702 |
this.form_field_jq[0].tabIndex = this.search_field[0].tabIndex;
|
703 |
}
|
@@ -707,41 +846,39 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
707 |
};
|
708 |
|
709 |
Chosen.prototype.search_field_disabled = function() {
|
710 |
-
this.is_disabled = this.form_field_jq
|
|
|
|
|
|
|
|
|
|
|
711 |
if (this.is_disabled) {
|
712 |
-
this.container.addClass('chosen-disabled');
|
713 |
-
this.search_field[0].disabled = true;
|
714 |
-
if (!this.is_multiple) {
|
715 |
-
this.selected_item.unbind("focus.chosen", this.activate_action);
|
716 |
-
}
|
717 |
return this.close_field();
|
718 |
-
} else {
|
719 |
-
this.
|
720 |
-
this.search_field[0].disabled = false;
|
721 |
-
if (!this.is_multiple) {
|
722 |
-
return this.selected_item.bind("focus.chosen", this.activate_action);
|
723 |
-
}
|
724 |
}
|
725 |
};
|
726 |
|
727 |
Chosen.prototype.container_mousedown = function(evt) {
|
728 |
-
|
729 |
-
|
730 |
-
|
731 |
-
|
732 |
-
|
733 |
-
|
734 |
-
|
735 |
-
|
736 |
-
|
737 |
-
|
738 |
-
this.
|
739 |
-
} else if (!this.is_multiple && evt && (($(evt.target)[0] === this.selected_item[0]) || $(evt.target).parents("a.chosen-single").length)) {
|
740 |
-
evt.preventDefault();
|
741 |
-
this.results_toggle();
|
742 |
}
|
743 |
-
|
|
|
|
|
|
|
|
|
744 |
}
|
|
|
745 |
}
|
746 |
};
|
747 |
|
@@ -772,16 +909,20 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
772 |
};
|
773 |
|
774 |
Chosen.prototype.close_field = function() {
|
775 |
-
$(this.container[0].ownerDocument).
|
776 |
this.active_field = false;
|
777 |
this.results_hide();
|
778 |
this.container.removeClass("chosen-container-active");
|
779 |
this.clear_backstroke();
|
780 |
this.show_search_field_default();
|
781 |
-
|
|
|
782 |
};
|
783 |
|
784 |
Chosen.prototype.activate_field = function() {
|
|
|
|
|
|
|
785 |
this.container.addClass("chosen-container-active");
|
786 |
this.active_field = true;
|
787 |
this.search_field.val(this.search_field.val());
|
@@ -804,7 +945,7 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
804 |
this.results_data = SelectParser.select_to_array(this.form_field);
|
805 |
if (this.is_multiple) {
|
806 |
this.search_choices.find("li.search-choice").remove();
|
807 |
-
} else
|
808 |
this.single_set_selected_text();
|
809 |
if (this.disable_search || this.form_field.options.length <= this.disable_search_threshold) {
|
810 |
this.search_field[0].readOnly = true;
|
@@ -859,7 +1000,7 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
859 |
this.container.addClass("chosen-with-drop");
|
860 |
this.results_showing = true;
|
861 |
this.search_field.focus();
|
862 |
-
this.search_field.val(this.
|
863 |
this.winnow_results();
|
864 |
return this.form_field_jq.trigger("chosen:showing_dropdown", {
|
865 |
chosen: this
|
@@ -891,19 +1032,12 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
891 |
};
|
892 |
|
893 |
Chosen.prototype.set_label_behavior = function() {
|
894 |
-
var _this = this;
|
895 |
this.form_field_label = this.form_field_jq.parents("label");
|
896 |
if (!this.form_field_label.length && this.form_field.id.length) {
|
897 |
this.form_field_label = $("label[for='" + this.form_field.id + "']");
|
898 |
}
|
899 |
if (this.form_field_label.length > 0) {
|
900 |
-
return this.form_field_label.
|
901 |
-
if (_this.is_multiple) {
|
902 |
-
return _this.container_mousedown(evt);
|
903 |
-
} else {
|
904 |
-
return _this.activate_field();
|
905 |
-
}
|
906 |
-
});
|
907 |
}
|
908 |
};
|
909 |
|
@@ -936,17 +1070,16 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
936 |
};
|
937 |
|
938 |
Chosen.prototype.search_results_mouseout = function(evt) {
|
939 |
-
if ($(evt.target).hasClass("active-result" || $(evt.target).parents('.active-result').first())
|
940 |
return this.result_clear_highlight();
|
941 |
}
|
942 |
};
|
943 |
|
944 |
Chosen.prototype.choice_build = function(item) {
|
945 |
-
var choice, close_link
|
946 |
-
_this = this;
|
947 |
choice = $('<li />', {
|
948 |
"class": "search-choice"
|
949 |
-
}).html("<span>" + item
|
950 |
if (item.disabled) {
|
951 |
choice.addClass('search-choice-disabled');
|
952 |
} else {
|
@@ -954,9 +1087,11 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
954 |
"class": 'search-choice-close',
|
955 |
'data-option-array-index': item.array_index
|
956 |
});
|
957 |
-
close_link.
|
958 |
-
return
|
959 |
-
|
|
|
|
|
960 |
choice.append(close_link);
|
961 |
}
|
962 |
return this.search_container.before(choice);
|
@@ -972,8 +1107,12 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
972 |
|
973 |
Chosen.prototype.choice_destroy = function(link) {
|
974 |
if (this.result_deselect(link[0].getAttribute("data-option-array-index"))) {
|
975 |
-
this.
|
976 |
-
|
|
|
|
|
|
|
|
|
977 |
this.results_hide();
|
978 |
}
|
979 |
link.parents('li').first().remove();
|
@@ -987,7 +1126,7 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
987 |
this.single_set_selected_text();
|
988 |
this.show_search_field_default();
|
989 |
this.results_reset_cleanup();
|
990 |
-
this.
|
991 |
if (this.active_field) {
|
992 |
return this.results_hide();
|
993 |
}
|
@@ -1014,6 +1153,7 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
1014 |
} else {
|
1015 |
this.reset_single_select_options();
|
1016 |
}
|
|
|
1017 |
item = this.results_data[high[0].getAttribute("data-option-array-index")];
|
1018 |
item.selected = true;
|
1019 |
this.form_field.options[item.options_index].selected = true;
|
@@ -1021,18 +1161,28 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
1021 |
if (this.is_multiple) {
|
1022 |
this.choice_build(item);
|
1023 |
} else {
|
1024 |
-
this.single_set_selected_text(item
|
1025 |
}
|
1026 |
-
if (!(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1027 |
this.results_hide();
|
|
|
1028 |
}
|
1029 |
-
this.search_field.val("");
|
1030 |
if (this.is_multiple || this.form_field.selectedIndex !== this.current_selectedIndex) {
|
1031 |
-
this.
|
1032 |
-
|
1033 |
});
|
1034 |
}
|
1035 |
this.current_selectedIndex = this.form_field.selectedIndex;
|
|
|
1036 |
return this.search_field_scale();
|
1037 |
}
|
1038 |
};
|
@@ -1047,7 +1197,7 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
1047 |
this.single_deselect_control_build();
|
1048 |
this.selected_item.removeClass("chosen-default");
|
1049 |
}
|
1050 |
-
return this.selected_item.find("span").
|
1051 |
};
|
1052 |
|
1053 |
Chosen.prototype.result_deselect = function(pos) {
|
@@ -1061,7 +1211,7 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
1061 |
if (this.results_showing) {
|
1062 |
this.winnow_results();
|
1063 |
}
|
1064 |
-
this.
|
1065 |
deselected: this.form_field.options[result_data.options_index].value
|
1066 |
});
|
1067 |
this.search_field_scale();
|
@@ -1081,12 +1231,16 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
1081 |
return this.selected_item.addClass("chosen-single-with-deselect");
|
1082 |
};
|
1083 |
|
|
|
|
|
|
|
|
|
1084 |
Chosen.prototype.get_search_text = function() {
|
1085 |
-
|
1086 |
-
|
1087 |
-
|
1088 |
-
|
1089 |
-
|
1090 |
};
|
1091 |
|
1092 |
Chosen.prototype.winnow_results_set_highlight = function() {
|
@@ -1100,8 +1254,7 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
1100 |
|
1101 |
Chosen.prototype.no_results = function(terms) {
|
1102 |
var no_results_html;
|
1103 |
-
no_results_html =
|
1104 |
-
no_results_html.find("span").first().html(terms);
|
1105 |
this.search_results.append(no_results_html);
|
1106 |
return this.form_field_jq.trigger("chosen:no_results", {
|
1107 |
chosen: this
|
@@ -1166,70 +1319,37 @@ This file is generated by `grunt build`, do not edit it by hand.
|
|
1166 |
return this.pending_backstroke = null;
|
1167 |
};
|
1168 |
|
1169 |
-
Chosen.prototype.
|
1170 |
-
var
|
1171 |
-
|
1172 |
-
|
1173 |
-
if (stroke !== 8 && this.pending_backstroke) {
|
1174 |
-
this.clear_backstroke();
|
1175 |
}
|
1176 |
-
|
1177 |
-
|
1178 |
-
|
1179 |
-
|
1180 |
-
|
1181 |
-
|
1182 |
-
|
1183 |
-
|
1184 |
-
|
1185 |
-
|
1186 |
-
|
1187 |
-
|
1188 |
-
|
1189 |
-
|
1190 |
-
|
1191 |
-
|
1192 |
-
|
1193 |
-
|
1194 |
-
|
1195 |
-
break;
|
1196 |
-
case 38:
|
1197 |
-
evt.preventDefault();
|
1198 |
-
this.keyup_arrow();
|
1199 |
-
break;
|
1200 |
-
case 40:
|
1201 |
-
evt.preventDefault();
|
1202 |
-
this.keydown_arrow();
|
1203 |
-
break;
|
1204 |
}
|
|
|
1205 |
};
|
1206 |
|
1207 |
-
Chosen.prototype.
|
1208 |
-
|
1209 |
-
|
1210 |
-
h = 0;
|
1211 |
-
w = 0;
|
1212 |
-
style_block = "position:absolute; left: -1000px; top: -1000px; display:none;";
|
1213 |
-
styles = ['font-size', 'font-style', 'font-weight', 'font-family', 'line-height', 'text-transform', 'letter-spacing'];
|
1214 |
-
for (_i = 0, _len = styles.length; _i < _len; _i++) {
|
1215 |
-
style = styles[_i];
|
1216 |
-
style_block += style + ":" + this.search_field.css(style) + ";";
|
1217 |
-
}
|
1218 |
-
div = $('<div />', {
|
1219 |
-
'style': style_block
|
1220 |
-
});
|
1221 |
-
div.text(this.search_field.val());
|
1222 |
-
$('body').append(div);
|
1223 |
-
w = div.width() + 25;
|
1224 |
-
div.remove();
|
1225 |
-
f_width = this.container.outerWidth();
|
1226 |
-
if (w > f_width - 10) {
|
1227 |
-
w = f_width - 10;
|
1228 |
-
}
|
1229 |
-
return this.search_field.css({
|
1230 |
-
'width': w + 'px'
|
1231 |
-
});
|
1232 |
-
}
|
1233 |
};
|
1234 |
|
1235 |
return Chosen;
|
2 |
Chosen, a Select Box Enhancer for jQuery and Prototype
|
3 |
by Patrick Filler for Harvest, http://getharvest.com
|
4 |
|
5 |
+
Version 1.8.7
|
6 |
Full source at https://github.com/harvesthq/chosen
|
7 |
+
Copyright (c) 2011-2018 Harvest http://getharvest.com
|
8 |
|
9 |
MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md
|
10 |
This file is generated by `grunt build`, do not edit it by hand.
|
11 |
*/
|
12 |
|
13 |
(function() {
|
14 |
+
var $, AbstractChosen, Chosen, SelectParser,
|
15 |
+
bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },
|
16 |
+
extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
|
17 |
+
hasProp = {}.hasOwnProperty;
|
18 |
|
19 |
SelectParser = (function() {
|
20 |
function SelectParser() {
|
31 |
};
|
32 |
|
33 |
SelectParser.prototype.add_group = function(group) {
|
34 |
+
var group_position, i, len, option, ref, results1;
|
35 |
group_position = this.parsed.length;
|
36 |
this.parsed.push({
|
37 |
array_index: group_position,
|
38 |
group: true,
|
39 |
+
label: group.label,
|
40 |
+
title: group.title ? group.title : void 0,
|
41 |
children: 0,
|
42 |
disabled: group.disabled,
|
43 |
classes: group.className
|
44 |
});
|
45 |
+
ref = group.childNodes;
|
46 |
+
results1 = [];
|
47 |
+
for (i = 0, len = ref.length; i < len; i++) {
|
48 |
+
option = ref[i];
|
49 |
+
results1.push(this.add_option(option, group_position, group.disabled));
|
50 |
}
|
51 |
+
return results1;
|
52 |
};
|
53 |
|
54 |
SelectParser.prototype.add_option = function(option, group_position, group_disabled) {
|
63 |
value: option.value,
|
64 |
text: option.text,
|
65 |
html: option.innerHTML,
|
66 |
+
title: option.title ? option.title : void 0,
|
67 |
selected: option.selected,
|
68 |
disabled: group_disabled === true ? group_disabled : option.disabled,
|
69 |
group_array_index: group_position,
|
70 |
+
group_label: group_position != null ? this.parsed[group_position].label : null,
|
71 |
classes: option.className,
|
72 |
style: option.style.cssText
|
73 |
});
|
82 |
}
|
83 |
};
|
84 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
85 |
return SelectParser;
|
86 |
|
87 |
})();
|
88 |
|
89 |
SelectParser.select_to_array = function(select) {
|
90 |
+
var child, i, len, parser, ref;
|
91 |
parser = new SelectParser();
|
92 |
+
ref = select.childNodes;
|
93 |
+
for (i = 0, len = ref.length; i < len; i++) {
|
94 |
+
child = ref[i];
|
95 |
parser.add_node(child);
|
96 |
}
|
97 |
return parser.parsed;
|
98 |
};
|
99 |
|
100 |
AbstractChosen = (function() {
|
101 |
+
function AbstractChosen(form_field, options1) {
|
102 |
this.form_field = form_field;
|
103 |
+
this.options = options1 != null ? options1 : {};
|
104 |
+
this.label_click_handler = bind(this.label_click_handler, this);
|
105 |
if (!AbstractChosen.browser_is_supported()) {
|
106 |
return;
|
107 |
}
|
115 |
}
|
116 |
|
117 |
AbstractChosen.prototype.set_default_values = function() {
|
118 |
+
this.click_test_action = (function(_this) {
|
119 |
+
return function(evt) {
|
120 |
+
return _this.test_active_click(evt);
|
121 |
+
};
|
122 |
+
})(this);
|
123 |
+
this.activate_action = (function(_this) {
|
124 |
+
return function(evt) {
|
125 |
+
return _this.activate_field(evt);
|
126 |
+
};
|
127 |
+
})(this);
|
128 |
this.active_field = false;
|
129 |
this.mouse_on_container = false;
|
130 |
this.results_showing = false;
|
131 |
this.result_highlighted = null;
|
132 |
+
this.is_rtl = this.options.rtl || /\bchosen-rtl\b/.test(this.form_field.className);
|
133 |
this.allow_single_deselect = (this.options.allow_single_deselect != null) && (this.form_field.options[0] != null) && this.form_field.options[0].text === "" ? this.options.allow_single_deselect : false;
|
134 |
this.disable_search_threshold = this.options.disable_search_threshold || 0;
|
135 |
this.disable_search = this.options.disable_search || false;
|
140 |
this.max_selected_options = this.options.max_selected_options || Infinity;
|
141 |
this.inherit_select_classes = this.options.inherit_select_classes || false;
|
142 |
this.display_selected_options = this.options.display_selected_options != null ? this.options.display_selected_options : true;
|
143 |
+
this.display_disabled_options = this.options.display_disabled_options != null ? this.options.display_disabled_options : true;
|
144 |
+
this.include_group_label_in_selected = this.options.include_group_label_in_selected || false;
|
145 |
+
this.max_shown_results = this.options.max_shown_results || Number.POSITIVE_INFINITY;
|
146 |
+
this.case_sensitive_search = this.options.case_sensitive_search || false;
|
147 |
+
return this.hide_results_on_select = this.options.hide_results_on_select != null ? this.options.hide_results_on_select : true;
|
148 |
};
|
149 |
|
150 |
AbstractChosen.prototype.set_default_text = function() {
|
155 |
} else {
|
156 |
this.default_text = this.options.placeholder_text_single || this.options.placeholder_text || AbstractChosen.default_single_text;
|
157 |
}
|
158 |
+
this.default_text = this.escape_html(this.default_text);
|
159 |
return this.results_none_found = this.form_field.getAttribute("data-no_results_text") || this.options.no_results_text || AbstractChosen.default_no_result_text;
|
160 |
};
|
161 |
|
162 |
+
AbstractChosen.prototype.choice_label = function(item) {
|
163 |
+
if (this.include_group_label_in_selected && (item.group_label != null)) {
|
164 |
+
return "<b class='group-name'>" + (this.escape_html(item.group_label)) + "</b>" + item.html;
|
165 |
+
} else {
|
166 |
+
return item.html;
|
167 |
+
}
|
168 |
+
};
|
169 |
+
|
170 |
AbstractChosen.prototype.mouse_enter = function() {
|
171 |
return this.mouse_on_container = true;
|
172 |
};
|
176 |
};
|
177 |
|
178 |
AbstractChosen.prototype.input_focus = function(evt) {
|
|
|
179 |
if (this.is_multiple) {
|
180 |
if (!this.active_field) {
|
181 |
+
return setTimeout(((function(_this) {
|
182 |
+
return function() {
|
183 |
+
return _this.container_mousedown();
|
184 |
+
};
|
185 |
+
})(this)), 50);
|
186 |
}
|
187 |
} else {
|
188 |
if (!this.active_field) {
|
192 |
};
|
193 |
|
194 |
AbstractChosen.prototype.input_blur = function(evt) {
|
|
|
195 |
if (!this.mouse_on_container) {
|
196 |
this.active_field = false;
|
197 |
+
return setTimeout(((function(_this) {
|
198 |
+
return function() {
|
199 |
+
return _this.blur_test();
|
200 |
+
};
|
201 |
+
})(this)), 100);
|
202 |
+
}
|
203 |
+
};
|
204 |
+
|
205 |
+
AbstractChosen.prototype.label_click_handler = function(evt) {
|
206 |
+
if (this.is_multiple) {
|
207 |
+
return this.container_mousedown(evt);
|
208 |
+
} else {
|
209 |
+
return this.activate_field();
|
210 |
}
|
211 |
};
|
212 |
|
213 |
AbstractChosen.prototype.results_option_build = function(options) {
|
214 |
+
var content, data, data_content, i, len, ref, shown_results;
|
215 |
content = '';
|
216 |
+
shown_results = 0;
|
217 |
+
ref = this.results_data;
|
218 |
+
for (i = 0, len = ref.length; i < len; i++) {
|
219 |
+
data = ref[i];
|
220 |
+
data_content = '';
|
221 |
if (data.group) {
|
222 |
+
data_content = this.result_add_group(data);
|
223 |
} else {
|
224 |
+
data_content = this.result_add_option(data);
|
225 |
+
}
|
226 |
+
if (data_content !== '') {
|
227 |
+
shown_results++;
|
228 |
+
content += data_content;
|
229 |
}
|
230 |
if (options != null ? options.first : void 0) {
|
231 |
if (data.selected && this.is_multiple) {
|
232 |
this.choice_build(data);
|
233 |
} else if (data.selected && !this.is_multiple) {
|
234 |
+
this.single_set_selected_text(this.choice_label(data));
|
235 |
}
|
236 |
}
|
237 |
+
if (shown_results >= this.max_shown_results) {
|
238 |
+
break;
|
239 |
+
}
|
240 |
}
|
241 |
return content;
|
242 |
};
|
267 |
}
|
268 |
option_el = document.createElement("li");
|
269 |
option_el.className = classes.join(" ");
|
270 |
+
if (option.style) {
|
271 |
+
option_el.style.cssText = option.style;
|
272 |
+
}
|
273 |
option_el.setAttribute("data-option-array-index", option.array_index);
|
274 |
+
option_el.innerHTML = option.highlighted_html || option.html;
|
275 |
+
if (option.title) {
|
276 |
+
option_el.title = option.title;
|
277 |
+
}
|
278 |
return this.outerHTML(option_el);
|
279 |
};
|
280 |
|
293 |
}
|
294 |
group_el = document.createElement("li");
|
295 |
group_el.className = classes.join(" ");
|
296 |
+
group_el.innerHTML = group.highlighted_html || this.escape_html(group.label);
|
297 |
+
if (group.title) {
|
298 |
+
group_el.title = group.title;
|
299 |
+
}
|
300 |
return this.outerHTML(group_el);
|
301 |
};
|
302 |
|
313 |
};
|
314 |
|
315 |
AbstractChosen.prototype.reset_single_select_options = function() {
|
316 |
+
var i, len, ref, result, results1;
|
317 |
+
ref = this.results_data;
|
318 |
+
results1 = [];
|
319 |
+
for (i = 0, len = ref.length; i < len; i++) {
|
320 |
+
result = ref[i];
|
321 |
if (result.selected) {
|
322 |
+
results1.push(result.selected = false);
|
323 |
} else {
|
324 |
+
results1.push(void 0);
|
325 |
}
|
326 |
}
|
327 |
+
return results1;
|
328 |
};
|
329 |
|
330 |
AbstractChosen.prototype.results_toggle = function() {
|
343 |
}
|
344 |
};
|
345 |
|
346 |
+
AbstractChosen.prototype.winnow_results = function(options) {
|
347 |
+
var escapedQuery, fix, i, len, option, prefix, query, ref, regex, results, results_group, search_match, startpos, suffix, text;
|
348 |
this.no_results_clear();
|
349 |
results = 0;
|
350 |
+
query = this.get_search_text();
|
351 |
+
escapedQuery = query.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
|
352 |
+
regex = this.get_search_regex(escapedQuery);
|
353 |
+
ref = this.results_data;
|
354 |
+
for (i = 0, len = ref.length; i < len; i++) {
|
355 |
+
option = ref[i];
|
|
|
356 |
option.search_match = false;
|
357 |
results_group = null;
|
358 |
+
search_match = null;
|
359 |
+
option.highlighted_html = '';
|
360 |
if (this.include_option_in_results(option)) {
|
361 |
if (option.group) {
|
362 |
option.group_match = false;
|
369 |
}
|
370 |
results_group.active_options += 1;
|
371 |
}
|
372 |
+
text = option.group ? option.label : option.text;
|
373 |
if (!(option.group && !this.group_search)) {
|
374 |
+
search_match = this.search_string_match(text, regex);
|
375 |
+
option.search_match = search_match != null;
|
376 |
if (option.search_match && !option.group) {
|
377 |
results += 1;
|
378 |
}
|
379 |
if (option.search_match) {
|
380 |
+
if (query.length) {
|
381 |
+
startpos = search_match.index;
|
382 |
+
prefix = text.slice(0, startpos);
|
383 |
+
fix = text.slice(startpos, startpos + query.length);
|
384 |
+
suffix = text.slice(startpos + query.length);
|
385 |
+
option.highlighted_html = (this.escape_html(prefix)) + "<em>" + (this.escape_html(fix)) + "</em>" + (this.escape_html(suffix));
|
386 |
}
|
387 |
if (results_group != null) {
|
388 |
results_group.group_match = true;
|
394 |
}
|
395 |
}
|
396 |
this.result_clear_highlight();
|
397 |
+
if (results < 1 && query.length) {
|
398 |
this.update_results_content("");
|
399 |
+
return this.no_results(query);
|
400 |
} else {
|
401 |
this.update_results_content(this.results_option_build());
|
402 |
+
if (!(options != null ? options.skip_highlight : void 0)) {
|
403 |
+
return this.winnow_results_set_highlight();
|
404 |
+
}
|
405 |
}
|
406 |
};
|
407 |
|
408 |
AbstractChosen.prototype.get_search_regex = function(escaped_search_string) {
|
409 |
+
var regex_flag, regex_string;
|
410 |
+
regex_string = this.search_contains ? escaped_search_string : "(^|\\s|\\b)" + escaped_search_string + "[^\\s]*";
|
411 |
+
if (!(this.enable_split_word_search || this.search_contains)) {
|
412 |
+
regex_string = "^" + regex_string;
|
413 |
+
}
|
414 |
+
regex_flag = this.case_sensitive_search ? "" : "i";
|
415 |
+
return new RegExp(regex_string, regex_flag);
|
416 |
};
|
417 |
|
418 |
AbstractChosen.prototype.search_string_match = function(search_string, regex) {
|
419 |
+
var match;
|
420 |
+
match = regex.exec(search_string);
|
421 |
+
if (!this.search_contains && (match != null ? match[1] : void 0)) {
|
422 |
+
match.index += 1;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
423 |
}
|
424 |
+
return match;
|
425 |
};
|
426 |
|
427 |
AbstractChosen.prototype.choices_count = function() {
|
428 |
+
var i, len, option, ref;
|
429 |
if (this.selected_option_count != null) {
|
430 |
return this.selected_option_count;
|
431 |
}
|
432 |
this.selected_option_count = 0;
|
433 |
+
ref = this.form_field.options;
|
434 |
+
for (i = 0, len = ref.length; i < len; i++) {
|
435 |
+
option = ref[i];
|
436 |
if (option.selected) {
|
437 |
this.selected_option_count += 1;
|
438 |
}
|
442 |
|
443 |
AbstractChosen.prototype.choices_click = function(evt) {
|
444 |
evt.preventDefault();
|
445 |
+
this.activate_field();
|
446 |
if (!(this.results_showing || this.is_disabled)) {
|
447 |
return this.results_show();
|
448 |
}
|
449 |
};
|
450 |
|
451 |
+
AbstractChosen.prototype.keydown_checker = function(evt) {
|
452 |
+
var ref, stroke;
|
453 |
+
stroke = (ref = evt.which) != null ? ref : evt.keyCode;
|
454 |
+
this.search_field_scale();
|
455 |
+
if (stroke !== 8 && this.pending_backstroke) {
|
456 |
+
this.clear_backstroke();
|
457 |
+
}
|
458 |
+
switch (stroke) {
|
459 |
+
case 8:
|
460 |
+
this.backstroke_length = this.get_search_field_value().length;
|
461 |
+
break;
|
462 |
+
case 9:
|
463 |
+
if (this.results_showing && !this.is_multiple) {
|
464 |
+
this.result_select(evt);
|
465 |
+
}
|
466 |
+
this.mouse_on_container = false;
|
467 |
+
break;
|
468 |
+
case 13:
|
469 |
+
if (this.results_showing) {
|
470 |
+
evt.preventDefault();
|
471 |
+
}
|
472 |
+
break;
|
473 |
+
case 27:
|
474 |
+
if (this.results_showing) {
|
475 |
+
evt.preventDefault();
|
476 |
+
}
|
477 |
+
break;
|
478 |
+
case 32:
|
479 |
+
if (this.disable_search) {
|
480 |
+
evt.preventDefault();
|
481 |
+
}
|
482 |
+
break;
|
483 |
+
case 38:
|
484 |
+
evt.preventDefault();
|
485 |
+
this.keyup_arrow();
|
486 |
+
break;
|
487 |
+
case 40:
|
488 |
+
evt.preventDefault();
|
489 |
+
this.keydown_arrow();
|
490 |
+
break;
|
491 |
+
}
|
492 |
+
};
|
493 |
+
|
494 |
AbstractChosen.prototype.keyup_checker = function(evt) {
|
495 |
+
var ref, stroke;
|
496 |
+
stroke = (ref = evt.which) != null ? ref : evt.keyCode;
|
497 |
this.search_field_scale();
|
498 |
switch (stroke) {
|
499 |
case 8:
|
500 |
if (this.is_multiple && this.backstroke_length < 1 && this.choices_count() > 0) {
|
501 |
+
this.keydown_backstroke();
|
502 |
} else if (!this.pending_backstroke) {
|
503 |
this.result_clear_highlight();
|
504 |
+
this.results_search();
|
505 |
}
|
506 |
break;
|
507 |
case 13:
|
508 |
evt.preventDefault();
|
509 |
if (this.results_showing) {
|
510 |
+
this.result_select(evt);
|
511 |
}
|
512 |
break;
|
513 |
case 27:
|
514 |
if (this.results_showing) {
|
515 |
this.results_hide();
|
516 |
}
|
517 |
+
break;
|
518 |
case 9:
|
519 |
+
case 16:
|
520 |
+
case 17:
|
521 |
+
case 18:
|
522 |
case 38:
|
523 |
case 40:
|
|
|
524 |
case 91:
|
|
|
525 |
break;
|
526 |
default:
|
527 |
+
this.results_search();
|
528 |
+
break;
|
529 |
}
|
530 |
};
|
531 |
|
532 |
AbstractChosen.prototype.clipboard_event_checker = function(evt) {
|
533 |
+
if (this.is_disabled) {
|
534 |
+
return;
|
535 |
+
}
|
536 |
+
return setTimeout(((function(_this) {
|
537 |
+
return function() {
|
538 |
+
return _this.results_search();
|
539 |
+
};
|
540 |
+
})(this)), 50);
|
541 |
};
|
542 |
|
543 |
AbstractChosen.prototype.container_width = function() {
|
544 |
if (this.options.width != null) {
|
545 |
return this.options.width;
|
546 |
} else {
|
547 |
+
return this.form_field.offsetWidth + "px";
|
548 |
}
|
549 |
};
|
550 |
|
587 |
return tmp.innerHTML;
|
588 |
};
|
589 |
|
590 |
+
AbstractChosen.prototype.get_single_html = function() {
|
591 |
+
return "<a class=\"chosen-single chosen-default\">\n <span>" + this.default_text + "</span>\n <div><b></b></div>\n</a>\n<div class=\"chosen-drop\">\n <div class=\"chosen-search\">\n <input class=\"chosen-search-input\" type=\"text\" autocomplete=\"off\" />\n </div>\n <ul class=\"chosen-results\"></ul>\n</div>";
|
592 |
+
};
|
593 |
+
|
594 |
+
AbstractChosen.prototype.get_multi_html = function() {
|
595 |
+
return "<ul class=\"chosen-choices\">\n <li class=\"search-field\">\n <input class=\"chosen-search-input\" type=\"text\" autocomplete=\"off\" value=\"" + this.default_text + "\" />\n </li>\n</ul>\n<div class=\"chosen-drop\">\n <ul class=\"chosen-results\"></ul>\n</div>";
|
596 |
+
};
|
597 |
+
|
598 |
+
AbstractChosen.prototype.get_no_results_html = function(terms) {
|
599 |
+
return "<li class=\"no-results\">\n " + this.results_none_found + " <span>" + (this.escape_html(terms)) + "</span>\n</li>";
|
600 |
+
};
|
601 |
+
|
602 |
AbstractChosen.browser_is_supported = function() {
|
603 |
+
if ("Microsoft Internet Explorer" === window.navigator.appName) {
|
604 |
return document.documentMode >= 8;
|
605 |
}
|
606 |
+
if (/iP(od|hone)/i.test(window.navigator.userAgent) || /IEMobile/i.test(window.navigator.userAgent) || /Windows Phone/i.test(window.navigator.userAgent) || /BlackBerry/i.test(window.navigator.userAgent) || /BB10/i.test(window.navigator.userAgent) || /Android.*Mobile/i.test(window.navigator.userAgent)) {
|
607 |
return false;
|
608 |
}
|
|
|
|
|
|
|
|
|
|
|
609 |
return true;
|
610 |
};
|
611 |
|
630 |
var $this, chosen;
|
631 |
$this = $(this);
|
632 |
chosen = $this.data('chosen');
|
633 |
+
if (options === 'destroy') {
|
634 |
+
if (chosen instanceof Chosen) {
|
635 |
+
chosen.destroy();
|
636 |
+
}
|
637 |
+
return;
|
638 |
+
}
|
639 |
+
if (!(chosen instanceof Chosen)) {
|
640 |
$this.data('chosen', new Chosen(this, options));
|
641 |
}
|
642 |
});
|
643 |
}
|
644 |
});
|
645 |
|
646 |
+
Chosen = (function(superClass) {
|
647 |
+
extend(Chosen, superClass);
|
648 |
|
649 |
function Chosen() {
|
650 |
+
return Chosen.__super__.constructor.apply(this, arguments);
|
|
|
651 |
}
|
652 |
|
653 |
Chosen.prototype.setup = function() {
|
654 |
this.form_field_jq = $(this.form_field);
|
655 |
+
return this.current_selectedIndex = this.form_field.selectedIndex;
|
|
|
656 |
};
|
657 |
|
658 |
Chosen.prototype.set_up_html = function() {
|
667 |
}
|
668 |
container_props = {
|
669 |
'class': container_classes.join(' '),
|
|
|
670 |
'title': this.form_field.title
|
671 |
};
|
672 |
if (this.form_field.id.length) {
|
673 |
container_props.id = this.form_field.id.replace(/[^\w]/g, '_') + "_chosen";
|
674 |
}
|
675 |
this.container = $("<div />", container_props);
|
676 |
+
this.container.width(this.container_width());
|
677 |
if (this.is_multiple) {
|
678 |
+
this.container.html(this.get_multi_html());
|
679 |
} else {
|
680 |
+
this.container.html(this.get_single_html());
|
681 |
}
|
682 |
this.form_field_jq.hide().after(this.container);
|
683 |
this.dropdown = this.container.find('div.chosen-drop').first();
|
704 |
};
|
705 |
|
706 |
Chosen.prototype.register_observers = function() {
|
707 |
+
this.container.on('touchstart.chosen', (function(_this) {
|
708 |
+
return function(evt) {
|
709 |
+
_this.container_mousedown(evt);
|
710 |
+
};
|
711 |
+
})(this));
|
712 |
+
this.container.on('touchend.chosen', (function(_this) {
|
713 |
+
return function(evt) {
|
714 |
+
_this.container_mouseup(evt);
|
715 |
+
};
|
716 |
+
})(this));
|
717 |
+
this.container.on('mousedown.chosen', (function(_this) {
|
718 |
+
return function(evt) {
|
719 |
+
_this.container_mousedown(evt);
|
720 |
+
};
|
721 |
+
})(this));
|
722 |
+
this.container.on('mouseup.chosen', (function(_this) {
|
723 |
+
return function(evt) {
|
724 |
+
_this.container_mouseup(evt);
|
725 |
+
};
|
726 |
+
})(this));
|
727 |
+
this.container.on('mouseenter.chosen', (function(_this) {
|
728 |
+
return function(evt) {
|
729 |
+
_this.mouse_enter(evt);
|
730 |
+
};
|
731 |
+
})(this));
|
732 |
+
this.container.on('mouseleave.chosen', (function(_this) {
|
733 |
+
return function(evt) {
|
734 |
+
_this.mouse_leave(evt);
|
735 |
+
};
|
736 |
+
})(this));
|
737 |
+
this.search_results.on('mouseup.chosen', (function(_this) {
|
738 |
+
return function(evt) {
|
739 |
+
_this.search_results_mouseup(evt);
|
740 |
+
};
|
741 |
+
})(this));
|
742 |
+
this.search_results.on('mouseover.chosen', (function(_this) {
|
743 |
+
return function(evt) {
|
744 |
+
_this.search_results_mouseover(evt);
|
745 |
+
};
|
746 |
+
})(this));
|
747 |
+
this.search_results.on('mouseout.chosen', (function(_this) {
|
748 |
+
return function(evt) {
|
749 |
+
_this.search_results_mouseout(evt);
|
750 |
+
};
|
751 |
+
})(this));
|
752 |
+
this.search_results.on('mousewheel.chosen DOMMouseScroll.chosen', (function(_this) {
|
753 |
+
return function(evt) {
|
754 |
+
_this.search_results_mousewheel(evt);
|
755 |
+
};
|
756 |
+
})(this));
|
757 |
+
this.search_results.on('touchstart.chosen', (function(_this) {
|
758 |
+
return function(evt) {
|
759 |
+
_this.search_results_touchstart(evt);
|
760 |
+
};
|
761 |
+
})(this));
|
762 |
+
this.search_results.on('touchmove.chosen', (function(_this) {
|
763 |
+
return function(evt) {
|
764 |
+
_this.search_results_touchmove(evt);
|
765 |
+
};
|
766 |
+
})(this));
|
767 |
+
this.search_results.on('touchend.chosen', (function(_this) {
|
768 |
+
return function(evt) {
|
769 |
+
_this.search_results_touchend(evt);
|
770 |
+
};
|
771 |
+
})(this));
|
772 |
+
this.form_field_jq.on("chosen:updated.chosen", (function(_this) {
|
773 |
+
return function(evt) {
|
774 |
+
_this.results_update_field(evt);
|
775 |
+
};
|
776 |
+
})(this));
|
777 |
+
this.form_field_jq.on("chosen:activate.chosen", (function(_this) {
|
778 |
+
return function(evt) {
|
779 |
+
_this.activate_field(evt);
|
780 |
+
};
|
781 |
+
})(this));
|
782 |
+
this.form_field_jq.on("chosen:open.chosen", (function(_this) {
|
783 |
+
return function(evt) {
|
784 |
+
_this.container_mousedown(evt);
|
785 |
+
};
|
786 |
+
})(this));
|
787 |
+
this.form_field_jq.on("chosen:close.chosen", (function(_this) {
|
788 |
+
return function(evt) {
|
789 |
+
_this.close_field(evt);
|
790 |
+
};
|
791 |
+
})(this));
|
792 |
+
this.search_field.on('blur.chosen', (function(_this) {
|
793 |
+
return function(evt) {
|
794 |
+
_this.input_blur(evt);
|
795 |
+
};
|
796 |
+
})(this));
|
797 |
+
this.search_field.on('keyup.chosen', (function(_this) {
|
798 |
+
return function(evt) {
|
799 |
+
_this.keyup_checker(evt);
|
800 |
+
};
|
801 |
+
})(this));
|
802 |
+
this.search_field.on('keydown.chosen', (function(_this) {
|
803 |
+
return function(evt) {
|
804 |
+
_this.keydown_checker(evt);
|
805 |
+
};
|
806 |
+
})(this));
|
807 |
+
this.search_field.on('focus.chosen', (function(_this) {
|
808 |
+
return function(evt) {
|
809 |
+
_this.input_focus(evt);
|
810 |
+
};
|
811 |
+
})(this));
|
812 |
+
this.search_field.on('cut.chosen', (function(_this) {
|
813 |
+
return function(evt) {
|
814 |
+
_this.clipboard_event_checker(evt);
|
815 |
+
};
|
816 |
+
})(this));
|
817 |
+
this.search_field.on('paste.chosen', (function(_this) {
|
818 |
+
return function(evt) {
|
819 |
+
_this.clipboard_event_checker(evt);
|
820 |
+
};
|
821 |
+
})(this));
|
822 |
if (this.is_multiple) {
|
823 |
+
return this.search_choices.on('click.chosen', (function(_this) {
|
824 |
+
return function(evt) {
|
825 |
+
_this.choices_click(evt);
|
826 |
+
};
|
827 |
+
})(this));
|
828 |
} else {
|
829 |
+
return this.container.on('click.chosen', function(evt) {
|
830 |
evt.preventDefault();
|
831 |
});
|
832 |
}
|
833 |
};
|
834 |
|
835 |
Chosen.prototype.destroy = function() {
|
836 |
+
$(this.container[0].ownerDocument).off('click.chosen', this.click_test_action);
|
837 |
+
if (this.form_field_label.length > 0) {
|
838 |
+
this.form_field_label.off('click.chosen');
|
839 |
+
}
|
840 |
if (this.search_field[0].tabIndex) {
|
841 |
this.form_field_jq[0].tabIndex = this.search_field[0].tabIndex;
|
842 |
}
|
846 |
};
|
847 |
|
848 |
Chosen.prototype.search_field_disabled = function() {
|
849 |
+
this.is_disabled = this.form_field.disabled || this.form_field_jq.parents('fieldset').is(':disabled');
|
850 |
+
this.container.toggleClass('chosen-disabled', this.is_disabled);
|
851 |
+
this.search_field[0].disabled = this.is_disabled;
|
852 |
+
if (!this.is_multiple) {
|
853 |
+
this.selected_item.off('focus.chosen', this.activate_field);
|
854 |
+
}
|
855 |
if (this.is_disabled) {
|
|
|
|
|
|
|
|
|
|
|
856 |
return this.close_field();
|
857 |
+
} else if (!this.is_multiple) {
|
858 |
+
return this.selected_item.on('focus.chosen', this.activate_field);
|
|
|
|
|
|
|
|
|
859 |
}
|
860 |
};
|
861 |
|
862 |
Chosen.prototype.container_mousedown = function(evt) {
|
863 |
+
var ref;
|
864 |
+
if (this.is_disabled) {
|
865 |
+
return;
|
866 |
+
}
|
867 |
+
if (evt && ((ref = evt.type) === 'mousedown' || ref === 'touchstart') && !this.results_showing) {
|
868 |
+
evt.preventDefault();
|
869 |
+
}
|
870 |
+
if (!((evt != null) && ($(evt.target)).hasClass("search-choice-close"))) {
|
871 |
+
if (!this.active_field) {
|
872 |
+
if (this.is_multiple) {
|
873 |
+
this.search_field.val("");
|
|
|
|
|
|
|
874 |
}
|
875 |
+
$(this.container[0].ownerDocument).on('click.chosen', this.click_test_action);
|
876 |
+
this.results_show();
|
877 |
+
} else if (!this.is_multiple && evt && (($(evt.target)[0] === this.selected_item[0]) || $(evt.target).parents("a.chosen-single").length)) {
|
878 |
+
evt.preventDefault();
|
879 |
+
this.results_toggle();
|
880 |
}
|
881 |
+
return this.activate_field();
|
882 |
}
|
883 |
};
|
884 |
|
909 |
};
|
910 |
|
911 |
Chosen.prototype.close_field = function() {
|
912 |
+
$(this.container[0].ownerDocument).off("click.chosen", this.click_test_action);
|
913 |
this.active_field = false;
|
914 |
this.results_hide();
|
915 |
this.container.removeClass("chosen-container-active");
|
916 |
this.clear_backstroke();
|
917 |
this.show_search_field_default();
|
918 |
+
this.search_field_scale();
|
919 |
+
return this.search_field.blur();
|
920 |
};
|
921 |
|
922 |
Chosen.prototype.activate_field = function() {
|
923 |
+
if (this.is_disabled) {
|
924 |
+
return;
|
925 |
+
}
|
926 |
this.container.addClass("chosen-container-active");
|
927 |
this.active_field = true;
|
928 |
this.search_field.val(this.search_field.val());
|
945 |
this.results_data = SelectParser.select_to_array(this.form_field);
|
946 |
if (this.is_multiple) {
|
947 |
this.search_choices.find("li.search-choice").remove();
|
948 |
+
} else {
|
949 |
this.single_set_selected_text();
|
950 |
if (this.disable_search || this.form_field.options.length <= this.disable_search_threshold) {
|
951 |
this.search_field[0].readOnly = true;
|
1000 |
this.container.addClass("chosen-with-drop");
|
1001 |
this.results_showing = true;
|
1002 |
this.search_field.focus();
|
1003 |
+
this.search_field.val(this.get_search_field_value());
|
1004 |
this.winnow_results();
|
1005 |
return this.form_field_jq.trigger("chosen:showing_dropdown", {
|
1006 |
chosen: this
|
1032 |
};
|
1033 |
|
1034 |
Chosen.prototype.set_label_behavior = function() {
|
|
|
1035 |
this.form_field_label = this.form_field_jq.parents("label");
|
1036 |
if (!this.form_field_label.length && this.form_field.id.length) {
|
1037 |
this.form_field_label = $("label[for='" + this.form_field.id + "']");
|
1038 |
}
|
1039 |
if (this.form_field_label.length > 0) {
|
1040 |
+
return this.form_field_label.on('click.chosen', this.label_click_handler);
|
|
|
|
|
|
|
|
|
|
|
|
|
1041 |
}
|
1042 |
};
|
1043 |
|
1070 |
};
|
1071 |
|
1072 |
Chosen.prototype.search_results_mouseout = function(evt) {
|
1073 |
+
if ($(evt.target).hasClass("active-result") || $(evt.target).parents('.active-result').first()) {
|
1074 |
return this.result_clear_highlight();
|
1075 |
}
|
1076 |
};
|
1077 |
|
1078 |
Chosen.prototype.choice_build = function(item) {
|
1079 |
+
var choice, close_link;
|
|
|
1080 |
choice = $('<li />', {
|
1081 |
"class": "search-choice"
|
1082 |
+
}).html("<span>" + (this.choice_label(item)) + "</span>");
|
1083 |
if (item.disabled) {
|
1084 |
choice.addClass('search-choice-disabled');
|
1085 |
} else {
|
1087 |
"class": 'search-choice-close',
|
1088 |
'data-option-array-index': item.array_index
|
1089 |
});
|
1090 |
+
close_link.on('click.chosen', (function(_this) {
|
1091 |
+
return function(evt) {
|
1092 |
+
return _this.choice_destroy_link_click(evt);
|
1093 |
+
};
|
1094 |
+
})(this));
|
1095 |
choice.append(close_link);
|
1096 |
}
|
1097 |
return this.search_container.before(choice);
|
1107 |
|
1108 |
Chosen.prototype.choice_destroy = function(link) {
|
1109 |
if (this.result_deselect(link[0].getAttribute("data-option-array-index"))) {
|
1110 |
+
if (this.active_field) {
|
1111 |
+
this.search_field.focus();
|
1112 |
+
} else {
|
1113 |
+
this.show_search_field_default();
|
1114 |
+
}
|
1115 |
+
if (this.is_multiple && this.choices_count() > 0 && this.get_search_field_value().length < 1) {
|
1116 |
this.results_hide();
|
1117 |
}
|
1118 |
link.parents('li').first().remove();
|
1126 |
this.single_set_selected_text();
|
1127 |
this.show_search_field_default();
|
1128 |
this.results_reset_cleanup();
|
1129 |
+
this.trigger_form_field_change();
|
1130 |
if (this.active_field) {
|
1131 |
return this.results_hide();
|
1132 |
}
|
1153 |
} else {
|
1154 |
this.reset_single_select_options();
|
1155 |
}
|
1156 |
+
high.addClass("result-selected");
|
1157 |
item = this.results_data[high[0].getAttribute("data-option-array-index")];
|
1158 |
item.selected = true;
|
1159 |
this.form_field.options[item.options_index].selected = true;
|
1161 |
if (this.is_multiple) {
|
1162 |
this.choice_build(item);
|
1163 |
} else {
|
1164 |
+
this.single_set_selected_text(this.choice_label(item));
|
1165 |
}
|
1166 |
+
if (this.is_multiple && (!this.hide_results_on_select || (evt.metaKey || evt.ctrlKey))) {
|
1167 |
+
if (evt.metaKey || evt.ctrlKey) {
|
1168 |
+
this.winnow_results({
|
1169 |
+
skip_highlight: true
|
1170 |
+
});
|
1171 |
+
} else {
|
1172 |
+
this.search_field.val("");
|
1173 |
+
this.winnow_results();
|
1174 |
+
}
|
1175 |
+
} else {
|
1176 |
this.results_hide();
|
1177 |
+
this.show_search_field_default();
|
1178 |
}
|
|
|
1179 |
if (this.is_multiple || this.form_field.selectedIndex !== this.current_selectedIndex) {
|
1180 |
+
this.trigger_form_field_change({
|
1181 |
+
selected: this.form_field.options[item.options_index].value
|
1182 |
});
|
1183 |
}
|
1184 |
this.current_selectedIndex = this.form_field.selectedIndex;
|
1185 |
+
evt.preventDefault();
|
1186 |
return this.search_field_scale();
|
1187 |
}
|
1188 |
};
|
1197 |
this.single_deselect_control_build();
|
1198 |
this.selected_item.removeClass("chosen-default");
|
1199 |
}
|
1200 |
+
return this.selected_item.find("span").html(text);
|
1201 |
};
|
1202 |
|
1203 |
Chosen.prototype.result_deselect = function(pos) {
|
1211 |
if (this.results_showing) {
|
1212 |
this.winnow_results();
|
1213 |
}
|
1214 |
+
this.trigger_form_field_change({
|
1215 |
deselected: this.form_field.options[result_data.options_index].value
|
1216 |
});
|
1217 |
this.search_field_scale();
|
1231 |
return this.selected_item.addClass("chosen-single-with-deselect");
|
1232 |
};
|
1233 |
|
1234 |
+
Chosen.prototype.get_search_field_value = function() {
|
1235 |
+
return this.search_field.val();
|
1236 |
+
};
|
1237 |
+
|
1238 |
Chosen.prototype.get_search_text = function() {
|
1239 |
+
return $.trim(this.get_search_field_value());
|
1240 |
+
};
|
1241 |
+
|
1242 |
+
Chosen.prototype.escape_html = function(text) {
|
1243 |
+
return $('<div/>').text(text).html();
|
1244 |
};
|
1245 |
|
1246 |
Chosen.prototype.winnow_results_set_highlight = function() {
|
1254 |
|
1255 |
Chosen.prototype.no_results = function(terms) {
|
1256 |
var no_results_html;
|
1257 |
+
no_results_html = this.get_no_results_html(terms);
|
|
|
1258 |
this.search_results.append(no_results_html);
|
1259 |
return this.form_field_jq.trigger("chosen:no_results", {
|
1260 |
chosen: this
|
1319 |
return this.pending_backstroke = null;
|
1320 |
};
|
1321 |
|
1322 |
+
Chosen.prototype.search_field_scale = function() {
|
1323 |
+
var div, i, len, style, style_block, styles, width;
|
1324 |
+
if (!this.is_multiple) {
|
1325 |
+
return;
|
|
|
|
|
1326 |
}
|
1327 |
+
style_block = {
|
1328 |
+
position: 'absolute',
|
1329 |
+
left: '-1000px',
|
1330 |
+
top: '-1000px',
|
1331 |
+
display: 'none',
|
1332 |
+
whiteSpace: 'pre'
|
1333 |
+
};
|
1334 |
+
styles = ['fontSize', 'fontStyle', 'fontWeight', 'fontFamily', 'lineHeight', 'textTransform', 'letterSpacing'];
|
1335 |
+
for (i = 0, len = styles.length; i < len; i++) {
|
1336 |
+
style = styles[i];
|
1337 |
+
style_block[style] = this.search_field.css(style);
|
1338 |
+
}
|
1339 |
+
div = $('<div />').css(style_block);
|
1340 |
+
div.text(this.get_search_field_value());
|
1341 |
+
$('body').append(div);
|
1342 |
+
width = div.width() + 25;
|
1343 |
+
div.remove();
|
1344 |
+
if (this.container.is(':visible')) {
|
1345 |
+
width = Math.min(this.container.outerWidth() - 10, width);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1346 |
}
|
1347 |
+
return this.search_field.width(width);
|
1348 |
};
|
1349 |
|
1350 |
+
Chosen.prototype.trigger_form_field_change = function(extra) {
|
1351 |
+
this.form_field_jq.trigger("input", extra);
|
1352 |
+
return this.form_field_jq.trigger("change", extra);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1353 |
};
|
1354 |
|
1355 |
return Chosen;
|
js/chosen.jquery.min.js
CHANGED
@@ -1,2 +1,3 @@
|
|
1 |
-
/* Chosen v1.
|
2 |
-
!function(){var a,AbstractChosen,Chosen,SelectParser,b,c={}.hasOwnProperty,d=function(a,b){function d(){this.constructor=a}for(var e in b)c.call(b,e)&&(a[e]=b[e]);return d.prototype=b.prototype,a.prototype=new d,a.__super__=b.prototype,a};SelectParser=function(){function SelectParser(){this.options_index=0,this.parsed=[]}return SelectParser.prototype.add_node=function(a){return"OPTGROUP"===a.nodeName.toUpperCase()?this.add_group(a):this.add_option(a)},SelectParser.prototype.add_group=function(a){var b,c,d,e,f,g;for(b=this.parsed.length,this.parsed.push({array_index:b,group:!0,label:this.escapeExpression(a.label),children:0,disabled:a.disabled,classes:a.className}),f=a.childNodes,g=[],d=0,e=f.length;e>d;d++)c=f[d],g.push(this.add_option(c,b,a.disabled));return g},SelectParser.prototype.add_option=function(a,b,c){return"OPTION"===a.nodeName.toUpperCase()?(""!==a.text?(null!=b&&(this.parsed[b].children+=1),this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,value:a.value,text:a.text,html:a.innerHTML,selected:a.selected,disabled:c===!0?c:a.disabled,group_array_index:b,classes:a.className,style:a.style.cssText})):this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,empty:!0}),this.options_index+=1):void 0},SelectParser.prototype.escapeExpression=function(a){var b,c;return null==a||a===!1?"":/[\&\<\>\"\'\`]/.test(a)?(b={"<":"<",">":">",'"':""","'":"'","`":"`"},c=/&(?!\w+;)|[\<\>\"\'\`]/g,a.replace(c,function(a){return b[a]||"&"})):a},SelectParser}(),SelectParser.select_to_array=function(a){var b,c,d,e,f;for(c=new SelectParser,f=a.childNodes,d=0,e=f.length;e>d;d++)b=f[d],c.add_node(b);return c.parsed},AbstractChosen=function(){function AbstractChosen(a,b){this.form_field=a,this.options=null!=b?b:{},AbstractChosen.browser_is_supported()&&(this.is_multiple=this.form_field.multiple,this.set_default_text(),this.set_default_values(),this.setup(),this.set_up_html(),this.register_observers(),this.on_ready())}return AbstractChosen.prototype.set_default_values=function(){var a=this;return this.click_test_action=function(b){return a.test_active_click(b)},this.activate_action=function(b){return a.activate_field(b)},this.active_field=!1,this.mouse_on_container=!1,this.results_showing=!1,this.result_highlighted=null,this.allow_single_deselect=null!=this.options.allow_single_deselect&&null!=this.form_field.options[0]&&""===this.form_field.options[0].text?this.options.allow_single_deselect:!1,this.disable_search_threshold=this.options.disable_search_threshold||0,this.disable_search=this.options.disable_search||!1,this.enable_split_word_search=null!=this.options.enable_split_word_search?this.options.enable_split_word_search:!0,this.group_search=null!=this.options.group_search?this.options.group_search:!0,this.search_contains=this.options.search_contains||!1,this.single_backstroke_delete=null!=this.options.single_backstroke_delete?this.options.single_backstroke_delete:!0,this.max_selected_options=this.options.max_selected_options||1/0,this.inherit_select_classes=this.options.inherit_select_classes||!1,this.display_selected_options=null!=this.options.display_selected_options?this.options.display_selected_options:!0,this.display_disabled_options=null!=this.options.display_disabled_options?this.options.display_disabled_options:!0},AbstractChosen.prototype.set_default_text=function(){return this.default_text=this.form_field.getAttribute("data-placeholder")?this.form_field.getAttribute("data-placeholder"):this.is_multiple?this.options.placeholder_text_multiple||this.options.placeholder_text||AbstractChosen.default_multiple_text:this.options.placeholder_text_single||this.options.placeholder_text||AbstractChosen.default_single_text,this.results_none_found=this.form_field.getAttribute("data-no_results_text")||this.options.no_results_text||AbstractChosen.default_no_result_text},AbstractChosen.prototype.mouse_enter=function(){return this.mouse_on_container=!0},AbstractChosen.prototype.mouse_leave=function(){return this.mouse_on_container=!1},AbstractChosen.prototype.input_focus=function(){var a=this;if(this.is_multiple){if(!this.active_field)return setTimeout(function(){return a.container_mousedown()},50)}else if(!this.active_field)return this.activate_field()},AbstractChosen.prototype.input_blur=function(){var a=this;return this.mouse_on_container?void 0:(this.active_field=!1,setTimeout(function(){return a.blur_test()},100))},AbstractChosen.prototype.results_option_build=function(a){var b,c,d,e,f;for(b="",f=this.results_data,d=0,e=f.length;e>d;d++)c=f[d],b+=c.group?this.result_add_group(c):this.result_add_option(c),(null!=a?a.first:void 0)&&(c.selected&&this.is_multiple?this.choice_build(c):c.selected&&!this.is_multiple&&this.single_set_selected_text(c.text));return b},AbstractChosen.prototype.result_add_option=function(a){var b,c;return a.search_match?this.include_option_in_results(a)?(b=[],a.disabled||a.selected&&this.is_multiple||b.push("active-result"),!a.disabled||a.selected&&this.is_multiple||b.push("disabled-result"),a.selected&&b.push("result-selected"),null!=a.group_array_index&&b.push("group-option"),""!==a.classes&&b.push(a.classes),c=document.createElement("li"),c.className=b.join(" "),c.style.cssText=a.style,c.setAttribute("data-option-array-index",a.array_index),c.innerHTML=a.search_text,this.outerHTML(c)):"":""},AbstractChosen.prototype.result_add_group=function(a){var b,c;return a.search_match||a.group_match?a.active_options>0?(b=[],b.push("group-result"),a.classes&&b.push(a.classes),c=document.createElement("li"),c.className=b.join(" "),c.innerHTML=a.search_text,this.outerHTML(c)):"":""},AbstractChosen.prototype.results_update_field=function(){return this.set_default_text(),this.is_multiple||this.results_reset_cleanup(),this.result_clear_highlight(),this.results_build(),this.results_showing?this.winnow_results():void 0},AbstractChosen.prototype.reset_single_select_options=function(){var a,b,c,d,e;for(d=this.results_data,e=[],b=0,c=d.length;c>b;b++)a=d[b],a.selected?e.push(a.selected=!1):e.push(void 0);return e},AbstractChosen.prototype.results_toggle=function(){return this.results_showing?this.results_hide():this.results_show()},AbstractChosen.prototype.results_search=function(){return this.results_showing?this.winnow_results():this.results_show()},AbstractChosen.prototype.winnow_results=function(){var a,b,c,d,e,f,g,h,i,j,k,l;for(this.no_results_clear(),d=0,f=this.get_search_text(),a=f.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),i=new RegExp(a,"i"),c=this.get_search_regex(a),l=this.results_data,j=0,k=l.length;k>j;j++)b=l[j],b.search_match=!1,e=null,this.include_option_in_results(b)&&(b.group&&(b.group_match=!1,b.active_options=0),null!=b.group_array_index&&this.results_data[b.group_array_index]&&(e=this.results_data[b.group_array_index],0===e.active_options&&e.search_match&&(d+=1),e.active_options+=1),(!b.group||this.group_search)&&(b.search_text=b.group?b.label:b.text,b.search_match=this.search_string_match(b.search_text,c),b.search_match&&!b.group&&(d+=1),b.search_match?(f.length&&(g=b.search_text.search(i),h=b.search_text.substr(0,g+f.length)+"</em>"+b.search_text.substr(g+f.length),b.search_text=h.substr(0,g)+"<em>"+h.substr(g)),null!=e&&(e.group_match=!0)):null!=b.group_array_index&&this.results_data[b.group_array_index].search_match&&(b.search_match=!0)));return this.result_clear_highlight(),1>d&&f.length?(this.update_results_content(""),this.no_results(f)):(this.update_results_content(this.results_option_build()),this.winnow_results_set_highlight())},AbstractChosen.prototype.get_search_regex=function(a){var b;return b=this.search_contains?"":"^",new RegExp(b+a,"i")},AbstractChosen.prototype.search_string_match=function(a,b){var c,d,e,f;if(b.test(a))return!0;if(this.enable_split_word_search&&(a.indexOf(" ")>=0||0===a.indexOf("["))&&(d=a.replace(/\[|\]/g,"").split(" "),d.length))for(e=0,f=d.length;f>e;e++)if(c=d[e],b.test(c))return!0},AbstractChosen.prototype.choices_count=function(){var a,b,c,d;if(null!=this.selected_option_count)return this.selected_option_count;for(this.selected_option_count=0,d=this.form_field.options,b=0,c=d.length;c>b;b++)a=d[b],a.selected&&(this.selected_option_count+=1);return this.selected_option_count},AbstractChosen.prototype.choices_click=function(a){return a.preventDefault(),this.results_showing||this.is_disabled?void 0:this.results_show()},AbstractChosen.prototype.keyup_checker=function(a){var b,c;switch(b=null!=(c=a.which)?c:a.keyCode,this.search_field_scale(),b){case 8:if(this.is_multiple&&this.backstroke_length<1&&this.choices_count()>0)return this.keydown_backstroke();if(!this.pending_backstroke)return this.result_clear_highlight(),this.results_search();break;case 13:if(a.preventDefault(),this.results_showing)return this.result_select(a);break;case 27:return this.results_showing&&this.results_hide(),!0;case 9:case 38:case 40:case 16:case 91:case 17:break;default:return this.results_search()}},AbstractChosen.prototype.clipboard_event_checker=function(){var a=this;return setTimeout(function(){return a.results_search()},50)},AbstractChosen.prototype.container_width=function(){return null!=this.options.width?this.options.width:""+this.form_field.offsetWidth+"px"},AbstractChosen.prototype.include_option_in_results=function(a){return this.is_multiple&&!this.display_selected_options&&a.selected?!1:!this.display_disabled_options&&a.disabled?!1:a.empty?!1:!0},AbstractChosen.prototype.search_results_touchstart=function(a){return this.touch_started=!0,this.search_results_mouseover(a)},AbstractChosen.prototype.search_results_touchmove=function(a){return this.touch_started=!1,this.search_results_mouseout(a)},AbstractChosen.prototype.search_results_touchend=function(a){return this.touch_started?this.search_results_mouseup(a):void 0},AbstractChosen.prototype.outerHTML=function(a){var b;return a.outerHTML?a.outerHTML:(b=document.createElement("div"),b.appendChild(a),b.innerHTML)},AbstractChosen.browser_is_supported=function(){return"Microsoft Internet Explorer"===window.navigator.appName?document.documentMode>=8:/iP(od|hone)/i.test(window.navigator.userAgent)?!1:/Android/i.test(window.navigator.userAgent)&&/Mobile/i.test(window.navigator.userAgent)?!1:!0},AbstractChosen.default_multiple_text="Select Some Options",AbstractChosen.default_single_text="Select an Option",AbstractChosen.default_no_result_text="No results match",AbstractChosen}(),a=jQuery,a.fn.extend({chosen:function(b){return AbstractChosen.browser_is_supported()?this.each(function(){var c,d;c=a(this),d=c.data("chosen"),"destroy"===b&&d instanceof Chosen?d.destroy():d instanceof Chosen||c.data("chosen",new Chosen(this,b))}):this}}),Chosen=function(c){function Chosen(){return b=Chosen.__super__.constructor.apply(this,arguments)}return d(Chosen,c),Chosen.prototype.setup=function(){return this.form_field_jq=a(this.form_field),this.current_selectedIndex=this.form_field.selectedIndex,this.is_rtl=this.form_field_jq.hasClass("chosen-rtl")},Chosen.prototype.set_up_html=function(){var b,c;return b=["chosen-container"],b.push("chosen-container-"+(this.is_multiple?"multi":"single")),this.inherit_select_classes&&this.form_field.className&&b.push(this.form_field.className),this.is_rtl&&b.push("chosen-rtl"),c={"class":b.join(" "),style:"width: "+this.container_width()+";",title:this.form_field.title},this.form_field.id.length&&(c.id=this.form_field.id.replace(/[^\w]/g,"_")+"_chosen"),this.container=a("<div />",c),this.is_multiple?this.container.html('<ul class="chosen-choices"><li class="search-field"><input type="text" value="'+this.default_text+'" class="default" autocomplete="off" style="width:25px;" /></li></ul><div class="chosen-drop"><ul class="chosen-results"></ul></div>'):this.container.html('<a class="chosen-single chosen-default" tabindex="-1"><span>'+this.default_text+'</span><div><b></b></div></a><div class="chosen-drop"><div class="chosen-search"><input type="text" autocomplete="off" /></div><ul class="chosen-results"></ul></div>'),this.form_field_jq.hide().after(this.container),this.dropdown=this.container.find("div.chosen-drop").first(),this.search_field=this.container.find("input").first(),this.search_results=this.container.find("ul.chosen-results").first(),this.search_field_scale(),this.search_no_results=this.container.find("li.no-results").first(),this.is_multiple?(this.search_choices=this.container.find("ul.chosen-choices").first(),this.search_container=this.container.find("li.search-field").first()):(this.search_container=this.container.find("div.chosen-search").first(),this.selected_item=this.container.find(".chosen-single").first()),this.results_build(),this.set_tab_index(),this.set_label_behavior()},Chosen.prototype.on_ready=function(){return this.form_field_jq.trigger("chosen:ready",{chosen:this})},Chosen.prototype.register_observers=function(){var a=this;return this.container.bind("touchstart.chosen",function(b){a.container_mousedown(b)}),this.container.bind("touchend.chosen",function(b){a.container_mouseup(b)}),this.container.bind("mousedown.chosen",function(b){a.container_mousedown(b)}),this.container.bind("mouseup.chosen",function(b){a.container_mouseup(b)}),this.container.bind("mouseenter.chosen",function(b){a.mouse_enter(b)}),this.container.bind("mouseleave.chosen",function(b){a.mouse_leave(b)}),this.search_results.bind("mouseup.chosen",function(b){a.search_results_mouseup(b)}),this.search_results.bind("mouseover.chosen",function(b){a.search_results_mouseover(b)}),this.search_results.bind("mouseout.chosen",function(b){a.search_results_mouseout(b)}),this.search_results.bind("mousewheel.chosen DOMMouseScroll.chosen",function(b){a.search_results_mousewheel(b)}),this.search_results.bind("touchstart.chosen",function(b){a.search_results_touchstart(b)}),this.search_results.bind("touchmove.chosen",function(b){a.search_results_touchmove(b)}),this.search_results.bind("touchend.chosen",function(b){a.search_results_touchend(b)}),this.form_field_jq.bind("chosen:updated.chosen",function(b){a.results_update_field(b)}),this.form_field_jq.bind("chosen:activate.chosen",function(b){a.activate_field(b)}),this.form_field_jq.bind("chosen:open.chosen",function(b){a.container_mousedown(b)}),this.form_field_jq.bind("chosen:close.chosen",function(b){a.input_blur(b)}),this.search_field.bind("blur.chosen",function(b){a.input_blur(b)}),this.search_field.bind("keyup.chosen",function(b){a.keyup_checker(b)}),this.search_field.bind("keydown.chosen",function(b){a.keydown_checker(b)}),this.search_field.bind("focus.chosen",function(b){a.input_focus(b)}),this.search_field.bind("cut.chosen",function(b){a.clipboard_event_checker(b)}),this.search_field.bind("paste.chosen",function(b){a.clipboard_event_checker(b)}),this.is_multiple?this.search_choices.bind("click.chosen",function(b){a.choices_click(b)}):this.container.bind("click.chosen",function(a){a.preventDefault()})},Chosen.prototype.destroy=function(){return a(this.container[0].ownerDocument).unbind("click.chosen",this.click_test_action),this.search_field[0].tabIndex&&(this.form_field_jq[0].tabIndex=this.search_field[0].tabIndex),this.container.remove(),this.form_field_jq.removeData("chosen"),this.form_field_jq.show()},Chosen.prototype.search_field_disabled=function(){return this.is_disabled=this.form_field_jq[0].disabled,this.is_disabled?(this.container.addClass("chosen-disabled"),this.search_field[0].disabled=!0,this.is_multiple||this.selected_item.unbind("focus.chosen",this.activate_action),this.close_field()):(this.container.removeClass("chosen-disabled"),this.search_field[0].disabled=!1,this.is_multiple?void 0:this.selected_item.bind("focus.chosen",this.activate_action))},Chosen.prototype.container_mousedown=function(b){return this.is_disabled||(b&&"mousedown"===b.type&&!this.results_showing&&b.preventDefault(),null!=b&&a(b.target).hasClass("search-choice-close"))?void 0:(this.active_field?this.is_multiple||!b||a(b.target)[0]!==this.selected_item[0]&&!a(b.target).parents("a.chosen-single").length||(b.preventDefault(),this.results_toggle()):(this.is_multiple&&this.search_field.val(""),a(this.container[0].ownerDocument).bind("click.chosen",this.click_test_action),this.results_show()),this.activate_field())},Chosen.prototype.container_mouseup=function(a){return"ABBR"!==a.target.nodeName||this.is_disabled?void 0:this.results_reset(a)},Chosen.prototype.search_results_mousewheel=function(a){var b;return a.originalEvent&&(b=a.originalEvent.deltaY||-a.originalEvent.wheelDelta||a.originalEvent.detail),null!=b?(a.preventDefault(),"DOMMouseScroll"===a.type&&(b=40*b),this.search_results.scrollTop(b+this.search_results.scrollTop())):void 0},Chosen.prototype.blur_test=function(){return!this.active_field&&this.container.hasClass("chosen-container-active")?this.close_field():void 0},Chosen.prototype.close_field=function(){return a(this.container[0].ownerDocument).unbind("click.chosen",this.click_test_action),this.active_field=!1,this.results_hide(),this.container.removeClass("chosen-container-active"),this.clear_backstroke(),this.show_search_field_default(),this.search_field_scale()},Chosen.prototype.activate_field=function(){return this.container.addClass("chosen-container-active"),this.active_field=!0,this.search_field.val(this.search_field.val()),this.search_field.focus()},Chosen.prototype.test_active_click=function(b){var c;return c=a(b.target).closest(".chosen-container"),c.length&&this.container[0]===c[0]?this.active_field=!0:this.close_field()},Chosen.prototype.results_build=function(){return this.parsing=!0,this.selected_option_count=null,this.results_data=SelectParser.select_to_array(this.form_field),this.is_multiple?this.search_choices.find("li.search-choice").remove():this.is_multiple||(this.single_set_selected_text(),this.disable_search||this.form_field.options.length<=this.disable_search_threshold?(this.search_field[0].readOnly=!0,this.container.addClass("chosen-container-single-nosearch")):(this.search_field[0].readOnly=!1,this.container.removeClass("chosen-container-single-nosearch"))),this.update_results_content(this.results_option_build({first:!0})),this.search_field_disabled(),this.show_search_field_default(),this.search_field_scale(),this.parsing=!1},Chosen.prototype.result_do_highlight=function(a){var b,c,d,e,f;if(a.length){if(this.result_clear_highlight(),this.result_highlight=a,this.result_highlight.addClass("highlighted"),d=parseInt(this.search_results.css("maxHeight"),10),f=this.search_results.scrollTop(),e=d+f,c=this.result_highlight.position().top+this.search_results.scrollTop(),b=c+this.result_highlight.outerHeight(),b>=e)return this.search_results.scrollTop(b-d>0?b-d:0);if(f>c)return this.search_results.scrollTop(c)}},Chosen.prototype.result_clear_highlight=function(){return this.result_highlight&&this.result_highlight.removeClass("highlighted"),this.result_highlight=null},Chosen.prototype.results_show=function(){return this.is_multiple&&this.max_selected_options<=this.choices_count()?(this.form_field_jq.trigger("chosen:maxselected",{chosen:this}),!1):(this.container.addClass("chosen-with-drop"),this.results_showing=!0,this.search_field.focus(),this.search_field.val(this.search_field.val()),this.winnow_results(),this.form_field_jq.trigger("chosen:showing_dropdown",{chosen:this}))},Chosen.prototype.update_results_content=function(a){return this.search_results.html(a)},Chosen.prototype.results_hide=function(){return this.results_showing&&(this.result_clear_highlight(),this.container.removeClass("chosen-with-drop"),this.form_field_jq.trigger("chosen:hiding_dropdown",{chosen:this})),this.results_showing=!1},Chosen.prototype.set_tab_index=function(){var a;return this.form_field.tabIndex?(a=this.form_field.tabIndex,this.form_field.tabIndex=-1,this.search_field[0].tabIndex=a):void 0},Chosen.prototype.set_label_behavior=function(){var b=this;return this.form_field_label=this.form_field_jq.parents("label"),!this.form_field_label.length&&this.form_field.id.length&&(this.form_field_label=a("label[for='"+this.form_field.id+"']")),this.form_field_label.length>0?this.form_field_label.bind("click.chosen",function(a){return b.is_multiple?b.container_mousedown(a):b.activate_field()}):void 0},Chosen.prototype.show_search_field_default=function(){return this.is_multiple&&this.choices_count()<1&&!this.active_field?(this.search_field.val(this.default_text),this.search_field.addClass("default")):(this.search_field.val(""),this.search_field.removeClass("default"))},Chosen.prototype.search_results_mouseup=function(b){var c;return c=a(b.target).hasClass("active-result")?a(b.target):a(b.target).parents(".active-result").first(),c.length?(this.result_highlight=c,this.result_select(b),this.search_field.focus()):void 0},Chosen.prototype.search_results_mouseover=function(b){var c;return c=a(b.target).hasClass("active-result")?a(b.target):a(b.target).parents(".active-result").first(),c?this.result_do_highlight(c):void 0},Chosen.prototype.search_results_mouseout=function(b){return a(b.target).hasClass("active-result")?this.result_clear_highlight():void 0},Chosen.prototype.choice_build=function(b){var c,d,e=this;return c=a("<li />",{"class":"search-choice"}).html("<span>"+b.html+"</span>"),b.disabled?c.addClass("search-choice-disabled"):(d=a("<a />",{"class":"search-choice-close","data-option-array-index":b.array_index}),d.bind("click.chosen",function(a){return e.choice_destroy_link_click(a)}),c.append(d)),this.search_container.before(c)},Chosen.prototype.choice_destroy_link_click=function(b){return b.preventDefault(),b.stopPropagation(),this.is_disabled?void 0:this.choice_destroy(a(b.target))},Chosen.prototype.choice_destroy=function(a){return this.result_deselect(a[0].getAttribute("data-option-array-index"))?(this.show_search_field_default(),this.is_multiple&&this.choices_count()>0&&this.search_field.val().length<1&&this.results_hide(),a.parents("li").first().remove(),this.search_field_scale()):void 0},Chosen.prototype.results_reset=function(){return this.reset_single_select_options(),this.form_field.options[0].selected=!0,this.single_set_selected_text(),this.show_search_field_default(),this.results_reset_cleanup(),this.form_field_jq.trigger("change"),this.active_field?this.results_hide():void 0},Chosen.prototype.results_reset_cleanup=function(){return this.current_selectedIndex=this.form_field.selectedIndex,this.selected_item.find("abbr").remove()},Chosen.prototype.result_select=function(a){var b,c;return this.result_highlight?(b=this.result_highlight,this.result_clear_highlight(),this.is_multiple&&this.max_selected_options<=this.choices_count()?(this.form_field_jq.trigger("chosen:maxselected",{chosen:this}),!1):(this.is_multiple?b.removeClass("active-result"):this.reset_single_select_options(),c=this.results_data[b[0].getAttribute("data-option-array-index")],c.selected=!0,this.form_field.options[c.options_index].selected=!0,this.selected_option_count=null,this.is_multiple?this.choice_build(c):this.single_set_selected_text(c.text),(a.metaKey||a.ctrlKey)&&this.is_multiple||this.results_hide(),this.search_field.val(""),(this.is_multiple||this.form_field.selectedIndex!==this.current_selectedIndex)&&this.form_field_jq.trigger("change",{selected:this.form_field.options[c.options_index].value}),this.current_selectedIndex=this.form_field.selectedIndex,this.search_field_scale())):void 0},Chosen.prototype.single_set_selected_text=function(a){return null==a&&(a=this.default_text),a===this.default_text?this.selected_item.addClass("chosen-default"):(this.single_deselect_control_build(),this.selected_item.removeClass("chosen-default")),this.selected_item.find("span").text(a)},Chosen.prototype.result_deselect=function(a){var b;return b=this.results_data[a],this.form_field.options[b.options_index].disabled?!1:(b.selected=!1,this.form_field.options[b.options_index].selected=!1,this.selected_option_count=null,this.result_clear_highlight(),this.results_showing&&this.winnow_results(),this.form_field_jq.trigger("change",{deselected:this.form_field.options[b.options_index].value}),this.search_field_scale(),!0)},Chosen.prototype.single_deselect_control_build=function(){return this.allow_single_deselect?(this.selected_item.find("abbr").length||this.selected_item.find("span").first().after('<abbr class="search-choice-close"></abbr>'),this.selected_item.addClass("chosen-single-with-deselect")):void 0},Chosen.prototype.get_search_text=function(){return this.search_field.val()===this.default_text?"":a("<div/>").text(a.trim(this.search_field.val())).html()},Chosen.prototype.winnow_results_set_highlight=function(){var a,b;return b=this.is_multiple?[]:this.search_results.find(".result-selected.active-result"),a=b.length?b.first():this.search_results.find(".active-result").first(),null!=a?this.result_do_highlight(a):void 0},Chosen.prototype.no_results=function(b){var c;return c=a('<li class="no-results">'+this.results_none_found+' "<span></span>"</li>'),c.find("span").first().html(b),this.search_results.append(c),this.form_field_jq.trigger("chosen:no_results",{chosen:this})},Chosen.prototype.no_results_clear=function(){return this.search_results.find(".no-results").remove()},Chosen.prototype.keydown_arrow=function(){var a;return this.results_showing&&this.result_highlight?(a=this.result_highlight.nextAll("li.active-result").first())?this.result_do_highlight(a):void 0:this.results_show()},Chosen.prototype.keyup_arrow=function(){var a;return this.results_showing||this.is_multiple?this.result_highlight?(a=this.result_highlight.prevAll("li.active-result"),a.length?this.result_do_highlight(a.first()):(this.choices_count()>0&&this.results_hide(),this.result_clear_highlight())):void 0:this.results_show()},Chosen.prototype.keydown_backstroke=function(){var a;return this.pending_backstroke?(this.choice_destroy(this.pending_backstroke.find("a").first()),this.clear_backstroke()):(a=this.search_container.siblings("li.search-choice").last(),a.length&&!a.hasClass("search-choice-disabled")?(this.pending_backstroke=a,this.single_backstroke_delete?this.keydown_backstroke():this.pending_backstroke.addClass("search-choice-focus")):void 0)},Chosen.prototype.clear_backstroke=function(){return this.pending_backstroke&&this.pending_backstroke.removeClass("search-choice-focus"),this.pending_backstroke=null},Chosen.prototype.keydown_checker=function(a){var b,c;switch(b=null!=(c=a.which)?c:a.keyCode,this.search_field_scale(),8!==b&&this.pending_backstroke&&this.clear_backstroke(),b){case 8:this.backstroke_length=this.search_field.val().length;break;case 9:this.results_showing&&!this.is_multiple&&this.result_select(a),this.mouse_on_container=!1;break;case 13:this.results_showing&&a.preventDefault();break;case 32:this.disable_search&&a.preventDefault();break;case 38:a.preventDefault(),this.keyup_arrow();break;case 40:a.preventDefault(),this.keydown_arrow()}},Chosen.prototype.search_field_scale=function(){var b,c,d,e,f,g,h,i,j;if(this.is_multiple){for(d=0,h=0,f="position:absolute; left: -1000px; top: -1000px; display:none;",g=["font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"],i=0,j=g.length;j>i;i++)e=g[i],f+=e+":"+this.search_field.css(e)+";";return b=a("<div />",{style:f}),b.text(this.search_field.val()),a("body").append(b),h=b.width()+25,b.remove(),c=this.container.outerWidth(),h>c-10&&(h=c-10),this.search_field.css({width:h+"px"})}},Chosen}(AbstractChosen)}.call(this);
|
|
1 |
+
/* Chosen v1.8.7 | (c) 2011-2018 by Harvest | MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md */
|
2 |
+
|
3 |
+
(function(){var t,e,s,i,n=function(t,e){return function(){return t.apply(e,arguments)}},r=function(t,e){function s(){this.constructor=t}for(var i in e)o.call(e,i)&&(t[i]=e[i]);return s.prototype=e.prototype,t.prototype=new s,t.__super__=e.prototype,t},o={}.hasOwnProperty;(i=function(){function t(){this.options_index=0,this.parsed=[]}return t.prototype.add_node=function(t){return"OPTGROUP"===t.nodeName.toUpperCase()?this.add_group(t):this.add_option(t)},t.prototype.add_group=function(t){var e,s,i,n,r,o;for(e=this.parsed.length,this.parsed.push({array_index:e,group:!0,label:t.label,title:t.title?t.title:void 0,children:0,disabled:t.disabled,classes:t.className}),o=[],s=0,i=(r=t.childNodes).length;s<i;s++)n=r[s],o.push(this.add_option(n,e,t.disabled));return o},t.prototype.add_option=function(t,e,s){if("OPTION"===t.nodeName.toUpperCase())return""!==t.text?(null!=e&&(this.parsed[e].children+=1),this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,value:t.value,text:t.text,html:t.innerHTML,title:t.title?t.title:void 0,selected:t.selected,disabled:!0===s?s:t.disabled,group_array_index:e,group_label:null!=e?this.parsed[e].label:null,classes:t.className,style:t.style.cssText})):this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,empty:!0}),this.options_index+=1},t}()).select_to_array=function(t){var e,s,n,r,o;for(r=new i,s=0,n=(o=t.childNodes).length;s<n;s++)e=o[s],r.add_node(e);return r.parsed},e=function(){function t(e,s){this.form_field=e,this.options=null!=s?s:{},this.label_click_handler=n(this.label_click_handler,this),t.browser_is_supported()&&(this.is_multiple=this.form_field.multiple,this.set_default_text(),this.set_default_values(),this.setup(),this.set_up_html(),this.register_observers(),this.on_ready())}return t.prototype.set_default_values=function(){return this.click_test_action=function(t){return function(e){return t.test_active_click(e)}}(this),this.activate_action=function(t){return function(e){return t.activate_field(e)}}(this),this.active_field=!1,this.mouse_on_container=!1,this.results_showing=!1,this.result_highlighted=null,this.is_rtl=this.options.rtl||/\bchosen-rtl\b/.test(this.form_field.className),this.allow_single_deselect=null!=this.options.allow_single_deselect&&null!=this.form_field.options[0]&&""===this.form_field.options[0].text&&this.options.allow_single_deselect,this.disable_search_threshold=this.options.disable_search_threshold||0,this.disable_search=this.options.disable_search||!1,this.enable_split_word_search=null==this.options.enable_split_word_search||this.options.enable_split_word_search,this.group_search=null==this.options.group_search||this.options.group_search,this.search_contains=this.options.search_contains||!1,this.single_backstroke_delete=null==this.options.single_backstroke_delete||this.options.single_backstroke_delete,this.max_selected_options=this.options.max_selected_options||Infinity,this.inherit_select_classes=this.options.inherit_select_classes||!1,this.display_selected_options=null==this.options.display_selected_options||this.options.display_selected_options,this.display_disabled_options=null==this.options.display_disabled_options||this.options.display_disabled_options,this.include_group_label_in_selected=this.options.include_group_label_in_selected||!1,this.max_shown_results=this.options.max_shown_results||Number.POSITIVE_INFINITY,this.case_sensitive_search=this.options.case_sensitive_search||!1,this.hide_results_on_select=null==this.options.hide_results_on_select||this.options.hide_results_on_select},t.prototype.set_default_text=function(){return this.form_field.getAttribute("data-placeholder")?this.default_text=this.form_field.getAttribute("data-placeholder"):this.is_multiple?this.default_text=this.options.placeholder_text_multiple||this.options.placeholder_text||t.default_multiple_text:this.default_text=this.options.placeholder_text_single||this.options.placeholder_text||t.default_single_text,this.default_text=this.escape_html(this.default_text),this.results_none_found=this.form_field.getAttribute("data-no_results_text")||this.options.no_results_text||t.default_no_result_text},t.prototype.choice_label=function(t){return this.include_group_label_in_selected&&null!=t.group_label?"<b class='group-name'>"+this.escape_html(t.group_label)+"</b>"+t.html:t.html},t.prototype.mouse_enter=function(){return this.mouse_on_container=!0},t.prototype.mouse_leave=function(){return this.mouse_on_container=!1},t.prototype.input_focus=function(t){if(this.is_multiple){if(!this.active_field)return setTimeout(function(t){return function(){return t.container_mousedown()}}(this),50)}else if(!this.active_field)return this.activate_field()},t.prototype.input_blur=function(t){if(!this.mouse_on_container)return this.active_field=!1,setTimeout(function(t){return function(){return t.blur_test()}}(this),100)},t.prototype.label_click_handler=function(t){return this.is_multiple?this.container_mousedown(t):this.activate_field()},t.prototype.results_option_build=function(t){var e,s,i,n,r,o,h;for(e="",h=0,n=0,r=(o=this.results_data).length;n<r&&(s=o[n],i="",""!==(i=s.group?this.result_add_group(s):this.result_add_option(s))&&(h++,e+=i),(null!=t?t.first:void 0)&&(s.selected&&this.is_multiple?this.choice_build(s):s.selected&&!this.is_multiple&&this.single_set_selected_text(this.choice_label(s))),!(h>=this.max_shown_results));n++);return e},t.prototype.result_add_option=function(t){var e,s;return t.search_match&&this.include_option_in_results(t)?(e=[],t.disabled||t.selected&&this.is_multiple||e.push("active-result"),!t.disabled||t.selected&&this.is_multiple||e.push("disabled-result"),t.selected&&e.push("result-selected"),null!=t.group_array_index&&e.push("group-option"),""!==t.classes&&e.push(t.classes),s=document.createElement("li"),s.className=e.join(" "),t.style&&(s.style.cssText=t.style),s.setAttribute("data-option-array-index",t.array_index),s.innerHTML=t.highlighted_html||t.html,t.title&&(s.title=t.title),this.outerHTML(s)):""},t.prototype.result_add_group=function(t){var e,s;return(t.search_match||t.group_match)&&t.active_options>0?((e=[]).push("group-result"),t.classes&&e.push(t.classes),s=document.createElement("li"),s.className=e.join(" "),s.innerHTML=t.highlighted_html||this.escape_html(t.label),t.title&&(s.title=t.title),this.outerHTML(s)):""},t.prototype.results_update_field=function(){if(this.set_default_text(),this.is_multiple||this.results_reset_cleanup(),this.result_clear_highlight(),this.results_build(),this.results_showing)return this.winnow_results()},t.prototype.reset_single_select_options=function(){var t,e,s,i,n;for(n=[],t=0,e=(s=this.results_data).length;t<e;t++)(i=s[t]).selected?n.push(i.selected=!1):n.push(void 0);return n},t.prototype.results_toggle=function(){return this.results_showing?this.results_hide():this.results_show()},t.prototype.results_search=function(t){return this.results_showing?this.winnow_results():this.results_show()},t.prototype.winnow_results=function(t){var e,s,i,n,r,o,h,l,c,_,a,u,d,p,f;for(this.no_results_clear(),_=0,e=(h=this.get_search_text()).replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),c=this.get_search_regex(e),i=0,n=(l=this.results_data).length;i<n;i++)(r=l[i]).search_match=!1,a=null,u=null,r.highlighted_html="",this.include_option_in_results(r)&&(r.group&&(r.group_match=!1,r.active_options=0),null!=r.group_array_index&&this.results_data[r.group_array_index]&&(0===(a=this.results_data[r.group_array_index]).active_options&&a.search_match&&(_+=1),a.active_options+=1),f=r.group?r.label:r.text,r.group&&!this.group_search||(u=this.search_string_match(f,c),r.search_match=null!=u,r.search_match&&!r.group&&(_+=1),r.search_match?(h.length&&(d=u.index,o=f.slice(0,d),s=f.slice(d,d+h.length),p=f.slice(d+h.length),r.highlighted_html=this.escape_html(o)+"<em>"+this.escape_html(s)+"</em>"+this.escape_html(p)),null!=a&&(a.group_match=!0)):null!=r.group_array_index&&this.results_data[r.group_array_index].search_match&&(r.search_match=!0)));return this.result_clear_highlight(),_<1&&h.length?(this.update_results_content(""),this.no_results(h)):(this.update_results_content(this.results_option_build()),(null!=t?t.skip_highlight:void 0)?void 0:this.winnow_results_set_highlight())},t.prototype.get_search_regex=function(t){var e,s;return s=this.search_contains?t:"(^|\\s|\\b)"+t+"[^\\s]*",this.enable_split_word_search||this.search_contains||(s="^"+s),e=this.case_sensitive_search?"":"i",new RegExp(s,e)},t.prototype.search_string_match=function(t,e){var s;return s=e.exec(t),!this.search_contains&&(null!=s?s[1]:void 0)&&(s.index+=1),s},t.prototype.choices_count=function(){var t,e,s;if(null!=this.selected_option_count)return this.selected_option_count;for(this.selected_option_count=0,t=0,e=(s=this.form_field.options).length;t<e;t++)s[t].selected&&(this.selected_option_count+=1);return this.selected_option_count},t.prototype.choices_click=function(t){if(t.preventDefault(),this.activate_field(),!this.results_showing&&!this.is_disabled)return this.results_show()},t.prototype.keydown_checker=function(t){var e,s;switch(s=null!=(e=t.which)?e:t.keyCode,this.search_field_scale(),8!==s&&this.pending_backstroke&&this.clear_backstroke(),s){case 8:this.backstroke_length=this.get_search_field_value().length;break;case 9:this.results_showing&&!this.is_multiple&&this.result_select(t),this.mouse_on_container=!1;break;case 13:case 27:this.results_showing&&t.preventDefault();break;case 32:this.disable_search&&t.preventDefault();break;case 38:t.preventDefault(),this.keyup_arrow();break;case 40:t.preventDefault(),this.keydown_arrow()}},t.prototype.keyup_checker=function(t){var e,s;switch(s=null!=(e=t.which)?e:t.keyCode,this.search_field_scale(),s){case 8:this.is_multiple&&this.backstroke_length<1&&this.choices_count()>0?this.keydown_backstroke():this.pending_backstroke||(this.result_clear_highlight(),this.results_search());break;case 13:t.preventDefault(),this.results_showing&&this.result_select(t);break;case 27:this.results_showing&&this.results_hide();break;case 9:case 16:case 17:case 18:case 38:case 40:case 91:break;default:this.results_search()}},t.prototype.clipboard_event_checker=function(t){if(!this.is_disabled)return setTimeout(function(t){return function(){return t.results_search()}}(this),50)},t.prototype.container_width=function(){return null!=this.options.width?this.options.width:this.form_field.offsetWidth+"px"},t.prototype.include_option_in_results=function(t){return!(this.is_multiple&&!this.display_selected_options&&t.selected)&&(!(!this.display_disabled_options&&t.disabled)&&!t.empty)},t.prototype.search_results_touchstart=function(t){return this.touch_started=!0,this.search_results_mouseover(t)},t.prototype.search_results_touchmove=function(t){return this.touch_started=!1,this.search_results_mouseout(t)},t.prototype.search_results_touchend=function(t){if(this.touch_started)return this.search_results_mouseup(t)},t.prototype.outerHTML=function(t){var e;return t.outerHTML?t.outerHTML:((e=document.createElement("div")).appendChild(t),e.innerHTML)},t.prototype.get_single_html=function(){return'<a class="chosen-single chosen-default">\n <span>'+this.default_text+'</span>\n <div><b></b></div>\n</a>\n<div class="chosen-drop">\n <div class="chosen-search">\n <input class="chosen-search-input" type="text" autocomplete="off" />\n </div>\n <ul class="chosen-results"></ul>\n</div>'},t.prototype.get_multi_html=function(){return'<ul class="chosen-choices">\n <li class="search-field">\n <input class="chosen-search-input" type="text" autocomplete="off" value="'+this.default_text+'" />\n </li>\n</ul>\n<div class="chosen-drop">\n <ul class="chosen-results"></ul>\n</div>'},t.prototype.get_no_results_html=function(t){return'<li class="no-results">\n '+this.results_none_found+" <span>"+this.escape_html(t)+"</span>\n</li>"},t.browser_is_supported=function(){return"Microsoft Internet Explorer"===window.navigator.appName?document.documentMode>=8:!(/iP(od|hone)/i.test(window.navigator.userAgent)||/IEMobile/i.test(window.navigator.userAgent)||/Windows Phone/i.test(window.navigator.userAgent)||/BlackBerry/i.test(window.navigator.userAgent)||/BB10/i.test(window.navigator.userAgent)||/Android.*Mobile/i.test(window.navigator.userAgent))},t.default_multiple_text="Select Some Options",t.default_single_text="Select an Option",t.default_no_result_text="No results match",t}(),(t=jQuery).fn.extend({chosen:function(i){return e.browser_is_supported()?this.each(function(e){var n,r;r=(n=t(this)).data("chosen"),"destroy"!==i?r instanceof s||n.data("chosen",new s(this,i)):r instanceof s&&r.destroy()}):this}}),s=function(s){function n(){return n.__super__.constructor.apply(this,arguments)}return r(n,e),n.prototype.setup=function(){return this.form_field_jq=t(this.form_field),this.current_selectedIndex=this.form_field.selectedIndex},n.prototype.set_up_html=function(){var e,s;return(e=["chosen-container"]).push("chosen-container-"+(this.is_multiple?"multi":"single")),this.inherit_select_classes&&this.form_field.className&&e.push(this.form_field.className),this.is_rtl&&e.push("chosen-rtl"),s={"class":e.join(" "),title:this.form_field.title},this.form_field.id.length&&(s.id=this.form_field.id.replace(/[^\w]/g,"_")+"_chosen"),this.container=t("<div />",s),this.container.width(this.container_width()),this.is_multiple?this.container.html(this.get_multi_html()):this.container.html(this.get_single_html()),this.form_field_jq.hide().after(this.container),this.dropdown=this.container.find("div.chosen-drop").first(),this.search_field=this.container.find("input").first(),this.search_results=this.container.find("ul.chosen-results").first(),this.search_field_scale(),this.search_no_results=this.container.find("li.no-results").first(),this.is_multiple?(this.search_choices=this.container.find("ul.chosen-choices").first(),this.search_container=this.container.find("li.search-field").first()):(this.search_container=this.container.find("div.chosen-search").first(),this.selected_item=this.container.find(".chosen-single").first()),this.results_build(),this.set_tab_index(),this.set_label_behavior()},n.prototype.on_ready=function(){return this.form_field_jq.trigger("chosen:ready",{chosen:this})},n.prototype.register_observers=function(){return this.container.on("touchstart.chosen",function(t){return function(e){t.container_mousedown(e)}}(this)),this.container.on("touchend.chosen",function(t){return function(e){t.container_mouseup(e)}}(this)),this.container.on("mousedown.chosen",function(t){return function(e){t.container_mousedown(e)}}(this)),this.container.on("mouseup.chosen",function(t){return function(e){t.container_mouseup(e)}}(this)),this.container.on("mouseenter.chosen",function(t){return function(e){t.mouse_enter(e)}}(this)),this.container.on("mouseleave.chosen",function(t){return function(e){t.mouse_leave(e)}}(this)),this.search_results.on("mouseup.chosen",function(t){return function(e){t.search_results_mouseup(e)}}(this)),this.search_results.on("mouseover.chosen",function(t){return function(e){t.search_results_mouseover(e)}}(this)),this.search_results.on("mouseout.chosen",function(t){return function(e){t.search_results_mouseout(e)}}(this)),this.search_results.on("mousewheel.chosen DOMMouseScroll.chosen",function(t){return function(e){t.search_results_mousewheel(e)}}(this)),this.search_results.on("touchstart.chosen",function(t){return function(e){t.search_results_touchstart(e)}}(this)),this.search_results.on("touchmove.chosen",function(t){return function(e){t.search_results_touchmove(e)}}(this)),this.search_results.on("touchend.chosen",function(t){return function(e){t.search_results_touchend(e)}}(this)),this.form_field_jq.on("chosen:updated.chosen",function(t){return function(e){t.results_update_field(e)}}(this)),this.form_field_jq.on("chosen:activate.chosen",function(t){return function(e){t.activate_field(e)}}(this)),this.form_field_jq.on("chosen:open.chosen",function(t){return function(e){t.container_mousedown(e)}}(this)),this.form_field_jq.on("chosen:close.chosen",function(t){return function(e){t.close_field(e)}}(this)),this.search_field.on("blur.chosen",function(t){return function(e){t.input_blur(e)}}(this)),this.search_field.on("keyup.chosen",function(t){return function(e){t.keyup_checker(e)}}(this)),this.search_field.on("keydown.chosen",function(t){return function(e){t.keydown_checker(e)}}(this)),this.search_field.on("focus.chosen",function(t){return function(e){t.input_focus(e)}}(this)),this.search_field.on("cut.chosen",function(t){return function(e){t.clipboard_event_checker(e)}}(this)),this.search_field.on("paste.chosen",function(t){return function(e){t.clipboard_event_checker(e)}}(this)),this.is_multiple?this.search_choices.on("click.chosen",function(t){return function(e){t.choices_click(e)}}(this)):this.container.on("click.chosen",function(t){t.preventDefault()})},n.prototype.destroy=function(){return t(this.container[0].ownerDocument).off("click.chosen",this.click_test_action),this.form_field_label.length>0&&this.form_field_label.off("click.chosen"),this.search_field[0].tabIndex&&(this.form_field_jq[0].tabIndex=this.search_field[0].tabIndex),this.container.remove(),this.form_field_jq.removeData("chosen"),this.form_field_jq.show()},n.prototype.search_field_disabled=function(){return this.is_disabled=this.form_field.disabled||this.form_field_jq.parents("fieldset").is(":disabled"),this.container.toggleClass("chosen-disabled",this.is_disabled),this.search_field[0].disabled=this.is_disabled,this.is_multiple||this.selected_item.off("focus.chosen",this.activate_field),this.is_disabled?this.close_field():this.is_multiple?void 0:this.selected_item.on("focus.chosen",this.activate_field)},n.prototype.container_mousedown=function(e){var s;if(!this.is_disabled)return!e||"mousedown"!==(s=e.type)&&"touchstart"!==s||this.results_showing||e.preventDefault(),null!=e&&t(e.target).hasClass("search-choice-close")?void 0:(this.active_field?this.is_multiple||!e||t(e.target)[0]!==this.selected_item[0]&&!t(e.target).parents("a.chosen-single").length||(e.preventDefault(),this.results_toggle()):(this.is_multiple&&this.search_field.val(""),t(this.container[0].ownerDocument).on("click.chosen",this.click_test_action),this.results_show()),this.activate_field())},n.prototype.container_mouseup=function(t){if("ABBR"===t.target.nodeName&&!this.is_disabled)return this.results_reset(t)},n.prototype.search_results_mousewheel=function(t){var e;if(t.originalEvent&&(e=t.originalEvent.deltaY||-t.originalEvent.wheelDelta||t.originalEvent.detail),null!=e)return t.preventDefault(),"DOMMouseScroll"===t.type&&(e*=40),this.search_results.scrollTop(e+this.search_results.scrollTop())},n.prototype.blur_test=function(t){if(!this.active_field&&this.container.hasClass("chosen-container-active"))return this.close_field()},n.prototype.close_field=function(){return t(this.container[0].ownerDocument).off("click.chosen",this.click_test_action),this.active_field=!1,this.results_hide(),this.container.removeClass("chosen-container-active"),this.clear_backstroke(),this.show_search_field_default(),this.search_field_scale(),this.search_field.blur()},n.prototype.activate_field=function(){if(!this.is_disabled)return this.container.addClass("chosen-container-active"),this.active_field=!0,this.search_field.val(this.search_field.val()),this.search_field.focus()},n.prototype.test_active_click=function(e){var s;return(s=t(e.target).closest(".chosen-container")).length&&this.container[0]===s[0]?this.active_field=!0:this.close_field()},n.prototype.results_build=function(){return this.parsing=!0,this.selected_option_count=null,this.results_data=i.select_to_array(this.form_field),this.is_multiple?this.search_choices.find("li.search-choice").remove():(this.single_set_selected_text(),this.disable_search||this.form_field.options.length<=this.disable_search_threshold?(this.search_field[0].readOnly=!0,this.container.addClass("chosen-container-single-nosearch")):(this.search_field[0].readOnly=!1,this.container.removeClass("chosen-container-single-nosearch"))),this.update_results_content(this.results_option_build({first:!0})),this.search_field_disabled(),this.show_search_field_default(),this.search_field_scale(),this.parsing=!1},n.prototype.result_do_highlight=function(t){var e,s,i,n,r;if(t.length){if(this.result_clear_highlight(),this.result_highlight=t,this.result_highlight.addClass("highlighted"),i=parseInt(this.search_results.css("maxHeight"),10),r=this.search_results.scrollTop(),n=i+r,s=this.result_highlight.position().top+this.search_results.scrollTop(),(e=s+this.result_highlight.outerHeight())>=n)return this.search_results.scrollTop(e-i>0?e-i:0);if(s<r)return this.search_results.scrollTop(s)}},n.prototype.result_clear_highlight=function(){return this.result_highlight&&this.result_highlight.removeClass("highlighted"),this.result_highlight=null},n.prototype.results_show=function(){return this.is_multiple&&this.max_selected_options<=this.choices_count()?(this.form_field_jq.trigger("chosen:maxselected",{chosen:this}),!1):(this.container.addClass("chosen-with-drop"),this.results_showing=!0,this.search_field.focus(),this.search_field.val(this.get_search_field_value()),this.winnow_results(),this.form_field_jq.trigger("chosen:showing_dropdown",{chosen:this}))},n.prototype.update_results_content=function(t){return this.search_results.html(t)},n.prototype.results_hide=function(){return this.results_showing&&(this.result_clear_highlight(),this.container.removeClass("chosen-with-drop"),this.form_field_jq.trigger("chosen:hiding_dropdown",{chosen:this})),this.results_showing=!1},n.prototype.set_tab_index=function(t){var e;if(this.form_field.tabIndex)return e=this.form_field.tabIndex,this.form_field.tabIndex=-1,this.search_field[0].tabIndex=e},n.prototype.set_label_behavior=function(){if(this.form_field_label=this.form_field_jq.parents("label"),!this.form_field_label.length&&this.form_field.id.length&&(this.form_field_label=t("label[for='"+this.form_field.id+"']")),this.form_field_label.length>0)return this.form_field_label.on("click.chosen",this.label_click_handler)},n.prototype.show_search_field_default=function(){return this.is_multiple&&this.choices_count()<1&&!this.active_field?(this.search_field.val(this.default_text),this.search_field.addClass("default")):(this.search_field.val(""),this.search_field.removeClass("default"))},n.prototype.search_results_mouseup=function(e){var s;if((s=t(e.target).hasClass("active-result")?t(e.target):t(e.target).parents(".active-result").first()).length)return this.result_highlight=s,this.result_select(e),this.search_field.focus()},n.prototype.search_results_mouseover=function(e){var s;if(s=t(e.target).hasClass("active-result")?t(e.target):t(e.target).parents(".active-result").first())return this.result_do_highlight(s)},n.prototype.search_results_mouseout=function(e){if(t(e.target).hasClass("active-result")||t(e.target).parents(".active-result").first())return this.result_clear_highlight()},n.prototype.choice_build=function(e){var s,i;return s=t("<li />",{"class":"search-choice"}).html("<span>"+this.choice_label(e)+"</span>"),e.disabled?s.addClass("search-choice-disabled"):((i=t("<a />",{"class":"search-choice-close","data-option-array-index":e.array_index})).on("click.chosen",function(t){return function(e){return t.choice_destroy_link_click(e)}}(this)),s.append(i)),this.search_container.before(s)},n.prototype.choice_destroy_link_click=function(e){if(e.preventDefault(),e.stopPropagation(),!this.is_disabled)return this.choice_destroy(t(e.target))},n.prototype.choice_destroy=function(t){if(this.result_deselect(t[0].getAttribute("data-option-array-index")))return this.active_field?this.search_field.focus():this.show_search_field_default(),this.is_multiple&&this.choices_count()>0&&this.get_search_field_value().length<1&&this.results_hide(),t.parents("li").first().remove(),this.search_field_scale()},n.prototype.results_reset=function(){if(this.reset_single_select_options(),this.form_field.options[0].selected=!0,this.single_set_selected_text(),this.show_search_field_default(),this.results_reset_cleanup(),this.trigger_form_field_change(),this.active_field)return this.results_hide()},n.prototype.results_reset_cleanup=function(){return this.current_selectedIndex=this.form_field.selectedIndex,this.selected_item.find("abbr").remove()},n.prototype.result_select=function(t){var e,s;if(this.result_highlight)return e=this.result_highlight,this.result_clear_highlight(),this.is_multiple&&this.max_selected_options<=this.choices_count()?(this.form_field_jq.trigger("chosen:maxselected",{chosen:this}),!1):(this.is_multiple?e.removeClass("active-result"):this.reset_single_select_options(),e.addClass("result-selected"),s=this.results_data[e[0].getAttribute("data-option-array-index")],s.selected=!0,this.form_field.options[s.options_index].selected=!0,this.selected_option_count=null,this.is_multiple?this.choice_build(s):this.single_set_selected_text(this.choice_label(s)),this.is_multiple&&(!this.hide_results_on_select||t.metaKey||t.ctrlKey)?t.metaKey||t.ctrlKey?this.winnow_results({skip_highlight:!0}):(this.search_field.val(""),this.winnow_results()):(this.results_hide(),this.show_search_field_default()),(this.is_multiple||this.form_field.selectedIndex!==this.current_selectedIndex)&&this.trigger_form_field_change({selected:this.form_field.options[s.options_index].value}),this.current_selectedIndex=this.form_field.selectedIndex,t.preventDefault(),this.search_field_scale())},n.prototype.single_set_selected_text=function(t){return null==t&&(t=this.default_text),t===this.default_text?this.selected_item.addClass("chosen-default"):(this.single_deselect_control_build(),this.selected_item.removeClass("chosen-default")),this.selected_item.find("span").html(t)},n.prototype.result_deselect=function(t){var e;return e=this.results_data[t],!this.form_field.options[e.options_index].disabled&&(e.selected=!1,this.form_field.options[e.options_index].selected=!1,this.selected_option_count=null,this.result_clear_highlight(),this.results_showing&&this.winnow_results(),this.trigger_form_field_change({deselected:this.form_field.options[e.options_index].value}),this.search_field_scale(),!0)},n.prototype.single_deselect_control_build=function(){if(this.allow_single_deselect)return this.selected_item.find("abbr").length||this.selected_item.find("span").first().after('<abbr class="search-choice-close"></abbr>'),this.selected_item.addClass("chosen-single-with-deselect")},n.prototype.get_search_field_value=function(){return this.search_field.val()},n.prototype.get_search_text=function(){return t.trim(this.get_search_field_value())},n.prototype.escape_html=function(e){return t("<div/>").text(e).html()},n.prototype.winnow_results_set_highlight=function(){var t,e;if(e=this.is_multiple?[]:this.search_results.find(".result-selected.active-result"),null!=(t=e.length?e.first():this.search_results.find(".active-result").first()))return this.result_do_highlight(t)},n.prototype.no_results=function(t){var e;return e=this.get_no_results_html(t),this.search_results.append(e),this.form_field_jq.trigger("chosen:no_results",{chosen:this})},n.prototype.no_results_clear=function(){return this.search_results.find(".no-results").remove()},n.prototype.keydown_arrow=function(){var t;return this.results_showing&&this.result_highlight?(t=this.result_highlight.nextAll("li.active-result").first())?this.result_do_highlight(t):void 0:this.results_show()},n.prototype.keyup_arrow=function(){var t;return this.results_showing||this.is_multiple?this.result_highlight?(t=this.result_highlight.prevAll("li.active-result")).length?this.result_do_highlight(t.first()):(this.choices_count()>0&&this.results_hide(),this.result_clear_highlight()):void 0:this.results_show()},n.prototype.keydown_backstroke=function(){var t;return this.pending_backstroke?(this.choice_destroy(this.pending_backstroke.find("a").first()),this.clear_backstroke()):(t=this.search_container.siblings("li.search-choice").last()).length&&!t.hasClass("search-choice-disabled")?(this.pending_backstroke=t,this.single_backstroke_delete?this.keydown_backstroke():this.pending_backstroke.addClass("search-choice-focus")):void 0},n.prototype.clear_backstroke=function(){return this.pending_backstroke&&this.pending_backstroke.removeClass("search-choice-focus"),this.pending_backstroke=null},n.prototype.search_field_scale=function(){var e,s,i,n,r,o,h;if(this.is_multiple){for(r={position:"absolute",left:"-1000px",top:"-1000px",display:"none",whiteSpace:"pre"},s=0,i=(o=["fontSize","fontStyle","fontWeight","fontFamily","lineHeight","textTransform","letterSpacing"]).length;s<i;s++)r[n=o[s]]=this.search_field.css(n);return(e=t("<div />").css(r)).text(this.get_search_field_value()),t("body").append(e),h=e.width()+25,e.remove(),this.container.is(":visible")&&(h=Math.min(this.container.outerWidth()-10,h)),this.search_field.width(h)}},n.prototype.trigger_form_field_change=function(t){return this.form_field_jq.trigger("input",t),this.form_field_jq.trigger("change",t)},n}()}).call(this);
|
js/jquery.sticky.js
CHANGED
@@ -1,139 +1,258 @@
|
|
1 |
-
// Sticky Plugin v1.0.
|
2 |
// =============
|
3 |
// Author: Anthony Garand
|
4 |
// Improvements by German M. Bravo (Kronuz) and Ruud Kamphuis (ruudk)
|
5 |
// Improvements by Leonardo C. Daronco (daronco)
|
6 |
-
// Created:
|
7 |
-
// Date:
|
8 |
-
// Website: http://
|
9 |
// Description: Makes an element on the page stick on the screen as you scroll
|
10 |
-
//
|
11 |
-
//
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
|
13 |
-
(function($) {
|
14 |
var defaults = {
|
15 |
-
|
16 |
-
|
17 |
-
|
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 |
-
s.currentTop
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
|
|
|
|
54 |
}
|
55 |
-
|
56 |
-
s.stickyElement
|
57 |
-
|
58 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
59 |
|
60 |
-
|
61 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
62 |
}
|
63 |
|
64 |
-
|
65 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
}
|
67 |
}
|
68 |
-
}
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
77 |
}
|
78 |
-
}
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
95 |
}
|
|
|
96 |
|
97 |
-
|
98 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
99 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
100 |
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
stickyElement: stickyElement,
|
107 |
-
currentTop: null,
|
108 |
-
stickyWrapper: stickyWrapper,
|
109 |
-
className: o.className,
|
110 |
-
getWidthFrom: o.getWidthFrom,
|
111 |
-
responsiveWidth: o.responsiveWidth
|
112 |
-
});
|
113 |
-
});
|
114 |
-
},
|
115 |
-
update: scroller,
|
116 |
-
unstick: function(options) {
|
117 |
-
return this.each(function() {
|
118 |
-
var unstickyElement = $(this);
|
119 |
-
|
120 |
-
var removeIdx = -1;
|
121 |
-
for (var i = 0; i < sticked.length; i++)
|
122 |
-
{
|
123 |
-
if (sticked[i].stickyElement.get(0) == unstickyElement.get(0))
|
124 |
-
{
|
125 |
removeIdx = i;
|
|
|
126 |
}
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
|
|
|
|
|
|
|
|
|
|
137 |
|
138 |
// should be more efficient than using $window.scroll(scroller) and $window.resize(resizer):
|
139 |
if (window.addEventListener) {
|
@@ -146,7 +265,7 @@
|
|
146 |
|
147 |
$.fn.sticky = function(method) {
|
148 |
if (methods[method]) {
|
149 |
-
return methods[method].apply(this,
|
150 |
} else if (typeof method === 'object' || !method ) {
|
151 |
return methods.init.apply( this, arguments );
|
152 |
} else {
|
@@ -156,15 +275,14 @@
|
|
156 |
|
157 |
$.fn.unstick = function(method) {
|
158 |
if (methods[method]) {
|
159 |
-
return methods[method].apply(this,
|
160 |
} else if (typeof method === 'object' || !method ) {
|
161 |
return methods.unstick.apply( this, arguments );
|
162 |
} else {
|
163 |
$.error('Method ' + method + ' does not exist on jQuery.sticky');
|
164 |
}
|
165 |
-
|
166 |
};
|
167 |
$(function() {
|
168 |
setTimeout(scroller, 0);
|
169 |
});
|
170 |
-
})
|
1 |
+
// Sticky Plugin v1.0.4 for jQuery
|
2 |
// =============
|
3 |
// Author: Anthony Garand
|
4 |
// Improvements by German M. Bravo (Kronuz) and Ruud Kamphuis (ruudk)
|
5 |
// Improvements by Leonardo C. Daronco (daronco)
|
6 |
+
// Created: 02/14/2011
|
7 |
+
// Date: 07/20/2015
|
8 |
+
// Website: http://stickyjs.com/
|
9 |
// Description: Makes an element on the page stick on the screen as you scroll
|
10 |
+
// It will only set the 'top' and 'position' of your element, you
|
11 |
+
// might need to adjust the width in some cases.
|
12 |
+
|
13 |
+
(function (factory) {
|
14 |
+
if (typeof define === 'function' && define.amd) {
|
15 |
+
// AMD. Register as an anonymous module.
|
16 |
+
define(['jquery'], factory);
|
17 |
+
} else if (typeof module === 'object' && module.exports) {
|
18 |
+
// Node/CommonJS
|
19 |
+
module.exports = factory(require('jquery'));
|
20 |
+
} else {
|
21 |
+
// Browser globals
|
22 |
+
factory(jQuery);
|
23 |
+
}
|
24 |
+
}(function ($) {
|
25 |
+
var slice = Array.prototype.slice; // save ref to original slice()
|
26 |
+
var splice = Array.prototype.splice; // save ref to original slice()
|
27 |
|
|
|
28 |
var defaults = {
|
29 |
+
topSpacing: 0,
|
30 |
+
bottomSpacing: 0,
|
31 |
+
className: 'is-sticky',
|
32 |
+
wrapperClassName: 'sticky-wrapper',
|
33 |
+
center: false,
|
34 |
+
getWidthFrom: '',
|
35 |
+
widthFromWrapper: true, // works only when .getWidthFrom is empty
|
36 |
+
responsiveWidth: false,
|
37 |
+
zIndex: 'inherit'
|
38 |
+
},
|
39 |
+
$window = $(window),
|
40 |
+
$document = $(document),
|
41 |
+
sticked = [],
|
42 |
+
windowHeight = $window.height(),
|
43 |
+
scroller = function() {
|
44 |
+
var scrollTop = $window.scrollTop(),
|
45 |
+
documentHeight = $document.height(),
|
46 |
+
dwh = documentHeight - windowHeight,
|
47 |
+
extra = (scrollTop > dwh) ? dwh - scrollTop : 0;
|
48 |
+
|
49 |
+
for (var i = 0, l = sticked.length; i < l; i++) {
|
50 |
+
var s = sticked[i],
|
51 |
+
elementTop = s.stickyWrapper.offset().top,
|
52 |
+
etse = elementTop - s.topSpacing - extra;
|
53 |
+
|
54 |
+
//update height in case of dynamic content
|
55 |
+
s.stickyWrapper.css('height', s.stickyElement.outerHeight());
|
56 |
+
|
57 |
+
if (scrollTop <= etse) {
|
58 |
+
if (s.currentTop !== null) {
|
59 |
+
s.stickyElement
|
60 |
+
.css({
|
61 |
+
'width': '',
|
62 |
+
'position': '',
|
63 |
+
'top': '',
|
64 |
+
'z-index': ''
|
65 |
+
});
|
66 |
+
s.stickyElement.parent().removeClass(s.className);
|
67 |
+
s.stickyElement.trigger('sticky-end', [s]);
|
68 |
+
s.currentTop = null;
|
69 |
+
}
|
70 |
}
|
71 |
+
else {
|
72 |
+
var newTop = documentHeight - s.stickyElement.outerHeight()
|
73 |
+
- s.topSpacing - s.bottomSpacing - scrollTop - extra;
|
74 |
+
if (newTop < 0) {
|
75 |
+
newTop = newTop + s.topSpacing;
|
76 |
+
} else {
|
77 |
+
newTop = s.topSpacing;
|
78 |
+
}
|
79 |
+
if (s.currentTop !== newTop) {
|
80 |
+
var newWidth;
|
81 |
+
if (s.getWidthFrom) {
|
82 |
+
padding = s.stickyElement.innerWidth() - s.stickyElement.width();
|
83 |
+
newWidth = $(s.getWidthFrom).width() - padding || null;
|
84 |
+
} else if (s.widthFromWrapper) {
|
85 |
+
newWidth = s.stickyWrapper.width();
|
86 |
+
}
|
87 |
+
if (newWidth == null) {
|
88 |
+
newWidth = s.stickyElement.width();
|
89 |
+
}
|
90 |
+
s.stickyElement
|
91 |
+
.css('width', newWidth)
|
92 |
+
.css('position', 'fixed')
|
93 |
+
.css('top', newTop)
|
94 |
+
.css('z-index', s.zIndex);
|
95 |
|
96 |
+
s.stickyElement.parent().addClass(s.className);
|
97 |
+
|
98 |
+
if (s.currentTop === null) {
|
99 |
+
s.stickyElement.trigger('sticky-start', [s]);
|
100 |
+
} else {
|
101 |
+
// sticky is started but it have to be repositioned
|
102 |
+
s.stickyElement.trigger('sticky-update', [s]);
|
103 |
+
}
|
104 |
+
|
105 |
+
if (s.currentTop === s.topSpacing && s.currentTop > newTop || s.currentTop === null && newTop < s.topSpacing) {
|
106 |
+
// just reached bottom || just started to stick but bottom is already reached
|
107 |
+
s.stickyElement.trigger('sticky-bottom-reached', [s]);
|
108 |
+
} else if(s.currentTop !== null && newTop === s.topSpacing && s.currentTop < newTop) {
|
109 |
+
// sticky is started && sticked at topSpacing && overflowing from top just finished
|
110 |
+
s.stickyElement.trigger('sticky-bottom-unreached', [s]);
|
111 |
+
}
|
112 |
+
|
113 |
+
s.currentTop = newTop;
|
114 |
}
|
115 |
|
116 |
+
// Check if sticky has reached end of container and stop sticking
|
117 |
+
var stickyWrapperContainer = s.stickyWrapper.parent();
|
118 |
+
var unstick = (s.stickyElement.offset().top + s.stickyElement.outerHeight() >= stickyWrapperContainer.offset().top + stickyWrapperContainer.outerHeight()) && (s.stickyElement.offset().top <= s.topSpacing);
|
119 |
+
|
120 |
+
if( unstick ) {
|
121 |
+
s.stickyElement
|
122 |
+
.css('position', 'absolute')
|
123 |
+
.css('top', '')
|
124 |
+
.css('bottom', 0)
|
125 |
+
.css('z-index', '');
|
126 |
+
} else {
|
127 |
+
s.stickyElement
|
128 |
+
.css('position', 'fixed')
|
129 |
+
.css('top', newTop)
|
130 |
+
.css('bottom', '')
|
131 |
+
.css('z-index', s.zIndex);
|
132 |
+
}
|
133 |
}
|
134 |
}
|
135 |
+
},
|
136 |
+
resizer = function() {
|
137 |
+
windowHeight = $window.height();
|
138 |
+
|
139 |
+
for (var i = 0, l = sticked.length; i < l; i++) {
|
140 |
+
var s = sticked[i];
|
141 |
+
var newWidth = null;
|
142 |
+
if (s.getWidthFrom) {
|
143 |
+
if (s.responsiveWidth) {
|
144 |
+
newWidth = $(s.getWidthFrom).width();
|
145 |
+
}
|
146 |
+
} else if(s.widthFromWrapper) {
|
147 |
+
newWidth = s.stickyWrapper.width();
|
148 |
+
}
|
149 |
+
if (newWidth != null) {
|
150 |
+
s.stickyElement.css('width', newWidth);
|
151 |
+
}
|
152 |
}
|
153 |
+
},
|
154 |
+
methods = {
|
155 |
+
init: function(options) {
|
156 |
+
return this.each(function() {
|
157 |
+
var o = $.extend({}, defaults, options);
|
158 |
+
var stickyElement = $(this);
|
159 |
+
|
160 |
+
var stickyId = stickyElement.attr('id');
|
161 |
+
var wrapperId = stickyId ? stickyId + '-' + defaults.wrapperClassName : defaults.wrapperClassName;
|
162 |
+
var wrapper = $('<div></div>')
|
163 |
+
.attr('id', wrapperId)
|
164 |
+
.addClass(o.wrapperClassName);
|
165 |
+
|
166 |
+
stickyElement.wrapAll(function() {
|
167 |
+
if ($(this).parent("#" + wrapperId).length == 0) {
|
168 |
+
return wrapper;
|
169 |
+
}
|
170 |
+
});
|
171 |
+
|
172 |
+
var stickyWrapper = stickyElement.parent();
|
173 |
+
|
174 |
+
if (o.center) {
|
175 |
+
stickyWrapper.css({width:stickyElement.outerWidth(),marginLeft:"auto",marginRight:"auto"});
|
176 |
+
}
|
177 |
+
|
178 |
+
if (stickyElement.css("float") === "right") {
|
179 |
+
stickyElement.css({"float":"none"}).parent().css({"float":"right"});
|
180 |
+
}
|
181 |
+
|
182 |
+
o.stickyElement = stickyElement;
|
183 |
+
o.stickyWrapper = stickyWrapper;
|
184 |
+
o.currentTop = null;
|
185 |
+
|
186 |
+
sticked.push(o);
|
187 |
+
|
188 |
+
methods.setWrapperHeight(this);
|
189 |
+
methods.setupChangeListeners(this);
|
190 |
+
});
|
191 |
+
},
|
192 |
+
|
193 |
+
setWrapperHeight: function(stickyElement) {
|
194 |
+
var element = $(stickyElement);
|
195 |
+
var stickyWrapper = element.parent();
|
196 |
+
if (stickyWrapper) {
|
197 |
+
stickyWrapper.css('height', element.outerHeight());
|
198 |
}
|
199 |
+
},
|
200 |
|
201 |
+
setupChangeListeners: function(stickyElement) {
|
202 |
+
if (window.MutationObserver) {
|
203 |
+
var mutationObserver = new window.MutationObserver(function(mutations) {
|
204 |
+
if (mutations[0].addedNodes.length || mutations[0].removedNodes.length) {
|
205 |
+
methods.setWrapperHeight(stickyElement);
|
206 |
+
}
|
207 |
+
});
|
208 |
+
mutationObserver.observe(stickyElement, {subtree: true, childList: true});
|
209 |
+
} else {
|
210 |
+
if (window.addEventListener) {
|
211 |
+
stickyElement.addEventListener('DOMNodeInserted', function() {
|
212 |
+
methods.setWrapperHeight(stickyElement);
|
213 |
+
}, false);
|
214 |
+
stickyElement.addEventListener('DOMNodeRemoved', function() {
|
215 |
+
methods.setWrapperHeight(stickyElement);
|
216 |
+
}, false);
|
217 |
+
} else if (window.attachEvent) {
|
218 |
+
stickyElement.attachEvent('onDOMNodeInserted', function() {
|
219 |
+
methods.setWrapperHeight(stickyElement);
|
220 |
+
});
|
221 |
+
stickyElement.attachEvent('onDOMNodeRemoved', function() {
|
222 |
+
methods.setWrapperHeight(stickyElement);
|
223 |
+
});
|
224 |
+
}
|
225 |
}
|
226 |
+
},
|
227 |
+
update: scroller,
|
228 |
+
unstick: function(options) {
|
229 |
+
return this.each(function() {
|
230 |
+
var that = this;
|
231 |
+
var unstickyElement = $(that);
|
232 |
|
233 |
+
var removeIdx = -1;
|
234 |
+
var i = sticked.length;
|
235 |
+
while (i-- > 0) {
|
236 |
+
if (sticked[i].stickyElement.get(0) === that) {
|
237 |
+
splice.call(sticked,i,1);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
238 |
removeIdx = i;
|
239 |
+
}
|
240 |
}
|
241 |
+
if(removeIdx !== -1) {
|
242 |
+
unstickyElement.unwrap();
|
243 |
+
unstickyElement
|
244 |
+
.css({
|
245 |
+
'width': '',
|
246 |
+
'position': '',
|
247 |
+
'top': '',
|
248 |
+
'float': '',
|
249 |
+
'z-index': ''
|
250 |
+
})
|
251 |
+
;
|
252 |
+
}
|
253 |
+
});
|
254 |
+
}
|
255 |
+
};
|
256 |
|
257 |
// should be more efficient than using $window.scroll(scroller) and $window.resize(resizer):
|
258 |
if (window.addEventListener) {
|
265 |
|
266 |
$.fn.sticky = function(method) {
|
267 |
if (methods[method]) {
|
268 |
+
return methods[method].apply(this, slice.call(arguments, 1));
|
269 |
} else if (typeof method === 'object' || !method ) {
|
270 |
return methods.init.apply( this, arguments );
|
271 |
} else {
|
275 |
|
276 |
$.fn.unstick = function(method) {
|
277 |
if (methods[method]) {
|
278 |
+
return methods[method].apply(this, slice.call(arguments, 1));
|
279 |
} else if (typeof method === 'object' || !method ) {
|
280 |
return methods.unstick.apply( this, arguments );
|
281 |
} else {
|
282 |
$.error('Method ' + method + ' does not exist on jQuery.sticky');
|
283 |
}
|
|
|
284 |
};
|
285 |
$(function() {
|
286 |
setTimeout(scroller, 0);
|
287 |
});
|
288 |
+
}));
|
languages/custom-login-tr_TR.mo
CHANGED
File without changes
|
languages/custom-login-tr_TR.pot
CHANGED
File without changes
|
languages/custom-login.mo
CHANGED
File without changes
|
languages/custom-login.po
CHANGED
File without changes
|
languages/custom-login.pot
CHANGED
File without changes
|
readme.txt
CHANGED
@@ -2,27 +2,27 @@
|
|
2 |
Contributors: austyfrosty, frostymedia
|
3 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=7431290
|
4 |
Tags: admin, branding, customization, custom login, login, logo, error, login error, custom login pro
|
5 |
-
Requires at least: 4.
|
6 |
-
Tested up to:
|
7 |
Stable tag: trunk
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
11 |
-
|
12 |
|
13 |
== Description ==
|
14 |
|
15 |
-
Custom Login 2.0 was 140% faster than version 1.0, and version 3.0 is now even better! *Minimum WordPress version is 4.
|
16 |
|
17 |
For more information visit the official [Custom Login](https://frosty.media/plugins/custom-login/) page.
|
18 |
|
19 |
> <strong>Support</strong><br>
|
20 |
-
> [Austin](
|
21 |
>
|
22 |
-
> Any extensions purchased on [Frosty Media](https://frosty.media/) (not hosted on WordPress.org) will not be supported on the WordPress.org forum. You can always browse our *small* but growing [documentation](https://frosty.media/docs) for further assistance. You need a valid license key to make support submissions *on our site*. We thank you in advance.
|
23 |
|
24 |
> <strong>Bug Reports</strong><br>
|
25 |
-
> Bug reports for Custom Login are [welcomed on GitHub](https://github.com/thefrosty/custom-login).
|
26 |
|
27 |
= Video =
|
28 |
|
@@ -30,15 +30,17 @@ http://www.youtube.com/watch?v=hZkc-t36xYQ
|
|
30 |
|
31 |
= Extensions =
|
32 |
|
33 |
-
There are currently
|
34 |
|
35 |
**Extensions available now**
|
36 |
|
37 |
* [Stealth Login](https://frosty.media/plugins/custom-login-stealth-login/?utm_source=wordpressorg&utm_medium=custom-login&utm_campaign=readme.txt "Custom Login Stealth Login") - obscure your login URL.
|
38 |
* [Page Template](https://frosty.media/plugins/custom-login-page-template/?utm_source=wordpressorg&utm_medium=custom-login&utm_campaign=readme.txt "Custom Login Page Template") - add a login form to any WordPress page.
|
39 |
* [Login Redirects](https://frosty.media/plugins/custom-login-redirects/?utm_source=wordpressorg&utm_medium=custom-login&utm_campaign=readme.txt "Custom Login Redirects") - Manage login redirects.
|
40 |
-
* [No Password](https://frosty.media/plugins/custom-login-no-password-login/?utm_source=wordpressorg&utm_medium=custom-login&utm_campaign=readme.txt "Custom Login No Password logins") - allow users to login without a password.
|
41 |
-
* [Style Pack #1](https://frosty.media/plugins/custom-login-style-pack-1?utm_source=wordpressorg&utm_medium=custom-login&utm_campaign=readme.txt "Custom Login Style Pack #1") - four pre-designed login styles.
|
|
|
|
|
42 |
|
43 |
**Extensions in development/extension ideas**
|
44 |
|
@@ -62,7 +64,7 @@ Activate the plugin and customize your WordPress login screen. It's as easy as m
|
|
62 |
= links =
|
63 |
|
64 |
* Premium Plugins: [https://frosty.media/plugins](https://frosty.media/plugins/ "Premium WordPress Plugins by Frosty")
|
65 |
-
* Austins Blog: [https:/austin.passy.co/](
|
66 |
* Austin on Twitter: @[TheFrosty](https:/twitter.com/TheFrosty "Austin TheFrosty' Passy on Twitter")
|
67 |
* Frosty Media on Twitter: @[Frosty_Media](https:/twitter.com/Frosty_Media "Frosty Media on Twitter")
|
68 |
* **Development welcomed on [GitHub](https://github.com/thefrosty/custom-login)**
|
@@ -87,7 +89,7 @@ Follow the steps below to install the plugin.
|
|
87 |
They are additional plugins that add/extend functionality to the Custom Login plugin. You can find all Custom Login extensions on [Frosty.Media](http://frosty.media).
|
88 |
|
89 |
= My new settings aren't showing up =
|
90 |
-
This plugin caches all settings in a transient, try clicking the new 'Update stylesheet' button to delete and refresh the cache. *This
|
91 |
|
92 |
= Is there a PRO version? =
|
93 |
Well, yes and no. Since version 3.0 of Custom Login the [PRO](http://frosty.media/plugins/custom-login-pro/) version is a completely different plugin. Instead of settings to manage your login design there is a new post type where you can create unlimited "designs" and activate each one as needed. Since version 3.0 all Custom Login extensions no longer work with Custom Login Pro, but will be merged into it in the future.
|
@@ -99,7 +101,7 @@ I created this plugin to allow for custom login of any WordPress login screen. S
|
|
99 |
Check out the [Flickr group](http://flickr.com/groups/custom-login/)! Upload and add it to our pool!
|
100 |
|
101 |
= I think i want to uninstall =
|
102 |
-
Just
|
103 |
|
104 |
== Screenshots ==
|
105 |
|
@@ -115,6 +117,56 @@ Custom Login showcase on the [Flickr group](http://flickr.com/groups/custom-logi
|
|
115 |
|
116 |
== Changelog ==
|
117 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
118 |
= Version 3.2 (02/09/15) =
|
119 |
|
120 |
* Message: Celebrate 500,000 downloads. Visit the settings page or [this post](https://frosty.media/?p=26056) to get any extension for free! *Restrictions may apply.
|
@@ -189,7 +241,7 @@ Custom Login showcase on the [Flickr group](http://flickr.com/groups/custom-logi
|
|
189 |
= Version 3.0.2 (01/12/15) =
|
190 |
|
191 |
* Fix: Logo background size width & height settings not transfering over in upgrade process.
|
192 |
-
* Fix: Checking "Remove lost password text" removes the text instead of the other way around. [forum](https://wordpress.org/support/topic/lost-your-password-1)
|
193 |
|
194 |
= Version 3.0.1 (01/11/15) =
|
195 |
|
@@ -210,6 +262,9 @@ _REQUIRES WordPress 3.9 or later_
|
|
210 |
|
211 |
== Upgrade Notice ==
|
212 |
|
|
|
|
|
|
|
213 |
= 3.2 =
|
214 |
Celebrate 500,000 downloads w/ a FREE extension! Update to version 3.2 for more info.
|
215 |
|
@@ -217,4 +272,4 @@ Celebrate 500,000 downloads w/ a FREE extension! Update to version 3.2 for more
|
|
217 |
Fixes unable to login to admin site.
|
218 |
|
219 |
= 3.0.5 =
|
220 |
-
Complete rewrite of Custom Login, be sure to run the update script to keep your old settings.
|
2 |
Contributors: austyfrosty, frostymedia
|
3 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=7431290
|
4 |
Tags: admin, branding, customization, custom login, login, logo, error, login error, custom login pro
|
5 |
+
Requires at least: 4.8
|
6 |
+
Tested up to: 5.2
|
7 |
Stable tag: trunk
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
11 |
+
Custom Login allows you to easily customize your admin login page, works great for client sites!
|
12 |
|
13 |
== Description ==
|
14 |
|
15 |
+
Custom Login 2.0 was 140% faster than version 1.0, and version 3.0 is now even better! *Minimum WordPress version is 4.8*
|
16 |
|
17 |
For more information visit the official [Custom Login](https://frosty.media/plugins/custom-login/) page.
|
18 |
|
19 |
> <strong>Support</strong><br>
|
20 |
+
> [Austin](http://austin.passy.co) and the [Frosty Media](https://frosty.media/) team will always try our best to support the Custom Login plugin on the WordPress.org forum, but please note that we can not guarantee a response in a timely manner. If you have an issue we would appriciate you using GitHub or purchasing priority support on our site.
|
21 |
>
|
22 |
+
> Any extensions purchased on [Frosty Media](https://frosty.media/) (not hosted on WordPress.org) will not be supported on the WordPress.org forum. You can always browse our *small* but growing [documentation](https://frosty.media/docs) for further assistance. You need a valid license key to make support submissions *on our site*. We thank you in advance.
|
23 |
|
24 |
> <strong>Bug Reports</strong><br>
|
25 |
+
> Bug reports for Custom Login are [welcomed on GitHub](https://github.com/thefrosty/custom-login).
|
26 |
|
27 |
= Video =
|
28 |
|
30 |
|
31 |
= Extensions =
|
32 |
|
33 |
+
There are currently 7 premium extensions available, with more coming (suggestions welcome - and *will be offered for free to said user*).
|
34 |
|
35 |
**Extensions available now**
|
36 |
|
37 |
* [Stealth Login](https://frosty.media/plugins/custom-login-stealth-login/?utm_source=wordpressorg&utm_medium=custom-login&utm_campaign=readme.txt "Custom Login Stealth Login") - obscure your login URL.
|
38 |
* [Page Template](https://frosty.media/plugins/custom-login-page-template/?utm_source=wordpressorg&utm_medium=custom-login&utm_campaign=readme.txt "Custom Login Page Template") - add a login form to any WordPress page.
|
39 |
* [Login Redirects](https://frosty.media/plugins/custom-login-redirects/?utm_source=wordpressorg&utm_medium=custom-login&utm_campaign=readme.txt "Custom Login Redirects") - Manage login redirects.
|
40 |
+
* [No Password](https://frosty.media/plugins/custom-login-no-password-login/?utm_source=wordpressorg&utm_medium=custom-login&utm_campaign=readme.txt "Custom Login No Password logins") - allow users to login without a password.
|
41 |
+
* [Style Pack #1](https://frosty.media/plugins/custom-login-style-pack-1?utm_source=wordpressorg&utm_medium=custom-login&utm_campaign=readme.txt "Custom Login Style Pack #1") - four pre-designed login styles.
|
42 |
+
* [Style Pack #2](https://frosty.media/plugins/custom-login-style-pack-2?utm_source=wordpressorg&utm_medium=custom-login&utm_campaign=readme.txt "Custom Login Style Pack #2") - four pre-designed fun login styles.
|
43 |
+
* [Style Pack #3](https://frosty.media/plugins/custom-login-style-pack-3?utm_source=wordpressorg&utm_medium=custom-login&utm_campaign=readme.txt "Custom Login Style Pack #3") - four pre-designed holiday login styles.
|
44 |
|
45 |
**Extensions in development/extension ideas**
|
46 |
|
64 |
= links =
|
65 |
|
66 |
* Premium Plugins: [https://frosty.media/plugins](https://frosty.media/plugins/ "Premium WordPress Plugins by Frosty")
|
67 |
+
* Austins Blog: [https:/austin.passy.co/](http://austin.passy.co/ "Austin Passy's blog")
|
68 |
* Austin on Twitter: @[TheFrosty](https:/twitter.com/TheFrosty "Austin TheFrosty' Passy on Twitter")
|
69 |
* Frosty Media on Twitter: @[Frosty_Media](https:/twitter.com/Frosty_Media "Frosty Media on Twitter")
|
70 |
* **Development welcomed on [GitHub](https://github.com/thefrosty/custom-login)**
|
89 |
They are additional plugins that add/extend functionality to the Custom Login plugin. You can find all Custom Login extensions on [Frosty.Media](http://frosty.media).
|
90 |
|
91 |
= My new settings aren't showing up =
|
92 |
+
This plugin caches all settings in a transient, try clicking the new 'Update stylesheet' button to delete and refresh the cache. *This will apply to versions < 3.0*.
|
93 |
|
94 |
= Is there a PRO version? =
|
95 |
Well, yes and no. Since version 3.0 of Custom Login the [PRO](http://frosty.media/plugins/custom-login-pro/) version is a completely different plugin. Instead of settings to manage your login design there is a new post type where you can create unlimited "designs" and activate each one as needed. Since version 3.0 all Custom Login extensions no longer work with Custom Login Pro, but will be merged into it in the future.
|
101 |
Check out the [Flickr group](http://flickr.com/groups/custom-login/)! Upload and add it to our pool!
|
102 |
|
103 |
= I think i want to uninstall =
|
104 |
+
Just deactivate it. Sad panda is sad.
|
105 |
|
106 |
== Screenshots ==
|
107 |
|
117 |
|
118 |
== Changelog ==
|
119 |
|
120 |
+
= Version 3.2.9 (2019/05/07) =
|
121 |
+
|
122 |
+
* Tested up to WordPress 5.2.
|
123 |
+
* Update deprecated login text filter in WordPress 5.2.
|
124 |
+
* Update animate.css to version 3.7.0.
|
125 |
+
* Update chosen.js to 1.8.7.
|
126 |
+
* Update jQuery Sticky to 1.0.4.
|
127 |
+
* Fix spelling error in admin JS on typeof check for ACE JS.
|
128 |
+
|
129 |
+
= Version 3.2.8 (12/11/17) =
|
130 |
+
|
131 |
+
* Update notifications URL to current correct location for admin settings page.
|
132 |
+
|
133 |
+
= Version 3.2.7 (11/13/17) =
|
134 |
+
|
135 |
+
* Fix duplicate CSS output in head bug.
|
136 |
+
* Fix empty link URL and title on wp login page when on multisite.
|
137 |
+
|
138 |
+
= Version 3.2.6 (11/10/17) =
|
139 |
+
|
140 |
+
* Check compatibility with WordPress 4.9.
|
141 |
+
* Update Settings API to fix `Undefined index: active` message.
|
142 |
+
|
143 |
+
= Version 3.2.5 (04/13/16) =
|
144 |
+
|
145 |
+
* WordPress 4.5 compatible update (moves Custom Login css after WordPress' login style sheet).
|
146 |
+
* Fix issue where toggling the 'active' checkbox in the header doesn't activate or de-activate the plugin settings (updates via AJAX now).
|
147 |
+
|
148 |
+
= Version 3.2.4 (09/16/15) =
|
149 |
+
|
150 |
+
* Fix PHP Fatal error.
|
151 |
+
** PHP Fatal error: Call to a member function get_permalink() on a non-object in /includes/admin/dashboard.php:114
|
152 |
+
|
153 |
+
= Version 3.2.2 (05/04/15) =
|
154 |
+
|
155 |
+
* May the fourth be with you.
|
156 |
+
* Cleaned up dashboard JS errors.
|
157 |
+
|
158 |
+
= Version 3.2.2 (04/29/15) =
|
159 |
+
|
160 |
+
* Update version number.
|
161 |
+
* Fix upgrade notice showing when not needed.
|
162 |
+
* Add class 'notice' and 'is-dismissible' to notice.
|
163 |
+
* Cleanup admin dashboard empty ob_get_clean() notice.
|
164 |
+
|
165 |
+
= Version 3.2.1 (04/20/15) =
|
166 |
+
|
167 |
+
* Fix: XSS security flaw.
|
168 |
+
* Fix: Settings page not showing. (Fixes Issue: [#6](https://github.com/thefrosty/custom-login/pull/6) /ht @[DrewAPicture](https://github.com/DrewAPicture).
|
169 |
+
|
170 |
= Version 3.2 (02/09/15) =
|
171 |
|
172 |
* Message: Celebrate 500,000 downloads. Visit the settings page or [this post](https://frosty.media/?p=26056) to get any extension for free! *Restrictions may apply.
|
241 |
= Version 3.0.2 (01/12/15) =
|
242 |
|
243 |
* Fix: Logo background size width & height settings not transfering over in upgrade process.
|
244 |
+
* Fix: Checking "Remove lost password text" removes the text instead of the other way around. [forum](https://wordpress.org/support/topic/lost-your-password-1)
|
245 |
|
246 |
= Version 3.0.1 (01/11/15) =
|
247 |
|
262 |
|
263 |
== Upgrade Notice ==
|
264 |
|
265 |
+
= 3.2.7 =
|
266 |
+
Fixes duplicate CSS output in login header. Testing up to WordPress 4.9.
|
267 |
+
|
268 |
= 3.2 =
|
269 |
Celebrate 500,000 downloads w/ a FREE extension! Update to version 3.2 for more info.
|
270 |
|
272 |
Fixes unable to login to admin site.
|
273 |
|
274 |
= 3.0.5 =
|
275 |
+
Complete rewrite of Custom Login, be sure to run the update script to keep your old settings.
|
templates/wp-login-script.php
CHANGED
@@ -10,7 +10,7 @@ global $cl_js_atts;
|
|
10 |
extract( $cl_js_atts, EXTR_SKIP );
|
11 |
|
12 |
/* Cache ALL THE THINGS! */
|
13 |
-
if ( false === ( $js = get_transient( $trans_key ) ) ) :
|
14 |
|
15 |
$js = '';
|
16 |
|
@@ -22,7 +22,7 @@ if ( false === ( $js = get_transient( $trans_key ) ) ) :
|
|
22 |
*
|
23 |
* Plugin URI : https://frosty.media/plugins/custom-login/
|
24 |
* Version : $version
|
25 |
-
* Author URI :
|
26 |
* Extensions : https://frosty.media/plugin/tag/custom-login-extension/
|
27 |
*/\n\n";
|
28 |
|
@@ -33,16 +33,16 @@ if ( false === ( $js = get_transient( $trans_key ) ) ) :
|
|
33 |
if ( !empty( $custom_jquery ) ) {
|
34 |
|
35 |
$js .= "\n\n/* Custom JS */\n";
|
36 |
-
$js .= wp_specialchars_decode( stripslashes( $custom_jquery )
|
37 |
$js .= "\n\n";
|
38 |
|
39 |
}
|
40 |
|
41 |
$js .= '}(jQuery));';
|
42 |
|
43 |
-
/* WP Magic */
|
44 |
-
set_transient( $trans_key, $js, YEAR_IN_SECONDS/2 ); // Cache for six months
|
45 |
-
endif;
|
46 |
|
47 |
/* Out of the frying pan, and into the fire! */
|
48 |
echo $js;
|
10 |
extract( $cl_js_atts, EXTR_SKIP );
|
11 |
|
12 |
/* Cache ALL THE THINGS! */
|
13 |
+
//if ( false === ( $js = get_transient( $trans_key ) ) ) :
|
14 |
|
15 |
$js = '';
|
16 |
|
22 |
*
|
23 |
* Plugin URI : https://frosty.media/plugins/custom-login/
|
24 |
* Version : $version
|
25 |
+
* Author URI : http://austin.passy.co/
|
26 |
* Extensions : https://frosty.media/plugin/tag/custom-login-extension/
|
27 |
*/\n\n";
|
28 |
|
33 |
if ( !empty( $custom_jquery ) ) {
|
34 |
|
35 |
$js .= "\n\n/* Custom JS */\n";
|
36 |
+
$js .= wp_specialchars_decode( stripslashes( $custom_jquery ) );
|
37 |
$js .= "\n\n";
|
38 |
|
39 |
}
|
40 |
|
41 |
$js .= '}(jQuery));';
|
42 |
|
43 |
+
// /* WP Magic */
|
44 |
+
// set_transient( $trans_key, $js, YEAR_IN_SECONDS/2 ); // Cache for six months
|
45 |
+
//endif;
|
46 |
|
47 |
/* Out of the frying pan, and into the fire! */
|
48 |
echo $js;
|
templates/wp-login-style.php
CHANGED
@@ -11,7 +11,7 @@ global $cl_css_atts;
|
|
11 |
extract( $cl_css_atts, EXTR_SKIP );
|
12 |
|
13 |
/* Cache ALL THE THINGS! */
|
14 |
-
if ( false === ( $css = get_transient( $trans_key ) ) ) :
|
15 |
|
16 |
$css = '';
|
17 |
$close_rule = "}\n";
|
@@ -27,13 +27,13 @@ if ( false === ( $css = get_transient( $trans_key ) ) ) :
|
|
27 |
*
|
28 |
* Plugin URI : https://frosty.media/plugins/custom-login/
|
29 |
* Version : $version
|
30 |
-
* Author URI :
|
31 |
* Extensions : https://frosty.media/plugin/tag/custom-login-extension/
|
32 |
*/\n\n";
|
33 |
|
34 |
/* Custom user input */
|
35 |
if ( !empty( $custom_css ) ) {
|
36 |
-
$custom_css = wp_specialchars_decode( stripslashes( $custom_css )
|
37 |
|
38 |
$css .= "/* START Custom CSS */\n";
|
39 |
$css .= str_replace(
|
@@ -327,9 +327,9 @@ if ( false === ( $css = get_transient( $trans_key ) ) ) :
|
|
327 |
|
328 |
}
|
329 |
|
330 |
-
/* WP Magic */
|
331 |
-
set_transient( $trans_key, $css, YEAR_IN_SECONDS/2 ); // Cache for six months
|
332 |
-
endif;
|
333 |
|
334 |
/* Out of the frying pan, and into the fire! */
|
335 |
echo $css;
|
11 |
extract( $cl_css_atts, EXTR_SKIP );
|
12 |
|
13 |
/* Cache ALL THE THINGS! */
|
14 |
+
//if ( false === ( $css = get_transient( $trans_key ) ) ) :
|
15 |
|
16 |
$css = '';
|
17 |
$close_rule = "}\n";
|
27 |
*
|
28 |
* Plugin URI : https://frosty.media/plugins/custom-login/
|
29 |
* Version : $version
|
30 |
+
* Author URI : http://austin.passy.co/
|
31 |
* Extensions : https://frosty.media/plugin/tag/custom-login-extension/
|
32 |
*/\n\n";
|
33 |
|
34 |
/* Custom user input */
|
35 |
if ( !empty( $custom_css ) ) {
|
36 |
+
$custom_css = wp_specialchars_decode( stripslashes( $custom_css ) );
|
37 |
|
38 |
$css .= "/* START Custom CSS */\n";
|
39 |
$css .= str_replace(
|
327 |
|
328 |
}
|
329 |
|
330 |
+
// /* WP Magic */
|
331 |
+
// set_transient( $trans_key, $css, YEAR_IN_SECONDS/2 ); // Cache for six months
|
332 |
+
//endif;
|
333 |
|
334 |
/* Out of the frying pan, and into the fire! */
|
335 |
echo $css;
|
uninstall.php
CHANGED
File without changes
|