PageSourceSearch

https://editoraunicamp.com.br/js/helper-plugins.js

js editoraunicamp.com.br collected 2026-10-02 08:06:29 UTC 128,226 bytes, 1,811 lines download raw bytes

1/*
2* touchSwipe - jQuery Plugin
3* https://github.com/mattbryson/TouchSwipe-Jquery-Plugin
4* http://labs.skinkers.com/touchSwipe/
5* http://plugins.jquery.com/project/touchSwipe
6*
7* Copyright (c) 2010 Matt Bryson (www.skinkers.com)
8* Dual licensed under the MIT or GPL Version 2 licenses.
9*
10* $version: 1.3.3
11*/
12
13(function(g){function P(c){if(c&&void 0===c.allowPageScroll&&(void 0!==c.swipe||void 0!==c.swipeStatus))c.allowPageScroll=G;c||(c={});c=g.extend({},g.fn.swipe.defaults,c);return this.each(function(){var b=g(this),f=b.data(w);f||(f=new W(this,c),b.data(w,f))})}function W(c,b){var f,p,r,s;function H(a){var a=a.originalEvent,c,Q=n?a.touches[0]:a;d=R;n?h=a.touches.length:a.preventDefault();i=0;j=null;k=0;!n||h===b.fingers||b.fingers===x?(r=f=Q.pageX,s=p=Q.pageY,y=(new Date).getTime(),b.swipeStatus&&(c= l(a,d))):t(a);if(!1===c)return d=m,l(a,d),c;e.bind(I,J);e.bind(K,L)}function J(a){a=a.originalEvent;if(!(d===q||d===m)){var c,e=n?a.touches[0]:a;f=e.pageX;p=e.pageY;u=(new Date).getTime();j=S();n&&(h=a.touches.length);d=z;var e=a,g=j;if(b.allowPageScroll===G)e.preventDefault();else{var o=b.allowPageScroll===T;switch(g){case v:(b.swipeLeft&&o||!o&&b.allowPageScroll!=M)&&e.preventDefault();break;case A:(b.swipeRight&&o||!o&&b.allowPageScroll!=M)&&e.preventDefault();break;case B:(b.swipeUp&&o||!o&&b.allowPageScroll!= N)&&e.preventDefault();break;case C:(b.swipeDown&&o||!o&&b.allowPageScroll!=N)&&e.preventDefault()}}h===b.fingers||b.fingers===x||!n?(i=U(),k=u-y,b.swipeStatus&&(c=l(a,d,j,i,k)),b.triggerOnTouchEnd||(e=!(b.maxTimeThreshold?!(k>=b.maxTimeThreshold):1),!0===D()?(d=q,c=l(a,d)):e&&(d=m,l(a,d)))):(d=m,l(a,d));!1===c&&(d=m,l(a,d))}}function L(a){a=a.originalEvent;a.preventDefault();u=(new Date).getTime();i=U();j=S();k=u-y;if(b.triggerOnTouchEnd||!1===b.triggerOnTouchEnd&&d===z)if(d=q,(h===b.fingers||b.fingers=== x||!n)&&0!==f){var c=!(b.maxTimeThreshold?!(k>=b.maxTimeThreshold):1);if((!0===D()||null===D())&&!c)l(a,d);else if(c||!1===D())d=m,l(a,d)}else d=m,l(a,d);else d===z&&(d=m,l(a,d));e.unbind(I,J,!1);e.unbind(K,L,!1)}function t(){y=u=p=f=s=r=h=0}function l(a,c){var d=void 0;b.swipeStatus&&(d=b.swipeStatus.call(e,a,c,j||null,i||0,k||0,h));if(c===m&&b.click&&(1===h||!n)&&(isNaN(i)||0===i))d=b.click.call(e,a,a.target);if(c==q)switch(b.swipe&&(d=b.swipe.call(e,a,j,i,k,h)),j){case v:b.swipeLeft&&(d=b.swipeLeft.call(e, a,j,i,k,h));break;case A:b.swipeRight&&(d=b.swipeRight.call(e,a,j,i,k,h));break;case B:b.swipeUp&&(d=b.swipeUp.call(e,a,j,i,k,h));break;case C:b.swipeDown&&(d=b.swipeDown.call(e,a,j,i,k,h))}(c===m||c===q)&&t(a);return d}function D(){return null!==b.threshold?i>=b.threshold:null}function U(){return Math.round(Math.sqrt(Math.pow(f-r,2)+Math.pow(p-s,2)))}function S(){var a;a=Math.atan2(p-s,r-f);a=Math.round(180*a/Math.PI);0>a&&(a=360-Math.abs(a));return 45>=a&&0<=a?v:360>=a&&315<=a?v:135<=a&&225>=a? A:45<a&&135>a?C:B}function V(){e.unbind(E,H);e.unbind(F,t);e.unbind(I,J);e.unbind(K,L)}var O=n||!b.fallbackToMouseEvents,E=O?"touchstart":"mousedown",I=O?"touchmove":"mousemove",K=O?"touchend":"mouseup",F="touchcancel",i=0,j=null,k=0,e=g(c),d="start",h=0,y=p=f=s=r=0,u=0;try{e.bind(E,H),e.bind(F,t)}catch(P){g.error("events not supported "+E+","+F+" on jQuery.swipe")}this.enable=function(){e.bind(E,H);e.bind(F,t);return e};this.disable=function(){V();return e};this.destroy=function(){V();e.data(w,null); return e}}var v="left",A="right",B="up",C="down",G="none",T="auto",M="horizontal",N="vertical",x="all",R="start",z="move",q="end",m="cancel",n="ontouchstart"in window,w="TouchSwipe";g.fn.swipe=function(c){var b=g(this),f=b.data(w);if(f&&"string"===typeof c){if(f[c])return f[c].apply(this,Array.prototype.slice.call(arguments,1));g.error("Method "+c+" does not exist on jQuery.swipe")}else if(!f&&("object"===typeof c||!c))return P.apply(this,arguments);return b};g.fn.swipe.defaults={fingers:1,threshold:75, maxTimeThreshold:null,swipe:null,swipeLeft:null,swipeRight:null,swipeUp:null,swipeDown:null,swipeStatus:null,click:null,triggerOnTouchEnd:!0,allowPageScroll:"auto",fallbackToMouseEvents:!0};g.fn.swipe.phases={PHASE_START:R,PHASE_MOVE:z,PHASE_END:q,PHASE_CANCEL:m};g.fn.swipe.directions={LEFT:v,RIGHT:A,UP:B,DOWN:C};g.fn.swipe.pageScroll={NONE:G,HORIZONTAL:M,VERTICAL:N,AUTO:T};g.fn.swipe.fingers={ONE:1,TWO:2,THREE:3,ALL:x}})(jQuery);
14
15/*
16 * jQuery throttle / debounce - v1.1 - 3/7/2010
17 * http://benalman.com/projects/jquery-throttle-debounce-plugin/
18 * 
19 * Copyright (c) 2010 "Cowboy" Ben Alman
20 * Dual licensed under the MIT and GPL licenses.
21 * http://benalman.com/about/license/
22 */
23(function(b,c){var $=b.jQuery||b.Cowboy||(b.Cowboy={}),a;$.throttle=a=function(e,f,j,i){var h,d=0;if(typeof f!=="boolean"){i=j;j=f;f=c}function g(){var o=this,m=+new Date()-d,n=arguments;function l(){d=+new Date();j.apply(o,n)}function k(){h=c}if(i&&!h){l()}h&&clearTimeout(h);if(i===c&&m>e){l()}else{if(f!==true){h=setTimeout(i?k:l,i===c?e-m:e)}}}if($.guid){g.guid=j.guid=j.guid||$.guid++}return g};$.debounce=function(d,e,f){return f===c?a(d,e,false):a(d,f,e!==false)}})(this);
24
25
26/*!jQuery Knob*/
27/**
28 * Downward compatible, touchable dial
29 *
30 * Version: 1.2.0 (15/07/2012)
31 * Requires: jQuery v1.7+
32 *
33 * Copyright (c) 2012 Anthony Terrien
34 * Under MIT and GPL licenses:
35 *  http://www.opensource.org/licenses/mit-license.php
36 *  http://www.gnu.org/licenses/gpl.html
37 *
38 * Thanks to vor, eskimoblood, spiffistan, FabrizioC
39 */
40(function($) {
41
42    /**
43     * Kontrol library
44     */
45    "use strict";
46
47    /**
48     * Definition of globals and core
49     */
50    var k = {}, // kontrol
51        max = Math.max,
52        min = Math.min;
53
54    k.c = {};
55    k.c.d = $(document);
56    k.c.t = function (e) {
57        return e.originalEvent.touches.length - 1;
58    };
59
60    /**
61     * Kontrol Object
62     *
63     * Definition of an abstract UI control
64     *
65     * Each concrete component must call this one.
66     * <code>
67     * k.o.call(this);
68     * </code>
69     */
70    k.o = function () {
71        var s = this;
72
73        this.o = null; // array of options
74        this.$ = null; // jQuery wrapped element
75        this.i = null; // mixed HTMLInputElement or array of HTMLInputElement
76        this.g = null; // deprecated 2D graphics context for 'pre-rendering'
77        this.v = null; // value ; mixed array or integer
78        this.cv = null; // change value ; not commited value
79        this.x = 0; // canvas x position
80        this.y = 0; // canvas y position
81        this.w = 0; // canvas width
82        this.h = 0; // canvas height
83        this.$c = null; // jQuery canvas element
84        this.c = null; // rendered canvas context
85        this.t = 0; // touches index
86        this.isInit = false;
87        this.fgColor = null; // main color
88        this.pColor = null; // previous color
89        this.dH = null; // draw hook
90        this.cH = null; // change hook
91        this.eH = null; // cancel hook
92        this.rH = null; // release hook
93        this.scale = 1; // scale factor
94        this.relative = false;
95        this.relativeWidth = false;
96        this.relativeHeight = false;
97        this.$div = null; // component div
98
99        this.run = function () {
100            var cf = function (e, conf) {
101                var k;
102                for (k in conf) {
103                    s.o[k] = conf[k];
104                }
105                s.init();
106                s._configure()
107                 ._draw();
108            };
109
110            if(this.$.data('kontroled')) return;
111            this.$.data('kontroled', true);
112
113            this.extend();
114            this.o = $.extend(
115                {
116                    // Config
117                    min : this.$.data('min') || 0,
118                    max : this.$.data('max') || 100,
119                    stopper : true,
120                    readOnly : this.$.data('readonly') || (this.$.attr('readonly') == 'readonly'),
121
122                    // UI
123                    cursor : (this.$.data('cursor') === true && 30)
124                                || this.$.data('cursor')
125                                || 0,
126                    thickness : (
127                                this.$.data('thickness')
128                                && Math.max(Math.min(this.$.data('thickness'), 1), 0.01)
129                                )
130                                || 0.35,
131                    lineCap : this.$.data('linecap') || 'butt',
132                    width : this.$.data('width') || 200,
133                    height : this.$.data('height') || 200,
134                    displayInput : this.$.data('displayinput') == null || this.$.data('displayinput'),
135                    displayPrevious : this.$.data('displayprevious'),
136                    fgColor : this.$.data('fgcolor') || '#87CEEB',
137                    inputColor: this.$.data('inputcolor'),
138                    font: this.$.data('font') || 'Arial',
139                    fontWeight: this.$.data('font-weight') || 'bold',
140                    inline : false,
141                    step : this.$.data('step') || 1,
142
143                    // Hooks
144                    draw : null, // function () {}
145                    change : null, // function (value) {}
146                    cancel : null, // function () {}
147                    release : null, // function (value) {}
148                    error : null // function () {}
149                }, this.o
150            );
151
152            // finalize options
153            if(!this.o.inputColor) {
154                this.o.inputColor = this.o.fgColor;
155            }
156
157            // routing value
158            if(this.$.is('fieldset')) {
159
160                // fieldset = array of integer
161                this.v = {};
162                this.i = this.$.find('input')
163                this.i.each(function(k) {
164                    var $this = $(this);
165                    s.i[k] = $this;
166                    s.v[k] = $this.val();
167
168                    $this.bind(
169                        'change'
170                        , function () {
171                            var val = {};
172                            val[k] = $this.val();
173                            s.val(val);
174                        }
175                    );
176                });
177                this.$.find('legend').remove();
178
179            } else {
180
181                // input = integer
182                this.i = this.$;
183                this.v = this.$.val();
184                (this.v == '') && (this.v = this.o.min);
185
186                this.$.bind(
187                    'change'
188                    , function () {
189                        s.val(s._validate(s.$.val()));
190                    }
191                );
192
193            }
194
195            (!this.o.displayInput) && this.$.hide();
196
197            // adds needed DOM elements (canvas, div)
198            this.$c = $(document.createElement('canvas'));
199            if (typeof G_vmlCanvasManager !== 'undefined') {
200              G_vmlCanvasManager.initElement(this.$c[0]);
201            }
202            this.c = this.$c[0].getContext ? this.$c[0].getContext('2d') : null;
203            if (!this.c) {
204                this.o.error && this.o.error();
205                return;
206            }
207
208            // hdpi support
209            this.scale = (window.devicePixelRatio || 1) /
210                        (
211                            this.c.webkitBackingStorePixelRatio ||
212                            this.c.mozBackingStorePixelRatio ||
213                            this.c.msBackingStorePixelRatio ||
214                            this.c.oBackingStorePixelRatio ||
215                            this.c.backingStorePixelRatio || 1
216                        );
217
218            // detects relative width / height
219            this.relativeWidth = ((this.o.width % 1 !== 0)
220                                    && this.o.width.indexOf('%'));
221            this.relativeHeight = ((this.o.height % 1 !== 0)
222                                    && this.o.height.indexOf('%'));
223
224            this.relative = (this.relativeWidth || this.relativeHeight);
225
226            // wraps all elements in a div
227            this.$div = $('<div style="'
228                        + (this.o.inline ? 'display:inline;' : '')
229                        + '"></div>');
230
231            this.$.wrap(this.$div).before(this.$c);
232            this.$div = this.$.parent();
233
234            // computes size and carves the component
235            this._carve();
236
237            // prepares props for transaction
238            if (this.v instanceof Object) {
239                this.cv = {};
240                this.copy(this.v, this.cv);
241            } else {
242                this.cv = this.v;
243            }
244
245            // binds configure event
246            this.$
247                .bind("configure", cf)
248                .parent()
249                .bind("configure", cf);
250
251            // finalize init
252            this._listen()
253                ._configure()
254                ._xy()
255                .init();
256
257            this.isInit = true;
258
259            // the most important !
260            this._draw();
261
262            return this;
263        };
264
265        this._carve = function() {
266            if(this.relative) {
267                var w = this.relativeWidth
268                            ? this.$div.parent().width()
269                                * parseInt(this.o.width) / 100
270                            : this.$div.parent().width(),
271                    h = this.relativeHeight
272                            ? this.$div.parent().height()
273                                * parseInt(this.o.height) / 100
274                            : this.$div.parent().height();
275
276                // apply relative
277                this.w = this.h = Math.min(w, h);
278            } else {
279                this.w = this.o.width;
280                this.h = this.o.height;
281            }
282
283            // finalize div
284            this.$div.css({
285                'width': this.w + 'px',
286                'height': this.h + 'px'
287            });
288
289            // finalize canvas with computed width
290            this.$c.attr({
291                width: this.w,
292                height: this.h
293            });
294
295            // scaling
296            if (this.scale !== 1) {
297                this.$c[0].width = this.$c[0].width * this.scale;
298                this.$c[0].height = this.$c[0].height * this.scale;
299                this.$c.width(this.w);
300                this.$c.height(this.h);
301            }
302
303            return this;
304        }
305
306        this._draw = function () {
307
308            // canvas pre-rendering
309            var d = true;
310
311            s.g = s.c;
312
313            s.clear();
314
315            s.dH
316            && (d = s.dH());
317
318            (d !== false) && s.draw();
319
320        };
321
322        this._touch = function (e) {
323
324            var touchMove = function (e) {
325
326                var v = s.xy2val(
327                            e.originalEvent.touches[s.t].pageX,
328                            e.originalEvent.touches[s.t].pageY
329                            );
330
331                if (v == s.cv) return;
332
333                if (
334                    s.cH
335                    && (s.cH(v) === false)
336                ) return;
337
338
339                s.change(s._validate(v));
340                s._draw();
341            };
342
343            // get touches index
344            this.t = k.c.t(e);
345
346            // First touch
347            touchMove(e);
348
349            // Touch events listeners
350            k.c.d
351                .bind("touchmove.k", touchMove)
352                .bind(
353                    "touchend.k"
354                    , function () {
355                        k.c.d.unbind('touchmove.k touchend.k');
356
357                        if (
358                            s.rH
359                            && (s.rH(s.cv) === false)
360                        ) return;
361
362                        s.val(s.cv);
363                    }
364                );
365
366            return this;
367        };
368
369        this._mouse = function (e) {
370
371            var mouseMove = function (e) {
372                var v = s.xy2val(e.pageX, e.pageY);
373                if (v == s.cv) return;
374
375                if (
376                    s.cH
377                    && (s.cH(v) === false)
378                ) return;
379
380                s.change(s._validate(v));
381                s._draw();
382            };
383
384            // First click
385            mouseMove(e);
386
387            // Mouse events listeners
388            k.c.d
389                .bind("mousemove.k", mouseMove)
390                .bind(
391                    // Escape key cancel current change
392                    "keyup.k"
393                    , function (e) {
394                        if (e.keyCode === 27) {
395                            k.c.d.unbind("mouseup.k mousemove.k keyup.k");
396
397                            if (
398                                s.eH
399                                && (s.eH() === false)
400                            ) return;
401
402                            s.cancel();
403                        }
404                    }
405                )
406                .bind(
407                    "mouseup.k"
408                    , function (e) {
409                        k.c.d.unbind('mousemove.k mouseup.k keyup.k');
410
411                        if (
412                            s.rH
413                            && (s.rH(s.cv) === false)
414                        ) return;
415
416                        s.val(s.cv);
417                    }
418                );
419
420            return this;
421        };
422
423        this._xy = function () {
424            var o = this.$c.offset();
425            this.x = o.left;
426            this.y = o.top;
427            return this;
428        };
429
430        this._listen = function () {
431
432            if (!this.o.readOnly) {
433                this.$c
434                    .bind(
435                        "mousedown"
436                        , function (e) {
437                            e.preventDefault();
438                            s._xy()._mouse(e);
439                         }
440                    )
441                    .bind(
442                        "touchstart"
443                        , function (e) {
444                            e.preventDefault();
445                            s._xy()._touch(e);
446                         }
447                    );
448
449                this.listen();
450            } else {
451                this.$.attr('readonly', 'readonly');
452            }
453
454            if(this.relative) {
455                $(window).resize(function() {
456                    s._carve()
457                     .init();
458                    s._draw();
459                });
460            }
461
462            return this;
463        };
464
465        this._configure = function () {
466
467            // Hooks
468            if (this.o.draw) this.dH = this.o.draw;
469            if (this.o.change) this.cH = this.o.change;
470            if (this.o.cancel) this.eH = this.o.cancel;
471            if (this.o.release) this.rH = this.o.release;
472
473            if (this.o.displayPrevious) {
474                this.pColor = this.h2rgba(this.o.fgColor, "0.4");
475                this.fgColor = this.h2rgba(this.o.fgColor, "0.6");
476            } else {
477                this.fgColor = this.o.fgColor;
478            }
479
480            return this;
481        };
482
483        this._clear = function () {
484            this.$c[0].width = this.$c[0].width;
485        };
486
487        this._validate = function(v) {
488            return (~~ (((v < 0) ? -0.5 : 0.5) + (v/this.o.step))) * this.o.step;
489        };
490
491        // Abstract methods
492        this.listen = function () {}; // on start, one time
493        this.extend = function () {}; // each time configure triggered
494        this.init = function () {}; // each time configure triggered
495        this.change = function (v) {}; // on change
496        this.val = function (v) {}; // on release
497        this.xy2val = function (x, y) {}; //
498        this.draw = function () {}; // on change / on release
499        this.clear = function () { this._clear(); };
500
501        // Utils
502        this.h2rgba = function (h, a) {
503            var rgb;
504            h = h.substring(1,7)
505            rgb = [parseInt(h.substring(0,2),16)
506                   ,parseInt(h.substring(2,4),16)
507                   ,parseInt(h.substring(4,6),16)];
508            return "rgba(" + rgb[0] + "," + rgb[1] + "," + rgb[2] + "," + a + ")";
509        };
510
511        this.copy = function (f, t) {
512            for (var i in f) { t[i] = f[i]; }
513        };
514    };
515
516
517    /**
518     * k.Dial
519     */
520    k.Dial = function () {
521        k.o.call(this);
522
523        this.startAngle = null;
524        this.xy = null;
525        this.radius = null;
526        this.lineWidth = null;
527        this.cursorExt = null;
528        this.w2 = null;
529        this.PI2 = 2*Math.PI;
530
531        this.extend = function () {
532            this.o = $.extend(
533                {
534                    bgColor : this.$.data('bgcolor') || '#EEEEEE',
535                    angleOffset : this.$.data('angleoffset') || 0,
536                    angleArc : this.$.data('anglearc') || 360,
537                    inline : true
538                }, this.o
539            );
540        };
541
542        this.val = function (v) {
543            if (null != v) {
544                this.cv = this.o.stopper ? max(min(v, this.o.max), this.o.min) : v;
545                this.v = this.cv;
546                this.$.val(this.v);
547                this._draw();
548            } else {
549                return this.v;
550            }
551        };
552
553        this.xy2val = function (x, y) {
554            var a, ret;
555
556            a = Math.atan2(
557                        x - (this.x + this.w2)
558                        , - (y - this.y - this.w2)
559                    ) - this.angleOffset;
560
561            if(this.angleArc != this.PI2 && (a < 0) && (a > -0.5)) {
562                // if isset angleArc option, set to min if .5 under min
563                a = 0;
564            } else if (a < 0) {
565                a += this.PI2;
566            }
567
568            ret = ~~ (0.5 + (a * (this.o.max - this.o.min) / this.angleArc))
569                    + this.o.min;
570
571            this.o.stopper
572            && (ret = max(min(ret, this.o.max), this.o.min));
573
574            return ret;
575        };
576
577        this.listen = function () {
578            // bind MouseWheel
579            var s = this,
580                mw = function (e) {
581                            e.preventDefault();
582                            var ori = e.originalEvent
583                                ,deltaX = ori.detail || ori.wheelDeltaX
584                                ,deltaY = ori.detail || ori.wheelDeltaY
585                                ,v = parseInt(s.$.val()) + (deltaX>0 || deltaY>0 ? s.o.step : deltaX<0 || deltaY<0 ? -s.o.step : 0);
586
587                            if (
588                                s.cH
589                                && (s.cH(v) === false)
590                            ) return;
591
592                            s.val(v);
593                        }
594                , kval, to, m = 1, kv = {37:-s.o.step, 38:s.o.step, 39:s.o.step, 40:-s.o.step};
595
596            this.$
597                .bind(
598                    "keydown"
599                    ,function (e) {
600                        var kc = e.keyCode;
601
602                        // numpad support
603                        if(kc >= 96 && kc <= 105) {
604                            kc = e.keyCode = kc - 48;
605                        }
606
607                        kval = parseInt(String.fromCharCode(kc));
608
609                        if (isNaN(kval)) {
610
611                            (kc !== 13)         // enter
612                            && (kc !== 8)       // bs
613                            && (kc !== 9)       // tab
614                            && (kc !== 189)     // -
615                            && e.preventDefault();
616
617                            // arrows
618                            if ($.inArray(kc,[37,38,39,40]) > -1) {
619                                e.preventDefault();
620
621                                var v = parseInt(s.$.val()) + kv[kc] * m;
622
623                                s.o.stopper
624                                && (v = max(min(v, s.o.max), s.o.min));
625
626                                s.change(v);
627                                s._draw();
628
629                                // long time keydown speed-up
630                                to = window.setTimeout(
631                                    function () { m*=2; }
632                                    ,30
633                                );
634                            }
635                        }
636                    }
637                )
638                .bind(
639                    "keyup"
640                    ,function (e) {
641                        if (isNaN(kval)) {
642                            if (to) {
643                                window.clearTimeout(to);
644                                to = null;
645                                m = 1;
646                                s.val(s.$.val());
647                            }
648                        } else {
649                            // kval postcond
650                            (s.$.val() >
650 s.o.max && s.$.val(s.o.max))
651                            || (s.$.val() < s.o.min && s.$.val(s.o.min));
652                        }
653
654                    }
655                );
656
657            this.$c.bind("mousewheel DOMMouseScroll", mw);
658            this.$.bind("mousewheel DOMMouseScroll", mw)
659        };
660
661        this.init = function () {
662
663            if (
664                this.v < this.o.min
665                || this.v > this.o.max
666            ) this.v = this.o.min;
667
668            this.$.val(this.v);
669            this.w2 = this.w / 2;
670            this.cursorExt = this.o.cursor / 100;
671            this.xy = this.w2 * this.scale;
672            this.lineWidth = this.xy * this.o.thickness;
673            this.lineCap = this.o.lineCap;
674            this.radius = this.xy - this.lineWidth / 2;
675
676            this.o.angleOffset
677            && (this.o.angleOffset = isNaN(this.o.angleOffset) ? 0 : this.o.angleOffset);
678
679            this.o.angleArc
680            && (this.o.angleArc = isNaN(this.o.angleArc) ? this.PI2 : this.o.angleArc);
681
682            // deg to rad
683            this.angleOffset = this.o.angleOffset * Math.PI / 180;
684            this.angleArc = this.o.angleArc * Math.PI / 180;
685
686            // compute start and end angles
687            this.startAngle = 1.5 * Math.PI + this.angleOffset;
688            this.endAngle = 1.5 * Math.PI + this.angleOffset + this.angleArc;
689
690            var s = max(
691                            String(Math.abs(this.o.max)).length
692                            , String(Math.abs(this.o.min)).length
693                            , 2
694                            ) + 2;
695
696            this.o.displayInput
697                && this.i.css({
698                        'width' : ((this.w / 2 + 4) >> 0) + 'px'
699                        ,'height' : ((this.w / 3) >> 0) + 'px'
700                        ,'position' : 'absolute'
701                        ,'vertical-align' : 'middle'
702                        ,'margin-top' : ((this.w / 3) >> 0) + 'px'
703                        ,'margin-left' : '-' + ((this.w * 3 / 4 + 2) >> 0) + 'px'
704                        ,'border' : 0
705                        ,'background' : 'none'
706                        ,'font' : this.o.fontWeight + ' ' + ((this.w / s) >> 0) + 'px ' + this.o.font
707                        ,'text-align' : 'center'
708                        ,'color' : this.o.inputColor || this.o.fgColor
709                        ,'padding' : '0px'
710                        ,'-webkit-appearance': 'none'
711                        })
712                || this.i.css({
713                        'width' : '0px'
714                        ,'visibility' : 'hidden'
715                        });
716        };
717
718        this.change = function (v) {
719            this.cv = v;
720            this.$.val(v);
721        };
722
723        this.angle = function (v) {
724            return (v - this.o.min) * this.angleArc / (this.o.max - this.o.min);
725        };
726
727        this.draw = function () {
728
729            var c = this.g,                 // context
730                a = this.angle(this.cv)    // Angle
731                , sat = this.startAngle     // Start angle
732                , eat = sat + a             // End angle
733                , sa, ea                    // Previous angles
734                , r = 1;
735
736            c.lineWidth = this.lineWidth;
737
738            c.lineCap = this.lineCap;
739
740            this.o.cursor
741                && (sat = eat - this.cursorExt)
742                && (eat = eat + this.cursorExt);
743
744            c.beginPath();
745                c.strokeStyle = this.o.bgColor;
746                c.arc(this.xy, this.xy, this.radius, this.endAngle, this.startAngle, true);
747            c.stroke();
748
749            if (this.o.displayPrevious) {
750                ea = this.startAngle + this.angle(this.v);
751                sa = this.startAngle;
752                this.o.cursor
753                    && (sa = ea - this.cursorExt)
754                    && (ea = ea + this.cursorExt);
755
756                c.beginPath();
757                    c.strokeStyle = this.pColor;
758                    c.arc(this.xy, this.xy, this.radius, sa, ea, false);
759                c.stroke();
760                r = (this.cv == this.v);
761            }
762
763            c.beginPath();
764                c.strokeStyle = r ? this.o.fgColor : this.fgColor ;
765                c.arc(this.xy, this.xy, this.radius, sat, eat, false);
766            c.stroke();
767        };
768
769        this.cancel = function () {
770            this.val(this.v);
771        };
772    };
773
774    $.fn.dial = $.fn.knob = function (o) {
775        return this.each(
776            function () {
777                var d = new k.Dial();
778                d.o = o;
779                d.$ = $(this);
780                d.run();
781            }
782        ).parent();
783    };
784
785})(jQuery);
786
787
788/*!
789 * jQuery imagesLoaded plugin v2.1.1
790 * http://github.com/desandro/imagesloaded
791 * MIT License. by Paul Irish et al.
792 */
793(function(a,b){var c="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==";a.fn.imagesLoaded=function(l){var i=this,n=a.isFunction(a.Deferred)?a.Deferred():0,m=a.isFunction(n.notify),f=i.find("img").add(i.filter("img")),g=[],k=[],h=[];if(a.isPlainObject(l)){a.each(l,function(o,p){if(o==="callback"){l=p}else{if(n){n[o](p)}}})}function j(){var o=a(k),p=a(h);
794if(n){if(h.length){n.reject(f,o,p)}else{n.resolve(f)}}if(a.isFunction(l)){l.call(i,f,o,p)}}function e(o){d(o.target,o.type==="error")}
794function d(o,p){if(o.src===c||a.inArray(o,g)!==-1){return}g.push(o);if(p){h.push(o)}else{k.push(o)}a.data(o,"imagesLoaded",{isBroken:p,src:o.src});if(m){n.notifyWith(a(o),[p,f,a(k),a(h)])}if(f.length===g.length){setTimeout(j);f.unbind(".imagesLoaded",e)}}if(!f.length){j()}else{f.bind("load.imagesLoaded error.imagesLoaded",e).each(function(o,q){var r=q.src;var p=a.data(q,"imagesLoaded");
795if(p&&p.src===r){d(q,p.isBroken);return}if(q.complete&&q.naturalWidth!==b){d(q,q.naturalWidth===0||q.naturalHeight===0);return}if(q.readyState||q.complete){q.src=c;q.src=r}})}return n?n.promise(i):i}})(jQuery);
796
797
798/*
799 * jQuery Superfish Menu Plugin - v1.7.4
800 * Copyright (c) 2013 Joel Birch
801 *
802 * Dual licensed under the MIT and GPL licenses:
803 *	http://www.opensource.org/licenses/mit-license.php
804 *	http://www.gnu.org/licenses/gpl.html
805 */
806
807;(function(e){"use strict";var s=function(){var s={bcClass:"sf-breadcrumb",menuClass:"sf-js-enabled",anchorClass:"sf-with-ul",menuArrowClass:"sf-arrows"},o=function(){var s=/iPhone|iPad|iPod/i.test(navigator.userAgent);return s&&e(window).load(function(){e("body").children().on("click",e.noop)}),s}(),n=function(){var e=document.documentElement.style;return"behavior"in e&&"fill"in e&&/iemobile/i.test(navigator.userAgent)}(),t=function(e,o){var n=s.menuClass;o.cssArrows&&(n+=" "+s.menuArrowClass),e.toggleClass(n)},i=function(o,n){return o.find("li."+n.pathClass).slice(0,n.pathLevels).addClass(n.hoverClass+" "+s.bcClass).filter(function(){return e(this).children(n.popUpSelector).hide().show().length}).removeClass(n.pathClass)},r=function(e){e.children("a").toggleClass(s.anchorClass)},a=function(e){var s=e.css("ms-touch-action");s="pan-y"===s?"auto":"pan-y",e.css("ms-touch-action",s)},l=function(s,t){var i="li:has("+t.popUpSelector+")";e.fn.hoverIntent&&!t.disableHI?s.hoverIntent(u,p,i):s.on("mouseenter.superfish",i,u).on("mouseleave.superfish",i,p);var r="MSPointerDown.superfish";o||(r+=" touchend.superfish"),n&&(r+=" mousedown.superfish"),s.on("focusin.superfish","li",u).on("focusout.superfish","li",p).on(r,"a",t,h)},h=function(s){var o=e(this),n=o.siblings(s.data.popUpSelector);n.length>0&&n.is(":hidden")&&(o.one("click.superfish",!1),"MSPointerDown"===s.type?o.trigger("focus"):e.proxy(u,o.parent("li"))())},u=function(){var s=e(this),o=d(s);clearTimeout(o.sfTimer),s.siblings().superfish("hide").end().superfish("show")},p=function(){var s=e(this),n=d(s);o?e.proxy(f,s,n)():(clearTimeout(n.sfTimer),n.sfTimer=setTimeout(e.proxy(f,s,n),n.delay))},f=function(s){s.retainPath=e.inArray(this[0],s.$path)>-1,this.superfish("hide"),this.parents("."+s.hoverClass).length||(s.onIdle.call(c(this)),s.$path.length&&e.proxy(u,s.$path)())},c=function(e){return e.closest("."+s.menuClass)},d=function(e){return c(e).data("sf-options")};return{hide:function(s){if(this.length){var o=this,n=d(o);if(!n)return this;var t=n.retainPath===!0?n.$path:"",i=o.find("li."+n.hoverClass).add(this).not(t).removeClass(n.hoverClass).children(n.popUpSelector),r=n.speedOut;s&&(i.show(),r=0),n.retainPath=!1,n.onBeforeHide.call(i),i.stop(!0,!0).animate(n.animationOut,r,function(){var s=e(this);n.onHide.call(s)})}return this},show:function(){var e=d(this);if(!e)return this;var s=this.addClass(e.hoverClass),o=s.children(e.popUpSelector);return e.onBeforeShow.call(o),o.stop(!0,!0).animate(e.animation,e.speed,function(){e.onShow.call(o)}),this},destroy:function(){return this.each(function(){var o,n=e(this),i=n.data("sf-options");return i?(o=n.find(i.popUpSelector).parent("li"),clearTimeout(i.sfTimer),t(n,i),r(o),a(n),n.off(".superfish").off(".hoverIntent"),o.children(i.popUpSelector).attr("style",function(e,s){return s.replace(/display[^;]+;?/g,"")}),i.$path.removeClass(i.hoverClass+" "+s.bcClass).addClass(i.pathClass),n.find("."+i.hoverClass).removeClass(i.hoverClass),i.onDestroy.call(n),n.removeData("sf-options"),void 0):!1})},init:function(o){return this.each(function(){var n=e(this);if(n.data("sf-options"))return!1;var h=e.extend({},e.fn.superfish.defaults,o),u=n.find(h.popUpSelector).parent("li");h.$path=i(n,h),n.data("sf-options",h),t(n,h),r(u),a(n),l(n,h),u.not("."+s.bcClass).superfish("hide",!0),h.onInit.call(this)})}}}();e.fn.superfish=function(o){return s[o]?s[o].apply(this,Array.prototype.slice.call(arguments,1
vendor: 5,279 bytes, lines 807-951
807)):"object"!=typeof o&&o?e.error("Method "+o+" does not exist on jQuery.fn.superfish"):s.init.apply(this,arguments)},e.fn.superfish.defaults={popUpSelector:"ul,.sf-mega",hoverClass:"sfHover",pathClass:"overrideThisToUse",pathLevels:1,delay:800,animation:{opacity:"show"},animationOut:{opacity:"hide"},speed:"normal",speedOut:"fast",cssArrows:!0,disableHI:!1,onInit:e.noop,onBeforeShow:e.noop,onShow:e.noop,onBeforeHide:e.noop,onHide:e.noop,onIdle:e.noop,onDestroy:e.noop},e.fn.extend({hideSuperfishUl:s.hide,showSuperfishUl:s.show})})(jQuery);
808
809/*
810 * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
811 
812*/
813
814// t: current time, b: begInnIng value, c: change In value, d: duration
815jQuery.easing['jswing'] = jQuery.easing['swing'];
816
817jQuery.extend( jQuery.easing,
818{
819	def: 'easeOutQuad',
820	swing: function (x, t, b, c, d) {
821		//alert(jQuery.easing.default);
822		return jQuery.easing[jQuery.easing.def](x, t, b, c, d);
823	},
824	easeInQuad: function (x, t, b, c, d) {
825		return c*(t/=d)*t + b;
826	},
827	easeOutQuad: function (x, t, b, c, d) {
828		return -c *(t/=d)*(t-2) + b;
829	},
830	easeInOutQuad: function (x, t, b, c, d) {
831		if ((t/=d/2) < 1) return c/2*t*t + b;
832		return -c/2 * ((--t)*(t-2) - 1) + b;
833	},
834	easeInCubic: function (x, t, b, c, d) {
835		return c*(t/=d)*t*t + b;
836	},
837	easeOutCubic: function (x, t, b, c, d) {
838		return c*((t=t/d-1)*t*t + 1) + b;
839	},
840	easeInOutCubic: function (x, t, b, c, d) {
841		if ((t/=d/2) < 1) return c/2*t*t*t + b;
842		return c/2*((t-=2)*t*t + 2) + b;
843	},
844	easeInQuart: function (x, t, b, c, d) {
845		return c*(t/=d)*t*t*t + b;
846	},
847	easeOutQuart: function (x, t, b, c, d) {
848		return -c * ((t=t/d-1)*t*t*t - 1) + b;
849	},
850	easeInOutQuart: function (x, t, b, c, d) {
851		if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
852		return -c/2 * ((t-=2)*t*t*t - 2) + b;
853	},
854	easeInQuint: function (x, t, b, c, d) {
855		return c*(t/=d)*t*t*t*t + b;
856	},
857	easeOutQuint: function (x, t, b, c, d) {
858		return c*((t=t/d-1)*t*t*t*t + 1) + b;
859	},
860	easeInOutQuint: function (x, t, b, c, d) {
861		if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
862		return c/2*((t-=2)*t*t*t*t + 2) + b;
863	},
864	easeInSine: function (x, t, b, c, d) {
865		return -c * Math.cos(t/d * (Math.PI/2)) + c + b;
866	},
867	easeOutSine: function (x, t, b, c, d) {
868		return c * Math.sin(t/d * (Math.PI/2)) + b;
869	},
870	easeInOutSine: function (x, t, b, c, d) {
871		return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
872	},
873	easeInExpo: function (x, t, b, c, d) {
874		return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;
875	},
876	easeOutExpo: function (x, t, b, c, d) {
877		return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
878	},
879	easeInOutExpo: function (x, t, b, c, d) {
880		if (t==0) return b;
881		if (t==d) return b+c;
882		if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
883		return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
884	},
885	easeInCirc: function (x, t, b, c, d) {
886		return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;
887	},
888	easeOutCirc: function (x, t, b, c, d) {
889		return c * Math.sqrt(1 - (t=t/d-1)*t) + b;
890	},
891	easeInOutCirc: function (x, t, b, c, d) {
892		if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;
893		return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
894	},
895	easeInElastic: function (x, t, b, c, d) {
896		var s=1.70158;var p=0;var a=c;
897		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
898		if (a < Math.abs(c)) { a=c; var s=p/4; }
899		else var s = p/(2*Math.PI) * Math.asin (c/a);
900		return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
901	},
902	easeOutElastic: function (x, t, b, c, d) {
903		var s=1.70158;var p=0;var a=c;
904		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
905		if (a < Math.abs(c)) { a=c; var s=p/4; }
906		else var s = p/(2*Math.PI) * Math.asin (c/a);
907		return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
908	},
909	easeInOutElastic: function (x, t, b, c, d) {
910		var s=1.70158;var p=0;var a=c;
911		if (t==0) return b;  if ((t/=d/2)==2) return b+c;  if (!p) p=d*(.3*1.5);
912		if (a < Math.abs(c)) { a=c; var s=p/4; }
913		else var s = p/(2*Math.PI) * Math.asin (c/a);
914		if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
915		return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
916	},
917	easeInBack: function (x, t, b, c, d, s) {
918		if (s == undefined) s = 1.70158;
919		return c*(t/=d)*t*((s+1)*t - s) + b;
920	},
921	easeOutBack: function (x, t, b, c, d, s) {
922		if (s == undefined) s = 1.70158;
923		return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
924	},
925	easeInOutBack: function (x, t, b, c, d, s) {
926		if (s == undefined) s = 1.70158; 
927		if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
928		return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
929	},
930	easeInBounce: function (x, t, b, c, d) {
931		return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b;
932	},
933	easeOutBounce: function (x, t, b, c, d) {
934		if ((t/=d) < (1/2.75)) {
935			return c*(7.5625*t*t) + b;
936		} else if (t < (2/2.75)) {
937			return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
938		} else if (t < (2.5/2.75)) {
939			return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
940		} else {
941			return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
942		}
943	},
944	easeInOutBounce: function (x, t, b, c, d) {
945		if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b;
946		return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b;
947	}
948});
949
950/*
951 *
952 * TERMS OF USE - EASING EQUATIONS
953 * 
954 * Open source under the BSD License. 
955 * 
956 * Copyright © 2001 Robert Penner
957 * All rights reserved.
958 * 
959 * Redistribution and use in source and binary forms, with or without modification, 
960 * are permitted provided that the following conditions are met:
961 * 
962 * Redistributions of source code must retain the above copyright notice, this list of 
963 * conditions and the following disclaimer.
964 * Redistributions in binary form must reproduce the above copyright notice, this list 
965 * of conditions and the following disclaimer in the documentation and/or other materials 
966 * provided with the distribution.
967 * 
968 * Neither the name of the author nor the names of contributors may be used to endorse 
969 * or promote products derived from this software without specific prior written permission.
970 * 
971 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 
972 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
973 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
974 *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
975 *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
976 *  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
977 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
978 *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 
979 * OF THE POSSIBILITY OF SUCH DAMAGE. 
980 *
981 */
982 
983 // usage: log('inside coolFunc', this, arguments);
984// paulirish.com/2009/log-a-lightweight-wrapper-for-consolelog/
985window.log = function f(){ log.history = log.history || []; log.history.push(arguments); if(this.console) { var args = arguments, newarr; args.callee = args.callee.caller; newarr = [].slice.call(args); if (typeof console.log === 'object') log.apply.call(console.log, console, newarr); else console.log.apply(console, newarr);}};
986
987// make it safe to use console.log always
988(function(a){function b(){}for(var c="assert,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profileEnd,time,timeEnd,trace,warn".split(","),d;!!(d=c.pop());){a[d]=a[d]||b;}})
989(function(){try{console.log();return window.console;}catch(a){return (window.console={});}}());
990
991/**
992 * jQuery.browser.mobile (http://detectmobilebrowser.com/)
993 *
994 * jQuery.browser.mobile will be true if the browser is a mobile device
995 *
996 **/
997(function(a){(jQuery.browser=jQuery.browser||{}).mobile=/(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 )|
997sy(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))})(navigator.userAgent||navigator.vendor||window.opera);
998
999
1000/*
1001 * jQuery throttle / debounce - v1.1 - 3/7/2010
1002 * http://benalman.com/projects/jquery-throttle-debounce-plugin/
1003 * Copyright (c) 2010 "Cowboy" Ben Alman
1004 * Dual licensed under the MIT and GPL licenses.
1005 * http://benalman.com/about/license/
1006 */
1007(function(b,c){var $=b.jQuery||b.Cowboy||(b.Cowboy={}),a;$.throttle=a=function(e,f,j,i){var h,d=0;if(typeof f!=="boolean"){i=j;j=f;f=c}function g(){var o=this,m=+new Date()-d,n=arguments;function l(){d=+new Date();j.apply(o,n)}function k(){h=c}if(i&&!h){l()}h&&clearTimeout(h);if(i===c&&m>e){l()}else{if(f!==true){h=setTimeout(i?k:l,i===c?e-m:e)}}}if($.guid){g.guid=j.guid=j.guid||$.guid++}return g};$.debounce=function(d,e,f){return f===c?a(d,e,false):a(d,f,e!==false)}})(this);
1008
1009/*
1010 * hoverIntent r7 // 2013.03.11 // jQuery 1.9.1+
1011 * http://cherne.net/brian/resources/jquery.hoverIntent.html
1012 */
1013(function(a){a.fn.hoverIntent=function(m,d,h){var j={interval:100,sensitivity:7,timeout:0};if(typeof m==="object"){j=a.extend(j,m)}else{if(a.isFunction(d)){j=a.extend(j,{over:m,out:d,selector:h})}else{j=a.extend(j,{over:m,out:m,selector:d})}}var l,k,g,f;var e=function(n){l=n.pageX;k=n.pageY};var c=function(o,n){n.hoverIntent_t=clearTimeout(n.hoverIntent_t);if((Math.abs(g-l)+Math.abs(f-k))<j.sensitivity){a(n).off("mousemove.hoverIntent",e);n.hoverIntent_s=1;return j.over.apply(n,[o])}else{g=l;f=k;
1014n.hoverIntent_t=setTimeout(function(){c(o,n)},j.interval)}};var i=function(o,n){n.hoverIntent_t=clearTimeout(n.hoverIntent_t);n.hoverIntent_s=0;return j.out.apply(n,[o])};var b=function(p){var o=jQuery.extend({},p);var n=this;if(n.hoverIntent_t){n.hoverIntent_t=clearTimeout(n.hoverIntent_t)}if(p.type=="mouseenter"){g=o.pageX;f=o.pageY;a(n).on("mousemove.hoverIntent",e);if(n.hoverIntent_s!=1){n.hoverIntent_t=setTimeout(function(){c(o,n)},j.interval)}}else{a(n).off("mousemove.hoverIntent",e);if(n.hoverIntent_s==1){n.hoverIntent_t=setTimeout(function(){i(o,n)
1015},j.timeout)}}};return this.on({"mouseenter.hoverIntent":b,"mouseleave.hoverIntent":b},j.selector)}})(jQuery);
1016
1017/**
1018 * Copyright (c) 2007-2012 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
1019 * Dual licensed under MIT and GPL.
1020 * @author Ariel Flesler
1021 * @version 1.4.3.1
1022 */
1023;(function($){var h=$.scrollTo=function(a,b,c){$(window).scrollTo(a,b,c)};h.defaults={axis:'xy',duration:parseFloat($.fn.jquery)>=1.3?0:1,limit:true};h.window=function(a){return $(window)._scrollable()};$.fn._scrollable=function(){return this.map(function(){var a=this,isWin=!a.nodeName||$.inArray(a.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!isWin)return a;var b=(a.contentWindow||a).document||a.ownerDocument||a;return/webkit/i.test(navigator.userAgent)||b.compatMode=='BackCompat'?b.body:b.documentElement})};$.fn.scrollTo=function(e,f,g){if(typeof f=='object'){g=f;f=0}if(typeof g=='function')g={onAfter:g};if(e=='max')e=9e9;g=$.extend({},h.defaults,g);f=f||g.duration;g.queue=g.queue&&g.axis.length>1;if(g.queue)f/=2;g.offset=both(g.offset);g.over=both(g.over);return this._scrollable().each(function(){if(e==null)return;var d=this,$elem=$(d),targ=e,toff,attr={},win=$elem.is('html,body');switch(typeof targ){case'number':case'string':if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(targ)){targ=both(targ);break}targ=$(targ,this);if(!targ.length)return;case'object':if(targ.is||targ.style)toff=(targ=$(targ)).offset()}$.each(g.axis.split(''),function(i,a){var b=a=='x'?'Left':'Top',pos=b.toLowerCase(),key='scroll'+b,old=d[key],max=h.max(d,a);if(toff){attr[key]=toff[pos]+(win?0:old-$elem.offset()[pos]);if(g.margin){attr[key]-=parseInt(targ.css('margin'+b))||0;attr[key]-=parseInt(targ.css('border'+b+'Width'))||0}attr[key]+=g.offset[pos]||0;if(g.over[pos])attr[key]+=targ[a=='x'?'width':'height']()*g.over[pos]}else{var c=targ[pos];attr[key]=c.slice&&c.slice(-1)=='%'?parseFloat(c)/100*max:c}if(g.limit&&/^\d+$/.test(attr[key]))attr[key]=attr[key]<=0?0:Math.min(attr[key],max);if(!i&&g.queue){if(old!=attr[key])animate(g.onAfterFirst);delete attr[key]}});animate(g.onAfter);function animate(a){$elem.animate(attr,f,g.easing,a&&function(){a.call(this,e,g)})}}).end()};h.max=function(a,b){var c=b=='x'?'Width':'Height',scroll='scroll'+c;if(!$(a).is('html,body'))return a[scroll]-$(a)[c.toLowerCase()]();var d='client'+c,html=a.ownerDocument.documentElement,body=a.ownerDocument.body;return Math.max(html[scroll],body[scroll])-Math.min(html[d],body[d])};function both(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery);
1024
1025
1026// Sticky Plugin v1.0.0 for jQuery
1027// =============
1028// Author: Anthony Garand
1029// Improvements by German M. Bravo (Kronuz) and Ruud Kamphuis (ruudk)
1030// Improvements by Leonardo C. Daronco (daronco)
1031// Created: 2/14/2011
1032// Date: 2/12/2012
1033// Website: http://labs.anthonygarand.com/sticky
1034// Description: Makes an element on the page stick on the screen as you scroll
1035//       It will only set the 'top' and 'position' of your element, you
1036//       might need to adjust the width in some cases.
1037
1038(function($) {
1039  var defaults = {
1040      topSpacing: 0,
1041      bottomSpacing: 0,
1042      className: 'is-sticky',
1043      wrapperClassName: 'sticky-wrapper',
1044      center: false,
1045      getWidthFrom: ''
1046    },
1047    $window = $(window),
1048    $document = $(document),
1049    sticked = [],
1050    windowHeight = $window.height(),
1051    scroller = function() {
1052      var scrollTop = $window.scrollTop(),
1053        documentHeight = $document.height(),
1054        dwh = documentHeight - windowHeight,
1055        extra = (scrollTop > dwh) ? dwh - scrollTop : 0;
1056
1057      for (var i = 0; i < sticked.length; i++) {
1058        var s = sticked[i],
1059          elementTop = s.stickyWrapper.offset().top,
1060          etse = elementTop - s.topSpacing - extra;
1061
1062        if (scrollTop <= etse) {
1063          if (s.currentTop !== null) {
1064            s.stickyElement
1065              .css('position', '')
1066              .css('top', '');
1067            s.stickyElement.parent().removeClass(s.className);
1068            s.currentTop = null;
1069          }
1070        }
1071        else {
1072          var newTop = documentHeight - s.stickyElement.outerHeight()
1073            - s.topSpacing - s.bottomSpacing - scrollTop - extra;
1074          if (newTop < 0) {
1075            newTop = newTop + s.topSpacing;
1076          } else {
1077            newTop = s.topSpacing;
1078          }
1079          if (s.currentTop != newTop) {
1080            s.stickyElement
1081              .css('position', 'fixed')
1082              .css('top', newTop);
1083
1084            if (typeof s.getWidthFrom !== 'undefined') {
1085              s.stickyElement.css('width', $(s.getWidthFrom).width());
1086            }
1087
1088            s.stickyElement.parent().addClass(s.className);
1089            s.currentTop = newTop;
1090          }
1091        }
1092      }
1093    },
1094    resizer = function() {
1095      windowHeight = $window.height();
1096    },
1097    methods = {
1098      init: function(options) {
1099        var o = $.extend(defaults, options);
1100        return this.each(function() {
1101          var stickyElement = $(this);
1102
1103          var stickyId = stickyElement.attr('id');
1104          var wrapper = $('<div></div>')
1105            .attr('id', stickyId + '-sticky-wrapper')
1106            .addClass(o.wrapperClassName);
1107          stickyElement.wrapAll(wrapper);
1108
1109          if (o.center) {
1110            stickyElement.parent().css({width:stickyElement.outerWidth(),marginLeft:"auto",marginRight:"auto"});
1111          }
1112
1113          if (stickyElement.css("float") == "right") {
1114            stickyElement.css({"float":"none"}).parent().css({"float":"right"});
1115          }
1116
1117          var stickyWrapper = stickyElement.parent();
1118          stickyWrapper.css('height', stickyElement.outerHeight());
1119          sticked.push({
1120            topSpacing: o.topSpacing,
1121            bottomSpacing: o.bottomSpacing,
1122            stickyElement: stickyElement,
1123            currentTop: null,
1124            stickyWrapper: stickyWrapper,
1125            className: o.className,
1126            getWidthFrom: o.getWidthFrom
1127          });
1128        });
1129      },
1130      update: scroller
1131    };
1132
1133  // should be more efficient than using $window.scroll(scroller) and $window.resize(resizer):
1134  if (window.addEventListener) {
1135    window.addEventListener('scroll', scroller, false);
1136    window.addEventListener('resize', resizer, false);
1137  } else if (window.attachEvent) {
1138    window.attachEvent('onscroll', scroller);
1139    window.attachEvent('onresize', resizer);
1140  }
1141
1142  $.fn.sticky = function(method) {
1143    if (methods[method]) {
1144      return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
1145    } else if (typeof method === 'object' || !method ) {
1146      return methods.init.apply( this, arguments );
1147    } else {
1148      $.error('Method ' + method + ' does not exist on jQuery.sticky');
1149    }
1150  };
1151  $(function() {
1152    setTimeout(scroller, 0);
1153  });
1154})(jQuery);
1155
1156/*
1157* Copyright (C) 2009 Joel Sutherland
1158* Licenced under the MIT license
1159* http://www.newmediacampaigns.com/page/jquery-flickr-plugin
1160*
1161* Available tags for templates:
1162* title, link, date_taken, description, published, author, author_id, tags, image*
1163*/
1164(function($){$.fn.jflickrfeed=function(settings,callback){settings=$.extend(true,{flickrbase:'http://api.flickr.com/services/feeds/',feedapi:'photos_public.gne',limit:20,qstrings:{lang:'en-us',format:'json',jsoncallback:'?'},cleanDescription:true,useTemplate:true,itemTemplate:'',itemCallback:function(){}},settings);var url=settings.flickrbase+settings.feedapi+'?';var first=true;for(var key in settings.qstrings){if(!first)
1165url+='&';url+=key+'='+settings.qstrings[key];first=false;}
1166return $(this).each(function(){var $container=$(this);var container=this;$.getJSON(url,function(data){$.each(data.items,function(i,item){if(i<settings.limit){if(settings.cleanDescription){var regex=/<p>(.*?)<\/p>/g;var input=item.description;if(regex.test(input)){item.description=input.match(regex)[2]
1167if(item.description!=undefined)
1168item.description=item.description.replace('<p>','').replace('</p>','');}}
1169item['image_s']=item.media.m.replace('_m','_s');item['image_t']=item.media.m.replace('_m','_t');item['image_m']=item.media.m.replace('_m','_m');item['image']=item.media.m.replace('_m','');item['image_b']=item.media.m.replace('_m','_b');delete item.media;if(settings.useTemplate){var template=settings.itemTemplate;for(var key in item){var rgx=new RegExp('{{'+key+'}}','g');template=template.replace(rgx,item[key]);}
1170$container.append(template)}
1171settings.itemCallback.call(container,item);}});if($.isFunction(callback)){callback.call(container,data);}});});}})(jQuery);
1172
1173
1174
1175/**
1176 * Isotope v1.5.25
1177 * An exquisite jQuery plugin for magical layouts
1178 * http://isotope.metafizzy.co
1179 *
1180 * Commercial use requires one-time license fee
1181 * http://metafizzy.co/#licenses
1182 *
1183 * Copyright 2012 David DeSandro / Metafizzy
1184 */
1185(function(a,b,c){"use strict";var d=a.document,e=a.Modernizr,f=function(a){return a.charAt(0).toUpperCase()+a.slice(1)},g="Moz Webkit O Ms".split(" "),h=function(a){var b=d.documentElement.style,c;if(typeof b[a]=="string")return a;a=f(a);for(var e=0,h=g.length;e<h;e++){c=g[e]+a;if(typeof b[c]=="string")return c}},i=h("transform"),j=h("transitionProperty"),k={csstransforms:function(){return!!i},csstransforms3d:function(){var a=!!h("perspective");if(a){var c=" -o- -moz- -ms- -webkit- -khtml- ".split(" "),d="@media ("+c.join("transform-3d),(")+"modernizr)",e=b("<style>"+d+"{#modernizr{height:3px}}"+"</style>").appendTo("head"),f=b('<div id="modernizr" />').appendTo("html");a=f.height()===3,f.remove(),e.remove()}return a},csstransitions:function(){return!!j}},l;if(e)for(l in k)e.hasOwnProperty(l)||e.addTest(l,k[l]);else{e=a.Modernizr={_version:"1.6ish: miniModernizr for Isotope"};var m=" ",n;for(l in k)n=k[l](),e[l]=n,m+=" "+(n?"":"no-")+l;b("html").addClass(m)}if(e.csstransforms){var o=e.csstransforms3d?{translate:function(a){return"translate3d("+a[0]+"px, "+a[1]+"px, 0) "},scale:function(a){return"scale3d("+a+", "+a+", 1) "}}:{translate:function(a){return"translate("+a[0]+"px, "+a[1]+"px) "},scale:function(a){return"scale("+a+") "}},p=function(a,c,d){var e=b.data(a,"isoTransform")||{},f={},g,h={},j;f[c]=d,b.extend(e,f);for(g in e)j=e[g],h[g]=o[g](j);var k=h.translate||"",l=h.scale||"",m=k+l;b.data(a,"isoTransform",e),a.style[i]=m};b.cssNumber.scale=!0,b.cssHooks.scale={set:function(a,b){p(a,"scale",b)},get:function(a,c){var d=b.data(a,"isoTransform");return d&&d.scale?d.scale:1}},b.fx.step.scale=function(a){b.cssHooks.scale.set(a.elem,a.now+a.unit)},b.cssNumber.translate=!0,b.cssHooks.translate={set:function(a,b){p(a,"translate",b)},get:function(a,c){var d=b.data(a,"isoTransform");return d&&d.translate?d.translate:[0,0]}}}var q,r;e.csstransitions&&(q={WebkitTransitionProperty:"webkitTransitionEnd",MozTransitionProperty:"transitionend",OTransitionProperty:"oTransitionEnd otransitionend",transitionProperty:"transitionend"}[j],r=h("transitionDuration"));var s=b.event,t=b.event.handle?"handle":"dispatch",u;s.special.smartresize={setup:function(){b(this).bind("resize",s.special.smartresize.handler)},teardown:function(){b(this).unbind("resize",s.special.smartresize.handler)},handler:function(a,b){var c=this,d=arguments;a.type="smartresize",u&&clearTimeout(u),u=setTimeout(function(){s[t].apply(c,d)},b==="execAsap"?0:100)}},b.fn.smartresize=function(a){return a?this.bind("smartresize",a):this.trigger("smartresize",["execAsap"])},b.Isotope=function(a,c,d){this.element=b(c),this._create(a),this._init(d)};var v=["width","height"],w=b(a);b.Isotope.settings={resizable:!0,layoutMode:"masonry",containerClass:"isotope",itemClass:"isotope-item",hiddenClass:"isotope-hidden",hiddenStyle:{opacity:0,scale:.001},visibleStyle:{opacity:1,scale:1}
vendor: 12,310 bytes, line 1185
1185,containerStyle:{position:"relative",overflow:"hidden"},animationEngine:"best-available",animationOptions:{queue:!1,duration:800},sortBy:"original-order",sortAscending:!0,resizesContainer:!0,transformsEnabled:!0,itemPositionDataEnabled:!1},b.Isotope.prototype={_create:function(a){this.options=b.extend({},b.Isotope.settings,a),this.styleQueue=[],this.elemCount=0;var c=this.element[0].style;this.originalStyle={};var d=v.slice(0);for(var e in this.options.containerStyle)d.push(e);for(var f=0,g=d.length;f<g;f++)e=d[f],this.originalStyle[e]=c[e]||"";this.element.css(this.options.containerStyle),this._updateAnimationEngine(),this._updateUsingTransforms();var h={"original-order":function(a,b){return b.elemCount++,b.elemCount},random:function(){return Math.random()}};this.options.getSortData=b.extend(this.options.getSortData,h),this.reloadItems(),this.offset={left:parseInt(this.element.css("padding-left")||0,10),top:parseInt(this.element.css("padding-top")||0,10)};var i=this;setTimeout(function(){i.element.addClass(i.options.containerClass)},0),this.options.resizable&&w.bind("smartresize.isotope",function(){i.resize()}),this.element.delegate("."+this.options.hiddenClass,"click",function(){return!1})},_getAtoms:function(a){var b=this.options.itemSelector,c=b?a.filter(b).add(a.find(b)):a,d={position:"absolute"};return c=c.filter(function(a,b){return b.nodeType===1}),this.usingTransforms&&(d.left=0,d.top=0),c.css(d).addClass(this.options.itemClass),this.updateSortData(c,!0),c},_init:function(a){this.$filteredAtoms=this._filter(this.$allAtoms),this._sort(),this.reLayout(a)},option:function(a){if(b.isPlainObject(a)){this.options=b.extend(!0,this.options,a);var c;for(var d in a)c="_update"+f(d),this[c]&&this[c]()}},_updateAnimationEngine:function(){var a=this.options.animationEngine.toLowerCase().replace(/[ _\-]/g,""),b;switch(a){case"css":case"none":b=!1;break;case"jquery":b=!0;break;default:b=!e.csstransitions}this.isUsingJQueryAnimation=b,this._updateUsingTransforms()},_updateTransformsEnabled:function(){this._updateUsingTransforms()},_updateUsingTransforms:function(){var a=this.usingTransforms=this.options.transformsEnabled&&e.csstransforms&&e.csstransitions&&!this.isUsingJQueryAnimation;a||(delete this.options.hiddenStyle.scale,delete this.options.visibleStyle.scale),this.getPositionStyles=a?this._translate:this._positionAbs},_filter:function(a){var b=this.options.filter===""?"*":this.options.filter;if(!b)return a;var c=this.options.hiddenClass,d="."+c,e=a.filter(d),f=e;if(b!=="*"){f=e.filter(b);var g=a.not(d).not(b).addClass(c);this.styleQueue.push({$el:g,style:this.options.hiddenStyle})}return this.styleQueue.push({$el:f,style:this.options.visibleStyle}),f.removeClass(c),a.filter(b)},updateSortData:function(a,c){var d=this,e=this.options.getSortData,f,g;a.each(function(){f=b(this),g={};for(var a in e)!c&&a==="original-order"?g[a]=b.data(this,"isotope-sort-data")[a]:g[a]=e[a](f,d);b.data(this,"isotope-sort-data",g)})},_sort:function(){var a=this.options.sortBy,b=this._getSorter,c=this.options.sortAscending?1:-1,d=function(d,e){var f=b(d,a),g=b(e,a);return f===g&&a!=="original-order"&&(f=b(d,"original-order"),g=b(e,"original-order")),(f>g?1:f<g?-1:0)*c};this.$filteredAtoms.sort(d)},_getSorter:function(a,c){return b.data(a,"isotope-sort-data")[c]},_translate:function(a,b){return{translate:[a,b]}},_positionAbs:function(a,b){return{left:a,top:b}},_pushPosition:function(a,b,c){b=Math.round(b+this.offset.left),c=Math.round(c+this.offset.top);var d=this.getPositionStyles(b,c);this.styleQueue.push({$el:a,style:d}),this.options.itemPositionDataEnabled&&a.data("isotope-item-position",{x:b,y:c})},layout:function(a,b){var c=this.options.layoutMode;this["_"+c+"Layout"](a);if(this.options.resizesContainer){var d=this["_"+c+"GetContainerSize"]();this.styleQueue.push({$el:this.element,style:d})}this._processStyleQueue(a,b),this.isLaidOut=!0},_processStyleQueue:function(a,c){var d=this.isLaidOut?this.isUsingJQueryAnimation?"animate":"css":"css",f=this.options.animationOptions,g=this.options.onLayout,h,i,j,k;i=function(a,b){b.$el[d](b.style,f)};if(this._isInserting&&this.isUsingJQueryAnimation)i=function(a,b){h=b.$el.hasClass("no-transition")?"css":d,b.$el[h](b.style,f)};else if(c||g||f.complete){var l=!1,m=[c,g,f.complete],n=this;j=!0,k=function(){if(l)return;var b;for(var c=0,d=m.length;c<d;c++)b=m[c],typeof b=="function"&&b.call(n.element,a,n);l=!0};if(this.isUsingJQueryAnimation&&d==="animate")f.complete=k,j=!1;else if(e.csstransitions){var o=0,p=this.styleQueue[0],s=p&&p.$el,t;while(!s||!s.length){t=this.styleQueue[o++];if(!t)return;s=t.$el}var u=parseFloat(getComputedStyle(s[0])[r]);u>0&&(i=function(a,b){b.$el[d](b.style,f).one(q,k)},j=!1)}}b.each(this.styleQueue,i),j&&k(),this.styleQueue=[]},resize:function(){this["_"+this.options.layoutMode+"ResizeChanged"]()&&this.reLayout()},reLayout:function(a){this["_"+this.options.layoutMode+"Reset"](),this.layout(this.$filteredAtoms,a)},addItems:function(a,b){var c=this._getAtoms(a);this.$allAtoms=this.$allAtoms.add(c),b&&b(c)},insert:function(a,b){this.element.append(a);var c=this;this.addItems(a,function(a){var d=c._filter(a);c._addHideAppended(d),c._sort(),c.reLayout(),c._revealAppended(d,b)})},appended:function(a,b){var c=this;this.addItems(a,function(a){c._addHideAppended(a),c.layout(a),c._revealAppended(a,b)})},_addHideAppended:function(a){this.$filteredAtoms=this.$filteredAtoms.add(a),a.addClass("no-transition"),this._isInserting=!0,this.styleQueue.push({$el:a,style:this.options.hiddenStyle})},_revealAppended:function(a,b){var c=this;setTimeout(function(){a.removeClass("no-transition"),c.styleQueue.push({$el:a,style:c.options.visibleStyle}),c._isInserting=!1,c._processStyleQueue(a,b)},10)},reloadItems:function(){this.$allAtoms=this._getAtoms(this.element.children())},remove:function(a,b){this.$allAtoms=this.$allAtoms.not(a),this.$filteredAtoms=this.$filteredAtoms.not(a);var c=this,d=function(){a.remove(),b&&b.call(c.element)};a.filter(":not(."+this.options.hiddenClass+")").length?(this.styleQueue.push({$el:a,style:this.options.hiddenStyle}),this._sort(),this.reLayout(d)):d()},shuffle:function(a){this.updateSortData(this.$allAtoms),this.options.sortBy="random",this._sort(),this.reLayout(a)},destroy:function(){var a=this.usingTransforms,b=this.options;this.$allAtoms.removeClass(b.hiddenClass+" "+b.itemClass).each(function(){var b=this.style;b.position="",b.top="",b.left="",b.opacity="",a&&(b[i]="")});var c=this.element[0].style;for(var d in this.originalStyle)c[d]=this.originalStyle[d];this.element.unbind(".isotope").undelegate("."+b.hiddenClass,"click").removeClass(b.containerClass).removeData("isotope"),w.unbind(".isotope")},_getSegments:function(a){var b=this.options.layoutMode,c=a?"rowHeight":"columnWidth",d=a?"height":"width",e=a?"rows":"cols",g=this.element[d](),h,i=this.options[b]&&this.options[b][c]||this.$filteredAtoms["outer"+f(d)](!0)||g;h=Math.floor(g/i),h=Math.max(h,1),this[b][e]=h,this[b][c]=i},_checkIfSegmentsChanged:function(a){var b=this.options.layoutMode,c=a?"rows":"cols",d=this[b][c];return this._getSegments(a),this[b][c]!==d},_masonryReset:function(){this.masonry={},this._getSegments();var a=this.masonry.cols;this.masonry.colYs=[];while(a--)this.masonry.colYs.push(0)},_masonryLayout:function(a){var c=this,d=c.masonry;a.each(function(){var a=b(this),e=Math.ceil(a.outerWidth(!0)/d.columnWidth);e=Math.min(e,d.cols);if(e===1)c._masonryPlaceBrick(a,d.colYs);else{var f=d.cols+1-e,g=[],h,i;for(i=0;i<f;i++)h=d.colYs.slice(i,i+e),g[i]=Math.max.apply(Math,h);c._masonryPlaceBrick(a,g)}})},_masonryPlaceBrick:function(a,b){var c=Math.min.apply(Math,b),d=0;for(var e=0,f=b.length;e<f;e++)if(b[e]===c){d=e;break}var g=this.masonry.columnWidth*d,h=c;this._pushPosition(a,g,h);var i=c+a.outerHeight(!0),j=this.masonry.cols+1-f;for(e=0;e<j;e++)this.masonry.colYs[d+e]=i},_masonryGetContainerSize:function(){var a=Math.max.apply(Math,this.masonry.colYs);return{height:a}},_masonryResizeChanged:function(){return this._checkIfSegmentsChanged()},_fitRowsReset:function(){this.fitRows={x:0,y:0,height:0}},_fitRowsLayout:function(a){var c=this,d=this.element.width(),e=this.fitRows;a.each(function(){var a=b(this),f=a.outerWidth(!0),g=a.outerHeight(!0);e.x!==0&&f+e.x>d&&(e.x=0,e.y=e.height),c._pushPosition(a,e.x,e.y),e.height=Math.max(e.y+g,e.height),e.x+=f})},_fitRowsGetContainerSize:function(){return{height:this.fitRows.height}},_fitRowsResizeChanged:function(){return!0},_cellsByRowReset:function(){this.cellsByRow={index:0},this._getSegments(),this._getSegments(!0)},_cellsByRowLayout:function(a){var c=this,d=this.cellsByRow;a.each(function(){var a=b(this),e=d.index%d.cols,f=Math.floor(d.index/d.cols),g=(e+.5)*d.columnWidth-a.outerWidth(!0)/2,h=(f+.5)*d.rowHeight-a.outerHeight(!0)/2;c._pushPosition(a,g,h),d.index++})},_cellsByRowGetContainerSize:function(){return{height:Math.ceil(this.$filteredAtoms.length/this.cellsByRow.cols)*this.cellsByRow.rowHeight+this.offset.top}},_cellsByRowResizeChanged:function(){return this._checkIfSegmentsChanged()},_straightDownReset:function(){this.straightDown={y:0}},_straightDownLayout:function(a){var c=this;a.each(function(a){var d=b(this);c._pushPosition(d,0,c.straightDown.y),c.straightDown.y+=d.outerHeight(!0)})},_straightDownGetContainerSize:function(){return{height:this.straightDown.y}},_straightDownResizeChanged:function(){return!0},_masonryHorizontalReset:function(){this.masonryHorizontal={},this._getSegments(!0);var a=this.masonryHorizontal.rows;this.masonryHorizontal.rowXs=[];while(a--)this.masonryHorizontal.rowXs.push(0)},_masonryHorizontalLayout:function(a){var c=this,d=c.masonryHorizontal;a.each(function(){var a=b(this),e=Math.ceil(a.outerHeight(!0)/d.rowHeight);e=Math.min(e,d.rows);if(e===1)c._masonryHorizontalPlaceBrick(a,d.rowXs);else{var f=d.rows+1-e,g=[],h,i;for(i=0;i<f;i++)h=d.rowXs.slice(i,i+e),g[i]=Math.max.apply(Math,h);c._masonryHorizontalPlaceBrick(a,g)}})},_masonryHorizontalPlaceBrick:function(a,b){var c=Math.min.apply(Math,b),d=0;for(var e=0,f=b.length;e<f;e++)if(b[e]===c){d=e;break}var g=c,h=this.masonryHorizontal.rowHeight*d;this._pushPosition(a,g,h);var i=c+a.outerWidth(!0),j=this.masonryHorizontal.rows+1-f;for(e=0;e<j;e++)this.masonryHorizontal.rowXs[d+e]=i},_masonryHorizontalGetContainerSize:function(){var a=Math.max.apply(Math,this.masonryHorizontal.rowXs);return{width:a}},_masonryHorizontalResizeChanged:function(){return this._checkIfSegmentsChanged(!0)},_fitColumnsReset:function(){this.fitColumns={x:0,y:0,width:0}},_fitColumnsLayout:function(a){var c=this,d=this.element.height(),e=this.fitColumns;a.each(function(){var a=b(this),f=a.outerWidth(!0),g=a.outerHeight(!0);e.y!==0&&g+e.y>d&&(e.x=e.width,e.y=0),c._pushPosition(a,e.x,e.y),e.width=Math.max(e.x+f,e.width),e.y+=g})},_fitColumnsGetContainerSize:function(){return{width:this.fitColumns.width}},_fitColumnsResizeChanged:function(){return!0},_cellsByColumnReset:function(){this.cellsByColumn={index:0},this._getSegments(),this._getSegments(!0)},_cellsByColumnLayout:function(a){var c=this,d=this.cellsByColumn;a.each(function(){var a=b(this),e=Math.floor(d.index/d.rows),f=d.index%d.rows,g=(e+.5)*d.columnWidth-a.outerWidth(!0)/2,h=(f+.5)*d.rowHeight-a.outerHeight(!0)/2;c._pushPosition(a,g,h),d.index++})},_cellsByColumnGetContainerSize:function(){return{width:Math.ceil(this.$filteredAtoms.length/this.cellsByColumn.rows)*this.cellsByColumn.columnWidth}},_cellsByColumnResizeChanged:function(){return this._checkIfSegmentsChanged(!0)},_straightAcrossReset:function(){this.straightAcross={x:0}},_straightAcrossLayout:function(a){var c=this;a.each(function(a){var d=b(this);c._pushPosition(d,c.straightAcross.x,0),c.straightAcross.x+=d.outerWidth(!0)})},_straightAcrossGetContainerSize:function(){return{width:this.straightAcross.x}},_straightAcrossResizeChanged:function(){return!0}},b.fn.imagesLoaded=function(a){function h(){a.call(c,d)}function i(a){var c=a.target;c.src!==f&&b.inArray(c,g)===-1&&(g.push(c),--e<=0&&(setTimeout(h),d.unbind(".imagesLoaded",i)))}var c=this,d=c.find("img").add(c.filter("img")),e=d.length,f="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==",g=[];return e||h(),d.bind("load.imagesLoaded error.imagesLoaded",i).each(function(){var a=this.src;this.src=f,this.src=a}),c};var x=function(b){a.console&&a.console.error(b)};
1185b.fn.isotope=function(a,c){if(typeof a=="string"){var d=Array.prototype.slice.call(arguments,1);this.each(function(){var c=b.data(this,"isotope");if(!c){x("cannot call methods on isotope prior to initialization; attempted to call method '"+a+"'");return}if(!b.isFunction(c[a])||a.charAt(0)==="_"){x("no such method '"+a+"' for isotope instance");return}c[a].apply(c,d)})}else this.each(function(){var d=b.data(this,"isotope");d?(d.option(a),d._init(c)):b.data(this,"isotope",new b.Isotope(a,this,c))});return this}})(window,jQuery);
1186
1187/*
1188 * Isotope custom layout mode that extends masonry in order to work with percentage-sized columns
1189 */
1190
1191(function(window, $) {
1192	$.extend($.Isotope.prototype, {
1193		_sloppyMasonryReset : function() {
1194			// layout-specific props
1195			var containerSize = this.element.width(),
1196				segmentSize = this.options.sloppyMasonry && this.options.sloppyMasonry.columnWidth ||
1197				// or use the size of the first item, i.e. outerWidth
1198				this.$filteredAtoms.outerWidth(true) ||
1199				// if there's no items, use size of container
1200				containerSize;
1201			this.sloppyMasonry = {
1202				cols : Math.round(containerSize / segmentSize),
1203				columnWidth : segmentSize
1204			};
1205			var i = this.sloppyMasonry.cols;
1206			this.sloppyMasonry.colYs = [];
1207			while (i--) {
1208				this.sloppyMasonry.colYs.push(0);
1209			}
1210		},
1211		_sloppyMasonryLayout : function($elems) {
1212			var instance = this, props = instance.sloppyMasonry;
1213			$elems.each(function() {
1214				var $this = $(this),
1215				// how many columns does this brick span
1216				colSpan = Math.round($this.outerWidth(true) / props.columnWidth);
1217				colSpan = Math.min(colSpan, props.cols);
1218				if (colSpan === 1) {
1219					// if brick spans only one column,
1220					// just like singleMode
1221					instance._sloppyMasonryPlaceBrick($this, props.colYs);
1222				} else {
1223					// brick spans more than one column
1224					// how many different places could
1225					// this brick fit horizontally
1226					var groupCount = props.cols + 1 - colSpan, groupY = [], groupColY, i;
1227
1228					// for each group potential
1229					// horizontal position
1230					for (i = 0; i < groupCount; i++) {
1231						// make an array of colY values
1232						// for that one group
1233						groupColY = props.colYs.slice(i, i + colSpan);
1234						// and get the max value of the
1235						// array
1236						groupY[i] = Math.max.apply(Math, groupColY);
1237					}
1238
1239					instance._sloppyMasonryPlaceBrick($this, groupY);
1240				}
1241			});
1242		},
1243		_sloppyMasonryPlaceBrick : function($brick, setY) {
1244			// get the minimum Y value from the columns
1245			var minimumY = Math.min.apply(Math, setY), shortCol = 0;
1246
1247			// Find index of short column, the first from the left
1248			for ( var i = 0, len = setY.length; i < len; i++) {
1249				if (setY[i] === minimumY) {
1250					shortCol = i;
1251					break;
1252				}
1253			}
1254
1255			// position the brick
1256			var x = this.sloppyMasonry.columnWidth * shortCol, y = minimumY;
1257			this._pushPosition($brick, x, y);
1258
1259			// apply setHeight to necessary columns
1260			var setHeight = minimumY + $brick.outerHeight(true), setSpan = this.sloppyMasonry.cols + 1 - len;
1261			for (i = 0; i < setSpan; i++) {
1262				this.sloppyMasonry.colYs[shortCol + i] = setHeight;
1263			}
1264
1265		},
1266		_sloppyMasonryGetContainerSize : function() {
1267			var containerHeight = Math.max.apply(Math, this.sloppyMasonry.colYs);
1268			return {
1269				height : containerHeight
1270			};
1271		},
1272		_sloppyMasonryResizeChanged : function() {
1273			return true;
1274		}
1275	});
1276})(this, this.jQuery);
1277
1278
1279
1280/*!
1281 * jQuery Cookie Plugin v1.3.1
1282 * https://github.com/carhartl/jquery-cookie
1283 *
1284 * Copyright 2013 Klaus Hartl
1285 * Released under the MIT license
1286 */
1287(function (factory) {
1288	if (typeof define === 'function' && define.amd && define.amd.jQuery) {
1289		// AMD. Register as anonymous module.
1290		define(['jquery'], factory);
1291	} else {
1292		// Browser globals.
1293		factory(jQuery);
1294	}
1295}(function ($) {
1296
1297	var pluses = /\+/g;
1298
1299	function raw(s) {
1300		return s;
1301	}
1302
1303	function decoded(s) {
1304		return decodeURIComponent(s.replace(pluses, ' '));
1305	}
1306
1307	function converted(s) {
1308		if (s.indexOf('"') === 0) {
1309			// This is a quoted cookie as according to RFC2068, unescape
1310			s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');
1311		}
1312		try {
1313			return config.json ? JSON.parse(s) : s;
1314		} catch(er) {}
1315	}
1316
1317	var config = $.cookie = function (key, value, options) {
1318
1319		// write
1320		if (value !== undefined) {
1321			options = $.extend({}, config.defaults, options);
1322
1323			if (typeof options.expires === 'number') {
1324				var days = options.expires, t = options.expires = new Date();
1325				t.setDate(t.getDate() + days);
1326			}
1327
1328			value = config.json ? JSON.stringify(value) : String(value);
1329
1330			return (document.cookie = [
1331				encodeURIComponent(key), '=', config.raw ? value : encodeURIComponent(value),
1332				options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
1333				options.path    ? '; path=' + options.path : '',
1334				options.domain  ? '; domain=' + options.domain : '',
1335				options.secure  ? '; secure' : ''
1336			].join(''));
1337		}
1338
1339		// read
1340		var decode = config.raw ? raw : decoded;
1341		var cookies = document.cookie.split('; ');
1342		var result = key ? undefined : {};
1343		for (var i = 0, l = cookies.length; i < l; i++) {
1344			var parts = cookies[i].split('=');
1345			var name = decode(parts.shift());
1346			var cookie = decode(parts.join('='));
1347
1348			if (key && key === name) {
1349				result = converted(cookie);
1350				break;
1351			}
1352
1353			if (!key) {
1354				result[name] = converted(cookie);
1355			}
1356		}
1357
1358		return result;
1359	};
1360
1361	config.defaults = {};
1362
1363	$.removeCookie = function (key, options) {
1364		if ($.cookie(key) !== undefined) {
1365			$.cookie(key, '', $.extend(options, { expires: -1 }));
1366			return true;
1367		}
1368		return false;
1369	};
1370
1371}));
1372
1373
1374/*
1375 * Swipe 2.0
1376 * Brad Birdsall
1377 * Copyright 2013, MIT License
1378 *
1379*/
1380function Swipe(k,e){var f=function(){};var s=function(A){setTimeout(A||f,0)};var z={addEventListener:!!window.addEventListener,touch:("ontouchstart" in window)||window.DocumentTouch&&document instanceof DocumentTouch,transitions:(function(A){var C=["transitionProperty","WebkitTransition","MozTransition","OTransition","msTransition"];for(var B in C){if(A.style[C[B]]!==undefined){return true}}return false})(document.createElement("swipe"))};if(!k){return}var c=k.children[0];var q,d,p;e=e||{};var i=parseInt(e.startSlide,10)||0;
1381var t=e.speed||300;e.continuous=e.continuous!==undefined?e.continuous:true;function l(){q=c.children;d=new Array(q.length);p=k.getBoundingClientRect().width||k.offsetWidth;c.style.width=(q.length*p)+"px";var B=q.length;while(B--){var A=q[B];A.style.width=p+"px";A.setAttribute("data-index",B);if(z.transitions){A.style.left=(B*-p)+"px";o(B,i>B?-p:(i<B?p:0),0)}}if(!z.transitions){c.style.left=(i*-p)+"px"}k.style.visibility="visible"}function m(){if(i){a(i-1)}else{if(e.continuous){a(q.length-1)}}}function n(){if(i<q.length-1){a(i+1)
1382}else{if(e.continuous){a(0)}}}function a(D,A){if(i==D){return}if(z.transitions){var C=Math.abs(i-D)-1;var B=Math.abs(i-D)/(i-D);while(C--){o((D>i?D:i)-C-1,p*B,0)}o(i,p*B,A||t);o(D,0,A||t)}else{h(i*-p,D*-p,A||t)}i=D;s(e.callback&&e.callback(i,q[i]))}function o(A,C,B){j(A,C,B);d[A]=C}function j(B,E,D){var A=q[B];var C=A&&A.style;if(!C){return}C.webkitTransitionDuration=C.MozTransitionDuration=C.msTransitionDuration=C.OTransitionDuration=C.transitionDuration=D+"ms";C.webkitTransform="translate("+E+"px,0)translateZ(0)";
1383C.msTransform=C.MozTransform=C.OTransform="translateX("+E+"px)"}function h(E,D,A){if(!A){c.style.left=D+"px";return}var C=+new Date;var B=setInterval(function(){var F=+new Date-C;if(F>A){c.style.left=D+"px";if(y){v()}e.transitionEnd&&e.transitionEnd.call(event,i,q[i]);clearInterval(B);return}c.style.left=(((D-E)*(Math.floor((F/A)*100)/100))+E)+"px"},4)}
1383var y=e.auto||0;var u;function v(){u=setTimeout(n,y)}function r(){y=0;clearTimeout(u)}var g={};var w={};var x;var b={handleEvent:function(A){switch(A.type){case"touchstart":this.start(A);
1384break;case"touchmove":this.move(A);break;case"touchend":s(this.end(A));break;case"webkitTransitionEnd":case"msTransitionEnd":case"oTransitionEnd":case"otransitionend":case"transitionend":s(this.transitionEnd(A));break;case"resize":s(l.call());break}if(e.stopPropagation){A.stopPropagation()}},start:function(A){var B=A.touches[0];g={x:B.pageX,y:B.pageY,time:+new Date};x=undefined;w={};c.addEventListener("touchmove",this,false);c.addEventListener("touchend",this,false)},move:function(A){if(A.touches.length>1||A.scale&&A.scale!==1){return
1385}if(e.disableScroll){A.preventDefault()}var B=A.touches[0];w={x:B.pageX-g.x,y:B.pageY-g.y};if(typeof x=="undefined"){x=!!(x||Math.abs(w.x)<Math.abs(w.y))}if(!x){A.preventDefault();r();w.x=w.x/((!i&&w.x>0||i==q.length-1&&w.x<0)?(Math.abs(w.x)/p+1):1);j(i-1,w.x+d[i-1],0);j(i,w.x+d[i],0);j(i+1,w.x+d[i+1],0)}},end:function(C){var E=+new Date-g.time;var B=Number(E)<250&&Math.abs(w.x)>20||Math.abs(w.x)>p/2;var A=!i&&w.x>0||i==q.length-1&&w.x<0;var D=w.x<0;if(!x){if(B&&!A){if(D){o(i-1,-p,0);o(i,d[i]-p,t);
1386o(i+1,d[i+1]-p,t);i+=1}else{o(i+1,p,0);o(i,d[i]+p,t);o(i-1,d[i-1]+p,t);i+=-1}e.callback&&e.callback(i,q[i])}else{o(i-1,-p,t);o(i,0,t);o(i+1,p,t)}}c.removeEventListener("touchmove",b,false);c.removeEventListener("touchend",b,false)},transitionEnd:function(A){if(parseInt(A.target.getAttribute("data-index"),10)==i){if(y){v()}e.transitionEnd&&e.transitionEnd.call(A,i,q[i])}}};l();if(y){v()}if(z.addEventListener){if(z.touch){c.addEventListener("touchstart",b,false)}if(z.transitions){c.addEventListener("webkitTransitionEnd",b,false);
1387c.addEventListener("msTransitionEnd",b,false);c.addEventListener("oTransitionEnd",b,false);c.addEventListener("otransitionend",b,false);c.addEventListener("transitionend",b,false)}window.addEventListener("resize",b,false)}else{window.onresize=function(){l()}}return{setup:function(){l()},slide:function(B,A){r();a(B,A)},prev:function(){r();m()},next:function(){r();n()},getPos:function(){return i},getNumSlides:function(){return q.length},kill:function(){r();c.style.width="auto";c.style.left=0;var B=q.length;
1388while(B--){var A=q[B];A.style.width="100%";A.style.left=0;if(z.transitions){j(B,0,0)}}if(z.addEventListener){c.removeEventListener("touchstart",b,false);c.removeEventListener("webkitTransitionEnd",b,false);c.removeEventListener("msTransitionEnd",b,false);c.removeEventListener("oTransitionEnd",b,false);c.removeEventListener("otransitionend",b,false);c.removeEventListener("transitionend",b,false);window.removeEventListener("resize",b,false)}else{window.onresize=null}}}}if(window.jQuery||window.Zepto){(function(a){a.fn.Swipe=function(b){return this.each(function(){a(this).data("Swipe",new Swipe(a(this)[0],b))
1389})}})(window.jQuery||window.Zepto)};
1390
1391
1392/*!
1393 * FitVids 1.0
1394 * Copyright 2011, Chris Coyier - http://css-tricks.com + Dave Rupert - http://daverupert.com
1395 * Credit to Thierry Koblentz - http://www.alistapart.com/articles/creating-intrinsic-ratios-for-video/
1396 * Released under the WTFPL license - http://sam.zoy.org/wtfpl/
1397 */
1398(function(a){a.fn.fitVids=function(b){var c={customSelector:null};var e=document.createElement("div"),d=document.getElementsByTagName("base")[0]||document.getElementsByTagName("script")[0];
1399e.className="fit-vids-style";e.innerHTML="&shy;<style>               .fluid-width-video-wrapper {                 width: 100%;                              position: relative;                       padding: 0;                            }                                                                                   .fluid-width-video-wrapper iframe,        .fluid-width-video-wrapper object,        .fluid-width-video-wrapper embed {           position: absolute;                       top: 0;                                   left: 0;                                  width: 100%;                              height: 100%;                          }                                       </style>";
1400d.parentNode.insertBefore(e,d);if(b){a.extend(c,b)}return this.each(function(){var f=["iframe[src*='player.vimeo.com']","iframe[src*='youtube.com']","iframe[src*='youtube-nocookie.com']","iframe[src*='kickstarter.com']","object","embed"];if(c.customSelector){f.push(c.customSelector)}var g=a(this).find(f.join(","));g.each(function(){var l=a(this);if(this.tagName.toLowerCase()==="embed"&&l.parent("object").length||l.parent(".fluid-width-video-wrapper").length){return}var h=(this.tagName.toLowerCase()==="object"||(l.attr("height")&&!isNaN(parseInt(l.attr("height"),10))))?parseInt(l.attr("height"),10):l.he
1400ight(),i=!isNaN(parseInt(l.attr("width"),10))?parseInt(l.attr("width"),10):l.width(),j=h/i;
1401if(!l.attr("id")){var k="fitvid"+Math.floor(Math.random()*999999);l.attr("id",k)}l.wrap('<div class="fluid-width-video-wrapper"></div>').parent(".fluid-width-video-wrapper").css("padding-top",(j*100)+"%");l.removeAttr("height").removeAttr("width")})})}})(jQuery);
1402
1403/**
1404 * fgnass.github.com/spin.js#v1.3
1405 * Copyright (c) 2011-2013 Felix Gnass
1406 * Licensed under the MIT license
1407 */
1408(function(a,b){if(typeof exports=="object"){module.exports=b()}else{if(typeof define=="function"&&define.amd){define(b)}else{a.Spinner=b()}}})(this,function(){var C=["webkit","Moz","ms","O"],x={},q;function j(c,d){var a=document.createElement(c||"div"),f;for(f in d){a[f]=d[f]}return a}function k(c){for(var d=1,a=arguments.length;d<a;d++){c.appendChild(arguments[d])}return c}var b=function(){var a=j("style",{type:"text/css"});k(document.getElementsByTagName("head")[0],a);return a.sheet||a.styleSheet
1409}();function D(F,c,e,G){var r=["opacity",c,~~(F*100),e,G].join("-"),i=0.01+e/G*100,h=Math.max(1-(1-F)/c*(100-i),F),p=q.substring(0,q.indexOf("Animation")).toLowerCase(),E=p&&"-"+p+"-"||"";if(!x[r]){b.insertRule("@"+E+"keyframes "+r+"{0%{opacity:"+h+"}"+i+"%{opacity:"+F+"}"+(i+0.01)+"%{opacity:1}"+(i+c)%100+"%{opacity:"+F+"}100%{opacity:"+h+"}}",b.cssRules.length);x[r]=1}return r}function A(d,a){var f=d.style,h,c;if(f[a]!==undefined){return a}a=a.charAt(0).toUpperCase()+a.slice(1);for(c=0;c<C.length;
1410c++){h=C[c]+a;if(f[h]!==undefined){return h}}}function w(c,d){for(var a in d){c.style[A(c,a)||a]=d[a]}return c}function m(c){for(var d=1;d<arguments.length;d++){var a=arguments[d];for(var f in a){if(c[f]===undefined){c[f]=a[f]}}}return c}function y(a){var c={x:a.offsetLeft,y:a.offsetTop};while(a=a.offsetParent){c.x+=a.offsetLeft,c.y+=a.offsetTop}return c}var B={lines:12,length:7,width:5,radius:10,rotate:0,corners:1,color:"#000",direction:1,speed:1,trail:100,opacity:1/4,fps:20,zIndex:2000000000,className:"spinner",top:"auto",left:"auto",position:"relative"};
1411function g(a){if(typeof this=="undefined"){return new g(a)}this.opts=m(a||{},g.defaults,B)}g.defaults={};m(g.prototype,{spin:function(N){this.stop();var H=this,i=H.opts,d=H.el=w(j(0,{className:i.className}),{position:i.position,width:0,zIndex:i.zIndex}),O=i.radius+i.length+i.width,K,E;if(N){N.insertBefore(d,N.firstChild||null);E=y(N);K=y(d);w(d,{left:(i.left=="auto"?E.x-K.x+(N.offsetWidth>>1):parseInt(i.left,10)+O)+"px",top:(i.top=="auto"?E.y-K.y+(N.offsetHeight>>1):parseInt(i.top,10)+O)+"px"})}d.setAttribute("role","progressbar");
1412H.lines(d,H.opts);if(!q){var M=0,f=(i.lines-1)*(1-i.direction)/2,I,F=i.fps,o=F/i.speed,J=(1-i.opacity)/(o*i.trail/100),G=o/i.lines;(function L(){M++;for(var a=0;a<i.lines;a++){I=Math.max(1-(M+(i.lines-a)*G)%o*J,i.opacity);H.opacity(d,a*i.direction+f,I,i)}H.timeout=H.el&&setTimeout(L,~~(1000/F))})()}return H},stop:function(){var a=this.el;if(a){clearTimeout(this.timeout);if(a.parentNode){a.parentNode.removeChild(a)}this.el=undefined}return this},lines:function(h,n){var i=0,f=(n.lines-1)*(1-n.direction)/2,c;
1413function o(d,a){return w(j(),{position:"absolute",width:n.length+n.width+"px",height:n.width+"px",background:d,boxShadow:a,transformOrigin:"left",transform:"rotate("+~~(360/n.lines*i+n.rotate)+"deg) translate("+n.radius+"px,0)",borderRadius:(n.corners*n.width>>1)+"px"})}for(;i<n.lines;i++){c=w(j(),{position:"absolute",top:1+~(n.width/2)+"px",transform:n.hwaccel?"translate3d(0,0,0)":"",opacity:n.opacity,animation:q&&D(n.opacity,n.trail,f+i*n.direction,n.lines)+" "+1/n.speed+"s linear infinite"});if(n.shadow){k(c,w(o("#000","0 0 4px #000"),{top:2+"px"}))
1414}k(h,k(c,o(n.color,"0 0 1px rgba(0,0,0,.1)")))}return h},opacity:function(c,d,a){if(d<c.childNodes.length){c.childNodes[d].style.opacity=a}}});function z(){function a(c,d){return j("<"+c+' xmlns="urn:schemas-microsoft.com:vml" class="spin-vml">',d)}b.addRule(".spin-vml","behavior:url(#default#VML)");g.prototype.lines=function(p,n){var f=n.length+n.width,c=2*f;function G(){return w(a("group",{coordsize:c+" "+c,coordorigin:-f+" "+-f}),{width:c,height:c})}var E=-(n.width+n.length)*2+"px",h=w(G(),{position:"absolute",top:E,left:E}),t;
1415function F(l,i,d){k(h,k(w(G(),{rotation:360/n.lines*l+"deg",left:~~i}),k(w(a("roundrect",{arcsize:n.corners}),{width:f,height:n.width,left:n.radius,top:-n.width>>1,filter:d}),a("fill",{color:n.color,opacity:n.opacity}),a("stroke",{opacity:0}
1415))))}if(n.shadow){for(t=1;t<=n.lines;t++){F(t,-2,"progid:DXImageTransform.Microsoft.Blur(pixelradius=2,makeshadow=1,shadowopacity=.3)")}}for(t=1;t<=n.lines;t++){F(t)}return k(p,h)};g.prototype.opacity=function(d,f,c,h){var l=d.firstChild;h=h.shadow&&h.lines||0;
1416if(l&&f+h<l.childNodes.length){l=l.childNodes[f+h];l=l&&l.firstChild;l=l&&l.firstChild;if(l){l.opacity=c}}}}var v=w(j("group"),{behavior:"url(#default#VML)"});if(!A(v,"transform")&&v.adj){z()}else{q=A(v,"animation")}return g});
1417(function(a){if(typeof exports=="object"){a(require("jquery"),require("spin"))}else{if(typeof define=="function"&&define.amd){define(["jquery","spin"],a)}else{if(!window.Spinner){throw new Error("Spin.js not present")}a(window.jQuery,window.Spinner)}}}(function(b,a){b.fn.spin=function(d,c){return this.each(function(){var f=b(this),e=f.data();if(e.spinner){e.spinner.stop();delete e.spinner}if(d!==false){d=b.extend({color:c||f.css("color")},b.fn.spin.presets[d]||d);e.spinner=new a(d).spin(this)}})};
1418b.fn.spin.presets={tiny:{lines:8,length:2,width:2,radius:3},small:{lines:8,length:4,width:3,radius:5},large:{lines:10,length:8,width:4,radius:8}}}));
1419
1420/**
1421
1422 * jQuery ScrollTo
1423 
1424 * Copyright (c) 2007-2012 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
1425
1426 * Dual licensed under MIT and GPL.
1427
1428 * @author Ariel Flesler
1429
1430 * @version 1.4.3
1431
1432 */
1433
1434;(function($){var h=$.scrollTo=function(a,b,c){$(window).scrollTo(a,b,c)};h.defaults={axis:'xy',duration:parseFloat($.fn.jquery)>=1.3?0:1,limit:true};h.window=function(a){return $(window)._scrollable()};$.fn._scrollable=function(){return this.map(function(){var a=this,isWin=!a.nodeName||$.inArray(a.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!isWin)return a;var b=(a.contentWindow||a).document||a.ownerDocument||a;return/webkit/i.test(navigator.userAgent)||b.compatMode=='BackCompat'?b.body:b.documentElement})};$.fn.scrollTo=function(e,f,g){if(typeof f=='object'){g=f;f=0}if(typeof g=='function')g={onAfter:g};if(e=='max')e=9e9;g=$.extend({},h.defaults,g);f=f||g.duration;g.queue=g.queue&&g.axis.length>1;if(g.queue)f/=2;g.offset=both(g.offset);g.over=both(g.over);return this._scrollable().each(function(){if(!e)return;var d=this,$elem=$(d),targ=e,toff,attr={},win=$elem.is('html,body');switch(typeof targ){case'number':case'string':if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(targ)){targ=both(targ);break}targ=$(targ,this);if(!targ.length)return;case'object':if(targ.is||targ.style)toff=(targ=$(targ)).offset()}$.each(g.axis.split(''),function(i,a){var b=a=='x'?'Left':'Top',pos=b.toLowerCase(),key='scroll'+b,old=d[key],max=h.max(d,a);if(toff){attr[key]=toff[pos]+(win?0:old-$elem.offset()[pos]);if(g.margin){attr[key]-=parseInt(targ.css('margin'+b))||0;attr[key]-=parseInt(targ.css('border'+b+'Width'))||0}attr[key]+=g.offset[pos]||0;if(g.over[pos])attr[key]+=targ[a=='x'?'width':'height']()*g.over[pos]}else{var c=targ[pos];attr[key]=c.slice&&c.slice(-1)=='%'?parseFloat(c)/100*max:c}if(g.limit&&/^\d+$/.test(attr[key]))attr[key]=attr[key]<=0?0:Math.min(attr[key],max);if(!i&&g.queue){if(old!=attr[key])animate(g.onAfterFirst);delete attr[key]}});animate(g.onAfter);function animate(a){$elem.animate(attr,f,g.easing,a&&function(){a.call(this,e,g)})}}).end()};h.max=function(a,b){var c=b=='x'?'Width':'Height',scroll='scroll'+c;if(!$(a).is('html,body'))return a[scroll]-$(a)[c.toLowerCase()]();var d='client'+c,html=a.ownerDocument.documentElement,body=a.ownerDocument.body;return Math.max(html[scroll],body[scroll])-Math.min(html[d],body[d])};function both(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery);
1435
1436
1437/**
1438 * Tweetie: A simple Twitter feed plugin
1439 * Author: Sonny T. <[email protected]>, sonnyt.com
1440 */
1441(function($){$.fn.twittie=function(options){var settings=$.extend({'count':10,'hideReplies':false,'dateFormat':'%b/%d/%Y','template':'{{date}} - {{tweet}}'},options);var linking=function(tweet){var parts=tweet.split(' ');var twit='';for(var i=0,len=parts.length;i<len;i++){var text=parts[i];var link="https://twitter.com/#!/";if(text.indexOf('#')!==-1){text='<a href="'+link+'search/'+text.replace('#','%23').replace(/[^A-Za-z0-9]/,'')+'" target="_blank">'+text+'</a>'}if(text.indexOf('@')!==-1){text='<a href="'+link+text.replace('@','').replace(/[^A-Za-z0-9]/,'')+'" target="_blank">'+text+'</a>'}if(text.indexOf('http://')!==-1){text='<a href="'+text+'" target="_blank">'+text+'</a>'}twit+=text+' '}return twit};var dating=function(twt_date){var time=twt_date.split(' ');twt_date=new Date(Date.parse(time[1]+' '+time[2]+', '+time[5]+' '+time[3]+' UTC'));var months=['January','February','March','April','May','June','July','August','September','October','November','December'];var _date={'%d':twt_date.getDate(),'%m':twt_date.getMonth()+1,'%b':months[twt_date.getMonth()].substr(0,3),'%B':months[twt_date.getMonth()],'%y':String(twt_date.getFullYear()).slice(-2),'%Y':twt_date.getFullYear()};var date=settings.dateFormat;var format=settings.dateFormat.match(/%[dmbByY]/g);for(var i=0,len=format.length;i<len;i++){date=date.replace(format[i],_date[format[i]])}return date};var templating=function(data){var temp=settings.template;var temp_variables=['date','tweet','avatar'];for(var i=0,len=temp_variables.length;i<len;i++){temp=temp.replace(new RegExp('{{'+temp_variables[i]+'}}','gi'),data[temp_variables[i]])}return temp};this.html('<span>Loading...</span>');var that=this;$.getJSON('api/tweet.php',{count:settings.count,exclude_replies:settings.hideReplies},function(twt){that.find('span').fadeOut('fast',function(){that.html('<ul></ul>');for(var i=0;i<settings.count;i++){if(twt[i]){var temp_data={date:dating(twt[i].created_at),tweet:linking(twt[i].text),avatar:'<img src="'+twt[i].user.profile_image_url+'" />'};that.find('ul').append('<li>'+templating(temp_data)+'</li>')}else{break}}})})}})(jQuery);
1442
1443/* ==============================================================
1444=============== Placeholder plugin ================================
1445============================================================== */
1446(function(t){"use strict";function e(t,e,r){return t.addEventListener?t.addEventListener(e,r,!1):t.attachEvent?t.attachEvent("on"+e,r):void 0}function r(t,e){var r,n;for(r=0,n=t.length;n>r;r++)if(t[r]===e)return!0;return!1}function n(t,e){var r;t.createTextRange?(r=t.createTextRange(),r.move("character",e),r.select()):t.selectionStart&&(t.focus(),t.setSelectionRange(e,e))}function a(t,e){try{return t.type=e,!0}catch(r){return!1}}t.Placeholders={Utils:{addEventListener:e,inArray:r,moveCaret:n,changeType:a}}})(this),function(t){"use strict";function e(t){var e;return t.value===t.getAttribute(S)&&"true"===t.getAttribute(I)?(t.setAttribute(I,"false"),t.value="",t.className=t.className.replace(R,""),e=t.getAttribute(P),e&&(t.type=e),!0):!1}function r(t){var e;return""===t.value?(t.setAttribute(I,"true"),t.value=t.getAttribute(S),t.className+=" "+k,e=t.getAttribute(P),e?t.type="text":"password"===t.type&&H.changeType(t,"text")&&t.setAttribute(P,"password"),!0):!1}function n(t,e){var r,n,a,u,i;if(t&&t.getAttribute(S))e(t);else for(r=t?t.getElementsByTagName("input"):r,n=t?t.getElementsByTagName("textarea"):n,i=0,u=r.length+n.length;u>i;i++)a=r.length>i?r[i]:n[i-r.length],e(a)}function a(t){n(t,e)}function u(t){n(t,r)}function i(t){return function(){f&&t.value===t.getAttribute(S)&&"true"===t.getAttribute(I)?H.moveCaret(t,0):e(t)}}function l(t){return function(){r(t)}}function c(t){return function(e){return p=t.value,"true"===t.getAttribute(I)?!(p===t.getAttribute(S)&&H.inArray(C,e.keyCode)):void 0}}function o(t){return function(){var e;"true"===t.getAttribute(I)&&t.value!==p&&(t.className=t.className.replace(R,""),t.value=t.value.replace(t.getAttribute(S),""),t.setAttribute(I,!1),e=t.getAttribute(P),e&&(t.type=e)),""===t.value&&(t.blur(),H.moveCaret(t,0))}}function s(t){return function(){t===document.activeElement&&t.value===t.getAttribute(S)&&"true"===t.getAttribute(I)&&H.moveCaret(t,0)}}function d(t){return function(){a(t)}}function g(t){t.form&&(x=t.form,x.getAttribute(U)||(H.addEventListener(x,"submit",d(x)),x.setAttribute(U,"true"))),H.addEventListener(t,"focus",i(t)),H.addEventListener(t,"blur",l(t)),f&&(H.addEventListener(t,"keydown",c(t)),H.addEventListener(t,"keyup",o(t)),H.addEventListener(t,"click",s(t))),t.setAttribute(j,"true"),t.setAttribute(S,y),r(t)}var v,b,f,h,p,m,A,y,E,x,T,N,L,w=["text","search","url","tel","email","password","number","textarea"],C=[27,33,34,35,36,37,38,39,40,8,46],B="#ccc",k="placeholdersjs",R=RegExp("\\b"+k+"\\b"),S="data-placeholder-value",I="data-placeholder-active",P="data-placeholder-type",U="data-placeholder-submit",j="data-placeholder-bound",V="data-placeholder-focus",q="data-placeholder-live",z=document.createElement("input"),D=document.getElementsByTagName("head")[0],F=document.documentElement,G=t.Placeholders,H=G.Utils;if(void 0===z.placeholder){for(v=document.getElementsByTagName("input"),b=document.getElementsByTagName("textarea"),f="false"===F.getAttribute(V),h="false"!==F.getAttribute(q),m=document.createElement("style"),m.type="text/css",A=document.createTextNode("."+k+" { color:"+B+"; }"),m.styleSheet?m.styleSheet.cssText=A.nodeValue:m.appendChild(A),D.insertBefore(m,D.firstChild),L=0,N=v.length+b.length;N>L;L++)T=v.length>L?v[L]:b[L-v.length],y=T.getAttribute("placeholder"),y&&H.inArray(w,T.type)&&g(T);E=setInterval(function(){for(L=0,N=v.length+b.length;N>L;L++)T=v.length>L?v[L]:b[L-v.length],y=T.getAttribute("placeholder"),y&&H.inArray(w,T.type)&&(T.getAttribute(j)||g(T),(y!==T.getAttribute(S)||"password"===T.type&&!T.getAttribute(P))&&("password"===T.type&&!T.getAttribute(P)&&H.changeType(T,"text")&&T.setAttribute(P,"password"),T.value===T.getAttribute(S)&&(T.value=y),T.setAttribute(S,y)));h||clearInterval(E)},100)}G.disable=a,G.enable=u}(this);
1447
1448
1449/*
1450 * jQuery.appear
1451 * https://github.com/bas2k/jquery.appear/
1452 * http://code.google.com/p/jquery-appear/
1453 *
1454 * Copyright (c) 2009 Michael Hixson
1455 * Copyright (c) 2012 Alexander Brovikov
1456 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
1457 */
1458(function($) {
1459	$.fn.appear = function(fn, options) {
1460
1461		var settings = $.extend({
1462
1463			//arbitrary data to pass to fn
1464			data: undefined,
1465
1466			//call fn only on the first appear?
1467			one: true,
1468
1469			// X & Y accuracy
1470			accX: 0,
1471			accY: 0
1472
1473		}, options);
1474
1475		return this.each(function() {
1476
1477			var t = $(this);
1478
1479			//whether the element is currently visible
1480			t.appeared = false;
1481
1482			if (!fn) {
1483
1484				//trigger the custom event
1485				t.trigger('appear', settings.data);
1486				return;
1487			}
1488
1489			var w = $(window);
1490
1491			//fires the appear event when appropriate
1492			var check = function() {
1493
1494				//is the element hidden?
1495				if (!t.is(':visible')) {
1496
1497					//it became hidden
1498					t.appeared = false;
1499					return;
1500				}
1501
1502				//is the element inside the visible window?
1503				var a = w.scrollLeft();
1504				var b = w.scrollTop();
1505				var o = t.offset();
1506				var x = o.left;
1507				var y = o.top;
1508
1509				var ax = settings.accX;
1510				var ay = settings.accY;
1511				var th = t.height();
1512				var wh = w.height();
1513				var tw = t.width();
1514				var ww = w.width();
1515
1516				if (y + th + ay >= b &&
1517					y <= b + wh + ay &&
1518					x + tw + ax >= a &&
1519					x <= a + ww + ax) {
1520
1521					//trigger the custom event
1522					if (!t.appeared) t.trigger('appear', settings.data);
1523
1524				} else {
1525
1526					//it scrolled out of view
1527					t.appeared = false;
1528				}
1529			};
1530
1531			//create a modified fn with some additional logic
1532			var modifiedFn = function() {
1533
1534				//mark the element as visible
1535				t.appeared = true;
1536
1537				//is this supposed to happen only once?
1538				if (settings.one) {
1539
1540					//remove the check
1541					w.unbind('scroll', check);
1542					var i = $.inArray(check, $.fn.appear.checks);
1543					if (i >= 0) $.fn.appear.checks.splice(i, 1);
1544				}
1545
1546				//trigger the original fn
1547				fn.apply(this, arguments);
1548			};
1549
1550			//bind the modified fn to the element
1551			if (settings.one) t.one('appear', settings.data, modifiedFn);
1552			else t.bind('appear', settings.data, modifiedFn);
1553
1554			//check whenever the window scrolls
1555			w.scroll(check);
1556
1557			//check whenever the dom changes
1558			$.fn.appear.checks.push(check);
1559
1560			//check now
1561			(check)();
1562		});
1563	};
1564
1565	//keep a queue of appearance checks
1566	$.extend($.fn.appear, {
1567
1568		checks: [],
1569		timeout: null,
1570
1571		//process the queue
1572		checkAll: function() {
1573			var length = $.fn.appear.checks.length;
1574			if (length > 0) while (length--) ($.fn.appear.checks[length])();
1575		},
1576
1577		//check the queue asynchronously
1578		run: function() {
1579			if ($.fn.appear.timeout) clearTimeout($.fn.appear.timeout);
1580			$.fn.appear.timeout = setTimeout($.fn.appear.checkAll, 20);
1581		}
1582	});
1583
1584	//run checks when these methods are called
1585	$.each(['append', 'prepend', 'after', 'before', 'attr',
1586		'removeAttr', 'addClass', 'removeClass', 'toggleClass',
1587		'remove', 'css', 'show', 'hide'], function(i, n) {
1588		var old = $.fn[n];
1589		if (old) {
1590			$.fn[n] = function() {
1591				var r = old.apply(this, arguments);
1592				$.fn.appear.run();
1593				return r;
1594			}
1595		}
1596	});
1597
1598})(jQuery);
1599
1600/*! Stellar.js v0.6.2 | Copyright 2013, Mark Dalgleish | http://markdalgleish.com/projects/stellar.js | http://markdalgleish.mit-license.org */
1601(function(e,t,n,r){function d(t,n){this.element=t,this.options=e.extend({},s,n),this._defaults=s,this._name=i,this.init()}var i="stellar",s={scrollProperty:"scroll",positionProperty:"position",horizontalScrolling:!0,verticalScrolling:!0,horizontalOffset:0,verticalOffset:0,responsive:!1,parallaxBackgrounds:!0,parallaxElements:!0,hideDistantElements:!0,hideElement:function(e){e.hide()},showElement:function(e){e.show()}},o={scroll:{getLeft:function(e){return e.scrollLeft()},setLeft:function(e,t){e.scrollLeft(t)},getTop:function(e){return e.scrollTop()},setTop:function(e,t){e.scrollTop(t)}},position:{getLeft:function(e){return parseInt(e.css("left"),10)*-1},getTop:function(e){return parseInt(e.css("top"),10)*-1}},margin:{getLeft:function(e){return parseInt(e.css("margin-left"),10)*-1},getTop:function(e){return parseInt(e.css("margin-top"),10)*-1}},transform:{getLeft:function(e){var t=getComputedStyle(e[0])[f];return t!=="none"?parseInt(t.match(/(-?[0-9]+)/g)[4],10)*-1:0},getTop:function(e){var t=getComputedStyle(e[0])[f];return t!=="none"?parseInt(t.match(/(-?[0-9]+)/g)[5],10)*-1:0}}},u={position:{setLeft:function(e,t){e.css("left",t)},setTop:function(e,t){e.css("top",t)}},transform:{setPosition:function(e,t,n,r,i){e[0].style[f]="translate3d("+(t-n)+"px, "+(r-i)+"px, 0)"}}},a=function(){var t=/^(Moz|Webkit|Khtml|O|ms|Icab)(?=[A-Z])/,n=e("script")[0].style,r="",i;for(i in n)if(t.test(i)){r=i.match(t)[0];break}
1601return"WebkitOpacity"in n&&(r="Webkit"),"KhtmlOpacity"in n&&(r="Khtml"),function(e){return r+(r.length>0?e.charAt(0).toUpperCase()+e.slice(1):e)}}(),f=a("transform"),l=e("<div />",{style:"background:#fff"}).css("background-position-x")!==r,c=l?function(e,t,n){e.css({"background-position-x":t,"background-position-y":n})}:function(e,t,n){e.css("background-position",t+" "+n)},h=l?function(e){return[e.css("background-position-x"),e.css("background-position-y")]}:function(e){return e.css("background-position").split(" ")},p=t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.oRequestAnimationFrame||t.msRequestAnimationFrame||function(e){setTimeout(e,1e3/60)};d.prototype={init:function(){this.options.name=i+"_"+Math.floor(Math.random()*1e9),this._defineElements(),this._defineGetters(),this._defineSetters(),this._handleWindowLoadAndResize(),this._detectViewport(),this.refresh({firstLoad:!0}),this.options.scrollProperty==="scroll"?this._handleScrollEvent():this._startAnimationLoop()},_defineElements:function(){this.element===n.body&&(this.element=t),this.$scrollElement=e(this.element),this.$element=this.element===t?e("body"):this.$scrollElement,this.$viewportElement=this.options.viewportElement!==r?e(this.options.viewportElement):this.$scrollElement[0]===t||this.options.scrollProperty==="scroll"?this.$scrollElement:this.$scrollElement.parent()},_defineGetters:function(){var e=this,t=o[e.options.scrollProperty];this._getScrollLeft=function(){return t.getLeft(e.$scrollElement)},this._getScrollTop=function(){return t.getTop(e.$scrollElement)}},_defineSetters:function(){var t=this,n=o[t.options.scrollProperty],r=u[t.options.positionProperty],i=n.setLeft,s=n.setTop;this._setScrollLeft=typeof i=="function"?function(e){i(t.$scrollElement,e)}:e.noop,this._setScrollTop=typeof s=="function"?function(e){s(t.$scrollElement,e)}:e.noop,this._setPosition=r.setPosition||function(e,n,i,s,o){t.options.horizontalScrolling&&r.setLeft(e,n,i),t.options.verticalScrolling&&r.setTop(e,s,o)}},_handleWindowLoadAndResize:function(){var n=this,r=e(t);n.options.responsive&&r.bind("load."+this.name,function(){n.refresh()}),r.bind("resize."+this.name,function(){n._detectViewport(),n.options.responsive&&n.refresh()})},refresh:function(n){var r=this,i=r._getScrollLeft(),s=r._getScrollTop();(!n||!n.firstLoad)&&this._reset(),this._setScrollLeft(0),this._setScrollTop(0),this._setOffsets(),this._findParticles(),this._findBackgrounds(),n&&n.firstLoad&&/WebKit/.test(navigator.userAgent)&&e(t).load(function(){var e=r._getScrollLeft(),t=r._getScrollTop();r._setScrollLeft(e+1),r._setScrollTop(t+1),r._setScrollLeft(e),r._setScrollTop(t)}),this._setScrollLeft(i),this._setScrollTop(s)},_detectViewport:function(){var e=this.$viewportElement.offset(),t=e!==null&&e!==r;this.viewportWidth=this.$viewportElement.width(),this.viewportHeight=this.$viewportElement.height(),this.viewportOffsetTop=t?e.top:0,this.viewportOffsetLeft=t?e.left:0},_findParticles:function(){var t=this,n=this._getScrollLeft(),i=this._getScrollTop();if(this.particles!==r)for(var s=this.particles.length-1;s>=0;s--)this.particles[s].$element.data("stellar-elementIsActive",r);this.particles=[];if(!this.options.parallaxElements)return;this.$element.find("[data-stellar-ratio]").each(function(n){var i=e(this),s,o,u,a,f,l,c,h,p,d=0,v=0,m=0,g=0;if(!i.data("stellar-elementIsActive"))i.data("stellar-elementIsActive",this);else if(i.data("stellar-elementIsActive")!==this)return;t.options.showElement(i),i.data("stellar-startingLeft")?(i.css("left",i.data("stellar-startingLeft")),i.css("top",i.data("stellar-startingTop"))):(i.data("stellar-startingLeft",i.css("left")),i.data("stellar-startingTop",i.css("top"))),u=i.position().left,a=i.position().top,f=i.css("margin-left")==="auto"?0:parseInt(i.css("margin-left"),10),l=i.css("margin-top")==="auto"?0:parseInt(i.css("margin-top"),10),h=i.offset().left-f,p=i.offset().top-l,i.parents().each(function(){var t=e(this);if(t.data("stellar-offset-parent")===!0)return d=m,v=g,c=t,!1;m+=t.position().left,g+=t.position().top}),s=i.data("stellar-horizontal-offset")!==r?i.data("stellar-horizontal-offset"):c!==r&&c.data("stellar-horizontal-offset")!==r?c.data("stellar-horizontal-offset"):t.horizontalOffset,o=i.data("stellar-vertical-offset")!==r?i.data("stellar-vertical-offset"):c!==r&&c.data("stellar-vertical-offset")!==r?c.data("stellar-vertical-offset"):t.verticalOffset,t.particles.push({$element:i,$offsetParent:c,isFixed:i.css("position")==="fixed",horizontalOffset:s,verticalOffset:o,startingPositionLeft:u,startingPositionTop:a,startingOffsetLeft:h,startingOffsetTop:p,parentOffsetLeft:d,parentOffsetTop:v,stellarRatio:i.data("stellar-ratio")!==r?i.data("stellar-ratio"):1,width:i.outerWidth(!0),height:i.outerHeight(!0),isHidden:!1})})}
1601,_findBackgrounds:function(){var t=this,n=this._getScrollLeft(),i=this._getScrollTop(),s;this.backgrounds=[];if(!this.options.parallaxBackgrounds)return;s=this.$element.find("[data-stellar-background-ratio]"),this.$element.data("stellar-background-ratio")&&(s=s.add(this.$element)),s.each(function(){var s=e(this),o=h(s),u,a,f,l,p,d,v,m,g,y=0,b=0,w=0,E=0;if(!s.data("stellar-backgroundIsActive"))s.data("stellar-backgroundIsActive",this);else if(s.data("stellar-backgroundIsActive")!==this)return;s.data("stellar-backgroundStartingLeft")?c(s,s.data("stellar-backgroundStartingLeft"),s.data("stellar-backgroundStartingTop")):(s.data("stellar-backgroundStartingLeft",o[0]),s.data("stellar-backgroundStartingTop",o[1])),p=s.css("margin-left")==="auto"?0:parseInt(s.css("margin-left"),10),d=s.css("margin-top")==="auto"?0:parseInt(s.css("margin-top"),10),v=s.offset().left-p-n,m=s.offset().top-d-i,s.parents().each(function(){var t=e(this);if(t.data("stellar-offset-parent")===!0)return y=w,b=E,g=t,!1;w+=t.position().left,E+=t.position().top}),u=s.data("stellar-horizontal-offset")!==r?s.data("stellar-horizontal-offset"):g!==r&&g.data("stellar-horizontal-offset")!==r?g.data("stellar-horizontal-offset"):t.horizontalOffset,a=s.data("stellar-vertical-offset")!==r?s.data("stellar-vertical-offset"):g!==r&&g.data("stellar-vertical-offset")!==r?g.data("stellar-vertical-offset"):t.verticalOffset,t.backgrounds.push({$element:s,$offsetParent:g,isFixed:s.css("background-attachment")==="fixed",horizontalOffset:u,verticalOffset:a,startingValueLeft:o[0],startingValueTop:o[1],startingBackgroun
1601dPositionLeft:isNaN(parseInt(o[0],10))?0:parseInt(o[0],10),startingBackgroundPositionTop:isNaN(parseInt(o[1],10))?0:parseInt(o[1],10),startingPositionLeft:s.position().left,startingPositionTop:s.position().top,startingOffsetLeft:v,startingOffsetTop:m,parentOffsetLeft:y,parentOffsetTop:b,stellarRatio:s.data("stellar-background-ratio")===r?1:s.data("stellar-background-ratio")})})},_reset:function(){var e,t,n,r,i;for(i=this.particles.length-1;i>=0;i--)e=this.particles[i],t=e.$element.data("stellar-startingLeft"),n=e.$element.data("stellar-startingTop"),this._setPosition(e.$element,t,t,n,n),this.options.showElement(e.$element),e.$element.data("stellar-startingLeft",null).data("stellar-elementIsActive",null).data("stellar-backgroundIsActive",null);for(i=this.backgrounds.length-1;i>=0;i--)r=this.backgrounds[i],r.$element.data("stellar-backgroundStartingLeft",null).data("stellar-backgroundStartingTop",null),c(r.$element,r.startingValueLeft,r.startingValueTop)},destroy:function(){this._reset(),this.$scrollElement.unbind("resize."+this.name).unbind("scroll."+this.name),this._animationLoop=e.noop,e(t).unbind("load."+this.name).unbind("resize."+this.name)},_setOffsets:function(){var n=this,r=e(t);r.unbind("resize.horizontal-"+this.name).unbind("resize.vertical-"+this.name),typeof this.options.horizontalOffset=="function"?(this.horizontalOffset=this.options.horizontalOffset(),r.bind("resize.horizontal-"+this.name,function(){n.horizontalOffset=n.options.horizontalOffset()})):this.horizontalOffset=this.options.horizontalOffset,typeof this.options.verticalOffset=="function"?(this.verticalOffset=this.options.verticalOffset(),r.bind("resize.vertical-"+this.name,function(){n.verticalOffset=n.options.verticalOffset()})):this.verticalOffset=this.options.verticalOffset},_repositionElements:function(){var e=this._getScrollLeft(),t=this._getScrollTop(),n,r,i,s,o,u,a,f=!0,l=!0,h,p,d,v,m;if(this.currentScrollLeft===e&&this.currentScrollTop===t&&this.currentWidth===this.viewportWidth&&this.currentHeight===this.viewportHeight)return;this.currentScrollLeft=e,this.currentScrollTop=t,this.currentWidth=this.viewportWidth,this.currentHeight=this.viewportHeight;for(m=this.particles.length-1;m>=0;m--)i=this.particles[m],s=i.isFixed?1:0,this.options.horizontalScrolling?(h=(e+i.horizontalOffset+this.viewportOffsetLeft+i.startingPositionLeft-i.startingOffsetLeft+i.parentOffsetLeft)*-(i.stellarRatio+s-1)+i.startingPositionLeft,d=h-i.startingPositionLeft+i.startingOffsetLeft):(h=i.startingPositionLeft,d=i.startingOffsetLeft),this.options.verticalScrolling?(p=(t+i.verticalOffset+this.viewportOffsetTop+i.startingPositionTop-i.startingOffsetTop+i.parentOffsetTop)*-(i.stellarRatio+s-1)+i.startingPositionTop,v=p-i.startingPositionTop+i.startingOffsetTop):(p=i.startingPositionTop,v=i.startingOffsetTop),this.options.hideDistantElements&&(l=!this.options.horizontalScrolling||d+i.width>(i.isFixed?0:e)&&d<(i.isFixed?0:e)+this.viewportWidth+this.viewportOffsetLeft,f=!this.options.verticalScrolling||v+i.height>(i.isFixed?0:t)&&v<(i.isFixed?0:t)+this.viewportHeight+this.viewportOffsetTop),l&&f?(i.isHidden&&(this.options.showElement(i.$element),i.isHidden=!1),this._setPosition(i.$element,h,i.startingPositionLeft,p,i.startingPositionTop)):i.isHidden||(this.options.hideElement(i.$element),i.isHidden=!0);for(m=this.backgrounds.length-1;m>=0;m--)o=this.backgrounds[m],s=o.isFixed?0:1,u=this.options.horizontalScrolling?(e+o.horizontalOffset-this.viewportOffsetLeft-o.startingOffsetLeft+o.parentOffsetLeft-o.startingBackgroun
1601dPositionLeft)*(s-o.stellarRatio)+"px":o.startingValueLeft,a=this.options.verticalScrolling?(t+o.verticalOffset-this.viewportOffsetTop-o.startingOffsetTop+o.parentOffsetTop-o.startingBackgroundPositionTop)*(s-o.stellarRatio)+"px":o.startingValueTop,c(o.$element,u,a)},_handleScrollEvent:function(){var e=this,t=!1,n=function(){e._repositionElements(),t=!1},r=function(){t||(p(n),t=!0)};this.$scrollElement.bind("scroll."+this.name,r),r()},_startAnimationLoop:function(){var e=this;this._animationLoop=function(){p(e._animationLoop),e._repositionElements()},this._animationLoop()}},e.fn[i]=function(t){var n=arguments;if(t===r||typeof t=="object")return this.each(function(){e.data(this,"plugin_"+i)||e.data(this,"plugin_"+i,new d(this,t))});if(typeof t=="string"&&t[0]!=="_"&&t!=="init")return this.each(function(){var r=e.data(this,"plugin_"+i);r instanceof d&&typeof r[t]=="function"&&r[t].apply(r,Array.prototype.slice.call(n,1)),t==="destroy"&&e.data(this,"plugin_"+i,null)})},e[i]=function(n){var r=e(t);return r.stellar.apply(r,Array.prototype.slice.call(arguments,0))},e[i].scrollProperty=o,e[i].positionProperty=u,t.Stellar=d})(jQuery,this,document);
1602
1603
1604/*
1605Plugin: jQuery Parallax
1606Version 1.1.3
1607Author: Ian Lunn
1608Twitter: @IanLunn
1609Author URL: http://www.ianlunn.co.uk/
1610Plugin URL: http://www.ianlunn.co.uk/plugins/jquery-parallax/
1611
1612Dual licensed under the MIT and GPL licenses:
1613http://www.opensource.org/licenses/mit-license.php
1614http://www.gnu.org/licenses/gpl.html
1615*/
1616
1617(function( $ ){
1618	var $window = $(window);
1619	var windowHeight = $window.height();
1620
1621	$window.resize(function () {
1622		windowHeight = $window.height();
1623	});
1624
1625	$.fn.parallax = function(xpos, speedFactor, outerHeight) {
1626		var $this = $(this);
1627		var getHeight;
1628		var firstTop;
1629		var paddingTop = 0;
1630		
1631		//get the starting position of each element to have parallax applied to it	
1632		function update (){
1633			
1634			$this.each(function(){
1635								
1636				firstTop = $this.offset().top;
1637			});
1638	
1639			if (outerHeight) {
1640				getHeight = function(jqo) {
1641					return jqo.outerHeight(true);
1642				};
1643			} else {
1644				getHeight = function(jqo) {
1645					return jqo.height();
1646				};
1647			}
1648				
1649			// setup defaults if arguments aren't specified
1650			if (arguments.length < 1 || xpos === null) xpos = "50%";
1651			if (arguments.length < 2 || speedFactor === null) speedFactor = 0.5;
1652			if (arguments.length < 3 || outerHeight === null) outerHeight = true;
1653			
1654			// function to be called whenever the window is scrolled or resized
1655			
1656				var pos = $window.scrollTop();				
1657	
1658				$this.each(function(){
1659					var $element = $(this);
1660					var top = $element.offset().top;
1661					var height = getHeight($element);
1662	
1663					// Check if totally above or totally below viewport
1664					if (top + height < pos || top > pos + windowHeight) {
1665						return;
1666					}
1667					
1668					$this.css('backgroundPosition', xpos + " " + Math.round((firstTop - pos) * speedFactor) + "px");
1669					
1670				});
1671		}		
1672
1673		$window.bind('scroll', update).resize(update);
1674		update();
1675	};
1676})(jQuery);
1677
1678
1679/*
1680Plugin Name: 	Count To
1681Written by: 	Matt Huggins - https://github.com/mhuggins/jquery-countTo
1682
1683*/
1684(function ($) {
1685	$.fn.countTo = function (options) {
1686		options = options || {};
1687
1688		return $(this).each(function () {
1689			// set options for current element
1690			var settings = $.extend({}, $.fn.countTo.defaults, {
1691				from:            $(this).data('from'),
1692				to:              $(this).data('to'),
1693				speed:           $(this).data('speed'),
1694				refreshInterval: $(this).data('refresh-interval'),
1695				decimals:        $(this).data('decimals')
1696			}, options);
1697
1698			// how many times to update the value, and how much to increment the value on each update
1699			var loops = Math.ceil(settings.speed / settings.refreshInterval),
1700				increment = (settings.to - settings.from) / loops;
1701
1702			// references & variables that will change with each update
1703			var self = this,
1704				$self = $(this),
1705				loopCount = 0,
1706				value = settings.from,
1707				data = $self.data('countTo') || {};
1708
1709			$self.data('countTo', data);
1710
1711			// if an existing interval can be found, clear it first
1712			if (data.interval) {
1713				clearInterval(data.interval);
1714			}
1715			data.interval = setInterval(updateTimer, settings.refreshInterval);
1716
1717			// initialize the element with the starting value
1718			render(value);
1719
1720			function updateTimer() {
1721				value += increment;
1722				loopCount++;
1723
1724				render(value);
1725
1726				if (typeof(settings.onUpdate) == 'function') {
1727					settings.onUpdate.call(self, value);
1728				}
1729
1730				if (loopCount >= loops) {
1731					// remove the interval
1732					$self.removeData('countTo');
1733					clearInterval(data.interval);
1734					value = settings.to;
1735
1736					if (typeof(settings.onComplete) == 'function') {
1737						settings.onComplete.call(self, value);
1738					}
1739				}
1740			}
1741
1742			function render(value) {
1743				var formattedValue = settings.formatter.call(self, value, settings);
1744				$self.html(formattedValue);
1745			}
1746		});
1747	};
1748
1749	$.fn.countTo.defaults = {
1750		from: 0,               // the number the element should start at
1751		to: 0,                 // the number the element should end at
1752		speed: 1000,           // how long it should take to count between the target numbers
1753		refreshInterval: 100,  // how often the element should be updated
1754		decimals: 0,           // the number of decimal places to show
1755		formatter: formatter,  // handler for formatting the value before rendering
1756		onUpdate: null,        // callback method for every time the element is updated
1757		onComplete: null       // callback method for when the element finishes updating
1758	};
1759
1760	function formatter(value, settings) {
1761		return value.toFixed(settings.decimals);
1762	}
1763}(jQuery));
1764
1765/*!
1766 * Retina.js v1.1.0
1767 *
1768 * Copyright 2013 Imulus, LLC
1769 * Released under the MIT license
1770 *
1771 * Retina.js is an open source script that makes it easy to serve
1772 * high-resolution images to devices with retina displays.
1773 */
1774(function(){var root=typeof exports=="undefined"?window:exports;var config={check_mime_type:true};root.Retina=Retina;function Retina(){}Retina.configure=function(options){if(options==null)options={};for(var prop in options)config[prop]=options[prop]};Retina.init=function(context){if(context==null)context=root;var existing_onload=context.onload||new Function;context.onload=function(){var images=document.getElementsByTagName("img"),retinaImages=[],i,image;for(i=0;i<images.length;i++){image=images[i];retinaImages.push(new RetinaImage(image))}existing_onload()}};Retina.isRetina=function(){var mediaQuery="(-webkit-min-device-pixel-ratio: 1.5),                      (min--moz-device-pixel-ratio: 1.5),                      (-o-min-device-pixel-ratio: 3/2),                      (min-resolution: 1.5dppx)";if(root.devicePixelRatio>1)return true;if(root.matchMedia&&root.matchMedia(mediaQuery).matches)return true;return false};root.RetinaImagePath=RetinaImagePath;function RetinaImagePath(path,at_2x_path){this.path=path;if(typeof at_2x_path!=="undefined"&&at_2x_path!==null){this.at_2x_path=at_2x_path;this.perform_check=false}else{this.at_2x_path=path.replace(/\.\w+$/,function(match){return"@2x"+match});this.perform_check=true}}RetinaImagePath.confirmed_paths=[];RetinaImagePath.prototype.is_external=function(){return!!(this.path.match(/^https?\:/i)&&!this.path.match("//"+document.domain))};RetinaImagePath.prototype.check_2x_variant=function(callback){var http,that=this;if(this.is_external()){return callback(false)}else if(!this.perform_check&&typeof this.at_2x_path!=="undefined"&&this.at_2x_path!==null){return callback(true)}else if(this.at_2x_path in RetinaImagePath.confirmed_paths){return callback(true)}else{http=new XMLHttpRequest;http.open("HEAD",this.at_2x_path);http.onreadystatechange=function(){if(http.readyState!=4){return callback(false)}if(http.status>=200&&http.status<=399){if(config.check_mime_type){var type=http.getResponseHeader("Content-Type");if(type==null||!type.match(/^image/i)){return callback(false)}}RetinaImagePath.confirmed_paths.push(that.at_2x_path);return callback(true)}else{return callback(false)}};http.send()}};function RetinaImage(el){this.el=el;this.path=new RetinaImagePath(this.el.getAttribute("src"),this.el.getAttribute("data-at2x"));var that=this;this.path.check_2x_variant(function(hasVariant){if(hasVariant)that.swap()})}root.RetinaImage=RetinaImage;RetinaImage.prototype.swap=function(path){if(typeof path=="undefined")path=this.path.at_2x_path;var that=this;function load(){if(!that.el.complete){setTimeout(load,5)}else{that.el.setAttribute("width",that.el.offsetWidth);that.el.setAttribute("height",that.el.offsetHeight);that.el.setAttribute("src",path)}}load()};if(Retina.isRetina()){Retina.init(root)}})();
1775
1776/*!
1777 * jQuery Transit - CSS3 transitions and transformations
1778 * (c) 2011-2012 Rico Sta. Cruz <[email protected]>
1779 * MIT Licensed.
1780 *
1781 * http://ricostacruz.com/jquery.transit
1782 * http://github.com/rstacruz/jquery.transit
1783 */
1784(function(d){function m(a){if(a in j.style)return a;var b=["Moz","Webkit","O","ms"],c=a.charAt(0).toUpperCase()+a.substr(1);if(a in j.style)return a;for(a=0;a<b.length;++a){var d=b[a]+c;if(d in j.style)return d}}function l(a){"string"===typeof a&&this.parse(a);return this}function q(a,b,c,e){var h=[];
vendor: 5,964 bytes, lines 1784-1796
1784d.each(a,function(a){a=d.camelCase(a);a=d.transit.propertyMap[a]||d.cssProps[a]||a;a=a.replace(/([A-Z])/g,function(a){return"-"+a.toLowerCase()});-1===d.inArray(a,h)&&h.push(a)});d.cssEase[c]&&(c=d.cssEase[c]);
1785var f=""+n(b)+" "+c;0<parseInt(e,10)&&(f+=" "+n(e));var g=[];d.each(h,function(a,b){g.push(b+" "+f)});return g.join(", ")}function f(a,b){b||(d.cssNumber[a]=!0);d.transit.propertyMap[a]=e.transform;d.cssHooks[a]={get:function(b){return d(b).css("transit:transform").get(a)},set:function(b,e){var h=d(b).css("transit:transform");h.setFromString(a,e);d(b).css({"transit:transform":h})}}}function g(a,b){return"string"===typeof a&&!a.match(/^[\-0-9\.]+$/)?a:""+a+b}function n(a){d.fx.speeds[a]&&(a=d.fx.speeds[a]);
1786return g(a,"ms")}d.transit={version:"0.9.9",propertyMap:{marginLeft:"margin",marginRight:"margin",marginBottom:"margin",marginTop:"margin",paddingLeft:"padding",paddingRight:"padding",paddingBottom:"padding",paddingTop:"padding"},enabled:!0,useTransitionEnd:!1};var j=document.createElement("div"),e={},r=-1<navigator.userAgent.toLowerCase().indexOf("chrome");e.transition=m("transition");e.transitionDelay=m("transitionDelay");e.transform=m("transform");e.transformOrigin=m("transformOrigin");j.style[e.transform]=
1787"";j.style[e.transform]="rotateY(90deg)";e.transform3d=""!==j.style[e.transform];var p=e.transitionEnd={transition:"transitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",WebkitTransition:"webkitTransitionEnd",msTransition:"MSTransitionEnd"}[e.transition]||null,k;for(k in e)e.hasOwnProperty(k)&&"undefined"===typeof d.support[k]&&(d.support[k]=e[k]);j=null;d.cssEase={_default:"ease","in":"ease-in",out:"ease-out","in-out":"ease-in-out",snap:"cubic-bezier(0,1,.5,1)",easeOutCubic:"cubic-bezier(.215,.61,.355,1)",
1788easeInOutCubic:"cubic-bezier(.645,.045,.355,1)",easeInCirc:"cubic-bezier(.6,.04,.98,.335)",easeOutCirc:"cubic-bezier(.075,.82,.165,1)",easeInOutCirc:"cubic-bezier(.785,.135,.15,.86)",easeInExpo:"cubic-bezier(.95,.05,.795,.035)",easeOutExpo:"cubic-bezier(.19,1,.22,1)",easeInOutExpo:"cubic-bezier(1,0,0,1)",easeInQuad:"cubic-bezier(.55,.085,.68,.53)",easeOutQuad:"cubic-bezier(.25,.46,.45,.94)",easeInOutQuad:"cubic-bezier(.455,.03,.515,.955)",easeInQuart:"cubic-bezier(.895,.03,.685,.22)",easeOutQuart:"cubic-bezier(.165,.84,.44,1)",
1789easeInOutQuart:"cubic-bezier(.77,0,.175,1)",easeInQuint:"cubic-bezier(.755,.05,.855,.06)",easeOutQuint:"cubic-bezier(.23,1,.32,1)",easeInOutQuint:"cubic-bezier(.86,0,.07,1)",easeInSine:"cubic-bezier(.47,0,.745,.715)",easeOutSine:"cubic-bezier(.39,.575,.565,1)",easeInOutSine:"cubic-bezier(.445,.05,.55,.95)",easeInBack:"cubic-bezier(.6,-.28,.735,.045)",easeOutBack:"cubic-bezier(.175, .885,.32,1.275)",easeInOutBack:"cubic-bezier(.68,-.55,.265,1.55)"};d.cssHooks["transit:transform"]={get:function(a){return d(a).data("transform")||
1790new l},set:function(a,b){var c=b;c instanceof l||(c=new l(c));a.style[e.transform]="WebkitTransform"===e.transform&&!r?c.toString(!0):c.toString();d(a).data("transform",c)}};d.cssHooks.transform={set:d.cssHooks["transit:transform"].set};"1.8">d.fn.jquery&&(d.cssHooks.transformOrigin={get:function(a){return a.style[e.transformOrigin]},set:function(a,b){a.style[e.transformOrigin]=b}},d.cssHooks.transition={get:function(a){return a.style[e.transition]},set:function(a,b){a.style[e.transition]=b}});f("scale");
1791f("translate");f("rotate");f("rotateX");f("rotateY");f("rotate3d");f("perspective");f("skewX");f("skewY");f("x",!0);f("y",!0);l.prototype={setFromString:function(a,b){var c="string"===typeof b?b.split(","):b.constructor===Array?b:[b];c.unshift(a);l.prototype.set.apply(this,c)},set:function(a){var b=Array.prototype.slice.apply(arguments,[1]);this.setter[a]?this.setter[a].apply(this,b):this[a]=b.join(",")},get:function(a){return this.getter[a]?this.getter[a].apply(this):this[a]||0},setter:{rotate:function(a){this.rotate=
1792g(a,"deg")},rotateX:function(a){this.rotateX=g(a,"deg")},rotateY:function(a){this.rotateY=g(a,"deg")},scale:function(a,b){void 0===b&&(b=a);this.scale=a+","+b},skewX:function(a){this.skewX=g(a,"deg")},skewY:function(a){this.skewY=g(a,"deg")},perspective:function(a){this.perspective=g(a,"px")},x:function(a){this.set("translate",a,null)},y:function(a){this.set("translate",null,a)},translate:function(a,b){void 0===this._translateX&&(this._translateX=0);void 0===this._translateY&&(this._translateY=0);
1793null!==a&&void 0!==a&&(this._translateX=g(a,"px"));null!==b&&void 0!==b&&(this._translateY=g(b,"px"));this.translate=this._translateX+","+this._translateY}},getter:{x:function(){return this._translateX||0},y:function(){return this._translateY||0},scale:function(){var a=(this.scale||"1,1").split(",");a[0]&&(a[0]=parseFloat(a[0]));a[1]&&(a[1]=parseFloat(a[1]));return a[0]===a[1]?a[0]:a},rotate3d:function(){for(var a=(this.rotate3d||"0,0,0,0deg").split(","),b=0;3>=b;++b)a[b]&&(a[b]=parseFloat(a[b]));
1794a[3]&&(a[3]=g(a[3],"deg"));return a}},parse:function(a){var b=this;a.replace(/([a-zA-Z0-9]+)\((.*?)\)/g,function(a,d,e){b.setFromString(d,e)})},toString:function(a){var b=[],c;for(c in this)if(this.hasOwnProperty(c)&&(e.transform3d||!("rotateX"===c||"rotateY"===c||"perspective"===c||"transformOrigin"===c)))"_"!==c[0]&&(a&&"scale"===c?b.push(c+"3d("+this[c]+",1)"):a&&"translate"===c?b.push(c+"3d("+this[c]+",0)"):b.push(c+"("+this[c]+")"));return b.join(" ")}};d.fn.transition=d.fn.transit=function(a,
1795b,c,f){var h=this,g=0,j=!0;"function"===typeof b&&(f=b,b=void 0);"function"===typeof c&&(f=c,c=void 0);"undefined"!==typeof a.easing&&(c=a.easing,delete a.easing);"undefined"!==typeof a.duration&&(b=a.duration,delete a.duration);"undefined"!==typeof a.complete&&(f=a.complete,delete a.complete);"undefined"!==typeof a.queue&&(j=a.queue,delete a.queue);"undefined"!==typeof a.delay&&(g=a.delay,delete a.delay);"undefined"===typeof b&&(b=d.fx.speeds._default);"undefined"===typeof c&&(c=d.cssEase._default);
1796b=n(b);var l=q(a,b,c,g),k=d.transit.enabled&&e.transition?parseInt(b,10)+
1796parseInt(g,10):0;if(0===k)return b=j,c=function(b){h.css(a);f&&f.apply(h);b&&b()},!0===b?h.queue(c):b?h.queue(b,c):c(),h;var m={};b=j;c=function(b){this.offsetWidth;var c=!1,g=function(){c&&h.unbind(p,g);0<k&&h.each(function(){this.style[e.transition]=m[this]||null});"function"===typeof f&&f.apply(h);"function"===typeof b&&b()};0<k&&p&&d.transit.useTransitionEnd?(c=!0,h.bind(p,g)):window.setTimeout(g,k);h.each(function(){0<k&&
1797(this.style[e.transition]=l);d(this).css(a)})};!0===b?h.queue(c):b?h.queue(b,c):c();return this};d.transit.getTransitionValue=q})(jQuery);
1798
1799
1800/*! Copyright (c) 2011 Brandon Aaron (http://brandonaaron.net)
1801 * Licensed under the MIT License (LICENSE.txt).
1802 *
1803 * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
1804 * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
1805 * Thanks to: Seamus Leahy for adding deltaX and deltaY
1806 *
1807 * Version: 3.0.6
1808 * 
1809 * Requires: 1.2.2+
1810 */
1811(function(a){function d(b){var c=b||window.event,d=[].slice.call(arguments,1),e=0,f=!0,g=0,h=0;return b=a.event.fix(c),b.type="mousewheel",c.wheelDelta&&(e=c.wheelDelta/120),c.detail&&(e=-c.detail/3),h=e,c.axis!==undefined&&c.axis===c.HORIZONTAL_AXIS&&(h=0,g=-1*e),c.wheelDeltaY!==undefined&&(h=c.wheelDeltaY/120),c.wheelDeltaX!==undefined&&(g=-1*c.wheelDeltaX/120),d.unshift(b,e,g,h),(a.event.dispatch||a.event.handle).apply(this,d)}var b=["DOMMouseScroll","mousewheel"];if(a.event.fixHooks)for(var c=b.length;c;)a.event.fixHooks[b[--c]]=a.event.mouseHooks;a.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var a=b.length;a;)this.addEventListener(b[--a],d,!1);else this.onmousewheel=d},teardown:function(){if(this.removeEventListener)for(var a=b.length;a;)this.removeEventListener(b[--a],d,!1);else this.onmousewheel=null}},a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})})(jQuery)

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.