├── .gitignore
├── img
├── arrow.png
├── bird.png
├── cake.png
├── clouds.png
├── fall.png
├── flash.png
├── ground.png
├── hearts.png
├── house.png
├── leaves.png
├── party.png
├── ribbon.png
├── arrow@2x.png
├── balloon.png
├── bird@2x.png
├── cake@2x.png
├── fall@2x.png
├── flash@2x.png
├── house@2x.png
├── meeting.png
├── party@2x.png
├── proposal.png
├── slowpoke.png
├── balloon@2x.png
├── clouds@2x.png
├── dark_cloud1.png
├── dark_cloud2.png
├── dark_cloud3.png
├── ground@2x.png
├── hearts@2x.png
├── leaves@2x.png
├── meeting@2x.png
├── proposal@2x.png
├── ribbon@2x.png
├── slowpoke@2x.png
├── dark_cloud1@2x.png
├── dark_cloud2@2x.png
└── dark_cloud3@2x.png
├── webfonts
├── 266176_0_0.eot
├── 266176_0_0.ttf
└── 266176_0_0.woff
├── apple-touch-icon-precomposed.png
├── apple-touch-icon-57x57-precomposed.png
├── apple-touch-icon-72x72-precomposed.png
├── apple-touch-icon-114x114-precomposed.png
├── apple-touch-icon-144x144-precomposed.png
├── js
├── plugins.js
├── main.js
└── vendor
│ └── modernizr-2.6.2.min.js
├── css
├── MyFontsWebfontsOrderM4551871.css
├── normalize.css
└── main.css
└── index.html
/.gitignore:
--------------------------------------------------------------------------------
1 | /nbproject/private/
--------------------------------------------------------------------------------
/img/arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/img/arrow.png
--------------------------------------------------------------------------------
/img/bird.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/img/bird.png
--------------------------------------------------------------------------------
/img/cake.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/img/cake.png
--------------------------------------------------------------------------------
/img/clouds.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/img/clouds.png
--------------------------------------------------------------------------------
/img/fall.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/img/fall.png
--------------------------------------------------------------------------------
/img/flash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/img/flash.png
--------------------------------------------------------------------------------
/img/ground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/img/ground.png
--------------------------------------------------------------------------------
/img/hearts.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/img/hearts.png
--------------------------------------------------------------------------------
/img/house.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/img/house.png
--------------------------------------------------------------------------------
/img/leaves.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/img/leaves.png
--------------------------------------------------------------------------------
/img/party.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/img/party.png
--------------------------------------------------------------------------------
/img/ribbon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/img/ribbon.png
--------------------------------------------------------------------------------
/img/arrow@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/img/arrow@2x.png
--------------------------------------------------------------------------------
/img/balloon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/img/balloon.png
--------------------------------------------------------------------------------
/img/bird@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/img/bird@2x.png
--------------------------------------------------------------------------------
/img/cake@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/img/cake@2x.png
--------------------------------------------------------------------------------
/img/fall@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/img/fall@2x.png
--------------------------------------------------------------------------------
/img/flash@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/img/flash@2x.png
--------------------------------------------------------------------------------
/img/house@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/img/house@2x.png
--------------------------------------------------------------------------------
/img/meeting.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/img/meeting.png
--------------------------------------------------------------------------------
/img/party@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/img/party@2x.png
--------------------------------------------------------------------------------
/img/proposal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/img/proposal.png
--------------------------------------------------------------------------------
/img/slowpoke.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/img/slowpoke.png
--------------------------------------------------------------------------------
/img/balloon@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/img/balloon@2x.png
--------------------------------------------------------------------------------
/img/clouds@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/img/clouds@2x.png
--------------------------------------------------------------------------------
/img/dark_cloud1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/img/dark_cloud1.png
--------------------------------------------------------------------------------
/img/dark_cloud2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/img/dark_cloud2.png
--------------------------------------------------------------------------------
/img/dark_cloud3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/img/dark_cloud3.png
--------------------------------------------------------------------------------
/img/ground@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/img/ground@2x.png
--------------------------------------------------------------------------------
/img/hearts@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/img/hearts@2x.png
--------------------------------------------------------------------------------
/img/leaves@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/img/leaves@2x.png
--------------------------------------------------------------------------------
/img/meeting@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/img/meeting@2x.png
--------------------------------------------------------------------------------
/img/proposal@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/img/proposal@2x.png
--------------------------------------------------------------------------------
/img/ribbon@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/img/ribbon@2x.png
--------------------------------------------------------------------------------
/img/slowpoke@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/img/slowpoke@2x.png
--------------------------------------------------------------------------------
/img/dark_cloud1@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/img/dark_cloud1@2x.png
--------------------------------------------------------------------------------
/img/dark_cloud2@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/img/dark_cloud2@2x.png
--------------------------------------------------------------------------------
/img/dark_cloud3@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/img/dark_cloud3@2x.png
--------------------------------------------------------------------------------
/webfonts/266176_0_0.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/webfonts/266176_0_0.eot
--------------------------------------------------------------------------------
/webfonts/266176_0_0.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/webfonts/266176_0_0.ttf
--------------------------------------------------------------------------------
/webfonts/266176_0_0.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/webfonts/266176_0_0.woff
--------------------------------------------------------------------------------
/apple-touch-icon-precomposed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/apple-touch-icon-precomposed.png
--------------------------------------------------------------------------------
/apple-touch-icon-57x57-precomposed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/apple-touch-icon-57x57-precomposed.png
--------------------------------------------------------------------------------
/apple-touch-icon-72x72-precomposed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/apple-touch-icon-72x72-precomposed.png
--------------------------------------------------------------------------------
/apple-touch-icon-114x114-precomposed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/apple-touch-icon-114x114-precomposed.png
--------------------------------------------------------------------------------
/apple-touch-icon-144x144-precomposed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gandhi-wibowo/gandhi-wibowo.github.io/master/apple-touch-icon-144x144-precomposed.png
--------------------------------------------------------------------------------
/js/plugins.js:
--------------------------------------------------------------------------------
1 | // Avoid `console` errors in browsers that lack a console.
2 | (function() {
3 | var method;
4 | var noop = function () {};
5 | var methods = [
6 | 'assert', 'clear', 'count', 'debug', 'dir', 'dirxml', 'error',
7 | 'exception', 'group', 'groupCollapsed', 'groupEnd', 'info', 'log',
8 | 'markTimeline', 'profile', 'profileEnd', 'table', 'time', 'timeEnd',
9 | 'timeStamp', 'trace', 'warn'
10 | ];
11 | var length = methods.length;
12 | var console = (window.console = window.console || {});
13 |
14 | while (length--) {
15 | method = methods[length];
16 |
17 | // Only stub undefined methods.
18 | if (!console[method]) {
19 | console[method] = noop;
20 | }
21 | }
22 | }());
--------------------------------------------------------------------------------
/css/MyFontsWebfontsOrderM4551871.css:
--------------------------------------------------------------------------------
1 | /* @license
2 | * MyFonts Webfont Build ID 2515318, 2013-03-27T05:29:10-0400
3 | *
4 | * The fonts listed in this notice are subject to the End User License
5 | * Agreement(s) entered into by the website owner. All other parties are
6 | * explicitly restricted from using the Licensed Webfonts(s).
7 | *
8 | * You may obtain a valid license at the URLs below.
9 | *
10 | * Webfont: Sreda by Glen Jan
11 | * URL: http://www.myfonts.com/fonts/glen-jan/sreda/regular/
12 | * Copyright: Copyright (c) 2011-2012 by Glenjan. All rights reserved.
13 | * Licensed pageviews: Unlimited
14 | *
15 | *
16 | * License: http://www.myfonts.com/viewlicense?type=web&buildid=2515318
17 | *
18 | * © 2013 MyFonts Inc
19 | */
20 |
21 |
22 |
23 |
24 |
25 | @font-face {font-family: 'Sreda';src: url('../webfonts/266176_0_0.eot');src: url('../webfonts/266176_0_0.eot?#iefix') format('embedded-opentype'),url('../webfonts/266176_0_0.woff') format('woff'),url('../webfonts/266176_0_0.ttf') format('truetype'),url('../webfonts/266176_0_0.svg#wf') format('svg');}
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Gandhi and Anis are getting married
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
9 Aug
28 |
Anis
29 |
Gandhi
30 |
2020
31 |
32 |
33 |
34 |
35 | 1
36 | 2
37 | 3
38 | 4
39 | 5
40 | 6
41 | 7
42 | 8
43 |
44 |
45 |
46 |
Scroll down
47 |
48 | Hay Kisah yang ditentukan allah untuk kami sangatlah menarik...
49 |
50 |
51 |
52 |
53 |
Dari tidak saling kenal Disuatu workshop kami dipertemukan, Gandhi sebagai pembawa materi, dan Anis salah satu pesertanya .
54 |
Hingga mulai berteman Semenjak saat itu, kami mulai dekat dan saling berkomunikasi, dari yang awalnya hanya menanyakan perihal pekerjaan, hingga akhirnya saling menceritakan keluh kesah.
55 |
56 |
57 |
58 |
59 |
Lalu rasa yakin datang
60 | Kedekatan itu membuat Gandhi pun memantapkan pandangannya, dan memilih Anis sebagai Wanita pendamping hidupnya.
61 |
62 |
63 |
64 |
65 |
66 |
Bismillah Hati sudah memantapkan pilihan, Gandhi memperjuangkan kemantapan hatinya dengan menemui orang tua Anis, Dan mengatakan Tujuannya : Yaitu meminta izin untuk Menikahi anak mereka (Anis).
67 |
68 |
69 |
70 |
71 |
Kendala muncul Padahal rencana - rencana indah sudah disusun.
72 |
Corona Iya, engkau mengambil peran dalam kisah kami ini.
73 |
74 |
75 |
76 |
77 |
78 |
79 |
Alhamdulillah Keadaan mulai membaik, New Normal diberlakukan, Dan Kami langsung menyusun ulang rencana terbaik untuk hubungan kami.
80 |
81 |
82 |
83 |
Yap, Ini rencana kami !
84 | Kami akan melakukan pernikahan pada tanggal 9 Agustus 2020.
85 | Mohon doa terbaiknya ya.
86 | Terimakasih
87 |
TAPIIII !
88 | Karena anjuran PSBB maka kami mohon maaf yang sebesar - besarnya, karena tidak bisa mengundang teman-teman dalam acara kami ini.
89 | Atas perhatiannya, kami ucapkan terimakasih banyak.
90 |
91 |
92 |
93 |
94 |
99 |
100 |
101 |
102 | VIDEO
103 |
104 |
105 |
--------------------------------------------------------------------------------
/js/main.js:
--------------------------------------------------------------------------------
1 | var animationMethods = {
2 | slideInFromTheSide: function(callback) {
3 | return function() {
4 | if ($(this).hasClass('right')) {
5 | $(this).animate({"margin-right": '0px'}, 500, callback);
6 | } else if ($(this).hasClass('left')) {
7 | $(this).animate({"margin-left": '0px'}, 500, callback);
8 | }
9 | }
10 | },
11 | slideBackToTheSide: function(callback) {
12 | return function() {
13 | if ($(this).hasClass('right')) {
14 | $(this).animate({"margin-right": '-1800px'}, 500, callback);
15 | } else if ($(this).hasClass('left')) {
16 | $(this).animate({"margin-left": '-1800px'}, 500, callback);
17 | }
18 | }
19 | },
20 | selectNavItem: function() {
21 | $("nav li").removeClass("selected");
22 | $("nav a[href=#"+$(this).attr('id')+"]").parent().addClass("selected");
23 | }
24 | }
25 |
26 | var BeginningZone = function($element) {
27 | this.moveIn = function() {
28 | $element.each(animationMethods.selectNavItem);
29 | }
30 |
31 | this.moveOut = function() {};
32 | }
33 |
34 | var MeetingZone = function($element) {
35 | var $meeting = $element.find("#the-meeting");
36 | var $text = $element.find("p");
37 | var that = this;
38 |
39 | this.moveIn = function() {
40 | $.each($text, animationMethods.slideInFromTheSide());
41 | $meeting.animate({opacity: 1.0}, 'quick');
42 | $element.each(animationMethods.selectNavItem);
43 | }
44 |
45 | this.moveOut = function() {
46 | $.each($text, animationMethods.slideBackToTheSide());
47 | $meeting.animate({opacity: 0.0}, 'quick');
48 | }
49 | }
50 |
51 | var InLoveZone = function($element) {
52 | var that = this;
53 | var $lovers = $element.find("#lovers");
54 | var $text = $element.find("p");
55 |
56 | this.moveIn = function() {
57 | $.each($text, animationMethods.slideInFromTheSide());
58 | $.each($lovers, animationMethods.slideInFromTheSide());
59 | $element.each(animationMethods.selectNavItem);
60 | }
61 |
62 | this.moveOut = function() {
63 | $.each($text, animationMethods.slideBackToTheSide());
64 | $.each($lovers, animationMethods.slideBackToTheSide());
65 | }
66 | }
67 |
68 | var StormZone = function($element) {
69 | var that = this;
70 | var $dominant_cloud = $element.find(".dark-cloud-2");
71 | var $left_cloud = $element.find(".dark-cloud-1");
72 | var $right_cloud = $element.find(".dark-cloud-3");
73 | var $lightning = $element.find(".lightning");
74 | var $text = $element.find("p");
75 |
76 | this.moveIn = function() {
77 | $dominant_cloud.each(animationMethods.slideInFromTheSide(function() {
78 | $lightning.show();
79 | }));
80 | $([$left_cloud, $right_cloud]).each(animationMethods.slideInFromTheSide());
81 | $text.each(animationMethods.slideInFromTheSide());
82 | $element.each(animationMethods.selectNavItem);
83 | }
84 |
85 | this.moveOut = function() {
86 | $lightning.hide();
87 | $([$dominant_cloud, $left_cloud]).each(animationMethods.slideBackToTheSide());
88 | $right_cloud.each(animationMethods.slideBackToTheSide());
89 | $text.each(animationMethods.slideBackToTheSide());
90 | }
91 | }
92 |
93 | var MoveInZone = function($element) {
94 | var that = this;
95 | var $text = $element.find("p");
96 |
97 | this.moveIn = function() {
98 | $text.each(animationMethods.slideInFromTheSide());
99 | $element.each(animationMethods.selectNavItem);
100 | }
101 |
102 | this.moveOut = function() {
103 | $text.each(animationMethods.slideBackToTheSide());
104 | }
105 | }
106 |
107 | var ProposalZone = function($element) {
108 | var that = this;
109 | var $text = $element.find("p");
110 |
111 | this.moveIn = function() {
112 | $text.each(animationMethods.slideInFromTheSide());
113 | $element.each(animationMethods.selectNavItem);
114 | }
115 |
116 | this.moveOut = function() {
117 | $text.each(animationMethods.slideBackToTheSide());
118 | }
119 | }
120 |
121 | var MarriageZone = function($element) {
122 | var that = this;
123 | var $text = $element.find("p");
124 |
125 | this.moveIn = function() {
126 | $text.each(animationMethods.slideInFromTheSide());
127 | $element.each(animationMethods.selectNavItem);
128 | }
129 |
130 | this.moveOut = function() {
131 | $text.each(animationMethods.slideBackToTheSide());
132 | }
133 | }
134 |
135 | $(document).ready(function() {
136 | var RAISE_THRESHOLD = 950;
137 | var DESCENT_THRESHOLD = 240;
138 | var HIDDEN_HEIGHT_AT_ARRIVAL = 190;
139 |
140 | var atArrival = $(window).scrollTop() < 30;
141 | var atDeparture = $(document).height() - $(window).scrollTop() - $(window).height() < 30;
142 | var lastScrollTop = 0;
143 | var activeZone = null;
144 | var $balloon = $("#balloon");
145 |
146 | var CLOUDS = [
147 | {top: "400", offset: "-450px", css_class: "cloud-1", delay: .8},
148 | {top: "500", offset: "320px", css_class: "cloud-3", delay: 1.2},
149 | {top: "400", offset: "450px", css_class: "cloud-bird", delay: .3},
150 | {top: "900", offset: "-320px", css_class: "cloud-2", delay: .2},
151 | {top: "1500", offset: "280px", css_class: "cloud-2", delay: .8},
152 | {top: "2250", offset: "-380px", css_class: "cloud-4", delay: 1.2},
153 | {top: "2950", offset: "-380px", css_class: "cloud-1", delay: .8},
154 | {top: "3750", offset: "380px", css_class: "cloud-6", delay: .7},
155 | {top: "4050", offset: "-380px", css_class: "cloud-5", delay: 1.2},
156 | {top: "4565", offset: "360px", css_class: "cloud-3", delay: .9},
157 | {top: "4999", offset: "-430px", css_class: "cloud-1", delay: 1.4},
158 | {top: "5445", offset: "330px", css_class: "cloud-2", delay: .8},
159 | {top: "5629", offset: "-430px", css_class: "cloud-4", delay: .5},
160 | {top: "5629", offset: "-430px", css_class: "cloud-2", delay: .1}
161 | ];
162 |
163 | var zoneControllers = {
164 | "zone-beginning" : new BeginningZone($("#zone-beginning")),
165 | "zone-meeting" : new MeetingZone($("#zone-meeting")),
166 | "zone-in-love" : new InLoveZone($("#zone-in-love")),
167 | "zone-storm" : new StormZone($("#zone-storm")),
168 | "zone-move-in" : new MoveInZone($("#zone-move-in")),
169 | "zone-proposal" : new ProposalZone($("#zone-proposal")),
170 | "zone-marriage" : new MarriageZone($("#zone-marriage")),
171 | "zone-blank" : new MarriageZone($("#zone-blank"))
172 | }
173 |
174 | $.each(zoneControllers, function(index, controller) {
175 | controller.moveOut();
176 | });
177 |
178 | var zones = [];
179 |
180 | $(".moment").each(function(index, moment) {
181 | var offset = $(moment).offset();
182 | zones.push({
183 | start: offset.top,
184 | end: offset.top + $(moment).height(),
185 | moment: $(moment),
186 | controller: zoneControllers[moment.id],
187 | name: $(moment).find("strong").text()
188 | });
189 | });
190 |
191 | function createClouds() {
192 | var cloudIndex = 0;
193 | $moments = $(".moment").not(".bad");
194 |
195 | $.each(CLOUDS, function(index, cloud) {
196 | var $cloud = $("").addClass("clouding").
197 | addClass(cloud.css_class).
198 | addClass("cloud").
199 | attr('id', 'cloud-' + index).
200 | css("top", cloud.top + 'px').
201 | css("margin-left", cloud.offset);
202 | $("body").append($cloud);
203 |
204 | $(window).scroll(function() {
205 | $cloud.css({
206 | top: function(index, value) {
207 | return (cloud.top - $(window).scrollTop() * cloud.delay);
208 | }
209 | });
210 | });
211 | });
212 | }
213 |
214 | var animationHandler = function(e) {
215 | var scrollTop = $(this).scrollTop();
216 | var isMovingDown = scrollTop > lastScrollTop;
217 | var isMovingUp = !isMovingDown;
218 | var scrollBottom = $(document).height() - scrollTop - $(window).height();
219 | var maxBalloons = $(window).height() / 940;
220 | var marginTopArrival = -HIDDEN_HEIGHT_AT_ARRIVAL;
221 | var marginTopFlying = maxBalloons < 1 ? -((1 - maxBalloons) * 940) : 0;
222 | var marginTopDeparture = -((1 - maxBalloons) * 940);
223 |
224 | var isReturningToArrivalPoint = scrollTop < 30 && isMovingUp;
225 | var isArriving = scrollTop > 30 && isMovingDown;
226 | var isDeparturing = scrollBottom < 30 && isMovingDown;
227 | var isLeavingDeparturePoint = scrollBottom > 30 && isMovingUp;
228 |
229 | var flagOffset = scrollTop + parseInt($balloon.css('margin-top'));
230 | var basketOffset = flagOffset + 940;
231 |
232 | var edgePoint = isMovingUp ? flagOffset + RAISE_THRESHOLD : basketOffset - DESCENT_THRESHOLD;
233 |
234 | $.each(zones, function(index, zone) {
235 | if ((!activeZone || activeZone != zone) && edgePoint >= zone.start && edgePoint <= zone.end) {
236 | if (activeZone && activeZone.controller) {
237 | activeZone.controller.moveOut();
238 | }
239 | activeZone = zone;
240 | if (activeZone && activeZone.controller) {
241 | activeZone.controller.moveIn();
242 | }
243 | return false;
244 | }
245 | });
246 |
247 | if (atArrival && isArriving) {
248 | atArrival = false;
249 | $balloon.removeClass('soaring').addClass('rocking');
250 | $balloon.animate({"margin-top": marginTopFlying + 'px'}, 1000);
251 | setTimeout(function() {
252 | $balloon.removeClass('rocking').addClass('soaring');
253 | }, 2000);
254 | } else if (!atArrival && isReturningToArrivalPoint) {
255 | atArrival = true;
256 | $balloon.animate({"margin-top": marginTopArrival + 'px'}, 1000);
257 | } else if (!atDeparture && isDeparturing) {
258 | atDeparture = true;
259 | $balloon.animate({"margin-top" : marginTopDeparture + 'px'}, 1000);
260 | } else if (atDeparture && isLeavingDeparturePoint) {
261 | atDeparture = false;
262 | $("#balloon").animate({"margin-top": marginTopFlying + 'px'}, 1000);
263 | }
264 |
265 | lastScrollTop = scrollTop;
266 | }
267 |
268 | function setUpAnimations() {
269 | $(window).scroll(animationHandler);
270 | }
271 |
272 | function setUpNavigation() {
273 | $("nav li").click(function(e) {
274 | var $moment = $($(this).find('a').attr('href'));
275 | var balloonMarginTop = parseInt($balloon.css('margin-top'))
276 | var hiddenBalloonHeight = balloonMarginTop < 0 ? -1 * balloonMarginTop : 0;
277 |
278 | $moment.each(animationMethods.selectNavItem);
279 |
280 | $('html, body').animate({
281 | scrollTop: $moment.offset().top - $moment.height() / 2 + hiddenBalloonHeight - 100
282 | }, 1000);
283 |
284 | e.preventDefault();
285 | return false;
286 | })
287 | }
288 |
289 | createClouds();
290 | setUpAnimations();
291 | setUpNavigation();
292 |
293 | setTimeout(function() {
294 | $(window).trigger('scroll')
295 | }, 200);
296 | });
--------------------------------------------------------------------------------
/css/normalize.css:
--------------------------------------------------------------------------------
1 | /*! normalize.css v1.1.1 | MIT License | git.io/normalize */
2 |
3 | /* ==========================================================================
4 | HTML5 display definitions
5 | ========================================================================== */
6 |
7 | /**
8 | * Correct `block` display not defined in IE 6/7/8/9 and Firefox 3.
9 | */
10 |
11 | article,
12 | aside,
13 | details,
14 | figcaption,
15 | figure,
16 | footer,
17 | header,
18 | hgroup,
19 | main,
20 | nav,
21 | section,
22 | summary {
23 | display: block;
24 | }
25 |
26 | /**
27 | * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.
28 | */
29 |
30 | audio,
31 | canvas,
32 | video {
33 | display: inline-block;
34 | *display: inline;
35 | *zoom: 1;
36 | }
37 |
38 | /**
39 | * Prevent modern browsers from displaying `audio` without controls.
40 | * Remove excess height in iOS 5 devices.
41 | */
42 |
43 | audio:not([controls]) {
44 | display: none;
45 | height: 0;
46 | }
47 |
48 | /**
49 | * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4.
50 | * Known issue: no IE 6 support.
51 | */
52 |
53 | [hidden] {
54 | display: none;
55 | }
56 |
57 | /* ==========================================================================
58 | Base
59 | ========================================================================== */
60 |
61 | /**
62 | * 1. Prevent system color scheme's background color being used in Firefox, IE,
63 | * and Opera.
64 | * 2. Prevent system color scheme's text color being used in Firefox, IE, and
65 | * Opera.
66 | * 3. Correct text resizing oddly in IE 6/7 when body `font-size` is set using
67 | * `em` units.
68 | * 4. Prevent iOS text size adjust after orientation change, without disabling
69 | * user zoom.
70 | */
71 |
72 | html {
73 | background: #fff; /* 1 */
74 | color: #000; /* 2 */
75 | font-size: 100%; /* 3 */
76 | -webkit-text-size-adjust: 100%; /* 4 */
77 | -ms-text-size-adjust: 100%; /* 4 */
78 | }
79 |
80 | /**
81 | * Address `font-family` inconsistency between `textarea` and other form
82 | * elements.
83 | */
84 |
85 | html,
86 | button,
87 | input,
88 | select,
89 | textarea {
90 | font-family: sans-serif;
91 | }
92 |
93 | /**
94 | * Address margins handled incorrectly in IE 6/7.
95 | */
96 |
97 | body {
98 | margin: 0;
99 | }
100 |
101 | /* ==========================================================================
102 | Links
103 | ========================================================================== */
104 |
105 | /**
106 | * Address `outline` inconsistency between Chrome and other browsers.
107 | */
108 |
109 | a:focus {
110 | outline: thin dotted;
111 | }
112 |
113 | /**
114 | * Improve readability when focused and also mouse hovered in all browsers.
115 | */
116 |
117 | a:active,
118 | a:hover {
119 | outline: 0;
120 | }
121 |
122 | /* ==========================================================================
123 | Typography
124 | ========================================================================== */
125 |
126 | /**
127 | * Address font sizes and margins set differently in IE 6/7.
128 | * Address font sizes within `section` and `article` in Firefox 4+, Safari 5,
129 | * and Chrome.
130 | */
131 |
132 | h1 {
133 | font-size: 2em;
134 | margin: 0.67em 0;
135 | }
136 |
137 | h2 {
138 | font-size: 1.5em;
139 | margin: 0.83em 0;
140 | }
141 |
142 | h3 {
143 | font-size: 1.17em;
144 | margin: 1em 0;
145 | }
146 |
147 | h4 {
148 | font-size: 1em;
149 | margin: 1.33em 0;
150 | }
151 |
152 | h5 {
153 | font-size: 0.83em;
154 | margin: 1.67em 0;
155 | }
156 |
157 | h6 {
158 | font-size: 0.67em;
159 | margin: 2.33em 0;
160 | }
161 |
162 | /**
163 | * Address styling not present in IE 7/8/9, Safari 5, and Chrome.
164 | */
165 |
166 | abbr[title] {
167 | border-bottom: 1px dotted;
168 | }
169 |
170 | /**
171 | * Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome.
172 | */
173 |
174 | b,
175 | strong {
176 | font-weight: bold;
177 | }
178 |
179 | blockquote {
180 | margin: 1em 40px;
181 | }
182 |
183 | /**
184 | * Address styling not present in Safari 5 and Chrome.
185 | */
186 |
187 | dfn {
188 | font-style: italic;
189 | }
190 |
191 | /**
192 | * Address differences between Firefox and other browsers.
193 | * Known issue: no IE 6/7 normalization.
194 | */
195 |
196 | hr {
197 | -moz-box-sizing: content-box;
198 | box-sizing: content-box;
199 | height: 0;
200 | }
201 |
202 | /**
203 | * Address styling not present in IE 6/7/8/9.
204 | */
205 |
206 | mark {
207 | background: #ff0;
208 | color: #000;
209 | }
210 |
211 | /**
212 | * Address margins set differently in IE 6/7.
213 | */
214 |
215 | p,
216 | pre {
217 | margin: 1em 0;
218 | }
219 |
220 | /**
221 | * Correct font family set oddly in IE 6, Safari 4/5, and Chrome.
222 | */
223 |
224 | code,
225 | kbd,
226 | pre,
227 | samp {
228 | font-family: monospace, serif;
229 | _font-family: 'courier new', monospace;
230 | font-size: 1em;
231 | }
232 |
233 | /**
234 | * Improve readability of pre-formatted text in all browsers.
235 | */
236 |
237 | pre {
238 | white-space: pre;
239 | white-space: pre-wrap;
240 | word-wrap: break-word;
241 | }
242 |
243 | /**
244 | * Address CSS quotes not supported in IE 6/7.
245 | */
246 |
247 | q {
248 | quotes: none;
249 | }
250 |
251 | /**
252 | * Address `quotes` property not supported in Safari 4.
253 | */
254 |
255 | q:before,
256 | q:after {
257 | content: '';
258 | content: none;
259 | }
260 |
261 | /**
262 | * Address inconsistent and variable font size in all browsers.
263 | */
264 |
265 | small {
266 | font-size: 80%;
267 | }
268 |
269 | /**
270 | * Prevent `sub` and `sup` affecting `line-height` in all browsers.
271 | */
272 |
273 | sub,
274 | sup {
275 | font-size: 75%;
276 | line-height: 0;
277 | position: relative;
278 | vertical-align: baseline;
279 | }
280 |
281 | sup {
282 | top: -0.5em;
283 | }
284 |
285 | sub {
286 | bottom: -0.25em;
287 | }
288 |
289 | /* ==========================================================================
290 | Lists
291 | ========================================================================== */
292 |
293 | /**
294 | * Address margins set differently in IE 6/7.
295 | */
296 |
297 | dl,
298 | menu,
299 | ol,
300 | ul {
301 | margin: 1em 0;
302 | }
303 |
304 | dd {
305 | margin: 0 0 0 40px;
306 | }
307 |
308 | /**
309 | * Address paddings set differently in IE 6/7.
310 | */
311 |
312 | menu,
313 | ol,
314 | ul {
315 | padding: 0 0 0 40px;
316 | }
317 |
318 | /**
319 | * Correct list images handled incorrectly in IE 7.
320 | */
321 |
322 | nav ul,
323 | nav ol {
324 | list-style: none;
325 | list-style-image: none;
326 | }
327 |
328 | /* ==========================================================================
329 | Embedded content
330 | ========================================================================== */
331 |
332 | /**
333 | * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3.
334 | * 2. Improve image quality when scaled in IE 7.
335 | */
336 |
337 | img {
338 | border: 0; /* 1 */
339 | -ms-interpolation-mode: bicubic; /* 2 */
340 | }
341 |
342 | /**
343 | * Correct overflow displayed oddly in IE 9.
344 | */
345 |
346 | svg:not(:root) {
347 | overflow: hidden;
348 | }
349 |
350 | /* ==========================================================================
351 | Figures
352 | ========================================================================== */
353 |
354 | /**
355 | * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11.
356 | */
357 |
358 | figure {
359 | margin: 0;
360 | }
361 |
362 | /* ==========================================================================
363 | Forms
364 | ========================================================================== */
365 |
366 | /**
367 | * Correct margin displayed oddly in IE 6/7.
368 | */
369 |
370 | form {
371 | margin: 0;
372 | }
373 |
374 | /**
375 | * Define consistent border, margin, and padding.
376 | */
377 |
378 | fieldset {
379 | border: 1px solid #c0c0c0;
380 | margin: 0 2px;
381 | padding: 0.35em 0.625em 0.75em;
382 | }
383 |
384 | /**
385 | * 1. Correct color not being inherited in IE 6/7/8/9.
386 | * 2. Correct text not wrapping in Firefox 3.
387 | * 3. Correct alignment displayed oddly in IE 6/7.
388 | */
389 |
390 | legend {
391 | border: 0; /* 1 */
392 | padding: 0;
393 | white-space: normal; /* 2 */
394 | *margin-left: -7px; /* 3 */
395 | }
396 |
397 | /**
398 | * 1. Correct font size not being inherited in all browsers.
399 | * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5,
400 | * and Chrome.
401 | * 3. Improve appearance and consistency in all browsers.
402 | */
403 |
404 | button,
405 | input,
406 | select,
407 | textarea {
408 | font-size: 100%; /* 1 */
409 | margin: 0; /* 2 */
410 | vertical-align: baseline; /* 3 */
411 | *vertical-align: middle; /* 3 */
412 | }
413 |
414 | /**
415 | * Address Firefox 3+ setting `line-height` on `input` using `!important` in
416 | * the UA stylesheet.
417 | */
418 |
419 | button,
420 | input {
421 | line-height: normal;
422 | }
423 |
424 | /**
425 | * Address inconsistent `text-transform` inheritance for `button` and `select`.
426 | * All other form control elements do not inherit `text-transform` values.
427 | * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+.
428 | * Correct `select` style inheritance in Firefox 4+ and Opera.
429 | */
430 |
431 | button,
432 | select {
433 | text-transform: none;
434 | }
435 |
436 | /**
437 | * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
438 | * and `video` controls.
439 | * 2. Correct inability to style clickable `input` types in iOS.
440 | * 3. Improve usability and consistency of cursor style between image-type
441 | * `input` and others.
442 | * 4. Remove inner spacing in IE 7 without affecting normal text inputs.
443 | * Known issue: inner spacing remains in IE 6.
444 | */
445 |
446 | button,
447 | html input[type="button"], /* 1 */
448 | input[type="reset"],
449 | input[type="submit"] {
450 | -webkit-appearance: button; /* 2 */
451 | cursor: pointer; /* 3 */
452 | *overflow: visible; /* 4 */
453 | }
454 |
455 | /**
456 | * Re-set default cursor for disabled elements.
457 | */
458 |
459 | button[disabled],
460 | html input[disabled] {
461 | cursor: default;
462 | }
463 |
464 | /**
465 | * 1. Address box sizing set to content-box in IE 8/9.
466 | * 2. Remove excess padding in IE 8/9.
467 | * 3. Remove excess padding in IE 7.
468 | * Known issue: excess padding remains in IE 6.
469 | */
470 |
471 | input[type="checkbox"],
472 | input[type="radio"] {
473 | box-sizing: border-box; /* 1 */
474 | padding: 0; /* 2 */
475 | *height: 13px; /* 3 */
476 | *width: 13px; /* 3 */
477 | }
478 |
479 | /**
480 | * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
481 | * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
482 | * (include `-moz` to future-proof).
483 | */
484 |
485 | input[type="search"] {
486 | -webkit-appearance: textfield; /* 1 */
487 | -moz-box-sizing: content-box;
488 | -webkit-box-sizing: content-box; /* 2 */
489 | box-sizing: content-box;
490 | }
491 |
492 | /**
493 | * Remove inner padding and search cancel button in Safari 5 and Chrome
494 | * on OS X.
495 | */
496 |
497 | input[type="search"]::-webkit-search-cancel-button,
498 | input[type="search"]::-webkit-search-decoration {
499 | -webkit-appearance: none;
500 | }
501 |
502 | /**
503 | * Remove inner padding and border in Firefox 3+.
504 | */
505 |
506 | button::-moz-focus-inner,
507 | input::-moz-focus-inner {
508 | border: 0;
509 | padding: 0;
510 | }
511 |
512 | /**
513 | * 1. Remove default vertical scrollbar in IE 6/7/8/9.
514 | * 2. Improve readability and alignment in all browsers.
515 | */
516 |
517 | textarea {
518 | overflow: auto; /* 1 */
519 | vertical-align: top; /* 2 */
520 | }
521 |
522 | /* ==========================================================================
523 | Tables
524 | ========================================================================== */
525 |
526 | /**
527 | * Remove most spacing between table cells.
528 | */
529 |
530 | table {
531 | border-collapse: collapse;
532 | border-spacing: 0;
533 | }
--------------------------------------------------------------------------------
/js/vendor/modernizr-2.6.2.min.js:
--------------------------------------------------------------------------------
1 | /* Modernizr 2.6.2 (Custom Build) | MIT & BSD
2 | * Build: http://modernizr.com/download/#-fontface-backgroundsize-borderimage-borderradius-boxshadow-flexbox-hsla-multiplebgs-opacity-rgba-textshadow-cssanimations-csscolumns-generatedcontent-cssgradients-cssreflections-csstransforms-csstransforms3d-csstransitions-applicationcache-canvas-canvastext-draganddrop-hashchange-history-audio-video-indexeddb-input-inputtypes-localstorage-postmessage-sessionstorage-websockets-websqldatabase-webworkers-geolocation-inlinesvg-smil-svg-svgclippaths-touch-webgl-shiv-mq-cssclasses-addtest-prefixed-teststyles-testprop-testallprops-hasevent-prefixes-domprefixes-load
3 | */
4 | ;window.Modernizr=function(a,b,c){function D(a){j.cssText=a}function E(a,b){return D(n.join(a+";")+(b||""))}function F(a,b){return typeof a===b}function G(a,b){return!!~(""+a).indexOf(b)}function H(a,b){for(var d in a){var e=a[d];if(!G(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function I(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:F(f,"function")?f.bind(d||b):f}return!1}function J(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+p.join(d+" ")+d).split(" ");return F(b,"string")||F(b,"undefined")?H(e,b):(e=(a+" "+q.join(d+" ")+d).split(" "),I(e,b,c))}function K(){e.input=function(c){for(var d=0,e=c.length;d',a,""].join(""),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=g.style.overflow,g.style.overflow="hidden",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},z=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b).matches;var d;return y("@media "+b+" { #"+h+" { position: absolute; } }",function(b){d=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle)["position"]=="absolute"}),d},A=function(){function d(d,e){e=e||b.createElement(a[d]||"div"),d="on"+d;var f=d in e;return f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=F(e[d],"function"),F(e[d],"undefined")||(e[d]=c),e.removeAttribute(d))),e=null,f}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return d}(),B={}.hasOwnProperty,C;!F(B,"undefined")&&!F(B.call,"undefined")?C=function(a,b){return B.call(a,b)}:C=function(a,b){return b in a&&F(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=w.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(w.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(w.call(arguments)))};return e}),s.flexbox=function(){return J("flexWrap")},s.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},s.canvastext=function(){return!!e.canvas&&!!F(b.createElement("canvas").getContext("2d").fillText,"function")},s.webgl=function(){return!!a.WebGLRenderingContext},s.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:y(["@media (",n.join("touch-enabled),("),h,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=a.offsetTop===9}),c},s.geolocation=function(){return"geolocation"in navigator},s.postmessage=function(){return!!a.postMessage},s.websqldatabase=function(){return!!a.openDatabase},s.indexedDB=function(){return!!J("indexedDB",a)},s.hashchange=function(){return A("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},s.history=function(){return!!a.history&&!!history.pushState},s.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},s.websockets=function(){return"WebSocket"in a||"MozWebSocket"in a},s.rgba=function(){return D("background-color:rgba(150,255,150,.5)"),G(j.backgroundColor,"rgba")},s.hsla=function(){return D("background-color:hsla(120,40%,100%,.5)"),G(j.backgroundColor,"rgba")||G(j.backgroundColor,"hsla")},s.multiplebgs=function(){return D("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(j.background)},s.backgroundsize=function(){return J("backgroundSize")},s.borderimage=function(){return J("borderImage")},s.borderradius=function(){return J("borderRadius")},s.boxshadow=function(){return J("boxShadow")},s.textshadow=function(){return b.createElement("div").style.textShadow===""},s.opacity=function(){return E("opacity:.55"),/^0.55$/.test(j.opacity)},s.cssanimations=function(){return J("animationName")},s.csscolumns=function(){return J("columnCount")},s.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";return D((a+"-webkit- ".split(" ").join(b+a)+n.join(c+a)).slice(0,-a.length)),G(j.backgroundImage,"gradient")},s.cssreflections=function(){return J("boxReflect")},s.csstransforms=function(){return!!J("transform")},s.csstransforms3d=function(){var a=!!J("perspective");return a&&"webkitPerspective"in g.style&&y("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b,c){a=b.offsetLeft===9&&b.offsetHeight===3}),a},s.csstransitions=function(){return J("transition")},s.fontface=function(){var a;return y('@font-face {font-family:"font";src:url("https://")}',function(c,d){var e=b.getElementById("smodernizr"),f=e.sheet||e.styleSheet,g=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"":"";a=/src/i.test(g)&&g.indexOf(d.split(" ")[0])===0}),a},s.generatedcontent=function(){var a;return y(["#",h,"{font:0/0 a}#",h,':after{content:"',l,'";visibility:hidden;font:3px/1 a}'].join(""),function(b){a=b.offsetHeight>=3}),a},s.video=function(){var a=b.createElement("video"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),c.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")}catch(d){}return c},s.audio=function(){var a=b.createElement("audio"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),c.mp3=a.canPlayType("audio/mpeg;").replace(/^no$/,""),c.wav=a.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),c.m4a=(a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")).replace(/^no$/,"")}catch(d){}return c},s.localstorage=function(){try{return localStorage.setItem(h,h),localStorage.removeItem(h),!0}catch(a){return!1}},s.sessionstorage=function(){try{return sessionStorage.setItem(h,h),sessionStorage.removeItem(h),!0}catch(a){return!1}},s.webworkers=function(){return!!a.Worker},s.applicationcache=function(){return!!a.applicationCache},s.svg=function(){return!!b.createElementNS&&!!b.createElementNS(r.svg,"svg").createSVGRect},s.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML=" ",(a.firstChild&&a.firstChild.namespaceURI)==r.svg},s.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(m.call(b.createElementNS(r.svg,"animate")))},s.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(m.call(b.createElementNS(r.svg,"clipPath")))};for(var L in s)C(s,L)&&(x=L.toLowerCase(),e[x]=s[L](),v.push((e[x]?"":"no-")+x));return e.input||K(),e.addTest=function(a,b){if(typeof a=="object")for(var d in a)C(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},D(""),i=k=null,function(a,b){function k(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function l(){var a=r.elements;return typeof a=="string"?a.split(" "):a}function m(a){var b=i[a[g]];return b||(b={},h++,a[g]=h,i[h]=b),b}function n(a,c,f){c||(c=b);if(j)return c.createElement(a);f||(f=m(c));var g;return f.cache[a]?g=f.cache[a].cloneNode():e.test(a)?g=(f.cache[a]=f.createElem(a)).cloneNode():g=f.createElem(a),g.canHaveChildren&&!d.test(a)?f.frag.appendChild(g):g}function o(a,c){a||(a=b);if(j)return a.createDocumentFragment();c=c||m(a);var d=c.frag.cloneNode(),e=0,f=l(),g=f.length;for(;e",f="hidden"in a,j=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){f=!0,j=!0}})();var r={elements:c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:c.shivCSS!==!1,supportsUnknownElements:j,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:q,createElement:n,createDocumentFragment:o};a.html5=r,q(b)}(this,b),e._version=d,e._prefixes=n,e._domPrefixes=q,e._cssomPrefixes=p,e.mq=z,e.hasEvent=A,e.testProp=function(a){return H([a])},e.testAllProps=J,e.testStyles=y,e.prefixed=function(a,b,c){return b?J(a,b,c):J(a,"pfx")},g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+v.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f