Initial commit

James Peret 7 years ago
commit
2ca818fa8d
21 changed files with 1750 additions and 0 deletions
  1. 13 0
      .editorconfig
  2. 1 0
      .gitattributes
  3. 4 0
      .gitignore
  4. 935 0
      .htaccess
  5. 60 0
      404.html
  6. BIN
      apple-touch-icon.png
  7. 12 0
      browserconfig.xml
  8. 212 0
      css/main.css
  9. 427 0
      css/normalize.css
  10. 1 0
      css/normalize.min.css
  11. BIN
      favicon.ico
  12. 15 0
      humans.txt
  13. BIN
      img/J1X_logo.png
  14. BIN
      img/J1X_logo_white.png
  15. 36 0
      index.html
  16. 1 0
      js/main.js
  17. 24 0
      js/plugins.js
  18. 4 0
      js/vendor/modernizr-2.8.3.min.js
  19. 5 0
      robots.txt
  20. BIN
      tile-wide.png
  21. BIN
      tile.png

+ 13 - 0
.editorconfig

@@ -0,0 +1,13 @@
1
+# editorconfig.org
2
+
3
+root = true
4
+
5
+[*]
6
+charset = utf-8
7
+indent_size = 4
8
+indent_style = space
9
+insert_final_newline = true
10
+trim_trailing_whitespace = true
11
+
12
+[*.md]
13
+trim_trailing_whitespace = false

+ 1 - 0
.gitattributes

@@ -0,0 +1 @@
1
+* text=auto

+ 4 - 0
.gitignore

@@ -0,0 +1,4 @@
1
+# Include your project-specific ignores in this file
2
+# Read about how to use .gitignore: https://help.github.com/articles/ignoring-files
3
+
4
+.DS_Store

+ 935 - 0
.htaccess

@@ -0,0 +1,935 @@
1
+# Apache Server Configs v2.11.0 | MIT License
2
+# https://github.com/h5bp/server-configs-apache
3
+
4
+# (!) Using `.htaccess` files slows down Apache, therefore, if you have
5
+# access to the main server configuration file (which is usually called
6
+# `httpd.conf`), you should add this logic there.
7
+#
8
+# https://httpd.apache.org/docs/current/howto/htaccess.html.
9
+
10
+# ######################################################################
11
+# # CROSS-ORIGIN                                                       #
12
+# ######################################################################
13
+
14
+# ----------------------------------------------------------------------
15
+# | Cross-origin requests                                              |
16
+# ----------------------------------------------------------------------
17
+
18
+# Allow cross-origin requests.
19
+#
20
+# https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS
21
+# http://enable-cors.org/
22
+# http://www.w3.org/TR/cors/
23
+
24
+# <IfModule mod_headers.c>
25
+#     Header set Access-Control-Allow-Origin "*"
26
+# </IfModule>
27
+
28
+# ----------------------------------------------------------------------
29
+# | Cross-origin images                                                |
30
+# ----------------------------------------------------------------------
31
+
32
+# Send the CORS header for images when browsers request it.
33
+#
34
+# https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image
35
+# https://blog.chromium.org/2011/07/using-cross-domain-images-in-webgl-and.html
36
+
37
+<IfModule mod_setenvif.c>
38
+    <IfModule mod_headers.c>
39
+        <FilesMatch "\.(bmp|cur|gif|ico|jpe?g|png|svgz?|webp)$">
40
+            SetEnvIf Origin ":" IS_CORS
41
+            Header set Access-Control-Allow-Origin "*" env=IS_CORS
42
+        </FilesMatch>
43
+    </IfModule>
44
+</IfModule>
45
+
46
+# ----------------------------------------------------------------------
47
+# | Cross-origin web fonts                                             |
48
+# ----------------------------------------------------------------------
49
+
50
+# Allow cross-origin access to web fonts.
51
+
52
+<IfModule mod_headers.c>
53
+    <FilesMatch "\.(eot|otf|tt[cf]|woff2?)$">
54
+        Header set Access-Control-Allow-Origin "*"
55
+    </FilesMatch>
56
+</IfModule>
57
+
58
+# ----------------------------------------------------------------------
59
+# | Cross-origin resource timing                                       |
60
+# ----------------------------------------------------------------------
61
+
62
+# Allow cross-origin access to the timing information for all resources.
63
+#
64
+# If a resource isn't served with a `Timing-Allow-Origin` header that
65
+# would allow its timing information to be shared with the document,
66
+# some of the attributes of the `PerformanceResourceTiming` object will
67
+# be set to zero.
68
+#
69
+# http://www.w3.org/TR/resource-timing/
70
+# http://www.stevesouders.com/blog/2014/08/21/resource-timing-practical-tips/
71
+
72
+# <IfModule mod_headers.c>
73
+#     Header set Timing-Allow-Origin: "*"
74
+# </IfModule>
75
+
76
+
77
+# ######################################################################
78
+# # ERRORS                                                             #
79
+# ######################################################################
80
+
81
+# ----------------------------------------------------------------------
82
+# | Custom error messages/pages                                        |
83
+# ----------------------------------------------------------------------
84
+
85
+# Customize what Apache returns to the client in case of an error.
86
+# https://httpd.apache.org/docs/current/mod/core.html#errordocument
87
+
88
+ErrorDocument 404 /404.html
89
+
90
+# ----------------------------------------------------------------------
91
+# | Error prevention                                                   |
92
+# ----------------------------------------------------------------------
93
+
94
+# Disable the pattern matching based on filenames.
95
+#
96
+# This setting prevents Apache from returning a 404 error as the result
97
+# of a rewrite when the directory with the same name does not exist.
98
+#
99
+# https://httpd.apache.org/docs/current/content-negotiation.html#multiviews
100
+
101
+Options -MultiViews
102
+
103
+
104
+# ######################################################################
105
+# # INTERNET EXPLORER                                                  #
106
+# ######################################################################
107
+
108
+# ----------------------------------------------------------------------
109
+# | Document modes                                                     |
110
+# ----------------------------------------------------------------------
111
+
112
+# Force Internet Explorer 8/9/10 to render pages in the highest mode
113
+# available in the various cases when it may not.
114
+#
115
+# https://hsivonen.fi/doctype/#ie8
116
+#
117
+# (!) Starting with Internet Explorer 11, document modes are deprecated.
118
+# If your business still relies on older web apps and services that were
119
+# designed for older versions of Internet Explorer, you might want to
120
+# consider enabling `Enterprise Mode` throughout your company.
121
+#
122
+# http://msdn.microsoft.com/en-us/library/ie/bg182625.aspx#docmode
123
+# http://blogs.msdn.com/b/ie/archive/2014/04/02/stay-up-to-date-with-enterprise-mode-for-internet-explorer-11.aspx
124
+
125
+<IfModule mod_headers.c>
126
+    Header set X-UA-Compatible "IE=edge"
127
+    # `mod_headers` cannot match based on the content-type, however,
128
+    # the `X-UA-Compatible` response header should be send only for
129
+    # HTML documents and not for the other resources.
130
+    <FilesMatch "\.(appcache|atom|bbaw|bmp|crx|css|cur|eot|f4[abpv]|flv|geojson|gif|htc|ico|jpe?g|js|json(ld)?|m4[av]|manifest|map|mp4|oex|og[agv]|opus|otf|pdf|png|rdf|rss|safariextz|svgz?|swf|topojson|tt[cf]|txt|vcard|vcf|vtt|webapp|web[mp]|woff2?|xloc|xml|xpi)$">
131
+        Header unset X-UA-Compatible
132
+    </FilesMatch>
133
+</IfModule>
134
+
135
+# ----------------------------------------------------------------------
136
+# | Iframes cookies                                                    |
137
+# ----------------------------------------------------------------------
138
+
139
+# Allow cookies to be set from iframes in Internet Explorer.
140
+#
141
+# http://msdn.microsoft.com/en-us/library/ms537343.aspx
142
+# http://www.w3.org/TR/2000/CR-P3P-20001215/
143
+
144
+# <IfModule mod_headers.c>
145
+#     Header set P3P "policyref=\"/w3c/p3p.xml\", CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\""
146
+# </IfModule>
147
+
148
+
149
+# ######################################################################
150
+# # MEDIA TYPES AND CHARACTER ENCODINGS                                #
151
+# ######################################################################
152
+
153
+# ----------------------------------------------------------------------
154
+# | Media types                                                        |
155
+# ----------------------------------------------------------------------
156
+
157
+# Serve resources with the proper media types (f.k.a. MIME types).
158
+#
159
+# https://www.iana.org/assignments/media-types/media-types.xhtml
160
+# https://httpd.apache.org/docs/current/mod/mod_mime.html#addtype
161
+
162
+<IfModule mod_mime.c>
163
+
164
+  # Data interchange
165
+
166
+    AddType application/json                            json map topojson
167
+    AddType application/ld+json                         jsonld
168
+    AddType application/vnd.geo+json                    geojson
169
+    AddType application/xml                             atom rdf rss xml
170
+
171
+
172
+  # JavaScript
173
+
174
+    # Normalize to standard type.
175
+    # https://tools.ietf.org/html/rfc4329#section-7.2
176
+
177
+    AddType application/javascript                      js
178
+
179
+
180
+  # Manifest files
181
+
182
+    # If you are providing a web application manifest file (see
183
+    # the specification: https://w3c.github.io/manifest/), it is
184
+    # recommended that you serve it with the `application/manifest+json`
185
+    # media type.
186
+    #
187
+    # Because the web application manifest file doesn't have its
188
+    # own unique file extension, you can set its media type either
189
+    # by matching:
190
+    #
191
+    # 1) the exact location of the file (this can be done using a
192
+    #    directive such as `<Location>`, but it will NOT work in
193
+    #    the `.htaccess` file, so you will have to do it in the main
194
+    #    server configuration file or inside of a `<VirtualHost>`
195
+    #    container)
196
+    #
197
+    #    e.g.:
198
+    #
199
+    #       <Location "/.well-known/manifest.json">
200
+    #           AddType application/manifest+json               json
201
+    #       </Location>
202
+    #
203
+    # 2) the filename (this can be problematic as you will need to
204
+    #    ensure that you don't have any other file with the same name
205
+    #    as the one you gave to your web application manifest file)
206
+    #
207
+    #    e.g.:
208
+    #
209
+    #       <Files "manifest.json">
210
+    #           AddType application/manifest+json               json
211
+    #       </Files>
212
+
213
+    AddType application/x-web-app-manifest+json         webapp
214
+    AddType text/cache-manifest                         appcache manifest
215
+
216
+
217
+  # Media files
218
+
219
+    AddType audio/mp4                                   f4a f4b m4a
220
+    AddType audio/ogg                                   oga ogg opus
221
+    AddType image/bmp                                   bmp
222
+    AddType image/webp                                  webp
223
+    AddType video/mp4                                   f4v f4p m4v mp4
224
+    AddType video/ogg                                   ogv
225
+    AddType video/webm                                  webm
226
+    AddType video/x-flv                                 flv
227
+    AddType image/svg+xml                               svg svgz
228
+
229
+    # Serving `.ico` image files with a different media type
230
+    # prevents Internet Explorer from displaying then as images:
231
+    # https://github.com/h5bp/html5-boilerplate/commit/37b5fec090d00f38de64b591bcddcb205aadf8ee
232
+
233
+    AddType image/x-icon                                cur ico
234
+
235
+
236
+  # Web fonts
237
+
238
+    AddType application/font-woff                       woff
239
+    AddType application/font-woff2                      woff2
240
+    AddType application/vnd.ms-fontobject               eot
241
+
242
+    # Browsers usually ignore the font media types and simply sniff
243
+    # the bytes to figure out the font type.
244
+    # https://mimesniff.spec.whatwg.org/#matching-a-font-type-pattern
245
+    #
246
+    # However, Blink and WebKit based browsers will show a warning
247
+    # in the console if the following font types are served with any
248
+    # other media types.
249
+
250
+    AddType application/x-font-ttf                      ttc ttf
251
+    AddType font/opentype                               otf
252
+
253
+
254
+  # Other
255
+
256
+    AddType application/octet-stream                    safariextz
257
+    AddType application/x-bb-appworld                   bbaw
258
+    AddType application/x-chrome-extension              crx
259
+    AddType application/x-opera-extension               oex
260
+    AddType application/x-xpinstall                     xpi
261
+    AddType text/vcard                                  vcard vcf
262
+    AddType text/vnd.rim.location.xloc                  xloc
263
+    AddType text/vtt                                    vtt
264
+    AddType text/x-component                            htc
265
+
266
+</IfModule>
267
+
268
+# ----------------------------------------------------------------------
269
+# | Character encodings                                                |
270
+# ----------------------------------------------------------------------
271
+
272
+# Serve all resources labeled as `text/html` or `text/plain`
273
+# with the media type `charset` parameter set to `UTF-8`.
274
+#
275
+# https://httpd.apache.org/docs/current/mod/core.html#adddefaultcharset
276
+
277
+AddDefaultCharset utf-8
278
+
279
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
280
+
281
+# Serve the following file types with the media type `charset`
282
+# parameter set to `UTF-8`.
283
+#
284
+# https://httpd.apache.org/docs/current/mod/mod_mime.html#addcharset
285
+
286
+<IfModule mod_mime.c>
287
+    AddCharset utf-8 .atom \
288
+                     .bbaw \
289
+                     .css \
290
+                     .geojson \
291
+                     .js \
292
+                     .json \
293
+                     .jsonld \
294
+                     .rdf \
295
+                     .rss \
296
+                     .topojson \
297
+                     .vtt \
298
+                     .webapp \
299
+                     .xloc \
300
+                     .xml
301
+</IfModule>
302
+
303
+
304
+# ######################################################################
305
+# # REWRITES                                                           #
306
+# ######################################################################
307
+
308
+# ----------------------------------------------------------------------
309
+# | Rewrite engine                                                     |
310
+# ----------------------------------------------------------------------
311
+
312
+# (1) Turn on the rewrite engine (this is necessary in order for
313
+#     the `RewriteRule` directives to work).
314
+#
315
+#     https://httpd.apache.org/docs/current/mod/mod_rewrite.html#RewriteEngine
316
+#
317
+# (2) Enable the `FollowSymLinks` option if it isn't already.
318
+#
319
+#     https://httpd.apache.org/docs/current/mod/core.html#options
320
+#
321
+# (3) If your web host doesn't allow the `FollowSymlinks` option,
322
+#     you need to comment it out or remove it, and then uncomment
323
+#     the `Options +SymLinksIfOwnerMatch` line (4), but be aware
324
+#     of the performance impact.
325
+#
326
+#     https://httpd.apache.org/docs/current/misc/perf-tuning.html#symlinks
327
+#
328
+# (4) Some cloud hosting services will require you set `RewriteBase`.
329
+#
330
+#     http://www.rackspace.com/knowledge_center/frequently-asked-question/why-is-modrewrite-not-working-on-my-site
331
+#     https://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritebase
332
+#
333
+# (5) Depending on how your server is set up, you may also need to
334
+#     use the `RewriteOptions` directive to enable some options for
335
+#     the rewrite engine.
336
+#
337
+#     https://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriteoptions
338
+
339
+<IfModule mod_rewrite.c>
340
+
341
+    # (1)
342
+    RewriteEngine On
343
+
344
+    # (2)
345
+    Options +FollowSymlinks
346
+
347
+    # (3)
348
+    # Options +SymLinksIfOwnerMatch
349
+
350
+    # (4)
351
+    # RewriteBase /
352
+
353
+    # (5)
354
+    # RewriteOptions <options>
355
+
356
+</IfModule>
357
+
358
+# ----------------------------------------------------------------------
359
+# | Forcing `https://`                                                 |
360
+# ----------------------------------------------------------------------
361
+
362
+# Redirect from the `http://` to the `https://` version of the URL.
363
+# https://wiki.apache.org/httpd/RewriteHTTPToHTTPS
364
+
365
+# <IfModule mod_rewrite.c>
366
+#    RewriteEngine On
367
+#    RewriteCond %{HTTPS} !=on
368
+#    RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
369
+# </IfModule>
370
+
371
+# ----------------------------------------------------------------------
372
+# | Suppressing / Forcing the `www.` at the beginning of URLs          |
373
+# ----------------------------------------------------------------------
374
+
375
+# The same content should never be available under two different
376
+# URLs, especially not with and without `www.` at the beginning.
377
+# This can cause SEO problems (duplicate content), and therefore,
378
+# you should choose one of the alternatives and redirect the other
379
+# one.
380
+#
381
+# By default `Option 1` (no `www.`) is activated.
382
+# http://no-www.org/faq.php?q=class_b
383
+#
384
+# If you would prefer to use `Option 2`, just comment out all the
385
+# lines from `Option 1` and uncomment the ones from `Option 2`.
386
+#
387
+# (!) NEVER USE BOTH RULES AT THE SAME TIME!
388
+
389
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
390
+
391
+# Option 1: rewrite www.example.com → example.com
392
+
393
+<IfModule mod_rewrite.c>
394
+    RewriteEngine On
395
+    RewriteCond %{HTTPS} !=on
396
+    RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
397
+    RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]
398
+</IfModule>
399
+
400
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
401
+
402
+# Option 2: rewrite example.com → www.example.com
403
+#
404
+# Be aware that the following might not be a good idea if you use "real"
405
+# subdomains for certain parts of your website.
406
+
407
+# <IfModule mod_rewrite.c>
408
+#     RewriteEngine On
409
+#     RewriteCond %{HTTPS} !=on
410
+#     RewriteCond %{HTTP_HOST} !^www\. [NC]
411
+#     RewriteCond %{SERVER_ADDR} !=127.0.0.1
412
+#     RewriteCond %{SERVER_ADDR} !=::1
413
+#     RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
414
+# </IfModule>
415
+
416
+
417
+# ######################################################################
418
+# # SECURITY                                                           #
419
+# ######################################################################
420
+
421
+# ----------------------------------------------------------------------
422
+# | Clickjacking                                                       |
423
+# ----------------------------------------------------------------------
424
+
425
+# Protect website against clickjacking.
426
+#
427
+# The example below sends the `X-Frame-Options` response header with
428
+# the value `DENY`, informing browsers not to display the content of
429
+# the web page in any frame.
430
+#
431
+# This might not be the best setting for everyone. You should read
432
+# about the other two possible values the `X-Frame-Options` header
433
+# field can have: `SAMEORIGIN` and `ALLOW-FROM`.
434
+# https://tools.ietf.org/html/rfc7034#section-2.1.
435
+#
436
+# Keep in mind that while you could send the `X-Frame-Options` header
437
+# for all of your website’s pages, this has the potential downside that
438
+# it forbids even non-malicious framing of your content (e.g.: when
439
+# users visit your website using a Google Image Search results page).
440
+#
441
+# Nonetheless, you should ensure that you send the `X-Frame-Options`
442
+# header for all pages that allow a user to make a state changing
443
+# operation (e.g: pages that contain one-click purchase links, checkout
444
+# or bank-transfer confirmation pages, pages that make permanent
445
+# configuration changes, etc.).
446
+#
447
+# Sending the `X-Frame-Options` header can also protect your website
448
+# against more than just clickjacking attacks:
449
+# https://cure53.de/xfo-clickjacking.pdf.
450
+#
451
+# https://tools.ietf.org/html/rfc7034
452
+# http://blogs.msdn.com/b/ieinternals/archive/2010/03/30/combating-clickjacking-with-x-frame-options.aspx
453
+# https://www.owasp.org/index.php/Clickjacking
454
+
455
+# <IfModule mod_headers.c>
456
+#     Header set X-Frame-Options "DENY"
457
+#     # `mod_headers` cannot match based on the content-type, however,
458
+#     # the `X-Frame-Options` response header should be send only for
459
+#     # HTML documents and not for the other resources.
460
+#     <FilesMatch "\.(appcache|atom|bbaw|bmp|crx|css|cur|eot|f4[abpv]|flv|geojson|gif|htc|ico|jpe?g|js|json(ld)?|m4[av]|manifest|map|mp4|oex|og[agv]|opus|otf|pdf|png|rdf|rss|safariextz|svgz?|swf|topojson|tt[cf]|txt|vcard|vcf|vtt|webapp|web[mp]|woff2?|xloc|xml|xpi)$">
461
+#         Header unset X-Frame-Options
462
+#     </FilesMatch>
463
+# </IfModule>
464
+
465
+# ----------------------------------------------------------------------
466
+# | Content Security Policy (CSP)                                      |
467
+# ----------------------------------------------------------------------
468
+
469
+# Mitigate the risk of cross-site scripting and other content-injection
470
+# attacks.
471
+#
472
+# This can be done by setting a `Content Security Policy` which
473
+# whitelists trusted sources of content for your website.
474
+#
475
+# The example header below allows ONLY scripts that are loaded from the
476
+# current website's origin (no inline scripts, no CDN, etc). That almost
477
+# certainly won't work as-is for your website!
478
+#
479
+# For more details on how to craft a reasonable policy for your website,
480
+# read: http://www.html5rocks.com/en/tutorials/security/content-security-policy/
481
+# (or the specification: http://www.w3.org/TR/CSP11/). Also, to make
482
+# things easier, you can use an online CSP header generator such as:
483
+# http://cspisawesome.com/.
484
+
485
+# <IfModule mod_headers.c>
486
+#     Header set Content-Security-Policy "script-src 'self'; object-src 'self'"
487
+#     # `mod_headers` cannot match based on the content-type, however,
488
+#     # the `Content-Security-Policy` response header should be send
489
+#     # only for HTML documents and not for the other resources.
490
+#     <FilesMatch "\.(appcache|atom|bbaw|bmp|crx|css|cur|eot|f4[abpv]|flv|geojson|gif|htc|ico|jpe?g|js|json(ld)?|m4[av]|manifest|map|mp4|oex|og[agv]|opus|otf|pdf|png|rdf|rss|safariextz|svgz?|swf|topojson|tt[cf]|txt|vcard|vcf|vtt|webapp|web[mp]|woff2?|xloc|xml|xpi)$">
491
+#         Header unset Content-Security-Policy
492
+#     </FilesMatch>
493
+# </IfModule>
494
+
495
+# ----------------------------------------------------------------------
496
+# | File access                                                        |
497
+# ----------------------------------------------------------------------
498
+
499
+# Block access to directories without a default document.
500
+#
501
+# You should leave the following uncommented, as you shouldn't allow
502
+# anyone to surf through every directory on your server (which may
503
+# includes rather private places such as the CMS's directories).
504
+
505
+<IfModule mod_autoindex.c>
506
+    Options -Indexes
507
+</IfModule>
508
+
509
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
510
+
511
+# Block access to all hidden files and directories with the exception of
512
+# the visible content from within the `/.well-known/` hidden directory.
513
+#
514
+# These types of files usually contain user preferences or the preserved
515
+# state of an utility, and can include rather private places like, for
516
+# example, the `.git` or `.svn` directories.
517
+#
518
+# The `/.well-known/` directory represents the standard (RFC 5785) path
519
+# prefix for "well-known locations" (e.g.: `/.well-known/manifest.json`,
520
+# `/.well-known/keybase.txt`), and therefore, access to its visible
521
+# content should not be blocked.
522
+#
523
+# https://www.mnot.net/blog/2010/04/07/well-known
524
+# https://tools.ietf.org/html/rfc5785
525
+
526
+<IfModule mod_rewrite.c>
527
+    RewriteEngine On
528
+    RewriteCond %{REQUEST_URI} "!(^|/)\.well-known/([^./]+./?)+$" [NC]
529
+    RewriteCond %{SCRIPT_FILENAME} -d [OR]
530
+    RewriteCond %{SCRIPT_FILENAME} -f
531
+    RewriteRule "(^|/)\." - [F]
532
+</IfModule>
533
+
534
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
535
+
536
+# Block access to files that can expose sensitive information.
537
+#
538
+# By default, block access to backup and source files that may be
539
+# left by some text editors and can pose a security risk when anyone
540
+# has access to them.
541
+#
542
+# http://feross.org/cmsploit/
543
+#
544
+# (!) Update the `<FilesMatch>` regular expression from below to
545
+# include any files that might end up on your production server and
546
+# can expose sensitive information about your website. These files may
547
+# include: configuration files, files that contain metadata about the
548
+# project (e.g.: project dependencies), build scripts, etc..
549
+
550
+<FilesMatch "(^#.*#|\.(bak|conf|dist|fla|in[ci]|log|psd|sh|sql|sw[op])|~)$">
551
+
552
+    # Apache < 2.3
553
+    <IfModule !mod_authz_core.c>
554
+        Order allow,deny
555
+        Deny from all
556
+        Satisfy All
557
+    </IfModule>
558
+
559
+    # Apache ≥ 2.3
560
+    <IfModule mod_authz_core.c>
561
+        Require all denied
562
+    </IfModule>
563
+
564
+</FilesMatch>
565
+
566
+# ----------------------------------------------------------------------
567
+# | HTTP Strict Transport Security (HSTS)                              |
568
+# ----------------------------------------------------------------------
569
+
570
+# Force client-side SSL redirection.
571
+#
572
+# If a user types `example.com` in their browser, even if the server
573
+# redirects them to the secure version of the website, that still leaves
574
+# a window of opportunity (the initial HTTP connection) for an attacker
575
+# to downgrade or redirect the request.
576
+#
577
+# The following header ensures that browser will ONLY connect to your
578
+# server via HTTPS, regardless of what the users type in the browser's
579
+# address bar.
580
+#
581
+# (!) Remove the `includeSubDomains` optional directive if the website's
582
+# subdomains are not using HTTPS.
583
+#
584
+# http://www.html5rocks.com/en/tutorials/security/transport-layer-security/
585
+# https://tools.ietf.org/html/draft-ietf-websec-strict-transport-sec-14#section-6.1
586
+# http://blogs.msdn.com/b/ieinternals/archive/2014/08/18/hsts-strict-transport-security-attacks-mitigations-deployment-https.aspx
587
+
588
+# <IfModule mod_headers.c>
589
+#     Header set Strict-Transport-Security "max-age=16070400; includeSubDomains"
590
+# </IfModule>
591
+
592
+# ----------------------------------------------------------------------
593
+# | Reducing MIME type security risks                                  |
594
+# ----------------------------------------------------------------------
595
+
596
+# Prevent some browsers from MIME-sniffing the response.
597
+#
598
+# This reduces exposure to drive-by download attacks and cross-origin
599
+# data leaks, and should be left uncommented, especially if the server
600
+# is serving user-uploaded content or content that could potentially be
601
+# treated as executable by the browser.
602
+#
603
+# http://www.slideshare.net/hasegawayosuke/owasp-hasegawa
604
+# http://blogs.msdn.com/b/ie/archive/2008/07/02/ie8-security-part-v-comprehensive-protection.aspx
605
+# http://msdn.microsoft.com/en-us/library/ie/gg622941.aspx
606
+# https://mimesniff.spec.whatwg.org/
607
+
608
+<IfModule mod_headers.c>
609
+    Header set X-Content-Type-Options "nosniff"
610
+</IfModule>
611
+
612
+# ----------------------------------------------------------------------
613
+# | Reflected Cross-Site Scripting (XSS) attacks                       |
614
+# ----------------------------------------------------------------------
615
+
616
+# (1) Try to re-enable the cross-site scripting (XSS) filter built
617
+#     into most web browsers.
618
+#
619
+#     The filter is usually enabled by default, but in some cases it
620
+#     may be disabled by the user. However, in Internet Explorer for
621
+#     example, it can be re-enabled just by sending the
622
+#     `X-XSS-Protection` header with the value of `1`.
623
+#
624
+# (2) Prevent web browsers from rendering the web page if a potential
625
+#     reflected (a.k.a non-persistent) XSS attack is detected by the
626
+#     filter.
627
+#
628
+#     By default, if the filter is enabled and browsers detect a
629
+#     reflected XSS attack, they will attempt to block the attack
630
+#     by making the smallest possible modifications to the returned
631
+#     web page.
632
+#
633
+#     Unfortunately, in some browsers (e.g.: Internet Explorer),
634
+#     this default behavior may allow the XSS filter to be exploited,
635
+#     thereby, it's better to inform browsers to prevent the rendering
636
+#     of the page altogether, instead of attempting to modify it.
637
+#
638
+#     http://hackademix.net/2009/11/21/ies-xss-filter-creates-xss-vulnerabilities
639
+#
640
+# (!) Do not rely on the XSS filter to prevent XSS attacks! Ensure that
641
+#     you are taking all possible measures to prevent XSS attacks, the
642
+#     most obvious being: validating and sanitizing your website's inputs.
643
+#
644
+# http://blogs.msdn.com/b/ie/archive/2008/07/02/ie8-security-part-iv-the-xss-filter.aspx
645
+# http://blogs.msdn.com/b/ieinternals/archive/2011/01/31/controlling-the-internet-explorer-xss-filter-with-the-x-xss-protection-http-header.aspx
646
+# https://www.owasp.org/index.php/Cross-site_Scripting_%28XSS%29
647
+
648
+# <IfModule mod_headers.c>
649
+#     #                           (1)    (2)
650
+#     Header set X-XSS-Protection "1; mode=block"
651
+#     # `mod_headers` cannot match based on the content-type, however,
652
+#     # the `X-XSS-Protection` response header should be send only for
653
+#     # HTML documents and not for the other resources.
654
+#     <FilesMatch "\.(appcache|atom|bbaw|bmp|crx|css|cur|eot|f4[abpv]|flv|geojson|gif|htc|ico|jpe?g|js|json(ld)?|m4[av]|manifest|map|mp4|oex|og[agv]|opus|otf|pdf|png|rdf|rss|safariextz|svgz?|swf|topojson|tt[cf]|txt|vcard|vcf|vtt|webapp|web[mp]|woff2?|xloc|xml|xpi)$">
655
+#         Header unset X-XSS-Protection
656
+#     </FilesMatch>
657
+# </IfModule>
658
+
659
+# ----------------------------------------------------------------------
660
+# | Server software information                                        |
661
+# ----------------------------------------------------------------------
662
+
663
+# Prevent Apache from sending in the `Server` response header its
664
+# exact version number, the description of the generic OS-type or
665
+# information about its compiled-in modules.
666
+#
667
+# (!) The `ServerTokens` directive will only work in the main server
668
+# configuration file, so don't try to enable it in the `.htaccess` file!
669
+#
670
+# https://httpd.apache.org/docs/current/mod/core.html#servertokens
671
+
672
+# ServerTokens Prod
673
+
674
+
675
+# ######################################################################
676
+# # WEB PERFORMANCE                                                    #
677
+# ######################################################################
678
+
679
+# ----------------------------------------------------------------------
680
+# | Compression                                                        |
681
+# ----------------------------------------------------------------------
682
+
683
+<IfModule mod_deflate.c>
684
+
685
+    # Force compression for mangled `Accept-Encoding` request headers
686
+    # https://developer.yahoo.com/blogs/ydn/pushing-beyond-gzipping-25601.html
687
+
688
+    <IfModule mod_setenvif.c>
689
+        <IfModule mod_headers.c>
690
+            SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
691
+            RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
692
+        </IfModule>
693
+    </IfModule>
694
+
695
+    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
696
+
697
+    # Compress all output labeled with one of the following media types.
698
+    #
699
+    # (!) For Apache versions below version 2.3.7 you don't need to
700
+    # enable `mod_filter` and can remove the `<IfModule mod_filter.c>`
701
+    # and `</IfModule>` lines as `AddOutputFilterByType` is still in
702
+    # the core directives.
703
+    #
704
+    # https://httpd.apache.org/docs/current/mod/mod_filter.html#addoutputfilterbytype
705
+
706
+    <IfModule mod_filter.c>
707
+        AddOutputFilterByType DEFLATE "application/atom+xml" \
708
+                                      "application/javascript" \
709
+                                      "application/json" \
710
+                                      "application/ld+json" \
711
+                                      "application/manifest+json" \
712
+                                      "application/rdf+xml" \
713
+                                      "application/rss+xml" \
714
+                                      "application/schema+json" \
715
+                                      "application/vnd.geo+json" \
716
+                                      "application/vnd.ms-fontobject" \
717
+                                      "application/x-font-ttf" \
718
+                                      "application/x-javascript" \
719
+                                      "application/x-web-app-manifest+json" \
720
+                                      "application/xhtml+xml" \
721
+                                      "application/xml" \
722
+                                      "font/eot" \
723
+                                      "font/opentype" \
724
+                                      "image/bmp" \
725
+                                      "image/svg+xml" \
726
+                                      "image/vnd.microsoft.icon" \
727
+                                      "image/x-icon" \
728
+                                      "text/cache-manifest" \
729
+                                      "text/css" \
730
+                                      "text/html" \
731
+                                      "text/javascript" \
732
+                                      "text/plain" \
733
+                                      "text/vcard" \
734
+                                      "text/vnd.rim.location.xloc" \
735
+                                      "text/vtt" \
736
+                                      "text/x-component" \
737
+                                      "text/x-cross-domain-policy" \
738
+                                      "text/xml"
739
+
740
+    </IfModule>
741
+
742
+    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
743
+
744
+    # Map the following filename extensions to the specified
745
+    # encoding type in order to make Apache serve the file types
746
+    # with the appropriate `Content-Encoding` response header
747
+    # (do note that this will NOT make Apache compress them!).
748
+    #
749
+    # If these files types would be served without an appropriate
750
+    # `Content-Enable` response header, client applications (e.g.:
751
+    # browsers) wouldn't know that they first need to uncompress
752
+    # the response, and thus, wouldn't be able to understand the
753
+    # content.
754
+    #
755
+    # https://httpd.apache.org/docs/current/mod/mod_mime.html#addencoding
756
+
757
+    <IfModule mod_mime.c>
758
+        AddEncoding gzip              svgz
759
+    </IfModule>
760
+
761
+</IfModule>
762
+
763
+# ----------------------------------------------------------------------
764
+# | Content transformation                                             |
765
+# ----------------------------------------------------------------------
766
+
767
+# Prevent intermediate caches or proxies (e.g.: such as the ones
768
+# used by mobile network providers) from modifying the website's
769
+# content.
770
+#
771
+# https://tools.ietf.org/html/rfc2616#section-14.9.5
772
+#
773
+# (!) If you are using `mod_pagespeed`, please note that setting
774
+# the `Cache-Control: no-transform` response header will prevent
775
+# `PageSpeed` from rewriting `HTML` files, and, if the
776
+# `ModPagespeedDisableRewriteOnNoTransform` directive isn't set
777
+# to `off`, also from rewriting other resources.
778
+#
779
+# https://developers.google.com/speed/pagespeed/module/configuration#notransform
780
+
781
+# <IfModule mod_headers.c>
782
+#     Header merge Cache-Control "no-transform"
783
+# </IfModule>
784
+
785
+# ----------------------------------------------------------------------
786
+# | ETags                                                              |
787
+# ----------------------------------------------------------------------
788
+
789
+# Remove `ETags` as resources are sent with far-future expires headers.
790
+#
791
+# https://developer.yahoo.com/performance/rules.html#etags
792
+# https://tools.ietf.org/html/rfc7232#section-2.3
793
+
794
+# `FileETag None` doesn't work in all cases.
795
+<IfModule mod_headers.c>
796
+    Header unset ETag
797
+</IfModule>
798
+
799
+FileETag None
800
+
801
+# ----------------------------------------------------------------------
802
+# | Expires headers                                                    |
803
+# ----------------------------------------------------------------------
804
+
805
+# Serve resources with far-future expires headers.
806
+#
807
+# (!) If you don't control versioning with filename-based
808
+# cache busting, you should consider lowering the cache times
809
+# to something like one week.
810
+#
811
+# https://httpd.apache.org/docs/current/mod/mod_expires.html
812
+
813
+<IfModule mod_expires.c>
814
+
815
+    ExpiresActive on
816
+    ExpiresDefault                                      "access plus 1 month"
817
+
818
+  # CSS
819
+    ExpiresByType text/css                              "access plus 1 year"
820
+
821
+  # Data interchange
822
+    ExpiresByType application/atom+xml                  "access plus 1 hour"
823
+    ExpiresByType application/rdf+xml                   "access plus 1 hour"
824
+    ExpiresByType application/rss+xml                   "access plus 1 hour"
825
+
826
+    ExpiresByType application/json                      "access plus 0 seconds"
827
+    ExpiresByType application/ld+json                   "access plus 0 seconds"
828
+    ExpiresByType application/schema+json               "access plus 0 seconds"
829
+    ExpiresByType application/vnd.geo+json              "access plus 0 seconds"
830
+    ExpiresByType application/xml                       "access plus 0 seconds"
831
+    ExpiresByType text/xml                              "access plus 0 seconds"
832
+
833
+  # Favicon (cannot be renamed!) and cursor images
834
+    ExpiresByType image/vnd.microsoft.icon              "access plus 1 week"
835
+    ExpiresByType image/x-icon                          "access plus 1 week"
836
+
837
+  # HTML
838
+    ExpiresByType text/html                             "access plus 0 seconds"
839
+
840
+  # JavaScript
841
+    ExpiresByType application/javascript                "access plus 1 year"
842
+    ExpiresByType application/x-javascript              "access plus 1 year"
843
+    ExpiresByType text/javascript                       "access plus 1 year"
844
+
845
+  # Manifest files
846
+    ExpiresByType application/manifest+json             "access plus 1 year"
847
+
848
+    ExpiresByType application/x-web-app-manifest+json   "access plus 0 seconds"
849
+    ExpiresByType text/cache-manifest                   "access plus 0 seconds"
850
+
851
+  # Media files
852
+    ExpiresByType audio/ogg                             "access plus 1 month"
853
+    ExpiresByType image/bmp                             "access plus 1 month"
854
+    ExpiresByType image/gif                             "access plus 1 month"
855
+    ExpiresByType image/jpeg                            "access plus 1 month"
856
+    ExpiresByType image/png                             "access plus 1 month"
857
+    ExpiresByType image/svg+xml                         "access plus 1 month"
858
+    ExpiresByType video/mp4                             "access plus 1 month"
859
+    ExpiresByType video/ogg                             "access plus 1 month"
860
+    ExpiresByType video/webm                            "access plus 1 month"
861
+
862
+  # Web fonts
863
+
864
+    # Embedded OpenType (EOT)
865
+    ExpiresByType application/vnd.ms-fontobject         "access plus 1 month"
866
+    ExpiresByType font/eot                              "access plus 1 month"
867
+
868
+    # OpenType
869
+    ExpiresByType font/opentype                         "access plus 1 month"
870
+
871
+    # TrueType
872
+    ExpiresByType application/x-font-ttf                "access plus 1 month"
873
+
874
+    # Web Open Font Format (WOFF) 1.0
875
+    ExpiresByType application/font-woff                 "access plus 1 month"
876
+    ExpiresByType application/x-font-woff               "access plus 1 month"
877
+    ExpiresByType font/woff                             "access plus 1 month"
878
+
879
+    # Web Open Font Format (WOFF) 2.0
880
+    ExpiresByType application/font-woff2                "access plus 1 month"
881
+
882
+  # Other
883
+    ExpiresByType text/x-cross-domain-policy            "access plus 1 week"
884
+
885
+</IfModule>
886
+
887
+# ----------------------------------------------------------------------
888
+# | File concatenation                                                 |
889
+# ----------------------------------------------------------------------
890
+
891
+# Allow concatenation from within specific files.
892
+#
893
+# e.g.:
894
+#
895
+#   If you have the following lines in a file called, for
896
+#   example, `main.combined.js`:
897
+#
898
+#       <!--#include file="js/jquery.js" -->
899
+#       <!--#include file="js/jquery.timer.js" -->
900
+#
901
+#   Apache will replace those lines with the content of the
902
+#   specified files.
903
+
904
+# <IfModule mod_include.c>
905
+#     <FilesMatch "\.combined\.js$">
906
+#         Options +Includes
907
+#         AddOutputFilterByType INCLUDES application/javascript \
908
+#                                        application/x-javascript \
909
+#                                        text/javascript
910
+#         SetOutputFilter INCLUDES
911
+#     </FilesMatch>
912
+#     <FilesMatch "\.combined\.css$">
913
+#         Options +Includes
914
+#         AddOutputFilterByType INCLUDES text/css
915
+#         SetOutputFilter INCLUDES
916
+#     </FilesMatch>
917
+# </IfModule>
918
+
919
+# ----------------------------------------------------------------------
920
+# | Filename-based cache busting                                       |
921
+# ----------------------------------------------------------------------
922
+
923
+# If you're not using a build process to manage your filename version
924
+# revving, you might want to consider enabling the following directives
925
+# to route all requests such as `/style.12345.css` to `/style.css`.
926
+#
927
+# To understand why this is important and even a better solution than
928
+# using something like `*.css?v231`, please see:
929
+# http://www.stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring/
930
+
931
+# <IfModule mod_rewrite.c>
932
+#     RewriteEngine On
933
+#     RewriteCond %{REQUEST_FILENAME} !-f
934
+#     RewriteRule ^(.+)\.(\d+)\.(bmp|css|cur|gif|ico|jpe?g|js|png|svgz?|webp)$ $1.$3 [L]
935
+# </IfModule>

+ 60 - 0
404.html

@@ -0,0 +1,60 @@
1
+<!doctype html>
2
+<html lang="en">
3
+<head>
4
+    <meta charset="utf-8">
5
+    <title>Page Not Found</title>
6
+    <meta name="viewport" content="width=device-width, initial-scale=1">
7
+    <style>
8
+
9
+        * {
10
+            line-height: 1.2;
11
+            margin: 0;
12
+        }
13
+
14
+        html {
15
+            color: #888;
16
+            display: table;
17
+            font-family: sans-serif;
18
+            height: 100%;
19
+            text-align: center;
20
+            width: 100%;
21
+        }
22
+
23
+        body {
24
+            display: table-cell;
25
+            vertical-align: middle;
26
+            margin: 2em auto;
27
+        }
28
+
29
+        h1 {
30
+            color: #555;
31
+            font-size: 2em;
32
+            font-weight: 400;
33
+        }
34
+
35
+        p {
36
+            margin: 0 auto;
37
+            width: 280px;
38
+        }
39
+
40
+        @media only screen and (max-width: 280px) {
41
+
42
+            body, p {
43
+                width: 95%;
44
+            }
45
+
46
+            h1 {
47
+                font-size: 1.5em;
48
+                margin: 0 0 0.3em;
49
+            }
50
+
51
+        }
52
+
53
+    </style>
54
+</head>
55
+<body>
56
+    <h1>Page Not Found</h1>
57
+    <p>Sorry, but the page you were trying to view does not exist.</p>
58
+</body>
59
+</html>
60
+<!-- IE needs 512+ bytes: http://blogs.msdn.com/b/ieinternals/archive/2010/08/19/http-error-pages-in-internet-explorer.aspx -->

BIN
apple-touch-icon.png


+ 12 - 0
browserconfig.xml

@@ -0,0 +1,12 @@
1
+<?xml version="1.0" encoding="utf-8"?>
2
+<!-- Please read: http://msdn.microsoft.com/en-us/library/ie/dn455106.aspx -->
3
+<browserconfig>
4
+    <msapplication>
5
+        <tile>
6
+            <square70x70logo src="tile.png"/>
7
+            <square150x150logo src="tile.png"/>
8
+            <wide310x150logo src="tile-wide.png"/>
9
+            <square310x310logo src="tile.png"/>
10
+        </tile>
11
+    </msapplication>
12
+</browserconfig>

+ 212 - 0
css/main.css

@@ -0,0 +1,212 @@
1
+/*! HTML5 Boilerplate v5.0 | MIT License | http://h5bp.com/ */
2
+
3
+html {
4
+    color: #222;
5
+    font-size: 1em;
6
+    line-height: 1.4;
7
+}
8
+
9
+::-moz-selection {
10
+    background: #b3d4fc;
11
+    text-shadow: none;
12
+}
13
+
14
+::selection {
15
+    background: #b3d4fc;
16
+    text-shadow: none;
17
+}
18
+
19
+hr {
20
+    display: block;
21
+    height: 1px;
22
+    border: 0;
23
+    border-top: 1px solid #ccc;
24
+    margin: 1em 0;
25
+    padding: 0;
26
+}
27
+
28
+audio,
29
+canvas,
30
+iframe,
31
+img,
32
+svg,
33
+video {
34
+    vertical-align: middle;
35
+}
36
+
37
+fieldset {
38
+    border: 0;
39
+    margin: 0;
40
+    padding: 0;
41
+}
42
+
43
+textarea {
44
+    resize: vertical;
45
+}
46
+
47
+.browserupgrade {
48
+    margin: 0.2em 0;
49
+    background: #ccc;
50
+    color: #000;
51
+    padding: 0.2em 0;
52
+}
53
+
54
+
55
+/* ==========================================================================
56
+   Author's custom styles
57
+   ========================================================================== */
58
+
59
+body {
60
+  background-color: #1D1F21;
61
+}
62
+
63
+.center-div
64
+{
65
+  position: absolute;
66
+  margin: auto;
67
+  top: 0;
68
+  right: 0;
69
+  bottom: 0;
70
+  left: 0;
71
+  width: 436px;
72
+  height: 180px;
73
+}
74
+
75
+
76
+
77
+
78
+
79
+
80
+
81
+
82
+
83
+
84
+
85
+
86
+
87
+/* ==========================================================================
88
+   Media Queries
89
+   ========================================================================== */
90
+
91
+@media only screen and (min-width: 35em) {
92
+
93
+}
94
+
95
+@media print,
96
+       (-o-min-device-pixel-ratio: 5/4),
97
+       (-webkit-min-device-pixel-ratio: 1.25),
98
+       (min-resolution: 120dpi) {
99
+
100
+}
101
+
102
+/* ==========================================================================
103
+   Helper classes
104
+   ========================================================================== */
105
+
106
+.hidden {
107
+    display: none !important;
108
+    visibility: hidden;
109
+}
110
+
111
+.visuallyhidden {
112
+    border: 0;
113
+    clip: rect(0 0 0 0);
114
+    height: 1px;
115
+    margin: -1px;
116
+    overflow: hidden;
117
+    padding: 0;
118
+    position: absolute;
119
+    width: 1px;
120
+}
121
+
122
+.visuallyhidden.focusable:active,
123
+.visuallyhidden.focusable:focus {
124
+    clip: auto;
125
+    height: auto;
126
+    margin: 0;
127
+    overflow: visible;
128
+    position: static;
129
+    width: auto;
130
+}
131
+
132
+.invisible {
133
+    visibility: hidden;
134
+}
135
+
136
+.clearfix:before,
137
+.clearfix:after {
138
+    content: " ";
139
+    display: table;
140
+}
141
+
142
+.clearfix:after {
143
+    clear: both;
144
+}
145
+
146
+.clearfix {
147
+    *zoom: 1;
148
+}
149
+
150
+/* ==========================================================================
151
+   Print styles
152
+   ========================================================================== */
153
+
154
+@media print {
155
+    *,
156
+    *:before,
157
+    *:after {
158
+        background: transparent !important;
159
+        color: #000 !important;
160
+        box-shadow: none !important;
161
+        text-shadow: none !important;
162
+    }
163
+
164
+    a,
165
+    a:visited {
166
+        text-decoration: underline;
167
+    }
168
+
169
+    a[href]:after {
170
+        content: " (" attr(href) ")";
171
+    }
172
+
173
+    abbr[title]:after {
174
+        content: " (" attr(title) ")";
175
+    }
176
+
177
+    a[href^="#"]:after,
178
+    a[href^="javascript:"]:after {
179
+        content: "";
180
+    }
181
+
182
+    pre,
183
+    blockquote {
184
+        border: 1px solid #999;
185
+        page-break-inside: avoid;
186
+    }
187
+
188
+    thead {
189
+        display: table-header-group;
190
+    }
191
+
192
+    tr,
193
+    img {
194
+        page-break-inside: avoid;
195
+    }
196
+
197
+    img {
198
+        max-width: 100% !important;
199
+    }
200
+
201
+    p,
202
+    h2,
203
+    h3 {
204
+        orphans: 3;
205
+        widows: 3;
206
+    }
207
+
208
+    h2,
209
+    h3 {
210
+        page-break-after: avoid;
211
+    }
212
+}

+ 427 - 0
css/normalize.css

@@ -0,0 +1,427 @@
1
+/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
2
+
3
+/**
4
+ * 1. Set default font family to sans-serif.
5
+ * 2. Prevent iOS text size adjust after orientation change, without disabling
6
+ *    user zoom.
7
+ */
8
+
9
+html {
10
+  font-family: sans-serif; /* 1 */
11
+  -ms-text-size-adjust: 100%; /* 2 */
12
+  -webkit-text-size-adjust: 100%; /* 2 */
13
+}
14
+
15
+/**
16
+ * Remove default margin.
17
+ */
18
+
19
+body {
20
+  margin: 0;
21
+}
22
+
23
+/* HTML5 display definitions
24
+   ========================================================================== */
25
+
26
+/**
27
+ * Correct `block` display not defined for any HTML5 element in IE 8/9.
28
+ * Correct `block` display not defined for `details` or `summary` in IE 10/11
29
+ * and Firefox.
30
+ * Correct `block` display not defined for `main` in IE 11.
31
+ */
32
+
33
+article,
34
+aside,
35
+details,
36
+figcaption,
37
+figure,
38
+footer,
39
+header,
40
+hgroup,
41
+main,
42
+menu,
43
+nav,
44
+section,
45
+summary {
46
+  display: block;
47
+}
48
+
49
+/**
50
+ * 1. Correct `inline-block` display not defined in IE 8/9.
51
+ * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
52
+ */
53
+
54
+audio,
55
+canvas,
56
+progress,
57
+video {
58
+  display: inline-block; /* 1 */
59
+  vertical-align: baseline; /* 2 */
60
+}
61
+
62
+/**
63
+ * Prevent modern browsers from displaying `audio` without controls.
64
+ * Remove excess height in iOS 5 devices.
65
+ */
66
+
67
+audio:not([controls]) {
68
+  display: none;
69
+  height: 0;
70
+}
71
+
72
+/**
73
+ * Address `[hidden]` styling not present in IE 8/9/10.
74
+ * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
75
+ */
76
+
77
+[hidden],
78
+template {
79
+  display: none;
80
+}
81
+
82
+/* Links
83
+   ========================================================================== */
84
+
85
+/**
86
+ * Remove the gray background color from active links in IE 10.
87
+ */
88
+
89
+a {
90
+  background-color: transparent;
91
+}
92
+
93
+/**
94
+ * Improve readability when focused and also mouse hovered in all browsers.
95
+ */
96
+
97
+a:active,
98
+a:hover {
99
+  outline: 0;
100
+}
101
+
102
+/* Text-level semantics
103
+   ========================================================================== */
104
+
105
+/**
106
+ * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
107
+ */
108
+
109
+abbr[title] {
110
+  border-bottom: 1px dotted;
111
+}
112
+
113
+/**
114
+ * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
115
+ */
116
+
117
+b,
118
+strong {
119
+  font-weight: bold;
120
+}
121
+
122
+/**
123
+ * Address styling not present in Safari and Chrome.
124
+ */
125
+
126
+dfn {
127
+  font-style: italic;
128
+}
129
+
130
+/**
131
+ * Address variable `h1` font-size and margin within `section` and `article`
132
+ * contexts in Firefox 4+, Safari, and Chrome.
133
+ */
134
+
135
+h1 {
136
+  font-size: 2em;
137
+  margin: 0.67em 0;
138
+}
139
+
140
+/**
141
+ * Address styling not present in IE 8/9.
142
+ */
143
+
144
+mark {
145
+  background: #ff0;
146
+  color: #000;
147
+}
148
+
149
+/**
150
+ * Address inconsistent and variable font size in all browsers.
151
+ */
152
+
153
+small {
154
+  font-size: 80%;
155
+}
156
+
157
+/**
158
+ * Prevent `sub` and `sup` affecting `line-height` in all browsers.
159
+ */
160
+
161
+sub,
162
+sup {
163
+  font-size: 75%;
164
+  line-height: 0;
165
+  position: relative;
166
+  vertical-align: baseline;
167
+}
168
+
169
+sup {
170
+  top: -0.5em;
171
+}
172
+
173
+sub {
174
+  bottom: -0.25em;
175
+}
176
+
177
+/* Embedded content
178
+   ========================================================================== */
179
+
180
+/**
181
+ * Remove border when inside `a` element in IE 8/9/10.
182
+ */
183
+
184
+img {
185
+  border: 0;
186
+}
187
+
188
+/**
189
+ * Correct overflow not hidden in IE 9/10/11.
190
+ */
191
+
192
+svg:not(:root) {
193
+  overflow: hidden;
194
+}
195
+
196
+/* Grouping content
197
+   ========================================================================== */
198
+
199
+/**
200
+ * Address margin not present in IE 8/9 and Safari.
201
+ */
202
+
203
+figure {
204
+  margin: 1em 40px;
205
+}
206
+
207
+/**
208
+ * Address differences between Firefox and other browsers.
209
+ */
210
+
211
+hr {
212
+  -moz-box-sizing: content-box;
213
+  box-sizing: content-box;
214
+  height: 0;
215
+}
216
+
217
+/**
218
+ * Contain overflow in all browsers.
219
+ */
220
+
221
+pre {
222
+  overflow: auto;
223
+}
224
+
225
+/**
226
+ * Address odd `em`-unit font size rendering in all browsers.
227
+ */
228
+
229
+code,
230
+kbd,
231
+pre,
232
+samp {
233
+  font-family: monospace, monospace;
234
+  font-size: 1em;
235
+}
236
+
237
+/* Forms
238
+   ========================================================================== */
239
+
240
+/**
241
+ * Known limitation: by default, Chrome and Safari on OS X allow very limited
242
+ * styling of `select`, unless a `border` property is set.
243
+ */
244
+
245
+/**
246
+ * 1. Correct color not being inherited.
247
+ *    Known issue: affects color of disabled elements.
248
+ * 2. Correct font properties not being inherited.
249
+ * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
250
+ */
251
+
252
+button,
253
+input,
254
+optgroup,
255
+select,
256
+textarea {
257
+  color: inherit; /* 1 */
258
+  font: inherit; /* 2 */
259
+  margin: 0; /* 3 */
260
+}
261
+
262
+/**
263
+ * Address `overflow` set to `hidden` in IE 8/9/10/11.
264
+ */
265
+
266
+button {
267
+  overflow: visible;
268
+}
269
+
270
+/**
271
+ * Address inconsistent `text-transform` inheritance for `button` and `select`.
272
+ * All other form control elements do not inherit `text-transform` values.
273
+ * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
274
+ * Correct `select` style inheritance in Firefox.
275
+ */
276
+
277
+button,
278
+select {
279
+  text-transform: none;
280
+}
281
+
282
+/**
283
+ * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
284
+ *    and `video` controls.
285
+ * 2. Correct inability to style clickable `input` types in iOS.
286
+ * 3. Improve usability and consistency of cursor style between image-type
287
+ *    `input` and others.
288
+ */
289
+
290
+button,
291
+html input[type="button"], /* 1 */
292
+input[type="reset"],
293
+input[type="submit"] {
294
+  -webkit-appearance: button; /* 2 */
295
+  cursor: pointer; /* 3 */
296
+}
297
+
298
+/**
299
+ * Re-set default cursor for disabled elements.
300
+ */
301
+
302
+button[disabled],
303
+html input[disabled] {
304
+  cursor: default;
305
+}
306
+
307
+/**
308
+ * Remove inner padding and border in Firefox 4+.
309
+ */
310
+
311
+button::-moz-focus-inner,
312
+input::-moz-focus-inner {
313
+  border: 0;
314
+  padding: 0;
315
+}
316
+
317
+/**
318
+ * Address Firefox 4+ setting `line-height` on `input` using `!important` in
319
+ * the UA stylesheet.
320
+ */
321
+
322
+input {
323
+  line-height: normal;
324
+}
325
+
326
+/**
327
+ * It's recommended that you don't attempt to style these elements.
328
+ * Firefox's implementation doesn't respect box-sizing, padding, or width.
329
+ *
330
+ * 1. Address box sizing set to `content-box` in IE 8/9/10.
331
+ * 2. Remove excess padding in IE 8/9/10.
332
+ */
333
+
334
+input[type="checkbox"],
335
+input[type="radio"] {
336
+  box-sizing: border-box; /* 1 */
337
+  padding: 0; /* 2 */
338
+}
339
+
340
+/**
341
+ * Fix the cursor style for Chrome's increment/decrement buttons. For certain
342
+ * `font-size` values of the `input`, it causes the cursor style of the
343
+ * decrement button to change from `default` to `text`.
344
+ */
345
+
346
+input[type="number"]::-webkit-inner-spin-button,
347
+input[type="number"]::-webkit-outer-spin-button {
348
+  height: auto;
349
+}
350
+
351
+/**
352
+ * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
353
+ * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
354
+ *    (include `-moz` to future-proof).
355
+ */
356
+
357
+input[type="search"] {
358
+  -webkit-appearance: textfield; /* 1 */
359
+  -moz-box-sizing: content-box;
360
+  -webkit-box-sizing: content-box; /* 2 */
361
+  box-sizing: content-box;
362
+}
363
+
364
+/**
365
+ * Remove inner padding and search cancel button in Safari and Chrome on OS X.
366
+ * Safari (but not Chrome) clips the cancel button when the search input has
367
+ * padding (and `textfield` appearance).
368
+ */
369
+
370
+input[type="search"]::-webkit-search-cancel-button,
371
+input[type="search"]::-webkit-search-decoration {
372
+  -webkit-appearance: none;
373
+}
374
+
375
+/**
376
+ * Define consistent border, margin, and padding.
377
+ */
378
+
379
+fieldset {
380
+  border: 1px solid #c0c0c0;
381
+  margin: 0 2px;
382
+  padding: 0.35em 0.625em 0.75em;
383
+}
384
+
385
+/**
386
+ * 1. Correct `color` not being inherited in IE 8/9/10/11.
387
+ * 2. Remove padding so people aren't caught out if they zero out fieldsets.
388
+ */
389
+
390
+legend {
391
+  border: 0; /* 1 */
392
+  padding: 0; /* 2 */
393
+}
394
+
395
+/**
396
+ * Remove default vertical scrollbar in IE 8/9/10/11.
397
+ */
398
+
399
+textarea {
400
+  overflow: auto;
401
+}
402
+
403
+/**
404
+ * Don't inherit the `font-weight` (applied by a rule above).
405
+ * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
406
+ */
407
+
408
+optgroup {
409
+  font-weight: bold;
410
+}
411
+
412
+/* Tables
413
+   ========================================================================== */
414
+
415
+/**
416
+ * Remove most spacing between table cells.
417
+ */
418
+
419
+table {
420
+  border-collapse: collapse;
421
+  border-spacing: 0;
422
+}
423
+
424
+td,
425
+th {
426
+  padding: 0;
427
+}

+ 1 - 0
css/normalize.min.css

@@ -0,0 +1 @@
1
+/*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}

BIN
favicon.ico


+ 15 - 0
humans.txt

@@ -0,0 +1,15 @@
1
+# humanstxt.org/
2
+# The humans responsible & technology colophon
3
+
4
+# TEAM
5
+
6
+    <name> -- <role> -- <twitter>
7
+
8
+# THANKS
9
+
10
+    <name>
11
+
12
+# TECHNOLOGY COLOPHON
13
+
14
+    HTML5, CSS3
15
+    jQuery, Modernizr

BIN
img/J1X_logo.png


BIN
img/J1X_logo_white.png


+ 36 - 0
index.html

@@ -0,0 +1,36 @@
1
+<!doctype html>
2
+<html class="no-js" lang="">
3
+    <head>
4
+        <meta charset="utf-8">
5
+        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
6
+        <title></title>
7
+        <meta name="description" content="">
8
+        <meta name="viewport" content="width=device-width, initial-scale=1">
9
+        <link rel="apple-touch-icon" href="apple-touch-icon.png">
10
+
11
+        <link rel="stylesheet" href="css/normalize.min.css">
12
+        <link rel="stylesheet" href="css/main.css">
13
+
14
+        <script src="js/vendor/modernizr-2.8.3.min.js"></script>
15
+    </head>
16
+    <body>
17
+        <div class="center-div">
18
+          <img src="img/J1X_logo_white.png">
19
+        </div>
20
+
21
+
22
+
23
+        <script src="js/plugins.js"></script>
24
+        <script src="js/main.js"></script>
25
+
26
+        <!-- Google Analytics: change UA-XXXXX-X to be your site's ID. -->
27
+        <script>
28
+            (function(b,o,i,l,e,r){b.GoogleAnalyticsObject=l;b[l]||(b[l]=
29
+            function(){(b[l].q=b[l].q||[]).push(arguments)});b[l].l=+new Date;
30
+            e=o.createElement(i);r=o.getElementsByTagName(i)[0];
31
+            e.src='//www.google-analytics.com/analytics.js';
32
+            r.parentNode.insertBefore(e,r)}(window,document,'script','ga'));
33
+            ga('create','UA-XXXXX-X','auto');ga('send','pageview');
34
+        </script>
35
+    </body>
36
+</html>

+ 1 - 0
js/main.js

@@ -0,0 +1 @@
1
+

+ 24 - 0
js/plugins.js

@@ -0,0 +1,24 @@
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
+        'timeline', 'timelineEnd', '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
+}());
23
+
24
+// Place any jQuery/helper plugins in here.

+ 4 - 0
js/vendor/modernizr-2.8.3.min.js

@@ -0,0 +1,4 @@
1
+/* Modernizr 2.8.3 (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<e;d++)u[c[d]]=c[d]in k;return u.list&&(u.list=!!b.createElement("datalist")&&!!a.HTMLDataListElement),u}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")),e.inputtypes=function(a){for(var d=0,e,f,h,i=a.length;d<i;d++)k.setAttribute("type",f=a[d]),e=k.type!=="text",e&&(k.value=l,k.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(f)&&k.style.WebkitAppearance!==c?(g.appendChild(k),h=b.defaultView,e=h.getComputedStyle&&h.getComputedStyle(k,null).WebkitAppearance!=="textfield"&&k.offsetHeight!==0,g.removeChild(k)):/^(search|tel)$/.test(f)||(/^(url|email)$/.test(f)?e=k.checkValidity&&k.checkValidity()===!1:e=k.value!=l)),t[a[d]]=!!e;return t}("search tel url email datetime date month week time datetime-local number range color".split(" "))}var d="2.8.3",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k=b.createElement("input"),l=":)",m={}.toString,n=" -webkit- -moz- -o- -ms- ".split(" "),o="Webkit Moz O ms",p=o.split(" "),q=o.toLowerCase().split(" "),r={svg:"http://www.w3.org/2000/svg"},s={},t={},u={},v=[],w=v.slice,x,y=function(a,c,d,e){var f,i,j,k,l=b.createElement("div"),m=b.body,n=m||b.createElement("body");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:h+(d+1),l.appendChild(j);return f=["&#173;",'<style id="s',h,'">',a,"</style>"].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)&&c(b).matches||!1;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="<svg/>",(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 l(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function m(){var a=s.elements;return typeof a=="string"?a.split(" "):a}function n(a){var b=j[a[h]];return b||(b={},i++,a[h]=i,j[i]=b),b}function o(a,c,d){c||(c=b);if(k)return c.createElement(a);d||(d=n(c));var g;return d.cache[a]?g=d.cache[a].cloneNode():f.test(a)?g=(d.cache[a]=d.createElem(a)).cloneNode():g=d.createElem(a),g.canHaveChildren&&!e.test(a)&&!g.tagUrn?d.frag.appendChild(g):g}function p(a,c){a||(a=b);if(k)return a.createDocumentFragment();c=c||n(a);var d=c.frag.cloneNode(),e=0,f=m(),g=f.length;for(;e<g;e++)d.createElement(f[e]);return d}function q(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return s.shivMethods?o(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/[\w\-]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(s,b.frag)}function r(a){a||(a=b);var c=n(a);return s.shivCSS&&!g&&!c.hasCSS&&(c.hasCSS=!!l(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),k||q(a,c),a}var c="3.7.0",d=a.html5||{},e=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,f=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,g,h="_html5shiv",i=0,j={},k;(function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",g="hidden"in a,k=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){g=!0,k=!0}})();var s={elements:d.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:c,shivCSS:d.shivCSS!==!1,supportsUnknownElements:k,shivMethods:d.shivMethods!==!1,type:"default",shivDocument:r,createElement:o,createDocumentFragment:p};a.html5=s,r(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<d;f++)g=a[f].split("="),(e=z[g.shift()])&&(c=e(c,g));for(f=0;f<b;f++)c=x[f](c);return c}function g(a,e,f,g,h){var i=b(a),j=i.autoCallback;i.url.split(".").pop().split("?").shift(),i.bypass||(e&&(e=d(e)?e:e[a]||e[g]||e[a.split("/").pop().split("?")[0]]),i.instead?i.instead(a,e,f,g,h):(y[i.url]?i.noexec=!0:y[i.url]=1,f.load(i.url,i.forceCSS||!i.forceJS&&"css"==i.url.split(".").pop().split("?").shift()?"c":c,i.noexec,i.attrs,i.timeout),(d(e)||d(j))&&f.load(function(){k(),e&&e(i.origUrl,h,g),j&&j(i.origUrl,h,g),y[i.url]=2})))}function h(a,b){function c(a,c){if(a){if(e(a))c||(j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}),g(a,j,b,0,h);else if(Object(a)===a)for(n in m=function(){var b=0,c;for(c in a)a.hasOwnProperty(c)&&b++;return b}(),a)a.hasOwnProperty(n)&&(!c&&!--m&&(d(j)?j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}:j[n]=function(a){return function(){var b=[].slice.call(arguments);a&&a.apply(this,b),l()}}(k[n])),g(a[n],j,b,n,h))}else!c&&l()}var h=!!a.test,i=a.load||a.both,j=a.callback||f,k=j,l=a.complete||f,m,n;c(h?a.yep:a.nope,!!i),i&&c(i)}var i,j,l=this.yepnope.loader;if(e(a))g(a,0,l,0);else if(w(a))for(i=0;i<a.length;i++)j=a[i],e(j)?g(j,0,l,0):w(j)?B(j):Object(j)===j&&h(j,l);else Object(a)===a&&h(a,l)},B.addPrefix=function(a,b){z[a]=b},B.addFilter=function(a){x.push(a)},B.errorTimeout=1e4,null==b.readyState&&b.addEventListener&&(b.readyState="loading",b.addEventListener("DOMContentLoaded",A=function(){b.removeEventListener("DOMContentLoaded",A,0),b.readyState="complete"},0)),a.yepnope=k(),a.yepnope.executeStack=h,a.yepnope.injectJs=function(a,c,d,e,i,j){var k=b.createElement("script"),l,o,e=e||B.errorTimeout;k.src=a;for(o in d)k.setAttribute(o,d[o]);c=j?h:c||f,k.onreadystatechange=k.onload=function(){!l&&g(k.readyState)&&(l=1,c(),k.onload=k.onreadystatechange=null)},m(function(){l||(l=1,c(1))},e),i?k.onload():n.parentNode.insertBefore(k,n)},a.yepnope.injectCss=function(a,c,d,e,g,i){var e=b.createElement("link"),j,c=i?h:c||f;e.href=a,e.rel="stylesheet",e.type="text/css";for(j in d)e.setAttribute(j,d[j]);g||(n.parentNode.insertBefore(e,n),m(c,0))}}(this,document),Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0))};

+ 5 - 0
robots.txt

@@ -0,0 +1,5 @@
1
+# www.robotstxt.org/
2
+
3
+# Allow crawling of all content
4
+User-agent: *
5
+Disallow:

BIN
tile-wide.png


BIN
tile.png