从bitbucket迁移过来
0 parents
Showing
247 changed files
with
11866 additions
and
0 deletions
.gitignore
0 → 100644
1 | # See http://help.github.com/ignore-files/ for more about ignoring files. | ||
2 | # | ||
3 | # If you find yourself ignoring temporary files generated by your text editor | ||
4 | # or operating system, you probably want to add a global ignore instead: | ||
5 | # git config --global core.excludesfile ~/.gitignore_global | ||
6 | |||
7 | # Ignore bundler config | ||
8 | /.bundle | ||
9 | |||
10 | # Ignore the default SQLite database. | ||
11 | /db/*.sqlite3 | ||
12 | |||
13 | # Ignore all logfiles and tempfiles. | ||
14 | /log | ||
15 | /tmp | ||
16 | /www |
Capfile
0 → 100644
1 | # Load DSL and set up stages | ||
2 | require 'capistrano/setup' | ||
3 | |||
4 | # Include default deployment tasks | ||
5 | require 'capistrano/deploy' | ||
6 | |||
7 | # Include tasks from other gems included in your Gemfile | ||
8 | # | ||
9 | # For documentation on these, see for example: | ||
10 | # | ||
11 | # https://github.com/capistrano/rvm | ||
12 | # https://github.com/capistrano/rbenv | ||
13 | # https://github.com/capistrano/chruby | ||
14 | # https://github.com/capistrano/bundler | ||
15 | # https://github.com/capistrano/rails | ||
16 | # https://github.com/capistrano/passenger | ||
17 | # | ||
18 | require 'capistrano/rvm' | ||
19 | # require 'capistrano/rbenv' | ||
20 | # require 'capistrano/chruby' | ||
21 | require 'capistrano/bundler' | ||
22 | # require 'capistrano/rails/assets' | ||
23 | # require 'capistrano/rails/migrations' | ||
24 | # require 'capistrano/passenger' | ||
25 | |||
26 | # Load custom tasks from `lib/capistrano/tasks` if you have any defined | ||
27 | Dir.glob('lib/capistrano/tasks/*.rake').each { |r| import r } |
Gemfile
0 → 100644
1 | source 'https://rubygems.org' | ||
2 | |||
3 | gem 'rails', '3.2.15' | ||
4 | |||
5 | # Bundle edge Rails instead: | ||
6 | # gem 'rails', :git => 'git://github.com/rails/rails.git' | ||
7 | |||
8 | gem 'mysql2' | ||
9 | # 分页插件 | ||
10 | gem "kaminari" | ||
11 | gem "awesome_print" | ||
12 | gem 'capistrano', '~> 3.4.0' | ||
13 | gem 'capistrano-bundler' | ||
14 | gem 'capistrano-rvm' | ||
15 | gem 'unicorn' | ||
16 | |||
17 | |||
18 | # Gems used only for assets and not required | ||
19 | # in production environments by default. | ||
20 | group :assets do | ||
21 | gem 'sass-rails', '~> 3.2.3' | ||
22 | gem 'coffee-rails', '~> 3.2.1' | ||
23 | |||
24 | # See https://github.com/sstephenson/execjs#readme for more supported runtimes | ||
25 | # gem 'therubyracer', :platforms => :ruby | ||
26 | |||
27 | gem 'uglifier', '>= 1.0.3' | ||
28 | end | ||
29 | |||
30 | gem 'jquery-rails' | ||
31 | |||
32 | # To use ActiveModel has_secure_password | ||
33 | # gem 'bcrypt-ruby', '~> 3.0.0' | ||
34 | |||
35 | # To use Jbuilder templates for JSON | ||
36 | # gem 'jbuilder' | ||
37 | |||
38 | # Use unicorn as the app server | ||
39 | # gem 'unicorn' | ||
40 | |||
41 | # Deploy with Capistrano | ||
42 | # gem 'capistrano' | ||
43 | |||
44 | # To use debugger | ||
45 | # gem 'debugger' |
Gemfile.lock
0 → 100644
1 | GEM | ||
2 | remote: https://rubygems.org/ | ||
3 | specs: | ||
4 | actionmailer (3.2.15) | ||
5 | actionpack (= 3.2.15) | ||
6 | mail (~> 2.5.4) | ||
7 | actionpack (3.2.15) | ||
8 | activemodel (= 3.2.15) | ||
9 | activesupport (= 3.2.15) | ||
10 | builder (~> 3.0.0) | ||
11 | erubis (~> 2.7.0) | ||
12 | journey (~> 1.0.4) | ||
13 | rack (~> 1.4.5) | ||
14 | rack-cache (~> 1.2) | ||
15 | rack-test (~> 0.6.1) | ||
16 | sprockets (~> 2.2.1) | ||
17 | activemodel (3.2.15) | ||
18 | activesupport (= 3.2.15) | ||
19 | builder (~> 3.0.0) | ||
20 | activerecord (3.2.15) | ||
21 | activemodel (= 3.2.15) | ||
22 | activesupport (= 3.2.15) | ||
23 | arel (~> 3.0.2) | ||
24 | tzinfo (~> 0.3.29) | ||
25 | activeresource (3.2.15) | ||
26 | activemodel (= 3.2.15) | ||
27 | activesupport (= 3.2.15) | ||
28 | activesupport (3.2.15) | ||
29 | i18n (~> 0.6, >= 0.6.4) | ||
30 | multi_json (~> 1.0) | ||
31 | arel (3.0.3) | ||
32 | awesome_print (1.6.1) | ||
33 | builder (3.0.4) | ||
34 | capistrano (3.4.0) | ||
35 | i18n | ||
36 | rake (>= 10.0.0) | ||
37 | sshkit (~> 1.3) | ||
38 | capistrano-bundler (1.1.4) | ||
39 | capistrano (~> 3.1) | ||
40 | sshkit (~> 1.2) | ||
41 | capistrano-rvm (0.1.2) | ||
42 | capistrano (~> 3.0) | ||
43 | sshkit (~> 1.2) | ||
44 | coffee-rails (3.2.2) | ||
45 | coffee-script (>= 2.2.0) | ||
46 | railties (~> 3.2.0) | ||
47 | coffee-script (2.3.0) | ||
48 | coffee-script-source | ||
49 | execjs | ||
50 | coffee-script-source (1.8.0) | ||
51 | colorize (0.7.7) | ||
52 | erubis (2.7.0) | ||
53 | execjs (2.2.2) | ||
54 | hike (1.2.3) | ||
55 | i18n (0.6.11) | ||
56 | journey (1.0.4) | ||
57 | jquery-rails (3.1.2) | ||
58 | railties (>= 3.0, < 5.0) | ||
59 | thor (>= 0.14, < 2.0) | ||
60 | json (1.8.3) | ||
61 | kaminari (0.16.1) | ||
62 | actionpack (>= 3.0.0) | ||
63 | activesupport (>= 3.0.0) | ||
64 | kgio (2.10.0) | ||
65 | mail (2.5.4) | ||
66 | mime-types (~> 1.16) | ||
67 | treetop (~> 1.4.8) | ||
68 | mime-types (1.25.1) | ||
69 | multi_json (1.11.2) | ||
70 | mysql2 (0.3.16) | ||
71 | net-scp (1.2.1) | ||
72 | net-ssh (>= 2.6.5) | ||
73 | net-ssh (3.0.1) | ||
74 | polyglot (0.3.5) | ||
75 | rack (1.4.7) | ||
76 | rack-cache (1.2) | ||
77 | rack (>= 0.4) | ||
78 | rack-ssl (1.3.4) | ||
79 | rack | ||
80 | rack-test (0.6.3) | ||
81 | rack (>= 1.0) | ||
82 | rails (3.2.15) | ||
83 | actionmailer (= 3.2.15) | ||
84 | actionpack (= 3.2.15) | ||
85 | activerecord (= 3.2.15) | ||
86 | activeresource (= 3.2.15) | ||
87 | activesupport (= 3.2.15) | ||
88 | bundler (~> 1.0) | ||
89 | railties (= 3.2.15) | ||
90 | railties (3.2.15) | ||
91 | actionpack (= 3.2.15) | ||
92 | activesupport (= 3.2.15) | ||
93 | rack-ssl (~> 1.3.2) | ||
94 | rake (>= 0.8.7) | ||
95 | rdoc (~> 3.4) | ||
96 | thor (>= 0.14.6, < 2.0) | ||
97 | raindrops (0.15.0) | ||
98 | rake (10.4.2) | ||
99 | rdoc (3.12.2) | ||
100 | json (~> 1.4) | ||
101 | sass (3.4.6) | ||
102 | sass-rails (3.2.6) | ||
103 | railties (~> 3.2.0) | ||
104 | sass (>= 3.1.10) | ||
105 | tilt (~> 1.3) | ||
106 | sprockets (2.2.3) | ||
107 | hike (~> 1.2) | ||
108 | multi_json (~> 1.0) | ||
109 | rack (~> 1.0) | ||
110 | tilt (~> 1.1, != 1.3.0) | ||
111 | sshkit (1.7.1) | ||
112 | colorize (>= 0.7.0) | ||
113 | net-scp (>= 1.1.2) | ||
114 | net-ssh (>= 2.8.0) | ||
115 | thor (0.19.1) | ||
116 | tilt (1.4.1) | ||
117 | treetop (1.4.15) | ||
118 | polyglot | ||
119 | polyglot (>= 0.3.1) | ||
120 | tzinfo (0.3.42) | ||
121 | uglifier (2.5.3) | ||
122 | execjs (>= 0.3.0) | ||
123 | json (>= 1.8.0) | ||
124 | unicorn (5.0.1) | ||
125 | kgio (~> 2.6) | ||
126 | rack | ||
127 | raindrops (~> 0.7) | ||
128 | |||
129 | PLATFORMS | ||
130 | ruby | ||
131 | |||
132 | DEPENDENCIES | ||
133 | awesome_print | ||
134 | capistrano (~> 3.4.0) | ||
135 | capistrano-bundler | ||
136 | capistrano-rvm | ||
137 | coffee-rails (~> 3.2.1) | ||
138 | jquery-rails | ||
139 | kaminari | ||
140 | mysql2 | ||
141 | rails (= 3.2.15) | ||
142 | sass-rails (~> 3.2.3) | ||
143 | uglifier (>= 1.0.3) | ||
144 | unicorn | ||
145 | |||
146 | BUNDLED WITH | ||
147 | 1.16.2 |
Rakefile
0 → 100644
app/assets/images/rails.png
0 → 100644
6.49 KB
app/assets/javascripts/application.js
0 → 100644
1 | // This is a manifest file that'll be compiled into application.js, which will include all the files | ||
2 | // listed below. | ||
3 | // | ||
4 | // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts, | ||
5 | // or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path. | ||
6 | // | ||
7 | // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the | ||
8 | // the compiled file. | ||
9 | // | ||
10 | // WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD | ||
11 | // GO AFTER THE REQUIRES BELOW. | ||
12 | // | ||
13 | //= require jquery | ||
14 | //= require jquery_ujs | ||
15 | //= require_directory ./plugin |
1 | (function(g,e,b,j,c,i,k){/*! Jssor */ | ||
2 | new(function(){this.$DebugMode=c;this.$Log=function(c,d){var a=g.console||{},b=this.$DebugMode;if(b&&a.log)a.log(c);else b&&d&&alert(c)};this.$Error=function(b,d){var c=g.console||{},a=this.$DebugMode;if(a&&c.error)c.error(b);else a&&alert(b);if(a)throw d||new Error(b);};this.$Fail=function(a){throw new Error(a);};this.$Assert=function(b,c){var a=this.$DebugMode;if(a)if(!b)throw new Error("Assert failed "+c||"");};this.$Trace=function(c){var a=g.console||{},b=this.$DebugMode;b&&a.log&&a.log(c)};this.$Execute=function(b){var a=this.$DebugMode;a&&b()};this.$LiveStamp=function(c,d){var b=this.$DebugMode;if(b){var a=e.createElement("DIV");a.setAttribute("id",d);c.$Live=a}};this.$C_AbstractProperty=function(){throw new Error("The property is abstract, it should be implemented by subclass.");};this.$C_AbstractMethod=function(){throw new Error("The method is abstract, it should be implemented by subclass.");};function a(b){if(b.constructor===a.caller)throw new Error("Cannot create instance of an abstract class.");}this.$C_AbstractClass=a});var d=g.$JssorEasing$={$EaseSwing:function(a){return-b.cos(a*b.PI)/2+.5},$EaseLinear:function(a){return a},$EaseInQuad:function(a){return a*a},$EaseOutQuad:function(a){return-a*(a-2)},$EaseInOutQuad:function(a){return(a*=2)<1?1/2*a*a:-1/2*(--a*(a-2)-1)},$EaseInCubic:function(a){return a*a*a},$EaseOutCubic:function(a){return(a-=1)*a*a+1},$EaseInOutCubic:function(a){return(a*=2)<1?1/2*a*a*a:1/2*((a-=2)*a*a+2)},$EaseInQuart:function(a){return a*a*a*a},$EaseOutQuart:function(a){return-((a-=1)*a*a*a-1)},$EaseInOutQuart:function(a){return(a*=2)<1?1/2*a*a*a*a:-1/2*((a-=2)*a*a*a-2)},$EaseInQuint:function(a){return a*a*a*a*a},$EaseOutQuint:function(a){return(a-=1)*a*a*a*a+1},$EaseInOutQuint:function(a){return(a*=2)<1?1/2*a*a*a*a*a:1/2*((a-=2)*a*a*a*a+2)},$EaseInSine:function(a){return 1-b.cos(a*b.PI/2)},$EaseOutSine:function(a){return b.sin(a*b.PI/2)},$EaseInOutSine:function(a){return-1/2*(b.cos(b.PI*a)-1)},$EaseInExpo:function(a){return a==0?0:b.pow(2,10*(a-1))},$EaseOutExpo:function(a){return a==1?1:-b.pow(2,-10*a)+1},$EaseInOutExpo:function(a){return a==0||a==1?a:(a*=2)<1?1/2*b.pow(2,10*(a-1)):1/2*(-b.pow(2,-10*--a)+2)},$EaseInCirc:function(a){return-(b.sqrt(1-a*a)-1)},$EaseOutCirc:function(a){return b.sqrt(1-(a-=1)*a)},$EaseInOutCirc:function(a){return(a*=2)<1?-1/2*(b.sqrt(1-a*a)-1):1/2*(b.sqrt(1-(a-=2)*a)+1)},$EaseInElastic:function(a){if(!a||a==1)return a;var c=.3,d=.075;return-(b.pow(2,10*(a-=1))*b.sin((a-d)*2*b.PI/c))},$EaseOutElastic:function(a){if(!a||a==1)return a;var c=.3,d=.075;return b.pow(2,-10*a)*b.sin((a-d)*2*b.PI/c)+1},$EaseInOutElastic:function(a){if(!a||a==1)return a;var c=.45,d=.1125;return(a*=2)<1?-.5*b.pow(2,10*(a-=1))*b.sin((a-d)*2*b.PI/c):b.pow(2,-10*(a-=1))*b.sin((a-d)*2*b.PI/c)*.5+1},$EaseInBack:function(a){var b=1.70158;return a*a*((b+1)*a-b)},$EaseOutBack:function(a){var b=1.70158;return(a-=1)*a*((b+1)*a+b)+1},$EaseInOutBack:function(a){var b=1.70158;return(a*=2)<1?1/2*a*a*(((b*=1.525)+1)*a-b):1/2*((a-=2)*a*(((b*=1.525)+1)*a+b)+2)},$EaseInBounce:function(a){return 1-d.$EaseOutBounce(1-a)},$EaseOutBounce:function(a){return a<1/2.75?7.5625*a*a:a<2/2.75?7.5625*(a-=1.5/2.75)*a+.75:a<2.5/2.75?7.5625*(a-=2.25/2.75)*a+.9375:7.5625*(a-=2.625/2.75)*a+.984375},$EaseInOutBounce:function(a){return a<1/2?d.$EaseInBounce(a*2)*.5:d.$EaseOutBounce(a*2-1)*.5+.5},$EaseGoBack:function(a){return 1-b.abs(2-1)},$EaseInWave:function(a){return 1-b.cos(a*b.PI*2)},$EaseOutWave:function(a){return b.sin(a*b.PI*2)},$EaseOutJump:function(a){return 1-((a*=2)<1?(a=1-a)*a*a:(a-=1)*a*a)},$EaseInJump:function(a){return(a*=2)<1?a*a*a:(a=2-a)*a*a}},f=g.$Jease$={$Swing:d.$EaseSwing,$Linear:d.$EaseLinear,$InQuad:d.$EaseInQuad,$OutQuad:d.$EaseOutQuad,$InOutQuad:d.$EaseInOutQuad,$InCubic:d.$EaseInCubic,$OutCubic:d.$EaseOutCubic,$InOutCubic:d.$EaseInOutCubic,$InQuart:d.$EaseInQuart,$OutQuart:d.$EaseOutQuart,$InOutQuart:d.$EaseInOutQuart,$InQuint:d.$EaseInQuint,$OutQuint:d.$EaseOutQuint,$InOutQuint:d.$EaseInOutQuint,$InSine:d.$EaseInSine,$OutSine:d.$EaseOutSine,$InOutSine:d.$EaseInOutSine,$InExpo:d.$EaseInExpo,$OutExpo:d.$EaseOutExpo,$InOutExpo:d.$EaseInOutExpo,$InCirc:d.$EaseInCirc,$OutCirc:d.$EaseOutCirc,$InOutCirc:d.$EaseInOutCirc,$InElastic:d.$EaseInElastic,$OutElastic:d.$EaseOutElastic,$InOutElastic:d.$EaseInOutElastic,$InBack:d.$EaseInBack,$OutBack:d.$EaseOutBack,$InOutBack:d.$EaseInOutBack,$InBounce:d.$EaseInBounce,$OutBounce:d.$EaseOutBounce,$InOutBounce:d.$EaseInOutBounce,$GoBack:d.$EaseGoBack,$InWave:d.$EaseInWave,$OutWave:d.$EaseOutWave,$OutJump:d.$EaseOutJump,$InJump:d.$EaseInJump};g.$JssorDirection$={$TO_LEFT:1,$TO_RIGHT:2,$TO_TOP:4,$TO_BOTTOM:8,$HORIZONTAL:3,$VERTICAL:12,$GetDirectionHorizontal:function(a){return a&3},$GetDirectionVertical:function(a){return a&12},$IsHorizontal:function(a){return a&3},$IsVertical:function(a){return a&12}};var a=g.$Jssor$=new function(){var f=this,zb=/\S+/g,S=1,fb=2,jb=3,ib=4,nb=5,I,s=0,l=0,q=0,J=0,C=0,y=navigator,sb=y.appName,n=y.userAgent,v=e.documentElement;function Ib(){if(!I){I={$Touchable:"ontouchstart"in g||"createTouch"in e};var a;if(y.pointerEnabled||(a=y.msPointerEnabled))I.$TouchActionAttr=a?"msTouchAction":"touchAction"}return I}function t(i){if(!s){s=-1;if(sb=="Microsoft Internet Explorer"&&!!g.attachEvent&&!!g.ActiveXObject){var f=n.indexOf("MSIE");s=S;q=o(n.substring(f+5,n.indexOf(";",f)));/*@cc_on J=@_jscript_version@*/;l=e.documentMode||q}else if(sb=="Netscape"&&!!g.addEventListener){var d=n.indexOf("Firefox"),b=n.indexOf("Safari"),h=n.indexOf("Chrome"),c=n.indexOf("AppleWebKit");if(d>=0){s=fb;l=o(n.substring(d+8))}else if(b>=0){var j=n.substring(0,b).lastIndexOf("/");s=h>=0?ib:jb;l=o(n.substring(j+1,b))}else{var a=/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/i.exec(n);if(a){s=S;l=q=o(a[1])}}if(c>=0)C=o(n.substring(c+12))}else{var a=/(opera)(?:.*version|)[ \/]([\w.]+)/i.exec(n);if(a){s=nb;l=o(a[2])}}}return i==s}function p(){return t(S)}function N(){return p()&&(l<6||e.compatMode=="BackCompat")}function Ab(){return t(fb)}function hb(){return t(jb)}function Db(){return t(ib)}function mb(){return t(nb)}function ab(){return hb()&&C>534&&C<535}function L(){return p()&&l<9}function cb(a){var b;return function(d){if(!b){b=a;var c=a.substr(0,1).toUpperCase()+a.substr(1);m([a].concat(["WebKit","ms","Moz","O","webkit"]),function(g,f){var e=a;if(f)e=g+c;if(d.style[e]!=k)return b=e})}return b}}var bb=cb("transform");function rb(a){return{}.toString.call(a)}var H;function Fb(){if(!H){H={};m(["Boolean","Number","String","Function","Array","Date","RegExp","Object"],function(a){H["[object "+a+"]"]=a.toLowerCase()})}return H}function m(a,d){if(rb(a)=="[object Array]"){for(var b=0;b<a.length;b++)if(d(a[b],b,a))return c}else for(var e in a)if(d(a[e],e,a))return c}function A(a){return a==j?String(a):Fb()[rb(a)]||"object"}function pb(a){for(var b in a)return c}function x(a){try{return A(a)=="object"&&!a.nodeType&&a!=a.window&&(!a.constructor||{}.hasOwnProperty.call(a.constructor.prototype,"isPrototypeOf"))}catch(b){}}function w(a,b){return{x:a,y:b}}function vb(b,a){setTimeout(b,a||0)}function F(b,d,c){var a=!b||b=="inherit"?"":b;m(d,function(c){var b=c.exec(a);if(b){var d=a.substr(0,b.index),e=a.substr(b.lastIndex+1,a.length-(b.lastIndex+1));a=d+e}});a=c+(a.indexOf(" ")!=0?" ":"")+a;return a}function eb(b,a){if(l<9)b.style.filter=a}function Bb(g,a,i){if(!J||J<9){var d=a.$ScaleX,e=a.$ScaleY,j=(a.$Rotate||0)%360,h="";if(j||d!=k||e!=k){if(d==k)d=1;if(e==k)e=1;var c=f.$CreateMatrix(j/180*b.PI,d||1,e||1),i=f.$GetMatrixOffset(c,a.$OriginalWidth,a.$OriginalHeight);f.$CssMarginTop(g,i.y);f.$CssMarginLeft(g,i.x);h="progid:DXImageTransform.Microsoft.Matrix(M11="+c[0][0]+", M12="+c[0][1]+", M21="+c[1][0]+", M22="+c[1][1]+", SizingMethod='auto expand')"}var m=g.style.filter,n=new RegExp(/[\s]*progid:DXImageTransform\.Microsoft\.Matrix\([^\)]*\)/g),l=F(m,[n],h);eb(g,l)}}f.$Device=Ib;f.$IsBrowserIE=p;f.$IsBrowserIeQuirks=N;f.$IsBrowserFireFox=Ab;f.$IsBrowserSafari=hb;f.$IsBrowserChrome=Db;f.$IsBrowserOpera=mb;f.$IsBrowserBadTransform=ab;f.$IsBrowserIe9Earlier=L;f.$BrowserVersion=function(){return l};f.$BrowserEngineVersion=function(){return q||l};f.$WebKitVersion=function(){t();return C};f.$Delay=vb;f.$Inherit=function(a,b){b.call(a);return z({},a)};function V(a){a.constructor===V.caller&&a.$Construct&&a.$Construct.apply(a,V.caller.arguments)}f.$Construct=V;f.$GetElement=function(a){if(f.$IsString(a))a=e.getElementById(a);return a};function r(a){return a||g.event}f.$GetEvent=r;f.$EvtSrc=function(a){a=r(a);return a.target||a.srcElement||e};f.$EvtTarget=function(a){a=r(a);return a.relatedTarget||a.toElement};f.$EvtWhich=function(a){a=r(a);return a.which||([0,1,3,0,2])[a.button]||a.charCode||a.keyCode};f.$MousePosition=function(a){a=r(a);return{x:a.pageX||a.clientX||0,y:a.pageY||a.clientY||0}};f.$PageScroll=function(){var a=e.body;return{x:(g.pageXOffset||v.scrollLeft||a.scrollLeft||0)-(v.clientLeft||a.clientLeft||0),y:(g.pageYOffset||v.scrollTop||a.scrollTop||0)-(v.clientTop||a.clientTop||0)}};f.$WindowSize=function(){var a=e.body;return{x:a.clientWidth||v.clientWidth,y:a.clientHeight||v.clientHeight}};function B(c,d,a){if(a!==k)c.style[d]=a==k?"":a;else{var b=c.currentStyle||c.style;a=b[d];if(a==""&&g.getComputedStyle){b=c.ownerDocument.defaultView.getComputedStyle(c,j);b&&(a=b.getPropertyValue(d)||b[d])}return a}}function X(b,c,a,d){if(a!==k){if(a==j)a="";else d&&(a+="px");B(b,c,a)}else return o(B(b,c))}function Jb(b,d,a){return X(b,d,a,c)}function h(c,a){var d=a?X:B,b;if(a&4)b=cb(c);return function(e,f){return d(e,b?b(e):c,f,a&2)}}function Cb(b){if(p()&&q<9){var a=/opacity=([^)]*)/.exec(b.style.filter||"");return a?o(a[1])/100:1}else return o(b.style.opacity||"1")}function Eb(c,a,f){if(p()&&q<9){var h=c.style.filter||"",i=new RegExp(/[\s]*alpha\([^\)]*\)/g),e=b.round(100*a),d="";if(e<100||f)d="alpha(opacity="+e+") ";var g=F(h,[i],d);eb(c,g)}else c.style.opacity=a==1?"":b.round(a*100)/100}var xb={$Rotate:["rotate"],$RotateX:["rotateX"],$RotateY:["rotateY"],$ScaleX:["scaleX",2],$ScaleY:["scaleY",2],$TranslateX:["translateX",1],$TranslateY:["translateY",1],$TranslateZ:["translateZ",1],$SkewX:["skewX"],$SkewY:["skewY"]};function Z(e,c){if(p()&&l&&l<10){delete c.$RotateX;delete c.$RotateY}var d=bb(e);if(d){var b="";a.$Each(c,function(e,c){var a=xb[c];if(a){var d=a[1]||0;b+=(b?" ":"")+a[0]+"("+e+(["deg","px",""])[d]+")"}});e.style[d]=b}}f.$SetStyleTransform=function(b,a){if(ab())vb(f.$CreateCallback(j,Z,b,a));else(L()?Bb:Z)(b,a)};f.$CssTransformOrigin=h("transformOrigin",4);f.$CssBackfaceVisibility=h("backfaceVisibility",4);f.$CssTransformStyle=h("transformStyle",4);f.$CssPerspective=h("perspective",6);f.$CssPerspectiveOrigin=h("perspectiveOrigin",4);f.$CssScale=function(a,c){if(p()&&q<9||q<10&&N())a.style.zoom=c==1?"":c;else{var b=bb(a);if(b){var f="scale("+c+")",e=a.style[b],g=new RegExp(/[\s]*scale\(.*?\)/g),d=F(e,[g],f);a.style[b]=d}}};var lb=0,gb=0;f.$WindowResizeFilter=function(b,a){return L()?function(){var g=c,d=N()?b.document.body:b.document.documentElement;if(d){var f=d.offsetWidth-lb,e=d.offsetHeight-gb;if(f||e){lb+=f;gb+=e}else g=i}g&&a()}:a};f.$MouseOverOutFilter=function(b,a){return function(c){c=r(c);var e=c.type,d=c.relatedTarget||(e=="mouseout"?c.toElement:c.fromElement);(!d||d!==a&&!f.$IsChild(a,d))&&b(c)}};f.$AddEvent=function(a,c,d,b){a=f.$GetElement(a);if(a.addEventListener){c=="mousewheel"&&a.addEventListener("DOMMouseScroll",d,b);a.addEventListener(c,d,b)}else if(a.attachEvent){a.attachEvent("on"+c,d);b&&a.setCapture&&a.setCapture()}};f.$RemoveEvent=function(a,c,d,b){a=f.$GetElement(a);if(a.removeEventListener){c=="mousewheel"&&a.removeEventListener("DOMMouseScroll",d,b);a.removeEventListener(c,d,b)}else if(a.detachEvent){a.detachEvent("on"+c,d);b&&a.releaseCapture&&a.releaseCapture()}};f.$FireEvent=function(c,b){var a;if(e.createEvent){a=e.createEvent("HTMLEvents");a.initEvent(b,i,i);c.dispatchEvent(a)}else{var d="on"+b;a=e.createEventObject();c.fireEvent(d,a)}};f.$CancelEvent=function(a){a=r(a);a.preventDefault&&a.preventDefault();a.cancel=c;a.returnValue=i};f.$StopEvent=function(a){a=r(a);a.stopPropagation&&a.stopPropagation();a.cancelBubble=c};f.$CreateCallback=function(d,c){var a=[].slice.call(arguments,2),b=function(){var b=a.concat([].slice.call(arguments,0));return c.apply(d,b)};return b};f.$InnerText=function(a,b){if(b==k)return a.textContent||a.innerText;var c=e.createTextNode(b);f.$Empty(a);a.appendChild(c)};f.$InnerHtml=function(a,b){if(b==k)return a.innerHTML;a.innerHTML=b};f.$GetClientRect=function(b){var a=b.getBoundingClientRect();return{x:a.left,y:a.top,w:a.right-a.left,h:a.bottom-a.top}};f.$ClearInnerHtml=function(a){a.innerHTML=""};f.$EncodeHtml=function(b){var a=f.$CreateDiv();f.$InnerText(a,b);return f.$InnerHtml(a)};f.$DecodeHtml=function(b){var a=f.$CreateDiv();f.$InnerHtml(a,b);return f.$InnerText(a)};f.$SelectElement=function(c){var b;if(g.getSelection)b=g.getSelection();var a=j;if(e.createRange){a=e.createRange();a.selectNode(c)}else{a=e.body.createTextRange();a.moveToElementText(c);a.select()}b&&b.addRange(a)};f.$DeselectElements=function(){if(e.selection)e.selection.empty();else g.getSelection&&g.getSelection().removeAllRanges()};f.$Children=function(d,c){for(var b=[],a=d.firstChild;a;a=a.nextSibling)(c||a.nodeType==1)&&b.push(a);return b};function qb(a,c,e,b){b=b||"u";for(a=a?a.firstChild:j;a;a=a.nextSibling)if(a.nodeType==1){if(R(a,b)==c)return a;if(!e){var d=qb(a,c,e,b);if(d)return d}}}f.$FindChild=qb;function P(a,d,f,b){b=b||"u";var c=[];for(a=a?a.firstChild:j;a;a=a.nextSibling)if(a.nodeType==1){R(a,b)==d&&c.push(a);if(!f){var e=P(a,d,f,b);if(e.length)c=c.concat(e)}}return c}function kb(a,c,d){for(a=a?a.firstChild:j;a;a=a.nextSibling)if(a.nodeType==1){if(a.tagName==c)return a;if(!d){var b=kb(a,c,d);if(b)return b}}}f.$FindChildByTag=kb;function db(a,c,e){var b=[];for(a=a?a.firstChild:j;a;a=a.nextSibling)if(a.nodeType==1){(!c||a.tagName==c)&&b.push(a);if(!e){var d=db(a,c,e);if(d.length)b=b.concat(d)}}return b}f.$FindChildrenByTag=db;f.$GetElementsByTag=function(b,a){return b.getElementsByTagName(a)};function z(){var e=arguments,d,c,b,a,g=1&e[0],f=1+g;d=e[f-1]||{};for(;f<e.length;f++)if(c=e[f])for(b in c){a=c[b];if(a!==k){a=c[b];var h=d[b];d[b]=g&&(x(h)||x(a))?z(g,{},h,a):a}}return d}f.$Extend=z;function W(f,g){var d={},c,a,b;for(c in f){a=f[c];b=g[c];if(a!==b){var e;if(x(a)&&x(b)){a=W(a,b);e=!pb(a)}!e&&(d[c]=a)}}return d}f.$Unextend=W;f.$IsFunction=function(a){return A(a)=="function"};f.$IsArray=function(a){return A(a)=="array"};f.$IsString=function(a){return A(a)=="string"};f.$IsNumeric=function(a){return!isNaN(o(a))&&isFinite(a)};f.$Type=A;f.$Each=m;f.$IsNotEmpty=pb;f.$IsPlainObject=x;function O(a){return e.createElement(a)}f.$CreateElement=O;f.$CreateDiv=function(){return O("DIV")};f.$CreateSpan=function(){return O("SPAN")};f.$EmptyFunction=function(){};function T(b,c,a){if(a==k)return b.getAttribute(c);b.setAttribute(c,a)}function R(a,b){return T(a,b)||T(a,"data-"+b)}f.$Attribute=T;f.$AttributeEx=R;function u(b,a){if(a==k)return b.className;b.className=a}f.$ClassName=u;function ub(b){var a={};m(b,function(b){a[b]=b});return a}function Hb(b){var a=[];m(b,function(b){a.push(b)});return a}function wb(b,a){return b.match(a||zb)}function M(b,a){return ub(wb(b||"",a))}f.$ToHash=ub;f.$FromHash=Hb;f.$Split=wb;function Y(b,c){var a="";m(c,function(c){a&&(a+=b);a+=c});return a}function E(a,c,b){u(a,Y(" ",z(W(M(u(a)),M(c)),M(b))))}f.$Join=Y;f.$AddClass=function(b,a){E(b,j,a)};f.$RemoveClass=E;f.$ReplaceClass=E;f.$ParentNode=function(a){return a.parentNode};f.$HideElement=function(a){f.$CssDisplay(a,"none")};f.$EnableElement=function(a,b){if(b)f.$Attribute(a,"disabled",c);else f.$RemoveAttribute(a,"disabled")};f.$HideElements=function(b){for(var a=0;a<b.length;a++)f.$HideElement(b[a])};f.$ShowElement=function(a,b){f.$CssDisplay(a,b?"none":"")};f.$ShowElements=function(b,c){for(var a=0;a<b.length;a++)f.$ShowElement(b[a],c)};f.$RemoveAttribute=function(b,a){b.removeAttribute(a)};f.$CanClearClip=function(){return p()&&l<10};f.$SetStyleClip=function(d,c){if(c)d.style.clip="rect("+b.round(c.$Top)+"px "+b.round(c.$Right)+"px "+b.round(c.$Bottom)+"px "+b.round(c.$Left)+"px)";else{var g=d.style.cssText,f=[new RegExp(/[\s]*clip: rect\(.*?\)[;]?/i),new RegExp(/[\s]*cliptop: .*?[;]?/i),new RegExp(/[\s]*clipright: .*?[;]?/i),new RegExp(/[\s]*clipbottom: .*?[;]?/i),new RegExp(/[\s]*clipleft: .*?[;]?/i)],e=F(g,f,"");a.$CssCssText(d,e)}};f.$GetNow=function(){return+new Date};f.$AppendChild=function(b,a){b.appendChild(a)};f.$AppendChildren=function(b,a){m(a,function(a){f.$AppendChild(b,a)})};f.$InsertBefore=function(b,a,c){(c||a.parentNode).insertBefore(b,a)};f.$InsertAfter=function(b,a,c){f.$InsertBefore(b,a.nextSibling,c||a.parentNode)};f.$InsertAdjacentHtml=function(b,a,c){b.insertAdjacentHTML(a,c)};f.$RemoveElement=function(a,b){(b||a.parentNode).removeChild(a)};f.$RemoveElements=function(a,b){m(a,function(a){f.$RemoveElement(a,b)})};f.$Empty=function(a){f.$RemoveElements(f.$Children(a,c),a)};f.$CenterElement=function(a,b){var c=f.$ParentNode(a);b&1&&f.$CssLeft(a,(f.$CssWidth(c)-f.$CssWidth(a))/2);b&2&&f.$CssTop(a,(f.$CssHeight(c)-f.$CssHeight(a))/2)};f.$ParseInt=function(b,a){return parseInt(b,a||10)};var o=parseFloat;f.$ParseFloat=o;f.$IsChild=function(b,a){var c=e.body;while(a&&b!==a&&c!==a)try{a=a.parentNode}catch(d){return i}return b===a};function U(d,c,b){var a=d.cloneNode(!c);!b&&f.$RemoveAttribute(a,"id");return a}f.$CloneNode=U;f.$LoadImage=function(e,g){var a=new Image;function b(e,c){f.$RemoveEvent(a,"load",b);f.$RemoveEvent(a,"abort",d);f.$RemoveEvent(a,"error",d);g&&g(a,c)}function d(a){b(a,c)}if(mb()&&l<11.6||!e)b(!e);else{f.$AddEvent(a,"load",b);f.$AddEvent(a,"abort",d);f.$AddEvent(a,"error",d);a.src=e}};f.$LoadImages=function(d,a,e){var c=d.length+1;function b(b){c--;if(a&&b&&b.src==a.src)a=b;!c&&e&&e(a)}m(d,function(a){f.$LoadImage(a.src,b)});b()};f.$BuildElement=function(b,g,i,h){if(h)b=U(b);var c=P(b,g);if(!c.length)c=a.$GetElementsByTag(b,g);for(var f=c.length-1;f>-1;f--){var d=c[f],e=U(i);u(e,u(d));a.$CssCssText(e,d.style.cssText);a.$InsertBefore(e,d);a.$RemoveElement(d)}return b};function Gb(b){var l=this,p="",r=["av","pv","ds","dn"],g=[],q,j=0,h=0,d=0;function i(){E(b,q,g[d||j||h&2||h]);a.$Css(b,"pointer-events",d?"none":"")}function c(){j=0;i();f.$RemoveEvent(e,"mouseup",c);f.$RemoveEvent(e,"touchend",c);f.$RemoveEvent(e,"touchcancel",c)}function o(a){if(d)f.$CancelEvent(a);else{j=4;i();f.$AddEvent(e,"mouseup",c);f.$AddEvent(e,"touchend",c);f.$AddEvent(e,"touchcancel",c)}}l.$Selected=function(a){if(a===k)return h;h=a&2||a&1;i()};l.$Enable=function(a){if(a===k)return!d;d=a?0:3;i()};l.$Elmt=b=f.$GetElement(b);var n=a.$Split(u(b));if(n)p=n.shift();m(r,function(a){g.push(p+a)});q=Y(" ",g);g.unshift("");f.$AddEvent(b,"mousedown",o);f.$AddEvent(b,"touchstart",o)}f.$Buttonize=function(a){return new Gb(a)};f.$Css=B;f.$CssN=X;f.$CssP=Jb;f.$CssOverflow=h("overflow");f.$CssTop=h("top",2);f.$CssLeft=h("left",2);f.$CssWidth=h("width",2);f.$CssHeight=h("height",2);f.$CssMarginLeft=h("marginLeft",2);f.$CssMarginTop=h("marginTop",2);f.$CssPosition=h("position");f.$CssDisplay=h("display");f.$CssZIndex=h("zIndex",1);f.$CssFloat=function(b,a){return B(b,p()?"styleFloat":"cssFloat",a)};f.$CssOpacity=function(b,a,c){if(a!=k)Eb(b,a,c);else return Cb(b)};f.$CssCssText=function(a,b){if(b!=k)a.style.cssText=b;else return a.style.cssText};var Q={$Opacity:f.$CssOpacity,$Top:f.$CssTop,$Left:f.$CssLeft,$Width:f.$CssWidth,$Height:f.$CssHeight,$Position:f.$CssPosition,$Display:f.$CssDisplay,$ZIndex:f.$CssZIndex},K;function G(){if(!K)K=z({$MarginTop:f.$CssMarginTop,$MarginLeft:f.$CssMarginLeft,$Clip:f.$SetStyleClip,$Transform:f.$SetStyleTransform},Q);return K}function ob(){var a={};a.$Transform=a.$Transform;a.$Transform=a.$Rotate;a.$Transform=a.$RotateX;a.$Transform=a.$RotateY;a.$Transform=a.$SkewX;a.$Transform=a.$SkewY;a.$Transform=a.$TranslateX;a.$Transform=a.$TranslateY;a.$Transform=a.$TranslateZ;return G()}f.$StyleSetter=G;f.$StyleSetterEx=ob;f.$GetStyles=function(c,b){G();var a={};m(b,function(d,b){if(Q[b])a[b]=Q[b](c)});return a};f.$SetStyles=function(c,b){var a=G();m(b,function(d,b){a[b]&&a[b](c,d)})};f.$SetStylesEx=function(b,a){ob();f.$SetStyles(b,a)};var D=new function(){var a=this;function b(d,g){for(var j=d[0].length,i=d.length,h=g[0].length,f=[],c=0;c<i;c++)for(var k=f[c]=[],b=0;b<h;b++){for(var e=0,a=0;a<j;a++)e+=d[c][a]*g[a][b];k[b]=e}return f}a.$ScaleX=function(b,c){return a.$ScaleXY(b,c,0)};a.$ScaleY=function(b,c){return a.$ScaleXY(b,0,c)};a.$ScaleXY=function(a,c,d){return b(a,[[c,0],[0,d]])};a.$TransformPoint=function(d,c){var a=b(d,[[c.x],[c.y]]);return w(a[0][0],a[1][0])}};f.$CreateMatrix=function(d,a,c){var e=b.cos(d),f=b.sin(d);return[[e*a,-f*c],[f*a,e*c]]};f.$GetMatrixOffset=function(d,c,a){var e=D.$TransformPoint(d,w(-c/2,-a/2)),f=D.$TransformPoint(d,w(c/2,-a/2)),g=D.$TransformPoint(d,w(c/2,a/2)),h=D.$TransformPoint(d,w(-c/2,a/2));return w(b.min(e.x,f.x,g.x,h.x)+c/2,b.min(e.y,f.y,g.y,h.y)+a/2)};var yb={$Zoom:1,$ScaleX:1,$ScaleY:1,$Rotate:0,$RotateX:0,$RotateY:0,$TranslateX:0,$TranslateY:0,$TranslateZ:0,$SkewX:0,$SkewY:0};f.$FormatEasings=function(b){var c=b||{};if(b)if(a.$IsFunction(b))c={$Default:c};else if(a.$IsFunction(b.$Clip))c.$Clip={$Default:b.$Clip};return c};function tb(c,a){var b={};m(c,function(c,d){var e=c;if(a[d]!=k)if(f.$IsNumeric(c))e=c+a[d];else e=tb(c,a[d]);b[d]=e});return b}f.$AddDif=tb;f.$Cast=function(h,i,w,n,y,z,o){var c=i;if(h){c={};for(var g in i){var A=z[g]||1,v=y[g]||[0,1],e=(w-v[0])/v[1];e=b.min(b.max(e,0),1);e=e*A;var u=b.floor(e);if(e!=u)e-=u;var l=n.$Default||d.$EaseSwing,m,B=h[g],q=i[g];if(a.$IsNumeric(q)){l=n[g]||l;var x=l(e);m=B+q*x}else{m=a.$Extend({$Offset:{}},h[g]);a.$Each(q.$Offset||q,function(d,a){if(n.$Clip)l=n.$Clip[a]||n.$Clip.$Default||l;var c=l(e),b=d*c;m.$Offset[a]=b;m[a]+=b})}c[g]=m}var t,f={$OriginalWidth:o.$OriginalWidth,$OriginalHeight:o.$OriginalHeight};a.$Each(yb,function(d,a){t=t||i[a];var b=c[a];if(b!=k){if(b!=d)f[a]=b;delete c[a]}else if(h[a]!=k&&h[a]!=d)f[a]=h[a]});if(i.$Zoom&&f.$Zoom){f.$ScaleX=f.$Zoom;f.$ScaleY=f.$Zoom}c.$Transform=f}if(i.$Clip&&o.$Move){var p=c.$Clip.$Offset,s=(p.$Top||0)+(p.$Bottom||0),r=(p.$Left||0)+(p.$Right||0);c.$Left=(c.$Left||0)+r;c.$Top=(c.$Top||0)+s;c.$Clip.$Left-=r;c.$Clip.$Right-=r;c.$Clip.$Top-=s;c.$Clip.$Bottom-=s}if(c.$Clip&&a.$CanClearClip()&&!c.$Clip.$Top&&!c.$Clip.$Left&&c.$Clip.$Right==o.$OriginalWidth&&c.$Clip.$Bottom==o.$OriginalHeight)c.$Clip=j;return c}};function m(){var b=this,d=[],c=[];function i(a,b){d.push({$EventName:a,$Handler:b})}function h(b,c){a.$Each(d,function(a,e){a.$EventName==b&&a.$Handler===c&&d.splice(e,1)})}function f(){d=[]}function e(){a.$Each(c,function(b){a.$RemoveEvent(b.$Obj,b.$EventName,b.$Handler)});c=[]}b.$Listen=function(e,b,d,f){a.$AddEvent(e,b,d,f);c.push({$Obj:e,$EventName:b,$Handler:d})};b.$Unlisten=function(e,b,d){a.$Each(c,function(f,g){if(f.$Obj===e&&f.$EventName==b&&f.$Handler===d){a.$RemoveEvent(e,b,d);c.splice(g,1)}})};b.$UnlistenAll=e;b.$On=b.addEventListener=i;b.$Off=b.removeEventListener=h;b.$TriggerEvent=function(b){var c=[].slice.call(arguments,1);a.$Each(d,function(a){a.$EventName==b&&a.$Handler.apply(g,c)})};b.$Destroy=function(){e();f();for(var a in b)delete b[a]}}var l=g.$JssorAnimator$=function(y,C,k,P,N,J){y=y||0;var d=this,q,M,n,o,v,z=0,H,I,G,B,x=0,h=0,m=0,D,l,s,f,e,p,w=[],A;function O(a){f+=a;e+=a;l+=a;s+=a;h+=a;m+=a;x+=a}function u(n){var g=n;if(p&&(g>=e||g<=f))g=((g-f)%p+p)%p+f;if(!D||v||h!=g){var i=b.min(g,e);i=b.max(i,f);if(!D||v||i!=m){if(J){var j=(i-l)/(C||1);if(k.$Reverse)j=1-j;var o=a.$Cast(N,J,j,H,G,I,k);a.$Each(o,function(b,a){A[a]&&A[a](P,b)})}d.$OnInnerOffsetChange(m-l,i-l);m=i;a.$Each(w,function(b,c){var a=n<h?w[w.length-c-1]:b;a.$GoToPosition(m-x)});var r=h,q=m;h=g;D=c;d.$OnPositionChange(r,q)}}}function E(a,c,d){c&&a.$Shift(e);if(!d){f=b.min(f,a.$GetPosition_OuterBegin()+x);e=b.max(e,a.$GetPosition_OuterEnd()+x)}w.push(a)}var r=g.requestAnimationFrame||g.webkitRequestAnimationFrame||g.mozRequestAnimationFrame||g.msRequestAnimationFrame;if(a.$IsBrowserSafari()&&a.$BrowserVersion()<7)r=j;r=r||function(b){a.$Delay(b,k.$Interval)};function K(){if(q){var d=a.$GetNow(),e=b.min(d-z,k.$IntervalMax),c=h+e*o;z=d;if(c*o>=n*o)c=n;u(c);if(!v&&c*o>=n*o)L(B);else r(K)}}function t(g,i,j){if(!q){q=c;v=j;B=i;g=b.max(g,f);g=b.min(g,e);n=g;o=n<h?-1:1;d.$OnStart();z=a.$GetNow();r(K)}}function L(a){if(q){v=q=B=i;d.$OnStop();a&&a()}}d.$Play=function(a,b,c){t(a?h+a:e,b,c)};d.$PlayToPosition=t;d.$PlayToBegin=function(a,b){t(f,a,b)};d.$PlayToEnd=function(a,b){t(e,a,b)};d.$Stop=L;d.$Continue=function(a){t(a)};d.$GetPosition=function(){return h};d.$GetPlayToPosition=function(){return n};d.$GetPosition_Display=function(){return m};d.$GoToPosition=u;d.$GoToBegin=function(){u(f,c)};d.$GoToEnd=function(){u(e,c)};d.$Move=function(a){u(h+a)};d.$CombineMode=function(){return M};d.$GetDuration=function(){return C};d.$IsPlaying=function(){return q};d.$IsOnTheWay=function(){return h>l&&h<=s};d.$SetLoopLength=function(a){p=a};d.$Shift=O;d.$Join=E;d.$Combine=function(a,b){E(a,0,b)};d.$Chain=function(a){E(a,1)};d.$Expand=function(a){e+=a};d.$GetPosition_InnerBegin=function(){return l};d.$GetPosition_InnerEnd=function(){return s};d.$GetPosition_OuterBegin=function(){return f};d.$GetPosition_OuterEnd=function(){return e};d.$OnPositionChange=d.$OnStart=d.$OnStop=d.$OnInnerOffsetChange=a.$EmptyFunction;d.$Version=a.$GetNow();k=a.$Extend({$Interval:16,$IntervalMax:50},k);p=k.$LoopLength;A=a.$Extend({},a.$StyleSetter(),k.$Setter);f=l=y;e=s=y+C;I=k.$Round||{};G=k.$During||{};H=a.$FormatEasings(k.$Easing)};var o=g.$JssorSlideshowFormations$=new function(){var h=this,d=0,a=1,f=2,e=3,s=1,r=2,t=4,q=8,w=256,x=512,v=1024,u=2048,j=u+s,i=u+r,o=x+s,m=x+r,n=w+t,k=w+q,l=v+t,p=v+q;function y(a){return(a&r)==r}function z(a){return(a&t)==t}function g(b,a,c){c.push(a);b[a]=b[a]||[];b[a].push(c)}h.$FormationStraight=function(f){for(var d=f.$Cols,e=f.$Rows,s=f.$Assembly,t=f.$Count,r=[],a=0,b=0,p=d-1,q=e-1,h=t-1,c,b=0;b<e;b++)for(a=0;a<d;a++){switch(s){case j:c=h-(a*e+(q-b));break;case l:c=h-(b*d+(p-a));break;case o:c=h-(a*e+b);case n:c=h-(b*d+a);break;case i:c=a*e+b;break;case k:c=b*d+(p-a);break;case m:c=a*e+(q-b);break;default:c=b*d+a}g(r,c,[b,a])}return r};h.$FormationSwirl=function(q){var x=q.$Cols,y=q.$Rows,B=q.$Assembly,w=q.$Count,A=[],z=[],u=0,b=0,h=0,r=x-1,s=y-1,t,p,v=0;switch(B){case j:b=r;h=0;p=[f,a,e,d];break;case l:b=0;h=s;p=[d,e,a,f];break;case o:b=r;h=s;p=[e,a,f,d];break;case n:b=r;h=s;p=[a,e,d,f];break;case i:b=0;h=0;p=[f,d,e,a];break;case k:b=r;h=0;p=[a,f,d,e];break;case m:b=0;h=s;p=[e,d,f,a];break;default:b=0;h=0;p=[d,f,a,e]}u=0;while(u<w){t=h+","+b;if(b>=0&&b<x&&h>=0&&h<y&&!z[t]){z[t]=c;g(A,u++,[h,b])}else switch(p[v++%p.length]){case d:b--;break;case f:h--;break;case a:b++;break;case e:h++}switch(p[v%p.length]){case d:b++;break;case f:h++;break;case a:b--;break;case e:h--}}return A};h.$FormationZigZag=function(p){var w=p.$Cols,x=p.$Rows,z=p.$Assembly,v=p.$Count,t=[],u=0,b=0,c=0,q=w-1,r=x-1,y,h,s=0;switch(z){case j:b=q;c=0;h=[f,a,e,a];break;case l:b=0;c=r;h=[d,e,a,e];break;case o:b=q;c=r;h=[e,a,f,a];break;case n:b=q;c=r;h=[a,e,d,e];break;case i:b=0;c=0;h=[f,d,e,d];break;case k:b=q;c=0;h=[a,f,d,f];break;case m:b=0;c=r;h=[e,d,f,d];break;default:b=0;c=0;h=[d,f,a,f]}u=0;while(u<v){y=c+","+b;if(b>=0&&b<w&&c>=0&&c<x&&typeof t[y]=="undefined"){g(t,u++,[c,b]);switch(h[s%h.length]){case d:b++;break;case f:c++;break;case a:b--;break;case e:c--}}else{switch(h[s++%h.length]){case d:b--;break;case f:c--;break;case a:b++;break;case e:c++}switch(h[s++%h.length]){case d:b++;break;case f:c++;break;case a:b--;break;case e:c--}}}return t};h.$FormationStraightStairs=function(q){var u=q.$Cols,v=q.$Rows,e=q.$Assembly,t=q.$Count,r=[],s=0,c=0,d=0,f=u-1,h=v-1,x=t-1;switch(e){case j:case m:case o:case i:var a=0,b=0;break;case k:case l:case n:case p:var a=f,b=0;break;default:e=p;var a=f,b=0}c=a;d=b;while(s<t){if(z(e)||y(e))g(r,x-s++,[d,c]);else g(r,s++,[d,c]);switch(e){case j:case m:c--;d++;break;case o:case i:c++;d--;break;case k:case l:c--;d--;break;case p:case n:default:c++;d++}if(c<0||d<0||c>f||d>h){switch(e){case j:case m:a++;break;case k:case l:case o:case i:b++;break;case p:case n:default:a--}if(a<0||b<0||a>f||b>h){switch(e){case j:case m:a=f;b++;break;case o:case i:b=h;a++;break;case k:case l:b=h;a--;break;case p:case n:default:a=0;b++}if(b>h)b=h;else if(b<0)b=0;else if(a>f)a=f;else if(a<0)a=0}d=b;c=a}}return r};h.$FormationSquare=function(i){var a=i.$Cols||1,c=i.$Rows||1,j=[],d,e,f,h,k;f=a<c?(c-a)/2:0;h=a>c?(a-c)/2:0;k=b.round(b.max(a/2,c/2))+1;for(d=0;d<a;d++)for(e=0;e<c;e++)g(j,k-b.min(d+1+f,e+1+h,a-d+f,c-e+h),[e,d]);return j};h.$FormationRectangle=function(f){var d=f.$Cols||1,e=f.$Rows||1,h=[],a,c,i;i=b.round(b.min(d/2,e/2))+1;for(a=0;a<d;a++)for(c=0;c<e;c++)g(h,i-b.min(a+1,c+1,d-a,e-c),[c,a]);return h};h.$FormationRandom=function(d){for(var e=[],a,c=0;c<d.$Rows;c++)for(a=0;a<d.$Cols;a++)g(e,b.ceil(1e5*b.random())%13,[c,a]);return e};h.$FormationCircle=function(d){for(var e=d.$Cols||1,f=d.$Rows||1,h=[],a,i=e/2-.5,j=f/2-.5,c=0;c<e;c++)for(a=0;a<f;a++)g(h,b.round(b.sqrt(b.pow(c-i,2)+b.pow(a-j,2))),[a,c]);return h};h.$FormationCross=function(d){for(var e=d.$Cols||1,f=d.$Rows||1,h=[],a,i=e/2-.5,j=f/2-.5,c=0;c<e;c++)for(a=0;a<f;a++)g(h,b.round(b.min(b.abs(c-i),b.abs(a-j))),[a,c]);return h};h.$FormationRectangleCross=function(f){for(var h=f.$Cols||1,i=f.$Rows||1,j=[],a,d=h/2-.5,e=i/2-.5,k=b.max(d,e)+1,c=0;c<h;c++)for(a=0;a<i;a++)g(j,b.round(k-b.max(d-b.abs(c-d),e-b.abs(a-e)))-1,[a,c]);return j}};g.$JssorSlideshowRunner$=function(n,s,q,t,y){var f=this,u,g,e,x=0,w=t.$TransitionsOrder,r,h=8;function k(g,f){var e={$Interval:f,$Duration:1,$Delay:0,$Cols:1,$Rows:1,$Opacity:0,$Zoom:0,$Clip:0,$Move:i,$SlideOut:i,$Reverse:i,$Formation:o.$FormationRandom,$Assembly:1032,$ChessMode:{$Column:0,$Row:0},$Easing:d.$EaseSwing,$Round:{},$Blocks:[],$During:{}};a.$Extend(e,g);e.$Count=e.$Cols*e.$Rows;e.$Easing=a.$FormatEasings(e.$Easing);e.$FramesCount=b.ceil(e.$Duration/e.$Interval);e.$GetBlocks=function(b,a){b/=e.$Cols;a/=e.$Rows;var f=b+"x"+a;if(!e.$Blocks[f]){e.$Blocks[f]={$Width:b,$Height:a};for(var c=0;c<e.$Cols;c++)for(var d=0;d<e.$Rows;d++)e.$Blocks[f][d+","+c]={$Top:d*a,$Right:c*b+b,$Bottom:d*a+a,$Left:c*b}}return e.$Blocks[f]};if(e.$Brother){e.$Brother=k(e.$Brother,f);e.$SlideOut=c}return e}function p(A,h,d,v,n,l){var y=this,t,u={},j={},m=[],f,e,r,p=d.$ChessMode.$Column||0,q=d.$ChessMode.$Row||0,g=d.$GetBlocks(n,l),o=B(d),C=o.length-1,s=d.$Duration+d.$Delay*C,w=v+s,k=d.$SlideOut,x;w+=50;function B(a){var b=a.$Formation(a);return a.$Reverse?b.reverse():b}y.$EndTime=w;y.$ShowFrame=function(c){c-=v;var e=c<s;if(e||x){x=e;if(!k)c=s-c;var f=b.ceil(c/d.$Interval);a.$Each(j,function(c,e){var d=b.max(f,c.$Min);d=b.min(d,c.length-1);if(c.$LastFrameIndex!=d){if(!c.$LastFrameIndex&&!k)a.$ShowElement(m[e]);else d==c.$Max&&k&&a.$HideElement(m[e]);c.$LastFrameIndex=d;a.$SetStylesEx(m[e],c[d])}})}};h=a.$CloneNode(h);if(a.$IsBrowserIe9Earlier()){var D=!h["no-image"],z=a.$FindChildrenByTag(h);a.$Each(z,function(b){(D||b["jssor-slider"])&&a.$CssOpacity(b,a.$CssOpacity(b),c)})}a.$Each(o,function(h,m){a.$Each(h,function(G){var K=G[0],J=G[1],v=K+","+J,o=i,s=i,x=i;if(p&&J%2){if(p&3)o=!o;if(p&12)s=!s;if(p&16)x=!x}if(q&&K%2){if(q&3)o=!o;if(q&12)s=!s;if(q&16)x=!x}d.$Top=d.$Top||d.$Clip&4;d.$Bottom=d.$Bottom||d.$Clip&8;d.$Left=d.$Left||d.$Clip&1;d.$Right=d.$Right||d.$Clip&2;var C=s?d.$Bottom:d.$Top,z=s?d.$Top:d.$Bottom,B=o?d.$Right:d.$Left,A=o?d.$Left:d.$Right;d.$Clip=C||z||B||A;r={};e={$Top:0,$Left:0,$Opacity:1,$Width:n,$Height:l};f=a.$Extend({},e);t=a.$Extend({},g[v]);if(d.$Opacity)e.$Opacity=2-d.$Opacity;if(d.$ZIndex){e.$ZIndex=d.$ZIndex;f.$ZIndex=0}var I=d.$Cols*d.$Rows>1||d.$Clip;if(d.$Zoom||d.$Rotate){var H=c;if(a.$IsBrowserIe9Earlier())if(d.$Cols*d.$Rows>1)H=i;else I=i;if(H){e.$Zoom=d.$Zoom?d.$Zoom-1:1;f.$Zoom=1;if(a.$IsBrowserIe9Earlier()||a.$IsBrowserOpera())e.$Zoom=b.min(e.$Zoom,2);var N=d.$Rotate||0;e.$Rotate=N*360*(x?-1:1);f.$Rotate=0}}if(I){var h=t.$Offset={};if(d.$Clip){var w=d.$ScaleClip||1;if(C&&z){h.$Top=g.$Height/2*w;h.$Bottom=-h.$Top}else if(C)h.$Bottom=-g.$Height*w;else if(z)h.$Top=g.$Height*w;if(B&&A){h.$Left=g.$Width/2*w;h.$Right=-h.$Left}else if(B)h.$Right=-g.$Width*w;else if(A)h.$Left=g.$Width*w}r.$Clip=t;f.$Clip=g[v]}var L=o?1:-1,M=s?1:-1;if(d.x)e.$Left+=n*d.x*L;if(d.y)e.$Top+=l*d.y*M;a.$Each(e,function(b,c){if(a.$IsNumeric(b))if(b!=f[c])r[c]=b-f[c]});u[v]=k?f:e;var D=d.$FramesCount,y=b.round(m*d.$Delay/d.$Interval);j[v]=new Array(y);j[v].$Min=y;j[v].$Max=y+D-1;for(var F=0;F<=D;F++){var E=a.$Cast(f,r,F/D,d.$Easing,d.$During,d.$Round,{$Move:d.$Move,$OriginalWidth:n,$OriginalHeight:l});E.$ZIndex=E.$ZIndex||1;j[v].push(E)}})});o.reverse();a.$Each(o,function(b){a.$Each(b,function(c){var f=c[0],e=c[1],d=f+","+e,b=h;if(e||f)b=a.$CloneNode(h);a.$SetStyles(b,u[d]);a.$CssOverflow(b,"hidden");a.$CssPosition(b,"absolute");A.$AddClipElement(b);m[d]=b;a.$ShowElement(b,!k)})})}function v(){var a=this,b=0;l.call(a,0,u);a.$OnPositionChange=function(c,a){if(a-b>h){b=a;e&&e.$ShowFrame(a);g&&g.$ShowFrame(a)}};a.$Transition=r}f.$GetTransition=function(){var a=0,c=t.$Transitions,d=c.length;if(w)a=x++%d;else a=b.floor(b.random()*d);c[a]&&(c[a].$Index=a);return c[a]};f.$Initialize=function(w,x,j,l,a){r=a;a=k(a,h);var i=l.$Item,d=j.$Item;i["no-image"]=!l.$Image;d["no-image"]=!j.$Image;var m=i,o=d,v=a,c=a.$Brother||k({},h);if(!a.$SlideOut){m=d;o=i}var t=c.$Shift||0;g=new p(n,o,c,b.max(t-c.$Interval,0),s,q);e=new p(n,m,v,b.max(c.$Interval-t,0),s,q);g.$ShowFrame(0);e.$ShowFrame(0);u=b.max(g.$EndTime,e.$EndTime);f.$Index=w};f.$Clear=function(){n.$Clear();g=j;e=j};f.$GetProcessor=function(){var a=j;if(e)a=new v;return a};if(a.$IsBrowserIe9Earlier()||a.$IsBrowserOpera()||y&&a.$WebKitVersion()<537)h=16;m.call(f);l.call(f,-1e7,1e7)};var h=g.$JssorSlider$=function(q,fc){var o=this;function Ec(){var a=this;l.call(a,-1e8,2e8);a.$GetCurrentSlideInfo=function(){var c=a.$GetPosition_Display(),d=b.floor(c),f=t(d),e=c-b.floor(c);return{$Index:f,$VirtualIndex:d,$Position:e}};a.$OnPositionChange=function(d,a){var e=b.floor(a);if(e!=a&&a>d)e++;Ub(e,c);o.$TriggerEvent(h.$EVT_POSITION_CHANGE,t(a),t(d),a,d)}}function Dc(){var b=this;l.call(b,0,0,{$LoopLength:r});a.$Each(C,function(a){D&1&&a.$SetLoopLength(r);b.$Chain(a);a.$Shift(fb/bc)})}function Cc(){var a=this,b=Tb.$Elmt;l.call(a,-1,2,{$Easing:d.$EaseLinear,$Setter:{$Position:Zb},$LoopLength:r},b,{$Position:1},{$Position:-2});a.$Wrapper=b}function qc(n,m){var a=this,d,e,g,k,b;l.call(a,-1e8,2e8,{$IntervalMax:100});a.$OnStart=function(){O=c;R=j;o.$TriggerEvent(h.$EVT_SWIPE_START,t(w.$GetPosition()),w.$GetPosition())};a.$OnStop=function(){O=i;k=i;var a=w.$GetCurrentSlideInfo();o.$TriggerEvent(h.$EVT_SWIPE_END,t(w.$GetPosition()),w.$GetPosition());!a.$Position&&Gc(a.$VirtualIndex,s)};a.$OnPositionChange=function(i,h){var a;if(k)a=b;else{a=e;if(g){var c=h/g;a=f.$SlideEasing(c)*(e-d)+d}}w.$GoToPosition(a)};a.$PlayCarousel=function(b,f,c,h){d=b;e=f;g=c;w.$GoToPosition(b);a.$GoToPosition(0);a.$PlayToPosition(c,h)};a.$StandBy=function(d){k=c;b=d;a.$Play(d,j,c)};a.$SetStandByPosition=function(a){b=a};a.$MoveCarouselTo=function(a){w.$GoToPosition(a)};w=new Ec;w.$Combine(n);w.$Combine(m)}function rc(){var c=this,b=Xb();a.$CssZIndex(b,0);a.$Css(b,"pointerEvents","none");c.$Elmt=b;c.$AddClipElement=function(c){a.$AppendChild(b,c);a.$ShowElement(b)};c.$Clear=function(){a.$HideElement(b);a.$Empty(b)}}function Bc(k,e){var d=this,q,H,x,n,y=[],w,B,W,G,Q,F,g,v,p,eb;l.call(d,-u,u+1,{$SlideItemAnimator:c});function E(b){q&&q.$Revert();T(k,b,0);F=c;q=new I.$Class(k,I,a.$ParseFloat(a.$AttributeEx(k,"idle"))||pc);q.$GoToPosition(0)}function Y(){q.$Version<I.$Version&&E()}function N(p,r,m){if(!G){G=c;if(n&&m){var g=m.width,b=m.height,l=g,k=b;if(g&&b&&f.$FillMode){if(f.$FillMode&3&&(!(f.$FillMode&4)||g>K||b>J)){var j=i,q=K/J*b/g;if(f.$FillMode&1)j=q>1;else if(f.$FillMode&2)j=q<1;l=j?g*J/b:K;k=j?J:b*K/g}a.$CssWidth(n,l);a.$CssHeight(n,k);a.$CssTop(n,(J-k)/2);a.$CssLeft(n,(K-l)/2)}a.$CssPosition(n,"absolute");o.$TriggerEvent(h.$EVT_LOAD_END,e)}}a.$HideElement(r);p&&p(d)}function X(b,c,f,g){if(g==R&&s==e&&P)if(!Fc){var a=t(b);A.$Initialize(a,e,c,d,f);c.$HideContentForSlideshow();U.$Shift(a-U.$GetPosition_OuterBegin()-1);U.$GoToPosition(a);z.$PlayCarousel(b,b,0)}}function ab(b){if(b==R&&s==e){if(!g){var a=j;if(A)if(A.$Index==e)a=A.$GetProcessor();else A.$Clear();Y();g=new yc(k,e,a,q);g.$SetPlayer(p)}!g.$IsPlaying()&&g.$Replay()}}function S(c,h,l){if(c==e){if(c!=h)C[h]&&C[h].$ParkOut();else!l&&g&&g.$AdjustIdleOnPark();p&&p.$Enable();var m=R=a.$GetNow();d.$LoadImage(a.$CreateCallback(j,ab,m))}else{var k=b.min(e,c),i=b.max(e,c),o=b.min(i-k,k+r-i),n=u+f.$LazyLoading-1;(!Q||o<=n)&&d.$LoadImage()}}function bb(){if(s==e&&g){g.$Stop();p&&p.$Quit();p&&p.$Disable();g.$OpenSlideshowPanel()}}function db(){s==e&&g&&g.$Stop()}function Z(a){!M&&o.$TriggerEvent(h.$EVT_CLICK,e,a)}function O(){p=v.pInstance;g&&g.$SetPlayer(p)}d.$LoadImage=function(d,b){b=b||x;if(y.length&&!G){a.$ShowElement(b);if(!W){W=c;o.$TriggerEvent(h.$EVT_LOAD_START,e);a.$Each(y,function(b){if(!a.$Attribute(b,"src")){b.src=a.$AttributeEx(b,"src2");a.$CssDisplay(b,b["display-origin"])}})}a.$LoadImages(y,n,a.$CreateCallback(j,N,d,b))}else N(d,b)};d.$GoForNextSlide=function(){var h=e;if(f.$AutoPlaySteps<0)h-=r;var c=h+f.$AutoPlaySteps*wc;if(D&2)c=t(c);if(!(D&1))c=b.max(0,b.min(c,r-u));if(c!=e){if(A){var d=A.$GetTransition(r);if(d){var i=R=a.$GetNow(),g=C[t(c)];return g.$LoadImage(a.$CreateCallback(j,X,c,g,d,i),x)}}nb(c)}};d.$TryActivate=function(){S(e,e,c)};d.$ParkOut=function(){p&&p.$Quit();p&&p.$Disable();d.$UnhideContentForSlideshow();g&&g.$Abort();g=j;E()};d.$StampSlideItemElements=function(a){a=eb+"_"+a};d.$HideContentForSlideshow=function(){a.$HideElement(k)};d.$UnhideContentForSlideshow=function(){a.$ShowElement(k)};d.$EnablePlayer=function(){p&&p.$Enable()};function T(b,d,e){if(a.$Attribute(b,"jssor-slider"))return;if(!F){if(b.tagName=="IMG"){y.push(b);if(!a.$Attribute(b,"src")){Q=c;b["display-origin"]=a.$CssDisplay(b);a.$HideElement(b)}}a.$IsBrowserIe9Earlier()&&a.$CssZIndex(b,(a.$CssZIndex(b)||0)+1)}var f=a.$Children(b);a.$Each(f,function(f){var h=f.tagName,j=a.$AttributeEx(f,"u");if(j=="player"&&!v){v=f;if(v.pInstance)O();else a.$AddEvent(v,"dataavailable",O)}if(j=="caption"){if(d){a.$CssTransformOrigin(f,a.$AttributeEx(f,"to"));a.$CssBackfaceVisibility(f,a.$AttributeEx(f,"bf"));a.$CssTransformStyle(f,"preserve-3d")}else if(!a.$IsBrowserIE()){var g=a.$CloneNode(f,i,c);a.$InsertBefore(g,f,b);a.$RemoveElement(f,b);f=g;d=c}}else if(!F&&!e&&!n){if(h=="A"){if(a.$AttributeEx(f,"u")=="image")n=a.$FindChildByTag(f,"IMG");else n=a.$FindChild(f,"image",c);if(n){w=f;a.$CssDisplay(w,"block");a.$SetStyles(w,V);B=a.$CloneNode(w,c);a.$CssPosition(w,"relative");a.$CssOpacity(B,0);a.$Css(B,"backgroundColor","#000")}}else if(h=="IMG"&&a.$AttributeEx(f,"u")=="image")n=f;if(n){n.border=0;a.$SetStyles(n,V)}}T(f,d,e+1)})}d.$OnInnerOffsetChange=function(c,b){var a=u-b;Zb(H,a)};d.$Index=e;m.call(d);a.$CssPerspective(k,a.$AttributeEx(k,"p"));a.$CssPerspectiveOrigin(k,a.$AttributeEx(k,"po"));var L=a.$FindChild(k,"thumb",c);if(L){d.$Thumb=a.$CloneNode(L);a.$HideElement(L)}a.$ShowElement(k);x=a.$CloneNode(cb);a.$CssZIndex(x,1e3);a.$AddEvent(k,"click",Z);E(c);d.$Image=n;d.$Link=B;d.$Item=k;d.$Wrapper=H=k;a.$AppendChild(H,x);o.$On(203,S);o.$On(28,db);o.$On(24,bb)}function yc(y,f,p,q){var b=this,m=0,u=0,g,j,e,d,k,t,r,n=C[f];l.call(b,0,0);function v(){a.$Empty(N);dc&&k&&n.$Link&&a.$AppendChild(N,n.$Link);a.$ShowElement(N,!k&&n.$Image)}function w(){b.$Replay()}function x(a){r=a;b.$Stop();b.$Replay()}b.$Replay=function(){var a=b.$GetPosition_Display();if(!B&&!O&&!r&&s==f){if(!a){if(g&&!k){k=c;b.$OpenSlideshowPanel(c);o.$TriggerEvent(h.$EVT_SLIDESHOW_START,f,m,u,g,d)}v()}var i,p=h.$EVT_STATE_CHANGE;if(a!=d)if(a==e)i=d;else if(a==j)i=e;else if(!a)i=j;else i=b.$GetPlayToPosition();o.$TriggerEvent(p,f,a,m,j,e,d);var l=P&&(!E||F);if(a==d)(e!=d&&!(E&12)||l)&&n.$GoForNextSlide();else(l||a!=e)&&b.$PlayToPosition(i,w)}};b.$AdjustIdleOnPark=function(){e==d&&e==b.$GetPosition_Display()&&b.$GoToPosition(j)};b.$Abort=function(){A&&A.$Index==f&&A.$Clear();var a=b.$GetPosition_Display();a<d&&o.$TriggerEvent(h.$EVT_STATE_CHANGE,f,-a-1,m,j,e,d)};b.$OpenSlideshowPanel=function(b){p&&a.$CssOverflow(hb,b&&p.$Transition.$Outside?"":"hidden")};b.$OnInnerOffsetChange=function(b,a){if(k&&a>=g){k=i;v();n.$UnhideContentForSlideshow();A.$Clear();o.$TriggerEvent(h.$EVT_SLIDESHOW_END,f,m,u,g,d)}o.$TriggerEvent(h.$EVT_PROGRESS_CHANGE,f,a,m,j,e,d)};b.$SetPlayer=function(a){if(a&&!t){t=a;a.$On($JssorPlayer$.$EVT_SWITCH,x)}};p&&b.$Chain(p);g=b.$GetPosition_OuterEnd();b.$Chain(q);j=g+q.$IdleBegin;e=g+q.$IdleEnd;d=b.$GetPosition_OuterEnd()}function Zb(g,f){var e=x>0?x:gb,c=Bb*f*(e&1),d=Cb*f*(e>>1&1);c=b.round(c);d=b.round(d);a.$CssLeft(g,c);a.$CssTop(g,d)}function Pb(){pb=O;Kb=z.$GetPlayToPosition();G=w.$GetPosition()}function gc(){Pb();if(B||!F&&E&12){z.$Stop();o.$TriggerEvent(h.$EVT_FREEZE)}}function ec(e){if(!B&&(F||!(E&12))&&!z.$IsPlaying()){var c=w.$GetPosition(),a=b.ceil(G);if(e&&b.abs(H)>=f.$MinDragOffsetToSlide){a=b.ceil(c);a+=eb}if(!(D&1))a=b.min(r-u,b.max(a,0));var d=b.abs(a-c);d=1-b.pow(1-d,5);if(!M&&pb)z.$Continue(Kb);else if(c==a){tb.$EnablePlayer();tb.$TryActivate()}else z.$PlayCarousel(c,a,d*Vb)}}function Ib(b){!a.$AttributeEx(a.$EvtSrc(b),"nodrag")&&a.$CancelEvent(b)}function uc(a){Yb(a,1)}function Yb(b,d){b=a.$GetEvent(b);var k=a.$EvtSrc(b);if(!L&&!a.$AttributeEx(k,"nodrag")&&vc()&&(!d||b.touches.length==1)){B=c;Ab=i;R=j;a.$AddEvent(e,d?"touchmove":"mousemove",Db);a.$GetNow();M=0;gc();if(!pb)x=0;if(d){var g=b.touches[0];vb=g.clientX;wb=g.clientY}else{var f=a.$MousePosition(b);vb=f.x;wb=f.y}H=0;bb=0;eb=0;o.$TriggerEvent(h.$EVT_DRAG_START,t(G),G,b)}}function Db(e){if(B){e=a.$GetEvent(e);var f;if(e.type!="mousemove"){var l=e.touches[0];f={x:l.clientX,y:l.clientY}}else f=a.$MousePosition(e);if(f){var j=f.x-vb,k=f.y-wb;if(b.floor(G)!=G)x=x||gb&L;if((j||k)&&!x){if(L==3)if(b.abs(k)>b.abs(j))x=2;else x=1;else x=L;if(jb&&x==1&&b.abs(k)-b.abs(j)>3)Ab=c}if(x){var d=k,i=Cb;if(x==1){d=j;i=Bb}if(!(D&1)){if(d>0){var g=i*s,h=d-g;if(h>0)d=g+b.sqrt(h)*5}if(d<0){var g=i*(r-u-s),h=-d-g;if(h>0)d=-g-b.sqrt(h)*5}}if(H-bb<-2)eb=0;else if(H-bb>2)eb=-1;bb=H;H=d;sb=G-H/i/(Z||1);if(H&&x&&!Ab){a.$CancelEvent(e);if(!O)z.$StandBy(sb);else z.$SetStandByPosition(sb)}}}}}function mb(){sc();if(B){B=i;a.$GetNow();a.$RemoveEvent(e,"mousemove",Db);a.$RemoveEvent(e,"touchmove",Db);M=H;z.$Stop();var b=w.$GetPosition();o.$TriggerEvent(h.$EVT_DRAG_END,t(b),b,t(G),G);E&12&&Pb();ec(c)}}function kc(c){if(M){a.$StopEvent(c);var b=a.$EvtSrc(c);while(b&&v!==b){b.tagName=="A"&&a.$CancelEvent(c);try{b=b.parentNode}catch(d){break}}}}function oc(a){C[s];s=t(a);tb=C[s];Ub(a);return s}function Gc(a,b){x=0;oc(a);o.$TriggerEvent(h.$EVT_PARK,t(a),b)}function Ub(b,c){yb=b;a.$Each(S,function(a){a.$SetCurrentIndex(t(b),b,c)})}function vc(){var b=h.$DragRegistry||0,a=Y;if(jb)a&1&&(a&=1);h.$DragRegistry|=a;return L=a&~b}function sc(){if(L){h.$DragRegistry&=~Y;L=0}}function Xb(){var b=a.$CreateDiv();a.$SetStyles(b,V);a.$CssPosition(b,"absolute");return b}function t(a){return(a%r+r)%r}function lc(a,c){if(c)if(!D){a=b.min(b.max(a+yb,0),r-u);c=i}else if(D&2){a=t(a+yb);c=i}nb(a,f.$SlideDuration,c)}function zb(){a.$Each(S,function(a){a.$Show(a.$Options.$ChanceToShow<=F)})}function ic(){if(!F){F=1;zb();if(!B){E&12&&ec();E&3&&C[s].$TryActivate()}}}function hc(){if(F){F=0;zb();B||!(E&12)||gc()}}function jc(){V={$Width:K,$Height:J,$Top:0,$Left:0};a.$Each(T,function(b){a.$SetStyles(b,V);a.$CssPosition(b,"absolute");a.$CssOverflow(b,"hidden");a.$HideElement(b)});a.$SetStyles(cb,V)}function lb(b,a){nb(b,a,c)}function nb(g,e,l){if(Rb&&(!B&&(F||!(E&12))||f.$NaviQuitDrag)){O=c;B=i;z.$Stop();if(e==k)e=Vb;var d=Eb.$GetPosition_Display(),a=g;if(l){a=d+g;if(g>0)a=b.ceil(a);else a=b.floor(a)}if(D&2)a=t(a);if(!(D&1))a=b.max(0,b.min(a,r-u));var j=(a-d)%r;a=d+j;var h=d==a?0:e*b.abs(j);h=b.min(h,e*u*1.5);z.$PlayCarousel(d,a,h||1)}}o.$PlayTo=nb;o.$GoTo=function(a){w.$GoToPosition(a)};o.$Next=function(){lb(1)};o.$Prev=function(){lb(-1)};o.$Pause=function(){P=i};o.$Play=function(){if(!P){P=c;C[s]&&C[s].$TryActivate()}};o.$SetSlideshowTransitions=function(a){f.$SlideshowOptions.$Transitions=a};o.$SetCaptionTransitions=function(b){I.$Transitions=b;I.$Version=a.$GetNow()};o.$SlidesCount=function(){return T.length};o.$CurrentIndex=function(){return s};o.$IsAutoPlaying=function(){return P};o.$IsDragging=function(){return B};o.$IsSliding=function(){return O};o.$IsMouseOver=function(){return!F};o.$LastDragSucceded=function(){return M};function X(){return a.$CssWidth(y||q)}function ib(){return a.$CssHeight(y||q)}o.$OriginalWidth=o.$GetOriginalWidth=X;o.$OriginalHeight=o.$GetOriginalHeight=ib;function Gb(c,d){if(c==k)return a.$CssWidth(q);if(!y){var b=a.$CreateDiv(e);a.$ClassName(b,a.$ClassName(q));a.$CssCssText(b,a.$CssCssText(q));a.$CssDisplay(b,"block");a.$CssPosition(b,"relative");a.$CssTop(b,0);a.$CssLeft(b,0);a.$CssOverflow(b,"visible");y=a.$CreateDiv(e);a.$CssPosition(y,"absolute");a.$CssTop(y,0);a.$CssLeft(y,0);a.$CssWidth(y,a.$CssWidth(q));a.$CssHeight(y,a.$CssHeight(q));a.$CssTransformOrigin(y,"0 0");a.$AppendChild(y,b);var h=a.$Children(q);a.$AppendChild(q,y);a.$Css(q,"backgroundImage","");a.$Each(h,function(c){a.$AppendChild(a.$AttributeEx(c,"noscale")?q:b,c);a.$AttributeEx(c,"autocenter")&&Lb.push(c)})}Z=c/(d?a.$CssHeight:a.$CssWidth)(y);a.$CssScale(y,Z);var g=d?Z*X():c,f=d?c:Z*ib();a.$CssWidth(q,g);a.$CssHeight(q,f);a.$Each(Lb,function(b){var c=a.$ParseInt(a.$AttributeEx(b,"autocenter"));a.$CenterElement(b,c)})}o.$ScaleHeight=o.$GetScaleHeight=function(b){if(b==k)return a.$CssHeight(q);Gb(b,c)};o.$ScaleWidth=o.$SetScaleWidth=o.$GetScaleWidth=Gb;o.$GetVirtualIndex=function(a){var d=b.ceil(t(fb/bc)),c=t(a-s+d);if(c>u){if(a-s>r/2)a-=r;else if(a-s<=-r/2)a+=r}else a=s+c-d;return a};m.call(o);o.$Elmt=q=a.$GetElement(q);var f=a.$Extend({$FillMode:0,$LazyLoading:1,$ArrowKeyNavigation:1,$StartIndex:0,$AutoPlay:i,$Loop:1,$NaviQuitDrag:c,$AutoPlaySteps:1,$AutoPlayInterval:3e3,$PauseOnHover:1,$SlideDuration:500,$SlideEasing:d.$EaseOutQuad,$MinDragOffsetToSlide:20,$SlideSpacing:0,$Cols:1,$Align:0,$UISearchMode:1,$PlayOrientation:1,$DragOrientation:1},fc);if(f.$Idle!=k)f.$AutoPlayInterval=f.$Idle;if(f.$DisplayPieces!=k)f.$Cols=f.$DisplayPieces;if(f.$ParkingPosition!=k)f.$Align=f.$ParkingPosition;var gb=f.$PlayOrientation&3,wc=(f.$PlayOrientation&4)/-4||1,db=f.$SlideshowOptions,I=a.$Extend({$Class:p,$PlayInMode:1,$PlayOutMode:1},f.$CaptionSliderOptions);I.$Transitions=I.$Transitions||I.$CaptionTransitions;var qb=f.$BulletNavigatorOptions,W=f.$ArrowNavigatorOptions,ab=f.$ThumbnailNavigatorOptions,Q=!f.$UISearchMode,y,v=a.$FindChild(q,"slides",Q),cb=a.$FindChild(q,"loading",Q)||a.$CreateDiv(e),Jb=a.$FindChild(q,"navigator",Q),cc=a.$FindChild(q,"arrowleft",Q),ac=a.$FindChild(q,"arrowright",Q),Hb=a.$FindChild(q,"thumbnavigator",Q),nc=a.$CssWidth(v),mc=a.$CssHeight(v),V,T=[],xc=a.$Children(v);a.$Each(xc,function(b){if(b.tagName=="DIV"&&!a.$AttributeEx(b,"u"))T.push(b);else a.$IsBrowserIe9Earlier()&&a.$CssZIndex(b,(a.$CssZIndex(b)||0)+1)});var s=-1,yb,tb,r=T.length,K=f.$SlideWidth||nc,J=f.$SlideHeight||mc,Wb=f.$SlideSpacing,Bb=K+Wb,Cb=J+Wb,bc=gb&1?Bb:Cb,u=b.min(f.$Cols,r),hb,x,L,Ab,S=[],Qb,Sb,Ob,dc,Fc,P,E=f.$PauseOnHover,pc=f.$AutoPlayInterval,Vb=f.$SlideDuration,rb,ub,fb,Rb=u<r,D=Rb?f.$Loop:0,Y,M,F=1,O,B,R,vb=0,wb=0,H,bb,eb,Eb,w,U,z,Tb=new rc,Z,Lb=[];P=f.$AutoPlay;o.$Options=fc;jc();a.$Attribute(q,"jssor-slider",c);a.$CssZIndex(v,a.$CssZIndex(v)||0);a.$CssPosition(v,"absolute");hb=a.$CloneNode(v,c);a.$InsertBefore(hb,v);if(db){dc=db.$ShowLink;rb=db.$Class;ub=u==1&&r>1&&rb&&(!a.$IsBrowserIE()||a.$BrowserVersion()>=8)}fb=ub||u>=r||!(D&1)?0:f.$Align;Y=(u>1||fb?gb:-1)&f.$DragOrientation;var xb=v,C=[],A,N,Fb=a.$Device(),jb=Fb.$Touchable,G,pb,Kb,sb;Fb.$TouchActionAttr&&a.$Css(xb,Fb.$TouchActionAttr,([j,"pan-y","pan-x","none"])[Y]||"");U=new Cc;if(ub)A=new rb(Tb,K,J,db,jb);a.$AppendChild(hb,U.$Wrapper);a.$CssOverflow(v,"hidden");N=Xb();a.$Css(N,"backgroundColor","#000");a.$CssOpacity(N,0);a.$InsertBefore(N,xb.firstChild,xb);for(var ob=0;ob<T.length;ob++){var zc=T[ob],Ac=new Bc(zc,ob);C.push(Ac)}a.$HideElement(cb);Eb=new Dc;z=new qc(Eb,U);if(Y){a.$AddEvent(v,"mousedown",Yb);a.$AddEvent(v,"touchstart",uc);a.$AddEvent(v,"dragstart",Ib);a.$AddEvent(v,"selectstart",Ib);a.$AddEvent(e,"mouseup",mb);a.$AddEvent(e,"touchend",mb);a.$AddEvent(e,"touchcancel",mb);a.$AddEvent(g,"blur",mb)}E&=jb?10:5;if(Jb&&qb){Qb=new qb.$Class(Jb,qb,X(),ib());S.push(Qb)}if(W&&cc&&ac){W.$Loop=D;W.$Cols=u;Sb=new W.$Class(cc,ac,W,X(),ib());S.push(Sb)}if(Hb&&ab){ab.$StartIndex=f.$StartIndex;Ob=new ab.$Class(Hb,ab);S.push(Ob)}a.$Each(S,function(a){a.$Reset(r,C,cb);a.$On(n.$NAVIGATIONREQUEST,lc)});a.$Css(q,"visibility","visible");Gb(X());a.$AddEvent(v,"click",kc);a.$AddEvent(q,"mouseout",a.$MouseOverOutFilter(ic,q));a.$AddEvent(q,"mouseover",a.$MouseOverOutFilter(hc,q));zb();f.$ArrowKeyNavigation&&a.$AddEvent(e,"keydown",function(a){if(a.keyCode==37)lb(-f.$ArrowKeyNavigation);else a.keyCode==39&&lb(f.$ArrowKeyNavigation)});var kb=f.$StartIndex;if(!(D&1))kb=b.max(0,b.min(kb,r-u));z.$PlayCarousel(kb,kb,0)};h.$EVT_CLICK=21;h.$EVT_DRAG_START=22;h.$EVT_DRAG_END=23;h.$EVT_SWIPE_START=24;h.$EVT_SWIPE_END=25;h.$EVT_LOAD_START=26;h.$EVT_LOAD_END=27;h.$EVT_FREEZE=28;h.$EVT_POSITION_CHANGE=202;h.$EVT_PARK=203;h.$EVT_SLIDESHOW_START=206;h.$EVT_SLIDESHOW_END=207;h.$EVT_PROGRESS_CHANGE=208;h.$EVT_STATE_CHANGE=209;var n={$NAVIGATIONREQUEST:1,$INDEXCHANGE:2,$RESET:3};g.$JssorBulletNavigator$=function(e,C){var f=this;m.call(f);e=a.$GetElement(e);var s,A,z,r,l=0,d,o,k,w,x,h,g,q,p,B=[],y=[];function v(a){a!=-1&&y[a].$Selected(a==l)}function t(a){f.$TriggerEvent(n.$NAVIGATIONREQUEST,a*o)}f.$Elmt=e;f.$GetCurrentIndex=function(){return r};f.$SetCurrentIndex=function(a){if(a!=r){var d=l,c=b.floor(a/o);l=c;r=a;v(d);v(c)}};f.$Show=function(b){a.$ShowElement(e,b)};var u;f.$Reset=function(E){if(!u){s=b.ceil(E/o);l=0;var n=q+w,r=p+x,m=b.ceil(s/k)-1;A=q+n*(!h?m:k-1);z=p+r*(h?m:k-1);a.$CssWidth(e,A);a.$CssHeight(e,z);for(var f=0;f<s;f++){var C=a.$CreateSpan();a.$InnerText(C,f+1);var i=a.$BuildElement(g,"numbertemplate",C,c);a.$CssPosition(i,"absolute");var v=f%(m+1);a.$CssLeft(i,!h?n*v:f%k*n);a.$CssTop(i,h?r*v:b.floor(f/(m+1))*r);a.$AppendChild(e,i);B[f]=i;d.$ActionMode&1&&a.$AddEvent(i,"click",a.$CreateCallback(j,t,f));d.$ActionMode&2&&a.$AddEvent(i,"mouseover",a.$MouseOverOutFilter(a.$CreateCallback(j,t,f),i));y[f]=a.$Buttonize(i)}u=c}};f.$Options=d=a.$Extend({$SpacingX:10,$SpacingY:10,$Orientation:1,$ActionMode:1},C);g=a.$FindChild(e,"prototype");q=a.$CssWidth(g);p=a.$CssHeight(g);a.$RemoveElement(g,e);o=d.$Steps||1;k=d.$Lanes||1;w=d.$SpacingX;x=d.$SpacingY;h=d.$Orientation-1;d.$Scale==i&&a.$Attribute(e,"noscale",c);d.$AutoCenter&&a.$Attribute(e,"autocenter",d.$AutoCenter)};g.$JssorArrowNavigator$=function(b,g,h){var d=this;m.call(d);var r,q,e,f,k;a.$CssWidth(b);a.$CssHeight(b);function l(a){d.$TriggerEvent(n.$NAVIGATIONREQUEST,a,c)}function p(c){a.$ShowElement(b,c||!h.$Loop&&e==0);a.$ShowElement(g,c||!h.$Loop&&e>=q-h.$Cols);r=c}d.$GetCurrentIndex=function(){return e};d.$SetCurrentIndex=function(b,a,c){if(c)e=a;else{e=b;p(r)}};d.$Show=p;var o;d.$Reset=function(d){q=d;e=0;if(!o){a.$AddEvent(b,"click",a.$CreateCallback(j,l,-k));a.$AddEvent(g,"click",a.$CreateCallback(j,l,k));a.$Buttonize(b);a.$Buttonize(g);o=c}};d.$Options=f=a.$Extend({$Steps:1},h);k=f.$Steps;if(f.$Scale==i){a.$Attribute(b,"noscale",c);a.$Attribute(g,"noscale",c)}if(f.$AutoCenter){a.$Attribute(b,"autocenter",f.$AutoCenter);a.$Attribute(g,"autocenter",f.$AutoCenter)}};g.$JssorThumbnailNavigator$=function(g,C){var l=this,z,q,d,w=[],A,y,e,r,s,v,u,p,t,f,o;m.call(l);g=a.$GetElement(g);function B(m,f){var g=this,b,k,i;function p(){k.$Selected(q==f)}function h(d){if(d||!t.$LastDragSucceded()){var a=e-f%e,b=t.$GetVirtualIndex((f+a)/e-1),c=b*e+e-a;l.$TriggerEvent(n.$NAVIGATIONREQUEST,c)}}g.$Index=f;g.$Highlight=p;i=m.$Thumb||m.$Image||a.$CreateDiv();g.$Wrapper=b=a.$BuildElement(o,"thumbnailtemplate",i,c);k=a.$Buttonize(b);d.$ActionMode&1&&a.$AddEvent(b,"click",a.$CreateCallback(j,h,0));d.$ActionMode&2&&a.$AddEvent(b,"mouseover",a.$MouseOverOutFilter(a.$CreateCallback(j,h,1),b))}l.$GetCurrentIndex=function(){return q};l.$SetCurrentIndex=function(c,d,f){var a=q;q=c;a!=-1&&w[a].$Highlight();w[c].$Highlight();!f&&t.$PlayTo(t.$GetVirtualIndex(b.floor(d/e)))};l.$Show=function(b){a.$ShowElement(g,b)};var x;l.$Reset=function(F,C){if(!x){z=F;b.ceil(z/e);q=-1;p=b.min(p,C.length);var j=d.$Orientation&1,m=v+(v+r)*(e-1)*(1-j),l=u+(u+s)*(e-1)*j,o=m+(m+r)*(p-1)*j,n=l+(l+s)*(p-1)*(1-j);a.$CssPosition(f,"absolute");a.$CssOverflow(f,"hidden");d.$AutoCenter&1&&a.$CssLeft(f,(A-o)/2);d.$AutoCenter&2&&a.$CssTop(f,(y-n)/2);a.$CssWidth(f,o);a.$CssHeight(f,n);var k=[];a.$Each(C,function(l,g){var h=new B(l,g),d=h.$Wrapper,c=b.floor(g/e),i=g%e;a.$CssLeft(d,(v+r)*i*(1-j));a.$CssTop(d,(u+s)*i*j);if(!k[c]){k[c]=a.$CreateDiv();a.$AppendChild(f,k[c])}a.$AppendChild(k[c],d);w.push(h)});var E=a.$Extend({$AutoPlay:i,$NaviQuitDrag:i,$SlideWidth:m,$SlideHeight:l,$SlideSpacing:r*j+s*(1-j),$MinDragOffsetToSlide:12,$SlideDuration:200,$PauseOnHover:1,$PlayOrientation:d.$Orientation,$DragOrientation:d.$NoDrag||d.$DisableDrag?0:d.$Orientation},d);t=new h(g,E);x=c}};l.$Options=d=a.$Extend({$SpacingX:0,$SpacingY:0,$Cols:1,$Orientation:1,$AutoCenter:3,$ActionMode:1},C);if(d.$DisplayPieces!=k)d.$Cols=d.$DisplayPieces;if(d.$Rows!=k)d.$Lanes=d.$Rows;A=a.$CssWidth(g);y=a.$CssHeight(g);f=a.$FindChild(g,"slides",c);o=a.$FindChild(f,"prototype");v=a.$CssWidth(o);u=a.$CssHeight(o);a.$RemoveElement(o,f);e=d.$Lanes||1;r=d.$SpacingX;s=d.$SpacingY;p=d.$Cols;d.$Scale==i&&a.$Attribute(g,"noscale",c)};function p(e,d,c){var b=this;l.call(b,0,c);b.$Revert=a.$EmptyFunction;b.$IdleBegin=0;b.$IdleEnd=c}g.$JssorCaptionSlider$=function(h,f,i){var c=this;l.call(c,0,0);var e,d;function g(p,h,f){var c=this,g,n=f?h.$PlayInMode:h.$PlayOutMode,e=h.$Transitions,o={$Transition:"t",$Delay:"d",$Duration:"du",x:"x",y:"y",$Rotate:"r",$Zoom:"z",$Opacity:"f",$BeginTime:"b"},d={$Default:function(b,a){if(!isNaN(a.$Value))b=a.$Value;else b*=a.$Percent;return b},$Opacity:function(b,a){return this.$Default(b-1,a)}};d.$Zoom=d.$Opacity;l.call(c,0,0);function j(r,m){var l=[],i,k=[],c=[];function h(c,d){var b={};a.$Each(o,function(g,h){var e=a.$AttributeEx(c,g+(d||""));if(e){var f={};if(g=="t")f.$Value=e;else if(e.indexOf("%")+1)f.$Percent=a.$ParseFloat(e)/100;else f.$Value=a.$ParseFloat(e);b[h]=f}});return b}function p(){return e[b.floor(b.random()*e.length)]}function g(f){var h;if(f=="*")h=p();else if(f){var d=e[a.$ParseInt(f)]||e[f];if(a.$IsArray(d)){if(f!=i){i=f;c[f]=0;k[f]=d[b.floor(b.random()*d.length)]}else c[f]++;d=k[f];if(a.$IsArray(d)){d=d.length&&d[c[f]%d.length];if(a.$IsArray(d))d=d[b.floor(b.random()*d.length)]}}h=d;if(a.$IsString(h))h=g(h)}return h}var q=a.$Children(r);a.$Each(q,function(b){var c=[];c.$Elmt=b;var e=a.$AttributeEx(b,"u")=="caption";a.$Each(f?[0,3]:[2],function(l,o){if(e){var k,f;if(l!=2||!a.$AttributeEx(b,"t3")){f=h(b,l);if(l==2&&!f.$Transition){f.$Delay=f.$Delay||{$Value:0};f=a.$Extend(h(b,0),f)}}if(f&&f.$Transition){k=g(f.$Transition.$Value);if(k){var i=a.$Extend({$Delay:0},k);a.$Each(f,function(c,a){var b=(d[a]||d.$Default).apply(d,[i[a],f[a]]);if(!isNaN(b))i[a]=b});if(!o)if(f.$BeginTime)i.$BeginTime=f.$BeginTime.$Value||0;else if(n&2)i.$BeginTime=0}}c.push(i)}if(m%2&&!o)c.$Children=j(b,m+1)});l.push(c)});return l}function m(w,c,z){var g={$Easing:c.$Easing,$Round:c.$Round,$During:c.$During,$Reverse:f&&!z},m=w,r=a.$ParentNode(w),k=a.$CssWidth(m),j=a.$CssHeight(m),y=a.$CssWidth(r),x=a.$CssHeight(r),h={},e={},i=c.$ScaleClip||1;if(c.$Opacity)e.$Opacity=1-c.$Opacity;g.$OriginalWidth=k;g.$OriginalHeight=j;if(c.$Zoom||c.$Rotate){e.$Zoom=(c.$Zoom||2)-2;if(a.$IsBrowserIe9Earlier()||a.$IsBrowserOpera())e.$Zoom=b.min(e.$Zoom,1);h.$Zoom=1;var B=c.$Rotate||0;e.$Rotate=B*360;h.$Rotate=0}else if(c.$Clip){var s={$Top:0,$Right:k,$Bottom:j,$Left:0},v=a.$Extend({},s),d=v.$Offset={},u=c.$Clip&4,p=c.$Clip&8,t=c.$Clip&1,q=c.$Clip&2;if(u&&p){d.$Top=j/2*i;d.$Bottom=-d.$Top}else if(u)d.$Bottom=-j*i;else if(p)d.$Top=j*i;if(t&&q){d.$Left=k/2*i;d.$Right=-d.$Left}else if(t)d.$Right=-k*i;else if(q)d.$Left=k*i;g.$Move=c.$Move;e.$Clip=v;h.$Clip=s}var n=0,o=0;if(c.x)n-=y*c.x;if(c.y)o-=x*c.y;if(n||o||g.$Move){e.$Left=n;e.$Top=o}var A=c.$Duration;h=a.$Extend(h,a.$GetStyles(m,e));g.$Setter=a.$StyleSetterEx();return new l(c.$Delay,A,g,m,h,e)}function i(b,d){a.$Each(d,function(d){var a,h=d.$Elmt,e=d[0],j=d[1];if(e){a=m(h,e);e.$BeginTime==k&&a.$Shift(b);b=a.$GetPosition_OuterEnd()}b=i(b,d.$Children);if(j){var f=m(h,j,1);f.$Shift(b);c.$Combine(f);g.$Combine(f)}a&&c.$Combine(a)});return b}c.$Revert=function(){c.$GoToPosition(c.$GetPosition_OuterEnd()*(f||0));g.$GoToPosition(0)};g=new l(0,0);i(0,n?j(p,1):[])}c.$Revert=function(){d.$Revert();e.$Revert()};e=new g(h,f,1);c.$IdleBegin=e.$GetPosition_OuterEnd();c.$IdleEnd=c.$IdleBegin+i;d=new g(h,f);d.$Shift(c.$IdleEnd);c.$Combine(d);c.$Combine(e)};g.$JssorCaptionSlideo$=function(n,g,m){var b=this,o,h={},i=g.$Transitions,d=new l(0,0);l.call(b,0,0);function j(d,c){var b={};a.$Each(d,function(d,f){var e=h[f];if(e){if(a.$IsPlainObject(d))d=j(d,c||f=="e");else if(c)if(a.$IsNumeric(d))d=o[d];b[e]=d}});return b}function k(e,c){var b=[],d=a.$Children(e);a.$Each(d,function(d){var h=a.$AttributeEx(d,"u")=="caption";if(h){var e=a.$AttributeEx(d,"t"),g=i[a.$ParseInt(e)]||i[e],f={$Elmt:d,$Transition:g};b.push(f)}if(c<5)b=b.concat(k(d,c+1))});return b}function r(c,e,b){a.$Each(e,function(f){var e=j(f),g={$Easing:a.$FormatEasings(e.$Easing),$Setter:a.$StyleSetterEx(),$OriginalWidth:b.$Width,$OriginalHeight:b.$Height},h=new l(f.b,f.d,g,c,b,e);d.$Combine(h);b=a.$AddDif(b,e)});return b}function q(b){a.$Each(b,function(e){var b=e.$Elmt,d=a.$CssWidth(b),c=a.$CssHeight(b),f={$Left:a.$CssLeft(b),$Top:a.$CssTop(b),$Opacity:1,$ZIndex:a.$CssZIndex(b)||0,$Rotate:0,$RotateX:0,$RotateY:0,$ScaleX:1,$ScaleY:1,$TranslateX:0,$TranslateY:0,$TranslateZ:0,$SkewX:0,$SkewY:0,$Width:d,$Height:c,$Clip:{$Top:0,$Right:d,$Bottom:c,$Left:0}};r(b,e.$Transition,f)})}function t(g,f,h){var e=g.b-f;if(e){var a=new l(f,e);a.$Combine(d,c);a.$Shift(h);b.$Combine(a)}b.$Expand(g.d);return e}function s(f){var c=d.$GetPosition_OuterBegin(),e=0;a.$Each(f,function(d,f){d=a.$Extend({d:m},d);t(d,c,e);c=d.b;e+=d.d;if(!f||d.t==2){b.$IdleBegin=c;b.$IdleEnd=c+d.d}})}b.$Revert=function(){b.$GoToPosition(-1,c)};o=[f.$Swing,f.$Linear,f.$InQuad,f.$OutQuad,f.$InOutQuad,f.$InCubic,f.$OutCubic,f.$InOutCubic,f.$InQuart,f.$OutQuart,f.$InOutQuart,f.$InQuint,f.$OutQuint,f.$InOutQuint,f.$InSine,f.$OutSine,f.$InOutSine,f.$InExpo,f.$OutExpo,f.$InOutExpo,f.$InCirc,f.$OutCirc,f.$InOutCirc,f.$InElastic,f.$OutElastic,f.$InOutElastic,f.$InBack,f.$OutBack,f.$InOutBack,f.$InBounce,f.$OutBounce,f.$InOutBounce,f.$GoBack,f.$InWave,f.$OutWave,f.$OutJump,f.$InJump];var u={$Top:"y",$Left:"x",$Bottom:"m",$Right:"t",$Rotate:"r",$RotateX:"rX",$RotateY:"rY",$ScaleX:"sX",$ScaleY:"sY",$TranslateX:"tX",$TranslateY:"tY",$TranslateZ:"tZ",$SkewX:"kX",$SkewY:"kY",$Opacity:"o",$Easing:"e",$ZIndex:"i",$Clip:"c"};a.$Each(u,function(b,a){h[b]=a});q(k(n,1));d.$GoToPosition(-1);var p=g.$Breaks||[],e=[].concat(p[a.$ParseInt(a.$AttributeEx(n,"b"))]||[]);e.push({b:d.$GetPosition_OuterEnd(),d:e.length?0:m});s(e);b.$GoToPosition(-1)}})(window,document,Math,null,true,false) | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
app/assets/javascripts/plugin/wow.js
0 → 100755
1 | (function() { | ||
2 | var MutationObserver, Util, WeakMap, getComputedStyle, getComputedStyleRX, | ||
3 | __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }, | ||
4 | __indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }; | ||
5 | |||
6 | Util = (function() { | ||
7 | function Util() {} | ||
8 | |||
9 | Util.prototype.extend = function(custom, defaults) { | ||
10 | var key, value; | ||
11 | for (key in defaults) { | ||
12 | value = defaults[key]; | ||
13 | if (custom[key] == null) { | ||
14 | custom[key] = value; | ||
15 | } | ||
16 | } | ||
17 | return custom; | ||
18 | }; | ||
19 | |||
20 | Util.prototype.isMobile = function(agent) { | ||
21 | return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(agent); | ||
22 | }; | ||
23 | |||
24 | Util.prototype.addEvent = function(elem, event, fn) { | ||
25 | if (elem.addEventListener != null) { | ||
26 | return elem.addEventListener(event, fn, false); | ||
27 | } else if (elem.attachEvent != null) { | ||
28 | return elem.attachEvent("on" + event, fn); | ||
29 | } else { | ||
30 | return elem[event] = fn; | ||
31 | } | ||
32 | }; | ||
33 | |||
34 | Util.prototype.removeEvent = function(elem, event, fn) { | ||
35 | if (elem.removeEventListener != null) { | ||
36 | return elem.removeEventListener(event, fn, false); | ||
37 | } else if (elem.detachEvent != null) { | ||
38 | return elem.detachEvent("on" + event, fn); | ||
39 | } else { | ||
40 | return delete elem[event]; | ||
41 | } | ||
42 | }; | ||
43 | |||
44 | Util.prototype.innerHeight = function() { | ||
45 | if ('innerHeight' in window) { | ||
46 | return window.innerHeight; | ||
47 | } else { | ||
48 | return document.documentElement.clientHeight; | ||
49 | } | ||
50 | }; | ||
51 | |||
52 | return Util; | ||
53 | |||
54 | })(); | ||
55 | |||
56 | WeakMap = this.WeakMap || this.MozWeakMap || (WeakMap = (function() { | ||
57 | function WeakMap() { | ||
58 | this.keys = []; | ||
59 | this.values = []; | ||
60 | } | ||
61 | |||
62 | WeakMap.prototype.get = function(key) { | ||
63 | var i, item, _i, _len, _ref; | ||
64 | _ref = this.keys; | ||
65 | for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) { | ||
66 | item = _ref[i]; | ||
67 | if (item === key) { | ||
68 | return this.values[i]; | ||
69 | } | ||
70 | } | ||
71 | }; | ||
72 | |||
73 | WeakMap.prototype.set = function(key, value) { | ||
74 | var i, item, _i, _len, _ref; | ||
75 | _ref = this.keys; | ||
76 | for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) { | ||
77 | item = _ref[i]; | ||
78 | if (item === key) { | ||
79 | this.values[i] = value; | ||
80 | return; | ||
81 | } | ||
82 | } | ||
83 | this.keys.push(key); | ||
84 | return this.values.push(value); | ||
85 | }; | ||
86 | |||
87 | return WeakMap; | ||
88 | |||
89 | })()); | ||
90 | |||
91 | MutationObserver = this.MutationObserver || this.WebkitMutationObserver || this.MozMutationObserver || (MutationObserver = (function() { | ||
92 | function MutationObserver() { | ||
93 | if (typeof console !== "undefined" && console !== null) { | ||
94 | console.warn('MutationObserver is not supported by your browser.'); | ||
95 | } | ||
96 | if (typeof console !== "undefined" && console !== null) { | ||
97 | console.warn('WOW.js cannot detect dom mutations, please call .sync() after loading new content.'); | ||
98 | } | ||
99 | } | ||
100 | |||
101 | MutationObserver.notSupported = true; | ||
102 | |||
103 | MutationObserver.prototype.observe = function() {}; | ||
104 | |||
105 | return MutationObserver; | ||
106 | |||
107 | })()); | ||
108 | |||
109 | getComputedStyle = this.getComputedStyle || function(el, pseudo) { | ||
110 | this.getPropertyValue = function(prop) { | ||
111 | var _ref; | ||
112 | if (prop === 'float') { | ||
113 | prop = 'styleFloat'; | ||
114 | } | ||
115 | if (getComputedStyleRX.test(prop)) { | ||
116 | prop.replace(getComputedStyleRX, function(_, char) { | ||
117 | return char.toUpperCase(); | ||
118 | }); | ||
119 | } | ||
120 | return ((_ref = el.currentStyle) != null ? _ref[prop] : void 0) || null; | ||
121 | }; | ||
122 | return this; | ||
123 | }; | ||
124 | |||
125 | getComputedStyleRX = /(\-([a-z]){1})/g; | ||
126 | |||
127 | this.WOW = (function() { | ||
128 | WOW.prototype.defaults = { | ||
129 | boxClass: 'wow', | ||
130 | animateClass: 'animated', | ||
131 | offset: 0, | ||
132 | mobile: true, | ||
133 | live: true | ||
134 | }; | ||
135 | |||
136 | function WOW(options) { | ||
137 | if (options == null) { | ||
138 | options = {}; | ||
139 | } | ||
140 | this.scrollCallback = __bind(this.scrollCallback, this); | ||
141 | this.scrollHandler = __bind(this.scrollHandler, this); | ||
142 | this.start = __bind(this.start, this); | ||
143 | this.scrolled = true; | ||
144 | this.config = this.util().extend(options, this.defaults); | ||
145 | this.animationNameCache = new WeakMap(); | ||
146 | } | ||
147 | |||
148 | WOW.prototype.init = function() { | ||
149 | var _ref; | ||
150 | this.element = window.document.documentElement; | ||
151 | if ((_ref = document.readyState) === "interactive" || _ref === "complete") { | ||
152 | this.start(); | ||
153 | } else { | ||
154 | this.util().addEvent(document, 'DOMContentLoaded', this.start); | ||
155 | } | ||
156 | return this.finished = []; | ||
157 | }; | ||
158 | |||
159 | WOW.prototype.start = function() { | ||
160 | var box, _i, _len, _ref; | ||
161 | this.stopped = false; | ||
162 | this.boxes = (function() { | ||
163 | var _i, _len, _ref, _results; | ||
164 | _ref = this.element.querySelectorAll("." + this.config.boxClass); | ||
165 | _results = []; | ||
166 | for (_i = 0, _len = _ref.length; _i < _len; _i++) { | ||
167 | box = _ref[_i]; | ||
168 | _results.push(box); | ||
169 | } | ||
170 | return _results; | ||
171 | }).call(this); | ||
172 | this.all = (function() { | ||
173 | var _i, _len, _ref, _results; | ||
174 | _ref = this.boxes; | ||
175 | _results = []; | ||
176 | for (_i = 0, _len = _ref.length; _i < _len; _i++) { | ||
177 | box = _ref[_i]; | ||
178 | _results.push(box); | ||
179 | } | ||
180 | return _results; | ||
181 | }).call(this); | ||
182 | if (this.boxes.length) { | ||
183 | if (this.disabled()) { | ||
184 | this.resetStyle(); | ||
185 | } else { | ||
186 | _ref = this.boxes; | ||
187 | for (_i = 0, _len = _ref.length; _i < _len; _i++) { | ||
188 | box = _ref[_i]; | ||
189 | this.applyStyle(box, true); | ||
190 | } | ||
191 | this.util().addEvent(window, 'scroll', this.scrollHandler); | ||
192 | this.util().addEvent(window, 'resize', this.scrollHandler); | ||
193 | this.interval = setInterval(this.scrollCallback, 50); | ||
194 | } | ||
195 | } | ||
196 | if (this.config.live) { | ||
197 | return new MutationObserver((function(_this) { | ||
198 | return function(records) { | ||
199 | var node, record, _j, _len1, _results; | ||
200 | _results = []; | ||
201 | for (_j = 0, _len1 = records.length; _j < _len1; _j++) { | ||
202 | record = records[_j]; | ||
203 | _results.push((function() { | ||
204 | var _k, _len2, _ref1, _results1; | ||
205 | _ref1 = record.addedNodes || []; | ||
206 | _results1 = []; | ||
207 | for (_k = 0, _len2 = _ref1.length; _k < _len2; _k++) { | ||
208 | node = _ref1[_k]; | ||
209 | _results1.push(this.doSync(node)); | ||
210 | } | ||
211 | return _results1; | ||
212 | }).call(_this)); | ||
213 | } | ||
214 | return _results; | ||
215 | }; | ||
216 | })(this)).observe(document.body, { | ||
217 | childList: true, | ||
218 | subtree: true | ||
219 | }); | ||
220 | } | ||
221 | }; | ||
222 | |||
223 | WOW.prototype.stop = function() { | ||
224 | this.stopped = true; | ||
225 | this.util().removeEvent(window, 'scroll', this.scrollHandler); | ||
226 | this.util().removeEvent(window, 'resize', this.scrollHandler); | ||
227 | if (this.interval != null) { | ||
228 | return clearInterval(this.interval); | ||
229 | } | ||
230 | }; | ||
231 | |||
232 | WOW.prototype.sync = function(element) { | ||
233 | if (MutationObserver.notSupported) { | ||
234 | return this.doSync(this.element); | ||
235 | } | ||
236 | }; | ||
237 | |||
238 | WOW.prototype.doSync = function(element) { | ||
239 | var box, _i, _len, _ref, _results; | ||
240 | if (!this.stopped) { | ||
241 | if (element == null) { | ||
242 | element = this.element; | ||
243 | } | ||
244 | if (element.nodeType !== 1) { | ||
245 | return; | ||
246 | } | ||
247 | element = element.parentNode || element; | ||
248 | _ref = element.querySelectorAll("." + this.config.boxClass); | ||
249 | _results = []; | ||
250 | for (_i = 0, _len = _ref.length; _i < _len; _i++) { | ||
251 | box = _ref[_i]; | ||
252 | if (__indexOf.call(this.all, box) < 0) { | ||
253 | this.applyStyle(box, true); | ||
254 | this.boxes.push(box); | ||
255 | this.all.push(box); | ||
256 | _results.push(this.scrolled = true); | ||
257 | } else { | ||
258 | _results.push(void 0); | ||
259 | } | ||
260 | } | ||
261 | return _results; | ||
262 | } | ||
263 | }; | ||
264 | |||
265 | WOW.prototype.show = function(box) { | ||
266 | this.applyStyle(box); | ||
267 | return box.className = "" + box.className + " " + this.config.animateClass; | ||
268 | }; | ||
269 | |||
270 | WOW.prototype.applyStyle = function(box, hidden) { | ||
271 | var delay, duration, iteration; | ||
272 | duration = box.getAttribute('data-wow-duration'); | ||
273 | delay = box.getAttribute('data-wow-delay'); | ||
274 | iteration = box.getAttribute('data-wow-iteration'); | ||
275 | return this.animate((function(_this) { | ||
276 | return function() { | ||
277 | return _this.customStyle(box, hidden, duration, delay, iteration); | ||
278 | }; | ||
279 | })(this)); | ||
280 | }; | ||
281 | |||
282 | WOW.prototype.animate = (function() { | ||
283 | if ('requestAnimationFrame' in window) { | ||
284 | return function(callback) { | ||
285 | return window.requestAnimationFrame(callback); | ||
286 | }; | ||
287 | } else { | ||
288 | return function(callback) { | ||
289 | return callback(); | ||
290 | }; | ||
291 | } | ||
292 | })(); | ||
293 | |||
294 | WOW.prototype.resetStyle = function() { | ||
295 | var box, _i, _len, _ref, _results; | ||
296 | _ref = this.boxes; | ||
297 | _results = []; | ||
298 | for (_i = 0, _len = _ref.length; _i < _len; _i++) { | ||
299 | box = _ref[_i]; | ||
300 | _results.push(box.setAttribute('style', 'visibility: visible;')); | ||
301 | } | ||
302 | return _results; | ||
303 | }; | ||
304 | |||
305 | WOW.prototype.customStyle = function(box, hidden, duration, delay, iteration) { | ||
306 | if (hidden) { | ||
307 | this.cacheAnimationName(box); | ||
308 | } | ||
309 | box.style.visibility = hidden ? 'hidden' : 'visible'; | ||
310 | if (duration) { | ||
311 | this.vendorSet(box.style, { | ||
312 | animationDuration: duration | ||
313 | }); | ||
314 | } | ||
315 | if (delay) { | ||
316 | this.vendorSet(box.style, { | ||
317 | animationDelay: delay | ||
318 | }); | ||
319 | } | ||
320 | if (iteration) { | ||
321 | this.vendorSet(box.style, { | ||
322 | animationIterationCount: iteration | ||
323 | }); | ||
324 | } | ||
325 | this.vendorSet(box.style, { | ||
326 | animationName: hidden ? 'none' : this.cachedAnimationName(box) | ||
327 | }); | ||
328 | return box; | ||
329 | }; | ||
330 | |||
331 | WOW.prototype.vendors = ["moz", "webkit"]; | ||
332 | |||
333 | WOW.prototype.vendorSet = function(elem, properties) { | ||
334 | var name, value, vendor, _results; | ||
335 | _results = []; | ||
336 | for (name in properties) { | ||
337 | value = properties[name]; | ||
338 | elem["" + name] = value; | ||
339 | _results.push((function() { | ||
340 | var _i, _len, _ref, _results1; | ||
341 | _ref = this.vendors; | ||
342 | _results1 = []; | ||
343 | for (_i = 0, _len = _ref.length; _i < _len; _i++) { | ||
344 | vendor = _ref[_i]; | ||
345 | _results1.push(elem["" + vendor + (name.charAt(0).toUpperCase()) + (name.substr(1))] = value); | ||
346 | } | ||
347 | return _results1; | ||
348 | }).call(this)); | ||
349 | } | ||
350 | return _results; | ||
351 | }; | ||
352 | |||
353 | WOW.prototype.vendorCSS = function(elem, property) { | ||
354 | var result, style, vendor, _i, _len, _ref; | ||
355 | style = getComputedStyle(elem); | ||
356 | result = style.getPropertyCSSValue(property); | ||
357 | _ref = this.vendors; | ||
358 | for (_i = 0, _len = _ref.length; _i < _len; _i++) { | ||
359 | vendor = _ref[_i]; | ||
360 | result = result || style.getPropertyCSSValue("-" + vendor + "-" + property); | ||
361 | } | ||
362 | return result; | ||
363 | }; | ||
364 | |||
365 | WOW.prototype.animationName = function(box) { | ||
366 | var animationName; | ||
367 | try { | ||
368 | animationName = this.vendorCSS(box, 'animation-name').cssText; | ||
369 | } catch (_error) { | ||
370 | animationName = getComputedStyle(box).getPropertyValue('animation-name'); | ||
371 | } | ||
372 | if (animationName === 'none') { | ||
373 | return ''; | ||
374 | } else { | ||
375 | return animationName; | ||
376 | } | ||
377 | }; | ||
378 | |||
379 | WOW.prototype.cacheAnimationName = function(box) { | ||
380 | return this.animationNameCache.set(box, this.animationName(box)); | ||
381 | }; | ||
382 | |||
383 | WOW.prototype.cachedAnimationName = function(box) { | ||
384 | return this.animationNameCache.get(box); | ||
385 | }; | ||
386 | |||
387 | WOW.prototype.scrollHandler = function() { | ||
388 | return this.scrolled = true; | ||
389 | }; | ||
390 | |||
391 | WOW.prototype.scrollCallback = function() { | ||
392 | var box; | ||
393 | if (this.scrolled) { | ||
394 | this.scrolled = false; | ||
395 | this.boxes = (function() { | ||
396 | var _i, _len, _ref, _results; | ||
397 | _ref = this.boxes; | ||
398 | _results = []; | ||
399 | for (_i = 0, _len = _ref.length; _i < _len; _i++) { | ||
400 | box = _ref[_i]; | ||
401 | if (!(box)) { | ||
402 | continue; | ||
403 | } | ||
404 | if (this.isVisible(box)) { | ||
405 | this.show(box); | ||
406 | continue; | ||
407 | } | ||
408 | _results.push(box); | ||
409 | } | ||
410 | return _results; | ||
411 | }).call(this); | ||
412 | if (!(this.boxes.length || this.config.live)) { | ||
413 | return this.stop(); | ||
414 | } | ||
415 | } | ||
416 | }; | ||
417 | |||
418 | WOW.prototype.offsetTop = function(element) { | ||
419 | var top; | ||
420 | while (element.offsetTop === void 0) { | ||
421 | element = element.parentNode; | ||
422 | } | ||
423 | top = element.offsetTop; | ||
424 | while (element = element.offsetParent) { | ||
425 | top += element.offsetTop; | ||
426 | } | ||
427 | return top; | ||
428 | }; | ||
429 | |||
430 | WOW.prototype.isVisible = function(box) { | ||
431 | var bottom, offset, top, viewBottom, viewTop; | ||
432 | offset = box.getAttribute('data-wow-offset') || this.config.offset; | ||
433 | viewTop = window.pageYOffset; | ||
434 | viewBottom = viewTop + Math.min(this.element.clientHeight, this.util().innerHeight()) - offset; | ||
435 | top = this.offsetTop(box); | ||
436 | bottom = top + box.clientHeight; | ||
437 | return top <= viewBottom && bottom >= viewTop; | ||
438 | }; | ||
439 | |||
440 | WOW.prototype.util = function() { | ||
441 | return this._util != null ? this._util : this._util = new Util(); | ||
442 | }; | ||
443 | |||
444 | WOW.prototype.disabled = function() { | ||
445 | return !this.config.mobile && this.util().isMobile(navigator.userAgent); | ||
446 | }; | ||
447 | |||
448 | return WOW; | ||
449 | |||
450 | })(); | ||
451 | |||
452 | }).call(this); |
app/assets/stylesheets/admin.css
0 → 100644
1 | /* | ||
2 | * This is a manifest file that'll be compiled into application.css, which will include all the files | ||
3 | * listed below. | ||
4 | * | ||
5 | * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets, | ||
6 | * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path. | ||
7 | * | ||
8 | * You're free to add application-wide styles to this file and they'll appear at the top of the | ||
9 | * compiled file, but it's generally better to create a new file per style scope. | ||
10 | * | ||
11 | *= require_self | ||
12 | *= require_directory ./admin | ||
13 | */ |
app/assets/stylesheets/admin/base.css
0 → 100644
1 | input:focus, | ||
2 | textarea:focus{ | ||
3 | outline: none; | ||
4 | } | ||
5 | .posts a:link, .posts a:visited{ | ||
6 | color: #7594B3; | ||
7 | } | ||
8 | .posts a:hover{ | ||
9 | color: #f78927; | ||
10 | } | ||
11 | .posts a{ | ||
12 | text-decoration: none; | ||
13 | } | ||
14 | .postdetail{ | ||
15 | padding: 20px 0; | ||
16 | margin-bottom: 50px; | ||
17 | border-bottom: 3px solid #ccc; | ||
18 | min-height:400px; | ||
19 | } | ||
20 | .postdetail li{ | ||
21 | margin: 0.5em auto; | ||
22 | line-height: 26px; | ||
23 | } | ||
24 | .postdetail p{ | ||
25 | line-height: 30px; | ||
26 | margin: 0.5em auto; | ||
27 | } | ||
28 | .postdetail img, | ||
29 | .mp4 video, | ||
30 | .mp4 object{ | ||
31 | max-width: 100%; | ||
32 | height: auto; | ||
33 | } | ||
34 | .postdetail > table, | ||
35 | .posts > table{ | ||
36 | width: 100%; | ||
37 | border-collapse: collapse; | ||
38 | empty-cells: show; | ||
39 | border: 1px solid #ddd; | ||
40 | } | ||
41 | .postdetail > table th, | ||
42 | .posts > table th{ | ||
43 | font-size: 13px; | ||
44 | height: 30px; | ||
45 | line-height: 30px; | ||
46 | font-weight: bold; | ||
47 | text-align: center; | ||
48 | background: #EEEEEE; | ||
49 | position: relative; | ||
50 | } | ||
51 | .postdetail > table td, | ||
52 | .posts > table td{ | ||
53 | text-align: center; | ||
54 | font-size: 12px; | ||
55 | color: #666; | ||
56 | line-height: 30px; | ||
57 | padding-left: 10px; | ||
58 | border: 1px solid #ddd; | ||
59 | } | ||
60 | .posts{ | ||
61 | width: 96%; | ||
62 | max-width: 960px; | ||
63 | margin: 50px auto; | ||
64 | } | ||
65 | .posts > table th input{ | ||
66 | position: absolute; | ||
67 | left: 2%; | ||
68 | top: 17%; | ||
69 | width: 100px; | ||
70 | } | ||
71 | .posts h3.title{ | ||
72 | position: relative; | ||
73 | } | ||
74 | .posts h3.title small{ | ||
75 | position: absolute; | ||
76 | right: 0; | ||
77 | bottom: 0; | ||
78 | font-weight: normal; | ||
79 | font-size: 14px; | ||
80 | } | ||
81 | .posts textarea{ | ||
82 | resize:none; | ||
83 | } | ||
84 | .posts .field{ | ||
85 | margin-bottom: 20px; | ||
86 | font-size: 14px; | ||
87 | } | ||
88 | .posts .field span{ | ||
89 | margin-right: 10px; | ||
90 | } | ||
91 | .posts .field input{ | ||
92 | width: 300px; | ||
93 | line-height: 21px; | ||
94 | padding: 2px 5px; | ||
95 | } | ||
96 | .posts .field select{ | ||
97 | width: 100px; | ||
98 | } | ||
99 | .postdetail form .field{ | ||
100 | margin: auto auto 20px auto; | ||
101 | } | ||
102 | .postdetail form .field label{ | ||
103 | width: 70px; | ||
104 | display: inline-block; | ||
105 | vertical-align: middle; | ||
106 | overflow: hidden; | ||
107 | font-size: 14px; | ||
108 | padding: 0 20px 0 0; | ||
109 | } | ||
110 | .postdetail form .field input, | ||
111 | .postdetail form .field textarea{ | ||
112 | width: 320px; | ||
113 | line-height: 20px; | ||
114 | border: 1px solid #2aad6f; | ||
115 | font-size: 12px; | ||
116 | padding: .5em .8em; | ||
117 | border-radius: 2px; | ||
118 | vertical-align: middle; | ||
119 | background: #ffffff; | ||
120 | } | ||
121 | .postdetail form .field input.captcha{ | ||
122 | width: 160px; | ||
123 | } | ||
124 | .postdetail form .field input.submit{ | ||
125 | width: 120px; | ||
126 | padding: 0 30px; | ||
127 | border: none; | ||
128 | color: #fff; | ||
129 | background-color: #2aad6f; | ||
130 | -webkit-border-radius: 3px; | ||
131 | -moz-border-radius: 3px; | ||
132 | border-radius: 3px; | ||
133 | line-height: 34px; | ||
134 | font-size: 14px; | ||
135 | cursor: pointer; | ||
136 | } | ||
137 | .postdetail form .field textarea{ | ||
138 | height: 120px; | ||
139 | resize: none; | ||
140 | } | ||
141 | .pagination { | ||
142 | margin: 10px auto; | ||
143 | overflow: hidden; | ||
144 | padding: 10px 0; | ||
145 | } | ||
146 | .pagination li{ | ||
147 | display: inline-block; | ||
148 | margin: auto 2px; | ||
149 | } | ||
150 | .pagination li.disabled a{ | ||
151 | background-color: #cccccc; | ||
152 | } | ||
153 | .pagination li.active a{ | ||
154 | border: 1px solid #398439; | ||
155 | color: #ffffff; | ||
156 | background-color: #00AA91; | ||
157 | } | ||
158 | .pagination a { | ||
159 | border: 1px solid #cccccc; | ||
160 | color: #666666; | ||
161 | height: 26px; | ||
162 | line-height: 26px; | ||
163 | display: inline-block; | ||
164 | padding: 0 10px; | ||
165 | } | ||
166 | .pagination li.disabled a:hover, | ||
167 | .pagination li.disabled a:active{ | ||
168 | color: #666666; | ||
169 | } | ||
170 | .pagination a:hover, | ||
171 | .pagination a:active { | ||
172 | color: #990000; | ||
173 | } |
app/assets/stylesheets/application.css
0 → 100644
1 | /* | ||
2 | * This is a manifest file that'll be compiled into application.css, which will include all the files | ||
3 | * listed below. | ||
4 | * | ||
5 | * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets, | ||
6 | * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path. | ||
7 | * | ||
8 | * You're free to add application-wide styles to this file and they'll appear at the top of the | ||
9 | * compiled file, but it's generally better to create a new file per style scope. | ||
10 | * | ||
11 | *= require_self | ||
12 | *= require_directory ./plugin | ||
13 | *= require_directory ./website | ||
14 | */ |
app/assets/stylesheets/mobile.css
0 → 100644
1 | .gallery-view .image-container{position:relative;overflow:hidden;border:2px solid white}.gallery-view .image-container img{position:absolute;top:-9999px;bottom:-9999px;left:-9999px;right:-9999px;margin:auto}.imageView .has-no-header{top:0px !important}.imageView .close-btn{font-weight:900;border:2px solid;position:absolute;right:5px;border-radius:5px}.imageView .headerView{background-image:none;background-color:black}.imageView .gallery-slide-view{width:98%;background-color:transparent}.imageView .image-subtitle{color:white;position:absolute;bottom:0px;left:10px;width:95%;height:15%;z-index:100}.imageView .listContainer{width:100%;height:100%;background-color:black}.imageView .hideAll{display:none}.imageView img{display:block;width:100%;height:auto}.imageView .scroll-view{position:absolute;width:100%;height:100%}.imageView .scroll-view .scroll{min-height:100%;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-direction:normal;-moz-box-direction:normal;-webkit-box-orient:horizontal;-moz-box-orient:horizontal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:center;-moz-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-content:stretch;-ms-flex-line-pack:stretch;align-content:stretch;-webkit-box-align:center;-moz-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center} |
app/assets/stylesheets/mobile/ionic.css
0 → 100644
This diff could not be displayed because it is too large.
app/assets/stylesheets/mobile/ionic.min.css
0 → 100644
This diff could not be displayed because it is too large.
app/assets/stylesheets/mobile/style.css
0 → 100644
app/assets/stylesheets/plugin/animate.css
0 → 100755
1 | @charset "UTF-8"; | ||
2 | /*! | ||
3 | Animate.css - http://daneden.me/animate | ||
4 | Licensed under the MIT license - http://opensource.org/licenses/MIT | ||
5 | |||
6 | Copyright (c) 2014 Daniel Eden | ||
7 | */ | ||
8 | |||
9 | .animated { | ||
10 | -webkit-animation-duration: 1s; | ||
11 | animation-duration: 1s; | ||
12 | -webkit-animation-fill-mode: both; | ||
13 | animation-fill-mode: both; | ||
14 | } | ||
15 | |||
16 | .animated.infinite { | ||
17 | -webkit-animation-iteration-count: infinite; | ||
18 | animation-iteration-count: infinite; | ||
19 | } | ||
20 | |||
21 | .animated.hinge { | ||
22 | -webkit-animation-duration: 2s; | ||
23 | animation-duration: 2s; | ||
24 | } | ||
25 | |||
26 | @-webkit-keyframes bounce { | ||
27 | 0%, 20%, 53%, 80%, 100% { | ||
28 | -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); | ||
29 | transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); | ||
30 | -webkit-transform: translate3d(0,0,0); | ||
31 | transform: translate3d(0,0,0); | ||
32 | } | ||
33 | |||
34 | 40%, 43% { | ||
35 | -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); | ||
36 | transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); | ||
37 | -webkit-transform: translate3d(0, -30px, 0); | ||
38 | transform: translate3d(0, -30px, 0); | ||
39 | } | ||
40 | |||
41 | 70% { | ||
42 | -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); | ||
43 | transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); | ||
44 | -webkit-transform: translate3d(0, -15px, 0); | ||
45 | transform: translate3d(0, -15px, 0); | ||
46 | } | ||
47 | |||
48 | 90% { | ||
49 | -webkit-transform: translate3d(0,-4px,0); | ||
50 | transform: translate3d(0,-4px,0); | ||
51 | } | ||
52 | } | ||
53 | |||
54 | @keyframes bounce { | ||
55 | 0%, 20%, 53%, 80%, 100% { | ||
56 | -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); | ||
57 | transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); | ||
58 | -webkit-transform: translate3d(0,0,0); | ||
59 | transform: translate3d(0,0,0); | ||
60 | } | ||
61 | |||
62 | 40%, 43% { | ||
63 | -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); | ||
64 | transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); | ||
65 | -webkit-transform: translate3d(0, -30px, 0); | ||
66 | transform: translate3d(0, -30px, 0); | ||
67 | } | ||
68 | |||
69 | 70% { | ||
70 | -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); | ||
71 | transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); | ||
72 | -webkit-transform: translate3d(0, -15px, 0); | ||
73 | transform: translate3d(0, -15px, 0); | ||
74 | } | ||
75 | |||
76 | 90% { | ||
77 | -webkit-transform: translate3d(0,-4px,0); | ||
78 | transform: translate3d(0,-4px,0); | ||
79 | } | ||
80 | } | ||
81 | |||
82 | .bounce { | ||
83 | -webkit-animation-name: bounce; | ||
84 | animation-name: bounce; | ||
85 | -webkit-transform-origin: center bottom; | ||
86 | -ms-transform-origin: center bottom; | ||
87 | transform-origin: center bottom; | ||
88 | } | ||
89 | |||
90 | @-webkit-keyframes flash { | ||
91 | 0%, 50%, 100% { | ||
92 | opacity: 1; | ||
93 | } | ||
94 | |||
95 | 25%, 75% { | ||
96 | opacity: 0; | ||
97 | } | ||
98 | } | ||
99 | |||
100 | @keyframes flash { | ||
101 | 0%, 50%, 100% { | ||
102 | opacity: 1; | ||
103 | } | ||
104 | |||
105 | 25%, 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 | 0% { | ||
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 | 100% { | ||
129 | -webkit-transform: scale3d(1, 1, 1); | ||
130 | transform: scale3d(1, 1, 1); | ||
131 | } | ||
132 | } | ||
133 | |||
134 | @keyframes pulse { | ||
135 | 0% { | ||
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 | 100% { | ||
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 | 0% { | ||
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(.95, 1.05, 1); | ||
179 | transform: scale3d(.95, 1.05, 1); | ||
180 | } | ||
181 | |||
182 | 75% { | ||
183 | -webkit-transform: scale3d(1.05, .95, 1); | ||
184 | transform: scale3d(1.05, .95, 1); | ||
185 | } | ||
186 | |||
187 | 100% { | ||
188 | -webkit-transform: scale3d(1, 1, 1); | ||
189 | transform: scale3d(1, 1, 1); | ||
190 | } | ||
191 | } | ||
192 | |||
193 | @keyframes rubberBand { | ||
194 | 0% { | ||
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(.95, 1.05, 1); | ||
216 | transform: scale3d(.95, 1.05, 1); | ||
217 | } | ||
218 | |||
219 | 75% { | ||
220 | -webkit-transform: scale3d(1.05, .95, 1); | ||
221 | transform: scale3d(1.05, .95, 1); | ||
222 | } | ||
223 | |||
224 | 100% { | ||
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 | 0%, 100% { | ||
237 | -webkit-transform: translate3d(0, 0, 0); | ||
238 | transform: translate3d(0, 0, 0); | ||
239 | } | ||
240 | |||
241 | 10%, 30%, 50%, 70%, 90% { | ||
242 | -webkit-transform: translate3d(-10px, 0, 0); | ||
243 | transform: translate3d(-10px, 0, 0); | ||
244 | } | ||
245 | |||
246 | 20%, 40%, 60%, 80% { | ||
247 | -webkit-transform: translate3d(10px, 0, 0); | ||
248 | transform: translate3d(10px, 0, 0); | ||
249 | } | ||
250 | } | ||
251 | |||
252 | @keyframes shake { | ||
253 | 0%, 100% { | ||
254 | -webkit-transform: translate3d(0, 0, 0); | ||
255 | transform: translate3d(0, 0, 0); | ||
256 | } | ||
257 | |||
258 | 10%, 30%, 50%, 70%, 90% { | ||
259 | -webkit-transform: translate3d(-10px, 0, 0); | ||
260 | transform: translate3d(-10px, 0, 0); | ||
261 | } | ||
262 | |||
263 | 20%, 40%, 60%, 80% { | ||
264 | -webkit-transform: translate3d(10px, 0, 0); | ||
265 | transform: translate3d(10px, 0, 0); | ||
266 | } | ||
267 | } | ||
268 | |||
269 | .shake { | ||
270 | -webkit-animation-name: shake; | ||
271 | animation-name: shake; | ||
272 | } | ||
273 | |||
274 | @-webkit-keyframes swing { | ||
275 | 20% { | ||
276 | -webkit-transform: rotate3d(0, 0, 1, 15deg); | ||
277 | transform: rotate3d(0, 0, 1, 15deg); | ||
278 | } | ||
279 | |||
280 | 40% { | ||
281 | -webkit-transform: rotate3d(0, 0, 1, -10deg); | ||
282 | transform: rotate3d(0, 0, 1, -10deg); | ||
283 | } | ||
284 | |||
285 | 60% { | ||
286 | -webkit-transform: rotate3d(0, 0, 1, 5deg); | ||
287 | transform: rotate3d(0, 0, 1, 5deg); | ||
288 | } | ||
289 | |||
290 | 80% { | ||
291 | -webkit-transform: rotate3d(0, 0, 1, -5deg); | ||
292 | transform: rotate3d(0, 0, 1, -5deg); | ||
293 | } | ||
294 | |||
295 | 100% { | ||
296 | -webkit-transform: rotate3d(0, 0, 1, 0deg); | ||
297 | transform: rotate3d(0, 0, 1, 0deg); | ||
298 | } | ||
299 | } | ||
300 | |||
301 | @keyframes swing { | ||
302 | 20% { | ||
303 | -webkit-transform: rotate3d(0, 0, 1, 15deg); | ||
304 | transform: rotate3d(0, 0, 1, 15deg); | ||
305 | } | ||
306 | |||
307 | 40% { | ||
308 | -webkit-transform: rotate3d(0, 0, 1, -10deg); | ||
309 | transform: rotate3d(0, 0, 1, -10deg); | ||
310 | } | ||
311 | |||
312 | 60% { | ||
313 | -webkit-transform: rotate3d(0, 0, 1, 5deg); | ||
314 | transform: rotate3d(0, 0, 1, 5deg); | ||
315 | } | ||
316 | |||
317 | 80% { | ||
318 | -webkit-transform: rotate3d(0, 0, 1, -5deg); | ||
319 | transform: rotate3d(0, 0, 1, -5deg); | ||
320 | } | ||
321 | |||
322 | 100% { | ||
323 | -webkit-transform: rotate3d(0, 0, 1, 0deg); | ||
324 | transform: rotate3d(0, 0, 1, 0deg); | ||
325 | } | ||
326 | } | ||
327 | |||
328 | .swing { | ||
329 | -webkit-transform-origin: top center; | ||
330 | -ms-transform-origin: top center; | ||
331 | transform-origin: top center; | ||
332 | -webkit-animation-name: swing; | ||
333 | animation-name: swing; | ||
334 | } | ||
335 | |||
336 | @-webkit-keyframes tada { | ||
337 | 0% { | ||
338 | -webkit-transform: scale3d(1, 1, 1); | ||
339 | transform: scale3d(1, 1, 1); | ||
340 | } | ||
341 | |||
342 | 10%, 20% { | ||
343 | -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); | ||
344 | transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); | ||
345 | } | ||
346 | |||
347 | 30%, 50%, 70%, 90% { | ||
348 | -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); | ||
349 | transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); | ||
350 | } | ||
351 | |||
352 | 40%, 60%, 80% { | ||
353 | -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); | ||
354 | transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); | ||
355 | } | ||
356 | |||
357 | 100% { | ||
358 | -webkit-transform: scale3d(1, 1, 1); | ||
359 | transform: scale3d(1, 1, 1); | ||
360 | } | ||
361 | } | ||
362 | |||
363 | @keyframes tada { | ||
364 | 0% { | ||
365 | -webkit-transform: scale3d(1, 1, 1); | ||
366 | transform: scale3d(1, 1, 1); | ||
367 | } | ||
368 | |||
369 | 10%, 20% { | ||
370 | -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); | ||
371 | transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); | ||
372 | } | ||
373 | |||
374 | 30%, 50%, 70%, 90% { | ||
375 | -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); | ||
376 | transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); | ||
377 | } | ||
378 | |||
379 | 40%, 60%, 80% { | ||
380 | -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); | ||
381 | transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); | ||
382 | } | ||
383 | |||
384 | 100% { | ||
385 | -webkit-transform: scale3d(1, 1, 1); | ||
386 | transform: scale3d(1, 1, 1); | ||
387 | } | ||
388 | } | ||
389 | |||
390 | .tada { | ||
391 | -webkit-animation-name: tada; | ||
392 | animation-name: tada; | ||
393 | } | ||
394 | |||
395 | /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ | ||
396 | |||
397 | @-webkit-keyframes wobble { | ||
398 | 0% { | ||
399 | -webkit-transform: none; | ||
400 | transform: none; | ||
401 | } | ||
402 | |||
403 | 15% { | ||
404 | -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); | ||
405 | transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); | ||
406 | } | ||
407 | |||
408 | 30% { | ||
409 | -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); | ||
410 | transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); | ||
411 | } | ||
412 | |||
413 | 45% { | ||
414 | -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); | ||
415 | transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); | ||
416 | } | ||
417 | |||
418 | 60% { | ||
419 | -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); | ||
420 | transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); | ||
421 | } | ||
422 | |||
423 | 75% { | ||
424 | -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); | ||
425 | transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); | ||
426 | } | ||
427 | |||
428 | 100% { | ||
429 | -webkit-transform: none; | ||
430 | transform: none; | ||
431 | } | ||
432 | } | ||
433 | |||
434 | @keyframes wobble { | ||
435 | 0% { | ||
436 | -webkit-transform: none; | ||
437 | transform: none; | ||
438 | } | ||
439 | |||
440 | 15% { | ||
441 | -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); | ||
442 | transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); | ||
443 | } | ||
444 | |||
445 | 30% { | ||
446 | -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); | ||
447 | transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); | ||
448 | } | ||
449 | |||
450 | 45% { | ||
451 | -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); | ||
452 | transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); | ||
453 | } | ||
454 | |||
455 | 60% { | ||
456 | -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); | ||
457 | transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); | ||
458 | } | ||
459 | |||
460 | 75% { | ||
461 | -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); | ||
462 | transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); | ||
463 | } | ||
464 | |||
465 | 100% { | ||
466 | -webkit-transform: none; | ||
467 | transform: none; | ||
468 | } | ||
469 | } | ||
470 | |||
471 | .wobble { | ||
472 | -webkit-animation-name: wobble; | ||
473 | animation-name: wobble; | ||
474 | } | ||
475 | |||
476 | @-webkit-keyframes bounceIn { | ||
477 | 0%, 20%, 40%, 60%, 80%, 100% { | ||
478 | -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); | ||
479 | transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); | ||
480 | } | ||
481 | |||
482 | 0% { | ||
483 | opacity: 0; | ||
484 | -webkit-transform: scale3d(.3, .3, .3); | ||
485 | transform: scale3d(.3, .3, .3); | ||
486 | } | ||
487 | |||
488 | 20% { | ||
489 | -webkit-transform: scale3d(1.1, 1.1, 1.1); | ||
490 | transform: scale3d(1.1, 1.1, 1.1); | ||
491 | } | ||
492 | |||
493 | 40% { | ||
494 | -webkit-transform: scale3d(.9, .9, .9); | ||
495 | transform: scale3d(.9, .9, .9); | ||
496 | } | ||
497 | |||
498 | 60% { | ||
499 | opacity: 1; | ||
500 | -webkit-transform: scale3d(1.03, 1.03, 1.03); | ||
501 | transform: scale3d(1.03, 1.03, 1.03); | ||
502 | } | ||
503 | |||
504 | 80% { | ||
505 | -webkit-transform: scale3d(.97, .97, .97); | ||
506 | transform: scale3d(.97, .97, .97); | ||
507 | } | ||
508 | |||
509 | 100% { | ||
510 | opacity: 1; | ||
511 | -webkit-transform: scale3d(1, 1, 1); | ||
512 | transform: scale3d(1, 1, 1); | ||
513 | } | ||
514 | } | ||
515 | |||
516 | @keyframes bounceIn { | ||
517 | 0%, 20%, 40%, 60%, 80%, 100% { | ||
518 | -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); | ||
519 | transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); | ||
520 | } | ||
521 | |||
522 | 0% { | ||
523 | opacity: 0; | ||
524 | -webkit-transform: scale3d(.3, .3, .3); | ||
525 | transform: scale3d(.3, .3, .3); | ||
526 | } | ||
527 | |||
528 | 20% { | ||
529 | -webkit-transform: scale3d(1.1, 1.1, 1.1); | ||
530 | transform: scale3d(1.1, 1.1, 1.1); | ||
531 | } | ||
532 | |||
533 | 40% { | ||
534 | -webkit-transform: scale3d(.9, .9, .9); | ||
535 | transform: scale3d(.9, .9, .9); | ||
536 | } | ||
537 | |||
538 | 60% { | ||
539 | opacity: 1; | ||
540 | -webkit-transform: scale3d(1.03, 1.03, 1.03); | ||
541 | transform: scale3d(1.03, 1.03, 1.03); | ||
542 | } | ||
543 | |||
544 | 80% { | ||
545 | -webkit-transform: scale3d(.97, .97, .97); | ||
546 | transform: scale3d(.97, .97, .97); | ||
547 | } | ||
548 | |||
549 | 100% { | ||
550 | opacity: 1; | ||
551 | -webkit-transform: scale3d(1, 1, 1); | ||
552 | transform: scale3d(1, 1, 1); | ||
553 | } | ||
554 | } | ||
555 | |||
556 | .bounceIn { | ||
557 | -webkit-animation-name: bounceIn; | ||
558 | animation-name: bounceIn; | ||
559 | -webkit-animation-duration: .75s; | ||
560 | animation-duration: .75s; | ||
561 | } | ||
562 | |||
563 | @-webkit-keyframes bounceInDown { | ||
564 | 0%, 60%, 75%, 90%, 100% { | ||
565 | -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); | ||
566 | transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); | ||
567 | } | ||
568 | |||
569 | 0% { | ||
570 | opacity: 0; | ||
571 | -webkit-transform: translate3d(0, -3000px, 0); | ||
572 | transform: translate3d(0, -3000px, 0); | ||
573 | } | ||
574 | |||
575 | 60% { | ||
576 | opacity: 1; | ||
577 | -webkit-transform: translate3d(0, 25px, 0); | ||
578 | transform: translate3d(0, 25px, 0); | ||
579 | } | ||
580 | |||
581 | 75% { | ||
582 | -webkit-transform: translate3d(0, -10px, 0); | ||
583 | transform: translate3d(0, -10px, 0); | ||
584 | } | ||
585 | |||
586 | 90% { | ||
587 | -webkit-transform: translate3d(0, 5px, 0); | ||
588 | transform: translate3d(0, 5px, 0); | ||
589 | } | ||
590 | |||
591 | 100% { | ||
592 | -webkit-transform: none; | ||
593 | transform: none; | ||
594 | } | ||
595 | } | ||
596 | |||
597 | @keyframes bounceInDown { | ||
598 | 0%, 60%, 75%, 90%, 100% { | ||
599 | -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); | ||
600 | transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); | ||
601 | } | ||
602 | |||
603 | 0% { | ||
604 | opacity: 0; | ||
605 | -webkit-transform: translate3d(0, -3000px, 0); | ||
606 | transform: translate3d(0, -3000px, 0); | ||
607 | } | ||
608 | |||
609 | 60% { | ||
610 | opacity: 1; | ||
611 | -webkit-transform: translate3d(0, 25px, 0); | ||
612 | transform: translate3d(0, 25px, 0); | ||
613 | } | ||
614 | |||
615 | 75% { | ||
616 | -webkit-transform: translate3d(0, -10px, 0); | ||
617 | transform: translate3d(0, -10px, 0); | ||
618 | } | ||
619 | |||
620 | 90% { | ||
621 | -webkit-transform: translate3d(0, 5px, 0); | ||
622 | transform: translate3d(0, 5px, 0); | ||
623 | } | ||
624 | |||
625 | 100% { | ||
626 | -webkit-transform: none; | ||
627 | transform: none; | ||
628 | } | ||
629 | } | ||
630 | |||
631 | .bounceInDown { | ||
632 | -webkit-animation-name: bounceInDown; | ||
633 | animation-name: bounceInDown; | ||
634 | } | ||
635 | |||
636 | @-webkit-keyframes bounceInLeft { | ||
637 | 0%, 60%, 75%, 90%, 100% { | ||
638 | -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); | ||
639 | transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); | ||
640 | } | ||
641 | |||
642 | 0% { | ||
643 | opacity: 0; | ||
644 | -webkit-transform: translate3d(-3000px, 0, 0); | ||
645 | transform: translate3d(-3000px, 0, 0); | ||
646 | } | ||
647 | |||
648 | 60% { | ||
649 | opacity: 1; | ||
650 | -webkit-transform: translate3d(25px, 0, 0); | ||
651 | transform: translate3d(25px, 0, 0); | ||
652 | } | ||
653 | |||
654 | 75% { | ||
655 | -webkit-transform: translate3d(-10px, 0, 0); | ||
656 | transform: translate3d(-10px, 0, 0); | ||
657 | } | ||
658 | |||
659 | 90% { | ||
660 | -webkit-transform: translate3d(5px, 0, 0); | ||
661 | transform: translate3d(5px, 0, 0); | ||
662 | } | ||
663 | |||
664 | 100% { | ||
665 | -webkit-transform: none; | ||
666 | transform: none; | ||
667 | } | ||
668 | } | ||
669 | |||
670 | @keyframes bounceInLeft { | ||
671 | 0%, 60%, 75%, 90%, 100% { | ||
672 | -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); | ||
673 | transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); | ||
674 | } | ||
675 | |||
676 | 0% { | ||
677 | opacity: 0; | ||
678 | -webkit-transform: translate3d(-3000px, 0, 0); | ||
679 | transform: translate3d(-3000px, 0, 0); | ||
680 | } | ||
681 | |||
682 | 60% { | ||
683 | opacity: 1; | ||
684 | -webkit-transform: translate3d(25px, 0, 0); | ||
685 | transform: translate3d(25px, 0, 0); | ||
686 | } | ||
687 | |||
688 | 75% { | ||
689 | -webkit-transform: translate3d(-10px, 0, 0); | ||
690 | transform: translate3d(-10px, 0, 0); | ||
691 | } | ||
692 | |||
693 | 90% { | ||
694 | -webkit-transform: translate3d(5px, 0, 0); | ||
695 | transform: translate3d(5px, 0, 0); | ||
696 | } | ||
697 | |||
698 | 100% { | ||
699 | -webkit-transform: none; | ||
700 | transform: none; | ||
701 | } | ||
702 | } | ||
703 | |||
704 | .bounceInLeft { | ||
705 | -webkit-animation-name: bounceInLeft; | ||
706 | animation-name: bounceInLeft; | ||
707 | } | ||
708 | |||
709 | @-webkit-keyframes bounceInRight { | ||
710 | 0%, 60%, 75%, 90%, 100% { | ||
711 | -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); | ||
712 | transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); | ||
713 | } | ||
714 | |||
715 | 0% { | ||
716 | opacity: 0; | ||
717 | -webkit-transform: translate3d(3000px, 0, 0); | ||
718 | transform: translate3d(3000px, 0, 0); | ||
719 | } | ||
720 | |||
721 | 60% { | ||
722 | opacity: 1; | ||
723 | -webkit-transform: translate3d(-25px, 0, 0); | ||
724 | transform: translate3d(-25px, 0, 0); | ||
725 | } | ||
726 | |||
727 | 75% { | ||
728 | -webkit-transform: translate3d(10px, 0, 0); | ||
729 | transform: translate3d(10px, 0, 0); | ||
730 | } | ||
731 | |||
732 | 90% { | ||
733 | -webkit-transform: translate3d(-5px, 0, 0); | ||
734 | transform: translate3d(-5px, 0, 0); | ||
735 | } | ||
736 | |||
737 | 100% { | ||
738 | -webkit-transform: none; | ||
739 | transform: none; | ||
740 | } | ||
741 | } | ||
742 | |||
743 | @keyframes bounceInRight { | ||
744 | 0%, 60%, 75%, 90%, 100% { | ||
745 | -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); | ||
746 | transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); | ||
747 | } | ||
748 | |||
749 | 0% { | ||
750 | opacity: 0; | ||
751 | -webkit-transform: translate3d(3000px, 0, 0); | ||
752 | transform: translate3d(3000px, 0, 0); | ||
753 | } | ||
754 | |||
755 | 60% { | ||
756 | opacity: 1; | ||
757 | -webkit-transform: translate3d(-25px, 0, 0); | ||
758 | transform: translate3d(-25px, 0, 0); | ||
759 | } | ||
760 | |||
761 | 75% { | ||
762 | -webkit-transform: translate3d(10px, 0, 0); | ||
763 | transform: translate3d(10px, 0, 0); | ||
764 | } | ||
765 | |||
766 | 90% { | ||
767 | -webkit-transform: translate3d(-5px, 0, 0); | ||
768 | transform: translate3d(-5px, 0, 0); | ||
769 | } | ||
770 | |||
771 | 100% { | ||
772 | -webkit-transform: none; | ||
773 | transform: none; | ||
774 | } | ||
775 | } | ||
776 | |||
777 | .bounceInRight { | ||
778 | -webkit-animation-name: bounceInRight; | ||
779 | animation-name: bounceInRight; | ||
780 | } | ||
781 | |||
782 | @-webkit-keyframes bounceInUp { | ||
783 | 0%, 60%, 75%, 90%, 100% { | ||
784 | -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); | ||
785 | transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); | ||
786 | } | ||
787 | |||
788 | 0% { | ||
789 | opacity: 0; | ||
790 | -webkit-transform: translate3d(0, 3000px, 0); | ||
791 | transform: translate3d(0, 3000px, 0); | ||
792 | } | ||
793 | |||
794 | 60% { | ||
795 | opacity: 1; | ||
796 | -webkit-transform: translate3d(0, -20px, 0); | ||
797 | transform: translate3d(0, -20px, 0); | ||
798 | } | ||
799 | |||
800 | 75% { | ||
801 | -webkit-transform: translate3d(0, 10px, 0); | ||
802 | transform: translate3d(0, 10px, 0); | ||
803 | } | ||
804 | |||
805 | 90% { | ||
806 | -webkit-transform: translate3d(0, -5px, 0); | ||
807 | transform: translate3d(0, -5px, 0); | ||
808 | } | ||
809 | |||
810 | 100% { | ||
811 | -webkit-transform: translate3d(0, 0, 0); | ||
812 | transform: translate3d(0, 0, 0); | ||
813 | } | ||
814 | } | ||
815 | |||
816 | @keyframes bounceInUp { | ||
817 | 0%, 60%, 75%, 90%, 100% { | ||
818 | -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); | ||
819 | transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); | ||
820 | } | ||
821 | |||
822 | 0% { | ||
823 | opacity: 0; | ||
824 | -webkit-transform: translate3d(0, 3000px, 0); | ||
825 | transform: translate3d(0, 3000px, 0); | ||
826 | } | ||
827 | |||
828 | 60% { | ||
829 | opacity: 1; | ||
830 | -webkit-transform: translate3d(0, -20px, 0); | ||
831 | transform: translate3d(0, -20px, 0); | ||
832 | } | ||
833 | |||
834 | 75% { | ||
835 | -webkit-transform: translate3d(0, 10px, 0); | ||
836 | transform: translate3d(0, 10px, 0); | ||
837 | } | ||
838 | |||
839 | 90% { | ||
840 | -webkit-transform: translate3d(0, -5px, 0); | ||
841 | transform: translate3d(0, -5px, 0); | ||
842 | } | ||
843 | |||
844 | 100% { | ||
845 | -webkit-transform: translate3d(0, 0, 0); | ||
846 | transform: translate3d(0, 0, 0); | ||
847 | } | ||
848 | } | ||
849 | |||
850 | .bounceInUp { | ||
851 | -webkit-animation-name: bounceInUp; | ||
852 | animation-name: bounceInUp; | ||
853 | } | ||
854 | |||
855 | @-webkit-keyframes bounceOut { | ||
856 | 20% { | ||
857 | -webkit-transform: scale3d(.9, .9, .9); | ||
858 | transform: scale3d(.9, .9, .9); | ||
859 | } | ||
860 | |||
861 | 50%, 55% { | ||
862 | opacity: 1; | ||
863 | -webkit-transform: scale3d(1.1, 1.1, 1.1); | ||
864 | transform: scale3d(1.1, 1.1, 1.1); | ||
865 | } | ||
866 | |||
867 | 100% { | ||
868 | opacity: 0; | ||
869 | -webkit-transform: scale3d(.3, .3, .3); | ||
870 | transform: scale3d(.3, .3, .3); | ||
871 | } | ||
872 | } | ||
873 | |||
874 | @keyframes bounceOut { | ||
875 | 20% { | ||
876 | -webkit-transform: scale3d(.9, .9, .9); | ||
877 | transform: scale3d(.9, .9, .9); | ||
878 | } | ||
879 | |||
880 | 50%, 55% { | ||
881 | opacity: 1; | ||
882 | -webkit-transform: scale3d(1.1, 1.1, 1.1); | ||
883 | transform: scale3d(1.1, 1.1, 1.1); | ||
884 | } | ||
885 | |||
886 | 100% { | ||
887 | opacity: 0; | ||
888 | -webkit-transform: scale3d(.3, .3, .3); | ||
889 | transform: scale3d(.3, .3, .3); | ||
890 | } | ||
891 | } | ||
892 | |||
893 | .bounceOut { | ||
894 | -webkit-animation-name: bounceOut; | ||
895 | animation-name: bounceOut; | ||
896 | -webkit-animation-duration: .75s; | ||
897 | animation-duration: .75s; | ||
898 | } | ||
899 | |||
900 | @-webkit-keyframes bounceOutDown { | ||
901 | 20% { | ||
902 | -webkit-transform: translate3d(0, 10px, 0); | ||
903 | transform: translate3d(0, 10px, 0); | ||
904 | } | ||
905 | |||
906 | 40%, 45% { | ||
907 | opacity: 1; | ||
908 | -webkit-transform: translate3d(0, -20px, 0); | ||
909 | transform: translate3d(0, -20px, 0); | ||
910 | } | ||
911 | |||
912 | 100% { | ||
913 | opacity: 0; | ||
914 | -webkit-transform: translate3d(0, 2000px, 0); | ||
915 | transform: translate3d(0, 2000px, 0); | ||
916 | } | ||
917 | } | ||
918 | |||
919 | @keyframes bounceOutDown { | ||
920 | 20% { | ||
921 | -webkit-transform: translate3d(0, 10px, 0); | ||
922 | transform: translate3d(0, 10px, 0); | ||
923 | } | ||
924 | |||
925 | 40%, 45% { | ||
926 | opacity: 1; | ||
927 | -webkit-transform: translate3d(0, -20px, 0); | ||
928 | transform: translate3d(0, -20px, 0); | ||
929 | } | ||
930 | |||
931 | 100% { | ||
932 | opacity: 0; | ||
933 | -webkit-transform: translate3d(0, 2000px, 0); | ||
934 | transform: translate3d(0, 2000px, 0); | ||
935 | } | ||
936 | } | ||
937 | |||
938 | .bounceOutDown { | ||
939 | -webkit-animation-name: bounceOutDown; | ||
940 | animation-name: bounceOutDown; | ||
941 | } | ||
942 | |||
943 | @-webkit-keyframes bounceOutLeft { | ||
944 | 20% { | ||
945 | opacity: 1; | ||
946 | -webkit-transform: translate3d(20px, 0, 0); | ||
947 | transform: translate3d(20px, 0, 0); | ||
948 | } | ||
949 | |||
950 | 100% { | ||
951 | opacity: 0; | ||
952 | -webkit-transform: translate3d(-2000px, 0, 0); | ||
953 | transform: translate3d(-2000px, 0, 0); | ||
954 | } | ||
955 | } | ||
956 | |||
957 | @keyframes bounceOutLeft { | ||
958 | 20% { | ||
959 | opacity: 1; | ||
960 | -webkit-transform: translate3d(20px, 0, 0); | ||
961 | transform: translate3d(20px, 0, 0); | ||
962 | } | ||
963 | |||
964 | 100% { | ||
965 | opacity: 0; | ||
966 | -webkit-transform: translate3d(-2000px, 0, 0); | ||
967 | transform: translate3d(-2000px, 0, 0); | ||
968 | } | ||
969 | } | ||
970 | |||
971 | .bounceOutLeft { | ||
972 | -webkit-animation-name: bounceOutLeft; | ||
973 | animation-name: bounceOutLeft; | ||
974 | } | ||
975 | |||
976 | @-webkit-keyframes bounceOutRight { | ||
977 | 20% { | ||
978 | opacity: 1; | ||
979 | -webkit-transform: translate3d(-20px, 0, 0); | ||
980 | transform: translate3d(-20px, 0, 0); | ||
981 | } | ||
982 | |||
983 | 100% { | ||
984 | opacity: 0; | ||
985 | -webkit-transform: translate3d(2000px, 0, 0); | ||
986 | transform: translate3d(2000px, 0, 0); | ||
987 | } | ||
988 | } | ||
989 | |||
990 | @keyframes bounceOutRight { | ||
991 | 20% { | ||
992 | opacity: 1; | ||
993 | -webkit-transform: translate3d(-20px, 0, 0); | ||
994 | transform: translate3d(-20px, 0, 0); | ||
995 | } | ||
996 | |||
997 | 100% { | ||
998 | opacity: 0; | ||
999 | -webkit-transform: translate3d(2000px, 0, 0); | ||
1000 | transform: translate3d(2000px, 0, 0); | ||
1001 | } | ||
1002 | } | ||
1003 | |||
1004 | .bounceOutRight { | ||
1005 | -webkit-animation-name: bounceOutRight; | ||
1006 | animation-name: bounceOutRight; | ||
1007 | } | ||
1008 | |||
1009 | @-webkit-keyframes bounceOutUp { | ||
1010 | 20% { | ||
1011 | -webkit-transform: translate3d(0, -10px, 0); | ||
1012 | transform: translate3d(0, -10px, 0); | ||
1013 | } | ||
1014 | |||
1015 | 40%, 45% { | ||
1016 | opacity: 1; | ||
1017 | -webkit-transform: translate3d(0, 20px, 0); | ||
1018 | transform: translate3d(0, 20px, 0); | ||
1019 | } | ||
1020 | |||
1021 | 100% { | ||
1022 | opacity: 0; | ||
1023 | -webkit-transform: translate3d(0, -2000px, 0); | ||
1024 | transform: translate3d(0, -2000px, 0); | ||
1025 | } | ||
1026 | } | ||
1027 | |||
1028 | @keyframes bounceOutUp { | ||
1029 | 20% { | ||
1030 | -webkit-transform: translate3d(0, -10px, 0); | ||
1031 | transform: translate3d(0, -10px, 0); | ||
1032 | } | ||
1033 | |||
1034 | 40%, 45% { | ||
1035 | opacity: 1; | ||
1036 | -webkit-transform: translate3d(0, 20px, 0); | ||
1037 | transform: translate3d(0, 20px, 0); | ||
1038 | } | ||
1039 | |||
1040 | 100% { | ||
1041 | opacity: 0; | ||
1042 | -webkit-transform: translate3d(0, -2000px, 0); | ||
1043 | transform: translate3d(0, -2000px, 0); | ||
1044 | } | ||
1045 | } | ||
1046 | |||
1047 | .bounceOutUp { | ||
1048 | -webkit-animation-name: bounceOutUp; | ||
1049 | animation-name: bounceOutUp; | ||
1050 | } | ||
1051 | |||
1052 | @-webkit-keyframes fadeIn { | ||
1053 | 0% {opacity: 0;} | ||
1054 | 100% {opacity: 1;} | ||
1055 | } | ||
1056 | |||
1057 | @keyframes fadeIn { | ||
1058 | 0% {opacity: 0;} | ||
1059 | 100% {opacity: 1;} | ||
1060 | } | ||
1061 | |||
1062 | .fadeIn { | ||
1063 | -webkit-animation-name: fadeIn; | ||
1064 | animation-name: fadeIn; | ||
1065 | } | ||
1066 | |||
1067 | @-webkit-keyframes fadeInDown { | ||
1068 | 0% { | ||
1069 | opacity: 0; | ||
1070 | -webkit-transform: translate3d(0, -100%, 0); | ||
1071 | transform: translate3d(0, -100%, 0); | ||
1072 | } | ||
1073 | |||
1074 | 100% { | ||
1075 | opacity: 1; | ||
1076 | -webkit-transform: none; | ||
1077 | transform: none; | ||
1078 | } | ||
1079 | } | ||
1080 | |||
1081 | @keyframes fadeInDown { | ||
1082 | 0% { | ||
1083 | opacity: 0; | ||
1084 | -webkit-transform: translate3d(0, -100%, 0); | ||
1085 | transform: translate3d(0, -100%, 0); | ||
1086 | } | ||
1087 | |||
1088 | 100% { | ||
1089 | opacity: 1; | ||
1090 | -webkit-transform: none; | ||
1091 | transform: none; | ||
1092 | } | ||
1093 | } | ||
1094 | |||
1095 | .fadeInDown { | ||
1096 | -webkit-animation-name: fadeInDown; | ||
1097 | animation-name: fadeInDown; | ||
1098 | } | ||
1099 | |||
1100 | @-webkit-keyframes fadeInDownBig { | ||
1101 | 0% { | ||
1102 | opacity: 0; | ||
1103 | -webkit-transform: translate3d(0, -2000px, 0); | ||
1104 | transform: translate3d(0, -2000px, 0); | ||
1105 | } | ||
1106 | |||
1107 | 100% { | ||
1108 | opacity: 1; | ||
1109 | -webkit-transform: none; | ||
1110 | transform: none; | ||
1111 | } | ||
1112 | } | ||
1113 | |||
1114 | @keyframes fadeInDownBig { | ||
1115 | 0% { | ||
1116 | opacity: 0; | ||
1117 | -webkit-transform: translate3d(0, -2000px, 0); | ||
1118 | transform: translate3d(0, -2000px, 0); | ||
1119 | } | ||
1120 | |||
1121 | 100% { | ||
1122 | opacity: 1; | ||
1123 | -webkit-transform: none; | ||
1124 | transform: none; | ||
1125 | } | ||
1126 | } | ||
1127 | |||
1128 | .fadeInDownBig { | ||
1129 | -webkit-animation-name: fadeInDownBig; | ||
1130 | animation-name: fadeInDownBig; | ||
1131 | } | ||
1132 | |||
1133 | @-webkit-keyframes fadeInLeft { | ||
1134 | 0% { | ||
1135 | opacity: 0; | ||
1136 | -webkit-transform: translate3d(-100%, 0, 0); | ||
1137 | transform: translate3d(-100%, 0, 0); | ||
1138 | } | ||
1139 | |||
1140 | 100% { | ||
1141 | opacity: 1; | ||
1142 | -webkit-transform: none; | ||
1143 | transform: none; | ||
1144 | } | ||
1145 | } | ||
1146 | |||
1147 | @keyframes fadeInLeft { | ||
1148 | 0% { | ||
1149 | opacity: 0; | ||
1150 | -webkit-transform: translate3d(-100%, 0, 0); | ||
1151 | transform: translate3d(-100%, 0, 0); | ||
1152 | } | ||
1153 | |||
1154 | 100% { | ||
1155 | opacity: 1; | ||
1156 | -webkit-transform: none; | ||
1157 | transform: none; | ||
1158 | } | ||
1159 | } | ||
1160 | |||
1161 | .fadeInLeft { | ||
1162 | -webkit-animation-name: fadeInLeft; | ||
1163 | animation-name: fadeInLeft; | ||
1164 | } | ||
1165 | |||
1166 | @-webkit-keyframes fadeInLeftBig { | ||
1167 | 0% { | ||
1168 | opacity: 0; | ||
1169 | -webkit-transform: translate3d(-2000px, 0, 0); | ||
1170 | transform: translate3d(-2000px, 0, 0); | ||
1171 | } | ||
1172 | |||
1173 | 100% { | ||
1174 | opacity: 1; | ||
1175 | -webkit-transform: none; | ||
1176 | transform: none; | ||
1177 | } | ||
1178 | } | ||
1179 | |||
1180 | @keyframes fadeInLeftBig { | ||
1181 | 0% { | ||
1182 | opacity: 0; | ||
1183 | -webkit-transform: translate3d(-2000px, 0, 0); | ||
1184 | transform: translate3d(-2000px, 0, 0); | ||
1185 | } | ||
1186 | |||
1187 | 100% { | ||
1188 | opacity: 1; | ||
1189 | -webkit-transform: none; | ||
1190 | transform: none; | ||
1191 | } | ||
1192 | } | ||
1193 | |||
1194 | .fadeInLeftBig { | ||
1195 | -webkit-animation-name: fadeInLeftBig; | ||
1196 | animation-name: fadeInLeftBig; | ||
1197 | } | ||
1198 | |||
1199 | @-webkit-keyframes fadeInRight { | ||
1200 | 0% { | ||
1201 | opacity: 0; | ||
1202 | -webkit-transform: translate3d(100%, 0, 0); | ||
1203 | transform: translate3d(100%, 0, 0); | ||
1204 | } | ||
1205 | |||
1206 | 100% { | ||
1207 | opacity: 1; | ||
1208 | -webkit-transform: none; | ||
1209 | transform: none; | ||
1210 | } | ||
1211 | } | ||
1212 | |||
1213 | @keyframes fadeInRight { | ||
1214 | 0% { | ||
1215 | opacity: 0; | ||
1216 | -webkit-transform: translate3d(100%, 0, 0); | ||
1217 | transform: translate3d(100%, 0, 0); | ||
1218 | } | ||
1219 | |||
1220 | 100% { | ||
1221 | opacity: 1; | ||
1222 | -webkit-transform: none; | ||
1223 | transform: none; | ||
1224 | } | ||
1225 | } | ||
1226 | |||
1227 | .fadeInRight { | ||
1228 | -webkit-animation-name: fadeInRight; | ||
1229 | animation-name: fadeInRight; | ||
1230 | } | ||
1231 | |||
1232 | @-webkit-keyframes fadeInRightBig { | ||
1233 | 0% { | ||
1234 | opacity: 0; | ||
1235 | -webkit-transform: translate3d(2000px, 0, 0); | ||
1236 | transform: translate3d(2000px, 0, 0); | ||
1237 | } | ||
1238 | |||
1239 | 100% { | ||
1240 | opacity: 1; | ||
1241 | -webkit-transform: none; | ||
1242 | transform: none; | ||
1243 | } | ||
1244 | } | ||
1245 | |||
1246 | @keyframes fadeInRightBig { | ||
1247 | 0% { | ||
1248 | opacity: 0; | ||
1249 | -webkit-transform: translate3d(2000px, 0, 0); | ||
1250 | transform: translate3d(2000px, 0, 0); | ||
1251 | } | ||
1252 | |||
1253 | 100% { | ||
1254 | opacity: 1; | ||
1255 | -webkit-transform: none; | ||
1256 | transform: none; | ||
1257 | } | ||
1258 | } | ||
1259 | |||
1260 | .fadeInRightBig { | ||
1261 | -webkit-animation-name: fadeInRightBig; | ||
1262 | animation-name: fadeInRightBig; | ||
1263 | } | ||
1264 | |||
1265 | @-webkit-keyframes fadeInUp { | ||
1266 | 0% { | ||
1267 | opacity: 0; | ||
1268 | -webkit-transform: translate3d(0, 100%, 0); | ||
1269 | transform: translate3d(0, 100%, 0); | ||
1270 | } | ||
1271 | |||
1272 | 100% { | ||
1273 | opacity: 1; | ||
1274 | -webkit-transform: none; | ||
1275 | transform: none; | ||
1276 | } | ||
1277 | } | ||
1278 | |||
1279 | @keyframes fadeInUp { | ||
1280 | 0% { | ||
1281 | opacity: 0; | ||
1282 | -webkit-transform: translate3d(0, 100%, 0); | ||
1283 | transform: translate3d(0, 100%, 0); | ||
1284 | } | ||
1285 | |||
1286 | 100% { | ||
1287 | opacity: 1; | ||
1288 | -webkit-transform: none; | ||
1289 | transform: none; | ||
1290 | } | ||
1291 | } | ||
1292 | |||
1293 | .fadeInUp { | ||
1294 | -webkit-animation-name: fadeInUp; | ||
1295 | animation-name: fadeInUp; | ||
1296 | } | ||
1297 | |||
1298 | @-webkit-keyframes fadeInUpBig { | ||
1299 | 0% { | ||
1300 | opacity: 0; | ||
1301 | -webkit-transform: translate3d(0, 2000px, 0); | ||
1302 | transform: translate3d(0, 2000px, 0); | ||
1303 | } | ||
1304 | |||
1305 | 100% { | ||
1306 | opacity: 1; | ||
1307 | -webkit-transform: none; | ||
1308 | transform: none; | ||
1309 | } | ||
1310 | } | ||
1311 | |||
1312 | @keyframes fadeInUpBig { | ||
1313 | 0% { | ||
1314 | opacity: 0; | ||
1315 | -webkit-transform: translate3d(0, 2000px, 0); | ||
1316 | transform: translate3d(0, 2000px, 0); | ||
1317 | } | ||
1318 | |||
1319 | 100% { | ||
1320 | opacity: 1; | ||
1321 | -webkit-transform: none; | ||
1322 | transform: none; | ||
1323 | } | ||
1324 | } | ||
1325 | |||
1326 | .fadeInUpBig { | ||
1327 | -webkit-animation-name: fadeInUpBig; | ||
1328 | animation-name: fadeInUpBig; | ||
1329 | } | ||
1330 | |||
1331 | @-webkit-keyframes fadeOut { | ||
1332 | 0% {opacity: 1;} | ||
1333 | 100% {opacity: 0;} | ||
1334 | } | ||
1335 | |||
1336 | @keyframes fadeOut { | ||
1337 | 0% {opacity: 1;} | ||
1338 | 100% {opacity: 0;} | ||
1339 | } | ||
1340 | |||
1341 | .fadeOut { | ||
1342 | -webkit-animation-name: fadeOut; | ||
1343 | animation-name: fadeOut; | ||
1344 | } | ||
1345 | |||
1346 | @-webkit-keyframes fadeOutDown { | ||
1347 | 0% { | ||
1348 | opacity: 1; | ||
1349 | } | ||
1350 | |||
1351 | 100% { | ||
1352 | opacity: 0; | ||
1353 | -webkit-transform: translate3d(0, 100%, 0); | ||
1354 | transform: translate3d(0, 100%, 0); | ||
1355 | } | ||
1356 | } | ||
1357 | |||
1358 | @keyframes fadeOutDown { | ||
1359 | 0% { | ||
1360 | opacity: 1; | ||
1361 | } | ||
1362 | |||
1363 | 100% { | ||
1364 | opacity: 0; | ||
1365 | -webkit-transform: translate3d(0, 100%, 0); | ||
1366 | transform: translate3d(0, 100%, 0); | ||
1367 | } | ||
1368 | } | ||
1369 | |||
1370 | .fadeOutDown { | ||
1371 | -webkit-animation-name: fadeOutDown; | ||
1372 | animation-name: fadeOutDown; | ||
1373 | } | ||
1374 | |||
1375 | @-webkit-keyframes fadeOutDownBig { | ||
1376 | 0% { | ||
1377 | opacity: 1; | ||
1378 | } | ||
1379 | |||
1380 | 100% { | ||
1381 | opacity: 0; | ||
1382 | -webkit-transform: translate3d(0, 2000px, 0); | ||
1383 | transform: translate3d(0, 2000px, 0); | ||
1384 | } | ||
1385 | } | ||
1386 | |||
1387 | @keyframes fadeOutDownBig { | ||
1388 | 0% { | ||
1389 | opacity: 1; | ||
1390 | } | ||
1391 | |||
1392 | 100% { | ||
1393 | opacity: 0; | ||
1394 | -webkit-transform: translate3d(0, 2000px, 0); | ||
1395 | transform: translate3d(0, 2000px, 0); | ||
1396 | } | ||
1397 | } | ||
1398 | |||
1399 | .fadeOutDownBig { | ||
1400 | -webkit-animation-name: fadeOutDownBig; | ||
1401 | animation-name: fadeOutDownBig; | ||
1402 | } | ||
1403 | |||
1404 | @-webkit-keyframes fadeOutLeft { | ||
1405 | 0% { | ||
1406 | opacity: 1; | ||
1407 | } | ||
1408 | |||
1409 | 100% { | ||
1410 | opacity: 0; | ||
1411 | -webkit-transform: translate3d(-100%, 0, 0); | ||
1412 | transform: translate3d(-100%, 0, 0); | ||
1413 | } | ||
1414 | } | ||
1415 | |||
1416 | @keyframes fadeOutLeft { | ||
1417 | 0% { | ||
1418 | opacity: 1; | ||
1419 | } | ||
1420 | |||
1421 | 100% { | ||
1422 | opacity: 0; | ||
1423 | -webkit-transform: translate3d(-100%, 0, 0); | ||
1424 | transform: translate3d(-100%, 0, 0); | ||
1425 | } | ||
1426 | } | ||
1427 | |||
1428 | .fadeOutLeft { | ||
1429 | -webkit-animation-name: fadeOutLeft; | ||
1430 | animation-name: fadeOutLeft; | ||
1431 | } | ||
1432 | |||
1433 | @-webkit-keyframes fadeOutLeftBig { | ||
1434 | 0% { | ||
1435 | opacity: 1; | ||
1436 | } | ||
1437 | |||
1438 | 100% { | ||
1439 | opacity: 0; | ||
1440 | -webkit-transform: translate3d(-2000px, 0, 0); | ||
1441 | transform: translate3d(-2000px, 0, 0); | ||
1442 | } | ||
1443 | } | ||
1444 | |||
1445 | @keyframes fadeOutLeftBig { | ||
1446 | 0% { | ||
1447 | opacity: 1; | ||
1448 | } | ||
1449 | |||
1450 | 100% { | ||
1451 | opacity: 0; | ||
1452 | -webkit-transform: translate3d(-2000px, 0, 0); | ||
1453 | transform: translate3d(-2000px, 0, 0); | ||
1454 | } | ||
1455 | } | ||
1456 | |||
1457 | .fadeOutLeftBig { | ||
1458 | -webkit-animation-name: fadeOutLeftBig; | ||
1459 | animation-name: fadeOutLeftBig; | ||
1460 | } | ||
1461 | |||
1462 | @-webkit-keyframes fadeOutRight { | ||
1463 | 0% { | ||
1464 | opacity: 1; | ||
1465 | } | ||
1466 | |||
1467 | 100% { | ||
1468 | opacity: 0; | ||
1469 | -webkit-transform: translate3d(100%, 0, 0); | ||
1470 | transform: translate3d(100%, 0, 0); | ||
1471 | } | ||
1472 | } | ||
1473 | |||
1474 | @keyframes fadeOutRight { | ||
1475 | 0% { | ||
1476 | opacity: 1; | ||
1477 | } | ||
1478 | |||
1479 | 100% { | ||
1480 | opacity: 0; | ||
1481 | -webkit-transform: translate3d(100%, 0, 0); | ||
1482 | transform: translate3d(100%, 0, 0); | ||
1483 | } | ||
1484 | } | ||
1485 | |||
1486 | .fadeOutRight { | ||
1487 | -webkit-animation-name: fadeOutRight; | ||
1488 | animation-name: fadeOutRight; | ||
1489 | } | ||
1490 | |||
1491 | @-webkit-keyframes fadeOutRightBig { | ||
1492 | 0% { | ||
1493 | opacity: 1; | ||
1494 | } | ||
1495 | |||
1496 | 100% { | ||
1497 | opacity: 0; | ||
1498 | -webkit-transform: translate3d(2000px, 0, 0); | ||
1499 | transform: translate3d(2000px, 0, 0); | ||
1500 | } | ||
1501 | } | ||
1502 | |||
1503 | @keyframes fadeOutRightBig { | ||
1504 | 0% { | ||
1505 | opacity: 1; | ||
1506 | } | ||
1507 | |||
1508 | 100% { | ||
1509 | opacity: 0; | ||
1510 | -webkit-transform: translate3d(2000px, 0, 0); | ||
1511 | transform: translate3d(2000px, 0, 0); | ||
1512 | } | ||
1513 | } | ||
1514 | |||
1515 | .fadeOutRightBig { | ||
1516 | -webkit-animation-name: fadeOutRightBig; | ||
1517 | animation-name: fadeOutRightBig; | ||
1518 | } | ||
1519 | |||
1520 | @-webkit-keyframes fadeOutUp { | ||
1521 | 0% { | ||
1522 | opacity: 1; | ||
1523 | } | ||
1524 | |||
1525 | 100% { | ||
1526 | opacity: 0; | ||
1527 | -webkit-transform: translate3d(0, -100%, 0); | ||
1528 | transform: translate3d(0, -100%, 0); | ||
1529 | } | ||
1530 | } | ||
1531 | |||
1532 | @keyframes fadeOutUp { | ||
1533 | 0% { | ||
1534 | opacity: 1; | ||
1535 | } | ||
1536 | |||
1537 | 100% { | ||
1538 | opacity: 0; | ||
1539 | -webkit-transform: translate3d(0, -100%, 0); | ||
1540 | transform: translate3d(0, -100%, 0); | ||
1541 | } | ||
1542 | } | ||
1543 | |||
1544 | .fadeOutUp { | ||
1545 | -webkit-animation-name: fadeOutUp; | ||
1546 | animation-name: fadeOutUp; | ||
1547 | } | ||
1548 | |||
1549 | @-webkit-keyframes fadeOutUpBig { | ||
1550 | 0% { | ||
1551 | opacity: 1; | ||
1552 | } | ||
1553 | |||
1554 | 100% { | ||
1555 | opacity: 0; | ||
1556 | -webkit-transform: translate3d(0, -2000px, 0); | ||
1557 | transform: translate3d(0, -2000px, 0); | ||
1558 | } | ||
1559 | } | ||
1560 | |||
1561 | @keyframes fadeOutUpBig { | ||
1562 | 0% { | ||
1563 | opacity: 1; | ||
1564 | } | ||
1565 | |||
1566 | 100% { | ||
1567 | opacity: 0; | ||
1568 | -webkit-transform: translate3d(0, -2000px, 0); | ||
1569 | transform: translate3d(0, -2000px, 0); | ||
1570 | } | ||
1571 | } | ||
1572 | |||
1573 | .fadeOutUpBig { | ||
1574 | -webkit-animation-name: fadeOutUpBig; | ||
1575 | animation-name: fadeOutUpBig; | ||
1576 | } | ||
1577 | |||
1578 | @-webkit-keyframes flip { | ||
1579 | 0% { | ||
1580 | -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg); | ||
1581 | transform: perspective(400px) rotate3d(0, 1, 0, -360deg); | ||
1582 | -webkit-animation-timing-function: ease-out; | ||
1583 | animation-timing-function: ease-out; | ||
1584 | } | ||
1585 | |||
1586 | 40% { | ||
1587 | -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); | ||
1588 | transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); | ||
1589 | -webkit-animation-timing-function: ease-out; | ||
1590 | animation-timing-function: ease-out; | ||
1591 | } | ||
1592 | |||
1593 | 50% { | ||
1594 | -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); | ||
1595 | transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); | ||
1596 | -webkit-animation-timing-function: ease-in; | ||
1597 | animation-timing-function: ease-in; | ||
1598 | } | ||
1599 | |||
1600 | 80% { | ||
1601 | -webkit-transform: perspective(400px) scale3d(.95, .95, .95); | ||
1602 | transform: perspective(400px) scale3d(.95, .95, .95); | ||
1603 | -webkit-animation-timing-function: ease-in; | ||
1604 | animation-timing-function: ease-in; | ||
1605 | } | ||
1606 | |||
1607 | 100% { | ||
1608 | -webkit-transform: perspective(400px); | ||
1609 | transform: perspective(400px); | ||
1610 | -webkit-animation-timing-function: ease-in; | ||
1611 | animation-timing-function: ease-in; | ||
1612 | } | ||
1613 | } | ||
1614 | |||
1615 | @keyframes flip { | ||
1616 | 0% { | ||
1617 | -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg); | ||
1618 | transform: perspective(400px) rotate3d(0, 1, 0, -360deg); | ||
1619 | -webkit-animation-timing-function: ease-out; | ||
1620 | animation-timing-function: ease-out; | ||
1621 | } | ||
1622 | |||
1623 | 40% { | ||
1624 | -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); | ||
1625 | transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); | ||
1626 | -webkit-animation-timing-function: ease-out; | ||
1627 | animation-timing-function: ease-out; | ||
1628 | } | ||
1629 | |||
1630 | 50% { | ||
1631 | -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); | ||
1632 | transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); | ||
1633 | -webkit-animation-timing-function: ease-in; | ||
1634 | animation-timing-function: ease-in; | ||
1635 | } | ||
1636 | |||
1637 | 80% { | ||
1638 | -webkit-transform: perspective(400px) scale3d(.95, .95, .95); | ||
1639 | transform: perspective(400px) scale3d(.95, .95, .95); | ||
1640 | -webkit-animation-timing-function: ease-in; | ||
1641 | animation-timing-function: ease-in; | ||
1642 | } | ||
1643 | |||
1644 | 100% { | ||
1645 | -webkit-transform: perspective(400px); | ||
1646 | transform: perspective(400px); | ||
1647 | -webkit-animation-timing-function: ease-in; | ||
1648 | animation-timing-function: ease-in; | ||
1649 | } | ||
1650 | } | ||
1651 | |||
1652 | .animated.flip { | ||
1653 | -webkit-backface-visibility: visible; | ||
1654 | backface-visibility: visible; | ||
1655 | -webkit-animation-name: flip; | ||
1656 | animation-name: flip; | ||
1657 | } | ||
1658 | |||
1659 | @-webkit-keyframes flipInX { | ||
1660 | 0% { | ||
1661 | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); | ||
1662 | transform: perspective(400px) rotate3d(1, 0, 0, 90deg); | ||
1663 | -webkit-transition-timing-function: ease-in; | ||
1664 | transition-timing-function: ease-in; | ||
1665 | opacity: 0; | ||
1666 | } | ||
1667 | |||
1668 | 40% { | ||
1669 | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); | ||
1670 | transform: perspective(400px) rotate3d(1, 0, 0, -20deg); | ||
1671 | -webkit-transition-timing-function: ease-in; | ||
1672 | transition-timing-function: ease-in; | ||
1673 | } | ||
1674 | |||
1675 | 60% { | ||
1676 | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); | ||
1677 | transform: perspective(400px) rotate3d(1, 0, 0, 10deg); | ||
1678 | opacity: 1; | ||
1679 | } | ||
1680 | |||
1681 | 80% { | ||
1682 | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); | ||
1683 | transform: perspective(400px) rotate3d(1, 0, 0, -5deg); | ||
1684 | } | ||
1685 | |||
1686 | 100% { | ||
1687 | -webkit-transform: perspective(400px); | ||
1688 | transform: perspective(400px); | ||
1689 | } | ||
1690 | } | ||
1691 | |||
1692 | @keyframes flipInX { | ||
1693 | 0% { | ||
1694 | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); | ||
1695 | transform: perspective(400px) rotate3d(1, 0, 0, 90deg); | ||
1696 | -webkit-transition-timing-function: ease-in; | ||
1697 | transition-timing-function: ease-in; | ||
1698 | opacity: 0; | ||
1699 | } | ||
1700 | |||
1701 | 40% { | ||
1702 | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); | ||
1703 | transform: perspective(400px) rotate3d(1, 0, 0, -20deg); | ||
1704 | -webkit-transition-timing-function: ease-in; | ||
1705 | transition-timing-function: ease-in; | ||
1706 | } | ||
1707 | |||
1708 | 60% { | ||
1709 | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); | ||
1710 | transform: perspective(400px) rotate3d(1, 0, 0, 10deg); | ||
1711 | opacity: 1; | ||
1712 | } | ||
1713 | |||
1714 | 80% { | ||
1715 | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); | ||
1716 | transform: perspective(400px) rotate3d(1, 0, 0, -5deg); | ||
1717 | } | ||
1718 | |||
1719 | 100% { | ||
1720 | -webkit-transform: perspective(400px); | ||
1721 | transform: perspective(400px); | ||
1722 | } | ||
1723 | } | ||
1724 | |||
1725 | .flipInX { | ||
1726 | -webkit-backface-visibility: visible !important; | ||
1727 | backface-visibility: visible !important; | ||
1728 | -webkit-animation-name: flipInX; | ||
1729 | animation-name: flipInX; | ||
1730 | } | ||
1731 | |||
1732 | @-webkit-keyframes flipInY { | ||
1733 | 0% { | ||
1734 | -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); | ||
1735 | transform: perspective(400px) rotate3d(0, 1, 0, 90deg); | ||
1736 | -webkit-transition-timing-function: ease-in; | ||
1737 | transition-timing-function: ease-in; | ||
1738 | opacity: 0; | ||
1739 | } | ||
1740 | |||
1741 | 40% { | ||
1742 | -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg); | ||
1743 | transform: perspective(400px) rotate3d(0, 1, 0, -20deg); | ||
1744 | -webkit-transition-timing-function: ease-in; | ||
1745 | transition-timing-function: ease-in; | ||
1746 | } | ||
1747 | |||
1748 | 60% { | ||
1749 | -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg); | ||
1750 | transform: perspective(400px) rotate3d(0, 1, 0, 10deg); | ||
1751 | opacity: 1; | ||
1752 | } | ||
1753 | |||
1754 | 80% { | ||
1755 | -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg); | ||
1756 | transform: perspective(400px) rotate3d(0, 1, 0, -5deg); | ||
1757 | } | ||
1758 | |||
1759 | 100% { | ||
1760 | -webkit-transform: perspective(400px); | ||
1761 | transform: perspective(400px); | ||
1762 | } | ||
1763 | } | ||
1764 | |||
1765 | @keyframes flipInY { | ||
1766 | 0% { | ||
1767 | -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); | ||
1768 | transform: perspective(400px) rotate3d(0, 1, 0, 90deg); | ||
1769 | -webkit-transition-timing-function: ease-in; | ||
1770 | transition-timing-function: ease-in; | ||
1771 | opacity: 0; | ||
1772 | } | ||
1773 | |||
1774 | 40% { | ||
1775 | -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg); | ||
1776 | transform: perspective(400px) rotate3d(0, 1, 0, -20deg); | ||
1777 | -webkit-transition-timing-function: ease-in; | ||
1778 | transition-timing-function: ease-in; | ||
1779 | } | ||
1780 | |||
1781 | 60% { | ||
1782 | -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg); | ||
1783 | transform: perspective(400px) rotate3d(0, 1, 0, 10deg); | ||
1784 | opacity: 1; | ||
1785 | } | ||
1786 | |||
1787 | 80% { | ||
1788 | -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg); | ||
1789 | transform: perspective(400px) rotate3d(0, 1, 0, -5deg); | ||
1790 | } | ||
1791 | |||
1792 | 100% { | ||
1793 | -webkit-transform: perspective(400px); | ||
1794 | transform: perspective(400px); | ||
1795 | } | ||
1796 | } | ||
1797 | |||
1798 | .flipInY { | ||
1799 | -webkit-backface-visibility: visible !important; | ||
1800 | backface-visibility: visible !important; | ||
1801 | -webkit-animation-name: flipInY; | ||
1802 | animation-name: flipInY; | ||
1803 | } | ||
1804 | |||
1805 | @-webkit-keyframes flipOutX { | ||
1806 | 0% { | ||
1807 | -webkit-transform: perspective(400px); | ||
1808 | transform: perspective(400px); | ||
1809 | } | ||
1810 | |||
1811 | 30% { | ||
1812 | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); | ||
1813 | transform: perspective(400px) rotate3d(1, 0, 0, -20deg); | ||
1814 | opacity: 1; | ||
1815 | } | ||
1816 | |||
1817 | 100% { | ||
1818 | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); | ||
1819 | transform: perspective(400px) rotate3d(1, 0, 0, 90deg); | ||
1820 | opacity: 0; | ||
1821 | } | ||
1822 | } | ||
1823 | |||
1824 | @keyframes flipOutX { | ||
1825 | 0% { | ||
1826 | -webkit-transform: perspective(400px); | ||
1827 | transform: perspective(400px); | ||
1828 | } | ||
1829 | |||
1830 | 30% { | ||
1831 | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); | ||
1832 | transform: perspective(400px) rotate3d(1, 0, 0, -20deg); | ||
1833 | opacity: 1; | ||
1834 | } | ||
1835 | |||
1836 | 100% { | ||
1837 | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); | ||
1838 | transform: perspective(400px) rotate3d(1, 0, 0, 90deg); | ||
1839 | opacity: 0; | ||
1840 | } | ||
1841 | } | ||
1842 | |||
1843 | .flipOutX { | ||
1844 | -webkit-animation-name: flipOutX; | ||
1845 | animation-name: flipOutX; | ||
1846 | -webkit-animation-duration: .75s; | ||
1847 | animation-duration: .75s; | ||
1848 | -webkit-backface-visibility: visible !important; | ||
1849 | backface-visibility: visible !important; | ||
1850 | } | ||
1851 | |||
1852 | @-webkit-keyframes flipOutY { | ||
1853 | 0% { | ||
1854 | -webkit-transform: perspective(400px); | ||
1855 | transform: perspective(400px); | ||
1856 | } | ||
1857 | |||
1858 | 30% { | ||
1859 | -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg); | ||
1860 | transform: perspective(400px) rotate3d(0, 1, 0, -15deg); | ||
1861 | opacity: 1; | ||
1862 | } | ||
1863 | |||
1864 | 100% { | ||
1865 | -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); | ||
1866 | transform: perspective(400px) rotate3d(0, 1, 0, 90deg); | ||
1867 | opacity: 0; | ||
1868 | } | ||
1869 | } | ||
1870 | |||
1871 | @keyframes flipOutY { | ||
1872 | 0% { | ||
1873 | -webkit-transform: perspective(400px); | ||
1874 | transform: perspective(400px); | ||
1875 | } | ||
1876 | |||
1877 | 30% { | ||
1878 | -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg); | ||
1879 | transform: perspective(400px) rotate3d(0, 1, 0, -15deg); | ||
1880 | opacity: 1; | ||
1881 | } | ||
1882 | |||
1883 | 100% { | ||
1884 | -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); | ||
1885 | transform: perspective(400px) rotate3d(0, 1, 0, 90deg); | ||
1886 | opacity: 0; | ||
1887 | } | ||
1888 | } | ||
1889 | |||
1890 | .flipOutY { | ||
1891 | -webkit-backface-visibility: visible !important; | ||
1892 | backface-visibility: visible !important; | ||
1893 | -webkit-animation-name: flipOutY; | ||
1894 | animation-name: flipOutY; | ||
1895 | -webkit-animation-duration: .75s; | ||
1896 | animation-duration: .75s; | ||
1897 | } | ||
1898 | |||
1899 | @-webkit-keyframes lightSpeedIn { | ||
1900 | 0% { | ||
1901 | -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg); | ||
1902 | transform: translate3d(100%, 0, 0) skewX(-30deg); | ||
1903 | opacity: 0; | ||
1904 | } | ||
1905 | |||
1906 | 60% { | ||
1907 | -webkit-transform: skewX(20deg); | ||
1908 | transform: skewX(20deg); | ||
1909 | opacity: 1; | ||
1910 | } | ||
1911 | |||
1912 | 80% { | ||
1913 | -webkit-transform: skewX(-5deg); | ||
1914 | transform: skewX(-5deg); | ||
1915 | opacity: 1; | ||
1916 | } | ||
1917 | |||
1918 | 100% { | ||
1919 | -webkit-transform: none; | ||
1920 | transform: none; | ||
1921 | opacity: 1; | ||
1922 | } | ||
1923 | } | ||
1924 | |||
1925 | @keyframes lightSpeedIn { | ||
1926 | 0% { | ||
1927 | -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg); | ||
1928 | transform: translate3d(100%, 0, 0) skewX(-30deg); | ||
1929 | opacity: 0; | ||
1930 | } | ||
1931 | |||
1932 | 60% { | ||
1933 | -webkit-transform: skewX(20deg); | ||
1934 | transform: skewX(20deg); | ||
1935 | opacity: 1; | ||
1936 | } | ||
1937 | |||
1938 | 80% { | ||
1939 | -webkit-transform: skewX(-5deg); | ||
1940 | transform: skewX(-5deg); | ||
1941 | opacity: 1; | ||
1942 | } | ||
1943 | |||
1944 | 100% { | ||
1945 | -webkit-transform: none; | ||
1946 | transform: none; | ||
1947 | opacity: 1; | ||
1948 | } | ||
1949 | } | ||
1950 | |||
1951 | .lightSpeedIn { | ||
1952 | -webkit-animation-name: lightSpeedIn; | ||
1953 | animation-name: lightSpeedIn; | ||
1954 | -webkit-animation-timing-function: ease-out; | ||
1955 | animation-timing-function: ease-out; | ||
1956 | } | ||
1957 | |||
1958 | @-webkit-keyframes lightSpeedOut { | ||
1959 | 0% { | ||
1960 | opacity: 1; | ||
1961 | } | ||
1962 | |||
1963 | 100% { | ||
1964 | -webkit-transform: translate3d(100%, 0, 0) skewX(30deg); | ||
1965 | transform: translate3d(100%, 0, 0) skewX(30deg); | ||
1966 | opacity: 0; | ||
1967 | } | ||
1968 | } | ||
1969 | |||
1970 | @keyframes lightSpeedOut { | ||
1971 | 0% { | ||
1972 | opacity: 1; | ||
1973 | } | ||
1974 | |||
1975 | 100% { | ||
1976 | -webkit-transform: translate3d(100%, 0, 0) skewX(30deg); | ||
1977 | transform: translate3d(100%, 0, 0) skewX(30deg); | ||
1978 | opacity: 0; | ||
1979 | } | ||
1980 | } | ||
1981 | |||
1982 | .lightSpeedOut { | ||
1983 | -webkit-animation-name: lightSpeedOut; | ||
1984 | animation-name: lightSpeedOut; | ||
1985 | -webkit-animation-timing-function: ease-in; | ||
1986 | animation-timing-function: ease-in; | ||
1987 | } | ||
1988 | |||
1989 | @-webkit-keyframes rotateIn { | ||
1990 | 0% { | ||
1991 | -webkit-transform-origin: center; | ||
1992 | transform-origin: center; | ||
1993 | -webkit-transform: rotate3d(0, 0, 1, -200deg); | ||
1994 | transform: rotate3d(0, 0, 1, -200deg); | ||
1995 | opacity: 0; | ||
1996 | } | ||
1997 | |||
1998 | 100% { | ||
1999 | -webkit-transform-origin: center; | ||
2000 | transform-origin: center; | ||
2001 | -webkit-transform: none; | ||
2002 | transform: none; | ||
2003 | opacity: 1; | ||
2004 | } | ||
2005 | } | ||
2006 | |||
2007 | @keyframes rotateIn { | ||
2008 | 0% { | ||
2009 | -webkit-transform-origin: center; | ||
2010 | transform-origin: center; | ||
2011 | -webkit-transform: rotate3d(0, 0, 1, -200deg); | ||
2012 | transform: rotate3d(0, 0, 1, -200deg); | ||
2013 | opacity: 0; | ||
2014 | } | ||
2015 | |||
2016 | 100% { | ||
2017 | -webkit-transform-origin: center; | ||
2018 | transform-origin: center; | ||
2019 | -webkit-transform: none; | ||
2020 | transform: none; | ||
2021 | opacity: 1; | ||
2022 | } | ||
2023 | } | ||
2024 | |||
2025 | .rotateIn { | ||
2026 | -webkit-animation-name: rotateIn; | ||
2027 | animation-name: rotateIn; | ||
2028 | } | ||
2029 | |||
2030 | @-webkit-keyframes rotateInDownLeft { | ||
2031 | 0% { | ||
2032 | -webkit-transform-origin: left bottom; | ||
2033 | transform-origin: left bottom; | ||
2034 | -webkit-transform: rotate3d(0, 0, 1, -45deg); | ||
2035 | transform: rotate3d(0, 0, 1, -45deg); | ||
2036 | opacity: 0; | ||
2037 | } | ||
2038 | |||
2039 | 100% { | ||
2040 | -webkit-transform-origin: left bottom; | ||
2041 | transform-origin: left bottom; | ||
2042 | -webkit-transform: none; | ||
2043 | transform: none; | ||
2044 | opacity: 1; | ||
2045 | } | ||
2046 | } | ||
2047 | |||
2048 | @keyframes rotateInDownLeft { | ||
2049 | 0% { | ||
2050 | -webkit-transform-origin: left bottom; | ||
2051 | transform-origin: left bottom; | ||
2052 | -webkit-transform: rotate3d(0, 0, 1, -45deg); | ||
2053 | transform: rotate3d(0, 0, 1, -45deg); | ||
2054 | opacity: 0; | ||
2055 | } | ||
2056 | |||
2057 | 100% { | ||
2058 | -webkit-transform-origin: left bottom; | ||
2059 | transform-origin: left bottom; | ||
2060 | -webkit-transform: none; | ||
2061 | transform: none; | ||
2062 | opacity: 1; | ||
2063 | } | ||
2064 | } | ||
2065 | |||
2066 | .rotateInDownLeft { | ||
2067 | -webkit-animation-name: rotateInDownLeft; | ||
2068 | animation-name: rotateInDownLeft; | ||
2069 | } | ||
2070 | |||
2071 | @-webkit-keyframes rotateInDownRight { | ||
2072 | 0% { | ||
2073 | -webkit-transform-origin: right bottom; | ||
2074 | transform-origin: right bottom; | ||
2075 | -webkit-transform: rotate3d(0, 0, 1, 45deg); | ||
2076 | transform: rotate3d(0, 0, 1, 45deg); | ||
2077 | opacity: 0; | ||
2078 | } | ||
2079 | |||
2080 | 100% { | ||
2081 | -webkit-transform-origin: right bottom; | ||
2082 | transform-origin: right bottom; | ||
2083 | -webkit-transform: none; | ||
2084 | transform: none; | ||
2085 | opacity: 1; | ||
2086 | } | ||
2087 | } | ||
2088 | |||
2089 | @keyframes rotateInDownRight { | ||
2090 | 0% { | ||
2091 | -webkit-transform-origin: right bottom; | ||
2092 | transform-origin: right bottom; | ||
2093 | -webkit-transform: rotate3d(0, 0, 1, 45deg); | ||
2094 | transform: rotate3d(0, 0, 1, 45deg); | ||
2095 | opacity: 0; | ||
2096 | } | ||
2097 | |||
2098 | 100% { | ||
2099 | -webkit-transform-origin: right bottom; | ||
2100 | transform-origin: right bottom; | ||
2101 | -webkit-transform: none; | ||
2102 | transform: none; | ||
2103 | opacity: 1; | ||
2104 | } | ||
2105 | } | ||
2106 | |||
2107 | .rotateInDownRight { | ||
2108 | -webkit-animation-name: rotateInDownRight; | ||
2109 | animation-name: rotateInDownRight; | ||
2110 | } | ||
2111 | |||
2112 | @-webkit-keyframes rotateInUpLeft { | ||
2113 | 0% { | ||
2114 | -webkit-transform-origin: left bottom; | ||
2115 | transform-origin: left bottom; | ||
2116 | -webkit-transform: rotate3d(0, 0, 1, 45deg); | ||
2117 | transform: rotate3d(0, 0, 1, 45deg); | ||
2118 | opacity: 0; | ||
2119 | } | ||
2120 | |||
2121 | 100% { | ||
2122 | -webkit-transform-origin: left bottom; | ||
2123 | transform-origin: left bottom; | ||
2124 | -webkit-transform: none; | ||
2125 | transform: none; | ||
2126 | opacity: 1; | ||
2127 | } | ||
2128 | } | ||
2129 | |||
2130 | @keyframes rotateInUpLeft { | ||
2131 | 0% { | ||
2132 | -webkit-transform-origin: left bottom; | ||
2133 | transform-origin: left bottom; | ||
2134 | -webkit-transform: rotate3d(0, 0, 1, 45deg); | ||
2135 | transform: rotate3d(0, 0, 1, 45deg); | ||
2136 | opacity: 0; | ||
2137 | } | ||
2138 | |||
2139 | 100% { | ||
2140 | -webkit-transform-origin: left bottom; | ||
2141 | transform-origin: left bottom; | ||
2142 | -webkit-transform: none; | ||
2143 | transform: none; | ||
2144 | opacity: 1; | ||
2145 | } | ||
2146 | } | ||
2147 | |||
2148 | .rotateInUpLeft { | ||
2149 | -webkit-animation-name: rotateInUpLeft; | ||
2150 | animation-name: rotateInUpLeft; | ||
2151 | } | ||
2152 | |||
2153 | @-webkit-keyframes rotateInUpRight { | ||
2154 | 0% { | ||
2155 | -webkit-transform-origin: right bottom; | ||
2156 | transform-origin: right bottom; | ||
2157 | -webkit-transform: rotate3d(0, 0, 1, -90deg); | ||
2158 | transform: rotate3d(0, 0, 1, -90deg); | ||
2159 | opacity: 0; | ||
2160 | } | ||
2161 | |||
2162 | 100% { | ||
2163 | -webkit-transform-origin: right bottom; | ||
2164 | transform-origin: right bottom; | ||
2165 | -webkit-transform: none; | ||
2166 | transform: none; | ||
2167 | opacity: 1; | ||
2168 | } | ||
2169 | } | ||
2170 | |||
2171 | @keyframes rotateInUpRight { | ||
2172 | 0% { | ||
2173 | -webkit-transform-origin: right bottom; | ||
2174 | transform-origin: right bottom; | ||
2175 | -webkit-transform: rotate3d(0, 0, 1, -90deg); | ||
2176 | transform: rotate3d(0, 0, 1, -90deg); | ||
2177 | opacity: 0; | ||
2178 | } | ||
2179 | |||
2180 | 100% { | ||
2181 | -webkit-transform-origin: right bottom; | ||
2182 | transform-origin: right bottom; | ||
2183 | -webkit-transform: none; | ||
2184 | transform: none; | ||
2185 | opacity: 1; | ||
2186 | } | ||
2187 | } | ||
2188 | |||
2189 | .rotateInUpRight { | ||
2190 | -webkit-animation-name: rotateInUpRight; | ||
2191 | animation-name: rotateInUpRight; | ||
2192 | } | ||
2193 | |||
2194 | @-webkit-keyframes rotateOut { | ||
2195 | 0% { | ||
2196 | -webkit-transform-origin: center; | ||
2197 | transform-origin: center; | ||
2198 | opacity: 1; | ||
2199 | } | ||
2200 | |||
2201 | 100% { | ||
2202 | -webkit-transform-origin: center; | ||
2203 | transform-origin: center; | ||
2204 | -webkit-transform: rotate3d(0, 0, 1, 200deg); | ||
2205 | transform: rotate3d(0, 0, 1, 200deg); | ||
2206 | opacity: 0; | ||
2207 | } | ||
2208 | } | ||
2209 | |||
2210 | @keyframes rotateOut { | ||
2211 | 0% { | ||
2212 | -webkit-transform-origin: center; | ||
2213 | transform-origin: center; | ||
2214 | opacity: 1; | ||
2215 | } | ||
2216 | |||
2217 | 100% { | ||
2218 | -webkit-transform-origin: center; | ||
2219 | transform-origin: center; | ||
2220 | -webkit-transform: rotate3d(0, 0, 1, 200deg); | ||
2221 | transform: rotate3d(0, 0, 1, 200deg); | ||
2222 | opacity: 0; | ||
2223 | } | ||
2224 | } | ||
2225 | |||
2226 | .rotateOut { | ||
2227 | -webkit-animation-name: rotateOut; | ||
2228 | animation-name: rotateOut; | ||
2229 | } | ||
2230 | |||
2231 | @-webkit-keyframes rotateOutDownLeft { | ||
2232 | 0% { | ||
2233 | -webkit-transform-origin: left bottom; | ||
2234 | transform-origin: left bottom; | ||
2235 | opacity: 1; | ||
2236 | } | ||
2237 | |||
2238 | 100% { | ||
2239 | -webkit-transform-origin: left bottom; | ||
2240 | transform-origin: left bottom; | ||
2241 | -webkit-transform: rotate3d(0, 0, 1, 45deg); | ||
2242 | transform: rotate3d(0, 0, 1, 45deg); | ||
2243 | opacity: 0; | ||
2244 | } | ||
2245 | } | ||
2246 | |||
2247 | @keyframes rotateOutDownLeft { | ||
2248 | 0% { | ||
2249 | -webkit-transform-origin: left bottom; | ||
2250 | transform-origin: left bottom; | ||
2251 | opacity: 1; | ||
2252 | } | ||
2253 | |||
2254 | 100% { | ||
2255 | -webkit-transform-origin: left bottom; | ||
2256 | transform-origin: left bottom; | ||
2257 | -webkit-transform: rotate3d(0, 0, 1, 45deg); | ||
2258 | transform: rotate3d(0, 0, 1, 45deg); | ||
2259 | opacity: 0; | ||
2260 | } | ||
2261 | } | ||
2262 | |||
2263 | .rotateOutDownLeft { | ||
2264 | -webkit-animation-name: rotateOutDownLeft; | ||
2265 | animation-name: rotateOutDownLeft; | ||
2266 | } | ||
2267 | |||
2268 | @-webkit-keyframes rotateOutDownRight { | ||
2269 | 0% { | ||
2270 | -webkit-transform-origin: right bottom; | ||
2271 | transform-origin: right bottom; | ||
2272 | opacity: 1; | ||
2273 | } | ||
2274 | |||
2275 | 100% { | ||
2276 | -webkit-transform-origin: right bottom; | ||
2277 | transform-origin: right bottom; | ||
2278 | -webkit-transform: rotate3d(0, 0, 1, -45deg); | ||
2279 | transform: rotate3d(0, 0, 1, -45deg); | ||
2280 | opacity: 0; | ||
2281 | } | ||
2282 | } | ||
2283 | |||
2284 | @keyframes rotateOutDownRight { | ||
2285 | 0% { | ||
2286 | -webkit-transform-origin: right bottom; | ||
2287 | transform-origin: right bottom; | ||
2288 | opacity: 1; | ||
2289 | } | ||
2290 | |||
2291 | 100% { | ||
2292 | -webkit-transform-origin: right bottom; | ||
2293 | transform-origin: right bottom; | ||
2294 | -webkit-transform: rotate3d(0, 0, 1, -45deg); | ||
2295 | transform: rotate3d(0, 0, 1, -45deg); | ||
2296 | opacity: 0; | ||
2297 | } | ||
2298 | } | ||
2299 | |||
2300 | .rotateOutDownRight { | ||
2301 | -webkit-animation-name: rotateOutDownRight; | ||
2302 | animation-name: rotateOutDownRight; | ||
2303 | } | ||
2304 | |||
2305 | @-webkit-keyframes rotateOutUpLeft { | ||
2306 | 0% { | ||
2307 | -webkit-transform-origin: left bottom; | ||
2308 | transform-origin: left bottom; | ||
2309 | opacity: 1; | ||
2310 | } | ||
2311 | |||
2312 | 100% { | ||
2313 | -webkit-transform-origin: left bottom; | ||
2314 | transform-origin: left bottom; | ||
2315 | -webkit-transform: rotate3d(0, 0, 1, -45deg); | ||
2316 | transform: rotate3d(0, 0, 1, -45deg); | ||
2317 | opacity: 0; | ||
2318 | } | ||
2319 | } | ||
2320 | |||
2321 | @keyframes rotateOutUpLeft { | ||
2322 | 0% { | ||
2323 | -webkit-transform-origin: left bottom; | ||
2324 | transform-origin: left bottom; | ||
2325 | opacity: 1; | ||
2326 | } | ||
2327 | |||
2328 | 100% { | ||
2329 | -webkit-transform-origin: left bottom; | ||
2330 | transform-origin: left bottom; | ||
2331 | -webkit-transform: rotate3d(0, 0, 1, -45deg); | ||
2332 | transform: rotate3d(0, 0, 1, -45deg); | ||
2333 | opacity: 0; | ||
2334 | } | ||
2335 | } | ||
2336 | |||
2337 | .rotateOutUpLeft { | ||
2338 | -webkit-animation-name: rotateOutUpLeft; | ||
2339 | animation-name: rotateOutUpLeft; | ||
2340 | } | ||
2341 | |||
2342 | @-webkit-keyframes rotateOutUpRight { | ||
2343 | 0% { | ||
2344 | -webkit-transform-origin: right bottom; | ||
2345 | transform-origin: right bottom; | ||
2346 | opacity: 1; | ||
2347 | } | ||
2348 | |||
2349 | 100% { | ||
2350 | -webkit-transform-origin: right bottom; | ||
2351 | transform-origin: right bottom; | ||
2352 | -webkit-transform: rotate3d(0, 0, 1, 90deg); | ||
2353 | transform: rotate3d(0, 0, 1, 90deg); | ||
2354 | opacity: 0; | ||
2355 | } | ||
2356 | } | ||
2357 | |||
2358 | @keyframes rotateOutUpRight { | ||
2359 | 0% { | ||
2360 | -webkit-transform-origin: right bottom; | ||
2361 | transform-origin: right bottom; | ||
2362 | opacity: 1; | ||
2363 | } | ||
2364 | |||
2365 | 100% { | ||
2366 | -webkit-transform-origin: right bottom; | ||
2367 | transform-origin: right bottom; | ||
2368 | -webkit-transform: rotate3d(0, 0, 1, 90deg); | ||
2369 | transform: rotate3d(0, 0, 1, 90deg); | ||
2370 | opacity: 0; | ||
2371 | } | ||
2372 | } | ||
2373 | |||
2374 | .rotateOutUpRight { | ||
2375 | -webkit-animation-name: rotateOutUpRight; | ||
2376 | animation-name: rotateOutUpRight; | ||
2377 | } | ||
2378 | |||
2379 | @-webkit-keyframes hinge { | ||
2380 | 0% { | ||
2381 | -webkit-transform-origin: top left; | ||
2382 | transform-origin: top left; | ||
2383 | -webkit-animation-timing-function: ease-in-out; | ||
2384 | animation-timing-function: ease-in-out; | ||
2385 | } | ||
2386 | |||
2387 | 20%, 60% { | ||
2388 | -webkit-transform: rotate3d(0, 0, 1, 80deg); | ||
2389 | transform: rotate3d(0, 0, 1, 80deg); | ||
2390 | -webkit-transform-origin: top left; | ||
2391 | transform-origin: top left; | ||
2392 | -webkit-animation-timing-function: ease-in-out; | ||
2393 | animation-timing-function: ease-in-out; | ||
2394 | } | ||
2395 | |||
2396 | 40%, 80% { | ||
2397 | -webkit-transform: rotate3d(0, 0, 1, 60deg); | ||
2398 | transform: rotate3d(0, 0, 1, 60deg); | ||
2399 | -webkit-transform-origin: top left; | ||
2400 | transform-origin: top left; | ||
2401 | -webkit-animation-timing-function: ease-in-out; | ||
2402 | animation-timing-function: ease-in-out; | ||
2403 | opacity: 1; | ||
2404 | } | ||
2405 | |||
2406 | 100% { | ||
2407 | -webkit-transform: translate3d(0, 700px, 0); | ||
2408 | transform: translate3d(0, 700px, 0); | ||
2409 | opacity: 0; | ||
2410 | } | ||
2411 | } | ||
2412 | |||
2413 | @keyframes hinge { | ||
2414 | 0% { | ||
2415 | -webkit-transform-origin: top left; | ||
2416 | transform-origin: top left; | ||
2417 | -webkit-animation-timing-function: ease-in-out; | ||
2418 | animation-timing-function: ease-in-out; | ||
2419 | } | ||
2420 | |||
2421 | 20%, 60% { | ||
2422 | -webkit-transform: rotate3d(0, 0, 1, 80deg); | ||
2423 | transform: rotate3d(0, 0, 1, 80deg); | ||
2424 | -webkit-transform-origin: top left; | ||
2425 | transform-origin: top left; | ||
2426 | -webkit-animation-timing-function: ease-in-out; | ||
2427 | animation-timing-function: ease-in-out; | ||
2428 | } | ||
2429 | |||
2430 | 40%, 80% { | ||
2431 | -webkit-transform: rotate3d(0, 0, 1, 60deg); | ||
2432 | transform: rotate3d(0, 0, 1, 60deg); | ||
2433 | -webkit-transform-origin: top left; | ||
2434 | transform-origin: top left; | ||
2435 | -webkit-animation-timing-function: ease-in-out; | ||
2436 | animation-timing-function: ease-in-out; | ||
2437 | opacity: 1; | ||
2438 | } | ||
2439 | |||
2440 | 100% { | ||
2441 | -webkit-transform: translate3d(0, 700px, 0); | ||
2442 | transform: translate3d(0, 700px, 0); | ||
2443 | opacity: 0; | ||
2444 | } | ||
2445 | } | ||
2446 | |||
2447 | .hinge { | ||
2448 | -webkit-animation-name: hinge; | ||
2449 | animation-name: hinge; | ||
2450 | } | ||
2451 | |||
2452 | /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ | ||
2453 | |||
2454 | @-webkit-keyframes rollIn { | ||
2455 | 0% { | ||
2456 | opacity: 0; | ||
2457 | -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); | ||
2458 | transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); | ||
2459 | } | ||
2460 | |||
2461 | 100% { | ||
2462 | opacity: 1; | ||
2463 | -webkit-transform: none; | ||
2464 | transform: none; | ||
2465 | } | ||
2466 | } | ||
2467 | |||
2468 | @keyframes rollIn { | ||
2469 | 0% { | ||
2470 | opacity: 0; | ||
2471 | -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); | ||
2472 | transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); | ||
2473 | } | ||
2474 | |||
2475 | 100% { | ||
2476 | opacity: 1; | ||
2477 | -webkit-transform: none; | ||
2478 | transform: none; | ||
2479 | } | ||
2480 | } | ||
2481 | |||
2482 | .rollIn { | ||
2483 | -webkit-animation-name: rollIn; | ||
2484 | animation-name: rollIn; | ||
2485 | } | ||
2486 | |||
2487 | /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ | ||
2488 | |||
2489 | @-webkit-keyframes rollOut { | ||
2490 | 0% { | ||
2491 | opacity: 1; | ||
2492 | } | ||
2493 | |||
2494 | 100% { | ||
2495 | opacity: 0; | ||
2496 | -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); | ||
2497 | transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); | ||
2498 | } | ||
2499 | } | ||
2500 | |||
2501 | @keyframes rollOut { | ||
2502 | 0% { | ||
2503 | opacity: 1; | ||
2504 | } | ||
2505 | |||
2506 | 100% { | ||
2507 | opacity: 0; | ||
2508 | -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); | ||
2509 | transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); | ||
2510 | } | ||
2511 | } | ||
2512 | |||
2513 | .rollOut { | ||
2514 | -webkit-animation-name: rollOut; | ||
2515 | animation-name: rollOut; | ||
2516 | } | ||
2517 | |||
2518 | @-webkit-keyframes zoomIn { | ||
2519 | 0% { | ||
2520 | opacity: 0; | ||
2521 | -webkit-transform: scale3d(.3, .3, .3); | ||
2522 | transform: scale3d(.3, .3, .3); | ||
2523 | } | ||
2524 | |||
2525 | 50% { | ||
2526 | opacity: 1; | ||
2527 | } | ||
2528 | } | ||
2529 | |||
2530 | @keyframes zoomIn { | ||
2531 | 0% { | ||
2532 | opacity: 0; | ||
2533 | -webkit-transform: scale3d(.3, .3, .3); | ||
2534 | transform: scale3d(.3, .3, .3); | ||
2535 | } | ||
2536 | |||
2537 | 50% { | ||
2538 | opacity: 1; | ||
2539 | } | ||
2540 | } | ||
2541 | |||
2542 | .zoomIn { | ||
2543 | -webkit-animation-name: zoomIn; | ||
2544 | animation-name: zoomIn; | ||
2545 | } | ||
2546 | |||
2547 | @-webkit-keyframes zoomInDown { | ||
2548 | 0% { | ||
2549 | opacity: 0; | ||
2550 | -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); | ||
2551 | transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); | ||
2552 | -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); | ||
2553 | animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); | ||
2554 | } | ||
2555 | |||
2556 | 60% { | ||
2557 | opacity: 1; | ||
2558 | -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); | ||
2559 | transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); | ||
2560 | -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); | ||
2561 | animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); | ||
2562 | } | ||
2563 | } | ||
2564 | |||
2565 | @keyframes zoomInDown { | ||
2566 | 0% { | ||
2567 | opacity: 0; | ||
2568 | -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); | ||
2569 | transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); | ||
2570 | -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); | ||
2571 | animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); | ||
2572 | } | ||
2573 | |||
2574 | 60% { | ||
2575 | opacity: 1; | ||
2576 | -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); | ||
2577 | transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); | ||
2578 | -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); | ||
2579 | animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); | ||
2580 | } | ||
2581 | } | ||
2582 | |||
2583 | .zoomInDown { | ||
2584 | -webkit-animation-name: zoomInDown; | ||
2585 | animation-name: zoomInDown; | ||
2586 | } | ||
2587 | |||
2588 | @-webkit-keyframes zoomInLeft { | ||
2589 | 0% { | ||
2590 | opacity: 0; | ||
2591 | -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); | ||
2592 | transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); | ||
2593 | -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); | ||
2594 | animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); | ||
2595 | } | ||
2596 | |||
2597 | 60% { | ||
2598 | opacity: 1; | ||
2599 | -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); | ||
2600 | transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); | ||
2601 | -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); | ||
2602 | animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); | ||
2603 | } | ||
2604 | } | ||
2605 | |||
2606 | @keyframes zoomInLeft { | ||
2607 | 0% { | ||
2608 | opacity: 0; | ||
2609 | -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); | ||
2610 | transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); | ||
2611 | -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); | ||
2612 | animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); | ||
2613 | } | ||
2614 | |||
2615 | 60% { | ||
2616 | opacity: 1; | ||
2617 | -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); | ||
2618 | transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); | ||
2619 | -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); | ||
2620 | animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); | ||
2621 | } | ||
2622 | } | ||
2623 | |||
2624 | .zoomInLeft { | ||
2625 | -webkit-animation-name: zoomInLeft; | ||
2626 | animation-name: zoomInLeft; | ||
2627 | } | ||
2628 | |||
2629 | @-webkit-keyframes zoomInRight { | ||
2630 | 0% { | ||
2631 | opacity: 0; | ||
2632 | -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); | ||
2633 | transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); | ||
2634 | -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); | ||
2635 | animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); | ||
2636 | } | ||
2637 | |||
2638 | 60% { | ||
2639 | opacity: 1; | ||
2640 | -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); | ||
2641 | transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); | ||
2642 | -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); | ||
2643 | animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); | ||
2644 | } | ||
2645 | } | ||
2646 | |||
2647 | @keyframes zoomInRight { | ||
2648 | 0% { | ||
2649 | opacity: 0; | ||
2650 | -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); | ||
2651 | transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); | ||
2652 | -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); | ||
2653 | animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); | ||
2654 | } | ||
2655 | |||
2656 | 60% { | ||
2657 | opacity: 1; | ||
2658 | -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); | ||
2659 | transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); | ||
2660 | -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); | ||
2661 | animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); | ||
2662 | } | ||
2663 | } | ||
2664 | |||
2665 | .zoomInRight { | ||
2666 | -webkit-animation-name: zoomInRight; | ||
2667 | animation-name: zoomInRight; | ||
2668 | } | ||
2669 | |||
2670 | @-webkit-keyframes zoomInUp { | ||
2671 | 0% { | ||
2672 | opacity: 0; | ||
2673 | -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); | ||
2674 | transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); | ||
2675 | -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); | ||
2676 | animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); | ||
2677 | } | ||
2678 | |||
2679 | 60% { | ||
2680 | opacity: 1; | ||
2681 | -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); | ||
2682 | transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); | ||
2683 | -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); | ||
2684 | animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); | ||
2685 | } | ||
2686 | } | ||
2687 | |||
2688 | @keyframes zoomInUp { | ||
2689 | 0% { | ||
2690 | opacity: 0; | ||
2691 | -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); | ||
2692 | transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); | ||
2693 | -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); | ||
2694 | animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); | ||
2695 | } | ||
2696 | |||
2697 | 60% { | ||
2698 | opacity: 1; | ||
2699 | -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); | ||
2700 | transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); | ||
2701 | -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); | ||
2702 | animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); | ||
2703 | } | ||
2704 | } | ||
2705 | |||
2706 | .zoomInUp { | ||
2707 | -webkit-animation-name: zoomInUp; | ||
2708 | animation-name: zoomInUp; | ||
2709 | } | ||
2710 | |||
2711 | @-webkit-keyframes zoomOut { | ||
2712 | 0% { | ||
2713 | opacity: 1; | ||
2714 | } | ||
2715 | |||
2716 | 50% { | ||
2717 | opacity: 0; | ||
2718 | -webkit-transform: scale3d(.3, .3, .3); | ||
2719 | transform: scale3d(.3, .3, .3); | ||
2720 | } | ||
2721 | |||
2722 | 100% { | ||
2723 | opacity: 0; | ||
2724 | } | ||
2725 | } | ||
2726 | |||
2727 | @keyframes zoomOut { | ||
2728 | 0% { | ||
2729 | opacity: 1; | ||
2730 | } | ||
2731 | |||
2732 | 50% { | ||
2733 | opacity: 0; | ||
2734 | -webkit-transform: scale3d(.3, .3, .3); | ||
2735 | transform: scale3d(.3, .3, .3); | ||
2736 | } | ||
2737 | |||
2738 | 100% { | ||
2739 | opacity: 0; | ||
2740 | } | ||
2741 | } | ||
2742 | |||
2743 | .zoomOut { | ||
2744 | -webkit-animation-name: zoomOut; | ||
2745 | animation-name: zoomOut; | ||
2746 | } | ||
2747 | |||
2748 | @-webkit-keyframes zoomOutDown { | ||
2749 | 40% { | ||
2750 | opacity: 1; | ||
2751 | -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); | ||
2752 | transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); | ||
2753 | -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); | ||
2754 | animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); | ||
2755 | } | ||
2756 | |||
2757 | 100% { | ||
2758 | opacity: 0; | ||
2759 | -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); | ||
2760 | transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); | ||
2761 | -webkit-transform-origin: center bottom; | ||
2762 | transform-origin: center bottom; | ||
2763 | -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); | ||
2764 | animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); | ||
2765 | } | ||
2766 | } | ||
2767 | |||
2768 | @keyframes zoomOutDown { | ||
2769 | 40% { | ||
2770 | opacity: 1; | ||
2771 | -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); | ||
2772 | transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); | ||
2773 | -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); | ||
2774 | animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); | ||
2775 | } | ||
2776 | |||
2777 | 100% { | ||
2778 | opacity: 0; | ||
2779 | -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); | ||
2780 | transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); | ||
2781 | -webkit-transform-origin: center bottom; | ||
2782 | transform-origin: center bottom; | ||
2783 | -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); | ||
2784 | animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); | ||
2785 | } | ||
2786 | } | ||
2787 | |||
2788 | .zoomOutDown { | ||
2789 | -webkit-animation-name: zoomOutDown; | ||
2790 | animation-name: zoomOutDown; | ||
2791 | } | ||
2792 | |||
2793 | @-webkit-keyframes zoomOutLeft { | ||
2794 | 40% { | ||
2795 | opacity: 1; | ||
2796 | -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); | ||
2797 | transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); | ||
2798 | } | ||
2799 | |||
2800 | 100% { | ||
2801 | opacity: 0; | ||
2802 | -webkit-transform: scale(.1) translate3d(-2000px, 0, 0); | ||
2803 | transform: scale(.1) translate3d(-2000px, 0, 0); | ||
2804 | -webkit-transform-origin: left center; | ||
2805 | transform-origin: left center; | ||
2806 | } | ||
2807 | } | ||
2808 | |||
2809 | @keyframes zoomOutLeft { | ||
2810 | 40% { | ||
2811 | opacity: 1; | ||
2812 | -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); | ||
2813 | transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); | ||
2814 | } | ||
2815 | |||
2816 | 100% { | ||
2817 | opacity: 0; | ||
2818 | -webkit-transform: scale(.1) translate3d(-2000px, 0, 0); | ||
2819 | transform: scale(.1) translate3d(-2000px, 0, 0); | ||
2820 | -webkit-transform-origin: left center; | ||
2821 | transform-origin: left center; | ||
2822 | } | ||
2823 | } | ||
2824 | |||
2825 | .zoomOutLeft { | ||
2826 | -webkit-animation-name: zoomOutLeft; | ||
2827 | animation-name: zoomOutLeft; | ||
2828 | } | ||
2829 | |||
2830 | @-webkit-keyframes zoomOutRight { | ||
2831 | 40% { | ||
2832 | opacity: 1; | ||
2833 | -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); | ||
2834 | transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); | ||
2835 | } | ||
2836 | |||
2837 | 100% { | ||
2838 | opacity: 0; | ||
2839 | -webkit-transform: scale(.1) translate3d(2000px, 0, 0); | ||
2840 | transform: scale(.1) translate3d(2000px, 0, 0); | ||
2841 | -webkit-transform-origin: right center; | ||
2842 | transform-origin: right center; | ||
2843 | } | ||
2844 | } | ||
2845 | |||
2846 | @keyframes zoomOutRight { | ||
2847 | 40% { | ||
2848 | opacity: 1; | ||
2849 | -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); | ||
2850 | transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); | ||
2851 | } | ||
2852 | |||
2853 | 100% { | ||
2854 | opacity: 0; | ||
2855 | -webkit-transform: scale(.1) translate3d(2000px, 0, 0); | ||
2856 | transform: scale(.1) translate3d(2000px, 0, 0); | ||
2857 | -webkit-transform-origin: right center; | ||
2858 | transform-origin: right center; | ||
2859 | } | ||
2860 | } | ||
2861 | |||
2862 | .zoomOutRight { | ||
2863 | -webkit-animation-name: zoomOutRight; | ||
2864 | animation-name: zoomOutRight; | ||
2865 | } | ||
2866 | |||
2867 | @-webkit-keyframes zoomOutUp { | ||
2868 | 40% { | ||
2869 | opacity: 1; | ||
2870 | -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); | ||
2871 | transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); | ||
2872 | -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); | ||
2873 | animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); | ||
2874 | } | ||
2875 | |||
2876 | 100% { | ||
2877 | opacity: 0; | ||
2878 | -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); | ||
2879 | transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); | ||
2880 | -webkit-transform-origin: center bottom; | ||
2881 | transform-origin: center bottom; | ||
2882 | -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); | ||
2883 | animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); | ||
2884 | } | ||
2885 | } | ||
2886 | |||
2887 | @keyframes zoomOutUp { | ||
2888 | 40% { | ||
2889 | opacity: 1; | ||
2890 | -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); | ||
2891 | transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); | ||
2892 | -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); | ||
2893 | animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); | ||
2894 | } | ||
2895 | |||
2896 | 100% { | ||
2897 | opacity: 0; | ||
2898 | -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); | ||
2899 | transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); | ||
2900 | -webkit-transform-origin: center bottom; | ||
2901 | transform-origin: center bottom; | ||
2902 | -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); | ||
2903 | animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); | ||
2904 | } | ||
2905 | } | ||
2906 | |||
2907 | .zoomOutUp { | ||
2908 | -webkit-animation-name: zoomOutUp; | ||
2909 | animation-name: zoomOutUp; | ||
2910 | } | ||
2911 | |||
2912 | @-webkit-keyframes slideInDown { | ||
2913 | 0% { | ||
2914 | -webkit-transform: translateY(-100%); | ||
2915 | transform: translateY(-100%); | ||
2916 | visibility: visible; | ||
2917 | } | ||
2918 | |||
2919 | 100% { | ||
2920 | -webkit-transform: translateY(0); | ||
2921 | transform: translateY(0); | ||
2922 | } | ||
2923 | } | ||
2924 | |||
2925 | @keyframes slideInDown { | ||
2926 | 0% { | ||
2927 | -webkit-transform: translateY(-100%); | ||
2928 | transform: translateY(-100%); | ||
2929 | visibility: visible; | ||
2930 | } | ||
2931 | |||
2932 | 100% { | ||
2933 | -webkit-transform: translateY(0); | ||
2934 | transform: translateY(0); | ||
2935 | } | ||
2936 | } | ||
2937 | |||
2938 | .slideInDown { | ||
2939 | -webkit-animation-name: slideInDown; | ||
2940 | animation-name: slideInDown; | ||
2941 | } | ||
2942 | |||
2943 | @-webkit-keyframes slideInLeft { | ||
2944 | 0% { | ||
2945 | -webkit-transform: translateX(-100%); | ||
2946 | transform: translateX(-100%); | ||
2947 | visibility: visible; | ||
2948 | } | ||
2949 | |||
2950 | 100% { | ||
2951 | -webkit-transform: translateX(0); | ||
2952 | transform: translateX(0); | ||
2953 | } | ||
2954 | } | ||
2955 | |||
2956 | @keyframes slideInLeft { | ||
2957 | 0% { | ||
2958 | -webkit-transform: translateX(-100%); | ||
2959 | transform: translateX(-100%); | ||
2960 | visibility: visible; | ||
2961 | } | ||
2962 | |||
2963 | 100% { | ||
2964 | -webkit-transform: translateX(0); | ||
2965 | transform: translateX(0); | ||
2966 | } | ||
2967 | } | ||
2968 | |||
2969 | .slideInLeft { | ||
2970 | -webkit-animation-name: slideInLeft; | ||
2971 | animation-name: slideInLeft; | ||
2972 | } | ||
2973 | |||
2974 | @-webkit-keyframes slideInRight { | ||
2975 | 0% { | ||
2976 | -webkit-transform: translateX(100%); | ||
2977 | transform: translateX(100%); | ||
2978 | visibility: visible; | ||
2979 | } | ||
2980 | |||
2981 | 100% { | ||
2982 | -webkit-transform: translateX(0); | ||
2983 | transform: translateX(0); | ||
2984 | } | ||
2985 | } | ||
2986 | |||
2987 | @keyframes slideInRight { | ||
2988 | 0% { | ||
2989 | -webkit-transform: translateX(100%); | ||
2990 | transform: translateX(100%); | ||
2991 | visibility: visible; | ||
2992 | } | ||
2993 | |||
2994 | 100% { | ||
2995 | -webkit-transform: translateX(0); | ||
2996 | transform: translateX(0); | ||
2997 | } | ||
2998 | } | ||
2999 | |||
3000 | .slideInRight { | ||
3001 | -webkit-animation-name: slideInRight; | ||
3002 | animation-name: slideInRight; | ||
3003 | } | ||
3004 | |||
3005 | @-webkit-keyframes slideInUp { | ||
3006 | 0% { | ||
3007 | -webkit-transform: translateY(100%); | ||
3008 | transform: translateY(100%); | ||
3009 | visibility: visible; | ||
3010 | } | ||
3011 | |||
3012 | 100% { | ||
3013 | -webkit-transform: translateY(0); | ||
3014 | transform: translateY(0); | ||
3015 | } | ||
3016 | } | ||
3017 | |||
3018 | @keyframes slideInUp { | ||
3019 | 0% { | ||
3020 | -webkit-transform: translateY(100%); | ||
3021 | transform: translateY(100%); | ||
3022 | visibility: visible; | ||
3023 | } | ||
3024 | |||
3025 | 100% { | ||
3026 | -webkit-transform: translateY(0); | ||
3027 | transform: translateY(0); | ||
3028 | } | ||
3029 | } | ||
3030 | |||
3031 | .slideInUp { | ||
3032 | -webkit-animation-name: slideInUp; | ||
3033 | animation-name: slideInUp; | ||
3034 | } | ||
3035 | |||
3036 | @-webkit-keyframes slideOutDown { | ||
3037 | 0% { | ||
3038 | -webkit-transform: translateY(0); | ||
3039 | transform: translateY(0); | ||
3040 | } | ||
3041 | |||
3042 | 100% { | ||
3043 | visibility: hidden; | ||
3044 | -webkit-transform: translateY(100%); | ||
3045 | transform: translateY(100%); | ||
3046 | } | ||
3047 | } | ||
3048 | |||
3049 | @keyframes slideOutDown { | ||
3050 | 0% { | ||
3051 | -webkit-transform: translateY(0); | ||
3052 | transform: translateY(0); | ||
3053 | } | ||
3054 | |||
3055 | 100% { | ||
3056 | visibility: hidden; | ||
3057 | -webkit-transform: translateY(100%); | ||
3058 | transform: translateY(100%); | ||
3059 | } | ||
3060 | } | ||
3061 | |||
3062 | .slideOutDown { | ||
3063 | -webkit-animation-name: slideOutDown; | ||
3064 | animation-name: slideOutDown; | ||
3065 | } | ||
3066 | |||
3067 | @-webkit-keyframes slideOutLeft { | ||
3068 | 0% { | ||
3069 | -webkit-transform: translateX(0); | ||
3070 | transform: translateX(0); | ||
3071 | } | ||
3072 | |||
3073 | 100% { | ||
3074 | visibility: hidden; | ||
3075 | -webkit-transform: translateX(-100%); | ||
3076 | transform: translateX(-100%); | ||
3077 | } | ||
3078 | } | ||
3079 | |||
3080 | @keyframes slideOutLeft { | ||
3081 | 0% { | ||
3082 | -webkit-transform: translateX(0); | ||
3083 | transform: translateX(0); | ||
3084 | } | ||
3085 | |||
3086 | 100% { | ||
3087 | visibility: hidden; | ||
3088 | -webkit-transform: translateX(-100%); | ||
3089 | transform: translateX(-100%); | ||
3090 | } | ||
3091 | } | ||
3092 | |||
3093 | .slideOutLeft { | ||
3094 | -webkit-animation-name: slideOutLeft; | ||
3095 | animation-name: slideOutLeft; | ||
3096 | } | ||
3097 | |||
3098 | @-webkit-keyframes slideOutRight { | ||
3099 | 0% { | ||
3100 | -webkit-transform: translateX(0); | ||
3101 | transform: translateX(0); | ||
3102 | } | ||
3103 | |||
3104 | 100% { | ||
3105 | visibility: hidden; | ||
3106 | -webkit-transform: translateX(100%); | ||
3107 | transform: translateX(100%); | ||
3108 | } | ||
3109 | } | ||
3110 | |||
3111 | @keyframes slideOutRight { | ||
3112 | 0% { | ||
3113 | -webkit-transform: translateX(0); | ||
3114 | transform: translateX(0); | ||
3115 | } | ||
3116 | |||
3117 | 100% { | ||
3118 | visibility: hidden; | ||
3119 | -webkit-transform: translateX(100%); | ||
3120 | transform: translateX(100%); | ||
3121 | } | ||
3122 | } | ||
3123 | |||
3124 | .slideOutRight { | ||
3125 | -webkit-animation-name: slideOutRight; | ||
3126 | animation-name: slideOutRight; | ||
3127 | } | ||
3128 | |||
3129 | @-webkit-keyframes slideOutUp { | ||
3130 | 0% { | ||
3131 | -webkit-transform: translateY(0); | ||
3132 | transform: translateY(0); | ||
3133 | } | ||
3134 | |||
3135 | 100% { | ||
3136 | visibility: hidden; | ||
3137 | -webkit-transform: translateY(-100%); | ||
3138 | transform: translateY(-100%); | ||
3139 | } | ||
3140 | } | ||
3141 | |||
3142 | @keyframes slideOutUp { | ||
3143 | 0% { | ||
3144 | -webkit-transform: translateY(0); | ||
3145 | transform: translateY(0); | ||
3146 | } | ||
3147 | |||
3148 | 100% { | ||
3149 | visibility: hidden; | ||
3150 | -webkit-transform: translateY(-100%); | ||
3151 | transform: translateY(-100%); | ||
3152 | } | ||
3153 | } | ||
3154 | |||
3155 | .slideOutUp { | ||
3156 | -webkit-animation-name: slideOutUp; | ||
3157 | animation-name: slideOutUp; | ||
3158 | } |
app/assets/stylesheets/plugin/ihover.css
0 → 100755
1 | .detectype h2, .service h2{ | ||
2 | text-align: center; | ||
3 | font-weight: 400; | ||
4 | color: #433e51; | ||
5 | font-size: 45px; | ||
6 | padding: 0; | ||
7 | margin: 50px 0; | ||
8 | } | ||
9 | .detectype .detectrange{ | ||
10 | float: left; | ||
11 | min-height: 1px; | ||
12 | position: relative; | ||
13 | cursor: pointer; | ||
14 | width: 22.75%; | ||
15 | margin-right: 3%; | ||
16 | overflow: hidden; | ||
17 | } | ||
18 | .detectype .detectrange.mb{ | ||
19 | margin-bottom: 50px; | ||
20 | } | ||
21 | .detectype .detectrange .mask{ | ||
22 | position: absolute; | ||
23 | top: 0; | ||
24 | bottom: 0; | ||
25 | left: 0; | ||
26 | right: 0; | ||
27 | text-align: center; | ||
28 | -webkit-backface-visibility: hidden; | ||
29 | backface-visibility: hidden; | ||
30 | } | ||
31 | .detectype .detectrange.l{ | ||
32 | margin-right: 0; | ||
33 | } | ||
34 | .detectype .detectrange .detecticon{ | ||
35 | height: 150px; | ||
36 | } | ||
37 | .detectype .detectrange .detectfood{ | ||
38 | background: url(/images/jcrange/nongchanpin.jpg); | ||
39 | } | ||
40 | .detectype .detectrange .detectmeat{ | ||
41 | background: url(/images/jcrange/rouzhipin.jpg); | ||
42 | } | ||
43 | .detectype .detectrange .detectfire{ | ||
44 | background: url(/images/jcrange/xiaofangjiance.jpg); | ||
45 | } | ||
46 | .detectype .detectrange .detectmilieu{ | ||
47 | background: url(/images/jcrange/huanjing.jpg); | ||
48 | } | ||
49 | .detectype .detectrange .detectfeiliao{ | ||
50 | background: url(/images/jcrange/fljc.jpg); | ||
51 | } | ||
52 | .detectype .detectrange .detectsiliao{ | ||
53 | background: url(/images/jcrange/sljc.jpg); | ||
54 | } | ||
55 | .detectype .detectrange .detectshuichan{ | ||
56 | background: url(/images/jcrange/scjc.jpg); | ||
57 | } | ||
58 | .detectype .detectrange .detectshipin{ | ||
59 | background: url(/images/jcrange/spjc.jpg?v=2); | ||
60 | } | ||
61 | .detectype .detectrange .detecttext{ | ||
62 | padding: 15px 10px; | ||
63 | height: 80px; | ||
64 | border: 1px solid #ccc; | ||
65 | border-top: 0; | ||
66 | } | ||
67 | .detectype .detectrange .detecttext h5{ | ||
68 | margin: 0 0 10px; | ||
69 | font-size: 18px; | ||
70 | font-weight: 400; | ||
71 | color: #433e51; | ||
72 | } | ||
73 | .detectype .detectrange .detecttext p{ | ||
74 | line-height: 1.6em; | ||
75 | font-size: 14px; | ||
76 | margin: 0 0 10px; | ||
77 | color: #7b7b7b; | ||
78 | } | ||
79 | .detectype .detectrange .mask { | ||
80 | background: #1a4a72; | ||
81 | background: rgba(26, 74, 114, 0.6); | ||
82 | visibility: hidden; | ||
83 | opacity: 0; | ||
84 | -webkit-transition: all 0.35s ease-in; | ||
85 | -moz-transition: all 0.35s ease-in; | ||
86 | transition: all 0.35s ease-in; | ||
87 | } | ||
88 | .detectype .detectrange .mask a{ | ||
89 | color: #fff; | ||
90 | } | ||
91 | .detectype .detectrange .mask h3 { | ||
92 | text-transform: uppercase; | ||
93 | color: #fff; | ||
94 | text-align: center; | ||
95 | font-size: 17px; | ||
96 | padding: 10px; | ||
97 | background: #111111; | ||
98 | background: rgba(12, 34, 52, 0.6); | ||
99 | margin: 30px 0 0 0; | ||
100 | -webkit-transition: all 0.35s ease-in; | ||
101 | -moz-transition: all 0.35s ease-in; | ||
102 | transition: all 0.35s ease-in; | ||
103 | } | ||
104 | .detectype .detectrange .mask p { | ||
105 | font-size: 12px; | ||
106 | position: relative; | ||
107 | color: #bbb; | ||
108 | padding: 20px 20px 20px; | ||
109 | text-align: center; | ||
110 | -webkit-transition: all 0.35s ease-in; | ||
111 | -moz-transition: all 0.35s ease-in; | ||
112 | transition: all 0.35s ease-in; | ||
113 | } | ||
114 | .detectype .detectrange:hover .mask { | ||
115 | visibility: visible; | ||
116 | opacity: 1; | ||
117 | -webkit-transition-delay: 0.2s; | ||
118 | -moz-transition-delay: 0.2s; | ||
119 | transition-delay: 0.2s; | ||
120 | } | ||
121 | .detectype .detectrange:hover .mask h3 { | ||
122 | -webkit-transition-delay: 0.3s; | ||
123 | -moz-transition-delay: 0.3s; | ||
124 | transition-delay: 0.3s; | ||
125 | } | ||
126 | .detectype .detectrange:hover .mask p { | ||
127 | -webkit-transition-delay: 0.25s; | ||
128 | -moz-transition-delay: 0.25s; | ||
129 | transition-delay: 0.25s; | ||
130 | } | ||
131 | |||
132 | .detectype .detectrange .mask { | ||
133 | -webkit-transform: translate(-460px, -100px) rotate(-180deg); | ||
134 | -moz-transform: translate(-460px, -100px) rotate(-180deg); | ||
135 | -ms-transform: translate(-460px, -100px) rotate(-180deg); | ||
136 | -o-transform: translate(-460px, -100px) rotate(-180deg); | ||
137 | transform: translate(-460px, -100px) rotate(-180deg); | ||
138 | } | ||
139 | .detectype .detectrange .mask h3 { | ||
140 | -webkit-transform: translateY(-100px); | ||
141 | -moz-transform: translateY(-100px); | ||
142 | -ms-transform: translateY(-100px); | ||
143 | -o-transform: translateY(-100px); | ||
144 | transform: translateY(-100px); | ||
145 | } | ||
146 | .detectype .detectrange .mask p { | ||
147 | -webkit-transform: translateX(-300px) rotate(-90deg); | ||
148 | -moz-transform: translateX(-300px) rotate(-90deg); | ||
149 | -ms-transform: translateX(-300px) rotate(-90deg); | ||
150 | -o-transform: translateX(-300px) rotate(-90deg); | ||
151 | transform: translateX(-300px) rotate(-90deg); | ||
152 | } | ||
153 | .detectype .detectrange:hover .mask { | ||
154 | -webkit-transform: translate(0px, 0px); | ||
155 | -moz-transform: translate(0px, 0px); | ||
156 | -ms-transform: translate(0px, 0px); | ||
157 | -o-transform: translate(0px, 0px); | ||
158 | transform: translate(0px, 0px); | ||
159 | } | ||
160 | .detectype .detectrange:hover .mask h3 { | ||
161 | -webkit-transform: translateY(0px); | ||
162 | -moz-transform: translateY(0px); | ||
163 | -ms-transform: translateY(0px); | ||
164 | -o-transform: translateY(0px); | ||
165 | transform: translateY(0px); | ||
166 | } | ||
167 | .detectype .detectrange:hover .mask p { | ||
168 | -webkit-transform: translateX(0px) rotate(0deg); | ||
169 | -moz-transform: translateX(0px) rotate(0deg); | ||
170 | -ms-transform: translateX(0px) rotate(0deg); | ||
171 | -o-transform: translateX(0px) rotate(0deg); | ||
172 | transform: translateX(0px) rotate(0deg); | ||
173 | } |
app/assets/stylesheets/website/base.css
0 → 100644
1 | body{ | ||
2 | margin: 0px; | ||
3 | color: #393939; | ||
4 | } | ||
5 | a{ | ||
6 | text-decoration: none; | ||
7 | } | ||
8 | input:focus, | ||
9 | textarea:focus{ | ||
10 | outline: none; | ||
11 | } | ||
12 | .wrapper:after { | ||
13 | clear: both; | ||
14 | content: ''; | ||
15 | display: table; | ||
16 | } | ||
17 | .wrapper { | ||
18 | padding: 0; | ||
19 | max-width: 1200px; | ||
20 | margin: 0 auto; | ||
21 | width: 96%; | ||
22 | } | ||
23 | .header{ | ||
24 | background: #ffffff; | ||
25 | position: relative; | ||
26 | z-index: 100; | ||
27 | height: 80px; | ||
28 | } | ||
29 | .header .wrapper .logo{ | ||
30 | min-width: 100px; | ||
31 | padding: 0; | ||
32 | text-align: left; | ||
33 | float: left; | ||
34 | } | ||
35 | .header .wrapper .logo a{ | ||
36 | display: inline-block; | ||
37 | line-height: 80px; | ||
38 | } | ||
39 | .header .wrapper .logo a img{ | ||
40 | border: none; | ||
41 | vertical-align: middle; | ||
42 | } | ||
43 | .header .wrapper .nav{ | ||
44 | display: block; | ||
45 | position: relative; | ||
46 | width: auto; | ||
47 | background: none; | ||
48 | float: right; | ||
49 | } | ||
50 | .header .wrapper .nav ul.menu{ | ||
51 | list-style: none; | ||
52 | padding: 0; | ||
53 | margin: 0; | ||
54 | display: block; | ||
55 | height: 80px; | ||
56 | line-height: 80px; | ||
57 | } | ||
58 | |||
59 | .header .wrapper .nav ul.menu li{ | ||
60 | float: left; | ||
61 | display: inline-block; | ||
62 | height: 30px; | ||
63 | line-height: 30px; | ||
64 | margin: 40px 10px 10px 10px; | ||
65 | } | ||
66 | .header .wrapper .nav ul.menu li a{ | ||
67 | font-size: 0.9375rem; | ||
68 | display: block; | ||
69 | height: 30px; | ||
70 | width: 75px; | ||
71 | color: #1f8657; | ||
72 | font-weight: bold; | ||
73 | text-align: center; | ||
74 | } | ||
75 | .header .wrapper .nav ul.menu li a:hover, | ||
76 | .header .wrapper .nav ul.menu li a.active{ | ||
77 | color: #393939; | ||
78 | border-bottom: 2px solid #2aad6f; | ||
79 | } | ||
80 | .uptoshow{ | ||
81 | margin-top: 20px; | ||
82 | } | ||
83 | .uptoshow .leftrow, | ||
84 | .uptoshow .rightrow{ | ||
85 | float: left; | ||
86 | width: 50%; | ||
87 | } | ||
88 | .uptoshow .leftrow{ | ||
89 | text-align: right; | ||
90 | } | ||
91 | .uptoshow .rightrow{ | ||
92 | text-align: left; | ||
93 | } | ||
94 | .uptoshow .leftrow .wow{ | ||
95 | margin-top: 10px; | ||
96 | } | ||
97 | .uptoshow .leftrow .wow img{ | ||
98 | height: 40px; | ||
99 | margin-right: 15px; | ||
100 | } | ||
101 | .uptoshow .rightrow .wow img{ | ||
102 | max-width: 100%; | ||
103 | margin-left: 15px; | ||
104 | } | ||
105 | |||
106 | |||
107 | |||
108 | |||
109 | |||
110 | |||
111 | |||
112 | |||
113 | .navi-scroll{ | ||
114 | position: fixed; | ||
115 | right: 32px; | ||
116 | bottom: 32px; | ||
117 | width: 42px; | ||
118 | min-height: 74px; | ||
119 | z-index: 999; | ||
120 | } | ||
121 | .navi-scroll .navi-scroll-content { | ||
122 | position: relative; | ||
123 | text-align: center; | ||
124 | width: 100%; | ||
125 | height: 100%; | ||
126 | } | ||
127 | .navi-scroll .navi-scroll-content a { | ||
128 | width: 42px; | ||
129 | height: 36px; | ||
130 | display: block; | ||
131 | overflow: hidden; | ||
132 | position: relative; | ||
133 | background-color: #ededed; | ||
134 | } | ||
135 | .navi-scroll .navi-scroll-content a span { | ||
136 | width: 78px; | ||
137 | height: 36px; | ||
138 | color: #fff; | ||
139 | line-height: 36px; | ||
140 | font-size: 14px; | ||
141 | text-align: center; | ||
142 | display: none; | ||
143 | } | ||
144 | .navi-scroll .navi-scroll-content a i { | ||
145 | width: 20px; | ||
146 | height: 20px; | ||
147 | position: absolute; | ||
148 | right: 0; | ||
149 | top: 50%; | ||
150 | background-repeat: no-repeat; | ||
151 | background-position: center center; | ||
152 | } | ||
153 | .navi-scroll .navi-scroll-content .scroll-top-btn i { | ||
154 | width: 20px; | ||
155 | height: 20px; | ||
156 | margin-top: -10px; | ||
157 | right: 11px; | ||
158 | background-image: url("/images/icons/backtop-icon.png"); | ||
159 | } | ||
160 | .navi-scroll .navi-scroll-content .scroll-contact-btn i { | ||
161 | width: 18px; | ||
162 | height: 18px; | ||
163 | margin-top: -9px; | ||
164 | right: 12px; | ||
165 | background-image: url("/images/icons/contact-icon.png"); | ||
166 | } | ||
167 | .navi-scroll .navi-scroll-content .scroll-order-btn i { | ||
168 | width: 20px; | ||
169 | height: 20px; | ||
170 | margin-top: -9px; | ||
171 | right: 12px; | ||
172 | background-image: url("/images/icons/intent-icon.png"); | ||
173 | } | ||
174 | .navi-scroll .navi-scroll-content a:hover { | ||
175 | width: 120px; | ||
176 | margin-left: -78px; | ||
177 | background-color: #47b488; | ||
178 | } | ||
179 | .navi-scroll .navi-scroll-content a:hover span{ | ||
180 | display: block; | ||
181 | } | ||
182 | .navi-scroll .navi-scroll-content .scroll-top-btn:hover i { | ||
183 | background-image: url("/images/icons/backtop-icon-active.png"); | ||
184 | } | ||
185 | .navi-scroll .navi-scroll-content .scroll-contact-btn:hover i { | ||
186 | background-image: url("/images/icons/contact-icon-active.png"); | ||
187 | } | ||
188 | .navi-scroll .navi-scroll-content .scroll-order-btn:hover i { | ||
189 | background-image: url("/images/icons/intent-icon-active.png"); | ||
190 | } | ||
191 | .navi-scroll .navi-scroll-content .scroll-contact-btn, | ||
192 | .navi-scroll .navi-scroll-content .scroll-order-btn { | ||
193 | margin-bottom: 2px; | ||
194 | } | ||
195 | .ftcontact.wrapper.wechat{ | ||
196 | margin-top: 10px; | ||
197 | } | ||
198 | .ftcontact.wrapper{ | ||
199 | padding: 0; | ||
200 | } | ||
201 | .ftcontact .ftphoneicon{ | ||
202 | width: 67px; | ||
203 | height: 67px; | ||
204 | line-height: 67px; | ||
205 | background: #2aad6f; | ||
206 | border-radius: 50%; | ||
207 | text-align: center; | ||
208 | float: left; | ||
209 | } | ||
210 | .ftcontact .ftphoneicon span{ | ||
211 | background: url(http://www.oppo.com/cn/assets/images/sprite-icons.png); | ||
212 | width: 100%; | ||
213 | height: 100%; | ||
214 | display: inline-block; | ||
215 | background-position: -417px -1px; | ||
216 | background-repeat: no-repeat; | ||
217 | } | ||
218 | .ftcontact.wechat .ftphoneicon span{ | ||
219 | background-position: -420px -791px; | ||
220 | height: 50px; | ||
221 | margin-top: 10px; | ||
222 | } | ||
223 | .ftcontact .ftphoneinfo{ | ||
224 | text-align: left; | ||
225 | float: left; | ||
226 | margin-left: 15px; | ||
227 | } | ||
228 | .ftcontact .ftphoneinfo h4{ | ||
229 | font-size: 20px; | ||
230 | font-size: 1.25rem; | ||
231 | margin: 10px 0 5px 0; | ||
232 | color: #1f8657; | ||
233 | } | ||
234 | .ftcontact .ftphoneinfo p{ | ||
235 | margin: 0; | ||
236 | text-align: left; | ||
237 | } | ||
238 | .footer{ | ||
239 | padding: 50px 0; | ||
240 | background: #fff; | ||
241 | } | ||
242 | .footer .ftservice{ | ||
243 | height: 125px; | ||
244 | list-style-type: none; | ||
245 | overflow: hidden; | ||
246 | } | ||
247 | .footer .ftservice .item{ | ||
248 | display: inline-block; | ||
249 | width: 20%; | ||
250 | height: 125px; | ||
251 | zoom: 1; | ||
252 | position: relative; | ||
253 | float: left; | ||
254 | } | ||
255 | .footer .ftservice .item img{ | ||
256 | position: absolute; | ||
257 | width: 45px; | ||
258 | height: 45px; | ||
259 | top: 45px; | ||
260 | } | ||
261 | .footer .ftservice .item h5{ | ||
262 | position: absolute; | ||
263 | font-size: 18px; | ||
264 | font-weight: bold; | ||
265 | margin: 0; | ||
266 | top: 50px; | ||
267 | left: 50px; | ||
268 | color: rgb(54, 54, 54); | ||
269 | } | ||
270 | .footer .ftservice .item p{ | ||
271 | position: absolute; | ||
272 | color: rgb(152, 152, 152); | ||
273 | margin: 0; | ||
274 | font-size: 12px; | ||
275 | left: 50px; | ||
276 | bottom: 40px; | ||
277 | } | ||
278 | .line{ | ||
279 | background: #ededed; | ||
280 | height: 1px; | ||
281 | } | ||
282 | .footer .ftlinks{ | ||
283 | list-style-type: none; | ||
284 | margin-top: 20px; | ||
285 | } | ||
286 | .footer .ftlinks .ftlink{ | ||
287 | width: 20%; | ||
288 | display: inline-block; | ||
289 | float: left; | ||
290 | height: 200px; | ||
291 | } | ||
292 | .footer .ftlinks .ftlink .linktitle{ | ||
293 | display: inline-block; | ||
294 | padding: 0; | ||
295 | margin-bottom: 20px; | ||
296 | color: #1f8657; | ||
297 | font-size: 1.125rem; | ||
298 | font-weight: bold; | ||
299 | } | ||
300 | .footer .ftlinks .ftlink ul{ | ||
301 | padding: 0; | ||
302 | margin: 0; | ||
303 | list-style-type: none; | ||
304 | } | ||
305 | .footer .ftlinks .ftlink ul li{ | ||
306 | |||
307 | } | ||
308 | .footer .ftlinks .ftlink ul li a{ | ||
309 | margin: 10px 0; | ||
310 | display: block; | ||
311 | font-size: 15px; | ||
312 | font-size: 0.9375rem; | ||
313 | color: #7b7b7b; | ||
314 | } | ||
315 | .footer .ftlinks .ftlink ul li a:hover{ | ||
316 | color: #1f8657; | ||
317 | } | ||
318 | .footer .ftwarp{ | ||
319 | margin-top: 20px; | ||
320 | color: #7b7b7b; | ||
321 | font-size: 13px; | ||
322 | font-size: 0.8125rem; | ||
323 | } | ||
324 | .footer .ftwarp .copyright{ | ||
325 | width: 45%; | ||
326 | height: 50px; | ||
327 | float: left; | ||
328 | text-align: left; | ||
329 | } | ||
330 | .footer .ftwarp ul{ | ||
331 | width: 45%; | ||
332 | height: 50px; | ||
333 | float: right; | ||
334 | list-style-type: none; | ||
335 | margin: 0; | ||
336 | padding: 0; | ||
337 | } | ||
338 | .footer .ftwarp ul li{ | ||
339 | float: right; | ||
340 | margin-left: 15px; | ||
341 | } | ||
342 | .footer .ftwarp ul li a{ | ||
343 | color: #7b7b7b; | ||
344 | } | ||
345 | .footer .ftwarp ul li a:hover{ | ||
346 | color: #1f8657; | ||
347 | } | ||
348 | |||
349 | .pagination { | ||
350 | margin: 10px auto; | ||
351 | overflow: hidden; | ||
352 | padding: 10px 0; | ||
353 | } | ||
354 | .pagination li{ | ||
355 | display: inline-block; | ||
356 | margin: auto 2px; | ||
357 | } | ||
358 | .pagination li.disabled a{ | ||
359 | background-color: #cccccc; | ||
360 | } | ||
361 | .pagination li.active a{ | ||
362 | border: 1px solid #398439; | ||
363 | color: #ffffff; | ||
364 | background-color: #00AA91; | ||
365 | } | ||
366 | .pagination a { | ||
367 | border: 1px solid #cccccc; | ||
368 | color: #666666; | ||
369 | height: 26px; | ||
370 | line-height: 26px; | ||
371 | display: inline-block; | ||
372 | padding: 0 10px; | ||
373 | } | ||
374 | .pagination li.disabled a:hover, | ||
375 | .pagination li.disabled a:active{ | ||
376 | color: #666666; | ||
377 | } | ||
378 | .pagination a:hover, | ||
379 | .pagination a:active { | ||
380 | color: #990000; | ||
381 | } |
app/assets/stylesheets/website/default.css
0 → 100644
1 | .banner{ | ||
2 | overflow: hidden; | ||
3 | background-repeat: no-repeat; | ||
4 | -webkit-background-size: cover; | ||
5 | background-size: cover; | ||
6 | background-position: 50% 50%; | ||
7 | width:100%; | ||
8 | height: 300px; | ||
9 | position: relative; | ||
10 | } | ||
11 | .inside{ | ||
12 | padding-top: 50px; | ||
13 | } | ||
14 | .inside .inside-left{ | ||
15 | width: 25%; | ||
16 | float: left; | ||
17 | } | ||
18 | .inside .inside-left .top{ | ||
19 | height: 60px; | ||
20 | background: #2aad6f; | ||
21 | color: #ffffff; | ||
22 | text-align: center; | ||
23 | line-height: 60px; | ||
24 | font-size: 24px; | ||
25 | font-weight: bold; | ||
26 | } | ||
27 | .inside .inside-left ul{ | ||
28 | margin: 0; | ||
29 | list-style: none; | ||
30 | padding: 0; | ||
31 | } | ||
32 | .inside .inside-left ul li{ | ||
33 | padding: 0 10px; | ||
34 | margin-top: 10px; | ||
35 | border: 1px solid #ededed; | ||
36 | background: #ffffff; | ||
37 | height: 35px; | ||
38 | line-height: 35px; | ||
39 | } | ||
40 | .inside .inside-left ul li a{ | ||
41 | display: inline-block; | ||
42 | width: 100%; | ||
43 | height: 100%; | ||
44 | font-weight: bold; | ||
45 | color: #333333; | ||
46 | } | ||
47 | .inside .inside-left ul li:hover, | ||
48 | .inside .inside-left ul li.active{ | ||
49 | background: #2aad6f; | ||
50 | } | ||
51 | .inside .inside-left ul li:hover a, | ||
52 | .inside .inside-left ul li.active a{ | ||
53 | color: #ffffff; | ||
54 | } | ||
55 | .inside .inside-right{ | ||
56 | width: 75%; | ||
57 | float: left; | ||
58 | } | ||
59 | .inside .inside-right .detail{ | ||
60 | padding-left: 20px; | ||
61 | } | ||
62 | .inside .inside-right .detail .title{ | ||
63 | height: 40px; | ||
64 | border-bottom: 1px solid #ededed; | ||
65 | margin-bottom: 20px; | ||
66 | } | ||
67 | .inside .inside-right .detail .title h3{ | ||
68 | margin: 0; | ||
69 | } | ||
70 | .inside .inside-right .detail .title small{ | ||
71 | float: right; | ||
72 | } | ||
73 | .inside .inside-right .detail .title small a{ | ||
74 | color: #7b7b7b; | ||
75 | } | ||
76 | .inside .inside-right .detail .title small a:hover{ | ||
77 | color: #1f8657; | ||
78 | } | ||
79 | .inside .inside-right .detail .preview{ | ||
80 | |||
81 | } | ||
82 | .inside .inside-right .detail .preview .item{ | ||
83 | cursor: pointer; | ||
84 | margin-bottom: 50px; | ||
85 | position: relative; | ||
86 | height: 150px; | ||
87 | padding-bottom: 10px; | ||
88 | border-bottom: 1px solid #ccc; | ||
89 | } | ||
90 | .inside .inside-right .detail .preview .item img{ | ||
91 | max-width: 200px; | ||
92 | } | ||
93 | .inside .inside-right .detail .preview .item .posth4{ | ||
94 | position: absolute; | ||
95 | left: 220px; | ||
96 | top: 0; | ||
97 | margin: 0; | ||
98 | font-size: 18px; | ||
99 | } | ||
100 | .inside .inside-right .detail .preview .item .posth4 a{ | ||
101 | color: #1f8657; | ||
102 | } | ||
103 | .inside .inside-right .detail .preview .item .posth4 a:hover, | ||
104 | .inside .inside-right .detail .preview .item .posth4 a:visited{ | ||
105 | color: #1f8657; | ||
106 | } | ||
107 | .inside .inside-right .detail .preview .item .postdesc{ | ||
108 | position: absolute; | ||
109 | left: 220px; | ||
110 | top: 30px; | ||
111 | line-height: 22px; | ||
112 | } | ||
113 | .inside .inside-right .detail .preview p, | ||
114 | .inside .inside-right .detail .preview li{ | ||
115 | line-height: 30px; | ||
116 | margin: 0.5em auto; | ||
117 | } | ||
118 | .inside .inside-right .detail .preview li{ | ||
119 | line-height: 26px; | ||
120 | } | ||
121 | .inside .inside-right .detail .preview img{ | ||
122 | max-width: 100%; | ||
123 | } | ||
124 | .inside .inside-right .detail .preview .mp4 video, | ||
125 | .inside .inside-right .detail .preview .mp4 object, | ||
126 | .inside .inside-right .detail .preview .mp4 object img{ | ||
127 | width: 100%; | ||
128 | height: auto; | ||
129 | } | ||
130 | .inside .inside-right .detail .preview form .field{ | ||
131 | margin: auto auto 20px auto; | ||
132 | } | ||
133 | .inside .inside-right .detail .preview form .field label{ | ||
134 | width: 70px; | ||
135 | display: inline-block; | ||
136 | vertical-align: middle; | ||
137 | overflow: hidden; | ||
138 | font-size: 14px; | ||
139 | padding: 0 20px 0 0; | ||
140 | } | ||
141 | .inside .inside-right .detail .preview form .field input, | ||
142 | .inside .inside-right .detail .preview form .field textarea{ | ||
143 | width: 320px; | ||
144 | line-height: 20px; | ||
145 | border: 1px solid #2aad6f; | ||
146 | font-size: 12px; | ||
147 | padding: .5em .8em; | ||
148 | border-radius: 2px; | ||
149 | vertical-align: middle; | ||
150 | background: #ffffff; | ||
151 | } | ||
152 | .inside .inside-right .detail .preview form .field input.captcha{ | ||
153 | width: 160px; | ||
154 | } | ||
155 | .inside .inside-right .detail .preview form .field input.submit{ | ||
156 | width: 120px; | ||
157 | padding: 0 30px; | ||
158 | border: none; | ||
159 | color: #fff; | ||
160 | background-color: #2aad6f; | ||
161 | -webkit-border-radius: 3px; | ||
162 | -moz-border-radius: 3px; | ||
163 | border-radius: 3px; | ||
164 | line-height: 34px; | ||
165 | font-size: 14px; | ||
166 | cursor: pointer; | ||
167 | } | ||
168 | .inside .inside-right .detail .preview form .field textarea{ | ||
169 | height: 120px; | ||
170 | resize: none; | ||
171 | } |
app/assets/stylesheets/website/home.css
0 → 100644
1 | .captionOrange, .captionBlue, .captionBlack, .captionSymbol | ||
2 | { | ||
3 | display: block; | ||
4 | color: #fff; | ||
5 | /*font-size: 20px;*/ | ||
6 | font-size: 18px; | ||
7 | line-height: 30px; | ||
8 | text-align: center; | ||
9 | border-radius: 4px; | ||
10 | } | ||
11 | .captionOrange | ||
12 | { | ||
13 | background: #EB5100; | ||
14 | background-color: rgba(235, 81, 0, 0.6); | ||
15 | } | ||
16 | .captionBlue | ||
17 | { | ||
18 | background: #746FBD; | ||
19 | background-color: rgba(21, 21, 120, 0.6); | ||
20 | } | ||
21 | .captionBlack | ||
22 | { | ||
23 | background: #000; | ||
24 | background-color: rgba(0, 0, 0, 0.4); | ||
25 | } | ||
26 | .captionSymbol | ||
27 | { | ||
28 | border-radius: 100px !important; | ||
29 | font-weight: 400 !important; | ||
30 | font-size: 26px !important; | ||
31 | background: #000; | ||
32 | background-color: rgba(0, 0, 0, 0.4); | ||
33 | } | ||
34 | .captionTextBlack | ||
35 | { | ||
36 | display: block; | ||
37 | color: #000; | ||
38 | font-size: 20px; | ||
39 | line-height: 30px; | ||
40 | } | ||
41 | .captionTextWhite | ||
42 | { | ||
43 | display: block; | ||
44 | color: #fff; | ||
45 | font-size: 20px; | ||
46 | line-height: 30px; | ||
47 | } | ||
48 | a.captionOrange, a.captionOrange:active, a.captionOrange:visited,a.captionTextWhite, a.captionTextWhite:active, a.captionTextWhite:visited | ||
49 | { | ||
50 | color: #fff; | ||
51 | text-decoration: none; | ||
52 | } | ||
53 | a.captionOrange:hover | ||
54 | { | ||
55 | color: #eb5100; | ||
56 | text-decoration: underline; | ||
57 | background-color: #eeeeee; | ||
58 | background-color: rgba(238, 238, 238, 0.7); | ||
59 | } | ||
60 | a.captionTextBlack, a.captionTextBlack:active, a.captionTextBlack:visited | ||
61 | { | ||
62 | color: #000; | ||
63 | text-decoration: none; | ||
64 | } | ||
65 | a.captionTextWhite:hover | ||
66 | { | ||
67 | color: #eb5100; | ||
68 | text-decoration: underline; | ||
69 | } | ||
70 | a.captionTextBlack:hover | ||
71 | { | ||
72 | color: #eb5100; | ||
73 | text-decoration: underline; | ||
74 | } | ||
75 | .jssorb01 { | ||
76 | position: absolute; | ||
77 | } | ||
78 | .jssorb01 div, .jssorb01 div:hover, .jssorb01 .av { | ||
79 | position: absolute; | ||
80 | /* size of bullet elment */ | ||
81 | width: 12px; | ||
82 | height: 12px; | ||
83 | filter: alpha(opacity=70); | ||
84 | opacity: .7; | ||
85 | overflow: hidden; | ||
86 | cursor: pointer; | ||
87 | border: #000 1px solid; | ||
88 | } | ||
89 | .jssorb01 div { background-color: gray; } | ||
90 | .jssorb01 div:hover, .jssorb01 .av:hover { background-color: #d3d3d3; } | ||
91 | .jssorb01 .av { background-color: #fff; } | ||
92 | .jssorb01 .dn, .jssorb01 .dn:hover { background-color: #555555; } | ||
93 | .jssorb17 { | ||
94 | position: absolute; | ||
95 | } | ||
96 | .jssorb17 div, .jssorb17 div:hover, .jssorb17 .av { | ||
97 | position: absolute; | ||
98 | /* size of bullet elment */ | ||
99 | width: 16px; | ||
100 | height: 16px; | ||
101 | background: url(/images/banner/b17.png) no-repeat; | ||
102 | overflow: hidden; | ||
103 | cursor: pointer; | ||
104 | } | ||
105 | .jssorb17 div { background-position: -7px -7px; } | ||
106 | .jssorb17 div:hover, .jssorb17 .av:hover { background-position: -37px -7px; } | ||
107 | .jssorb17 .av { background-position: -67px -7px; } | ||
108 | .jssorb17 .dn, .jssorb17 .dn:hover { background-position: -97px -7px; } | ||
109 | .jssora05l, .jssora05r { | ||
110 | display: block; | ||
111 | position: absolute; | ||
112 | /* size of arrow element */ | ||
113 | width: 40px; | ||
114 | height: 40px; | ||
115 | cursor: pointer; | ||
116 | background: url(/images/banner/a17.png) no-repeat; | ||
117 | overflow: hidden; | ||
118 | } | ||
119 | .jssora05l { background-position: -10px -40px; } | ||
120 | .jssora05r { background-position: -70px -40px; } | ||
121 | .jssora05l:hover { background-position: -130px -40px; } | ||
122 | .jssora05r:hover { background-position: -190px -40px; } | ||
123 | .jssora05l.jssora05ldn { background-position: -250px -40px; } | ||
124 | .jssora05r.jssora05rdn { background-position: -310px -40px; } | ||
125 | |||
126 | .jssorb05 { | ||
127 | position: absolute; | ||
128 | } | ||
129 | .jssorb05 div, .jssorb05 div:hover, .jssorb05 .av { | ||
130 | position: absolute; | ||
131 | /* size of bullet elment */ | ||
132 | width: 16px; | ||
133 | height: 16px; | ||
134 | background: url(/images/banner/b05.png) no-repeat; | ||
135 | overflow: hidden; | ||
136 | cursor: pointer; | ||
137 | } | ||
138 | .jssorb05 div { background-position: -7px -7px; } | ||
139 | .jssorb05 div:hover, .jssorb05 .av:hover { background-position: -37px -7px; } | ||
140 | .jssorb05 .av { background-position: -67px -7px; } | ||
141 | .jssorb05 .dn, .jssorb05 .dn:hover { background-position: -97px -7px; } | ||
142 | |||
143 | .jssora22l, .jssora22r { | ||
144 | display: block; | ||
145 | position: absolute; | ||
146 | /* size of arrow element */ | ||
147 | width: 40px; | ||
148 | height: 58px; | ||
149 | cursor: pointer; | ||
150 | background: url(/images/banner/a22.png) center center no-repeat; | ||
151 | overflow: hidden; | ||
152 | } | ||
153 | .jssora22l { background-position: -10px -31px; } | ||
154 | .jssora22r { background-position: -70px -31px; } | ||
155 | .jssora22l:hover { background-position: -130px -31px; } | ||
156 | .jssora22r:hover { background-position: -190px -31px; } | ||
157 | .jssora22l.jssora22ldn { background-position: -250px -31px; } | ||
158 | .jssora22r.jssora22rdn { background-position: -310px -31px; } | ||
159 | |||
160 | .service .block{ | ||
161 | margin-bottom: 80px; | ||
162 | } | ||
163 | .service .block.blocklast{ | ||
164 | margin-bottom: 0px; | ||
165 | } | ||
166 | .service .block:after { | ||
167 | clear: both; | ||
168 | } | ||
169 | .service .block:before, .service .block:after { | ||
170 | display: table; | ||
171 | line-height: 0; | ||
172 | content: ""; | ||
173 | } | ||
174 | .service .block .imgblock{ | ||
175 | float: left; | ||
176 | margin-right: 20px; | ||
177 | } | ||
178 | .service .block .imgblock.r{ | ||
179 | margin-left: 20px; | ||
180 | float: right; | ||
181 | } | ||
182 | .service .block .imgblock img{ | ||
183 | -webkit-border-radius: 10px; | ||
184 | -moz-border-radius: 10px; | ||
185 | -ms-border-radius: 10px; | ||
186 | -o-border-radius: 10px; | ||
187 | border-radius: 10px; | ||
188 | } | ||
189 | .service .block .txtblock{ | ||
190 | /*float: left;*/ | ||
191 | } | ||
192 | .service .block .txtblock h3{ | ||
193 | font-size: 26px; | ||
194 | margin: 0; | ||
195 | opacity: .99; | ||
196 | text-transform: uppercase; | ||
197 | color: #475f75; | ||
198 | font-weight: normal; | ||
199 | } | ||
200 | .service .block .txtblock p{ | ||
201 | font-size: 15px; | ||
202 | margin: 10px 0 0; | ||
203 | line-height: 23px; | ||
204 | color: #666666; | ||
205 | font-weight: lighter; | ||
206 | } | ||
207 | /*.service .block .txtblock ul{ | ||
208 | display: block; | ||
209 | padding: 0; | ||
210 | list-style: outside; | ||
211 | width: 95%; | ||
212 | } | ||
213 | .service .block .txtblock ul li{ | ||
214 | font-size: 15px; | ||
215 | line-height: 23px; | ||
216 | display: list-item; | ||
217 | text-align: -webkit-match-parent; | ||
218 | color: #666666; | ||
219 | }*/ | ||
220 | |||
221 |
app/controllers/application_controller.rb
0 → 100644
1 | class ApplicationController < ActionController::Base | ||
2 | protect_from_forgery | ||
3 | |||
4 | before_filter :subdomain_filter, :key_words_filter | ||
5 | |||
6 | def key_words_filter | ||
7 | title_arr = ['诺正检测 | NORMZ TESTING'] | ||
8 | keywords_arr = ['诺正', '山东诺正', '诺正检测', '食品检测', '消防检测', '第三方检测', '环境检测', '农产品检测', '肉制品检测', 'CANS认证'] | ||
9 | # description | ||
10 | if (chan = params[:chan]).present? | ||
11 | @chan = Post::CATE[chan] # => {name: '招贤纳士', cate: {'shzp' => '社会招聘''xyzp' => '校园招聘'}} | ||
12 | @chan_name = @chan[:name] | ||
13 | @cates = @chan[:cate] # 找到当前频道下的所有类别, 用作左侧导航 | ||
14 | @cate_name = @cates[params[:cate]] # 当前类别的中文名称 | ||
15 | title_arr.unshift(@chan_name) if @chan_name.present? | ||
16 | title_arr.unshift(@cate_name) if @cate_name | ||
17 | end | ||
18 | @title = title_arr.join(" - ") | ||
19 | @keywords = keywords_arr.join(",") | ||
20 | # @description = "诺正检测是独立的第三方检测公司,具有省级资质及农业行业机构的认证,主要从事食品检测、消防检测、环境检测及农产品、饲料、肥料、水产养殖、畜牧产品等领域的检验检测,以及相关技术咨询、培训、研发。" | ||
21 | @description = "诺正检测是在中国科学院沈阳应用生态研究所技术支持下成立的综合性第三方检测公司,是通过山东省级资质认定及农业行业机构认证的第三方检验机构,主要从事食品、农产品、环境、饲料、肥料及水产养殖、畜牧产品、消防设施等领域的检验检测,以及相关技术咨询、培训、研发。" | ||
22 | end | ||
23 | |||
24 | def subdomain_filter | ||
25 | subdomain = request.subdomain | ||
26 | ismobile = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.match(request.user_agent) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.match(request.user_agent[0..3]) | ||
27 | # 不存在www的情况 subdomain != 'www' | ||
28 | if params[:type] != 'api' | ||
29 | if Rails.env.production? and ismobile and subdomain.blank? | ||
30 | # redirect_to 'http://h5.normz.cn/#/app/' + request.path | ||
31 | url = request.url.to_s.sub('normz.cn/', 'h5.normz.cn/#/app/') | ||
32 | if url == 'http://h5.normz.cn/#/app/' | ||
33 | url = 'http://h5.normz.cn/#/app/home' | ||
34 | end | ||
35 | redirect_to url | ||
36 | end | ||
37 | # if subdomain.present? and !@ismobile | ||
38 | # redirect_to request.url.to_s.sub('h5.localhost:3001/#/', 'localhost:3001/') | ||
39 | # end | ||
40 | end | ||
41 | end | ||
42 | end |
app/controllers/home_controller.rb
0 → 100644
1 | class HomeController < ApplicationController | ||
2 | def index | ||
3 | end | ||
4 | |||
5 | # /:chan/:cate/:flag | ||
6 | def show | ||
7 | if @cate.blank? | ||
8 | @cate = params[:cate] || @cates.keys[0]# 如果没有类别, 默认第一个为当前类别 | ||
9 | @cate_name = @cates[@cate]# 当前类别的中文名称 | ||
10 | end | ||
11 | |||
12 | @posts = Post.where(isdel: false, chan: params[:chan], cate: @cate).page(params[:page]).per(5).order('id desc') | ||
13 | unless params[:page].to_i > 1 | ||
14 | @post = @posts.first if @posts.length == 1 | ||
15 | @post = @posts.find_by_flag(params[:flag]) if params[:flag].present? | ||
16 | # 网页关键词 | ||
17 | if @post and @post.words | ||
18 | keywords = @post.words.split(",") + @keywords.split(",") | ||
19 | keystr = keywords.uniq.join(",") | ||
20 | if keystr.length > 100 # 如果长度大于200截取, 删掉最后一个 | ||
21 | keywords = keystr[0..100].split(",") | ||
22 | keywords.pop | ||
23 | keystr = keywords.join(',') | ||
24 | end | ||
25 | @keywords = keystr | ||
26 | if params[:flag].present? | ||
27 | @title = @post.title + " 诺正检测 | NORMZ TESTING" | ||
28 | end | ||
29 | end | ||
30 | end | ||
31 | |||
32 | if params[:type] == 'api' | ||
33 | posts = @posts.map do |post| | ||
34 | img = post.detail.scan(/<img[^>]+src\s*=\s*(['\"][^'\"]+['\"])[^>]*>/).flatten.first.gsub(/\"/, '') rescue '/images/default_200x150.jpg' | ||
35 | detail = post.detail.gsub(/<\/?.*?>/,"")[0..120] | ||
36 | {title: post.title, flag: post.flag, detail: post.detail, sub_detail: detail, img: img} | ||
37 | end | ||
38 | post = {title: @post.title, flag: @post.flag, detail: @post.detail} if @post | ||
39 | render json: {code: 200, posts: posts, post: post} | ||
40 | end | ||
41 | end | ||
42 | end | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
app/controllers/mobile_controller.rb
0 → 100644
app/controllers/posts_controller.rb
0 → 100644
1 | class PostsController < ApplicationController | ||
2 | |||
3 | before_filter :current_user, except: [:sign_in] | ||
4 | # GET /posts | ||
5 | # GET /posts.json | ||
6 | def index | ||
7 | sort = [] | ||
8 | params[:screa] ||= 'desc' | ||
9 | {scate: :cate, schan: :chan, screa: :created_at}.each do |key, val| | ||
10 | if params[key].present? | ||
11 | sort.push(params[key] == "desc" ? "#{val} desc" : "#{val} asc") | ||
12 | end | ||
13 | end | ||
14 | @posts = Post.where(isdel: false).page(params[:page]).per(20).order(sort.join(', ')) | ||
15 | |||
16 | respond_to do |format| | ||
17 | format.html # index.html.erb | ||
18 | format.json { render json: @posts } | ||
19 | end | ||
20 | end | ||
21 | |||
22 | # GET /posts/1 | ||
23 | # GET /posts/1.json | ||
24 | def show | ||
25 | @post = Post.find_by_flag(params[:id]) | ||
26 | |||
27 | respond_to do |format| | ||
28 | format.html # show.html.erb | ||
29 | format.json { render json: @post } | ||
30 | end | ||
31 | end | ||
32 | |||
33 | # GET /posts/new | ||
34 | # GET /posts/new.json | ||
35 | def new | ||
36 | @post = Post.new | ||
37 | |||
38 | respond_to do |format| | ||
39 | format.html # new.html.erb | ||
40 | format.json { render json: @post } | ||
41 | end | ||
42 | end | ||
43 | |||
44 | # GET /posts/1/edit | ||
45 | def edit | ||
46 | @post = Post.find_by_flag(params[:id]) | ||
47 | end | ||
48 | |||
49 | # POST /posts | ||
50 | # POST /posts.json | ||
51 | def create | ||
52 | @post = Post.new(params[:post]) | ||
53 | |||
54 | respond_to do |format| | ||
55 | if @post.save | ||
56 | format.html { redirect_to @post, notice: '文章创建成功.' } | ||
57 | format.json { render json: @post, status: :created, location: @post } | ||
58 | else | ||
59 | format.html { render action: "new" } | ||
60 | format.json { render json: @post.errors, status: :unprocessable_entity } | ||
61 | end | ||
62 | end | ||
63 | end | ||
64 | |||
65 | # PUT /posts/1 | ||
66 | # PUT /posts/1.json | ||
67 | def update | ||
68 | @post = Post.find_by_flag(params[:id]) | ||
69 | |||
70 | respond_to do |format| | ||
71 | if @post.update_attributes(params[:post]) | ||
72 | format.html { redirect_to @post, notice: '文章修改成功.' } | ||
73 | format.json { head :no_content } | ||
74 | else | ||
75 | format.html { render action: "edit" } | ||
76 | format.json { render json: @post.errors, status: :unprocessable_entity } | ||
77 | end | ||
78 | end | ||
79 | end | ||
80 | |||
81 | # DELETE /posts/1 | ||
82 | # DELETE /posts/1.json | ||
83 | def destroy | ||
84 | @post = Post.find_by_flag(params[:id]) | ||
85 | @post.update_attributes(isdel: true) if @post | ||
86 | |||
87 | redirect_to :back | ||
88 | end | ||
89 | |||
90 | # 上传图片 | ||
91 | def upload | ||
92 | if params[:upload_file].present? | ||
93 | upload = params[:upload_file] | ||
94 | ext = File.extname(upload.original_filename).downcase | ||
95 | picture = Picture.create(filename: upload.original_filename) | ||
96 | system("convert #{upload.tempfile.path} -auto-orient -resize '1000>' -gravity center -strip -quality 85 -format jpg public/uploads/#{picture.id}.jpg") | ||
97 | # 有一个2:1.5的缩略图裁剪 最宽200 | ||
98 | # File.open("public/uploads/#{picture.id}#{ext}", "wb") { |f| f.write(upload.read) } | ||
99 | render json: {success: true, msg: '上传成功', file_path: "/uploads/#{picture.id}.jpg"} | ||
100 | else | ||
101 | render json: {success: false, msg: '上传错误,联系管理员', file_path: '/images/logo.png'} | ||
102 | end | ||
103 | end | ||
104 | |||
105 | def sign_in | ||
106 | if request.post? | ||
107 | if params[:username] == 'normz' and params[:password] == 'normz-nuozheng' | ||
108 | session[:current_user] = 'normz' | ||
109 | redirect_to posts_path | ||
110 | else | ||
111 | flash[:notice] = '账号或密码错误' | ||
112 | redirect_to :sign_in | ||
113 | end | ||
114 | end | ||
115 | end | ||
116 | |||
117 | def sign_out | ||
118 | session[:current_user] = nil | ||
119 | redirect_to root_path | ||
120 | end | ||
121 | |||
122 | private | ||
123 | |||
124 | def current_user | ||
125 | unless session[:current_user] == 'normz' | ||
126 | redirect_to :sign_in and return | ||
127 | end | ||
128 | end | ||
129 | end |
app/helpers/application_helper.rb
0 → 100644
app/helpers/posts_helper.rb
0 → 100644
app/mailers/.gitkeep
0 → 100644
File mode changed
app/models/.gitkeep
0 → 100644
File mode changed
app/models/picture.rb
0 → 100644
app/models/post.rb
0 → 100644
1 | class Post < ActiveRecord::Base | ||
2 | attr_accessible :title, :flag, :detail, :chan, :cate, :words, :parent_id, :isdel | ||
3 | |||
4 | CATE = { | ||
5 | 'ranges' => { | ||
6 | name: '诺正业务', | ||
7 | cate: { | ||
8 | # 'kyly' => '科研领域', | ||
9 | 'spncp' => '食品/农产品检测', | ||
10 | # 'ncpjc' => '农产品检测', | ||
11 | # 'rzpjc' => '肉制品检测', | ||
12 | 'hjjc' => '环境检测', | ||
13 | # 'swjc' => '生物检测', | ||
14 | # 'yyjc' => '医药检测', | ||
15 | 'xfjc' => '消防检测', | ||
16 | 'rhpjc' => '日化品检测', | ||
17 | 'hfsl' => '化肥/饲料检测', | ||
18 | 'sfjd' => '环境损害司法鉴定', | ||
19 | # 'jtjjc' => '添加剂检测', | ||
20 | } | ||
21 | }, | ||
22 | 'sources' => { | ||
23 | name: '资源中心', | ||
24 | cate: { | ||
25 | # 'zscx' => '证书查询', | ||
26 | 'bgcx' => '报告查询', | ||
27 | 'wssj' => '网上送检' | ||
28 | } | ||
29 | }, | ||
30 | 'dynamics' => { | ||
31 | name: '诺正动态', | ||
32 | cate: { | ||
33 | 'gsdt' => '公司动态', | ||
34 | 'hykx' => '行业快讯', | ||
35 | 'pxxx' => '培训学习' | ||
36 | } | ||
37 | }, | ||
38 | 'cultures' => { | ||
39 | name: '诺正文化', | ||
40 | cate: { | ||
41 | 'jzg' => '诺正价值观', | ||
42 | # 'hj' => '诺正环境', | ||
43 | # 'yj' => '诺正愿景', | ||
44 | # 'ygfc' => '员工风采', | ||
45 | # 'zd' => '诺正制度', | ||
46 | 'js' => '诺正精神' | ||
47 | } | ||
48 | }, | ||
49 | 'abouts' => { | ||
50 | name: '关于诺正', | ||
51 | cate: { | ||
52 | 'gsjj' => '公司简介', | ||
53 | 'jclc' => '检测流程', | ||
54 | 'yjss' => '硬件设施', | ||
55 | 'fwcn' => '服务承诺', | ||
56 | # 'lxwm' => '联系我们' | ||
57 | } | ||
58 | }, | ||
59 | 'contact' => { | ||
60 | name: '联系我们', | ||
61 | cate: { | ||
62 | 'lxdz' => '联系地址' | ||
63 | } | ||
64 | }, | ||
65 | 'jobs' => { | ||
66 | name: '招贤纳士', | ||
67 | cate: { | ||
68 | 'shzp' => '社会招聘', | ||
69 | 'xyzp' => '校园招聘' | ||
70 | } | ||
71 | } | ||
72 | } | ||
73 | |||
74 | BaseArr = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'] | ||
75 | |||
76 | validates_presence_of :title, :detail, :chan, :cate, message: '不能为空' | ||
77 | validates_uniqueness_of :flag, allow_blank: true, message: '已存在' | ||
78 | |||
79 | def to_param | ||
80 | flag | ||
81 | end | ||
82 | |||
83 | def flag=(val) | ||
84 | if flag.blank? | ||
85 | write_attribute(:flag, val.blank? ? shorturl : val) | ||
86 | else | ||
87 | if flag != val and val.present? | ||
88 | write_attribute(:flag, val) | ||
89 | end | ||
90 | end | ||
91 | end | ||
92 | |||
93 | def shorturl | ||
94 | hex = Digest::MD5.hexdigest("base_key" + Time.now.to_f.to_s) | ||
95 | output = [] | ||
96 | 4.times do |i| | ||
97 | str = hex[(i * 8)...(8 * (i + 1))] | ||
98 | int = 0x3FFFFFFF & ('0x' + str).to_i(16) | ||
99 | out = '' | ||
100 | 6.times do | ||
101 | out += BaseArr[0x0000003D & int] | ||
102 | int = int >> 5 | ||
103 | end | ||
104 | output << out | ||
105 | end | ||
106 | output.sort_by{rand}[0] | ||
107 | end | ||
108 | end |
app/views/home/_banner.html.erb
0 → 100644
1 | <div style="position: relative; top: 0px; left: 0px; width:100%; text-align: center; background-image: url(/images/banner/back-dice-02.jpg); border-top: 1px solid gray; border-bottom: 1px solid gray; overflow: hidden;"> | ||
2 | <!-- Jssor Slider Begin --> | ||
3 | <!-- To move inline styles to css file/block, please specify a class name for each element. --> | ||
4 | <div id="sliderc_container" style="position: relative; margin: 0 auto; width: 960px; | ||
5 | height: 450px; text-align: left; overflow: hidden;"> | ||
6 | |||
7 | <!-- Slides Container --> | ||
8 | <div u="slides" style="cursor: move; position: absolute; left: 0px; top: 0px; width: 960px; height: 450px; | ||
9 | overflow: hidden;"> | ||
10 | <div> | ||
11 | <!-- Jssor Slider Begin --> | ||
12 | <!-- To move inline styles to css file/block, please specify a class name for each element. --> | ||
13 | <div id="slider1_container" style="position: relative; top: 90px; left: 0px; width: 600px; | ||
14 | height: 300px; overflow: hidden; border-radius: 8px;"> | ||
15 | |||
16 | <!-- Loading Screen --> | ||
17 | <div u="loading" style="position: absolute; top: 0px; left: 0px;"> | ||
18 | <div style="filter: alpha(opacity=70); opacity:0.7; position: absolute; display: block; | ||
19 | background-color: #000; top: 0px; left: 0px;width: 100%;height:100%;"> | ||
20 | </div> | ||
21 | <div style="position: absolute; display: block; background: url(/images/banner/loading.gif) no-repeat center center; | ||
22 | top: 0px; left: 0px;width: 100%;height:100%;"> | ||
23 | </div> | ||
24 | </div> | ||
25 | |||
26 | <!-- Slides Container --> | ||
27 | <div u="slides" style="cursor: move; position: absolute; left: 0px; top: 0px; width: 600px; height: 300px; overflow: hidden;"> | ||
28 | <div> | ||
29 | <a u="image" href="/dynamics/gsdt/iuIvaa"> | ||
30 | <img src="/images/banner/1-1.jpg" alt="image slider" /> | ||
31 | </a> | ||
32 | <div u=caption t="*" class="captionOrange" style="position:absolute; left:20px; top: 30px; width:420px; height:30px;"> | ||
33 | 中科院沈阳应用生态研究所成立农产品安全山东中心 | ||
34 | </div> | ||
35 | </div> | ||
36 | <div> | ||
37 | <a u="image" href="javascript:void(0);"> | ||
38 | <img src="/images/banner/1-2.jpg" alt="jqeury image slider" /> | ||
39 | </a> | ||
40 | <div u=caption t="*" class="captionOrange" style="position:absolute; left:20px; top: 30px; width:420px; height:30px;"> | ||
41 | 中科院沈阳应用生态研究所为诺正检测进行技术培训 | ||
42 | </div> | ||
43 | </div> | ||
44 | <div> | ||
45 | <a u="image" href="javascript:void(0);"> | ||
46 | <img src="/images/banner/1-3.jpg" alt="responsive image slider" /> | ||
47 | </a> | ||
48 | <div u=caption t="*" class="captionOrange" style="position:absolute; left:20px; top: 30px; width:350px; height:30px;"> | ||
49 | 潍坊市科技局长与食药局长为诺正检测揭牌 | ||
50 | </div> | ||
51 | </div> | ||
52 | <div> | ||
53 | <a u="image" href="/abouts/yjss/devices"> | ||
54 | <img src="/images/banner/1-4.jpg" alt="touch swipe image slider" /> | ||
55 | </a> | ||
56 | <div u=caption t="*" class="captionOrange" style="position:absolute; left:20px; top: 30px; width:350px; height:30px;"> | ||
57 | 诺正检测投入巨资引进国外先进检测设备 | ||
58 | </div> | ||
59 | </div> | ||
60 | </div> | ||
61 | |||
62 | <!--#region Bullet Navigator Skin Begin --> | ||
63 | <!-- bullet navigator container --> | ||
64 | <div u="navigator" class="jssorb17" style="bottom: 16px; right: 10px;"> | ||
65 | <!-- bullet navigator item prototype --> | ||
66 | <div u="prototype"></div> | ||
67 | </div> | ||
68 | <!--#endregion Bullet Navigator Skin End --> | ||
69 | |||
70 | <!-- Arrow Left --> | ||
71 | <span u="arrowleft" class="jssora05l" style="top: 123px; left: 8px;"> | ||
72 | </span> | ||
73 | <!-- Arrow Right --> | ||
74 | <span u="arrowright" class="jssora05r" style="top: 123px; right: 8px;"> | ||
75 | </span> | ||
76 | <!--#endregion Arrow Navigator Skin End --> | ||
77 | |||
78 | <a style="display: none" href="javascript:void(0);">Image Slider</a> | ||
79 | </div> | ||
80 | <!-- Jssor Slider End --> | ||
81 | <div u="caption" t="RTT*JUP|BR" t2="SPACESHIP|RB" style="position: absolute; left: 0px;top:30px;width:600px;height:30px;font-size:28px;color:#fff;line-height:30px; text-align: center;"> | ||
82 | 诺正检测,质量和安全的保障 | ||
83 | </div> | ||
84 | <div style="position: absolute; top: 110px; left: 640px; width: 320px; height: 250px;"> | ||
85 | <div u="caption" t="TEAM_1" d="-200" du="50%" class="captionSymbol" style="position: absolute; top: 10px; left: 0px; width: 30px; height: 30px;">+</div> | ||
86 | <div u="caption" t="TEAM_1" d="-200" y="100%" class="captionOrange" style="position: absolute; top: 10px; left: 40px; width: 280px; height: 30px;"> | ||
87 | 国家级认定权威检测机构 | ||
88 | </div> | ||
89 | <div u="caption" t="TEAM_1" d="-200" du="50%" class="captionSymbol" style="position: absolute; top: 60px; left: 0px; width: 30px; height: 30px;" debug-id="team-caption">+</div> | ||
90 | <div u="caption" t="TEAM_1" d="-200" y="50%" class="captionOrange" style="position: absolute; top: 60px; left: 40px; width: 280px; height: 30px;"> | ||
91 | 独立的第三方检测机构 | ||
92 | </div> | ||
93 | <div u="caption" t="TEAM_1" d="-200" du="50%" class="captionSymbol" style="position: absolute; top: 110px; left: 0px; width: 30px; height: 30px;">+</div> | ||
94 | <div u="caption" t="TEAM_1" d="-200" y="0" class="captionOrange" style="position: absolute; top: 110px; left: 40px; width: 280px; height: 30px;"> | ||
95 | 一期资金投入5000万人民币 | ||
96 | </div> | ||
97 | <div u="caption" t="TEAM_1" d="-200" du="50%" class="captionSymbol" style="position: absolute; top: 160px; left: 0px; width: 30px; height: 30px;">+</div> | ||
98 | <div u="caption" t="TEAM_1" d="-200" y="-50%" class="captionOrange" style="position: absolute; top: 160px; left: 40px; width: 280px; height: 30px;"> | ||
99 | 实验室面积2000平方米 | ||
100 | </div> | ||
101 | <div u="caption" t="TEAM_1" d="-200" du="50%" class="captionSymbol" style="position: absolute; top: 210px; left: 0px; width: 30px; height: 30px;">+</div> | ||
102 | <div u="caption" t="TEAM_1" d="-200" y="-100%" class="captionOrange" style="position: absolute; top: 210px; left: 40px; width: 280px; height: 30px;"> | ||
103 | 诚信、公正、科学、高效 | ||
104 | </div> | ||
105 | </div> | ||
106 | </div> | ||
107 | <div> | ||
108 | <!-- Jssor Slider Begin --> | ||
109 | <!-- To move inline styles to css file/block, please specify a class name for each element. --> | ||
110 | <div id="slider2_container" style="position: relative; top: 30px; left: 360px; width: 600px; | ||
111 | height: 300px; overflow: hidden; border-radius: 8px; zoom: 1; filter: matrix"> | ||
112 | |||
113 | <!-- Loading Screen --> | ||
114 | <div u="loading" style="position: absolute; top: 0px; left: 0px;"> | ||
115 | <div style="filter: alpha(opacity=70); opacity:0.7; position: absolute; display: block; | ||
116 | background-color: #000; top: 0px; left: 0px;width: 100%;height:100%;"> | ||
117 | </div> | ||
118 | <div style="position: absolute; display: block; background: url(/images/banner/loading.gif) no-repeat center center; | ||
119 | top: 0px; left: 0px;width: 100%;height:100%;"> | ||
120 | </div> | ||
121 | </div> | ||
122 | |||
123 | <!-- Slides Container --> | ||
124 | <div u="slides" style="cursor: move; position: absolute; left: 0px; top: 0px; width: 600px; height: 300px; | ||
125 | overflow: hidden;"> | ||
126 | <div> | ||
127 | <a u=image href="/dynamics/gsdt/2E77vy"> | ||
128 | <img src="/images/banner/2-1.jpg" alt="banner rotator" /> | ||
129 | </a> | ||
130 | <div u=caption t="*" class="captionOrange" style="position:absolute; left:20px; top: 30px; width:300px; height:30px;"> | ||
131 | 潍坊市市长视察指导工作 | ||
132 | </div> | ||
133 | </div> | ||
134 | <div> | ||
135 | <a u=image href="http://wfrb.wfnews.com.cn/content/20160109/Articel02006TB.htm" target="_blank"> | ||
136 | <img src="/images/banner/2-2.jpg" alt="jquery banner rotator" /> | ||
137 | </a> | ||
138 | <div u=caption t="*" class="captionOrange" style="position:absolute; left:20px; top: 30px; width:300px; height:30px;"> | ||
139 | 潍坊日报报道诺正检测公司 | ||
140 | </div> | ||
141 | </div> | ||
142 | <div> | ||
143 | <a u=image href="/dynamics/pxxx/6Zj22y"> | ||
144 | <img src="/images/banner/2-3.jpg" alt="responsive banner rotator" /> | ||
145 | </a> | ||
146 | <div u=caption t="*" class="captionOrange" style="position:absolute; left:20px; top: 30px; width:430px; height:30px;"> | ||
147 | 中科院沈阳应用生态研究所主任王颜红为同事解答疑惑 | ||
148 | </div> | ||
149 | </div> | ||
150 | <div> | ||
151 | <a u=image href="javascript:void(0);"> | ||
152 | <img src="/images/banner/2-4.jpg" alt="touch swipe banner rotator" /> | ||
153 | </a> | ||
154 | <div u=caption t="*" class="captionOrange" style="position:absolute; left:20px; top: 30px; width:300px; height:30px;"> | ||
155 | 人们放心的笑容是我们一直追求 | ||
156 | </div> | ||
157 | </div> | ||
158 | </div> | ||
159 | |||
160 | <!--#region Bullet Navigator Skin Begin --> | ||
161 | <!-- bullet navigator container --> | ||
162 | <div u="navigator" class="jssorb17" style="bottom: 16px; right: 10px;"> | ||
163 | <!-- bullet navigator item prototype --> | ||
164 | <div u="prototype"></div> | ||
165 | </div> | ||
166 | <!--#endregion Bullet Navigator Skin End --> | ||
167 | |||
168 | <!--#region Arrow Navigator Skin Begin --> | ||
169 | <!-- Arrow Left --> | ||
170 | <span u="arrowleft" class="jssora05l" style="top: 123px; left: 8px;"> | ||
171 | </span> | ||
172 | <!-- Arrow Right --> | ||
173 | <span u="arrowright" class="jssora05r" style="top: 123px; right: 8px;"> | ||
174 | </span> | ||
175 | <!--#endregion Arrow Navigator Skin End --> | ||
176 | <a style="display: none" href="javascript:void(0);">Image Slider</a> | ||
177 | </div> | ||
178 | <!-- Jssor Slider End --> | ||
179 | <div u="caption" t="T|IE*IE" t2="B*IB" style="position: absolute; left: 360px;top:360px;width:600px;height:30px;font-size:28px;color:#fff;line-height:30px; text-align: center;"> | ||
180 | 高质高效是诺正不变的承诺 | ||
181 | </div> | ||
182 | <a class="captionTextBlack" u="caption" t="CLIP|L" d="-200" href="javascript:void(0);" style="position: absolute; top: 30px; left: 0px; width: 320px; height: 30px; font-size: 26px; background-color:transparent;">获得政府的大力支持</a> | ||
183 | |||
184 | <div u="caption" t="ZM" t2="NO" style="position: absolute; top: 80px; left: 0px; width: 320px; height: 80px;"> | ||
185 | <div u="caption" t2="TEAM_2" class="captionOrange" style="position: absolute; top: 0px; left: 0px; width: 230px; height: 30px;"> | ||
186 | 潍坊市政府 | ||
187 | </div> | ||
188 | <div u="caption" t2="TEAM_2" class="captionBlack" style="position: absolute; top: 40px; left: 0px; width: 100px; height: 30px;"> | ||
189 | 潍坊科技局 | ||
190 | </div> | ||
191 | <div u="caption" t2="TEAM_2" class="captionBlack" style="position: absolute; top: 40px; left: 130px; width: 100px; height: 30px;"> | ||
192 | 潍坊农业局 | ||
193 | </div> | ||
194 | </div> | ||
195 | |||
196 | <a class="captionTextBlack" u="caption" t="L|EP" href="javascript:void(0);" style="position: absolute; top: 210px; left: 0px; width: 320px; height: 30px; font-size: 26px; background-color:transparent;">社会各界的广泛关注</a> | ||
197 | |||
198 | <div u="caption" t="B*IB" t2="NO" style="position: absolute; top: 260px; left: 0px; width: 320px; height: 80px;"> | ||
199 | <div u="caption" t2="TEAM_2" class="captionOrange" style="position: absolute; top: 0px; left: 0px; width: 230px; height: 30px;"> | ||
200 | 潍坊日报 | ||
201 | </div> | ||
202 | <div u="caption" t2="TEAM_2" class="captionBlack" style="position: absolute; top: 40px; left: 0px; width: 100px; height: 30px;"> | ||
203 | 漫拍网 | ||
204 | </div> | ||
205 | <div u="caption" t2="TEAM_2" class="captionBlack" style="position: absolute; top: 40px; left: 130px; width: 100px; height: 30px;"> | ||
206 | 凤凰山东 | ||
207 | </div> | ||
208 | </div> | ||
209 | </div> | ||
210 | <div> | ||
211 | <!-- Jssor Slider Begin --> | ||
212 | <!-- To move inline styles to css file/block, please specify a class name for each element. --> | ||
213 | <div id="slider3_container" style="position: relative; top: 90px; left: 360px; width: 600px; | ||
214 | height: 300px; overflow: hidden; border-radius: 8px;"> | ||
215 | |||
216 | <!-- Loading Screen --> | ||
217 | <div u="loading" style="position: absolute; top: 0px; left: 0px;"> | ||
218 | <div style="filter: alpha(opacity=70); opacity:0.7; position: absolute; display: block; | ||
219 | background-color: #000; top: 0px; left: 0px;width: 100%;height:100%;"> | ||
220 | </div> | ||
221 | <div style="position: absolute; display: block; background: url(/images/banner/loading.gif) no-repeat center center; | ||
222 | top: 0px; left: 0px;width: 100%;height:100%;"> | ||
223 | </div> | ||
224 | </div> | ||
225 | |||
226 | <!-- Slides Container --> | ||
227 | <div u="slides" style="cursor: move; position: absolute; left: 0px; top: 0px; width: 600px; height: 300px; | ||
228 | overflow: hidden;"> | ||
229 | <div> | ||
230 | <a u=image href="javascript:void(0);"> | ||
231 | <img src="/images/banner/3-1.jpg" alt="banner slider" /> | ||
232 | </a> | ||
233 | <div u="thumb">开放式管理,节日福利,五险一金</div> | ||
234 | </div> | ||
235 | <div> | ||
236 | <a u=image href="javascript:void(0);"> | ||
237 | <img src="/images/banner/3-2.jpg" alt="jquery banner slider" /> | ||
238 | </a> | ||
239 | <div u="thumb">团建活动频繁到惨无人道</div> | ||
240 | </div> | ||
241 | <div> | ||
242 | <a u=image href="javascript:void(0);"> | ||
243 | <img src="/images/banner/3-3.jpg" alt="responsive banner slider" /> | ||
244 | </a> | ||
245 | <div u="thumb">工作气氛自由,同事三观正常相貌端庄</div> | ||
246 | </div> | ||
247 | <div> | ||
248 | <a u=image href="javascript:void(0);"> | ||
249 | <img src="/images/banner/3-4.jpg" alt="touch swipe banner slider" /> | ||
250 | </a> | ||
251 | <div u="thumb">高大上的办公环境给你无尽享受</div> | ||
252 | </div> | ||
253 | </div> | ||
254 | |||
255 | <!--#region Thumbnail Navigator Skin Begin --> | ||
256 | <!-- thumbnail navigator container --> | ||
257 | <div u="thumbnavigator" class="slider3-T" style="position: absolute; bottom: 0px; left: 0px; height:45px; width:600px;"> | ||
258 | <div style="filter: alpha(opacity=40); opacity:0.4; position: absolute; display: block; | ||
259 | background-color: #000; top: 0px; left: 0px; width: 100%; height: 100%;"> | ||
260 | </div> | ||
261 | <!-- Thumbnail Item Skin Begin --> | ||
262 | <div u="slides"> | ||
263 | <div u="prototype" style="POSITION: absolute; WIDTH: 600px; HEIGHT: 45px; TOP: 0; LEFT: 0;"> | ||
264 | <div u="thumbnailtemplate" style="font-family: verdana; font-weight: normal; POSITION: absolute; WIDTH: 100%; HEIGHT: 100%; TOP: 0; LEFT: 0; color:#fff; line-height: 45px; font-size:20px; padding-left:10px;"></div> | ||
265 | </div> | ||
266 | </div> | ||
267 | <!-- Thumbnail Item Skin End --> | ||
268 | </div> | ||
269 | <!--#endregion ThumbnailNavigator Skin End --> | ||
270 | |||
271 | <!--#region Bullet Navigator Skin Begin --> | ||
272 | <!-- bullet navigator container --> | ||
273 | <div u="navigator" class="jssorb01" style="bottom: 16px; right: 10px;"> | ||
274 | <!-- bullet navigator item prototype --> | ||
275 | <div u="prototype"></div> | ||
276 | </div> | ||
277 | <!--#endregion Bullet Navigator Skin End --> | ||
278 | |||
279 | <!--#region Arrow Navigator Skin Begin --> | ||
280 | <!-- Arrow Left --> | ||
281 | <span u="arrowleft" class="jssora05l" style="top: 123px; left: 8px;"> | ||
282 | </span> | ||
283 | <!-- Arrow Right --> | ||
284 | <span u="arrowright" class="jssora05r" style="top: 123px; right: 8px;"> | ||
285 | </span> | ||
286 | <!--#endregion Arrow Navigator Skin End --> | ||
287 | <a style="display: none" href="javascript:void(0);">Image Slider</a> | ||
288 | </div> | ||
289 | <!-- Jssor Slider End --> | ||
290 | <div u="caption" t="L*IB" t2="SPACESHIP|LB" style="position: absolute; left: 360px;top:30px;width:600px;height:30px;font-size:28px;color:#fff;line-height:30px; text-align: center;"> | ||
291 | 科学严谨, 服务至上 | ||
292 | </div> | ||
293 | <div class="captionTextBlack" u="caption" t="CLIP|LR" d="-200" | ||
294 | style="position: absolute; top: 60px; left: 0px; width: 320px; height: 30px; font-size: 26px; background-color:transparent;">我们的团队</div> | ||
295 | |||
296 | <div u="caption" t2="ZM" style="position: absolute; top: 120px; left: 0px; width: 320px; height: 120px;"> | ||
297 | <div u="caption" class="captionOrange" t="TEAM_2" t2="NO" d=-300 style="position: absolute; top: 0px; left: 0px; width: 200px; height: 30px;"> | ||
298 | 共同事业, 共同奋斗 | ||
299 | </div> | ||
300 | <div u="caption" class="captionBlack" t="TEAM_2" t2="NO" d=-300 style="position: absolute; top: 40px; left: 0px; width: 200px; height: 30px;"> | ||
301 | 因为专注, 所以专业 | ||
302 | </div> | ||
303 | <div u="caption" class="captionBlack" t="TEAM_2" t2="NO" d=-300 style="position: absolute; top: 80px; left: 00px; width: 200px; height: 30px;"> | ||
304 | 科学严谨, 服务至上 | ||
305 | </div> | ||
306 | </div> | ||
307 | |||
308 | <div u="caption" t="RTT|360" t2="NO" style="position: absolute; top: 290px; left: 0px; width: 320px; height: 80px;"> | ||
309 | <div u="caption" class="captionOrange" t2="TEAM_2" style="position: absolute; top: 0px; left: 0px; width: 120px; height: 30px;"> | ||
310 | 高级职称6人 | ||
311 | </div> | ||
312 | <div u="caption" class="captionOrange" t2="TEAM_2" style="position: absolute; top: 40px; left: 0px; width: 120px; height: 30px;"> | ||
313 | 中级职称10人 | ||
314 | </div> | ||
315 | <div u="caption" class="captionBlack" t2="TEAM_2" style="position: absolute; top: 0px; left: 170px; width: 120px; height: 30px;"> | ||
316 | 初级职称10人 | ||
317 | </div> | ||
318 | <div u="caption" class="captionBlack" t2="TEAM_2" style="position: absolute; top: 40px; left: 170px; width: 120px; height: 30px;"> | ||
319 | 其他6人 | ||
320 | </div> | ||
321 | </div> | ||
322 | </div> | ||
323 | </div> | ||
324 | |||
325 | <!-- bullet navigator container --> | ||
326 | <div data-u="navigator" class="jssorb05" style="bottom:16px;right:16px;" data-autocenter="1"> | ||
327 | <!-- bullet navigator item prototype --> | ||
328 | <div data-u="prototype" style="width:16px;height:16px;"></div> | ||
329 | </div> | ||
330 | <!--#endregion Bullet Navigator Skin End --> | ||
331 | |||
332 | <!-- Arrow Left --> | ||
333 | <span u="arrowleft" class="jssora22l" style="top: 123px; left: 8px;"> | ||
334 | </span> | ||
335 | <!-- Arrow Right --> | ||
336 | <span u="arrowright" class="jssora22r" style="top: 123px; right: 8px;"> | ||
337 | </span> | ||
338 | <!--#endregion Arrow Navigator Skin End --> | ||
339 | <a style="display: none" href="javascript:void(0);">Image Slider</a> | ||
340 | <!-- Trigger --> | ||
341 | </div> | ||
342 | <!-- Jssor Slider End --> | ||
343 | </div> | ||
344 | |||
345 | <script> | ||
346 | jssor_sliderc_starter = function (containerId) { | ||
347 | |||
348 | var _SlideshowTransitions = [ | ||
349 | //Fade Twins | ||
350 | { $Duration: 700, $Opacity: 2, $Brother: { $Duration: 1000, $Opacity: 2 } }, | ||
351 | //Rotate Overlap | ||
352 | { $Duration: 1200, $Zoom: 11, $Rotate: -1, $Easing: { $Zoom: $JssorEasing$.$EaseInQuad, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInQuad }, $Opacity: 2, $Round: { $Rotate: 0.5 }, $Brother: { $Duration: 1200, $Zoom: 1, $Rotate: 1, $Easing: $JssorEasing$.$EaseSwing, $Opacity: 2, $Round: { $Rotate: 0.5 }, $Shift: 90 } }, | ||
353 | //Switch | ||
354 | { $Duration: 1400, x: 0.25, $Zoom: 1.5, $Easing: { $Left: $JssorEasing$.$EaseInWave, $Zoom: $JssorEasing$.$EaseInSine }, $Opacity: 2, $ZIndex: -10, $Brother: { $Duration: 1400, x: -0.25, $Zoom: 1.5, $Easing: { $Left: $JssorEasing$.$EaseInWave, $Zoom: $JssorEasing$.$EaseInSine }, $Opacity: 2, $ZIndex: -10 } }, | ||
355 | //Rotate Relay | ||
356 | { $Duration: 1200, $Zoom: 11, $Rotate: 1, $Easing: { $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInQuad }, $Opacity: 2, $Round: { $Rotate: 1 }, $ZIndex: -10, $Brother: { $Duration: 1200, $Zoom: 11, $Rotate: -1, $Easing: { $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInQuad }, $Opacity: 2, $Round: { $Rotate: 1 }, $ZIndex: -10, $Shift: 600 } }, | ||
357 | //Doors | ||
358 | { $Duration: 1500, x: 0.5, $Cols: 2, $ChessMode: { $Column: 3 }, $Easing: { $Left: $JssorEasing$.$EaseInOutCubic }, $Opacity: 2, $Brother: { $Duration: 1500, $Opacity: 2 } }, | ||
359 | //Rotate in+ out- | ||
360 | { $Duration: 1500, x: -0.3, y: 0.5, $Zoom: 1, $Rotate: 0.1, $During: { $Left: [0.6, 0.4], $Top: [0.6, 0.4], $Rotate: [0.6, 0.4], $Zoom: [0.6, 0.4] }, $Easing: { $Left: $JssorEasing$.$EaseInQuad, $Top: $JssorEasing$.$EaseInQuad, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInQuad }, $Opacity: 2, $Brother: { $Duration: 1000, $Zoom: 11, $Rotate: -0.5, $Easing: { $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInQuad }, $Opacity: 2, $Shift: 200 } }, | ||
361 | //Fly Twins | ||
362 | { $Duration: 1500, x: 0.3, $During: { $Left: [0.6, 0.4] }, $Easing: { $Left: $JssorEasing$.$EaseInQuad, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $Outside: true, $Brother: { $Duration: 1000, x: -0.3, $Easing: { $Left: $JssorEasing$.$EaseInQuad, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 } }, | ||
363 | //Rotate in- out+ | ||
364 | { $Duration: 1500, $Zoom: 11, $Rotate: 0.5, $During: { $Left: [0.4, 0.6], $Top: [0.4, 0.6], $Rotate: [0.4, 0.6], $Zoom: [0.4, 0.6] }, $Easing: { $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInQuad }, $Opacity: 2, $Brother: { $Duration: 1000, $Zoom: 1, $Rotate: -0.5, $Easing: { $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInQuad }, $Opacity: 2, $Shift: 200 } }, | ||
365 | //Rotate Axis up overlap | ||
366 | { $Duration: 1200, x: 0.25, y: 0.5, $Rotate: -0.1, $Easing: { $Left: $JssorEasing$.$EaseInQuad, $Top: $JssorEasing$.$EaseInQuad, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInQuad }, $Opacity: 2, $Brother: { $Duration: 1200, x: -0.1, y: -0.7, $Rotate: 0.1, $Easing: { $Left: $JssorEasing$.$EaseInQuad, $Top: $JssorEasing$.$EaseInQuad, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInQuad }, $Opacity: 2 } }, | ||
367 | //Chess Replace TB | ||
368 | { $Duration: 1600, x: 1, $Rows: 2, $ChessMode: { $Row: 3 }, $Easing: { $Left: $JssorEasing$.$EaseInOutQuart, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $Brother: { $Duration: 1600, x: -1, $Rows: 2, $ChessMode: { $Row: 3 }, $Easing: { $Left: $JssorEasing$.$EaseInOutQuart, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 } }, | ||
369 | //Chess Replace LR | ||
370 | { $Duration: 1600, y: -1, $Cols: 2, $ChessMode: { $Column: 12 }, $Easing: { $Top: $JssorEasing$.$EaseInOutQuart, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $Brother: { $Duration: 1600, y: 1, $Cols: 2, $ChessMode: { $Column: 12 }, $Easing: { $Top: $JssorEasing$.$EaseInOutQuart, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 } }, | ||
371 | //Shift TB | ||
372 | { $Duration: 1200, y: 1, $Easing: { $Top: $JssorEasing$.$EaseInOutQuart, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $Brother: { $Duration: 1200, y: -1, $Easing: { $Top: $JssorEasing$.$EaseInOutQuart, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 } }, | ||
373 | //Shift LR | ||
374 | { $Duration: 1200, x: 1, $Easing: { $Left: $JssorEasing$.$EaseInOutQuart, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $Brother: { $Duration: 1200, x: -1, $Easing: { $Left: $JssorEasing$.$EaseInOutQuart, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 } }, | ||
375 | //Return TB | ||
376 | { $Duration: 1200, y: -1, $Easing: { $Top: $JssorEasing$.$EaseInOutQuart, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $ZIndex: -10, $Brother: { $Duration: 1200, y: -1, $Easing: { $Top: $JssorEasing$.$EaseInOutQuart, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $ZIndex: -10, $Shift: -100 } }, | ||
377 | //Return LR | ||
378 | { $Duration: 1200, x: 1, $Delay: 40, $Cols: 6, $Formation: $JssorSlideshowFormations$.$FormationStraight, $Easing: { $Left: $JssorEasing$.$EaseInOutQuart, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $ZIndex: -10, $Brother: { $Duration: 1200, x: 1, $Delay: 40, $Cols: 6, $Formation: $JssorSlideshowFormations$.$FormationStraight, $Easing: { $Top: $JssorEasing$.$EaseInOutQuart, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $ZIndex: -10, $Shift: -100 } }, | ||
379 | //Rotate Axis down | ||
380 | { $Duration: 1500, x: -0.1, y: -0.7, $Rotate: 0.1, $During: { $Left: [0.6, 0.4], $Top: [0.6, 0.4], $Rotate: [0.6, 0.4] }, $Easing: { $Left: $JssorEasing$.$EaseInQuad, $Top: $JssorEasing$.$EaseInQuad, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInQuad }, $Opacity: 2, $Brother: { $Duration: 1000, x: 0.2, y: 0.5, $Rotate: -0.1, $Easing: { $Left: $JssorEasing$.$EaseInQuad, $Top: $JssorEasing$.$EaseInQuad, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInQuad }, $Opacity: 2 } }, | ||
381 | //Extrude Replace | ||
382 | { $Duration: 1600, x: -0.2, $Delay: 40, $Cols: 12, $During: { $Left: [0.4, 0.6] }, $SlideOut: true, $Formation: $JssorSlideshowFormations$.$FormationStraight, $Assembly: 260, $Easing: { $Left: $JssorEasing$.$EaseInOutExpo, $Opacity: $JssorEasing$.$EaseInOutQuad }, $Opacity: 2, $Outside: true, $Round: { $Top: 0.5 }, $Brother: { $Duration: 1000, x: 0.2, $Delay: 40, $Cols: 12, $Formation: $JssorSlideshowFormations$.$FormationStraight, $Assembly: 1028, $Easing: { $Left: $JssorEasing$.$EaseInOutExpo, $Opacity: $JssorEasing$.$EaseInOutQuad }, $Opacity: 2, $Round: { $Top: 0.5 } } } | ||
383 | ]; | ||
384 | |||
385 | var captionTransitions = []; | ||
386 | |||
387 | var t_tr = { $Duration: 700, x: -0.6, y: 0.6, $Easing: { $Left: $JssorEasing$.$EaseInOutSine, $Top: $JssorEasing$.$EaseInOutSine }, $Opacity: 2 }; | ||
388 | var t_tr_ib = { $Duration: 900, x: -0.6, y: 0.6, $Easing: { $Left: $JssorEasing$.$EaseInOutBack, $Top: $JssorEasing$.$EaseInOutBack }, $Opacity: 2 }; | ||
389 | var t_rtt_tr = { $Duration: 700, x: -0.6, y: 0.6, $Zoom: 11, $Rotate: 1, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Top: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInCubic }, $Opacity: 2, $Round: { $Rotate: 0.8} }; | ||
390 | |||
391 | var t_rtt_360 = { $Duration: 800, $Rotate: 1, $Easing: { $Opacity: $JssorEasing$.$EaseLinear, $Rotate: $JssorEasing$.$EaseInQuad }, $Opacity: 2 }; | ||
392 | var t_clip_lr = { $Duration: 900, $Clip: 3, $Easing: { $Clip: $JssorEasing$.$EaseInOutCubic }, $Opacity: 2 }; | ||
393 | var t_zm = { $Duration: 700, $Zoom: 1, $Easing: $JssorEasing$.$EaseInCubic, $Opacity: 2 }; | ||
394 | var t_b_ = { $Duration: 700, y: -0.6, $Rotate: 0.05, $Easing: { $Top: $JssorEasing$.$EaseInOutSine }, $Opacity: 2 }; | ||
395 | |||
396 | captionTransitions["TEAM_1"] = [[t_rtt_360, t_zm], [t_zm, t_rtt_tr]]; | ||
397 | captionTransitions["TEAM_2"] = [t_rtt_360, t_clip_lr, t_zm, t_b_]; | ||
398 | |||
399 | captionTransitions["L|IB"] = { $Duration: 900, x: 0.6, $Easing: { $Left: $JssorEasing$.$EaseInOutBack }, $Opacity: 2 }; | ||
400 | captionTransitions["L|EP"] = { $Duration: 900, x: 0.6, $Easing: { $Left: $JssorEasing$.$EaseInOutExpo }, $Opacity: 2 }; | ||
401 | captionTransitions["L*IB"] = { $Duration: 900, x: 0.6, $Zoom: 3, $Rotate: -0.3, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Rotate: $JssorEasing$.$EaseInBack }, $Opacity: 2 }; | ||
402 | captionTransitions["B*IB"] = { $Duration: 900, y: -0.6, $Zoom: 3, $Rotate: -0.3, $Easing: { $Top: $JssorEasing$.$EaseInCubic, $Rotate: $JssorEasing$.$EaseInBack }, $Opacity: 2 }; | ||
403 | captionTransitions["T|IE*IE"] = { $Duration: 1800, y: 0.8, $Zoom: 11, $Rotate: -1.5, $Easing: { $Top: $JssorEasing$.$EaseInOutElastic, $Zoom: $JssorEasing$.$EaseInElastic, $Rotate: $JssorEasing$.$EaseInOutElastic }, $Opacity: 2, $During: { $Zoom: [0, 0.8], $Opacity: [0, 0.7] }, $Round: { $Rotate: 0.5} }; | ||
404 | captionTransitions["CLIP|L"] = { $Duration: 800, $Clip: 1, $Easing: { $Clip: $JssorEasing$.$EaseInOutCubic }, $Opacity: 2 }; | ||
405 | captionTransitions["CLIP|LR"] = t_clip_lr; | ||
406 | captionTransitions["RTT|360"] = t_rtt_360; | ||
407 | captionTransitions["RTT*JUP|BR"] = { $Duration: 1000, x: -0.5, y: -0.8, $Zoom: 11, $Rotate: 0.2, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Top: $JssorEasing$.$EaseLinear, $Zoom: $JssorEasing$.$EaseInCubic }, $Opacity: 2, $During: { $Left: [0, 0.5]} }; | ||
408 | captionTransitions["RTT*JDN|L"] = { $Duration: 1200, x: 0.3, $Zoom: 11, $Rotate: 0.2, $Easing: { $Left: $JssorEasing$.$EaseOutCubic, $Zoom: $JssorEasing$.$EaseInCubic }, $Opacity: 2, $During: { $Left: [0, 0.5]} }; | ||
409 | captionTransitions["SPACESHIP|LB"] = { $Duration: 1000, x: 1, y: -0.1, $Zoom: 3, $Rotate: -0.1, $Easing: { $Left: $JssorEasing$.$EaseInQuint, $Top: $JssorEasing$.$EaseInWave, $Opacity: $JssorEasing$.$EaseInQuint }, $Opacity: 2 }; | ||
410 | captionTransitions["SPACESHIP|RB"] = { $Duration: 1000, x: -1, y: -0.1, $Zoom: 3, $Rotate: 0.1, $Easing: { $Left: $JssorEasing$.$EaseInQuint, $Top: $JssorEasing$.$EaseInWave, $Opacity: $JssorEasing$.$EaseInQuint }, $Opacity: 2 }; | ||
411 | captionTransitions["ZM"] = { $Duration: 600, $Zoom: 1, $Easing: $JssorEasing$.$EaseInCubic, $Opacity: 2 }; | ||
412 | |||
413 | var captionTransitions_childSliders = [ | ||
414 | //R|IB | ||
415 | {$Duration: 900, x: -0.6, $Easing: { $Left: $JssorEasing$.$EaseInOutBack }, $Opacity: 2 } | ||
416 | //B|IB | ||
417 | , { $Duration: 900, y: -0.6, $Easing: { $Top: $JssorEasing$.$EaseInOutBack }, $Opacity: 2 } | ||
418 | //R*|IB | ||
419 | , { $Duration: 900, x: -0.6, $Zoom: 3, $Rotate: -0.3, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Rotate: $JssorEasing$.$EaseInBack }, $Opacity: 2 } | ||
420 | //B*|IB | ||
421 | , { $Duration: 900, y: -0.6, $Zoom: 3, $Rotate: -0.3, $Easing: { $Top: $JssorEasing$.$EaseInCubic, $Rotate: $JssorEasing$.$EaseInBack }, $Opacity: 2 } | ||
422 | //R-*|IB | ||
423 | , { $Duration: 900, x: -0.7, $Rotate: 0.5, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseInQuad, $Rotate: $JssorEasing$.$EaseInBack }, $Opacity: 2, $During: { $Left: [0.2, 0.8]} } | ||
424 | //B-*|IB | ||
425 | , { $Duration: 900, y: -0.7, $Rotate: 0.5, $Easing: { $Top: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseInQuad, $Rotate: $JssorEasing$.$EaseInBack }, $Opacity: 2, $During: { $Top: [0.2, 0.8]} } | ||
426 | //CLIP|LR | ||
427 | , { $Duration: 900, $Clip: 3, $Easing: { $Clip: $JssorEasing$.$EaseInOutCubic }, $Opacity: 2 } | ||
428 | //CLIP|TB | ||
429 | , { $Duration: 900, $Clip: 12, $Easing: { $Clip: $JssorEasing$.$EaseInOutCubic }, $Opacity: 2 } | ||
430 | //CLIP|L | ||
431 | , { $Duration: 800, $Clip: 1, $Easing: { $Clip: $JssorEasing$.$EaseInOutCubic }, $Opacity: 2 } | ||
432 | //ZM*JDN|RB | ||
433 | , { $Duration: 1200, x: -0.8, y: -0.5, $Zoom: 11, $Easing: { $Left: $JssorEasing$.$EaseLinear, $Top: $JssorEasing$.$EaseOutCubic, $Zoom: $JssorEasing$.$EaseInCubic }, $Opacity: 2, $During: { $Top: [0, 0.5]} } | ||
434 | //RTT*JUP|RB | ||
435 | , { $Duration: 1200, x: -0.8, y: -0.5, $Zoom: 11, $Rotate: 0.2, $Easing: { $Left: $JssorEasing$.$EaseLinear, $Top: $JssorEasing$.$EaseInCubic, $Zoom: $JssorEasing$.$EaseInCubic }, $Opacity: 2, $During: { $Top: [0, 0.5]} } | ||
436 | //TORTUOUS|VB | ||
437 | , { $Duration: 1800, y: -0.2, $Zoom: 1, $Easing: { $Top: $JssorEasing$.$EaseOutWave, $Zoom: $JssorEasing$.$EaseOutCubic }, $Opacity: 2, $During: { $Top: [0, 0.7] }, $Round: { $Top: 1.3} } | ||
438 | ]; | ||
439 | |||
440 | var slider1Options = { | ||
441 | $AutoPlayInterval: 3000, //[Optional] Interval (in milliseconds) to go for next slide since the previous stopped if the slider is auto playing, default value is 3000 | ||
442 | $DragOrientation: 0, //[Optional] Orientation to drag slide, 0 no drag, 1 horizental, 2 vertical, 3 either, default value is 1 (Note that the $DragOrientation should be the same as $PlayOrientation when $DisplayPieces is greater than 1, or parking position is not 0) | ||
443 | |||
444 | $CaptionSliderOptions: { //[Optional] Options which specifies how to animate caption | ||
445 | $Class: $JssorCaptionSlider$, //[Required] Class to create instance to animate caption | ||
446 | $CaptionTransitions: captionTransitions_childSliders, //[Required] An array of caption transitions to play caption, see caption transition section at jssor slideshow transition builder | ||
447 | $PlayInMode: 1, //[Optional] 0 None (no play), 1 Chain (goes after main slide), 3 Chain Flatten (goes after main slide and flatten all caption animations), default value is 1 | ||
448 | $PlayOutMode: 3 //[Optional] 0 None (no play), 1 Chain (goes before main slide), 3 Chain Flatten (goes before main slide and flatten all caption animations), default value is 1 | ||
449 | }, | ||
450 | |||
451 | $BulletNavigatorOptions: { //[Optional] Options to specify and enable navigator or not | ||
452 | $Class: $JssorBulletNavigator$, //[Required] Class to create navigator instance | ||
453 | $ChanceToShow: 2, //[Required] 0 Never, 1 Mouse Over, 2 Always | ||
454 | $SpacingX: 10, //[Optional] Horizontal space between each item in pixel, default value is 0 | ||
455 | $SpacingY: 10 //[Optional] Vertical space between each item in pixel, default value is 0 | ||
456 | }, | ||
457 | |||
458 | $ArrowNavigatorOptions: { | ||
459 | $Class: $JssorArrowNavigator$, //[Requried] Class to create arrow navigator instance | ||
460 | $ChanceToShow: 2 //[Required] 0 Never, 1 Mouse Over, 2 Always | ||
461 | } | ||
462 | }; | ||
463 | |||
464 | var jssorSlider1 = new $JssorSlider$("slider1_container", slider1Options); | ||
465 | |||
466 | var slider2Options = { | ||
467 | $AutoPlayInterval: 3000, //[Optional] Interval (in milliseconds) to go for next slide since the previous stopped if the slider is auto playing, default value is 3000 | ||
468 | $DragOrientation: 0, //[Optional] Orientation to drag slide, 0 no drag, 1 horizental, 2 vertical, 3 either, default value is 1 (Note that the $DragOrientation should be the same as $PlayOrientation when $DisplayPieces is greater than 1, or parking position is not 0) | ||
469 | |||
470 | $SlideshowOptions: { //[Optional] Options to specify and enable slideshow or not | ||
471 | $Class: $JssorSlideshowRunner$, //[Required] Class to create instance of slideshow | ||
472 | $Transitions: _SlideshowTransitions, //[Required] An array of slideshow transitions to play slideshow | ||
473 | $TransitionsOrder: 1, //[Optional] The way to choose transition to play slide, 1 Sequence, 0 Random | ||
474 | $ShowLink: true //[Optional] Whether to bring slide link on top of the slider when slideshow is running, default value is false | ||
475 | }, | ||
476 | |||
477 | $CaptionSliderOptions: { //[Optional] Options which specifies how to animate caption | ||
478 | $Class: $JssorCaptionSlider$, //[Required] Class to create instance to animate caption | ||
479 | $CaptionTransitions: captionTransitions_childSliders, //[Required] An array of caption transitions to play caption, see caption transition section at jssor slideshow transition builder | ||
480 | $PlayInMode: 1, //[Optional] 0 None (no play), 1 Chain (goes after main slide), 3 Chain Flatten (goes after main slide and flatten all caption animations), default value is 1 | ||
481 | $PlayOutMode: 3 //[Optional] 0 None (no play), 1 Chain (goes before main slide), 3 Chain Flatten (goes before main slide and flatten all caption animations), default value is 1 | ||
482 | }, | ||
483 | |||
484 | $BulletNavigatorOptions: { //[Optional] Options to specify and enable navigator or not | ||
485 | $Class: $JssorBulletNavigator$, //[Required] Class to create navigator instance | ||
486 | $ChanceToShow: 2, //[Required] 0 Never, 1 Mouse Over, 2 Always | ||
487 | $SpacingX: 10, //[Optional] Horizontal space between each item in pixel, default value is 0 | ||
488 | $SpacingY: 10 //[Optional] Vertical space between each item in pixel, default value is 0 | ||
489 | }, | ||
490 | |||
491 | $ArrowNavigatorOptions: { | ||
492 | $Class: $JssorArrowNavigator$, //[Requried] Class to create arrow navigator instance | ||
493 | $ChanceToShow: 2 //[Required] 0 Never, 1 Mouse Over, 2 Always | ||
494 | } | ||
495 | }; | ||
496 | |||
497 | var jssorSlider2 = new $JssorSlider$("slider2_container", slider2Options); | ||
498 | |||
499 | var bannerSlider_slideshowTransitions = [ | ||
500 | //Fade in R | ||
501 | {$Duration: 1200, x: -0.3, $During: { $Left: [0.3, 0.7] }, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 } | ||
502 | //Fade out L | ||
503 | , { $Duration: 1200, x: 0.3, $SlideOut: true, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 } | ||
504 | ]; | ||
505 | |||
506 | var slider3Options = { | ||
507 | $AutoPlayInterval: 3000, //[Optional] Interval (in milliseconds) to go for next slide since the previous stopped if the slider is auto playing, default value is 3000 | ||
508 | $DragOrientation: 0, //[Optional] Orientation to drag slide, 0 no drag, 1 horizental, 2 vertical, 3 either, default value is 1 (Note that the $DragOrientation should be the same as $PlayOrientation when $DisplayPieces is greater than 1, or parking position is not 0) | ||
509 | |||
510 | $SlideshowOptions: { //[Optional] Options to specify and enable slideshow or not | ||
511 | $Class: $JssorSlideshowRunner$, //[Required] Class to create instance of slideshow | ||
512 | $Transitions: bannerSlider_slideshowTransitions, //[Required] An array of slideshow transitions to play slideshow | ||
513 | $TransitionsOrder: 1, //[Optional] The way to choose transition to play slide, 1 Sequence, 0 Random | ||
514 | $ShowLink: true //[Optional] Whether to bring slide link on top of the slider when slideshow is running, default value is false | ||
515 | }, | ||
516 | |||
517 | $BulletNavigatorOptions: { //[Optional] Options to specify and enable navigator or not | ||
518 | $Class: $JssorBulletNavigator$, //[Required] Class to create navigator instance | ||
519 | $ChanceToShow: 2, //[Required] 0 Never, 1 Mouse Over, 2 Always | ||
520 | $SpacingX: 10, //[Optional] Horizontal space between each item in pixel, default value is 0 | ||
521 | $SpacingY: 10 //[Optional] Vertical space between each item in pixel, default value is 0 | ||
522 | }, | ||
523 | |||
524 | $ArrowNavigatorOptions: { | ||
525 | $Class: $JssorArrowNavigator$, //[Requried] Class to create arrow navigator instance | ||
526 | $ChanceToShow: 2 //[Required] 0 Never, 1 Mouse Over, 2 Always | ||
527 | }, | ||
528 | |||
529 | $ThumbnailNavigatorOptions: { | ||
530 | $Class: $JssorThumbnailNavigator$, //[Required] Class to create thumbnail navigator instance | ||
531 | $ChanceToShow: 2, //[Required] 0 Never, 1 Mouse Over, 2 Always | ||
532 | $ActionMode: 0, //[Optional] 0 None, 1 act by click, 2 act by mouse hover, 3 both, default value is 1 | ||
533 | $DisableDrag: true //[Optional] Disable drag or not, default value is false | ||
534 | } | ||
535 | }; | ||
536 | |||
537 | var jssorSlider3 = new $JssorSlider$("slider3_container", slider3Options); | ||
538 | |||
539 | var sliderClusterSlideshowOptions = ($Jssor$.$IsBrowserIE() && $Jssor$.$BrowserEngineVersion() < 8) ? null : { //[Optional] Options to specify and enable slideshow or not | ||
540 | $Class: $JssorSlideshowRunner$, //[Required] Class to create instance of slideshow | ||
541 | $Transitions: _SlideshowTransitions, //[Required] An array of slideshow transitions to play slideshow | ||
542 | $TransitionsOrder: 1, //[Optional] The way to choose transition to play slide, 1 Sequence, 0 Random | ||
543 | $ShowLink: true //[Optional] Whether to bring slide link on top of the slider when slideshow is running, default value is false | ||
544 | }; | ||
545 | |||
546 | var slidercOptions = { | ||
547 | $AutoPlay: false, //[Optional] Whether to auto play, to enable slideshow, this option must be set to true, default value is false | ||
548 | $AutoPlayInterval: 3000, //[Optional] Interval (in milliseconds) to go for next slide since the previous stopped if the slider is auto playing, default value is 3000 | ||
549 | $PauseOnHover: 1, //[Optional] Whether to pause when mouse over if a slider is auto playing, 0 no pause, 1 pause for desktop, 2 pause for touch device, 3 pause for desktop and touch device, 4 freeze for desktop, 8 freeze for touch device, 12 freeze for desktop and touch device, default value is 1 | ||
550 | |||
551 | $ArrowKeyNavigation: true, //Allows arrow key to navigate or not, default value is true | ||
552 | $SlideDuration: 800, //[Optional] Specifies default duration (swipe) for slide in milliseconds, default value is 500 | ||
553 | $UISearchMode: 0, //[Optional] The way (0 parellel, 1 recursive, default value is 1) to search UI components (slides container, loading screen, navigator container, arrow navigator container, thumbnail navigator container etc). | ||
554 | $DragOrientation: 3, //[Optional] Orientation to drag slide, 0 no drag, 1 horizental, 2 vertical, 3 either, default value is 1 (Note that the $DragOrientation should be the same as $PlayOrientation when $DisplayPieces is greater than 1, or parking position is not 0) | ||
555 | |||
556 | $SlideshowOptions: sliderClusterSlideshowOptions, | ||
557 | |||
558 | $CaptionSliderOptions: { //[Optional] Options which specifies how to animate caption | ||
559 | $Class: $JssorCaptionSlider$, //[Required] Class to create instance to animate caption | ||
560 | $CaptionTransitions: captionTransitions, //[Required] An array of caption transitions to play caption, see caption transition section at jssor slideshow transition builder | ||
561 | $PlayInMode: 1, //[Optional] 0 None (no play), 1 Chain (goes after main slide), 3 Chain Flatten (goes after main slide and flatten all caption animations), default value is 1 | ||
562 | $PlayOutMode: 3 //[Optional] 0 None (no play), 1 Chain (goes before main slide), 3 Chain Flatten (goes before main slide and flatten all caption animations), default value is 1 | ||
563 | }, | ||
564 | |||
565 | $ArrowNavigatorOptions: { //[Optional] Options to specify and enable arrow navigator or not | ||
566 | $Class: $JssorArrowNavigator$, //[Requried] Class to create arrow navigator instance | ||
567 | $ChanceToShow: 1, //[Required] 0 Never, 1 Mouse Over, 2 Always | ||
568 | $AutoCenter: 2 //[Optional] Auto center arrows in parent container, 0 No, 1 Horizontal, 2 Vertical, 3 Both, default value is 0 | ||
569 | }, | ||
570 | |||
571 | $BulletNavigatorOptions: { //[Optional] Options to specify and enable navigator or not | ||
572 | $Class: $JssorBulletNavigator$, //[Required] Class to create navigator instance | ||
573 | $ChanceToShow: 2, //[Required] 0 Never, 1 Mouse Over, 2 Always | ||
574 | $AutoCenter: 1, //[Optional] Auto center navigator in parent container, 0 None, 1 Horizontal, 2 Vertical, 3 Both, default value is 0 | ||
575 | $SpacingX: 4, //[Optional] Horizontal space between each item in pixel, default value is 0 | ||
576 | $SpacingY: 4 //[Optional] Vertical space between each item in pixel, default value is 0 | ||
577 | } | ||
578 | }; | ||
579 | |||
580 | var jssorSliderc = new $JssorSlider$(containerId, slidercOptions); | ||
581 | |||
582 | //responsive code begin | ||
583 | //you can remove responsive code if you don't want the slider scales while window resizes | ||
584 | function ScaleSlider() { | ||
585 | var parentWidth = jssorSliderc.$Elmt.parentNode.clientWidth; | ||
586 | if (parentWidth) | ||
587 | jssorSliderc.$ScaleWidth(Math.max(Math.min(parentWidth, 960), 300)); | ||
588 | else | ||
589 | $Jssor$.$Delay(ScaleSlider, 30); | ||
590 | } | ||
591 | |||
592 | ScaleSlider(); | ||
593 | $Jssor$.$AddEvent(window, "load", ScaleSlider); | ||
594 | |||
595 | $Jssor$.$AddEvent(window, "resize", $Jssor$.$WindowResizeFilter(window, ScaleSlider)); | ||
596 | $Jssor$.$AddEvent(window, "orientationchange", ScaleSlider); | ||
597 | //responsive code end | ||
598 | |||
599 | //slider cluster controller code begin | ||
600 | function SliderCluster(mainSlider, autoPlayInterval) { | ||
601 | var _Self = this; | ||
602 | var _NestedSliders = []; | ||
603 | var _NestedSliderCurrent; | ||
604 | |||
605 | var _CaptionInCounter = 0; | ||
606 | |||
607 | function OnChildSliderStateChange(currentIndex, progress, progressBegin, idleBegin, idleEnd, progressEnd) { | ||
608 | if (progress == idleBegin) { | ||
609 | if (!(++_CaptionInCounter % 4)) { | ||
610 | |||
611 | _NestedSliderCurrent && _NestedSliderCurrent.$Pause(); | ||
612 | |||
613 | mainSlider.$Play(true); | ||
614 | } | ||
615 | } | ||
616 | } | ||
617 | |||
618 | function OnMainSliderStateChange(currentIndex, progress, progressBegin, idleBegin, idleEnd, progressEnd) { | ||
619 | |||
620 | _NestedSliderCurrent = _NestedSliders[currentIndex]; | ||
621 | |||
622 | if (_NestedSliderCurrent) { | ||
623 | if (progress == idleBegin) { | ||
624 | |||
625 | mainSlider.$Pause(); | ||
626 | _NestedSliderCurrent.$Play(true); | ||
627 | } | ||
628 | else if (progress == progressBegin) { | ||
629 | _CaptionInCounter = 0; | ||
630 | mainSlider.$Play(true); | ||
631 | } | ||
632 | } | ||
633 | } | ||
634 | |||
635 | function OnMainSliderSwipeStart(position, virtualPosition) { | ||
636 | _NestedSliderCurrent && _NestedSliderCurrent.$Pause(); | ||
637 | mainSlider.$Pause(); | ||
638 | } | ||
639 | |||
640 | function OnMainSliderPark(slideIndex, fromIndex) { | ||
641 | _CaptionInCounter = 0; | ||
642 | mainSlider.$Play(); | ||
643 | } | ||
644 | |||
645 | _Self.$AddChildSlider = function (childSlider, slideIndex) { | ||
646 | _NestedSliders[slideIndex] = childSlider; | ||
647 | childSlider.$On($JssorSlider$.$EVT_STATE_CHANGE, OnChildSliderStateChange); | ||
648 | }; | ||
649 | |||
650 | _Self.$Start = function () { | ||
651 | mainSlider.$On($JssorSlider$.$EVT_PARK, OnMainSliderPark); | ||
652 | mainSlider.$On($JssorSlider$.$EVT_STATE_CHANGE, OnMainSliderStateChange); | ||
653 | mainSlider.$On($JssorSlider$.$EVT_SWIPE_START, OnMainSliderSwipeStart); | ||
654 | |||
655 | mainSlider.$Play(true); | ||
656 | } | ||
657 | } | ||
658 | |||
659 | var sliderCluster = new SliderCluster(jssorSliderc); | ||
660 | sliderCluster.$AddChildSlider(jssorSlider1, 0); | ||
661 | sliderCluster.$AddChildSlider(jssorSlider2, 1); | ||
662 | sliderCluster.$AddChildSlider(jssorSlider3, 2); | ||
663 | sliderCluster.$Start(); | ||
664 | |||
665 | //slider cluster controller code end | ||
666 | }; | ||
667 | jssor_sliderc_starter('sliderc_container'); | ||
668 | </script> |
app/views/home/_chart.html.erb
0 → 100644
1 | <div class="chartbox wrapper"> | ||
2 | <div class="innertext" id="innerchart"></div> | ||
3 | <div class="innertext il"></div> | ||
4 | </div> | ||
5 | <!-- <script src="/javascripts/liucheng.js?body=1" type="text/javascript"></script> --> | ||
6 | <style> | ||
7 | .chartbox{ | ||
8 | margin: 50px auto; | ||
9 | } | ||
10 | .innertext{ | ||
11 | float: left; | ||
12 | width: 70%; | ||
13 | min-height: 500px; | ||
14 | } | ||
15 | .innertext.il{ | ||
16 | width: 30%; | ||
17 | } | ||
18 | </style> | ||
19 | |||
20 | <svg version="1.1" style="font-family:"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif;font-size:12px;" xmlns="http://www.w3.org/2000/svg" width="840" height="500"><desc><img src="/uploads/1.png" alt="山东诺正检测流程图"></desc><defs><clipPath id="normz-1"><rect x="0" y="0" width="820" height="439"></rect></clipPath></defs><rect x="0" y="0" width="840" height="500" strokeWidth="0" fill="#FFFFFF" class=" normz-background"></rect><g style="" transform="translate(5,150)"><rect x="0" y="0" width="22" height="210" strokeWidth="2" fill="none" stroke="black" stroke-width="5" rx="5" ry="5" isShadow="true" stroke-opacity="0.049999999999999996" transform="translate(1, 1)"></rect><rect x="0" y="0" width="22" height="210" strokeWidth="2" fill="none" stroke="black" stroke-width="3" rx="5" ry="5" isShadow="true" stroke-opacity="0.09999999999999999" transform="translate(1, 1)"></rect><rect x="0" y="0" width="22" height="210" strokeWidth="2" fill="none" stroke="black" stroke-width="1" rx="5" ry="5" isShadow="true" stroke-opacity="0.15" transform="translate(1, 1)"></rect><rect x="0" y="0" width="22" height="210" strokeWidth="2" fill="#7cb5ec" stroke="white" stroke-width="2" rx="5" ry="5"></rect><text x="5" zIndex="1" style="color:white;fill:white;" y="17"><tspan>委</tspan><tspan x="5" dy="15">托</tspan><tspan x="5" dy="15">单</tspan><tspan x="5" dy="15">位</tspan><tspan x="5" dy="15">、</tspan><tspan x="5" dy="15">被</tspan><tspan x="5" dy="15">抽</tspan><tspan x="5" dy="15">检</tspan><tspan x="5" dy="15">单</tspan><tspan x="5" dy="15">位</tspan></text></g><g style="" transform="translate(100,150)"><rect x="0" y="0" width="81" height="21" fill="#f7a35c" rx="5" ry="5"></rect><text x="3" zIndex="1" style="color:white;fill:white;" y="15">诉讼处理意见</text></g><g style="text-align:center;" transform="translate(100,220)"><rect x="0" y="0" width="81" height="21" fill="#f15c80" rx="5" ry="5"></rect><text x="16.5" zIndex="1" style="color:white;fill:white;" y="15">提出诉讼</text></g><g style="text-align:center;" transform="translate(100,280)"><rect x="0" y="0" width="81" height="21" fill="#e4d354" rx="5" ry="5"></rect><text x="16.5" zIndex="1" style="color:white;fill:white;" y="15">发送报告</text></g><g style="text-align:center;" transform="translate(100,340)"><rect x="0" y="0" width="81" height="21" fill="#2b908f" rx="5" ry="5"></rect><text x="28.5" zIndex="1" style="color:white;fill:white;" y="15">图纸</text></g><g style="" transform="translate(250,150)"><rect x="0" y="0" width="22" height="210" strokeWidth="2" fill="none" stroke="black" stroke-width="5" rx="5" ry="5" isShadow="true" stroke-opacity="0.049999999999999996" transform="translate(1, 1)"></rect><rect x="0" y="0" width="22" height="210" strokeWidth="2" fill="none" stroke="black" stroke-width="3" rx="5" ry="5" isShadow="true" stroke-opacity="0.09999999999999999" transform="translate(1, 1)"></rect><rect x="0" y="0" width="22" height="210" strokeWidth="2" fill="none" stroke="black" stroke-width="1" rx="5" ry="5" isShadow="true" stroke-opacity="0.15" transform="translate(1, 1)"></rect><rect x="0" y="0" width="22" height="210" strokeWidth="2" fill="#f45b5b" stroke="white" stroke-width="2" rx="5" ry="5"></rect><text x="5" zIndex="1" style="color:white;fill:white;" y="17"><tspan>综</tspan><tspan x="5" dy="15">合</tspan><tspan x="5" dy="15">部</tspan></text></g><g style="text-align:center;" transform="translate(230,60)"><rect x="0" y="0" width="70" height="40" strokeWidth="2" fill="none" stroke="black" stroke-width="5" rx="5" ry="5" isShadow="true" stroke-opacity="0.049999999999999996" transform="translate(1, 1)"></rect><rect x="0" y="0" width="70" height="40" strokeWidth="2" fill="none" stroke="black" stroke-width="3" rx="5" ry="5" isShadow="true" stroke-opacity="0.09999999999999999" transform="translate(1, 1)"></rect><rect x="0" y="0" width="70" height="40" strokeWidth="2" fill="none" stroke="black" stroke-width="1" rx="5" ry="5" isShadow="true" stroke-opacity="0.15" transform="translate(1, 1)"></rect><rect x="0" y="0" width="70" height="40" strokeWidth="2" fill="#91e8e1" stroke="white" stroke-width="2" rx="5" ry="5"></rect><text x="5" zIndex="1" style="color:white;fill:white;" y="17"><tspan>报告副本及</tspan><tspan x="5" dy="15">原记录归档</tspan></text></g><g style="text-align:center;" transform="translate(340,100)"><rect x="0" y="0" width="60" height="40" strokeWidth="2" fill="none" stroke="black" stroke-width="5" rx="5" ry="5" isShadow="true" stroke-opacity="0.049999999999999996" transform="translate(1, 1)"></rect><rect x="0" y="0" width="60" height="40" strokeWidth="2" fill="none" stroke="black" stroke-width="3" rx="5" ry="5" isShadow="true" stroke-opacity="0.09999999999999999" transform="translate(1, 1)"></rect><rect x="0" y="0" width="60" height="40" strokeWidth="2" fill="none" stroke="black" stroke-width="1" rx="5" ry="5" isShadow="true" stroke-opacity="0.15" transform="translate(1, 1)"></rect><rect x="0" y="0" width="60" height="40" strokeWidth="2" fill="#7cb5ec" stroke="white" stroke-width="2" rx="5" ry="5"></rect><text x="18" zIndex="1" style="color:white;fill:white;" y="17">归档</text></g><g style="text-align:center;" transform="translate(340,150)"><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="#434348" rx="5" ry="5"></rect><text x="9" zIndex="1" style="color:white;fill:white;" y="15">受理投诉</text></g><g style="text-align:center;" transform="translate(440,150)"><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="#90ed7d" rx="5" ry="5"></rect><text x="3" zIndex="1" style="color:white;fill:white;" y="15">质量负责人</text></g><g style="text-align:center;" transform="translate(540,150)"><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="#f7a35c" rx="5" ry="5"></rect><text x="9" zIndex="1" style="color:white;fill:white;" y="15">调查原因</text></g><g style="text-align:center;" transform="translate(640,150)"><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="#8085e9" rx="5" ry="5"></rect><text x="9" zIndex="1" style="color:white;fill:white;" y="15">反馈意见</text></g><g style="text-align:center;" transform="translate(340,200)"><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="#f15c80" rx="5" ry="5"></rect><text x="9" zIndex="1" style="color:white;fill:white;" y="15">编写报告</text></g><g style="text-align:center;" transform="translate(440,200)"><rect x="0" y="0" width="90" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="90" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="90" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="90" height="21" fill="#e4d354" rx="5" ry="5"></rect><text x="3" zIndex="1" style="color:white;fill:white;" y="15">技术负责人审批</text></g><g style="text-align:center;" transform="translate(340,250)"><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="#2b908f" rx="5" ry="5"></rect><text x="9" zIndex="1" style="color:white;fill:white;" y="15">合同审批</text></g><g style="text-align:center;" transform="translate(445,240)"><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="#8085e9" rx="5" ry="5"></rect><text x="3" zIndex="1" style="color:white;fill:white;" y="15"><tspan>下</tspan><tspan x="3" dy="15">达</tspan><tspan x="3" dy="15">任</tspan><tspan x="3" dy="15">务</tspan><tspan x="3" dy="15">单</tspan></text></g><g style="text-align:center;" transform="translate(505,240)"><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="#f15c80" rx="5" ry="5"></rect><text x="3" zIndex="1" style="color:white;fill:white;" y="15"><tspan>检</tspan><tspan x="3" dy="15">测</tspan><tspan x="3" dy="15">部</tspan></text></g><g style="text-align:center;" transform="translate(565,240)"><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="#e4d354" rx="5" ry="5"></rect><text x="3" zIndex="1" style="color:white;fill:white;" y="15"><tspan>现</tspan><tspan x="3" dy="15">场</tspan><tspan x="3" dy="15">检</tspan><tspan x="3" dy="15">测</tspan></text></g><g style="text-align:center;" transform="translate(625,240)"><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="#2b908f" rx="5" ry="5"></rect><text x="3" zIndex="1" style="color:white;fill:white;" y="15"><tspan>填</tspan><tspan x="3" dy="15">写</tspan><tspan x="3" dy="15">原</tspan><tspan x="3" dy="15">始</tspan><tspan x="3" dy="15">记</tspan><tspan x="3" dy="15">录</tspan></text></g><g style="text-align:center;" transform="translate(685,240)"><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="#f45b5b" rx="5" ry="5"></rect><text x="3" zIndex="1" style="color:white;fill:white;" y="15"><tspan>部</tspan><tspan x="3" dy="15">内</tspan><tspan x="3" dy="15">审</tspan><tspan x="3" dy="15">核</tspan></text></g><g style="text-align:center;" transform="translate(745,240)"><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="#91e8e1" rx="5" ry="5"></rect><text x="3" zIndex="1" style="color:white;fill:white;" y="15"><tspan>提</tspan><tspan x="3" dy="15">交</tspan><tspan x="3" dy="15">检</tspan><tspan x="3" dy="15">测</tspan><tspan x="3" dy="15">结</tspan><tspan x="3" dy="15">果</tspan></text></g><g style="text-align:center;" transform="translate(340,360)"><rect x="0" y="0" width="70" height="25" strokeWidth="2" fill="none" stroke="black" stroke-width="5" rx="5" ry="5" isShadow="true" stroke-opacity="0.049999999999999996" transform="translate(1, 1)"></rect><rect x="0" y="0" width="70" height="25" strokeWidth="2" fill="none" stroke="black" stroke-width="3" rx="5" ry="5" isShadow="true" stroke-opacity="0.09999999999999999" transform="translate(1, 1)"></rect><rect x="0" y="0" width="70" height="25" strokeWidth="2" fill="none" stroke="black" stroke-width="1" rx="5" ry="5" isShadow="true" stroke-opacity="0.15" transform="translate(1, 1)"></rect><rect x="0" y="0" width="70" height="25" strokeWidth="2" fill="#7cb5ec" stroke="white" stroke-width="2" rx="5" ry="5"></rect><text x="23" zIndex="1" style="color:white;fill:white;" y="17">记录</text></g><g style="text-align:center;" transform="translate(480,360)"><rect x="0" y="0" width="70" height="25" strokeWidth="2" fill="none" stroke="black" stroke-width="5" rx="5" ry="5" isShadow="true" stroke-opacity="0.049999999999999996" transform="translate(1, 1)"></rect><rect x="0" y="0" width="70" height="25" strokeWidth="2" fill="none" stroke="black" stroke-width="3" rx="5" ry="5" isShadow="true" stroke-opacity="0.09999999999999999" transform="translate(1, 1)"></rect><rect x="0" y="0" width="70" height="25" strokeWidth="2" fill="none" stroke="black" stroke-width="1" rx="5" ry="5" isShadow="true" stroke-opacity="0.15" transform="translate(1, 1)"></rect><rect x="0" y="0" width="70" height="25" strokeWidth="2" fill="#434348" stroke="white" stroke-width="2" rx="5" ry="5"></rect><text x="23" zIndex="1" style="color:white;fill:white;" y="17">修改</text></g><path fill="none" d="M 50 0 L 0 0 L 3 3 M 0 0 L 3 -3" transform="translate(40,160)" stroke="#7cb5ec" stroke-width="2"></path><path fill="none" d="M 0 0 L 50 0 L 47 3 M 50 0 L 47 -3" transform="translate(40,230)" stroke="#434348" stroke-width="2"></path><path fill="none" d="M 50 0 L 0 0 L 3 3 M 0 0 L 3 -3" transform="translate(40,290)" stroke="#90ed7d" stroke-width="2"></path><path fill="none" d="M 0 0 L 50 0 L 47 3 M 50 0 L 47 -3" transform="translate(40,350)" stroke="#f7a35c" stroke-width="2"></path><path fill="none" d="M 0 0 L 50 0 L 47 3 M 50 0 L 47 -3" transform="translate(190,160)" stroke="#8085e9" stroke-width="2"></path><path fill="none" d="M 50 0 L 0 0 L 3 3 M 0 0 L 3 -3" transform="translate(190,230)" stroke="#f15c80" stroke-width="2"></path><path fill="none" d="M 0 0 L 50 0 L 47 3 M 50 0 L 47 -3" transform="translate(190,290)" stroke="#e4d354" stroke-width="2"></path><path fill="none" d="M 50 0 L 0 0 L 3 3 M 0 0 L 3 -3" transform="translate(190,350)" stroke="#2b908f" stroke-width="2"></path><path fill="none" d="M 0 40 L 0 0 L -3 3 M 0 0 L 3 3" transform="translate(255,105)" stroke="#f45b5b" stroke-width="2"></path><path fill="none" d="M 0 0 L 50 0 L 47 3 M 50 0 L 47 -3" transform="translate(280,160)" stroke="#91e8e1" stroke-width="2"></path><path fill="none" d="M 150 145 L 150 125 C 150 115 150 115 160 115 L 335 115 L 332 118 M 335 115 L 332 112" stroke="#7cb5ec" stroke-width="2"></path><path fill="none" d="M 310 70 L 360 70 C 370 70 370 80 370 80 L 370 95 L 367 92 M 370 95 L 373 92" stroke="#434348" stroke-width="2"></path><path fill="none" d="M 260 145 L 260 135 C 260 125 260 125 270 125 L 335 125 L 332 122 M 335 125 L 332 128" stroke="#90ed7d" stroke-width="2"></path><path fill="none" d="M 0 0 L 25 0 L 22 3 M 25 0 L 22 -3" transform="translate(410,160)" stroke="#f7a35c" stroke-width="2"></path><path fill="none" d="M 0 0 L 25 0 L 22 3 M 25 0 L 22 -3" transform="translate(510,160)" stroke="#8085e9" stroke-width="2"></path><path fill="none" d="M 0 0 L 25 0 L 22 3 M 25 0 L 22 -3" transform="translate(610,160)" stroke="#f15c80" stroke-width="2"></path><path fill="none" d="M 0 0 L 50 0 L 47 3 M 50 0 L 47 -3" transform="translate(280,210)" stroke="#e4d354" stroke-width="2"></path><path fill="none" d="M 0 0 L 25 0 L 22 3 M 25 0 L 22 -3" transform="translate(410,210)" stroke="#2b908f" stroke-width="2"></path><path fill="none" d="M 0 0 L 50 0 L 47 3 M 50 0 L 47 -3" transform="translate(280,260)" stroke="#f45b5b" stroke-width="2"></path><path fill="none" d="M 0 0 L 30 0 L 27 3 M 30 0 L 27 -3" transform="translate(410,260)" stroke="#91e8e1" stroke-width="2"></path><path fill="none" d="M 0 0 L 30 0 L 27 3 M 30 0 L 27 -3" transform="translate(470,260)" stroke="#7cb5ec" stroke-width="2"></path><path fill="none" d="M 0 0 L 30 0 L 27 3 M 30 0 L 27 -3" transform="translate(530,260)" stroke="#434348" stroke-width="2"></path><path fill="none" d="M 0 0 L 30 0 L 27 3 M 30 0 L 27 -3" transform="translate(590,260)" stroke="#90ed7d" stroke-width="2"></path><path fill="none" d="M 0 0 L 30 0 L 27 3 M 30 0 L 27 -3" transform="translate(650,260)" stroke="#f7a35c" stroke-width="2"></path><path fill="none" d="M 0 0 L 30 0 L 27 3 M 30 0 L 27 -3" transform="translate(710,260)" stroke="#8085e9" stroke-width="2"></path><path fill="none" d="M 0 0 L 0 15 L -3 12 M 0 15 L 3 12" transform="translate(515,340)" stroke="#f15c80" stroke-width="2"></path><path fill="none" d="M 0 0 L -50 0 L -47 -3 M -50 0 L -47 3" transform="translate(475,372)" stroke="#e4d354" stroke-width="2"></path><path fill="none" d="M 0 0 L 0 75 L -3 72 M 0 75 L 3 72" transform="translate(370,280)" stroke="#2b908f" stroke-width="2"></path><path fill="none" d="M 710 160 L 720 160 C 720 160 725 160 725 165 L 725 170 C 725 175 720 175 720 175 L 280 175 L 283 178 M 280 175 L 283 172" stroke="#f45b5b" stroke-width="2"></path><path fill="none" d="M 535 210 L 550 210 C 550 210 555 210 555 205 L 555 195 C 555 190 550 190 550 190 L 280 190 L 283 193 M 280 190 L 283 187" stroke="#91e8e1" stroke-width="2"></path><path fill="none" d="M 770 280 L 780 280 L 780 230 L 280 230 L 283 233 M 280 230 L 283 227" stroke="#7cb5ec" stroke-width="2"></path><g class="normz-series-group" zIndex="3"></g><text x="420" text-anchor="middle" class="normz-title" zIndex="4" style="color:#333333;font-size:18px;fill:#333333;width:776px;" y="24">诺正检验工作流程图</text><g class="normz-legend" zIndex="7"><g zIndex="1"><g></g></g></g><g class="normz-tooltip" zIndex="8" style="cursor:default;padding:0;pointer-events:none;white-space:nowrap;" transform="translate(0,-9999)"><path fill="none" d="M 3.5 0.5 L 13.5 0.5 C 16.5 0.5 16.5 0.5 16.5 3.5 L 16.5 13.5 C 16.5 16.5 16.5 16.5 13.5 16.5 L 3.5 16.5 C 0.5 16.5 0.5 16.5 0.5 13.5 L 0.5 3.5 C 0.5 0.5 0.5 0.5 3.5 0.5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></path><path fill="none" d="M 3.5 0.5 L 13.5 0.5 C 16.5 0.5 16.5 0.5 16.5 3.5 L 16.5 13.5 C 16.5 16.5 16.5 16.5 13.5 16.5 L 3.5 16.5 C 0.5 16.5 0.5 16.5 0.5 13.5 L 0.5 3.5 C 0.5 0.5 0.5 0.5 3.5 0.5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></path><path fill="none" d="M 3.5 0.5 L 13.5 0.5 C 16.5 0.5 16.5 0.5 16.5 3.5 L 16.5 13.5 C 16.5 16.5 16.5 16.5 13.5 16.5 L 3.5 16.5 C 0.5 16.5 0.5 16.5 0.5 13.5 L 0.5 3.5 C 0.5 0.5 0.5 0.5 3.5 0.5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></path><path fill="rgba(249, 249, 249, .85)" d="M 3.5 0.5 L 13.5 0.5 C 16.5 0.5 16.5 0.5 16.5 3.5 L 16.5 13.5 C 16.5 16.5 16.5 16.5 13.5 16.5 L 3.5 16.5 C 0.5 16.5 0.5 16.5 0.5 13.5 L 0.5 3.5 C 0.5 0.5 0.5 0.5 3.5 0.5"></path><text x="8" zIndex="1" style="font-size:12px;color:#333333;fill:#333333;" y="20"></text></g></svg> | ||
21 | |||
22 | <svg version="1.1" style="font-family:"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif;font-size:12px;" xmlns="http://www.w3.org/2000/svg" width="840" height="500"><desc><img src="/uploads/1.jpg" alt="山东诺正检测流程图"></desc><defs><clipPath id="normz-1"><rect x="0" y="0" width="820" height="439"></rect></clipPath></defs><rect x="0" y="0" width="840" height="500" strokeWidth="0" fill="#FFFFFF" class=" normz-background"></rect><g style="" transform="translate(5,150)"><rect x="0" y="0" width="22" height="210" strokeWidth="2" fill="none" stroke="black" stroke-width="5" rx="5" ry="5" isShadow="true" stroke-opacity="0.049999999999999996" transform="translate(1, 1)"></rect><rect x="0" y="0" width="22" height="210" strokeWidth="2" fill="none" stroke="black" stroke-width="3" rx="5" ry="5" isShadow="true" stroke-opacity="0.09999999999999999" transform="translate(1, 1)"></rect><rect x="0" y="0" width="22" height="210" strokeWidth="2" fill="none" stroke="black" stroke-width="1" rx="5" ry="5" isShadow="true" stroke-opacity="0.15" transform="translate(1, 1)"></rect><rect x="0" y="0" width="22" height="210" strokeWidth="2" fill="#7cb5ec" stroke="white" stroke-width="2" rx="5" ry="5"></rect><text x="5" zIndex="1" style="color:white;fill:white;" y="17"><tspan>委</tspan><tspan x="5" dy="15">托</tspan><tspan x="5" dy="15">单</tspan><tspan x="5" dy="15">位</tspan><tspan x="5" dy="15">、</tspan><tspan x="5" dy="15">被</tspan><tspan x="5" dy="15">抽</tspan><tspan x="5" dy="15">检</tspan><tspan x="5" dy="15">单</tspan><tspan x="5" dy="15">位</tspan></text></g><g style="" transform="translate(100,150)"><rect x="0" y="0" width="81" height="21" fill="#f7a35c" rx="5" ry="5"></rect><text x="3" zIndex="1" style="color:white;fill:white;" y="15">诉讼处理意见</text></g><g style="text-align:center;" transform="translate(100,220)"><rect x="0" y="0" width="81" height="21" fill="#f15c80" rx="5" ry="5"></rect><text x="16.5" zIndex="1" style="color:white;fill:white;" y="15">提出诉讼</text></g><g style="text-align:center;" transform="translate(100,280)"><rect x="0" y="0" width="81" height="21" fill="#e4d354" rx="5" ry="5"></rect><text x="16.5" zIndex="1" style="color:white;fill:white;" y="15">发送报告</text></g><g style="text-align:center;" transform="translate(100,340)"><rect x="0" y="0" width="81" height="21" fill="#2b908f" rx="5" ry="5"></rect><text x="28.5" zIndex="1" style="color:white;fill:white;" y="15">图纸</text></g><g style="" transform="translate(250,150)"><rect x="0" y="0" width="22" height="210" strokeWidth="2" fill="none" stroke="black" stroke-width="5" rx="5" ry="5" isShadow="true" stroke-opacity="0.049999999999999996" transform="translate(1, 1)"></rect><rect x="0" y="0" width="22" height="210" strokeWidth="2" fill="none" stroke="black" stroke-width="3" rx="5" ry="5" isShadow="true" stroke-opacity="0.09999999999999999" transform="translate(1, 1)"></rect><rect x="0" y="0" width="22" height="210" strokeWidth="2" fill="none" stroke="black" stroke-width="1" rx="5" ry="5" isShadow="true" stroke-opacity="0.15" transform="translate(1, 1)"></rect><rect x="0" y="0" width="22" height="210" strokeWidth="2" fill="#f45b5b" stroke="white" stroke-width="2" rx="5" ry="5"></rect><text x="5" zIndex="1" style="color:white;fill:white;" y="17"><tspan>综</tspan><tspan x="5" dy="15">合</tspan><tspan x="5" dy="15">部</tspan></text></g><g style="text-align:center;" transform="translate(230,60)"><rect x="0" y="0" width="70" height="40" strokeWidth="2" fill="none" stroke="black" stroke-width="5" rx="5" ry="5" isShadow="true" stroke-opacity="0.049999999999999996" transform="translate(1, 1)"></rect><rect x="0" y="0" width="70" height="40" strokeWidth="2" fill="none" stroke="black" stroke-width="3" rx="5" ry="5" isShadow="true" stroke-opacity="0.09999999999999999" transform="translate(1, 1)"></rect><rect x="0" y="0" width="70" height="40" strokeWidth="2" fill="none" stroke="black" stroke-width="1" rx="5" ry="5" isShadow="true" stroke-opacity="0.15" transform="translate(1, 1)"></rect><rect x="0" y="0" width="70" height="40" strokeWidth="2" fill="#91e8e1" stroke="white" stroke-width="2" rx="5" ry="5"></rect><text x="5" zIndex="1" style="color:white;fill:white;" y="17"><tspan>报告副本及</tspan><tspan x="5" dy="15">原记录归档</tspan></text></g><g style="text-align:center;" transform="translate(340,100)"><rect x="0" y="0" width="60" height="40" strokeWidth="2" fill="none" stroke="black" stroke-width="5" rx="5" ry="5" isShadow="true" stroke-opacity="0.049999999999999996" transform="translate(1, 1)"></rect><rect x="0" y="0" width="60" height="40" strokeWidth="2" fill="none" stroke="black" stroke-width="3" rx="5" ry="5" isShadow="true" stroke-opacity="0.09999999999999999" transform="translate(1, 1)"></rect><rect x="0" y="0" width="60" height="40" strokeWidth="2" fill="none" stroke="black" stroke-width="1" rx="5" ry="5" isShadow="true" stroke-opacity="0.15" transform="translate(1, 1)"></rect><rect x="0" y="0" width="60" height="40" strokeWidth="2" fill="#7cb5ec" stroke="white" stroke-width="2" rx="5" ry="5"></rect><text x="18" zIndex="1" style="color:white;fill:white;" y="17">归档</text></g><g style="text-align:center;" transform="translate(340,150)"><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="#434348" rx="5" ry="5"></rect><text x="9" zIndex="1" style="color:white;fill:white;" y="15">受理投诉</text></g><g style="text-align:center;" transform="translate(440,150)"><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="#90ed7d" rx="5" ry="5"></rect><text x="3" zIndex="1" style="color:white;fill:white;" y="15">质量负责人</text></g><g style="text-align:center;" transform="translate(540,150)"><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="#f7a35c" rx="5" ry="5"></rect><text x="9" zIndex="1" style="color:white;fill:white;" y="15">调查原因</text></g><g style="text-align:center;" transform="translate(640,150)"><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="#8085e9" rx="5" ry="5"></rect><text x="9" zIndex="1" style="color:white;fill:white;" y="15">反馈意见</text></g><g style="text-align:center;" transform="translate(340,200)"><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="#f15c80" rx="5" ry="5"></rect><text x="9" zIndex="1" style="color:white;fill:white;" y="15">编写报告</text></g><g style="text-align:center;" transform="translate(440,200)"><rect x="0" y="0" width="90" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="90" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="90" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="90" height="21" fill="#e4d354" rx="5" ry="5"></rect><text x="3" zIndex="1" style="color:white;fill:white;" y="15">技术负责人审批</text></g><g style="text-align:center;" transform="translate(340,250)"><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="66" height="21" fill="#2b908f" rx="5" ry="5"></rect><text x="9" zIndex="1" style="color:white;fill:white;" y="15">合同审批</text></g><g style="text-align:center;" transform="translate(445,240)"><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="#8085e9" rx="5" ry="5"></rect><text x="3" zIndex="1" style="color:white;fill:white;" y="15"><tspan>下</tspan><tspan x="3" dy="15">达</tspan><tspan x="3" dy="15">任</tspan><tspan x="3" dy="15">务</tspan><tspan x="3" dy="15">单</tspan></text></g><g style="text-align:center;" transform="translate(505,240)"><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="#f15c80" rx="5" ry="5"></rect><text x="3" zIndex="1" style="color:white;fill:white;" y="15"><tspan>检</tspan><tspan x="3" dy="15">测</tspan><tspan x="3" dy="15">部</tspan></text></g><g style="text-align:center;" transform="translate(565,240)"><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="#e4d354" rx="5" ry="5"></rect><text x="3" zIndex="1" style="color:white;fill:white;" y="15"><tspan>现</tspan><tspan x="3" dy="15">场</tspan><tspan x="3" dy="15">检</tspan><tspan x="3" dy="15">测</tspan></text></g><g style="text-align:center;" transform="translate(625,240)"><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="#2b908f" rx="5" ry="5"></rect><text x="3" zIndex="1" style="color:white;fill:white;" y="15"><tspan>填</tspan><tspan x="3" dy="15">写</tspan><tspan x="3" dy="15">原</tspan><tspan x="3" dy="15">始</tspan><tspan x="3" dy="15">记</tspan><tspan x="3" dy="15">录</tspan></text></g><g style="text-align:center;" transform="translate(685,240)"><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="#f45b5b" rx="5" ry="5"></rect><text x="3" zIndex="1" style="color:white;fill:white;" y="15"><tspan>部</tspan><tspan x="3" dy="15">内</tspan><tspan x="3" dy="15">审</tspan><tspan x="3" dy="15">核</tspan></text></g><g style="text-align:center;" transform="translate(745,240)"><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="none" rx="5" ry="5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></rect><rect x="0" y="0" width="18" height="96" fill="#91e8e1" rx="5" ry="5"></rect><text x="3" zIndex="1" style="color:white;fill:white;" y="15"><tspan>提</tspan><tspan x="3" dy="15">交</tspan><tspan x="3" dy="15">检</tspan><tspan x="3" dy="15">测</tspan><tspan x="3" dy="15">结</tspan><tspan x="3" dy="15">果</tspan></text></g><g style="text-align:center;" transform="translate(340,360)"><rect x="0" y="0" width="70" height="25" strokeWidth="2" fill="none" stroke="black" stroke-width="5" rx="5" ry="5" isShadow="true" stroke-opacity="0.049999999999999996" transform="translate(1, 1)"></rect><rect x="0" y="0" width="70" height="25" strokeWidth="2" fill="none" stroke="black" stroke-width="3" rx="5" ry="5" isShadow="true" stroke-opacity="0.09999999999999999" transform="translate(1, 1)"></rect><rect x="0" y="0" width="70" height="25" strokeWidth="2" fill="none" stroke="black" stroke-width="1" rx="5" ry="5" isShadow="true" stroke-opacity="0.15" transform="translate(1, 1)"></rect><rect x="0" y="0" width="70" height="25" strokeWidth="2" fill="#7cb5ec" stroke="white" stroke-width="2" rx="5" ry="5"></rect><text x="23" zIndex="1" style="color:white;fill:white;" y="17">记录</text></g><g style="text-align:center;" transform="translate(480,360)"><rect x="0" y="0" width="70" height="25" strokeWidth="2" fill="none" stroke="black" stroke-width="5" rx="5" ry="5" isShadow="true" stroke-opacity="0.049999999999999996" transform="translate(1, 1)"></rect><rect x="0" y="0" width="70" height="25" strokeWidth="2" fill="none" stroke="black" stroke-width="3" rx="5" ry="5" isShadow="true" stroke-opacity="0.09999999999999999" transform="translate(1, 1)"></rect><rect x="0" y="0" width="70" height="25" strokeWidth="2" fill="none" stroke="black" stroke-width="1" rx="5" ry="5" isShadow="true" stroke-opacity="0.15" transform="translate(1, 1)"></rect><rect x="0" y="0" width="70" height="25" strokeWidth="2" fill="#434348" stroke="white" stroke-width="2" rx="5" ry="5"></rect><text x="23" zIndex="1" style="color:white;fill:white;" y="17">修改</text></g><path fill="none" d="M 50 0 L 0 0 L 3 3 M 0 0 L 3 -3" transform="translate(40,160)" stroke="#7cb5ec" stroke-width="2"></path><path fill="none" d="M 0 0 L 50 0 L 47 3 M 50 0 L 47 -3" transform="translate(40,230)" stroke="#434348" stroke-width="2"></path><path fill="none" d="M 50 0 L 0 0 L 3 3 M 0 0 L 3 -3" transform="translate(40,290)" stroke="#90ed7d" stroke-width="2"></path><path fill="none" d="M 0 0 L 50 0 L 47 3 M 50 0 L 47 -3" transform="translate(40,350)" stroke="#f7a35c" stroke-width="2"></path><path fill="none" d="M 0 0 L 50 0 L 47 3 M 50 0 L 47 -3" transform="translate(190,160)" stroke="#8085e9" stroke-width="2"></path><path fill="none" d="M 50 0 L 0 0 L 3 3 M 0 0 L 3 -3" transform="translate(190,230)" stroke="#f15c80" stroke-width="2"></path><path fill="none" d="M 0 0 L 50 0 L 47 3 M 50 0 L 47 -3" transform="translate(190,290)" stroke="#e4d354" stroke-width="2"></path><path fill="none" d="M 50 0 L 0 0 L 3 3 M 0 0 L 3 -3" transform="translate(190,350)" stroke="#2b908f" stroke-width="2"></path><path fill="none" d="M 0 40 L 0 0 L -3 3 M 0 0 L 3 3" transform="translate(255,105)" stroke="#f45b5b" stroke-width="2"></path><path fill="none" d="M 0 0 L 50 0 L 47 3 M 50 0 L 47 -3" transform="translate(280,160)" stroke="#91e8e1" stroke-width="2"></path><path fill="none" d="M 150 145 L 150 125 C 150 115 150 115 160 115 L 335 115 L 332 118 M 335 115 L 332 112" stroke="#7cb5ec" stroke-width="2"></path><path fill="none" d="M 310 70 L 360 70 C 370 70 370 80 370 80 L 370 95 L 367 92 M 370 95 L 373 92" stroke="#434348" stroke-width="2"></path><path fill="none" d="M 260 145 L 260 135 C 260 125 260 125 270 125 L 335 125 L 332 122 M 335 125 L 332 128" stroke="#90ed7d" stroke-width="2"></path><path fill="none" d="M 0 0 L 25 0 L 22 3 M 25 0 L 22 -3" transform="translate(410,160)" stroke="#f7a35c" stroke-width="2"></path><path fill="none" d="M 0 0 L 25 0 L 22 3 M 25 0 L 22 -3" transform="translate(510,160)" stroke="#8085e9" stroke-width="2"></path><path fill="none" d="M 0 0 L 25 0 L 22 3 M 25 0 L 22 -3" transform="translate(610,160)" stroke="#f15c80" stroke-width="2"></path><path fill="none" d="M 0 0 L 50 0 L 47 3 M 50 0 L 47 -3" transform="translate(280,210)" stroke="#e4d354" stroke-width="2"></path><path fill="none" d="M 0 0 L 25 0 L 22 3 M 25 0 L 22 -3" transform="translate(410,210)" stroke="#2b908f" stroke-width="2"></path><path fill="none" d="M 0 0 L 50 0 L 47 3 M 50 0 L 47 -3" transform="translate(280,260)" stroke="#f45b5b" stroke-width="2"></path><path fill="none" d="M 0 0 L 30 0 L 27 3 M 30 0 L 27 -3" transform="translate(410,260)" stroke="#91e8e1" stroke-width="2"></path><path fill="none" d="M 0 0 L 30 0 L 27 3 M 30 0 L 27 -3" transform="translate(470,260)" stroke="#7cb5ec" stroke-width="2"></path><path fill="none" d="M 0 0 L 30 0 L 27 3 M 30 0 L 27 -3" transform="translate(530,260)" stroke="#434348" stroke-width="2"></path><path fill="none" d="M 0 0 L 30 0 L 27 3 M 30 0 L 27 -3" transform="translate(590,260)" stroke="#90ed7d" stroke-width="2"></path><path fill="none" d="M 0 0 L 30 0 L 27 3 M 30 0 L 27 -3" transform="translate(650,260)" stroke="#f7a35c" stroke-width="2"></path><path fill="none" d="M 0 0 L 30 0 L 27 3 M 30 0 L 27 -3" transform="translate(710,260)" stroke="#8085e9" stroke-width="2"></path><path fill="none" d="M 0 0 L 0 15 L -3 12 M 0 15 L 3 12" transform="translate(515,340)" stroke="#f15c80" stroke-width="2"></path><path fill="none" d="M 0 0 L -50 0 L -47 -3 M -50 0 L -47 3" transform="translate(475,372)" stroke="#e4d354" stroke-width="2"></path><path fill="none" d="M 0 0 L 0 75 L -3 72 M 0 75 L 3 72" transform="translate(370,280)" stroke="#2b908f" stroke-width="2"></path><path fill="none" d="M 710 160 L 720 160 C 720 160 725 160 725 165 L 725 170 C 725 175 720 175 720 175 L 280 175 L 283 178 M 280 175 L 283 172" stroke="#f45b5b" stroke-width="2"></path><path fill="none" d="M 535 210 L 550 210 C 550 210 555 210 555 205 L 555 195 C 555 190 550 190 550 190 L 280 190 L 283 193 M 280 190 L 283 187" stroke="#91e8e1" stroke-width="2"></path><path fill="none" d="M 770 280 L 780 280 L 780 230 L 280 230 L 283 233 M 280 230 L 283 227" stroke="#7cb5ec" stroke-width="2"></path><g class="normz-series-group" zIndex="3"></g><text x="420" text-anchor="middle" class="normz-title" zIndex="4" style="color:#333333;font-size:18px;fill:#333333;width:776px;" y="24">诺正检验工作流程图</text><g class="normz-legend" zIndex="7"><g zIndex="1"><g></g></g></g><g class="normz-tooltip" zIndex="8" style="cursor:default;padding:0;pointer-events:none;white-space:nowrap;" transform="translate(0,-9999)"><path fill="none" d="M 3.5 0.5 L 13.5 0.5 C 16.5 0.5 16.5 0.5 16.5 3.5 L 16.5 13.5 C 16.5 16.5 16.5 16.5 13.5 16.5 L 3.5 16.5 C 0.5 16.5 0.5 16.5 0.5 13.5 L 0.5 3.5 C 0.5 0.5 0.5 0.5 3.5 0.5" isShadow="true" stroke="black" stroke-opacity="0.049999999999999996" stroke-width="5" transform="translate(1, 1)"></path><path fill="none" d="M 3.5 0.5 L 13.5 0.5 C 16.5 0.5 16.5 0.5 16.5 3.5 L 16.5 13.5 C 16.5 16.5 16.5 16.5 13.5 16.5 L 3.5 16.5 C 0.5 16.5 0.5 16.5 0.5 13.5 L 0.5 3.5 C 0.5 0.5 0.5 0.5 3.5 0.5" isShadow="true" stroke="black" stroke-opacity="0.09999999999999999" stroke-width="3" transform="translate(1, 1)"></path><path fill="none" d="M 3.5 0.5 L 13.5 0.5 C 16.5 0.5 16.5 0.5 16.5 3.5 L 16.5 13.5 C 16.5 16.5 16.5 16.5 13.5 16.5 L 3.5 16.5 C 0.5 16.5 0.5 16.5 0.5 13.5 L 0.5 3.5 C 0.5 0.5 0.5 0.5 3.5 0.5" isShadow="true" stroke="black" stroke-opacity="0.15" stroke-width="1" transform="translate(1, 1)"></path><path fill="rgba(249, 249, 249, .85)" d="M 3.5 0.5 L 13.5 0.5 C 16.5 0.5 16.5 0.5 16.5 3.5 L 16.5 13.5 C 16.5 16.5 16.5 16.5 13.5 16.5 L 3.5 16.5 C 0.5 16.5 0.5 16.5 0.5 13.5 L 0.5 3.5 C 0.5 0.5 0.5 0.5 3.5 0.5"></path><text x="8" zIndex="1" style="font-size:12px;color:#333333;fill:#333333;" y="20"></text></g></svg> |
app/views/home/_range.html.erb
0 → 100644
1 | <div class="detectype wrapper"> | ||
2 | <h2>检测范围</h2> | ||
3 | <div class="detectrange left_to_right mb"> | ||
4 | <div class="mask"> | ||
5 | <h3>图表展示</h3> | ||
6 | <p>详细内容/跳转检测业务/详细描述页</p> | ||
7 | </div> | ||
8 | <div class="detecticon detectfood"></div> | ||
9 | <div class="detecttext"> | ||
10 | <h5>农产品检测</h5> | ||
11 | <p>诺正检测具备省级检测资质, 检测范围涵盖农药残留、营养含量等</p> | ||
12 | </div> | ||
13 | </div> | ||
14 | <div class="detectrange left_to_right mb"> | ||
15 | <div class="mask"> | ||
16 | <h3><a href="javascript:void(0);">图表展示</a></h3> | ||
17 | <p><a href="javascript:void(0);">详细内容/跳转检测业务/详细描述页</a></p> | ||
18 | </div> | ||
19 | <div class="detecticon detectmeat"></div> | ||
20 | <div class="detecttext"> | ||
21 | <h5>肉制品检测</h5> | ||
22 | <p>诺正检测具备省级检测资质, 检测范围涵盖农药残留、化学品含量等</p> | ||
23 | </div> | ||
24 | </div> | ||
25 | <div class="detectrange left_to_right mb"> | ||
26 | <div class="mask"> | ||
27 | <h3><a href="javascript:void(0);">图表展示</a></h3> | ||
28 | <p><a href="javascript:void(0);">详细内容/跳转检测业务/详细描述页</a></p> | ||
29 | </div> | ||
30 | <div class="detecticon detectmilieu"></div> | ||
31 | <div class="detecttext"> | ||
32 | <h5>环境检测</h5> | ||
33 | <p>诺正检测具备省级检测资质, 检测范围涵盖农药残留、化学品含量等</p> | ||
34 | </div> | ||
35 | </div> | ||
36 | <div class="detectrange left_to_right mb l"> | ||
37 | <div class="mask"> | ||
38 | <h3><a href="javascript:void(0);">图表展示</a></h3> | ||
39 | <p><a href="javascript:void(0);">详细内容/跳转检测业务/详细描述页</a></p> | ||
40 | </div> | ||
41 | <div class="detecticon detectfire"></div> | ||
42 | <div class="detecttext"> | ||
43 | <h5>消防检测</h5> | ||
44 | <p>诺正检测具备省级检测资质, 检测范围涵盖农药残留、化学品含量等</p> | ||
45 | </div> | ||
46 | </div> | ||
47 | <div class="detectrange left_to_right"> | ||
48 | <div class="mask"> | ||
49 | <h3>图表展示</h3> | ||
50 | <p>详细内容/跳转检测业务/详细描述页</p> | ||
51 | </div> | ||
52 | <div class="detecticon detectfeiliao"></div> | ||
53 | <div class="detecttext"> | ||
54 | <h5>肥料检测</h5> | ||
55 | <p>诺正检测具备省级检测资质, 检测范围涵盖农药残留、化学品含量等</p> | ||
56 | </div> | ||
57 | </div> | ||
58 | <div class="detectrange left_to_right"> | ||
59 | <div class="mask"> | ||
60 | <h3><a href="javascript:void(0);">图表展示</a></h3> | ||
61 | <p><a href="javascript:void(0);">详细内容/跳转检测业务/详细描述页</a></p> | ||
62 | </div> | ||
63 | <div class="detecticon detectsiliao"></div> | ||
64 | <div class="detecttext"> | ||
65 | <h5>饲料检测</h5> | ||
66 | <p>诺正检测具备省级检测资质, 检测范围涵盖农药残留、化学品含量等</p> | ||
67 | </div> | ||
68 | </div> | ||
69 | |||
70 | <div class="detectrange left_to_right"> | ||
71 | <div class="mask"> | ||
72 | <h3><a href="javascript:void(0);">图表展示</a></h3> | ||
73 | <p><a href="javascript:void(0);">详细内容/跳转检测业务/详细描述页</a></p> | ||
74 | </div> | ||
75 | <div class="detecticon detectshipin"></div> | ||
76 | <div class="detecttext"> | ||
77 | <h5>食品检测</h5> | ||
78 | <p>诺正检测具备省级检测资质, 检测范围涵盖农药残留、化学品含量等</p> | ||
79 | </div> | ||
80 | </div> | ||
81 | <div class="detectrange left_to_right l"> | ||
82 | <div class="mask"> | ||
83 | <h3><a href="javascript:void(0);">图表展示</a></h3> | ||
84 | <p><a href="javascript:void(0);">详细内容/跳转检测业务/详细描述页</a></p> | ||
85 | </div> | ||
86 | <div class="detecticon detectshuichan"></div> | ||
87 | <div class="detecttext"> | ||
88 | <h5>水产品检测</h5> | ||
89 | <p>诺正检测具备省级检测资质, 检测范围涵盖农药残留、化学品含量等</p> | ||
90 | </div> | ||
91 | </div> | ||
92 | </div> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
app/views/home/_service.html.erb
0 → 100644
1 | <div class="service wrapper"> | ||
2 | <h2>服务宗旨</h2> | ||
3 | <div class="block wow bounceInLeft"> | ||
4 | <div class="imgblock" data-wow-delay="0.1s"> | ||
5 | <img src="/images/jcrange/mubiao.jpg" alt="图片"> | ||
6 | </div> | ||
7 | <div class="txtblock"> | ||
8 | <h3>质量方针</h3> | ||
9 | <p> | ||
10 | 诚信、公正、科学、高效地保证质量第一。<br> | ||
11 | 坚持秉公检验,保证良好的职业规范和职业道德。<br> | ||
12 | 坚持信誉至上,保守秘密,确保客户权益。<br> | ||
13 | 坚持科学管理,保证资源,切实执行规范程序。<br> | ||
14 | 坚持高效服务,保证准确及时出具检验报告。<br> | ||
15 | 坚持服务质量第一、体系运行质量第一。<br> | ||
16 | </p> | ||
17 | <h3 style="margin-top:20px;">质量目标</h3> | ||
18 | <p> | ||
19 | 全年测试项目错误率不大于1‰。<br> | ||
20 | 报告及时率不低于99%。<br> | ||
21 | 客户投诉率不大于1%、投诉处理率100%。 | ||
22 | </p> | ||
23 | </div> | ||
24 | </div> | ||
25 | <div class="block wow bounceInRight"> | ||
26 | <div class="imgblock r"> | ||
27 | <img src="/images/jcrange/shangyang.jpg" alt="图片"> | ||
28 | </div> | ||
29 | <div class="txtblock"> | ||
30 | <h3>科学速检</h3> | ||
31 | <p>中科院沈阳生态应用研究所是中国农产品检测标准的制定者, 也是国内农产品检测技术最前沿的团队。</p> | ||
32 | <p>诺正检测与中科院沈阳生态应用研究所深入合作, 强强联手, 培养了大批国内顶尖的检测人员服务于诺正检测。并且公司购入大量进口的先进检测设备, 保证检测的权威, 公正, 科学性。</p> | ||
33 | </div> | ||
34 | </div> | ||
35 | <div class="block blocklast"> | ||
36 | <div class="imgblock wow bounceInLeft"> | ||
37 | <img src="/images/jcrange/kexuegongzheng.jpg" alt="图片"> | ||
38 | </div> | ||
39 | <div class="txtblock wow bounceInRight"> | ||
40 | <h3>服务承诺</h3> | ||
41 | <p>本公司具有第三方实验室的地位,检测工作不受任何来自内、外部的不正当的行政干预、商业利润和其它方面压力的影响。不生产、不经营所检验的产品,不和被检测单位发生利益冲突。</p> | ||
42 | <p>本公司严格遵守保密原则,保证不泄漏用户技术资料和检测结果。保证完善质量体系,提高检测水平和管理水平,在确保检验报告的真实和准确的前提下,使客户满意率达到100%。</p> | ||
43 | </div> | ||
44 | </div> | ||
45 | </div> |
app/views/home/index.html.erb
0 → 100644
app/views/home/show.html.erb
0 → 100644
1 | <% if params[:chan] == 'cultures' or params[:chan] == 'dynamics' %> | ||
2 | <div class="banner" style="background-image: url(/images/banner/<%= params[:chan] %>.jpg?v=1);"></div> | ||
3 | <% else %> | ||
4 | <div class="banner" style="background-image: url(/images/banner/banner.jpg?v=1);"></div> | ||
5 | <% end %> | ||
6 | |||
7 | <div class="inside wrapper"> | ||
8 | <div class="inside-left"> | ||
9 | <div class="top"><%= @chan_name %></div> | ||
10 | <ul> | ||
11 | <% @cates.each do |key, val| %> | ||
12 | <% if key.eql?(@cate) %> | ||
13 | <li class="active"> | ||
14 | <%= link_to val, {controller: :home, action: :show, chan: params[:chan], cate: key} %> | ||
15 | </li> | ||
16 | <% else %> | ||
17 | <li> | ||
18 | <%= link_to val, {controller: :home, action: :show, chan: params[:chan], cate: key} %> | ||
19 | </li> | ||
20 | <% end %> | ||
21 | <% end %> | ||
22 | </ul> | ||
23 | </div> | ||
24 | <div class="inside-right"> | ||
25 | <div class="detail"> | ||
26 | <div class="title"> | ||
27 | <h3><%= @post.try(:title) || @cate_name %></h3> | ||
28 | <small> | ||
29 | <%= link_to '首页', root_path %> | ||
30 | - | ||
31 | <%= link_to @chan_name, controller: :home, action: :show, chan: params[:chan] %> | ||
32 | - | ||
33 | <%= link_to @cate_name, controller: :home, action: :show, chan: params[:chan], cate: @cate %> | ||
34 | <% if params[:flag].present? %> | ||
35 | - | ||
36 | <%= link_to @post.title, 'javascript:void(0);' %> | ||
37 | <% end %> | ||
38 | </small> | ||
39 | </div> | ||
40 | <div class="preview"> | ||
41 | <% if @post %> | ||
42 | <%= @post.detail.html_safe %> | ||
43 | <% else %> | ||
44 | <% @posts.each do |post| %> | ||
45 | <div class="item"> | ||
46 | <% img_path = post.detail.scan(/<img[^>]+src\s*=\s*(['\"][^'\"]+['\"])[^>]*>/).flatten.first.gsub(/\"/, '') rescue '/images/default_200x150.jpg' %> | ||
47 | <img src="<%= img_path %>" alt="默认图片" class="pic"> | ||
48 | <h4 class="posth4"> | ||
49 | <%= link_to post.title, controller: :home, action: :show, chan: params[:chan], cate: @cate, flag: post.flag %> | ||
50 | </h4> | ||
51 | <div class="postdesc"> | ||
52 | <%= truncate(post.detail.gsub(/<\/?.*?>/,""), length: 120) %> | ||
53 | </div> | ||
54 | </div> | ||
55 | <% end %> | ||
56 | <%= paginate @posts %> | ||
57 | <% end %> | ||
58 | </div> | ||
59 | </div> | ||
60 | </div> | ||
61 | </div> |
app/views/kaminari/_first_page.html.erb
0 → 100644
app/views/kaminari/_gap.html.erb
0 → 100644
app/views/kaminari/_last_page.html.erb
0 → 100644
app/views/kaminari/_next_page.html.erb
0 → 100644
1 | <% if current_page.last? %> | ||
2 | <li class="disabled"> | ||
3 | <%= link_to raw(t 'views.pagination.next'), 'javascript:void(0);', :rel =>'next' %> | ||
4 | </li> | ||
5 | <% else %> | ||
6 | <li> | ||
7 | <%= link_to raw(t 'views.pagination.next'), url, :rel =>'next', :remote => remote %> | ||
8 | </li> | ||
9 | <% end %> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
app/views/kaminari/_page.html.erb
0 → 100644
app/views/kaminari/_paginator.html.erb
0 → 100644
1 | <%= paginator.render do -%> | ||
2 | <ul class="pagination<%= " page#{size}" if defined?(size) %> text-center"> | ||
3 | <%= first_page_tag %> | ||
4 | <%= prev_page_tag %> | ||
5 | <% each_page do |page| -%> | ||
6 | <% if page.left_outer? || page.right_outer? || page.inside_window? -%> | ||
7 | <%= page_tag page %> | ||
8 | <% elsif !page.was_truncated? -%> | ||
9 | <%= gap_tag %> | ||
10 | <% end -%> | ||
11 | <% end -%> | ||
12 | <%= next_page_tag %> | ||
13 | <%= last_page_tag %> | ||
14 | </ul> | ||
15 | <% end -%> |
app/views/kaminari/_prev_page.html.erb
0 → 100644
app/views/layouts/application.html.erb
0 → 100644
1 | <!DOCTYPE html> | ||
2 | <html> | ||
3 | <head> | ||
4 | <title><%= @title %></title> | ||
5 | <meta name="keywords" content="<%= @keywords %>"> | ||
6 | <meta name="description" content="<%= @description %>"> | ||
7 | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> | ||
8 | <meta http-equiv="content-type" content="text/html;charset=utf-8"> | ||
9 | <link rel="shortcut icon" href="/images/favicon.ico" type="image/x-icon"> | ||
10 | <%= stylesheet_link_tag "application", :media => "all" %> | ||
11 | <%= javascript_include_tag "application" %> | ||
12 | <%= csrf_meta_tags %> | ||
13 | </head> | ||
14 | <body> | ||
15 | <%= render 'shared/header' %> | ||
16 | <%= yield %> | ||
17 | <%= render 'shared/footer' %> | ||
18 | <div class="navi-scroll" style="display: block;"> | ||
19 | <div class="navi-scroll-content"> | ||
20 | <a href="/abouts/lxwm" class="scroll-contact-btn"> | ||
21 | <span>联系我们</span> | ||
22 | <i></i> | ||
23 | </a> | ||
24 | <a href="/sources/wssj" class="scroll-order-btn"> | ||
25 | <span>我要送检</span> | ||
26 | <i></i> | ||
27 | </a> | ||
28 | <a href="javascript:void(0);" class="scroll-top-btn" id="to-top"> | ||
29 | <span>回到顶部</span> | ||
30 | <i></i> | ||
31 | </a> | ||
32 | </div> | ||
33 | </div> | ||
34 | <script src="/javascripts/initialize.js" type="text/javascript"></script> | ||
35 | </body> | ||
36 | </html> |
app/views/layouts/mobile.html.erb
0 → 100644
1 | <!DOCTYPE html> | ||
2 | <html> | ||
3 | <head> | ||
4 | <title><%= @title %></title> | ||
5 | <meta charset="utf-8"> | ||
6 | <meta name="keywords" content="<%= @keywords %>"> | ||
7 | <meta name="description" content="<%= @description %>"> | ||
8 | <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width"> | ||
9 | |||
10 | <script> | ||
11 | window.CHANNELS = <%= raw Post::CATE.to_json %>; | ||
12 | </script> | ||
13 | <%= stylesheet_link_tag "mobile", :media => "all" %> | ||
14 | <script src="/javascripts/mobile/ionic.bundle.js"></script> | ||
15 | <script src="/javascripts/mobile/ion-gallery.js"></script> | ||
16 | <script src="/javascripts/mobile/app.js"></script> | ||
17 | <script src="/javascripts/mobile/controllers.js"></script> | ||
18 | <%= csrf_meta_tags %> | ||
19 | </head> | ||
20 | <body ng-app="starter"> | ||
21 | <ion-nav-view></ion-nav-view> | ||
22 | </body> | ||
23 | </html> |
app/views/layouts/posts.html.erb
0 → 100644
1 | <!DOCTYPE html> | ||
2 | <html> | ||
3 | <head> | ||
4 | <title>诺正检测 | NORMZ TESTING</title> | ||
5 | <meta name="keywords" content="诺正检测,农产品检测,肉制品检测,消防检测,环境检测,CANS认证"> | ||
6 | <meta name="description" content="诺正检测是在中国科学院沈阳应用生态研究所技术支持下成立的综合性检测公司,是通过山东省级资质认定及农业行业机构认证的第三方检验机构,主要从事食品、农产品、环境、饲料、肥料及水产养殖、畜牧产品、消防设施等领域的检验检测,以及相关技术咨询、培训、研发。"> | ||
7 | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> | ||
8 | <meta http-equiv="content-type" content="text/html;charset=utf-8"> | ||
9 | <link rel="shortcut icon" href="/images/favicon.ico" type="image/x-icon"> | ||
10 | <%= stylesheet_link_tag "admin", :media => "all" %> | ||
11 | <%= javascript_include_tag "application" %> | ||
12 | <link rel="stylesheet" type="text/css" href="/stylesheets/simditor.css" /> | ||
13 | <script type="text/javascript" src="/javascripts/simditor/module.js"></script> | ||
14 | <script type="text/javascript" src="/javascripts/simditor/uploader.js"></script> | ||
15 | <script type="text/javascript" src="/javascripts/simditor/hotkeys.js"></script> | ||
16 | <script type="text/javascript" src="/javascripts/simditor/simditor.js"></script> | ||
17 | <script type="text/javascript" src="/javascripts/simditor/mobilecheck.js"></script> | ||
18 | <%= csrf_meta_tags %> | ||
19 | </head> | ||
20 | <body> | ||
21 | <div class="posts"> | ||
22 | <%= yield %> | ||
23 | </div> | ||
24 | <script type="text/javascript"> | ||
25 | $(function(){ | ||
26 | var cate = <%= Post::CATE.to_json.html_safe %>; | ||
27 | $(document).on("change", "#post_chan", function(){ | ||
28 | var _val = cate[$(this).val()]['cate']; | ||
29 | var _str = ''; | ||
30 | for(var k in _val){ | ||
31 | _str += '<option value="' + k + '">' + _val[k] + '</option>'; | ||
32 | } | ||
33 | $("#post_cate").html(_str); | ||
34 | }) | ||
35 | }) | ||
36 | </script> | ||
37 | </body> | ||
38 | </html> |
app/views/mobile/index.html.erb
0 → 100644
File mode changed
app/views/posts/_form.html.erb
0 → 100644
1 | <%= form_for(@post) do |f| %> | ||
2 | <% if @post.errors.any? %> | ||
3 | <div id="error_explanation"> | ||
4 | <h2><%= pluralize(@post.errors.count, "error") %> prohibited this post from being saved:</h2> | ||
5 | <ul> | ||
6 | <% @post.errors.full_messages.each do |msg| %> | ||
7 | <li><%= msg %></li> | ||
8 | <% end %> | ||
9 | </ul> | ||
10 | </div> | ||
11 | <% end %> | ||
12 | <div class="field"> | ||
13 | <span><%= f.label :title, '标题' %></span> | ||
14 | <%= f.text_field :title, placeholder: '标题 30字以内 不能为空' %> | ||
15 | </div> | ||
16 | <div class="field"> | ||
17 | <span><%= f.label :flag, '别名' %></span> | ||
18 | <%= f.text_field :flag, placeholder: '可以不填让系统自动生成' %> | ||
19 | </div> | ||
20 | <div class="field"> | ||
21 | <span><%= f.label :words, '关键词' %></span> | ||
22 | <%= f.text_field :words, placeholder: '英文逗号隔开,' %> | ||
23 | </div> | ||
24 | <div class="field"> | ||
25 | <span><%= f.label :chan, '频道' %></span> | ||
26 | <%= f.select :chan, Hash[Post::CATE.map{|k, v| [v[:name], k]}] %> | ||
27 | | ||
28 | | ||
29 | <span><%= f.label :cate, '类别' %></span> | ||
30 | <%= f.select :cate, Post::CATE[@post.try(:chan) || Post::CATE.keys.first][:cate].invert %> | ||
31 | </div> | ||
32 | <% if params[:source] == 'edit' %> | ||
33 | <%= f.text_area :detail, style: "border: 1px solid #c9d8db;width:100%;height:400px;" %> | ||
34 | <% else %> | ||
35 | <%= render 'source', f: f %> | ||
36 | <% end %> | ||
37 | <br> | ||
38 | <%= f.submit %> | ||
39 | <% end %> |
app/views/posts/_source.html.erb
0 → 100644
1 | <section id="nuozheng-post"> | ||
2 | <%= f.text_area :detail, id: 'txt-content', 'data-autosave' => 'editor-content', autofocus: nil %> | ||
3 | <div class="postdetail"></div> | ||
4 | </section> | ||
5 | <script> | ||
6 | (function() { | ||
7 | $(function() { | ||
8 | var $preview, editor, mobileToolbar, toolbar; | ||
9 | Simditor.locale = 'zh-CN'; | ||
10 | toolbar = ['title', 'bold', 'italic', 'underline', 'strikethrough', 'fontScale', 'color', '|', 'ol', 'ul', 'blockquote', 'table', '|', 'link', 'image', 'hr', '|', 'indent', 'outdent', 'alignment']; | ||
11 | mobileToolbar = ["bold", "underline", "strikethrough", "color", "ul", "ol"]; | ||
12 | if (mobilecheck()) { | ||
13 | toolbar = mobileToolbar; | ||
14 | } | ||
15 | editor = new Simditor({ | ||
16 | textarea: $('#txt-content'), | ||
17 | placeholder: '这里输入文字...', | ||
18 | toolbar: toolbar, | ||
19 | pasteImage: true, | ||
20 | defaultImage: '/images/logo.png', | ||
21 | upload: { | ||
22 | url: '/upload' | ||
23 | } | ||
24 | }); | ||
25 | $preview = $('.postdetail'); | ||
26 | if ($preview.length > 0) { | ||
27 | return editor.on('valuechanged', function(e) { | ||
28 | return $preview.html(editor.getValue()); | ||
29 | }); | ||
30 | } | ||
31 | }); | ||
32 | |||
33 | }).call(this); | ||
34 | </script> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
app/views/posts/edit.html.erb
0 → 100644
1 | <h3 class="title"> | ||
2 | 修改文章 | ||
3 | <small> | ||
4 | <%= link_to '返回文章列表', posts_path(schan: params[:schan], scate: params[:scate], screa: params[:screa], page: params[:page]) %> | ||
5 | / | ||
6 | <%= link_to '预览效果', post_path(@post, schan: params[:schan], scate: params[:scate], screa: params[:screa], page: params[:page]) %> | ||
7 | / | ||
8 | <% if params[:source] == 'edit' %> | ||
9 | <%= link_to '正常编辑', edit_post_path(@post, schan: params[:schan], scate: params[:scate], screa: params[:screa], page: params[:page]) %> | ||
10 | <% else %> | ||
11 | <%= link_to '源码编辑', edit_post_path(@post, schan: params[:schan], scate: params[:scate], screa: params[:screa], page: params[:page], source: 'edit') %> | ||
12 | <% end %> | ||
13 | </small> | ||
14 | </h3> | ||
15 | |||
16 | <%= render 'form' %> |
app/views/posts/index.html.erb
0 → 100644
1 | <h3 class="title"> | ||
2 | 文章管理 | ||
3 | <small> | ||
4 | <%= link_to '去首页', root_path %> | ||
5 | / | ||
6 | <%= link_to '注销', sign_out_path %> | ||
7 | / | ||
8 | <%= link_to '发布文章', new_post_path(schan: params[:schan], scate: params[:scate], screa: params[:screa], page: params[:page]) %> | ||
9 | </small> | ||
10 | </h3> | ||
11 | <table class="list"> | ||
12 | <tr> | ||
13 | <th width="3%"> | ||
14 | ID | ||
15 | </th> | ||
16 | <th width="25%"> | ||
17 | <!-- <input> --> | ||
18 | 标题 | ||
19 | </th> | ||
20 | <th width="16%"> | ||
21 | <%= link_to "类别#{params[:scate] == 'desc' ? '△' : '▽'}", posts_path(scate: params[:scate] == 'desc' ? 'asc' : 'desc') %> | ||
22 | </th> | ||
23 | <th width="16%"> | ||
24 | <%= link_to "频道#{params[:schan] == 'desc' ? '△' : '▽'}", posts_path(schan: params[:schan] == 'desc' ? 'asc' : 'desc') %> | ||
25 | </th> | ||
26 | <th width="10%"> | ||
27 | <%= link_to "日期#{params[:screa] == 'desc' ? '▽' : '△'}", posts_path(screa: params[:screa] == 'desc' ? 'asc' : 'desc') %> | ||
28 | </th> | ||
29 | <th width="10%">别名</th> | ||
30 | <th width="20%">操作</th> | ||
31 | </tr> | ||
32 | |||
33 | <% @posts.each do |post| %> | ||
34 | <tr> | ||
35 | <td><%= post.id %></td> | ||
36 | <td><%= post.title %></td> | ||
37 | <td><%= Post::CATE[post.chan][:cate][post.cate] %></td> | ||
38 | <td><%= Post::CATE[post.chan][:name] %></td> | ||
39 | <td><%= post.created_at.to_date %></td> | ||
40 | <td><%= post.flag %></td> | ||
41 | <td> | ||
42 | <%= link_to '详细', post_path(post, schan: params[:schan], scate: params[:scate], screa: params[:screa], page: params[:page]) %> | ||
43 | / | ||
44 | <%= link_to '编辑', edit_post_path(post, schan: params[:schan], scate: params[:scate], screa: params[:screa], page: params[:page]) %> | ||
45 | / | ||
46 | <%= link_to '删除', post, method: :delete, data: { confirm: '确定删除?' } %> | ||
47 | </tr> | ||
48 | <% end %> | ||
49 | </table> | ||
50 | <%= paginate @posts %> |
app/views/posts/new.html.erb
0 → 100644
1 | <h3 class="title"> | ||
2 | 发布文章 | ||
3 | <small> | ||
4 | <%= link_to '返回文章列表', posts_path(schan: params[:schan], scate: params[:scate], screa: params[:screa], page: params[:page]) %> | ||
5 | / | ||
6 | <% if params[:source] == 'edit' %> | ||
7 | <%= link_to '正常编辑', new_post_path(schan: params[:schan], scate: params[:scate], screa: params[:screa], page: params[:page]) %> | ||
8 | <% else %> | ||
9 | <%= link_to '源码编辑', new_post_path(schan: params[:schan], scate: params[:scate], screa: params[:screa], page: params[:page], source: 'edit') %> | ||
10 | <% end %> | ||
11 | </small> | ||
12 | </h3> | ||
13 | |||
14 | <%= render 'form' %> | ||
15 | |||
16 |
app/views/posts/show.html.erb
0 → 100644
1 | <div style="border-bottom: 3px solid #ccc;"> | ||
2 | <h3 class="title"> | ||
3 | <%= @post.title %> | ||
4 | <small> | ||
5 | <%= link_to '文章列表', posts_path(schan: params[:schan], scate: params[:scate], screa: params[:screa], page: params[:page]) %> | ||
6 | / | ||
7 | <%= link_to '编辑文章', edit_post_path(@post, schan: params[:schan], scate: params[:scate], screa: params[:screa], page: params[:page]) %> | ||
8 | / | ||
9 | <%= link_to '发布文章', new_post_path(schan: params[:schan], scate: params[:scate], screa: params[:screa], page: params[:page]) %> | ||
10 | / | ||
11 | 首页 - <%= Post::CATE[@post.chan][:name] %> - <%= Post::CATE[@post.chan][:cate][@post.cate] %> | ||
12 | </small> | ||
13 | </h3> | ||
14 | </div> | ||
15 | <div class="postdetail"> | ||
16 | <%= @post.detail.html_safe %> | ||
17 | </div> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
app/views/posts/sign_in.html.erb
0 → 100644
1 | <p> | ||
2 | <%= flash[:notice] %> | ||
3 | </p> | ||
4 | <form action="/sign_in" method="post"> | ||
5 | <input name="utf8" type="hidden" value="✓"> | ||
6 | <input name="authenticity_token" type="hidden" value="<%= form_authenticity_token %>"> | ||
7 | 账号 <input type="text" name="username"> | ||
8 | 密码 <input type="password" name="password"> | ||
9 | <input type="submit" value="登陆"> | ||
10 | </form> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
app/views/shared/_footer.html.erb
0 → 100644
1 | <div class="footer"> | ||
2 | <ul class="ftservice wrapper"> | ||
3 | <% if controller_name.eql?('home') and action_name.eql?('index') %> | ||
4 | <li class="item wow fadeInUpBig" data-wow-delay="0.0s"> | ||
5 | <img src="/images/bottom/1.jpg" alt="公正独立"> | ||
6 | <h5>公正独立</h5> | ||
7 | <p>不受任何一方制约的第三方机构</p> | ||
8 | </li> | ||
9 | <li class="item wow fadeInUpBig" data-wow-delay="0.3s"> | ||
10 | <img src="/images/bottom/2.jpg" alt="3天速检"> | ||
11 | <h5>3天速检</h5> | ||
12 | <p>高效快速的检测效果</p> | ||
13 | </li> | ||
14 | <li class="item wow fadeInUpBig" data-wow-delay="0.6s"> | ||
15 | <img src="/images/bottom/3.jpg" alt="国家级认证"> | ||
16 | <h5>国家级认证</h5> | ||
17 | <p>国家级认定权威检测机构</p> | ||
18 | </li> | ||
19 | <li class="item wow fadeInUpBig" data-wow-delay="0.9s"> | ||
20 | <img src="/images/bottom/4.jpg" alt="全程记录"> | ||
21 | <h5>全程记录</h5> | ||
22 | <p>检验过程全程记录存档</p> | ||
23 | </li> | ||
24 | <li class="item wow fadeInUpBig" data-wow-delay="1.2s"> | ||
25 | <img src="/images/bottom/5.jpg" alt="先进软硬件设施"> | ||
26 | <h5>先进软硬件设施</h5> | ||
27 | <p>采用国外先进检测设备</p> | ||
28 | </li> | ||
29 | <% else %> | ||
30 | <li class="item"> | ||
31 | <img src="/images/bottom/1.jpg" alt="公正独立"> | ||
32 | <h5>公正独立</h5> | ||
33 | <p>不受任何一方制约的第三方机构</p> | ||
34 | </li> | ||
35 | <li class="item"> | ||
36 | <img src="/images/bottom/2.jpg" alt="3天速检"> | ||
37 | <h5>3天速检</h5> | ||
38 | <p>高效快速的检测效果</p> | ||
39 | </li> | ||
40 | <li class="item"> | ||
41 | <img src="/images/bottom/3.jpg" alt="国家级认证"> | ||
42 | <h5>国家级认证</h5> | ||
43 | <p>国家级认定权威检测机构</p> | ||
44 | </li> | ||
45 | <li class="item"> | ||
46 | <img src="/images/bottom/4.jpg" alt="全程记录"> | ||
47 | <h5>全程记录</h5> | ||
48 | <p>检验过程全程记录存档</p> | ||
49 | </li> | ||
50 | <li class="item"> | ||
51 | <img src="/images/bottom/5.jpg" alt="先进软硬件设施"> | ||
52 | <h5>先进软硬件设施</h5> | ||
53 | <p>采用国外先进检测设备</p> | ||
54 | </li> | ||
55 | <% end %> | ||
56 | </ul> | ||
57 | <div class="line"></div> | ||
58 | <ul class="ftlinks wrapper"> | ||
59 | <li class="ftlink"> | ||
60 | <a class="linktitle" href="javascript:void(0);">关于我们</a> | ||
61 | <ul> | ||
62 | <li> | ||
63 | <a href="/abouts/gsjj/jianjie"> | ||
64 | 公司简介 | ||
65 | </a> | ||
66 | </li> | ||
67 | <li> | ||
68 | <a href="/cultures"> | ||
69 | 企业文化 | ||
70 | </a> | ||
71 | </li> | ||
72 | <li> | ||
73 | <a href="/abouts/fwcn"> | ||
74 | 服务宗旨 | ||
75 | </a> | ||
76 | </li> | ||
77 | <li> | ||
78 | <a href="/abouts/yjss/devices"> | ||
79 | 实验室仪器 | ||
80 | </a> | ||
81 | </li> | ||
82 | <li> | ||
83 | <a href="/abouts/gsjj/BrYJrm"> | ||
84 | 企业宣传片 | ||
85 | </a> | ||
86 | </li> | ||
87 | </ul> | ||
88 | </li> | ||
89 | <li class="ftlink"> | ||
90 | <a class="linktitle" href="javascript:void(0);">业务领域</a> | ||
91 | <ul> | ||
92 | <li> | ||
93 | <a href="/ranges/hjjc"> | ||
94 | 环境检测 | ||
95 | </a> | ||
96 | </li> | ||
97 | <li> | ||
98 | <a href="/ranges/xfjc"> | ||
99 | 消防检测 | ||
100 | </a> | ||
101 | </li> | ||
102 | <li> | ||
103 | <a href="/ranges/ncpjc"> | ||
104 | 农产品检测 | ||
105 | </a> | ||
106 | </li> | ||
107 | <li> | ||
108 | <a href="/ranges/rzpjc"> | ||
109 | 肉制品检测 | ||
110 | </a> | ||
111 | </li> | ||
112 | <li> | ||
113 | <a href="javascript:void(0);"> | ||
114 | 添加剂检测 | ||
115 | </a> | ||
116 | </li> | ||
117 | </ul> | ||
118 | </li> | ||
119 | <li class="ftlink"> | ||
120 | <a class="linktitle" href="javascript:void(0);">检测范围</a> | ||
121 | <ul> | ||
122 | <li> | ||
123 | <a href="javascript:void(0);"> | ||
124 | 农药残留 | ||
125 | </a> | ||
126 | </li> | ||
127 | <li> | ||
128 | <a href="javascript:void(0);"> | ||
129 | 食品添加剂 | ||
130 | </a> | ||
131 | </li> | ||
132 | <li> | ||
133 | <a href="javascript:void(0);"> | ||
134 | 重金属含量 | ||
135 | </a> | ||
136 | </li> | ||
137 | <li> | ||
138 | <a href="javascript:void(0);"> | ||
139 | 微生物检测 | ||
140 | </a> | ||
141 | </li> | ||
142 | <li> | ||
143 | <a href="javascript:void(0);"> | ||
144 | 塑化剂检测 | ||
145 | </a> | ||
146 | </li> | ||
147 | </ul> | ||
148 | </li> | ||
149 | <li class="ftlink"> | ||
150 | <a class="linktitle" href="javascript:void(0);">合作单位</a> | ||
151 | <ul> | ||
152 | <li> | ||
153 | <a href="http://www.iae.cas.cn/" target="_blank"> | ||
154 | 中科院沈阳应用生态研究所 | ||
155 | </a> | ||
156 | </li> | ||
157 | <!-- <li> | ||
158 | <a href="javascript:void(0);"> | ||
159 | 中国水科院 | ||
160 | </a> | ||
161 | </li> | ||
162 | <li> | ||
163 | <a href="javascript:void(0);"> | ||
164 | 青岛啤酒 | ||
165 | </a> | ||
166 | </li> | ||
167 | <li> | ||
168 | <a href="javascript:void(0);"> | ||
169 | 北京沙河水库 | ||
170 | </a> | ||
171 | </li> | ||
172 | <li> | ||
173 | <a href="javascript:void(0);"> | ||
174 | 菏泽牡丹园 | ||
175 | </a> | ||
176 | </li> --> | ||
177 | </ul> | ||
178 | </li> | ||
179 | <li class="ftlink"> | ||
180 | <a class="linktitle" href="javascript:void(0);">联系我们</a> | ||
181 | <div class="ftcontact wrapper"> | ||
182 | <div class="ftphoneicon"> | ||
183 | <span></span> | ||
184 | </div> | ||
185 | <div class="ftphoneinfo"> | ||
186 | <h4>0536-5607056</h4> | ||
187 | <p>7*24小时客服电话</p> | ||
188 | </div> | ||
189 | </div> | ||
190 | <!-- <div class="ftcontact wrapper wechat"> | ||
191 | <div class="ftphoneicon"> | ||
192 | <span></span> | ||
193 | </div> | ||
194 | <div class="ftphoneinfo"> | ||
195 | <h4>微信客服</h4> | ||
196 | <p>扫码关注</p> | ||
197 | </div> | ||
198 | </div> --> | ||
199 | <!-- <ul> | ||
200 | <li> | ||
201 | <a href="javascript:void(0);"> | ||
202 | 微信 | ||
203 | </a> | ||
204 | <a href="javascript:void(0);"> | ||
205 | 微博 | ||
206 | </a> | ||
207 | <a href="javascript:void(0);"> | ||
208 | 邮箱 | ||
209 | </a> | ||
210 | <a href="javascript:void(0);"> | ||
211 | 电话 | ||
212 | </a> | ||
213 | <a href="javascript:void(0);"> | ||
214 | 地址 | ||
215 | </a> | ||
216 | </li> | ||
217 | </ul> --> | ||
218 | </li> | ||
219 | </ul> | ||
220 | <div class="line"></div> | ||
221 | <div class="ftwarp wrapper"> | ||
222 | <div class="copyright"> | ||
223 | Copyright © 2015-2016 山东诺正检测有限公司 | ||
224 | <br><br> | ||
225 | 版权所有 鲁ICP备15045188号 | ||
226 | </div> | ||
227 | <ul class="copyul"> | ||
228 | <li> | ||
229 | <a href="javascript:void(0);" title="诺正版权, 翻版必究">版权说明</a> | ||
230 | </li> | ||
231 | <li> | ||
232 | <a href="javascript:void(0);">使用协议</a> | ||
233 | </li> | ||
234 | <li> | ||
235 | <a href="javascript:void(0);" title="山东懒虫科技有限公司">技术支持</a> | ||
236 | </li> | ||
237 | <li> | ||
238 | <a href="/sign_in">后台管理</a> | ||
239 | </li> | ||
240 | </ul> | ||
241 | </div> | ||
242 | </div> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
app/views/shared/_header.html.erb
0 → 100644
1 | <div class="header"> | ||
2 | <div class="wrapper"> | ||
3 | <div class="logo"> | ||
4 | <a href="/" title="山东诺正检测有限公司"> | ||
5 | <img src="/images/logo.png" alt="诺正Logo"> | ||
6 | </a> | ||
7 | <span style="font-size: 25px;">山东诺正检测有限公司</span> | ||
8 | </div> | ||
9 | <div class="nav"> | ||
10 | <ul class="menu"> | ||
11 | <li> | ||
12 | <%= link_to '诺正首页', root_path, class: "#{'active' if request.path == '/'}" %> | ||
13 | </li> | ||
14 | <% Post::CATE.each do |key, val| %> | ||
15 | <li> | ||
16 | <%= link_to val[:name], {controller: :home, action: :show, chan: key}, class: "#{'active' if params[:chan].eql?(key)}" %> | ||
17 | </li> | ||
18 | <% end %> | ||
19 | </ul> | ||
20 | </div> | ||
21 | </div> | ||
22 | </div> |
config.ru
0 → 100644
config/application.rb
0 → 100644
1 | require File.expand_path('../boot', __FILE__) | ||
2 | |||
3 | require 'rails/all' | ||
4 | |||
5 | if defined?(Bundler) | ||
6 | # If you precompile assets before deploying to production, use this line | ||
7 | Bundler.require(*Rails.groups(:assets => %w(development test))) | ||
8 | # If you want your assets lazily compiled in production, use this line | ||
9 | # Bundler.require(:default, :assets, Rails.env) | ||
10 | end | ||
11 | |||
12 | module Nuozheng | ||
13 | class Application < Rails::Application | ||
14 | # Settings in config/environments/* take precedence over those specified here. | ||
15 | # Application configuration should go into files in config/initializers | ||
16 | # -- all .rb files in that directory are automatically loaded. | ||
17 | |||
18 | # Custom directories with classes and modules you want to be autoloadable. | ||
19 | # config.autoload_paths += %W(#{config.root}/extras) | ||
20 | |||
21 | # Only load the plugins named here, in the order given (default is alphabetical). | ||
22 | # :all can be used as a placeholder for all plugins not explicitly named. | ||
23 | # config.plugins = [ :exception_notification, :ssl_requirement, :all ] | ||
24 | |||
25 | # Activate observers that should always be running. | ||
26 | # config.active_record.observers = :cacher, :garbage_collector, :forum_observer | ||
27 | |||
28 | # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone. | ||
29 | # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC. | ||
30 | # config.time_zone = 'Central Time (US & Canada)' | ||
31 | |||
32 | # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded. | ||
33 | # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s] | ||
34 | # config.i18n.default_locale = :de | ||
35 | |||
36 | # Configure the default encoding used in templates for Ruby 1.9. | ||
37 | config.encoding = "utf-8" | ||
38 | |||
39 | # Configure sensitive parameters which will be filtered from the log file. | ||
40 | config.filter_parameters += [:password] | ||
41 | |||
42 | # Enable escaping HTML in JSON. | ||
43 | config.active_support.escape_html_entities_in_json = true | ||
44 | |||
45 | # Use SQL instead of Active Record's schema dumper when creating the database. | ||
46 | # This is necessary if your schema can't be completely dumped by the schema dumper, | ||
47 | # like if you have constraints or database-specific column types | ||
48 | # config.active_record.schema_format = :sql | ||
49 | |||
50 | # Enforce whitelist mode for mass assignment. | ||
51 | # This will create an empty whitelist of attributes available for mass-assignment for all models | ||
52 | # in your app. As such, your models will need to explicitly whitelist or blacklist accessible | ||
53 | # parameters by using an attr_accessible or attr_protected declaration. | ||
54 | config.active_record.whitelist_attributes = true | ||
55 | |||
56 | # Enable the asset pipeline | ||
57 | config.assets.enabled = true | ||
58 | |||
59 | # Version of your assets, change this if you want to expire all your assets | ||
60 | config.assets.version = '1.0' | ||
61 | end | ||
62 | end |
config/boot.rb
0 → 100644
config/database.yml
0 → 100644
1 | # MySQL. Versions 4.1 and 5.0 are recommended. | ||
2 | # | ||
3 | # Install the MYSQL driver | ||
4 | # gem install mysql2 | ||
5 | # | ||
6 | # Ensure the MySQL gem is defined in your Gemfile | ||
7 | # gem 'mysql2' | ||
8 | # | ||
9 | # And be sure to use new-style password hashing: | ||
10 | # http://dev.mysql.com/doc/refman/5.0/en/old-client.html | ||
11 | development: | ||
12 | adapter: mysql2 | ||
13 | encoding: utf8 | ||
14 | reconnect: false | ||
15 | database: nuozheng | ||
16 | pool: 5 | ||
17 | username: tmp | ||
18 | password: tmp | ||
19 | |||
20 | # Warning: The database defined as "test" will be erased and | ||
21 | # re-generated from your development database when you run "rake". | ||
22 | # Do not set this db to the same as development or production. | ||
23 | test: | ||
24 | adapter: mysql2 | ||
25 | encoding: utf8 | ||
26 | reconnect: false | ||
27 | database: nuozheng | ||
28 | pool: 5 | ||
29 | username: tmp | ||
30 | password: tmp | ||
31 | |||
32 | production: | ||
33 | adapter: mysql2 | ||
34 | encoding: utf8 | ||
35 | reconnect: false | ||
36 | database: nuozheng | ||
37 | pool: 5 | ||
38 | username: tmp | ||
39 | password: tmp |
config/deploy.rb
0 → 100644
1 | require "awesome_print" | ||
2 | # config valid only for current version of Capistrano | ||
3 | lock '3.4.0' | ||
4 | |||
5 | set :application, 'nuozheng' | ||
6 | set :repo_url, 'git@bitbucket.org:bopro/nuozheng.git' | ||
7 | set :branch, "master" | ||
8 | set :deploy_to, '/home/web/nuozheng' | ||
9 | set :scm, :git | ||
10 | set :pty, false | ||
11 | |||
12 | set :keep_releases, 3 | ||
13 | set :unicorn_config, "#{current_path}/config/unicorn.rb" | ||
14 | set :unicorn_pid, "#{shared_path}/tmp/pids/unicorn_nuozheng.pid" | ||
15 | |||
16 | namespace :deploy do | ||
17 | |||
18 | task :start do | ||
19 | on roles(:web) do | ||
20 | within current_path do | ||
21 | with rails_env: 'production' do | ||
22 | execute :bundle, "exec unicorn_rails -c #{fetch(:unicorn_config)} -D" | ||
23 | end | ||
24 | end | ||
25 | end | ||
26 | end | ||
27 | |||
28 | task :stop do | ||
29 | on roles(:web) do | ||
30 | execute "if [ -f #{fetch(:unicorn_pid)} ]; then kill -QUIT `cat #{fetch(:unicorn_pid)}`; fi" | ||
31 | end | ||
32 | end | ||
33 | |||
34 | task :restart do | ||
35 | on roles(:web) do | ||
36 | # within current_path do | ||
37 | # 用USR2信号来实现无缝部署重启 | ||
38 | execute "if [ -f #{fetch(:unicorn_pid)} ]; then kill -s USR2 `cat #{fetch(:unicorn_pid)}`; fi" | ||
39 | # end | ||
40 | end | ||
41 | end | ||
42 | |||
43 | task :mkdir_shared do | ||
44 | on roles(:web) do | ||
45 | execute "mkdir -p #{shared_path}/log" | ||
46 | execute "mkdir -p #{shared_path}/assets" | ||
47 | execute "mkdir -p #{shared_path}/tmp/pids" | ||
48 | execute "mkdir -p #{shared_path}/tmp/cache" | ||
49 | end | ||
50 | end | ||
51 | |||
52 | task :link_shared do | ||
53 | on roles(:web) do | ||
54 | execute "ln -sf #{shared_path}/log #{current_path}/log" | ||
55 | execute "ln -sf #{shared_path}/assets #{current_path}/public/assets" | ||
56 | execute "ln -sf #{shared_path}/tmp #{current_path}/tmp" | ||
57 | end | ||
58 | end | ||
59 | |||
60 | task :db_migrate do | ||
61 | on roles(:web) do | ||
62 | within current_path do | ||
63 | with rails_env: 'production' do | ||
64 | execute :bundle, :exec, :rake, 'db:migrate' | ||
65 | end | ||
66 | end | ||
67 | end | ||
68 | end | ||
69 | |||
70 | task :bundle_install do | ||
71 | on roles(:web) do | ||
72 | within current_path do | ||
73 | with rails_env: 'production' do | ||
74 | execute :bundle, 'install' | ||
75 | end | ||
76 | end | ||
77 | end | ||
78 | end | ||
79 | |||
80 | before :starting, :mkdir_shared | ||
81 | after :publishing, :link_shared | ||
82 | after :publishing, :bundle_install | ||
83 | after :publishing, :db_migrate | ||
84 | after :publishing, :restart # 第一次部署会有找不到unicron.pid的bug | ||
85 | |||
86 | end |
config/deploy/production.rb
0 → 100644
1 | # server-based syntax | ||
2 | # ====================== | ||
3 | # Defines a single server with a list of roles and multiple properties. | ||
4 | # You can define all roles on a single server, or split them: | ||
5 | |||
6 | # server 'example.com', user: 'deploy', roles: %w{app db web}, my_property: :my_value | ||
7 | # server 'example.com', user: 'deploy', roles: %w{app web}, other_property: :other_value | ||
8 | server '115.28.86.237', user: 'web', roles: %w{app db web} | ||
9 | |||
10 | |||
11 | |||
12 | # role-based syntax | ||
13 | # ================== | ||
14 | |||
15 | # Defines a role with one or multiple servers. The primary server in each | ||
16 | # group is considered to be the first unless any hosts have the primary | ||
17 | # property set. Specify the username and a domain or IP for the server. | ||
18 | # Don't use `:all`, it's a meta role. | ||
19 | |||
20 | role :app, "115.28.86.237" | ||
21 | # role :web, %w{user1@primary.com user2@additional.com}, other_property: :other_value | ||
22 | # role :db, %w{deploy@example.com} | ||
23 | |||
24 | |||
25 | |||
26 | # Configuration | ||
27 | # ============= | ||
28 | # You can set any configuration variable like in config/deploy.rb | ||
29 | # These variables are then only loaded and set in this stage. | ||
30 | # For available Capistrano configuration variables see the documentation page. | ||
31 | # http://capistranorb.com/documentation/getting-started/configuration/ | ||
32 | # Feel free to add new variables to customise your setup. | ||
33 | |||
34 | |||
35 | |||
36 | # Custom SSH Options | ||
37 | # ================== | ||
38 | # You may pass any option but keep in mind that net/ssh understands a | ||
39 | # limited set of options, consult the Net::SSH documentation. | ||
40 | # http://net-ssh.github.io/net-ssh/classes/Net/SSH.html#method-c-start | ||
41 | # | ||
42 | # Global options | ||
43 | # -------------- | ||
44 | # set :ssh_options, { | ||
45 | # keys: %w(/home/rlisowski/.ssh/id_rsa), | ||
46 | # forward_agent: false, | ||
47 | # auth_methods: %w(password) | ||
48 | # } | ||
49 | # | ||
50 | # The server-based syntax can be used to override options: | ||
51 | # ------------------------------------ | ||
52 | # server 'example.com', | ||
53 | # user: 'user_name', | ||
54 | # roles: %w{web app}, | ||
55 | # ssh_options: { | ||
56 | # user: 'user_name', # overrides user setting above | ||
57 | # keys: %w(/home/user_name/.ssh/id_rsa), | ||
58 | # forward_agent: false, | ||
59 | # auth_methods: %w(publickey password) | ||
60 | # # password: 'please use keys' | ||
61 | # } |
config/deploy/staging.rb
0 → 100644
1 | # server-based syntax | ||
2 | # ====================== | ||
3 | # Defines a single server with a list of roles and multiple properties. | ||
4 | # You can define all roles on a single server, or split them: | ||
5 | |||
6 | # server 'example.com', user: 'deploy', roles: %w{app db web}, my_property: :my_value | ||
7 | # server 'example.com', user: 'deploy', roles: %w{app web}, other_property: :other_value | ||
8 | # server 'db.example.com', user: 'deploy', roles: %w{db} | ||
9 | |||
10 | |||
11 | |||
12 | # role-based syntax | ||
13 | # ================== | ||
14 | |||
15 | # Defines a role with one or multiple servers. The primary server in each | ||
16 | # group is considered to be the first unless any hosts have the primary | ||
17 | # property set. Specify the username and a domain or IP for the server. | ||
18 | # Don't use `:all`, it's a meta role. | ||
19 | |||
20 | # role :app, %w{deploy@example.com}, my_property: :my_value | ||
21 | # role :web, %w{user1@primary.com user2@additional.com}, other_property: :other_value | ||
22 | # role :db, %w{deploy@example.com} | ||
23 | |||
24 | |||
25 | |||
26 | # Configuration | ||
27 | # ============= | ||
28 | # You can set any configuration variable like in config/deploy.rb | ||
29 | # These variables are then only loaded and set in this stage. | ||
30 | # For available Capistrano configuration variables see the documentation page. | ||
31 | # http://capistranorb.com/documentation/getting-started/configuration/ | ||
32 | # Feel free to add new variables to customise your setup. | ||
33 | |||
34 | |||
35 | |||
36 | # Custom SSH Options | ||
37 | # ================== | ||
38 | # You may pass any option but keep in mind that net/ssh understands a | ||
39 | # limited set of options, consult the Net::SSH documentation. | ||
40 | # http://net-ssh.github.io/net-ssh/classes/Net/SSH.html#method-c-start | ||
41 | # | ||
42 | # Global options | ||
43 | # -------------- | ||
44 | # set :ssh_options, { | ||
45 | # keys: %w(/home/rlisowski/.ssh/id_rsa), | ||
46 | # forward_agent: false, | ||
47 | # auth_methods: %w(password) | ||
48 | # } | ||
49 | # | ||
50 | # The server-based syntax can be used to override options: | ||
51 | # ------------------------------------ | ||
52 | # server 'example.com', | ||
53 | # user: 'user_name', | ||
54 | # roles: %w{web app}, | ||
55 | # ssh_options: { | ||
56 | # user: 'user_name', # overrides user setting above | ||
57 | # keys: %w(/home/user_name/.ssh/id_rsa), | ||
58 | # forward_agent: false, | ||
59 | # auth_methods: %w(publickey password) | ||
60 | # # password: 'please use keys' | ||
61 | # } |
config/environment.rb
0 → 100644
config/environments/development.rb
0 → 100644
1 | Nuozheng::Application.configure do | ||
2 | # Settings specified here will take precedence over those in config/application.rb | ||
3 | |||
4 | # In the development environment your application's code is reloaded on | ||
5 | # every request. This slows down response time but is perfect for development | ||
6 | # since you don't have to restart the web server when you make code changes. | ||
7 | config.cache_classes = false | ||
8 | |||
9 | # Log error messages when you accidentally call methods on nil. | ||
10 | config.whiny_nils = true | ||
11 | |||
12 | # Show full error reports and disable caching | ||
13 | config.consider_all_requests_local = true | ||
14 | config.action_controller.perform_caching = false | ||
15 | |||
16 | # Don't care if the mailer can't send | ||
17 | config.action_mailer.raise_delivery_errors = false | ||
18 | |||
19 | # Print deprecation notices to the Rails logger | ||
20 | config.active_support.deprecation = :log | ||
21 | |||
22 | # Only use best-standards-support built into browsers | ||
23 | config.action_dispatch.best_standards_support = :builtin | ||
24 | |||
25 | # Raise exception on mass assignment protection for Active Record models | ||
26 | config.active_record.mass_assignment_sanitizer = :strict | ||
27 | |||
28 | # Log the query plan for queries taking more than this (works | ||
29 | # with SQLite, MySQL, and PostgreSQL) | ||
30 | config.active_record.auto_explain_threshold_in_seconds = 0.5 | ||
31 | |||
32 | # Do not compress assets | ||
33 | config.assets.compress = false | ||
34 | |||
35 | # Expands the lines which load the assets | ||
36 | config.assets.debug = true | ||
37 | end |
config/environments/production.rb
0 → 100644
1 | Nuozheng::Application.configure do | ||
2 | # Settings specified here will take precedence over those in config/application.rb | ||
3 | |||
4 | # Code is not reloaded between requests | ||
5 | config.cache_classes = true | ||
6 | |||
7 | # Full error reports are disabled and caching is turned on | ||
8 | config.consider_all_requests_local = false | ||
9 | config.action_controller.perform_caching = true | ||
10 | |||
11 | # Disable Rails's static asset server (Apache or nginx will already do this) | ||
12 | config.serve_static_assets = true | ||
13 | |||
14 | # Compress JavaScripts and CSS | ||
15 | config.assets.compress = true | ||
16 | |||
17 | # Don't fallback to assets pipeline if a precompiled asset is missed | ||
18 | config.assets.compile = true | ||
19 | |||
20 | # Generate digests for assets URLs | ||
21 | config.assets.digest = true | ||
22 | config.assets.js_compressor = :uglifier | ||
23 | |||
24 | # Defaults to nil and saved in location specified by config.assets.prefix | ||
25 | # config.assets.manifest = YOUR_PATH | ||
26 | |||
27 | # Specifies the header that your server uses for sending files | ||
28 | # config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache | ||
29 | config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx | ||
30 | |||
31 | # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies. | ||
32 | # config.force_ssl = true | ||
33 | |||
34 | # See everything in the log (default is :info) | ||
35 | # config.log_level = :debug | ||
36 | |||
37 | # Prepend all log lines with the following tags | ||
38 | # config.log_tags = [ :subdomain, :uuid ] | ||
39 | |||
40 | # Use a different logger for distributed setups | ||
41 | # config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new) | ||
42 | |||
43 | # Use a different cache store in production | ||
44 | # config.cache_store = :mem_cache_store | ||
45 | |||
46 | # Enable serving of images, stylesheets, and JavaScripts from an asset server | ||
47 | # config.action_controller.asset_host = "http://assets.example.com" | ||
48 | |||
49 | # Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added) | ||
50 | # config.assets.precompile += %w( search.js ) | ||
51 | |||
52 | # Disable delivery errors, bad email addresses will be ignored | ||
53 | # config.action_mailer.raise_delivery_errors = false | ||
54 | |||
55 | # Enable threaded mode | ||
56 | # config.threadsafe! | ||
57 | |||
58 | # Enable locale fallbacks for I18n (makes lookups for any locale fall back to | ||
59 | # the I18n.default_locale when a translation can not be found) | ||
60 | config.i18n.fallbacks = true | ||
61 | |||
62 | # Send deprecation notices to registered listeners | ||
63 | config.active_support.deprecation = :notify | ||
64 | |||
65 | # Log the query plan for queries taking more than this (works | ||
66 | # with SQLite, MySQL, and PostgreSQL) | ||
67 | # config.active_record.auto_explain_threshold_in_seconds = 0.5 | ||
68 | # config.action_mailer.default_url_options = {:host => 'www.normz.cn'} | ||
69 | end |
config/environments/test.rb
0 → 100644
1 | Nuozheng::Application.configure do | ||
2 | # Settings specified here will take precedence over those in config/application.rb | ||
3 | |||
4 | # The test environment is used exclusively to run your application's | ||
5 | # test suite. You never need to work with it otherwise. Remember that | ||
6 | # your test database is "scratch space" for the test suite and is wiped | ||
7 | # and recreated between test runs. Don't rely on the data there! | ||
8 | config.cache_classes = true | ||
9 | |||
10 | # Configure static asset server for tests with Cache-Control for performance | ||
11 | config.serve_static_assets = true | ||
12 | config.static_cache_control = "public, max-age=3600" | ||
13 | |||
14 | # Log error messages when you accidentally call methods on nil | ||
15 | config.whiny_nils = true | ||
16 | |||
17 | # Show full error reports and disable caching | ||
18 | config.consider_all_requests_local = true | ||
19 | config.action_controller.perform_caching = false | ||
20 | |||
21 | # Raise exceptions instead of rendering exception templates | ||
22 | config.action_dispatch.show_exceptions = false | ||
23 | |||
24 | # Disable request forgery protection in test environment | ||
25 | config.action_controller.allow_forgery_protection = false | ||
26 | |||
27 | # Tell Action Mailer not to deliver emails to the real world. | ||
28 | # The :test delivery method accumulates sent emails in the | ||
29 | # ActionMailer::Base.deliveries array. | ||
30 | config.action_mailer.delivery_method = :test | ||
31 | |||
32 | # Raise exception on mass assignment protection for Active Record models | ||
33 | config.active_record.mass_assignment_sanitizer = :strict | ||
34 | |||
35 | # Print deprecation notices to the stderr | ||
36 | config.active_support.deprecation = :stderr | ||
37 | end |
config/initializers/backtrace_silencers.rb
0 → 100644
1 | # Be sure to restart your server when you modify this file. | ||
2 | |||
3 | # You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces. | ||
4 | # Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ } | ||
5 | |||
6 | # You can also remove all the silencers if you're trying to debug a problem that might stem from framework code. | ||
7 | # Rails.backtrace_cleaner.remove_silencers! |
config/initializers/inflections.rb
0 → 100644
1 | # Be sure to restart your server when you modify this file. | ||
2 | |||
3 | # Add new inflection rules using the following format | ||
4 | # (all these examples are active by default): | ||
5 | # ActiveSupport::Inflector.inflections do |inflect| | ||
6 | # inflect.plural /^(ox)$/i, '\1en' | ||
7 | # inflect.singular /^(ox)en/i, '\1' | ||
8 | # inflect.irregular 'person', 'people' | ||
9 | # inflect.uncountable %w( fish sheep ) | ||
10 | # end | ||
11 | # | ||
12 | # These inflection rules are supported but not enabled by default: | ||
13 | # ActiveSupport::Inflector.inflections do |inflect| | ||
14 | # inflect.acronym 'RESTful' | ||
15 | # end |
config/initializers/kaminari_config.rb
0 → 100644
config/initializers/mime_types.rb
0 → 100644
config/initializers/secret_token.rb
0 → 100644
1 | # Be sure to restart your server when you modify this file. | ||
2 | |||
3 | # Your secret key for verifying the integrity of signed cookies. | ||
4 | # If you change this key, all old signed cookies will become invalid! | ||
5 | # Make sure the secret is at least 30 characters and all random, | ||
6 | # no regular words or you'll be exposed to dictionary attacks. | ||
7 | Nuozheng::Application.config.secret_token = '8b17a9f8327eae4357722ea078c5905462235872cb3cb0c89680fe21a6a0e74cacc995202b6e998221ecf8f7e5625b22388c9cfef51b2a08111a54e127f27d64' |
config/initializers/session_store.rb
0 → 100644
1 | # Be sure to restart your server when you modify this file. | ||
2 | |||
3 | Nuozheng::Application.config.session_store :cookie_store, key: '_nuozheng_session' | ||
4 | |||
5 | # Use the database for sessions instead of the cookie-based default, | ||
6 | # which shouldn't be used to store highly confidential information | ||
7 | # (create the session table with "rails generate session_migration") | ||
8 | # Nuozheng::Application.config.session_store :active_record_store |
config/initializers/wrap_parameters.rb
0 → 100644
1 | # Be sure to restart your server when you modify this file. | ||
2 | # | ||
3 | # This file contains settings for ActionController::ParamsWrapper which | ||
4 | # is enabled by default. | ||
5 | |||
6 | # Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array. | ||
7 | ActiveSupport.on_load(:action_controller) do | ||
8 | wrap_parameters format: [:json] | ||
9 | end | ||
10 | |||
11 | # Disable root element in JSON by default. | ||
12 | ActiveSupport.on_load(:active_record) do | ||
13 | self.include_root_in_json = false | ||
14 | end |
config/locales/en.yml
0 → 100644
config/locales/kaminari.en.yml
0 → 100644
config/locales/kaminari.zh-CN.yml
0 → 100644
config/routes.rb
0 → 100644
1 | Nuozheng::Application.routes.draw do | ||
2 | post '/upload' => 'posts#upload' | ||
3 | get '/sign_in' => 'posts#sign_in' | ||
4 | post '/sign_in' => 'posts#sign_in' | ||
5 | get '/sign_out' => 'posts#sign_out' | ||
6 | resources :posts | ||
7 | |||
8 | constraints subdomain: 'h5' do | ||
9 | root :to => 'mobile#index' | ||
10 | end | ||
11 | get ':chan(/:cate(/:flag))(.:format)' => 'home#show' | ||
12 | # cultures | ||
13 | |||
14 | |||
15 | # resources :ranges, only: [:index, :show] | ||
16 | # resources :dynamics, only: [:index, :show] | ||
17 | # resources :cultures, only: [:index, :show] | ||
18 | # resources :abouts, only: [:index, :show] | ||
19 | # resources :jobs, only: [:index, :show] | ||
20 | |||
21 | # The priority is based upon order of creation: | ||
22 | # first created -> highest priority. | ||
23 | |||
24 | # Sample of regular route: | ||
25 | # match 'products/:id' => 'catalog#view' | ||
26 | # Keep in mind you can assign values other than :controller and :action | ||
27 | |||
28 | # Sample of named route: | ||
29 | # match 'products/:id/purchase' => 'catalog#purchase', :as => :purchase | ||
30 | # This route can be invoked with purchase_url(:id => product.id) | ||
31 | |||
32 | # Sample resource route (maps HTTP verbs to controller actions automatically): | ||
33 | # resources :products | ||
34 | |||
35 | # Sample resource route with options: | ||
36 | # resources :products do | ||
37 | # member do | ||
38 | # get 'short' | ||
39 | # post 'toggle' | ||
40 | # end | ||
41 | # | ||
42 | # collection do | ||
43 | # get 'sold' | ||
44 | # end | ||
45 | # end | ||
46 | |||
47 | # Sample resource route with sub-resources: | ||
48 | # resources :products do | ||
49 | # resources :comments, :sales | ||
50 | # resource :seller | ||
51 | # end | ||
52 | |||
53 | # Sample resource route with more complex sub-resources | ||
54 | # resources :products do | ||
55 | # resources :comments | ||
56 | # resources :sales do | ||
57 | # get 'recent', :on => :collection | ||
58 | # end | ||
59 | # end | ||
60 | |||
61 | # Sample resource route within a namespace: | ||
62 | # namespace :admin do | ||
63 | # # Directs /admin/products/* to Admin::ProductsController | ||
64 | # # (app/controllers/admin/products_controller.rb) | ||
65 | # resources :products | ||
66 | # end | ||
67 | |||
68 | # You can have the root of your site routed with "root" | ||
69 | # just remember to delete public/index.html. | ||
70 | root :to => 'home#index' | ||
71 | |||
72 | # See how all your routes lay out with "rake routes" | ||
73 | |||
74 | # This is a legacy wild controller route that's not recommended for RESTful applications. | ||
75 | # Note: This route will make all actions in every controller accessible via GET requests. | ||
76 | # match ':controller(/:action(/:id))(.:format)' | ||
77 | end |
config/unicorn.rb
0 → 100644
1 | worker_processes 1 | ||
2 | |||
3 | app_root = File.expand_path("../..", __FILE__) | ||
4 | working_directory app_root | ||
5 | |||
6 | # Listen on fs socket for better performance | ||
7 | listen "/tmp/unicorn.nuozheng.sock", :backlog => 64 | ||
8 | listen 5096, :tcp_nopush => false | ||
9 | |||
10 | # Nuke workers after 30 seconds instead of 60 seconds (the default) | ||
11 | timeout 30 | ||
12 | |||
13 | # App PID | ||
14 | pid "#{app_root}/tmp/pids/unicorn_nuozheng.pid" | ||
15 | |||
16 | # By default, the Unicorn logger will write to stderr. | ||
17 | # Additionally, some applications/frameworks log to stderr or stdout, | ||
18 | # so prevent them from going to /dev/null when daemonized here: | ||
19 | stderr_path "#{app_root}/log/unicorn.stderr.log" | ||
20 | stdout_path "#{app_root}/log/unicorn.stdout.log" | ||
21 | |||
22 | # To save some memory and improve performance | ||
23 | preload_app true | ||
24 | # GC.respond_to?(:copy_on_write_friendly=) and GC.copy_on_write_friendly = true | ||
25 | |||
26 | # Force the bundler gemfile environment variable to | ||
27 | # reference the Сapistrano "current" symlink | ||
28 | before_exec do |_| | ||
29 | ENV["BUNDLE_GEMFILE"] = File.join(app_root, 'Gemfile') | ||
30 | end | ||
31 | |||
32 | before_fork do |server, worker| | ||
33 | # 参考 http://unicorn.bogomips.org/SIGNALS.html | ||
34 | # 使用USR2信号,以及在进程完成后用QUIT信号来实现无缝重启 | ||
35 | old_pid = app_root + '/tmp/pids/unicorn_nuozheng.pid.oldbin' | ||
36 | if File.exists?(old_pid) && server.pid != old_pid | ||
37 | begin | ||
38 | Process.kill("QUIT", File.read(old_pid).to_i) | ||
39 | rescue Errno::ENOENT, Errno::ESRCH | ||
40 | # someone else did our job for us | ||
41 | end | ||
42 | end | ||
43 | |||
44 | # the following is highly recomended for Rails + "preload_app true" | ||
45 | # as there's no need for the master process to hold a connection | ||
46 | defined?(ActiveRecord::Base) and ActiveRecord::Base.connection.disconnect! | ||
47 | end | ||
48 | |||
49 | after_fork do |server, worker| | ||
50 | # # 禁止GC,配合后续的OOB,来减少请求的执行时间 | ||
51 | # GC.disable | ||
52 | # the following is *required* for Rails + "preload_app true", | ||
53 | defined?(ActiveRecord::Base) and ActiveRecord::Base.establish_connection | ||
54 | end |
db/migrate/20160102123308_create_posts.rb
0 → 100644
db/migrate/20160109100011_create_pictures.rb
0 → 100644
db/schema.rb
0 → 100644
1 | # encoding: UTF-8 | ||
2 | # This file is auto-generated from the current state of the database. Instead | ||
3 | # of editing this file, please use the migrations feature of Active Record to | ||
4 | # incrementally modify your database, and then regenerate this schema definition. | ||
5 | # | ||
6 | # Note that this schema.rb definition is the authoritative source for your | ||
7 | # database schema. If you need to create the application database on another | ||
8 | # system, you should be using db:schema:load, not running all the migrations | ||
9 | # from scratch. The latter is a flawed and unsustainable approach (the more migrations | ||
10 | # you'll amass, the slower it'll run and the greater likelihood for issues). | ||
11 | # | ||
12 | # It's strongly recommended to check this file into your version control system. | ||
13 | |||
14 | ActiveRecord::Schema.define(:version => 20160109100011) do | ||
15 | |||
16 | create_table "pictures", :force => true do |t| | ||
17 | t.string "filename" | ||
18 | t.datetime "created_at", :null => false | ||
19 | t.datetime "updated_at", :null => false | ||
20 | end | ||
21 | |||
22 | create_table "posts", :force => true do |t| | ||
23 | t.string "title" | ||
24 | t.string "flag" | ||
25 | t.text "detail" | ||
26 | t.integer "parent_id" | ||
27 | t.string "chan" | ||
28 | t.string "cate" | ||
29 | t.boolean "isdel", :default => false | ||
30 | t.datetime "created_at", :null => false | ||
31 | t.datetime "updated_at", :null => false | ||
32 | end | ||
33 | |||
34 | end |
db/seeds.rb
0 → 100644
1 | # This file should contain all the record creation needed to seed the database with its default values. | ||
2 | # The data can then be loaded with the rake db:seed (or created alongside the db with db:setup). | ||
3 | # | ||
4 | # Examples: | ||
5 | # | ||
6 | # cities = City.create([{ name: 'Chicago' }, { name: 'Copenhagen' }]) | ||
7 | # Mayor.create(name: 'Emanuel', city: cities.first) |
doc/README_FOR_APP
0 → 100644
lib/assets/.gitkeep
0 → 100644
File mode changed
lib/tasks/.gitkeep
0 → 100644
File mode changed
public/.DS_Store
0 → 100644
No preview for this file type
public/404.html
0 → 100644
1 | <!DOCTYPE html> | ||
2 | <html> | ||
3 | <head> | ||
4 | <title>The page you were looking for doesn't exist (404)</title> | ||
5 | <style type="text/css"> | ||
6 | body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; } | ||
7 | div.dialog { | ||
8 | width: 25em; | ||
9 | padding: 0 4em; | ||
10 | margin: 4em auto 0 auto; | ||
11 | border: 1px solid #ccc; | ||
12 | border-right-color: #999; | ||
13 | border-bottom-color: #999; | ||
14 | } | ||
15 | h1 { font-size: 100%; color: #f00; line-height: 1.5em; } | ||
16 | </style> | ||
17 | </head> | ||
18 | |||
19 | <body> | ||
20 | <!-- This file lives in public/404.html --> | ||
21 | <div class="dialog"> | ||
22 | <h1>The page you were looking for doesn't exist.</h1> | ||
23 | <p>You may have mistyped the address or the page may have moved.</p> | ||
24 | </div> | ||
25 | </body> | ||
26 | </html> |
public/422.html
0 → 100644
1 | <!DOCTYPE html> | ||
2 | <html> | ||
3 | <head> | ||
4 | <title>The change you wanted was rejected (422)</title> | ||
5 | <style type="text/css"> | ||
6 | body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; } | ||
7 | div.dialog { | ||
8 | width: 25em; | ||
9 | padding: 0 4em; | ||
10 | margin: 4em auto 0 auto; | ||
11 | border: 1px solid #ccc; | ||
12 | border-right-color: #999; | ||
13 | border-bottom-color: #999; | ||
14 | } | ||
15 | h1 { font-size: 100%; color: #f00; line-height: 1.5em; } | ||
16 | </style> | ||
17 | </head> | ||
18 | |||
19 | <body> | ||
20 | <!-- This file lives in public/422.html --> | ||
21 | <div class="dialog"> | ||
22 | <h1>The change you wanted was rejected.</h1> | ||
23 | <p>Maybe you tried to change something you didn't have access to.</p> | ||
24 | </div> | ||
25 | </body> | ||
26 | </html> |
public/500.html
0 → 100644
1 | <!DOCTYPE html> | ||
2 | <html> | ||
3 | <head> | ||
4 | <title>We're sorry, but something went wrong (500)</title> | ||
5 | <style type="text/css"> | ||
6 | body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; } | ||
7 | div.dialog { | ||
8 | width: 25em; | ||
9 | padding: 0 4em; | ||
10 | margin: 4em auto 0 auto; | ||
11 | border: 1px solid #ccc; | ||
12 | border-right-color: #999; | ||
13 | border-bottom-color: #999; | ||
14 | } | ||
15 | h1 { font-size: 100%; color: #f00; line-height: 1.5em; } | ||
16 | </style> | ||
17 | </head> | ||
18 | |||
19 | <body> | ||
20 | <!-- This file lives in public/500.html --> | ||
21 | <div class="dialog"> | ||
22 | <h1>We're sorry, but something went wrong.</h1> | ||
23 | </div> | ||
24 | </body> | ||
25 | </html> |
public/favicon.ico
0 → 100644
File mode changed
public/fonts/ionicons.eot
0 → 100644
No preview for this file type
public/fonts/ionicons.svg
0 → 100644
This diff could not be displayed because it is too large.
public/fonts/ionicons.ttf
0 → 100644
No preview for this file type
public/fonts/ionicons.woff
0 → 100644
No preview for this file type
public/images/.DS_Store
0 → 100644
No preview for this file type
public/images/banner.png
0 → 100644
158 KB
public/images/banner/.DS_Store
0 → 100644
No preview for this file type
public/images/banner/1-1.jpg
0 → 100644
38.4 KB
public/images/banner/1-2.jpg
0 → 100644
63.8 KB
public/images/banner/1-3.jpg
0 → 100644
201 KB
public/images/banner/1-4.jpg
0 → 100644
182 KB
public/images/banner/2-1.jpg
0 → 100644
225 KB
public/images/banner/2-2.jpg
0 → 100644
75.9 KB
public/images/banner/2-3.jpg
0 → 100644
62.1 KB
public/images/banner/2-4.jpg
0 → 100644
66.7 KB
public/images/banner/3-1.jpg
0 → 100644
200 KB
public/images/banner/3-2.jpg
0 → 100644
197 KB
public/images/banner/3-3.jpg
0 → 100644
46 KB
public/images/banner/3-4.jpg
0 → 100644
216 KB
public/images/banner/a17.png
0 → 100755
5.38 KB
public/images/banner/a20.png
0 → 100755
5.79 KB
public/images/banner/a22.png
0 → 100755
2.63 KB
public/images/banner/b05.png
0 → 100755
1.38 KB
public/images/banner/b17.png
0 → 100755
801 Bytes
public/images/banner/back-dice-02.jpg
0 → 100755
12.3 KB
public/images/banner/back-dice-03.jpg
0 → 100644
217 KB
public/images/banner/banner.jpg
0 → 100644
355 KB
public/images/banner/cultures.jpg
0 → 100644
417 KB
public/images/banner/dynamics.jpg
0 → 100644
307 KB
public/images/banner/loading.gif
0 → 100755
4.65 KB
public/images/bottom/.DS_Store
0 → 100644
No preview for this file type
public/images/bottom/1.jpg
0 → 100644
18.5 KB
public/images/bottom/2.jpg
0 → 100644
17.5 KB
public/images/bottom/3.jpg
0 → 100644
19.2 KB
public/images/bottom/4.jpg
0 → 100644
17.5 KB
public/images/bottom/5.jpg
0 → 100644
19.4 KB
public/images/captcha.gif
0 → 100644
1.45 KB
public/images/default_200x100.jpg
0 → 100644
6.2 KB
public/images/default_200x150.jpg
0 → 100644
6.64 KB
public/images/default_330x165.jpg
0 → 100644
14.7 KB
public/images/default_330x220.jpg
0 → 100644
15.9 KB
public/images/devices/.DS_Store
0 → 100644
No preview for this file type
public/images/devices/01.jpg
0 → 100644
192 KB
public/images/devices/02.jpg
0 → 100644
288 KB
public/images/devices/03.jpg
0 → 100644
265 KB
public/images/devices/04.jpg
0 → 100644
283 KB
public/images/devices/05.jpg
0 → 100644
261 KB
public/images/devices/06.jpg
0 → 100644
201 KB
public/images/devices/07.jpg
0 → 100644
246 KB
public/images/devices/08.jpg
0 → 100644
268 KB
public/images/devices/09.jpg
0 → 100644
273 KB
public/images/devices/10.jpg
0 → 100644
190 KB
public/images/devices/11.jpg
0 → 100644
216 KB
public/images/devices/12.jpg
0 → 100644
217 KB
public/images/devices/13.jpg
0 → 100644
263 KB
public/images/devices/14.jpg
0 → 100644
218 KB
public/images/devices/a17.png
0 → 100644
5.38 KB
public/images/devices/loading.gif
0 → 100644
4.65 KB
public/images/devices/t01.png
0 → 100644
1.58 KB
public/images/devices/thumb-01.jpg
0 → 100644
69.5 KB
public/images/devices/thumb-02.jpg
0 → 100644
72 KB
public/images/devices/thumb-03.jpg
0 → 100644
71.8 KB
public/images/devices/thumb-04.jpg
0 → 100644
71.5 KB
public/images/devices/thumb-05.jpg
0 → 100644
71.5 KB
public/images/devices/thumb-06.jpg
0 → 100644
70 KB
public/images/devices/thumb-07.jpg
0 → 100644
70.7 KB
public/images/devices/thumb-08.jpg
0 → 100644
71.8 KB
public/images/devices/thumb-09.jpg
0 → 100644
71.8 KB
public/images/devices/thumb-10.jpg
0 → 100644
69.5 KB
public/images/devices/thumb-11.jpg
0 → 100644
70.7 KB
public/images/devices/thumb-12.jpg
0 → 100644
70.5 KB
public/images/devices/thumb-13.jpg
0 → 100644
71.4 KB
public/images/devices/thumb-14.jpg
0 → 100644
69.5 KB
public/images/favicon.ico
0 → 100644
No preview for this file type
public/images/icons/backtop-icon-active.png
0 → 100644
1.12 KB
public/images/icons/backtop-icon.png
0 → 100644
1.19 KB
public/images/icons/contact-icon-active.png
0 → 100644
20 KB
public/images/icons/contact-icon.png
0 → 100644
20.1 KB
public/images/icons/intent-icon-active.png
0 → 100644
20.1 KB
public/images/icons/intent-icon.png
0 → 100644
18.4 KB
public/images/jcrange/fljc.jpg
0 → 100644
23.1 KB
public/images/jcrange/huanjing.jpg
0 → 100644
36.6 KB
public/images/jcrange/kexuegongzheng.jpg
0 → 100644
208 KB
public/images/jcrange/liucheng.jpg
0 → 100644
43.5 KB
public/images/jcrange/mubiao.jpg
0 → 100644
30.8 KB
public/images/jcrange/nongchanpin.jpg
0 → 100644
11.6 KB
public/images/jcrange/nongchanpin1.jpg
0 → 100644
17.9 KB
public/images/jcrange/rouzhipin.jpg
0 → 100644
7.77 KB
public/images/jcrange/scjc.jpg
0 → 100644
9.69 KB
public/images/jcrange/scjc1.jpg
0 → 100644
6.85 KB
public/images/jcrange/shangyang.jpg
0 → 100644
198 KB
public/images/jcrange/sljc.jpg
0 → 100644
24.3 KB
public/images/jcrange/spjc.jpg
0 → 100644
19.2 KB
public/images/jcrange/xiaofangjiance.jpg
0 → 100644
7.59 KB
public/images/logo.png
0 → 100644
2.92 KB
public/javascripts/.DS_Store
0 → 100644
No preview for this file type
public/javascripts/initialize.js
0 → 100644
1 | //去除手机浏览器的touch active 的效果///// | ||
2 | if (!(/msie [6|7|8|9]/i.test(navigator.userAgent))){ | ||
3 | new WOW().init(); | ||
4 | }; | ||
5 | $(function(){ | ||
6 | // $(window).scroll(function () { | ||
7 | // if($(window).scrollTop()=="0") { | ||
8 | // $("#to-top").fadeOut(); | ||
9 | // }else { | ||
10 | // $("#to-top").fadeIn(); | ||
11 | // } | ||
12 | // }); | ||
13 | $("#to-top").on("click", function(){ | ||
14 | $("html,body").animate({scrollTop:0},300); | ||
15 | return false; | ||
16 | }); | ||
17 | }) | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
public/javascripts/liucheng.js
0 → 100644
1 | $(function () { | ||
2 | var chart = new Highcharts.Chart({ | ||
3 | credits: { | ||
4 | enabled: false | ||
5 | }, | ||
6 | chart: { | ||
7 | renderTo: 'innerchart', | ||
8 | events: { | ||
9 | load: function () { | ||
10 | |||
11 | // Draw the flow chart | ||
12 | var ren = this.renderer, | ||
13 | colors = Highcharts.getOptions().colors, | ||
14 | topArrow = ['M', 0, 50, 'L', 0, 0, 'L', -3, 3, 'M', 0, 0, 'L', 3, 3], | ||
15 | bottomArrow = ['M', 0, 0, 'L', 0, 50, 'L', -3, 47, 'M', 0, 50, 'L', 3, 47], | ||
16 | rightArrow = ['M', 0, 0, 'L', 50, 0, 'L', 47, 3, 'M', 50, 0, 'L', 47, -3], | ||
17 | leftArrow = ['M', 50, 0, 'L', 0, 0, 'L', 3, 3, 'M', 0, 0, 'L', 3, -3]; | ||
18 | |||
19 | // 开始, 委托 | ||
20 | ren.label('委<br>托<br>单<br>位<br>、<br>被<br>抽<br>检<br>单<br>位', 5, 150) | ||
21 | .attr({ | ||
22 | fill: colors[0], | ||
23 | stroke: 'white', | ||
24 | 'stroke-width': 2, | ||
25 | padding: 5, | ||
26 | r: 5, | ||
27 | height: 200 | ||
28 | }) | ||
29 | .css({ | ||
30 | color: 'white' | ||
31 | }) | ||
32 | .add() | ||
33 | .shadow(true); | ||
34 | // 诉讼处理意见 | ||
35 | ren.label('诉讼处理意见', 100, 150) | ||
36 | .attr({ | ||
37 | r: 5, | ||
38 | width: 75, | ||
39 | fill: colors[3] | ||
40 | }) | ||
41 | .css({ | ||
42 | color: 'white' | ||
43 | }) | ||
44 | .add(); | ||
45 | // 提出诉讼 | ||
46 | ren.label('提出诉讼', 100, 220) | ||
47 | .attr({ | ||
48 | r: 5, | ||
49 | width: 75, | ||
50 | fill: colors[5] | ||
51 | }) | ||
52 | .css({ | ||
53 | color: 'white', | ||
54 | textAlign: 'center' | ||
55 | }) | ||
56 | .add(); | ||
57 | // 发送报告 | ||
58 | ren.label('发送报告', 100, 280) | ||
59 | .attr({ | ||
60 | r: 5, | ||
61 | width: 75, | ||
62 | fill: colors[6] | ||
63 | }) | ||
64 | .css({ | ||
65 | color: 'white', | ||
66 | textAlign: 'center' | ||
67 | }) | ||
68 | .add(); | ||
69 | // 图纸 | ||
70 | ren.label('图纸', 100, 340) | ||
71 | .attr({ | ||
72 | r: 5, | ||
73 | width: 75, | ||
74 | fill: colors[7] | ||
75 | }) | ||
76 | .css({ | ||
77 | color: 'white', | ||
78 | textAlign: 'center' | ||
79 | }) | ||
80 | .add(); | ||
81 | ren.label('综<br>合<br>部', 250, 150) | ||
82 | .attr({ | ||
83 | fill: colors[8], | ||
84 | stroke: 'white', | ||
85 | 'stroke-width': 2, | ||
86 | padding: 5, | ||
87 | r: 5, | ||
88 | height: 200 | ||
89 | }) | ||
90 | .css({ | ||
91 | color: 'white' | ||
92 | }) | ||
93 | .add() | ||
94 | .shadow(true); | ||
95 | ren.label('报告副本及<br>原记录归档', 230, 60) | ||
96 | .attr({ | ||
97 | fill: colors[9], | ||
98 | stroke: 'white', | ||
99 | 'stroke-width': 2, | ||
100 | padding: 5, | ||
101 | r: 5, | ||
102 | height: 30 | ||
103 | }) | ||
104 | .css({ | ||
105 | color: 'white', | ||
106 | textAlign: 'center' | ||
107 | }) | ||
108 | .add() | ||
109 | .shadow(true); | ||
110 | ren.label('归档', 340, 100) | ||
111 | .attr({ | ||
112 | fill: colors[0], | ||
113 | stroke: 'white', | ||
114 | 'stroke-width': 2, | ||
115 | padding: 5, | ||
116 | r: 5, | ||
117 | width: 50, | ||
118 | height: 30 | ||
119 | }) | ||
120 | .css({ | ||
121 | color: 'white', | ||
122 | textAlign: 'center' | ||
123 | }) | ||
124 | .add() | ||
125 | .shadow(true); | ||
126 | ren.label('受理投诉', 340, 150) | ||
127 | .attr({ | ||
128 | fill: colors[1], | ||
129 | r: 5, | ||
130 | width: 60 | ||
131 | }) | ||
132 | .css({ | ||
133 | color: 'white', | ||
134 | textAlign: 'center' | ||
135 | }) | ||
136 | .add() | ||
137 | .shadow(true); | ||
138 | ren.label('质量负责人', 440, 150) | ||
139 | .attr({ | ||
140 | fill: colors[2], | ||
141 | r: 5, | ||
142 | width: 60 | ||
143 | }) | ||
144 | .css({ | ||
145 | color: 'white', | ||
146 | textAlign: 'center' | ||
147 | }) | ||
148 | .add() | ||
149 | .shadow(true); | ||
150 | ren.label('调查原因', 540, 150) | ||
151 | .attr({ | ||
152 | fill: colors[3], | ||
153 | r: 5, | ||
154 | width: 60 | ||
155 | }) | ||
156 | .css({ | ||
157 | color: 'white', | ||
158 | textAlign: 'center' | ||
159 | }) | ||
160 | .add() | ||
161 | .shadow(true); | ||
162 | ren.label('反馈意见', 640, 150) | ||
163 | .attr({ | ||
164 | fill: colors[4], | ||
165 | r: 5, | ||
166 | width: 60 | ||
167 | }) | ||
168 | .css({ | ||
169 | color: 'white', | ||
170 | textAlign: 'center' | ||
171 | }) | ||
172 | .add() | ||
173 | .shadow(true); | ||
174 | ren.label('编写报告', 340, 200) | ||
175 | .attr({ | ||
176 | fill: colors[5], | ||
177 | r: 5, | ||
178 | width: 60 | ||
179 | }) | ||
180 | .css({ | ||
181 | color: 'white', | ||
182 | textAlign: 'center' | ||
183 | }) | ||
184 | .add() | ||
185 | .shadow(true); | ||
186 | ren.label('技术负责人审批', 440, 200) | ||
187 | .attr({ | ||
188 | fill: colors[6], | ||
189 | r: 5 | ||
190 | }) | ||
191 | .css({ | ||
192 | color: 'white', | ||
193 | textAlign: 'center' | ||
194 | }) | ||
195 | .add() | ||
196 | .shadow(true); | ||
197 | ren.label('合同审批', 340, 250) | ||
198 | .attr({ | ||
199 | fill: colors[7], | ||
200 | r: 5, | ||
201 | width: 60 | ||
202 | }) | ||
203 | .css({ | ||
204 | color: 'white', | ||
205 | textAlign: 'center' | ||
206 | }) | ||
207 | .add() | ||
208 | .shadow(true); | ||
209 | ren.label('下<br>达<br>任<br>务<br>单', 445, 240) | ||
210 | .attr({ | ||
211 | fill: colors[4], | ||
212 | r: 5, | ||
213 | height: 90 | ||
214 | }) | ||
215 | .css({ | ||
216 | color: 'white', | ||
217 | textAlign: 'center' | ||
218 | }) | ||
219 | .add() | ||
220 | .shadow(true); | ||
221 | ren.label('检<br>测<br>部', 505, 240) | ||
222 | .attr({ | ||
223 | fill: colors[5], | ||
224 | r: 5, | ||
225 | height: 90 | ||
226 | }) | ||
227 | .css({ | ||
228 | color: 'white', | ||
229 | textAlign: 'center' | ||
230 | }) | ||
231 | .add() | ||
232 | .shadow(true); | ||
233 | ren.label('现<br>场<br>检<br>测', 565, 240) | ||
234 | .attr({ | ||
235 | fill: colors[6], | ||
236 | r: 5, | ||
237 | height: 90 | ||
238 | }) | ||
239 | .css({ | ||
240 | color: 'white', | ||
241 | textAlign: 'center' | ||
242 | }) | ||
243 | .add() | ||
244 | .shadow(true); | ||
245 | ren.label('填<br>写<br>原<br>始<br>记<br>录', 625, 240) | ||
246 | .attr({ | ||
247 | fill: colors[7], | ||
248 | r: 5, | ||
249 | height: 90 | ||
250 | }) | ||
251 | .css({ | ||
252 | color: 'white', | ||
253 | textAlign: 'center' | ||
254 | }) | ||
255 | .add() | ||
256 | .shadow(true); | ||
257 | ren.label('部<br>内<br>审<br>核', 685, 240) | ||
258 | .attr({ | ||
259 | fill: colors[8], | ||
260 | r: 5, | ||
261 | height: 90 | ||
262 | }) | ||
263 | .css({ | ||
264 | color: 'white', | ||
265 | textAlign: 'center' | ||
266 | }) | ||
267 | .add() | ||
268 | .shadow(true); | ||
269 | ren.label('提<br>交<br>检<br>测<br>结<br>果', 745, 240) | ||
270 | .attr({ | ||
271 | fill: colors[9], | ||
272 | r: 5, | ||
273 | height: 90 | ||
274 | }) | ||
275 | .css({ | ||
276 | color: 'white', | ||
277 | textAlign: 'center' | ||
278 | }) | ||
279 | .add() | ||
280 | .shadow(true); | ||
281 | ren.label('记录', 340, 360) | ||
282 | .attr({ | ||
283 | fill: colors[0], | ||
284 | stroke: 'white', | ||
285 | 'stroke-width': 2, | ||
286 | padding: 5, | ||
287 | r: 5, | ||
288 | width: 60 | ||
289 | }) | ||
290 | .css({ | ||
291 | color: 'white', | ||
292 | textAlign: 'center' | ||
293 | }) | ||
294 | .add() | ||
295 | .shadow(true); | ||
296 | ren.label('修改', 480, 360) | ||
297 | .attr({ | ||
298 | fill: colors[1], | ||
299 | stroke: 'white', | ||
300 | 'stroke-width': 2, | ||
301 | padding: 5, | ||
302 | r: 5, | ||
303 | width: 60 | ||
304 | }) | ||
305 | .css({ | ||
306 | color: 'white', | ||
307 | textAlign: 'center' | ||
308 | }) | ||
309 | .add() | ||
310 | .shadow(true); | ||
311 | |||
312 | |||
313 | |||
314 | // 画线 | ||
315 | ren.path(leftArrow) | ||
316 | .attr({ | ||
317 | 'stroke-width': 0, | ||
318 | stroke: colors[0] | ||
319 | }) | ||
320 | .animate({'stroke-width': 2}, 3000) | ||
321 | .translate(40, 160) | ||
322 | .add(); | ||
323 | ren.path(rightArrow) | ||
324 | .attr({ | ||
325 | 'stroke-width': 0, | ||
326 | stroke: colors[1] | ||
327 | }) | ||
328 | .animate({'stroke-width': 2}, 3000) | ||
329 | .translate(40, 230) | ||
330 | .add(); | ||
331 | ren.path(leftArrow) | ||
332 | .attr({ | ||
333 | 'stroke-width': 0, | ||
334 | stroke: colors[2] | ||
335 | }) | ||
336 | .animate({'stroke-width': 2}, 3000) | ||
337 | .translate(40, 290) | ||
338 | .add(); | ||
339 | ren.path(rightArrow) | ||
340 | .attr({ | ||
341 | 'stroke-width': 0, | ||
342 | stroke: colors[3] | ||
343 | }) | ||
344 | .animate({'stroke-width': 2}, 3000) | ||
345 | .translate(40, 350) | ||
346 | .add(); | ||
347 | ren.path(rightArrow) | ||
348 | .attr({ | ||
349 | 'stroke-width': 0, | ||
350 | stroke: colors[4] | ||
351 | }) | ||
352 | .animate({'stroke-width': 2}, 3000) | ||
353 | .translate(190, 160) | ||
354 | .add(); | ||
355 | ren.path(leftArrow) | ||
356 | .attr({ | ||
357 | 'stroke-width': 0, | ||
358 | stroke: colors[5] | ||
359 | }) | ||
360 | .animate({'stroke-width': 2}, 3000) | ||
361 | .translate(190, 230) | ||
362 | .add(); | ||
363 | ren.path(rightArrow) | ||
364 | .attr({ | ||
365 | 'stroke-width': 0, | ||
366 | stroke: colors[6] | ||
367 | }) | ||
368 | .animate({'stroke-width': 2}, 3000) | ||
369 | .translate(190, 290) | ||
370 | .add(); | ||
371 | ren.path(leftArrow) | ||
372 | .attr({ | ||
373 | 'stroke-width': 0, | ||
374 | stroke: colors[7] | ||
375 | }) | ||
376 | .animate({'stroke-width': 2}, 3000) | ||
377 | .translate(190, 350) | ||
378 | .add(); | ||
379 | ren.path(['M', 0, 40, 'L', 0, 0, 'L', -3, 3, 'M', 0, 0, 'L', 3, 3]) | ||
380 | .attr({ | ||
381 | 'stroke-width': 0, | ||
382 | stroke: colors[8] | ||
383 | }) | ||
384 | .animate({'stroke-width': 2}, 3000) | ||
385 | .translate(255, 105) | ||
386 | .add(); | ||
387 | ren.path(rightArrow) | ||
388 | .attr({ | ||
389 | 'stroke-width': 0, | ||
390 | stroke: colors[9] | ||
391 | }) | ||
392 | .animate({'stroke-width': 2}, 3000) | ||
393 | .translate(280, 160) | ||
394 | .add(); | ||
395 | ren.path(['M', 150, 145, 'L', 150, 125, 'C', 150, 115, 150, 115, 160, 115, 'L', 335, 115, 'L', 332, 118, 'M', 335, 115, 'L', 332, 112]) | ||
396 | .attr({ | ||
397 | 'stroke-width': 0, | ||
398 | stroke: colors[0] | ||
399 | }) | ||
400 | .animate({'stroke-width': 2}, 3000) | ||
401 | .add(); | ||
402 | ren.path(['M', 310, 70, 'L', 360, 70, 'C', 370, 70, 370, 80, 370, 80, 'L', 370, 95, 'L', 367, 92, 'M', 370, 95, 'L', 373, 92]) | ||
403 | .attr({ | ||
404 | 'stroke-width': 0, | ||
405 | stroke: colors[1] | ||
406 | }) | ||
407 | .animate({'stroke-width': 2}, 3000) | ||
408 | .add(); | ||
409 | ren.path(['M', 260, 145, 'L', 260, 135, 'C', 260, 125, 260, 125, 270, 125, 'L', 335, 125, 'L', 332, 122, 'M', 335, 125, 'L', 332, 128]) | ||
410 | .attr({ | ||
411 | 'stroke-width': 0, | ||
412 | stroke: colors[2] | ||
413 | }) | ||
414 | .animate({'stroke-width': 2}, 3000) | ||
415 | .add(); | ||
416 | ren.path(['M', 0, 0, 'L', 25, 0, 'L', 22, 3, 'M', 25, 0, 'L', 22, -3]) | ||
417 | .attr({ | ||
418 | 'stroke-width': 0, | ||
419 | stroke: colors[3] | ||
420 | }) | ||
421 | .animate({'stroke-width': 2}, 3000) | ||
422 | .translate(410, 160) | ||
423 | .add(); | ||
424 | ren.path(['M', 0, 0, 'L', 25, 0, 'L', 22, 3, 'M', 25, 0, 'L', 22, -3]) | ||
425 | .attr({ | ||
426 | 'stroke-width': 0, | ||
427 | stroke: colors[4] | ||
428 | }) | ||
429 | .animate({'stroke-width': 2}, 3000) | ||
430 | .translate(510, 160) | ||
431 | .add(); | ||
432 | ren.path(['M', 0, 0, 'L', 25, 0, 'L', 22, 3, 'M', 25, 0, 'L', 22, -3]) | ||
433 | .attr({ | ||
434 | 'stroke-width': 0, | ||
435 | stroke: colors[5] | ||
436 | }) | ||
437 | .animate({'stroke-width': 2}, 3000) | ||
438 | .translate(610, 160) | ||
439 | .add(); | ||
440 | ren.path(rightArrow) | ||
441 | .attr({ | ||
442 | 'stroke-width': 0, | ||
443 | stroke: colors[6] | ||
444 | }) | ||
445 | .animate({'stroke-width': 2}, 3000) | ||
446 | .translate(280, 210) | ||
447 | .add(); | ||
448 | ren.path(['M', 0, 0, 'L', 25, 0, 'L', 22, 3, 'M', 25, 0, 'L', 22, -3]) | ||
449 | .attr({ | ||
450 | 'stroke-width': 0, | ||
451 | stroke: colors[7] | ||
452 | }) | ||
453 | .animate({'stroke-width': 2}, 3000) | ||
454 | .translate(410, 210) | ||
455 | .add(); | ||
456 | ren.path(rightArrow) | ||
457 | .attr({ | ||
458 | 'stroke-width': 0, | ||
459 | stroke: colors[8] | ||
460 | }) | ||
461 | .animate({'stroke-width': 2}, 3000) | ||
462 | .translate(280, 260) | ||
463 | .add(); | ||
464 | ren.path(['M', 0, 0, 'L', 30, 0, 'L', 27, 3, 'M', 30, 0, 'L', 27, -3]) | ||
465 | .attr({ | ||
466 | 'stroke-width': 0, | ||
467 | stroke: colors[9] | ||
468 | }) | ||
469 | .animate({'stroke-width': 2}, 3000) | ||
470 | .translate(410, 260) | ||
471 | .add(); | ||
472 | ren.path(['M', 0, 0, 'L', 30, 0, 'L', 27, 3, 'M', 30, 0, 'L', 27, -3]) | ||
473 | .attr({ | ||
474 | 'stroke-width': 0, | ||
475 | stroke: colors[0] | ||
476 | }) | ||
477 | .animate({'stroke-width': 2}, 3000) | ||
478 | .translate(470, 260) | ||
479 | .add(); | ||
480 | ren.path(['M', 0, 0, 'L', 30, 0, 'L', 27, 3, 'M', 30, 0, 'L', 27, -3]) | ||
481 | .attr({ | ||
482 | 'stroke-width': 0, | ||
483 | stroke: colors[1] | ||
484 | }) | ||
485 | .animate({'stroke-width': 2}, 3000) | ||
486 | .translate(530, 260) | ||
487 | .add(); | ||
488 | ren.path(['M', 0, 0, 'L', 30, 0, 'L', 27, 3, 'M', 30, 0, 'L', 27, -3]) | ||
489 | .attr({ | ||
490 | 'stroke-width': 0, | ||
491 | stroke: colors[2] | ||
492 | }) | ||
493 | .animate({'stroke-width': 2}, 3000) | ||
494 | .translate(590, 260) | ||
495 | .add(); | ||
496 | ren.path(['M', 0, 0, 'L', 30, 0, 'L', 27, 3, 'M', 30, 0, 'L', 27, -3]) | ||
497 | .attr({ | ||
498 | 'stroke-width': 0, | ||
499 | stroke: colors[3] | ||
500 | }) | ||
501 | .animate({'stroke-width': 2}, 3000) | ||
502 | .translate(650, 260) | ||
503 | .add(); | ||
504 | ren.path(['M', 0, 0, 'L', 30, 0, 'L', 27, 3, 'M', 30, 0, 'L', 27, -3]) | ||
505 | .attr({ | ||
506 | 'stroke-width': 0, | ||
507 | stroke: colors[4] | ||
508 | }) | ||
509 | .animate({'stroke-width': 2}, 3000) | ||
510 | .translate(710, 260) | ||
511 | .add(); | ||
512 | ren.path(['M', 0, 0, 'L', 0, 15, 'L', -3, 12, 'M', 0, 15, 'L', 3, 12]) | ||
513 | .attr({ | ||
514 | 'stroke-width': 0, | ||
515 | stroke: colors[5] | ||
516 | }) | ||
517 | .animate({'stroke-width': 2}, 3000) | ||
518 | .translate(515, 340) | ||
519 | .add(); | ||
520 | ren.path(['M', 0, 0, 'L', -50, 0, 'L', -47, -3, 'M', -50, 0, 'L', -47, 3]) | ||
521 | .attr({ | ||
522 | 'stroke-width': 0, | ||
523 | stroke: colors[6] | ||
524 | }) | ||
525 | .animate({'stroke-width': 2}, 3000) | ||
526 | .translate(475, 372) | ||
527 | .add(); | ||
528 | ren.path(['M', 0, 0, 'L', 0, 75, 'L', -3, 72, 'M', 0, 75, 'L', 3, 72]) | ||
529 | .attr({ | ||
530 | 'stroke-width': 0, | ||
531 | stroke: colors[7] | ||
532 | }) | ||
533 | .animate({'stroke-width': 2}, 3000) | ||
534 | .translate(370, 280) | ||
535 | .add(); | ||
536 | ren.path(['M', 710, 160, 'L', 720, 160, 'C', 720, 160, 725, 160, 725, 165, 'L', 725, 170, 'C', 725, 175, 720, 175, 720, 175, 'L', 280, 175, 'L', 283, 178, 'M', 280, 175, 'L', 283, 172]) | ||
537 | .attr({ | ||
538 | 'stroke-width': 0, | ||
539 | stroke: colors[8] | ||
540 | }) | ||
541 | .animate({'stroke-width': 2}, 3000) | ||
542 | .add(); | ||
543 | ren.path(['M', 535, 210, 'L', 550, 210, 'C', 550, 210, 555, 210, 555, 205, 'L', 555, 195, 'C', 555, 190, 550, 190, 550, 190, 'L', 280, 190, 'L', 283, 193, 'M', 280, 190, 'L', 283, 187]) | ||
544 | .attr({ | ||
545 | 'stroke-width': 0, | ||
546 | stroke: colors[9] | ||
547 | }) | ||
548 | .animate({'stroke-width': 2}, 3000) | ||
549 | .add(); | ||
550 | ren.path(['M', 770, 280, 'L', 780, 280, 'L', 780, 230, 'L', 280, 230, 'L', 283, 233, 'M', 280, 230, 'L', 283, 227]) | ||
551 | .attr({ | ||
552 | 'stroke-width': 0, | ||
553 | stroke: colors[0] | ||
554 | }) | ||
555 | .animate({'stroke-width': 2}, 3000) | ||
556 | .add(); | ||
557 | |||
558 | } | ||
559 | } | ||
560 | }, | ||
561 | title: { | ||
562 | text: '诺正检验工作流程图' | ||
563 | } | ||
564 | |||
565 | }); | ||
566 | }); | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
public/javascripts/mobile/app.js
0 → 100644
1 | // Ionic Starter App | ||
2 | |||
3 | // angular.module is a global place for creating, registering and retrieving Angular modules | ||
4 | // 'starter' is the name of this angular module example (also set in a <body> attribute in index.html) | ||
5 | // the 2nd parameter is an array of 'requires' | ||
6 | // 'starter.controllers' is found in controllers.js | ||
7 | angular.module('starter', ['ionic', 'ion-gallery', 'starter.controllers']) | ||
8 | |||
9 | .run(function($ionicPlatform) { | ||
10 | // $ionicPlatform.ready(function() { | ||
11 | // // Hide the accessory bar by default (remove this to show the accessory bar above the keyboard | ||
12 | // // for form inputs) | ||
13 | // if (window.cordova && window.cordova.plugins.Keyboard) { | ||
14 | // cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true); | ||
15 | // cordova.plugins.Keyboard.disableScroll(true); | ||
16 | |||
17 | // } | ||
18 | // if (window.StatusBar) { | ||
19 | // // org.apache.cordova.statusbar required | ||
20 | // StatusBar.styleDefault(); | ||
21 | // } | ||
22 | var ua = navigator.userAgent || navigator.vendor || window.opera; | ||
23 | var ismobile = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(ua) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(ua.substr(0,4)) | ||
24 | if(!ismobile){ | ||
25 | var addr = 'http://normz.cn' + window.location.hash.replace(/#\/app/, ''); | ||
26 | window.location.href = addr; | ||
27 | } | ||
28 | }) | ||
29 | |||
30 | .config(function($stateProvider, $urlRouterProvider, $ionicConfigProvider) { | ||
31 | $ionicConfigProvider.platform.ios.navBar.alignTitle('center'); | ||
32 | $ionicConfigProvider.platform.android.navBar.alignTitle('center'); | ||
33 | $ionicConfigProvider.backButton.text('返回'); | ||
34 | |||
35 | $stateProvider | ||
36 | .state('app', { | ||
37 | url: '/app', | ||
38 | abstract: true, | ||
39 | templateUrl: '/templates/menu.html', | ||
40 | controller: 'AppCtrl' | ||
41 | }) | ||
42 | .state('app.home', { | ||
43 | url: '/home', | ||
44 | views: { | ||
45 | 'menuContent': { | ||
46 | templateUrl: '/templates/home.html', | ||
47 | controller: 'HomeCtrl' | ||
48 | } | ||
49 | } | ||
50 | }) | ||
51 | .state('app.devices', { | ||
52 | url: '/abouts/yjss/devices', | ||
53 | views: { | ||
54 | 'menuContent': { | ||
55 | templateUrl: '/templates/devices.html', | ||
56 | controller: 'DevicesCtrl' | ||
57 | } | ||
58 | } | ||
59 | }) | ||
60 | .state('app.wssj', { | ||
61 | url: '/sources/wssj', | ||
62 | views: { | ||
63 | 'menuContent': { | ||
64 | templateUrl: '/templates/wssj.html', | ||
65 | controller: 'WssjCtrl' | ||
66 | } | ||
67 | } | ||
68 | }) | ||
69 | .state('app.bgcx', { | ||
70 | url: '/sources/bgcx', | ||
71 | views: { | ||
72 | 'menuContent': { | ||
73 | templateUrl: '/templates/bgcx.html', | ||
74 | controller: 'BgcxCtrl' | ||
75 | } | ||
76 | } | ||
77 | }) | ||
78 | .state('app.gsjj', { | ||
79 | url: '/abouts/gsjj', | ||
80 | views: { | ||
81 | 'menuContent': { | ||
82 | templateUrl: '/templates/gsjj.html', | ||
83 | controller: 'GsjjCtrl' | ||
84 | } | ||
85 | } | ||
86 | }) | ||
87 | |||
88 | // .state('app.ranges', { | ||
89 | // url: '/ranges', | ||
90 | // views: { | ||
91 | // 'menuContent': { | ||
92 | // templateUrl: '/templates/ranges.html', | ||
93 | // controller: 'RangesCtrl' | ||
94 | // } | ||
95 | // } | ||
96 | // }) | ||
97 | // .state('app.sources', { | ||
98 | // url: '/sources', | ||
99 | // views: { | ||
100 | // 'menuContent': { | ||
101 | // templateUrl: '/templates/sources.html', | ||
102 | // controller: 'SourcesCtrl' | ||
103 | // } | ||
104 | // } | ||
105 | // }) | ||
106 | // .state('app.dynamics', { | ||
107 | // url: '/dynamics', | ||
108 | // views: { | ||
109 | // 'menuContent': { | ||
110 | // templateUrl: '/templates/dynamics.html', | ||
111 | // controller: 'DynamicsCtrl' | ||
112 | // } | ||
113 | // } | ||
114 | // }) | ||
115 | // .state('app.cultures', { | ||
116 | // url: '/cultures', | ||
117 | // views: { | ||
118 | // 'menuContent': { | ||
119 | // templateUrl: '/templates/cultures.html', | ||
120 | // controller: 'CulturesCtrl' | ||
121 | // } | ||
122 | // } | ||
123 | // }) | ||
124 | // .state('app.abouts', { | ||
125 | // url: '/abouts', | ||
126 | // views: { | ||
127 | // 'menuContent': { | ||
128 | // templateUrl: '/templates/abouts.html', | ||
129 | // controller: 'AboutsCtrl' | ||
130 | // } | ||
131 | // } | ||
132 | // }) | ||
133 | // .state('app.jobs', { | ||
134 | // url: '/jobs', | ||
135 | // views: { | ||
136 | // 'menuContent': { | ||
137 | // templateUrl: '/templates/jobs.html', | ||
138 | // controller: 'JobsCtrl' | ||
139 | // } | ||
140 | // } | ||
141 | // }) | ||
142 | .state('app.channel', { | ||
143 | url: '/:channel', | ||
144 | views: { | ||
145 | 'menuContent': { | ||
146 | templateUrl: '/templates/channel.html', | ||
147 | controller: 'ChannelCtrl' | ||
148 | } | ||
149 | } | ||
150 | }) | ||
151 | .state('app.category', { | ||
152 | url: '/:channel/:category', | ||
153 | views: { | ||
154 | 'menuContent': { | ||
155 | templateUrl: '/templates/category.html', | ||
156 | controller: 'CategoryCtrl' | ||
157 | } | ||
158 | }, | ||
159 | resolve: { | ||
160 | posts: function($http, $q, $stateParams){ | ||
161 | return $q(function(resolve, reject){ | ||
162 | $http({ | ||
163 | url: '/' + $stateParams.channel + '/' + $stateParams.category + '?type=api', | ||
164 | method: 'GET' | ||
165 | }).success(function(resp, code){ | ||
166 | resolve(resp.posts); | ||
167 | }); | ||
168 | }); | ||
169 | } | ||
170 | } | ||
171 | }) | ||
172 | .state('app.post', { | ||
173 | url: '/:channel/:category/:flag', | ||
174 | views: { | ||
175 | 'menuContent': { | ||
176 | templateUrl: '/templates/post.html', | ||
177 | controller: 'PostCtrl' | ||
178 | } | ||
179 | }, | ||
180 | resolve: { | ||
181 | post: function($http, $q, $stateParams){ | ||
182 | return $q(function(resolve, reject){ | ||
183 | $http({ | ||
184 | url: '/' + $stateParams.channel + '/' + $stateParams.category + '/' + $stateParams.flag + '?type=api', | ||
185 | method: 'GET' | ||
186 | }).success(function(resp, code){ | ||
187 | resolve(resp.post); | ||
188 | }); | ||
189 | }); | ||
190 | } | ||
191 | } | ||
192 | }); | ||
193 | // .state('app.search', { | ||
194 | // url: '/search', | ||
195 | // views: { | ||
196 | // 'menuContent': { | ||
197 | // templateUrl: '/templates/search.html' | ||
198 | // } | ||
199 | // } | ||
200 | // }) | ||
201 | |||
202 | // .state('app.browse', { | ||
203 | // url: '/browse', | ||
204 | // views: { | ||
205 | // 'menuContent': { | ||
206 | // templateUrl: '/templates/browse.html' | ||
207 | // } | ||
208 | // } | ||
209 | // }) | ||
210 | // .state('app.playlists', { | ||
211 | // url: '/playlists', | ||
212 | // views: { | ||
213 | // 'menuContent': { | ||
214 | // templateUrl: '/templates/playlists.html', | ||
215 | // controller: 'PlaylistsCtrl' | ||
216 | // } | ||
217 | // } | ||
218 | // }) | ||
219 | // .state('app.single', { | ||
220 | // url: '/playlists/:playlistId', | ||
221 | // views: { | ||
222 | // 'menuContent': { | ||
223 | // templateUrl: '/templates/playlist.html', | ||
224 | // controller: 'PlaylistCtrl' | ||
225 | // } | ||
226 | // } | ||
227 | // }); | ||
228 | // if none of the above states are matched, use this as the fallback | ||
229 | $urlRouterProvider.otherwise('/app/home'); | ||
230 | }); |
public/javascripts/mobile/controllers.js
0 → 100644
1 | angular.module('starter.controllers', []) | ||
2 | .controller('AppCtrl', function($scope, $timeout) { | ||
3 | $scope.channels = CHANNELS; | ||
4 | }) | ||
5 | .controller('HomeCtrl', function($scope) { | ||
6 | |||
7 | }) | ||
8 | .controller('ChannelCtrl', function($scope, $stateParams) { | ||
9 | $scope.channel = $stateParams.channel; | ||
10 | $scope.category_object = CHANNELS[$stateParams.channel]; | ||
11 | }) | ||
12 | .controller('CategoryCtrl', function($scope, $stateParams, posts) { | ||
13 | $scope.channel = $stateParams.channel; | ||
14 | $scope.category = $stateParams.category; | ||
15 | $scope.category_name = CHANNELS[$stateParams.channel].cate[$stateParams.category]; | ||
16 | $scope.posts = posts; | ||
17 | if(posts.length == 1){ | ||
18 | $scope.post = posts[0]; | ||
19 | } | ||
20 | }) | ||
21 | .controller('PostCtrl', function($scope, $stateParams, post) { | ||
22 | $scope.channel = $stateParams.channel; | ||
23 | $scope.category = $stateParams.category; | ||
24 | $scope.flag = $stateParams.flag; | ||
25 | $scope.post = post; | ||
26 | }) | ||
27 | .controller('DevicesCtrl', function($scope) { | ||
28 | $scope.items = [ | ||
29 | {src: '/images/devices/01.jpg', thumb: '/images/devices/thumb-01.jpg', sub: ''}, | ||
30 | {src: '/images/devices/02.jpg', thumb: '/images/devices/thumb-02.jpg', sub: ''}, | ||
31 | {src: '/images/devices/03.jpg', thumb: '/images/devices/thumb-03.jpg', sub: ''}, | ||
32 | {src: '/images/devices/04.jpg', thumb: '/images/devices/thumb-04.jpg', sub: ''}, | ||
33 | {src: '/images/devices/05.jpg', thumb: '/images/devices/thumb-05.jpg', sub: ''}, | ||
34 | {src: '/images/devices/06.jpg', thumb: '/images/devices/thumb-06.jpg', sub: ''}, | ||
35 | {src: '/images/devices/07.jpg', thumb: '/images/devices/thumb-07.jpg', sub: ''}, | ||
36 | {src: '/images/devices/08.jpg', thumb: '/images/devices/thumb-08.jpg', sub: ''}, | ||
37 | {src: '/images/devices/09.jpg', thumb: '/images/devices/thumb-09.jpg', sub: ''}, | ||
38 | {src: '/images/devices/10.jpg', thumb: '/images/devices/thumb-10.jpg', sub: ''}, | ||
39 | {src: '/images/devices/11.jpg', thumb: '/images/devices/thumb-11.jpg', sub: ''}, | ||
40 | {src: '/images/devices/12.jpg', thumb: '/images/devices/thumb-12.jpg', sub: ''}, | ||
41 | {src: '/images/devices/13.jpg', thumb: '/images/devices/thumb-13.jpg', sub: ''}, | ||
42 | {src: '/images/devices/14.jpg', thumb: '/images/devices/thumb-14.jpg', sub: ''} | ||
43 | ]; | ||
44 | }) | ||
45 | .controller('WssjCtrl', function($scope) { | ||
46 | |||
47 | }) | ||
48 | .controller('BgcxCtrl', function($scope) { | ||
49 | |||
50 | }) | ||
51 | .controller('GsjjCtrl', function($scope) { | ||
52 | var video = document.getElementsByTagName('video')[0]; | ||
53 | var width = video.parentElement.clientWidth - 20; | ||
54 | video.width = width; | ||
55 | video.height = width / (300 / 170.0); | ||
56 | // $scope.play = function(){ | ||
57 | // } | ||
58 | }); |
public/javascripts/mobile/ion-gallery.js
0 → 100644
1 | (function () { | ||
2 | 'use strict'; | ||
3 | |||
4 | angular | ||
5 | .module('ion-gallery', ['templates']) | ||
6 | .directive('ionGallery', ionGallery); | ||
7 | |||
8 | ionGallery.$inject = ['$ionicPlatform', 'ionGalleryHelper', 'ionGalleryConfig']; | ||
9 | |||
10 | function ionGallery($ionicPlatform, ionGalleryHelper, ionGalleryConfig) { | ||
11 | controller.$inject = ["$scope"]; | ||
12 | return { | ||
13 | restrict: 'AE', | ||
14 | scope: { | ||
15 | ionGalleryItems: '=ionGalleryItems', | ||
16 | ionGalleryRowSize: '=?ionGalleryRow', | ||
17 | ionItemCallback: '&?ionItemCallback' | ||
18 | }, | ||
19 | controller: controller, | ||
20 | link: link, | ||
21 | replace: true, | ||
22 | templateUrl: 'gallery.html' | ||
23 | }; | ||
24 | |||
25 | function controller($scope) { | ||
26 | var _rowSize = parseInt($scope.ionGalleryRowSize); | ||
27 | |||
28 | var _drawGallery = function () { | ||
29 | $scope.ionGalleryRowSize = ionGalleryHelper.getRowSize(_rowSize || ionGalleryConfig.row_size, $scope.ionGalleryItems.length); | ||
30 | $scope.actionLabel = ionGalleryConfig.action_label; | ||
31 | $scope.items = ionGalleryHelper.buildGallery($scope.ionGalleryItems, $scope.ionGalleryRowSize); | ||
32 | $scope.responsiveGrid = parseInt((1 / $scope.ionGalleryRowSize) * 100); | ||
33 | }; | ||
34 | |||
35 | _drawGallery(); | ||
36 | |||
37 | (function () { | ||
38 | $scope.$watch(function () { | ||
39 | return $scope.ionGalleryItems.length; | ||
40 | }, function (newVal, oldVal) { | ||
41 | if (newVal !== oldVal) { | ||
42 | _drawGallery(); | ||
43 | } | ||
44 | }); | ||
45 | }()); | ||
46 | |||
47 | } | ||
48 | |||
49 | function link(scope, element, attrs) { | ||
50 | |||
51 | scope.customCallback = angular.isFunction(scope.ionItemCallback) && attrs.hasOwnProperty('ionItemCallback') | ||
52 | |||
53 | scope.ionSliderToggle = attrs.ionGalleryToggle === 'false' ? false : ionGalleryConfig.toggle; | ||
54 | } | ||
55 | } | ||
56 | })(); | ||
57 | |||
58 | (function(){ | ||
59 | 'use strict'; | ||
60 | |||
61 | angular | ||
62 | .module('ion-gallery') | ||
63 | .provider('ionGalleryConfig',ionGalleryConfig); | ||
64 | |||
65 | ionGalleryConfig.$inject = []; | ||
66 | |||
67 | function ionGalleryConfig(){ | ||
68 | this.config = { | ||
69 | action_label: 'Done', | ||
70 | toggle: true, | ||
71 | row_size: 3, | ||
72 | fixed_row_size: true | ||
73 | }; | ||
74 | |||
75 | this.$get = function() { | ||
76 | return this.config; | ||
77 | }; | ||
78 | |||
79 | this.setGalleryConfig = function(config) { | ||
80 | angular.extend(this.config, this.config, config); | ||
81 | }; | ||
82 | } | ||
83 | |||
84 | })(); | ||
85 | (function(){ | ||
86 | 'use strict'; | ||
87 | |||
88 | angular | ||
89 | .module('ion-gallery') | ||
90 | .service('ionGalleryHelper',ionGalleryHelper); | ||
91 | |||
92 | ionGalleryHelper.$inject = ['ionGalleryConfig']; | ||
93 | |||
94 | function ionGalleryHelper(ionGalleryConfig) { | ||
95 | |||
96 | this.getRowSize = function(size,length){ | ||
97 | var rowSize; | ||
98 | |||
99 | if(isNaN(size) === true || size <= 0){ | ||
100 | rowSize = ionGalleryConfig.row_size; | ||
101 | } | ||
102 | else if(size > length && !ionGalleryConfig.fixed_row_size){ | ||
103 | rowSize = length; | ||
104 | } | ||
105 | else{ | ||
106 | rowSize = size; | ||
107 | } | ||
108 | |||
109 | return rowSize; | ||
110 | |||
111 | }; | ||
112 | |||
113 | this.buildGallery = function(items,rowSize){ | ||
114 | var _gallery = []; | ||
115 | var row = -1; | ||
116 | var col = 0; | ||
117 | |||
118 | for(var i=0;i<items.length;i++){ | ||
119 | |||
120 | if(i % rowSize === 0){ | ||
121 | row++; | ||
122 | _gallery[row] = []; | ||
123 | col = 0; | ||
124 | } | ||
125 | |||
126 | if(!items[i].hasOwnProperty('sub')){ | ||
127 | items[i].sub = ''; | ||
128 | } | ||
129 | |||
130 | if(!items[i].hasOwnProperty('thumb')){ | ||
131 | items[i].thumb = items[i].src; | ||
132 | } | ||
133 | |||
134 | if(!items[i].hasOwnProperty('desc')){ | ||
135 | items[i].desc = items[i].desc; | ||
136 | } | ||
137 | |||
138 | items[i].position = i; | ||
139 | |||
140 | _gallery[row][col] = items[i]; | ||
141 | col++; | ||
142 | } | ||
143 | |||
144 | return _gallery; | ||
145 | }; | ||
146 | } | ||
147 | })(); | ||
148 | |||
149 | (function(){ | ||
150 | 'use strict'; | ||
151 | |||
152 | angular | ||
153 | .module('ion-gallery') | ||
154 | .directive('ionImageScale',ionImageScale); | ||
155 | |||
156 | ionImageScale.$inject = []; | ||
157 | |||
158 | function ionImageScale(){ | ||
159 | |||
160 | return { | ||
161 | restrict: 'A', | ||
162 | link : link | ||
163 | }; | ||
164 | |||
165 | function link(scope, element, attrs) { | ||
166 | |||
167 | var scaleImage = function(context,value) { | ||
168 | if(value>0){ | ||
169 | if(context.naturalHeight >= context.naturalWidth){ | ||
170 | element.attr('width','100%'); | ||
171 | } | ||
172 | else{ | ||
173 | element.attr('height',element.parent()[0].offsetHeight+'px'); | ||
174 | } | ||
175 | } | ||
176 | }; | ||
177 | |||
178 | element.bind("load" , function(e){ | ||
179 | var _this = this; | ||
180 | if(element.parent()[0].offsetHeight > 0){ | ||
181 | scaleImage(this,element.parent()[0].offsetHeight); | ||
182 | } | ||
183 | |||
184 | scope.$watch(function(){ | ||
185 | return element.parent()[0].offsetHeight; | ||
186 | },function(newValue){ | ||
187 | scaleImage(_this,newValue); | ||
188 | }); | ||
189 | }); | ||
190 | } | ||
191 | } | ||
192 | })(); | ||
193 | (function(){ | ||
194 | 'use strict'; | ||
195 | |||
196 | angular | ||
197 | .module('ion-gallery') | ||
198 | .directive('ionRowHeight',ionRowHeight); | ||
199 | |||
200 | ionRowHeight.$inject = ['ionGalleryConfig']; | ||
201 | |||
202 | function ionRowHeight(ionGalleryConfig){ | ||
203 | |||
204 | return { | ||
205 | restrict: 'A', | ||
206 | link : link | ||
207 | }; | ||
208 | |||
209 | function link(scope, element, attrs) { | ||
210 | scope.$watch( | ||
211 | function(){ | ||
212 | return scope.ionGalleryRowSize; | ||
213 | }, | ||
214 | function(newValue,oldValue){ | ||
215 | if(newValue > 0){ | ||
216 | element.css('height',element[0].offsetWidth * parseInt(scope.responsiveGrid)/100 + 'px'); | ||
217 | } | ||
218 | }); | ||
219 | } | ||
220 | } | ||
221 | })(); | ||
222 | (function(){ | ||
223 | 'use strict'; | ||
224 | |||
225 | angular | ||
226 | .module('ion-gallery') | ||
227 | .directive('ionSlideAction',ionSlideAction); | ||
228 | |||
229 | ionSlideAction.$inject = ['$ionicGesture','$timeout']; | ||
230 | |||
231 | function ionSlideAction($ionicGesture, $timeout){ | ||
232 | |||
233 | return { | ||
234 | restrict: 'A', | ||
235 | link : link | ||
236 | }; | ||
237 | |||
238 | function link(scope, element, attrs) { | ||
239 | |||
240 | var isDoubleTapAction = false; | ||
241 | |||
242 | var pinchZoom = function pinchZoom(){ | ||
243 | scope.$emit('ZoomStarted'); | ||
244 | }; | ||
245 | |||
246 | var imageDoubleTapGesture = function imageDoubleTapGesture(event) { | ||
247 | |||
248 | isDoubleTapAction = true; | ||
249 | |||
250 | $timeout(function(){ | ||
251 | isDoubleTapAction = false; | ||
252 | scope.$emit('DoubleTapEvent',{ 'x': event.gesture.touches[0].pageX, 'y': event.gesture.touches[0].pageY}); | ||
253 | },200); | ||
254 | }; | ||
255 | |||
256 | var imageTapGesture = function imageTapGesture(event) { | ||
257 | |||
258 | if(isDoubleTapAction === true){ | ||
259 | return; | ||
260 | } | ||
261 | else{ | ||
262 | $timeout(function(){ | ||
263 | if(isDoubleTapAction === true){ | ||
264 | return; | ||
265 | } | ||
266 | else{ | ||
267 | scope.$emit('TapEvent'); | ||
268 | } | ||
269 | },200); | ||
270 | } | ||
271 | }; | ||
272 | |||
273 | var pinchEvent = $ionicGesture.on('pinch',pinchZoom,element); | ||
274 | var doubleTapEvent = $ionicGesture.on('doubletap', function(e){imageDoubleTapGesture(e);}, element); | ||
275 | var tapEvent = $ionicGesture.on('tap', imageTapGesture, element); | ||
276 | |||
277 | scope.$on('$destroy', function() { | ||
278 | $ionicGesture.off(doubleTapEvent, 'doubletap', imageDoubleTapGesture); | ||
279 | $ionicGesture.off(tapEvent, 'tap', imageTapGesture); | ||
280 | $ionicGesture.off(pinchEvent, 'pinch', pinchZoom); | ||
281 | }); | ||
282 | } | ||
283 | } | ||
284 | })(); | ||
285 | (function(){ | ||
286 | 'use strict'; | ||
287 | |||
288 | angular | ||
289 | .module('ion-gallery') | ||
290 | .directive('ionSlider',ionSlider); | ||
291 | |||
292 | ionSlider.$inject = ['$ionicModal','ionGalleryHelper','$ionicPlatform','$timeout','$ionicScrollDelegate']; | ||
293 | |||
294 | function ionSlider($ionicModal,ionGalleryHelper,$ionicPlatform,$timeout,$ionicScrollDelegate){ | ||
295 | |||
296 | controller.$inject = ["$scope"]; | ||
297 | return { | ||
298 | restrict: 'A', | ||
299 | controller: controller, | ||
300 | link : link | ||
301 | }; | ||
302 | |||
303 | function controller($scope){ | ||
304 | var lastSlideIndex; | ||
305 | var currentImage; | ||
306 | |||
307 | var rowSize = $scope.ionGalleryRowSize; | ||
308 | var zoomStart = false; | ||
309 | |||
310 | $scope.selectedSlide = 1; | ||
311 | $scope.hideAll = false; | ||
312 | |||
313 | $scope.showImage = function(index) { | ||
314 | $scope.slides = []; | ||
315 | currentImage = index; | ||
316 | |||
317 | var galleryLength = $scope.ionGalleryItems.length; | ||
318 | var previndex = index - 1 < 0 ? galleryLength - 1 : index - 1; | ||
319 | var nextindex = index + 1 >= galleryLength ? 0 : index + 1; | ||
320 | |||
321 | $scope.slides[0] = $scope.ionGalleryItems[previndex]; | ||
322 | $scope.slides[1] = $scope.ionGalleryItems[index]; | ||
323 | $scope.slides[2] = $scope.ionGalleryItems[nextindex]; | ||
324 | |||
325 | lastSlideIndex = 1; | ||
326 | $scope.loadModal(); | ||
327 | }; | ||
328 | |||
329 | $scope.slideChanged = function(currentSlideIndex) { | ||
330 | |||
331 | if(currentSlideIndex === lastSlideIndex){ | ||
332 | return; | ||
333 | } | ||
334 | |||
335 | var slideToLoad = $scope.slides.length - lastSlideIndex - currentSlideIndex; | ||
336 | var galleryLength = $scope.ionGalleryItems.length; | ||
337 | var imageToLoad; | ||
338 | var slidePosition = lastSlideIndex + '>' + currentSlideIndex; | ||
339 | |||
340 | if(slidePosition === '0>1' || slidePosition === '1>2' || slidePosition === '2>0'){ | ||
341 | currentImage++; | ||
342 | |||
343 | if(currentImage >= galleryLength){ | ||
344 | currentImage = 0; | ||
345 | } | ||
346 | |||
347 | imageToLoad = currentImage + 1; | ||
348 | |||
349 | if( imageToLoad >= galleryLength){ | ||
350 | imageToLoad = 0; | ||
351 | } | ||
352 | } | ||
353 | else if(slidePosition === '0>2' || slidePosition === '1>0' || slidePosition === '2>1'){ | ||
354 | currentImage--; | ||
355 | |||
356 | if(currentImage < 0){ | ||
357 | currentImage = galleryLength - 1 ; | ||
358 | } | ||
359 | |||
360 | imageToLoad = currentImage - 1; | ||
361 | |||
362 | if(imageToLoad < 0){ | ||
363 | imageToLoad = galleryLength - 1; | ||
364 | } | ||
365 | } | ||
366 | |||
367 | //Clear zoom | ||
368 | $ionicScrollDelegate.$getByHandle('slide-' + slideToLoad).zoomTo(1); | ||
369 | |||
370 | $scope.slides[slideToLoad] = $scope.ionGalleryItems[imageToLoad]; | ||
371 | |||
372 | lastSlideIndex = currentSlideIndex; | ||
373 | }; | ||
374 | |||
375 | $scope.$on('ZoomStarted', function(e){ | ||
376 | $timeout(function () { | ||
377 | zoomStart = true; | ||
378 | $scope.hideAll = true; | ||
379 | }); | ||
380 | |||
381 | }); | ||
382 | |||
383 | $scope.$on('TapEvent', function(e){ | ||
384 | $timeout(function () { | ||
385 | _onTap(); | ||
386 | }); | ||
387 | |||
388 | }); | ||
389 | |||
390 | $scope.$on('DoubleTapEvent', function(event,position){ | ||
391 | $timeout(function () { | ||
392 | _onDoubleTap(position); | ||
393 | }); | ||
394 | |||
395 | }); | ||
396 | |||
397 | var _onTap = function _onTap(){ | ||
398 | |||
399 | if(zoomStart === true){ | ||
400 | $ionicScrollDelegate.$getByHandle('slide-'+lastSlideIndex).zoomTo(1,true); | ||
401 | |||
402 | $timeout(function () { | ||
403 | _isOriginalSize(); | ||
404 | },300); | ||
405 | |||
406 | return; | ||
407 | } | ||
408 | |||
409 | if(($scope.hasOwnProperty('ionSliderToggle') && $scope.ionSliderToggle === false && $scope.hideAll === false) || zoomStart === true){ | ||
410 | return; | ||
411 | } | ||
412 | |||
413 | $scope.hideAll = !$scope.hideAll; | ||
414 | }; | ||
415 | |||
416 | var _onDoubleTap = function _onDoubleTap(position){ | ||
417 | if(zoomStart === false){ | ||
418 | $ionicScrollDelegate.$getByHandle('slide-'+lastSlideIndex).zoomTo(3,true,position.x,position.y); | ||
419 | zoomStart = true; | ||
420 | $scope.hideAll = true; | ||
421 | } | ||
422 | else{ | ||
423 | _onTap(); | ||
424 | } | ||
425 | }; | ||
426 | |||
427 | function _isOriginalSize(){ | ||
428 | zoomStart = false; | ||
429 | _onTap(); | ||
430 | } | ||
431 | |||
432 | } | ||
433 | |||
434 | function link(scope, element, attrs) { | ||
435 | var _modal; | ||
436 | |||
437 | scope.loadModal = function(){ | ||
438 | $ionicModal.fromTemplateUrl('slider.html', { | ||
439 | scope: scope, | ||
440 | animation: 'fade-in' | ||
441 | }).then(function(modal) { | ||
442 | _modal = modal; | ||
443 | scope.openModal(); | ||
444 | }); | ||
445 | }; | ||
446 | |||
447 | scope.openModal = function() { | ||
448 | _modal.show(); | ||
449 | }; | ||
450 | |||
451 | scope.closeModal = function() { | ||
452 | _modal.hide(); | ||
453 | }; | ||
454 | |||
455 | scope.$on('$destroy', function() { | ||
456 | try{ | ||
457 | _modal.remove(); | ||
458 | } catch(err) { | ||
459 | console.log(err.message); | ||
460 | } | ||
461 | }); | ||
462 | } | ||
463 | } | ||
464 | })(); | ||
465 | |||
466 | angular.module("templates", []).run(["$templateCache", function($templateCache) {$templateCache.put("gallery.html","<div class=\"gallery-view\">\n <div class=\"row\" ng-repeat=\"item in items track by $index\" ion-row-height>\n <div ng-repeat=\"photo in item track by $index\"\n class=\"col col-{{responsiveGrid}} image-container\">\n\n <img ion-image-scale\n ng-src=\"{{photo.thumb}}\"\n ng-click=\"customCallback ? ionItemCallback({item:photo}) : showImage(photo.position)\">\n\n </div>\n </div>\n <div ion-slider></div>\n</div>\n"); | ||
467 | $templateCache.put("slider.html","<ion-modal-view class=\"imageView\">\n <ion-header-bar class=\"headerView\" ng-show=\"!hideAll\">\n <button class=\"button button-outline button-light close-btn\" ng-click=\"closeModal()\">{{::actionLabel}}</button>\n </ion-header-bar>\n \n <ion-content class=\"has-no-header\" scroll=\"false\">\n <ion-slide-box does-continue=\"true\" active-slide=\"selectedSlide\" show-pager=\"false\" class=\"listContainer\" on-slide-changed=\"slideChanged($index)\">\n <ion-slide ng-repeat=\"single in slides track by $index\">\n <ion-scroll direction=\"xy\"\n locking=\"false\" \n zooming=\"true\"\n min-zoom=\"1\"\n scrollbar-x=\"false\"\n scrollbar-y=\"false\"\n ion-slide-action\n delegate-handle=\"slide-{{$index}}\"\n overflow-scroll=\"false\"\n >\n <div class=\"item item-image gallery-slide-view\">\n <img ng-src=\"{{single.src}}\">\n </div>\n <div ng-if=\"single.sub.length > 0\" class=\"image-subtitle\" ng-show=\"!hideAll\">\n <span ng-bind-html=\'single.sub\'></span>\n </div>\n </ion-scroll>\n </ion-slide>\n </ion-slide-box>\n </ion-content>\n</ion-modal-view>");}]); | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
public/javascripts/mobile/ionic.bundle.js
0 → 100644
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
public/javascripts/simditor/hotkeys.js
0 → 100755
1 | (function (root, factory) { | ||
2 | if (typeof define === 'function' && define.amd) { | ||
3 | // AMD. Register as an anonymous module unless amdModuleId is set | ||
4 | define('simple-hotkeys', ["jquery","simple-module"], function ($, SimpleModule) { | ||
5 | return (root['hotkeys'] = factory($, SimpleModule)); | ||
6 | }); | ||
7 | } else if (typeof exports === 'object') { | ||
8 | // Node. Does not work with strict CommonJS, but | ||
9 | // only CommonJS-like environments that support module.exports, | ||
10 | // like Node. | ||
11 | module.exports = factory(require("jquery"),require("simple-module")); | ||
12 | } else { | ||
13 | root.simple = root.simple || {}; | ||
14 | root.simple['hotkeys'] = factory(jQuery,SimpleModule); | ||
15 | } | ||
16 | }(this, function ($, SimpleModule) { | ||
17 | |||
18 | var Hotkeys, hotkeys, | ||
19 | extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, | ||
20 | hasProp = {}.hasOwnProperty; | ||
21 | |||
22 | Hotkeys = (function(superClass) { | ||
23 | extend(Hotkeys, superClass); | ||
24 | |||
25 | function Hotkeys() { | ||
26 | return Hotkeys.__super__.constructor.apply(this, arguments); | ||
27 | } | ||
28 | |||
29 | Hotkeys.count = 0; | ||
30 | |||
31 | Hotkeys.keyNameMap = { | ||
32 | 8: "Backspace", | ||
33 | 9: "Tab", | ||
34 | 13: "Enter", | ||
35 | 16: "Shift", | ||
36 | 17: "Control", | ||
37 | 18: "Alt", | ||
38 | 19: "Pause", | ||
39 | 20: "CapsLock", | ||
40 | 27: "Esc", | ||
41 | 32: "Spacebar", | ||
42 | 33: "PageUp", | ||
43 | 34: "PageDown", | ||
44 | 35: "End", | ||
45 | 36: "Home", | ||
46 | 37: "Left", | ||
47 | 38: "Up", | ||
48 | 39: "Right", | ||
49 | 40: "Down", | ||
50 | 45: "Insert", | ||
51 | 46: "Del", | ||
52 | 91: "Meta", | ||
53 | 93: "Meta", | ||
54 | 48: "0", | ||
55 | 49: "1", | ||
56 | 50: "2", | ||
57 | 51: "3", | ||
58 | 52: "4", | ||
59 | 53: "5", | ||
60 | 54: "6", | ||
61 | 55: "7", | ||
62 | 56: "8", | ||
63 | 57: "9", | ||
64 | 65: "A", | ||
65 | 66: "B", | ||
66 | 67: "C", | ||
67 | 68: "D", | ||
68 | 69: "E", | ||
69 | 70: "F", | ||
70 | 71: "G", | ||
71 | 72: "H", | ||
72 | 73: "I", | ||
73 | 74: "J", | ||
74 | 75: "K", | ||
75 | 76: "L", | ||
76 | 77: "M", | ||
77 | 78: "N", | ||
78 | 79: "O", | ||
79 | 80: "P", | ||
80 | 81: "Q", | ||
81 | 82: "R", | ||
82 | 83: "S", | ||
83 | 84: "T", | ||
84 | 85: "U", | ||
85 | 86: "V", | ||
86 | 87: "W", | ||
87 | 88: "X", | ||
88 | 89: "Y", | ||
89 | 90: "Z", | ||
90 | 96: "0", | ||
91 | 97: "1", | ||
92 | 98: "2", | ||
93 | 99: "3", | ||
94 | 100: "4", | ||
95 | 101: "5", | ||
96 | 102: "6", | ||
97 | 103: "7", | ||
98 | 104: "8", | ||
99 | 105: "9", | ||
100 | 106: "Multiply", | ||
101 | 107: "Add", | ||
102 | 109: "Subtract", | ||
103 | 110: "Decimal", | ||
104 | 111: "Divide", | ||
105 | 112: "F1", | ||
106 | 113: "F2", | ||
107 | 114: "F3", | ||
108 | 115: "F4", | ||
109 | 116: "F5", | ||
110 | 117: "F6", | ||
111 | 118: "F7", | ||
112 | 119: "F8", | ||
113 | 120: "F9", | ||
114 | 121: "F10", | ||
115 | 122: "F11", | ||
116 | 123: "F12", | ||
117 | 124: "F13", | ||
118 | 125: "F14", | ||
119 | 126: "F15", | ||
120 | 127: "F16", | ||
121 | 128: "F17", | ||
122 | 129: "F18", | ||
123 | 130: "F19", | ||
124 | 131: "F20", | ||
125 | 132: "F21", | ||
126 | 133: "F22", | ||
127 | 134: "F23", | ||
128 | 135: "F24", | ||
129 | 59: ";", | ||
130 | 61: "=", | ||
131 | 186: ";", | ||
132 | 187: "=", | ||
133 | 188: ",", | ||
134 | 190: ".", | ||
135 | 191: "/", | ||
136 | 192: "`", | ||
137 | 219: "[", | ||
138 | 220: "\\", | ||
139 | 221: "]", | ||
140 | 222: "'" | ||
141 | }; | ||
142 | |||
143 | Hotkeys.aliases = { | ||
144 | "escape": "esc", | ||
145 | "delete": "del", | ||
146 | "return": "enter", | ||
147 | "ctrl": "control", | ||
148 | "space": "spacebar", | ||
149 | "ins": "insert", | ||
150 | "cmd": "meta", | ||
151 | "command": "meta", | ||
152 | "wins": "meta", | ||
153 | "windows": "meta" | ||
154 | }; | ||
155 | |||
156 | Hotkeys.normalize = function(shortcut) { | ||
157 | var i, j, key, keyname, keys, len; | ||
158 | keys = shortcut.toLowerCase().replace(/\s+/gi, "").split("+"); | ||
159 | for (i = j = 0, len = keys.length; j < len; i = ++j) { | ||
160 | key = keys[i]; | ||
161 | keys[i] = this.aliases[key] || key; | ||
162 | } | ||
163 | keyname = keys.pop(); | ||
164 | keys.sort().push(keyname); | ||
165 | return keys.join("_"); | ||
166 | }; | ||
167 | |||
168 | Hotkeys.prototype.opts = { | ||
169 | el: document | ||
170 | }; | ||
171 | |||
172 | Hotkeys.prototype._init = function() { | ||
173 | this.id = ++this.constructor.count; | ||
174 | this._map = {}; | ||
175 | this._delegate = typeof this.opts.el === "string" ? document : this.opts.el; | ||
176 | return $(this._delegate).on("keydown.simple-hotkeys-" + this.id, this.opts.el, (function(_this) { | ||
177 | return function(e) { | ||
178 | var ref; | ||
179 | return (ref = _this._getHander(e)) != null ? ref.call(_this, e) : void 0; | ||
180 | }; | ||
181 | })(this)); | ||
182 | }; | ||
183 | |||
184 | Hotkeys.prototype._getHander = function(e) { | ||
185 | var keyname, shortcut; | ||
186 | if (!(keyname = this.constructor.keyNameMap[e.which])) { | ||
187 | return; | ||
188 | } | ||
189 | shortcut = ""; | ||
190 | if (e.altKey) { | ||
191 | shortcut += "alt_"; | ||
192 | } | ||
193 | if (e.ctrlKey) { | ||
194 | shortcut += "control_"; | ||
195 | } | ||
196 | if (e.metaKey) { | ||
197 | shortcut += "meta_"; | ||
198 | } | ||
199 | if (e.shiftKey) { | ||
200 | shortcut += "shift_"; | ||
201 | } | ||
202 | shortcut += keyname.toLowerCase(); | ||
203 | return this._map[shortcut]; | ||
204 | }; | ||
205 | |||
206 | Hotkeys.prototype.respondTo = function(subject) { | ||
207 | if (typeof subject === 'string') { | ||
208 | return this._map[this.constructor.normalize(subject)] != null; | ||
209 | } else { | ||
210 | return this._getHander(subject) != null; | ||
211 | } | ||
212 | }; | ||
213 | |||
214 | Hotkeys.prototype.add = function(shortcut, handler) { | ||
215 | this._map[this.constructor.normalize(shortcut)] = handler; | ||
216 | return this; | ||
217 | }; | ||
218 | |||
219 | Hotkeys.prototype.remove = function(shortcut) { | ||
220 | delete this._map[this.constructor.normalize(shortcut)]; | ||
221 | return this; | ||
222 | }; | ||
223 | |||
224 | Hotkeys.prototype.destroy = function() { | ||
225 | $(this._delegate).off(".simple-hotkeys-" + this.id); | ||
226 | this._map = {}; | ||
227 | return this; | ||
228 | }; | ||
229 | |||
230 | return Hotkeys; | ||
231 | |||
232 | })(SimpleModule); | ||
233 | |||
234 | hotkeys = function(opts) { | ||
235 | return new Hotkeys(opts); | ||
236 | }; | ||
237 | |||
238 | return hotkeys; | ||
239 | |||
240 | })); | ||
241 |
public/javascripts/simditor/jquery.min.js
0 → 100755
1 | /*! jQuery v2.1.4 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */ | ||
2 | !function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)+1>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b="length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\f]' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function qa(){}qa.prototype=d.filters=d.pseudos,d.setFilters=new qa,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function ra(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+K.uid++}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){ | ||
3 | return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b)},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=L.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var Q=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,R=["Top","Right","Bottom","Left"],S=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)},T=/^(?:checkbox|radio)$/i;!function(){var a=l.createDocumentFragment(),b=a.appendChild(l.createElement("div")),c=l.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button;return null==a.pageX&&null!=b.clientX&&(c=a.target.ownerDocument||l,d=c.documentElement,e=c.body,a.pageX=b.clientX+(d&&d.scrollLeft||e&&e.scrollLeft||0)-(d&&d.clientLeft||e&&e.clientLeft||0),a.pageY=b.clientY+(d&&d.scrollTop||e&&e.scrollTop||0)-(d&&d.clientTop||e&&e.clientTop||0)),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},fix:function(a){if(a[n.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=W.test(e)?this.mouseHooks:V.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new n.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=l),3===a.target.nodeType&&(a.target=a.target.parentNode),g.filter?g.filter(a,f):a},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==_()&&this.focus?(this.focus(),!1):void 0},delegateType:"focusin"},blur:{trigger:function(){return this===_()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&n.nodeName(this,"input")?(this.click(),!1):void 0},_default:function(a){return n.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=n.extend(new n.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?n.event.trigger(e,null,b):n.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},n.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)},n.Event=function(a,b){return this instanceof n.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?Z:$):this.type=a,b&&n.extend(this,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new n.Event(a,b)},n.Event.prototype={isDefaultPrevented:$,isPropagationStopped:$,isImmediatePropagationStopped:$,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=Z,a&&a.preventDefault&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=Z,a&&a.stopPropagation&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=Z,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},n.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){n.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!n.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.focusinBubbles||n.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a),!0)};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=L.access(d,b);e||d.addEventListener(a,c,!0),L.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=L.access(d,b)-1;e?L.access(d,b,e):(d.removeEventListener(a,c,!0),L.remove(d,b))}}}),n.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(g in a)this.on(g,b,c,a[g],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=$;else if(!d)return this;return 1===e&&(f=d,d=function(a){return n().off(a),f.apply(this,arguments)},d.guid=f.guid||(f.guid=n.guid++)),this.each(function(){n.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,n(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=$),this.each(function(){n.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}});var aa=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,ba=/<([\w:]+)/,ca=/<|&#?\w+;/,da=/<(?:script|style|link)/i,ea=/checked\s*(?:[^=]|=\s*.checked.)/i,fa=/^$|\/(?:java|ecma)script/i,ga=/^true\/(.*)/,ha=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,ia={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ia.optgroup=ia.option,ia.tbody=ia.tfoot=ia.colgroup=ia.caption=ia.thead,ia.th=ia.td;function ja(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function ka(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function la(a){var b=ga.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function ma(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function na(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function oa(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pa(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=oa(h),f=oa(a),d=0,e=f.length;e>d;d++)pa(f[d],g[d]);if(b)if(c)for(f=f||oa(a),g=g||oa(h),d=0,e=f.length;e>d;d++)na(f[d],g[d]);else na(a,h);return g=oa(h,"script"),g.length>0&&ma(g,!i&&oa(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(ca.test(e)){f=f||k.appendChild(b.createElement("div")),g=(ba.exec(e)||["",""])[1].toLowerCase(),h=ia[g]||ia._default,f.innerHTML=h[1]+e.replace(aa,"<$1></$2>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=oa(k.appendChild(e),"script"),i&&ma(f),c)){j=0;while(e=f[j++])fa.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(oa(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&ma(oa(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(oa(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!da.test(a)&&!ia[(ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(aa,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(oa(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(oa(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&ea.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(oa(c,"script"),ka),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,oa(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,la),j=0;g>j;j++)h=f[j],fa.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(ha,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qa,ra={};function sa(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function ta(a){var b=l,c=ra[a];return c||(c=sa(a,b),"none"!==c&&c||(qa=(qa||n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=qa[0].contentDocument,b.write(),b.close(),c=sa(a,b),qa.detach()),ra[a]=c),c}var ua=/^margin/,va=new RegExp("^("+Q+")(?!px)[a-z%]+$","i"),wa=function(b){return b.ownerDocument.defaultView.opener?b.ownerDocument.defaultView.getComputedStyle(b,null):a.getComputedStyle(b,null)};function xa(a,b,c){var d,e,f,g,h=a.style;return c=c||wa(a),c&&(g=c.getPropertyValue(b)||c[b]),c&&(""!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),va.test(g)&&ua.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function ya(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d=l.documentElement,e=l.createElement("div"),f=l.createElement("div");if(f.style){f.style.backgroundClip="content-box",f.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===f.style.backgroundClip,e.style.cssText="border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute",e.appendChild(f);function g(){f.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",f.innerHTML="",d.appendChild(e);var g=a.getComputedStyle(f,null);b="1%"!==g.top,c="4px"===g.width,d.removeChild(e)}a.getComputedStyle&&n.extend(k,{pixelPosition:function(){return g(),b},boxSizingReliable:function(){return null==c&&g(),c},reliableMarginRight:function(){var b,c=f.appendChild(l.createElement("div"));return c.style.cssText=f.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",c.style.marginRight=c.style.width="0",f.style.width="1px",d.appendChild(e),b=!parseFloat(a.getComputedStyle(c,null).marginRight),d.removeChild(e),f.removeChild(c),b}})}}(),n.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var za=/^(none|table(?!-c[ea]).+)/,Aa=new RegExp("^("+Q+")(.*)$","i"),Ba=new RegExp("^([+-])=("+Q+")","i"),Ca={position:"absolute",visibility:"hidden",display:"block"},Da={letterSpacing:"0",fontWeight:"400"},Ea=["Webkit","O","Moz","ms"];function Fa(a,b){if(b in a)return b;var c=b[0].toUpperCase()+b.slice(1),d=b,e=Ea.length;while(e--)if(b=Ea[e]+c,b in a)return b;return d}function Ga(a,b,c){var d=Aa.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Ha(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+R[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+R[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+R[f]+"Width",!0,e))):(g+=n.css(a,"padding"+R[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+R[f]+"Width",!0,e)));return g}function Ia(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=wa(a),g="border-box"===n.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=xa(a,b,f),(0>e||null==e)&&(e=a.style[b]),va.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Ha(a,b,c||(g?"border":"content"),d,f)+"px"}function Ja(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=L.get(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&S(d)&&(f[g]=L.access(d,"olddisplay",ta(d.nodeName)))):(e=S(d),"none"===c&&e||L.set(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=xa(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;return b=n.cssProps[h]||(n.cssProps[h]=Fa(i,h)),g=n.cssHooks[b]||n.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=Ba.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(n.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||n.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=Fa(a.style,h)),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=xa(a,b,d)),"normal"===e&&b in Da&&(e=Da[b]),""===c||c?(f=parseFloat(e),c===!0||n.isNumeric(f)?f||0:e):e}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?za.test(n.css(a,"display"))&&0===a.offsetWidth?n.swap(a,Ca,function(){return Ia(a,b,d)}):Ia(a,b,d):void 0},set:function(a,c,d){var e=d&&wa(a);return Ga(a,c,d?Ha(a,b,d,"border-box"===n.css(a,"boxSizing",!1,e),e):0)}}}),n.cssHooks.marginRight=ya(k.reliableMarginRight,function(a,b){return b?n.swap(a,{display:"inline-block"},xa,[a,"marginRight"]):void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+R[d]+b]=f[d]||f[d-2]||f[0];return e}},ua.test(a)||(n.cssHooks[a+b].set=Ga)}),n.fn.extend({css:function(a,b){return J(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=wa(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)},a,b,arguments.length>1)},show:function(){return Ja(this,!0)},hide:function(){return Ja(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){S(this)?n(this).show():n(this).hide()})}});function Ka(a,b,c,d,e){return new Ka.prototype.init(a,b,c,d,e)}n.Tween=Ka,Ka.prototype={constructor:Ka,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=Ka.propHooks[this.prop];return a&&a.get?a.get(this):Ka.propHooks._default.get(this)},run:function(a){var b,c=Ka.propHooks[this.prop];return this.options.duration?this.pos=b=n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Ka.propHooks._default.set(this),this}},Ka.prototype.init.prototype=Ka.prototype,Ka.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[n.cssProps[a.prop]]||n.cssHooks[a.prop])?n.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Ka.propHooks.scrollTop=Ka.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},n.fx=Ka.prototype.init,n.fx.step={};var La,Ma,Na=/^(?:toggle|show|hide)$/,Oa=new RegExp("^(?:([+-])=|)("+Q+")([a-z%]*)$","i"),Pa=/queueHooks$/,Qa=[Va],Ra={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=Oa.exec(b),f=e&&e[3]||(n.cssNumber[a]?"":"px"),g=(n.cssNumber[a]||"px"!==f&&+d)&&Oa.exec(n.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,n.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function Sa(){return setTimeout(function(){La=void 0}),La=n.now()}function Ta(a,b){var c,d=0,e={height:a};for(b=b?1:0;4>d;d+=2-b)c=R[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function Ua(a,b,c){for(var d,e=(Ra[b]||[]).concat(Ra["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function Va(a,b,c){var d,e,f,g,h,i,j,k,l=this,m={},o=a.style,p=a.nodeType&&S(a),q=L.get(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,l.always(function(){l.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=n.css(a,"display"),k="none"===j?L.get(a,"olddisplay")||ta(a.nodeName):j,"inline"===k&&"none"===n.css(a,"float")&&(o.display="inline-block")),c.overflow&&(o.overflow="hidden",l.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],Na.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}m[d]=q&&q[d]||n.style(a,d)}else j=void 0;if(n.isEmptyObject(m))"inline"===("none"===j?ta(a.nodeName):j)&&(o.display=j);else{q?"hidden"in q&&(p=q.hidden):q=L.access(a,"fxshow",{}),f&&(q.hidden=!p),p?n(a).show():l.done(function(){n(a).hide()}),l.done(function(){var b;L.remove(a,"fxshow");for(b in m)n.style(a,b,m[b])});for(d in m)g=Ua(p?q[d]:0,d,l),d in q||(q[d]=g.start,p&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function Wa(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function Xa(a,b,c){var d,e,f=0,g=Qa.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=La||Sa(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:La||Sa(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(Wa(k,j.opts.specialEasing);g>f;f++)if(d=Qa[f].call(j,a,k,j.opts))return d;return n.map(k,Ua,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(Xa,{tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],Ra[c]=Ra[c]||[],Ra[c].unshift(b)},prefilter:function(a,b){b?Qa.unshift(a):Qa.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(S).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=Xa(this,n.extend({},a),f);(e||L.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=n.timers,g=L.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&Pa.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=L.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(Ta(b,!0),a,d,e)}}),n.each({slideDown:Ta("show"),slideUp:Ta("hide"),slideToggle:Ta("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=0,c=n.timers;for(La=n.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||n.fx.stop(),La=void 0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.interval=13,n.fx.start=function(){Ma||(Ma=setInterval(n.fx.tick,n.fx.interval))},n.fx.stop=function(){clearInterval(Ma),Ma=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(a,b){return a=n.fx?n.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a=l.createElement("input"),b=l.createElement("select"),c=b.appendChild(l.createElement("option"));a.type="checkbox",k.checkOn=""!==a.value,k.optSelected=c.selected,b.disabled=!0,k.optDisabled=!c.disabled,a=l.createElement("input"),a.value="t",a.type="radio",k.radioValue="t"===a.value}();var Ya,Za,$a=n.expr.attrHandle;n.fn.extend({attr:function(a,b){return J(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===U?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),d=n.attrHooks[b]||(n.expr.match.bool.test(b)?Za:Ya)), | ||
4 | void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=n.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void n.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),Za={set:function(a,b,c){return b===!1?n.removeAttr(a,c):a.setAttribute(c,c),c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=$a[b]||n.find.attr;$a[b]=function(a,b,d){var e,f;return d||(f=$a[b],$a[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,$a[b]=f),e}});var _a=/^(?:input|select|textarea|button)$/i;n.fn.extend({prop:function(a,b){return J(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[n.propFix[a]||a]})}}),n.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!n.isXMLDoc(a),f&&(b=n.propFix[b]||b,e=n.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){return a.hasAttribute("tabindex")||_a.test(a.nodeName)||a.href?a.tabIndex:-1}}}}),k.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this});var ab=/[\t\r\n\f]/g;n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h="string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ab," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=n.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0===arguments.length||"string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ab," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?n.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(n.isFunction(a)?function(c){n(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=n(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===U||"boolean"===c)&&(this.className&&L.set(this,"__className__",this.className),this.className=this.className||a===!1?"":L.get(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(ab," ").indexOf(b)>=0)return!0;return!1}});var bb=/\r/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(bb,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.trim(n.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=n.inArray(d.value,f)>=0)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>=0:void 0}},k.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var cb=n.now(),db=/\?/;n.parseJSON=function(a){return JSON.parse(a+"")},n.parseXML=function(a){var b,c;if(!a||"string"!=typeof a)return null;try{c=new DOMParser,b=c.parseFromString(a,"text/xml")}catch(d){b=void 0}return(!b||b.getElementsByTagName("parsererror").length)&&n.error("Invalid XML: "+a),b};var eb=/#.*$/,fb=/([?&])_=[^&]*/,gb=/^(.*?):[ \t]*([^\r\n]*)$/gm,hb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,ib=/^(?:GET|HEAD)$/,jb=/^\/\//,kb=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,lb={},mb={},nb="*/".concat("*"),ob=a.location.href,pb=kb.exec(ob.toLowerCase())||[];function qb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(n.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function rb(a,b,c,d){var e={},f=a===mb;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function sb(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&n.extend(!0,a,d),a}function tb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function ub(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:ob,type:"GET",isLocal:hb.test(pb[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":nb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?sb(sb(a,n.ajaxSettings),b):sb(n.ajaxSettings,a)},ajaxPrefilter:qb(lb),ajaxTransport:qb(mb),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=n.ajaxSetup({},b),l=k.context||k,m=k.context&&(l.nodeType||l.jquery)?n(l):n.event,o=n.Deferred(),p=n.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!f){f={};while(b=gb.exec(e))f[b[1].toLowerCase()]=b[2]}b=f[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?e:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return c&&c.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||ob)+"").replace(eb,"").replace(jb,pb[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=n.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(h=kb.exec(k.url.toLowerCase()),k.crossDomain=!(!h||h[1]===pb[1]&&h[2]===pb[2]&&(h[3]||("http:"===h[1]?"80":"443"))===(pb[3]||("http:"===pb[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=n.param(k.data,k.traditional)),rb(lb,k,b,v),2===t)return v;i=n.event&&k.global,i&&0===n.active++&&n.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!ib.test(k.type),d=k.url,k.hasContent||(k.data&&(d=k.url+=(db.test(d)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=fb.test(d)?d.replace(fb,"$1_="+cb++):d+(db.test(d)?"&":"?")+"_="+cb++)),k.ifModified&&(n.lastModified[d]&&v.setRequestHeader("If-Modified-Since",n.lastModified[d]),n.etag[d]&&v.setRequestHeader("If-None-Match",n.etag[d])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+nb+"; q=0.01":""):k.accepts["*"]);for(j in k.headers)v.setRequestHeader(j,k.headers[j]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(j in{success:1,error:1,complete:1})v[j](k[j]);if(c=rb(mb,k,b,v)){v.readyState=1,i&&m.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,c.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,f,h){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),c=void 0,e=h||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,f&&(u=tb(k,v,f)),u=ub(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(n.lastModified[d]=w),w=v.getResponseHeader("etag"),w&&(n.etag[d]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,i&&m.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),i&&(m.trigger("ajaxComplete",[v,k]),--n.active||n.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){var b;return n.isFunction(a)?this.each(function(b){n(this).wrapAll(a.call(this,b))}):(this[0]&&(b=n(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this)},wrapInner:function(a){return this.each(n.isFunction(a)?function(b){n(this).wrapInner(a.call(this,b))}:function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}}),n.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0},n.expr.filters.visible=function(a){return!n.expr.filters.hidden(a)};var vb=/%20/g,wb=/\[\]$/,xb=/\r?\n/g,yb=/^(?:submit|button|image|reset|file)$/i,zb=/^(?:input|select|textarea|keygen)/i;function Ab(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||wb.test(a)?d(a,e):Ab(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)Ab(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)Ab(c,a[c],b,e);return d.join("&").replace(vb,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&zb.test(this.nodeName)&&!yb.test(a)&&(this.checked||!T.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(xb,"\r\n")}}):{name:b.name,value:c.replace(xb,"\r\n")}}).get()}}),n.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(a){}};var Bb=0,Cb={},Db={0:200,1223:204},Eb=n.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in Cb)Cb[a]()}),k.cors=!!Eb&&"withCredentials"in Eb,k.ajax=Eb=!!Eb,n.ajaxTransport(function(a){var b;return k.cors||Eb&&!a.crossDomain?{send:function(c,d){var e,f=a.xhr(),g=++Bb;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)f.setRequestHeader(e,c[e]);b=function(a){return function(){b&&(delete Cb[g],b=f.onload=f.onerror=null,"abort"===a?f.abort():"error"===a?d(f.status,f.statusText):d(Db[f.status]||f.status,f.statusText,"string"==typeof f.responseText?{text:f.responseText}:void 0,f.getAllResponseHeaders()))}},f.onload=b(),f.onerror=b("error"),b=Cb[g]=b("abort");try{f.send(a.hasContent&&a.data||null)}catch(h){if(b)throw h}},abort:function(){b&&b()}}:void 0}),n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(d,e){b=n("<script>").prop({async:!0,charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&e("error"===a.type?404:200,a.type)}),l.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Fb=[],Gb=/(=)\?(?=&|$)|\?\?/;n.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Fb.pop()||n.expando+"_"+cb++;return this[a]=!0,a}}),n.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Gb.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Gb.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Gb,"$1"+e):b.jsonp!==!1&&(b.url+=(db.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||n.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Fb.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),n.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||l;var d=v.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=n.buildFragment([a],b,e),e&&e.length&&n(e).remove(),n.merge([],d.childNodes))};var Hb=n.fn.load;n.fn.load=function(a,b,c){if("string"!=typeof a&&Hb)return Hb.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=n.trim(a.slice(h)),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&n.ajax({url:a,type:e,dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?n("<div>").append(n.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,f||[a.responseText,b,a])}),this},n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};var Ib=a.document.documentElement;function Jb(a){return n.isWindow(a)?a:9===a.nodeType&&a.defaultView}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d=this[0],e={top:0,left:0},f=d&&d.ownerDocument;if(f)return b=f.documentElement,n.contains(b,d)?(typeof d.getBoundingClientRect!==U&&(e=d.getBoundingClientRect()),c=Jb(f),{top:e.top+c.pageYOffset-b.clientTop,left:e.left+c.pageXOffset-b.clientLeft}):e},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===n.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(d=a.offset()),d.top+=n.css(a[0],"borderTopWidth",!0),d.left+=n.css(a[0],"borderLeftWidth",!0)),{top:b.top-d.top-n.css(c,"marginTop",!0),left:b.left-d.left-n.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||Ib;while(a&&!n.nodeName(a,"html")&&"static"===n.css(a,"position"))a=a.offsetParent;return a||Ib})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(b,c){var d="pageYOffset"===c;n.fn[b]=function(e){return J(this,function(b,e,f){var g=Jb(b);return void 0===f?g?g[c]:b[e]:void(g?g.scrollTo(d?a.pageXOffset:f,d?f:a.pageYOffset):b[e]=f)},b,e,arguments.length,null)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=ya(k.pixelPosition,function(a,c){return c?(c=xa(a,b),va.test(c)?n(a).position()[b]+"px":c):void 0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return J(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.size=function(){return this.length},n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var Kb=a.jQuery,Lb=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=Lb),b&&a.jQuery===n&&(a.jQuery=Kb),n},typeof b===U&&(a.jQuery=a.$=n),n}); | ||
5 | //# sourceMappingURL=jquery.min.map | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
public/javascripts/simditor/mobilecheck.js
0 → 100755
1 | window.mobilecheck = function() { | ||
2 | var check = false; | ||
3 | (function(a){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4)))check = true})(navigator.userAgent||navigator.vendor||window.opera); | ||
4 | return check; } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
public/javascripts/simditor/module.js
0 → 100755
1 | (function (root, factory) { | ||
2 | if (typeof define === 'function' && define.amd) { | ||
3 | // AMD. Register as an anonymous module unless amdModuleId is set | ||
4 | define('simple-module', ["jquery"], function (a0) { | ||
5 | return (root['Module'] = factory(a0)); | ||
6 | }); | ||
7 | } else if (typeof exports === 'object') { | ||
8 | // Node. Does not work with strict CommonJS, but | ||
9 | // only CommonJS-like environments that support module.exports, | ||
10 | // like Node. | ||
11 | module.exports = factory(require("jquery")); | ||
12 | } else { | ||
13 | root['SimpleModule'] = factory(jQuery); | ||
14 | } | ||
15 | }(this, function ($) { | ||
16 | |||
17 | var Module, | ||
18 | slice = [].slice; | ||
19 | |||
20 | Module = (function() { | ||
21 | Module.extend = function(obj) { | ||
22 | var key, ref, val; | ||
23 | if (!((obj != null) && typeof obj === 'object')) { | ||
24 | return; | ||
25 | } | ||
26 | for (key in obj) { | ||
27 | val = obj[key]; | ||
28 | if (key !== 'included' && key !== 'extended') { | ||
29 | this[key] = val; | ||
30 | } | ||
31 | } | ||
32 | return (ref = obj.extended) != null ? ref.call(this) : void 0; | ||
33 | }; | ||
34 | |||
35 | Module.include = function(obj) { | ||
36 | var key, ref, val; | ||
37 | if (!((obj != null) && typeof obj === 'object')) { | ||
38 | return; | ||
39 | } | ||
40 | for (key in obj) { | ||
41 | val = obj[key]; | ||
42 | if (key !== 'included' && key !== 'extended') { | ||
43 | this.prototype[key] = val; | ||
44 | } | ||
45 | } | ||
46 | return (ref = obj.included) != null ? ref.call(this) : void 0; | ||
47 | }; | ||
48 | |||
49 | Module.connect = function(cls) { | ||
50 | if (typeof cls !== 'function') { | ||
51 | return; | ||
52 | } | ||
53 | if (!cls.pluginName) { | ||
54 | throw new Error('Module.connect: cannot connect plugin without pluginName'); | ||
55 | return; | ||
56 | } | ||
57 | cls.prototype._connected = true; | ||
58 | if (!this._connectedClasses) { | ||
59 | this._connectedClasses = []; | ||
60 | } | ||
61 | this._connectedClasses.push(cls); | ||
62 | if (cls.pluginName) { | ||
63 | return this[cls.pluginName] = cls; | ||
64 | } | ||
65 | }; | ||
66 | |||
67 | Module.prototype.opts = {}; | ||
68 | |||
69 | function Module(opts) { | ||
70 | var base, cls, i, instance, instances, len, name; | ||
71 | this.opts = $.extend({}, this.opts, opts); | ||
72 | (base = this.constructor)._connectedClasses || (base._connectedClasses = []); | ||
73 | instances = (function() { | ||
74 | var i, len, ref, results; | ||
75 | ref = this.constructor._connectedClasses; | ||
76 | results = []; | ||
77 | for (i = 0, len = ref.length; i < len; i++) { | ||
78 | cls = ref[i]; | ||
79 | name = cls.pluginName.charAt(0).toLowerCase() + cls.pluginName.slice(1); | ||
80 | if (cls.prototype._connected) { | ||
81 | cls.prototype._module = this; | ||
82 | } | ||
83 | results.push(this[name] = new cls()); | ||
84 | } | ||
85 | return results; | ||
86 | }).call(this); | ||
87 | if (this._connected) { | ||
88 | this.opts = $.extend({}, this.opts, this._module.opts); | ||
89 | } else { | ||
90 | this._init(); | ||
91 | for (i = 0, len = instances.length; i < len; i++) { | ||
92 | instance = instances[i]; | ||
93 | if (typeof instance._init === "function") { | ||
94 | instance._init(); | ||
95 | } | ||
96 | } | ||
97 | } | ||
98 | this.trigger('initialized'); | ||
99 | } | ||
100 | |||
101 | Module.prototype._init = function() {}; | ||
102 | |||
103 | Module.prototype.on = function() { | ||
104 | var args, ref; | ||
105 | args = 1 <= arguments.length ? slice.call(arguments, 0) : []; | ||
106 | (ref = $(this)).on.apply(ref, args); | ||
107 | return this; | ||
108 | }; | ||
109 | |||
110 | Module.prototype.one = function() { | ||
111 | var args, ref; | ||
112 | args = 1 <= arguments.length ? slice.call(arguments, 0) : []; | ||
113 | (ref = $(this)).one.apply(ref, args); | ||
114 | return this; | ||
115 | }; | ||
116 | |||
117 | Module.prototype.off = function() { | ||
118 | var args, ref; | ||
119 | args = 1 <= arguments.length ? slice.call(arguments, 0) : []; | ||
120 | (ref = $(this)).off.apply(ref, args); | ||
121 | return this; | ||
122 | }; | ||
123 | |||
124 | Module.prototype.trigger = function() { | ||
125 | var args, ref; | ||
126 | args = 1 <= arguments.length ? slice.call(arguments, 0) : []; | ||
127 | (ref = $(this)).trigger.apply(ref, args); | ||
128 | return this; | ||
129 | }; | ||
130 | |||
131 | Module.prototype.triggerHandler = function() { | ||
132 | var args, ref; | ||
133 | args = 1 <= arguments.length ? slice.call(arguments, 0) : []; | ||
134 | return (ref = $(this)).triggerHandler.apply(ref, args); | ||
135 | }; | ||
136 | |||
137 | Module.prototype._t = function() { | ||
138 | var args, ref; | ||
139 | args = 1 <= arguments.length ? slice.call(arguments, 0) : []; | ||
140 | return (ref = this.constructor)._t.apply(ref, args); | ||
141 | }; | ||
142 | |||
143 | Module._t = function() { | ||
144 | var args, key, ref, result; | ||
145 | key = arguments[0], args = 2 <= arguments.length ? slice.call(arguments, 1) : []; | ||
146 | result = ((ref = this.i18n[this.locale]) != null ? ref[key] : void 0) || ''; | ||
147 | if (!(args.length > 0)) { | ||
148 | return result; | ||
149 | } | ||
150 | result = result.replace(/([^%]|^)%(?:(\d+)\$)?s/g, function(p0, p, position) { | ||
151 | if (position) { | ||
152 | return p + args[parseInt(position) - 1]; | ||
153 | } else { | ||
154 | return p + args.shift(); | ||
155 | } | ||
156 | }); | ||
157 | return result.replace(/%%s/g, '%s'); | ||
158 | }; | ||
159 | |||
160 | Module.i18n = { | ||
161 | 'zh-CN': {} | ||
162 | }; | ||
163 | |||
164 | Module.locale = 'zh-CN'; | ||
165 | |||
166 | return Module; | ||
167 | |||
168 | })(); | ||
169 | |||
170 | return Module; | ||
171 | |||
172 | })); |
public/javascripts/simditor/simditor.js
0 → 100755
This diff could not be displayed because it is too large.
public/javascripts/simditor/uploader.js
0 → 100755
1 | (function (root, factory) { | ||
2 | if (typeof define === 'function' && define.amd) { | ||
3 | // AMD. Register as an anonymous module unless amdModuleId is set | ||
4 | define('simple-uploader', ["jquery","simple-module"], function ($, SimpleModule) { | ||
5 | return (root['uploader'] = factory($, SimpleModule)); | ||
6 | }); | ||
7 | } else if (typeof exports === 'object') { | ||
8 | // Node. Does not work with strict CommonJS, but | ||
9 | // only CommonJS-like environments that support module.exports, | ||
10 | // like Node. | ||
11 | module.exports = factory(require("jquery"),require("simple-module")); | ||
12 | } else { | ||
13 | root.simple = root.simple || {}; | ||
14 | root.simple['uploader'] = factory(jQuery,SimpleModule); | ||
15 | } | ||
16 | }(this, function ($, SimpleModule) { | ||
17 | |||
18 | var Uploader, uploader, | ||
19 | extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, | ||
20 | hasProp = {}.hasOwnProperty; | ||
21 | |||
22 | Uploader = (function(superClass) { | ||
23 | extend(Uploader, superClass); | ||
24 | |||
25 | function Uploader() { | ||
26 | return Uploader.__super__.constructor.apply(this, arguments); | ||
27 | } | ||
28 | |||
29 | Uploader.count = 0; | ||
30 | |||
31 | Uploader.prototype.opts = { | ||
32 | url: '', | ||
33 | params: null, | ||
34 | fileKey: 'upload_file', | ||
35 | connectionCount: 3 | ||
36 | }; | ||
37 | |||
38 | Uploader.prototype._init = function() { | ||
39 | this.files = []; | ||
40 | this.queue = []; | ||
41 | this.id = ++Uploader.count; | ||
42 | this.on('uploadcomplete', (function(_this) { | ||
43 | return function(e, file) { | ||
44 | _this.files.splice($.inArray(file, _this.files), 1); | ||
45 | if (_this.queue.length > 0 && _this.files.length < _this.opts.connectionCount) { | ||
46 | return _this.upload(_this.queue.shift()); | ||
47 | } else { | ||
48 | return _this.uploading = false; | ||
49 | } | ||
50 | }; | ||
51 | })(this)); | ||
52 | return $(window).on('beforeunload.uploader-' + this.id, (function(_this) { | ||
53 | return function(e) { | ||
54 | if (!_this.uploading) { | ||
55 | return; | ||
56 | } | ||
57 | e.originalEvent.returnValue = _this._t('leaveConfirm'); | ||
58 | return _this._t('leaveConfirm'); | ||
59 | }; | ||
60 | })(this)); | ||
61 | }; | ||
62 | |||
63 | Uploader.prototype.generateId = (function() { | ||
64 | var id; | ||
65 | id = 0; | ||
66 | return function() { | ||
67 | return id += 1; | ||
68 | }; | ||
69 | })(); | ||
70 | |||
71 | Uploader.prototype.upload = function(file, opts) { | ||
72 | var f, i, key, len; | ||
73 | if (opts == null) { | ||
74 | opts = {}; | ||
75 | } | ||
76 | if (file == null) { | ||
77 | return; | ||
78 | } | ||
79 | if ($.isArray(file) || file instanceof FileList) { | ||
80 | for (i = 0, len = file.length; i < len; i++) { | ||
81 | f = file[i]; | ||
82 | this.upload(f, opts); | ||
83 | } | ||
84 | } else if ($(file).is('input:file')) { | ||
85 | key = $(file).attr('name'); | ||
86 | if (key) { | ||
87 | opts.fileKey = key; | ||
88 | } | ||
89 | this.upload($.makeArray($(file)[0].files), opts); | ||
90 | } else if (!file.id || !file.obj) { | ||
91 | file = this.getFile(file); | ||
92 | } | ||
93 | if (!(file && file.obj)) { | ||
94 | return; | ||
95 | } | ||
96 | $.extend(file, opts); | ||
97 | if (this.files.length >= this.opts.connectionCount) { | ||
98 | this.queue.push(file); | ||
99 | return; | ||
100 | } | ||
101 | if (this.triggerHandler('beforeupload', [file]) === false) { | ||
102 | return; | ||
103 | } | ||
104 | this.files.push(file); | ||
105 | this._xhrUpload(file); | ||
106 | return this.uploading = true; | ||
107 | }; | ||
108 | |||
109 | Uploader.prototype.getFile = function(fileObj) { | ||
110 | var name, ref, ref1; | ||
111 | if (fileObj instanceof window.File || fileObj instanceof window.Blob) { | ||
112 | name = (ref = fileObj.fileName) != null ? ref : fileObj.name; | ||
113 | } else { | ||
114 | return null; | ||
115 | } | ||
116 | return { | ||
117 | id: this.generateId(), | ||
118 | url: this.opts.url, | ||
119 | params: this.opts.params, | ||
120 | fileKey: this.opts.fileKey, | ||
121 | name: name, | ||
122 | size: (ref1 = fileObj.fileSize) != null ? ref1 : fileObj.size, | ||
123 | ext: name ? name.split('.').pop().toLowerCase() : '', | ||
124 | obj: fileObj | ||
125 | }; | ||
126 | }; | ||
127 | |||
128 | Uploader.prototype._xhrUpload = function(file) { | ||
129 | var formData, k, ref, v; | ||
130 | formData = new FormData(); | ||
131 | formData.append(file.fileKey, file.obj); | ||
132 | formData.append("original_filename", file.name); | ||
133 | if (file.params) { | ||
134 | ref = file.params; | ||
135 | for (k in ref) { | ||
136 | v = ref[k]; | ||
137 | formData.append(k, v); | ||
138 | } | ||
139 | } | ||
140 | return file.xhr = $.ajax({ | ||
141 | url: file.url, | ||
142 | data: formData, | ||
143 | processData: false, | ||
144 | contentType: false, | ||
145 | type: 'POST', | ||
146 | headers: { | ||
147 | 'X-File-Name': encodeURIComponent(file.name) | ||
148 | }, | ||
149 | xhr: function() { | ||
150 | var req; | ||
151 | req = $.ajaxSettings.xhr(); | ||
152 | if (req) { | ||
153 | req.upload.onprogress = (function(_this) { | ||
154 | return function(e) { | ||
155 | return _this.progress(e); | ||
156 | }; | ||
157 | })(this); | ||
158 | } | ||
159 | return req; | ||
160 | }, | ||
161 | progress: (function(_this) { | ||
162 | return function(e) { | ||
163 | if (!e.lengthComputable) { | ||
164 | return; | ||
165 | } | ||
166 | return _this.trigger('uploadprogress', [file, e.loaded, e.total]); | ||
167 | }; | ||
168 | })(this), | ||
169 | error: (function(_this) { | ||
170 | return function(xhr, status, err) { | ||
171 | return _this.trigger('uploaderror', [file, xhr, status]); | ||
172 | }; | ||
173 | })(this), | ||
174 | success: (function(_this) { | ||
175 | return function(result) { | ||
176 | _this.trigger('uploadprogress', [file, file.size, file.size]); | ||
177 | _this.trigger('uploadsuccess', [file, result]); | ||
178 | return $(document).trigger('uploadsuccess', [file, result, _this]); | ||
179 | }; | ||
180 | })(this), | ||
181 | complete: (function(_this) { | ||
182 | return function(xhr, status) { | ||
183 | return _this.trigger('uploadcomplete', [file, xhr.responseText]); | ||
184 | }; | ||
185 | })(this) | ||
186 | }); | ||
187 | }; | ||
188 | |||
189 | Uploader.prototype.cancel = function(file) { | ||
190 | var f, i, len, ref; | ||
191 | if (!file.id) { | ||
192 | ref = this.files; | ||
193 | for (i = 0, len = ref.length; i < len; i++) { | ||
194 | f = ref[i]; | ||
195 | if (f.id === file * 1) { | ||
196 | file = f; | ||
197 | break; | ||
198 | } | ||
199 | } | ||
200 | } | ||
201 | this.trigger('uploadcancel', [file]); | ||
202 | if (file.xhr) { | ||
203 | file.xhr.abort(); | ||
204 | } | ||
205 | return file.xhr = null; | ||
206 | }; | ||
207 | |||
208 | Uploader.prototype.readImageFile = function(fileObj, callback) { | ||
209 | var fileReader, img; | ||
210 | if (!$.isFunction(callback)) { | ||
211 | return; | ||
212 | } | ||
213 | img = new Image(); | ||
214 | img.onload = function() { | ||
215 | return callback(img); | ||
216 | }; | ||
217 | img.onerror = function() { | ||
218 | return callback(); | ||
219 | }; | ||
220 | if (window.FileReader && FileReader.prototype.readAsDataURL && /^image/.test(fileObj.type)) { | ||
221 | fileReader = new FileReader(); | ||
222 | fileReader.onload = function(e) { | ||
223 | return img.src = e.target.result; | ||
224 | }; | ||
225 | return fileReader.readAsDataURL(fileObj); | ||
226 | } else { | ||
227 | return callback(); | ||
228 | } | ||
229 | }; | ||
230 | |||
231 | Uploader.prototype.destroy = function() { | ||
232 | var file, i, len, ref; | ||
233 | this.queue.length = 0; | ||
234 | ref = this.files; | ||
235 | for (i = 0, len = ref.length; i < len; i++) { | ||
236 | file = ref[i]; | ||
237 | this.cancel(file); | ||
238 | } | ||
239 | $(window).off('.uploader-' + this.id); | ||
240 | return $(document).off('.uploader-' + this.id); | ||
241 | }; | ||
242 | |||
243 | Uploader.i18n = { | ||
244 | 'zh-CN': { | ||
245 | leaveConfirm: '正在上传文件,如果离开上传会自动取消' | ||
246 | } | ||
247 | }; | ||
248 | |||
249 | Uploader.locale = 'zh-CN'; | ||
250 | |||
251 | return Uploader; | ||
252 | |||
253 | })(SimpleModule); | ||
254 | |||
255 | uploader = function(opts) { | ||
256 | return new Uploader(opts); | ||
257 | }; | ||
258 | |||
259 | return uploader; | ||
260 | |||
261 | })); |
public/robots.txt
0 → 100644
public/stylesheets/app.css
0 → 100755
1 | /** | ||
2 | * Eric Meyer's Reset CSS v2.0 (http://meyerweb.com/eric/tools/css/reset/) | ||
3 | * http://cssreset.com | ||
4 | */ | ||
5 | html, body, div, span, applet, object, iframe, | ||
6 | h1, h2, h3, h4, h5, h6, p, blockquote, pre, | ||
7 | a, abbr, acronym, address, big, cite, code, | ||
8 | del, dfn, em, img, ins, kbd, q, s, samp, | ||
9 | small, strike, strong, sub, sup, tt, var, | ||
10 | b, u, i, center, | ||
11 | dl, dt, dd, ol, ul, li, | ||
12 | fieldset, form, label, legend, | ||
13 | table, caption, tbody, tfoot, thead, tr, th, td, | ||
14 | article, aside, canvas, details, embed, | ||
15 | figure, figcaption, footer, header, hgroup, | ||
16 | menu, nav, output, ruby, section, summary, | ||
17 | time, mark, audio, video { | ||
18 | margin: 0; | ||
19 | padding: 0; | ||
20 | border: 0; | ||
21 | font-size: 100%; | ||
22 | font: inherit; | ||
23 | vertical-align: baseline; | ||
24 | } | ||
25 | |||
26 | /* HTML5 display-role reset for older browsers */ | ||
27 | article, aside, details, figcaption, figure, | ||
28 | footer, header, hgroup, menu, nav, section { | ||
29 | display: block; | ||
30 | } | ||
31 | |||
32 | body { | ||
33 | line-height: 1; | ||
34 | } | ||
35 | |||
36 | ol, ul { | ||
37 | list-style: none; | ||
38 | } | ||
39 | |||
40 | blockquote, q { | ||
41 | quotes: none; | ||
42 | } | ||
43 | |||
44 | blockquote:before, blockquote:after, | ||
45 | q:before, q:after { | ||
46 | content: ''; | ||
47 | content: none; | ||
48 | } | ||
49 | |||
50 | table { | ||
51 | border-collapse: collapse; | ||
52 | border-spacing: 0; | ||
53 | } | ||
54 | |||
55 | .highlight .hll { | ||
56 | background-color: #ffffcc; | ||
57 | } | ||
58 | |||
59 | .highlight .c { | ||
60 | color: #999988; | ||
61 | font-style: italic; | ||
62 | } | ||
63 | |||
64 | /* Comment */ | ||
65 | .highlight .err { | ||
66 | color: #a61717; | ||
67 | background-color: #e3d2d2; | ||
68 | } | ||
69 | |||
70 | /* Error */ | ||
71 | .highlight .k { | ||
72 | font-weight: bold; | ||
73 | } | ||
74 | |||
75 | /* Keyword */ | ||
76 | .highlight .o { | ||
77 | font-weight: bold; | ||
78 | } | ||
79 | |||
80 | /* Operator */ | ||
81 | .highlight .cm { | ||
82 | color: #999988; | ||
83 | font-style: italic; | ||
84 | } | ||
85 | |||
86 | /* Comment.Multiline */ | ||
87 | .highlight .cp { | ||
88 | color: #999999; | ||
89 | font-weight: bold; | ||
90 | } | ||
91 | |||
92 | /* Comment.Preproc */ | ||
93 | .highlight .c1 { | ||
94 | color: #999988; | ||
95 | font-style: italic; | ||
96 | } | ||
97 | |||
98 | /* Comment.Single */ | ||
99 | .highlight .cs { | ||
100 | color: #999999; | ||
101 | font-weight: bold; | ||
102 | font-style: italic; | ||
103 | } | ||
104 | |||
105 | /* Comment.Special */ | ||
106 | .highlight .gd { | ||
107 | color: #000000; | ||
108 | background-color: #ffdddd; | ||
109 | } | ||
110 | |||
111 | /* Generic.Deleted */ | ||
112 | .highlight .ge { | ||
113 | font-style: italic; | ||
114 | } | ||
115 | |||
116 | /* Generic.Emph */ | ||
117 | .highlight .gr { | ||
118 | color: #aa0000; | ||
119 | } | ||
120 | |||
121 | /* Generic.Error */ | ||
122 | .highlight .gh { | ||
123 | color: #999999; | ||
124 | } | ||
125 | |||
126 | /* Generic.Heading */ | ||
127 | .highlight .gi { | ||
128 | color: #000000; | ||
129 | background-color: #ddffdd; | ||
130 | } | ||
131 | |||
132 | /* Generic.Inserted */ | ||
133 | .highlight .go { | ||
134 | color: #888888; | ||
135 | } | ||
136 | |||
137 | /* Generic.Output */ | ||
138 | .highlight .gp { | ||
139 | color: #555555; | ||
140 | } | ||
141 | |||
142 | /* Generic.Prompt */ | ||
143 | .highlight .gs { | ||
144 | font-weight: bold; | ||
145 | } | ||
146 | |||
147 | /* Generic.Strong */ | ||
148 | .highlight .gu { | ||
149 | color: #aaaaaa; | ||
150 | } | ||
151 | |||
152 | /* Generic.Subheading */ | ||
153 | .highlight .gt { | ||
154 | color: #aa0000; | ||
155 | } | ||
156 | |||
157 | /* Generic.Traceback */ | ||
158 | .highlight .kc { | ||
159 | font-weight: bold; | ||
160 | } | ||
161 | |||
162 | /* Keyword.Constant */ | ||
163 | .highlight .kd { | ||
164 | font-weight: bold; | ||
165 | } | ||
166 | |||
167 | /* Keyword.Declaration */ | ||
168 | .highlight .kn { | ||
169 | font-weight: bold; | ||
170 | } | ||
171 | |||
172 | /* Keyword.Namespace */ | ||
173 | .highlight .kp { | ||
174 | font-weight: bold; | ||
175 | } | ||
176 | |||
177 | /* Keyword.Pseudo */ | ||
178 | .highlight .kr { | ||
179 | font-weight: bold; | ||
180 | } | ||
181 | |||
182 | /* Keyword.Reserved */ | ||
183 | .highlight .kt { | ||
184 | color: #445588; | ||
185 | font-weight: bold; | ||
186 | } | ||
187 | |||
188 | /* Keyword.Type */ | ||
189 | .highlight .m { | ||
190 | color: #009999; | ||
191 | } | ||
192 | |||
193 | /* Literal.Number */ | ||
194 | .highlight .s { | ||
195 | color: #bb8844; | ||
196 | } | ||
197 | |||
198 | /* Literal.String */ | ||
199 | .highlight .na { | ||
200 | color: #008080; | ||
201 | } | ||
202 | |||
203 | /* Name.Attribute */ | ||
204 | .highlight .nb { | ||
205 | color: #999999; | ||
206 | } | ||
207 | |||
208 | /* Name.Builtin */ | ||
209 | .highlight .nc { | ||
210 | color: #445588; | ||
211 | font-weight: bold; | ||
212 | } | ||
213 | |||
214 | /* Name.Class */ | ||
215 | .highlight .no { | ||
216 | color: #008080; | ||
217 | } | ||
218 | |||
219 | /* Name.Constant */ | ||
220 | .highlight .ni { | ||
221 | color: #800080; | ||
222 | } | ||
223 | |||
224 | /* Name.Entity */ | ||
225 | .highlight .ne { | ||
226 | color: #990000; | ||
227 | font-weight: bold; | ||
228 | } | ||
229 | |||
230 | /* Name.Exception */ | ||
231 | .highlight .nf { | ||
232 | color: #990000; | ||
233 | font-weight: bold; | ||
234 | } | ||
235 | |||
236 | /* Name.Function */ | ||
237 | .highlight .nn { | ||
238 | color: #555555; | ||
239 | } | ||
240 | |||
241 | /* Name.Namespace */ | ||
242 | .highlight .nt { | ||
243 | color: #000080; | ||
244 | } | ||
245 | |||
246 | /* Name.Tag */ | ||
247 | .highlight .nv { | ||
248 | color: #008080; | ||
249 | } | ||
250 | |||
251 | /* Name.Variable */ | ||
252 | .highlight .ow { | ||
253 | font-weight: bold; | ||
254 | } | ||
255 | |||
256 | /* Operator.Word */ | ||
257 | .highlight .w { | ||
258 | color: #bbbbbb; | ||
259 | } | ||
260 | |||
261 | /* Text.Whitespace */ | ||
262 | .highlight .mf { | ||
263 | color: #009999; | ||
264 | } | ||
265 | |||
266 | /* Literal.Number.Float */ | ||
267 | .highlight .mh { | ||
268 | color: #009999; | ||
269 | } | ||
270 | |||
271 | /* Literal.Number.Hex */ | ||
272 | .highlight .mi { | ||
273 | color: #009999; | ||
274 | } | ||
275 | |||
276 | /* Literal.Number.Integer */ | ||
277 | .highlight .mo { | ||
278 | color: #009999; | ||
279 | } | ||
280 | |||
281 | /* Literal.Number.Oct */ | ||
282 | .highlight .sb { | ||
283 | color: #bb8844; | ||
284 | } | ||
285 | |||
286 | /* Literal.String.Backtick */ | ||
287 | .highlight .sc { | ||
288 | color: #bb8844; | ||
289 | } | ||
290 | |||
291 | /* Literal.String.Char */ | ||
292 | .highlight .sd { | ||
293 | color: #bb8844; | ||
294 | } | ||
295 | |||
296 | /* Literal.String.Doc */ | ||
297 | .highlight .s2 { | ||
298 | color: #bb8844; | ||
299 | } | ||
300 | |||
301 | /* Literal.String.Double */ | ||
302 | .highlight .se { | ||
303 | color: #bb8844; | ||
304 | } | ||
305 | |||
306 | /* Literal.String.Escape */ | ||
307 | .highlight .sh { | ||
308 | color: #bb8844; | ||
309 | } | ||
310 | |||
311 | /* Literal.String.Heredoc */ | ||
312 | .highlight .si { | ||
313 | color: #bb8844; | ||
314 | } | ||
315 | |||
316 | /* Literal.String.Interpol */ | ||
317 | .highlight .sx { | ||
318 | color: #bb8844; | ||
319 | } | ||
320 | |||
321 | /* Literal.String.Other */ | ||
322 | .highlight .sr { | ||
323 | color: #808000; | ||
324 | } | ||
325 | |||
326 | /* Literal.String.Regex */ | ||
327 | .highlight .s1 { | ||
328 | color: #bb8844; | ||
329 | } | ||
330 | |||
331 | /* Literal.String.Single */ | ||
332 | .highlight .ss { | ||
333 | color: #bb8844; | ||
334 | } | ||
335 | |||
336 | /* Literal.String.Symbol */ | ||
337 | .highlight .bp { | ||
338 | color: #999999; | ||
339 | } | ||
340 | |||
341 | /* Name.Builtin.Pseudo */ | ||
342 | .highlight .vc { | ||
343 | color: #008080; | ||
344 | } | ||
345 | |||
346 | /* Name.Variable.Class */ | ||
347 | .highlight .vg { | ||
348 | color: #008080; | ||
349 | } | ||
350 | |||
351 | /* Name.Variable.Global */ | ||
352 | .highlight .vi { | ||
353 | color: #008080; | ||
354 | } | ||
355 | |||
356 | /* Name.Variable.Instance */ | ||
357 | .highlight .il { | ||
358 | color: #009999; | ||
359 | } | ||
360 | |||
361 | /* Literal.Number.Integer.Long */ | ||
362 | /* General Style */ | ||
363 | body { | ||
364 | font-size: 16px; | ||
365 | font-family: Helvetica, Arial, sans-serif; | ||
366 | color: #52514c; | ||
367 | background: #ffffff; | ||
368 | } | ||
369 | |||
370 | a { | ||
371 | text-decoration: none; | ||
372 | color: #4298BA; | ||
373 | } | ||
374 | a:visited { | ||
375 | color: #4298BA; | ||
376 | } | ||
377 | a:hover { | ||
378 | color: #0F769F; | ||
379 | } | ||
380 | a:active { | ||
381 | color: #9E792E; | ||
382 | } | ||
383 | a:hover, a:active { | ||
384 | outline: 0; | ||
385 | } | ||
386 | |||
387 | /* Layout */ | ||
388 | .wrapper { | ||
389 | width: 960px; | ||
390 | margin: 0 auto; | ||
391 | } | ||
392 | .wrapper header { | ||
393 | padding: 50px 0 15px; | ||
394 | } | ||
395 | .wrapper header h1 { | ||
396 | width: 300px; | ||
397 | margin: 0 auto; | ||
398 | padding: 130px 0 0 0; | ||
399 | background-position: 4px 0; | ||
400 | background-image: url("../images/logo.png"); | ||
401 | background-repeat: no-repeat; | ||
402 | background-size: 264px 107px; | ||
403 | } | ||
404 | @media all and (-webkit-min-device-pixel-ratio: 1.5), all and (-o-min-device-pixel-ratio: 3 / 2), all and (min--moz-device-pixel-ratio: 1.5), all and (min-device-pixel-ratio: 1.5) { | ||
405 | .wrapper header h1 { | ||
406 | background-image: url("../images/logo@2x.png"); | ||
407 | background-size: 264px 107px; | ||
408 | } | ||
409 | } | ||
410 | .wrapper header h1 a { | ||
411 | display: block; | ||
412 | width: 180px; | ||
413 | height: 50px; | ||
414 | margin: 0 auto; | ||
415 | font-size: 50px; | ||
416 | font-family: 'Myriad', 'Helvetica Neue', Helvetica; | ||
417 | color: #3b5f6d; | ||
418 | text-align: center; | ||
419 | text-indent: -9999px; | ||
420 | overflow: hidden; | ||
421 | background-position: center 0; | ||
422 | background-image: url("../images/title.png"); | ||
423 | background-repeat: no-repeat; | ||
424 | background-size: 171px 39px; | ||
425 | } | ||
426 | @media all and (-webkit-min-device-pixel-ratio: 1.5), all and (-o-min-device-pixel-ratio: 3 / 2), all and (min--moz-device-pixel-ratio: 1.5), all and (min-device-pixel-ratio: 1.5) { | ||
427 | .wrapper header h1 a { | ||
428 | background-image: url("../images/title@2x.png"); | ||
429 | background-size: 171px 39px; | ||
430 | } | ||
431 | } | ||
432 | .wrapper header .desc { | ||
433 | font-size: 19px; | ||
434 | color: #9ba5a9; | ||
435 | text-align: center; | ||
436 | } | ||
437 | .wrapper nav { | ||
438 | text-align: center; | ||
439 | padding: 26px 0; | ||
440 | } | ||
441 | .wrapper nav a { | ||
442 | padding: 0 25px; | ||
443 | font-size: 16px; | ||
444 | color: #4f838f; | ||
445 | line-height: 20px; | ||
446 | } | ||
447 | .wrapper nav a:hover { | ||
448 | color: #666666; | ||
449 | } | ||
450 | .wrapper nav a.active { | ||
451 | color: #000000; | ||
452 | } | ||
453 | .wrapper section { | ||
454 | border-top: 2px solid #dee7ec; | ||
455 | } | ||
456 | .wrapper footer { | ||
457 | font-size: 14px; | ||
458 | margin: 40px 0; | ||
459 | color: #999999; | ||
460 | text-align: center; | ||
461 | } | ||
462 | .wrapper footer a { | ||
463 | color: #999999; | ||
464 | } | ||
465 | .wrapper footer a:hover { | ||
466 | text-decoration: underline; | ||
467 | } | ||
468 | .wrapper #link-fork { | ||
469 | display: block; | ||
470 | width: 133px; | ||
471 | height: 133px; | ||
472 | position: absolute; | ||
473 | top: 0; | ||
474 | right: 0; | ||
475 | } | ||
476 | |||
477 | /* Demo Page */ | ||
478 | section#page-demo { | ||
479 | border-top: none; | ||
480 | } | ||
481 | section#page-demo .simditor { | ||
482 | box-shadow: 0 8px 40px rgba(0, 0, 0, 0.15); | ||
483 | } | ||
484 | section#page-demo #preview { | ||
485 | min-height: 100px; | ||
486 | padding: 15px; | ||
487 | margin: 60px 0 0 0; | ||
488 | border: 1px solid #dfdfdf; | ||
489 | } | ||
490 | |||
491 | /* Sidebar Page */ | ||
492 | section.page-sidebar { | ||
493 | position: relative; | ||
494 | margin: 0 0 30px 0; | ||
495 | } | ||
496 | section.page-sidebar aside { | ||
497 | width: 180px; | ||
498 | padding: 50px 0 0 0; | ||
499 | position: absolute; | ||
500 | top: 0; | ||
501 | left: 0; | ||
502 | } | ||
503 | section.page-sidebar aside ul { | ||
504 | padding: 0 10px 0 60px; | ||
505 | } | ||
506 | section.page-sidebar aside ul li { | ||
507 | margin: 0 0 30px 0; | ||
508 | position: relative; | ||
509 | } | ||
510 | section.page-sidebar aside ul li .icon { | ||
511 | display: none; | ||
512 | width: 10px; | ||
513 | line-height: 20px; | ||
514 | font-size: 14px; | ||
515 | color: #000000; | ||
516 | position: absolute; | ||
517 | top: 0; | ||
518 | left: -18px; | ||
519 | } | ||
520 | section.page-sidebar aside ul li a { | ||
521 | line-height: 20px; | ||
522 | font-size: 18px; | ||
523 | color: #a3afb2; | ||
524 | } | ||
525 | section.page-sidebar aside ul li a:hover { | ||
526 | color: #666666; | ||
527 | } | ||
528 | section.page-sidebar aside ul li.active .icon { | ||
529 | display: block; | ||
530 | } | ||
531 | section.page-sidebar aside ul li.active a { | ||
532 | color: #000000; | ||
533 | } | ||
534 | section.page-sidebar article { | ||
535 | padding: 40px 20px 10px 60px; | ||
536 | margin: 0 0 0 180px; | ||
537 | min-height: 500px; | ||
538 | } | ||
539 | |||
540 | /* Download Page */ | ||
541 | section#page-download { | ||
542 | min-height: 400px; | ||
543 | } | ||
544 | section#page-download .version { | ||
545 | border-bottom: 1px solid #dfdfdf; | ||
546 | } | ||
547 | section#page-download .version .title { | ||
548 | padding: 15px 15px; | ||
549 | cursor: pointer; | ||
550 | } | ||
551 | section#page-download .version .title .icon { | ||
552 | display: inline-block; | ||
553 | width: 12px; | ||
554 | line-height: 30px; | ||
555 | font-size: 20px; | ||
556 | } | ||
557 | section#page-download .version .title .name { | ||
558 | font-size: 20px; | ||
559 | line-height: 30px; | ||
560 | font-weight: bold; | ||
561 | margin: 0 20px; | ||
562 | } | ||
563 | section#page-download .version .title .date { | ||
564 | font-size: 16px; | ||
565 | line-height: 30px; | ||
566 | color: #aaaaaa; | ||
567 | } | ||
568 | section#page-download .version .title .btn-download { | ||
569 | display: inline-block; | ||
570 | float: right; | ||
571 | line-height: 30px; | ||
572 | padding: 0 15px; | ||
573 | font-size: 14px; | ||
574 | color: #ffffff; | ||
575 | background: #aaaaaa; | ||
576 | border-radius: 3px; | ||
577 | } | ||
578 | section#page-download .version .title .btn-download:hover { | ||
579 | background: #bbbbbb; | ||
580 | } | ||
581 | section#page-download .version .release-notes { | ||
582 | display: none; | ||
583 | margin: 10px 0 25px 0; | ||
584 | padding: 0 50px; | ||
585 | list-style: disc outside none; | ||
586 | } | ||
587 | section#page-download .version .release-notes li { | ||
588 | margin: 0 0 10px 0; | ||
589 | } | ||
590 | section#page-download .version.expand .release-notes { | ||
591 | display: block; | ||
592 | } | ||
593 | |||
594 | /* Document Page */ | ||
595 | section.page-doc dt { | ||
596 | border-top: 1px solid #ddd; | ||
597 | margin-top: 30px; | ||
598 | margin-bottom: 10px; | ||
599 | padding-top: 20px; | ||
600 | } | ||
601 | section.page-doc dt:first-child { | ||
602 | border-top: none; | ||
603 | margin-top: 0; | ||
604 | padding-top: 0; | ||
605 | } | ||
606 | section.page-doc dt > a, section.page-doc dt > span { | ||
607 | margin-left: 10px; | ||
608 | } | ||
609 | section.page-doc dt > a:first-child, section.page-doc dt > span:first-child { | ||
610 | margin-left: 0; | ||
611 | } | ||
612 | section.page-doc dt .name { | ||
613 | font-size: 1.2em; | ||
614 | font-weight: bold; | ||
615 | } | ||
616 | section.page-doc dt .param-type, | ||
617 | section.page-doc dt .type { | ||
618 | background-color: #efefef; | ||
619 | border-radius: 3px; | ||
620 | padding: 2px 6px; | ||
621 | font-size: 0.8em; | ||
622 | vertical-align: text-top; | ||
623 | } | ||
624 | section.page-doc dt .default { | ||
625 | color: #aaa; | ||
626 | font-size: 0.8em; | ||
627 | } | ||
628 | section.page-doc dt .params:before { | ||
629 | content: "("; | ||
630 | } | ||
631 | section.page-doc dt .params:after { | ||
632 | content: ")"; | ||
633 | } | ||
634 | section.page-doc dt .params .param:after { | ||
635 | content: ","; | ||
636 | margin: 0 6px 0 3px; | ||
637 | } | ||
638 | section.page-doc dt .params .param:last-child:after { | ||
639 | content: ""; | ||
640 | margin: 0; | ||
641 | } | ||
642 | section.page-doc dt .return { | ||
643 | font-size: 0.8em; | ||
644 | color: green; | ||
645 | } | ||
646 | section.page-doc dd { | ||
647 | display: none; | ||
648 | } | ||
649 | section.page-doc dd.expand { | ||
650 | display: block; | ||
651 | } | ||
652 | |||
653 | /* Extension Page */ | ||
654 | section#page-extension article { | ||
655 | padding: 40px 130px 10px; | ||
656 | } | ||
657 | section#page-extension article #btn-submit-extension { | ||
658 | margin: 20px 0 0 0; | ||
659 | display: inline-block; | ||
660 | padding: 6px 12px; | ||
661 | color: #333333; | ||
662 | border: 1px solid #cccccc; | ||
663 | border-radius: 4px; | ||
664 | } | ||
665 | section#page-extension article #btn-submit-extension:hover { | ||
666 | border-color: #aaaaaa; | ||
667 | background: #f3f3f3; | ||
668 | } |
public/stylesheets/mobile.css
0 → 100755
1 | @media screen and (max-device-width: 240px) and (min-device-width: 220px) { | ||
2 | body { | ||
3 | width: 240px; | ||
4 | margin: 0 auto; | ||
5 | } | ||
6 | body .wrapper { | ||
7 | width: 100%; | ||
8 | } | ||
9 | body .wrapper header { | ||
10 | padding: 30px 0 20px; | ||
11 | } | ||
12 | body .wrapper header h1 { | ||
13 | background-size: 200px auto; | ||
14 | background-position: 50px 0; | ||
15 | padding-top: 90px; | ||
16 | height: 45px; | ||
17 | } | ||
18 | body .wrapper header h1 a { | ||
19 | background-size: 160px auto; | ||
20 | background-position: 10px 0; | ||
21 | } | ||
22 | body .wrapper header p.desc { | ||
23 | font-size: 16px; | ||
24 | } | ||
25 | body .wrapper footer { | ||
26 | margin: 20px 0; | ||
27 | } | ||
28 | body .wrapper #page-demo { | ||
29 | width: 96%; | ||
30 | margin: 0 2%; | ||
31 | } | ||
32 | body .wrapper #link-fork { | ||
33 | z-index: -1; | ||
34 | width: 80px; | ||
35 | height: auto; | ||
36 | } | ||
37 | body .wrapper #link-fork img { | ||
38 | max-width: 80px; | ||
39 | height: auto; | ||
40 | } | ||
41 | |||
42 | nav { | ||
43 | display: none; | ||
44 | } | ||
45 | } | ||
46 | @media screen and (max-device-width: 320px) and (min-device-width: 300px) { | ||
47 | body { | ||
48 | width: 320px; | ||
49 | margin: 0 auto; | ||
50 | } | ||
51 | body .wrapper { | ||
52 | width: 100%; | ||
53 | } | ||
54 | body .wrapper header { | ||
55 | padding: 30px 0 20px; | ||
56 | } | ||
57 | body .wrapper header h1 { | ||
58 | background-size: 200px auto; | ||
59 | background-position: 50px 0; | ||
60 | padding-top: 90px; | ||
61 | height: 45px; | ||
62 | } | ||
63 | body .wrapper header h1 a { | ||
64 | background-size: 160px auto; | ||
65 | background-position: 10px 0; | ||
66 | } | ||
67 | body .wrapper header p.desc { | ||
68 | font-size: 16px; | ||
69 | } | ||
70 | body .wrapper footer { | ||
71 | margin: 20px 0; | ||
72 | } | ||
73 | body .wrapper #page-demo { | ||
74 | width: 96%; | ||
75 | margin: 0 2%; | ||
76 | } | ||
77 | body .wrapper #link-fork { | ||
78 | z-index: -1; | ||
79 | width: 80px; | ||
80 | height: auto; | ||
81 | } | ||
82 | body .wrapper #link-fork img { | ||
83 | max-width: 80px; | ||
84 | height: auto; | ||
85 | } | ||
86 | |||
87 | nav { | ||
88 | display: none; | ||
89 | } | ||
90 | } | ||
91 | @media screen and (max-device-width: 360px) and (min-device-width: 340px) { | ||
92 | body { | ||
93 | width: 360px; | ||
94 | margin: 0 auto; | ||
95 | } | ||
96 | body .wrapper { | ||
97 | width: 100%; | ||
98 | } | ||
99 | body .wrapper header { | ||
100 | padding: 30px 0 20px; | ||
101 | } | ||
102 | body .wrapper header h1 { | ||
103 | background-size: 200px auto; | ||
104 | background-position: 50px 0; | ||
105 | padding-top: 90px; | ||
106 | height: 45px; | ||
107 | } | ||
108 | body .wrapper header h1 a { | ||
109 | background-size: 160px auto; | ||
110 | background-position: 10px 0; | ||
111 | } | ||
112 | body .wrapper header p.desc { | ||
113 | font-size: 16px; | ||
114 | } | ||
115 | body .wrapper footer { | ||
116 | margin: 20px 0; | ||
117 | } | ||
118 | body .wrapper #page-demo { | ||
119 | width: 96%; | ||
120 | margin: 0 2%; | ||
121 | } | ||
122 | body .wrapper #link-fork { | ||
123 | z-index: -1; | ||
124 | width: 80px; | ||
125 | height: auto; | ||
126 | } | ||
127 | body .wrapper #link-fork img { | ||
128 | max-width: 80px; | ||
129 | height: auto; | ||
130 | } | ||
131 | |||
132 | nav { | ||
133 | display: none; | ||
134 | } | ||
135 | } | ||
136 | @media screen and (max-device-width: 480px) and (min-device-width: 460px) { | ||
137 | body { | ||
138 | width: 480px; | ||
139 | margin: 0 auto; | ||
140 | } | ||
141 | body .wrapper { | ||
142 | width: 100%; | ||
143 | } | ||
144 | body .wrapper header { | ||
145 | padding: 30px 0 20px; | ||
146 | } | ||
147 | body .wrapper header h1 { | ||
148 | background-size: 200px auto; | ||
149 | background-position: 50px 0; | ||
150 | padding-top: 90px; | ||
151 | height: 45px; | ||
152 | } | ||
153 | body .wrapper header h1 a { | ||
154 | background-size: 160px auto; | ||
155 | background-position: 10px 0; | ||
156 | } | ||
157 | body .wrapper header p.desc { | ||
158 | font-size: 16px; | ||
159 | } | ||
160 | body .wrapper footer { | ||
161 | margin: 20px 0; | ||
162 | } | ||
163 | body .wrapper #page-demo { | ||
164 | width: 96%; | ||
165 | margin: 0 2%; | ||
166 | } | ||
167 | body .wrapper #link-fork { | ||
168 | z-index: -1; | ||
169 | width: 80px; | ||
170 | height: auto; | ||
171 | } | ||
172 | body .wrapper #link-fork img { | ||
173 | max-width: 80px; | ||
174 | height: auto; | ||
175 | } | ||
176 | |||
177 | nav { | ||
178 | display: none; | ||
179 | } | ||
180 | } | ||
181 | @media screen and (max-device-width: 640px) and (min-device-width: 620px) { | ||
182 | body { | ||
183 | width: 320px; | ||
184 | margin: 0 auto; | ||
185 | } | ||
186 | body .wrapper { | ||
187 | width: 100%; | ||
188 | } | ||
189 | body .wrapper header { | ||
190 | padding: 30px 0 20px; | ||
191 | } | ||
192 | body .wrapper header h1 { | ||
193 | background-size: 200px auto; | ||
194 | background-position: 50px 0; | ||
195 | padding-top: 90px; | ||
196 | height: 45px; | ||
197 | } | ||
198 | body .wrapper header h1 a { | ||
199 | background-size: 160px auto; | ||
200 | background-position: 10px 0; | ||
201 | } | ||
202 | body .wrapper header p.desc { | ||
203 | font-size: 16px; | ||
204 | } | ||
205 | body .wrapper footer { | ||
206 | margin: 20px 0; | ||
207 | } | ||
208 | body .wrapper #page-demo { | ||
209 | width: 96%; | ||
210 | margin: 0 2%; | ||
211 | } | ||
212 | body .wrapper #link-fork { | ||
213 | z-index: -1; | ||
214 | width: 80px; | ||
215 | height: auto; | ||
216 | } | ||
217 | body .wrapper #link-fork img { | ||
218 | max-width: 80px; | ||
219 | height: auto; | ||
220 | } | ||
221 | |||
222 | nav { | ||
223 | display: none; | ||
224 | } | ||
225 | } | ||
226 | @media screen and (max-device-width: 720px) and (min-device-width: 700px) { | ||
227 | body { | ||
228 | width: 360px; | ||
229 | margin: 0 auto; | ||
230 | } | ||
231 | body .wrapper { | ||
232 | width: 100%; | ||
233 | } | ||
234 | body .wrapper header { | ||
235 | padding: 30px 0 20px; | ||
236 | } | ||
237 | body .wrapper header h1 { | ||
238 | background-size: 200px auto; | ||
239 | background-position: 50px 0; | ||
240 | padding-top: 90px; | ||
241 | height: 45px; | ||
242 | } | ||
243 | body .wrapper header h1 a { | ||
244 | background-size: 160px auto; | ||
245 | background-position: 10px 0; | ||
246 | } | ||
247 | body .wrapper header p.desc { | ||
248 | font-size: 16px; | ||
249 | } | ||
250 | body .wrapper footer { | ||
251 | margin: 20px 0; | ||
252 | } | ||
253 | body .wrapper #page-demo { | ||
254 | width: 96%; | ||
255 | margin: 0 2%; | ||
256 | } | ||
257 | body .wrapper #link-fork { | ||
258 | z-index: -1; | ||
259 | width: 80px; | ||
260 | height: auto; | ||
261 | } | ||
262 | body .wrapper #link-fork img { | ||
263 | max-width: 80px; | ||
264 | height: auto; | ||
265 | } | ||
266 | |||
267 | nav { | ||
268 | display: none; | ||
269 | } | ||
270 | } | ||
271 | @media screen and (max-device-width: 800px) and (min-device-width: 780px) { | ||
272 | body { | ||
273 | width: 400px; | ||
274 | margin: 0 auto; | ||
275 | } | ||
276 | body .wrapper { | ||
277 | width: 100%; | ||
278 | } | ||
279 | body .wrapper header { | ||
280 | padding: 30px 0 20px; | ||
281 | } | ||
282 | body .wrapper header h1 { | ||
283 | background-size: 200px auto; | ||
284 | background-position: 50px 0; | ||
285 | padding-top: 90px; | ||
286 | height: 45px; | ||
287 | } | ||
288 | body .wrapper header h1 a { | ||
289 | background-size: 160px auto; | ||
290 | background-position: 10px 0; | ||
291 | } | ||
292 | body .wrapper header p.desc { | ||
293 | font-size: 16px; | ||
294 | } | ||
295 | body .wrapper footer { | ||
296 | margin: 20px 0; | ||
297 | } | ||
298 | body .wrapper #page-demo { | ||
299 | width: 96%; | ||
300 | margin: 0 2%; | ||
301 | } | ||
302 | body .wrapper #link-fork { | ||
303 | z-index: -1; | ||
304 | width: 88.88889px; | ||
305 | height: auto; | ||
306 | } | ||
307 | body .wrapper #link-fork img { | ||
308 | max-width: 88.88889px; | ||
309 | height: auto; | ||
310 | } | ||
311 | |||
312 | nav { | ||
313 | display: none; | ||
314 | } | ||
315 | } | ||
316 | @media screen and (max-device-width: 960px) and (min-device-width: 940px) { | ||
317 | body { | ||
318 | width: 480px; | ||
319 | margin: 0 auto; | ||
320 | } | ||
321 | body .wrapper { | ||
322 | width: 100%; | ||
323 | } | ||
324 | body .wrapper header { | ||
325 | padding: 30px 0 20px; | ||
326 | } | ||
327 | body .wrapper header h1 { | ||
328 | background-size: 200px auto; | ||
329 | background-position: 50px 0; | ||
330 | padding-top: 90px; | ||
331 | height: 45px; | ||
332 | } | ||
333 | body .wrapper header h1 a { | ||
334 | background-size: 160px auto; | ||
335 | background-position: 10px 0; | ||
336 | } | ||
337 | body .wrapper header p.desc { | ||
338 | font-size: 16px; | ||
339 | } | ||
340 | body .wrapper footer { | ||
341 | margin: 20px 0; | ||
342 | } | ||
343 | body .wrapper #page-demo { | ||
344 | width: 96%; | ||
345 | margin: 0 2%; | ||
346 | } | ||
347 | body .wrapper #link-fork { | ||
348 | z-index: -1; | ||
349 | width: 100px; | ||
350 | height: auto; | ||
351 | } | ||
352 | body .wrapper #link-fork img { | ||
353 | max-width: 100px; | ||
354 | height: auto; | ||
355 | } | ||
356 | |||
357 | nav { | ||
358 | display: none; | ||
359 | } | ||
360 | } | ||
361 | @media screen and (max-device-width: 1024px) and (min-device-width: 1004px) { | ||
362 | body { | ||
363 | width: 512px; | ||
364 | margin: 0 auto; | ||
365 | } | ||
366 | body .wrapper { | ||
367 | width: 100%; | ||
368 | } | ||
369 | body .wrapper header { | ||
370 | padding: 30px 0 20px; | ||
371 | } | ||
372 | body .wrapper header h1 { | ||
373 | background-size: 200px auto; | ||
374 | background-position: 50px 0; | ||
375 | padding-top: 90px; | ||
376 | height: 45px; | ||
377 | } | ||
378 | body .wrapper header h1 a { | ||
379 | background-size: 160px auto; | ||
380 | background-position: 10px 0; | ||
381 | } | ||
382 | body .wrapper header p.desc { | ||
383 | font-size: 16px; | ||
384 | } | ||
385 | body .wrapper footer { | ||
386 | margin: 20px 0; | ||
387 | } | ||
388 | body .wrapper #page-demo { | ||
389 | width: 96%; | ||
390 | margin: 0 2%; | ||
391 | } | ||
392 | body .wrapper #link-fork { | ||
393 | z-index: -1; | ||
394 | width: 100px; | ||
395 | height: auto; | ||
396 | } | ||
397 | body .wrapper #link-fork img { | ||
398 | max-width: 100px; | ||
399 | height: auto; | ||
400 | } | ||
401 | |||
402 | nav { | ||
403 | display: none; | ||
404 | } | ||
405 | } | ||
406 | @media screen and (max-device-width: 1280px) and (min-device-width: 1260px) { | ||
407 | body { | ||
408 | width: 640px; | ||
409 | margin: 0 auto; | ||
410 | } | ||
411 | body .wrapper { | ||
412 | width: 100%; | ||
413 | } | ||
414 | body .wrapper header { | ||
415 | padding: 30px 0 20px; | ||
416 | } | ||
417 | body .wrapper header h1 { | ||
418 | background-size: 200px auto; | ||
419 | background-position: 50px 0; | ||
420 | padding-top: 90px; | ||
421 | height: 45px; | ||
422 | } | ||
423 | body .wrapper header h1 a { | ||
424 | background-size: 160px auto; | ||
425 | background-position: 10px 0; | ||
426 | } | ||
427 | body .wrapper header p.desc { | ||
428 | font-size: 16px; | ||
429 | } | ||
430 | body .wrapper footer { | ||
431 | margin: 20px 0; | ||
432 | } | ||
433 | body .wrapper #page-demo { | ||
434 | width: 96%; | ||
435 | margin: 0 2%; | ||
436 | } | ||
437 | body .wrapper #link-fork { | ||
438 | z-index: -1; | ||
439 | width: 100px; | ||
440 | height: auto; | ||
441 | } | ||
442 | body .wrapper #link-fork img { | ||
443 | max-width: 100px; | ||
444 | height: auto; | ||
445 | } | ||
446 | |||
447 | nav { | ||
448 | display: none; | ||
449 | } | ||
450 | } | ||
451 | @media screen and (device-aspect-ratio: 40 / 71) and (orientation: landscape) { | ||
452 | body { | ||
453 | width: 568px; | ||
454 | } | ||
455 | } | ||
456 | @media screen and (device-aspect-ratio: 2 / 3) and (orientation: landscape) { | ||
457 | body { | ||
458 | width: 480px; | ||
459 | } | ||
460 | } |
public/stylesheets/simditor.css
0 → 100755
1 | @font-face { | ||
2 | font-family: 'Simditor'; | ||
3 | src: url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAABp8AA4AAAAAKmwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAaYAAAABoAAAAcdO8GE09TLzIAAAG0AAAARQAAAGAQ+ZFXY21hcAAAAkgAAABRAAABWuA2Gx9jdnQgAAAEgAAAAAoAAAAKAwQAxGZwZ20AAAKcAAABsQAAAmUPtC+nZ2x5ZgAABNgAABPeAAAgZG/p6QxoZWFkAAABRAAAADAAAAA2BvuCgGhoZWEAAAF0AAAAHgAAACQH9QTlaG10eAAAAfwAAABKAAAAlHv7AItsb2NhAAAEjAAAAEwAAABMi4qTXm1heHAAAAGUAAAAIAAAACABRwHNbmFtZQAAGLgAAAEFAAAB12vS/ulwb3N0AAAZwAAAAJ4AAAFsyCrvunByZXAAAARQAAAALgAAAC6w8isUeNpjYGRgYADiKAkPy3h+m68M8swfgCIMF0/IVyDo/84sFswJQC4HAxNIFAAZwAnyeNpjYGRgYE5gmMAQzWLBwPD/O5AEiqAAVQBa6wPkAAAAAQAAACUAoAAKAAAAAAACAAEAAgAWAAABAAEpAAAAAHjaY2BhnsA4gYGVgYGpn+kgAwNDL4RmfMxgxMgCFGVgZWaAAUYBBjTQwMDwQY454X8BQzRzAsMEIJcRSVaBgREAQ9oK6QAAAHjaY8xhUGQAAsYABgbmDwjMYsEgxCzBwMDkAOQnALEEgx1UjhNMr4BjTqBakDxC/wqIPsYMqJoEKIbpk0C1C4zXM3DA5AEzchbtAAB42mNgYGBmgGAZBkYGEAgB8hjBfBYGCyDNxcDBwASEDAy8DAof5P7/B6sCsRmAbOb/3/8/FWCD6oUCRjaIkWA2SCcLAyoAqmZlGN4AALmUC0kAAAB42l1Ru05bQRDdDQ8DgcTYIDnaFLOZkALvhTZIIK4uwsh2YzlC2o1c5GJcwAdQIFGD9msGaChTpE2DkAskPoFPiJSZNYmiNDs7s3POmTNLypGqd2m956lzFkjhboNmm34npNpFgAfS9Y1GRtrBIy02M3rlun2/j8FmNOVOGkB5z1vKQ0bTTqAW7bl/Mj+D4T7/yzwHg5Zmmp5aZyE9hMB8M25p8DWjWXf9QV+xOlwNBoYU01Tc9cdUyv+W5lxtGbY2M5p3cCEiP5gGaGqtjUDTnzqkej6OYgly+WysDSamrD/JRHBhMl3VVC0zvnZwn+wsOtikSnPgAQ6wVZ6Ch+OjCYX0LYkyS0OEg9gqMULEJIdCTjl3sj8pUD6ShDFvktLOuGGtgXHkNTCozdMcvsxmU9tbhzB+EUfw3S/Gkg4+sqE2RoTYjlgKYAKRkFFVvqHGcy+LAbnU/jMQJWB5+u1fJwKtOzYRL2VtnWOMFYKe3zbf+WXF3apc50Whu3dVNVTplOZDL2ff4xFPj4XhoLHgzed9f6NA7Q2LGw2aA8GQ3o3e/9FadcRV3gsf2W81s7EWAAAAuAH/hbABjQBLsAhQWLEBAY5ZsUYGK1ghsBBZS7AUUlghsIBZHbAGK1xYWbAUKwAAAAAAowCFACECfwAAAAAAKgAqACoAKgAqACoAfgEkAcAChAK+A2oElgU2BbQGxgeYCBgIPgjGCU4KZgqKCq4LQAuYDDoMcAzuDXINoA4MDngO4g86D6QQMnjazVl5cBvXeX9vF4tdXHsBuwBBEvdBAgQXxOIgRPGQSEkULcoJJds6Yku2Na6TKJXHsnx0XNptHcvNpLaSJpkczthV68Zu0ulbQE58qXXaHK3j7ThjD6PmmnQmaTydSaqkmdbxkFC/tyApinXiuP2jlcC37/vegX3f8fu+7wExKIkQLjCPIxbxaNjCyNja4l3sTyqWm/vu1hbLQBdZLGVzlN3i3a7lrS1M+aaSVPKmkk5iz+tf/zrz+MrRJHMDgp3US3/tyjEvIQn1oiJCWd6dx7kGrsexLuGwjlm3AXSQ0h5M+5M4D3/1MNbx4b5AoPNmIIDdgQB0v/e9AJ78JqemVLfT4uN0sDtAHzBtvvvYsIK5aqWgcF6XyizRR+f+K9cAhRB9T3TpGTbCRlAARdAEehiRCYNwNulNLCmkzyZ+g6g2GTSIaJKCTUo2JpMGSS0RZBOp0kohb7E9lerzFMlghSDZ4nGRbLGJRpdXbGsKFy2UUlRL7Gk2iaacYzlfeCITbhJeJY0msvycorZj8eYWylMV4JFBtaXlKs1mszyS5UNh3azUqvlhnOLZsAZEvZpLp9gU35jAjfo4lvM5GEzn6xkzXAnrWogXMR/DITfvTuMy9hSyr0XSx+6VXa6+1NFbTrwrPvD+v8OevSHFLzT9cYbZgqXZ+U9cVahEC7nrTo6ZN33w2fdsCykvTOaaCTc+/vn7XbOf27X840CNEYXYRJYp6gEOswb24YPlHbsHtIgSvO1Tt/aNgglRWTJTIMsB9FeIDIAcTZKzidsmIYNoNumpEE0mvSDCQcMqgKDq0ecmDv/sY0grekXil4n0opXCvyTxF4Foi34pWCQpuZ1IxYPFdpK2LWAmPpT4UNotKmqzBTx4kEQTPe0X44lkatj5h6+gyFQUI8s9AErADCghpxChSUIq6W9aWq+iEh0EzeVzKTffqK/+V2sg03wjXKk33FSeImbcYKhhN4/fd9OemVtlr18f6ZF5rjKH9R0+33cKp0KsIC1o7ti2EsbaPoaf9TE+XHZxvoCWEf8N39gvBlhmi0fAkSinC+Kfdr71j6KX8/f3IsaxwaMgt13oOvSHqDWPUJHst4lgUJPbYrSVYGw6EzbJmG2FpioVMiaTCDWwcZMkbLKjgskBgwSWSMZuZQLUIDMxT7EVyNBuIAi2mZGtEbDEg/A3kgGDi/RuGQODQ1aiABSWA3WgrMgWkMa2JhlTyCTIBLxUhbO706lhZhxXc/mUgetmuFGpm3xYc6d4dz+mQgGbBJFN4OowNjCYIp9vmGG9EdZDsFbEwRoYbDIFk0O6mazUmTcx5w8nC4c/c/3p7WF9p8ozvPRZIiZYjLPTXh4L3N6Rxs1jUZ8Wcgksy/T3NAXGODmw0+tiotqg/xavsPwVwesV2K2Cl/ly0tv5m+Nbkjur+2+/7oX3J1hmBPMc5rMcJ/LTyd/77O8O9A6F5NSO04195WQ+hpmymxFwMCDybv/ymxm6EW2o/U5c+g/m28xHURrwSg9J2A0n5mmTq1J0gqZeiYPXQUOHmZdkeY9cVJ94Qi1CR37iiU30Y7+Cv0av4c9F0L2EBtEcWkTENMiMo3vJJmmD6OAuVwEILZGs3Z7IqkKRTNokK1uz4EAl29oDOp2cAMXJTZJVqPpm1afj+kChYlJIKSnnIv3R4qCjbWEGtF0ojU5SbaclIGQ12k+n6QqJUJVXdFCTG9SVA43XzUauVm3UzUoYAEUC7eaom4RA5WHeBPWKbIpqnBoHIFEjhqktgCHkc+z3qVyXq7TtjF6156NX3+4OMLwh9MVGPrhn7u6bzQd+7Ar7hq87cLq0N+lnmKasspMnM/trJQXf2tUIbTKzV98yuyunv6/pYVhmf9zcfnhPKp4+ox3a2j88qgd0r9fDjw8N4giTLrtu7Js5MCBRXHcjz6XbQK6HURiV0RSaR9ejD+BB1KpT3xq3iatCxmXC2hTHAeNlm0QNMmyTsk32GeSQTVIGydvkZoNsN8n7bKqSbZXWzM3UpWau8hQx+W2DsEtkrkIYmzCytQPUMW8TvtLaMU8n7Zj2FNvq/A7QV8IkXruleilbpaFiXrYMX5FE6J7WCVAgwyoqgJYWy+ym2tihtEOl4V1OSFCfllE4lb+KEvOK5RsCCPOqbTc3WHB0KvsB2LwB4NaVtkcMhuhEVrV4DVhIIUCNq8TdtIajYCS9TbIP4lqTlFVSapJDyrlYojCUoWtSKsk2SV4hg2AIDV5L10zNCSSpfMOJQXy+Pom1dK4KCFmrplNAmxWdBhrerHHaBrNJVnRM19fSbgoG2uZBZRP9QH3r87X+5Ph7s4m+SHlMqgT2v8wOhKfi0WA5tnNwNBceZ3ax+73Cyn5qF8wXBO/y6+fHsSsyMD/GXrORv7F/iOm/ZmQbPzhXzVaiiSwX3+a/cFAyG2IuEksmx40Zw5+KJNvH6Xza4J81Gmc8WnHXD//pMi+y3u3aFbr0XfYi8wvIlCQUR3nUANQ+gVoatSvIF1iKyzwkCgap2sRHKfDjccen05TKgz/PQmhcsvwZgHJsW0KiUrF24yKy+jSKxi4OUf+sloDw+AMCJWbGgUhmsgkgyiN1UAqoobL2xJvkiX4Ff7PcL0wemlz7sNddKd63YG7sn3KW/bPTdv5iXUaMsZlzpQAZJ+l6EvAujibRAmpxVG4Zk4puK6QHIDWT+G0yBDFtyiDCEgiI9NitHoE6T48CzoNlawB8LWmTpt1qDlB+c8RTtLaBBAHB4IhFnMrVlGp9bBXOgHaiD6W5txmH9K50oTT51F0ZSdOkzNg1CX2xNInfeEvuDPAmS/jDdz2lSbOSds2Yqiecif+NSY/tXT87tRwDzn81OgK2cx96BD2GHkStj1NZ+G1r6D1gGJxhZfabVDDWnnsrVDTWzB1Ab7Wt4x8GumZYxx4A+lGwp8cN8skl4rGtyCiMeGQLAabIZegP2tbsrfQpWwngTR2F/kHbuvsh+pStdwHvtvuh/xHb+hNHflmI1hvkUafYvpHmNo3j2q8ff6fzN39fQ+maLNWXgysJr3COGtQVzUZu5wdvzf9N5lxuZmvZFX+2Vssyv8hVD62b8A/We69ctvBn3oL5NsOX93lh5VHna46B5Gk+4Ln0ZfYx9jqomhqQDT7u1CNRm+x0ckE3RZBrneC013ayvrklmmLnZCsGPrFgk+10hm6TBdlinFLESfq25yC+JPtmds7vpWiixyBmTO+DALGgWKH98GTUds/4xLVORNkJgeJphm9u2TZNJxfcMHmGTrpWsYp0UUpt53bPvduBomy9CmlBio8xkO+5U8Ns3h2C7KgClZ4zAElUlx5m8hSSYiy3llnlqo38WnLVTan4cL0SZtOyfEoaVlnFzXkTMUnkZVaV7pBLUuer3ec+mCCXNk7A3zfK+4wHyyeNSqV8euTUFdTDsOQUpBcyz/sHEi6fW2FVAzaS8He6zwV5SL5ywr+PPDi8YJTvGDkNTmScuoJCLpqzuUbBj3kkohgaRu9FrbCDY4D/BkV/2SBF0I8BOcQSCUH9I1scaMNL8b6FOYpZ2NPFsl7gJ2yrDFrCUAsSf5P0KiQAemDDgPkCRACnXFSICOK+jOzJWiOMs5BXa0o3rwYPyYU3e8utDowz9y2/fu4QTuDE8r1O4vwAtAu17PK91N3ZB3JVZncXt19YPk4nnt0I9erKfsdCv5CrVimEQZ2HE2wEvwE4piEAKgrYfjiubFjKOghvjDNsJKGv7NcTCZ35gp7Af3ucdmmDOAcTLzr1dz8qoXHI1OqoFaTSjDr5r8upuyEphqoa5DcNJg9ftdewrqYR0yzQsg7RWll1zMo5OhjT5leovUP6a9xZXvR6Rf4sa6wlsuzLTgx81BHMsc39y3PwR/38Wc4r4BnBy53t/OjXwsMrV+QXby8PdoM8fG8tD4Gn8giCLax7l/6/lccFKgrOEQobeacCYYY7L1BR8I5cOrO/uUAEpz56kj2KPGBrSdRE74ZM/r3oJPo2apWpVAbsFiQVxTY7UIZUe4DCH2TycZtca5DDNkVPipR3OEi5HfBRtmTwOB8IT7aOQe+ITY7IVhVT77VOUaycAxEyHOCcrHzRo4fHZ3bMUw/0qWRvkxxT2kMlp3gmR1Qy0CRV5UtGvt44cPD4CcrMqOQk+G60rKhfFELBzFCpStlxhaQBQNV2vTGzgzIOK2R3k0yoX9oytn3uxpuOf4Ay9yrkdif5hpyb3oXpYY36O9VBRc91ExcnbVmvTnN5qLMrkw7YNvRwns+vQS6f24Csrg1r8YY9w+vf9J9nQDmBwJlAdMEre+GzuB4LmbMAp6WHys97xdOfkoYp/H7aKyknLhOqeH5tCr59fV3nQnenH61v/fEzHOd0MuuxdtGZ0tNF2Be8uvfTFI9L0mdOe6Tfukz4/efXpow7K3BifYvr13btYhM6x0wBNgWQiojbcIBJNCzJASZ0OfaAVTNFzbfsSXiWfZqE38BvaHHoAieuOfvM4hnmIdgniJwdeKjYIFtf3ehKsJlxVtH1+O61/STYvBsrwH63OvVCHnK+21CLp3Yrmt3AQG9wIGh4TRo9+rppr7lEhiAHli0MZhmwSUC2PNBT7JZHobHDE+nmu9aQCbY6thVsFSuWKwPPgEomwf4yCRgwyhQHMlWnZqf3hs6zscGzx3AMO1kWFHIsmMhqcjyO012zoLbDvKLFNC32hNNen9CXv0LR+6JvNH0mPeq7qCe+JPSc0aQzknYGsnR12dfnW1adyaufs+foAtoMDCQS+Fp9mSbRy3pYptKWu/eGzv1XDlURFYbk3BjmQHN55+YDxD5A0S0kKeo5jLzRXuotOcVKZegJkexOp3KrHhPDzhVpig/r/Ophqo16HNcT7NFO68a/nPD5592Ka/Cu6bueeur1ffOqV+iBF4K32X0fvp6Jdh7tLMwFfPNuhquNPfXTp+b3ymEdXpeebfauVYxefd8gZGlpVEQm+ghqFalWDUeZoLKwQWIm6YVUrUIPYcJZqgYZWYKMnCbjPaBOzSaabCWh12+TftnKdi90aqBXrQdSMJ87XzAq9KRJpc0yAT/t9qtPS8Fccdh0UrVwAOYJSmawVKaDvUo7OzA04iRmWMRUJhOYiqRC7+dieC17cK0+VTmXcMt6AgSYyMn1BLOo3f7w7Ron9vW5xD037BFdfX1i50eFrYXCVjznPJ57tbP06qu4gHtXOp9eWcG3YHZm374ZsdcjiqXR0ZIoenoxR2eufjp/jAuv0kVMb3fBytq9+zTEORP8wgtZVA61/FR+gMuQT3hAWpJBgRpZnF9RW4ybd+7DsYnT+SSfxmwS15Ia/sZRvGtxrvOZubvwyT/C0ZV76ZYr/mefZe7s/NnKv54/j7o1p+ODEajeG2gvIl6jFUs2TCiefHarN12tQAEEzlc0wNAwGTWsJv1inxdciI+DT2WUViBqwguQotrWI8MGlTVWiOZcklbqZi5Pr0kbE2wDm0HIhGNMHIf4fIoH/KXgXAN0FnEoxgKe83j0SU7jyo3OT3rLW7BY6U8KOD17j7qQjhSjewUWL2l/z8xh3tu7sCI35EQk78J4gMGPnFh5zCWUXALfozE/7/xL4Rt7x09oMpv0cB5BjEkMK8jaeZz7RFT1cC6c9HKrZ/+Y8/uGgnT0eUQ8Br30gvxUMgFPCKoQBo5t0h85ggA+YcOKdC/mXxx/c5FezBN1WCT6i5zFML8UiffF5ya/8eYFOsARDCMijATpSOhFjohyG4k4WCSMDAbrDRbbHtpSvkT5LGp7xZDu3NFP+RFmWI9XlNRgl7X2j0xFaQ7ZSAaT9M4xHcdmrRFM5nGS5bLMvUJHjuID/hMn+Jv8LzMv9XU+4bmE2Mhs5/nOeUa+ufPq/bHY1Y828SgeuQULy986fHhVDmBvzEtgeSEaGVBX2VBV6w6ga2BOWUANiKCN/AQex9gMa+zFlWeDmd7snj/4UEIKM8K7m+cPHnwt0BPfw39wiNVEE3+nuYdi/GrOtlbX51bvNSAv1gx6tZE1KKDXDKjeKcCv3lVkN+VY+U10423G2YuASwcomLJPStoFTeoIlKChBwB5+XVnJNId+aQzcqukHZ+lPdr8w6/tof9H51opU4J5pXuux52Ro92Ru52Rh/5PzvVOc+grz7XxWBtP9T86FIuESyfZZ5ivQkSKoRTUDEQwWu6gTlHOY7c4NUxRLmBArMFQRlgZCnEegUJciKYNCmG6+KrHsZbna3VwPBGHIQPNSbg2gScxZs0gVJ34z3fjqbypLn3zHtfCG2bIJd3w+B2l2jjLYu3I157BLuary52g12X4vcNy9OWTh4WouyT6XEWfznGM2rmEv3XgAMV/qgPmTuf34RQ6hloC1YAO2OTcdSlxeHHJeVfiW6J8XabVJb33S3ZvO1ibnsJKKlA1p5ok5txrs/R3PWTpcDJKasq5YKQ/meqGxIqubSyQsZLm82nFrIUbGtdI19Jamv1cvFCIL5+lLf7p4g1HFheP3IC3PHZk8QbmzkK80+cM/DBe6Aj4dxYXOw+ev+ee8/HvOoHm8t1mEU2hQ6s2lbBbCVrwo0QBCv4ep1im59rm3G52Iz8cg+Y42+E0mX4o+pXhStOJ7z2QxrWH6036gw2RFCfVu1xer1b5EN8hGS1i51e2tdsAsDkIPGYliDdesazes7CRI9OdoekjR6bxa8mk4OL7XB7OJ3aGoMLP4ddyVS7j5kK/36mLGfHnojgBj4/h49BOiPiadnfd9BGRDfJ9nKua6657hIdVGMMiWEOnOmvoYoT+C93/Vj8AAHjafY+/asMwEIc/JU6aQhsyltJBQ6eCg20IgdCt1GTwlNJsHUJijCCxwHaeqVufpM/Qta/Ri31ZOkTipO9Ov/sjYMwXhm7d8qBsGPGs3OOKd+U+j3wqB6L5UR5wY4zykJGxojTBtXj3bdaJDROelHvS91W5z5IP5UA038oD7vhVHjIxY1I8JQ2ObUs1lkz2C6S+bNzWl7XNMnHfRHNgJ2cjykoC7rBzjRdakVNwZM/m9LDKi+N+I3AunrYJhagsCVMiuRdi/0t20Vg0IXOxRJQxs26U1FdFbpNpZBf23FowTsJ5mETx7OKEa+ldyedcO9GpRzcF67yqnS9tLHUvVfgDz/ZF8gAAAHjabc25DgFhGIXh/53B2Pd9J9HPN/bSWolC4iI0OjfgxhFO6SQnT/k6z333errI/dvkc5yHh+98YsRJEJAkRZoMWXLkKVCkRJkKVWrUadCkRZsOXXr0GTBkxDh2vp5O3u4SPO63YxiG0mQkp3Im53Ihl3Il13Ijt3In9/Igjz9NfVPf1Df1TX1T39Q39U19U9/UN/VNfVPfDm8tR0peAAB42mNgYGBkAIKLcceVwfQJ+XIoXQEARe8GegAA) format("woff"); | ||
4 | font-weight: normal; | ||
5 | font-style: normal; | ||
6 | } | ||
7 | .simditor-icon { | ||
8 | display: inline-block; | ||
9 | font: normal normal normal 14px/1 'Simditor'; | ||
10 | font-size: inherit; | ||
11 | text-rendering: auto; | ||
12 | -webkit-font-smoothing: antialiased; | ||
13 | -moz-osx-font-smoothing: grayscale; | ||
14 | transform: translate(0, 0); | ||
15 | } | ||
16 | |||
17 | .simditor-icon-code:before { | ||
18 | content: '\f000'; | ||
19 | } | ||
20 | |||
21 | .simditor-icon-bold:before { | ||
22 | content: '\f001'; | ||
23 | } | ||
24 | |||
25 | .simditor-icon-italic:before { | ||
26 | content: '\f002'; | ||
27 | } | ||
28 | |||
29 | .simditor-icon-underline:before { | ||
30 | content: '\f003'; | ||
31 | } | ||
32 | |||
33 | .simditor-icon-times:before { | ||
34 | content: '\f004'; | ||
35 | } | ||
36 | |||
37 | .simditor-icon-strikethrough:before { | ||
38 | content: '\f005'; | ||
39 | } | ||
40 | |||
41 | .simditor-icon-list-ol:before { | ||
42 | content: '\f006'; | ||
43 | } | ||
44 | |||
45 | .simditor-icon-list-ul:before { | ||
46 | content: '\f007'; | ||
47 | } | ||
48 | |||
49 | .simditor-icon-quote-left:before { | ||
50 | content: '\f008'; | ||
51 | } | ||
52 | |||
53 | .simditor-icon-table:before { | ||
54 | content: '\f009'; | ||
55 | } | ||
56 | |||
57 | .simditor-icon-link:before { | ||
58 | content: '\f00a'; | ||
59 | } | ||
60 | |||
61 | .simditor-icon-picture-o:before { | ||
62 | content: '\f00b'; | ||
63 | } | ||
64 | |||
65 | .simditor-icon-minus:before { | ||
66 | content: '\f00c'; | ||
67 | } | ||
68 | |||
69 | .simditor-icon-indent:before { | ||
70 | content: '\f00d'; | ||
71 | } | ||
72 | |||
73 | .simditor-icon-outdent:before { | ||
74 | content: '\f00e'; | ||
75 | } | ||
76 | |||
77 | .simditor-icon-unlink:before { | ||
78 | content: '\f00f'; | ||
79 | } | ||
80 | |||
81 | .simditor-icon-caret-down:before { | ||
82 | content: '\f010'; | ||
83 | } | ||
84 | |||
85 | .simditor-icon-caret-right:before { | ||
86 | content: '\f011'; | ||
87 | } | ||
88 | |||
89 | .simditor-icon-upload:before { | ||
90 | content: '\f012'; | ||
91 | } | ||
92 | |||
93 | .simditor-icon-undo:before { | ||
94 | content: '\f013'; | ||
95 | } | ||
96 | |||
97 | .simditor-icon-smile-o:before { | ||
98 | content: '\f014'; | ||
99 | } | ||
100 | |||
101 | .simditor-icon-tint:before { | ||
102 | content: '\f015'; | ||
103 | } | ||
104 | |||
105 | .simditor-icon-font:before { | ||
106 | content: '\f016'; | ||
107 | } | ||
108 | |||
109 | .simditor-icon-html5:before { | ||
110 | content: '\f017'; | ||
111 | } | ||
112 | |||
113 | .simditor-icon-mark:before { | ||
114 | content: '\f018'; | ||
115 | } | ||
116 | |||
117 | .simditor-icon-align-center:before { | ||
118 | content: '\f019'; | ||
119 | } | ||
120 | |||
121 | .simditor-icon-align-left:before { | ||
122 | content: '\f01a'; | ||
123 | } | ||
124 | |||
125 | .simditor-icon-align-right:before { | ||
126 | content: '\f01b'; | ||
127 | } | ||
128 | |||
129 | .simditor-icon-font-minus:before { | ||
130 | content: '\f01c'; | ||
131 | } | ||
132 | |||
133 | .simditor-icon-markdown:before { | ||
134 | content: '\f01d'; | ||
135 | } | ||
136 | |||
137 | .simditor-icon-checklist:before { | ||
138 | content: '\f01e'; | ||
139 | } | ||
140 | |||
141 | .simditor { | ||
142 | position: relative; | ||
143 | border: 1px solid #c9d8db; | ||
144 | } | ||
145 | .simditor .simditor-wrapper { | ||
146 | position: relative; | ||
147 | background: #ffffff; | ||
148 | } | ||
149 | .simditor .simditor-wrapper > textarea { | ||
150 | display: none !important; | ||
151 | width: 100%; | ||
152 | box-sizing: border-box; | ||
153 | font-family: monaco; | ||
154 | font-size: 16px; | ||
155 | line-height: 1.6; | ||
156 | border: none; | ||
157 | padding: 22px 15px 40px; | ||
158 | min-height: 300px; | ||
159 | outline: none; | ||
160 | background: transparent; | ||
161 | resize: none; | ||
162 | } | ||
163 | .simditor .simditor-wrapper .simditor-placeholder { | ||
164 | display: none; | ||
165 | position: absolute; | ||
166 | left: 0; | ||
167 | z-index: 0; | ||
168 | padding: 22px 15px; | ||
169 | font-size: 16px; | ||
170 | font-family: arial, sans-serif; | ||
171 | line-height: 1.5; | ||
172 | color: #999999; | ||
173 | background: transparent; | ||
174 | } | ||
175 | .simditor .simditor-wrapper.toolbar-floating .simditor-toolbar { | ||
176 | position: fixed; | ||
177 | top: 0; | ||
178 | z-index: 10; | ||
179 | box-shadow: 0 0 6px rgba(0, 0, 0, 0.1); | ||
180 | } | ||
181 | .simditor .simditor-wrapper .simditor-image-loading { | ||
182 | width: 100%; | ||
183 | height: 100%; | ||
184 | position: absolute; | ||
185 | top: 0; | ||
186 | left: 0; | ||
187 | z-index: 2; | ||
188 | } | ||
189 | .simditor .simditor-wrapper .simditor-image-loading .progress { | ||
190 | width: 100%; | ||
191 | height: 100%; | ||
192 | background: rgba(0, 0, 0, 0.4); | ||
193 | position: absolute; | ||
194 | bottom: 0; | ||
195 | left: 0; | ||
196 | } | ||
197 | .simditor .simditor-body { | ||
198 | padding: 22px 15px 40px; | ||
199 | min-height: 300px; | ||
200 | outline: none; | ||
201 | cursor: text; | ||
202 | position: relative; | ||
203 | z-index: 1; | ||
204 | background: transparent; | ||
205 | } | ||
206 | .simditor .simditor-body a.selected { | ||
207 | background: #b3d4fd; | ||
208 | } | ||
209 | .simditor .simditor-body a.simditor-mention { | ||
210 | cursor: pointer; | ||
211 | } | ||
212 | .simditor .simditor-body .simditor-table { | ||
213 | position: relative; | ||
214 | } | ||
215 | .simditor .simditor-body .simditor-table.resizing { | ||
216 | cursor: col-resize; | ||
217 | } | ||
218 | .simditor .simditor-body .simditor-table .simditor-resize-handle { | ||
219 | position: absolute; | ||
220 | left: 0; | ||
221 | top: 0; | ||
222 | width: 10px; | ||
223 | height: 100%; | ||
224 | cursor: col-resize; | ||
225 | } | ||
226 | .simditor .simditor-body pre { | ||
227 | /*min-height: 28px;*/ | ||
228 | box-sizing: border-box; | ||
229 | -moz-box-sizing: border-box; | ||
230 | word-wrap: break-word !important; | ||
231 | white-space: pre-wrap !important; | ||
232 | } | ||
233 | .simditor .simditor-body img { | ||
234 | cursor: pointer; | ||
235 | } | ||
236 | .simditor .simditor-body img.selected { | ||
237 | box-shadow: 0 0 0 4px #cccccc; | ||
238 | } | ||
239 | .simditor .simditor-paste-bin { | ||
240 | position: fixed; | ||
241 | bottom: 10px; | ||
242 | right: 10px; | ||
243 | width: 1px; | ||
244 | height: 20px; | ||
245 | font-size: 1px; | ||
246 | line-height: 1px; | ||
247 | overflow: hidden; | ||
248 | padding: 0; | ||
249 | margin: 0; | ||
250 | opacity: 0; | ||
251 | -webkit-user-select: text; | ||
252 | } | ||
253 | .simditor .simditor-toolbar { | ||
254 | border-bottom: 1px solid #eeeeee; | ||
255 | background: #ffffff; | ||
256 | width: 100%; | ||
257 | } | ||
258 | .simditor .simditor-toolbar > ul { | ||
259 | margin: 0; | ||
260 | padding: 0 0 0 6px; | ||
261 | list-style: none; | ||
262 | } | ||
263 | .simditor .simditor-toolbar > ul > li { | ||
264 | position: relative; | ||
265 | display: inline-block; | ||
266 | font-size: 0; | ||
267 | } | ||
268 | .simditor .simditor-toolbar > ul > li > span.separator { | ||
269 | display: inline-block; | ||
270 | background: #cfcfcf; | ||
271 | width: 1px; | ||
272 | height: 18px; | ||
273 | margin: 11px 15px; | ||
274 | vertical-align: middle; | ||
275 | } | ||
276 | .simditor .simditor-toolbar > ul > li > .toolbar-item { | ||
277 | display: inline-block; | ||
278 | width: 46px; | ||
279 | height: 40px; | ||
280 | outline: none; | ||
281 | color: #333333; | ||
282 | font-size: 15px; | ||
283 | line-height: 40px; | ||
284 | vertical-align: middle; | ||
285 | text-align: center; | ||
286 | text-decoration: none; | ||
287 | } | ||
288 | .simditor .simditor-toolbar > ul > li > .toolbar-item span { | ||
289 | opacity: 0.6; | ||
290 | } | ||
291 | .simditor .simditor-toolbar > ul > li > .toolbar-item span.simditor-icon { | ||
292 | display: inline; | ||
293 | line-height: normal; | ||
294 | } | ||
295 | .simditor .simditor-toolbar > ul > li > .toolbar-item:hover span { | ||
296 | opacity: 1; | ||
297 | } | ||
298 | .simditor .simditor-toolbar > ul > li > .toolbar-item.active { | ||
299 | background: #eeeeee; | ||
300 | } | ||
301 | .simditor .simditor-toolbar > ul > li > .toolbar-item.active span { | ||
302 | opacity: 1; | ||
303 | } | ||
304 | .simditor .simditor-toolbar > ul > li > .toolbar-item.disabled { | ||
305 | cursor: default; | ||
306 | } | ||
307 | .simditor .simditor-toolbar > ul > li > .toolbar-item.disabled span { | ||
308 | opacity: 0.3; | ||
309 | } | ||
310 | .simditor .simditor-toolbar > ul > li > .toolbar-item.toolbar-item-title span:before { | ||
311 | content: "H"; | ||
312 | font-size: 19px; | ||
313 | font-weight: bold; | ||
314 | font-family: 'Times New Roman'; | ||
315 | } | ||
316 | .simditor .simditor-toolbar > ul > li > .toolbar-item.toolbar-item-title.active-h1 span:before { | ||
317 | content: 'H1'; | ||
318 | font-size: 18px; | ||
319 | } | ||
320 | .simditor .simditor-toolbar > ul > li > .toolbar-item.toolbar-item-title.active-h2 span:before { | ||
321 | content: 'H2'; | ||
322 | font-size: 18px; | ||
323 | } | ||
324 | .simditor .simditor-toolbar > ul > li > .toolbar-item.toolbar-item-title.active-h3 span:before { | ||
325 | content: 'H3'; | ||
326 | font-size: 18px; | ||
327 | } | ||
328 | .simditor .simditor-toolbar > ul > li > .toolbar-item.toolbar-item-image { | ||
329 | position: relative; | ||
330 | overflow: hidden; | ||
331 | } | ||
332 | .simditor .simditor-toolbar > ul > li > .toolbar-item.toolbar-item-image > input[type=file] { | ||
333 | position: absolute; | ||
334 | right: 0px; | ||
335 | top: 0px; | ||
336 | opacity: 0; | ||
337 | font-size: 100px; | ||
338 | cursor: pointer; | ||
339 | } | ||
340 | .simditor .simditor-toolbar > ul > li.menu-on .toolbar-item { | ||
341 | position: relative; | ||
342 | z-index: 20; | ||
343 | background: #ffffff; | ||
344 | box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3); | ||
345 | } | ||
346 | .simditor .simditor-toolbar > ul > li.menu-on .toolbar-item span { | ||
347 | opacity: 1; | ||
348 | } | ||
349 | .simditor .simditor-toolbar > ul > li.menu-on .toolbar-menu { | ||
350 | display: block; | ||
351 | } | ||
352 | .simditor .simditor-toolbar .toolbar-menu { | ||
353 | display: none; | ||
354 | position: absolute; | ||
355 | top: 40px; | ||
356 | left: 0; | ||
357 | z-index: 21; | ||
358 | background: #ffffff; | ||
359 | text-align: left; | ||
360 | box-shadow: 0 0 4px rgba(0, 0, 0, 0.3); | ||
361 | } | ||
362 | .simditor .simditor-toolbar .toolbar-menu:before { | ||
363 | content: ''; | ||
364 | display: block; | ||
365 | width: 46px; | ||
366 | height: 4px; | ||
367 | background: #ffffff; | ||
368 | position: absolute; | ||
369 | top: -3px; | ||
370 | left: 0; | ||
371 | } | ||
372 | .simditor .simditor-toolbar .toolbar-menu ul { | ||
373 | min-width: 160px; | ||
374 | list-style: none; | ||
375 | margin: 0; | ||
376 | padding: 10px 1px; | ||
377 | } | ||
378 | .simditor .simditor-toolbar .toolbar-menu ul > li .menu-item { | ||
379 | display: block; | ||
380 | font-size: 16px; | ||
381 | line-height: 2em; | ||
382 | padding: 0 10px; | ||
383 | text-decoration: none; | ||
384 | color: #666666; | ||
385 | } | ||
386 | .simditor .simditor-toolbar .toolbar-menu ul > li .menu-item:hover { | ||
387 | background: #f6f6f6; | ||
388 | } | ||
389 | .simditor .simditor-toolbar .toolbar-menu ul > li .menu-item.menu-item-h1 { | ||
390 | font-size: 24px; | ||
391 | color: #333333; | ||
392 | } | ||
393 | .simditor .simditor-toolbar .toolbar-menu ul > li .menu-item.menu-item-h2 { | ||
394 | font-size: 22px; | ||
395 | color: #333333; | ||
396 | } | ||
397 | .simditor .simditor-toolbar .toolbar-menu ul > li .menu-item.menu-item-h3 { | ||
398 | font-size: 20px; | ||
399 | color: #333333; | ||
400 | } | ||
401 | .simditor .simditor-toolbar .toolbar-menu ul > li .menu-item.menu-item-h4 { | ||
402 | font-size: 18px; | ||
403 | color: #333333; | ||
404 | } | ||
405 | .simditor .simditor-toolbar .toolbar-menu ul > li .menu-item.menu-item-h5 { | ||
406 | font-size: 16px; | ||
407 | color: #333333; | ||
408 | } | ||
409 | .simditor .simditor-toolbar .toolbar-menu ul > li .separator { | ||
410 | display: block; | ||
411 | border-top: 1px solid #cccccc; | ||
412 | height: 0; | ||
413 | line-height: 0; | ||
414 | font-size: 0; | ||
415 | margin: 6px 0; | ||
416 | } | ||
417 | .simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color { | ||
418 | width: 96px; | ||
419 | } | ||
420 | .simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list { | ||
421 | height: 40px; | ||
422 | margin: 10px 6px 6px 10px; | ||
423 | padding: 0; | ||
424 | min-width: 0; | ||
425 | } | ||
426 | .simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li { | ||
427 | float: left; | ||
428 | margin: 0 4px 4px 0; | ||
429 | } | ||
430 | .simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color { | ||
431 | display: block; | ||
432 | width: 16px; | ||
433 | height: 16px; | ||
434 | background: #dfdfdf; | ||
435 | border-radius: 2px; | ||
436 | } | ||
437 | .simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color:hover { | ||
438 | opacity: 0.8; | ||
439 | } | ||
440 | .simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color.font-color-default { | ||
441 | background: #333333; | ||
442 | } | ||
443 | .simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color-1 { | ||
444 | background: #E33737; | ||
445 | } | ||
446 | .simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color-2 { | ||
447 | background: #e28b41; | ||
448 | } | ||
449 | .simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color-3 { | ||
450 | background: #c8a732; | ||
451 | } | ||
452 | .simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color-4 { | ||
453 | background: #209361; | ||
454 | } | ||
455 | .simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color-5 { | ||
456 | background: #418caf; | ||
457 | } | ||
458 | .simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color-6 { | ||
459 | background: #aa8773; | ||
460 | } | ||
461 | .simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color-7 { | ||
462 | background: #999999; | ||
463 | } | ||
464 | .simditor .simditor-toolbar .toolbar-menu.toolbar-menu-table .menu-create-table { | ||
465 | background: #ffffff; | ||
466 | padding: 1px; | ||
467 | } | ||
468 | .simditor .simditor-toolbar .toolbar-menu.toolbar-menu-table .menu-create-table table { | ||
469 | border: none; | ||
470 | border-collapse: collapse; | ||
471 | border-spacing: 0; | ||
472 | table-layout: fixed; | ||
473 | } | ||
474 | .simditor .simditor-toolbar .toolbar-menu.toolbar-menu-table .menu-create-table table td { | ||
475 | padding: 0; | ||
476 | cursor: pointer; | ||
477 | } | ||
478 | .simditor .simditor-toolbar .toolbar-menu.toolbar-menu-table .menu-create-table table td:before { | ||
479 | width: 16px; | ||
480 | height: 16px; | ||
481 | border: 1px solid #ffffff; | ||
482 | background: #f3f3f3; | ||
483 | display: block; | ||
484 | content: ""; | ||
485 | } | ||
486 | .simditor .simditor-toolbar .toolbar-menu.toolbar-menu-table .menu-create-table table td.selected:before { | ||
487 | background: #cfcfcf; | ||
488 | } | ||
489 | .simditor .simditor-toolbar .toolbar-menu.toolbar-menu-table .menu-edit-table { | ||
490 | display: none; | ||
491 | } | ||
492 | .simditor .simditor-toolbar .toolbar-menu.toolbar-menu-table .menu-edit-table ul li { | ||
493 | white-space: nowrap; | ||
494 | } | ||
495 | .simditor .simditor-toolbar .toolbar-menu.toolbar-menu-image .menu-item-upload-image { | ||
496 | position: relative; | ||
497 | overflow: hidden; | ||
498 | } | ||
499 | .simditor .simditor-toolbar .toolbar-menu.toolbar-menu-image .menu-item-upload-image input[type=file] { | ||
500 | position: absolute; | ||
501 | right: 0px; | ||
502 | top: 0px; | ||
503 | opacity: 0; | ||
504 | font-size: 100px; | ||
505 | cursor: pointer; | ||
506 | } | ||
507 | .simditor .simditor-toolbar .toolbar-menu.toolbar-menu-alignment { | ||
508 | width: 100%; | ||
509 | } | ||
510 | .simditor .simditor-toolbar .toolbar-menu.toolbar-menu-alignment ul { | ||
511 | min-width: 100%; | ||
512 | } | ||
513 | .simditor .simditor-toolbar .toolbar-menu.toolbar-menu-alignment .menu-item { | ||
514 | text-align: center; | ||
515 | } | ||
516 | .simditor .simditor-popover { | ||
517 | display: none; | ||
518 | padding: 5px 8px 0; | ||
519 | background: #ffffff; | ||
520 | box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4); | ||
521 | border-radius: 2px; | ||
522 | position: absolute; | ||
523 | z-index: 2; | ||
524 | } | ||
525 | .simditor .simditor-popover .settings-field { | ||
526 | margin: 0 0 5px 0; | ||
527 | font-size: 12px; | ||
528 | height: 25px; | ||
529 | line-height: 25px; | ||
530 | } | ||
531 | .simditor .simditor-popover .settings-field label { | ||
532 | display: inline-block; | ||
533 | margin: 0 5px 0 0; | ||
534 | } | ||
535 | .simditor .simditor-popover .settings-field input[type=text] { | ||
536 | display: inline-block; | ||
537 | width: 200px; | ||
538 | box-sizing: border-box; | ||
539 | font-size: 12px; | ||
540 | } | ||
541 | .simditor .simditor-popover .settings-field input[type=text].image-size { | ||
542 | width: 83px; | ||
543 | } | ||
544 | .simditor .simditor-popover .settings-field .times { | ||
545 | display: inline-block; | ||
546 | width: 26px; | ||
547 | font-size: 12px; | ||
548 | text-align: center; | ||
549 | } | ||
550 | .simditor .simditor-popover.link-popover .btn-unlink, .simditor .simditor-popover.image-popover .btn-upload, .simditor .simditor-popover.image-popover .btn-restore { | ||
551 | display: inline-block; | ||
552 | margin: 0 0 0 5px; | ||
553 | color: #333333; | ||
554 | font-size: 14px; | ||
555 | outline: 0; | ||
556 | } | ||
557 | .simditor .simditor-popover.link-popover .btn-unlink span, .simditor .simditor-popover.image-popover .btn-upload span, .simditor .simditor-popover.image-popover .btn-restore span { | ||
558 | opacity: 0.6; | ||
559 | } | ||
560 | .simditor .simditor-popover.link-popover .btn-unlink:hover span, .simditor .simditor-popover.image-popover .btn-upload:hover span, .simditor .simditor-popover.image-popover .btn-restore:hover span { | ||
561 | opacity: 1; | ||
562 | } | ||
563 | .simditor .simditor-popover.image-popover .btn-upload { | ||
564 | position: relative; | ||
565 | display: inline-block; | ||
566 | overflow: hidden; | ||
567 | vertical-align: middle; | ||
568 | } | ||
569 | .simditor .simditor-popover.image-popover .btn-upload input[type=file] { | ||
570 | position: absolute; | ||
571 | right: 0px; | ||
572 | top: 0px; | ||
573 | opacity: 0; | ||
574 | height: 100%; | ||
575 | width: 28px; | ||
576 | } | ||
577 | .simditor.simditor-mobile .simditor-wrapper.toolbar-floating .simditor-toolbar { | ||
578 | position: absolute; | ||
579 | top: 0; | ||
580 | z-index: 10; | ||
581 | box-shadow: 0 0 6px rgba(0, 0, 0, 0.1); | ||
582 | } | ||
583 | |||
584 | .simditor .simditor-body, .editor-style { | ||
585 | font-size: 16px; | ||
586 | font-family: arial, sans-serif; | ||
587 | line-height: 1.6; | ||
588 | color: #333; | ||
589 | outline: none; | ||
590 | word-wrap: break-word; | ||
591 | } | ||
592 | .simditor .simditor-body > :first-child, .editor-style > :first-child { | ||
593 | margin-top: 0 !important; | ||
594 | } | ||
595 | .simditor .simditor-body a, .editor-style a { | ||
596 | color: #4298BA; | ||
597 | text-decoration: none; | ||
598 | word-break: break-all; | ||
599 | } | ||
600 | .simditor .simditor-body a:visited, .editor-style a:visited { | ||
601 | color: #4298BA; | ||
602 | } | ||
603 | .simditor .simditor-body a:hover, .editor-style a:hover { | ||
604 | color: #0F769F; | ||
605 | } | ||
606 | .simditor .simditor-body a:active, .editor-style a:active { | ||
607 | color: #9E792E; | ||
608 | } | ||
609 | .simditor .simditor-body a:hover, .simditor .simditor-body a:active, .editor-style a:hover, .editor-style a:active { | ||
610 | outline: 0; | ||
611 | } | ||
612 | .simditor .simditor-body h1, .simditor .simditor-body h2, .simditor .simditor-body h3, .simditor .simditor-body h4, .simditor .simditor-body h5, .simditor .simditor-body h6, .editor-style h1, .editor-style h2, .editor-style h3, .editor-style h4, .editor-style h5, .editor-style h6 { | ||
613 | font-weight: normal; | ||
614 | margin: 40px 0 20px; | ||
615 | color: #000000; | ||
616 | } | ||
617 | .simditor .simditor-body h1, .editor-style h1 { | ||
618 | font-size: 24px; | ||
619 | } | ||
620 | .simditor .simditor-body h2, .editor-style h2 { | ||
621 | font-size: 22px; | ||
622 | } | ||
623 | .simditor .simditor-body h3, .editor-style h3 { | ||
624 | font-size: 20px; | ||
625 | } | ||
626 | .simditor .simditor-body h4, .editor-style h4 { | ||
627 | font-size: 18px; | ||
628 | } | ||
629 | .simditor .simditor-body h5, .editor-style h5 { | ||
630 | font-size: 16px; | ||
631 | } | ||
632 | .simditor .simditor-body h6, .editor-style h6 { | ||
633 | font-size: 16px; | ||
634 | } | ||
635 | .simditor .simditor-body p, .simditor .simditor-body div, .editor-style p, .editor-style div { | ||
636 | word-wrap: break-word; | ||
637 | margin: 0 0 15px 0; | ||
638 | color: #333; | ||
639 | word-wrap: break-word; | ||
640 | } | ||
641 | .simditor .simditor-body b, .simditor .simditor-body strong, .editor-style b, .editor-style strong { | ||
642 | font-weight: bold; | ||
643 | } | ||
644 | .simditor .simditor-body i, .simditor .simditor-body em, .editor-style i, .editor-style em { | ||
645 | font-style: italic; | ||
646 | } | ||
647 | .simditor .simditor-body u, .editor-style u { | ||
648 | text-decoration: underline; | ||
649 | } | ||
650 | .simditor .simditor-body strike, .simditor .simditor-body del, .editor-style strike, .editor-style del { | ||
651 | text-decoration: line-through; | ||
652 | } | ||
653 | .simditor .simditor-body ul, .simditor .simditor-body ol, .editor-style ul, .editor-style ol { | ||
654 | list-style: disc outside none; | ||
655 | margin: 15px 0; | ||
656 | padding: 0 0 0 40px; | ||
657 | line-height: 1.6; | ||
658 | } | ||
659 | .simditor .simditor-body ul ul, .simditor .simditor-body ul ol, .simditor .simditor-body ol ul, .simditor .simditor-body ol ol, .editor-style ul ul, .editor-style ul ol, .editor-style ol ul, .editor-style ol ol { | ||
660 | padding-left: 30px; | ||
661 | } | ||
662 | .simditor .simditor-body ul ul, .simditor .simditor-body ol ul, .editor-style ul ul, .editor-style ol ul { | ||
663 | list-style: circle outside none; | ||
664 | } | ||
665 | .simditor .simditor-body ul ul ul, .simditor .simditor-body ol ul ul, .editor-style ul ul ul, .editor-style ol ul ul { | ||
666 | list-style: square outside none; | ||
667 | } | ||
668 | .simditor .simditor-body ol, .editor-style ol { | ||
669 | list-style: decimal; | ||
670 | } | ||
671 | .simditor .simditor-body blockquote, .editor-style blockquote { | ||
672 | border-left: 6px solid #ddd; | ||
673 | padding: 5px 0 5px 10px; | ||
674 | margin: 15px 0 15px 15px; | ||
675 | } | ||
676 | .simditor .simditor-body blockquote > :first-child, .editor-style blockquote > :first-child { | ||
677 | margin-top: 0; | ||
678 | } | ||
679 | .simditor .simditor-body code, .editor-style code { | ||
680 | display: inline-block; | ||
681 | padding: 0 4px; | ||
682 | margin: 0 5px; | ||
683 | background: #eeeeee; | ||
684 | border-radius: 3px; | ||
685 | font-size: 13px; | ||
686 | font-family: 'monaco', 'Consolas', "Liberation Mono", Courier, monospace; | ||
687 | } | ||
688 | .simditor .simditor-body pre, .editor-style pre { | ||
689 | padding: 10px 5px 10px 10px; | ||
690 | margin: 15px 0; | ||
691 | display: block; | ||
692 | line-height: 18px; | ||
693 | background: #F0F0F0; | ||
694 | border-radius: 3px; | ||
695 | font-size: 13px; | ||
696 | font-family: 'monaco', 'Consolas', "Liberation Mono", Courier, monospace; | ||
697 | white-space: pre; | ||
698 | word-wrap: normal; | ||
699 | overflow-x: auto; | ||
700 | } | ||
701 | .simditor .simditor-body pre code, .editor-style pre code { | ||
702 | display: block; | ||
703 | padding: 0; | ||
704 | margin: 0; | ||
705 | background: none; | ||
706 | border-radius: 0; | ||
707 | } | ||
708 | .simditor .simditor-body hr, .editor-style hr { | ||
709 | display: block; | ||
710 | height: 0px; | ||
711 | border: 0; | ||
712 | border-top: 1px solid #ccc; | ||
713 | margin: 15px 0; | ||
714 | padding: 0; | ||
715 | } | ||
716 | .simditor .simditor-body table, .editor-style table { | ||
717 | width: 100%; | ||
718 | table-layout: fixed; | ||
719 | border-collapse: collapse; | ||
720 | border-spacing: 0; | ||
721 | margin: 15px 0; | ||
722 | } | ||
723 | .simditor .simditor-body table thead, .editor-style table thead { | ||
724 | background-color: #f9f9f9; | ||
725 | } | ||
726 | .simditor .simditor-body table td, .simditor .simditor-body table th, .editor-style table td, .editor-style table th { | ||
727 | min-width: 40px; | ||
728 | height: 30px; | ||
729 | border: 1px solid #ccc; | ||
730 | vertical-align: top; | ||
731 | padding: 2px 4px; | ||
732 | text-align: left; | ||
733 | box-sizing: border-box; | ||
734 | } | ||
735 | .simditor .simditor-body table td.active, .simditor .simditor-body table th.active, .editor-style table td.active, .editor-style table th.active { | ||
736 | background-color: #ffffee; | ||
737 | } | ||
738 | .simditor .simditor-body img, .editor-style img { | ||
739 | /*margin: 0 5px;*/ | ||
740 | max-width: 100%; | ||
741 | vertical-align: middle; | ||
742 | } |
public/templates/bgcx.html
0 → 100644
1 | <ion-view view-title="报告查询"> | ||
2 | <ion-content scroll="false"> | ||
3 | <div class="list"> | ||
4 | <label class="item item-input item-stacked-label"> | ||
5 | <span class="input-label">样品编号</span> | ||
6 | <input type="text" placeholder="11长度编号"> | ||
7 | </label> | ||
8 | <label class="item item-input item-stacked-label"> | ||
9 | <span class="input-label">企业授权码</span> | ||
10 | <input type="text" placeholder="企业独有"> | ||
11 | </label> | ||
12 | </div> | ||
13 | <div class="padding"> | ||
14 | <button class="button button-block button-positive">查询</button> | ||
15 | </div> | ||
16 | </ion-content> | ||
17 | </ion-view> | ||
18 |
public/templates/category.html
0 → 100644
1 | <ion-view view-title="{{category_name}}"> | ||
2 | <ion-content> | ||
3 | <!-- <div class="list"> | ||
4 | <label class="item item-input item-stacked-label"> | ||
5 | <span class="input-label">企业名称</span> | ||
6 | <input type="text" placeholder="企业名称全拼"> | ||
7 | </label> | ||
8 | <label class="item item-input item-stacked-label"> | ||
9 | <span class="input-label">联系电话</span> | ||
10 | <input type="text" placeholder="手机号/座机号"> | ||
11 | </label> | ||
12 | <label class="item item-input item-stacked-label"> | ||
13 | <span class="input-label">检测内容</span> | ||
14 | <textarea name="" placeholder="描述一下需要检测的产品和检测的项目" rows="10"></textarea> | ||
15 | </label> | ||
16 | </div> | ||
17 | <div class="padding"> | ||
18 | <button class="button button-block button-positive">提交</button> | ||
19 | </div> --> | ||
20 | <div class="post-detail padding" ng-bind-html="post.detail" ng-if="posts.length == 1"></div> | ||
21 | <ion-list ng-if="posts.length > 1"> | ||
22 | <a class="item item-thumbnail-left" ng-repeat="post in posts" href="#/app/{{channel}}/{{category}}/{{post.flag}}"> | ||
23 | <img ng-src="{{post.img}}"> | ||
24 | <h2>{{post.title}}</h2> | ||
25 | <p>{{post.sub_detail}}</p> | ||
26 | </a> | ||
27 | </ion-list> | ||
28 | </ion-content> | ||
29 | </ion-view> | ||
30 |
public/templates/channel.html
0 → 100644
public/templates/devices.html
0 → 100644
public/templates/gsjj.html
0 → 100644
1 | <ion-view view-title="企业宣传片"> | ||
2 | <ion-content> | ||
3 | <div class="mp4 padding"> | ||
4 | <video width="1" height="1" webkit-playsinline x-webkit-airplay controls src="http://static.mpwang.cn/nuozheng/normz.mp4"></video> | ||
5 | <p> | ||
6 | 山东诺正检测有限公司,成立于2014年11月,是潍坊市科技局重点招商引资项目。 | ||
7 | </p> | ||
8 | <p> | ||
9 | 诺正检测是在中国科学院沈阳应用生态研究所技术支持下成立的综合性检测公司,是通过山东省级资质认定及农业行业机构认证的第三方检验机构,主要从事食品、农产品、环境、饲料、肥料及水产养殖、畜牧产品、消防设施等领域的检验检测,以及相关技术咨询、培训、研发。 | ||
10 | </p> | ||
11 | <p> | ||
12 | 2015年12月19日,诺正检测与中国科学院沈阳应用生态研究所深入合作、强强联手,正式挂牌成立了中国科学院沈阳应用生态研究所农产品安全山东中心。中国科学院沈阳应用生态研究所是国家农产品安全与环境质量检测中心的核心成员单位;是国家绿色食品、有机食品、无公害农产品定点监测机构;是国家现代农业技术中心、绿色农业研究中心、食品安全风险评估技术研究平台。诺正检测布局食品检测行业,精耕潍坊,立足山东,面向全国,获得社会各界的一致认可和信赖。 | ||
13 | </p> | ||
14 | <p> | ||
15 | 中科院沈阳生态研究所是中国科学院的直属单位,是中科院国家知识创新工程试点单位,是我国重要的基础性科研机构。沈阳生态研究所农产品安全山东中心落户潍坊、“安家”奎文,既搭建了科技成果转化的平台,也架起了奎文与高等级科研院所合作沟通的桥梁,必将对潍坊市加强食品安全、做好人才工作、推进科技创新起到重要的引领和推动作用。中科院沈阳生态研究所农产品安全山东中心立足潍坊、辐射全省、面向全国,充分开发利用国内外资源,积极扩大业务范围,迅速发展壮大。同时,广泛引进中科院的科技人才和科研成果来潍坊创业发展,为潍坊市和奎文区的科技进步和经济社会发展作出更大贡献。 | ||
16 | </p> | ||
17 | <p> | ||
18 | 诺正检测旨在搭建全面、完善、系统的产品检测与认证技术服务平台,建立完善的检测质量保证体系,实现农产品及其加工产品从起点到终端的全程质量控制与检测。诺正检测所有产业模块和发展规划都将围绕为社会铸造安全保障、固化安全壁垒、营造健康通道。 | ||
19 | </p> | ||
20 | <p> | ||
21 | 诺正检测公司精心培养专业技术团队,长期派遣技术人才到中国科学院沈阳应用生态研究所实地交流和学习。诺正检测公司目前拥有各类人才30余人,其中高级职称6人,中级职称10人,初级职称10人。配备有专业实验室面积2000余平方米,引进美国、德国、日本等国家的高尖端进口检测仪器设备60余台,其中包括三重四级杆串联液质联用仪、气相色谱质谱联用仪、日立全自动氨基酸分析仪、极具中国特色的原子荧光光谱仪等代表了国际尖端水平的专业仪器,可以广泛应用于农林牧渔业、及食品、饲料、环保、电子、纺织品、石油化工、香精香料、医药等诸多行业和领域,提供农药残留测试、兽药残留测试、微生物测试、贵金属及微量元素测试等精细化检测服务。 | ||
22 | </p> | ||
23 | <p> | ||
24 | 独立公正,是诺正恪守的准则;国际认可,是诺正能力的保证;客户需求,是诺正关注的焦点;高质高效,是诺正不变的承诺。本着科学严谨、服务至上的理念,诺正检测不负众望,打造出高水平检测实验室。今后,诺正检测将始终遵循诚信、公正、科学、高效的八字方针,继续承担社会委托和政府委托检测任务,服务企业,全过程质量监控,努力把公司建成集检测技术服务、技术咨询、技术培训及技术开发为一体的国内和国际认可的综合检测服务平台。 | ||
25 | </p> | ||
26 | <p> | ||
27 | “君以民为本,民以食为天,食以安为先”。食品安全是事关每个家庭、每个人的重大基本民生问题,它不仅直接关系到人类的健康生存,而且还严重影响着经济和社会的发展。食品安全工作是一个系统工程,从源头到终端,无论哪个环节失控都会对食品安全构成严重威胁。加强监管,提升食品、饲料、肥料、环境及消防设施等行业素质是实现食品安全形势持续稳定好转的根本基础,食品检测是实现食品安全的重要保障。 | ||
28 | </p> | ||
29 | <p> | ||
30 | 安全与健康,是人类社会共同倡导的理念,没有时代的隔阂,没有空间的局限。诺正检测心系民生,有担当、有能力为保障区域生态安全和可持续发展,实现人与自然的和谐提供科学基础、决策依据和关键技术,承载起促进社会和谐发展的历史使命。 | ||
31 | </p> | ||
32 | </div> | ||
33 | </ion-content> | ||
34 | </ion-view> | ||
35 |
public/templates/home.html
0 → 100644
1 | <ion-view view-title="诺正检测"> | ||
2 | <ion-content> | ||
3 | <ion-list> | ||
4 | <ion-item class="item-divider">检测项目</ion-item> | ||
5 | <ion-item class="item-body"> | ||
6 | <img class="full-image" ng-src="/images/jcrange/nongchanpin.jpg"> | ||
7 | <p> | ||
8 | 农产品检测 | ||
9 | </p> | ||
10 | </ion-item> | ||
11 | <ion-item class="item-body"> | ||
12 | <img class="full-image" ng-src="/images/jcrange/xiaofangjiance.jpg"> | ||
13 | <p> | ||
14 | 消防检测 | ||
15 | </p> | ||
16 | </ion-item> | ||
17 | <ion-item class="item-body"> | ||
18 | <img class="full-image" ng-src="/images/jcrange/huanjing.jpg"> | ||
19 | <p> | ||
20 | 环境检测 | ||
21 | </p> | ||
22 | </ion-item> | ||
23 | <ion-item class="item-divider">服务宗旨</ion-item> | ||
24 | <ion-item class="item-body"> | ||
25 | <img class="full-image" ng-src="/images/jcrange/mubiao.jpg"> | ||
26 | <div style="font-size:13px;"> | ||
27 | <h5>质量方针</h5> | ||
28 | 诚信、公正、科学、高效地保证质量第一。<br> | ||
29 | 坚持秉公检验,保证良好的职业规范和职业道德。<br> | ||
30 | 坚持信誉至上,保守秘密,确保客户权益。<br> | ||
31 | 坚持科学管理,保证资源,切实执行规范程序。<br> | ||
32 | 坚持高效服务,保证准确及时出具检验报告。<br> | ||
33 | 坚持服务质量第一、体系运行质量第一。 | ||
34 | <h5>质量目标</h5> | ||
35 | 全年测试项目错误率不大于1‰。<br> | ||
36 | 报告及时率不低于99%。<br> | ||
37 | 客户投诉率不大于1%、投诉处理率100%。 | ||
38 | </div> | ||
39 | </ion-item> | ||
40 | <ion-item class="item-divider">科学速检</ion-item> | ||
41 | <ion-item class="item-body"> | ||
42 | <img class="full-image" ng-src="/images/jcrange/shangyang.jpg"> | ||
43 | <div style="font-size:13px;"> | ||
44 | 中科院沈阳生态应用研究所是中国农产品检测标准的制定者, 也是国内农产品检测技术最前沿的团队。<br> | ||
45 | 诺正检测与中科院沈阳生态应用研究所深入合作, 强强联手, 培养了大批国内顶尖的检测人员服务于诺正检测。并且公司购入大量进口的先进检测设备, 保证检测的权威, 公正, 科学性。 | ||
46 | </div> | ||
47 | </ion-item> | ||
48 | <ion-item class="item-divider">服务承诺</ion-item> | ||
49 | <ion-item class="item-body"> | ||
50 | <img class="full-image" ng-src="/images/jcrange/kexuegongzheng.jpg"> | ||
51 | <div style="font-size:13px;"> | ||
52 | 本公司具有第三方实验室的地位,检测工作不受任何来自内、外部的不正当的行政干预、商业利润和其它方面压力的影响。不生产、不经营所检验的产品,不和被检测单位发生利益冲突。<br> | ||
53 | 本公司严格遵守保密原则,保证不泄漏用户技术资料和检测结果。保证完善质量体系,提高检测水平和管理水平,在确保检验报告的真实和准确的前提下,使客户满意率达到100%。 | ||
54 | </div> | ||
55 | </ion-item> | ||
56 | </ion-list> | ||
57 | </ion-content> | ||
58 | </ion-view> |
public/templates/login.html
0 → 100644
1 | <ion-modal-view> | ||
2 | <ion-header-bar> | ||
3 | <h1 class="title">Login</h1> | ||
4 | <div class="buttons"> | ||
5 | <button class="button button-clear" ng-click="closeLogin()">Close</button> | ||
6 | </div> | ||
7 | </ion-header-bar> | ||
8 | <ion-content> | ||
9 | <form ng-submit="doLogin()"> | ||
10 | <div class="list"> | ||
11 | <label class="item item-input"> | ||
12 | <span class="input-label">Username</span> | ||
13 | <input type="text" ng-model="loginData.username"> | ||
14 | </label> | ||
15 | <label class="item item-input"> | ||
16 | <span class="input-label">Password</span> | ||
17 | <input type="password" ng-model="loginData.password"> | ||
18 | </label> | ||
19 | <label class="item"> | ||
20 | <button class="button button-block button-positive" type="submit">Log in</button> | ||
21 | </label> | ||
22 | </div> | ||
23 | </form> | ||
24 | </ion-content> | ||
25 | </ion-modal-view> |
public/templates/menu.html
0 → 100644
1 | <ion-side-menus enable-menu-with-back-views="false"> | ||
2 | <ion-side-menu-content> | ||
3 | <ion-nav-bar class="bar-balanced"> | ||
4 | <ion-nav-back-button></ion-nav-back-button> | ||
5 | <ion-nav-buttons side="left"> | ||
6 | <button class="button button-icon button-clear ion-navicon" menu-toggle="left"></button> | ||
7 | </ion-nav-buttons> | ||
8 | </ion-nav-bar> | ||
9 | <ion-nav-view name="menuContent"></ion-nav-view> | ||
10 | </ion-side-menu-content> | ||
11 | |||
12 | <ion-side-menu side="left"> | ||
13 | <ion-header-bar class="bar-balanced"> | ||
14 | <h1 class="title">诺正检测</h1> | ||
15 | </ion-header-bar> | ||
16 | <ion-content scroll="false"> | ||
17 | <ion-list> | ||
18 | <ion-item menu-close href="#/app/home"> | ||
19 | 诺正首页 | ||
20 | </ion-item> | ||
21 | <ion-item menu-close href="#/app/{{key}}" ng-repeat="(key,val) in channels"> | ||
22 | {{val.name}} | ||
23 | </ion-item> | ||
24 | <!-- <ion-item menu-close href="#/browse"> | ||
25 | 资源中心 | ||
26 | </ion-item> | ||
27 | <ion-item menu-close href="#/playlists"> | ||
28 | 诺正动态 | ||
29 | </ion-item> | ||
30 | <ion-item menu-close href="#/playlists"> | ||
31 | 诺正文化 | ||
32 | </ion-item> | ||
33 | <ion-item menu-close href="#/playlists"> | ||
34 | 关于诺正 | ||
35 | </ion-item> | ||
36 | <ion-item menu-close href="#/playlists"> | ||
37 | 招贤纳士 | ||
38 | </ion-item> --> | ||
39 | </ion-list> | ||
40 | <div class="descption padding" style="position: absolute; bottom: 0; left: 0; right: 0;"> | ||
41 | <p>Copyright © 2015-2016</p> | ||
42 | <p>山东诺正检测有限公司</p> | ||
43 | <p>版权所有 鲁ICP备15045188号</p> | ||
44 | </div> | ||
45 | </ion-content> | ||
46 | </ion-side-menu> | ||
47 | </ion-side-menus> |
public/templates/post.html
0 → 100644
public/templates/wssj.html
0 → 100644
1 | <ion-view view-title="网上送检"> | ||
2 | <ion-content scroll="false"> | ||
3 | <div class="list"> | ||
4 | <label class="item item-input item-stacked-label"> | ||
5 | <span class="input-label">企业名称</span> | ||
6 | <input type="text" placeholder="企业名称全拼"> | ||
7 | </label> | ||
8 | <label class="item item-input item-stacked-label"> | ||
9 | <span class="input-label">联系电话</span> | ||
10 | <input type="text" placeholder="手机号/座机号"> | ||
11 | </label> | ||
12 | <label class="item item-input item-stacked-label"> | ||
13 | <span class="input-label">检测内容</span> | ||
14 | <textarea name="" placeholder="描述一下需要检测的产品和检测的项目" rows="10"></textarea> | ||
15 | </label> | ||
16 | </div> | ||
17 | <div class="padding"> | ||
18 | <button class="button button-block button-positive">提交</button> | ||
19 | </div> | ||
20 | </ion-content> | ||
21 | </ion-view> | ||
22 |
public/uploads/.DS_Store
0 → 100644
No preview for this file type
public/uploads/1.jpg
0 → 100644
57.3 KB
public/uploads/10.jpg
0 → 100644
33.1 KB
public/uploads/11.jpg
0 → 100644
102 KB
public/uploads/12.jpg
0 → 100644
115 KB
public/uploads/13.jpg
0 → 100644
107 KB
public/uploads/14.jpg
0 → 100644
129 KB
public/uploads/15.jpg
0 → 100644
147 KB
public/uploads/16.jpg
0 → 100644
75.6 KB
public/uploads/17.jpg
0 → 100644
139 KB
public/uploads/18.jpg
0 → 100644
179 KB
public/uploads/19.jpg
0 → 100644
23.8 KB
public/uploads/20.jpg
0 → 100644
121 KB
public/uploads/3.jpg
0 → 100644
77.6 KB
public/uploads/4.jpg
0 → 100644
34.1 KB
public/uploads/5.jpg
0 → 100644
33.8 KB
public/uploads/6.jpg
0 → 100644
27.2 KB
public/uploads/7.jpg
0 → 100644
40.2 KB
public/uploads/8.jpg
0 → 100644
39.3 KB
public/uploads/9.jpg
0 → 100644
34.3 KB
script/rails
0 → 100755
1 | #!/usr/bin/env ruby | ||
2 | # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application. | ||
3 | |||
4 | APP_PATH = File.expand_path('../../config/application', __FILE__) | ||
5 | require File.expand_path('../../config/boot', __FILE__) | ||
6 | require 'rails/commands' |
test/fixtures/.gitkeep
0 → 100644
File mode changed
test/functional/.gitkeep
0 → 100644
File mode changed
test/integration/.gitkeep
0 → 100644
File mode changed
test/performance/browsing_test.rb
0 → 100644
1 | require 'test_helper' | ||
2 | require 'rails/performance_test_help' | ||
3 | |||
4 | class BrowsingTest < ActionDispatch::PerformanceTest | ||
5 | # Refer to the documentation for all available options | ||
6 | # self.profile_options = { :runs => 5, :metrics => [:wall_time, :memory] | ||
7 | # :output => 'tmp/performance', :formats => [:flat] } | ||
8 | |||
9 | def test_homepage | ||
10 | get '/' | ||
11 | end | ||
12 | end |
test/test_helper.rb
0 → 100644
1 | ENV["RAILS_ENV"] = "test" | ||
2 | require File.expand_path('../../config/environment', __FILE__) | ||
3 | require 'rails/test_help' | ||
4 | |||
5 | class ActiveSupport::TestCase | ||
6 | # Setup all fixtures in test/fixtures/*.(yml|csv) for all tests in alphabetical order. | ||
7 | # | ||
8 | # Note: You'll currently still have to declare fixtures explicitly in integration tests | ||
9 | # -- they do not yet inherit this setting | ||
10 | fixtures :all | ||
11 | |||
12 | # Add more helper methods to be used by all tests here... | ||
13 | end |
test/unit/.gitkeep
0 → 100644
File mode changed
vendor/assets/javascripts/.gitkeep
0 → 100644
File mode changed
vendor/assets/stylesheets/.gitkeep
0 → 100644
File mode changed
vendor/plugins/.gitkeep
0 → 100644
File mode changed
-
Please register or sign in to post a comment