-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.82564d14.js
More file actions
3 lines (3 loc) · 35.3 KB
/
app.82564d14.js
File metadata and controls
3 lines (3 loc) · 35.3 KB
1
2
3
!function(t){function e(i){if(n[i])return n[i].exports;var a=n[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,e),a.l=!0,a.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=19)}([function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}n.d(e,"b",function(){return m});var r,s=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),o=n(14),c=n(15),l=n(16),f=n(17),u=n(18),m={COFFEE:"COFFEE",DESK:"DESK",DOOR:"DOOR",JUSTIN:"JUSTIN",WINDOW:"WINDOW"},d=(r={},a(r,m.COFFEE,o),a(r,m.DESK,c),a(r,m.DOOR,l),a(r,m.JUSTIN,f),a(r,m.WINDOW,u),r),h={},p=function(){function t(){i(this,t)}return s(t,null,[{key:"load",value:function(t,e){t.forEach(function(n){if(!h[n]&&d[n]){var i=document.createElement("img");i.onload=function(){h[n]=i,Object.keys(h).length>=t.length&&e()},i.src=d[n]}})}},{key:"getSpriteForReference",value:function(t){return h[t]}}]),t}();e.a=p},function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var a=n(0),r=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),s=8e3,o=3e3,c=function(){function t(e,n){i(this,t),this.animations=e,this.onAnimationEnd=n}return r(t,[{key:"drawFlippedFrame",value:function(t,e,n,i,a,r,s,o,c){t.save(),t.translate(t.canvas.width,0),t.scale(-1,1),t.drawImage(this.spriteAsset,e,n,i,a,r,s,o,c),t.restore()}},{key:"drawFrame",value:function(t,e,n,i,a,r,s,o,c){t.drawImage(this.spriteAsset,e,n,i,a,r,s,o,c)}},{key:"getCurrAnimDuration",value:function(){if(this.duration)return this.duration;var t=this.animations[this.currAnimIndex];return t.looping?Math.floor(Math.random()*(s-o)+o):1e3/60*t.totalFrames*t.frameRate}},{key:"getDrawHeight",value:function(t){var e=this.animations[this.currAnimIndex];return t.canvas.height/e.yScale}},{key:"incrementFrame",value:function(){var t=this.animations[this.currAnimIndex];this.frameCount+1===t.frameRate&&(this.currFrame=(this.currFrame+1)%t.totalFrames),this.frameCount=(this.frameCount+1)%t.frameRate}},{key:"play",value:function(t,e,n,i){var a=this.animations[this.currAnimIndex],r=t.canvas.width/a.xScale,s=t.canvas.height/a.yScale,o=this.spriteAsset.height/a.totalRows,c=this.spriteAsset.width/a.totalCols,l=c*this.currFrame,f=o*a.spriteRow;if(!i&&a.flippable){var u=r*(a.xScale-1)-e;this.drawFlippedFrame(t,l,f,c,o,u,n,r,s)}else this.drawFrame(t,l,f,c,o,e,n,r,s);this.incrementFrame()}},{key:"progress",value:function(){var t=this.currAnimIndex+1;clearTimeout(this.animTimer),t>=this.animations.length&&this.onAnimationEnd?(this.animTimer=null,this.onAnimationEnd()):this.setCurrAnim(t)}},{key:"setCurrAnim",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=this.animations[t];this.currAnimIndex=t,this.currFrame=0,this.frameCount=0,this.spriteAsset=a.a.getSpriteForReference(e.spriteReference),e.static||(this.duration=this.getCurrAnimDuration(),this.setAnimTimer(this.duration))}},{key:"setAnimTimer",value:function(t){var e=this;this.animTimer=setTimeout(function(){e.progress()},t)}},{key:"start",value:function(){this.setCurrAnim(0)}},{key:"stop",value:function(){clearTimeout(this.animTimer)}}]),t}();e.a=c},function(t,e,n){"use strict";var i=n(0);n.d(e,"b",function(){return r}),n.d(e,"a",function(){return s}),n.d(e,"c",function(){return o});var a=function(){var t=(new Date).getHours();return t>6&&t<16?{spriteRow:0,totalFrames:1}:t>6&&t<19?{spriteRow:1,totalFrames:4}:{spriteRow:2,totalFrames:4}},r={COFFEE:{flippable:!0,frameRate:10,looping:!0,spriteReference:i.b.JUSTIN,reference:"COFFEE",spriteRow:3,totalCols:9,totalFrames:9,totalRows:6,xScale:7.5,yScale:1.02},DESK:{frameRate:10,looping:!0,spriteReference:i.b.DESK,reference:"DESK",spriteRow:1,totalCols:4,totalFrames:4,totalRows:2,xScale:3.33,yScale:1.06},DOOR:{frameRate:8,spriteReference:i.b.DOOR,reference:"DOOR",spriteRow:0,totalCols:11,totalFrames:11,totalRows:1,xScale:5.36,yScale:1},IDLE_START:{flippable:!0,frameRate:10,spriteReference:i.b.JUSTIN,reference:"IDLE_START",spriteRow:2,totalCols:9,totalFrames:7,totalRows:6,xScale:7.5,yScale:1.02},IDLE_ACTIVE:{flippable:!0,frameRate:30,looping:!0,spriteReference:i.b.JUSTIN,reference:"IDLE_ACTIVE",spriteRow:4,totalCols:9,totalFrames:8,totalRows:6,xScale:7.5,yScale:1.02},IDLE_END:{flippable:!0,frameRate:10,spriteReference:i.b.JUSTIN,reference:"IDLE_END",spriteRow:5,totalCols:9,totalFrames:7,totalRows:6,xScale:7.5,yScale:1.02},STAND:{flippable:!0,frameRate:20,looping:!0,spriteReference:i.b.JUSTIN,reference:"STAND",spriteRow:0,totalCols:9,totalFrames:4,totalRows:6,xScale:7.5,yScale:1.02},WALK:{duration:2e4,flippable:!0,frameRate:8,looping:!0,spriteReference:i.b.JUSTIN,reference:"WALK",spriteRow:1,totalCols:9,totalFrames:7,totalRows:6,xScale:7.5,yScale:1.02}},s={COFFEE:{frameRate:26,reference:"COFFEE",spriteReference:i.b.COFFEE,spriteRow:0,static:!0,totalCols:3,totalFrames:3,totalRows:1,xScale:6.52,yScale:1.32},DESK:{frameRate:1,reference:"DESK",spriteReference:i.b.DESK,spriteRow:0,static:!0,totalCols:4,totalFrames:1,totalRows:2,xScale:3.33,yScale:1.06},DOOR:{frameRate:1,reference:"DOOR",spriteReference:i.b.DOOR,spriteRow:0,static:!0,totalCols:11,totalFrames:1,totalRows:1,xScale:5.36,yScale:1},WINDOW:Object.assign({frameRate:100,reference:"WINDOW",spriteReference:i.b.WINDOW,static:!0,totalCols:4,totalRows:3,xScale:5.77,yScale:2},a())},o={COFFEE:[r.COFFEE],DESK:[r.DESK],DOOR:[r.DOOR],IDLE:[r.IDLE_START,r.IDLE_ACTIVE,r.IDLE_END],STAND:[r.STAND],WALK:[r.WALK]}},function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var r=n(1),s=n(2),o=n(0);n.d(e,"a",function(){return u});var c,l=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),f={COFFEE:"COFFEE",DESK:"DESK",DOOR:"DOOR",WINDOW:"WINDOW"},u=(c={},a(c,f.DOOR,{reference:f.DOOR,spriteReference:o.b.DOOR,x:.31,y:0}),a(c,f.COFFEE,{reference:f.COFFEE,spriteReference:o.b.COFFEE,x:.07,y:.24}),a(c,f.WINDOW,{reference:f.WINDOW,spriteReference:o.b.WINDOW,x:.81,y:.08}),a(c,f.DESK,{reference:f.DESK,spriteReference:o.b.DESK,x:.54,y:.06}),c),m=function(){function t(e,n){i(this,t),this.animation=new r.a([s.a[e.spriteReference]]),this.reference=e.reference,this.spriteReference=e.spriteReference,this.started=!1,this.x=e.x*n.width,this.y=e.y*n.height}return l(t,[{key:"draw",value:function(t){this.animation.play(t,this.x,this.y)}},{key:"isDoorProp",value:function(){return this.reference===u.DOOR.reference}},{key:"setScale",value:function(t){this.x*=t,this.y*=t}},{key:"update",value:function(){this.started||(this.started=!0,this.animation.start())}}]),t}();e.b=m},function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),r=function(){function t(e){i(this,t),this.animClass=e.getAttribute("data-anim-name"),this.direction=e.getAttribute("data-anim-direction"),this.element=e,this.originY=e.offsetTop,this.type=e.getAttribute("data-anim-type")}return a(t,[{key:"addClass",value:function(){this.hasClass()||this.element.classList.add(this.animClass)}},{key:"handleClass",value:function(t){t?this.addClass():"toggle"===this.type&&this.hasClass()&&this.removeClass()}},{key:"animate",value:function(){"in"===this.direction?this.handleClass(this.scrolledIn()):this.handleClass(this.scrolledOut())}},{key:"removeClass",value:function(){this.element.classList.remove(this.animClass)}},{key:"hasClass",value:function(){return this.element.classList.contains(this.animClass)}},{key:"resetOffsetY",value:function(){this.removeClass(),this.originY=this.element.offsetTop,this.animate()}},{key:"scrolledIn",value:function(){var t=window.pageYOffset,e=t+window.innerHeight;return this.originY<=e}},{key:"scrolledOut",value:function(){var t=window.pageYOffset;return this.originY<=t}},{key:"toggleClass",value:function(){this.hasClass()?this.removeClass():this.addClass()}}]),t}(),s=[],o=function(){function t(){i(this,t)}return a(t,null,[{key:"init",value:function(){var t=this;document.readyState in["interactive","complete"]?this.start():document.addEventListener("DOMContentLoaded",function(){return t.start()})}},{key:"resetOffsets",value:function(){s.forEach(function(t){return requestAnimationFrame(function(){return t.resetOffsetY()})})}},{key:"scrollCallback",value:function(){this.scrolled&&(this.scrolled=!1,s.forEach(function(t){return requestAnimationFrame(function(){return t.animate()})}))}},{key:"scrollHandler",value:function(){this.scrolled=!0}},{key:"start",value:function(){var t=this,e=document.querySelectorAll("[data-anim-name]");Array.from(e).forEach(function(t){return s.push(new r(t))}),window.addEventListener("scroll",function(){return t.scrollHandler()}),window.addEventListener("resize",function(){t.scrollHandler(),t.resetOffsets()}),this.scrolled=!0,this.interval=setInterval(function(){t.scrollCallback()},50)}}]),t}();e.a=o},function(t,e,n){"use strict";function i(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e<t.length;e++)n[e]=t[e];return n}return Array.from(t)}n.d(e,"a",function(){return a});var a=".contact",r=".contact__feedback",s={fail:"😩 Sorry, that didn’t work. Try again?",loading:null,success:"😃 Message Sent! I’ll get back to you soon!"},o={fail:"fail",loading:"loading",success:"success"},c={loadingRange:[0,3],successRange:[200,299]},l=function(t){var e,n=t.querySelector(r),a=Object.keys(o).map(function(t){return o[t]});(e=t.classList).remove.apply(e,i(a)),n.innerHTML=null},f=function(t,e){return t>=e[0]&&t<=e[1]},u=function(t,e,n){var a,s=t.querySelector(r),c=Object.keys(o).map(function(t){return o[t]}).filter(function(t){return t!==n});(a=t.classList).remove.apply(a,i(c)),t.classList.add(n),s.innerHTML=e},m=function(t,e){f(t.readyState,c.loadingRange)?u(e,s.loading,o.loading):f(t.status,c.successRange)?(u(e,s.success,o.success),setTimeout(function(){return l(e)},3e3)):u(e,s.fail,o.fail)},d=function(t){t.preventDefault(),t.stopPropagation();var e=t.currentTarget;return l(e),e.checkValidity()?!function(){var e=new XMLHttpRequest,n=new FormData(t.target);e.onreadystatechange=function(){m(e,t.target)},e.open("POST","https://formspree.io/njustin@gmail.com",!0),e.setRequestHeader("accept","application/json"),e.send(n)}():u(e,s.fail,o.fail),!1};e.b=d},function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var a=n(10),r=n(3),s=n(0),o=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),c=function(){function t(e,n,a,r){i(this,t),this.canvas=e,this.context=e.getContext("2d"),this.dpi=n,this.framesPerSecond=1e3/a,this.lastUpdate=r,this.actors=[],this.props=[]}return o(t,[{key:"createActor",value:function(){this.actors.push(new a.a(this.canvas)),this.updateScale()}},{key:"draw",value:function(){var t=this;this.currentAnimationFrame||(this.currentAnimationFrame=requestAnimationFrame(function(){t.context.clearRect(0,0,t.canvas.width,t.canvas.height),t.props.forEach(function(e){return e.draw(t.context)}),t.actors.forEach(function(e){return e.draw(t.context)}),t.currentAnimationFrame=null}))}},{key:"populateScene",value:function(){var t=this,e=Object.keys(r.a).map(function(t){return r.a[t]});e.forEach(function(e){return t.props.push(new r.b(e,t.canvas))}),this.createActor()}},{key:"load",value:function(){var t=this;this.populateScene();var e=this.actors.concat(this.props),n=e.map(function(t){return t.spriteReference});s.a.load(n,function(){return t.start()})}},{key:"start",value:function(){var t=this;this.lastUpdate=Date.now(),this.updateScale(),this.updateInterval=setInterval(function(){return t.update()},this.framesPerSecond),this.drawInterval=setInterval(function(){return t.draw()},this.framesPerSecond)}},{key:"update",value:function(){var t=this,e=Date.now(),n=(e-this.lastUpdate)/this.framesPerSecond;this.props.forEach(function(e){return e.update(n,t.actors)}),this.actors.forEach(function(e){return e.update(n,t.props)}),this.lastUpdate=e}},{key:"updateScale",value:function(){var t=this.canvas.getBoundingClientRect(),e=this.canvas.width,n=t.width/e*this.dpi;this.canvas.width*=n,this.canvas.height*=n,this.props.forEach(function(t){return t.setScale(n)}),this.actors.forEach(function(t){return t.setScale(n)})}}]),t}();e.a=c},function(t,e){},function(t,e){},function(t,e,n){var i=n(11);"string"==typeof i&&(i=[[t.i,i,""]]);n(13)(i,{});i.locals&&(t.exports=i.locals)},function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var a=n(1),r=n(2),s=n(3),o=n(0),c=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),l=[r.b.STAND.reference,"IDLE",s.a.COFFEE.reference,s.a.DESK.reference],f=function(){function t(e){i(this,t),this.activityStarted=!1,this.enteredScene=!1,this.facingRight=!0,this.inTransit=!1,this.moveSpeed=e.width/400,this.spriteReference=o.b.JUSTIN,this.x=e.width/2,this.xScale=.1,this.y=.02,this.yScale=.98,this.maxX=e.width-2*this.xScale,this.minX=this.xScale}return c(t,[{key:"atActivityLocation",value:function(){return this.activityLocation===this.x}},{key:"chooseActivity",value:function(t,e){var n=Math.floor(Math.random()*l.length),i=[r.b.STAND.reference,"IDLE"],a=i.indexOf(l[n])<0;if(a){var s=e.find(function(t){return t.reference===l[n]});this.setActivity(s.reference,s.x,n)}else this.setActivity(l[n],this.randomXPosition,n)}},{key:"draw",value:function(t){if(this.enteredScene){var e=t.canvas.height-this.animation.getDrawHeight(t);this.animation.play(t,this.x,e,this.facingRight)}}},{key:"enterScene",value:function(t){if(!this.enteredScene){var e=t.find(function(t){return t.isDoorProp()});if(e){var n=t.indexOf(e);this.enteredScene=!0,this.x=e.x,this.setActivity(e.reference,e.x,n)}}}},{key:"updateAnimation",value:function(){var t=this,e=this.animationReference;this.animation&&this.animation.stop(),this.animation=new a.a(r.c[e],function(){t.setActivity()}),this.animation.start()}},{key:"moveToActivity",value:function(t){if(this.enteredScene&&this.activityLocation){var e=this.activityLocation-this.x>0,n=this.moveSpeed*t,i=e?Math.min(this.x+n,this.activityLocation):Math.max(this.x-n,this.activityLocation);this.facingRight=e,this.x=i}}},{key:"setActivity",value:function(t,e,n){this.activityLocation=e,this.activityReference=t,this.activityPropIndex=n,this.activityStarted=this.atActivityLocation(),this.inTransit=this.activityLocation&&!this.activityStarted,this.updateAnimation()}},{key:"setScale",value:function(t){this.activityLocation=this.activityLocation?this.activityLocation*t:null,this.maxX*=t,this.minX*=t,this.moveSpeed*=t,this.x*=t,this.y*=t}},{key:"startActivity",value:function(){this.activityStarted||(this.activityStarted=!0,this.inTransit=!1,this.updateAnimation())}},{key:"update",value:function(t,e){this.atActivityLocation()?this.startActivity():this.inTransit?this.moveToActivity(t):this.enteredScene?this.chooseActivity(t,e):this.enterScene(e)}},{key:"animationReference",get:function(){return this.atActivityLocation()?this.activityReference:this.inTransit?r.b.WALK.reference:r.b.STAND.reference}},{key:"randomXPosition",get:function(){var t=Math.floor(Math.random()*(this.maxX-this.minX)+this.minX);if(t>=this.x){var e=this.x+this.minX;return Math.floor(Math.random()*(this.maxX-e)+e)}var n=this.x-this.minX;return Math.floor(Math.random()*(n-this.minX)+this.minX)}}]),t}();e.a=f},function(t,e,n){e=t.exports=n(12)(),e.push([t.i,"@import url(https://fonts.googleapis.com/css?family=Quicksand|Oswald);",""]),e.push([t.i,'.contact{margin:0 auto;max-width:1300px;padding:5em 10%;background:#fff;padding-top:0}.contact__title{color:#e27a7f;margin-bottom:1em}.contact__section{display:inline-block;-webkit-transition:-webkit-transform .3s ease;transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease;vertical-align:top;will-change:transform}@media only screen and (min-width:1024px){.contact__section{width:45%}.contact__section+.contact__section{margin-left:10%}}@media only screen and (max-width:1023px){.contact__section{margin-bottom:1rem;width:100%}}.contact:not(.fail) .contact__section,.contact:not(.success) .contact__section{-webkit-transform:translate3D(0,-1.5em,0);-ms-transform:translate3D(0,-1.5em,0);transform:translate3D(0,-1.5em,0)}.contact.fail .contact__section,.contact.success .contact__section{-webkit-transform:none;-ms-transform:none;transform:none}.contact__label{color:#f19b9f;display:block;-webkit-transition:opacity .3s ease .1s,-webkit-transform .3s ease .1s;transition:opacity .3s ease .1s,-webkit-transform .3s ease .1s;transition:opacity .3s ease .1s,transform .3s ease .1s;transition:opacity .3s ease .1s,transform .3s ease .1s,-webkit-transform .3s ease .1s;will-change:opacity,transform}.contact__label:not(.show){opacity:0;-webkit-transform:translate3D(1.5em,0,0);-ms-transform:translate3D(1.5em,0,0);transform:translate3D(1.5em,0,0)}.contact__label.show{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}.contact__feedback{-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:.2em solid transparent;display:-webkit-box;display:-ms-flexbox;display:flex;height:3em;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:-1em auto .5em;padding:0 .5em;text-align:center;-webkit-transition:opacity .3s ease,-webkit-transform .3s ease;transition:opacity .3s ease,-webkit-transform .3s ease;transition:opacity .3s ease,transform .3s ease;transition:opacity .3s ease,transform .3s ease,-webkit-transform .3s ease;width:80%;will-change:background-color,border-color,color,opacity}@media only screen and (min-width:1024px){.contact__feedback{width:80%}}@media only screen and (max-width:1023px){.contact__feedback{width:100%}}@media only screen and (max-width:480px){.contact__feedback{height:4em}}.contact:not(.fail) .contact__feedback,.contact:not(.success) .contact__feedback{opacity:0;-webkit-transform:translate3D(0,1.5em,0);-ms-transform:translate3D(0,1.5em,0);transform:translate3D(0,1.5em,0)}.contact.fail .contact__feedback{background-color:#fef2f7;border-color:#dc1565;color:#dc1565;opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}.contact.success .contact__feedback{background-color:#ebfaf6;border-color:#66dcb8;color:#66dcb8;opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}.contact__field{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-bottom:.2em solid #e0e0e0;border-radius:0;margin:.5em 0 1em;padding:.25em;-webkit-transition:all .3s ease;transition:all .3s ease;width:100%;will-change:border}.contact__field:active,.contact__field:focus{border-color:#f19b9f;outline:0}.contact__field:not(:placeholder-shown):invalid{border-bottom-color:#dc1565}.contact__field:not(:focus):valid{border-bottom-color:#66dcb8}.contact__message{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:.2em solid #e0e0e0;border-radius:0;height:8em;margin:.5em 0 1em;padding:.5em;resize:vertical;-webkit-transition:border .3s ease;transition:border .3s ease;width:100%;will-change:border}.contact__message:active,.contact__message:focus{border-color:#f19b9f;outline:0}.contact__submit{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:.2rem solid #f19b9f;border-radius:0;color:#f19b9f;font-size:1em;height:4rem;outline:0;position:relative;text-transform:uppercase;-webkit-transition:all .2s ease;transition:all .2s ease;width:10rem;will-change:background,border,color}.contact__submit:active,.contact__submit:focus{background:#f19b9f;color:#fff;outline:0}.contact.success .contact__submit{background:#66dcb8;border-color:#66dcb8;color:#66dcb8}.contact.loading .contact__submit{background:#f19b9f;color:#f19b9f}.contact__icon--spinner{height:100%;left:0;opacity:0;position:absolute;top:0;-webkit-transform:translate3D(50%,0,0);-ms-transform:translate3D(50%,0,0);transform:translate3D(50%,0,0);-webkit-transition:opacity .2s ease,-webkit-transform .2s ease;transition:opacity .2s ease,-webkit-transform .2s ease;transition:opacity .2s ease,transform .2s ease;transition:opacity .2s ease,transform .2s ease,-webkit-transform .2s ease;width:100%}.contact__icon--spinner:before{border-radius:50%;border:.2rem solid #fff;border-top-color:hsla(0,0%,100%,.25);bottom:0;content:"";height:2rem;left:0;margin:auto;position:absolute;right:0;top:0;width:2rem;will-change:opacity}.contact.loading .contact__icon--spinner{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}.contact.loading .contact__icon--spinner:before{-webkit-animation:spinner .6s linear infinite;animation:spinner .6s linear infinite}.contact.success .contact__icon--spinner{opacity:0;-webkit-transform:translate3D(-50%,0,0);-ms-transform:translate3D(-50%,0,0);transform:translate3D(-50%,0,0)}.contact__icon--success{bottom:0;color:#fff;content:"";font-size:2em;height:2rem;left:0;line-height:.8;margin:auto;opacity:0;position:absolute;right:0;top:0;-webkit-transform:translate3D(50%,0,0);-ms-transform:translate3D(50%,0,0);transform:translate3D(50%,0,0);-webkit-transition:opacity .2s ease,-webkit-transform .2s ease;transition:opacity .2s ease,-webkit-transform .2s ease;transition:opacity .2s ease,transform .2s ease;transition:opacity .2s ease,transform .2s ease,-webkit-transform .2s ease;width:2rem}.contact.success .contact__icon--success{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}@-webkit-keyframes spinner{0%{-webkit-transform:none;transform:none}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spinner{0%{-webkit-transform:none;transform:none}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.footer{padding:5em 10%;padding:4em 0}.footer,.social-links{margin:0 auto;max-width:1300px;text-align:center}.social-links{padding:5em 10%;background:#444f5d;list-style:none}.social-link{display:inline-block;-webkit-perspective:800px;perspective:800px;position:relative}@media only screen and (min-width:1024px){.social-link{height:3em;width:3em}.social-link+.social-link{margin-left:6em}}@media only screen and (max-width:1024px) and (min-width:481px){.social-link{height:2.5em;width:2.5em}.social-link+.social-link{margin-left:3em}}@media only screen and (max-width:600px){.social-link{height:2em;width:2em}.social-link+.social-link{margin-left:2em}}.social-link:nth-child(1){-webkit-transition:opacity .3s ease .1s,-webkit-transform .3s ease .1s;transition:opacity .3s ease .1s,-webkit-transform .3s ease .1s;transition:opacity .3s ease .1s,transform .3s ease .1s;transition:opacity .3s ease .1s,transform .3s ease .1s,-webkit-transform .3s ease .1s}.social-link:nth-child(2){-webkit-transition:opacity .3s ease .2s,-webkit-transform .3s ease .2s;transition:opacity .3s ease .2s,-webkit-transform .3s ease .2s;transition:opacity .3s ease .2s,transform .3s ease .2s;transition:opacity .3s ease .2s,transform .3s ease .2s,-webkit-transform .3s ease .2s}.social-link:nth-child(3){-webkit-transition:opacity .3s ease .3s,-webkit-transform .3s ease .3s;transition:opacity .3s ease .3s,-webkit-transform .3s ease .3s;transition:opacity .3s ease .3s,transform .3s ease .3s;transition:opacity .3s ease .3s,transform .3s ease .3s,-webkit-transform .3s ease .3s}.social-link:nth-child(4){-webkit-transition:opacity .3s ease .4s,-webkit-transform .3s ease .4s;transition:opacity .3s ease .4s,-webkit-transform .3s ease .4s;transition:opacity .3s ease .4s,transform .3s ease .4s;transition:opacity .3s ease .4s,transform .3s ease .4s,-webkit-transform .3s ease .4s}.show .social-link{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}.social-links:not(.show) .social-link{opacity:0;-webkit-transform:translate3D(0,75%,0);-ms-transform:translate3D(0,75%,0);transform:translate3D(0,75%,0)}.social-link__icon{fill:#fff;height:100%;left:0;position:absolute;top:0;width:100%;will-change:transform}.social-link__link{display:inline-block;height:100%;margin:0;padding:0;width:100%}.social-link__link:before{background:#242931;border-radius:50%;content:"";height:140%;left:-20%;position:absolute;top:-20%;-webkit-transform:scale3D(0,0,1);-ms-transform:scale3D(0,0,1);transform:scale3D(0,0,1);-webkit-transition:-webkit-transform .3s cubic-bezier(.19,1,.22,1);transition:-webkit-transform .3s cubic-bezier(.19,1,.22,1);transition:transform .3s cubic-bezier(.19,1,.22,1);transition:transform .3s cubic-bezier(.19,1,.22,1),-webkit-transform .3s cubic-bezier(.19,1,.22,1);width:140%;will-change:transform}.social-link__link:focus,.social-link__link:hover{outline:0}.social-link__link:focus:before,.social-link__link:hover:before{-webkit-transform:none;-ms-transform:none;transform:none}.social-link__link:focus .social-link__icon,.social-link__link:hover .social-link__icon{-webkit-animation:social-links__icon--animate .3s ease-in-out;animation:social-links__icon--animate .3s ease-in-out;-webkit-transform:scale3D(.8,.8,1);-ms-transform:scale3D(.8,.8,1);transform:scale3D(.8,.8,1)}#social-link-symbols{display:none}@-webkit-keyframes social-links__icon--animate{0%{-webkit-transform:scale3D(1,1,1);transform:scale3D(1,1,1)}20%{-webkit-transform:scale3D(1.1,1.2,1);transform:scale3D(1.1,1.2,1)}60%{-webkit-transform:scale3D(.7,.7,1);transform:scale3D(.7,.7,1)}80%{-webkit-transform:scale3D(.9,.9,1);transform:scale3D(.9,.9,1)}to{-webkit-transform:scale3D(.8,.8,1);transform:scale3D(.8,.8,1)}}@keyframes social-links__icon--animate{0%{-webkit-transform:scale3D(1,1,1);transform:scale3D(1,1,1)}20%{-webkit-transform:scale3D(1.1,1.2,1);transform:scale3D(1.1,1.2,1)}60%{-webkit-transform:scale3D(.7,.7,1);transform:scale3D(.7,.7,1)}80%{-webkit-transform:scale3D(.9,.9,1);transform:scale3D(.9,.9,1)}to{-webkit-transform:scale3D(.8,.8,1);transform:scale3D(.8,.8,1)}}',""])},function(t,e){t.exports=function(){var t=[];return t.toString=function(){for(var t=[],e=0;e<this.length;e++){var n=this[e];n[2]?t.push("@media "+n[2]+"{"+n[1]+"}"):t.push(n[1])}return t.join("")},t.i=function(e,n){"string"==typeof e&&(e=[[null,e,""]]);for(var i={},a=0;a<this.length;a++){var r=this[a][0];"number"==typeof r&&(i[r]=!0)}for(a=0;a<e.length;a++){var s=e[a];"number"==typeof s[0]&&i[s[0]]||(n&&!s[2]?s[2]=n:n&&(s[2]="("+s[2]+") and ("+n+")"),t.push(s))}},t}},function(t,e){function n(t,e){for(var n=0;n<t.length;n++){var i=t[n],a=m[i.id];if(a){a.refs++;for(var r=0;r<a.parts.length;r++)a.parts[r](i.parts[r]);for(;r<i.parts.length;r++)a.parts.push(c(i.parts[r],e))}else{for(var s=[],r=0;r<i.parts.length;r++)s.push(c(i.parts[r],e));m[i.id]={id:i.id,refs:1,parts:s}}}}function i(t){for(var e=[],n={},i=0;i<t.length;i++){var a=t[i],r=a[0],s=a[1],o=a[2],c=a[3],l={css:s,media:o,sourceMap:c};n[r]?n[r].parts.push(l):e.push(n[r]={id:r,parts:[l]})}return e}function a(t,e){var n=p(),i=y[y.length-1];if("top"===t.insertAt)i?i.nextSibling?n.insertBefore(e,i.nextSibling):n.appendChild(e):n.insertBefore(e,n.firstChild),y.push(e);else{if("bottom"!==t.insertAt)throw new Error("Invalid value for parameter 'insertAt'. Must be 'top' or 'bottom'.");n.appendChild(e)}}function r(t){t.parentNode.removeChild(t);var e=y.indexOf(t);e>=0&&y.splice(e,1)}function s(t){var e=document.createElement("style");return e.type="text/css",a(t,e),e}function o(t){var e=document.createElement("link");return e.rel="stylesheet",a(t,e),e}function c(t,e){var n,i,a;if(e.singleton){var c=g++;n=w||(w=s(e)),i=l.bind(null,n,c,!1),a=l.bind(null,n,c,!0)}else t.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=o(e),i=u.bind(null,n),a=function(){r(n),n.href&&URL.revokeObjectURL(n.href)}):(n=s(e),i=f.bind(null,n),a=function(){r(n)});return i(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;i(t=e)}else a()}}function l(t,e,n,i){var a=n?"":i.css;if(t.styleSheet)t.styleSheet.cssText=M(e,a);else{var r=document.createTextNode(a),s=t.childNodes;s[e]&&t.removeChild(s[e]),s.length?t.insertBefore(r,s[e]):t.appendChild(r)}}function f(t,e){var n=e.css,i=e.media;if(i&&t.setAttribute("media",i),t.styleSheet)t.styleSheet.cssText=n;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(n))}}function u(t,e){var n=e.css,i=e.sourceMap;i&&(n+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */");var a=new Blob([n],{type:"text/css"}),r=t.href;t.href=URL.createObjectURL(a),r&&URL.revokeObjectURL(r)}var m={},d=function(t){var e;return function(){return"undefined"==typeof e&&(e=t.apply(this,arguments)),e}},h=d(function(){return/msie [6-9]\b/.test(window.navigator.userAgent.toLowerCase())}),p=d(function(){return document.head||document.getElementsByTagName("head")[0]}),w=null,g=0,y=[];t.exports=function(t,e){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");e=e||{},"undefined"==typeof e.singleton&&(e.singleton=h()),"undefined"==typeof e.insertAt&&(e.insertAt="bottom");var a=i(t);return n(a,e),function(t){for(var r=[],s=0;s<a.length;s++){var o=a[s],c=m[o.id];c.refs--,r.push(c)}if(t){var l=i(t);n(l,e)}for(var s=0;s<r.length;s++){var c=r[s];if(0===c.refs){for(var f=0;f<c.parts.length;f++)c.parts[f]();delete m[c.id]}}}};var M=function(){var t=[];return function(e,n){return t[e]=n,t.filter(Boolean).join("\n")}}()},function(t,e){t.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMzgwIiBoZWlnaHQ9Ijc2MCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBmaWxsPSIjRUNFQ0VDIiBkPSJNNjYwIDk5aDEyMHYxODJINjYweiIvPjxwYXRoIGZpbGw9IiNEN0Q4REMiIGQ9Ik03NjAgMTQwdjIxaC04MHYtNjFoMjB2NDBoNDB2LTQwaDIwdjIwaDgwdjIwaC04MHptNDAgMTEwdi0xMEg2NDB2NDBoMjB2LTIwaDEyMHYyMGgyMHYtMzB6Ii8+PHBhdGggZmlsbD0iI0VDRUNFQyIgZD0iTTY1OSAxOWgxMjJ2NjJINjU5eiIvPjxwYXRoIGZpbGw9IiNEN0Q4REMiIGQ9Ik04MDAgMTBWMEg2NDB2MTAwaDE2MFYxMHptLTIwIDEwSDY2MHY2MGgxMjBWMjB6Ii8+PHBhdGggZmlsbD0iIzRGNEY1MSIgZD0iTTY4MCA0MGg0MHYyMGgtNDB6Ii8+PHBhdGggZmlsbD0iIzhEQTNGRiIgZD0iTTc0MCA0MGgyMHYyMGgtMjB6Ii8+PHBhdGggZmlsbD0iI0YzRjNGMyIgZD0iTTU4MCAyNjB2MjBoNjB2LTYwaC02MHYyMGgtMjB2MjBoMjB6Ii8+PHBhdGggZmlsbD0iIzMwMzk0NSIgZmlsbC1vcGFjaXR5PSIuOCIgZD0iTTQ2MCA3MjBoMjB2MjBoLTIwem00MDAgMGgyMHYyMGgtMjB6bTQwIDBoMjB2MjBoLTIwem0tNDAwIDBoMzQwdjIwSDUwMHoiLz48cGF0aCBmaWxsPSIjNTE1MTUxIiBkPSJNNTYwIDY5OGg4MHYyMmgtODB6bTE2MCAwaDgwdjIyaC04MHoiLz48cGF0aCBmaWxsPSIjRDI5MDQ3IiBkPSJNNTQwIDMzOGgyODB2MzQ0SDU0MCIvPjxwYXRoIGZpbGw9IiNCODdBMzYiIGQ9Ik01NDAgMzE4aDI4MHYyMkg1NDB6bTAgMzYyaDI4MHYyMEg1NDB6bTAtMTgwaDI4MHYyMEg1NDB6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTUyMCAyODBoMzIwdjQwSDUyMHoiLz48cGF0aCBmaWxsPSIjRkZGIiBmaWxsLW9wYWNpdHk9Ii4yIiBkPSJNNTYwIDE2MGg0MHYyMGgtNDB2LTIwem0wLTQwaDIwdjIwaC0yMHYtMjB6bS0yMCAyMGgyMHYyMGgtMjB2LTIweiIvPjxwYXRoIGZpbGw9IiM0MTQxNDEiIGQ9Ik03NTggMjAwaDIydjIwaC0yMnoiLz48cGF0aCBmaWxsPSIjNjg0MzI2IiBkPSJNNjgwIDE3OWg4MHY2MWgtODB6Ii8+PHBhdGggZmlsbD0iIzQxNDE0MSIgZD0iTTY4MCAxNjBoODB2MjBoLTgweiIvPjxwYXRoIGZpbGw9IiNFQ0VDRUMiIGQ9Ik0xMTIwIDk5aDEyMHYxODJoLTEyMHoiLz48cGF0aCBmaWxsPSIjRDdEOERDIiBkPSJNMTIyMCAxNDB2MjFoLTgwdi02MWgyMHY0MGg0MHYtNDBoMjB2MjBoODB2MjBoLTgwem00MCAxMTB2LTEwaC0xNjB2NDBoMjB2LTIwaDEyMHYyMGgyMHYtMzB6Ii8+PHBhdGggZmlsbD0iI0VDRUNFQyIgZD0iTTExMTkgMTloMTIydjYyaC0xMjJ6Ii8+PHBhdGggZmlsbD0iI0Q3RDhEQyIgZD0iTTEyNjAgMTBWMGgtMTYwdjEwMGgxNjBWMTB6bS0yMCAxMGgtMTIwdjYwaDEyMFYyMHoiLz48cGF0aCBmaWxsPSIjNEY0RjUxIiBkPSJNMTE0MCA0MGg0MHYyMGgtNDB6Ii8+PHBhdGggZmlsbD0iIzhEQTNGRiIgZD0iTTEyMDAgNDBoMjB2MjBoLTIweiIvPjxwYXRoIGZpbGw9IiNGM0YzRjMiIGQ9Ik0xMDQwIDI2MHYyMGg2MHYtNjBoLTYwdjIwaC0yMHYyMGgyMHoiLz48cGF0aCBmaWxsPSIjMzAzOTQ1IiBmaWxsLW9wYWNpdHk9Ii44IiBkPSJNOTIwIDcyMGgyMHYyMGgtMjB6bTQwMCAwaDIwdjIwaC0yMHptNDAgMGgyMHYyMGgtMjB6bS00MDAgMGgzNDB2MjBIOTYweiIvPjxwYXRoIGZpbGw9IiM1MTUxNTEiIGQ9Ik0xMDIwIDY5OGg4MHYyMmgtODB6bTE2MCAwaDgwdjIyaC04MHoiLz48cGF0aCBmaWxsPSIjRDI5MDQ3IiBkPSJNMTAwMCAzMzhoMjgwdjM0NGgtMjgwIi8+PHBhdGggZmlsbD0iI0I4N0EzNiIgZD0iTTEwMDAgMzE4aDI4MHYyMmgtMjgwem0wIDM2MmgyODB2MjBoLTI4MHptMC0xODBoMjgwdjIwaC0yODB6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTk4MCAyODBoMzIwdjQwSDk4MHoiLz48cGF0aCBmaWxsPSIjRkZGIiBmaWxsLW9wYWNpdHk9Ii4yIiBkPSJNMTAwMCAxNDBoMjB2MjBoLTIwdi0yMHptNjAgNDBoMjB2MjBoLTIwdi0yMHptMC04MGgyMHYyMGgtMjB2LTIwem0tNDAgMjBoNDB2MjBoLTQwdi0yMHoiLz48cGF0aCBmaWxsPSIjNDE0MTQxIiBkPSJNMTIxOCAyMDBoMjJ2MjBoLTIyeiIvPjxwYXRoIGZpbGw9IiM2ODQzMjYiIGQ9Ik0xMTQwIDE3OWg4MHY2MWgtODB6Ii8+PHBhdGggZmlsbD0iIzQxNDE0MSIgZD0iTTExNDAgMTYwaDgwdjIwaC04MHoiLz48cGF0aCBmaWxsPSIjRkZGIiBmaWxsLW9wYWNpdHk9Ii4yIiBkPSJNMTAwIDE2MGg0MHYyMGgtNDB2LTIwem00MCAyMGgyMHYyMGgtMjB2LTIwem0tMjAtNjBoMjB2MjBoLTIwdi0yMHptMjAtMjBoMjB2MjBoLTIwdi0yMHoiLz48cGF0aCBmaWxsPSIjRUNFQ0VDIiBkPSJNMTk4IDE4aDEyNHY2NGgtMnYxNzZoMnYyNEgxOTh2LTIzLjhoMi4yTDIwMCAyMDdWODJoLTIiLz48cGF0aCBmaWxsPSIjRDdEOERDIiBkPSJNMzAwIDE0MHYyMWgtODB2LTYxaDIwdjQwaDQwdi00MGgyMHYyMGg4MHYyMGgtODB6bTQwIDExMHYtMTBIMTgwdjQwaDIwdi0yMGgxMjB2MjBoMjB2LTMwem0wLTI0MFYwSDE4MHYxMDBoMTYwVjEwem0tMjAgMTBIMjAwdjYwaDEyMFYyMHoiLz48cGF0aCBmaWxsPSIjNEY0RjUxIiBkPSJNMjIwIDQwaDQwdjIwaC00MHoiLz48cGF0aCBmaWxsPSIjOERBM0ZGIiBkPSJNMjgwIDQwaDIwdjIwaC0yMHoiLz48cGF0aCBmaWxsPSIjNDE0MTQxIiBkPSJNMjk4IDIwMGgyMnYyMGgtMjJ6Ii8+PHBhdGggZmlsbD0iIzY4NDMyNiIgZD0iTTIyMCAxNzloODB2NjFoLTgweiIvPjxwYXRoIGZpbGw9IiM0MTQxNDEiIGQ9Ik0yMjAgMTYwaDgwdjIwaC04MHoiLz48cGF0aCBmaWxsPSIjNTE1MTUxIiBkPSJNMTAwIDY5OGg4MHYyMmgtODB6bTE2MCAwaDgwdjIyaC04MHoiLz48cGF0aCBmaWxsPSIjRDI5MDQ3IiBkPSJNODAgMzM4aDI4MHYzNDRIODAiLz48cGF0aCBmaWxsPSIjQjg3QTM2IiBkPSJNODAgMzE4aDI4MHYyMkg4MHptMCAzNjJoMjgwdjIwSDgwem0wLTE4MGgyODB2MjBIODB6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTYwIDI4MGgzMjB2NDBINjB6Ii8+PHBhdGggZmlsbD0iI0YzRjNGMyIgZD0iTTEyMCAyNjB2MjBoNjB2LTYwaC02MHYyMGgtMjB2MjBoMjB6Ii8+PHBhdGggZmlsbD0iIzMwMzk0NSIgZmlsbC1vcGFjaXR5PSIuOCIgZD0iTTAgNzIwaDIwdjIwSDB6bTQwMCAwaDIwdjIwaC0yMHptNDAgMGgyMHYyMGgtMjB6bS00MDAgMGgzNDB2MjBINDB6Ii8+PC9nPjwvc3ZnPg==";
},function(t,e,n){t.exports=n.p+"assets/desk.ea01da46.svg"},function(t,e,n){t.exports=n.p+"assets/door.fd819880.svg"},function(t,e,n){t.exports=n.p+"assets/justin.5ea6b7ea.svg"},function(t,e,n){t.exports=n.p+"assets/window.6f271798.svg"},function(t,e,n){"use strict";var i=n(8),a=(n.n(i),n(4)),r=n(6),s=n(5),o=n(9),c=(n.n(o),n(7));n.n(c);!function(){var t=document.getElementById("canvas"),e=document.querySelector(s.a),i=new r.a(t,window.devicePixelRatio,60,Date.now());a.a.init(),e.addEventListener("submit",function(t){return n.i(s.b)(t)}),window.addEventListener("load",function(){return i.load()}),window.addEventListener("resize",function(){return i.updateScale()}),window.addEventListener("resize",function(){return i.updateScale()})}()}]);
//# sourceMappingURL=app.82564d14.js.map