├── .browserslistrc
├── .gitignore
├── README.md
├── babel.config.js
├── note.txt
├── package.json
├── postcss.config.js
├── public
├── favicon.ico
└── index.html
├── src
├── App.vue
├── assets
│ ├── logo.png
│ ├── styles
│ │ ├── animate.css
│ │ ├── border.styl
│ │ ├── maoyan.css
│ │ └── reset.css
│ └── swiper.png
├── components
│ └── movie_list
│ │ ├── MovieButton.vue
│ │ ├── MovieItem.vue
│ │ └── MovieList.vue
├── main.js
├── mixins
│ └── movie.js
├── mock
│ └── city.json
├── pages
│ ├── city
│ │ └── City.vue
│ ├── details
│ │ └── Detail.vue
│ ├── index
│ │ └── Index.vue
│ ├── movies
│ │ ├── Comingsoon.vue
│ │ ├── Intheater.vue
│ │ ├── MostExpected.vue
│ │ └── Movies.vue
│ ├── profile
│ │ └── Profile.vue
│ └── theaters
│ │ └── Theaters.vue
├── router.js
├── store
│ └── store.js
├── utils
│ ├── filters.js
│ └── http.js
└── views
│ ├── About.vue
│ └── Home.vue
├── vue.config.js
└── yarn.lock
/.browserslistrc:
--------------------------------------------------------------------------------
1 | > 1%
2 | last 2 versions
3 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /dist
4 |
5 | # local env files
6 | .env.local
7 | .env.*.local
8 |
9 | # Log files
10 | npm-debug.log*
11 | yarn-debug.log*
12 | yarn-error.log*
13 |
14 | # Editor directories and files
15 | .idea
16 | .vscode
17 | *.suo
18 | *.ntvs*
19 | *.njsproj
20 | *.sln
21 | *.sw?
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # maoyan
2 |
3 | ## 功能
4 | * 电影频道
5 | * 城市选择
6 | * 详情页
7 |
8 | ## 技术要点
9 | * 组件开发
10 | * 上拉加载
11 | * 动画切换
12 | * 滑动定位
13 | * 函数节流
14 | * 三级路由导航
15 | * 函数归并
16 | * 1px border
17 | * $nextTick
18 | * touch事件
19 |
20 | ## 前端技术架构
21 | * Vue-cli
22 | * Stylus
23 | * Vant
24 | * Vue-router
25 | * Vuex
26 | * BetterScroll
27 | * lodash
28 | * axios
29 | * animated.css
30 | * store.js
31 | * 单文件组件
32 |
33 | ## Project setup
34 | ```
35 | yarn install
36 | ```
37 |
38 | ### Compiles and hot-reloads for development
39 | ```
40 | yarn run serve
41 | ```
42 |
43 | ### Compiles and minifies for production
44 | ```
45 | yarn run build
46 | ```
47 |
48 | ### Run your tests
49 | ```
50 | yarn run test
51 | ```
52 |
53 | ### Lints and fixes files
54 | ```
55 | yarn run lint
56 | ```
57 |
58 | ### Customize configuration
59 | See [Configuration Reference](https://cli.vuejs.org/config/).
60 |
--------------------------------------------------------------------------------
/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [
3 | '@vue/app'
4 | ],
5 |
6 | "plugins": [
7 | ["import", {
8 | "libraryName": "vant",
9 | "libraryDirectory": "es",
10 | "style": true
11 | }]
12 | ]
13 | }
14 |
--------------------------------------------------------------------------------
/note.txt:
--------------------------------------------------------------------------------
1 | https://www.cnblogs.com/jszhp/p/9549706.html
2 |
3 | 2019-09-02:
4 | 1、stylus function(1px border)
5 | 2、vue.config.js 配置 resolve:alias
6 | 3、scope 穿透:多写一个style, stylus >>>
7 | 4、base64
8 | 5、二级路由
9 | 6、Vant(icon)
10 | 7、如何在CSS里定义iconfont的内容 省略 = \ ( 等于 \f002)
11 | 8、1px border 原理
12 |
13 |
14 | 2019-09-03:
15 | https://www.npmjs.com/package/axios
16 | http://www.axios-js.com/docs/
17 |
18 |
19 | 2019-09-10
20 | 联调
21 | 前后端不分离的发布模式
22 | 前后端分离的发布模式
23 |
24 | lsof -i:80
25 | kill -9 pid
26 |
27 | windows:
28 | 1、启动nginx
29 | start nginx
30 | 2、停止nginx
31 | nginx -s stop
32 |
33 | mac:
34 | 1、启动nginx
35 | nginx
36 | 2、停止nginx
37 | nginx -s stop
38 |
39 | server {
40 | listen 80;
41 | server_name dev.gp12.cn;
42 | root /Users/felix/Desktop/workspace/gp-12/Vue.js/project/maoyan-be/public;
43 | index index.html;
44 |
45 | location ~* /ajax {
46 | proxy_pass http://localhost:3000;
47 | }
48 |
49 | location ~* /java {
50 | proxy_pass http://192.168.10.8:4000;
51 | }
52 | }
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "maoyan",
3 | "version": "0.1.0",
4 | "private": true,
5 | "scripts": {
6 | "serve": "vue-cli-service serve",
7 | "build": "vue-cli-service build"
8 | },
9 | "dependencies": {
10 | "axios": "^0.19.0",
11 | "better-scroll": "^1.15.2",
12 | "core-js": "^2.6.5",
13 | "lodash": "^4.17.15",
14 | "store": "^2.0.12",
15 | "store.js": "^1.0.4",
16 | "vant": "^2.1.8",
17 | "vue": "^2.6.10",
18 | "vue-router": "^3.0.3",
19 | "vuex": "^3.0.1"
20 | },
21 | "devDependencies": {
22 | "@vue/cli-plugin-babel": "^3.11.0",
23 | "@vue/cli-service": "^3.11.0",
24 | "babel-plugin-import": "^1.12.1",
25 | "stylus": "^0.54.5",
26 | "stylus-loader": "^3.0.2",
27 | "vue-template-compiler": "^2.6.10"
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/postcss.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | plugins: {
3 | autoprefixer: {}
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lurongtao/gp12-vue.js-maoyan/8b337c44859ce506ef807eaaa2ad78186bace255/public/favicon.ico
--------------------------------------------------------------------------------
/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | maoyan
9 |
10 |
11 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
20 |
--------------------------------------------------------------------------------
/src/assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lurongtao/gp12-vue.js-maoyan/8b337c44859ce506ef807eaaa2ad78186bace255/src/assets/logo.png
--------------------------------------------------------------------------------
/src/assets/styles/animate.css:
--------------------------------------------------------------------------------
1 | @charset "UTF-8";
2 |
3 | /*!
4 | * animate.css -https://daneden.github.io/animate.css/
5 | * Version - 3.7.2
6 | * Licensed under the MIT license - http://opensource.org/licenses/MIT
7 | *
8 | * Copyright (c) 2019 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: 300ms;
3561 | animation-duration: 300ms;
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: reduce) {
3617 | .animated {
3618 | -webkit-animation-duration: 1ms !important;
3619 | animation-duration: 1ms !important;
3620 | -webkit-transition-duration: 1ms !important;
3621 | transition-duration: 1ms !important;
3622 | -webkit-animation-iteration-count: 1 !important;
3623 | animation-iteration-count: 1 !important;
3624 | }
3625 | }
3626 |
--------------------------------------------------------------------------------
/src/assets/styles/border.styl:
--------------------------------------------------------------------------------
1 | border1px($border-width = 1px, $border-color = #ccc, $border-style = solid, $radius = 0)
2 | position relative
3 | border-radius $radius
4 | &::after
5 | // 用以解决边框layer遮盖内容
6 | pointer-events none
7 | position absolute
8 | z-index 999
9 | top 0
10 | left 0
11 | // fix当元素宽度出现小数时,边框可能显示不全的问题
12 | // overflow: hidden;
13 | content "\0020"
14 | border-color $border-color
15 | border-style $border-style
16 | border-width $border-width
17 | @media screen and (max--moz-device-pixel-ratio: 1.49),
18 | (-webkit-max-device-pixel-ratio: 1.49),
19 | (max-device-pixel-ratio: 1.49),
20 | (max-resolution: 143dpi),
21 | (max-resolution: 1.49dppx)
22 | width 100%
23 | height 100%
24 | if $radius > 0
25 | border-radius $radius
26 | @media screen and (min--moz-device-pixel-ratio: 1.5) and (max--moz-device-pixel-ratio: 2.49),
27 | (-webkit-min-device-pixel-ratio: 1.5) and (-webkit-max-device-pixel-ratio: 2.49),
28 | (min-device-pixel-ratio: 1.5) and (max-device-pixel-ratio: 2.49),
29 | (min-resolution: 144dpi) and (max-resolution: 239dpi),
30 | (min-resolution: 1.5dppx) and (max-resolution: 2.49dppx)
31 | width 200%
32 | height 200%
33 | transform scale(.5)
34 | if $radius > 0
35 | border-radius $radius * 2
36 | @media screen and (min--moz-device-pixel-ratio: 2.5),
37 | (-webkit-min-device-pixel-ratio: 2.5),
38 | (min-device-pixel-ratio: 2.5),
39 | (min-resolution: 240dpi),
40 | (min-resolution: 2.5dppx)
41 | width 300%
42 | height 300%
43 | transform scale(.3333333)
44 | if $radius > 0
45 | border-radius $radius * 3
46 | transform-origin 0 0
--------------------------------------------------------------------------------
/src/assets/styles/reset.css:
--------------------------------------------------------------------------------
1 | *,
2 | ::before,
3 | ::after {
4 | -webkit-box-sizing: border-box;
5 | box-sizing: border-box;
6 | -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
7 |
8 | html,
9 | body {
10 | overflow: hidden;
11 | height: 100%; }
12 |
13 | ::-webkit-scrollbar {
14 | display: none; }
15 |
16 | html {
17 | background-color: #eee;
18 | color: #212121;
19 | font-size: 100px;
20 | -webkit-user-select: none;
21 | user-select: none; }
22 |
23 | body {
24 | margin: 0;
25 | font-size: 0.14em;
26 | line-height: 1.5;
27 | font-family: PingFangSC-Regular, Hiragino Sans GB, sans-serif }
28 |
29 | ul,
30 | ol,
31 | dl,
32 | dd,
33 | h1,
34 | h2,
35 | h3,
36 | h4,
37 | h5,
38 | h6,
39 | figure,
40 | form,
41 | fieldset,
42 | legend,
43 | input,
44 | textarea,
45 | button,
46 | p,
47 | blockquote,
48 | th,
49 | td,
50 | pre,
51 | xmp {
52 | margin: 0;
53 | padding: 0; }
54 |
55 | input,
56 | textarea,
57 | button,
58 | select,
59 | pre,
60 | xmp,
61 | tt,
62 | code,
63 | kbd,
64 | samp {
65 | line-height: inherit;
66 | font-family: inherit; }
67 |
68 | h1,
69 | h2,
70 | h3,
71 | h4,
72 | h5,
73 | h6,
74 | small,
75 | big,
76 | input,
77 | textarea,
78 | button,
79 | select {
80 | font-size: inherit; }
81 |
82 | address,
83 | cite,
84 | dfn,
85 | em,
86 | i,
87 | optgroup,
88 | var {
89 | font-style: normal; }
90 |
91 | table {
92 | border-collapse: collapse;
93 | border-spacing: 0;
94 | table-layout: fixed;
95 | text-align: left; }
96 |
97 | ul,
98 | ol,
99 | menu {
100 | list-style: none; }
101 |
102 | fieldset,
103 | img {
104 | border: 0;
105 | vertical-align: middle; }
106 |
107 | article,
108 | aside,
109 | details,
110 | figcaption,
111 | figure,
112 | footer,
113 | header,
114 | main,
115 | menu,
116 | nav,
117 | section,
118 | summary {
119 | display: block; }
120 |
121 | audio,
122 | canvas,
123 | video {
124 | display: inline-block; }
125 |
126 | blockquote:before,
127 | blockquote:after,
128 | q:before,
129 | q:after {
130 | content: "\0020"; }
131 |
132 | textarea,
133 | pre,
134 | xmp {
135 | overflow: auto;
136 | -webkit-overflow-scrolling: touch; }
137 |
138 | textarea {
139 | resize: vertical; }
140 |
141 | input,
142 | textarea,
143 | button,
144 | select,
145 | summary,
146 | a {
147 | outline: 0 none; }
148 |
149 | input,
150 | textarea,
151 | button,
152 | select {
153 | color: inherit; }
154 | input:disabled,
155 | textarea:disabled,
156 | button:disabled,
157 | select:disabled {
158 | opacity: 1; }
159 |
160 | button::-moz-focus-inner,
161 | input::-moz-focus-inner {
162 | padding: 0;
163 | border: 0; }
164 |
165 | input[type="button"],
166 | input[type="submit"],
167 | input[type="reset"],
168 | input[type="file"]::-webkit-file-upload-button,
169 | input[type="search"]::-webkit-search-cancel-button {
170 | -webkit-appearance: none;
171 | appearance: none; }
172 |
173 | ::-webkit-details-marker {
174 | display: none; }
175 |
176 | mark {
177 | background-color: rgba(0, 0, 0, 0); }
178 |
179 | a,
180 | ins,
181 | s,
182 | u,
183 | del {
184 | text-decoration: none; }
185 |
186 | a,
187 | img {
188 | -webkit-touch-callout: none; }
189 |
190 | a {
191 | color: #00afc7; }
192 |
193 | .g-clear::after,
194 | .g-mod::after {
195 | display: block;
196 | overflow: hidden;
197 | clear: both;
198 | height: 0;
199 | content: "\0020"; }
200 |
201 | @font-face {
202 | font-family: yofont;
203 | src: url(//ss.qunarzz.com/yo/font/1.0.3/yofont.woff) format("woff"), url(//ss.qunarzz.com/yo/font/1.0.3/yofont.ttf) format("truetype"); }
204 |
205 | .yo-ico {
206 | font-family: yofont !important;
207 | font-style: normal;
208 | -webkit-font-smoothing: antialiased;
209 | -moz-osx-font-smoothing: grayscale;
210 | vertical-align: middle; }
--------------------------------------------------------------------------------
/src/assets/swiper.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lurongtao/gp12-vue.js-maoyan/8b337c44859ce506ef807eaaa2ad78186bace255/src/assets/swiper.png
--------------------------------------------------------------------------------
/src/components/movie_list/MovieButton.vue:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
36 |
37 |
--------------------------------------------------------------------------------
/src/components/movie_list/MovieItem.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
![]()
7 |
8 |
9 |
10 |
11 |
12 |
{{movie.nm}}
13 |
14 |
15 |
16 |
17 | 观众评
18 | {{movie.sc}}
19 |
20 |
21 | {{movie.wish}}
22 | 人想看
23 |
24 |
主演: {{movie.star}}
25 |
{{movie.showInfo || movie.rt + '上映'}}
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/src/components/movie_list/MovieList.vue:
--------------------------------------------------------------------------------
1 |
2 |
13 |
14 |
15 |
40 |
41 |
--------------------------------------------------------------------------------
/src/main.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import App from './App.vue'
3 |
4 | import router from './router'
5 | import store from './store/store'
6 |
7 | Vue.config.productionTip = false
8 |
9 | new Vue({
10 | store,
11 | router,
12 | el: '#app',
13 | render: h => h(App)
14 | })
15 |
--------------------------------------------------------------------------------
/src/mixins/movie.js:
--------------------------------------------------------------------------------
1 | const movieMixin = {
2 | beforeCreate() {
3 | let from = this.$route.name === 'intheater' ? 'intheaters' : 'comingsoon'
4 | this.page = this.$store.state[from].page
5 | this.movieIds = []
6 | this.chunkedMovieIds = []
7 | this.limit = 10
8 | },
9 |
10 | computed: {
11 | city() {
12 | return this.$store.state.city.id
13 | }
14 | },
15 |
16 | methods: {
17 | async handleMessage(bScroll) {
18 | if (this.chunkedMovieIds[this.page]) {
19 |
20 | await this.$store.dispatch('loadMoreData', {
21 | limit: this.limit,
22 | movieIds: this.chunkedMovieIds[this.page].join(','),
23 | page: this.page + 1,
24 | from: this.$route.name
25 | })
26 |
27 | let from
28 | let type
29 | if (this.$route.name === 'intheater') {
30 | from = 'intheaters'
31 | type = 'movieList'
32 | } else {
33 | from = 'comingsoon'
34 | type = 'coming'
35 | }
36 |
37 | let result = this.$store.state[from].data
38 |
39 | this.movieList = result[type]
40 |
41 | this.$nextTick(() => {
42 | bScroll.refresh()
43 | bScroll.finishPullUp()
44 | this.page++
45 | })
46 | }
47 | },
48 |
49 | handleReceiveScroll(bScroll) {
50 | this.bScroll = bScroll
51 | }
52 | },
53 | }
54 |
55 | export default movieMixin
--------------------------------------------------------------------------------
/src/mock/city.json:
--------------------------------------------------------------------------------
1 | {"cts":[{"id":1,"nm":"北京","py":"beijing"},{"id":10,"nm":"上海","py":"shanghai"},{"id":20,"nm":"广州","py":"guangzhou"},{"id":30,"nm":"深圳","py":"shenzhen"},{"id":42,"nm":"西安","py":"xian"},{"id":40,"nm":"天津","py":"tianjin"},{"id":44,"nm":"福州","py":"fuzhou"},{"id":45,"nm":"重庆","py":"chongqing"},{"id":51,"nm":"宁波","py":"ningbo"},{"id":50,"nm":"杭州","py":"hangzhou"},{"id":55,"nm":"南京","py":"nanjing"},{"id":52,"nm":"无锡","py":"wuxi"},{"id":59,"nm":"成都","py":"chengdu"},{"id":57,"nm":"武汉","py":"wuhan"},{"id":56,"nm":"合肥","py":"hefei"},{"id":62,"nm":"厦门","py":"xiamen"},{"id":60,"nm":"青岛","py":"qingdao"},{"id":70,"nm":"长沙","py":"changsha"},{"id":65,"nm":"大连","py":"dalian"},{"id":66,"nm":"沈阳","py":"shenyang"},{"id":76,"nm":"石家庄","py":"shijiazhuang"},{"id":73,"nm":"郑州","py":"zhengzhou"},{"id":84,"nm":"保定","py":"baoding"},{"id":81,"nm":"淄博","py":"zibo"},{"id":80,"nm":"苏州","py":"suzhou"},{"id":83,"nm":"南昌","py":"nanchang"},{"id":82,"nm":"南通","py":"nantong"},{"id":93,"nm":"桂林","py":"guilin"},{"id":92,"nm":"佛山","py":"foshan"},{"id":95,"nm":"葫芦岛","py":"huludao"},{"id":94,"nm":"海口","py":"haikou"},{"id":89,"nm":"常州","py":"changzhou"},{"id":88,"nm":"蚌埠","py":"bengbu"},{"id":91,"nm":"东莞","py":"dongguan"},{"id":90,"nm":"大庆","py":"daqing"},{"id":102,"nm":"芜湖","py":"wuhu"},{"id":103,"nm":"新乡","py":"xinxiang"},{"id":101,"nm":"太原","py":"taiyuan"},{"id":98,"nm":"锦州","py":"jinzhou"},{"id":99,"nm":"南宁","py":"nanning"},{"id":96,"nm":"济南","py":"jinan"},{"id":97,"nm":"焦作","py":"jiaozuo"},{"id":110,"nm":"泉州","py":"quanzhou"},{"id":111,"nm":"三亚","py":"sanya"},{"id":108,"nm":"珠海","py":"zhuhai"},{"id":109,"nm":"齐齐哈尔","py":"qiqihaer"},{"id":106,"nm":"廊坊","py":"langfang"},{"id":107,"nm":"贵阳","py":"guiyang"},{"id":104,"nm":"烟台","py":"yantai"},{"id":105,"nm":"哈尔滨","py":"haerbin"},{"id":119,"nm":"徐州","py":"xuzhou"},{"id":117,"nm":"汕头","py":"shantou"},{"id":116,"nm":"长春","py":"changchun"},{"id":115,"nm":"九江","py":"jiujiang"},{"id":114,"nm":"昆明","py":"kunming"},{"id":113,"nm":"中山","py":"zhongshan"},{"id":112,"nm":"温州","py":"wenzhou"},{"id":127,"nm":"沧州","py":"cangzhou"},{"id":126,"nm":"承德","py":"chengde"},{"id":125,"nm":"张家口","py":"zhangjiakou"},{"id":124,"nm":"邢台","py":"xingtai"},{"id":123,"nm":"邯郸","py":"handan"},{"id":122,"nm":"秦皇岛","py":"qinhuangdao"},{"id":121,"nm":"唐山","py":"tangshan"},{"id":120,"nm":"扬州","py":"yangzhou"},{"id":137,"nm":"临汾","py":"linfen"},{"id":136,"nm":"忻州","py":"xinzhou"},{"id":139,"nm":"呼和浩特","py":"huhehaote"},{"id":138,"nm":"吕梁","py":"lvliang"},{"id":141,"nm":"乌海","py":"wuhai"},{"id":140,"nm":"包头","py":"baotou"},{"id":143,"nm":"通辽","py":"tongliao"},{"id":142,"nm":"赤峰","py":"chifeng"},{"id":129,"nm":"大同","py":"datong"},{"id":128,"nm":"衡水","py":"hengshui"},{"id":131,"nm":"长治","py":"changzhi"},{"id":130,"nm":"阳泉","py":"yangquan"},{"id":133,"nm":"朔州","py":"shuozhou"},{"id":132,"nm":"晋城","py":"jincheng"},{"id":135,"nm":"运城","py":"yuncheng"},{"id":134,"nm":"晋中","py":"jinzhong"},{"id":152,"nm":"抚顺","py":"fushun"},{"id":153,"nm":"本溪","py":"benxi"},{"id":154,"nm":"丹东","py":"dandong"},{"id":155,"nm":"营口","py":"yingkou"},{"id":156,"nm":"阜新","py":"fuxin"},{"id":157,"nm":"辽阳","py":"liaoyang"},{"id":158,"nm":"盘锦","py":"panjin"},{"id":159,"nm":"铁岭","py":"tieling"},{"id":144,"nm":"鄂尔多斯","py":"eerduosi"},{"id":145,"nm":"呼伦贝尔","py":"hulunbeier"},{"id":146,"nm":"巴彦淖尔","py":"bayannaoer"},{"id":147,"nm":"乌兰察布","py":"wulanchabu"},{"id":148,"nm":"兴安盟","py":"xinganmeng"},{"id":149,"nm":"锡林郭勒","py":"xilinguolemeng"},{"id":150,"nm":"阿拉善盟","py":"alashanmeng"},{"id":151,"nm":"鞍山","py":"anshan"},{"id":171,"nm":"双鸭山","py":"shuangyashan"},{"id":170,"nm":"鹤岗","py":"hegang"},{"id":169,"nm":"鸡西","py":"jixi"},{"id":168,"nm":"延边","py":"yanbian"},{"id":175,"nm":"牡丹江","py":"mudanjiang"},{"id":174,"nm":"七台河","py":"qitaihe"},{"id":173,"nm":"佳木斯","py":"jiamusi"},{"id":172,"nm":"伊春","py":"yichunyc"},{"id":163,"nm":"辽源","py":"liaoyuan"},{"id":162,"nm":"四平","py":"siping"},{"id":161,"nm":"吉林","py":"jilin"},{"id":160,"nm":"朝阳","py":"chaoyang"},{"id":167,"nm":"白城","py":"baicheng"},{"id":166,"nm":"松原","py":"songyuan"},{"id":165,"nm":"白山","py":"baishan"},{"id":164,"nm":"通化","py":"tonghua"},{"id":186,"nm":"湖州","py":"huzhou"},{"id":187,"nm":"绍兴","py":"shaoxing"},{"id":184,"nm":"宿迁","py":"suqian"},{"id":185,"nm":"嘉兴","py":"jiaxing"},{"id":190,"nm":"舟山","py":"zhoushan"},{"id":191,"nm":"台州","py":"taizhoutz"},{"id":188,"nm":"金华","py":"jinhua"},{"id":189,"nm":"衢州","py":"quzhou"},{"id":178,"nm":"大兴安岭","py":"daxinganling"},{"id":179,"nm":"连云港","py":"lianyungang"},{"id":176,"nm":"黑河","py":"heihe"},{"id":177,"nm":"绥化","py":"suihua"},{"id":182,"nm":"镇江","py":"zhenjiang"},{"id":183,"nm":"泰州","py":"taizhou"},{"id":180,"nm":"淮安","py":"huaian"},{"id":181,"nm":"盐城","py":"yancheng"},{"id":205,"nm":"池州","py":"chizhou"},{"id":204,"nm":"亳州","py":"bozhou"},{"id":207,"nm":"莆田","py":"putian"},{"id":206,"nm":"宣城","py":"xuancheng"},{"id":201,"nm":"宿州","py":"suzhousz"},{"id":200,"nm":"阜阳","py":"fuyang"},{"id":203,"nm":"六安","py":"liuan"},{"id":202,"nm":"巢湖","py":"chaohu"},{"id":197,"nm":"安庆","py":"anqing"},{"id":196,"nm":"铜陵","py":"tongling"},{"id":199,"nm":"滁州","py":"chuzhou"},{"id":198,"nm":"黄山","py":"huangshan"},{"id":193,"nm":"淮南","py":"huainan"},{"id":192,"nm":"丽水","py":"lishui"},{"id":195,"nm":"淮北","py":"huaibei"},{"id":194,"nm":"马鞍山","py":"maanshan"},{"id":220,"nm":"抚州","py":"fuzhoufz"},{"id":221,"nm":"上饶","py":"shangrao"},{"id":222,"nm":"枣庄","py":"zaozhuang"},{"id":223,"nm":"东营","py":"dongying"},{"id":216,"nm":"鹰潭","py":"yingtan"},{"id":217,"nm":"赣州","py":"ganzhou"},{"id":218,"nm":"吉安","py":"jian"},{"id":219,"nm":"宜春","py":"yichun"},{"id":212,"nm":"宁德","py":"ningde"},{"id":213,"nm":"景德镇","py":"jingdezhen"},{"id":214,"nm":"萍乡","py":"pingxiang"},{"id":215,"nm":"新余","py":"xinyu"},{"id":208,"nm":"三明","py":"sanming"},{"id":209,"nm":"漳州","py":"zhangzhou"},{"id":210,"nm":"南平","py":"nanping"},{"id":211,"nm":"龙岩","py":"longyan"},{"id":239,"nm":"鹤壁","py":"hebi"},{"id":238,"nm":"安阳","py":"anyang"},{"id":237,"nm":"平顶山","py":"pingdingshan"},{"id":236,"nm":"洛阳","py":"luoyang"},{"id":235,"nm":"开封","py":"kaifeng"},{"id":234,"nm":"菏泽","py":"heze"},{"id":233,"nm":"滨州","py":"binzhou"},{"id":232,"nm":"聊城","py":"liaocheng"},{"id":231,"nm":"德州","py":"dezhou"},{"id":230,"nm":"临沂","py":"linyi"},{"id":229,"nm":"莱芜","py":"laiwu"},{"id":228,"nm":"日照","py":"rizhao"},{"id":227,"nm":"威海","py":"weihai"},{"id":226,"nm":"泰安","py":"taian"},{"id":225,"nm":"济宁","py":"jining"},{"id":224,"nm":"潍坊","py":"weifang"},{"id":254,"nm":"鄂州","py":"ezhou"},{"id":255,"nm":"荆门","py":"jingmen"},{"id":252,"nm":"宜昌","py":"yichang"},{"id":253,"nm":"襄阳","py":"xiangyang"},{"id":250,"nm":"黄石","py":"huangshi"},{"id":251,"nm":"十堰","py":"shiyan"},{"id":248,"nm":"驻马店","py":"zhumadian"},{"id":249,"nm":"济源","py":"jiyuan"},{"id":246,"nm":"信阳","py":"xinyang"},{"id":247,"nm":"周口","py":"zhoukou"},{"id":244,"nm":"南阳","py":"nanyang"},{"id":245,"nm":"商丘","py":"shangqiu"},{"id":242,"nm":"漯河","py":"luohe"},{"id":243,"nm":"三门峡","py":"sanmenxia"},{"id":240,"nm":"濮阳","py":"puyang"},{"id":241,"nm":"许昌","py":"xuchang"},{"id":275,"nm":"湘西","py":"xiangxi"},{"id":274,"nm":"娄底","py":"loudi"},{"id":273,"nm":"怀化","py":"huaihua"},{"id":272,"nm":"永州","py":"yongzhou"},{"id":279,"nm":"茂名","py":"maoming"},{"id":278,"nm":"湛江","py":"zhanjiang"},{"id":277,"nm":"江门","py":"jiangmen"},{"id":276,"nm":"韶关","py":"shaoguan"},{"id":283,"nm":"汕尾","py":"shanwei"},{"id":282,"nm":"梅州","py":"meizhou"},{"id":281,"nm":"惠州","py":"huizhou"},{"id":280,"nm":"肇庆","py":"zhaoqing"},{"id":287,"nm":"潮州","py":"chaozhou"},{"id":286,"nm":"清远","py":"qingyuan"},{"id":285,"nm":"阳江","py":"yangjiang"},{"id":284,"nm":"河源","py":"heyuan"},{"id":258,"nm":"黄冈","py":"huanggang"},{"id":259,"nm":"咸宁","py":"xianning"},{"id":256,"nm":"孝感","py":"xiaogan"},{"id":257,"nm":"荆州","py":"jingzhou"},{"id":263,"nm":"株洲","py":"zhuzhou"},{"id":260,"nm":"随州","py":"suizhou"},{"id":261,"nm":"恩施","py":"enshi"},{"id":266,"nm":"邵阳","py":"shaoyang"},{"id":267,"nm":"岳阳","py":"yueyang"},{"id":264,"nm":"湘潭","py":"xiangtan"},{"id":265,"nm":"衡阳","py":"hengyang"},{"id":270,"nm":"益阳","py":"yiyang"},{"id":271,"nm":"郴州","py":"chenzhou"},{"id":268,"nm":"常德","py":"changde"},{"id":269,"nm":"张家界","py":"zhangjiajie"},{"id":305,"nm":"德阳","py":"deyang"},{"id":304,"nm":"泸州","py":"luzhou"},{"id":307,"nm":"广元","py":"guangyuan"},{"id":306,"nm":"绵阳","py":"mianyang"},{"id":309,"nm":"内江","py":"neijiang"},{"id":308,"nm":"遂宁","py":"suining"},{"id":311,"nm":"南充","py":"nanchong"},{"id":310,"nm":"乐山","py":"leshan"},{"id":313,"nm":"宜宾","py":"yibin"},{"id":312,"nm":"眉山","py":"meishan"},{"id":315,"nm":"达州","py":"dazhou"},{"id":314,"nm":"广安","py":"guangan"},{"id":317,"nm":"巴中","py":"bazhong"},{"id":316,"nm":"雅安","py":"yaan"},{"id":319,"nm":"阿坝","py":"aba"},{"id":318,"nm":"资阳","py":"ziyang"},{"id":288,"nm":"揭阳","py":"jieyang"},{"id":289,"nm":"云浮","py":"yunfu"},{"id":290,"nm":"柳州","py":"liuzhou"},{"id":291,"nm":"梧州","py":"wuzhou"},{"id":292,"nm":"北海","py":"beihai"},{"id":293,"nm":"防城港","py":"fangchenggang"},{"id":294,"nm":"钦州","py":"qinzhou"},{"id":295,"nm":"贵港","py":"guigang"},{"id":296,"nm":"玉林","py":"yulin"},{"id":297,"nm":"百色","py":"baise"},{"id":298,"nm":"贺州","py":"hezhou"},{"id":299,"nm":"河池","py":"hechi"},{"id":300,"nm":"来宾","py":"laibin"},{"id":301,"nm":"崇左","py":"chongzuo"},{"id":302,"nm":"自贡","py":"zigong"},{"id":303,"nm":"攀枝花","py":"panzhihua"},{"id":343,"nm":"怒江","py":"nujiang"},{"id":342,"nm":"德宏","py":"dehong"},{"id":341,"nm":"大理","py":"dali"},{"id":340,"nm":"西双版纳","py":"xishuangbanna"},{"id":339,"nm":"文山","py":"wenshan"},{"id":338,"nm":"红河","py":"honghe"},{"id":337,"nm":"楚雄","py":"chuxiong"},{"id":336,"nm":"临沧","py":"lincang"},{"id":351,"nm":"林芝","py":"linzhi"},{"id":348,"nm":"日喀则","py":"rikaze"},{"id":345,"nm":"拉萨","py":"lasa"},{"id":344,"nm":"迪庆","py":"diqing"},{"id":326,"nm":"黔西南","py":"qianxinan"},{"id":327,"nm":"毕节","py":"bijiediqu"},{"id":324,"nm":"安顺","py":"anshun"},{"id":325,"nm":"铜仁","py":"tongrendiqu"},{"id":322,"nm":"六盘水","py":"liupanshui"},{"id":323,"nm":"遵义","py":"zunyi"},{"id":320,"nm":"甘孜","py":"ganzi"},{"id":321,"nm":"凉山","py":"liangshan"},{"id":334,"nm":"丽江","py":"lijiang"},{"id":335,"nm":"普洱","py":"puer"},{"id":332,"nm":"保山","py":"baoshan"},{"id":333,"nm":"昭通","py":"zhaotong"},{"id":330,"nm":"曲靖","py":"qujing"},{"id":331,"nm":"玉溪","py":"yuxi"},{"id":328,"nm":"黔东南","py":"qiandongnan"},{"id":329,"nm":"黔南","py":"qiannan"},{"id":373,"nm":"甘南","py":"gannan"},{"id":372,"nm":"临夏","py":"linxia"},{"id":375,"nm":"海东","py":"haidong"},{"id":374,"nm":"西宁","py":"xining"},{"id":369,"nm":"庆阳","py":"qingyang"},{"id":368,"nm":"酒泉","py":"jiuquan"},{"id":371,"nm":"陇南","py":"longnan"},{"id":370,"nm":"定西","py":"dingxi"},{"id":381,"nm":"海西","py":"haixi"},{"id":380,"nm":"玉树","py":"yushu"},{"id":383,"nm":"石嘴山","py":"shizuishan"},{"id":382,"nm":"银川","py":"yinchuan"},{"id":377,"nm":"黄南","py":"huangnan"},{"id":378,"nm":"海南州","py":"hainanzhou"},{"id":356,"nm":"延安","py":"yanan"},{"id":357,"nm":"汉中","py":"hanzhong"},{"id":358,"nm":"榆林","py":"yulinyl"},{"id":359,"nm":"安康","py":"ankang"},{"id":352,"nm":"铜川","py":"tongchuan"},{"id":353,"nm":"宝鸡","py":"baoji"},{"id":354,"nm":"咸阳","py":"xianyang"},{"id":355,"nm":"渭南","py":"weinan"},{"id":364,"nm":"天水","py":"tianshui"},{"id":365,"nm":"武威","py":"wuwei"},{"id":366,"nm":"张掖","py":"zhangye"},{"id":367,"nm":"平凉","py":"pingliang"},{"id":360,"nm":"商洛","py":"shangluo"},{"id":361,"nm":"兰州","py":"lanzhou"},{"id":362,"nm":"金昌","py":"jinchang"},{"id":363,"nm":"白银","py":"baiyin"},{"id":408,"nm":"石河子","py":"shihezi"},{"id":409,"nm":"嘉峪关","py":"jiayuguan"},{"id":412,"nm":"仙桃","py":"xiantao"},{"id":403,"nm":"昆山","py":"kunshan"},{"id":400,"nm":"阿勒泰","py":"aletai"},{"id":406,"nm":"顺德","py":"shunde"},{"id":404,"nm":"江阴","py":"jiangyin"},{"id":405,"nm":"义乌","py":"yiwu"},{"id":394,"nm":"阿克苏","py":"akesu"},{"id":393,"nm":"巴州","py":"bazhou"},{"id":392,"nm":"博尔塔拉","py":"boertala"},{"id":399,"nm":"塔城","py":"tacheng"},{"id":398,"nm":"伊犁","py":"yili"},{"id":397,"nm":"和田","py":"hetian"},{"id":396,"nm":"喀什地区","py":"kashi"},{"id":387,"nm":"乌鲁木齐","py":"wulumuqi"},{"id":386,"nm":"中卫","py":"zhongwei"},{"id":385,"nm":"固原","py":"guyuan"},{"id":384,"nm":"吴忠","py":"wuzhong"},{"id":391,"nm":"昌吉","py":"changji"},{"id":390,"nm":"哈密","py":"hami"},{"id":389,"nm":"吐鲁番","py":"tulufan"},{"id":388,"nm":"克拉玛依","py":"kelamayi"},{"id":440,"nm":"石狮","py":"shishi"},{"id":443,"nm":"武夷山","py":"wuyishan"},{"id":432,"nm":"太仓","py":"taicang"},{"id":433,"nm":"吴江","py":"wujiang"},{"id":434,"nm":"敦煌","py":"dunhuang"},{"id":439,"nm":"靖江","py":"jingjiang"},{"id":425,"nm":"桐乡","py":"tongxiang"},{"id":424,"nm":"海宁","py":"haining"},{"id":427,"nm":"涪陵","py":"fuling"},{"id":426,"nm":"涿州","py":"zhuozhou"},{"id":428,"nm":"万州","py":"wanzhou"},{"id":431,"nm":"丹阳","py":"danyang"},{"id":430,"nm":"迁安","py":"qianan"},{"id":417,"nm":"峨眉山","py":"emeishan"},{"id":416,"nm":"富阳","py":"fuyangfy"},{"id":419,"nm":"张家港","py":"zhangjiagang"},{"id":418,"nm":"琼海","py":"qionghai"},{"id":421,"nm":"从化","py":"conghua"},{"id":420,"nm":"晋江市","py":"jinjiangshi"},{"id":422,"nm":"常熟","py":"changshu"},{"id":478,"nm":"东台","py":"dongtai"},{"id":479,"nm":"婺源","py":"wuyuan"},{"id":476,"nm":"兰溪","py":"lanxi"},{"id":477,"nm":"大丰","py":"dafeng"},{"id":475,"nm":"仁怀","py":"renhuai"},{"id":472,"nm":"惠阳","py":"huiyang"},{"id":473,"nm":"凯里","py":"kaili"},{"id":470,"nm":"乐清","py":"yueqing"},{"id":471,"nm":"惠东","py":"huidong"},{"id":468,"nm":"诸暨","py":"zhuji"},{"id":469,"nm":"瑞安","py":"ruian"},{"id":466,"nm":"阳朔","py":"yangshuo"},{"id":467,"nm":"德清","py":"deqing"},{"id":465,"nm":"章丘区","py":"zhangqiuqu"},{"id":463,"nm":"长乐","py":"changle"},{"id":462,"nm":"福清","py":"fuqing"},{"id":461,"nm":"临海","py":"linhai"},{"id":460,"nm":"金坛","py":"jintan"},{"id":459,"nm":"余姚","py":"yuyao"},{"id":458,"nm":"永康","py":"yongkang"},{"id":457,"nm":"温岭","py":"wenling"},{"id":456,"nm":"上虞","py":"shangyu"},{"id":455,"nm":"东阳","py":"dongyang"},{"id":454,"nm":"宜兴","py":"yixing"},{"id":453,"nm":"兖州","py":"yanzhou"},{"id":452,"nm":"长兴","py":"changxing"},{"id":451,"nm":"慈溪","py":"cixi"},{"id":450,"nm":"溧阳","py":"liyang"},{"id":449,"nm":"武安","py":"wuan"},{"id":508,"nm":"邹平","py":"zouping"},{"id":509,"nm":"耒阳","py":"leiyang"},{"id":510,"nm":"江山","py":"jiangshan"},{"id":504,"nm":"鹤山","py":"heshan"},{"id":505,"nm":"桦甸","py":"huadian"},{"id":506,"nm":"海城","py":"haicheng"},{"id":507,"nm":"曲阜","py":"qufu"},{"id":500,"nm":"启东","py":"qidong"},{"id":501,"nm":"如皋","py":"rugao"},{"id":502,"nm":"开平","py":"kaiping"},{"id":503,"nm":"台山","py":"taishan"},{"id":496,"nm":"青州","py":"qingzhou"},{"id":497,"nm":"荣成","py":"rongcheng"},{"id":498,"nm":"文登","py":"wendeng"},{"id":499,"nm":"乳山","py":"rushan"},{"id":493,"nm":"邳州","py":"pizhou"},{"id":492,"nm":"龙口","py":"longkou"},{"id":495,"nm":"寿光","py":"shouguang"},{"id":494,"nm":"枣阳","py":"zaoyang"},{"id":489,"nm":"嘉善","py":"jiashan"},{"id":491,"nm":"当阳","py":"dangyang"},{"id":490,"nm":"安吉","py":"anji"},{"id":485,"nm":"井冈山","py":"jinggangshan"},{"id":484,"nm":"香格里拉","py":"xianggelila"},{"id":487,"nm":"神农架","py":"shennongjia"},{"id":486,"nm":"武当山","py":"wudangshan"},{"id":480,"nm":"凤凰","py":"fenghuang"},{"id":482,"nm":"腾冲","py":"tengchong"},{"id":550,"nm":"潜江","py":"qianjiang"},{"id":551,"nm":"乌镇","py":"wuzhen"},{"id":548,"nm":"新沂","py":"xinyi"},{"id":549,"nm":"滕州","py":"tengzhou"},{"id":546,"nm":"普宁","py":"puning"},{"id":547,"nm":"南沙","py":"nansha"},{"id":544,"nm":"晋州","py":"jinzhoushi"},{"id":545,"nm":"肥城","py":"feicheng"},{"id":558,"nm":"庄河","py":"zhuanghe"},{"id":559,"nm":"扬中","py":"yangzhong"},{"id":556,"nm":"新密","py":"xinmi"},{"id":557,"nm":"荥阳","py":"xingyang"},{"id":554,"nm":"桐庐","py":"tonglu"},{"id":555,"nm":"新郑","py":"xinzheng"},{"id":552,"nm":"登封","py":"dengfeng"},{"id":553,"nm":"巩义","py":"gongyishi"},{"id":567,"nm":"陆丰","py":"lufeng"},{"id":566,"nm":"密山","py":"mishan"},{"id":564,"nm":"华阴","py":"huayin"},{"id":563,"nm":"漠河","py":"mohe"},{"id":562,"nm":"兴宁","py":"xingning"},{"id":561,"nm":"莱阳","py":"laiyang"},{"id":560,"nm":"西塘","py":"xitang"},{"id":575,"nm":"霸州","py":"hbbazhou"},{"id":574,"nm":"新民","py":"xinmin"},{"id":573,"nm":"海阳","py":"haiyang"},{"id":572,"nm":"满洲里","py":"manzhouli"},{"id":571,"nm":"儋州","py":"danzhou"},{"id":570,"nm":"桂平","py":"guiping"},{"id":569,"nm":"韶山","py":"shaoshan"},{"id":568,"nm":"额尔古纳","py":"eerguna"},{"id":516,"nm":"伊川","py":"yichuan"},{"id":517,"nm":"兴化","py":"xinghua"},{"id":518,"nm":"泰兴","py":"taixing"},{"id":519,"nm":"海门","py":"haimen"},{"id":512,"nm":"宁海","py":"ninghai"},{"id":513,"nm":"乐昌","py":"lechang"},{"id":514,"nm":"英德","py":"yingde"},{"id":515,"nm":"句容","py":"jurong"},{"id":524,"nm":"平湖","py":"pinghu"},{"id":525,"nm":"湘阴","py":"xiangyin"},{"id":526,"nm":"诸城","py":"zhucheng"},{"id":527,"nm":"昌邑","py":"changyi"},{"id":520,"nm":"宁乡","py":"ningxiang"},{"id":521,"nm":"高邮","py":"gaoyou"},{"id":522,"nm":"仪征","py":"yizheng"},{"id":523,"nm":"新泰","py":"xintai"},{"id":533,"nm":"滨海","py":"binhai"},{"id":532,"nm":"射阳","py":"sheyang"},{"id":535,"nm":"阜宁","py":"funing"},{"id":534,"nm":"响水","py":"xiangshui"},{"id":529,"nm":"莱州","py":"laizhou"},{"id":528,"nm":"偃师","py":"yanshi"},{"id":531,"nm":"沭阳","py":"shuyang"},{"id":530,"nm":"嵊州","py":"shengzhou"},{"id":541,"nm":"广饶","py":"guangrao"},{"id":540,"nm":"奉化","py":"fenghua"},{"id":543,"nm":"辛集","py":"xinji"},{"id":542,"nm":"临安","py":"linan"},{"id":537,"nm":"临清","py":"linqing"},{"id":536,"nm":"建湖","py":"jianhu"},{"id":539,"nm":"东港","py":"donggang"},{"id":538,"nm":"三河","py":"sanhe"},{"id":610,"nm":"明光","py":"mingguang"},{"id":611,"nm":"乐陵","py":"laoling"},{"id":608,"nm":"禹城","py":"yucheng"},{"id":609,"nm":"禹州","py":"yuzhou"},{"id":614,"nm":"湘乡","py":"xiangxiang"},{"id":612,"nm":"钟祥","py":"zhongxiang"},{"id":613,"nm":"沙河","py":"shahe"},{"id":618,"nm":"龙海","py":"longhai"},{"id":619,"nm":"醴陵","py":"liling"},{"id":616,"nm":"汝州","py":"ruzhou"},{"id":617,"nm":"浏阳","py":"liuyang"},{"id":622,"nm":"伊宁","py":"yining"},{"id":623,"nm":"海安","py":"haian"},{"id":620,"nm":"莱西","py":"laixi"},{"id":621,"nm":"南安","py":"nanan"},{"id":627,"nm":"长葛","py":"changge"},{"id":626,"nm":"天长","py":"tianchang"},{"id":625,"nm":"宜城","py":"yicheng"},{"id":624,"nm":"苍南","py":"cangnan"},{"id":631,"nm":"高州","py":"gaozhou"},{"id":630,"nm":"个旧","py":"gejiu"},{"id":629,"nm":"高碑店","py":"gaobeidian"},{"id":628,"nm":"廉江","py":"lianjiang"},{"id":635,"nm":"东兴","py":"dongxing"},{"id":634,"nm":"阆中","py":"langzhong"},{"id":633,"nm":"四会","py":"sihui"},{"id":632,"nm":"乐平","py":"leping"},{"id":639,"nm":"瑞金","py":"ruijin"},{"id":638,"nm":"盖州","py":"gaizhou"},{"id":637,"nm":"原平","py":"yuanping"},{"id":636,"nm":"介休","py":"jiexiu"},{"id":576,"nm":"都江堰","py":"dujiangyan"},{"id":577,"nm":"永城","py":"yongcheng"},{"id":578,"nm":"天门","py":"tianmen"},{"id":579,"nm":"侯马","py":"houma"},{"id":580,"nm":"项城","py":"xiangcheng"},{"id":581,"nm":"公主岭","py":"gongzhuling"},{"id":582,"nm":"平度","py":"pingdu"},{"id":583,"nm":"胶州","py":"jiaozhou"},{"id":584,"nm":"梅河口","py":"meihekou"},{"id":585,"nm":"彭州","py":"pengzhou"},{"id":586,"nm":"招远","py":"zhaoyuan"},{"id":587,"nm":"蓬莱","py":"penglai"},{"id":588,"nm":"安丘","py":"anqiu"},{"id":589,"nm":"高密","py":"gaomi"},{"id":590,"nm":"汨罗","py":"miluo"},{"id":591,"nm":"遵化","py":"zunhua"},{"id":593,"nm":"广汉","py":"guanghan"},{"id":592,"nm":"吴川","py":"wuchuan"},{"id":595,"nm":"藁城","py":"gaocheng"},{"id":594,"nm":"建德","py":"jiande"},{"id":597,"nm":"永济","py":"yongji"},{"id":596,"nm":"灵宝","py":"lingbao"},{"id":599,"nm":"大石桥","py":"dashiqiao"},{"id":598,"nm":"河津","py":"hejin"},{"id":601,"nm":"高平","py":"gaoping"},{"id":600,"nm":"大冶","py":"daye"},{"id":603,"nm":"库尔勒","py":"kuerle"},{"id":602,"nm":"宝应","py":"baoying"},{"id":605,"nm":"简阳","py":"jianyang"},{"id":604,"nm":"孝义","py":"xiaoyi"},{"id":607,"nm":"文昌","py":"wenchang"},{"id":606,"nm":"冷水江","py":"lengshuijiang"},{"id":687,"nm":"南雄","py":"nanxiong"},{"id":686,"nm":"东方","py":"dongfang"},{"id":685,"nm":"海林","py":"hailin"},{"id":684,"nm":"舞钢","py":"wugang"},{"id":683,"nm":"连州","py":"lianzhou"},{"id":682,"nm":"讷河","py":"nehe"},{"id":681,"nm":"北流","py":"beiliu"},{"id":680,"nm":"万宁","py":"wanning"},{"id":679,"nm":"大通","py":"datongshi"},{"id":678,"nm":"集安","py":"jianshi"},{"id":677,"nm":"汾阳","py":"fenyang"},{"id":675,"nm":"灵山","py":"lingshan"},{"id":674,"nm":"滦南","py":"luannan"},{"id":673,"nm":"桐城","py":"tongcheng"},{"id":672,"nm":"化州","py":"huazhou"},{"id":702,"nm":"格尔木","py":"geermu"},{"id":700,"nm":"承德县","py":"chengdexian"},{"id":701,"nm":"鄱阳","py":"poyang"},{"id":698,"nm":"博爱","py":"boai"},{"id":699,"nm":"安岳","py":"anyue"},{"id":696,"nm":"温县","py":"wenxian"},{"id":697,"nm":"武陟","py":"wuzhi"},{"id":694,"nm":"孟州","py":"mengzhou"},{"id":695,"nm":"修武","py":"xiuwu"},{"id":692,"nm":"象山","py":"xiangshan"},{"id":693,"nm":"玉环市","py":"yuhuanshi"},{"id":690,"nm":"临江","py":"linjiang"},{"id":691,"nm":"古交","py":"gujiao"},{"id":688,"nm":"陵水","py":"lingshui"},{"id":689,"nm":"阜康","py":"fukang"},{"id":653,"nm":"赤壁","py":"chibi"},{"id":652,"nm":"鹿泉","py":"luquan"},{"id":655,"nm":"利川","py":"lichuan"},{"id":654,"nm":"枝江","py":"zhijiang"},{"id":648,"nm":"松滋","py":"songzi"},{"id":651,"nm":"灯塔","py":"dengta"},{"id":650,"nm":"黄骅","py":"huanghua"},{"id":645,"nm":"霍州","py":"huozhou"},{"id":644,"nm":"沁阳","py":"qinyang"},{"id":647,"nm":"邛崃","py":"qionglai"},{"id":646,"nm":"崇州","py":"chongzhou"},{"id":641,"nm":"兴城","py":"xingcheng"},{"id":643,"nm":"奎屯","py":"kuitun"},{"id":642,"nm":"调兵山","py":"diaobingshan"},{"id":668,"nm":"麻城","py":"macheng"},{"id":669,"nm":"舒兰","py":"shulan"},{"id":670,"nm":"凌海","py":"linghai"},{"id":671,"nm":"樟树","py":"zhangshu"},{"id":664,"nm":"即墨","py":"jimo"},{"id":665,"nm":"凤城","py":"fengcheng"},{"id":666,"nm":"洮南","py":"taonan"},{"id":667,"nm":"武穴","py":"wuxue"},{"id":660,"nm":"淳安","py":"chunan"},{"id":662,"nm":"邓州","py":"dengzhou"},{"id":663,"nm":"漳浦","py":"zhangpu"},{"id":656,"nm":"宜都","py":"yidu"},{"id":657,"nm":"瑞昌","py":"ruichang"},{"id":658,"nm":"沅江","py":"yuanjiang"},{"id":659,"nm":"老河口","py":"laohekou"},{"id":747,"nm":"乌苏","py":"wusu"},{"id":746,"nm":"曹妃甸","py":"caofeidian"},{"id":745,"nm":"滦州市","py":"luanzhoushi"},{"id":744,"nm":"乐亭","py":"laoting"},{"id":751,"nm":"灌云","py":"guanyun"},{"id":750,"nm":"电白","py":"dianbai"},{"id":749,"nm":"仁寿","py":"renshou"},{"id":748,"nm":"开州区","py":"kaizhouqu"},{"id":739,"nm":"临朐","py":"linqu"},{"id":738,"nm":"东平","py":"dongping"},{"id":737,"nm":"昌乐","py":"changlecl"},{"id":736,"nm":"邵东","py":"shaodong"},{"id":743,"nm":"台前","py":"taiqian"},{"id":742,"nm":"范县","py":"fanxian"},{"id":741,"nm":"南乐","py":"nanle"},{"id":740,"nm":"清丰","py":"qingfeng"},{"id":762,"nm":"沙湾","py":"shawan"},{"id":763,"nm":"永年","py":"yongnian"},{"id":760,"nm":"泗阳","py":"siyang"},{"id":761,"nm":"磐石","py":"panshi"},{"id":766,"nm":"栾城","py":"luancheng"},{"id":767,"nm":"磁县","py":"cixian"},{"id":764,"nm":"仙居","py":"xianju"},{"id":765,"nm":"定州","py":"dingzhou"},{"id":754,"nm":"东海","py":"donghai"},{"id":755,"nm":"睢县","py":"suixian"},{"id":752,"nm":"灌南","py":"guannan"},{"id":753,"nm":"赣榆","py":"ganyu"},{"id":758,"nm":"淮阳","py":"huaiyang"},{"id":759,"nm":"太和","py":"taihe"},{"id":756,"nm":"建阳","py":"jianyangjy"},{"id":757,"nm":"正定","py":"zhengding"},{"id":728,"nm":"夏津","py":"xiajin"},{"id":729,"nm":"信宜","py":"xinyixy"},{"id":730,"nm":"浦江","py":"pujiang"},{"id":731,"nm":"北碚","py":"beipei"},{"id":732,"nm":"合川","py":"hechuan"},{"id":733,"nm":"永川","py":"yongchuan"},{"id":734,"nm":"新化","py":"xinhua"},{"id":735,"nm":"丰城","py":"fch"},{"id":724,"nm":"连江","py":"lianjiangxian"},{"id":725,"nm":"蛟河","py":"jiaohe"},{"id":726,"nm":"海盐","py":"haiyan"},{"id":727,"nm":"齐河","py":"qihe"},{"id":821,"nm":"中牟","py":"zhongmou"},{"id":820,"nm":"宁津","py":"ningjinnj"},{"id":823,"nm":"隆昌市","py":"longchangshi"},{"id":822,"nm":"阎良","py":"yanliang"},{"id":817,"nm":"汤阴","py":"tangyin"},{"id":816,"nm":"滑县","py":"huaxian"},{"id":819,"nm":"石泉","py":"shiquan"},{"id":818,"nm":"新安","py":"xinan"},{"id":829,"nm":"原阳","py":"yuanyang"},{"id":828,"nm":"新乡县","py":"xinxiangxian"},{"id":831,"nm":"监利","py":"jianli"},{"id":830,"nm":"单县","py":"shanxian"},{"id":825,"nm":"惠安","py":"huian"},{"id":824,"nm":"泗洪","py":"sihong"},{"id":827,"nm":"封丘","py":"fengqiu"},{"id":826,"nm":"卫辉","py":"weihui"},{"id":804,"nm":"上高","py":"shanggao"},{"id":805,"nm":"平潭","py":"pingtan"},{"id":806,"nm":"怀仁市","py":"huairenxian"},{"id":807,"nm":"安平","py":"anping"},{"id":800,"nm":"辉县","py":"huixian"},{"id":801,"nm":"昌黎","py":"changli"},{"id":802,"nm":"宣威","py":"xuanwei"},{"id":803,"nm":"易县","py":"yixian"},{"id":812,"nm":"藤县","py":"tengxian"},{"id":813,"nm":"宁晋","py":"ningjin"},{"id":814,"nm":"宜阳","py":"yiyangyy"},{"id":815,"nm":"林州","py":"linzhou"},{"id":808,"nm":"临潼","py":"lintong"},{"id":809,"nm":"蓝田","py":"lantian"},{"id":810,"nm":"霞浦","py":"xiapu"},{"id":811,"nm":"岑溪","py":"cenxi"},{"id":791,"nm":"临漳","py":"linzhang"},{"id":790,"nm":"太谷","py":"taigu"},{"id":789,"nm":"灵石","py":"lingshi"},{"id":788,"nm":"金堂","py":"jintang"},{"id":787,"nm":"共青城","py":"gongqingcheng"},{"id":786,"nm":"鲁山","py":"lushanls"},{"id":785,"nm":"郏县","py":"jiaxian"},{"id":784,"nm":"叶县","py":"yexian"},{"id":799,"nm":"户县","py":"huxian"},{"id":798,"nm":"成安","py":"chengan"},{"id":797,"nm":"绥中","py":"suizhong"},{"id":796,"nm":"神木市","py":"shenmushi"},{"id":795,"nm":"长垣","py":"changyuan"},{"id":794,"nm":"和县","py":"hexian"},{"id":793,"nm":"含山","py":"hanshan"},{"id":792,"nm":"肥乡区","py":"feixiangqu"},{"id":774,"nm":"繁昌","py":"fanchang"},{"id":775,"nm":"南陵","py":"nanling"},{"id":772,"nm":"汉阴","py":"hanyin"},{"id":773,"nm":"芜湖县","py":"wuhuxian"},{"id":770,"nm":"阳城","py":"yangcheng"},{"id":771,"nm":"高安","py":"gaoan"},{"id":768,"nm":"涉县","py":"shexian"},{"id":769,"nm":"无为","py":"wuweiww"},{"id":782,"nm":"天台","py":"tiantai"},{"id":783,"nm":"宝丰","py":"baofeng"},{"id":780,"nm":"广德","py":"guangde"},{"id":781,"nm":"宁国","py":"ningguo"},{"id":778,"nm":"云阳","py":"yunyang"},{"id":779,"nm":"宁阳","py":"ningyang"},{"id":776,"nm":"襄垣","py":"xiangyuan"},{"id":777,"nm":"平原","py":"pingyuan"},{"id":881,"nm":"河口","py":"hekou"},{"id":880,"nm":"垦利","py":"kenli"},{"id":883,"nm":"曹县","py":"caoxian"},{"id":882,"nm":"巨野","py":"juye"},{"id":885,"nm":"西平","py":"xiping"},{"id":884,"nm":"郓城","py":"yunchengxian"},{"id":887,"nm":"泌阳","py":"biyang"},{"id":886,"nm":"上蔡","py":"shangcai"},{"id":889,"nm":"临猗","py":"linyixian"},{"id":888,"nm":"富顺","py":"fushunxian"},{"id":891,"nm":"准格尔旗","py":"zhungeerqi"},{"id":893,"nm":"平山","py":"pingshan"},{"id":892,"nm":"新乐","py":"xinle"},{"id":895,"nm":"遂昌","py":"suichang"},{"id":894,"nm":"辉南","py":"huinan"},{"id":864,"nm":"淇县","py":"qixian"},{"id":865,"nm":"全椒","py":"quanjiao"},{"id":866,"nm":"高陵","py":"gaoling"},{"id":867,"nm":"洪洞","py":"hongtong"},{"id":868,"nm":"柳河","py":"liuhe"},{"id":869,"nm":"抚松","py":"fusong"},{"id":870,"nm":"西乡","py":"xixiang"},{"id":871,"nm":"江津","py":"jiangjin"},{"id":872,"nm":"渑池","py":"mianchi"},{"id":873,"nm":"安宁","py":"anning"},{"id":874,"nm":"达拉特旗","py":"dalateqi"},{"id":875,"nm":"睢宁","py":"suiningxian"},{"id":876,"nm":"玉山","py":"yushan"},{"id":877,"nm":"茌平","py":"chiping"},{"id":878,"nm":"阳谷","py":"yanggu"},{"id":879,"nm":"土默特右旗","py":"tumoteyouqi"},{"id":851,"nm":"横店","py":"hengdian"},{"id":850,"nm":"乌拉特前旗","py":"wltqq"},{"id":849,"nm":"濮阳县","py":"puyangxian"},{"id":848,"nm":"眉县","py":"meixian"},{"id":854,"nm":"高阳","py":"gaoyang"},{"id":853,"nm":"徐闻","py":"xuwen"},{"id":852,"nm":"博兴","py":"boxing"},{"id":859,"nm":"虞城","py":"yuchengxian"},{"id":858,"nm":"柘城","py":"zhecheng"},{"id":857,"nm":"夏邑","py":"xiayi"},{"id":856,"nm":"华亭市","py":"huatingshi"},{"id":863,"nm":"浚县","py":"xunxian"},{"id":862,"nm":"丰县","py":"fengxian"},{"id":861,"nm":"扶风","py":"fufeng"},{"id":860,"nm":"民权","py":"minquan"},{"id":834,"nm":"邹城","py":"zoucheng"},{"id":835,"nm":"郸城","py":"dancheng"},{"id":832,"nm":"韩城","py":"hancheng"},{"id":833,"nm":"沛县","py":"peixian"},{"id":838,"nm":"孟津","py":"mengjin"},{"id":839,"nm":"鹿邑","py":"luyi"},{"id":836,"nm":"大荔","py":"dalixian"},{"id":837,"nm":"蒲城","py":"pucheng"},{"id":842,"nm":"盘州市","py":"panzhoushi"},{"id":843,"nm":"盱眙","py":"xuyi"},{"id":840,"nm":"沈丘","py":"shenqiu"},{"id":841,"nm":"赵县","py":"zhaoxian"},{"id":846,"nm":"牟平","py":"muping"},{"id":847,"nm":"平江","py":"pingjiang"},{"id":844,"nm":"安溪","py":"anxi"},{"id":845,"nm":"三门","py":"sanmen"},{"id":956,"nm":"金湖","py":"jinhu"},{"id":957,"nm":"香河","py":"xianghe"},{"id":958,"nm":"于都","py":"yudu"},{"id":959,"nm":"信丰","py":"xinfeng"},{"id":952,"nm":"博山","py":"boshan"},{"id":953,"nm":"什邡","py":"shifang"},{"id":954,"nm":"长汀","py":"changting"},{"id":955,"nm":"上杭","py":"shanghang"},{"id":948,"nm":"江都","py":"jiangdu"},{"id":949,"nm":"浠水","py":"xishui"},{"id":950,"nm":"平邑","py":"pingyi"},{"id":951,"nm":"临沭","py":"linshu"},{"id":944,"nm":"蒙阴","py":"mengyin"},{"id":945,"nm":"大洼","py":"dawa"},{"id":946,"nm":"璧山","py":"bishan"},{"id":947,"nm":"铜梁","py":"tongliang"},{"id":941,"nm":"莒南","py":"junan"},{"id":940,"nm":"沂水","py":"yishui"},{"id":943,"nm":"沂南","py":"yinan"},{"id":942,"nm":"郯城","py":"tancheng"},{"id":937,"nm":"扶沟","py":"fugou"},{"id":936,"nm":"西华","py":"xihua"},{"id":939,"nm":"兰陵","py":"lanling"},{"id":938,"nm":"龙游","py":"longyou"},{"id":935,"nm":"栾川","py":"luanchuan"},{"id":934,"nm":"雷州","py":"leizhou"},{"id":929,"nm":"清河","py":"qinghe"},{"id":928,"nm":"洪湖","py":"honghu"},{"id":931,"nm":"内丘","py":"neiqiu"},{"id":930,"nm":"隆尧","py":"longyao"},{"id":926,"nm":"围场","py":"weichang"},{"id":927,"nm":"江油","py":"jiangyou"},{"id":924,"nm":"丰宁","py":"fengning"},{"id":925,"nm":"宽城","py":"kuancheng"},{"id":922,"nm":"青田","py":"qingtian"},{"id":920,"nm":"薛城","py":"xuecheng"},{"id":921,"nm":"佛冈","py":"fogang"},{"id":918,"nm":"京山市","py":"jingshanshi"},{"id":919,"nm":"陵川","py":"lingchuan"},{"id":916,"nm":"费县","py":"feixian"},{"id":917,"nm":"任丘","py":"renqiu"},{"id":914,"nm":"栖霞","py":"qixia"},{"id":915,"nm":"彬州市","py":"binzhoushi"},{"id":912,"nm":"龙泉","py":"longquan"},{"id":913,"nm":"缙云","py":"jinyun"},{"id":911,"nm":"公安","py":"gongan"},{"id":910,"nm":"大竹","py":"dazhu"},{"id":909,"nm":"城固","py":"chenggu"},{"id":908,"nm":"杨陵","py":"yangling"},{"id":907,"nm":"石岛","py":"shidao"},{"id":906,"nm":"绵竹","py":"mianzhu"},{"id":905,"nm":"临邑","py":"linyily"},{"id":904,"nm":"武城","py":"wucheng"},{"id":903,"nm":"新昌","py":"xinchang"},{"id":902,"nm":"利津","py":"lijin"},{"id":901,"nm":"伊金霍洛旗","py":"yijinhuoluoqi"},{"id":900,"nm":"金乡","py":"jinxiang"},{"id":899,"nm":"嘉祥","py":"jiaxiang"},{"id":898,"nm":"汶上","py":"wenshang"},{"id":897,"nm":"微山","py":"weishan"},{"id":896,"nm":"梁山","py":"liangshanxian"},{"id":1017,"nm":"泗水","py":"sishui"},{"id":1018,"nm":"赤水","py":"chishui"},{"id":1019,"nm":"无极","py":"wuji"},{"id":1020,"nm":"青县","py":"qingxian"},{"id":1021,"nm":"淅川","py":"xichuan"},{"id":1022,"nm":"社旗","py":"sheqi"},{"id":1023,"nm":"万荣","py":"wanrong"},{"id":1008,"nm":"安化","py":"anhua"},{"id":1009,"nm":"桃源","py":"taoyuanxian"},{"id":1010,"nm":"澧县","py":"lixian"},{"id":1011,"nm":"辽中","py":"liaozhong"},{"id":1013,"nm":"南和","py":"nanhe"},{"id":1014,"nm":"舞阳","py":"wuyang"},{"id":1015,"nm":"商河","py":"shanghe"},{"id":1001,"nm":"金沙","py":"jinsha"},{"id":1003,"nm":"泾县","py":"jingxian"},{"id":1002,"nm":"开阳","py":"kaiyang"},{"id":1005,"nm":"怀宁","py":"huaining"},{"id":1004,"nm":"潜山市","py":"qianshanshi"},{"id":1007,"nm":"织金","py":"zhijin"},{"id":1006,"nm":"威宁","py":"weining"},{"id":993,"nm":"常山","py":"changshan"},{"id":992,"nm":"射洪","py":"shehong"},{"id":995,"nm":"武鸣","py":"wuming"},{"id":994,"nm":"宾阳","py":"binyang"},{"id":997,"nm":"芷江","py":"zhijiangtongzu"},{"id":996,"nm":"溆浦","py":"xupu"},{"id":999,"nm":"东光","py":"dongguang"},{"id":998,"nm":"庆云","py":"qingyun"},{"id":987,"nm":"平遥","py":"pingyao"},{"id":985,"nm":"周至","py":"zhouzhi"},{"id":990,"nm":"开化","py":"kaihua"},{"id":991,"nm":"平果","py":"pingguo"},{"id":988,"nm":"如东","py":"rudong"},{"id":989,"nm":"恩平","py":"enping"},{"id":978,"nm":"敦化","py":"dunhua"},{"id":979,"nm":"内黄","py":"neihuang"},{"id":976,"nm":"涟水","py":"lianshui"},{"id":977,"nm":"珲春","py":"hunchun"},{"id":982,"nm":"舒城","py":"shucheng"},{"id":980,"nm":"凤台","py":"fengtai"},{"id":981,"nm":"长寿","py":"changshou"},{"id":971,"nm":"大邑","py":"dayi"},{"id":970,"nm":"潮安","py":"chaoan"},{"id":975,"nm":"霍邱","py":"huoqiu"},{"id":974,"nm":"砀山","py":"dangshan"},{"id":973,"nm":"武义","py":"wuyi"},{"id":972,"nm":"平阳","py":"pingyang"},{"id":963,"nm":"集美","py":"jimei"},{"id":962,"nm":"同安","py":"tongan"},{"id":961,"nm":"新蔡","py":"xincai"},{"id":960,"nm":"平舆","py":"pingyu"},{"id":967,"nm":"瓦房店","py":"wafangdian"},{"id":966,"nm":"汝阳","py":"ruyang"},{"id":965,"nm":"嵩县","py":"songxian"},{"id":964,"nm":"海沧","py":"haicang"},{"id":1100,"nm":"长丰县","py":"changfengxian"},{"id":1101,"nm":"容县","py":"rongxian"},{"id":1102,"nm":"博白县","py":"bobaixian"},{"id":1103,"nm":"潢川县","py":"huangchuanxian"},{"id":1096,"nm":"攸县","py":"youxian"},{"id":1097,"nm":"茶陵","py":"chalingxian"},{"id":1098,"nm":"博罗县","py":"boluoxian"},{"id":1099,"nm":"永顺县","py":"yongshunxian"},{"id":1092,"nm":"常宁市","py":"changningshi"},{"id":1093,"nm":"资兴市","py":"zixingshi"},{"id":1094,"nm":"永兴县","py":"yongxingxian"},{"id":1095,"nm":"汝城县","py":"ruchengxian"},{"id":1088,"nm":"衡阳县","py":"hengyangxian"},{"id":1089,"nm":"祁东县","py":"qidongxian"},{"id":1090,"nm":"衡山县","py":"hengshanxian"},{"id":1091,"nm":"衡东县","py":"hengdongxian"},{"id":1116,"nm":"蒙自市","py":"mengzishi"},{"id":1119,"nm":"临澧","py":"linli"},{"id":1118,"nm":"石门","py":"shimen"},{"id":1113,"nm":"桑植","py":"sangzhi"},{"id":1112,"nm":"宁陵","py":"ninglingxian"},{"id":1115,"nm":"杞县","py":"qixiankaifeng"},{"id":1114,"nm":"荣昌区","py":"rongchangqu"},{"id":1109,"nm":"尉氏县","py":"weishixian"},{"id":1108,"nm":"商城县","py":"shangchengxian"},{"id":1111,"nm":"通许县","py":"tongxuxian"},{"id":1110,"nm":"兰考县","py":"lankaoxian"},{"id":1105,"nm":"贺兰县","py":"helanxian"},{"id":1104,"nm":"固始县","py":"gushixian"},{"id":1107,"nm":"庆安县","py":"qinganxian"},{"id":1106,"nm":"平罗县","py":"pingluoxian"},{"id":1134,"nm":"鄄城县","py":"juanchengxian"},{"id":1135,"nm":"通榆县","py":"tongyuxian"},{"id":1132,"nm":"通海县","py":"tonghaixian"},{"id":1133,"nm":"灵丘县","py":"lingqiuxian"},{"id":1130,"nm":"海伦市","py":"hailunshi"},{"id":1131,"nm":"青冈县","py":"qinggangxian"},{"id":1128,"nm":"武隆县","py":"wulongxian"},{"id":1129,"nm":"秀山土家族苗族自治县","py":"xiushantujiazumiaozuzizh"},{"id":1126,"nm":"阿勒泰市","py":"aletaishi"},{"id":1127,"nm":"酉阳土家族苗族自治县","py":"youyangtujiazumiaozuzizh"},{"id":1124,"nm":"汉南区","py":"hannanqu"},{"id":1125,"nm":"南郑区","py":"nanzhengxian"},{"id":1122,"nm":"蒙城","py":"mengcheng"},{"id":1123,"nm":"新洲区","py":"xinzhouqu"},{"id":1120,"nm":"鄯善县","py":"shanshanxian"},{"id":1121,"nm":"利辛","py":"lixin"},{"id":1151,"nm":"应县","py":"yingxian"},{"id":1150,"nm":"苍溪县","py":"cangxixian"},{"id":1149,"nm":"仙游县","py":"xianyouxian"},{"id":1147,"nm":"洛川县","py":"luochuanxian"},{"id":1146,"nm":"靖边","py":"jingbian"},{"id":1145,"nm":"合江县","py":"hejiangxian"},{"id":1144,"nm":"泸县","py":"luxian"},{"id":1143,"nm":"溧水区","py":"lishuiqu"},{"id":1142,"nm":"肥西县","py":"feixixian"},{"id":1141,"nm":"北镇市","py":"beizhenshi"},{"id":1140,"nm":"扎兰屯市","py":"zhalantunshi"},{"id":1139,"nm":"岐山县","py":"qishanxian"},{"id":1138,"nm":"禄丰县","py":"lufengxian"},{"id":1137,"nm":"新野","py":"xinye"},{"id":1136,"nm":"唐河","py":"tanghe"},{"id":1032,"nm":"江川县","py":"jiangchuanxian"},{"id":1033,"nm":"兴国县","py":"xingguoxian"},{"id":1034,"nm":"罗平县","py":"luopingxian"},{"id":1035,"nm":"道县","py":"daoxian"},{"id":1036,"nm":"新田","py":"xintian"},{"id":1037,"nm":"涟源市","py":"lianyuanshi"},{"id":1038,"nm":"江华瑶族自治县","py":"jianghuayaozuzizhixian"},{"id":1039,"nm":"深州市","py":"shenzhoushi"},{"id":1024,"nm":"泗县","py":"sixian"},{"id":1025,"nm":"万载","py":"wanzai"},{"id":1026,"nm":"新干","py":"xingan"},{"id":1027,"nm":"宜丰","py":"yifeng"},{"id":1028,"nm":"吉安县","py":"jianxian"},{"id":1029,"nm":"吉水县","py":"jishuixian"},{"id":1030,"nm":"泰和县","py":"taihexian"},{"id":1031,"nm":"奉新","py":"fengxin"},{"id":1049,"nm":"武平县","py":"wupingxian"},{"id":1048,"nm":"漳平","py":"zhangping"},{"id":1051,"nm":"祥云县","py":"xiangyunxian"},{"id":1050,"nm":"寻乌县","py":"xunwuxian"},{"id":1053,"nm":"南部县","py":"nanbuxian"},{"id":1052,"nm":"方城","py":"fangcheng"},{"id":1055,"nm":"商水县","py":"shangshuixian"},{"id":1054,"nm":"太康县","py":"taikangxian"},{"id":1041,"nm":"铜鼓","py":"tonggu"},{"id":1040,"nm":"庐江县","py":"lujiangxian"},{"id":1043,"nm":"营山县","py":"yingshanxian"},{"id":1042,"nm":"怀远县","py":"huaiyuanxian"},{"id":1045,"nm":"上林县","py":"shanglinxian"},{"id":1044,"nm":"田东县","py":"tiandongxian"},{"id":1047,"nm":"永安","py":"yongan"},{"id":1046,"nm":"威县","py":"weixian"},{"id":1066,"nm":"富源县","py":"fuyuanxian"},{"id":1067,"nm":"遂川","py":"suichuan"},{"id":1064,"nm":"隆回","py":"longhui"},{"id":1065,"nm":"会泽县","py":"huizexian"},{"id":1070,"nm":"分宜","py":"fenyi"},{"id":1071,"nm":"上栗","py":"shangli"},{"id":1068,"nm":"安福","py":"anfu"},{"id":1069,"nm":"永丰","py":"yongfeng"},{"id":1058,"nm":"鄢陵","py":"yanling"},{"id":1059,"nm":"晋宁区","py":"jinningqu"},{"id":1056,"nm":"临颍","py":"linying"},{"id":1057,"nm":"襄城县","py":"xiangchengxian"},{"id":1062,"nm":"双峰","py":"shuangfeng"},{"id":1063,"nm":"新宁","py":"xinning"},{"id":1060,"nm":"蓝山","py":"lanshan"},{"id":1061,"nm":"江永","py":"jiangyong"},{"id":1083,"nm":"隆化县","py":"longhuaxian"},{"id":1082,"nm":"献县","py":"xianxian"},{"id":1081,"nm":"肃宁县","py":"suningxian"},{"id":1080,"nm":"河间市","py":"hejianshi"},{"id":1087,"nm":"洛宁","py":"luoningxian"},{"id":1086,"nm":"合浦县","py":"hepuxian"},{"id":1085,"nm":"建水县","py":"jianshuixian"},{"id":1084,"nm":"扶绥县","py":"fusuixian"},{"id":1075,"nm":"南皮县","py":"nanpixian"},{"id":1074,"nm":"泊头市","py":"botou"},{"id":1073,"nm":"芦溪","py":"luxi"},{"id":1072,"nm":"永新","py":"yongxin"},{"id":1079,"nm":"卢氏县","py":"lushixian"},{"id":1078,"nm":"慈利","py":"cili"},{"id":1077,"nm":"莎车县","py":"shachexian"},{"id":1076,"nm":"大安市","py":"daanshi"},{"id":1220,"nm":"青阳县","py":"qingyangxian"},{"id":1223,"nm":"武冈市","py":"wugangshi"},{"id":1222,"nm":"明水县","py":"mingshuixian"},{"id":1217,"nm":"望奎县","py":"wangkuixian"},{"id":1216,"nm":"米易县","py":"miyixian"},{"id":1219,"nm":"闽侯县","py":"minhouxian"},{"id":1218,"nm":"宜良县","py":"yiliangxian"},{"id":1229,"nm":"阿荣旗","py":"arongqi"},{"id":1228,"nm":"山丹县","py":"shandanxian"},{"id":1231,"nm":"丰都","py":"fengdu"},{"id":1230,"nm":"奉节","py":"fengjie"},{"id":1225,"nm":"陆川县","py":"luchuanxian"},{"id":1224,"nm":"宁远县","py":"ningyuanxian"},{"id":1227,"nm":"康县","py":"kangxian"},{"id":1226,"nm":"平南县","py":"pingnanxian"},{"id":1239,"nm":"光山县","py":"guangshanxian"},{"id":1232,"nm":"彭水苗族土家族自治县","py":"pengshuizizhixian"},{"id":1233,"nm":"大厂回族自治县","py":"dachangzizhixian"},{"id":1234,"nm":"横山区","py":"hengshanqu"},{"id":1244,"nm":"孝昌县","py":"xiaochangxian"},{"id":1245,"nm":"安陆市","py":"anlushi"},{"id":1246,"nm":"镇雄县","py":"zhenxiongxian"},{"id":1247,"nm":"临泉县","py":"linquanxian"},{"id":1240,"nm":"绥宁县","py":"suiningxiansnx"},{"id":1241,"nm":"肥东县","py":"feidongxian"},{"id":1242,"nm":"定远县","py":"dingyuanxian"},{"id":1243,"nm":"大悟县","py":"dawuxia"},{"id":1255,"nm":"武定","py":"wuding"},{"id":1254,"nm":"禄劝彝族苗族自治县","py":"luquanxian"},{"id":1250,"nm":"遂平","py":"suiping"},{"id":1249,"nm":"双城","py":"shuangcheng"},{"id":1248,"nm":"息县","py":"xixian"},{"id":1263,"nm":"九台","py":"jiutai"},{"id":1262,"nm":"瑞丽","py":"ruili"},{"id":1261,"nm":"萧县","py":"xiaoxian"},{"id":1260,"nm":"清镇","py":"qingzhen"},{"id":1259,"nm":"中宁县","py":"zhongningxian"},{"id":1258,"nm":"普兰店","py":"pulandian"},{"id":1256,"nm":"屯昌县","py":"tunchangxian"},{"id":1270,"nm":"嵩明县","py":"songmingxian"},{"id":1271,"nm":"德惠市","py":"dehuishi"},{"id":1268,"nm":"大足区","py":"dazuqu"},{"id":1269,"nm":"澄迈县","py":"chengmaixian"},{"id":1266,"nm":"清徐","py":"qingxu"},{"id":1267,"nm":"迁西县","py":"qianxixian"},{"id":1264,"nm":"南川","py":"nanchuan"},{"id":1265,"nm":"綦江","py":"qijiang"},{"id":1276,"nm":"企石镇","py":"qishizhen"},{"id":1277,"nm":"谢岗镇","py":"xiegangzhen"},{"id":1274,"nm":"固安县","py":"guanxian"},{"id":1275,"nm":"东坑镇","py":"dongkengzhen"},{"id":1272,"nm":"石林彝族自治县","py":"shilinxian"},{"id":1273,"nm":"玉田县","py":"yutianxian"},{"id":1153,"nm":"嘉鱼县","py":"jiayuxian"},{"id":1152,"nm":"凤翔县","py":"fengxiangxian"},{"id":1155,"nm":"绥德县","py":"suidexian"},{"id":1157,"nm":"长清区","py":"changqingqu"},{"id":1156,"nm":"平阴县","py":"pingyinxian"},{"id":1159,"nm":"阳山县","py":"yangshanxian"},{"id":1158,"nm":"沙县","py":"shaxian"},{"id":1160,"nm":"榆树市","py":"yushushi"},{"id":1163,"nm":"罗定市","py":"luodingshi"},{"id":1162,"nm":"沅陵县","py":"yuanlingxian"},{"id":1165,"nm":"北安市","py":"beianshi"},{"id":1164,"nm":"崇明区","py":"chongmingqu"},{"id":1167,"nm":"新津县","py":"xinjinxian"},{"id":1166,"nm":"嫩江县","py":"nenjiangxian"},{"id":1168,"nm":"定安县","py":"dinganxian"},{"id":1169,"nm":"永登县","py":"yongdengxian"},{"id":1170,"nm":"琼中","py":"qiongzhong"},{"id":1171,"nm":"乐东","py":"ledong"},{"id":1172,"nm":"额敏县","py":"eminxian"},{"id":1174,"nm":"光泽","py":"guangze"},{"id":1175,"nm":"平陆县","py":"pingluxian"},{"id":1176,"nm":"深泽县","py":"shenzexian"},{"id":1177,"nm":"垫江","py":"dianjiang"},{"id":1178,"nm":"梁平","py":"liangping"},{"id":1179,"nm":"忠县","py":"zhongxian"},{"id":1180,"nm":"石柱","py":"shizhu"},{"id":1181,"nm":"鱼台县","py":"yutaixian"},{"id":1182,"nm":"宜州区","py":"yizhouqu"},{"id":1183,"nm":"临高县","py":"lingaoxian"},{"id":1187,"nm":"五常市","py":"wuchangshi"},{"id":1186,"nm":"义马市","py":"yimashi"},{"id":1185,"nm":"环县","py":"huanxian"},{"id":1184,"nm":"罗源县","py":"luoyuanxian"},{"id":1189,"nm":"邵武","py":"shaowu"},{"id":1188,"nm":"祁县","py":"qixianjz"},{"id":1195,"nm":"福安","py":"fuan"},{"id":1194,"nm":"精河县","py":"jinghexian"},{"id":1193,"nm":"巴彦县","py":"bayanxian"},{"id":1192,"nm":"寿县","py":"shouxian"},{"id":1199,"nm":"盂县","py":"yuxian"},{"id":1198,"nm":"永嘉县","py":"yongjiaxian"},{"id":1197,"nm":"靖西市","py":"jingxixian"},{"id":1196,"nm":"柘荣","py":"zherong"},{"id":1202,"nm":"福鼎市","py":"fudingshi"},{"id":1203,"nm":"东明县","py":"dongmingxian"},{"id":1200,"nm":"中江县","py":"zhongjiangxian"},{"id":1201,"nm":"成武县","py":"chengwuxian"},{"id":1206,"nm":"黄陵县","py":"huanglingxian"},{"id":1207,"nm":"旺苍县","py":"wangcangxian"},{"id":1204,"nm":"定陶区","py":"dingtaoqu"},{"id":1205,"nm":"澄江县","py":"chengjiangxian"},{"id":1210,"nm":"勐腊县","py":"menglaxian"},{"id":1211,"nm":"三台县","py":"santaixian"},{"id":1208,"nm":"定边县","py":"dingbianxian"},{"id":1209,"nm":"府谷县","py":"fuguxian"},{"id":1214,"nm":"平昌县","py":"pingchangxian"},{"id":1215,"nm":"通江县","py":"tongjiangxian"},{"id":1212,"nm":"安州区","py":"anzhouqu"},{"id":1213,"nm":"旬阳县","py":"xunyangxian"},{"id":1290,"nm":"高淳区","py":"gaochunqu"},{"id":1291,"nm":"昌江黎族自治县","py":"changjianglizuzizhixian"},{"id":1288,"nm":"泾阳县","py":"jingyangxian"},{"id":1289,"nm":"三原县","py":"sanyuanxian"},{"id":1283,"nm":"门头沟区","py":"mentougouqu"},{"id":1280,"nm":"阿城区","py":"achengqu"},{"id":1281,"nm":"灵武市","py":"lingwushi"},{"id":1286,"nm":"莘县","py":"shenxian"},{"id":1287,"nm":"黔江区","py":"qianjiangqu"},{"id":1284,"nm":"青铜峡市","py":"qingtongxiashi"},{"id":1285,"nm":"东阿县","py":"dongexian"},{"id":8001,"nm":"华容","py":"huarong"}]}
--------------------------------------------------------------------------------
/src/pages/city/City.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
11 |
12 |
13 |
14 |
24 |
25 |
38 |
39 |
40 |
41 |
42 | 定位
45 | 热门
49 | {{key}}
57 |
58 |
59 |
60 |
61 |
140 |
141 |
--------------------------------------------------------------------------------
/src/pages/details/Detail.vue:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
11 |
39 |
40 |
--------------------------------------------------------------------------------
/src/pages/index/Index.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
9 |
10 |
11 |
12 |
36 |
37 |
38 |
39 |
74 |
75 |
--------------------------------------------------------------------------------
/src/pages/movies/Comingsoon.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/pages/movies/Intheater.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
52 |
53 |
--------------------------------------------------------------------------------
/src/pages/movies/MostExpected.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
近期最受期待
4 |
5 |
6 |
7 |
31 |
32 |
33 |
34 |
85 |
86 |
--------------------------------------------------------------------------------
/src/pages/movies/Movies.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
20 |
28 |
29 |
30 |
31 |
69 |
70 |
139 |
140 | //
--------------------------------------------------------------------------------
/src/pages/profile/Profile.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
14 |
19 |
20 |
21 |
22 |
23 |
24 |
28 |
35 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
122 |
123 |
126 |
--------------------------------------------------------------------------------
/src/pages/theaters/Theaters.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
![]()
5 |
6 |
7 | aa
8 |
9 |
10 |
11 |
12 |
22 |
23 |
--------------------------------------------------------------------------------
/src/router.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import Router from 'vue-router'
3 |
4 | Vue.use(Router)
5 |
6 | import Index from 'pages/index/Index'
7 | import City from 'pages/city/City'
8 | import Detail from 'pages/details/Detail'
9 |
10 | import Movies from 'pages/movies/Movies'
11 | import Theaters from 'pages/theaters/Theaters'
12 | import Profile from 'pages/profile/Profile'
13 |
14 | import Intheater from 'pages/movies/Intheater'
15 | import Comingsoon from 'pages/movies/Comingsoon'
16 |
17 | const router = new Router({
18 | mode: 'hash',
19 | routes: [
20 | {
21 | path: '/',
22 | redirect: '/home',
23 | },
24 | {
25 | path: '/home',
26 | component: Index,
27 | redirect: '/home/movies',
28 | children: [
29 | {
30 | path: 'movies',
31 | component: Movies,
32 | redirect: '/home/movies/intheater',
33 | children: [
34 | {
35 | path: 'intheater',
36 | name: 'intheater',
37 | component: Intheater,
38 | meta: 1
39 | },
40 | {
41 | path: 'comingsoon',
42 | name: 'comingsoon',
43 | component: Comingsoon,
44 | meta: 2
45 | }
46 | ]
47 | },
48 | {
49 | path: 'theaters',
50 | component: Theaters
51 | },
52 | {
53 | path: 'profile',
54 | component: Profile
55 | }
56 | ]
57 | },
58 | {
59 | path: '/city',
60 | name: 'city',
61 | component: City
62 | },
63 | {
64 | path: '/detail/:id',
65 | name: 'detail',
66 | component: Detail
67 | }
68 | ]
69 | })
70 |
71 | export default router
--------------------------------------------------------------------------------
/src/store/store.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import Vuex from 'vuex'
3 | import store from 'store'
4 |
5 | Vue.use(Vuex)
6 | import _ from 'lodash'
7 | import http from "utils/http"
8 |
9 | export default new Vuex.Store({
10 | state: {
11 | city: {
12 | id: 1,
13 | nm: '北京'
14 | },
15 | position: 0,
16 |
17 | intheaters: {
18 | data: {},
19 | page: 0
20 | },
21 |
22 | comingsoon: {
23 | data: {},
24 | page: 0
25 | }
26 | },
27 |
28 | mutations: {
29 | changeCity(state, city) {
30 | state.city = city
31 | store.set('city', city)
32 | },
33 |
34 | changePosition(state, position) {
35 | state.position = position
36 | },
37 |
38 | changeIntheaterData(state, result) {
39 | state.intheaters.data = result
40 | },
41 |
42 | changeComingsoonData(state, result) {
43 | state.comingsoon.data = result
44 | },
45 |
46 | changeMoreData(state, {result, page, from}) {
47 | if (from === 'intheater') {
48 | state.intheaters = {
49 | data: {
50 | ...state.intheaters.data,
51 | movieList: [
52 | ...state.intheaters.data.movieList,
53 | ...result.coming
54 | ]
55 | },
56 | page
57 | }
58 | } else {
59 | state.comingsoon = {
60 | data: {
61 | ...state.comingsoon.data,
62 | coming: [
63 | ...state.comingsoon.data.coming,
64 | ...result.coming
65 | ]
66 | },
67 | page
68 | }
69 | }
70 | },
71 |
72 | changePage(state) {
73 | state.intheaters.page = 0
74 | state.comingsoon.page = 0
75 | }
76 | },
77 |
78 | actions: {
79 | changeCity({commit}, city) {
80 | commit('changeCity', city)
81 | },
82 |
83 | changePosition({commit}, position) {
84 | commit('changePosition', position)
85 | },
86 |
87 | async loadIntheaterData({commit, state}) {
88 | let result = await http.get({ url: "/ajax/movieOnInfoList?token=&ci=" + state.city.id })
89 | commit('changeIntheaterData', result)
90 | },
91 |
92 | async loadComingsoonData({commit, state}, limit) {
93 | let result = await http.get({ url: "/ajax/comingList?ci=" + state.city.id + "&token=&limit=" + limit})
94 | commit('changeComingsoonData', result)
95 | },
96 |
97 | async loadMoreData({commit, state}, {limit, movieIds, page, from}) {
98 | let result = await http.get({
99 | url: "/ajax/moreComingList?ci=" + state.city.id + "&token=&limit=" + limit + "&movieIds=" + movieIds
100 | })
101 |
102 | commit('changeMoreData', {result, page, from})
103 | },
104 |
105 | changePage({commit}) {
106 | commit('changePage')
107 | }
108 | }
109 | })
110 |
--------------------------------------------------------------------------------
/src/utils/filters.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 |
3 | Vue.filter('wh', (value) => {
4 | return value.replace(/w\.h/, "170.230")
5 | })
--------------------------------------------------------------------------------
/src/utils/http.js:
--------------------------------------------------------------------------------
1 | import axios from 'axios'
2 |
3 | export default {
4 | get({url}) {
5 | return axios({
6 | url
7 | })
8 | .then((result) => {
9 | return result.data
10 | })
11 | }
12 | }
--------------------------------------------------------------------------------
/src/views/About.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
This is an about page
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/views/Home.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |

4 |
5 |
6 |
7 |
8 |
19 |
--------------------------------------------------------------------------------
/vue.config.js:
--------------------------------------------------------------------------------
1 | const path = require('path')
2 |
3 | module.exports = {
4 | publicPath: 'http://fe.gp12.cn:8088',
5 |
6 | configureWebpack: {
7 | resolve: {
8 | alias: {
9 | pages: path.resolve(__dirname, './src/pages'),
10 | assets: path.resolve(__dirname, './src/assets'),
11 | styles: path.resolve(__dirname, './src/assets/styles'),
12 | components: path.resolve(__dirname, './src/components'),
13 | utils: path.resolve(__dirname, './src/utils'),
14 | mixins: path.resolve(__dirname, './src/mixins'),
15 | }
16 | }
17 | },
18 |
19 | devServer: {
20 | proxy: {
21 | '/ajax': {
22 | target: 'http://dev.gp12.cn',
23 | changeOrigin: true
24 | },
25 | '/dianying': {
26 | target: 'http://m.maoyan.com',
27 | changeOrigin: true
28 | }
29 | }
30 | }
31 | }
--------------------------------------------------------------------------------