From d414f4c0aeb535df89e52139f10ec85cac1312e6 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Thu, 9 Apr 2015 17:00:26 -0400 Subject: preloading images from projects/pages --- site/public/assets/javascripts/_env.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'site/public') diff --git a/site/public/assets/javascripts/_env.js b/site/public/assets/javascripts/_env.js index 3badf41..ca94ee2 100644 --- a/site/public/assets/javascripts/_env.js +++ b/site/public/assets/javascripts/_env.js @@ -16,9 +16,10 @@ environment.init = function(){ var loader = new Loader(function(){ environment.ready() }) + var preloadImages = $("#preload-image-list").html().split("\n").filter(function(s){ return !!s }) loader.preloadImages(box_images.map(function(url){ return base_href + url - })) + }).concat(preloadImages)) loader.ready() } environment.ready = function(){ -- cgit v1.2.3-70-g09d2 From e791ea8b3d6855b62962e4c89ad2c9f86126daf1 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Mon, 13 Apr 2015 16:45:01 -0400 Subject: stub in loader --- site/public/assets/javascripts/_env.js | 29 ++++++++++++++++++++++--- site/public/assets/javascripts/app.js | 2 +- site/public/assets/javascripts/vendor/loader.js | 23 +++++++++++++++++--- 3 files changed, 47 insertions(+), 7 deletions(-) (limited to 'site/public') diff --git a/site/public/assets/javascripts/_env.js b/site/public/assets/javascripts/_env.js index ca94ee2..2c183aa 100644 --- a/site/public/assets/javascripts/_env.js +++ b/site/public/assets/javascripts/_env.js @@ -13,9 +13,7 @@ var done_loading = false, menu_open = false, entry_open = false var environment = {}, hashes = {} environment.init = function(){ - var loader = new Loader(function(){ - environment.ready() - }) + var loader = new Loader(environment.ready, new HustleLoader) var preloadImages = $("#preload-image-list").html().split("\n").filter(function(s){ return !!s }) loader.preloadImages(box_images.map(function(url){ return base_href + url @@ -495,3 +493,28 @@ Strip.prototype.update = function(t){ el.y = el.height / 2 }) } + +function HustleLoader () { + function init(){ + build() + } + function build(){ + setTimeout(function(){ $("#loader_svg").addClass("slide") }, 100) + +// loading_text.innerHTML = "" + loading_text.innerHTML.split("").join("") + "" + } + this.update = function (i) { +// loading_status.style.width = ((100*(1-i))|0) + "%" +// loader_svg_status.setAttribute("y", (i) * 245) + } + this.finish = function(cb){ + $("#loader_rapper").addClass("hidden") + setTimeout(cb, 100) + setTimeout(function(){ + $("#loader_rapper").hide() + }, 300) + } + init() +} + + diff --git a/site/public/assets/javascripts/app.js b/site/public/assets/javascripts/app.js index dd68726..8d20e65 100644 --- a/site/public/assets/javascripts/app.js +++ b/site/public/assets/javascripts/app.js @@ -18,7 +18,7 @@ app.init = function () { } app.launch = function () { - if ($.browser.msie || ! has3d()) { return app.fallback() } + // if ($.browser.msie || ! has3d()) { return app.fallback() } scene = new MX.Scene().addTo('#scene') diff --git a/site/public/assets/javascripts/vendor/loader.js b/site/public/assets/javascripts/vendor/loader.js index 4c1c8cd..b939941 100644 --- a/site/public/assets/javascripts/vendor/loader.js +++ b/site/public/assets/javascripts/vendor/loader.js @@ -1,13 +1,17 @@ var Loader = Loader || (function(){ - function Loader (readyCallback){ + function Loader (readyCallback, view){ this.assets = {}; this.images = []; this.readyCallback = readyCallback; + this.count = 0 + this.view = view + this.loaded = false } // Register an asset as loading Loader.prototype.register = function(s){ this.assets[s] = false; + this.count += 1 } // Signal that an asset has loaded @@ -16,10 +20,18 @@ var Loader = Loader || (function(){ this.assets[s] = true; if (this.loaded) return; + + this.view && this.view.update( this.percentRemaining() ) + if (! this.isReady()) return; this.loaded = true; - this.readyCallback && this.readyCallback(); + if (this.view) { + this.view && this.view.finish(this.readyCallback) + } + else { + this.readyCallback && this.readyCallback(); + } } // (boolean) Is the loader ready? @@ -31,6 +43,11 @@ var Loader = Loader || (function(){ } return true; } + + // (float) Percentage of assets remaining + Loader.prototype.percentRemaining = function(){ + return this.remainingAssets() / this.count + } // (int) Number of assets remaining Loader.prototype.remainingAssets = function(){ @@ -38,7 +55,7 @@ var Loader = Loader || (function(){ for (var s in this.assets) { if (this.assets.hasOwnProperty(s) && this.assets[s] != true) { n++; - console.log('remaining: ' + s); + // console.log('remaining: ' + s); } } return n; -- cgit v1.2.3-70-g09d2 From 58b62a1d76298a568aa0ded39f986477f889b793 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Mon, 13 Apr 2015 18:30:24 -0400 Subject: use type and id for frontend lookups --- site/public/assets/javascripts/_env.js | 36 ++++++++++++++++------------------ site/templates/all.liquid | 22 +++++++++++++++++++-- site/templates/index.liquid | 8 ++++---- themes/okadmin/public/js/app.js | 9 +++++++-- 4 files changed, 48 insertions(+), 27 deletions(-) (limited to 'site/public') diff --git a/site/public/assets/javascripts/_env.js b/site/public/assets/javascripts/_env.js index 2c183aa..8871602 100644 --- a/site/public/assets/javascripts/_env.js +++ b/site/public/assets/javascripts/_env.js @@ -43,16 +43,14 @@ environment.ready = function(){ $("nav a").click(function(e){ e.preventDefault() - var hash = "#" + $(this).data("hash") + var page = "/" + $(this).data("type") + "/" + $(this).data("id") + var hash = "#" + page if (done_loading && window.location.hash == hash) return window.location.hash = hash $("nav a.active").removeClass("active") $(this).addClass("active") open_entry() - - var page = $(this).attr("href") - if (page.indexOf("#") !== -1) page = "#" $("#entry_container").removeClass("visible") @@ -66,8 +64,8 @@ environment.ready = function(){ $("nav .about").click(function(e){ e.preventDefault() - if (done_loading && window.location.hash == "#about") return - window.location.hash = "#about" + if (done_loading && window.location.hash == "#/about") return + window.location.hash = "#/about" $("nav a.active").removeClass("active") open_entry() @@ -81,8 +79,8 @@ environment.ready = function(){ $("nav .contact").click(function(e){ e.preventDefault() - if (done_loading && window.location.hash == "#contact") return - window.location.hash = "#contact" + if (done_loading && window.location.hash == "#/contact") return + window.location.hash = "#/contact" $("nav a.active").removeClass("active") open_entry() @@ -96,8 +94,8 @@ environment.ready = function(){ $("nav .index").click(function(e){ e.preventDefault() - if (done_loading && window.location.hash == "#index") return - window.location.hash = "#index" + if (done_loading && window.location.hash == "#/index") return + window.location.hash = "#/index" $("nav a.active").removeClass("active") open_entry() @@ -107,13 +105,13 @@ environment.ready = function(){ $loader.load("all .entry", function(){ display_entry($loader.children()[0]) }) - }) + }) $(".toggleRapper").click(toggle_menu) $(".toplogo").click(hide_entry) $(document).on("click", ".project", function(){ - var hash = as_hash( $(this).find("span").text() ) - load_hash(hash) + var page = "/" + $(this).data("type") + "/" + $(this).data("id") + load_hash(page) }) $(window).mousedown(function(e){ @@ -146,13 +144,13 @@ environment.ready = function(){ var current_hash = window.location.hash.replace("#","") $("nav a").each(function(){ - var key = as_hash(this.innerHTML) - hashes[key] = this - $(this).data("hash", key) + var page = "/" + $(this).data("type") + "/" + $(this).data("id") + hashes[page] = this + $(this).data("hash", page) }) - hashes['about'] = $("nav .about") - hashes['contact'] = $("nav .contact") - hashes['index'] = $("nav .index") + hashes['/about'] = $("nav .about") + hashes['/contact'] = $("nav .contact") + hashes['/index'] = $("nav .index") if (current_hash in hashes) { toggle_menu() diff --git a/site/templates/all.liquid b/site/templates/all.liquid index 852137f..01ddc3a 100644 --- a/site/templates/all.liquid +++ b/site/templates/all.liquid @@ -1,6 +1,24 @@
- {% for project in projects %} -
+ {% for project in retails %} +
+ + {{ project.shortname }} +
+ {% endfor %} + {% for project in advertisings %} +
+ + {{ project.shortname }} +
+ {% endfor %} + {% for project in experientials %} +
+ + {{ project.shortname }} +
+ {% endfor %} + {% for project in contents %} +
{{ project.shortname }}
diff --git a/site/templates/index.liquid b/site/templates/index.liquid index 0bd6b7d..19bdf88 100644 --- a/site/templates/index.liquid +++ b/site/templates/index.liquid @@ -88,25 +88,25 @@ WEBSITE BY OKFOCUS, http://okfoc.us, Internet Legends.
retail
{% for project in retails %} - {{ project.shortname }} + {{ project.shortname }} {% endfor %}
advertising
{% for project in advertisings %} - {{ project.shortname }} + {{ project.shortname }} {% endfor %}
experiential
{% for project in experientials %} - {{ project.shortname }} + {{ project.shortname }} {% endfor %}
content
{% for project in contents %} - {{ project.shortname }} + {{ project.shortname }} {% endfor %}
diff --git a/themes/okadmin/public/js/app.js b/themes/okadmin/public/js/app.js index 009fe4c..b53d21f 100644 --- a/themes/okadmin/public/js/app.js +++ b/themes/okadmin/public/js/app.js @@ -51,7 +51,7 @@ var OKAdmin = function(){ // fix post indexing in list-driven inputs $(".main.resource form").submit(function(e){ - var $id = $("[name=id]"), $title = $("[name=title]") + var $id = $("[name=id]"), $title = $("[name=title]"), $shortname = $("[name=shortname]") if ($title.length && ! $title.val()) { alert("Please enter a title") @@ -60,6 +60,11 @@ var OKAdmin = function(){ return } + if ($shortname.length && ! $shortname.val()) { + $shortname.val( $title.val() ) + return + } + var slug = slugify( $title.val() ) $id.val( slug ) @@ -136,4 +141,4 @@ $(function(){ }) -function slugify (s){ return (s || "").toLowerCase().replace(/\s/g,"-").replace(/[^-_a-zA-Z0-9]/g, '-').replace(/-+/g,"-") } +function slugify (s){ return (s || "").toLowerCase().replace(/\s/g,"-").replace(/[^-_a-zA-Z0-9]/g, '-').replace(/-+/g, "-") } -- cgit v1.2.3-70-g09d2 From dc2ec5f9e39547a749595f42c8a7eceecde87a5f Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Tue, 14 Apr 2015 11:18:45 -0400 Subject: svg --- site/public/assets/images/2H_LOGOMARK.svg | 58 +++++++++++++++++++++++++++++++ site/templates/index.liquid | 2 +- 2 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 site/public/assets/images/2H_LOGOMARK.svg (limited to 'site/public') diff --git a/site/public/assets/images/2H_LOGOMARK.svg b/site/public/assets/images/2H_LOGOMARK.svg new file mode 100644 index 0000000..9af234a --- /dev/null +++ b/site/public/assets/images/2H_LOGOMARK.svg @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + diff --git a/site/templates/index.liquid b/site/templates/index.liquid index 19a0b6c..1b4978c 100644 --- a/site/templates/index.liquid +++ b/site/templates/index.liquid @@ -138,7 +138,7 @@ WEBSITE BY OKFOCUS, http://okfoc.us, Internet Legends.
- + -- cgit v1.2.3-70-g09d2 From fc7ba0f29f549820885fcb11e88c68256d3eacca Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Tue, 14 Apr 2015 14:54:22 -0400 Subject: adding loader --- site/public/assets/javascripts/_env.js | 20 +++--- site/public/assets/style.css | 22 ++++++- site/templates/index.liquid | 110 +++++++++++++++++++++++++++++++++ themes/okadmin/public/js/app.js | 2 +- 4 files changed, 143 insertions(+), 11 deletions(-) (limited to 'site/public') diff --git a/site/public/assets/javascripts/_env.js b/site/public/assets/javascripts/_env.js index 8871602..5fddaa7 100644 --- a/site/public/assets/javascripts/_env.js +++ b/site/public/assets/javascripts/_env.js @@ -13,6 +13,7 @@ var done_loading = false, menu_open = false, entry_open = false var environment = {}, hashes = {} environment.init = function(){ + $("#scene").addClass("fade") var loader = new Loader(environment.ready, new HustleLoader) var preloadImages = $("#preload-image-list").html().split("\n").filter(function(s){ return !!s }) loader.preloadImages(box_images.map(function(url){ @@ -24,7 +25,7 @@ environment.ready = function(){ if (window.innerWidth < 500) document.body.classList.add('mobile') controls = new MX.OrbitCamera({ - radius: 1000, + radius: 100000, radiusRange: [ 10, 2000 ], rotationX: PI/2, rotationY: PI, @@ -159,6 +160,7 @@ environment.ready = function(){ } else { build_scene() + $("#scene").removeClass("fade") } setTimeout(function(){ done_loading = true }, 200) @@ -188,6 +190,9 @@ environment.ready = function(){ function build_scene () { + controls.setZoom(100000) + controls.zoom(1000) + strips.push( new Strip({ images: box_images.slice(0, 5), x: -100, @@ -493,24 +498,23 @@ Strip.prototype.update = function(t){ } function HustleLoader () { + var svg = document.getElementById("loader_svg_status") function init(){ build() } function build(){ setTimeout(function(){ $("#loader_svg").addClass("slide") }, 100) - -// loading_text.innerHTML = "" + loading_text.innerHTML.split("").join("") + "" } this.update = function (i) { -// loading_status.style.width = ((100*(1-i))|0) + "%" -// loader_svg_status.setAttribute("y", (i) * 245) + var y = lerp(1-i, 1100, 245) + svg.setAttribute("y", y ) } this.finish = function(cb){ $("#loader_rapper").addClass("hidden") - setTimeout(cb, 100) + setTimeout(cb, 100) setTimeout(function(){ - $("#loader_rapper").hide() - }, 300) + $("#loader_rapper").hide() + }, 500) } init() } diff --git a/site/public/assets/style.css b/site/public/assets/style.css index 2ca71b4..e5a3404 100644 --- a/site/public/assets/style.css +++ b/site/public/assets/style.css @@ -208,6 +208,24 @@ cursor: grabbing; cursor: -moz-grabbing; } +#loader_rapper { + -webkit-transition: 0.3s opacity !important; + transition: 0.3s opacity !important; + opacity: 1.0; +} +#loader_rapper.hidden { + opacity: 0; +} +#loader_svg { + position: absolute; + left: 2.5%; + top: 10%; + height: 60%; + width: 95%; +} +#loader_svg svg { + width: 100%; height: 100%; +} nav { -moz-user-select: none; -webkit-user-select: none; @@ -268,7 +286,7 @@ nav .middle { nav .bottom { width: 100%; - background: #44D3D3; + background: #bbb; } nav a { text-decoration:none; @@ -638,7 +656,7 @@ nav a.active, nav .sub a:hover { } .logo { position: fixed; - right: 10px; + right: 2%; bottom: 10px; width: 6%; max-width:120px; diff --git a/site/templates/index.liquid b/site/templates/index.liquid index 1b4978c..e870a6d 100644 --- a/site/templates/index.liquid +++ b/site/templates/index.liquid @@ -118,6 +118,116 @@ WEBSITE BY OKFOCUS, http://okfoc.us, Internet Legends.
CONTACT
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
diff --git a/themes/okadmin/public/js/app.js b/themes/okadmin/public/js/app.js index a5bd0fc..22317f3 100644 --- a/themes/okadmin/public/js/app.js +++ b/themes/okadmin/public/js/app.js @@ -60,8 +60,8 @@ var OKAdmin = function(){ var id = $section.data("id"), type = $section.data("type") if ($title.length && ! $title.val()) { - alert("Please enter a title") $title.focus() + alert("Please enter a title") e.preventDefault() return } -- cgit v1.2.3-70-g09d2 From 55bba9f4aab51fb05ebeb01987924e1f97226210 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Tue, 14 Apr 2015 15:37:19 -0400 Subject: store shape images in CMS --- site/db.json | 69 ++++++++++++++++++++++++++++++++++ site/index.js | 7 ++++ site/public/assets/javascripts/_env.js | 49 ++++++------------------ site/templates/index.liquid | 13 +++---- 4 files changed, 92 insertions(+), 46 deletions(-) (limited to 'site/public') diff --git a/site/db.json b/site/db.json index 4c8321e..f8431f0 100644 --- a/site/db.json +++ b/site/db.json @@ -46,6 +46,75 @@ "__index": "0" } ], + "shape": [ + { + "id": "shape-images", + "title": "Shape Images", + "images": [ + { + "uri": "http://okfocus.s3.amazonaws.com/2h/1.gif", + "caption": "" + }, + { + "uri": "http://okfocus.s3.amazonaws.com/2h/2.gif", + "caption": "" + }, + { + "uri": "http://okfocus.s3.amazonaws.com/2h/3.gif", + "caption": "" + }, + { + "uri": "http://okfocus.s3.amazonaws.com/2h/4.gif", + "caption": "" + }, + { + "uri": "http://okfocus.s3.amazonaws.com/2h/5.gif", + "caption": "" + }, + { + "uri": "http://okfocus.s3.amazonaws.com/2h/6.gif", + "caption": "" + }, + { + "uri": "http://okfocus.s3.amazonaws.com/2h/7.gif", + "caption": "" + }, + { + "uri": "http://okfocus.s3.amazonaws.com/2h/8.gif", + "caption": "" + }, + { + "uri": "http://okfocus.s3.amazonaws.com/2h/9.gif", + "caption": "" + }, + { + "uri": "http://okfocus.s3.amazonaws.com/2h/12.gif", + "caption": "" + }, + { + "uri": "http://okfocus.s3.amazonaws.com/2h/13.gif", + "caption": "" + }, + { + "uri": "http://okfocus.s3.amazonaws.com/2h/14.gif", + "caption": "" + }, + { + "uri": "http://okfocus.s3.amazonaws.com/2h/15.gif", + "caption": "" + }, + { + "uri": "http://okfocus.s3.amazonaws.com/2h/16.gif", + "caption": "" + }, + { + "uri": "http://okfocus.s3.amazonaws.com/2h/17.gif", + "caption": "" + } + ], + "__index": "0" + } + ], "experiential": [], "content": [], "advertising": [] diff --git a/site/index.js b/site/index.js index b6dea48..7457bbf 100644 --- a/site/index.js +++ b/site/index.js @@ -24,11 +24,17 @@ var app = okcms.createApp({ advertising: projectSchema, experiential: projectSchema, content: projectSchema, + shape: { + id: {type: 'string', id: true, hidden: true}, + title: {type: 'string'}, + images: {type: 'captioned-image-list'}, + } }, resources: [ { type: 'page', static: {id: 'about'}}, { type: 'page', static: {id: 'contact'}}, + { type: 'shape', static: {id: 'shape-images'}}, { type: 'retail' }, { type: 'advertising' }, { type: 'experiential' }, @@ -47,6 +53,7 @@ var app = okcms.createApp({ '/': { data: [ {type: 'page', query: '*'}, + {type: 'shape', query: 'shape-images'}, {type: 'retail', query: '*'}, {type: 'advertising', query: '*'}, {type: 'experiential', query: '*'}, diff --git a/site/public/assets/javascripts/_env.js b/site/public/assets/javascripts/_env.js index 5fddaa7..ac155b3 100644 --- a/site/public/assets/javascripts/_env.js +++ b/site/public/assets/javascripts/_env.js @@ -1,13 +1,4 @@ -var base_href = "http://okfocus.s3.amazonaws.com/2h/" -var box_images = shuffle([ - "1.gif", "2.gif", "3.gif", "4.gif", "5.gif", -// "dies2.gif", "dies3.gif", - "6.gif", "7.gif", "8.gif", "9.gif", - "12.gif", "13.gif", "14.gif", "15.gif", - "16.gif", "17.gif", // "CCP-GIF.gif", "dies1.gif", -]) - -var strips = [] +var strips = [], boxImages = [] var done_loading = false, menu_open = false, entry_open = false @@ -16,9 +7,8 @@ environment.init = function(){ $("#scene").addClass("fade") var loader = new Loader(environment.ready, new HustleLoader) var preloadImages = $("#preload-image-list").html().split("\n").filter(function(s){ return !!s }) - loader.preloadImages(box_images.map(function(url){ - return base_href + url - }).concat(preloadImages)) + boxImages = $("#box-image-list").html().split("\n").filter(function(s){ return !!s }) + loader.preloadImages( preloadImages.concat(boxImages) ) loader.ready() } environment.ready = function(){ @@ -160,7 +150,9 @@ environment.ready = function(){ } else { build_scene() - $("#scene").removeClass("fade") + setTimeout(function(){ + $("#scene").removeClass("fade") + }, 50) } setTimeout(function(){ done_loading = true }, 200) @@ -194,7 +186,7 @@ function build_scene () { controls.zoom(1000) strips.push( new Strip({ - images: box_images.slice(0, 5), + images: boxImages.slice(0, 5), x: -100, y: 100, rotationY: PI/4, @@ -202,7 +194,7 @@ function build_scene () { }) ) strips.push( new Strip({ - images: box_images.slice(5, 10), + images: boxImages.slice(5, 10), x: 100, y: 100, rotationX: PI/4, @@ -211,7 +203,7 @@ function build_scene () { }) ) strips.push( new Strip({ - images: box_images.slice(10, 15), + images: boxImages.slice(10, 15), x: 0, y: 100, z: 100, @@ -220,7 +212,7 @@ function build_scene () { }) ) strips.push( new Strip({ - images: box_images.slice(15, 20), + images: boxImages.slice(15, 20), x: 0, y: 100, z: -50, @@ -438,24 +430,6 @@ environment.updateOnReady = function(t){ controls.update() } -var titles = [ - "BARNEY'S, GAGA CONSTELLATION", - "CCP GAMES, EVE ONLINE", - "DIESEL ACCESSORIES", - "DIESEL CAMPAIGN FW13/SS14", - "DIESEL CAMPAIGN FW14", - "#DIESELREBOOT", - "#DIESELTRIBUTE", - "DIESEL JOGG JEANS", - "DIESEL WATCHES", - 'MAC, "UNTITLED, SELF-PORTRAIT"', - "MUGLER, BROTHERS OF ARCADIA", - "MUGLER, LADY GAGA", - "MUGLER, MEN’S FW11", - "NICOLA’S, HO HO HO CHRISTMAS SHOP", - "NICOLA'S, LANE CRAWFORD", - "NICOLA’S, NEW YORK" -] var Strip = function( opt ){ this.opt = opt @@ -471,11 +445,10 @@ var Strip = function( opt ){ var prev = root this.els = opt.images.map(function(url, i){ var el = new MX.Image({ - src: base_href + url, + src: url, onload: function(img){ } }) - $(el.el).attr("data-title", choice(titles)) el.setCSSTransformOrigin( "50% 100%" ) el.addTo(prev) el.update() diff --git a/site/templates/index.liquid b/site/templates/index.liquid index e870a6d..b05590b 100644 --- a/site/templates/index.liquid +++ b/site/templates/index.liquid @@ -235,16 +235,13 @@ WEBSITE BY OKFOCUS, http://okfoc.us, Internet Legends.
+ - -
-
-- cgit v1.2.3-70-g09d2 From d23a69383e0871e681cf122441c4531980a2b4c2 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Tue, 14 Apr 2015 16:08:56 -0400 Subject: share links --- site/public/assets/javascripts/_env.js | 25 ++++++++++++++++++++++++- site/public/assets/style.css | 10 ++++------ site/templates/project.liquid | 6 +++--- 3 files changed, 31 insertions(+), 10 deletions(-) (limited to 'site/public') diff --git a/site/public/assets/javascripts/_env.js b/site/public/assets/javascripts/_env.js index ac155b3..c34787d 100644 --- a/site/public/assets/javascripts/_env.js +++ b/site/public/assets/javascripts/_env.js @@ -105,6 +105,8 @@ environment.ready = function(){ load_hash(page) }) + Share.init() + $(window).mousedown(function(e){ if (! menu_open) { controls.pause() @@ -492,4 +494,25 @@ function HustleLoader () { init() } - +var Share = { + init: function(){ + $(document).on("click", ".fb", Share.facebook) + $(document).on("click", ".tw", Share.twitter) + }, + + facebook: function (e) { + e.preventDefault() + var link = window.location.href + var msg = $(".postname").html() + var url = "https://www.facebook.com/share.php?u=" + encodeURIComponent(link) + "&t=" + encodeURIComponent(msg) + window.open(url, "_blank") + }, + + twitter: function (e) { + e.preventDefault() + var link = window.location.href + var msg = $(".postname").html() + var url = "https://twitter.com/home?status=" + encodeURIComponent(msg + " " + link) + window.open(url, "_blank") + }, +} \ No newline at end of file diff --git a/site/public/assets/style.css b/site/public/assets/style.css index e5a3404..6bf1fcb 100644 --- a/site/public/assets/style.css +++ b/site/public/assets/style.css @@ -454,18 +454,16 @@ nav a.active, nav .sub a:hover { color: #909090; } -.credit a { +.credit img { display:inline-block; opacity:0.9; + cursor: pointer; + width: 18px; } -.credit a:hover { +.credit img:hover { opacity:1; } -.credit a img { - width:18px; -} - .mx-object3d .image{ box-shadow:5px -10px 20px rgba(0,0,0,0.1); } diff --git a/site/templates/project.liquid b/site/templates/project.liquid index a6b2b24..b54722d 100644 --- a/site/templates/project.liquid +++ b/site/templates/project.liquid @@ -15,8 +15,8 @@ {{ project.description | newline_to_br }}
- - + +
- + \ No newline at end of file -- cgit v1.2.3-70-g09d2 From 72e7b0ad4f782ab4b1878d5b5b499824c10830c1 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Tue, 14 Apr 2015 16:15:26 -0400 Subject: click corner logo --- site/public/assets/javascripts/_env.js | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'site/public') diff --git a/site/public/assets/javascripts/_env.js b/site/public/assets/javascripts/_env.js index c34787d..3bff148 100644 --- a/site/public/assets/javascripts/_env.js +++ b/site/public/assets/javascripts/_env.js @@ -104,6 +104,10 @@ environment.ready = function(){ var page = "/" + $(this).data("type") + "/" + $(this).data("id") load_hash(page) }) + $(".logo").click(function(e){ + e.preventDefault() + hide_entry() + }) Share.init() -- cgit v1.2.3-70-g09d2 From 52b9d528e7bc9b8b4b1d1c391ef7267be34a2458 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Tue, 14 Apr 2015 16:27:06 -0400 Subject: loading adjust --- site/public/assets/javascripts/_env.js | 2 +- site/public/assets/style.css | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'site/public') diff --git a/site/public/assets/javascripts/_env.js b/site/public/assets/javascripts/_env.js index 3bff148..f30d62d 100644 --- a/site/public/assets/javascripts/_env.js +++ b/site/public/assets/javascripts/_env.js @@ -158,7 +158,7 @@ environment.ready = function(){ build_scene() setTimeout(function(){ $("#scene").removeClass("fade") - }, 50) + }, 100) } setTimeout(function(){ done_loading = true }, 200) diff --git a/site/public/assets/style.css b/site/public/assets/style.css index 6bf1fcb..2e8829e 100644 --- a/site/public/assets/style.css +++ b/site/public/assets/style.css @@ -663,6 +663,10 @@ nav a.active, nav .sub a:hover { .logo img { width:100%; } +.loading .logo, +.loading .toggleRapper { + display: none; +} .toggleRapper { width: 50px; position: fixed; -- cgit v1.2.3-70-g09d2 From 22b1dabf05f968baedffb701be6c6f6fc579241a Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Tue, 14 Apr 2015 18:24:32 -0400 Subject: center logo --- site/public/assets/style.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'site/public') diff --git a/site/public/assets/style.css b/site/public/assets/style.css index 2e8829e..65235ce 100644 --- a/site/public/assets/style.css +++ b/site/public/assets/style.css @@ -219,7 +219,7 @@ cursor: grabbing; #loader_svg { position: absolute; left: 2.5%; - top: 10%; + top: 20%; height: 60%; width: 95%; } -- cgit v1.2.3-70-g09d2 From e69ec9ce4b4afbf1910c617bebdad02c1bce69ed Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Tue, 14 Apr 2015 19:09:06 -0400 Subject: fix shape appearance bug? --- site/public/assets/javascripts/_env.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'site/public') diff --git a/site/public/assets/javascripts/_env.js b/site/public/assets/javascripts/_env.js index f30d62d..7ff471d 100644 --- a/site/public/assets/javascripts/_env.js +++ b/site/public/assets/javascripts/_env.js @@ -99,12 +99,11 @@ environment.ready = function(){ }) $(".toggleRapper").click(toggle_menu) - $(".toplogo").click(hide_entry) $(document).on("click", ".project", function(){ var page = "/" + $(this).data("type") + "/" + $(this).data("id") load_hash(page) }) - $(".logo").click(function(e){ + $(".toplogo,.logo").click(function(e){ e.preventDefault() hide_entry() }) @@ -285,8 +284,10 @@ function display_entry ($el) { $("#entry_container").scrollTop(0) $("#entry_container").addClass("visible") - controls.setZoom(100000) - setTimeout(function(){ controls.zoom(100) }, 100) + $("#scene").addClass("fade") + setTimeout(function(){ + $("#scene").hide() + }, 200) } function hide_entry () { $("nav .active").removeClass("active") @@ -317,6 +318,7 @@ function toggle_menu (){ } if (! menu_open && ! entry_open) { window.location.hash = "#" + console.log("what") $("#scene").show() $("#entry_container").empty() controls.zoom(1500) -- cgit v1.2.3-70-g09d2 From d1d06e58283eac26dd78b0a19bcfcbf16e64013f Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Tue, 14 Apr 2015 19:38:23 -0400 Subject: fix videos on mobile --- site/public/assets/javascripts/_env.js | 30 ++++++++++++---------- site/public/assets/style.css | 47 ++++++++++++++++++++++------------ 2 files changed, 47 insertions(+), 30 deletions(-) (limited to 'site/public') diff --git a/site/public/assets/javascripts/_env.js b/site/public/assets/javascripts/_env.js index 7ff471d..c4e9ace 100644 --- a/site/public/assets/javascripts/_env.js +++ b/site/public/assets/javascripts/_env.js @@ -352,17 +352,19 @@ function build_gallery () { var $play = $('
') var $el = $(this) $el.append($play) - $play.click(function(e){ - e.stopPropagation() - e.preventDefault() - if ($el.hasClass('loaded')) { - var player = $el.data('player') - player.api('play') - } - else { - load_video($el) - } - }) + if (is_desktop) { + $play.on("click", function(e){ + e.stopPropagation() + e.preventDefault() + if ($el.hasClass('loaded')) { + var player = $el.data('player') + player.api('play') + } + else { + load_video($el) + } + }) + } }) $(".caption").click(function(){ @@ -416,8 +418,10 @@ function load_video ($el) { var vimeo_id = $el.data("video").match(/\d+/)[0] var $embed = $('') $el.append($embed) - var $mask = $('
') - $el.append($mask) + if (! is_mobile) { + var $mask = $('
') + $el.append($mask) + } var player = $f( $el.find("iframe")[0] ) $el.data('player', player) player.addEvent('ready', function(){ diff --git a/site/public/assets/style.css b/site/public/assets/style.css index 65235ce..825f46c 100644 --- a/site/public/assets/style.css +++ b/site/public/assets/style.css @@ -113,7 +113,7 @@ cursor: grabbing; transform: translateY(-50%); } -.flickity-prev-next-button:hover { background: white; } +.desktop .flickity-prev-next-button:hover { background: white; } .flickity-prev-next-button:focus { outline: none; @@ -256,7 +256,7 @@ nav { border-top: 1px solid #222; padding-top: 10px; } -.toplogo:hover { +.desktop .toplogo:hover { cursor:pointer; opacity:1; } @@ -295,13 +295,13 @@ nav a { color:black; } -nav .cat:hover { +.desktop nav .cat:hover { cursor:pointer; background:#eee; } -nav a.active:hover { +.desktop nav a.active:hover { cursor:default; } nav .cat { @@ -313,7 +313,7 @@ nav .cat.active { display: inline-block; font-family: 'BellGothic-Bold'; } -nav .top .cat.active:hover { +.desktop nav .top .cat.active:hover { background:transparent; } @@ -409,7 +409,7 @@ nav .sub.active a { transform:translateY(0)scale(1)skew(0deg); } -nav a.active, nav .sub a:hover { +.desktop nav a.active, nav .sub a:hover { text-decoration:none; background:#eee; color:black; @@ -460,7 +460,7 @@ nav a.active, nav .sub a:hover { cursor: pointer; width: 18px; } -.credit img:hover { +.desktop .credit img:hover { opacity:1; } @@ -559,7 +559,7 @@ nav a.active, nav .sub a:hover { opacity: 0.7; z-index: 4; } -.cell.video .play:hover { +.desktop .cell.video .play:hover { opacity: 1.0; } .cell iframe { @@ -621,12 +621,12 @@ nav a.active, nav .sub a:hover { opacity:0.5; cursor:pointer; } -.caption:hover { +.desktop .caption:hover { background:#222; color:#222; cursor:pointer; } -.caption:hover::after { +.desktop .caption:hover::after { color:white; opacity:1; } @@ -734,7 +734,7 @@ nav a.active, nav .sub a:hover { transition: 0.1s opacity ease-in; transition-delay:0.4s; } -.ready .project:hover { +.desktop .ready .project:hover { opacity: 1.0; } .project img { @@ -852,14 +852,27 @@ nav a.active, nav .sub a:hover { .menuActive #entry_container { left:160px; } - body{ - font-size: 18px; + #scene { + -webkit-transition: left 0.2s; + transition: left 0.2s; + } + .menuActive #scene { + left:160px; + } + body { + font-size: 18px; } } .mobile .cell iframe { - position: fixed; /* REALLY WEIRD, vimeo won't play without this! */ - width: 80%; - opacity:0.2; + width: 100%; + opacity: 0.0!important; transition:0.4s opacity ease-in; - z-index: 2; + z-index: 100; + height: 100%; + -webkit-transform: translateZ(0); + transform: translateZ(0); } +.mobile .play { + pointer-events: none; + opacity: 1; +} \ No newline at end of file -- cgit v1.2.3-70-g09d2 From 0f625b3e6b511f4ee1323da30e6280f4880955fc Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Thu, 16 Apr 2015 12:38:31 -0400 Subject: get rid of contact image --- site/db.json | 2 +- site/public/assets/images/2H_LOGOMARK.svg | 12 ++++++------ site/public/assets/style.css | 4 ++++ site/templates/index.liquid | 6 +++--- site/templates/page.liquid | 14 ++++++++++---- 5 files changed, 24 insertions(+), 14 deletions(-) (limited to 'site/public') diff --git a/site/db.json b/site/db.json index f8431f0..d0624e8 100644 --- a/site/db.json +++ b/site/db.json @@ -42,7 +42,7 @@ "id": "contact", "title": "CONTACT", "body": "TWOHUSTLERS\r\n50 WHITE STREET\r\nNEW YORK, NY 10013\r\nINFO@TWOHUSTLERS.COM\r\n+1 646 370-1180\r\nTWOHUSTLERS ©2014\r\nWEBSITE BY OKFOCUS", - "image": "http://checkingintocollege.com/wp/wp-content/uploads/2014/08/angryphone.jpg", + "image": "", "__index": "0" } ], diff --git a/site/public/assets/images/2H_LOGOMARK.svg b/site/public/assets/images/2H_LOGOMARK.svg index 9af234a..43a9691 100644 --- a/site/public/assets/images/2H_LOGOMARK.svg +++ b/site/public/assets/images/2H_LOGOMARK.svg @@ -7,11 +7,11 @@ - - + - - + - -
+ viewBox="338.1 276.3 660.5 819.7" xml:space="preserve"> - + @@ -176,7 +176,7 @@ WEBSITE BY OKFOCUS, http://okfoc.us, Internet Legends. c0,1-0.1,1.8-0.3,2.7c-0.1,0.8-0.1,1.7-0.3,2.5c0,0.3,0,0.6-0.1,0.8c-4,29.5-20.9,56.4-58.2,93.1l-81.8,80.1 c-53.5,52.1-85.9,103.9-101.6,162.9c-6.7,25.1-13.7,52.6-14.5,81L712.3,705.6z"/> - + diff --git a/site/templates/page.liquid b/site/templates/page.liquid index 52b64dc..7c295ff 100644 --- a/site/templates/page.liquid +++ b/site/templates/page.liquid @@ -1,9 +1,15 @@
{{page.title}} - -
- {{page.body | newline_to_br}} -
+ {% if page.image %} + +
+ {{page.body | newline_to_br}} +
+ {% else %} +
+ {{page.body | newline_to_br}} +
+ {% endif %}
-- cgit v1.2.3-70-g09d2 From b51455df828fde90edbee3143bd8d49b00cc3f1a Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Thu, 16 Apr 2015 14:04:10 -0400 Subject: single image upload field, abstract upload class a bit --- site/db.json | 6 +- site/index.js | 1 + site/public/assets/style.css | 3 +- site/templates/index.liquid | 2 + themes/okadmin/public/css/main.css | 25 +++++-- themes/okadmin/public/js/app.js | 93 +++++++++++++++++-------- themes/okadmin/public/js/upload.js | 91 +++++++++++------------- themes/okadmin/templates/partials/inputs.liquid | 52 +++++++++----- 8 files changed, 171 insertions(+), 102 deletions(-) (limited to 'site/public') diff --git a/site/db.json b/site/db.json index d0624e8..12ccb38 100644 --- a/site/db.json +++ b/site/db.json @@ -27,7 +27,11 @@ "caption": "CURABITUR BLANDIT TEMPUS PORTTITOR 4" } ], - "__index": "0" + "__index": "0", + "shape": { + "uri": "", + "caption": "" + } } ], "page": [ diff --git a/site/index.js b/site/index.js index 521b7d7..30e4a76 100644 --- a/site/index.js +++ b/site/index.js @@ -7,6 +7,7 @@ var projectSchema = { description: {type: 'text'}, video: {type: 'video'}, images: {type: 'captioned-image-list'}, + shape: {type: 'image'}, } var app = okcms.createApp({ diff --git a/site/public/assets/style.css b/site/public/assets/style.css index 3c2526b..28d0013 100644 --- a/site/public/assets/style.css +++ b/site/public/assets/style.css @@ -285,6 +285,7 @@ nav .middle { } nav .bottom { + height: 20%; width: 100%; background: #bbb; } @@ -489,7 +490,7 @@ nav .sub.active a { } .entry span div.content.noline { border-top: 0; - padding-top: 0px; + padding-top: 0; } .entry span div.content div { width:50%; diff --git a/site/templates/index.liquid b/site/templates/index.liquid index afb5de3..d18098c 100644 --- a/site/templates/index.liquid +++ b/site/templates/index.liquid @@ -110,9 +110,11 @@ WEBSITE BY OKFOCUS, http://okfoc.us, Internet Legends. {% endfor %}
+
ABOUT
CONTACT
diff --git a/themes/okadmin/public/css/main.css b/themes/okadmin/public/css/main.css index ec426f9..685e368 100644 --- a/themes/okadmin/public/css/main.css +++ b/themes/okadmin/public/css/main.css @@ -228,7 +228,9 @@ button, input[type=submit] { border: 0; display: none; } -.main.resource form .group.loaded input:first-child, +.main.resource form .group.image input, +.main.resource form .group.video input:first-child, +.main.resource form .group.loaded.video input[type=text], .main.resource form .group input:first-child { display: block; width: 25em; @@ -238,17 +240,24 @@ button, input[type=submit] { } .main.resource form .group.loaded input { display: block; - width: 20.05em; } -.main.resource form .group input { - display: none; +.main.resource form .group input[type=text] { + width: 20.05em; margin-bottom: 0.1em; } +.main.resource form .group.image .image-element, +.main.resource form .group.video input[type=text], .main.resource form .group.loaded input[hidden], +.main.resource form .group.image.loaded .fields, .main.resource form input[hidden] { display: none; } - +.main.resource form .group.image.loaded .image-element { + display: block; +} +.main.resource form .fields { + height: 3em; +} .main.resource form textarea { padding: 0.5em; height: 15em; @@ -280,6 +289,8 @@ button, input[type=submit] { width: 10em; max-height: 10em; border: 0; +} +.main.resource form .images img { cursor: -webkit-grab; cursor: grab; } @@ -313,10 +324,10 @@ button, input[type=submit] { margin: 0; padding: 0; cursor: pointer; } -li.image-element:hover .remove-image { +.image-element:hover .remove-image { display: block; } -li.image-element .remove-image:hover { +.image-element .remove-image:hover { color: red; } .remove-image { diff --git a/themes/okadmin/public/js/app.js b/themes/okadmin/public/js/app.js index 22317f3..baa4873 100644 --- a/themes/okadmin/public/js/app.js +++ b/themes/okadmin/public/js/app.js @@ -1,38 +1,75 @@ var OKAdmin = function(){ - // initialize our (single) ajax image uploader with an element and a template - OKUpload.bind( document.getElementById("file") ) - OKUpload.add = function(data){ - var url = data[0].extra.Location - add_image(url) - } - - // also handle straight image urls - $("#add-image-url").keydown(pressEnter(function(e){ - var url = $(this).val() - $(this).val("") - add_image(url) - })) + // initialize our multi-image uploader with an element and a template + $(".image-list").each(function(){ + var uploader = new OKUpload () + uploader.bind( $(".add-image-button input", this) ) + uploader.add = function(data){ + var url = data[0].extra.Location + add_image(url) + } + // also handle straight image urls + $(".add-image-url", this).keydown(pressEnter(function(e){ + var url = $(this).val() + $(this).val("") + add_image(url) + })) + + // clone and populate template + function add_image(url){ + var imageTemplate = $("#captioned-image-template").html() + var $el = $(imageTemplate) + $el.find(".uri").val(url) + $el.find("img").attr("src", url) + $(".captioned-image-list ol").append($el) + } + }) + // delete image from gallery + $(document).on("mousedown", ".image-list .remove-image", function(){ + if (confirm("Delete this image?")) { + $(this).parent().remove() + } + }) - // clone and populate template - function add_image(url){ - var imageTemplate = $("#captioned-image-template").html() - var $el = $(imageTemplate) - $el.find(".uri").val(url) - $el.find("img").attr("src", url) - $(".captioned-image-list ol").append($el) - } + // initialize our single image uploader with existing DOM + $(".image").each(function(){ + var $el = $(this) + + var uploader = new OKUpload () + uploader.bind( $(".add-image-button input", this) ) + uploader.add = function(data){ + var url = data[0].extra.Location + add_image(url) + } + // also handle straight image urls + $(".add-image-url", this).keydown(pressEnter(function(e){ + var url = $(this).val() + $(this).val("") + add_image(url) + })) + + // clone and populate template + function add_image(url){ + $el.find(".uri").val(url) + $el.find(".caption").val("") + $el.find("img").attr("src", url) + $el.addClass("loaded") + } + }) + // delete image from single image entry + $(document).on("mousedown", ".image .remove-image", function(){ + if (confirm("Delete this image?")) { + var $el = $(this).closest(".image") + $el.removeClass('loaded') + $el.find(".uri").val("") + $el.find(".caption").val("") + $el.find("img").attr("src", "") + } + }) // make the region sortable with drag-and-drop $(".captioned-image-list ol").sortable() $(".captioned-image-list ol").disableSelection() - - // delete image - $(document).on("mousedown", ".remove-image", function(){ - if (confirm("Delete this image?")) { - $(this).parent().remove() - } - }) // populate a video field with info from our url parser var last_url diff --git a/themes/okadmin/public/js/upload.js b/themes/okadmin/public/js/upload.js index 1c9094c..39f7427 100644 --- a/themes/okadmin/public/js/upload.js +++ b/themes/okadmin/public/js/upload.js @@ -1,55 +1,48 @@ -var OKUpload = { - action: "/_services/image", - - bind: function(el){ - if (! el) return - el.addEventListener("change", OKUpload.handleFileSelect) - }, - - handleFileSelect: function(e) { - e.stopPropagation(); - e.preventDefault(); - - var files = e.dataTransfer ? e.dataTransfer.files : e.target.files; - - for (var i = 0, f; f = files[i]; i++) { - if ( ! f.type.match('image.*')) { - continue; - } - OKUpload.upload(f) - } - }, +var OKUpload = function(){ + this.action = "/_services/image" +} +OKUpload.prototype.bind = function(el){ + if (el.length) el = el[0] + el.addEventListener("change", this.handleFileSelect.bind(this)) +} +OKUpload.prototype.handleFileSelect = function(e) { + e.stopPropagation(); + e.preventDefault(); - upload: function(f){ - var fd = new FormData() - fd.append('image', f) + var files = e.dataTransfer ? e.dataTransfer.files : e.target.files; - var request = $.ajax({ - url: OKUpload.action, - type: "post", - data: fd, - dataType: "json", - processData: false, - contentType: false, - }) - request.done(OKUpload.success) - }, - - success: function(media){ - if (media.error) { - console.log(media.error) - return + for (var i = 0, f; f = files[i]; i++) { + if ( ! f.type.match('image.*')) { + continue; } - OKUpload.add(media) - }, - - add: function(media){ - console.log(media) - }, - - error: function(error){ - throw error - }, + this.upload(f) + } +} +OKUpload.prototype.upload = function(f){ + var fd = new FormData() + fd.append('image', f) + var request = $.ajax({ + url: this.action, + type: "post", + data: fd, + dataType: "json", + processData: false, + contentType: false, + }) + request.done(this.success.bind(this)) +} +OKUpload.prototype.success = function(media){ + if (media.error) { + console.log(media.error) + return + } + this.add(media) +} +OKUpload.prototype.add = function(media){ + console.log(media) +} +OKUpload.prototype.error = function(error){ + throw error } diff --git a/themes/okadmin/templates/partials/inputs.liquid b/themes/okadmin/templates/partials/inputs.liquid index 253b275..c9a4d92 100644 --- a/themes/okadmin/templates/partials/inputs.liquid +++ b/themes/okadmin/templates/partials/inputs.liquid @@ -22,15 +22,48 @@ {% elsif type == 'video' %}
- - + +
+ {% elsif type == 'image' %} +
+
+
+ + +
+ +
+
+ + + {{spec.value.caption}} + +
+
{% elsif type == 'captioned-image-list' %} -
+
+
+
+ + +
+ +
+ + +
    {% for image in spec.value %}
  1. @@ -41,19 +74,6 @@
  2. {% endfor %}
-
- - -
- -
{% elsif type == 'meta' %} -- cgit v1.2.3-70-g09d2 From 48923c16e00892fac916a83c8fdccca63800615f Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Thu, 16 Apr 2015 14:41:58 -0400 Subject: load shape images from posts --- site/db.json | 2 +- site/public/assets/javascripts/_env.js | 20 ++++++++++++-------- site/templates/index.liquid | 17 ++++++++--------- themes/okadmin/public/js/app.js | 10 ++++++---- themes/okadmin/public/js/upload.js | 4 ++-- 5 files changed, 29 insertions(+), 24 deletions(-) (limited to 'site/public') diff --git a/site/db.json b/site/db.json index 12ccb38..f1721a6 100644 --- a/site/db.json +++ b/site/db.json @@ -29,7 +29,7 @@ ], "__index": "0", "shape": { - "uri": "", + "uri": "http://okfocus.s3.amazonaws.com/2h/13.gif", "caption": "" } } diff --git a/site/public/assets/javascripts/_env.js b/site/public/assets/javascripts/_env.js index c4e9ace..b567a3d 100644 --- a/site/public/assets/javascripts/_env.js +++ b/site/public/assets/javascripts/_env.js @@ -7,8 +7,11 @@ environment.init = function(){ $("#scene").addClass("fade") var loader = new Loader(environment.ready, new HustleLoader) var preloadImages = $("#preload-image-list").html().split("\n").filter(function(s){ return !!s }) - boxImages = $("#box-image-list").html().split("\n").filter(function(s){ return !!s }) - loader.preloadImages( preloadImages.concat(boxImages) ) + boxImages = $("#box-image-list").html().split("\n") + var postImages = $(".sub a").toArray().map(function(el){ return $(el).data("image") }) + + var images = preloadImages.concat(postImages).concat(boxImages).filter(function(s){ return !!s }) + loader.preloadImages( images ) loader.ready() } environment.ready = function(){ @@ -191,7 +194,7 @@ function build_scene () { controls.zoom(1000) strips.push( new Strip({ - images: boxImages.slice(0, 5), + images: $(".sub[data-type=advertising] a"), x: -100, y: 100, rotationY: PI/4, @@ -199,7 +202,7 @@ function build_scene () { }) ) strips.push( new Strip({ - images: boxImages.slice(5, 10), + images: $(".sub[data-type=retail] a"), x: 100, y: 100, rotationX: PI/4, @@ -208,7 +211,7 @@ function build_scene () { }) ) strips.push( new Strip({ - images: boxImages.slice(10, 15), + images: $(".sub[data-type=experiential] a"), x: 0, y: 100, z: 100, @@ -217,7 +220,7 @@ function build_scene () { }) ) strips.push( new Strip({ - images: boxImages.slice(15, 20), + images: $(".sub[data-type=content] a"), x: 0, y: 100, z: -50, @@ -455,9 +458,10 @@ var Strip = function( opt ){ root.addTo(scene) var prev = root - this.els = opt.images.map(function(url, i){ + this.els = opt.images.toArray().map(function(el, i){ + var data = $(el).data() var el = new MX.Image({ - src: url, + src: data.image, onload: function(img){ } }) diff --git a/site/templates/index.liquid b/site/templates/index.liquid index 224803a..db6bf20 100644 --- a/site/templates/index.liquid +++ b/site/templates/index.liquid @@ -86,27 +86,27 @@ WEBSITE BY OKFOCUS, http://okfoc.us, Internet Legends.
retail
-
+
{% for project in retails %} - {{ project.menu }} + {{ project.menu }} {% endfor %}
advertising
-
+
{% for project in advertisings %} - {{ project.menu }} + {{ project.menu }} {% endfor %}
experiential
-
+
{% for project in experientials %} - {{ project.menu }} + {{ project.menu }} {% endfor %}
content
-
+
{% for project in contents %} - {{ project.menu }} + {{ project.menu }} {% endfor %}
@@ -238,7 +238,6 @@ WEBSITE BY OKFOCUS, http://okfoc.us, Internet Legends. +
    + {% for image in spec.value %} +
  1. + + + + {{image.caption}} + +
  2. + {% endfor %} +
+
{% elsif type == 'meta' %} {% else %} -- cgit v1.2.3-70-g09d2 From 00ed9c4ee501a032ab6a85f561fb9eba0d90aa11 Mon Sep 17 00:00:00 2001 From: Julie Lala Date: Sun, 17 May 2015 14:02:43 +0200 Subject: mobile --- site/public/assets/style.css | 57 +++++++++++++++++++++++++++----------------- 1 file changed, 35 insertions(+), 22 deletions(-) (limited to 'site/public') diff --git a/site/public/assets/style.css b/site/public/assets/style.css index 2d0bd5a..4c3c69e 100644 --- a/site/public/assets/style.css +++ b/site/public/assets/style.css @@ -854,7 +854,7 @@ nav .sub.active a { margin: 0.5vw 0.5vw 0 0.5vw; } .brady > a:nth-child(3) { - margin-right: 1vw; + margin-right: 5vw; } .desktop .brady > a:hover:after { content: 'SAY HELLO!'; @@ -1012,34 +1012,28 @@ nav .sub.active a { @media (max-width:1200px) { - .entry span div.content { -/* - -webkit-column-count: 2; - -moz-column-count: 2; - column-count: 2; - */ - } - .project { width:33.3333%; height: 16.6vw; } - .brady a { - width: 160px; - height: 160px; - } - + .brady > a { + width: 24vw; height: 24vw; + } + .brady div { + width: 23vw; + height: 22vw; + font-size: 1.2vw; + line-height: 1.9vw; + } + .brady span { + font-size: 2vw; + } + .brady > a:nth-child(3) { + margin-right: 0vw; + } } @media (max-width:900px) { - .entry span div.content { -/* - -webkit-column-count: 2; - -moz-column-count: 2; - column-count: 2; - */ - } - .project { width:50%; height: 23vw; @@ -1113,6 +1107,25 @@ nav .sub.active a { .menuActive .project span { top: -18px; } + .brady > a { + width: 35vw; height: 35vw; + } + .brady div { + width: 34vw; + height: 34vw; + font-size: 1.6vw; + line-height: 2.3vw; + } + .brady div:nth-child(1) { + margin-left: 3vw; + } + .brady span { + font-size: 2vw; + } + .brady > a:nth-child(3) { + margin-right: 0vw; + } + } .mobile .cell iframe { width: 100%; -- cgit v1.2.3-70-g09d2 From a0d2729e311f53ecaa014c097c1a485581853100 Mon Sep 17 00:00:00 2001 From: Julie Lala Date: Sun, 17 May 2015 14:04:06 +0200 Subject: etc --- site/public/assets/style.css | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'site/public') diff --git a/site/public/assets/style.css b/site/public/assets/style.css index 4c3c69e..3d1ee7f 100644 --- a/site/public/assets/style.css +++ b/site/public/assets/style.css @@ -843,7 +843,6 @@ nav .sub.active a { } .brady div { width: 17vw; - height: 16w; position: relative; display: block; float: left; @@ -1021,7 +1020,6 @@ nav .sub.active a { } .brady div { width: 23vw; - height: 22vw; font-size: 1.2vw; line-height: 1.9vw; } @@ -1112,9 +1110,8 @@ nav .sub.active a { } .brady div { width: 34vw; - height: 34vw; - font-size: 1.6vw; - line-height: 2.3vw; + font-size: 2vw; + line-height: 2.5vw; } .brady div:nth-child(1) { margin-left: 3vw; -- cgit v1.2.3-70-g09d2 From 8879a9eb16d1913db8633bb2227cf0f274086129 Mon Sep 17 00:00:00 2001 From: Julie Lala Date: Sun, 17 May 2015 14:12:19 +0200 Subject: bolder --- site/public/assets/style.css | 1 + 1 file changed, 1 insertion(+) (limited to 'site/public') diff --git a/site/public/assets/style.css b/site/public/assets/style.css index 3d1ee7f..8c48c1a 100644 --- a/site/public/assets/style.css +++ b/site/public/assets/style.css @@ -851,6 +851,7 @@ nav .sub.active a { line-height: 1.4vw; border: 1px solid black; margin: 0.5vw 0.5vw 0 0.5vw; + font-family: 'BellGothic-Bold'; } .brady > a:nth-child(3) { margin-right: 5vw; -- cgit v1.2.3-70-g09d2 From c47be406fc9cd3eab56d8e49afb2031da2584e94 Mon Sep 17 00:00:00 2001 From: Julie Lala Date: Sun, 17 May 2015 14:33:35 +0200 Subject: mobile shit --- site/db.json | 6 ++++-- site/public/assets/javascripts/_env.js | 5 +++-- site/public/assets/style.css | 31 ++++++++++++++++++++++++++----- 3 files changed, 33 insertions(+), 9 deletions(-) (limited to 'site/public') diff --git a/site/db.json b/site/db.json index fe9f91b..119f50e 100644 --- a/site/db.json +++ b/site/db.json @@ -1146,9 +1146,11 @@ { "id": "contact", "title": "CONTACT", - "body": "50 WHITE STREET\r\nNEW YORK, NY 10013\r\nINFO@TWOHUSTLERS.COM\r\n+1 646 370-1180\r\nTWOHUSTLERS ©2014", + "body": "50 WHITE STREET\r\nNEW YORK, NY 10013\r\nINFO@TWOHUSTLERS.COM\r\n+1 646 370-1180\r\nTWOHUSTLERS ©2015", "image": "", - "__index": "0" + "__index": "0", + "contact": "", + "dateCreated": "" } ], "shape": [ diff --git a/site/public/assets/javascripts/_env.js b/site/public/assets/javascripts/_env.js index e74a020..dee524c 100644 --- a/site/public/assets/javascripts/_env.js +++ b/site/public/assets/javascripts/_env.js @@ -131,7 +131,8 @@ environment.ready = function(){ $("#entry_container").removeClass("visible") var $loader = $("
") - $loader.load("about .entry", function(){ + $loader.load("/about/ .entry", function(){ + console.log($loader.html()) display_entry($loader.children()[0]) }) }) @@ -414,7 +415,7 @@ function display_entry (el) { var isIndex = $el.hasClass("all") if (is_mobile) { $("body").toggleClass("menuActive", isIndex) - $el.find(".brady").remove() +// $el.find(".brady > a").remove() } if (isIndex) { var $projects = $el.find(".project") diff --git a/site/public/assets/style.css b/site/public/assets/style.css index 8c48c1a..0a7fcc4 100644 --- a/site/public/assets/style.css +++ b/site/public/assets/style.css @@ -1107,15 +1107,35 @@ nav .sub.active a { top: -18px; } .brady > a { + display: none; width: 35vw; height: 35vw; } +/* + .brady > a:nth-child(2) { + margin-left: 1vw; + } + .brady > a:nth-child(2), + .brady > a:nth-child(3) { + display: block; + width: 35vw; height: 35vw; + } + */ + + .brady { + width: 100%; + } .brady div { - width: 34vw; - font-size: 2vw; - line-height: 2.5vw; + width: 100%; + font-size: 4vw; + line-height: 5vw; + border: 0; + margin: 1em; + margin-left: 2em; + padding: 0; } .brady div:nth-child(1) { - margin-left: 3vw; + padding-bottom: 1vw; + border-bottom: 1px solid #444; } .brady span { font-size: 2vw; @@ -1123,8 +1143,9 @@ nav .sub.active a { .brady > a:nth-child(3) { margin-right: 0vw; } - } + + .mobile .cell iframe { width: 100%; opacity: 0.0!important; -- cgit v1.2.3-70-g09d2 From 503e71b8860bfa929590fb4b49a94748b4b9d280 Mon Sep 17 00:00:00 2001 From: Julie Lala Date: Sun, 17 May 2015 14:42:55 +0200 Subject: videos ughhh --- site/public/assets/style.css | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'site/public') diff --git a/site/public/assets/style.css b/site/public/assets/style.css index 0a7fcc4..3443642 100644 --- a/site/public/assets/style.css +++ b/site/public/assets/style.css @@ -634,7 +634,7 @@ nav .sub.active a { z-index: 4; pointer-events: none; } -.cell.video.is-selected .play { +.desktop .cell.video.is-selected .play { pointer-events: auto; } .desktop .cell.video .play:hover { @@ -1052,6 +1052,9 @@ nav .sub.active a { width:100%; margin-left:0; } + .flickity-viewport { + height: 37vh; + } .logo img { width:50px; } -- cgit v1.2.3-70-g09d2 From b3d9a5d112a8b63b46c72c7a83324758af9ad95b Mon Sep 17 00:00:00 2001 From: Julie Lala Date: Tue, 19 May 2015 10:40:58 +0200 Subject: production --- Gruntfile.js | 74 ++++++++++++------------------------------- site/index.js | 1 + site/public/assets/app.min.js | 10 ++++++ 3 files changed, 32 insertions(+), 53 deletions(-) create mode 100644 site/public/assets/app.min.js (limited to 'site/public') diff --git a/Gruntfile.js b/Gruntfile.js index 4a522a6..b32e6ad 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -3,43 +3,30 @@ module.exports = function(grunt) { // Project configuration. grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), - dentist: { - options: { - include_js: "assets/javascripts/app.min.js", - include_css: "assets/stylesheets/css.css" - }, - build: { - src: 'index.html', - dest_js: 'tmp/null', - dest_css: 'tmp/null', - dest_html: 'dist/index.html' - } - }, concat: { index: { options: { separator: "\n;\n" }, src: [ - "assets/javascripts/vendor/loader.js", - "assets/javascripts/vendor/froogaloop.js", - "assets/javascripts/vendor/flickity.pkgd.js", - "assets/javascripts/vendor/wheel.js", - "assets/javascripts/vendor/polyfill.js", - "assets/javascripts/vendor/util.js", - - "assets/javascripts/mx/mx.skew.js", - "assets/javascripts/mx/extensions/mx.scene.js", - "assets/javascripts/mx/extensions/mx.unclampedOrbitCamera.js", - "assets/javascripts/mx/primitives/mx.image.js", - "assets/javascripts/environments/app.js", - "assets/javascripts/environments/path.js", - - "assets/javascripts/_env.js", - - "assets/javascripts/app.js", + "site/public/assets/javascripts/mx/mx.skew.js", + "site/public/assets/javascripts/mx/extensions/mx.scene.js", + "site/public/assets/javascripts/mx/extensions/mx.unclampedOrbitCamera.js", + "site/public/assets/javascripts/mx/primitives/mx.image.js", + + "site/public/assets/javascripts/vendor/jquery.min.js", + "site/public/assets/javascripts/vendor/froogaloop.js", + "site/public/assets/javascripts/vendor/fastclick.js", + "site/public/assets/javascripts/vendor/flickity.pkgd.js", + "site/public/assets/javascripts/vendor/loader.js", + "site/public/assets/javascripts/vendor/wheel.js", + "site/public/assets/javascripts/vendor/polyfill.js", + "site/public/assets/javascripts/vendor/util.js", + + "site/public/assets/javascripts/_env.js", + "site/public/assets/javascripts/app.js", ], - dest: 'dist/app.concat.js', + dest: 'site/public/assets/app.concat.js', }, }, @@ -48,35 +35,16 @@ module.exports = function(grunt) { banner: '/* okfoc.us 2o15 */\n' }, index: { - src: 'dist/app.concat.js', - dest: 'dist/assets/javascripts/app.min.js' + src: 'site/public/assets/app.concat.js', + dest: 'site/public/assets/app.min.js' } }, clean: { release: [ - "dist/app.concat.js", - "dist/app.init.js", + "site/public/assets/app.concat.js", "tmp/" ], - }, - - copy: { - build: { - files: [ - { - nonull: true, - expand: true, - src: [ - 'assets/stylesheets/css.css', - 'favicon.ico', - 'icon.jpg', - 'icon2.jpg', - ], - dest: "dist/" - }, - ] - }, } }); @@ -88,5 +56,5 @@ module.exports = function(grunt) { grunt.loadNpmTasks('grunt-dentist'); // Default task(s). -// grunt.registerTask('default', ['dentist', 'concat', 'uglify', 'copy', 'clean']); + grunt.registerTask('default', ['concat', 'uglify', 'clean']); }; diff --git a/site/index.js b/site/index.js index 9e1f568..8952c46 100644 --- a/site/index.js +++ b/site/index.js @@ -18,6 +18,7 @@ var app = okcms.createApp({ root: 'public', debug: false, + production: true, schemas: { page: { diff --git a/site/public/assets/app.min.js b/site/public/assets/app.min.js new file mode 100644 index 0000000..1790293 --- /dev/null +++ b/site/public/assets/app.min.js @@ -0,0 +1,10 @@ +/* okfoc.us 2o15 */ +function FastClick(a,b){"use strict";function c(a,b){return function(){return a.apply(b,arguments)}}var d;if(b=b||{},this.trackingClick=!1,this.trackingClickStart=0,this.targetElement=null,this.touchStartX=0,this.touchStartY=0,this.lastTouchIdentifier=0,this.touchBoundary=b.touchBoundary||10,this.layer=a,this.tapDelay=b.tapDelay||200,!FastClick.notNeeded(a)){for(var e=["onMouse","onClick","onTouchStart","onTouchMove","onTouchEnd","onTouchCancel"],f=this,g=0,h=e.length;h>g;g++)f[e[g]]=c(f[e[g]],f);deviceIsAndroid&&(a.addEventListener("mouseover",this.onMouse,!0),a.addEventListener("mousedown",this.onMouse,!0),a.addEventListener("mouseup",this.onMouse,!0)),a.addEventListener("click",this.onClick,!0),a.addEventListener("touchstart",this.onTouchStart,!1),a.addEventListener("touchmove",this.onTouchMove,!1),a.addEventListener("touchend",this.onTouchEnd,!1),a.addEventListener("touchcancel",this.onTouchCancel,!1),Event.prototype.stopImmediatePropagation||(a.removeEventListener=function(b,c,d){var e=Node.prototype.removeEventListener;"click"===b?e.call(a,b,c.hijacked||c,d):e.call(a,b,c,d)},a.addEventListener=function(b,c,d){var e=Node.prototype.addEventListener;"click"===b?e.call(a,b,c.hijacked||(c.hijacked=function(a){a.propagationStopped||c(a)}),d):e.call(a,b,c,d)}),"function"==typeof a.onclick&&(d=a.onclick,a.addEventListener("click",function(a){d(a)},!1),a.onclick=null)}}function wheel(a){function b(b){if(!a.locked){a.propagate||(b.stopPropagation(),b.preventDefault());var c=0,d=0;event.deltaY?(d-=event.deltaY*a.ratio,c-=event.deltaX*a.ratio):event.wheelDeltaY?(d-=event.wheelDeltaY*a.ratio,c-=event.wheelDeltaX*a.ratio):event.wheelDelta?d-=event.wheelDelta*a.ratio:event.detail&&(d+=2*event.detail),!a.reversible&&0>d&&0>c||a.update(b,d,c)}}a=defaults(a,{el:document,update:function(a,b){},propagate:!1,locked:!1,reversible:!0,ratio:.02,val:0});var c=1;return a.el.addEventListener("gesturestart",function(a){c=a.scale},!1),a.el.addEventListener("gesturechange",function(b){var d=(c-b.scale)*window.innerWidth;c=b.scale,a.update(b,d)},!1),a.el.addEventListener("wheel",b,!1),a.el.addEventListener("DOMMouseScroll",b,!1),a.lock=function(){a.locked=!0},a.unlock=function(){a.locked=!1},a}function has3d(){var a,b,c=$("

")[0],d=$("');a.append(c);var d=$f(a.find("iframe")[0]);a.data("player",d),d.addEvent("ready",function(){d.addEvent("play",function(){a.addClass("playing")}),d.addEvent("pause",function(){a.removeClass("playing")})}),videos.push(d)}}function HustleLoader(){function a(){b()}function b(){setTimeout(function(){$("#loader_svg").addClass("slide")},100)}var c=document.getElementById("loader_svg_status");this.update=function(a){var b=lerp(1-a,336,118);c.setAttribute("y",b)},this.finish=function(a){$("#loader_rapper").addClass("hidden"),setTimeout(a,100),setTimeout(function(){$("#loader_rapper").hide()},500)},a()}var MX=MX||function(a){function b(){var a=document.body.style;r.prefix="webkitTransform"in a?"webkit":"mozTransform"in a?"moz":"msTransform"in a?"ms":"",k=r.transformProp=h("transform"),l=r.transitionProp=h("transition"),m=r.transformOriginProp=h("transformOrigin"),n=r.transformStyleProp=h("transformStyle"),o=r.perspectiveProp=h("perspective"),p=r.transitionEndEvent="webkit"===r.prefix?"webkitTransitionEnd":"transitionend";for(var b=["webkit","moz","ms"],d=0;d0?1:-1;return b.y=g*Math.atan2(c*Math.cos(b.x),f*-g),b.z=Math.atan2(Math.cos(b.x),Math.sin(b.x)*Math.sin(b.y))-Math.PI/2,"deg"===r.rotationUnit&&(b.x=e(b.x),b.y=e(b.y),b.z=e(b.z)),b},add:function(){if(this.el){var a=this;return Array.prototype.forEach.call(arguments,function(b){!b instanceof i||(a.el.appendChild(b.el),a.children||(a.children=[]),a.children.push(b),b.parent=a)}),this}},remove:function(){var b=this;return Array.prototype.forEach.call(arguments,function(c){var d=b.children.indexOf(c);-1!==d&&(b.children.splice(d,1),b.el.removeChild(c.el),c.parent=a)}),this},addTo:function(a){return"string"==typeof a&&(a=document.querySelector(a)),a instanceof HTMLElement&&a.appendChild?a.appendChild(this.el):(a instanceof i||a instanceof r.Scene)&&a.add(this),this},removeElement:function(){this.el.parentNode&&this.el.parentNode.removeChild(this.el)},setPosition:function(a){this.x=a.x||0===a.x?a.x:this.x,this.y=a.y||0===a.y?a.y:this.y,this.z=a.z||0===a.z?a.z:this.z},setRotation:function(a){this.rotationX=a.x||0===a.x?a.x:this.rotationX,this.rotationY=a.y||0===a.y?a.y:this.rotationY,this.rotationZ=a.z||0===a.z?a.z:this.rotationZ},setScale:function(a){this.scaleX=a.x||0===a.x?a.x:this.scaleX,this.scaleY=a.y||0===a.y?a.y:this.scaleY,this.scaleZ=a.z||0===a.z?a.z:this.scaleZ},setSkew:function(a){this.skewX=a.x||0===a.x?a.x:this.skewX,this.skewY=a.y||0===a.y?a.y:this.skewY},setCSSTransformOrigin:function(a){return this.el&&(this.el.style[m]=a),this},setCSSTransformStyle:function(a){return this.el&&(this.el.style[n]=a),this},setCSSTransition:function(a){return this.el&&(this.el.style[l]=a),this},setCSSPerspective:function(a){return this.el&&(this.el.style[o]=a),this},move:function(a){var b=this;b.ops=defaults(a,b.ops);for(var c in a)b[c]=a[c];b.dirty=!0,b.update()},onTransitionEnd:function(a){function b(){c.removeEventListener(p,b),a()}this.cancelTransitionEnd();var c=this.el;c.addEventListener(p,b)},cancelTransitionEnd:function(){this.el.removeEventListener(p)},toString:function(a){return a=a||"id width height depth x y z rotationX rotationY rotationZ scale".split(" "),this.__toString(a)},__toString:function(b,c){this.id=this.id||"undef";var d,e,f={},g=this.type||"Object3d",h=g.toLowerCase();for(var i in b)e=b[i],d=this[e],(0!==d||c)&&(f[e]="number"==typeof d?-1!=e.indexOf("rotation")?Number(d.toFixed(3)):~~d:d);return(c||"var "+h+" = new MX."+g)+"("+JSON.stringify(f,a,2)+")\n"+(c?"":"scene.add("+h+")")},contains:function(a,b,c){var d=!1,e=!1,f=!1;return d=null===a?!0:abs(this.x-a)<=this.width/2,e=null===b?!0:abs(this.y-b)<=this.height/2,f=null===c?!0:abs(this.z-c)<=this.depth/2,d&&e&&f}},i.extend=j.bind(i),r.Object3D=i,r.toRad=f,r.toDeg=e,Object.defineProperty(r,"positionAtCenter",{get:function(){return t},set:function(a){"boolean"==typeof a&&(t=a,t?c():d())}}),r}();MX.Camera=MX.Object3D.extend({init:function(){this.el=null,this.type="Camera"},move:function(a){for(var b in a)this[b]=a[b]},toString:function(){var a="x y z rotationX rotationY".split(" ");return this.__toString(a,"scene.camera.move")},getCameraEuler:function(a){var b=a.x-this.x,c=a.y-this.y,d=a.z-this.z;return r={},r.y=Math.atan2(-b,d),r.x=Math.atan2(-c,Math.sqrt(b*b+d*d)),r.z=0,"deg"===MX.rotationUnit&&(r.x=MX.toDeg(r.x),r.y=MX.toDeg(r.y)),r}}),MX.Scene=function(){function a(){this.el=document.createElement("div"),this.el.classList.add("mx-scene");var a=this.el.style;a[MX.transformProp]="preserve-3d",a.webkitPerspectiveOrigin="50% 50%",a.mozPerspectiveOrigin="50% 50%",a.perspectiveOrigin="50% 50%",a.webkitUserSelect="none",a.mozUserSelect="none",a.userSelect="none",a.overflow="hidden",this.inner=(new MX.Object3D).addTo(this.el),this.inner.el.style.width="0",this.inner.el.style.height="0";var b,c,d,e=this;Object.defineProperty(this,"width",{get:function(){return b},set:function(a){b=a,e.el.style.width=a+"px"}}),Object.defineProperty(this,"height",{get:function(){return c},set:function(a){c=a,e.el.style.height=a+"px"}}),Object.defineProperty(this,"perspective",{get:function(){return d},set:function(a){d=a,e.el.style[MX.perspectiveProp]=a+"px",e.inner.z=-a-e.camera.z,e.inner.rotationOrigin.z=-a}});this.camera=new MX.Camera;this.inner.rotationOrigin={x:0,y:0,z:0},this.perspective=0}var b=MX.Object3D.prototype.add,c=MX.Object3D.prototype.remove;return a.prototype={constructor:a,add:function(){return b.apply(this.inner,arguments),this},remove:function(){return c.apply(this.inner,arguments),this},addTo:function(a){return"string"==typeof a&&(a=document.querySelector(a)),a instanceof HTMLElement&&a.appendChild?a.appendChild(this.el):console.warn("You can only add a Scene to an HTML element."),this},update:function(){var a=this.inner,b=this.camera;return b.update(),a.z=-this.perspective-b.z,a.x=-b.x,a.y=-b.y,a.rotationX=-b.rotationX,a.rotationY=-b.rotationY,a.update(),this}},a}(),MX.OrbitCamera=function(a){function b(a){return function(b){a(b.touches[0])}}function c(a){k=a.pageX,l=a.pageY,f.dragging=!0}function d(a){f.dragging&&(f.delta(k-a.pageX,l-a.pageY),k=a.pageX,l=a.pageY)}function e(a){f.dragging=!1}var f={},g=!1;f.opt=a=defaults(a,{el:window,camera:scene.camera,radius:100,radiusRange:[10,1e3],rotationX:PI/2,rotationY:0,center:{x:0,y:0,z:0},sensitivity:10,wheelSensitivity:10,ease:10,wheelEase:10});var h,i,j,k,l,m=1e-10;return f.dragging=!1,f.init=function(){i=a.rotationY,h=a.rotationX,j=a.radius,f.wheel=new wheel({el:a.el,update:function(b,c){a.radius=clamp(a.radius+c*a.wheelSensitivity,a.radiusRange[0],a.radiusRange[1])}}),f.bind()},f.toggle=function(a){a?f.bind():f.unbind()},f.bind=function(){g||(g=!0,a.el.addEventListener("mousedown",c),window.addEventListener("mousemove",d),window.addEventListener("mouseup",e),a.el.addEventListener("touchstart",b(c)),window.addEventListener("touchmove",b(d)),window.addEventListener("touchend",b(e)),f.wheel.unlock())},f.unbind=function(){g&&(g=!1,a.el.removeEventListener("mousedown",c),window.removeEventListener("mousemove",d),window.removeEventListener("mouseup",e),f.wheel.lock())},f.delta=function(b,c){a.rotationY+=b/window.innerWidth*a.sensitivity,a.rotationX=a.rotationX+c/window.innerHeight*a.sensitivity},f.move=function(b,c){a.rotationY=b,"number"==typeof c&&(a.rotationX=c)},f.zoom=function(b){a.radius=b},f.setZoom=function(b){j=a.radius=b},f.zoomPercent=function(b){a.radius=lerp(b,a.radiusRange[0],a.radiusRange[1])},f.zoomDelta=function(b){a.radius+=b},f.pause=function(){var b=sign(a.rotationY-i),c=sign(a.rotationX-h);a.rotationY=i+.1*b,a.rotationX=h+.1*c},f.update=function(){i=abs(i-a.rotationY)>m?avg(i,a.rotationY,a.ease):a.rotationY,h=abs(h-a.rotationX)>m?avg(h,a.rotationX,a.ease):a.rotationX,j=abs(j-a.radius)>m?avg(j,a.radius,a.wheelEase):a.radius,a.camera.x=a.center.x+j*sin(h)*cos(i),a.camera.z=a.center.y+j*sin(h)*sin(i),a.camera.y=a.center.z+j*cos(h),a.camera.rotationX=PI/2-h,a.camera.rotationY=i+PI/2},f},MX.Image=MX.Object3D.extend({init:function(a){this.type="Image",this.media=a.media,this.width=0,this.height=0,this.x=a.x||0,this.y=a.y||0,this.z=a.z||0,this.scale=a.scale||1,this.backface=a.backface||!1,a.className&&this.el.classList.add(a.className),this.backface&&this.el.classList.add("backface-visible"),this.el.classList.add("image"),this.el.classList.add("mx-scenery"),this.el.style.backgroundRepeat="no-repeat",this.load(a)},load:function(a){var b=this;b.ops=defaults(a,b.ops);var c=new Image;c.onload=function(){b.ops&&(b.scale=b.ops.scale||1,b.width=b.ops.width||c.naturalWidth,b.height=b.ops.height||c.naturalHeight,b.el.style.backgroundImage="url("+c.src+")",b.el.classList.add("image"),b.dirty=!0,b.ops.onload&&b.ops.onload(c),b.update())},c.src=a.src,c.complete&&setTimeout(c.onload)}}),!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){function c(a){var b=a.length,c=fa.type(a);return"function"===c||fa.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}function d(a,b,c){if(fa.isFunction(b))return fa.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return fa.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(na.test(b))return fa.filter(b,a,c);b=fa.filter(b,a)}return fa.grep(a,function(a){return fa.inArray(a,b)>=0!==c})}function e(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}function f(a){var b=va[a]={};return fa.each(a.match(ua)||[],function(a,c){b[c]=!0}),b}function g(){pa.addEventListener?(pa.removeEventListener("DOMContentLoaded",h,!1),a.removeEventListener("load",h,!1)):(pa.detachEvent("onreadystatechange",h),a.detachEvent("onload",h))}function h(){(pa.addEventListener||"load"===event.type||"complete"===pa.readyState)&&(g(),fa.ready())}function i(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(Aa,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:za.test(c)?fa.parseJSON(c):c}catch(e){}fa.data(a,b,c)}else c=void 0}return c}function j(a){var b;for(b in a)if(("data"!==b||!fa.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function k(a,b,c,d){if(fa.acceptData(a)){var e,f,g=fa.expando,h=a.nodeType,i=h?fa.cache:a,j=h?a[g]:a[g]&&g;if(j&&i[j]&&(d||i[j].data)||void 0!==c||"string"!=typeof b)return j||(j=h?a[g]=W.pop()||fa.guid++:g),i[j]||(i[j]=h?{}:{toJSON:fa.noop}),("object"==typeof b||"function"==typeof b)&&(d?i[j]=fa.extend(i[j],b):i[j].data=fa.extend(i[j].data,b)),f=i[j],d||(f.data||(f.data={}),f=f.data),void 0!==c&&(f[fa.camelCase(b)]=c),"string"==typeof b?(e=f[b],null==e&&(e=f[fa.camelCase(b)])):e=f,e}}function l(a,b,c){if(fa.acceptData(a)){var d,e,f=a.nodeType,g=f?fa.cache:a,h=f?a[fa.expando]:fa.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){fa.isArray(b)?b=b.concat(fa.map(b,fa.camelCase)):b in d?b=[b]:(b=fa.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;for(;e--;)delete d[b[e]];if(c?!j(d):!fa.isEmptyObject(d))return}(c||(delete g[h].data,j(g[h])))&&(f?fa.cleanData([a],!0):da.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}function m(){return!0}function n(){return!1}function o(){try{return pa.activeElement}catch(a){}}function p(a){var b=La.split("|"),c=a.createDocumentFragment();if(c.createElement)for(;b.length;)c.createElement(b.pop());return c}function q(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==ya?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==ya?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||fa.nodeName(d,b)?f.push(d):fa.merge(f,q(d,b));return void 0===b||b&&fa.nodeName(a,b)?fa.merge([a],f):f}function r(a){Fa.test(a.type)&&(a.defaultChecked=a.checked)}function s(a,b){return fa.nodeName(a,"table")&&fa.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function t(a){return a.type=(null!==fa.find.attr(a,"type"))+"/"+a.type,a}function u(a){var b=Wa.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function v(a,b){for(var c,d=0;null!=(c=a[d]);d++)fa._data(c,"globalEval",!b||fa._data(b[d],"globalEval"))}function w(a,b){if(1===b.nodeType&&fa.hasData(a)){var c,d,e,f=fa._data(a),g=fa._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)fa.event.add(b,c,h[c][d])}g.data&&(g.data=fa.extend({},g.data))}}function x(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!da.noCloneEvent&&b[fa.expando]){e=fa._data(b);for(d in e.events)fa.removeEvent(b,d,e.handle);b.removeAttribute(fa.expando)}"script"===c&&b.text!==a.text?(t(b).text=a.text,u(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),da.html5Clone&&a.innerHTML&&!fa.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&Fa.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}function y(b,c){var d=fa(c.createElement(b)).appendTo(c.body),e=a.getDefaultComputedStyle?a.getDefaultComputedStyle(d[0]).display:fa.css(d[0],"display");return d.detach(),e}function z(a){var b=pa,c=ab[a];return c||(c=y(a,b),"none"!==c&&c||(_a=(_a||fa("');a.append(c);var d=$f(a.find("iframe")[0]);a.data("player",d),d.addEvent("ready",function(){d.addEvent("play",function(){a.addClass("playing")}),d.addEvent("pause",function(){a.removeClass("playing")})}),videos.push(d)}}function HustleLoader(){function a(){b()}function b(){setTimeout(function(){$("#loader_svg").addClass("slide")},100)}var c=document.getElementById("loader_svg_status");this.update=function(a){var b=lerp(1-a,336,118);c.setAttribute("y",b)},this.finish=function(a){$("#loader_rapper").addClass("hidden"),setTimeout(a,100),setTimeout(function(){$("#loader_rapper").hide()},500)},a()}var MX=MX||function(a){function b(){var a=document.body.style;r.prefix="webkitTransform"in a?"webkit":"mozTransform"in a?"moz":"msTransform"in a?"ms":"",k=r.transformProp=h("transform"),l=r.transitionProp=h("transition"),m=r.transformOriginProp=h("transformOrigin"),n=r.transformStyleProp=h("transformStyle"),o=r.perspectiveProp=h("perspective"),p=r.transitionEndEvent="webkit"===r.prefix?"webkitTransitionEnd":"transitionend";for(var b=["webkit","moz","ms"],d=0;d0?1:-1;return b.y=g*Math.atan2(c*Math.cos(b.x),f*-g),b.z=Math.atan2(Math.cos(b.x),Math.sin(b.x)*Math.sin(b.y))-Math.PI/2,"deg"===r.rotationUnit&&(b.x=e(b.x),b.y=e(b.y),b.z=e(b.z)),b},add:function(){if(this.el){var a=this;return Array.prototype.forEach.call(arguments,function(b){!b instanceof i||(a.el.appendChild(b.el),a.children||(a.children=[]),a.children.push(b),b.parent=a)}),this}},remove:function(){var b=this;return Array.prototype.forEach.call(arguments,function(c){var d=b.children.indexOf(c);-1!==d&&(b.children.splice(d,1),b.el.removeChild(c.el),c.parent=a)}),this},addTo:function(a){return"string"==typeof a&&(a=document.querySelector(a)),a instanceof HTMLElement&&a.appendChild?a.appendChild(this.el):(a instanceof i||a instanceof r.Scene)&&a.add(this),this},removeElement:function(){this.el.parentNode&&this.el.parentNode.removeChild(this.el)},setPosition:function(a){this.x=a.x||0===a.x?a.x:this.x,this.y=a.y||0===a.y?a.y:this.y,this.z=a.z||0===a.z?a.z:this.z},setRotation:function(a){this.rotationX=a.x||0===a.x?a.x:this.rotationX,this.rotationY=a.y||0===a.y?a.y:this.rotationY,this.rotationZ=a.z||0===a.z?a.z:this.rotationZ},setScale:function(a){this.scaleX=a.x||0===a.x?a.x:this.scaleX,this.scaleY=a.y||0===a.y?a.y:this.scaleY,this.scaleZ=a.z||0===a.z?a.z:this.scaleZ},setSkew:function(a){this.skewX=a.x||0===a.x?a.x:this.skewX,this.skewY=a.y||0===a.y?a.y:this.skewY},setCSSTransformOrigin:function(a){return this.el&&(this.el.style[m]=a),this},setCSSTransformStyle:function(a){return this.el&&(this.el.style[n]=a),this},setCSSTransition:function(a){return this.el&&(this.el.style[l]=a),this},setCSSPerspective:function(a){return this.el&&(this.el.style[o]=a),this},move:function(a){var b=this;b.ops=defaults(a,b.ops);for(var c in a)b[c]=a[c];b.dirty=!0,b.update()},onTransitionEnd:function(a){function b(){c.removeEventListener(p,b),a()}this.cancelTransitionEnd();var c=this.el;c.addEventListener(p,b)},cancelTransitionEnd:function(){this.el.removeEventListener(p)},toString:function(a){return a=a||"id width height depth x y z rotationX rotationY rotationZ scale".split(" "),this.__toString(a)},__toString:function(b,c){this.id=this.id||"undef";var d,e,f={},g=this.type||"Object3d",h=g.toLowerCase();for(var i in b)e=b[i],d=this[e],(0!==d||c)&&(f[e]="number"==typeof d?-1!=e.indexOf("rotation")?Number(d.toFixed(3)):~~d:d);return(c||"var "+h+" = new MX."+g)+"("+JSON.stringify(f,a,2)+")\n"+(c?"":"scene.add("+h+")")},contains:function(a,b,c){var d=!1,e=!1,f=!1;return d=null===a?!0:abs(this.x-a)<=this.width/2,e=null===b?!0:abs(this.y-b)<=this.height/2,f=null===c?!0:abs(this.z-c)<=this.depth/2,d&&e&&f}},i.extend=j.bind(i),r.Object3D=i,r.toRad=f,r.toDeg=e,Object.defineProperty(r,"positionAtCenter",{get:function(){return t},set:function(a){"boolean"==typeof a&&(t=a,t?c():d())}}),r}();MX.Camera=MX.Object3D.extend({init:function(){this.el=null,this.type="Camera"},move:function(a){for(var b in a)this[b]=a[b]},toString:function(){var a="x y z rotationX rotationY".split(" ");return this.__toString(a,"scene.camera.move")},getCameraEuler:function(a){var b=a.x-this.x,c=a.y-this.y,d=a.z-this.z;return r={},r.y=Math.atan2(-b,d),r.x=Math.atan2(-c,Math.sqrt(b*b+d*d)),r.z=0,"deg"===MX.rotationUnit&&(r.x=MX.toDeg(r.x),r.y=MX.toDeg(r.y)),r}}),MX.Scene=function(){function a(){this.el=document.createElement("div"),this.el.classList.add("mx-scene");var a=this.el.style;a[MX.transformProp]="preserve-3d",a.webkitPerspectiveOrigin="50% 50%",a.mozPerspectiveOrigin="50% 50%",a.perspectiveOrigin="50% 50%",a.webkitUserSelect="none",a.mozUserSelect="none",a.userSelect="none",a.overflow="hidden",this.inner=(new MX.Object3D).addTo(this.el),this.inner.el.style.width="0",this.inner.el.style.height="0";var b,c,d,e=this;Object.defineProperty(this,"width",{get:function(){return b},set:function(a){b=a,e.el.style.width=a+"px"}}),Object.defineProperty(this,"height",{get:function(){return c},set:function(a){c=a,e.el.style.height=a+"px"}}),Object.defineProperty(this,"perspective",{get:function(){return d},set:function(a){d=a,e.el.style[MX.perspectiveProp]=a+"px",e.inner.z=-a-e.camera.z,e.inner.rotationOrigin.z=-a}});this.camera=new MX.Camera;this.inner.rotationOrigin={x:0,y:0,z:0},this.perspective=0}var b=MX.Object3D.prototype.add,c=MX.Object3D.prototype.remove;return a.prototype={constructor:a,add:function(){return b.apply(this.inner,arguments),this},remove:function(){return c.apply(this.inner,arguments),this},addTo:function(a){return"string"==typeof a&&(a=document.querySelector(a)),a instanceof HTMLElement&&a.appendChild?a.appendChild(this.el):console.warn("You can only add a Scene to an HTML element."),this},update:function(){var a=this.inner,b=this.camera;return b.update(),a.z=-this.perspective-b.z,a.x=-b.x,a.y=-b.y,a.rotationX=-b.rotationX,a.rotationY=-b.rotationY,a.update(),this}},a}(),MX.OrbitCamera=function(a){function b(a){return function(b){a(b.touches[0])}}function c(a){k=a.pageX,l=a.pageY,f.dragging=!0}function d(a){f.dragging&&(f.delta(k-a.pageX,l-a.pageY),k=a.pageX,l=a.pageY)}function e(a){f.dragging=!1}var f={},g=!1;f.opt=a=defaults(a,{el:window,camera:scene.camera,radius:100,radiusRange:[10,1e3],rotationX:PI/2,rotationY:0,center:{x:0,y:0,z:0},sensitivity:10,wheelSensitivity:10,ease:10,wheelEase:10});var h,i,j,k,l,m=1e-10;return f.dragging=!1,f.init=function(){i=a.rotationY,h=a.rotationX,j=a.radius,f.wheel=new wheel({el:a.el,update:function(b,c){a.radius=clamp(a.radius+c*a.wheelSensitivity,a.radiusRange[0],a.radiusRange[1])}}),f.bind()},f.toggle=function(a){a?f.bind():f.unbind()},f.bind=function(){g||(g=!0,a.el.addEventListener("mousedown",c),window.addEventListener("mousemove",d),window.addEventListener("mouseup",e),a.el.addEventListener("touchstart",b(c)),window.addEventListener("touchmove",b(d)),window.addEventListener("touchend",b(e)),f.wheel.unlock())},f.unbind=function(){g&&(g=!1,a.el.removeEventListener("mousedown",c),window.removeEventListener("mousemove",d),window.removeEventListener("mouseup",e),f.wheel.lock())},f.delta=function(b,c){a.rotationY+=b/window.innerWidth*a.sensitivity,a.rotationX=a.rotationX+c/window.innerHeight*a.sensitivity},f.move=function(b,c){a.rotationY=b,"number"==typeof c&&(a.rotationX=c)},f.zoom=function(b){a.radius=b},f.setZoom=function(b){j=a.radius=b},f.zoomPercent=function(b){a.radius=lerp(b,a.radiusRange[0],a.radiusRange[1])},f.zoomDelta=function(b){a.radius+=b},f.pause=function(){var b=sign(a.rotationY-i),c=sign(a.rotationX-h);a.rotationY=i+.1*b,a.rotationX=h+.1*c},f.update=function(){i=abs(i-a.rotationY)>m?avg(i,a.rotationY,a.ease):a.rotationY,h=abs(h-a.rotationX)>m?avg(h,a.rotationX,a.ease):a.rotationX,j=abs(j-a.radius)>m?avg(j,a.radius,a.wheelEase):a.radius,a.camera.x=a.center.x+j*sin(h)*cos(i),a.camera.z=a.center.y+j*sin(h)*sin(i),a.camera.y=a.center.z+j*cos(h),a.camera.rotationX=PI/2-h,a.camera.rotationY=i+PI/2},f},MX.Image=MX.Object3D.extend({init:function(a){this.type="Image",this.media=a.media,this.width=0,this.height=0,this.x=a.x||0,this.y=a.y||0,this.z=a.z||0,this.scale=a.scale||1,this.backface=a.backface||!1,a.className&&this.el.classList.add(a.className),this.backface&&this.el.classList.add("backface-visible"),this.el.classList.add("image"),this.el.classList.add("mx-scenery"),this.el.style.backgroundRepeat="no-repeat",this.load(a)},load:function(a){var b=this;b.ops=defaults(a,b.ops);var c=new Image;c.onload=function(){b.ops&&(b.scale=b.ops.scale||1,b.width=b.ops.width||c.naturalWidth,b.height=b.ops.height||c.naturalHeight,b.el.style.backgroundImage="url("+c.src+")",b.el.classList.add("image"),b.dirty=!0,b.ops.onload&&b.ops.onload(c),b.update())},c.src=a.src,c.complete&&setTimeout(c.onload)}}),!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){function c(a){var b=a.length,c=fa.type(a);return"function"===c||fa.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}function d(a,b,c){if(fa.isFunction(b))return fa.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return fa.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(na.test(b))return fa.filter(b,a,c);b=fa.filter(b,a)}return fa.grep(a,function(a){return fa.inArray(a,b)>=0!==c})}function e(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}function f(a){var b=va[a]={};return fa.each(a.match(ua)||[],function(a,c){b[c]=!0}),b}function g(){pa.addEventListener?(pa.removeEventListener("DOMContentLoaded",h,!1),a.removeEventListener("load",h,!1)):(pa.detachEvent("onreadystatechange",h),a.detachEvent("onload",h))}function h(){(pa.addEventListener||"load"===event.type||"complete"===pa.readyState)&&(g(),fa.ready())}function i(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(Aa,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:za.test(c)?fa.parseJSON(c):c}catch(e){}fa.data(a,b,c)}else c=void 0}return c}function j(a){var b;for(b in a)if(("data"!==b||!fa.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function k(a,b,c,d){if(fa.acceptData(a)){var e,f,g=fa.expando,h=a.nodeType,i=h?fa.cache:a,j=h?a[g]:a[g]&&g;if(j&&i[j]&&(d||i[j].data)||void 0!==c||"string"!=typeof b)return j||(j=h?a[g]=W.pop()||fa.guid++:g),i[j]||(i[j]=h?{}:{toJSON:fa.noop}),("object"==typeof b||"function"==typeof b)&&(d?i[j]=fa.extend(i[j],b):i[j].data=fa.extend(i[j].data,b)),f=i[j],d||(f.data||(f.data={}),f=f.data),void 0!==c&&(f[fa.camelCase(b)]=c),"string"==typeof b?(e=f[b],null==e&&(e=f[fa.camelCase(b)])):e=f,e}}function l(a,b,c){if(fa.acceptData(a)){var d,e,f=a.nodeType,g=f?fa.cache:a,h=f?a[fa.expando]:fa.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){fa.isArray(b)?b=b.concat(fa.map(b,fa.camelCase)):b in d?b=[b]:(b=fa.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;for(;e--;)delete d[b[e]];if(c?!j(d):!fa.isEmptyObject(d))return}(c||(delete g[h].data,j(g[h])))&&(f?fa.cleanData([a],!0):da.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}function m(){return!0}function n(){return!1}function o(){try{return pa.activeElement}catch(a){}}function p(a){var b=La.split("|"),c=a.createDocumentFragment();if(c.createElement)for(;b.length;)c.createElement(b.pop());return c}function q(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==ya?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==ya?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||fa.nodeName(d,b)?f.push(d):fa.merge(f,q(d,b));return void 0===b||b&&fa.nodeName(a,b)?fa.merge([a],f):f}function r(a){Fa.test(a.type)&&(a.defaultChecked=a.checked)}function s(a,b){return fa.nodeName(a,"table")&&fa.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function t(a){return a.type=(null!==fa.find.attr(a,"type"))+"/"+a.type,a}function u(a){var b=Wa.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function v(a,b){for(var c,d=0;null!=(c=a[d]);d++)fa._data(c,"globalEval",!b||fa._data(b[d],"globalEval"))}function w(a,b){if(1===b.nodeType&&fa.hasData(a)){var c,d,e,f=fa._data(a),g=fa._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)fa.event.add(b,c,h[c][d])}g.data&&(g.data=fa.extend({},g.data))}}function x(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!da.noCloneEvent&&b[fa.expando]){e=fa._data(b);for(d in e.events)fa.removeEvent(b,d,e.handle);b.removeAttribute(fa.expando)}"script"===c&&b.text!==a.text?(t(b).text=a.text,u(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),da.html5Clone&&a.innerHTML&&!fa.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&Fa.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}function y(b,c){var d=fa(c.createElement(b)).appendTo(c.body),e=a.getDefaultComputedStyle?a.getDefaultComputedStyle(d[0]).display:fa.css(d[0],"display");return d.detach(),e}function z(a){var b=pa,c=ab[a];return c||(c=y(a,b),"none"!==c&&c||(_a=(_a||fa("');a.append(c);var d=$f(a.find("iframe")[0]);a.data("player",d),d.addEvent("ready",function(){d.addEvent("play",function(){a.addClass("playing")}),d.addEvent("pause",function(){a.removeClass("playing")})}),videos.push(d)}}function HustleLoader(){function a(){b()}function b(){setTimeout(function(){$("#loader_svg").addClass("slide")},100)}var c=document.getElementById("loader_svg_status");this.update=function(a){var b=lerp(1-a,336,118);c.setAttribute("y",b)},this.finish=function(a){$("#loader_rapper").addClass("hidden"),setTimeout(a,100),setTimeout(function(){$("#loader_rapper").hide()},500)},a()}var MX=MX||function(a){function b(){var a=document.body.style;r.prefix="webkitTransform"in a?"webkit":"mozTransform"in a?"moz":"msTransform"in a?"ms":"",k=r.transformProp=h("transform"),l=r.transitionProp=h("transition"),m=r.transformOriginProp=h("transformOrigin"),n=r.transformStyleProp=h("transformStyle"),o=r.perspectiveProp=h("perspective"),p=r.transitionEndEvent="webkit"===r.prefix?"webkitTransitionEnd":"transitionend";for(var b=["webkit","moz","ms"],d=0;d0?1:-1;return b.y=g*Math.atan2(c*Math.cos(b.x),f*-g),b.z=Math.atan2(Math.cos(b.x),Math.sin(b.x)*Math.sin(b.y))-Math.PI/2,"deg"===r.rotationUnit&&(b.x=e(b.x),b.y=e(b.y),b.z=e(b.z)),b},add:function(){if(this.el){var a=this;return Array.prototype.forEach.call(arguments,function(b){!b instanceof i||(a.el.appendChild(b.el),a.children||(a.children=[]),a.children.push(b),b.parent=a)}),this}},remove:function(){var b=this;return Array.prototype.forEach.call(arguments,function(c){var d=b.children.indexOf(c);-1!==d&&(b.children.splice(d,1),b.el.removeChild(c.el),c.parent=a)}),this},addTo:function(a){return"string"==typeof a&&(a=document.querySelector(a)),a instanceof HTMLElement&&a.appendChild?a.appendChild(this.el):(a instanceof i||a instanceof r.Scene)&&a.add(this),this},removeElement:function(){this.el.parentNode&&this.el.parentNode.removeChild(this.el)},setPosition:function(a){this.x=a.x||0===a.x?a.x:this.x,this.y=a.y||0===a.y?a.y:this.y,this.z=a.z||0===a.z?a.z:this.z},setRotation:function(a){this.rotationX=a.x||0===a.x?a.x:this.rotationX,this.rotationY=a.y||0===a.y?a.y:this.rotationY,this.rotationZ=a.z||0===a.z?a.z:this.rotationZ},setScale:function(a){this.scaleX=a.x||0===a.x?a.x:this.scaleX,this.scaleY=a.y||0===a.y?a.y:this.scaleY,this.scaleZ=a.z||0===a.z?a.z:this.scaleZ},setSkew:function(a){this.skewX=a.x||0===a.x?a.x:this.skewX,this.skewY=a.y||0===a.y?a.y:this.skewY},setCSSTransformOrigin:function(a){return this.el&&(this.el.style[m]=a),this},setCSSTransformStyle:function(a){return this.el&&(this.el.style[n]=a),this},setCSSTransition:function(a){return this.el&&(this.el.style[l]=a),this},setCSSPerspective:function(a){return this.el&&(this.el.style[o]=a),this},move:function(a){var b=this;b.ops=defaults(a,b.ops);for(var c in a)b[c]=a[c];b.dirty=!0,b.update()},onTransitionEnd:function(a){function b(){c.removeEventListener(p,b),a()}this.cancelTransitionEnd();var c=this.el;c.addEventListener(p,b)},cancelTransitionEnd:function(){this.el.removeEventListener(p)},toString:function(a){return a=a||"id width height depth x y z rotationX rotationY rotationZ scale".split(" "),this.__toString(a)},__toString:function(b,c){this.id=this.id||"undef";var d,e,f={},g=this.type||"Object3d",h=g.toLowerCase();for(var i in b)e=b[i],d=this[e],(0!==d||c)&&(f[e]="number"==typeof d?-1!=e.indexOf("rotation")?Number(d.toFixed(3)):~~d:d);return(c||"var "+h+" = new MX."+g)+"("+JSON.stringify(f,a,2)+")\n"+(c?"":"scene.add("+h+")")},contains:function(a,b,c){var d=!1,e=!1,f=!1;return d=null===a?!0:abs(this.x-a)<=this.width/2,e=null===b?!0:abs(this.y-b)<=this.height/2,f=null===c?!0:abs(this.z-c)<=this.depth/2,d&&e&&f}},i.extend=j.bind(i),r.Object3D=i,r.toRad=f,r.toDeg=e,Object.defineProperty(r,"positionAtCenter",{get:function(){return t},set:function(a){"boolean"==typeof a&&(t=a,t?c():d())}}),r}();MX.Camera=MX.Object3D.extend({init:function(){this.el=null,this.type="Camera"},move:function(a){for(var b in a)this[b]=a[b]},toString:function(){var a="x y z rotationX rotationY".split(" ");return this.__toString(a,"scene.camera.move")},getCameraEuler:function(a){var b=a.x-this.x,c=a.y-this.y,d=a.z-this.z;return r={},r.y=Math.atan2(-b,d),r.x=Math.atan2(-c,Math.sqrt(b*b+d*d)),r.z=0,"deg"===MX.rotationUnit&&(r.x=MX.toDeg(r.x),r.y=MX.toDeg(r.y)),r}}),MX.Scene=function(){function a(){this.el=document.createElement("div"),this.el.classList.add("mx-scene");var a=this.el.style;a[MX.transformProp]="preserve-3d",a.webkitPerspectiveOrigin="50% 50%",a.mozPerspectiveOrigin="50% 50%",a.perspectiveOrigin="50% 50%",a.webkitUserSelect="none",a.mozUserSelect="none",a.userSelect="none",a.overflow="hidden",this.inner=(new MX.Object3D).addTo(this.el),this.inner.el.style.width="0",this.inner.el.style.height="0";var b,c,d,e=this;Object.defineProperty(this,"width",{get:function(){return b},set:function(a){b=a,e.el.style.width=a+"px"}}),Object.defineProperty(this,"height",{get:function(){return c},set:function(a){c=a,e.el.style.height=a+"px"}}),Object.defineProperty(this,"perspective",{get:function(){return d},set:function(a){d=a,e.el.style[MX.perspectiveProp]=a+"px",e.inner.z=-a-e.camera.z,e.inner.rotationOrigin.z=-a}});this.camera=new MX.Camera;this.inner.rotationOrigin={x:0,y:0,z:0},this.perspective=0}var b=MX.Object3D.prototype.add,c=MX.Object3D.prototype.remove;return a.prototype={constructor:a,add:function(){return b.apply(this.inner,arguments),this},remove:function(){return c.apply(this.inner,arguments),this},addTo:function(a){return"string"==typeof a&&(a=document.querySelector(a)),a instanceof HTMLElement&&a.appendChild?a.appendChild(this.el):console.warn("You can only add a Scene to an HTML element."),this},update:function(){var a=this.inner,b=this.camera;return b.update(),a.z=-this.perspective-b.z,a.x=-b.x,a.y=-b.y,a.rotationX=-b.rotationX,a.rotationY=-b.rotationY,a.update(),this}},a}(),MX.OrbitCamera=function(a){function b(a){return function(b){a(b.touches[0])}}function c(a){k=a.pageX,l=a.pageY,f.dragging=!0}function d(a){f.dragging&&(f.delta(k-a.pageX,l-a.pageY),k=a.pageX,l=a.pageY)}function e(a){f.dragging=!1}var f={},g=!1;f.opt=a=defaults(a,{el:window,camera:scene.camera,radius:100,radiusRange:[10,1e3],rotationX:PI/2,rotationY:0,center:{x:0,y:0,z:0},sensitivity:10,wheelSensitivity:10,ease:10,wheelEase:10});var h,i,j,k,l,m=1e-10;return f.dragging=!1,f.init=function(){i=a.rotationY,h=a.rotationX,j=a.radius,f.wheel=new wheel({el:a.el,update:function(b,c){a.radius=clamp(a.radius+c*a.wheelSensitivity,a.radiusRange[0],a.radiusRange[1])}}),f.bind()},f.toggle=function(a){a?f.bind():f.unbind()},f.bind=function(){g||(g=!0,a.el.addEventListener("mousedown",c),window.addEventListener("mousemove",d),window.addEventListener("mouseup",e),a.el.addEventListener("touchstart",b(c)),window.addEventListener("touchmove",b(d)),window.addEventListener("touchend",b(e)),f.wheel.unlock())},f.unbind=function(){g&&(g=!1,a.el.removeEventListener("mousedown",c),window.removeEventListener("mousemove",d),window.removeEventListener("mouseup",e),f.wheel.lock())},f.delta=function(b,c){a.rotationY+=b/window.innerWidth*a.sensitivity,a.rotationX=a.rotationX+c/window.innerHeight*a.sensitivity},f.move=function(b,c){a.rotationY=b,"number"==typeof c&&(a.rotationX=c)},f.zoom=function(b){a.radius=b},f.setZoom=function(b){j=a.radius=b},f.zoomPercent=function(b){a.radius=lerp(b,a.radiusRange[0],a.radiusRange[1])},f.zoomDelta=function(b){a.radius+=b},f.pause=function(){var b=sign(a.rotationY-i),c=sign(a.rotationX-h);a.rotationY=i+.1*b,a.rotationX=h+.1*c},f.update=function(){i=abs(i-a.rotationY)>m?avg(i,a.rotationY,a.ease):a.rotationY,h=abs(h-a.rotationX)>m?avg(h,a.rotationX,a.ease):a.rotationX,j=abs(j-a.radius)>m?avg(j,a.radius,a.wheelEase):a.radius,a.camera.x=a.center.x+j*sin(h)*cos(i),a.camera.z=a.center.y+j*sin(h)*sin(i),a.camera.y=a.center.z+j*cos(h),a.camera.rotationX=PI/2-h,a.camera.rotationY=i+PI/2},f},MX.OrbitCameraMobile=function(a){function b(a){return function(b){a(b.touches[0])}}function c(a){k=a.pageX,l=a.pageY,f.dragging=!0}function d(a){f.dragging&&(f.delta(k-a.pageX,l-a.pageY),k=a.pageX,l=a.pageY)}function e(a){f.dragging=!1}var f={},g=!1;f.opt=a=defaults(a,{el:window,camera:scene.camera,radius:100,radiusRange:[10,1e3],rotationX:PI/2,rotationY:0,center:{x:0,y:0,z:0},sensitivity:10,wheelSensitivity:10,ease:10,wheelEase:10});var h,i,j,k,l,m,n=1e-10,o=0,p=0,q=0,r=0,s=20;return f.dragging=!1,f.init=function(){i=a.rotationY,h=a.rotationX,j=a.radius,f.wheel=new wheel({el:a.el,update:function(b,c){a.radius=clamp(a.radius+c*a.wheelSensitivity,a.radiusRange[0],a.radiusRange[1])}}),f.bind(),f.orientationchange()},f.toggle=function(a){a?f.bind():f.unbind()},f.bind=function(){g||(g=!0,a.el.addEventListener("touchstart",b(c)),window.addEventListener("touchmove",b(d)),window.addEventListener("touchend",b(e)),window.addEventListener("orientationchange",f.orientationchange),window.addEventListener("devicemotion",f.devicemotion),window.addEventListener("deviceorientation",f.deviceorientation),f.wheel.unlock())},f.unbind=function(){g&&(g=!1,f.wheel.lock())},f.orientationchange=function(a){is_portrait=window.innerWidthq&&(q=b.beta,p=o);b.beta+7;d=!is_android&&r>s?o>p?b.beta-90:90-b.beta:0,(Math.abs(c-m)<100||Math.abs(c-m)>300)&&(e=c-m,m=c),e>300?e-=360:-300>e&&(e+=360),a.rotationX=MX.toRad(-5*d),a.rotationY+=MX.toRad(10*e)},f.landscapeorientation=function(b){var c,d;c=b.gamma>0?90-b.gamma:90+b.gamma,d=b.alpha-m,m=b.alpha,d>300?d-=360:-300>d&&(d+=360),a.rotationX=c>45?0:MX.toRad(c),a.rotationY+=MX.toRad(d)},f.delta=function(b,c){a.rotationY+=b/window.innerWidth*a.sensitivity,a.rotationX=a.rotationX+c/window.innerHeight*a.sensitivity},f.move=function(b,c){a.rotationY=b,"number"==typeof c&&(a.rotationX=c)},f.zoom=function(b){a.radius=b},f.setZoom=function(b){j=a.radius=b},f.zoomPercent=function(b){a.radius=lerp(b,a.radiusRange[0],a.radiusRange[1])},f.zoomDelta=function(b){a.radius+=b},f.pause=function(){var b=sign(a.rotationY-i),c=sign(a.rotationX-h);a.rotationY=i+.1*b,a.rotationX=h+.1*c},f.update=function(){i=abs(i-a.rotationY)>n?avg(i,a.rotationY,a.ease):a.rotationY,h=abs(h-a.rotationX)>n?avg(h,a.rotationX,a.ease):a.rotationX,j=abs(j-a.radius)>n?avg(j,a.radius,a.wheelEase):a.radius,a.camera.x=a.center.x+j*sin(h)*cos(i),a.camera.z=a.center.y+j*sin(h)*sin(i),a.camera.y=a.center.z+j*cos(h),a.camera.rotationX=PI/2-h,a.camera.rotationY=i+PI/2},f},MX.Image=MX.Object3D.extend({init:function(a){this.type="Image",this.media=a.media,this.width=0,this.height=0,this.x=a.x||0,this.y=a.y||0,this.z=a.z||0,this.scale=a.scale||1,this.backface=a.backface||!1,a.className&&this.el.classList.add(a.className),this.backface&&this.el.classList.add("backface-visible"),this.el.classList.add("image"),this.el.classList.add("mx-scenery"),this.el.style.backgroundRepeat="no-repeat",this.load(a)},load:function(a){var b=this;b.ops=defaults(a,b.ops);var c=new Image;c.onload=function(){b.ops&&(b.scale=b.ops.scale||1,b.width=b.ops.width||c.naturalWidth,b.height=b.ops.height||c.naturalHeight,b.el.style.backgroundImage="url("+c.src+")",b.el.classList.add("image"),b.dirty=!0,b.ops.onload&&b.ops.onload(c),b.update())},c.src=a.src,c.complete&&setTimeout(c.onload)}}),!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){function c(a){var b=a.length,c=fa.type(a);return"function"===c||fa.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}function d(a,b,c){if(fa.isFunction(b))return fa.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return fa.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(na.test(b))return fa.filter(b,a,c);b=fa.filter(b,a)}return fa.grep(a,function(a){return fa.inArray(a,b)>=0!==c})}function e(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}function f(a){var b=va[a]={};return fa.each(a.match(ua)||[],function(a,c){b[c]=!0}),b}function g(){pa.addEventListener?(pa.removeEventListener("DOMContentLoaded",h,!1),a.removeEventListener("load",h,!1)):(pa.detachEvent("onreadystatechange",h),a.detachEvent("onload",h))}function h(){(pa.addEventListener||"load"===event.type||"complete"===pa.readyState)&&(g(),fa.ready())}function i(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(Aa,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:za.test(c)?fa.parseJSON(c):c}catch(e){}fa.data(a,b,c)}else c=void 0}return c}function j(a){var b;for(b in a)if(("data"!==b||!fa.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function k(a,b,c,d){if(fa.acceptData(a)){var e,f,g=fa.expando,h=a.nodeType,i=h?fa.cache:a,j=h?a[g]:a[g]&&g;if(j&&i[j]&&(d||i[j].data)||void 0!==c||"string"!=typeof b)return j||(j=h?a[g]=W.pop()||fa.guid++:g),i[j]||(i[j]=h?{}:{toJSON:fa.noop}),("object"==typeof b||"function"==typeof b)&&(d?i[j]=fa.extend(i[j],b):i[j].data=fa.extend(i[j].data,b)),f=i[j],d||(f.data||(f.data={}),f=f.data),void 0!==c&&(f[fa.camelCase(b)]=c),"string"==typeof b?(e=f[b], +null==e&&(e=f[fa.camelCase(b)])):e=f,e}}function l(a,b,c){if(fa.acceptData(a)){var d,e,f=a.nodeType,g=f?fa.cache:a,h=f?a[fa.expando]:fa.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){fa.isArray(b)?b=b.concat(fa.map(b,fa.camelCase)):b in d?b=[b]:(b=fa.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;for(;e--;)delete d[b[e]];if(c?!j(d):!fa.isEmptyObject(d))return}(c||(delete g[h].data,j(g[h])))&&(f?fa.cleanData([a],!0):da.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}function m(){return!0}function n(){return!1}function o(){try{return pa.activeElement}catch(a){}}function p(a){var b=La.split("|"),c=a.createDocumentFragment();if(c.createElement)for(;b.length;)c.createElement(b.pop());return c}function q(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==ya?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==ya?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||fa.nodeName(d,b)?f.push(d):fa.merge(f,q(d,b));return void 0===b||b&&fa.nodeName(a,b)?fa.merge([a],f):f}function r(a){Fa.test(a.type)&&(a.defaultChecked=a.checked)}function s(a,b){return fa.nodeName(a,"table")&&fa.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function t(a){return a.type=(null!==fa.find.attr(a,"type"))+"/"+a.type,a}function u(a){var b=Wa.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function v(a,b){for(var c,d=0;null!=(c=a[d]);d++)fa._data(c,"globalEval",!b||fa._data(b[d],"globalEval"))}function w(a,b){if(1===b.nodeType&&fa.hasData(a)){var c,d,e,f=fa._data(a),g=fa._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)fa.event.add(b,c,h[c][d])}g.data&&(g.data=fa.extend({},g.data))}}function x(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!da.noCloneEvent&&b[fa.expando]){e=fa._data(b);for(d in e.events)fa.removeEvent(b,d,e.handle);b.removeAttribute(fa.expando)}"script"===c&&b.text!==a.text?(t(b).text=a.text,u(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),da.html5Clone&&a.innerHTML&&!fa.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&Fa.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}function y(b,c){var d=fa(c.createElement(b)).appendTo(c.body),e=a.getDefaultComputedStyle?a.getDefaultComputedStyle(d[0]).display:fa.css(d[0],"display");return d.detach(),e}function z(a){var b=pa,c=ab[a];return c||(c=y(a,b),"none"!==c&&c||(_a=(_a||fa("');a.append(c);var d=$f(a.find("iframe")[0]);a.data("player",d),d.addEvent("ready",function(){d.addEvent("play",function(){a.addClass("playing")}),d.addEvent("pause",function(){a.removeClass("playing")})}),videos.push(d)}}function HustleLoader(){function a(){b()}function b(){setTimeout(function(){$("#loader_svg").addClass("slide")},100)}var c=document.getElementById("loader_svg_status");this.update=function(a){var b=lerp(1-a,336,118);c.setAttribute("y",b)},this.finish=function(a){$("#loader_rapper").addClass("hidden"),setTimeout(a,100),setTimeout(function(){$("#loader_rapper").hide()},500)},a()}var MX=MX||function(a){function b(){var a=document.body.style;r.prefix="webkitTransform"in a?"webkit":"mozTransform"in a?"moz":"msTransform"in a?"ms":"",k=r.transformProp=h("transform"),l=r.transitionProp=h("transition"),m=r.transformOriginProp=h("transformOrigin"),n=r.transformStyleProp=h("transformStyle"),o=r.perspectiveProp=h("perspective"),p=r.transitionEndEvent="webkit"===r.prefix?"webkitTransitionEnd":"transitionend";for(var b=["webkit","moz","ms"],d=0;d0?1:-1;return b.y=g*Math.atan2(c*Math.cos(b.x),f*-g),b.z=Math.atan2(Math.cos(b.x),Math.sin(b.x)*Math.sin(b.y))-Math.PI/2,"deg"===r.rotationUnit&&(b.x=e(b.x),b.y=e(b.y),b.z=e(b.z)),b},add:function(){if(this.el){var a=this;return Array.prototype.forEach.call(arguments,function(b){!b instanceof i||(a.el.appendChild(b.el),a.children||(a.children=[]),a.children.push(b),b.parent=a)}),this}},remove:function(){var b=this;return Array.prototype.forEach.call(arguments,function(c){var d=b.children.indexOf(c);-1!==d&&(b.children.splice(d,1),b.el.removeChild(c.el),c.parent=a)}),this},addTo:function(a){return"string"==typeof a&&(a=document.querySelector(a)),a instanceof HTMLElement&&a.appendChild?a.appendChild(this.el):(a instanceof i||a instanceof r.Scene)&&a.add(this),this},removeElement:function(){this.el.parentNode&&this.el.parentNode.removeChild(this.el)},setPosition:function(a){this.x=a.x||0===a.x?a.x:this.x,this.y=a.y||0===a.y?a.y:this.y,this.z=a.z||0===a.z?a.z:this.z},setRotation:function(a){this.rotationX=a.x||0===a.x?a.x:this.rotationX,this.rotationY=a.y||0===a.y?a.y:this.rotationY,this.rotationZ=a.z||0===a.z?a.z:this.rotationZ},setScale:function(a){this.scaleX=a.x||0===a.x?a.x:this.scaleX,this.scaleY=a.y||0===a.y?a.y:this.scaleY,this.scaleZ=a.z||0===a.z?a.z:this.scaleZ},setSkew:function(a){this.skewX=a.x||0===a.x?a.x:this.skewX,this.skewY=a.y||0===a.y?a.y:this.skewY},setCSSTransformOrigin:function(a){return this.el&&(this.el.style[m]=a),this},setCSSTransformStyle:function(a){return this.el&&(this.el.style[n]=a),this},setCSSTransition:function(a){return this.el&&(this.el.style[l]=a),this},setCSSPerspective:function(a){return this.el&&(this.el.style[o]=a),this},move:function(a){var b=this;b.ops=defaults(a,b.ops);for(var c in a)b[c]=a[c];b.dirty=!0,b.update()},onTransitionEnd:function(a){function b(){c.removeEventListener(p,b),a()}this.cancelTransitionEnd();var c=this.el;c.addEventListener(p,b)},cancelTransitionEnd:function(){this.el.removeEventListener(p)},toString:function(a){return a=a||"id width height depth x y z rotationX rotationY rotationZ scale".split(" "),this.__toString(a)},__toString:function(b,c){this.id=this.id||"undef";var d,e,f={},g=this.type||"Object3d",h=g.toLowerCase();for(var i in b)e=b[i],d=this[e],(0!==d||c)&&(f[e]="number"==typeof d?-1!=e.indexOf("rotation")?Number(d.toFixed(3)):~~d:d);return(c||"var "+h+" = new MX."+g)+"("+JSON.stringify(f,a,2)+")\n"+(c?"":"scene.add("+h+")")},contains:function(a,b,c){var d=!1,e=!1,f=!1;return d=null===a?!0:abs(this.x-a)<=this.width/2,e=null===b?!0:abs(this.y-b)<=this.height/2,f=null===c?!0:abs(this.z-c)<=this.depth/2,d&&e&&f}},i.extend=j.bind(i),r.Object3D=i,r.toRad=f,r.toDeg=e,Object.defineProperty(r,"positionAtCenter",{get:function(){return t},set:function(a){"boolean"==typeof a&&(t=a,t?c():d())}}),r}();MX.Camera=MX.Object3D.extend({init:function(){this.el=null,this.type="Camera"},move:function(a){for(var b in a)this[b]=a[b]},toString:function(){var a="x y z rotationX rotationY".split(" ");return this.__toString(a,"scene.camera.move")},getCameraEuler:function(a){var b=a.x-this.x,c=a.y-this.y,d=a.z-this.z;return r={},r.y=Math.atan2(-b,d),r.x=Math.atan2(-c,Math.sqrt(b*b+d*d)),r.z=0,"deg"===MX.rotationUnit&&(r.x=MX.toDeg(r.x),r.y=MX.toDeg(r.y)),r}}),MX.Scene=function(){function a(){this.el=document.createElement("div"),this.el.classList.add("mx-scene");var a=this.el.style;a[MX.transformProp]="preserve-3d",a.webkitPerspectiveOrigin="50% 50%",a.mozPerspectiveOrigin="50% 50%",a.perspectiveOrigin="50% 50%",a.webkitUserSelect="none",a.mozUserSelect="none",a.userSelect="none",a.overflow="hidden",this.inner=(new MX.Object3D).addTo(this.el),this.inner.el.style.width="0",this.inner.el.style.height="0";var b,c,d,e=this;Object.defineProperty(this,"width",{get:function(){return b},set:function(a){b=a,e.el.style.width=a+"px"}}),Object.defineProperty(this,"height",{get:function(){return c},set:function(a){c=a,e.el.style.height=a+"px"}}),Object.defineProperty(this,"perspective",{get:function(){return d},set:function(a){d=a,e.el.style[MX.perspectiveProp]=a+"px",e.inner.z=-a-e.camera.z,e.inner.rotationOrigin.z=-a}});this.camera=new MX.Camera;this.inner.rotationOrigin={x:0,y:0,z:0},this.perspective=0}var b=MX.Object3D.prototype.add,c=MX.Object3D.prototype.remove;return a.prototype={constructor:a,add:function(){return b.apply(this.inner,arguments),this},remove:function(){return c.apply(this.inner,arguments),this},addTo:function(a){return"string"==typeof a&&(a=document.querySelector(a)),a instanceof HTMLElement&&a.appendChild?a.appendChild(this.el):console.warn("You can only add a Scene to an HTML element."),this},update:function(){var a=this.inner,b=this.camera;return b.update(),a.z=-this.perspective-b.z,a.x=-b.x,a.y=-b.y,a.rotationX=-b.rotationX,a.rotationY=-b.rotationY,a.update(),this}},a}(),MX.OrbitCamera=function(a){function b(a){return function(b){a(b.touches[0])}}function c(a){k=a.pageX,l=a.pageY,f.dragging=!0}function d(a){f.dragging&&(f.delta(k-a.pageX,l-a.pageY),k=a.pageX,l=a.pageY)}function e(a){f.dragging=!1}var f={},g=!1;f.opt=a=defaults(a,{el:window,camera:scene.camera,radius:100,radiusRange:[10,1e3],rotationX:PI/2,rotationY:0,center:{x:0,y:0,z:0},sensitivity:10,wheelSensitivity:10,ease:10,wheelEase:10});var h,i,j,k,l,m=1e-10;return f.dragging=!1,f.init=function(){i=a.rotationY,h=a.rotationX,j=a.radius,f.wheel=new wheel({el:a.el,update:function(b,c){a.radius=clamp(a.radius+c*a.wheelSensitivity,a.radiusRange[0],a.radiusRange[1])}}),f.bind()},f.toggle=function(a){a?f.bind():f.unbind()},f.bind=function(){g||(g=!0,a.el.addEventListener("mousedown",c),window.addEventListener("mousemove",d),window.addEventListener("mouseup",e),a.el.addEventListener("touchstart",b(c)),window.addEventListener("touchmove",b(d)),window.addEventListener("touchend",b(e)),f.wheel.unlock())},f.unbind=function(){g&&(g=!1,a.el.removeEventListener("mousedown",c),window.removeEventListener("mousemove",d),window.removeEventListener("mouseup",e),f.wheel.lock())},f.delta=function(b,c){a.rotationY+=b/window.innerWidth*a.sensitivity,a.rotationX=a.rotationX+c/window.innerHeight*a.sensitivity},f.move=function(b,c){a.rotationY=b,"number"==typeof c&&(a.rotationX=c)},f.zoom=function(b){a.radius=b},f.setZoom=function(b){j=a.radius=b},f.zoomPercent=function(b){a.radius=lerp(b,a.radiusRange[0],a.radiusRange[1])},f.zoomDelta=function(b){a.radius+=b},f.pause=function(){var b=sign(a.rotationY-i),c=sign(a.rotationX-h);a.rotationY=i+.1*b,a.rotationX=h+.1*c},f.update=function(){i=abs(i-a.rotationY)>m?avg(i,a.rotationY,a.ease):a.rotationY,h=abs(h-a.rotationX)>m?avg(h,a.rotationX,a.ease):a.rotationX,j=abs(j-a.radius)>m?avg(j,a.radius,a.wheelEase):a.radius,a.camera.x=a.center.x+j*sin(h)*cos(i),a.camera.z=a.center.y+j*sin(h)*sin(i),a.camera.y=a.center.z+j*cos(h),a.camera.rotationX=PI/2-h,a.camera.rotationY=i+PI/2},f},MX.OrbitCameraMobile=function(a){function b(a){return function(b){a(b.touches[0])}}function c(a){k=a.pageX,l=a.pageY,f.dragging=!0}function d(a){f.dragging&&(f.delta(k-a.pageX,l-a.pageY),k=a.pageX,l=a.pageY)}function e(a){f.dragging=!1}var f={},g=!1;f.opt=a=defaults(a,{el:window,camera:scene.camera,radius:100,radiusRange:[10,1e3],rotationX:PI/2,rotationY:0,center:{x:0,y:0,z:0},sensitivity:10,wheelSensitivity:10,ease:10,wheelEase:10});var h,i,j,k,l,m,n=1e-10,o=0,p=0,q=0,r=0,s=20;return f.dragging=!1,f.init=function(){i=a.rotationY,h=a.rotationX,j=a.radius,f.wheel=new wheel({el:a.el,update:function(b,c){a.radius=clamp(a.radius+c*a.wheelSensitivity,a.radiusRange[0],a.radiusRange[1])}}),f.bind(),f.orientationchange()},f.toggle=function(a){a?f.bind():f.unbind()},f.bind=function(){g||(g=!0,a.el.addEventListener("touchstart",b(c)),window.addEventListener("touchmove",b(d)),window.addEventListener("touchend",b(e)),window.addEventListener("orientationchange",f.orientationchange),window.addEventListener("devicemotion",f.devicemotion),window.addEventListener("deviceorientation",f.deviceorientation),f.wheel.unlock())},f.unbind=function(){g&&(g=!1,f.wheel.lock())},f.orientationchange=function(a){is_portrait=window.innerWidthq&&(q=b.beta,p=o);b.beta+7;d=!is_android&&r>s?o>p?b.beta-90:90-b.beta:0,(Math.abs(c-m)<100||Math.abs(c-m)>300)&&(e=c-m,m=c),e>300?e-=360:-300>e&&(e+=360),a.rotationX=MX.toRad(-5*d),a.rotationY+=MX.toRad(10*e)},f.landscapeorientation=function(b){var c,d;c=b.gamma>0?90-b.gamma:90+b.gamma,d=b.alpha-m,m=b.alpha,d>300?d-=360:-300>d&&(d+=360),a.rotationX=c>45?0:MX.toRad(c),a.rotationY+=MX.toRad(d)},f.delta=function(b,c){a.rotationY+=b/window.innerWidth*a.sensitivity,a.rotationX=a.rotationX+c/window.innerHeight*a.sensitivity},f.move=function(b,c){a.rotationY=b,"number"==typeof c&&(a.rotationX=c)},f.zoom=function(b){a.radius=b},f.setZoom=function(b){j=a.radius=b},f.zoomPercent=function(b){a.radius=lerp(b,a.radiusRange[0],a.radiusRange[1])},f.zoomDelta=function(b){a.radius+=b},f.pause=function(){var b=sign(a.rotationY-i),c=sign(a.rotationX-h);a.rotationY=i+.1*b,a.rotationX=h+.1*c},f.update=function(){i=abs(i-a.rotationY)>n?avg(i,a.rotationY,a.ease):a.rotationY,h=abs(h-a.rotationX)>n?avg(h,a.rotationX,a.ease):a.rotationX,j=abs(j-a.radius)>n?avg(j,a.radius,a.wheelEase):a.radius,a.camera.x=a.center.x+j*sin(h)*cos(i),a.camera.z=a.center.y+j*sin(h)*sin(i),a.camera.y=a.center.z+j*cos(h),a.camera.rotationX=PI/2-h,a.camera.rotationY=i+PI/2},f},MX.Image=MX.Object3D.extend({init:function(a){this.type="Image",this.media=a.media,this.width=0,this.height=0,this.x=a.x||0,this.y=a.y||0,this.z=a.z||0,this.scale=a.scale||1,this.backface=a.backface||!1,a.className&&this.el.classList.add(a.className),this.backface&&this.el.classList.add("backface-visible"),this.el.classList.add("image"),this.el.classList.add("mx-scenery"),this.el.style.backgroundRepeat="no-repeat",this.load(a)},load:function(a){var b=this;b.ops=defaults(a,b.ops);var c=new Image;c.onload=function(){b.ops&&(b.scale=b.ops.scale||1,b.width=b.ops.width||c.naturalWidth,b.height=b.ops.height||c.naturalHeight,b.el.style.backgroundImage="url("+c.src+")",b.el.classList.add("image"),b.dirty=!0,b.ops.onload&&b.ops.onload(c),b.update())},c.src=a.src,c.complete&&setTimeout(c.onload)}}),!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){function c(a){var b=a.length,c=fa.type(a);return"function"===c||fa.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}function d(a,b,c){if(fa.isFunction(b))return fa.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return fa.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(na.test(b))return fa.filter(b,a,c);b=fa.filter(b,a)}return fa.grep(a,function(a){return fa.inArray(a,b)>=0!==c})}function e(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}function f(a){var b=va[a]={};return fa.each(a.match(ua)||[],function(a,c){b[c]=!0}),b}function g(){pa.addEventListener?(pa.removeEventListener("DOMContentLoaded",h,!1),a.removeEventListener("load",h,!1)):(pa.detachEvent("onreadystatechange",h),a.detachEvent("onload",h))}function h(){(pa.addEventListener||"load"===event.type||"complete"===pa.readyState)&&(g(),fa.ready())}function i(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(Aa,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:za.test(c)?fa.parseJSON(c):c}catch(e){}fa.data(a,b,c)}else c=void 0}return c}function j(a){var b;for(b in a)if(("data"!==b||!fa.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function k(a,b,c,d){if(fa.acceptData(a)){var e,f,g=fa.expando,h=a.nodeType,i=h?fa.cache:a,j=h?a[g]:a[g]&&g;if(j&&i[j]&&(d||i[j].data)||void 0!==c||"string"!=typeof b)return j||(j=h?a[g]=W.pop()||fa.guid++:g),i[j]||(i[j]=h?{}:{toJSON:fa.noop}),("object"==typeof b||"function"==typeof b)&&(d?i[j]=fa.extend(i[j],b):i[j].data=fa.extend(i[j].data,b)),f=i[j],d||(f.data||(f.data={}),f=f.data),void 0!==c&&(f[fa.camelCase(b)]=c),"string"==typeof b?(e=f[b], -null==e&&(e=f[fa.camelCase(b)])):e=f,e}}function l(a,b,c){if(fa.acceptData(a)){var d,e,f=a.nodeType,g=f?fa.cache:a,h=f?a[fa.expando]:fa.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){fa.isArray(b)?b=b.concat(fa.map(b,fa.camelCase)):b in d?b=[b]:(b=fa.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;for(;e--;)delete d[b[e]];if(c?!j(d):!fa.isEmptyObject(d))return}(c||(delete g[h].data,j(g[h])))&&(f?fa.cleanData([a],!0):da.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}function m(){return!0}function n(){return!1}function o(){try{return pa.activeElement}catch(a){}}function p(a){var b=La.split("|"),c=a.createDocumentFragment();if(c.createElement)for(;b.length;)c.createElement(b.pop());return c}function q(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==ya?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==ya?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||fa.nodeName(d,b)?f.push(d):fa.merge(f,q(d,b));return void 0===b||b&&fa.nodeName(a,b)?fa.merge([a],f):f}function r(a){Fa.test(a.type)&&(a.defaultChecked=a.checked)}function s(a,b){return fa.nodeName(a,"table")&&fa.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function t(a){return a.type=(null!==fa.find.attr(a,"type"))+"/"+a.type,a}function u(a){var b=Wa.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function v(a,b){for(var c,d=0;null!=(c=a[d]);d++)fa._data(c,"globalEval",!b||fa._data(b[d],"globalEval"))}function w(a,b){if(1===b.nodeType&&fa.hasData(a)){var c,d,e,f=fa._data(a),g=fa._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)fa.event.add(b,c,h[c][d])}g.data&&(g.data=fa.extend({},g.data))}}function x(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!da.noCloneEvent&&b[fa.expando]){e=fa._data(b);for(d in e.events)fa.removeEvent(b,d,e.handle);b.removeAttribute(fa.expando)}"script"===c&&b.text!==a.text?(t(b).text=a.text,u(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),da.html5Clone&&a.innerHTML&&!fa.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&Fa.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}function y(b,c){var d=fa(c.createElement(b)).appendTo(c.body),e=a.getDefaultComputedStyle?a.getDefaultComputedStyle(d[0]).display:fa.css(d[0],"display");return d.detach(),e}function z(a){var b=pa,c=ab[a];return c||(c=y(a,b),"none"!==c&&c||(_a=(_a||fa("');a.append(c);var d=$f(a.find("iframe")[0]);a.data("player",d),d.addEvent("ready",function(){d.addEvent("play",function(){a.addClass("playing")}),d.addEvent("pause",function(){a.removeClass("playing")})}),videos.push(d)}}function HustleLoader(){function a(){b()}function b(){setTimeout(function(){$("#loader_svg").addClass("slide")},100)}var c=document.getElementById("loader_svg_status");this.update=function(a){var b=lerp(1-a,336,118);c.setAttribute("y",b)},this.finish=function(a){$("#loader_rapper").addClass("hidden"),setTimeout(a,100),setTimeout(function(){$("#loader_rapper").hide()},500)},a()}var MX=MX||function(a){function b(){var a=document.body.style;r.prefix="webkitTransform"in a?"webkit":"mozTransform"in a?"moz":"msTransform"in a?"ms":"",k=r.transformProp=h("transform"),l=r.transitionProp=h("transition"),m=r.transformOriginProp=h("transformOrigin"),n=r.transformStyleProp=h("transformStyle"),o=r.perspectiveProp=h("perspective"),p=r.transitionEndEvent="webkit"===r.prefix?"webkitTransitionEnd":"transitionend";for(var b=["webkit","moz","ms"],d=0;d0?1:-1;return b.y=g*Math.atan2(c*Math.cos(b.x),f*-g),b.z=Math.atan2(Math.cos(b.x),Math.sin(b.x)*Math.sin(b.y))-Math.PI/2,"deg"===r.rotationUnit&&(b.x=e(b.x),b.y=e(b.y),b.z=e(b.z)),b},add:function(){if(this.el){var a=this;return Array.prototype.forEach.call(arguments,function(b){!b instanceof i||(a.el.appendChild(b.el),a.children||(a.children=[]),a.children.push(b),b.parent=a)}),this}},remove:function(){var b=this;return Array.prototype.forEach.call(arguments,function(c){var d=b.children.indexOf(c);-1!==d&&(b.children.splice(d,1),b.el.removeChild(c.el),c.parent=a)}),this},addTo:function(a){return"string"==typeof a&&(a=document.querySelector(a)),a instanceof HTMLElement&&a.appendChild?a.appendChild(this.el):(a instanceof i||a instanceof r.Scene)&&a.add(this),this},removeElement:function(){this.el.parentNode&&this.el.parentNode.removeChild(this.el)},setPosition:function(a){this.x=a.x||0===a.x?a.x:this.x,this.y=a.y||0===a.y?a.y:this.y,this.z=a.z||0===a.z?a.z:this.z},setRotation:function(a){this.rotationX=a.x||0===a.x?a.x:this.rotationX,this.rotationY=a.y||0===a.y?a.y:this.rotationY,this.rotationZ=a.z||0===a.z?a.z:this.rotationZ},setScale:function(a){this.scaleX=a.x||0===a.x?a.x:this.scaleX,this.scaleY=a.y||0===a.y?a.y:this.scaleY,this.scaleZ=a.z||0===a.z?a.z:this.scaleZ},setSkew:function(a){this.skewX=a.x||0===a.x?a.x:this.skewX,this.skewY=a.y||0===a.y?a.y:this.skewY},setCSSTransformOrigin:function(a){return this.el&&(this.el.style[m]=a),this},setCSSTransformStyle:function(a){return this.el&&(this.el.style[n]=a),this},setCSSTransition:function(a){return this.el&&(this.el.style[l]=a),this},setCSSPerspective:function(a){return this.el&&(this.el.style[o]=a),this},move:function(a){var b=this;b.ops=defaults(a,b.ops);for(var c in a)b[c]=a[c];b.dirty=!0,b.update()},onTransitionEnd:function(a){function b(){c.removeEventListener(p,b),a()}this.cancelTransitionEnd();var c=this.el;c.addEventListener(p,b)},cancelTransitionEnd:function(){this.el.removeEventListener(p)},toString:function(a){return a=a||"id width height depth x y z rotationX rotationY rotationZ scale".split(" "),this.__toString(a)},__toString:function(b,c){this.id=this.id||"undef";var d,e,f={},g=this.type||"Object3d",h=g.toLowerCase();for(var i in b)e=b[i],d=this[e],(0!==d||c)&&("number"==typeof d?-1!=e.indexOf("rotation")?f[e]=Number(d.toFixed(3)):f[e]=~~d:f[e]=d);return(c||"var "+h+" = new MX."+g)+"("+JSON.stringify(f,a,2)+")\n"+(c?"":"scene.add("+h+")")},contains:function(a,b,c){var d=!1,e=!1,f=!1;return d=null===a?!0:abs(this.x-a)<=this.width/2,e=null===b?!0:abs(this.y-b)<=this.height/2,f=null===c?!0:abs(this.z-c)<=this.depth/2,d&&e&&f}},i.extend=j.bind(i),r.Object3D=i,r.toRad=f,r.toDeg=e,Object.defineProperty(r,"positionAtCenter",{get:function(){return t},set:function(a){"boolean"==typeof a&&(t=a,t?c():d())}}),r}();MX.Camera=MX.Object3D.extend({init:function(){this.el=null,this.type="Camera"},move:function(a){for(var b in a)this[b]=a[b]},toString:function(){var a="x y z rotationX rotationY".split(" ");return this.__toString(a,"scene.camera.move")},getCameraEuler:function(a){var b=a.x-this.x,c=a.y-this.y,d=a.z-this.z;return r={},r.y=Math.atan2(-b,d),r.x=Math.atan2(-c,Math.sqrt(b*b+d*d)),r.z=0,"deg"===MX.rotationUnit&&(r.x=MX.toDeg(r.x),r.y=MX.toDeg(r.y)),r}}),MX.Scene=function(){function a(){this.el=document.createElement("div"),this.el.classList.add("mx-scene");var a=this.el.style;a[MX.transformProp]="preserve-3d",a.webkitPerspectiveOrigin="50% 50%",a.mozPerspectiveOrigin="50% 50%",a.perspectiveOrigin="50% 50%",a.webkitUserSelect="none",a.mozUserSelect="none",a.userSelect="none",a.overflow="hidden",this.inner=(new MX.Object3D).addTo(this.el),this.inner.el.style.width="0",this.inner.el.style.height="0";var b,c,d,e=this;Object.defineProperty(this,"width",{get:function(){return b},set:function(a){b=a,e.el.style.width=a+"px"}}),Object.defineProperty(this,"height",{get:function(){return c},set:function(a){c=a,e.el.style.height=a+"px"}}),Object.defineProperty(this,"perspective",{get:function(){return d},set:function(a){d=a,e.el.style[MX.perspectiveProp]=a+"px",e.inner.z=-a-e.camera.z,e.inner.rotationOrigin.z=-a}});this.camera=new MX.Camera;this.inner.rotationOrigin={x:0,y:0,z:0},this.perspective=0}var b=MX.Object3D.prototype.add,c=MX.Object3D.prototype.remove;return a.prototype={constructor:a,add:function(){return b.apply(this.inner,arguments),this},remove:function(){return c.apply(this.inner,arguments),this},addTo:function(a){return"string"==typeof a&&(a=document.querySelector(a)),a instanceof HTMLElement&&a.appendChild?a.appendChild(this.el):console.warn("You can only add a Scene to an HTML element."),this},update:function(){var a=this.inner,b=this.camera;return b.update(),a.z=-this.perspective-b.z,a.x=-b.x,a.y=-b.y,a.rotationX=-b.rotationX,a.rotationY=-b.rotationY,a.update(),this}},a}(),MX.OrbitCamera=function(a){function b(a){return function(b){a(b.touches[0])}}function c(a){k=a.pageX,l=a.pageY,f.dragging=!0}function d(a){f.dragging&&(f.delta(k-a.pageX,l-a.pageY),k=a.pageX,l=a.pageY)}function e(a){f.dragging=!1}var f={},g=!1;f.opt=a=defaults(a,{el:window,camera:scene.camera,radius:100,radiusRange:[10,1e3],rotationX:PI/2,rotationY:0,center:{x:0,y:0,z:0},sensitivity:10,wheelSensitivity:10,ease:10,wheelEase:10});var h,i,j,k,l,m=1e-10;return f.dragging=!1,f.init=function(){i=a.rotationY,h=a.rotationX,j=a.radius,f.wheel=new wheel({el:a.el,update:function(b,c){a.radius=clamp(a.radius+c*a.wheelSensitivity,a.radiusRange[0],a.radiusRange[1])}}),f.bind()},f.toggle=function(a){a?f.bind():f.unbind()},f.bind=function(){g||(g=!0,a.el.addEventListener("mousedown",c),window.addEventListener("mousemove",d),window.addEventListener("mouseup",e),a.el.addEventListener("touchstart",b(c)),window.addEventListener("touchmove",b(d)),window.addEventListener("touchend",b(e)),f.wheel.unlock())},f.unbind=function(){g&&(g=!1,a.el.removeEventListener("mousedown",c),window.removeEventListener("mousemove",d),window.removeEventListener("mouseup",e),f.wheel.lock())},f.delta=function(b,c){a.rotationY+=b/window.innerWidth*a.sensitivity,a.rotationX=a.rotationX+c/window.innerHeight*a.sensitivity},f.move=function(b,c){a.rotationY=b,"number"==typeof c&&(a.rotationX=c)},f.zoom=function(b){a.radius=b},f.setZoom=function(b){j=a.radius=b},f.zoomPercent=function(b){a.radius=lerp(b,a.radiusRange[0],a.radiusRange[1])},f.zoomDelta=function(b){a.radius+=b},f.pause=function(){var b=sign(a.rotationY-i),c=sign(a.rotationX-h);a.rotationY=i+.1*b,a.rotationX=h+.1*c},f.update=function(){i=abs(i-a.rotationY)>m?avg(i,a.rotationY,a.ease):a.rotationY,h=abs(h-a.rotationX)>m?avg(h,a.rotationX,a.ease):a.rotationX,j=abs(j-a.radius)>m?avg(j,a.radius,a.wheelEase):a.radius,a.camera.x=a.center.x+j*sin(h)*cos(i),a.camera.z=a.center.y+j*sin(h)*sin(i),a.camera.y=a.center.z+j*cos(h),a.camera.rotationX=PI/2-h,a.camera.rotationY=i+PI/2},f},MX.OrbitCameraMobile=function(a){function b(a){return function(b){a(b.touches[0])}}function c(a){k=a.pageX,l=a.pageY,f.dragging=!0}function d(a){f.dragging&&(f.delta(k-a.pageX,l-a.pageY),k=a.pageX,l=a.pageY)}function e(a){f.dragging=!1}var f={},g=!1;f.opt=a=defaults(a,{el:window,camera:scene.camera,radius:100,radiusRange:[10,1e3],rotationX:PI/2,rotationY:0,center:{x:0,y:0,z:0},sensitivity:10,wheelSensitivity:10,ease:10,wheelEase:10});var h,i,j,k,l,m,n=1e-10,o=0,p=0,q=0,r=0,s=20;return f.dragging=!1,f.init=function(){i=a.rotationY,h=a.rotationX,j=a.radius,f.wheel=new wheel({el:a.el,update:function(b,c){a.radius=clamp(a.radius+c*a.wheelSensitivity,a.radiusRange[0],a.radiusRange[1])}}),f.bind(),f.orientationchange()},f.toggle=function(a){a?f.bind():f.unbind()},f.bind=function(){g||(g=!0,a.el.addEventListener("touchstart",b(c)),window.addEventListener("touchmove",b(d)),window.addEventListener("touchend",b(e)),window.addEventListener("orientationchange",f.orientationchange),window.addEventListener("devicemotion",f.devicemotion),window.addEventListener("deviceorientation",f.deviceorientation),f.wheel.unlock())},f.unbind=function(){g&&(g=!1,f.wheel.lock())},f.orientationchange=function(a){is_portrait=window.innerWidthq&&(q=b.beta,p=o);b.beta+7;d=!is_android&&r>s?o>p?b.beta-90:90-b.beta:0,(Math.abs(c-m)<100||Math.abs(c-m)>300)&&(e=c-m,m=c),e>300?e-=360:-300>e&&(e+=360),a.rotationX=MX.toRad(-5*d),a.rotationY+=MX.toRad(10*e)},f.landscapeorientation=function(b){var c,d;c=b.gamma>0?90-b.gamma:90+b.gamma,d=b.alpha-m,m=b.alpha,d>300?d-=360:-300>d&&(d+=360),a.rotationX=c>45?0:MX.toRad(c),a.rotationY+=MX.toRad(d)},f.delta=function(b,c){a.rotationY+=b/window.innerWidth*a.sensitivity,a.rotationX=a.rotationX+c/window.innerHeight*a.sensitivity},f.move=function(b,c){a.rotationY=b,"number"==typeof c&&(a.rotationX=c)},f.zoom=function(b){a.radius=b},f.setZoom=function(b){j=a.radius=b},f.zoomPercent=function(b){a.radius=lerp(b,a.radiusRange[0],a.radiusRange[1])},f.zoomDelta=function(b){a.radius+=b},f.pause=function(){var b=sign(a.rotationY-i),c=sign(a.rotationX-h);a.rotationY=i+.1*b,a.rotationX=h+.1*c},f.update=function(){i=abs(i-a.rotationY)>n?avg(i,a.rotationY,a.ease):a.rotationY,h=abs(h-a.rotationX)>n?avg(h,a.rotationX,a.ease):a.rotationX,j=abs(j-a.radius)>n?avg(j,a.radius,a.wheelEase):a.radius,a.camera.x=a.center.x+j*sin(h)*cos(i),a.camera.z=a.center.y+j*sin(h)*sin(i),a.camera.y=a.center.z+j*cos(h),a.camera.rotationX=PI/2-h,a.camera.rotationY=i+PI/2},f},MX.Image=MX.Object3D.extend({init:function(a){this.type="Image",this.media=a.media,this.width=0,this.height=0,this.x=a.x||0,this.y=a.y||0,this.z=a.z||0,this.scale=a.scale||1,this.backface=a.backface||!1,a.className&&this.el.classList.add(a.className),this.backface&&this.el.classList.add("backface-visible"),this.el.classList.add("image"),this.el.classList.add("mx-scenery"),this.el.style.backgroundRepeat="no-repeat",this.load(a)},load:function(a){var b=this;b.ops=defaults(a,b.ops);var c=new Image;c.onload=function(){b.ops&&(b.scale=b.ops.scale||1,b.width=b.ops.width||c.naturalWidth,b.height=b.ops.height||c.naturalHeight,b.el.style.backgroundImage="url("+c.src+")",b.el.classList.add("image"),b.dirty=!0,b.ops.onload&&b.ops.onload(c),b.update())},c.src=a.src,c.complete&&setTimeout(c.onload)}}),!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){function c(a){var b=a.length,c=fa.type(a);return"function"===c||fa.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}function d(a,b,c){if(fa.isFunction(b))return fa.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return fa.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(na.test(b))return fa.filter(b,a,c);b=fa.filter(b,a)}return fa.grep(a,function(a){return fa.inArray(a,b)>=0!==c})}function e(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}function f(a){var b=va[a]={};return fa.each(a.match(ua)||[],function(a,c){b[c]=!0}),b}function g(){pa.addEventListener?(pa.removeEventListener("DOMContentLoaded",h,!1),a.removeEventListener("load",h,!1)):(pa.detachEvent("onreadystatechange",h),a.detachEvent("onload",h))}function h(){(pa.addEventListener||"load"===event.type||"complete"===pa.readyState)&&(g(),fa.ready())}function i(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(Aa,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:za.test(c)?fa.parseJSON(c):c}catch(e){}fa.data(a,b,c)}else c=void 0}return c}function j(a){var b;for(b in a)if(("data"!==b||!fa.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function k(a,b,c,d){if(fa.acceptData(a)){var e,f,g=fa.expando,h=a.nodeType,i=h?fa.cache:a,j=h?a[g]:a[g]&&g;if(j&&i[j]&&(d||i[j].data)||void 0!==c||"string"!=typeof b)return j||(j=h?a[g]=W.pop()||fa.guid++:g),i[j]||(i[j]=h?{}:{toJSON:fa.noop}),("object"==typeof b||"function"==typeof b)&&(d?i[j]=fa.extend(i[j],b):i[j].data=fa.extend(i[j].data,b)),f=i[j],d||(f.data||(f.data={}),f=f.data),void 0!==c&&(f[fa.camelCase(b)]=c), +"string"==typeof b?(e=f[b],null==e&&(e=f[fa.camelCase(b)])):e=f,e}}function l(a,b,c){if(fa.acceptData(a)){var d,e,f=a.nodeType,g=f?fa.cache:a,h=f?a[fa.expando]:fa.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){fa.isArray(b)?b=b.concat(fa.map(b,fa.camelCase)):b in d?b=[b]:(b=fa.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;for(;e--;)delete d[b[e]];if(c?!j(d):!fa.isEmptyObject(d))return}(c||(delete g[h].data,j(g[h])))&&(f?fa.cleanData([a],!0):da.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}function m(){return!0}function n(){return!1}function o(){try{return pa.activeElement}catch(a){}}function p(a){var b=La.split("|"),c=a.createDocumentFragment();if(c.createElement)for(;b.length;)c.createElement(b.pop());return c}function q(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==ya?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==ya?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||fa.nodeName(d,b)?f.push(d):fa.merge(f,q(d,b));return void 0===b||b&&fa.nodeName(a,b)?fa.merge([a],f):f}function r(a){Fa.test(a.type)&&(a.defaultChecked=a.checked)}function s(a,b){return fa.nodeName(a,"table")&&fa.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function t(a){return a.type=(null!==fa.find.attr(a,"type"))+"/"+a.type,a}function u(a){var b=Wa.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function v(a,b){for(var c,d=0;null!=(c=a[d]);d++)fa._data(c,"globalEval",!b||fa._data(b[d],"globalEval"))}function w(a,b){if(1===b.nodeType&&fa.hasData(a)){var c,d,e,f=fa._data(a),g=fa._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)fa.event.add(b,c,h[c][d])}g.data&&(g.data=fa.extend({},g.data))}}function x(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!da.noCloneEvent&&b[fa.expando]){e=fa._data(b);for(d in e.events)fa.removeEvent(b,d,e.handle);b.removeAttribute(fa.expando)}"script"===c&&b.text!==a.text?(t(b).text=a.text,u(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),da.html5Clone&&a.innerHTML&&!fa.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&Fa.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}function y(b,c){var d=fa(c.createElement(b)).appendTo(c.body),e=a.getDefaultComputedStyle?a.getDefaultComputedStyle(d[0]).display:fa.css(d[0],"display");return d.detach(),e}function z(a){var b=pa,c=ab[a];return c||(c=y(a,b),"none"!==c&&c||(_a=(_a||fa("');a.append(c);var d=$f(a.find("iframe")[0]);a.data("player",d),d.addEvent("ready",function(){d.addEvent("play",function(){a.addClass("playing")}),d.addEvent("pause",function(){a.removeClass("playing")})}),videos.push(d)}}function HustleLoader(){function a(){b()}function b(){setTimeout(function(){$("#loader_svg").addClass("slide")},100)}var c=document.getElementById("loader_svg_status");this.update=function(a){var b=lerp(1-a,336,118);c.setAttribute("y",b)},this.finish=function(a){$("#loader_rapper").addClass("hidden"),setTimeout(a,100),setTimeout(function(){$("#loader_rapper").hide()},500)},a()}var MX=MX||function(a){function b(){var a=document.body.style;r.prefix="webkitTransform"in a?"webkit":"mozTransform"in a?"moz":"msTransform"in a?"ms":"",k=r.transformProp=h("transform"),l=r.transitionProp=h("transition"),m=r.transformOriginProp=h("transformOrigin"),n=r.transformStyleProp=h("transformStyle"),o=r.perspectiveProp=h("perspective"),p=r.transitionEndEvent="webkit"===r.prefix?"webkitTransitionEnd":"transitionend";for(var b=["webkit","moz","ms"],d=0;d0?1:-1;return b.y=g*Math.atan2(c*Math.cos(b.x),f*-g),b.z=Math.atan2(Math.cos(b.x),Math.sin(b.x)*Math.sin(b.y))-Math.PI/2,"deg"===r.rotationUnit&&(b.x=e(b.x),b.y=e(b.y),b.z=e(b.z)),b},add:function(){if(this.el){var a=this;return Array.prototype.forEach.call(arguments,function(b){!b instanceof i||(a.el.appendChild(b.el),a.children||(a.children=[]),a.children.push(b),b.parent=a)}),this}},remove:function(){var b=this;return Array.prototype.forEach.call(arguments,function(c){var d=b.children.indexOf(c);-1!==d&&(b.children.splice(d,1),b.el.removeChild(c.el),c.parent=a)}),this},addTo:function(a){return"string"==typeof a&&(a=document.querySelector(a)),a instanceof HTMLElement&&a.appendChild?a.appendChild(this.el):(a instanceof i||a instanceof r.Scene)&&a.add(this),this},removeElement:function(){this.el.parentNode&&this.el.parentNode.removeChild(this.el)},setPosition:function(a){this.x=a.x||0===a.x?a.x:this.x,this.y=a.y||0===a.y?a.y:this.y,this.z=a.z||0===a.z?a.z:this.z},setRotation:function(a){this.rotationX=a.x||0===a.x?a.x:this.rotationX,this.rotationY=a.y||0===a.y?a.y:this.rotationY,this.rotationZ=a.z||0===a.z?a.z:this.rotationZ},setScale:function(a){this.scaleX=a.x||0===a.x?a.x:this.scaleX,this.scaleY=a.y||0===a.y?a.y:this.scaleY,this.scaleZ=a.z||0===a.z?a.z:this.scaleZ},setSkew:function(a){this.skewX=a.x||0===a.x?a.x:this.skewX,this.skewY=a.y||0===a.y?a.y:this.skewY},setCSSTransformOrigin:function(a){return this.el&&(this.el.style[m]=a),this},setCSSTransformStyle:function(a){return this.el&&(this.el.style[n]=a),this},setCSSTransition:function(a){return this.el&&(this.el.style[l]=a),this},setCSSPerspective:function(a){return this.el&&(this.el.style[o]=a),this},move:function(a){var b=this;b.ops=defaults(a,b.ops);for(var c in a)b[c]=a[c];b.dirty=!0,b.update()},onTransitionEnd:function(a){function b(){c.removeEventListener(p,b),a()}this.cancelTransitionEnd();var c=this.el;c.addEventListener(p,b)},cancelTransitionEnd:function(){this.el.removeEventListener(p)},toString:function(a){return a=a||"id width height depth x y z rotationX rotationY rotationZ scale".split(" "),this.__toString(a)},__toString:function(b,c){this.id=this.id||"undef";var d,e,f={},g=this.type||"Object3d",h=g.toLowerCase();for(var i in b)e=b[i],d=this[e],(0!==d||c)&&("number"==typeof d?-1!=e.indexOf("rotation")?f[e]=Number(d.toFixed(3)):f[e]=~~d:f[e]=d);return(c||"var "+h+" = new MX."+g)+"("+JSON.stringify(f,a,2)+")\n"+(c?"":"scene.add("+h+")")},contains:function(a,b,c){var d=!1,e=!1,f=!1;return d=null===a?!0:abs(this.x-a)<=this.width/2,e=null===b?!0:abs(this.y-b)<=this.height/2,f=null===c?!0:abs(this.z-c)<=this.depth/2,d&&e&&f}},i.extend=j.bind(i),r.Object3D=i,r.toRad=f,r.toDeg=e,Object.defineProperty(r,"positionAtCenter",{get:function(){return t},set:function(a){"boolean"==typeof a&&(t=a,t?c():d())}}),r}();MX.Camera=MX.Object3D.extend({init:function(){this.el=null,this.type="Camera"},move:function(a){for(var b in a)this[b]=a[b]},toString:function(){var a="x y z rotationX rotationY".split(" ");return this.__toString(a,"scene.camera.move")},getCameraEuler:function(a){var b=a.x-this.x,c=a.y-this.y,d=a.z-this.z;return r={},r.y=Math.atan2(-b,d),r.x=Math.atan2(-c,Math.sqrt(b*b+d*d)),r.z=0,"deg"===MX.rotationUnit&&(r.x=MX.toDeg(r.x),r.y=MX.toDeg(r.y)),r}}),MX.Scene=function(){function a(){this.el=document.createElement("div"),this.el.classList.add("mx-scene");var a=this.el.style;a[MX.transformProp]="preserve-3d",a.webkitPerspectiveOrigin="50% 50%",a.mozPerspectiveOrigin="50% 50%",a.perspectiveOrigin="50% 50%",a.webkitUserSelect="none",a.mozUserSelect="none",a.userSelect="none",a.overflow="hidden",this.inner=(new MX.Object3D).addTo(this.el),this.inner.el.style.width="0",this.inner.el.style.height="0";var b,c,d,e=this;Object.defineProperty(this,"width",{get:function(){return b},set:function(a){b=a,e.el.style.width=a+"px"}}),Object.defineProperty(this,"height",{get:function(){return c},set:function(a){c=a,e.el.style.height=a+"px"}}),Object.defineProperty(this,"perspective",{get:function(){return d},set:function(a){d=a,e.el.style[MX.perspectiveProp]=a+"px",e.inner.z=-a-e.camera.z,e.inner.rotationOrigin.z=-a}});this.camera=new MX.Camera;this.inner.rotationOrigin={x:0,y:0,z:0},this.perspective=0}var b=MX.Object3D.prototype.add,c=MX.Object3D.prototype.remove;return a.prototype={constructor:a,add:function(){return b.apply(this.inner,arguments),this},remove:function(){return c.apply(this.inner,arguments),this},addTo:function(a){return"string"==typeof a&&(a=document.querySelector(a)),a instanceof HTMLElement&&a.appendChild?a.appendChild(this.el):console.warn("You can only add a Scene to an HTML element."),this},update:function(){var a=this.inner,b=this.camera;return b.update(),a.z=-this.perspective-b.z,a.x=-b.x,a.y=-b.y,a.rotationX=-b.rotationX,a.rotationY=-b.rotationY,a.update(),this}},a}(),MX.OrbitCamera=function(a){function b(a){return function(b){a(b.touches[0])}}function c(a){k=a.pageX,l=a.pageY,f.dragging=!0}function d(a){f.dragging&&(f.delta(k-a.pageX,l-a.pageY),k=a.pageX,l=a.pageY)}function e(a){f.dragging=!1}var f={},g=!1;f.opt=a=defaults(a,{el:window,camera:scene.camera,radius:100,radiusRange:[10,1e3],rotationX:PI/2,rotationY:0,center:{x:0,y:0,z:0},sensitivity:10,wheelSensitivity:10,ease:10,wheelEase:10});var h,i,j,k,l,m=1e-10;return f.dragging=!1,f.init=function(){i=a.rotationY,h=a.rotationX,j=a.radius,f.wheel=new wheel({el:a.el,update:function(b,c){a.radius=clamp(a.radius+c*a.wheelSensitivity,a.radiusRange[0],a.radiusRange[1])}}),f.bind()},f.toggle=function(a){a?f.bind():f.unbind()},f.bind=function(){g||(g=!0,a.el.addEventListener("mousedown",c),window.addEventListener("mousemove",d),window.addEventListener("mouseup",e),a.el.addEventListener("touchstart",b(c)),window.addEventListener("touchmove",b(d)),window.addEventListener("touchend",b(e)),f.wheel.unlock())},f.unbind=function(){g&&(g=!1,a.el.removeEventListener("mousedown",c),window.removeEventListener("mousemove",d),window.removeEventListener("mouseup",e),f.wheel.lock())},f.delta=function(b,c){a.rotationY+=b/window.innerWidth*a.sensitivity,a.rotationX=a.rotationX+c/window.innerHeight*a.sensitivity},f.move=function(b,c){a.rotationY=b,"number"==typeof c&&(a.rotationX=c)},f.zoom=function(b){a.radius=b},f.setZoom=function(b){j=a.radius=b},f.zoomPercent=function(b){a.radius=lerp(b,a.radiusRange[0],a.radiusRange[1])},f.zoomDelta=function(b){a.radius+=b},f.pause=function(){var b=sign(a.rotationY-i),c=sign(a.rotationX-h);a.rotationY=i+.1*b,a.rotationX=h+.1*c},f.update=function(){i=abs(i-a.rotationY)>m?avg(i,a.rotationY,a.ease):a.rotationY,h=abs(h-a.rotationX)>m?avg(h,a.rotationX,a.ease):a.rotationX,j=abs(j-a.radius)>m?avg(j,a.radius,a.wheelEase):a.radius,a.camera.x=a.center.x+j*sin(h)*cos(i),a.camera.z=a.center.y+j*sin(h)*sin(i),a.camera.y=a.center.z+j*cos(h),a.camera.rotationX=PI/2-h,a.camera.rotationY=i+PI/2},f},MX.OrbitCameraMobile=function(a){function b(a){return function(b){a(b.touches[0])}}function c(a){k=a.pageX,l=a.pageY,f.dragging=!0}function d(a){f.dragging&&(f.delta(k-a.pageX,l-a.pageY),k=a.pageX,l=a.pageY)}function e(a){f.dragging=!1}var f={},g=!1;f.opt=a=defaults(a,{el:window,camera:scene.camera,radius:100,radiusRange:[10,1e3],rotationX:PI/2,rotationY:0,center:{x:0,y:0,z:0},sensitivity:10,wheelSensitivity:10,ease:10,wheelEase:10});var h,i,j,k,l,m,n=1e-10,o=0,p=0,q=0,r=0,s=20;return f.dragging=!1,f.init=function(){i=a.rotationY,h=a.rotationX,j=a.radius,f.wheel=new wheel({el:a.el,update:function(b,c){a.radius=clamp(a.radius+c*a.wheelSensitivity,a.radiusRange[0],a.radiusRange[1])}}),f.bind(),f.orientationchange()},f.toggle=function(a){a?f.bind():f.unbind()},f.bind=function(){g||(g=!0,a.el.addEventListener("touchstart",b(c)),window.addEventListener("touchmove",b(d)),window.addEventListener("touchend",b(e)),window.addEventListener("orientationchange",f.orientationchange),window.addEventListener("devicemotion",f.devicemotion),window.addEventListener("deviceorientation",f.deviceorientation),f.wheel.unlock())},f.unbind=function(){g&&(g=!1,f.wheel.lock())},f.orientationchange=function(a){is_portrait=window.innerWidthq&&(q=b.beta,p=o);b.beta+7;d=!is_android&&r>s?o>p?b.beta-90:90-b.beta:0,(Math.abs(c-m)<100||Math.abs(c-m)>300)&&(e=c-m,m=c),e>300?e-=360:-300>e&&(e+=360),a.rotationX=MX.toRad(-5*d),a.rotationY+=MX.toRad(10*e)},f.landscapeorientation=function(b){var c,d;c=b.gamma>0?90-b.gamma:90+b.gamma,d=b.alpha-m,m=b.alpha,d>300?d-=360:-300>d&&(d+=360),a.rotationX=c>45?0:MX.toRad(c),a.rotationY+=MX.toRad(d)},f.delta=function(b,c){a.rotationY+=b/window.innerWidth*a.sensitivity,a.rotationX=a.rotationX+c/window.innerHeight*a.sensitivity},f.move=function(b,c){a.rotationY=b,"number"==typeof c&&(a.rotationX=c)},f.zoom=function(b){a.radius=b},f.setZoom=function(b){j=a.radius=b},f.zoomPercent=function(b){a.radius=lerp(b,a.radiusRange[0],a.radiusRange[1])},f.zoomDelta=function(b){a.radius+=b},f.pause=function(){var b=sign(a.rotationY-i),c=sign(a.rotationX-h);a.rotationY=i+.1*b,a.rotationX=h+.1*c},f.update=function(){i=abs(i-a.rotationY)>n?avg(i,a.rotationY,a.ease):a.rotationY,h=abs(h-a.rotationX)>n?avg(h,a.rotationX,a.ease):a.rotationX,j=abs(j-a.radius)>n?avg(j,a.radius,a.wheelEase):a.radius,a.camera.x=a.center.x+j*sin(h)*cos(i),a.camera.z=a.center.y+j*sin(h)*sin(i),a.camera.y=a.center.z+j*cos(h),a.camera.rotationX=PI/2-h,a.camera.rotationY=i+PI/2},f},MX.Image=MX.Object3D.extend({init:function(a){this.type="Image",this.media=a.media,this.width=0,this.height=0,this.x=a.x||0,this.y=a.y||0,this.z=a.z||0,this.scale=a.scale||1,this.backface=a.backface||!1,a.className&&this.el.classList.add(a.className),this.backface&&this.el.classList.add("backface-visible"),this.el.classList.add("image"),this.el.classList.add("mx-scenery"),this.el.style.backgroundRepeat="no-repeat",this.load(a)},load:function(a){var b=this;b.ops=defaults(a,b.ops);var c=new Image;c.onload=function(){b.ops&&(b.scale=b.ops.scale||1,b.width=b.ops.width||c.naturalWidth,b.height=b.ops.height||c.naturalHeight,b.el.style.backgroundImage="url("+c.src+")",b.el.classList.add("image"),b.dirty=!0,b.ops.onload&&b.ops.onload(c),b.update())},c.src=a.src,c.complete&&setTimeout(c.onload)}}),!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){function c(a){var b=a.length,c=fa.type(a);return"function"===c||fa.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}function d(a,b,c){if(fa.isFunction(b))return fa.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return fa.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(na.test(b))return fa.filter(b,a,c);b=fa.filter(b,a)}return fa.grep(a,function(a){return fa.inArray(a,b)>=0!==c})}function e(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}function f(a){var b=va[a]={};return fa.each(a.match(ua)||[],function(a,c){b[c]=!0}),b}function g(){pa.addEventListener?(pa.removeEventListener("DOMContentLoaded",h,!1),a.removeEventListener("load",h,!1)):(pa.detachEvent("onreadystatechange",h),a.detachEvent("onload",h))}function h(){(pa.addEventListener||"load"===event.type||"complete"===pa.readyState)&&(g(),fa.ready())}function i(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(Aa,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:za.test(c)?fa.parseJSON(c):c}catch(e){}fa.data(a,b,c)}else c=void 0}return c}function j(a){var b;for(b in a)if(("data"!==b||!fa.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function k(a,b,c,d){if(fa.acceptData(a)){var e,f,g=fa.expando,h=a.nodeType,i=h?fa.cache:a,j=h?a[g]:a[g]&&g;if(j&&i[j]&&(d||i[j].data)||void 0!==c||"string"!=typeof b)return j||(j=h?a[g]=W.pop()||fa.guid++:g),i[j]||(i[j]=h?{}:{toJSON:fa.noop}),("object"==typeof b||"function"==typeof b)&&(d?i[j]=fa.extend(i[j],b):i[j].data=fa.extend(i[j].data,b)),f=i[j],d||(f.data||(f.data={}),f=f.data),void 0!==c&&(f[fa.camelCase(b)]=c), -"string"==typeof b?(e=f[b],null==e&&(e=f[fa.camelCase(b)])):e=f,e}}function l(a,b,c){if(fa.acceptData(a)){var d,e,f=a.nodeType,g=f?fa.cache:a,h=f?a[fa.expando]:fa.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){fa.isArray(b)?b=b.concat(fa.map(b,fa.camelCase)):b in d?b=[b]:(b=fa.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;for(;e--;)delete d[b[e]];if(c?!j(d):!fa.isEmptyObject(d))return}(c||(delete g[h].data,j(g[h])))&&(f?fa.cleanData([a],!0):da.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}function m(){return!0}function n(){return!1}function o(){try{return pa.activeElement}catch(a){}}function p(a){var b=La.split("|"),c=a.createDocumentFragment();if(c.createElement)for(;b.length;)c.createElement(b.pop());return c}function q(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==ya?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==ya?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||fa.nodeName(d,b)?f.push(d):fa.merge(f,q(d,b));return void 0===b||b&&fa.nodeName(a,b)?fa.merge([a],f):f}function r(a){Fa.test(a.type)&&(a.defaultChecked=a.checked)}function s(a,b){return fa.nodeName(a,"table")&&fa.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function t(a){return a.type=(null!==fa.find.attr(a,"type"))+"/"+a.type,a}function u(a){var b=Wa.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function v(a,b){for(var c,d=0;null!=(c=a[d]);d++)fa._data(c,"globalEval",!b||fa._data(b[d],"globalEval"))}function w(a,b){if(1===b.nodeType&&fa.hasData(a)){var c,d,e,f=fa._data(a),g=fa._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)fa.event.add(b,c,h[c][d])}g.data&&(g.data=fa.extend({},g.data))}}function x(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!da.noCloneEvent&&b[fa.expando]){e=fa._data(b);for(d in e.events)fa.removeEvent(b,d,e.handle);b.removeAttribute(fa.expando)}"script"===c&&b.text!==a.text?(t(b).text=a.text,u(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),da.html5Clone&&a.innerHTML&&!fa.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&Fa.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}function y(b,c){var d=fa(c.createElement(b)).appendTo(c.body),e=a.getDefaultComputedStyle?a.getDefaultComputedStyle(d[0]).display:fa.css(d[0],"display");return d.detach(),e}function z(a){var b=pa,c=ab[a];return c||(c=y(a,b),"none"!==c&&c||(_a=(_a||fa("');a.append(c);var d=$f(a.find("iframe")[0]);a.data("player",d),d.addEvent("ready",function(){a.addClass("playing"),d.addEvent("play",function(){a.addClass("playing")}),d.addEvent("pause",function(){a.removeClass("playing")})}),videos.push(d)}}function HustleLoader(){function a(){b()}function b(){setTimeout(function(){$("#loader_svg").addClass("slide")},100)}var c=document.getElementById("loader_svg_status");this.update=function(a){var b=lerp(1-a,336,118);c.setAttribute("y",b)},this.finish=function(a){$("#loader_rapper").addClass("hidden"),setTimeout(a,100),setTimeout(function(){$("#loader_rapper").hide()},500)},a()}var MX=MX||function(a){function b(){var a=document.body.style;r.prefix="webkitTransform"in a?"webkit":"mozTransform"in a?"moz":"msTransform"in a?"ms":"",k=r.transformProp=h("transform"),l=r.transitionProp=h("transition"),m=r.transformOriginProp=h("transformOrigin"),n=r.transformStyleProp=h("transformStyle"),o=r.perspectiveProp=h("perspective"),p=r.transitionEndEvent="webkit"===r.prefix?"webkitTransitionEnd":"transitionend";for(var b=["webkit","moz","ms"],d=0;d0?1:-1;return b.y=g*Math.atan2(c*Math.cos(b.x),f*-g),b.z=Math.atan2(Math.cos(b.x),Math.sin(b.x)*Math.sin(b.y))-Math.PI/2,"deg"===r.rotationUnit&&(b.x=e(b.x),b.y=e(b.y),b.z=e(b.z)),b},add:function(){if(this.el){var a=this;return Array.prototype.forEach.call(arguments,function(b){!b instanceof i||(a.el.appendChild(b.el),a.children||(a.children=[]),a.children.push(b),b.parent=a)}),this}},remove:function(){var b=this;return Array.prototype.forEach.call(arguments,function(c){var d=b.children.indexOf(c);-1!==d&&(b.children.splice(d,1),b.el.removeChild(c.el),c.parent=a)}),this},addTo:function(a){return"string"==typeof a&&(a=document.querySelector(a)),a instanceof HTMLElement&&a.appendChild?a.appendChild(this.el):(a instanceof i||a instanceof r.Scene)&&a.add(this),this},removeElement:function(){this.el.parentNode&&this.el.parentNode.removeChild(this.el)},setPosition:function(a){this.x=a.x||0===a.x?a.x:this.x,this.y=a.y||0===a.y?a.y:this.y,this.z=a.z||0===a.z?a.z:this.z},setRotation:function(a){this.rotationX=a.x||0===a.x?a.x:this.rotationX,this.rotationY=a.y||0===a.y?a.y:this.rotationY,this.rotationZ=a.z||0===a.z?a.z:this.rotationZ},setScale:function(a){this.scaleX=a.x||0===a.x?a.x:this.scaleX,this.scaleY=a.y||0===a.y?a.y:this.scaleY,this.scaleZ=a.z||0===a.z?a.z:this.scaleZ},setSkew:function(a){this.skewX=a.x||0===a.x?a.x:this.skewX,this.skewY=a.y||0===a.y?a.y:this.skewY},setCSSTransformOrigin:function(a){return this.el&&(this.el.style[m]=a),this},setCSSTransformStyle:function(a){return this.el&&(this.el.style[n]=a),this},setCSSTransition:function(a){return this.el&&(this.el.style[l]=a),this},setCSSPerspective:function(a){return this.el&&(this.el.style[o]=a),this},move:function(a){var b=this;b.ops=defaults(a,b.ops);for(var c in a)b[c]=a[c];b.dirty=!0,b.update()},onTransitionEnd:function(a){function b(){c.removeEventListener(p,b),a()}this.cancelTransitionEnd();var c=this.el;c.addEventListener(p,b)},cancelTransitionEnd:function(){this.el.removeEventListener(p)},toString:function(a){return a=a||"id width height depth x y z rotationX rotationY rotationZ scale".split(" "),this.__toString(a)},__toString:function(b,c){this.id=this.id||"undef";var d,e,f={},g=this.type||"Object3d",h=g.toLowerCase();for(var i in b)e=b[i],d=this[e],(0!==d||c)&&("number"==typeof d?-1!=e.indexOf("rotation")?f[e]=Number(d.toFixed(3)):f[e]=~~d:f[e]=d);return(c||"var "+h+" = new MX."+g)+"("+JSON.stringify(f,a,2)+")\n"+(c?"":"scene.add("+h+")")},contains:function(a,b,c){var d=!1,e=!1,f=!1;return d=null===a?!0:abs(this.x-a)<=this.width/2,e=null===b?!0:abs(this.y-b)<=this.height/2,f=null===c?!0:abs(this.z-c)<=this.depth/2,d&&e&&f}},i.extend=j.bind(i),r.Object3D=i,r.toRad=f,r.toDeg=e,Object.defineProperty(r,"positionAtCenter",{get:function(){return t},set:function(a){"boolean"==typeof a&&(t=a,t?c():d())}}),r}();MX.Camera=MX.Object3D.extend({init:function(){this.el=null,this.type="Camera"},move:function(a){for(var b in a)this[b]=a[b]},toString:function(){var a="x y z rotationX rotationY".split(" ");return this.__toString(a,"scene.camera.move")},getCameraEuler:function(a){var b=a.x-this.x,c=a.y-this.y,d=a.z-this.z;return r={},r.y=Math.atan2(-b,d),r.x=Math.atan2(-c,Math.sqrt(b*b+d*d)),r.z=0,"deg"===MX.rotationUnit&&(r.x=MX.toDeg(r.x),r.y=MX.toDeg(r.y)),r}}),MX.Scene=function(){function a(){this.el=document.createElement("div"),this.el.classList.add("mx-scene");var a=this.el.style;a[MX.transformProp]="preserve-3d",a.webkitPerspectiveOrigin="50% 50%",a.mozPerspectiveOrigin="50% 50%",a.perspectiveOrigin="50% 50%",a.webkitUserSelect="none",a.mozUserSelect="none",a.userSelect="none",a.overflow="hidden",this.inner=(new MX.Object3D).addTo(this.el),this.inner.el.style.width="0",this.inner.el.style.height="0";var b,c,d,e=this;Object.defineProperty(this,"width",{get:function(){return b},set:function(a){b=a,e.el.style.width=a+"px"}}),Object.defineProperty(this,"height",{get:function(){return c},set:function(a){c=a,e.el.style.height=a+"px"}}),Object.defineProperty(this,"perspective",{get:function(){return d},set:function(a){d=a,e.el.style[MX.perspectiveProp]=a+"px",e.inner.z=-a-e.camera.z,e.inner.rotationOrigin.z=-a}});this.camera=new MX.Camera;this.inner.rotationOrigin={x:0,y:0,z:0},this.perspective=0}var b=MX.Object3D.prototype.add,c=MX.Object3D.prototype.remove;return a.prototype={constructor:a,add:function(){return b.apply(this.inner,arguments),this},remove:function(){return c.apply(this.inner,arguments),this},addTo:function(a){return"string"==typeof a&&(a=document.querySelector(a)),a instanceof HTMLElement&&a.appendChild?a.appendChild(this.el):console.warn("You can only add a Scene to an HTML element."),this},update:function(){var a=this.inner,b=this.camera;return b.update(),a.z=-this.perspective-b.z,a.x=-b.x,a.y=-b.y,a.rotationX=-b.rotationX,a.rotationY=-b.rotationY,a.update(),this}},a}(),MX.OrbitCamera=function(a){function b(a){return function(b){a(b.touches[0])}}function c(a){k=a.pageX,l=a.pageY,f.dragging=!0}function d(a){f.dragging&&(f.delta(k-a.pageX,l-a.pageY),k=a.pageX,l=a.pageY)}function e(a){f.dragging=!1}var f={},g=!1;f.opt=a=defaults(a,{el:window,camera:scene.camera,radius:100,radiusRange:[10,1e3],rotationX:PI/2,rotationY:0,center:{x:0,y:0,z:0},sensitivity:10,wheelSensitivity:10,ease:10,wheelEase:10});var h,i,j,k,l,m=1e-10;return f.dragging=!1,f.init=function(){i=a.rotationY,h=a.rotationX,j=a.radius,f.wheel=new wheel({el:a.el,update:function(b,c){a.radius=clamp(a.radius+c*a.wheelSensitivity,a.radiusRange[0],a.radiusRange[1])}}),f.bind()},f.toggle=function(a){a?f.bind():f.unbind()},f.bind=function(){g||(g=!0,a.el.addEventListener("mousedown",c),window.addEventListener("mousemove",d),window.addEventListener("mouseup",e),a.el.addEventListener("touchstart",b(c)),window.addEventListener("touchmove",b(d)),window.addEventListener("touchend",b(e)),f.wheel.unlock())},f.unbind=function(){g&&(g=!1,a.el.removeEventListener("mousedown",c),window.removeEventListener("mousemove",d),window.removeEventListener("mouseup",e),f.wheel.lock())},f.delta=function(b,c){a.rotationY+=b/window.innerWidth*a.sensitivity,a.rotationX=a.rotationX+c/window.innerHeight*a.sensitivity},f.move=function(b,c){a.rotationY=b,"number"==typeof c&&(a.rotationX=c)},f.zoom=function(b){a.radius=b},f.setZoom=function(b){j=a.radius=b},f.zoomPercent=function(b){a.radius=lerp(b,a.radiusRange[0],a.radiusRange[1])},f.zoomDelta=function(b){a.radius+=b},f.pause=function(){var b=sign(a.rotationY-i),c=sign(a.rotationX-h);a.rotationY=i+.1*b,a.rotationX=h+.1*c},f.update=function(){i=abs(i-a.rotationY)>m?avg(i,a.rotationY,a.ease):a.rotationY,h=abs(h-a.rotationX)>m?avg(h,a.rotationX,a.ease):a.rotationX,j=abs(j-a.radius)>m?avg(j,a.radius,a.wheelEase):a.radius,a.camera.x=a.center.x+j*sin(h)*cos(i),a.camera.z=a.center.y+j*sin(h)*sin(i),a.camera.y=a.center.z+j*cos(h),a.camera.rotationX=PI/2-h,a.camera.rotationY=i+PI/2},f},MX.OrbitCameraMobile=function(a){function b(a){return function(b){a(b.touches[0])}}function c(a){k=a.pageX,l=a.pageY,f.dragging=!0}function d(a){f.dragging&&(f.delta(k-a.pageX,l-a.pageY),k=a.pageX,l=a.pageY)}function e(a){f.dragging=!1}var f={},g=!1;f.opt=a=defaults(a,{el:window,camera:scene.camera,radius:100,radiusRange:[10,1e3],rotationX:PI/2,rotationY:0,center:{x:0,y:0,z:0},sensitivity:10,wheelSensitivity:10,ease:10,wheelEase:10});var h,i,j,k,l,m,n=1e-10,o=0,p=0,q=0,r=0,s=20;return f.dragging=!1,f.init=function(){i=a.rotationY,h=a.rotationX,j=a.radius,f.wheel=new wheel({el:a.el,update:function(b,c){a.radius=clamp(a.radius+c*a.wheelSensitivity,a.radiusRange[0],a.radiusRange[1])}}),f.bind(),f.orientationchange()},f.toggle=function(a){a?f.bind():f.unbind()},f.bind=function(){g||(g=!0,a.el.addEventListener("touchstart",b(c)),window.addEventListener("touchmove",b(d)),window.addEventListener("touchend",b(e)),window.addEventListener("orientationchange",f.orientationchange),window.addEventListener("devicemotion",f.devicemotion),window.addEventListener("deviceorientation",f.deviceorientation),f.wheel.unlock())},f.unbind=function(){g&&(g=!1,f.wheel.lock())},f.orientationchange=function(a){is_portrait=window.innerWidthq&&(q=b.beta,p=o);b.beta+7;d=!is_android&&r>s?o>p?b.beta-90:90-b.beta:0,(Math.abs(c-m)<100||Math.abs(c-m)>300)&&(e=c-m,m=c),e>300?e-=360:-300>e&&(e+=360),a.rotationX=MX.toRad(-5*d),a.rotationY+=MX.toRad(10*e)},f.landscapeorientation=function(b){var c,d;c=b.gamma>0?90-b.gamma:90+b.gamma,d=b.alpha-m,m=b.alpha,d>300?d-=360:-300>d&&(d+=360),a.rotationX=c>45?0:MX.toRad(c),a.rotationY+=MX.toRad(d)},f.delta=function(b,c){a.rotationY+=b/window.innerWidth*a.sensitivity,a.rotationX=a.rotationX+c/window.innerHeight*a.sensitivity},f.move=function(b,c){a.rotationY=b,"number"==typeof c&&(a.rotationX=c)},f.zoom=function(b){a.radius=b},f.setZoom=function(b){j=a.radius=b},f.zoomPercent=function(b){a.radius=lerp(b,a.radiusRange[0],a.radiusRange[1])},f.zoomDelta=function(b){a.radius+=b},f.pause=function(){var b=sign(a.rotationY-i),c=sign(a.rotationX-h);a.rotationY=i+.1*b,a.rotationX=h+.1*c},f.update=function(){i=abs(i-a.rotationY)>n?avg(i,a.rotationY,a.ease):a.rotationY,h=abs(h-a.rotationX)>n?avg(h,a.rotationX,a.ease):a.rotationX,j=abs(j-a.radius)>n?avg(j,a.radius,a.wheelEase):a.radius,a.camera.x=a.center.x+j*sin(h)*cos(i),a.camera.z=a.center.y+j*sin(h)*sin(i),a.camera.y=a.center.z+j*cos(h),a.camera.rotationX=PI/2-h,a.camera.rotationY=i+PI/2},f},MX.Image=MX.Object3D.extend({init:function(a){this.type="Image",this.media=a.media,this.width=0,this.height=0,this.x=a.x||0,this.y=a.y||0,this.z=a.z||0,this.scale=a.scale||1,this.backface=a.backface||!1,a.className&&this.el.classList.add(a.className),this.backface&&this.el.classList.add("backface-visible"),this.el.classList.add("image"),this.el.classList.add("mx-scenery"),this.el.style.backgroundRepeat="no-repeat",this.load(a)},load:function(a){var b=this;b.ops=defaults(a,b.ops);var c=new Image;c.onload=function(){b.ops&&(b.scale=b.ops.scale||1,b.width=b.ops.width||c.naturalWidth,b.height=b.ops.height||c.naturalHeight,b.el.style.backgroundImage="url("+c.src+")",b.el.classList.add("image"),b.dirty=!0,b.ops.onload&&b.ops.onload(c),b.update())},c.src=a.src,c.complete&&setTimeout(c.onload)}}),!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){function c(a){var b=a.length,c=fa.type(a);return"function"===c||fa.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}function d(a,b,c){if(fa.isFunction(b))return fa.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return fa.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(na.test(b))return fa.filter(b,a,c);b=fa.filter(b,a)}return fa.grep(a,function(a){return fa.inArray(a,b)>=0!==c})}function e(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}function f(a){var b=va[a]={};return fa.each(a.match(ua)||[],function(a,c){b[c]=!0}),b}function g(){pa.addEventListener?(pa.removeEventListener("DOMContentLoaded",h,!1),a.removeEventListener("load",h,!1)):(pa.detachEvent("onreadystatechange",h),a.detachEvent("onload",h))}function h(){(pa.addEventListener||"load"===event.type||"complete"===pa.readyState)&&(g(),fa.ready())}function i(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(Aa,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:za.test(c)?fa.parseJSON(c):c}catch(e){}fa.data(a,b,c)}else c=void 0}return c}function j(a){var b;for(b in a)if(("data"!==b||!fa.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function k(a,b,c,d){if(fa.acceptData(a)){var e,f,g=fa.expando,h=a.nodeType,i=h?fa.cache:a,j=h?a[g]:a[g]&&g;if(j&&i[j]&&(d||i[j].data)||void 0!==c||"string"!=typeof b)return j||(j=h?a[g]=W.pop()||fa.guid++:g),i[j]||(i[j]=h?{}:{toJSON:fa.noop}),("object"==typeof b||"function"==typeof b)&&(d?i[j]=fa.extend(i[j],b):i[j].data=fa.extend(i[j].data,b)),f=i[j],d||(f.data||(f.data={}), +f=f.data),void 0!==c&&(f[fa.camelCase(b)]=c),"string"==typeof b?(e=f[b],null==e&&(e=f[fa.camelCase(b)])):e=f,e}}function l(a,b,c){if(fa.acceptData(a)){var d,e,f=a.nodeType,g=f?fa.cache:a,h=f?a[fa.expando]:fa.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){fa.isArray(b)?b=b.concat(fa.map(b,fa.camelCase)):b in d?b=[b]:(b=fa.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;for(;e--;)delete d[b[e]];if(c?!j(d):!fa.isEmptyObject(d))return}(c||(delete g[h].data,j(g[h])))&&(f?fa.cleanData([a],!0):da.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}function m(){return!0}function n(){return!1}function o(){try{return pa.activeElement}catch(a){}}function p(a){var b=La.split("|"),c=a.createDocumentFragment();if(c.createElement)for(;b.length;)c.createElement(b.pop());return c}function q(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==ya?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==ya?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||fa.nodeName(d,b)?f.push(d):fa.merge(f,q(d,b));return void 0===b||b&&fa.nodeName(a,b)?fa.merge([a],f):f}function r(a){Fa.test(a.type)&&(a.defaultChecked=a.checked)}function s(a,b){return fa.nodeName(a,"table")&&fa.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function t(a){return a.type=(null!==fa.find.attr(a,"type"))+"/"+a.type,a}function u(a){var b=Wa.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function v(a,b){for(var c,d=0;null!=(c=a[d]);d++)fa._data(c,"globalEval",!b||fa._data(b[d],"globalEval"))}function w(a,b){if(1===b.nodeType&&fa.hasData(a)){var c,d,e,f=fa._data(a),g=fa._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)fa.event.add(b,c,h[c][d])}g.data&&(g.data=fa.extend({},g.data))}}function x(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!da.noCloneEvent&&b[fa.expando]){e=fa._data(b);for(d in e.events)fa.removeEvent(b,d,e.handle);b.removeAttribute(fa.expando)}"script"===c&&b.text!==a.text?(t(b).text=a.text,u(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),da.html5Clone&&a.innerHTML&&!fa.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&Fa.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}function y(b,c){var d=fa(c.createElement(b)).appendTo(c.body),e=a.getDefaultComputedStyle?a.getDefaultComputedStyle(d[0]).display:fa.css(d[0],"display");return d.detach(),e}function z(a){var b=pa,c=ab[a];return c||(c=y(a,b),"none"!==c&&c||(_a=(_a||fa("