diff --git a/public/build/app.js b/public/build/app.js index ac85df486..db2569ca0 100644 --- a/public/build/app.js +++ b/public/build/app.js @@ -1,3 +1,3 @@ -angular.module("rallly",["ui.router","ngResource","btford.modal","ngTagsInput","ngAnimate","ngFitText"]).config(["$stateProvider","$urlRouterProvider","$locationProvider",function(e,t,n){n.html5Mode(!0),t.otherwise("/notfound"),e.state("index",{url:"/",templateUrl:"templates/home.html",controller:"HomeCtrl"}).state("newevent",{url:"/new",templateUrl:"templates/newEvent/layout.html",controller:"NewEventCtrl"}).state("newevent.general",{templateUrl:"templates/newEvent/general.html"}).state("newevent.datetime",{templateUrl:"templates/newEvent/datetime.html"}).state("newevent.invite",{templateUrl:"templates/newEvent/invite.html"}).state("newevent.success",{templateUrl:"templates/newEvent/success.html"}).state("about",{url:"/about",templateUrl:"templates/about.html",controller:"AboutCtrl"}).state("notfound",{url:"/notfound",templateUrl:"templates/notfound.html"}).state("event",{url:"/:id",templateUrl:"templates/event.html",controller:"EventCtrl"}).state("editevent",{url:"/:id/edit",templateUrl:"templates/editevent.html",controller:"EditEventCtrl"}).state("verifyevent",{url:"/verify/:id/code/:code",controller:"VerificationCtrl"}).state("deleteevent",{url:"/delete/:id/code/:code",controller:"DeletionCtrl"})}]).factory("Event",["$resource",function(e){return e("/api/event/:id",{id:"@_id"},{update:{method:"PUT"},verify:{method:"GET",url:"/api/event/:id/code/:code"},destroy:{method:"DELETE",url:"/api/event/:id/code/:code"}})}]).factory("Participant",["$resource",function(e){return e("/api/event/:id/participant/:pid",{id:"@_id"},{update:{method:"PUT"}})}]).factory("Comment",["$resource",function(e){return e("/api/event/:id/comment/:cid",{id:"@_id"},{update:{method:"PUT"}})}]).factory("Title",function(){return{set:function(e){document.title=e}}}),angular.module("rallly").run(["$templateCache",function(e){e.put("templates/about.html",'
\n

What is Rallly?

\n
Rallly is a collaborative scheduling service that makes deciding on a date fast and easy.
\n

Hi, I\'m Luke!

\n

\n I created Rallly as side project to help me learn some new technologies. I decided to publish it because I thought other people might find it useful. Rallly is a completely free service. In fact it is even open source. You can look at the latest source code on Github.\n

\n
\n'),e.put("templates/confirmmodal.html",'
\n\n
\n
{{modal.title}}
\n
\n {{modal.message}}\n
\n
\n \n \n
\n
\n'),e.put("templates/editevent.html",'
\n
\n\n
Edit Event
\n
\n You can makes changes to your existing event by changing the fields in the form below.\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n
\n\n
\n\n
\n\n
\n\n
\n \n \n Done\n
\n\n
\n\n
\n\n
\n'),e.put("templates/event.html",'
\n
\n
\n
\n
\n {{event.title}}\n Poll Closed\n Poll Open\n
\n
\n Created by {{event.creator.name}} • {{event.created | elapsed}}\n
\n
\n
\n \n
\n
\n
{{event.description}}
\n
\n Location:\n {{event.location}}\n
\n\n
\n
\n
\n\n
\n
\n Discussion\n
\n
\n You can discuss the event with your friends by leaving a comment below.\n
\n
\n\n
\n
\n
\n'),e.put("templates/home.html",'
\n
\n \n
\n
\n Schedule an Event\n
\n
\n Want to host an event but can’t decide on a date? Click on the button below to start!\n
\n \n
\n'),e.put("templates/notfound.html","

Error 404

\n

Not Found

\n"),e.put("templates/notification.html",'
\n
\n {{notification.title}}\n
\n
\n {{notification.message}}\n
\n
\n'),e.put("templates/directives/datePicker.html",'
\n
\n
\n \n \n {{title}}\n \n \n
\n
\n
\n Sun\n
\n
\n Mon\n
\n
\n Tue\n
\n
\n Wed\n
\n
\n Thu\n
\n
\n Fri\n
\n
\n Sat\n
\n
\n
\n
\n {{day.date | date : \'d\' }}\n
\n
\n
\n
\n'),e.put("templates/directives/discussion.html",'\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n \n \n \n Make sure you fill in all the fields.\n \n
\n
\n
\n
\n'),e.put("templates/directives/poll.html",'
\n
\n {{event.participants.length}} participants\n
\n
\n
\n
\n {{d | date: \'EEE\'}}\n
\n
\n {{d | date: \'d\'}}\n
\n
\n {{d | date : \'MMM\'}}\n
\n {{selectedDate($index)}}\n
\n
\n
\n\n
\n
\n
\n
\n
\n
\n \n \n \n \n {{participant.name}}\n
\n
\n \n \n \n
\n
\n
\n \n \n \n \n
\n
\n
\n
\n
\n
\n \n \n \n {{example.name}}\n
\n
\n \n \n
\n
\n\n
\n
\n
\n
\n Fill in the form below to get started\n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n
\n \n
\n
\n
\n \n
\n
\n
\n
\n'),e.put("templates/directives/timePicker.html",'
\n
\n
\n
\n {{date | date: \'EEE\'}}\n
\n
\n {{date | date: \'d\'}}\n
\n
\n {{date | date : \'MMM\'}}\n
\n \n
\n
\n
\n \n
\n
\n'),e.put("templates/form/dateForm.html",'
\n
Choose Dates
\n \n
\n
\n
\n
\n \n \n You need to select a few dates\n \n
\n\n
\n
\n
\n
\n'),e.put("templates/form/eventForm.html",'
\n
Event Details
\n
\n
\n
\n
\n
\n \n \n {{errors.title}}\n \n \n
\n
\n
\n
\n \n \n {{errors.location}}\n \n \n
\n
\n
\n
\n
\n \n \n
\n
\n
\n'),e.put("templates/form/participantsForm.html",'
\n
Invite Participants
\n
\n
\n
\n
\n \n \n \n\n
\n
\n
\n\n'),e.put("templates/form/settingsForm.html",'
\n
Settings
\n
\n
\n
\n
\n
\n Poll Status\n
\n
\n Let people vote on the poll.\n
\n
\n
\n
\n {{event.isClosed ? \'Closed\' : \'Open\' }}\n
\n
\n
\n
\n
\n
\n
\n
\n Notifications\n
\n
\n Send email notifications to the creator of this event.\n
\n
\n
\n
\n {{event.creator.allowNotifications ? \'Enabled\' : \'Disabled\' }}\n
\n
\n
\n
\n
\n
\n
\n
\n Delete Event\n
\n
\n Once you delete an event it will no longer be accessible.\n
\n
\n
\n \n
\n
\n
\n\n'),e.put("templates/form/timeForm.html",'
\n
Choose Times
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n\n \n Time 1\n \n Time 2\n \n Time 3\n
\n
\n
\n {{d.date | date: \'EEE\'}}\n
\n
\n {{d.date | date: \'d\'}}\n
\n
\n {{d.date | date : \'MMM\'}}\n
\n \n
\n
\n \n
\n
\n'),e.put("templates/form/userForm.html",'
\n
Your Details
\n
\n
\n
\n
\n
\n \n \n {{errors.name}}\n \n \n
\n
\n
\n
\n \n \n {{errors.email}}\n \n \n
\n
\n
\n
\n'),e.put("templates/newEvent/datetime.html",'
\n\n
\n\n
\n \n \n
\n'),e.put("templates/newEvent/general.html",'
\n\n
\n\n
\n\n
\n\n
\n \n
\n'),e.put("templates/newEvent/invite.html",'
\n\n
\n\n
\n \n \n
\n'),e.put("templates/newEvent/layout.html",'
\n\n
Schedule a New Event
\n
\n Fill in the form below to create your event and share it with your friends and colleagues.\n
\n
    \n
  1. \n General Details\n
  2. \n
  3. \n Dates & Times\n
  4. \n
  5. \n Invite Friends\n
  6. \n
\n
\n
\n\n
\n
\n
\n'),e.put("templates/newEvent/success.html",'
\n
\n \n
\n
Event Created
\n
\n Your event has been created successfully! You should receive an email shortly with instructions to verify your email address.\n
\n
\n
\n
\n \n GO\n
\n
\n')}]),angular.module("rallly").controller("AboutCtrl",["Title",function(e){e.set("About Rallly")}]),angular.module("rallly").controller("AccountCtrl",["$scope","ConfirmModal",function(e){e.showNotice=function(){}}]),angular.module("rallly").controller("DeletionCtrl",["$state","Notification","Event",function(e,t,n){n.destroy({id:e.params.id,code:e.params.code},function(){new t({title:"Event deleted",message:"This event has been deleted",type:"success",timeout:5e3})},function(){new t({title:"Deletion Failed",message:"The event could not be deleted. Make sure that it exists and that the url is correct",type:"error"})}),e.go("event",{id:e.params.id})}]),angular.module("rallly").controller("EditEventCtrl",["$scope","$http","$state","$timeout","Event","ConfirmModal","Notification","Title",function(e,t,n,i,a,o,s,l){var r=n.params.id;e.event=a.get({id:r},function(){l.set("Edit: "+e.event.title),e.master=angular.copy(e.event)},function(){n.go("notfound")}),e.undoChanges=function(){e.event=angular.copy(e.master)},e.didChange=function(){return JSON.stringify(e.master)!=JSON.stringify(e.event)},e.didChangeDates=function(){return JSON.stringify(e.master.dates)!=JSON.stringify(e.event.dates)},e.submit=function(){if(e.form.$valid)if(e.didChangeDates()){new o({title:"Hold up!",message:"Changing the dates will reset all entries by the participants. Are you sure you want to do that?",confirmText:"Yes, I'm sure",isDestructive:!0,confirm:function(){e.event.participants=[],d()}})}else d();else{new s({title:"Not so fast",message:"Make sure you fill in all the required fields and try again.",type:"error"})}};var d=function(){a.update({id:r},e.event,function(){new s({title:"Changes Saved",message:"Your changes have been saved successfully.",type:"success"});e.master=angular.copy(e.event)})}}]),angular.module("rallly").controller("EventCtrl",["$scope","$http","$state","Title","Event","ConfirmModal",function(e,t,n,i,a,o){var s=n.params.id;e.event=a.get({id:s},function(){i.set(e.event.title),e.eventUrl=n.href("event",{id:e.event._id},{absolute:!0})},function(){n.go("notfound")}),e.openEvent=function(){e.event.isClosed=!1,a.update({id:s},e.event,function(){new o({title:"Event Open",message:"People can vote and comment on this event.",cancelText:"OK"})})},e.closeEvent=function(){e.event.isClosed=!0,a.update({id:s},e.event,function(){new o({title:"Event Closed",message:"People can no longer vote or comment on this event.",cancelText:"OK"})})},e.editEvent=function(){n.go("editevent",{id:e.event._id})}}]),angular.module("rallly").controller("HomeCtrl",["$scope","$state","Title",function(e,t,n){n.set("Rallly - Collaborative Scheduling"),e.newEvent=function(){t.go("newevent")}}]),angular.module("rallly").controller("NavigationCtrl",["$scope","$location",function(e,t){e.isActive=function(e){return t.path()==e?!0:!1}}]),angular.module("rallly").controller("NewEventCtrl",["$scope","$http","$state","Event","ConfirmModal","Notification",function(e,t,n,i,a){e.title="Schedule a New Event",e.description="Fill in the form below to create your event and share it with your friends and colleagues.",e.event={};var o=["newevent.general","newevent.datetime","newevent.invite"];e.page=1;var s=function(t){e.page=t,n.go(o[t-1])};s(e.page),e.submit=function(){e.form.$valid&&e.page==o.length?t.post("/api/event",e.event).success(function(t){e.event=t,e.eventUrl=n.href("event",{id:e.event._id},{absolute:!0}),e.page++,n.go("newevent.success")}).error(function(){new a({title:"Uh oh!",message:"There was an error creating your event. Please try again later.",cancelText:"OK"})}):e.form.$valid&&(e.form.$setPristine(),e.nextPage())},e.nextPage=function(){s(e.page+1)},e.prevPage=function(){s(e.page-1)}}]),angular.module("rallly").controller("VerificationCtrl",["Event","Notification","$state",function(e,t,n){e.verify({id:n.params.id,code:n.params.code},function(){new t({title:"Email Verified",message:"Your email has been verified. You will now be able to receive email notifications for this event",type:"success",timeout:5e3})},function(){new t({title:"Verification Failed",message:"Your verification code has expired.",type:"error"})}),n.go("event",{id:n.params.id})}]),angular.module("rallly").directive("backImg",function(){return function(e,t,n){var i=n.backImg;t.css({"background-image":"url(/images/"+i+".png)"})}}),angular.module("rallly").directive("datepicker",function(){return{restrict:"A",require:"ngModel",scope:{model:"=ngModel",control:"="},templateUrl:"templates/directives/datePicker.html",link:function(e,t,n,i){e.model=e.model||[],e.control=e.control||{},e.$watchCollection("model",function(e){i.$setViewValue(e),i.$validate()}),i.$validators.required=function(e){return e&&0!=e.length?!0:!1};var a=Date.today(),o=a.clone(),s=function(t){o=t;var n=o.clone().moveToFirstDayOfMonth(),i=n.getDay();n.add(i-7).days(),e.title=o.toString("MMMM yyyy");for(var s=new Array(42),l=0;l0)&&(e.model.splice(n,0,t.date),i=!0),n++;while(0==i)}},e.isActive=function(t,n){e.model=e.model||[];for(var i=0;i0;i||t.toggle()};t.toggle=function(){t.open=!t.open,t.open?(n.addClass("open"),e.bind("click",i)):(n.removeClass("open"),e.unbind("click",i))}}}}]),angular.module("rallly").service("FormHelper",function(){this.emailRegexString="^([\\w-\\.]+@([\\w-]+\\.)+[\\w-]{2,4})?$",this.emailRegex=new RegExp(this.emailRegexString),this.prettyError=function(e,t){return e.required?t+" is required":e.pattern?t+" is invalid":e.maxlength?t+" is too long":!1}}).directive("userForm",["FormHelper",function(e){return{scope:{event:"=",form:"="},templateUrl:"templates/form/userForm.html",link:function(t){t.errors={},t.emailRegex=e.emailRegex,t.$watchCollection("form.name.$error",function(n){t.errors.name=e.prettyError(n,"Name")}),t.$watchCollection("form.email.$error",function(n){t.errors.email=e.prettyError(n,"Email")})}}}]).directive("eventForm",["FormHelper",function(e){return{scope:{event:"=",form:"="},templateUrl:"templates/form/eventForm.html",link:function(t){t.errors={},t.$watchCollection("form.title.$error",function(n){t.errors.title=e.prettyError(n,"Title")}),t.$watchCollection("form.location.$error",function(n){t.errors.location=e.prettyError(n,"Location")})}}}]).directive("dateForm",function(){return{scope:{event:"=",form:"="},templateUrl:"templates/form/dateForm.html"}}).directive("participantsForm",["FormHelper",function(e){return{scope:{event:"=",form:"="},templateUrl:"templates/form/participantsForm.html",link:function(t){t.emailRegex=e.emailRegexString}}}]).directive("settingsForm",["Event","ConfirmModal",function(e,t){return{scope:{event:"=",form:"="},templateUrl:"templates/form/settingsForm.html",link:function(n){n.deleteEvent=function(){n.deleteRequestSent||e.delete({id:n.event._id},function(){n.deleteRequestSent=!0;new t({title:"Delete Request Sent",message:"An email has been sent to the creator of this event with instructions to delete it.",cancelText:"OK"})})}}}}]).directive("switchToggle",function(){return{scope:{model:"=ngModel"},require:"ngModel",link:function(e,t,n,i){t.addClass("switch-toggle");var a=function(){e.model^"undefined"!=typeof n.invert?t.addClass("active"):t.removeClass("active")};e.$watch("model",a),t.bind("click",function(t){e.model=!e.model,i.$setViewValue(e.model,t)})}}}).directive("timeForm",["DatePickerService",function(e){return{scope:{event:"=",form:"="},templateUrl:"templates/form/timeForm.html",link:function(t){var n,i=!1,a=t.$watch("event.dates",function(o){o&&!i&&a(),i=!0,n=new e(t.event.dates),t.unsetDate=function(e){n.removeDate(e)}})}}}]).directive("timePicker",["$timeout",function(){return{scope:{model:"=ngModel"},require:"ngModel",link:function(e,t,n,i){i.$viewChangeListeners.push(function(){e.model=i.$modelValue}),i.$parsers.push(function(e){return e?Date.parse(e):void 0}),i.$validators.time=function(e){if(i.$isEmpty(e))return!0;var t=Date.parse(e);return t?(i.$setViewValue(t.toString("hh:mm tt")),i.$render(),!0):!1}}}}]),angular.module("rallly").directive("poll",["$timeout","Participant","ConfirmModal",function(e,t,n){return{restrict:"A",templateUrl:"templates/directives/poll.html",scope:{event:"="},link:function(e){e.defaults=[],e.participant={};var i=[];e.event.$promise.then(function(t){for(var n=["John Example","Jane Specimen","Mark Instance","Mary Case"],i=[],a=0;at)return!1;return!0},e.selectedDate=function(t){i[t]=0;for(var n=0;n30?"on "+e("date")(t,"MMMM d"):r>1?r+" days ago":1==r?"1 day ago":l>1?l+" hours ago":1==l?"an hour ago":s>1?s+" minutes ago":1==s?"a minute ago":"a few seconds ago"}}}]),angular.module("rallly").factory("ConfirmModal",["btfModal",function(e){return function(t){var n;n=e({templateUrl:"templates/confirmmodal.html",controllerAs:"modal",controller:function(){this.title=t.title,this.message=t.message,this.confirm=t.confirm?function(){t.confirm(),n.deactivate()}:!1,this.cancel=n.deactivate,this.confirmText=t.confirmText||"Confirm",this.cancelText=t.cancelText||"Cancel",this.isDestructive=t.isDestructive}}),n.activate(),this.destroy=function(){n.deactivate()}}}]),angular.module("rallly").factory("Notification",["$timeout","btfModal",function(e,t){return function(n){var i;i=t({templateUrl:"templates/notification.html",controllerAs:"notification",controller:function(){this.title=n.title,this.message=n.message,this.close=i.deactivate,this.type=n.type;var t=n.timeout||5e3;e(i.deactivate,t)}}),i.activate(),this.destroy=function(){i.deactivate()}}}]); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uanMiLCJ0ZW1wbGF0ZXMuanMiLCJjb250cm9sbGVycy9hYm91dC5jb250cm9sbGVyLmpzIiwiY29udHJvbGxlcnMvYWNjb3VudC5jb250cm9sbGVyLmpzIiwiY29udHJvbGxlcnMvZGVsZXRpb24uY29udHJvbGxlci5qcyIsImNvbnRyb2xsZXJzL2VkaXRldmVudC5jb250cm9sbGVyLmpzIiwiY29udHJvbGxlcnMvZXZlbnQuY29udHJvbGxlci5qcyIsImNvbnRyb2xsZXJzL2hvbWUuY29udHJvbGxlci5qcyIsImNvbnRyb2xsZXJzL25hdmlnYXRpb24uY29udHJvbGxlci5qcyIsImNvbnRyb2xsZXJzL25ld2V2ZW50LmNvbnRyb2xsZXIuanMiLCJjb250cm9sbGVycy92ZXJpZmljYXRpb24uY29udHJvbGxlci5qcyIsImRpcmVjdGl2ZXMvYmFja0ltZy5kaXJlY3RpdmUuanMiLCJkaXJlY3RpdmVzL2RhdGVwaWNrZXIuZGlyZWN0aXZlLmpzIiwiZGlyZWN0aXZlcy9kaXNjdXNzaW9uLmRpcmVjdGl2ZS5qcyIsImRpcmVjdGl2ZXMvZHJvcGRvd24uZGlyZWN0aXZlLmpzIiwiZGlyZWN0aXZlcy9mb3JtLmRpcmVjdGl2ZS5qcyIsImRpcmVjdGl2ZXMvcG9sbC5kaXJlY3RpdmUuanMiLCJmaWx0ZXJzL2VsYXBzZWQuZmlsdGVyLmpzIiwic2VydmljZXMvbW9kYWwuc2VydmljZS5qcyIsInNlcnZpY2VzL25vdGlmaWNhdGlvbi5zZXJ2aWNlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFFBQUEsT0FBQSxVQUFBLFlBQUEsYUFBQSxlQUFBLGNBQUEsWUFBQSxjQUNBLFFBQUEsaUJBQUEscUJBQUEsb0JBQUEsU0FBQSxFQUFBLEVBQUEsR0FDQSxFQUFBLFdBQUEsR0FDQSxFQUFBLFVBQUEsYUFDQSxFQUNBLE1BQUEsU0FDQSxJQUFBLElBQ0EsWUFBQSxzQkFDQSxXQUFBLGFBRUEsTUFBQSxZQUNBLElBQUEsT0FDQSxZQUFBLGlDQUNBLFdB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QUEsS0FBQSxFQUFBLFNBRUEsRUFBQSxVQUFBLFdBQ0EsTUFBQSxNQUFBLFVBQUEsRUFBQSxTQUFBLEtBQUEsVUFBQSxFQUFBLFFBRUEsRUFBQSxlQUFBLFdBQ0EsTUFBQSxNQUFBLFVBQUEsRUFBQSxPQUFBLFFBQUEsS0FBQSxVQUFBLEVBQUEsTUFBQSxRQUVBLEVBQUEsT0FBQSxXQUNBLEdBQUEsRUFBQSxLQUFBLE9BQ0EsR0FBQSxFQUFBLGlCQUNBLENBQUEsR0FBQSxJQUNBLE1BQUEsV0FDQSxRQUFBLG1HQUNBLFlBQUEsZ0JBQ0EsZUFBQSxFQUNBLFFBQUEsV0FDQSxFQUFBLE1BQUEsZ0JBQ0EsV0FLQSxTQUdBLENBQUEsR0FBQSxJQUNBLE1BQUEsY0FDQSxRQUFBLCtEQUNBLEtBQUEsV0FJQSxJQUFBLEdBQUEsV0FDQSxFQUFBLFFBQ0EsR0FBQSxHQUNBLEVBQUEsTUFDQSxXQUNBLEdBQUEsSUFDQSxNQUFBLGdCQUNBLFFBQUEsNkNBQ0EsS0FBQSxXQUVBLEdBQUEsT0FBQSxRQUFBLEtBQUEsRUFBQSxhQ3JEQSxRQUFBLE9BQUEsVUFDQSxXQUFBLGFBQUEsU0FBQSxRQUFBLFNBQUEsUUFBQSxRQUFBLGVBQUEsU0FBQSxFQUFBLEVBQUEsRUFBQSxFQUFBLEVBQUEsR0FDQSxHQUFBLEdBQUEsRUFBQSxPQUFBLEVBRUEsR0FBQSxNQUFBLEVBQUEsS0FBQSxHQUFBLEdBQUEsV0FFQSxFQUFBLElBQUEsRUFBQSxNQUFBLE9BRUEsRUFBQSxTQUFBLEVBQUEsS0FBQSxTQUNBLEdBQUEsRUFBQSxNQUFBLE1BRUEsVUFBQSxLQUVBLFdBQ0EsRUFBQSxHQUFBLGNBR0EsRUFBQSxVQUFBLFdBQ0EsRUFBQSxNQUFBLFVBQUEsRUFDQSxFQUFBLFFBQ0EsR0FBQSxHQUNBLEVBQUEsTUFDQSxXQUNBLEdBQUEsSUFDQSxNQUFBLGFBQ0EsUUFBQSw2Q0FDQSxXQUFBLFVBS0EsRUFBQSxXQUFBLFdBQ0EsRUFBQSxNQUFBLFVBQUEsRUFDQSxFQUFBLFFBQ0EsR0FBQSxHQUNBLEVBQUEsTUFDQSxXQUNBLEdBQUEsSUFDQSxNQUFBLGVBQ0EsUUFBQSxzREFDQSxXQUFBLFVBS0EsRUFBQSxVQUFBLFdBQ0EsRUFBQSxHQUFBLGFBQUEsR0FBQSxFQUFBLE1BQUEsVUM5Q0EsUUFBQSxPQUFBLFVBQ0EsV0FBQSxZQUFBLFNBQUEsU0FBQSxRQUFBLFNBQUEsRUFBQSxFQUFBLEdBQ0EsRUFBQSxJQUFBLHFDQUVBLEVBQUEsU0FBQSxXQUNBLEVBQUEsR0FBQSxnQkNMQSxRQUFBLE9BQUEsVUFDQSxXQUFBLGtCQUFBLFNBQUEsWUFBQSxTQUFBLEVBQUEsR0FDQSxFQUFBLFNBQUEsU0FBQSxHQUNBLE1BQUEsR0FBQSxRQUFBLEdBQ0EsR0FFQSxNQ05BLFFBQUEsT0FBQSxVQUNBLFdBQUEsZ0JBQUEsU0FBQSxRQUFBLFNBQUEsUUFBQSxlQUFBLGVBQUEsU0FBQSxFQUFBLEVBQUEsRUFBQSxFQUFBLEdBRUEsRUFBQSxNQUFBLHVCQUNBLEVBQUEsWUFBQSw2RkFDQSxFQUFBLFFBRUEsSUFBQSxJQUNBLG1CQUNBLG9CQUNBLGtCQUdBLEdBQUEsS0FBQSxDQUVBLElBQUEsR0FBQSxTQUFBLEdBQ0EsRUFBQSxLQUFBLEVBQ0EsRUFBQSxHQUFBLEVBQUEsRUFBQSxJQUdBLEdBQUEsRUFBQSxNQUdBLEVBQUEsT0FBQSxXQUNBLEVBQUEsS0FBQSxRQUFBLEVBQUEsTUFBQSxFQUFBLE9BQ0EsRUFBQSxLQUFBLGFBQUEsRUFBQSxPQUNBLFFBQUEsU0FBQSxHQUNBLEVBQUEsTUFBQSxFQUNBLEVBQUEsU0FBQSxFQUFBLEtBQUEsU0FDQSxHQUFBLEVBQUEsTUFBQSxNQUVBLFVBQUEsSUFFQSxFQUFBLE9BQ0EsRUFBQSxHQUFBLHNCQUVBLE1BQUEsV0FDQSxHQUFBLElBQ0EsTUFBQSxTQUNBLFFBQUEsa0VBQ0EsV0FBQSxTQUdBLEVBQUEsS0FBQSxTQUNBLEVBQUEsS0FBQSxlQUNBLEVBQUEsYUFJQSxFQUFBLFNBQUEsV0FDQSxFQUFBLEVBQUEsS0FBQSxJQUdBLEVBQUEsU0FBQSxXQUNBLEVBQUEsRUFBQSxLQUFBLE9DdERBLFFBQUEsT0FBQSxVQUNBLFdBQUEsb0JBQUEsUUFBQSxlQUFBLFNBQUEsU0FBQSxFQUFBLEVBQUEsR0FDQSxFQUFBLFFBQUEsR0FBQSxFQUFBLE9BQUEsR0FBQSxLQUFBLEVBQUEsT0FBQSxNQUFBLFdBQ0EsR0FBQSxJQUNBLE1BQUEsaUJBQ0EsUUFBQSxtR0FDQSxLQUFBLFVBQ0EsUUFBQSxPQUVBLFdBQ0EsR0FBQSxJQUNBLE1BQUEsc0JBQ0EsUUFBQSxzQ0FDQSxLQUFBLFlBR0EsRUFBQSxHQUFBLFNBQUEsR0FBQSxFQUFBLE9BQUEsUUNoQkEsUUFBQSxPQUFBLFVBQ0EsVUFBQSxVQUFBLFdBQ0EsTUFBQSxVQUFBLEVBQUEsRUFBQSxHQUNBLEdBQUEsR0FBQSxFQUFBLE9BQ0EsR0FBQSxLQUNBLG1CQUFBLGVBQUEsRUFBQSxhQ0xBLFFBQUEsT0FBQSxVQUNBLFVBQUEsYUFBQSxXQUNBLE9BQ0EsU0FBQSxJQUNBLFFBQUEsVUFDQSxPQUNBLE1BQUEsV0FDQSxRQUFBLEtBRUEsWUFBQSx1Q0FDQSxLQUFBLFNBQUEsRUFBQSxFQUFBLEVBQUEsR0FDQSxFQUFBLE1BQUEsRUFBQSxVQUNBLEVBQUEsUUFBQSxFQUFBLFlBRUEsRUFBQSxpQkFBQSxRQUFBLFNBQUEsR0FDQSxFQUFBLGNBQUEsR0FDQSxFQUFBLGNBR0EsRUFBQSxZQUFBLFNBQUEsU0FBQSxHQUNBLE1BQUEsSUFBQSxHQUFBLEVBQUEsUUFHQSxHQUZBLEVBS0EsSUFBQSxHQUFBLEtBQUEsUUFBQSxFQUFBLEVBQUEsUUFDQSxFQUFBLFNBQUEsR0FDQSxFQUFBLENBQ0EsSUFBQSxHQUFBLEVBQUEsUUFBQSx3QkFDQSxFQUFBLEVBQUEsUUFDQSxHQUFBLElBQUEsRUFBQSxHQUFBLE9BQ0EsRUFBQSxNQUFBLEVBQUEsU0FBQSxZQUVBLEtBQUEsR0FEQSxHQUFBLEdBQUEsT0FBQSxJQUNBLEVBQUEsRUFBQSxFQUFBLEVBQUEsT0FBQSxJQUFBLENBQ0EsR0FBQSxHQUFBLEVBQUEsUUFBQSxJQUFBLEdBQUEsTUFDQSxHQUFBLElBQ0EsS0FBQSxFQUNBLGVBQUEsRUFBQSxZQUFBLEVBQUEsWUFBQSxHQUFBLEVBQ0EsUUFBQSxLQUFBLE9BQUEsRUFBQSxJQUdBLEVBQUEsS0FBQSxFQUVBLEdBQUEsR0FDQSxFQUFBLFVBQUEsU0FBQSxHQUlBLEdBSEEsRUFBQSxnQkFDQSxFQUFBLEVBQUEsTUFFQSxLQUFBLEVBQUEsRUFBQSxTQUFBLEVBQUEsTUFBQSxJQUVBLEVBQUEsTUFBQSxPQUFBLEVBQUEsT0FDQSxDQUVBLEdBQUEsR0FBQSxFQUFBLEdBQUEsQ0FDQSxJQUNBLFFBQUEsRUFBQSxNQUFBLElBQUEsS0FBQSxRQUFBLEtBQUEsTUFBQSxFQUFBLE1BQUEsSUFBQSxFQUFBLE1BQUEsS0FDQSxFQUFBLE1BQUEsT0FBQSxFQUFBLEVBQUEsRUFBQSxNQUNBLEdBQUEsR0FFQSxVQUNBLEdBQUEsS0FHQSxFQUFBLFNBQUEsU0FBQSxFQUFBLEdBQ0EsRUFBQSxNQUFBLEVBQUEsU0FDQSxLQUFBLEdBQUEsR0FBQSxFQUFBLEVBQUEsRUFBQSxNQUFBLE9BQUEsSUFDQSxHQUFBLEtBQUEsT0FBQSxLQUFBLE1BQUEsRUFBQSxNQUFBLElBQUEsR0FDQSxNQUFBLEdBQUEsR0FBQSxDQUdBLE9BQUEsR0FBQSxJQUFBLEdBRUEsRUFBQSxVQUFBLFdBQ0EsRUFBQSxFQUFBLElBQUEsR0FBQSxXQUVBLEVBQUEsVUFBQSxXQUNBLEVBQUEsRUFBQSxJQUFBLElBQUEsV0FHQSxFQUFBLFFBQUEsV0FBQSxTQUFBLEdBQ0EsS0FBQSxNQUFBLEVBQUEsU0FBQSxLQUFBLE1BQUEsSUFBQSxLQUNBLEVBQUEsTUFBQSxPQUFBLE1BQUEsUUNsRkEsUUFBQSxPQUFBLFVBQ0EsVUFBQSxjQUFBLFdBQUEsVUFBQSxlQUFBLFNBQUEsRUFBQSxFQUFBLEdBQ0EsT0FDQSxTQUFBLElBQ0EsWUFBQSx1Q0FDQSxPQUNBLE1BQUEsS0FFQSxLQUFBLFNBQUEsR0FDQSxFQUFBLFVBQ0EsSUFBQSxHQUFBLFFBQUEsUUFBQSxrQkFDQSxHQUFBLFdBQ0EsRUFBQSxVQUFBLEVBQUEsS0FBQSxtQkFFQSxFQUFBLGNBQUEsU0FBQSxHQUNBLEdBQUEsSUFDQSxNQUFBLGdCQUNBLFFBQUEsZ0RBQ0EsWUFBQSxlQUNBLFdBQUEsaUJBQ0EsZUFBQSxFQUNBLFFBQUEsV0FDQSxFQUFBLFFBQUEsR0FBQSxFQUFBLE1BQUEsSUFBQSxJQUFBLEVBQUEsS0FBQSxTQUFBLEdBQ0EsRUFBQSxNQUFBLFFBS0EsRUFBQSxZQUFBLFdBQ0EsR0FBQSxFQUFBLFlBQUEsT0FBQSxDQUNBLEdBQUEsR0FBQSxHQUFBLEdBQUEsRUFBQSxRQUNBLEdBQUEsT0FBQSxHQUFBLEVBQUEsTUFBQSxLQUFBLFNBQUEsR0FDQSxFQUFBLE1BQUEsRUFDQSxFQUFBLGFBRUEsRUFBQSxZQUFBLHNCQ25DQSxRQUFBLE9BQUEsVUFDQSxVQUFBLFlBQUEsWUFBQSxTQUFBLEdBQ0EsT0FDQSxTQUFBLElBQ0EsS0FBQSxTQUFBLEVBQUEsR0FDQSxFQUFBLFNBQUEsWUFDQSxFQUFBLE1BQUEsQ0FFQTtHQUFBLEdBQUEsU0FBQSxHQUNBLEdBQUEsR0FBQSxFQUFBLEtBQUEsRUFBQSxRQUFBLE9BQUEsQ0FDQSxJQUNBLEVBQUEsU0FHQSxHQUFBLE9BQUEsV0FDQSxFQUFBLE1BQUEsRUFBQSxLQUNBLEVBQUEsTUFDQSxFQUFBLFNBQUEsUUFDQSxFQUFBLEtBQUEsUUFBQSxLQUVBLEVBQUEsWUFBQSxRQUNBLEVBQUEsT0FBQSxRQUFBLFVDckJBLFFBQUEsT0FBQSxVQUNBLFFBQUEsYUFBQSxXQUNBLEtBQUEsaUJBQUEsMkNBQ0EsS0FBQSxXQUFBLEdBQUEsUUFBQSxLQUFBLGtCQUNBLEtBQUEsWUFBQSxTQUFBLEVBQUEsR0FDQSxNQUFBLEdBQUEsU0FBQSxFQUFBLGVBQ0EsRUFBQSxRQUFBLEVBQUEsY0FDQSxFQUFBLFVBQUEsRUFBQSxnQkFDQSxLQUdBLFVBQUEsWUFBQSxhQUFBLFNBQUEsR0FDQSxPQUNBLE9BQ0EsTUFBQSxJQUNBLEtBQUEsS0FFQSxZQUFBLCtCQUNBLEtBQUEsU0FBQSxHQUNBLEVBQUEsVUFFQSxFQUFBLFdBQUEsRUFBQSxXQUVBLEVBQUEsaUJBQUEsbUJBQUEsU0FBQSxHQUNBLEVBQUEsT0FBQSxLQUFBLEVBQUEsWUFBQSxFQUFBLFVBR0EsRUFBQSxpQkFBQSxvQkFBQSxTQUFBLEdBQ0EsRUFBQSxPQUFBLE1BQUEsRUFBQSxZQUFBLEVBQUEsZ0JBS0EsVUFBQSxhQUFBLGFBQUEsU0FBQSxHQUNBLE9BQ0EsT0FDQSxNQUFBLElBQ0EsS0FBQSxLQUVBLFlBQUEsZ0NBQ0EsS0FBQSxTQUFBLEdBQ0EsRUFBQSxVQUVBLEVBQUEsaUJBQUEsb0JBQUEsU0FBQSxHQUNBLEVBQUEsT0FBQSxNQUFBLEVBQUEsWUFBQSxFQUFBLFdBR0EsRUFBQSxpQkFBQSx1QkFBQSxTQUFBLEdBQ0EsRUFBQSxPQUFBLFNBQUEsRUFBQSxZQUFBLEVBQUEsbUJBTUEsVUFBQSxXQUFBLFdBQ0EsT0FDQSxPQUNBLE1BQUEsSUFDQSxLQUFBLEtBRUEsWUFBQSxrQ0FHQSxVQUFBLG9CQUFBLGFBQUEsU0FBQSxHQUNBLE9BQ0EsT0FDQSxNQUFBLElBQ0EsS0FBQSxLQUVBLFlBQUEsdUNBQ0EsS0FBQSxTQUFBLEdBQ0EsRUFBQSxXQUFBLEVBQUEsc0JBSUEsVUFBQSxnQkFBQSxRQUFBLGVBQUEsU0FBQSxFQUFBLEdBQ0EsT0FDQSxPQUNBLE1BQUEsSUFDQSxLQUFBLEtBRUEsWUFBQSxtQ0FDQSxLQUFBLFNBQUEsR0FDQSxFQUFBLFlBQUEsV0FDQSxFQUFBLG1CQUNBLEVBQUEsUUFBQSxHQUFBLEVBQUEsTUFBQSxLQUFBLFdBQ0EsRUFBQSxtQkFBQSxDQUNBLElBQUEsSUFDQSxNQUFBLHNCQUNBLFFBQUEsc0ZBQ0EsV0FBQSxlQU9BLFVBQUEsZUFBQSxXQUNBLE9BQ0EsT0FDQSxNQUFBLFlBRUEsUUFBQSxVQUNBLEtBQUEsU0FBQSxFQUFBLEVBQUEsRUFBQSxHQUNBLEVBQUEsU0FBQSxnQkFDQSxJQUFBLEdBQUEsV0FDQSxFQUFBLE1BQUEsbUJBQUEsR0FBQSxPQUNBLEVBQUEsU0FBQSxVQUVBLEVBQUEsWUFBQSxVQUdBLEdBQUEsT0FBQSxRQUFBLEdBQ0EsRUFBQSxLQUFBLFFBQUEsU0FBQSxHQUNBLEVBQUEsT0FBQSxFQUFBLE1BQ0EsRUFBQSxjQUFBLEVBQUEsTUFBQSxTQUtBLFVBQUEsWUFBQSxvQkFBQSxTQUFBLEdBQ0EsT0FDQSxPQUNBLE1BQUEsSUFDQSxLQUFBLEtBRUEsWUFBQSwrQkFDQSxLQUFBLFNBQUEsR0FDQSxHQUNBLEdBREEsR0FBQSxFQUVBLEVBQUEsRUFBQSxPQUFBLGNBQUEsU0FBQSxHQUNBLElBQUEsR0FDQSxJQUVBLEdBQUEsRUFDQSxFQUFBLEdBQUEsR0FBQSxFQUFBLE1BQUEsT0FDQSxFQUFBLFVBQUEsU0FBQSxHQUNBLEVBQUEsV0FBQSxXQU1BLFVBQUEsY0FBQSxXQUFBLFdBQ0EsT0FDQSxPQUNBLE1BQUEsWUFFQSxRQUFBLFVBQ0EsS0FBQSxTQUFBLEVBQUEsRUFBQSxFQUFBLEdBQ0EsRUFBQSxxQkFBQSxLQUFBLFdBQ0EsRUFBQSxNQUFBLEVBQUEsY0FHQSxFQUFBLFNBQUEsS0FBQSxTQUFBLEdBQ0EsTUFBQSxHQUNBLEtBQUEsTUFBQSxHQURBLFNBSUEsRUFBQSxZQUFBLEtBQUEsU0FBQSxHQUNBLEdBQUEsRUFBQSxTQUFBLEdBQUEsT0FBQSxDQUNBLElBQUEsR0FBQSxLQUFBLE1BQUEsRUFDQSxPQUFBLElBQ0EsRUFBQSxjQUFBLEVBQUEsU0FBQSxhQUNBLEVBQUEsV0FDQSxJQUVBLFFDdktBLFFBQUEsT0FBQSxVQUNBLFVBQUEsUUFBQSxXQUFBLGNBQUEsZUFBQSxTQUFBLEVBQUEsRUFBQSxHQUNBLE9BQ0EsU0FBQSxJQUNBLFlBQUEsaUNBQ0EsT0FDQSxNQUFBLEtBRUEsS0FBQSxTQUFBLEdBQ0EsRUFBQSxZQUNBLEVBQUEsY0FDQSxJQUFBLEtBRUEsR0FBQSxNQUFBLFNBQUEsS0FBQSxTQUFBLEdBR0EsSUFBQSxHQUZBLElBQUEsZUFBQSxnQkFBQSxnQkFBQSxhQUNBLEtBQ0EsRUFBQSxFQUFBLEVBQUEsRUFBQSxPQUFBLElBQUEsQ0FDQSxHQUFBLElBQUEsS0FBQSxFQUFBLEdBQ0EsR0FBQSxRQUNBLEtBQUEsR0FBQSxHQUFBLEVBQUEsRUFBQSxFQUFBLE1BQUEsT0FBQSxJQUFBLENBQ0EsR0FBQSxHQUFBLEtBQUEsU0FBQSxFQUNBLEdBQUEsTUFBQSxHQUFBLEVBRUEsRUFBQSxLQUFBLEdBRUEsRUFBQSxTQUFBLElBRUEsRUFBQSxPQUFBLFNBQUEsR0FDQSxHQUFBLElBQ0EsTUFBQSxVQUFBLEVBQUEsS0FBQSxJQUNBLFFBQUEsbUNBQUEsRUFBQSxLQUFBLGtCQUNBLFlBQUEsZUFDQSxXQUFBLGlCQUNBLGVBQUEsRUFDQSxRQUFBLFdBQ0EsRUFBQSxRQUFBLEdBQUEsRUFBQSxNQUFBLElBQUEsSUFBQSxFQUFBLEtBQUEsU0FBQSxHQUNBLEVBQUEsTUFBQSxRQUtBLEVBQUEsVUFBQSxTQUFBLEdBRUEsSUFBQSxHQURBLEdBQUEsRUFBQSxHQUNBLEVBQUEsRUFBQSxFQUFBLEVBQUEsT0FBQSxJQUNBLEdBQUEsRUFBQSxHQUFBLEVBQUEsT0FBQSxDQUVBLFFBQUEsR0FFQSxFQUFBLGFBQUEsU0FBQSxHQUNBLEVBQUEsR0FBQSxDQUNBLEtBQUEsR0FBQSxHQUFBLEVBQUEsRUFBQSxFQUFBLE1BQUEsYUFBQSxPQUFBLElBQ0EsRUFBQSxNQUFBLGFBQUEsR0FBQSxNQUFBLElBQUEsRUFBQSxJQUVBLE9BQUEsR0FBQSxJQUVBLEVBQUEsT0FBQSxTQUFBLEdBQ0EsRUFBQSxRQUNBLEdBQUEsRUFBQSxNQUFBLElBQ0EsSUFBQSxFQUFBLEtBQ0EsSUFFQSxFQUFBLEtBQUEsU0FBQSxHQUNBLEVBQUEsU0FBQSxFQUFBLE1BQUEsYUFBQSxRQUFBLElBQUEsUUFBQSxLQUFBLElBRUEsRUFBQSxPQUFBLFNBQUEsR0FDQSxFQUFBLE1BQUEsYUFBQSxHQUFBLEVBQUEsU0FBQSxJQUVBLEVBQUEsS0FBQSxXQUNBLEdBQUEsRUFBQSxRQUFBLE9BQUEsQ0FDQSxHQUFBLEdBQUEsR0FBQSxHQUFBLEVBQUEsWUFDQSxHQUFBLE9BQUEsR0FBQSxFQUFBLE1BQUEsS0FBQSxTQUFBLEdBQ0EsRUFBQSxNQUFBLEVBQ0EsRUFBQSxpQkFFQSxFQUFBLFFBQUEsc0JDMUVBLFFBQUEsT0FBQSxVQUNBLE9BQUEsV0FBQSxVQUFBLFNBQUEsR0FDQSxNQUFBLFVBQUEsR0FDQSxHQUFBLEVBQUEsQ0FDQSxHQUFBLEdBQUEsS0FBQSxNQUFBLEdBQ0EsR0FBQSxHQUFBLE9BQUEsVUFDQSxFQUFBLEVBQUEsRUFDQSxFQUFBLEtBQUEsTUFBQSxFQUFBLEtBQ0EsRUFBQSxLQUFBLE1BQUEsRUFBQSxJQUNBLEVBQUEsS0FBQSxNQUFBLEVBQUEsSUFDQSxFQUFBLEtBQUEsTUFBQSxFQUFBLEdBQ0EsT0FBQSxHQUFBLEdBQ0EsTUFBQSxFQUFBLFFBQUEsRUFBQSxVQUNBLEVBQUEsRUFDQSxFQUFBLFlBQ0EsR0FBQSxFQUNBLFlBQ0EsRUFBQSxFQUNBLEVBQUEsYUFDQSxHQUFBLEVBQ0EsY0FDQSxFQUFBLEVBQ0EsRUFBQSxlQUNBLEdBQUEsRUFDQSxlQUVBLHlCQzFCQSxRQUFBLE9BQUEsVUFDQSxRQUFBLGdCQUFBLFdBQUEsU0FBQSxHQUVBLE1BQUEsVUFBQSxHQUNBLEdBQUEsRUFDQSxHQUFBLEdBQ0EsWUFBQSw4QkFDQSxhQUFBLFFBQ0EsV0FBQSxXQUNBLEtBQUEsTUFBQSxFQUFBLE1BQ0EsS0FBQSxRQUFBLEVBQUEsUUFDQSxLQUFBLFFBQUEsRUFBQSxRQUFBLFdBQUEsRUFBQSxVQUFBLEVBQUEsZUFBQSxFQUNBLEtBQUEsT0FBQSxFQUFBLFdBQ0EsS0FBQSxZQUFBLEVBQUEsYUFBQSxVQUNBLEtBQUEsV0FBQSxFQUFBLFlBQUEsU0FDQSxLQUFBLGNBQUEsRUFBQSxpQkFHQSxFQUFBLFdBRUEsS0FBQSxRQUFBLFdBQ0EsRUFBQSxrQkNyQkEsUUFBQSxPQUFBLFVBQ0EsUUFBQSxnQkFBQSxXQUFBLFdBQUEsU0FBQSxFQUFBLEdBQ0EsTUFBQSxVQUFBLEdBQ0EsR0FBQSxFQUNBLEdBQUEsR0FDQSxZQUFBLDhCQUNBLGFBQUEsZUFDQSxXQUFBLFdBQ0EsS0FBQSxNQUFBLEVBQUEsTUFDQSxLQUFBLFFBQUEsRUFBQSxRQUNBLEtBQUEsTUFBQSxFQUFBLFdBQ0EsS0FBQSxLQUFBLEVBQUEsSUFDQSxJQUFBLEdBQUEsRUFBQSxTQUFBLEdBQ0EsR0FBQSxFQUFBLFdBQUEsTUFHQSxFQUFBLFdBRUEsS0FBQSxRQUFBLFdBQ0EsRUFBQSIsImZpbGUiOiJwdWJsaWMvYnVpbGQvYXBwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiYW5ndWxhci5tb2R1bGUoJ3JhbGxseScsIFsndWkucm91dGVyJywnbmdSZXNvdXJjZScsJ2J0Zm9yZC5tb2RhbCcsJ25nVGFnc0lucHV0JywnbmdBbmltYXRlJywnbmdGaXRUZXh0J10pXG4gICAgLmNvbmZpZyhmdW5jdGlvbigkc3RhdGVQcm92aWRlciwgJHVybFJvdXRlclByb3ZpZGVyLCAkbG9jYXRpb25Qcm92aWRlcil7XG4gICAgICAgICRsb2NhdGlvblByb3ZpZGVyLmh0bWw1TW9kZSh0cnVlKTtcbiAgICAgICAgJHVybFJvdXRlclByb3ZpZGVyLm90aGVyd2lzZShcIi9ub3Rmb3VuZFwiKVxuICAgICAgICAkc3RhdGVQcm92aWRlclxuICAgICAgICAuc3RhdGUoJ2luZGV4Jyx7XG4gICAgICAgICAgICB1cmwgOiAnLycsXG4gICAgICAgICAgICB0ZW1wbGF0ZVVybCA6ICd0ZW1wbGF0ZXMvaG9tZS5odG1sJyxcbiAgICAgICAgICAgIGNvbnRyb2xsZXIgOiAnSG9tZUN0cmwnXG4gICAgICAgIH0pXG4gICAgICAgIC5zdGF0ZSgnbmV3ZXZlbnQnLHtcbiAgICAgICAgICAgIHVybCA6ICcvbmV3JyxcbiAgICAgICAgICAgIHRlbXBsYXRlVXJsIDogJ3RlbXBsYXRlcy9uZXdFdmVudC9sYXlvdXQuaHRtbCcsXG4gICAgICAgICAgICBjb250cm9sbGVyIDogJ05ld0V2ZW50Q3RybCcsXG4gICAgICAgIH0pXG4gICAgICAgIC5zdGF0ZSgnbmV3ZXZlbnQuZ2VuZXJhbCcsIHtcbiAgICAgICAgICAgIHRlbXBsYXRlVXJsIDogJ3RlbXBsYXRlcy9uZXdFdmVudC9nZW5lcmFsLmh0bWwnXG4gICAgICAgIH0pXG4gICAgICAgIC5zdGF0ZSgnbmV3ZXZlbnQuZGF0ZXRpbWUnLCB7XG4gICAgICAgICAgICB0ZW1wbGF0ZVVybCA6ICd0ZW1wbGF0ZXMvbmV3RXZlbnQvZGF0ZXRpbWUuaHRtbCdcbiAgICAgICAgfSlcbiAgICAgICAgLnN0YXRlKCduZXdldmVudC5pbnZpdGUnLCB7XG4gICAgICAgICAgICB0ZW1wbGF0ZVVybCA6ICd0ZW1wbGF0ZXMvbmV3RXZlbnQvaW52aXRlLmh0bWwnXG4gICAgICAgIH0pXG4gICAgICAgIC5zdGF0ZSgnbmV3ZXZlbnQuc3VjY2VzcycsIHtcbiAgICAgICAgICAgIHRlbXBsYXRlVXJsIDogJ3RlbXBsYXRlcy9uZXdFdmVudC9zdWNjZXNzLmh0bWwnXG4gICAgICAgIH0pXG4gICAgICAgIC5zdGF0ZSgnYWJvdXQnLCB7XG4gICAgICAgICAgICB1cmwgOiAnL2Fib3V0JyxcbiAgICAgICAgICAgIHRlbXBsYXRlVXJsIDogJ3RlbXBsYXRlcy9hYm91dC5odG1sJyxcbiAgICAgICAgICAgIGNvbnRyb2xsZXIgOiAnQWJvdXRDdHJsJ1xuICAgICAgICB9KVxuICAgICAgICAuc3RhdGUoJ25vdGZvdW5kJywge1xuICAgICAgICAgICAgdXJsIDogJy9ub3Rmb3VuZCcsXG4gICAgICAgICAgICB0ZW1wbGF0ZVVybCA6ICd0ZW1wbGF0ZXMvbm90Zm91bmQuaHRtbCdcbiAgICAgICAgfSlcbiAgICAgICAgLnN0YXRlKCdldmVudCcse1xuICAgICAgICAgICAgdXJsIDogJy86aWQnLFxuICAgICAgICAgICAgdGVtcGxhdGVVcmwgOiAndGVtcGxhdGVzL2V2ZW50Lmh0bWwnLFxuICAgICAgICAgICAgY29udHJvbGxlciA6ICdFdmVudEN0cmwnXG4gICAgICAgIH0pXG4gICAgICAgIC5zdGF0ZSgnZWRpdGV2ZW50Jywge1xuICAgICAgICAgICAgdXJsOiAnLzppZC9lZGl0JyxcbiAgICAgICAgICAgIHRlbXBsYXRlVXJsIDogJ3RlbXBsYXRlcy9lZGl0ZXZlbnQuaHRtbCcsXG4gICAgICAgICAgICBjb250cm9sbGVyIDogJ0VkaXRFdmVudEN0cmwnXG4gICAgICAgIH0pXG4gICAgICAgIC5zdGF0ZSgndmVyaWZ5ZXZlbnQnLCB7XG4gICAgICAgICAgICB1cmwgOiAnL3ZlcmlmeS86aWQvY29kZS86Y29kZScsXG4gICAgICAgICAgICBjb250cm9sbGVyIDogJ1ZlcmlmaWNhdGlvbkN0cmwnXG4gICAgICAgIH0pXG4gICAgICAgIC5zdGF0ZSgnZGVsZXRlZXZlbnQnLCB7XG4gICAgICAgICAgICB1cmwgOiAnL2RlbGV0ZS86aWQvY29kZS86Y29kZScsXG4gICAgICAgICAgICBjb250cm9sbGVyIDogJ0RlbGV0aW9uQ3RybCdcbiAgICAgICAgfSlcbiAgICB9KVxuICAgIC5mYWN0b3J5KCdFdmVudCcsIGZ1bmN0aW9uKCRyZXNvdXJjZSl7XG4gICAgICAgIHJldHVybiAkcmVzb3VyY2UoJy9hcGkvZXZlbnQvOmlkJywgeyBpZCA6ICdAX2lkJyB9LCB7XG4gICAgICAgICAgICAndXBkYXRlJyA6IHsgbWV0aG9kIDogJ1BVVCcgfSxcbiAgICAgICAgICAgICd2ZXJpZnknIDogeyBtZXRob2QgOiAnR0VUJywgdXJsIDogJy9hcGkvZXZlbnQvOmlkL2NvZGUvOmNvZGUnIH0sXG4gICAgICAgICAgICAnZGVzdHJveSc6IHsgbWV0aG9kIDogJ0RFTEVURScsIHVybDogJy9hcGkvZXZlbnQvOmlkL2NvZGUvOmNvZGUnIH1cbiAgICAgICAgfSk7XG4gICAgfSlcbiAgICAuZmFjdG9yeSgnUGFydGljaXBhbnQnLCBmdW5jdGlvbigkcmVzb3VyY2Upe1xuICAgICAgICByZXR1cm4gJHJlc291cmNlKCcvYXBpL2V2ZW50LzppZC9wYXJ0aWNpcGFudC86cGlkJywgeyBpZDogJ0BfaWQnfSwge1xuICAgICAgICAgICAgJ3VwZGF0ZScgOiB7IG1ldGhvZCA6ICdQVVQnIH1cbiAgICAgICAgfSk7XG4gICAgfSlcbiAgICAuZmFjdG9yeSgnQ29tbWVudCcsIGZ1bmN0aW9uKCRyZXNvdXJjZSl7XG4gICAgICAgIHJldHVybiAkcmVzb3VyY2UoJy9hcGkvZXZlbnQvOmlkL2NvbW1lbnQvOmNpZCcsIHsgaWQgOiAnQF9pZCcgfSwge1xuICAgICAgICAgICAgJ3VwZGF0ZScgOiB7IG1ldGhvZCA6ICdQVVQnIH1cbiAgICAgICAgfSlcbiAgICB9KVxuICAgIC5mYWN0b3J5KCdUaXRsZScsIGZ1bmN0aW9uKCl7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzZXQgOiBmdW5jdGlvbih0aXRsZSl7XG4gICAgICAgICAgICAgICAgZG9jdW1lbnQudGl0bGUgPSB0aXRsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xuIiwiYW5ndWxhci5tb2R1bGUoXCJyYWxsbHlcIikucnVuKFtcIiR0ZW1wbGF0ZUNhY2hlXCIsIGZ1bmN0aW9uKCR0ZW1wbGF0ZUNhY2hlKSB7JHRlbXBsYXRlQ2FjaGUucHV0KFwidGVtcGxhdGVzL2Fib3V0Lmh0bWxcIixcIjxkaXYgc3R5bGU9XFxcIm1heC13aWR0aDo2MDBweFxcXCI+XFxuICAgIDxoMT5XaGF0IGlzIFJhbGxseT88L2gxPlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJybC1wYWdlLWRlc2NcXFwiPlJhbGxseSBpcyBhIGNvbGxhYm9yYXRpdmUgc2NoZWR1bGluZyBzZXJ2aWNlIHRoYXQgbWFrZXMgZGVjaWRpbmcgb24gYSBkYXRlIGZhc3QgYW5kIGVhc3kuPC9kaXY+XFxuICAgIDxoMj5IaSwgSVxcJ20gTHVrZSE8L2gyPlxcbiAgICA8cD5cXG4gICAgICAgIEkgY3JlYXRlZCBSYWxsbHkgYXMgc2lkZSBwcm9qZWN0IHRvIGhlbHAgbWUgbGVhcm4gc29tZSBuZXcgdGVjaG5vbG9naWVzLiBJIGRlY2lkZWQgdG8gcHVibGlzaCBpdCBiZWNhdXNlIEkgdGhvdWdodCBvdGhlciBwZW9wbGUgbWlnaHQgZmluZCBpdCB1c2VmdWwuIFJhbGxseSBpcyBhIGNvbXBsZXRlbHkgZnJlZSBzZXJ2aWNlLiBJbiBmYWN0IGl0IGlzIGV2ZW4gb3BlbiBzb3VyY2UuIFlvdSBjYW4gbG9vayBhdCB0aGUgbGF0ZXN0IHNvdXJjZSBjb2RlIG9uIEdpdGh1Yi5cXG4gICAgPC9wPlxcbjwvZGl2PlxcblwiKTtcbiR0ZW1wbGF0ZUNhY2hlLnB1dChcInRlbXBsYXRlcy9jb25maXJtbW9kYWwuaHRtbFwiLFwiPGRpdiBjbGFzcz1cXFwicmwtbW9kYWwtb3ZlcmxheVxcXCIgbmctY2xpY2s9XFxcIm1vZGFsLmNhbmNlbCgpXFxcIj48L2Rpdj5cXG5cXG48ZGl2IGNsYXNzPVxcXCJybC1tb2RhbFxcXCI+XFxuICAgIDxkaXYgY2xhc3M9XFxcInJsLW1vZGFsLXRpdGxlXFxcIj57e21vZGFsLnRpdGxlfX08L2Rpdj5cXG4gICAgPGRpdiBjbGFzcz1cXFwicmwtbW9kYWwtbWVzc2FnZVxcXCI+XFxuICAgICAgICB7e21vZGFsLm1lc3NhZ2V9fVxcbiAgICA8L2Rpdj5cXG4gICAgPGRpdiBjbGFzcz1cXFwicmwtbW9kYWwtYWN0aW9uc1xcXCI+XFxuICAgICAgICA8YnV0dG9uIHR5cGU9XFxcImJ1dHRvblxcXCIgbmctY2xpY2s9XFxcIm1vZGFsLmNvbmZpcm0oKVxcXCIgbmctc2hvdz1cXFwibW9kYWwuY29uZmlybVxcXCIgY2xhc3M9XFxcImJ0blxcXCIgbmctY2xhc3M9XFxcIntkYW5nZXIgOiBtb2RhbC5pc0Rlc3RydWN0aXZlfVxcXCI+e3ttb2RhbC5jb25maXJtVGV4dH19PC9idXR0b24+XFxuICAgICAgICA8YnV0dG9uIHR5cGU9XFxcImJ1dHRvblxcXCIgbmctY2xpY2s9XFxcIm1vZGFsLmNhbmNlbCgpXFxcIiAgY2xhc3M9XFxcImJ0blxcXCI+e3ttb2RhbC5jYW5jZWxUZXh0fX08L2J1dHRvbj5cXG4gICAgPC9kaXY+XFxuPC9kaXY+XFxuXCIpO1xuJHRlbXBsYXRlQ2FjaGUucHV0KFwidGVtcGxhdGVzL2VkaXRldmVudC5odG1sXCIsXCI8ZGl2IG5nLXNob3c9XFxcImV2ZW50Ll9pZFxcXCI+XFxuICAgIDxkaXYgY2xhc3M9XFxcImJveFxcXCI+XFxuXFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJib3gtdGl0bGVcXFwiPkVkaXQgRXZlbnQ8L2Rpdj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcImJveC1kZXNjcmlwdGlvblxcXCI+XFxuICAgICAgICAgICAgWW91IGNhbiBtYWtlcyBjaGFuZ2VzIHRvIHlvdXIgZXhpc3RpbmcgZXZlbnQgYnkgY2hhbmdpbmcgdGhlIGZpZWxkcyBpbiB0aGUgZm9ybSBiZWxvdy5cXG4gICAgICAgIDwvZGl2PlxcblxcbiAgICAgICAgPGZvcm0gbm92YWxpZGF0ZSBuYW1lPVxcXCJmb3JtXFxcIiBuZy1zdWJtaXQ9XFxcInN1Ym1pdCgpXFxcIj5cXG5cXG4gICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz1cXFwiYm94LXNlY3Rpb25cXFwiIHVzZXItZm9ybSBmb3JtPVxcXCJmb3JtXFxcIiBldmVudD1cXFwiZXZlbnRcXFwiPlxcblxcbiAgICAgICAgICAgIDwvc2VjdGlvbj5cXG5cXG4gICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz1cXFwiYm94LXNlY3Rpb25cXFwiIGV2ZW50LWZvcm0gZm9ybT1cXFwiZm9ybVxcXCIgZXZlbnQ9XFxcImV2ZW50XFxcIj5cXG5cXG4gICAgICAgICAgICA8L3NlY3Rpb24+XFxuICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9XFxcImJveC1zZWN0aW9uXFxcIiBkYXRlLWZvcm0gZm9ybT1cXFwiZm9ybVxcXCIgZXZlbnQ9XFxcImV2ZW50XFxcIj5cXG5cXG4gICAgICAgICAgICA8L3NlY3Rpb24+XFxuXFxuICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9XFxcImJveC1zZWN0aW9uXFxcIiBzZXR0aW5ncy1mb3JtIGZvcm09XFxcImZvcm1cXFwiIGV2ZW50PVxcXCJldmVudFxcXCI+XFxuXFxuICAgICAgICAgICAgPC9zZWN0aW9uPlxcblxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImJveC1jb250cm9scyBib3gtYm90dG9tLXN0aWNreVxcXCI+XFxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cXFwic3VibWl0XFxcIiBuZy1zaG93PVxcXCJkaWRDaGFuZ2UoKVxcXCIgY2xhc3M9XFxcImJ0biBidG4tcHJpbWFyeVxcXCIgbmctY2xhc3M9XFxcIntkaXNhYmxlZCA6ICFkaWRDaGFuZ2UoKX1cXFwiPlxcbiAgICAgICAgICAgICAgICAgICAgU2F2ZSBDaGFuZ2VzXFxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XFxcImJ1dHRvblxcXCIgbmctY2xpY2s9XFxcInVuZG9DaGFuZ2VzKClcXFwiIGNsYXNzPVxcXCJidG5cXFwiIG5nLXNob3c9XFxcImRpZENoYW5nZSgpXFxcIj5VbmRvIENoYW5nZXM8L2J1dHRvbj5cXG4gICAgICAgICAgICAgICAgPGEgaHJlZj1cXFwiL3t7ZXZlbnQuX2lkfX1cXFwiIGNsYXNzPVxcXCJidG5cXFwiIG5nLWhpZGU9XFxcImRpZENoYW5nZSgpXFxcIj5Eb25lPC9hPlxcbiAgICAgICAgICAgIDwvZGl2PlxcblxcbiAgICAgICAgPC9mb3JtPlxcblxcbiAgICA8L2Rpdj5cXG5cXG48L2Rpdj5cXG5cIik7XG4kdGVtcGxhdGVDYWNoZS5wdXQoXCJ0ZW1wbGF0ZXMvZXZlbnQuaHRtbFwiLFwiPGRpdiBuZy1zaG93PVxcXCJldmVudC5faWQgJiYgIWV2ZW50LmlzRGVsZXRlZFxcXCI+XFxuICAgIDxkaXYgY2xhc3M9XFxcImJveCBcXFwiPlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwiZXZlbnQtaGVhZGVyXFxcIj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJkZXRhaWxzXFxcIj5cXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwidGl0bGVcXFwiPlxcbiAgICAgICAgICAgICAgICAgICAge3tldmVudC50aXRsZX19XFxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cXFwidGl0bGUtbGFiZWwgZGFuZ2VyXFxcIiBuZy1zaG93PVxcXCJldmVudC5pc0Nsb3NlZFxcXCI+UG9sbCBDbG9zZWQ8L3NwYW4+XFxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cXFwidGl0bGUtbGFiZWwgc3VjY2Vzc1xcXCIgbmctaGlkZT1cXFwiZXZlbnQuaXNDbG9zZWRcXFwiPlBvbGwgT3Blbjwvc3Bhbj5cXG4gICAgICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcInN1YnRpdGxlXFxcIj5cXG4gICAgICAgICAgICAgICAgICAgIENyZWF0ZWQgYnkgPGEgaHJlZj1cXFwibWFpbHRvOnt7ZXZlbnQuY3JlYXRvci5lbWFpbH19XFxcIj57e2V2ZW50LmNyZWF0b3IubmFtZX19PC9hPiAmYnVsbDsge3tldmVudC5jcmVhdGVkIHwgZWxhcHNlZH19XFxuICAgICAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImFjdGlvbnNcXFwiPlxcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVxcXCJidG5cXFwiIG5nLWNsaWNrPVxcXCJlZGl0RXZlbnQoKVxcXCI+RWRpdCBFdmVudDwvYnV0dG9uPlxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgPC9kaXY+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJldmVudC1kZXNjcmlwdGlvbiBib3gtc2lkZS1zdGlja3lcXFwiIG5nLWlmPVxcXCJldmVudC5kZXNjcmlwdGlvblxcXCI+e3tldmVudC5kZXNjcmlwdGlvbn19PC9kaXY+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJldmVudC1sb2NhdGlvblxcXCIgbmctaWY9XFxcImV2ZW50LmxvY2F0aW9uXFxcIj5cXG4gICAgICAgICAgICBMb2NhdGlvbjpcXG4gICAgICAgICAgICA8YSAgaHJlZj1cXFwiaHR0cDovL21hcHMuZ29vZ2xlLmNvbT9xPXt7ZXZlbnQubG9jYXRpb259fVxcXCIgIHRhcmdldD1cXFwiX2JsYW5rXFxcIj57e2V2ZW50LmxvY2F0aW9ufX08L2E+XFxuICAgICAgICA8L2Rpdj5cXG5cXG4gICAgICAgIDxkaXYgcG9sbCBldmVudD1cXFwiZXZlbnRcXFwiIGNsYXNzPVxcXCJwb2xsXFxcIj5cXG4gICAgICAgIDwvZGl2PlxcbiAgICA8L2Rpdj5cXG5cXG4gICAgPGRpdiBjbGFzcz1cXFwiYm94XFxcIiBuZy1oaWRlPVxcXCJldmVudC5jb21tZW50cy5sZW5ndGggPT0gMCAmJiBldmVudC5pc0Nsb3NlZFxcXCI+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJib3gtdGl0bGVcXFwiPlxcbiAgICAgICAgICAgIERpc2N1c3Npb25cXG4gICAgICAgIDwvZGl2PlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwiYm94LWRlc2NyaXB0aW9uXFxcIj5cXG4gICAgICAgICAgICBZb3UgY2FuIGRpc2N1c3MgdGhlIGV2ZW50IHdpdGggeW91ciBmcmllbmRzIGJ5IGxlYXZpbmcgYSBjb21tZW50IGJlbG93LlxcbiAgICAgICAgPC9kaXY+XFxuICAgICAgICA8ZGl2IGRpc2N1c3Npb24gZXZlbnQ9XFxcImV2ZW50XFxcIj5cXG5cXG4gICAgICAgIDwvZGl2PlxcbiAgICA8L2Rpdj5cXG48L2Rpdj5cXG5cIik7XG4kdGVtcGxhdGVDYWNoZS5wdXQoXCJ0ZW1wbGF0ZXMvaG9tZS5odG1sXCIsXCI8ZGl2IGNsYXNzPVxcXCJwYWdlLXBsYWNlaG9sZGVyXFxcIj5cXG4gICAgPGRpdiBjbGFzcz1cXFwiaW1hZ2VcXFwiPlxcbiAgICAgICAgPGltZyBzcmM9XFxcIi9pbWFnZXMvbWFya19sYXJnZS5wbmdcXFwiIHdpZHRoPVxcXCI2N1xcXCIgLz5cXG4gICAgPC9kaXY+XFxuICAgIDxkaXYgY2xhc3M9XFxcInRpdGxlXFxcIj5cXG4gICAgICAgIFNjaGVkdWxlIGFuIEV2ZW50XFxuICAgIDwvZGl2PlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJjb250ZW50XFxcIj5cXG4gICAgICAgIFdhbnQgdG8gaG9zdCBhbiBldmVudCBidXQgY2Fu4oCZdCBkZWNpZGUgb24gYSBkYXRlPyBDbGljayBvbiB0aGUgYnV0dG9uIGJlbG93IHRvIHN0YXJ0IVxcbiAgICA8L2Rpdj5cXG4gICAgPGJ1dHRvbiBuZy1jbGljaz1cXFwibmV3RXZlbnQoKVxcXCIgY2xhc3M9XFxcImJ0blxcXCI+U2NoZWR1bGUgTmV3IEV2ZW50PC9idXR0b24+XFxuPC9kaXY+XFxuXCIpO1xuJHRlbXBsYXRlQ2FjaGUucHV0KFwidGVtcGxhdGVzL25vdGZvdW5kLmh0bWxcIixcIjxoMT5FcnJvciA0MDQ8L2gxPlxcbjxoMj5Ob3QgRm91bmQ8L2gyPlxcblwiKTtcbiR0ZW1wbGF0ZUNhY2hlLnB1dChcInRlbXBsYXRlcy9ub3RpZmljYXRpb24uaHRtbFwiLFwiPGRpdiBjbGFzcz1cXFwibm90aWZpY2F0aW9uIHt7bm90aWZpY2F0aW9uLnR5cGV9fVxcXCIgbmctY2xpY2s9XFxcIm5vdGlmaWNhdGlvbi5jbG9zZSgpXFxcIj5cXG4gICAgPGRpdiBjbGFzcz1cXFwidGl0bGVcXFwiPlxcbiAgICAgICAge3tub3RpZmljYXRpb24udGl0bGV9fVxcbiAgICA8L2Rpdj5cXG4gICAgPGRpdiBjbGFzcz1cXFwibWVzc2FnZVxcXCI+XFxuICAgICAgICB7e25vdGlmaWNhdGlvbi5tZXNzYWdlfX1cXG4gICAgPC9kaXY+XFxuPC9kaXY+XFxuXCIpO1xuJHRlbXBsYXRlQ2FjaGUucHV0KFwidGVtcGxhdGVzL2RpcmVjdGl2ZXMvZGF0ZVBpY2tlci5odG1sXCIsXCI8ZGl2IGNsYXNzPVxcXCJkYXRlLXBpY2tlclxcXCI+XFxuICAgIDxkaXYgY2xhc3M9XFxcIndyYXBwZXJcXFwiPlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwiZGF0ZS1waWNrZXItaGVhZFxcXCI+XFxuICAgICAgICAgICAgPGEgaHJlZj1cXFwiI1xcXCIgY2xhc3M9XFxcImFycm93XFxcIiBuZy1jbGljaz1cXFwicHJldk1vbnRoKClcXFwiPiYjMTAwOTQ7PC9hPlxcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVxcXCJ0aXRsZVxcXCI+XFxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVxcXCJ0aXRsZS10ZXh0XFxcIj57e3RpdGxlfX08L3NwYW4+XFxuICAgICAgICAgICAgPC9zcGFuPlxcbiAgICAgICAgICAgIDxhIGhyZWY9XFxcIiNcXFwiIGNsYXNzPVxcXCJhcnJvd1xcXCIgbmctY2xpY2s9XFxcIm5leHRNb250aCgpXFxcIj4mIzEwMDk1OzwvYT5cXG4gICAgICAgIDwvZGl2PlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwiZG93XFxcIj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJkYXlcXFwiPlxcbiAgICAgICAgICAgICAgICBTdW5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJkYXlcXFwiPlxcbiAgICAgICAgICAgICAgICBNb25cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJkYXlcXFwiPlxcbiAgICAgICAgICAgICAgICBUdWVcXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJkYXlcXFwiPlxcbiAgICAgICAgICAgICAgICBXZWRcXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJkYXlcXFwiPlxcbiAgICAgICAgICAgICAgICBUaHVcXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJkYXlcXFwiPlxcbiAgICAgICAgICAgICAgICBGcmlcXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJkYXlcXFwiPlxcbiAgICAgICAgICAgICAgICBTYXRcXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDwvZGl2PlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwidmFsdWVzXFxcIj5cXG4gICAgICAgICAgICA8ZGl2IG5nLXJlcGVhdD1cXFwiZGF5IGluIGRheXNcXFwiIGNsYXNzPVxcXCJ2YWx1ZVxcXCIgIG5nLWNsYXNzPVxcXCJ7IG91dHNpZGUgOiBkYXkuaXNPdXRzaWRlTW9udGgsIHRvZGF5IDogZGF5LmlzVG9kYXksIGFjdGl2ZSA6IGlzQWN0aXZlKGRheS5kYXRlKSB9XFxcIiBuZy1jbGljaz1cXFwic2VsZWN0RGF5KGRheSlcXFwiPlxcbiAgICAgICAgICAgICAgICB7e2RheS5kYXRlIHwgZGF0ZSA6IFxcJ2RcXCcgfX1cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDwvZGl2PlxcbiAgICA8L2Rpdj5cXG48L2Rpdj5cXG5cIik7XG4kdGVtcGxhdGVDYWNoZS5wdXQoXCJ0ZW1wbGF0ZXMvZGlyZWN0aXZlcy9kaXNjdXNzaW9uLmh0bWxcIixcIjx1bCBjbGFzcz1cXFwiY29tbWVudC10aHJlYWRcXFwiIG5nLXNob3c9XFxcImV2ZW50LmNvbW1lbnRzLmxlbmd0aFxcXCI+XFxuICAgIDxsaSBuZy1yZXBlYXQ9XFxcImNvbW1lbnQgaW4gZXZlbnQuY29tbWVudHNcXFwiIGNsYXNzPVxcXCJjb21tZW50XFxcIj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcImF2YXRhci1zZWN0aW9uXFxcIj5cXG4gICAgICAgICAgICA8aW1nIHNyYz1cXFwiL2ltYWdlcy9hdmF0YXIucG5nXFxcIiAvPlxcbiAgICAgICAgPC9kaXY+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJjb21tZW50LXNlY3Rpb25cXFwiPlxcbiAgICAgICAgICAgIDxhIGhyZWY9XFxcIiNcXFwiIGNsYXNzPVxcXCJjb21tZW50LWRlbGV0ZVxcXCIgbmctY2xpY2s9XFxcImRlbGV0ZUNvbW1lbnQoY29tbWVudClcXFwiPiZ0aW1lczs8L2E+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwibWV0YVxcXCI+XFxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVxcXCJuYW1lXFxcIj57e2NvbW1lbnQuYXV0aG9yLm5hbWV9fTwvc3Bhbj5cXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XFxcInRpbWVcXFwiPnt7Y29tbWVudC5jcmVhdGVkIHwgZWxhcHNlZH19PC9zcGFuPlxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImNvbnRlbnRcXFwiPnt7Y29tbWVudC5jb250ZW50fX08L2Rpdj5cXG4gICAgICAgIDwvZGl2PlxcbiAgICA8L2xpPlxcbjwvdWw+XFxuPGZvcm0gbm92YWxpZGF0ZSBuZy1zdWJtaXQ9XFxcInBvc3RDb21tZW50KClcXFwiIG5hbWU9XFxcImNvbW1lbnRGb3JtXFxcIiBjbGFzcz1cXFwiY29tbWVudC1mb3JtXFxcIj5cXG4gICAgPGRpdiBjbGFzcz1cXFwiYXZhdGFyLXNlY3Rpb25cXFwiPlxcbiAgICAgICAgPGltZyBzcmM9XFxcIi9pbWFnZXMvYXZhdGFyLnBuZ1xcXCIgLz5cXG4gICAgPC9kaXY+XFxuICAgIDxkaXYgY2xhc3M9XFxcImlucHV0LXNlY3Rpb24gZm9ybS1ncm91cFxcXCI+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJjb250ZW50LXNlY3Rpb25cXFwiPlxcbiAgICAgICAgICAgIDx0ZXh0YXJlYSBjbGFzcz1cXFwiZm9ybS1jb250cm9sXFxcIiByZXF1aXJlZCBuZy1tb2RlbD1cXFwiY29tbWVudC5jb250ZW50XFxcIiBwbGFjZWhvbGRlcj1cXFwiV3JpdGUgYSBjb21tZW50Li4uXFxcIj48L3RleHRhcmVhPlxcbiAgICAgICAgPC9kaXY+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJuYW1lLXNlY3Rpb25cXFwiPlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcIm5hbWUtY29udGFpbmVyXFxcIj5cXG4gICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XFxcInRleHRcXFwiIGNsYXNzPVxcXCJmb3JtLWNvbnRyb2xcXFwiIHJlcXVpcmVkIHBsYWNlaG9sZGVyPVxcXCJZb3VyIE5hbWVcXFwiIG5nLW1vZGVsPVxcXCJjb21tZW50LmF1dGhvci5uYW1lXFxcIiAvPlxcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XFxcInN1Ym1pdFxcXCIgY2xhc3M9XFxcImJ0blxcXCI+UG9zdCBDb21tZW50PC9idXR0b24+XFxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVxcXCJmb3JtLWVycm9yXFxcIiBuZy1zaG93PVxcXCJjb21tZW50Rm9ybS4kc3VibWl0dGVkICYmIGNvbW1lbnRGb3JtLiRlcnJvclxcXCI+XFxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cXFwiL2ltYWdlcy9lcnJvci5wbmdcXFwiIHdpZHRoPVxcXCIxNFxcXCIgLz4gTWFrZSBzdXJlIHlvdSBmaWxsIGluIGFsbCB0aGUgZmllbGRzLlxcbiAgICAgICAgICAgICAgICA8L3NwYW4+XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICA8L2Rpdj5cXG4gICAgPC9kaXY+XFxuPC9mb3JtPlxcblwiKTtcbiR0ZW1wbGF0ZUNhY2hlLnB1dChcInRlbXBsYXRlcy9kaXJlY3RpdmVzL3BvbGwuaHRtbFwiLFwiPGRpdiBjbGFzcz1cXFwicG9sbC1oZWFkZXJcXFwiPlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJoZWFkZXIgcGFydGljaXBhbnRzLWhlYWRlclxcXCI+XFxuICAgICAgICB7e2V2ZW50LnBhcnRpY2lwYW50cy5sZW5ndGh9fSBwYXJ0aWNpcGFudHNcXG4gICAgPC9kaXY+XFxuICAgIDxkaXYgY2xhc3M9XFxcImhlYWRlciBkYXRlLWhlYWRlclxcXCIgbmctcmVwZWF0PVxcXCJkIGluIGV2ZW50LmRhdGVzXFxcIj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcImRhdGljb25cXFwiPlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImRvd1xcXCI+XFxuICAgICAgICAgICAgICAgIHt7ZCB8IGRhdGU6IFxcJ0VFRVxcJ319XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiZGF5XFxcIj5cXG4gICAgICAgICAgICAgICAge3tkIHwgZGF0ZTogXFwnZFxcJ319XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwibW9udGhcXFwiPlxcbiAgICAgICAgICAgICAgICB7e2QgfCBkYXRlIDogXFwnTU1NXFwnfX1cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cXFwiY291bnRcXFwiIG5nLXNob3c9XFxcInNlbGVjdGVkRGF0ZSgkaW5kZXgpXFxcIiBuZy1jbGFzcz17dG9wOmlzVG9wRGF0ZSgkaW5kZXgpfT57e3NlbGVjdGVkRGF0ZSgkaW5kZXgpfX08L3NwYW4+XFxuICAgICAgICA8L2Rpdj5cXG4gICAgPC9kaXY+XFxuICAgIDxkaXYgY2xhc3M9XFxcImhlYWRlciBhY3Rpb25zLWhlYWRlclxcXCI+XFxuXFxuICAgIDwvZGl2PlxcbjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcInBvbGwtYm9keVxcXCI+XFxuICAgIDxkaXYgY2xhc3M9XFxcInBvbGwtZW50cnlcXFwiIG5nLXJlcGVhdD1cXFwicGFydGljaXBhbnQgaW4gZXZlbnQucGFydGljaXBhbnRzXFxcIj5cXG4gICAgICAgIDxmb3JtIG5vdmFsaWRhdGUgbmctc3VibWl0PVxcXCJ1cGRhdGUocGFydGljaXBhbnQpOyBlZGl0TW9kZSA9IGZhbHNlXFxcIj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJjZWxsIG5hbWUtY2VsbFxcXCI+XFxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVxcXCJhdmF0YXIgc3R5bGUte3skaW5kZXggKyAxfX1cXFwiPlxcbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XFxcIi9pbWFnZXMvdXNlci5wbmdcXFwiIHdpZHRoPVxcXCIxMVxcXCIgLz5cXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxcbiAgICAgICAgICAgICAgICA8aW5wdXQgcmVxdWlyZWQgYXV0b2NvbXBsZXRlPVxcXCJvZmZcXFwiIHR5cGU9XFxcInRleHRcXFwiIGNsYXNzPVxcXCJmb3JtLWNvbnRyb2xcXFwiIG5nLW1vZGVsPVxcXCJwYXJ0aWNpcGFudC5uYW1lXFxcIiBuZy1zaG93PVxcXCJlZGl0TW9kZVxcXCIgdmFsdWU9XFxcInBhcnRpY2lwYW50Lm5hbWVcXFwiLz5cXG4gICAgICAgICAgICAgICAgPHNwYW4gbmctaGlkZT1cXFwiZWRpdE1vZGVcXFwiIGNsYXNzPVxcXCJuYW1lIGVkaXRhYmxlXFxcIiBuZy1jbGljaz1cXFwiZWRpdE1vZGUgPSB0cnVlICYmICFldmVudC5pc0Nsb3NlZDsgZWRpdChwYXJ0aWNpcGFudClcXFwiPnt7cGFydGljaXBhbnQubmFtZX19PC9zcGFuPlxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImNlbGwgdm90ZS1jZWxsXFxcIiBuZy1yZXBlYXQ9XFxcImRhdGUgaW4gZXZlbnQuZGF0ZXNcXFwiPlxcbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cXFwiL2ltYWdlcy90aWNrQDJ4LnBuZ1xcXCIgIHdpZHRoPVxcXCIxNlxcXCIgbmctaGlkZT1cXFwiZWRpdE1vZGVcXFwiIG5nLWlmPVxcXCJwYXJ0aWNpcGFudC52b3Rlc1skaW5kZXhdXFxcIiAvPlxcbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cXFwiL2ltYWdlcy9ub3BlQDJ4LnBuZ1xcXCIgd2lkdGg9XFxcIjhcXFwiIG5nLWhpZGU9XFxcImVkaXRNb2RlXFxcIiBuZy1pZj1cXFwiIXBhcnRpY2lwYW50LnZvdGVzWyRpbmRleF1cXFwiIC8+XFxuICAgICAgICAgICAgICAgIDxpbnB1dCBuZy1tb2RlbD1cXFwicGFydGljaXBhbnQudm90ZXNbJGluZGV4XVxcXCIgbmctc2hvdz1cXFwiZWRpdE1vZGVcXFwiIG5nLWZhbHNlLXZhbHVlPVxcXCJmYWxzZVxcXCIgdHlwZT1cXFwiY2hlY2tib3hcXFwiIC8+XFxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcIm92ZXJsYXlcXFwiIG5nLXNob3c9XFxcImVkaXRNb2RlXFxcIiBuZy1jbGljaz1cXFwicGFydGljaXBhbnQudm90ZXNbJGluZGV4XSA9ICFwYXJ0aWNpcGFudC52b3Rlc1skaW5kZXhdXFxcIj48L2Rpdj5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJjZWxsIGFjdGlvbi1jZWxsXFxcIiBuZy1oaWRlPVxcXCJldmVudC5pc0Nsb3NlZFxcXCI+XFxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cXFwiYnV0dG9uXFxcIiBuZy1oaWRlPVxcXCJlZGl0TW9kZVxcXCIgbmctY2xpY2s9XFxcImVkaXRNb2RlID0gdHJ1ZTsgZWRpdChwYXJ0aWNpcGFudClcXFwiIGNsYXNzPVxcXCJidG4gaG92ZXJcXFwiPkVkaXQ8L2J1dHRvbj5cXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVxcXCJidXR0b25cXFwiIG5nLWhpZGU9XFxcImVkaXRNb2RlXFxcIiBuZy1jbGljaz1cXFwiZGVsZXRlKHBhcnRpY2lwYW50KVxcXCIgY2xhc3M9XFxcImJ0biBkYW5nZXIgaG92ZXJcXFwiPkRlbGV0ZTwvYnV0dG9uPlxcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XFxcInN1Ym1pdFxcXCIgbmctc2hvdz1cXFwiZWRpdE1vZGVcXFwiIGNsYXNzPVxcXCJidG5cXFwiPlNhdmU8L2J1dHRvbj5cXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVxcXCJidXR0b25cXFwiIG5nLXNob3c9XFxcImVkaXRNb2RlXFxcIiBuZy1jbGljaz1cXFwiZWRpdE1vZGUgPSBmYWxzZTsgY2FuY2VsKCRpbmRleClcXFwiIGNsYXNzPVxcXCJidG5cXFwiPkNhbmNlbDwvYnV0dG9uPlxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgPC9mb3JtPlxcbiAgICA8L2Rpdj5cXG4gICAgPGRpdiBjbGFzcz1cXFwicG9sbC1leGFtcGxlXFxcIiBuZy1jbGFzcz1cXFwie2hpZGRlbiA6IGV2ZW50LnBhcnRpY2lwYW50cy5sZW5ndGggPiAwfVxcXCI+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJwb2xsLWVudHJ5XFxcIiBuZy1yZXBlYXQ9XFxcImV4YW1wbGUgaW4gZXhhbXBsZXNcXFwiPlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImNlbGwgbmFtZS1jZWxsXFxcIj5cXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XFxcImF2YXRhciBzdHlsZS17eyRpbmRleCArIDF9fVxcXCI+XFxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cXFwiL2ltYWdlcy91c2VyLnBuZ1xcXCIgd2lkdGg9XFxcIjExXFxcIiAvPlxcbiAgICAgICAgICAgICAgICA8L3NwYW4+XFxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVxcXCJuYW1lXFxcIj57e2V4YW1wbGUubmFtZX19PC9zcGFuPlxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImNlbGwgdm90ZS1jZWxsXFxcIiBuZy1yZXBlYXQ9XFxcImRhdGUgaW4gZXZlbnQuZGF0ZXNcXFwiPlxcbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cXFwiL2ltYWdlcy90aWNrQDJ4LnBuZ1xcXCIgIHdpZHRoPVxcXCIxNlxcXCIgbmctaWY9XFxcImV4YW1wbGUudm90ZXNbJGluZGV4XVxcXCIgLz5cXG4gICAgICAgICAgICAgICAgPGltZyBzcmM9XFxcIi9pbWFnZXMvbm9wZUAyeC5wbmdcXFwiIHdpZHRoPVxcXCI4XFxcIiBuZy1pZj1cXFwiIWV4YW1wbGUudm90ZXNbJGluZGV4XVxcXCIgLz5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJjZWxsIGFjdGlvbi1jZWxsXFxcIj5cXG5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDwvZGl2PlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwib3ZlcmxheVxcXCI+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwib3ZlcmxheS10ZXh0XFxcIj5cXG4gICAgICAgICAgICAgICAgRmlsbCBpbiB0aGUgZm9ybSBiZWxvdyB0byBnZXQgc3RhcnRlZFxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgPC9kaXY+XFxuICAgIDwvZGl2PlxcbiAgICA8ZGl2IG5nLWhpZGU9XFxcImV2ZW50LmlzQ2xvc2VkXFxcIiBjbGFzcz1cXFwicG9sbC1lbnRyeSBoaWdobGlnaHRcXFwiPlxcbiAgICAgICAgPGZvcm0gbm92YWxpZGF0ZSBuYW1lPVxcXCJmb3JtbmV3XFxcIiBuZy1zdWJtaXQ9XFxcInNhdmUoKVxcXCI+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiY2VsbCBuYW1lLWNlbGxcXFwiPlxcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cXFwiYXZhdGFyIHN0eWxlLXt7cGFydGljaXBhbnQuc3R5bGV9fVxcXCI+XFxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cXFwiL2ltYWdlcy91c2VyLnBuZ1xcXCIgd2lkdGg9XFxcIjExXFxcIiAvPlxcbiAgICAgICAgICAgICAgICA8L3NwYW4+XFxuICAgICAgICAgICAgICAgIDxpbnB1dCBhdXRvY29tcGxldGU9XFxcIm9mZlxcXCIgbmFtZT1cXFwidXNlcm5hbWVcXFwiIHR5cGU9XFxcInRleHRcXFwiIGNsYXNzPVxcXCJmb3JtLWNvbnRyb2xcXFwiIHBsYWNlaG9sZGVyPVxcXCJZb3VyIG5hbWUuLi5cXFwiIG5nLW1vZGVsPVxcXCJwYXJ0aWNpcGFudC5uYW1lXFxcIiByZXF1aXJlZCB2YWx1ZT1cXFwicGFydGljaXBhbnQubmFtZVxcXCIvPlxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImNlbGwgdm90ZS1jZWxsXFxcIiBuZy1yZXBlYXQ9XFxcImRhdGUgaW4gZXZlbnQuZGF0ZXNcXFwiPlxcbiAgICAgICAgICAgICAgICA8aW5wdXQgbmctbW9kZWw9XFxcInBhcnRpY2lwYW50LnZvdGVzWyRpbmRleF1cXFwiIG5nLWZhbHNlLXZhbHVlPVxcXCJmYWxzZVxcXCIgdHlwZT1cXFwiY2hlY2tib3hcXFwiIC8+XFxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcIm92ZXJsYXlcXFwiIG5nLWNsaWNrPVxcXCJwYXJ0aWNpcGFudC52b3Rlc1skaW5kZXhdID0gIXBhcnRpY2lwYW50LnZvdGVzWyRpbmRleF1cXFwiPjwvZGl2PlxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImNlbGwgYWN0aW9uLWNlbGxcXFwiPlxcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XFxcInN1Ym1pdFxcXCIgbmctY2xhc3M9XFxcInsgXFwnYW5pbWF0ZWQgc2hha2VcXCcgOiBmb3JtbmV3LiRzdWJtaXR0ZWQgJiYgZm9ybW5ldy4kaW52YWxpZCAgfVxcXCIgY2xhc3M9XFxcImJ0blxcXCI+U2F2ZTwvYnV0dG9uPlxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgPC9mb3JtPlxcbiAgICA8L2Rpdj5cXG48L2Rpdj5cXG5cIik7XG4kdGVtcGxhdGVDYWNoZS5wdXQoXCJ0ZW1wbGF0ZXMvZGlyZWN0aXZlcy90aW1lUGlja2VyLmh0bWxcIixcIjxkaXYgY2xhc3M9XFxcInRpbWUtcGlja2VyXFxcIj5cXG4gICAgPGRpdiBjbGFzcz1cXFwidGltZS1waWNrZXItY29sXFxcIj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcImRhdGljb25cXFwiPlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImRvd1xcXCI+XFxuICAgICAgICAgICAgICAgIHt7ZGF0ZSB8IGRhdGU6IFxcJ0VFRVxcJ319XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiZGF5XFxcIj5cXG4gICAgICAgICAgICAgICAge3tkYXRlIHwgZGF0ZTogXFwnZFxcJ319XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwibW9udGhcXFwiPlxcbiAgICAgICAgICAgICAgICB7e2RhdGUgfCBkYXRlIDogXFwnTU1NXFwnfX1cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICA8IS0tIDxzcGFuIGNsYXNzPVxcXCJkZWxldGVcXFwiIG5nLWNsaWNrPVxcXCJkYXRlcGlja2VyLnVuc2V0RGF0ZShkYXRlKVxcXCI+PC9zcGFuPiAtLT5cXG4gICAgICAgIDwvZGl2PlxcbiAgICA8L2Rpdj5cXG4gICAgPGRpdiBjbGFzcz1cXFwidGltZS1waWNrZXItY29sXFxcIiBuZy1yZXBlYXQ9XFxcInRpbWUgaW4gZGF0ZS50aW1lcyB0cmFjayBieSAkaW5kZXhcXFwiPlxcbiAgICAgICAgPGlucHV0IHR5cGU9XFxcInRleHRcXFwiIGNsYXNzPVxcXCJ0aW1lLXBpY2tlci1pbnB1dFxcXCIgdGltZS1waWNrZXIgbmctbW9kZWw9XFxcInRpbWVcXFwiIG5nLW1vZGVsLW9wdGlvbnM9XFxcInsgdXBkYXRlT246IFxcJ2JsdXJcXCcgfVxcXCIgLz5cXG4gICAgPC9kaXY+XFxuPC9kaXY+XFxuXCIpO1xuJHRlbXBsYXRlQ2FjaGUucHV0KFwidGVtcGxhdGVzL2Zvcm0vZGF0ZUZvcm0uaHRtbFwiLFwiPGRpdiBjbGFzcz1cXFwic2VjdGlvbi1kZXRhaWxzXFxcIj5cXG4gICAgPGRpdiBjbGFzcz1cXFwic2VjdGlvbi10aXRsZVxcXCI+Q2hvb3NlIERhdGVzPC9kaXY+XFxuICAgIDx1bCBjbGFzcz1cXFwiZGF0aWNvbi1saXN0XFxcIj5cXG4gICAgICAgIDxsaSBuZy1yZXBlYXQ9XFxcImQgaW4gZXZlbnQuZGF0ZXNcXFwiPlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImRhdGljb25cXFwiPlxcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJkb3dcXFwiPlxcbiAgICAgICAgICAgICAgICAgICAge3tkIHwgZGF0ZTogXFwnRUVFXFwnfX1cXG4gICAgICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImRheVxcXCI+XFxuICAgICAgICAgICAgICAgICAgICB7e2QgfCBkYXRlOiBcXCdkXFwnfX1cXG4gICAgICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcIm1vbnRoXFxcIj5cXG4gICAgICAgICAgICAgICAgICAgIHt7ZCB8IGRhdGUgOiBcXCdNTU1cXCd9fVxcbiAgICAgICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XFxcImRlbGV0ZVxcXCIgbmctY2xpY2s9XFxcImRhdGVwaWNrZXIucmVtb3ZlRGF0ZShkKVxcXCI+PC9zcGFuPlxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgPC9saT5cXG4gICAgPC91bD5cXG48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCJzZWN0aW9uLW1haW5cXFwiPlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtLXJvd1xcXCI+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtLWdyb3VwXFxcIj5cXG4gICAgICAgICAgICA8bGFiZWwgZm9yPVxcXCJlbWFpbFxcXCI+Q2FsZW5kYXI8L2xhYmVsPlxcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVxcXCJmb3JtLWVycm9yXFxcIiBuZy1zaG93PVxcXCJmb3JtLiRzdWJtaXR0ZWQgJiYgZm9ybS5kYXRlcGlja2VyLiRlcnJvci5yZXF1aXJlZFxcXCI+XFxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPVxcXCIvaW1hZ2VzL2Vycm9yLnBuZ1xcXCIgd2lkdGg9XFxcIjE0XFxcIiAvPiBZb3UgbmVlZCB0byBzZWxlY3QgYSBmZXcgZGF0ZXNcXG4gICAgICAgICAgICA8L3NwYW4+XFxuICAgICAgICAgICAgPGRpdiBkYXRlcGlja2VyIHJlcXVpcmVkIG5hbWU9XFxcImRhdGVwaWNrZXJcXFwiIGNvbnRyb2w9XFxcImRhdGVwaWNrZXJcXFwiIG5nLW1vZGVsPVxcXCJldmVudC5kYXRlc1xcXCI+XFxuXFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICA8L2Rpdj5cXG4gICAgPC9kaXY+XFxuPC9kaXY+XFxuXCIpO1xuJHRlbXBsYXRlQ2FjaGUucHV0KFwidGVtcGxhdGVzL2Zvcm0vZXZlbnRGb3JtLmh0bWxcIixcIjxkaXYgY2xhc3M9XFxcInNlY3Rpb24tZGV0YWlsc1xcXCI+XFxuICAgIDxkaXYgY2xhc3M9XFxcInNlY3Rpb24tdGl0bGVcXFwiPkV2ZW50IERldGFpbHM8L2Rpdj5cXG48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCJzZWN0aW9uLW1haW5cXFwiPlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtLXJvd1xcXCI+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtLWNvbFxcXCI+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiZm9ybS1ncm91cFxcXCI+XFxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XFxcInRpdGxlXFxcIj5UaXRsZTwvbGFiZWw+XFxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVxcXCJmb3JtLWVycm9yXFxcIiBuZy1zaG93PVxcXCIoZm9ybS50aXRsZS4kdG91Y2hlZCB8fCBmb3JtLiRzdWJtaXR0ZWQpICYmIGVycm9ycy50aXRsZVxcXCI+XFxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cXFwiL2ltYWdlcy9lcnJvci5wbmdcXFwiIHdpZHRoPVxcXCIxNFxcXCIgLz4ge3tlcnJvcnMudGl0bGV9fVxcbiAgICAgICAgICAgICAgICA8L3NwYW4+XFxuICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cXFwidGl0bGVcXFwiIG5hbWU9XFxcInRpdGxlXFxcIiBuZy1tYXhsZW5ndGg9XFxcIjMwXFxcIiByZXF1aXJlZCBuZy1tb2RlbD1cXFwiZXZlbnQudGl0bGVcXFwiIHR5cGU9XFxcInRleHRcXFwiIHBsYWNlaG9sZGVyPVxcXCJNb250aGx5IE1lZXR1cC4uLlxcXCIgY2xhc3M9XFxcImZvcm0tY29udHJvbCBleHRlbmRcXFwiLz5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDwvZGl2PlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwiZm9ybS1jb2xcXFwiPlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImZvcm0tZ3JvdXAgb3B0aW9uYWxcXFwiPlxcbiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVxcXCJsb2NhdGlvblxcXCI+TG9jYXRpb248L2xhYmVsPlxcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cXFwiZm9ybS1lcnJvclxcXCIgbmctc2hvdz1cXFwiKGZvcm0ubG9jYXRpb24uJHRvdWNoZWQgfHwgZm9ybS4kc3VibWl0dGVkKSAmJiBlcnJvcnMubG9jYXRpb25cXFwiPlxcbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XFxcIi9pbWFnZXMvZXJyb3IucG5nXFxcIiB3aWR0aD1cXFwiMTRcXFwiIC8+IHt7ZXJyb3JzLmxvY2F0aW9ufX1cXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxcbiAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XFxcImxvY2F0aW9uXFxcIiBuYW1lPVxcXCJsb2NhdGlvblxcXCIgbmctbW9kZWw9XFxcImV2ZW50LmxvY2F0aW9uXFxcIiBuZy1tYXhsZW5ndGg9XFxcIjUwXFxcIiB0eXBlPVxcXCJ0ZXh0XFxcIiBwbGFjZWhvbGRlcj1cXFwiUmlja1xcJ3MgQ2FmZS4uLlxcXCIgY2xhc3M9XFxcImZvcm0tY29udHJvbCBleHRlbmRcXFwiLz5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDwvZGl2PlxcbiAgICA8L2Rpdj5cXG4gICAgPGRpdiBjbGFzcz1cXFwiZm9ybS1yb3dcXFwiPlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwiZm9ybS1ncm91cCBvcHRpb25hbFxcXCI+XFxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cXFwiZGVzY3JpcHRpb25cXFwiID5EZXNjcmlwdGlvbjwvbGFiZWw+XFxuICAgICAgICAgICAgPHRleHRhcmVhIGlkPVxcXCJkZXNjcmlwdGlvblxcXCIgbmFtZT1cXFwiZGVzY3JpcHRpb25cXFwiIG5nLW1vZGVsPVxcXCJldmVudC5kZXNjcmlwdGlvblxcXCIgcGxhY2Vob2xkZXI9XFxcIkVudGVyIERlc2NyaXB0aW9uLi4uXFxcIiBjbGFzcz1cXFwiZm9ybS1jb250cm9sIGV4dGVuZFxcXCI+PC90ZXh0YXJlYT5cXG4gICAgICAgIDwvZGl2PlxcbiAgICA8L2Rpdj5cXG48L2Rpdj5cXG5cIik7XG4kdGVtcGxhdGVDYWNoZS5wdXQoXCJ0ZW1wbGF0ZXMvZm9ybS9wYXJ0aWNpcGFudHNGb3JtLmh0bWxcIixcIjxkaXYgY2xhc3M9XFxcInNlY3Rpb24tZGV0YWlsc1xcXCI+XFxuICAgIDxkaXYgY2xhc3M9XFxcInNlY3Rpb24tdGl0bGVcXFwiPkludml0ZSBQYXJ0aWNpcGFudHM8L2Rpdj5cXG48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCJzZWN0aW9uLW1haW5cXFwiPlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtLXJvd1xcXCI+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtLWdyb3VwIG9wdGlvbmFsXFxcIj5cXG4gICAgICAgICAgICA8bGFiZWw+UGFydGljaXBhbnRcXCdzIEVtYWlsczwvbGFiZWw+XFxuICAgICAgICAgICAgPHRhZ3MtaW5wdXQgbWF4LWxlbmd0aD1cXFwiNTBcXFwiIGFsbG93ZWQtdGFncy1wYXR0ZXJuPVxcXCJ7e2VtYWlsUmVnZXh9fVxcXCIgZGlzcGxheS1wcm9wZXJ0eT1cXFwiZW1haWxcXFwiIG5nLW1vZGVsPVxcXCJldmVudC5lbWFpbHNcXFwiIHBsYWNlaG9sZGVyPVxcXCJBZGQgYW4gRW1haWxcXFwiIHR5cGU9XFxcImVtYWlsXFxcIiBhdXRvY29tcGxldGU9XFxcIm9mZlxcXCI+PC90YWdzLWlucHV0PlxcbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVxcXCJoaWRkZW5cXFwiIG5hbWU9XFxcInNob3VsZENyZWF0ZVxcXCIgdmFsdWU9XFxcInRydWVcXFwiIC8+XFxuXFxuICAgICAgICA8L2Rpdj5cXG4gICAgPC9kaXY+XFxuPC9kaXY+XFxuPC9zZWN0aW9uPlxcblwiKTtcbiR0ZW1wbGF0ZUNhY2hlLnB1dChcInRlbXBsYXRlcy9mb3JtL3NldHRpbmdzRm9ybS5odG1sXCIsXCI8ZGl2IGNsYXNzPVxcXCJzZWN0aW9uLWRldGFpbHNcXFwiPlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJzZWN0aW9uLXRpdGxlXFxcIj5TZXR0aW5nczwvZGl2PlxcbjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcInNlY3Rpb24tbWFpblxcXCI+XFxuICAgIDxkaXYgY2xhc3M9XFxcInN3aXRjaC1yb3dcXFwiPlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwic3dpdGNoLWRldGFpbHNcXFwiPlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcInRpdGxlXFxcIj5cXG4gICAgICAgICAgICAgICAgUG9sbCBTdGF0dXNcXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJkZXNjcmlwdGlvblxcXCI+XFxuICAgICAgICAgICAgICAgIExldCBwZW9wbGUgdm90ZSBvbiB0aGUgcG9sbC5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDwvZGl2PlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwic3dpdGNoXFxcIj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJzd2l0Y2gtdmFsdWVcXFwiPlxcbiAgICAgICAgICAgICAgICB7e2V2ZW50LmlzQ2xvc2VkID8gXFwnQ2xvc2VkXFwnIDogXFwnT3BlblxcJyB9fVxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgIDxkaXYgc3dpdGNoLXRvZ2dsZSBuZy1tb2RlbD1cXFwiZXZlbnQuaXNDbG9zZWRcXFwiIGludmVydD5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDwvZGl2PlxcbiAgICA8L2Rpdj5cXG4gICAgPGRpdiBjbGFzcz1cXFwic3dpdGNoLXJvd1xcXCI+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJzd2l0Y2gtZGV0YWlsc1xcXCI+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwidGl0bGVcXFwiPlxcbiAgICAgICAgICAgICAgICBOb3RpZmljYXRpb25zXFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiZGVzY3JpcHRpb25cXFwiPlxcbiAgICAgICAgICAgICAgICBTZW5kIGVtYWlsIG5vdGlmaWNhdGlvbnMgdG8gdGhlIGNyZWF0b3Igb2YgdGhpcyBldmVudC5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDwvZGl2PlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwic3dpdGNoXFxcIj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJzd2l0Y2gtdmFsdWVcXFwiPlxcbiAgICAgICAgICAgICAgICB7e2V2ZW50LmNyZWF0b3IuYWxsb3dOb3RpZmljYXRpb25zID8gXFwnRW5hYmxlZFxcJyA6IFxcJ0Rpc2FibGVkXFwnIH19XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgPGRpdiBzd2l0Y2gtdG9nZ2xlIG5nLW1vZGVsPVxcXCJldmVudC5jcmVhdG9yLmFsbG93Tm90aWZpY2F0aW9uc1xcXCI+XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICA8L2Rpdj5cXG4gICAgPC9kaXY+XFxuICAgIDxkaXYgY2xhc3M9XFxcInN3aXRjaC1yb3dcXFwiPlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwic3dpdGNoLWRldGFpbHNcXFwiPlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcInRpdGxlXFxcIj5cXG4gICAgICAgICAgICAgICAgRGVsZXRlIEV2ZW50XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiZGVzY3JpcHRpb25cXFwiPlxcbiAgICAgICAgICAgICAgICBPbmNlIHlvdSBkZWxldGUgYW4gZXZlbnQgaXQgd2lsbCBubyBsb25nZXIgYmUgYWNjZXNzaWJsZS5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDwvZGl2PlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwic3dpdGNoXFxcIj5cXG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XFxcImJ1dHRvblxcXCIgbmctY2xpY2s9XFxcImRlbGV0ZUV2ZW50KClcXFwiIGNsYXNzPVxcXCJidG5cXFwiIG5nLWNsYXNzPVxcXCJ7ZGFuZ2VyIDogIWRlbGV0ZVJlcXVlc3RTZW50LCBkaXNhYmxlZCA6IGRlbGV0ZVJlcXVlc3RTZW50fVxcXCI+e3tkZWxldGVSZXF1ZXN0U2VudCA/IFxcJ1JlcXVlc3QgU2VudFxcJyA6IFxcJ0RlbGV0ZSBFdmVudFxcJyB9fTwvYnV0dG9uPlxcbiAgICAgICAgPC9kaXY+XFxuICAgIDwvZGl2PlxcbjwvZGl2Plxcbjwvc2VjdGlvbj5cXG5cIik7XG4kdGVtcGxhdGVDYWNoZS5wdXQoXCJ0ZW1wbGF0ZXMvZm9ybS90aW1lRm9ybS5odG1sXCIsXCI8ZGl2IGNsYXNzPVxcXCJzZWN0aW9uLWRldGFpbHNcXFwiPlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJzZWN0aW9uLXRpdGxlXFxcIj5DaG9vc2UgVGltZXM8L2Rpdj5cXG48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCJzZWN0aW9uLW1haW5cXFwiPlxcbiAgICA8dGFibGUgY2xhc3M9XFxcInRpbWUtZm9ybVxcXCI+XFxuICAgICAgICA8dGhlYWQ+XFxuICAgICAgICAgICAgPHRyPlxcbiAgICAgICAgICAgICAgICA8dGg+XFxuXFxuICAgICAgICAgICAgICAgIDwvdGg+XFxuICAgICAgICAgICAgICAgIDx0aD5cXG4gICAgICAgICAgICAgICAgICAgIFRpbWUgMVxcbiAgICAgICAgICAgICAgICA8L3RoPlxcbiAgICAgICAgICAgICAgICA8dGg+XFxuICAgICAgICAgICAgICAgICAgICBUaW1lIDJcXG4gICAgICAgICAgICAgICAgPC90aD5cXG4gICAgICAgICAgICAgICAgPHRoPlxcbiAgICAgICAgICAgICAgICAgICAgVGltZSAzXFxuICAgICAgICAgICAgICAgIDwvdGg+XFxuICAgICAgICAgICAgPC90cj5cXG4gICAgICAgIDwvdGhlYWQ+XFxuICAgICAgICA8dGJvZHk+XFxuICAgICAgICAgICAgPHRyIG5nLXJlcGVhdD1cXFwiZCBpbiBldmVudC5kYXRlc1xcXCI+XFxuICAgICAgICAgICAgICAgIDx0ZD5cXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImRhdGljb25cXFwiPlxcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImRvd1xcXCI+XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ZC5kYXRlIHwgZGF0ZTogXFwnRUVFXFwnfX1cXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJkYXlcXFwiPlxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2QuZGF0ZSB8IGRhdGU6IFxcJ2RcXCd9fVxcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcIm1vbnRoXFxcIj5cXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3tkLmRhdGUgfCBkYXRlIDogXFwnTU1NXFwnfX1cXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cXFwiZGVsZXRlXFxcIiBuZy1jbGljaz1cXFwidW5zZXREYXRlKGQuZGF0ZSlcXFwiPjwvc3Bhbj5cXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgICAgICA8L3RkPlxcbiAgICAgICAgICAgICAgICA8dGQgbmctcmVwZWF0PVxcXCJ0aW1lIGluIFsxLDIsM10gdHJhY2sgYnkgJGluZGV4XFxcIj5cXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVxcXCJ0ZXh0XFxcIiB0aW1lLXBpY2tlciBuZy1tb2RlbC1vcHRpb25zPVxcXCJ7IHVwZGF0ZU9uOiBcXCdibHVyXFwnIH1cXFwiIG5nLW1vZGVsPVxcXCJkLnRpbWVzWyRpbmRleF1cXFwiIGNsYXNzPVxcXCJ0aW1lLXBpY2tlci1pbnB1dFxcXCIgLz5cXG4gICAgICAgICAgICAgICAgPC90ZD5cXG4gICAgICAgICAgICA8L3RyPlxcbiAgICAgICAgPC90Ym9keT5cXG4gICAgPC90YWJsZT5cXG48L2Rpdj5cXG5cIik7XG4kdGVtcGxhdGVDYWNoZS5wdXQoXCJ0ZW1wbGF0ZXMvZm9ybS91c2VyRm9ybS5odG1sXCIsXCI8ZGl2IGNsYXNzPVxcXCJzZWN0aW9uLWRldGFpbHNcXFwiPlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJzZWN0aW9uLXRpdGxlXFxcIj5Zb3VyIERldGFpbHM8L2Rpdj5cXG48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCJzZWN0aW9uLW1haW5cXFwiPlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtLXJvd1xcXCI+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtLWNvbFxcXCI+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiZm9ybS1ncm91cFxcXCI+XFxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XFxcIm5hbWVcXFwiPk5hbWU8L2xhYmVsPlxcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cXFwiZm9ybS1lcnJvclxcXCIgbmctc2hvdz1cXFwiKGZvcm0ubmFtZS4kdG91Y2hlZCB8fCBmb3JtLiRzdWJtaXR0ZWQpICYmIGVycm9ycy5uYW1lXFxcIj5cXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVxcXCIvaW1hZ2VzL2Vycm9yLnBuZ1xcXCIgd2lkdGg9XFxcIjE0XFxcIiAvPiB7e2Vycm9ycy5uYW1lfX1cXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxcbiAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XFxcIm5hbWVcXFwiIG5hbWU9XFxcIm5hbWVcXFwiIG5nLW1heGxlbmd0aD1cXFwiMzBcXFwiIHJlcXVpcmVkIG5nLW1vZGVsPVxcXCJldmVudC5jcmVhdG9yLm5hbWVcXFwiIHR5cGU9XFxcInRleHRcXFwiIHBsYWNlaG9sZGVyPVxcXCJKb2huIERvZS4uLlxcXCIgY2xhc3M9XFxcImZvcm0tY29udHJvbCBleHRlbmRcXFwiLz5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDwvZGl2PlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwiZm9ybS1jb2xcXFwiPlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImZvcm0tZ3JvdXBcXFwiPlxcbiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVxcXCJlbWFpbFxcXCI+RW1haWw8L2xhYmVsPlxcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cXFwiZm9ybS1lcnJvclxcXCIgbmctc2hvdz1cXFwiKGZvcm0uZW1haWwuJHRvdWNoZWQgfHwgZm9ybS4kc3VibWl0dGVkKSAmJiBlcnJvcnMuZW1haWxcXFwiPlxcbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XFxcIi9pbWFnZXMvZXJyb3IucG5nXFxcIiB3aWR0aD1cXFwiMTRcXFwiIC8+IHt7ZXJyb3JzLmVtYWlsfX1cXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxcbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cXFwiZW1haWxcXFwiIGlkPVxcXCJlbWFpbFxcXCIgbmFtZT1cXFwiZW1haWxcXFwiIG5nLXBhdHRlcm49XFxcImVtYWlsUmVnZXhcXFwiIHJlcXVpcmVkIG5nLW1vZGVsPVxcXCJldmVudC5jcmVhdG9yLmVtYWlsXFxcIiBwbGFjZWhvbGRlcj1cXFwiam9obi5kb2VAZW1haWwuY29tLi4uXFxcIiBjbGFzcz1cXFwiZm9ybS1jb250cm9sIGV4dGVuZFxcXCIvPlxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgPC9kaXY+XFxuICAgIDwvZGl2PlxcbjwvZGl2PlxcblwiKTtcbiR0ZW1wbGF0ZUNhY2hlLnB1dChcInRlbXBsYXRlcy9uZXdFdmVudC9kYXRldGltZS5odG1sXCIsXCI8c2VjdGlvbiBjbGFzcz1cXFwiYm94LXNlY3Rpb25cXFwiIGRhdGUtZm9ybSBmb3JtPVxcXCJmb3JtXFxcIiBldmVudD1cXFwiZXZlbnRcXFwiPlxcblxcbjwvc2VjdGlvbj5cXG5cXG48ZGl2IGNsYXNzPVxcXCJib3gtY29udHJvbHMgYm94LWJvdHRvbS1zdGlja3lcXFwiPlxcbiAgICA8YnV0dG9uIHR5cGU9XFxcImJ1dHRvblxcXCIgY2xhc3M9XFxcImJ0blxcXCIgbmctY2xpY2s9XFxcInByZXZQYWdlKClcXFwiPlByZXZpb3VzPC9idXR0b24+XFxuICAgIDxidXR0b24gdHlwZT1cXFwic3VibWl0XFxcIiBjbGFzcz1cXFwiYnRuXFxcIj5OZXh0PC9idXR0b24+XFxuPC9kaXY+XFxuXCIpO1xuJHRlbXBsYXRlQ2FjaGUucHV0KFwidGVtcGxhdGVzL25ld0V2ZW50L2dlbmVyYWwuaHRtbFwiLFwiPHNlY3Rpb24gY2xhc3M9XFxcImJveC1zZWN0aW9uXFxcIiB1c2VyLWZvcm0gZm9ybT1cXFwiZm9ybVxcXCIgZXZlbnQ9XFxcImV2ZW50XFxcIj5cXG5cXG48L3NlY3Rpb24+XFxuXFxuPHNlY3Rpb24gY2xhc3M9XFxcImJveC1zZWN0aW9uXFxcIiBldmVudC1mb3JtIGZvcm09XFxcImZvcm1cXFwiIGV2ZW50PVxcXCJldmVudFxcXCI+XFxuXFxuPC9zZWN0aW9uPlxcblxcbjxkaXYgY2xhc3M9XFxcImJveC1jb250cm9scyBib3gtYm90dG9tLXN0aWNreVxcXCI+XFxuICAgIDxidXR0b24gdHlwZT1cXFwic3VibWl0XFxcIiBjbGFzcz1cXFwiYnRuXFxcIj5OZXh0IFN0ZXA8L2J1dHRvbj5cXG48L2Rpdj5cXG5cIik7XG4kdGVtcGxhdGVDYWNoZS5wdXQoXCJ0ZW1wbGF0ZXMvbmV3RXZlbnQvaW52aXRlLmh0bWxcIixcIjxzZWN0aW9uIGNsYXNzPVxcXCJib3gtc2VjdGlvblxcXCIgcGFydGljaXBhbnRzLWZvcm0gZm9ybT1cXFwiZm9ybVxcXCIgZXZlbnQ9XFxcImV2ZW50XFxcIj5cXG5cXG48L3NlY3Rpb24+XFxuXFxuPGRpdiBjbGFzcz1cXFwiYm94LWNvbnRyb2xzIGJveC1ib3R0b20tc3RpY2t5XFxcIj5cXG4gICAgPGJ1dHRvbiB0eXBlPVxcXCJidXR0b25cXFwiIGNsYXNzPVxcXCJidG5cXFwiIG5nLWNsaWNrPVxcXCJwcmV2UGFnZSgpXFxcIj5QcmV2aW91czwvYnV0dG9uPlxcbiAgICA8YnV0dG9uIHR5cGU9XFxcInN1Ym1pdFxcXCIgY2xhc3M9XFxcImJ0blxcXCI+Q3JlYXRlPC9idXR0b24+XFxuPC9kaXY+XFxuXCIpO1xuJHRlbXBsYXRlQ2FjaGUucHV0KFwidGVtcGxhdGVzL25ld0V2ZW50L2xheW91dC5odG1sXCIsXCI8ZGl2IGNsYXNzPVxcXCJib3hcXFwiPlxcblxcbiAgICA8ZGl2IGNsYXNzPVxcXCJib3gtdGl0bGVcXFwiPlNjaGVkdWxlIGEgTmV3IEV2ZW50PC9kaXY+XFxuICAgIDxkaXYgY2xhc3M9XFxcImJveC1kZXNjcmlwdGlvblxcXCI+XFxuICAgICAgICBGaWxsIGluIHRoZSBmb3JtIGJlbG93IHRvIGNyZWF0ZSB5b3VyIGV2ZW50IGFuZCBzaGFyZSBpdCB3aXRoIHlvdXIgZnJpZW5kcyBhbmQgY29sbGVhZ3Vlcy5cXG4gICAgPC9kaXY+XFxuICAgIDxvbCBjbGFzcz1cXFwiYm94LXN0ZXBzXFxcIj5cXG4gICAgICAgIDxsaSBjbGFzcz1cXFwic3RlcFxcXCIgbmctY2xhc3M9XFxcInsgYWN0aXZlIDogcGFnZSA9PSAxLCBjb21wbGV0ZSA6IHBhZ2UgPiAxIH1cXFwiPlxcbiAgICAgICAgICAgIEdlbmVyYWwgRGV0YWlsc1xcbiAgICAgICAgPC9saT5cXG4gICAgICAgIDxsaSBjbGFzcz1cXFwic3RlcFxcXCIgbmctY2xhc3M9XFxcInsgYWN0aXZlIDogcGFnZSA9PSAyLCBjb21wbGV0ZSA6IHBhZ2UgPiAyIH1cXFwiPlxcbiAgICAgICAgICAgIERhdGVzICZhbXA7IFRpbWVzXFxuICAgICAgICA8L2xpPlxcbiAgICAgICAgPGxpIGNsYXNzPVxcXCJzdGVwXFxcIiBuZy1jbGFzcz1cXFwieyBhY3RpdmUgOiBwYWdlID09IDMsIGNvbXBsZXRlIDogcGFnZSA+IDMgfVxcXCI+XFxuICAgICAgICAgICAgSW52aXRlIEZyaWVuZHNcXG4gICAgICAgIDwvbGk+XFxuICAgIDwvb2w+XFxuICAgIDxmb3JtIG5vdmFsaWRhdGUgYXV0b2NvbXBsZXRlPVxcXCJvZmZcXFwiIG5hbWU9XFxcImZvcm1cXFwiIG5nLXN1Ym1pdD1cXFwic3VibWl0KClcXFwiPlxcbiAgICAgICAgPGRpdiB1aS12aWV3PlxcblxcbiAgICAgICAgPC9kaXY+XFxuICAgIDwvZm9ybT5cXG48L2Rpdj5cXG5cIik7XG4kdGVtcGxhdGVDYWNoZS5wdXQoXCJ0ZW1wbGF0ZXMvbmV3RXZlbnQvc3VjY2Vzcy5odG1sXCIsXCI8ZGl2IGNsYXNzPVxcXCJib3gtbWVzc2FnZVxcXCI+XFxuICAgIDxkaXYgY2xhc3M9XFxcIm1haW4taW1hZ2VcXFwiPlxcbiAgICAgICAgPGltZyBzcmM9XFxcIi9pbWFnZXMvc3VjY2Vzc19sYXJnZS5wbmdcXFwiIHdpZHRoPVxcXCIxMDBcXFwiIC8+XFxuICAgIDwvZGl2PlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJ0aXRsZVxcXCI+RXZlbnQgQ3JlYXRlZDwvZGl2PlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJjb250ZW50XFxcIj5cXG4gICAgICAgIFlvdXIgZXZlbnQgaGFzIGJlZW4gY3JlYXRlZCBzdWNjZXNzZnVsbHkhIFlvdSBzaG91bGQgcmVjZWl2ZSBhbiBlbWFpbCBzaG9ydGx5IHdpdGggaW5zdHJ1Y3Rpb25zIHRvIHZlcmlmeSB5b3VyIGVtYWlsIGFkZHJlc3MuXFxuICAgIDwvZGl2PlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJtaW5pLWRpdmlkZXJcXFwiPlxcbiAgICA8L2Rpdj5cXG4gICAgPGRpdiBjbGFzcz1cXFwiZm9ybS1ncm91cFxcXCI+XFxuICAgICAgICA8aW5wdXQgdHlwZT1cXFwidGV4dFxcXCIgY2xhc3M9XFxcImZvcm0tY29udHJvbFxcXCIgZGlzYWJsZWQ9XFxcInRydWVcXFwiIHZhbHVlPVxcXCJ7e2V2ZW50VXJsfX1cXFwiIC8+XFxuICAgICAgICA8YSBocmVmPVxcXCJ7e2V2ZW50VXJsfX1cXFwiIGNsYXNzPVxcXCJidG4gZm9ybS1idG5cXFwiPkdPPC9hPlxcbiAgICA8L2Rpdj5cXG48L2Rpdj5cXG5cIik7fV0pOyIsImFuZ3VsYXIubW9kdWxlKCdyYWxsbHknKVxuLmNvbnRyb2xsZXIoJ0Fib3V0Q3RybCcsIGZ1bmN0aW9uKFRpdGxlKXtcbiAgICBUaXRsZS5zZXQoJ0Fib3V0IFJhbGxseScpXG59KTtcbiIsImFuZ3VsYXIubW9kdWxlKCdyYWxsbHknKVxuLmNvbnRyb2xsZXIoJ0FjY291bnRDdHJsJywgZnVuY3Rpb24oJHNjb3BlLCBDb25maXJtTW9kYWwpe1xuICAgICRzY29wZS5zaG93Tm90aWNlID0gZnVuY3Rpb24oKXtcbiAgICAgICAgXG4gICAgfVxufSlcbiIsImFuZ3VsYXIubW9kdWxlKCdyYWxsbHknKVxuLmNvbnRyb2xsZXIoJ0RlbGV0aW9uQ3RybCcsIGZ1bmN0aW9uKCRzdGF0ZSwgTm90aWZpY2F0aW9uLCBFdmVudCl7XG4gICAgRXZlbnQuZGVzdHJveSh7aWQgOiAkc3RhdGUucGFyYW1zLmlkLCBjb2RlIDokc3RhdGUucGFyYW1zLmNvZGV9LCBmdW5jdGlvbigpe1xuICAgICAgICB2YXIgbm90aWZpY2F0aW9uID0gbmV3IE5vdGlmaWNhdGlvbih7XG4gICAgICAgICAgICB0aXRsZSA6ICdFdmVudCBkZWxldGVkJyxcbiAgICAgICAgICAgIG1lc3NhZ2UgOiAnVGhpcyBldmVudCBoYXMgYmVlbiBkZWxldGVkJyxcbiAgICAgICAgICAgIHR5cGUgOiAnc3VjY2VzcycsXG4gICAgICAgICAgICB0aW1lb3V0IDogNTAwMFxuICAgICAgICB9KTtcbiAgICB9LCBmdW5jdGlvbihlKXtcbiAgICAgICAgdmFyIG5vdGlmaWNhdGlvbiA9IG5ldyBOb3RpZmljYXRpb24oe1xuICAgICAgICAgICAgdGl0bGUgOiAnRGVsZXRpb24gRmFpbGVkJyxcbiAgICAgICAgICAgIG1lc3NhZ2UgOiAnVGhlIGV2ZW50IGNvdWxkIG5vdCBiZSBkZWxldGVkLiBNYWtlIHN1cmUgdGhhdCBpdCBleGlzdHMgYW5kIHRoYXQgdGhlIHVybCBpcyBjb3JyZWN0JyxcbiAgICAgICAgICAgIHR5cGUgOiAnZXJyb3InXG4gICAgICAgIH0pO1xuICAgIH0pO1xuICAgICRzdGF0ZS5nbygnZXZlbnQnLCB7IGlkIDogJHN0YXRlLnBhcmFtcy5pZCB9KTtcbn0pO1xuIiwiYW5ndWxhci5tb2R1bGUoJ3JhbGxseScpXG4uY29udHJvbGxlcignRWRpdEV2ZW50Q3RybCcsIGZ1bmN0aW9uKCRzY29wZSwgJGh0dHAsICRzdGF0ZSwgJHRpbWVvdXQsIEV2ZW50LCBDb25maXJtTW9kYWwsIE5vdGlmaWNhdGlvbiwgVGl0bGUpe1xuICAgIHZhciBpZCA9ICRzdGF0ZS5wYXJhbXMuaWRcbiAgICAkc2NvcGUuZXZlbnQgPSBFdmVudC5nZXQoe2lkOmlkfSwgZnVuY3Rpb24oZGF0YSl7XG4gICAgICAgIFRpdGxlLnNldChcIkVkaXQ6IFwiICsgJHNjb3BlLmV2ZW50LnRpdGxlKTtcbiAgICAgICAgJHNjb3BlLm1hc3RlciA9IGFuZ3VsYXIuY29weSgkc2NvcGUuZXZlbnQpO1xuICAgIH0sIGZ1bmN0aW9uKGUpe1xuICAgICAgICAkc3RhdGUuZ28oJ25vdGZvdW5kJyk7XG4gICAgfSk7XG4gICAgJHNjb3BlLnVuZG9DaGFuZ2VzID0gZnVuY3Rpb24oKXtcbiAgICAgICAgJHNjb3BlLmV2ZW50ID0gYW5ndWxhci5jb3B5KCRzY29wZS5tYXN0ZXIpO1xuICAgIH1cbiAgICAkc2NvcGUuZGlkQ2hhbmdlID0gZnVuY3Rpb24oKXtcbiAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KCRzY29wZS5tYXN0ZXIpICE9IEpTT04uc3RyaW5naWZ5KCRzY29wZS5ldmVudCk7XG4gICAgfVxuICAgICRzY29wZS5kaWRDaGFuZ2VEYXRlcyA9IGZ1bmN0aW9uKCl7XG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSgkc2NvcGUubWFzdGVyLmRhdGVzKSAhPSBKU09OLnN0cmluZ2lmeSgkc2NvcGUuZXZlbnQuZGF0ZXMpO1xuICAgIH1cbiAgICAkc2NvcGUuc3VibWl0ID0gZnVuY3Rpb24oKXtcbiAgICAgICAgaWYgKCRzY29wZS5mb3JtLiR2YWxpZCl7XG4gICAgICAgICAgICBpZiAoJHNjb3BlLmRpZENoYW5nZURhdGVzKCkgKXtcbiAgICAgICAgICAgICAgICB2YXIgbW9kYWwgPSBuZXcgQ29uZmlybU1vZGFsKHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGUgOiAnSG9sZCB1cCEnLFxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlIDogJ0NoYW5naW5nIHRoZSBkYXRlcyB3aWxsIHJlc2V0IGFsbCBlbnRyaWVzIGJ5IHRoZSBwYXJ0aWNpcGFudHMuIEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkbyB0aGF0PycsXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpcm1UZXh0IDogJ1llcywgSVxcJ20gc3VyZScsXG4gICAgICAgICAgICAgICAgICAgIGlzRGVzdHJ1Y3RpdmUgOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBjb25maXJtIDogZnVuY3Rpb24oKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICRzY29wZS5ldmVudC5wYXJ0aWNpcGFudHMgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdXBkYXRlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2YXIgbm90aWZpY2F0aW9uID0gbmV3IE5vdGlmaWNhdGlvbih7XG4gICAgICAgICAgICAgICAgdGl0bGUgOiAnTm90IHNvIGZhc3QnLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2UgOiAnTWFrZSBzdXJlIHlvdSBmaWxsIGluIGFsbCB0aGUgcmVxdWlyZWQgZmllbGRzIGFuZCB0cnkgYWdhaW4uJyxcbiAgICAgICAgICAgICAgICB0eXBlIDogJ2Vycm9yJ1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgdmFyIHVwZGF0ZSA9IGZ1bmN0aW9uKCl7XG4gICAgICAgIEV2ZW50LnVwZGF0ZSh7XG4gICAgICAgICAgICBpZCA6IGlkXG4gICAgICAgIH0sICRzY29wZS5ldmVudCxcbiAgICAgICAgZnVuY3Rpb24oKXtcbiAgICAgICAgICAgIHZhciBub3RpZmljYXRpb24gPSBuZXcgTm90aWZpY2F0aW9uKHtcbiAgICAgICAgICAgICAgICB0aXRsZSA6ICdDaGFuZ2VzIFNhdmVkJyxcbiAgICAgICAgICAgICAgICBtZXNzYWdlIDogJ1lvdXIgY2hhbmdlcyBoYXZlIGJlZW4gc2F2ZWQgc3VjY2Vzc2Z1bGx5LicsXG4gICAgICAgICAgICAgICAgdHlwZSA6ICdzdWNjZXNzJ1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAkc2NvcGUubWFzdGVyID0gYW5ndWxhci5jb3B5KCRzY29wZS5ldmVudCk7XG4gICAgICAgIH0pO1xuICAgIH1cbn0pO1xuIiwiYW5ndWxhci5tb2R1bGUoJ3JhbGxseScpXG4uY29udHJvbGxlcignRXZlbnRDdHJsJywgZnVuY3Rpb24oJHNjb3BlLCAkaHR0cCwgJHN0YXRlLCBUaXRsZSwgRXZlbnQsIENvbmZpcm1Nb2RhbCl7XG4gICAgdmFyIGlkID0gJHN0YXRlLnBhcmFtcy5pZDtcbiAgICAvLyBHZXQgRXZlbnRcbiAgICAkc2NvcGUuZXZlbnQgPSBFdmVudC5nZXQoe2lkOmlkfSwgZnVuY3Rpb24oZGF0YSl7XG4gICAgICAgIC8vIFNldCB0aGUgcGFnZSB0aXRsZSB0byB0aGUgZXZlbnQgdGl0bGVcbiAgICAgICAgVGl0bGUuc2V0KCRzY29wZS5ldmVudC50aXRsZSk7XG4gICAgICAgIC8vIEdlbmVyYXRlIGV2ZW50IHVybCAtIGkuZS4gaHR0cDovL3JhbGxseS5jby9qRjlGX0ZkXG4gICAgICAgICRzY29wZS5ldmVudFVybCA9ICRzdGF0ZS5ocmVmKCdldmVudCcsIHtcbiAgICAgICAgICAgIGlkOiAkc2NvcGUuZXZlbnQuX2lkXG4gICAgICAgIH0sIHtcbiAgICAgICAgICAgIGFic29sdXRlIDogdHJ1ZVxuICAgICAgICB9KTtcbiAgICB9LCBmdW5jdGlvbihlKXtcbiAgICAgICAgJHN0YXRlLmdvKCdub3Rmb3VuZCcpO1xuICAgIH0pO1xuXG4gICAgJHNjb3BlLm9wZW5FdmVudCA9IGZ1bmN0aW9uKCl7XG4gICAgICAgICRzY29wZS5ldmVudC5pc0Nsb3NlZCA9IGZhbHNlO1xuICAgICAgICBFdmVudC51cGRhdGUoe1xuICAgICAgICAgICAgaWQgOiBpZFxuICAgICAgICB9LCAkc2NvcGUuZXZlbnQsXG4gICAgICAgIGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICB2YXIgbW9kYWwgPSBuZXcgQ29uZmlybU1vZGFsKHtcbiAgICAgICAgICAgICAgICB0aXRsZSA6ICdFdmVudCBPcGVuJyxcbiAgICAgICAgICAgICAgICBtZXNzYWdlIDogJ1Blb3BsZSBjYW4gdm90ZSBhbmQgY29tbWVudCBvbiB0aGlzIGV2ZW50LicsXG4gICAgICAgICAgICAgICAgY2FuY2VsVGV4dCA6ICdPSycsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgJHNjb3BlLmNsb3NlRXZlbnQgPSBmdW5jdGlvbigpe1xuICAgICAgICAkc2NvcGUuZXZlbnQuaXNDbG9zZWQgPSB0cnVlO1xuICAgICAgICBFdmVudC51cGRhdGUoe1xuICAgICAgICAgICAgaWQgOiBpZFxuICAgICAgICB9LCAkc2NvcGUuZXZlbnQsXG4gICAgICAgIGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICB2YXIgbW9kYWwgPSBuZXcgQ29uZmlybU1vZGFsKHtcbiAgICAgICAgICAgICAgICB0aXRsZSA6ICdFdmVudCBDbG9zZWQnLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2UgOiAnUGVvcGxlIGNhbiBubyBsb25nZXIgdm90ZSBvciBjb21tZW50IG9uIHRoaXMgZXZlbnQuJyxcbiAgICAgICAgICAgICAgICBjYW5jZWxUZXh0IDogJ09LJyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAkc2NvcGUuZWRpdEV2ZW50ID0gZnVuY3Rpb24oKXtcbiAgICAgICAgJHN0YXRlLmdvKCdlZGl0ZXZlbnQnLCB7IGlkIDogJHNjb3BlLmV2ZW50Ll9pZCB9KTtcbiAgICB9XG5cbn0pO1xuIiwiYW5ndWxhci5tb2R1bGUoJ3JhbGxseScpXG4uY29udHJvbGxlcignSG9tZUN0cmwnLCBmdW5jdGlvbigkc2NvcGUsICRzdGF0ZSwgVGl0bGUpe1xuICAgIFRpdGxlLnNldCgnUmFsbGx5IC0gQ29sbGFib3JhdGl2ZSBTY2hlZHVsaW5nJylcblxuICAgICRzY29wZS5uZXdFdmVudCA9IGZ1bmN0aW9uKCl7XG4gICAgICAgICRzdGF0ZS5nbygnbmV3ZXZlbnQnKTtcbiAgICB9XG59KTtcbiIsImFuZ3VsYXIubW9kdWxlKCdyYWxsbHknKVxuLmNvbnRyb2xsZXIoJ05hdmlnYXRpb25DdHJsJywgZnVuY3Rpb24oJHNjb3BlLCAkbG9jYXRpb24pe1xuICAgICRzY29wZS5pc0FjdGl2ZSA9IGZ1bmN0aW9uKHBhdGgpIHtcbiAgICAgICAgaWYgKCRsb2NhdGlvbi5wYXRoKCkgPT0gcGF0aCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgICAgfVxuICAgIH1cbn0pXG4iLCJhbmd1bGFyLm1vZHVsZSgncmFsbGx5Jylcbi5jb250cm9sbGVyKCdOZXdFdmVudEN0cmwnLCBmdW5jdGlvbigkc2NvcGUsICRodHRwLCAkc3RhdGUsIEV2ZW50LCBDb25maXJtTW9kYWwsIE5vdGlmaWNhdGlvbil7XG5cbiAgICAkc2NvcGUudGl0bGUgPSBcIlNjaGVkdWxlIGEgTmV3IEV2ZW50XCI7XG4gICAgJHNjb3BlLmRlc2NyaXB0aW9uID0gXCJGaWxsIGluIHRoZSBmb3JtIGJlbG93IHRvIGNyZWF0ZSB5b3VyIGV2ZW50IGFuZCBzaGFyZSBpdCB3aXRoIHlvdXIgZnJpZW5kcyBhbmQgY29sbGVhZ3Vlcy5cIjtcbiAgICAkc2NvcGUuZXZlbnQgPSB7fTtcblxuICAgIHZhciBzdGF0ZXMgPSBbXG4gICAgICAgICduZXdldmVudC5nZW5lcmFsJyxcbiAgICAgICAgJ25ld2V2ZW50LmRhdGV0aW1lJyxcbiAgICAgICAgJ25ld2V2ZW50Lmludml0ZSdcbiAgICBdO1xuXG4gICAgJHNjb3BlLnBhZ2UgPSAxO1xuXG4gICAgdmFyIGdvVG8gPSBmdW5jdGlvbihwYWdlKXtcbiAgICAgICAgJHNjb3BlLnBhZ2UgPSBwYWdlO1xuICAgICAgICAkc3RhdGUuZ28oc3RhdGVzW3BhZ2UtMV0pO1xuICAgIH1cblxuICAgIGdvVG8oJHNjb3BlLnBhZ2UpO1xuXG5cbiAgICAkc2NvcGUuc3VibWl0ID0gZnVuY3Rpb24oKXtcbiAgICAgICAgaWYgKCRzY29wZS5mb3JtLiR2YWxpZCAmJiAkc2NvcGUucGFnZSA9PSBzdGF0ZXMubGVuZ3RoKXtcbiAgICAgICAgICAgICRodHRwLnBvc3QoJy9hcGkvZXZlbnQnLCAkc2NvcGUuZXZlbnQpXG4gICAgICAgICAgICAuc3VjY2VzcyhmdW5jdGlvbihldmVudCwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpe1xuICAgICAgICAgICAgICAgICRzY29wZS5ldmVudCA9IGV2ZW50O1xuICAgICAgICAgICAgICAgICRzY29wZS5ldmVudFVybCA9ICRzdGF0ZS5ocmVmKCdldmVudCcsIHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6ICRzY29wZS5ldmVudC5faWRcbiAgICAgICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAgICAgIGFic29sdXRlIDogdHJ1ZVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICRzY29wZS5wYWdlKys7XG4gICAgICAgICAgICAgICAgJHN0YXRlLmdvKCduZXdldmVudC5zdWNjZXNzJyk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmVycm9yKGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICAgICAgdmFyIG1vZGFsID0gbmV3IENvbmZpcm1Nb2RhbCh7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlIDogJ1VoIG9oIScsXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgOiAnVGhlcmUgd2FzIGFuIGVycm9yIGNyZWF0aW5nIHlvdXIgZXZlbnQuIFBsZWFzZSB0cnkgYWdhaW4gbGF0ZXIuJyxcbiAgICAgICAgICAgICAgICAgICAgY2FuY2VsVGV4dCA6ICdPSydcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKCRzY29wZS5mb3JtLiR2YWxpZCkge1xuICAgICAgICAgICAgJHNjb3BlLmZvcm0uJHNldFByaXN0aW5lKCk7XG4gICAgICAgICAgICAkc2NvcGUubmV4dFBhZ2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICRzY29wZS5uZXh0UGFnZSA9IGZ1bmN0aW9uKCl7XG4gICAgICAgIGdvVG8oJHNjb3BlLnBhZ2UrMSk7XG4gICAgfVxuXG4gICAgJHNjb3BlLnByZXZQYWdlID0gZnVuY3Rpb24oKXtcbiAgICAgICAgZ29Ubygkc2NvcGUucGFnZS0xKTtcbiAgICB9XG5cbn0pO1xuIiwiYW5ndWxhci5tb2R1bGUoJ3JhbGxseScpXG4uY29udHJvbGxlcignVmVyaWZpY2F0aW9uQ3RybCcsIGZ1bmN0aW9uKEV2ZW50LCBOb3RpZmljYXRpb24sICRzdGF0ZSl7XG4gICAgRXZlbnQudmVyaWZ5KHtpZCA6ICRzdGF0ZS5wYXJhbXMuaWQsIGNvZGUgOiRzdGF0ZS5wYXJhbXMuY29kZX0sIGZ1bmN0aW9uKCl7XG4gICAgICAgIHZhciBub3RpZmljYXRpb24gPSBuZXcgTm90aWZpY2F0aW9uKHtcbiAgICAgICAgICAgIHRpdGxlIDogJ0VtYWlsIFZlcmlmaWVkJyxcbiAgICAgICAgICAgIG1lc3NhZ2UgOiAnWW91ciBlbWFpbCBoYXMgYmVlbiB2ZXJpZmllZC4gWW91IHdpbGwgbm93IGJlIGFibGUgdG8gcmVjZWl2ZSBlbWFpbCBub3RpZmljYXRpb25zIGZvciB0aGlzIGV2ZW50JyxcbiAgICAgICAgICAgIHR5cGUgOiAnc3VjY2VzcycsXG4gICAgICAgICAgICB0aW1lb3V0IDogNTAwMFxuICAgICAgICB9KTtcbiAgICB9LCBmdW5jdGlvbihlKXtcbiAgICAgICAgdmFyIG5vdGlmaWNhdGlvbiA9IG5ldyBOb3RpZmljYXRpb24oe1xuICAgICAgICAgICAgdGl0bGUgOiAnVmVyaWZpY2F0aW9uIEZhaWxlZCcsXG4gICAgICAgICAgICBtZXNzYWdlIDogJ1lvdXIgdmVyaWZpY2F0aW9uIGNvZGUgaGFzIGV4cGlyZWQuJyxcbiAgICAgICAgICAgIHR5cGUgOiAnZXJyb3InXG4gICAgICAgIH0pO1xuICAgIH0pO1xuICAgICRzdGF0ZS5nbygnZXZlbnQnLCB7IGlkIDogJHN0YXRlLnBhcmFtcy5pZCB9KTtcblxufSk7XG4iLCJhbmd1bGFyLm1vZHVsZSgncmFsbGx5Jylcbi5kaXJlY3RpdmUoJ2JhY2tJbWcnLCBmdW5jdGlvbigpe1xuICAgIHJldHVybiBmdW5jdGlvbihzY29wZSwgZWxlbWVudCwgYXR0cnMpe1xuICAgICAgICB2YXIgdXJsID0gYXR0cnMuYmFja0ltZztcbiAgICAgICAgZWxlbWVudC5jc3Moe1xuICAgICAgICAgICAgJ2JhY2tncm91bmQtaW1hZ2UnOiAndXJsKC9pbWFnZXMvJyArIHVybCArJy5wbmcpJ1xuICAgICAgICB9KTtcbiAgICB9O1xufSlcbiIsImFuZ3VsYXIubW9kdWxlKCdyYWxsbHknKVxuLmRpcmVjdGl2ZSgnZGF0ZXBpY2tlcicsIGZ1bmN0aW9uKCl7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcmVzdHJpY3QgOiAnQScsXG4gICAgICAgIHJlcXVpcmUgOiAnbmdNb2RlbCcsXG4gICAgICAgIHNjb3BlIDoge1xuICAgICAgICAgICAgbW9kZWwgOiAnPW5nTW9kZWwnLFxuICAgICAgICAgICAgY29udHJvbCA6ICc9J1xuICAgICAgICB9LFxuICAgICAgICB0ZW1wbGF0ZVVybDogJ3RlbXBsYXRlcy9kaXJlY3RpdmVzL2RhdGVQaWNrZXIuaHRtbCcsXG4gICAgICAgIGxpbmsgOiBmdW5jdGlvbihzY29wZSwgZWwsIGF0dHJzLCBuZ01vZGVsKXtcbiAgICAgICAgICAgIHNjb3BlLm1vZGVsID0gc2NvcGUubW9kZWwgfHwgW107XG4gICAgICAgICAgICBzY29wZS5jb250cm9sID0gc2NvcGUuY29udHJvbCB8fCB7fTtcblxuICAgICAgICAgICAgc2NvcGUuJHdhdGNoQ29sbGVjdGlvbignbW9kZWwnLCBmdW5jdGlvbihuZXdWYWx1ZSl7XG4gICAgICAgICAgICAgICAgbmdNb2RlbC4kc2V0Vmlld1ZhbHVlKG5ld1ZhbHVlKTtcbiAgICAgICAgICAgICAgICBuZ01vZGVsLiR2YWxpZGF0ZSgpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIG5nTW9kZWwuJHZhbGlkYXRvcnMucmVxdWlyZWQgPSBmdW5jdGlvbihtb2RlbFZhbHVlLCB2aWV3VmFsdWUpe1xuICAgICAgICAgICAgICAgIGlmICghbW9kZWxWYWx1ZSB8fCBtb2RlbFZhbHVlLmxlbmd0aCA9PSAwKXtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIHRvZGF5ID0gRGF0ZS50b2RheSgpLCBhY3RpdmVEYXRlID0gdG9kYXkuY2xvbmUoKTtcbiAgICAgICAgICAgIHZhciBzZXRNb250aCA9IGZ1bmN0aW9uKHRvRGF0ZSl7XG4gICAgICAgICAgICAgICAgYWN0aXZlRGF0ZSA9IHRvRGF0ZTtcbiAgICAgICAgICAgICAgICB2YXIgc3RhcnREYXRlID0gYWN0aXZlRGF0ZS5jbG9uZSgpLm1vdmVUb0ZpcnN0RGF5T2ZNb250aCgpLFxuICAgICAgICAgICAgICAgICAgICBzdGFydERhdGVET1cgPSBzdGFydERhdGUuZ2V0RGF5KCk7XG4gICAgICAgICAgICAgICAgc3RhcnREYXRlLmFkZChzdGFydERhdGVET1cgLSA3KS5kYXlzKCk7XG4gICAgICAgICAgICAgICAgc2NvcGUudGl0bGUgPSBhY3RpdmVEYXRlLnRvU3RyaW5nKCdNTU1NIHl5eXknKTtcbiAgICAgICAgICAgICAgICB2YXIgZGF5cyA9IG5ldyBBcnJheSg0Mik7XG4gICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBkYXlzLmxlbmd0aDsgaSsrKXtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGRhdGUgPSBzdGFydERhdGUuY2xvbmUoKS5hZGQoaSkuZGF5cygpXG4gICAgICAgICAgICAgICAgICAgIGRheXNbaV0gPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRlIDogZGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzT3V0c2lkZU1vbnRoIDogKGRhdGUuZ2V0TW9udGgoKSAhPSBhY3RpdmVEYXRlLmdldE1vbnRoKCkpID8gdHJ1ZSA6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNUb2RheSA6IChEYXRlLmVxdWFscyhkYXRlLCB0b2RheSkpXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc2NvcGUuZGF5cyA9IGRheXM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzZXRNb250aChhY3RpdmVEYXRlKTtcbiAgICAgICAgICAgIHNjb3BlLnNlbGVjdERheSA9IGZ1bmN0aW9uKGRheU9iail7XG4gICAgICAgICAgICAgICAgaWYgKGRheU9iai5pc091dHNpZGVNb250aCkge1xuICAgICAgICAgICAgICAgICAgICBzZXRNb250aChkYXlPYmouZGF0ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgoaW5kZXggPSBzY29wZS5pc0FjdGl2ZShkYXlPYmouZGF0ZSwgdHJ1ZSkpICE9IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIEFscmVhZHkgc2VsZWN0ZWRcbiAgICAgICAgICAgICAgICAgICAgc2NvcGUubW9kZWwuc3BsaWNlKGluZGV4LCAxKTsgLy8gcmVtb3ZlXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gTm90IHNlbGVjdGVkXG4gICAgICAgICAgICAgICAgICAgIHZhciBpbmRleCA9IDAsIGluc2VydGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIGRvIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzY29wZS5tb2RlbFtpbmRleF0gPT0gdW5kZWZpbmVkIHx8IERhdGUuY29tcGFyZShEYXRlLnBhcnNlKHNjb3BlLm1vZGVsW2luZGV4XSksIGRheU9iai5kYXRlKSA+IDApe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlLm1vZGVsLnNwbGljZShpbmRleCwgMCwgZGF5T2JqLmRhdGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc2VydGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4Kys7XG4gICAgICAgICAgICAgICAgICAgIH0gd2hpbGUgKGluc2VydGVkID09IGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzY29wZS5pc0FjdGl2ZSA9IGZ1bmN0aW9uKGRhdGUsIHJldHVybkluZGV4KXtcbiAgICAgICAgICAgICAgICBzY29wZS5tb2RlbCA9IHNjb3BlLm1vZGVsIHx8IFtdO1xuICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2NvcGUubW9kZWwubGVuZ3RoOyBpKyspe1xuICAgICAgICAgICAgICAgICAgICBpZiAoRGF0ZS5lcXVhbHMoRGF0ZS5wYXJzZShzY29wZS5tb2RlbFtpXSksIGRhdGUpKXtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAocmV0dXJuSW5kZXgpID8gaSA6IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIChyZXR1cm5JbmRleCkgPyAtMSA6IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2NvcGUubmV4dE1vbnRoID0gZnVuY3Rpb24oKXtcbiAgICAgICAgICAgICAgICBzZXRNb250aChhY3RpdmVEYXRlLmFkZCgxKS5tb250aHMoKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzY29wZS5wcmV2TW9udGggPSBmdW5jdGlvbigpe1xuICAgICAgICAgICAgICAgIHNldE1vbnRoKGFjdGl2ZURhdGUuYWRkKC0xKS5tb250aHMoKSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNjb3BlLmNvbnRyb2wucmVtb3ZlRGF0ZSA9IGZ1bmN0aW9uKGRhdGUpe1xuICAgICAgICAgICAgICAgIGlmICgoaW5kZXggPSBzY29wZS5pc0FjdGl2ZShEYXRlLnBhcnNlKGRhdGUpLCB0cnVlKSkgIT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgc2NvcGUubW9kZWwuc3BsaWNlKGluZGV4LCAxKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0pO1xuIiwiYW5ndWxhci5tb2R1bGUoJ3JhbGxseScpXG4uZGlyZWN0aXZlKCdkaXNjdXNzaW9uJywgZnVuY3Rpb24oJHRpbWVvdXQsIENvbW1lbnQsIENvbmZpcm1Nb2RhbCl7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcmVzdHJpY3QgOiAnQScsXG4gICAgICAgIHRlbXBsYXRlVXJsIDogJ3RlbXBsYXRlcy9kaXJlY3RpdmVzL2Rpc2N1c3Npb24uaHRtbCcsXG4gICAgICAgIHNjb3BlIDoge1xuICAgICAgICAgICAgJ2V2ZW50JyA6ICc9J1xuICAgICAgICB9LFxuICAgICAgICBsaW5rIDogZnVuY3Rpb24oc2NvcGUsIGVsLCBhdHRycyl7XG4gICAgICAgICAgICBzY29wZS5jb21tZW50ID0ge307XG4gICAgICAgICAgICB2YXIgdGhyZWFkID0gYW5ndWxhci5lbGVtZW50KCcuY29tbWVudC10aHJlYWQnKTtcbiAgICAgICAgICAgICR0aW1lb3V0KGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICAgICAgdGhyZWFkLnNjcm9sbFRvcCh0aHJlYWQucHJvcCgnc2Nyb2xsSGVpZ2h0JykpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBzY29wZS5kZWxldGVDb21tZW50ID0gZnVuY3Rpb24oY29tbWVudCl7XG4gICAgICAgICAgICAgICAgdmFyIG1vZGFsID0gbmV3IENvbmZpcm1Nb2RhbCh7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlIDogJ0FyZSB5b3Ugc3VyZT8nLFxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlIDogJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byByZW1vdmUgdGhpcyBjb21tZW50PycsXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpcm1UZXh0IDogJ1llcyAtIGRlbGV0ZScsXG4gICAgICAgICAgICAgICAgICAgIGNhbmNlbFRleHQgOiAnTm8gLSBuZXZlcm1pbmQnLFxuICAgICAgICAgICAgICAgICAgICBpc0Rlc3RydWN0aXZlIDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgY29uZmlybSA6IGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICAgICAgICAgICAgICBDb21tZW50LnJlbW92ZSh7IGlkIDogc2NvcGUuZXZlbnQuX2lkICwgY2lkIDogY29tbWVudC5faWQgfSwgZnVuY3Rpb24oZXZlbnQpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlLmV2ZW50ID0gZXZlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2NvcGUucG9zdENvbW1lbnQgPSBmdW5jdGlvbigpe1xuICAgICAgICAgICAgICAgIGlmIChzY29wZS5jb21tZW50Rm9ybS4kdmFsaWQpe1xuICAgICAgICAgICAgICAgICAgICB2YXIgY29tbWVudCA9IG5ldyBDb21tZW50KHNjb3BlLmNvbW1lbnQpO1xuICAgICAgICAgICAgICAgICAgICBjb21tZW50LiRzYXZlKHtpZDpzY29wZS5ldmVudC5faWR9LCBmdW5jdGlvbihldmVudCl7XG4gICAgICAgICAgICAgICAgICAgICAgICBzY29wZS5ldmVudCA9IGV2ZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgc2NvcGUuY29tbWVudCA9IHt9O1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgc2NvcGUuY29tbWVudEZvcm0uJHNldFByaXN0aW5lKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSk7XG4iLCJhbmd1bGFyLm1vZHVsZSgncmFsbGx5Jylcbi5kaXJlY3RpdmUoJ2Ryb3Bkb3duJywgZnVuY3Rpb24oJGRvY3VtZW50KXtcbiAgICByZXR1cm4ge1xuICAgICAgICByZXN0cmljdCA6ICdBJyxcbiAgICAgICAgbGluayA6IGZ1bmN0aW9uKHNjb3BlLCBlbCwgYXR0cnMpe1xuICAgICAgICAgICAgZWwuYWRkQ2xhc3MoJ2Ryb3Bkb3duJyk7XG4gICAgICAgICAgICBzY29wZS5vcGVuID0gZmFsc2U7XG5cbiAgICAgICAgICAgIHZhciBjbGlja0hhbmRsZXIgPSBmdW5jdGlvbihldmVudCl7XG4gICAgICAgICAgICAgICAgdmFyIGlzQ2xpY2tlZEVsZW1lbnRDaGlsZE9mUG9wdXAgPSBlbC5maW5kKGV2ZW50LnRhcmdldCkubGVuZ3RoID4gMDtcbiAgICAgICAgICAgICAgICBpZiAoaXNDbGlja2VkRWxlbWVudENoaWxkT2ZQb3B1cCkgcmV0dXJuO1xuICAgICAgICAgICAgICAgIHNjb3BlLnRvZ2dsZSgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzY29wZS50b2dnbGUgPSBmdW5jdGlvbigpe1xuICAgICAgICAgICAgICAgIHNjb3BlLm9wZW4gPSAhc2NvcGUub3BlbjtcbiAgICAgICAgICAgICAgICBpZiAoc2NvcGUub3Blbil7XG4gICAgICAgICAgICAgICAgICAgIGVsLmFkZENsYXNzKCdvcGVuJyk7XG4gICAgICAgICAgICAgICAgICAgICRkb2N1bWVudC5iaW5kKCdjbGljaycsIGNsaWNrSGFuZGxlcik7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgZWwucmVtb3ZlQ2xhc3MoJ29wZW4nKTtcbiAgICAgICAgICAgICAgICAgICAgJGRvY3VtZW50LnVuYmluZCgnY2xpY2snLCBjbGlja0hhbmRsZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0pO1xuIiwiYW5ndWxhci5tb2R1bGUoJ3JhbGxseScpXG4uc2VydmljZSgnRm9ybUhlbHBlcicsIGZ1bmN0aW9uKCl7XG4gICAgdGhpcy5lbWFpbFJlZ2V4U3RyaW5nID0gJ14oW1xcXFx3LVxcXFwuXStAKFtcXFxcdy1dK1xcXFwuKStbXFxcXHctXXsyLDR9KT8kJztcbiAgICB0aGlzLmVtYWlsUmVnZXggPSBuZXcgUmVnRXhwKHRoaXMuZW1haWxSZWdleFN0cmluZyk7XG4gICAgdGhpcy5wcmV0dHlFcnJvciA9IGZ1bmN0aW9uKGVycm9ycywgZmllbGQpe1xuICAgICAgICBpZiAoZXJyb3JzLnJlcXVpcmVkKSByZXR1cm4gZmllbGQgKyBcIiBpcyByZXF1aXJlZFwiO1xuICAgICAgICBpZiAoZXJyb3JzLnBhdHRlcm4pIHJldHVybiBmaWVsZCArIFwiIGlzIGludmFsaWRcIiA7XG4gICAgICAgIGlmIChlcnJvcnMubWF4bGVuZ3RoKSByZXR1cm4gZmllbGQgKyBcIiBpcyB0b28gbG9uZ1wiO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufSlcbi5kaXJlY3RpdmUoJ3VzZXJGb3JtJywgZnVuY3Rpb24oRm9ybUhlbHBlcil7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgc2NvcGUgOiB7XG4gICAgICAgICAgICBldmVudCA6ICc9JyxcbiAgICAgICAgICAgIGZvcm0gOiAnPSdcbiAgICAgICAgfSxcbiAgICAgICAgdGVtcGxhdGVVcmwgOiAndGVtcGxhdGVzL2Zvcm0vdXNlckZvcm0uaHRtbCcsXG4gICAgICAgIGxpbmsgOiBmdW5jdGlvbihzY29wZSwgZWwsIGF0dHJzKSB7XG4gICAgICAgICAgICBzY29wZS5lcnJvcnMgPSB7fTtcblxuICAgICAgICAgICAgc2NvcGUuZW1haWxSZWdleCA9IEZvcm1IZWxwZXIuZW1haWxSZWdleDtcblxuICAgICAgICAgICAgc2NvcGUuJHdhdGNoQ29sbGVjdGlvbignZm9ybS5uYW1lLiRlcnJvcicsZnVuY3Rpb24oZXJyb3JzKXtcbiAgICAgICAgICAgICAgICBzY29wZS5lcnJvcnMubmFtZSA9IEZvcm1IZWxwZXIucHJldHR5RXJyb3IoZXJyb3JzLCBcIk5hbWVcIik7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgc2NvcGUuJHdhdGNoQ29sbGVjdGlvbignZm9ybS5lbWFpbC4kZXJyb3InLGZ1bmN0aW9uKGVycm9ycyl7XG4gICAgICAgICAgICAgICAgc2NvcGUuZXJyb3JzLmVtYWlsID0gRm9ybUhlbHBlci5wcmV0dHlFcnJvcihlcnJvcnMsIFwiRW1haWxcIik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbn0pXG4uZGlyZWN0aXZlKCdldmVudEZvcm0nLCBmdW5jdGlvbihGb3JtSGVscGVyKXtcbiAgICByZXR1cm4ge1xuICAgICAgICBzY29wZSA6IHtcbiAgICAgICAgICAgIGV2ZW50IDogJz0nLFxuICAgICAgICAgICAgZm9ybSA6ICc9J1xuICAgICAgICB9LFxuICAgICAgICB0ZW1wbGF0ZVVybCA6ICd0ZW1wbGF0ZXMvZm9ybS9ldmVudEZvcm0uaHRtbCcsXG4gICAgICAgIGxpbmsgOiBmdW5jdGlvbihzY29wZSwgZWwsIGF0dHJzKSB7XG4gICAgICAgICAgICBzY29wZS5lcnJvcnMgPSB7fTtcblxuICAgICAgICAgICAgc2NvcGUuJHdhdGNoQ29sbGVjdGlvbignZm9ybS50aXRsZS4kZXJyb3InLGZ1bmN0aW9uKGVycm9ycyl7XG4gICAgICAgICAgICAgICAgc2NvcGUuZXJyb3JzLnRpdGxlID0gRm9ybUhlbHBlci5wcmV0dHlFcnJvcihlcnJvcnMsIFwiVGl0bGVcIik7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgc2NvcGUuJHdhdGNoQ29sbGVjdGlvbignZm9ybS5sb2NhdGlvbi4kZXJyb3InLGZ1bmN0aW9uKGVycm9ycyl7XG4gICAgICAgICAgICAgICAgc2NvcGUuZXJyb3JzLmxvY2F0aW9uID0gRm9ybUhlbHBlci5wcmV0dHlFcnJvcihlcnJvcnMsIFwiTG9jYXRpb25cIik7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB9XG4gICAgfVxufSlcbi5kaXJlY3RpdmUoJ2RhdGVGb3JtJywgZnVuY3Rpb24oKXtcbiAgICByZXR1cm4ge1xuICAgICAgICBzY29wZSA6IHtcbiAgICAgICAgICAgIGV2ZW50IDogJz0nLFxuICAgICAgICAgICAgZm9ybSA6ICc9J1xuICAgICAgICB9LFxuICAgICAgICB0ZW1wbGF0ZVVybCA6ICd0ZW1wbGF0ZXMvZm9ybS9kYXRlRm9ybS5odG1sJ1xuICAgIH1cbn0pXG4uZGlyZWN0aXZlKCdwYXJ0aWNpcGFudHNGb3JtJywgZnVuY3Rpb24oRm9ybUhlbHBlcil7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgc2NvcGUgOiB7XG4gICAgICAgICAgICBldmVudCA6ICc9JyxcbiAgICAgICAgICAgIGZvcm0gOiAnPSdcbiAgICAgICAgfSxcbiAgICAgICAgdGVtcGxhdGVVcmwgOiAndGVtcGxhdGVzL2Zvcm0vcGFydGljaXBhbnRzRm9ybS5odG1sJyxcbiAgICAgICAgbGluayA6IGZ1bmN0aW9uKHNjb3BlLCBlbCwgYXR0cnMpe1xuICAgICAgICAgICAgc2NvcGUuZW1haWxSZWdleCA9IEZvcm1IZWxwZXIuZW1haWxSZWdleFN0cmluZztcbiAgICAgICAgfVxuICAgIH1cbn0pXG4uZGlyZWN0aXZlKCdzZXR0aW5nc0Zvcm0nLCBmdW5jdGlvbihFdmVudCwgQ29uZmlybU1vZGFsKXtcbiAgICByZXR1cm4ge1xuICAgICAgICBzY29wZSA6IHtcbiAgICAgICAgICAgIGV2ZW50IDogJz0nLFxuICAgICAgICAgICAgZm9ybSA6ICc9J1xuICAgICAgICB9LFxuICAgICAgICB0ZW1wbGF0ZVVybCA6ICd0ZW1wbGF0ZXMvZm9ybS9zZXR0aW5nc0Zvcm0uaHRtbCcsXG4gICAgICAgIGxpbmsgOiBmdW5jdGlvbihzY29wZSwgZWwsIGF0dHJzKXtcbiAgICAgICAgICAgIHNjb3BlLmRlbGV0ZUV2ZW50ID0gZnVuY3Rpb24oKXtcbiAgICAgICAgICAgICAgICBpZiAoc2NvcGUuZGVsZXRlUmVxdWVzdFNlbnQpIHJldHVybjtcbiAgICAgICAgICAgICAgICBFdmVudC5kZWxldGUoeydpZCcgOiBzY29wZS5ldmVudC5faWR9LCBmdW5jdGlvbigpe1xuICAgICAgICAgICAgICAgICAgICBzY29wZS5kZWxldGVSZXF1ZXN0U2VudCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHZhciBtb2RhbCA9IG5ldyBDb25maXJtTW9kYWwoe1xuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGUgOiAnRGVsZXRlIFJlcXVlc3QgU2VudCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlIDogJ0FuIGVtYWlsIGhhcyBiZWVuIHNlbnQgdG8gdGhlIGNyZWF0b3Igb2YgdGhpcyBldmVudCB3aXRoIGluc3RydWN0aW9ucyB0byBkZWxldGUgaXQuJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhbmNlbFRleHQgOiAnT0snXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSlcbi5kaXJlY3RpdmUoJ3N3aXRjaFRvZ2dsZScsIGZ1bmN0aW9uKCl7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgc2NvcGUgOiB7XG4gICAgICAgICAgICBtb2RlbCA6ICc9bmdNb2RlbCdcbiAgICAgICAgfSxcbiAgICAgICAgcmVxdWlyZSA6ICduZ01vZGVsJyxcbiAgICAgICAgbGluayA6IGZ1bmN0aW9uKHNjb3BlLCBlbCwgYXR0cnMsIG5nTW9kZWwpIHtcbiAgICAgICAgICAgIGVsLmFkZENsYXNzKCdzd2l0Y2gtdG9nZ2xlJyk7XG4gICAgICAgICAgICB2YXIgc2V0Q2xhc3MgPSBmdW5jdGlvbigpe1xuICAgICAgICAgICAgICAgIGlmIChzY29wZS5tb2RlbCBeIHR5cGVvZihhdHRycy5pbnZlcnQpICE9PSAndW5kZWZpbmVkJyl7XG4gICAgICAgICAgICAgICAgICAgIGVsLmFkZENsYXNzKCdhY3RpdmUnKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBlbC5yZW1vdmVDbGFzcygnYWN0aXZlJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2NvcGUuJHdhdGNoKCdtb2RlbCcsIHNldENsYXNzKTtcbiAgICAgICAgICAgIGVsLmJpbmQoJ2NsaWNrJywgZnVuY3Rpb24oZSl7XG4gICAgICAgICAgICAgICAgc2NvcGUubW9kZWwgPSAhc2NvcGUubW9kZWw7XG4gICAgICAgICAgICAgICAgbmdNb2RlbC4kc2V0Vmlld1ZhbHVlKHNjb3BlLm1vZGVsLCBlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxufSlcbi5kaXJlY3RpdmUoJ3RpbWVGb3JtJywgZnVuY3Rpb24oRGF0ZVBpY2tlclNlcnZpY2Upe1xuICAgIHJldHVybiB7XG4gICAgICAgIHNjb3BlIDoge1xuICAgICAgICAgICAgZXZlbnQgOiAnPScsXG4gICAgICAgICAgICBmb3JtIDogJz0nXG4gICAgICAgIH0sXG4gICAgICAgIHRlbXBsYXRlVXJsIDogJ3RlbXBsYXRlcy9mb3JtL3RpbWVGb3JtLmh0bWwnLFxuICAgICAgICBsaW5rIDogZnVuY3Rpb24oc2NvcGUsIGVsLCBhdHRycyl7XG4gICAgICAgICAgICB2YXIgaW5pdCA9IGZhbHNlO1xuICAgICAgICAgICAgdmFyIGRhdGVTZXJ2aWNlO1xuICAgICAgICAgICAgdmFyIGRlcmVnaXN0ZXIgPSBzY29wZS4kd2F0Y2goJ2V2ZW50LmRhdGVzJywgZnVuY3Rpb24odmFsdWUpe1xuICAgICAgICAgICAgICAgIGlmICh2YWx1ZSAmJiAhaW5pdCkge1xuICAgICAgICAgICAgICAgICAgICBkZXJlZ2lzdGVyKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGluaXQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGRhdGVTZXJ2aWNlID0gbmV3IERhdGVQaWNrZXJTZXJ2aWNlKHNjb3BlLmV2ZW50LmRhdGVzKTtcbiAgICAgICAgICAgICAgICBzY29wZS51bnNldERhdGUgPSBmdW5jdGlvbihkYXRlKXtcbiAgICAgICAgICAgICAgICAgICAgZGF0ZVNlcnZpY2UucmVtb3ZlRGF0ZShkYXRlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbn0pXG4uZGlyZWN0aXZlKCd0aW1lUGlja2VyJywgZnVuY3Rpb24oJHRpbWVvdXQpe1xuICAgIHJldHVybiB7XG4gICAgICAgIHNjb3BlIDoge1xuICAgICAgICAgICAgbW9kZWwgOiAnPW5nTW9kZWwnXG4gICAgICAgIH0sXG4gICAgICAgIHJlcXVpcmUgOiAnbmdNb2RlbCcsXG4gICAgICAgIGxpbmsgOiBmdW5jdGlvbihzY29wZSwgZWwsIGF0dHJzLCBuZ01vZGVsKXtcbiAgICAgICAgICAgIG5nTW9kZWwuJHZpZXdDaGFuZ2VMaXN0ZW5lcnMucHVzaChmdW5jdGlvbigpe1xuICAgICAgICAgICAgICAgIHNjb3BlLm1vZGVsID0gbmdNb2RlbC4kbW9kZWxWYWx1ZTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBuZ01vZGVsLiRwYXJzZXJzLnB1c2goZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgcmV0dXJuO1xuICAgICAgICAgICAgICAgIHJldHVybiBEYXRlLnBhcnNlKHZhbHVlKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBuZ01vZGVsLiR2YWxpZGF0b3JzLnRpbWUgPSBmdW5jdGlvbihtb2RlbFZhbHVlLCB2aWV3VmFsdWUpe1xuICAgICAgICAgICAgICAgIGlmIChuZ01vZGVsLiRpc0VtcHR5KG1vZGVsVmFsdWUpKSByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICB2YXIgdGltZSA9IERhdGUucGFyc2UobW9kZWxWYWx1ZSk7XG4gICAgICAgICAgICAgICAgaWYgKHRpbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgbmdNb2RlbC4kc2V0Vmlld1ZhbHVlKHRpbWUudG9TdHJpbmcoXCJoaDptbSB0dFwiKSk7XG4gICAgICAgICAgICAgICAgICAgIG5nTW9kZWwuJHJlbmRlcigpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSk7XG4iLCJhbmd1bGFyLm1vZHVsZSgncmFsbGx5Jylcbi5kaXJlY3RpdmUoJ3BvbGwnLCBmdW5jdGlvbigkdGltZW91dCwgUGFydGljaXBhbnQsIENvbmZpcm1Nb2RhbCl7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcmVzdHJpY3QgOiAnQScsXG4gICAgICAgIHRlbXBsYXRlVXJsIDogJ3RlbXBsYXRlcy9kaXJlY3RpdmVzL3BvbGwuaHRtbCcsXG4gICAgICAgIHNjb3BlIDoge1xuICAgICAgICAgICAgJ2V2ZW50JyA6ICc9J1xuICAgICAgICB9LFxuICAgICAgICBsaW5rIDogZnVuY3Rpb24oc2NvcGUsIGVsLCBhdHRycyl7XG4gICAgICAgICAgICBzY29wZS5kZWZhdWx0cyA9IFtdO1xuICAgICAgICAgICAgc2NvcGUucGFydGljaXBhbnQgPSB7fTtcbiAgICAgICAgICAgIHZhciBkYXRlc0NvdW50ID0gW107XG4gICAgICAgICAgICB2YXIgdW5iaW5kTGlzdGVuZXI7XG4gICAgICAgICAgICBzY29wZS5ldmVudC4kcHJvbWlzZS50aGVuKGZ1bmN0aW9uKGV2ZW50KXtcbiAgICAgICAgICAgICAgICB2YXIgZXhhbXBsZXNOYW1lcyA9IFsnSm9obiBFeGFtcGxlJywgJ0phbmUgU3BlY2ltZW4nLCdNYXJrIEluc3RhbmNlJywgJ01hcnkgQ2FzZSddO1xuICAgICAgICAgICAgICAgIHZhciBleGFtcGxlcyA9IFtdO1xuICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZXhhbXBsZXNOYW1lcy5sZW5ndGg7IGkrKyl7XG4gICAgICAgICAgICAgICAgICAgIHZhciBleGFtcGxlID0geyBuYW1lIDogZXhhbXBsZXNOYW1lc1tpXSB9O1xuICAgICAgICAgICAgICAgICAgICBleGFtcGxlLmRhdGVzID0gW107XG4gICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgIGV2ZW50LmRhdGVzLmxlbmd0aDsgaisrKXtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBhbnN3ZXIgPSBNYXRoLnJhbmRvbSgpPC41O1xuICAgICAgICAgICAgICAgICAgICAgICAgZXhhbXBsZS5kYXRlc1tqXSA9IGFuc3dlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBleGFtcGxlcy5wdXNoKGV4YW1wbGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzY29wZS5leGFtcGxlcyA9IGV4YW1wbGVzO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIHNjb3BlLmRlbGV0ZSA9IGZ1bmN0aW9uKHBhcnRpY2lwYW50KXtcbiAgICAgICAgICAgICAgICB2YXIgbW9kYWwgPSBuZXcgQ29uZmlybU1vZGFsKHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGUgOiAnRGVsZXRlICcgKyBwYXJ0aWNpcGFudC5uYW1lICsgJz8nLFxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlIDogJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byByZW1vdmUgJytwYXJ0aWNpcGFudC5uYW1lKycgZnJvbSB0aGUgcG9sbD8nLFxuICAgICAgICAgICAgICAgICAgICBjb25maXJtVGV4dCA6ICdZZXMgLSBkZWxldGUnLFxuICAgICAgICAgICAgICAgICAgICBjYW5jZWxUZXh0IDogJ05vIC0gbmV2ZXJtaW5kJyxcbiAgICAgICAgICAgICAgICAgICAgaXNEZXN0cnVjdGl2ZSA6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpcm0gOiBmdW5jdGlvbigpe1xuICAgICAgICAgICAgICAgICAgICAgICAgUGFydGljaXBhbnQucmVtb3ZlKHsgaWQgOiBzY29wZS5ldmVudC5faWQgLCBwaWQgOiBwYXJ0aWNpcGFudC5faWQgfSwgZnVuY3Rpb24oZXZlbnQpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlLmV2ZW50ID0gZXZlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2NvcGUuaXNUb3BEYXRlID0gZnVuY3Rpb24oaW5kZXgpe1xuICAgICAgICAgICAgICAgIHZhciBjb3VudCA9IGRhdGVzQ291bnRbaW5kZXhdO1xuICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZGF0ZXNDb3VudC5sZW5ndGg7IGkrKyl7XG4gICAgICAgICAgICAgICAgICAgIGlmIChkYXRlc0NvdW50W2ldID4gY291bnQpIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzY29wZS5zZWxlY3RlZERhdGUgPSBmdW5jdGlvbihpbmRleCl7XG4gICAgICAgICAgICAgICAgZGF0ZXNDb3VudFtpbmRleF0gPSAwO1xuICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2NvcGUuZXZlbnQucGFydGljaXBhbnRzLmxlbmd0aDsgaSsrKXtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNjb3BlLmV2ZW50LnBhcnRpY2lwYW50c1tpXS52b3Rlc1tpbmRleF0pIGRhdGVzQ291bnRbaW5kZXhdKys7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBkYXRlc0NvdW50W2luZGV4XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNjb3BlLnVwZGF0ZSA9IGZ1bmN0aW9uKHBhcnRpY2lwYW50KXtcbiAgICAgICAgICAgICAgICBQYXJ0aWNpcGFudC51cGRhdGUoe1xuICAgICAgICAgICAgICAgICAgICBpZCA6IHNjb3BlLmV2ZW50Ll9pZCxcbiAgICAgICAgICAgICAgICAgICAgcGlkIDogcGFydGljaXBhbnQuX2lkXG4gICAgICAgICAgICAgICAgfSwgcGFydGljaXBhbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2NvcGUuZWRpdCA9IGZ1bmN0aW9uKHBhcnRpY2lwYW50KXtcbiAgICAgICAgICAgICAgICBzY29wZS5kZWZhdWx0c1tzY29wZS5ldmVudC5wYXJ0aWNpcGFudHMuaW5kZXhPZihwYXJ0aWNpcGFudCldID0gYW5ndWxhci5jb3B5KHBhcnRpY2lwYW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNjb3BlLmNhbmNlbCA9IGZ1bmN0aW9uKGluZGV4KXtcbiAgICAgICAgICAgICAgICBzY29wZS5ldmVudC5wYXJ0aWNpcGFudHNbaW5kZXhdID0gc2NvcGUuZGVmYXVsdHNbaW5kZXhdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2NvcGUuc2F2ZSA9IGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICAgICAgaWYgKHNjb3BlLmZvcm1uZXcuJHZhbGlkKXtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHBhcnRpY2lwYW50ID0gbmV3IFBhcnRpY2lwYW50KHNjb3BlLnBhcnRpY2lwYW50KTtcbiAgICAgICAgICAgICAgICAgICAgcGFydGljaXBhbnQuJHNhdmUoe2lkOnNjb3BlLmV2ZW50Ll9pZH0sIGZ1bmN0aW9uKGV2ZW50KXtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlLmV2ZW50ID0gZXZlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBzY29wZS5wYXJ0aWNpcGFudCA9IHt9O1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgc2NvcGUuZm9ybW5ldy4kc2V0UHJpc3RpbmUoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59KTtcbiIsImFuZ3VsYXIubW9kdWxlKCdyYWxsbHknKVxuLmZpbHRlcignZWxhcHNlZCcsIGZ1bmN0aW9uKCRmaWx0ZXIpe1xuICAgIHJldHVybiBmdW5jdGlvbihkYXRlKXtcbiAgICAgICAgaWYgKCFkYXRlKSByZXR1cm47XG4gICAgICAgIHZhciB0aW1lID0gRGF0ZS5wYXJzZShkYXRlKSxcbiAgICAgICAgICAgIHRpbWVOb3cgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSxcbiAgICAgICAgICAgIGRpZmZlcmVuY2UgPSB0aW1lTm93IC0gdGltZSxcbiAgICAgICAgICAgIHNlY29uZHMgPSBNYXRoLmZsb29yKGRpZmZlcmVuY2UgLyAxMDAwKSxcbiAgICAgICAgICAgIG1pbnV0ZXMgPSBNYXRoLmZsb29yKHNlY29uZHMgLyA2MCksXG4gICAgICAgICAgICBob3VycyA9IE1hdGguZmxvb3IobWludXRlcyAvIDYwKSxcbiAgICAgICAgICAgIGRheXMgPSBNYXRoLmZsb29yKGhvdXJzIC8gMjQpO1xuICAgICAgICBpZiAoZGF5cyA+IDMwKSB7XG4gICAgICAgICAgICByZXR1cm4gJ29uICcgKyAkZmlsdGVyKCdkYXRlJykoZGF0ZSwgJ01NTU0gZCcpO1xuICAgICAgICB9IGVsc2UgaWYgKGRheXMgPiAxKSB7XG4gICAgICAgICAgICByZXR1cm4gZGF5cyArIFwiIGRheXMgYWdvXCI7XG4gICAgICAgIH0gZWxzZSBpZiAoZGF5cyA9PSAxKSB7XG4gICAgICAgICAgICByZXR1cm4gXCIxIGRheSBhZ29cIlxuICAgICAgICB9IGVsc2UgaWYgKGhvdXJzID4gMSkge1xuICAgICAgICAgICAgcmV0dXJuIGhvdXJzICsgXCIgaG91cnMgYWdvXCI7XG4gICAgICAgIH0gZWxzZSBpZiAoaG91cnMgPT0gMSkge1xuICAgICAgICAgICAgcmV0dXJuIFwiYW4gaG91ciBhZ29cIjtcbiAgICAgICAgfSBlbHNlIGlmIChtaW51dGVzID4gMSkge1xuICAgICAgICAgICAgcmV0dXJuIG1pbnV0ZXMgKyBcIiBtaW51dGVzIGFnb1wiO1xuICAgICAgICB9IGVsc2UgaWYgKG1pbnV0ZXMgPT0gMSl7XG4gICAgICAgICAgICByZXR1cm4gXCJhIG1pbnV0ZSBhZ29cIjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBcImEgZmV3IHNlY29uZHMgYWdvXCI7XG4gICAgICAgIH1cbiAgICB9XG59KVxuIiwiYW5ndWxhci5tb2R1bGUoJ3JhbGxseScpXG4uZmFjdG9yeSgnQ29uZmlybU1vZGFsJywgZnVuY3Rpb24oYnRmTW9kYWwpe1xuXG4gICAgcmV0dXJuIGZ1bmN0aW9uKGNvbmZpZyl7XG4gICAgICAgIHZhciBtb2RhbDtcbiAgICAgICAgbW9kYWwgPSBidGZNb2RhbCh7XG4gICAgICAgICAgICB0ZW1wbGF0ZVVybCA6ICd0ZW1wbGF0ZXMvY29uZmlybW1vZGFsLmh0bWwnLFxuICAgICAgICAgICAgY29udHJvbGxlckFzIDogJ21vZGFsJyxcbiAgICAgICAgICAgIGNvbnRyb2xsZXIgOiBmdW5jdGlvbigpe1xuICAgICAgICAgICAgICAgIHRoaXMudGl0bGUgPSBjb25maWcudGl0bGVcbiAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2UgPSBjb25maWcubWVzc2FnZTtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpcm0gPSAoY29uZmlnLmNvbmZpcm0pID8gZnVuY3Rpb24oKXtjb25maWcuY29uZmlybSgpOyBtb2RhbC5kZWFjdGl2YXRlKCl9IDogZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5jYW5jZWwgPSBtb2RhbC5kZWFjdGl2YXRlO1xuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlybVRleHQgPSBjb25maWcuY29uZmlybVRleHQgfHwgJ0NvbmZpcm0nO1xuICAgICAgICAgICAgICAgIHRoaXMuY2FuY2VsVGV4dCA9IGNvbmZpZy5jYW5jZWxUZXh0IHx8ICdDYW5jZWwnO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNEZXN0cnVjdGl2ZSA9IGNvbmZpZy5pc0Rlc3RydWN0aXZlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgbW9kYWwuYWN0aXZhdGUoKTtcbiAgICAgICAgXG4gICAgICAgIHRoaXMuZGVzdHJveSA9IGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICBtb2RhbC5kZWFjdGl2YXRlKCk7XG4gICAgICAgIH1cbiAgICB9XG59KTtcbiIsImFuZ3VsYXIubW9kdWxlKCdyYWxsbHknKVxuLmZhY3RvcnkoJ05vdGlmaWNhdGlvbicsIGZ1bmN0aW9uKCR0aW1lb3V0LCBidGZNb2RhbCl7XG4gICAgcmV0dXJuIGZ1bmN0aW9uKGNvbmZpZyl7XG4gICAgICAgIHZhciBtb2RhbDtcbiAgICAgICAgbW9kYWwgPSBidGZNb2RhbCh7XG4gICAgICAgICAgICB0ZW1wbGF0ZVVybCA6ICd0ZW1wbGF0ZXMvbm90aWZpY2F0aW9uLmh0bWwnLFxuICAgICAgICAgICAgY29udHJvbGxlckFzIDogJ25vdGlmaWNhdGlvbicsXG4gICAgICAgICAgICBjb250cm9sbGVyIDogZnVuY3Rpb24oKXtcbiAgICAgICAgICAgICAgICB0aGlzLnRpdGxlID0gY29uZmlnLnRpdGxlXG4gICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlID0gY29uZmlnLm1lc3NhZ2U7XG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZSA9IG1vZGFsLmRlYWN0aXZhdGU7XG4gICAgICAgICAgICAgICAgdGhpcy50eXBlID0gY29uZmlnLnR5cGU7XG4gICAgICAgICAgICAgICAgdmFyIHRpbWVvdXQgPSBjb25maWcudGltZW91dCB8fCA1MDAwO1xuICAgICAgICAgICAgICAgICR0aW1lb3V0KG1vZGFsLmRlYWN0aXZhdGUsIHRpbWVvdXQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgbW9kYWwuYWN0aXZhdGUoKTtcblxuICAgICAgICB0aGlzLmRlc3Ryb3kgPSBmdW5jdGlvbigpe1xuICAgICAgICAgICAgbW9kYWwuZGVhY3RpdmF0ZSgpO1xuICAgICAgICB9XG4gICAgfVxufSk7XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= \ No newline at end of file +angular.module("rallly",["ui.router","ngResource","btford.modal","ngTagsInput","ngAnimate","ngFitText"]).config(["$stateProvider","$urlRouterProvider","$locationProvider",function(e,t,n){n.html5Mode(!0),t.otherwise("/notfound"),e.state("index",{url:"/",templateUrl:"templates/home.html",controller:"HomeCtrl"}).state("newevent",{url:"/new",templateUrl:"templates/newEvent/layout.html",controller:"NewEventCtrl"}).state("newevent.general",{templateUrl:"templates/newEvent/general.html"}).state("newevent.datetime",{templateUrl:"templates/newEvent/datetime.html"}).state("newevent.invite",{templateUrl:"templates/newEvent/invite.html"}).state("newevent.success",{templateUrl:"templates/newEvent/success.html"}).state("about",{url:"/about",templateUrl:"templates/about.html",controller:"AboutCtrl"}).state("notfound",{url:"/notfound",templateUrl:"templates/notfound.html"}).state("event",{url:"/:id",templateUrl:"templates/event.html",controller:"EventCtrl"}).state("editevent",{url:"/:id/edit",templateUrl:"templates/editevent.html",controller:"EditEventCtrl"}).state("verifyevent",{url:"/verify/:id/code/:code",controller:"VerificationCtrl"}).state("deleteevent",{url:"/delete/:id/code/:code",controller:"DeletionCtrl"})}]).factory("Event",["$resource",function(e){return e("/api/event/:id",{id:"@_id"},{update:{method:"PUT"},verify:{method:"GET",url:"/api/event/:id/code/:code"},destroy:{method:"DELETE",url:"/api/event/:id/code/:code"}})}]).factory("Participant",["$resource",function(e){return e("/api/event/:id/participant/:pid",{id:"@_id"},{update:{method:"PUT"}})}]).factory("Comment",["$resource",function(e){return e("/api/event/:id/comment/:cid",{id:"@_id"},{update:{method:"PUT"}})}]).factory("Title",function(){return{set:function(e){document.title=e}}}),angular.module("rallly").run(["$templateCache",function(e){e.put("templates/about.html",'
\n

What is Rallly?

\n
Rallly is a collaborative scheduling service that makes deciding on a date fast and easy.
\n

Hi, I\'m Luke!

\n

\n I created Rallly as side project to help me learn some new technologies. I decided to publish it because I thought other people might find it useful. Rallly is a completely free service. In fact it is even open source. You can look at the latest source code on Github.\n

\n
\n'),e.put("templates/confirmmodal.html",'
\n\n
\n
{{modal.title}}
\n
\n {{modal.message}}\n
\n
\n \n \n
\n
\n'),e.put("templates/editevent.html",'
\n
\n\n
Edit Event
\n
\n You can makes changes to your existing event by changing the fields in the form below.\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n
\n\n
\n\n
\n\n
\n\n
\n \n \n Done\n
\n\n
\n\n
\n\n
\n'),e.put("templates/event.html",'
\n
\n
\n
\n
\n {{event.title}}\n Poll Closed\n Poll Open\n
\n
\n Created by {{event.creator.name}} • {{event.created | elapsed}}\n
\n
\n
\n \n
\n
\n
{{event.description}}
\n
\n Location:\n {{event.location}}\n
\n\n
\n
\n
\n\n
\n
\n Discussion\n
\n
\n You can discuss the event with your friends by leaving a comment below.\n
\n
\n\n
\n
\n
\n'),e.put("templates/home.html",'
\n
\n \n
\n
\n Schedule an Event\n
\n
\n Want to host an event but can’t decide on a date? Click on the button below to start!\n
\n \n
\n'),e.put("templates/notfound.html","

Error 404

\n

Not Found

\n"),e.put("templates/notification.html",'
\n
\n {{notification.title}}\n
\n
\n {{notification.message}}\n
\n
\n'),e.put("templates/directives/datePicker.html",'
\n
\n
\n \n \n {{title}}\n \n \n
\n
\n
\n Sun\n
\n
\n Mon\n
\n
\n Tue\n
\n
\n Wed\n
\n
\n Thu\n
\n
\n Fri\n
\n
\n Sat\n
\n
\n
\n
\n {{day.date | date : \'d\' }}\n
\n
\n
\n
\n'),e.put("templates/directives/discussion.html",'
    \n
  • \n
    \n \n
    \n
    \n ×\n
    \n {{comment.author.name}}\n {{comment.created | elapsed}}\n
    \n
    {{comment.content}}
    \n
    \n
  • \n
\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n \n \n \n Make sure you fill in all the fields.\n \n
\n
\n
\n
\n'),e.put("templates/directives/poll.html",'
\n
\n {{event.participants.length}} participants\n
\n
\n
\n
\n {{d | date: \'EEE\'}}\n
\n
\n {{d | date: \'d\'}}\n
\n
\n {{d | date : \'MMM\'}}\n
\n {{selectedDate($index)}}\n
\n
\n
\n\n
\n
\n
\n
\n
\n
\n \n \n \n \n {{participant.name}}\n
\n
\n \n \n \n
\n
\n
\n \n \n \n \n
\n
\n
\n
\n
\n
\n \n \n \n {{example.name}}\n
\n
\n \n \n
\n
\n\n
\n
\n
\n
\n Fill in the form below to get started\n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n
\n \n
\n
\n
\n \n
\n
\n
\n
\n'),e.put("templates/directives/timePicker.html",'
\n
\n
\n
\n {{date | date: \'EEE\'}}\n
\n
\n {{date | date: \'d\'}}\n
\n
\n {{date | date : \'MMM\'}}\n
\n \n
\n
\n
\n \n
\n
\n'),e.put("templates/form/dateForm.html",'
\n
Choose Dates
\n
    \n
  • \n
    \n
    \n {{d | date: \'EEE\'}}\n
    \n
    \n {{d | date: \'d\'}}\n
    \n
    \n {{d | date : \'MMM\'}}\n
    \n \n
    \n
  • \n
\n
\n
\n
\n
\n \n \n You need to select a few dates\n \n
\n\n
\n
\n
\n
\n'),e.put("templates/form/eventForm.html",'
\n
Event Details
\n
\n
\n
\n
\n
\n \n \n {{errors.title}}\n \n \n
\n
\n
\n
\n \n \n {{errors.location}}\n \n \n
\n
\n
\n
\n
\n \n \n
\n
\n
\n'),e.put("templates/form/participantsForm.html",'
\n
Invite Participants
\n
\n
\n
\n
\n \n \n \n\n
\n
\n
\n'),e.put("templates/form/settingsForm.html",'
\n
Settings
\n
\n
\n
\n
\n
\n Poll Status\n
\n
\n Let people vote on the poll.\n
\n
\n
\n
\n {{event.isClosed ? \'Closed\' : \'Open\' }}\n
\n
\n
\n
\n
\n
\n
\n
\n Notifications\n
\n
\n Send email notifications to the creator of this event.\n
\n
\n
\n
\n {{event.creator.allowNotifications ? \'Enabled\' : \'Disabled\' }}\n
\n
\n
\n
\n
\n
\n
\n
\n Delete Event\n
\n
\n Once you delete an event it will no longer be accessible.\n
\n
\n
\n \n
\n
\n
\n\n'),e.put("templates/form/timeForm.html",'
\n
Choose Times
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n\n \n Time 1\n \n Time 2\n \n Time 3\n
\n
\n
\n {{d.date | date: \'EEE\'}}\n
\n
\n {{d.date | date: \'d\'}}\n
\n
\n {{d.date | date : \'MMM\'}}\n
\n \n
\n
\n \n
\n
\n'),e.put("templates/form/userForm.html",'
\n
Your Details
\n
\n
\n
\n
\n
\n \n \n {{errors.name}}\n \n \n
\n
\n
\n
\n \n \n {{errors.email}}\n \n \n
\n
\n
\n
\n'),e.put("templates/newEvent/datetime.html",'
\n\n
\n\n
\n \n \n
\n'),e.put("templates/newEvent/general.html",'
\n\n
\n\n
\n\n
\n\n
\n \n
\n'),e.put("templates/newEvent/invite.html",'
\n
\n
Summary
\n
\n
\n
\n
\n
\n Your Name\n
\n
\n {{event.creator.name}}\n
\n
\n
\n
\n Email\n
\n
\n {{event.creator.email}}\n
\n
\n
\n
\n Title\n
\n
\n {{event.title}}\n
\n
\n
\n
\n Location\n
\n
\n {{event.location}}\n
\n
\n
\n
\n Description\n
\n
{{event.description}}
\n
\n
\n
\n Dates\n
\n
\n
    \n
  • \n
    \n
    \n {{d | date: \'EEE\'}}\n
    \n
    \n {{d | date: \'d\'}}\n
    \n
    \n {{d | date : \'MMM\'}}\n
    \n
    \n
  • \n
\n
\n
\n
\n
\n
\n
\n\n
\n\n
\n \n \n
\n'),e.put("templates/newEvent/layout.html",'
\n\n
Schedule a New Event
\n
\n Fill in the form below to create your event and share it with your friends and colleagues.\n
\n
    \n
  1. \n General Details\n
  2. \n
  3. \n Dates & Times\n
  4. \n
  5. \n Create & Send\n
  6. \n
\n
\n
\n\n
\n
\n
\n'),e.put("templates/newEvent/success.html",'
\n
\n \n
\n
Event Created
\n
\n Your event has been created successfully! You should receive an email shortly with instructions to verify your email address.\n
\n
\n
\n
\n \n GO\n
\n
\n')}]),angular.module("rallly").controller("AboutCtrl",["Title",function(e){e.set("About Rallly")}]),angular.module("rallly").controller("AccountCtrl",["$scope","ConfirmModal",function(e){e.showNotice=function(){}}]),angular.module("rallly").controller("DeletionCtrl",["$state","Notification","Event",function(e,t,n){n.destroy({id:e.params.id,code:e.params.code},function(){new t({title:"Event deleted",message:"This event has been deleted",type:"success",timeout:5e3})},function(){new t({title:"Deletion Failed",message:"The event could not be deleted. Make sure that it exists and that the url is correct",type:"error"})}),e.go("event",{id:e.params.id})}]),angular.module("rallly").controller("EditEventCtrl",["$scope","$http","$state","$timeout","Event","ConfirmModal","Notification","Title",function(e,t,n,i,a,s,o,l){var d=n.params.id;e.event=a.get({id:d},function(){l.set("Edit: "+e.event.title),e.master=angular.copy(e.event)},function(){n.go("notfound")}),e.undoChanges=function(){e.event=angular.copy(e.master)},e.didChange=function(){return JSON.stringify(e.master)!=JSON.stringify(e.event)},e.didChangeDates=function(){return JSON.stringify(e.master.dates)!=JSON.stringify(e.event.dates)},e.submit=function(){if(e.form.$valid)if(e.didChangeDates()){new s({title:"Hold up!",message:"Changing the dates will reset all entries by the participants. Are you sure you want to do that?",confirmText:"Yes, I'm sure",isDestructive:!0,confirm:function(){e.event.participants=[],r()}})}else r();else{new o({title:"Not so fast",message:"Make sure you fill in all the required fields and try again.",type:"error"})}};var r=function(){a.update({id:d},e.event,function(){new o({title:"Changes Saved",message:"Your changes have been saved successfully.",type:"success"});e.master=angular.copy(e.event)})}}]),angular.module("rallly").controller("EventCtrl",["$scope","$http","$state","Title","Event","ConfirmModal",function(e,t,n,i,a,s){var o=n.params.id;e.event=a.get({id:o},function(){i.set(e.event.title),e.eventUrl=n.href("event",{id:e.event._id},{absolute:!0})},function(){n.go("notfound")}),e.openEvent=function(){e.event.isClosed=!1,a.update({id:o},e.event,function(){new s({title:"Event Open",message:"People can vote and comment on this event.",cancelText:"OK"})})},e.closeEvent=function(){e.event.isClosed=!0,a.update({id:o},e.event,function(){new s({title:"Event Closed",message:"People can no longer vote or comment on this event.",cancelText:"OK"})})},e.editEvent=function(){n.go("editevent",{id:e.event._id})}}]),angular.module("rallly").controller("HomeCtrl",["$scope","$state","Title",function(e,t,n){n.set("Rallly - Collaborative Scheduling"),e.newEvent=function(){t.go("newevent")}}]),angular.module("rallly").controller("NavigationCtrl",["$scope","$location",function(e,t){e.isActive=function(e){return t.path()==e?!0:!1}}]),angular.module("rallly").controller("NewEventCtrl",["$scope","$http","$state","Event","ConfirmModal","Notification",function(e,t,n,i,a){e.title="Schedule a New Event",e.description="Fill in the form below to create your event and share it with your friends and colleagues.",e.event={};var s=["newevent.general","newevent.datetime","newevent.invite"];e.page=1;var o=function(t){e.page=t,n.go(s[t-1])};o(e.page),e.submit=function(){e.form.$valid&&e.page==s.length?t.post("/api/event",e.event).success(function(t){e.event=t,e.eventUrl=n.href("event",{id:e.event._id},{absolute:!0}),e.page++,n.go("newevent.success")}).error(function(){new a({title:"Uh oh!",message:"There was an error creating your event. Please try again later.",cancelText:"OK"})}):e.form.$valid&&(e.form.$setPristine(),e.nextPage())},e.nextPage=function(){o(e.page+1)},e.prevPage=function(){o(e.page-1)}}]),angular.module("rallly").controller("VerificationCtrl",["Event","Notification","$state",function(e,t,n){e.verify({id:n.params.id,code:n.params.code},function(){new t({title:"Email Verified",message:"Your email has been verified. You will now be able to receive email notifications for this event",type:"success",timeout:5e3}) +},function(){new t({title:"Verification Failed",message:"Your verification code has expired.",type:"error"})}),n.go("event",{id:n.params.id})}]),angular.module("rallly").filter("elapsed",["$filter",function(e){return function(t){if(t){var n=Date.parse(t),i=(new Date).getTime(),a=i-n,s=Math.floor(a/1e3),o=Math.floor(s/60),l=Math.floor(o/60),d=Math.floor(l/24);return d>30?"on "+e("date")(t,"MMMM d"):d>1?d+" days ago":1==d?"1 day ago":l>1?l+" hours ago":1==l?"an hour ago":o>1?o+" minutes ago":1==o?"a minute ago":"a few seconds ago"}}}]),angular.module("rallly").directive("backImg",function(){return function(e,t,n){var i=n.backImg;t.css({"background-image":"url(/images/"+i+".png)"})}}),angular.module("rallly").directive("datepicker",function(){return{restrict:"A",require:"ngModel",scope:{model:"=ngModel",control:"="},templateUrl:"templates/directives/datePicker.html",link:function(e,t,n,i){e.model=e.model||[],e.control=e.control||{},e.$watchCollection("model",function(e){i.$setViewValue(e),i.$validate()}),i.$validators.required=function(e){return e&&0!=e.length?!0:!1};var a=Date.today(),s=a.clone(),o=function(t){s=t;var n=s.clone().moveToFirstDayOfMonth(),i=n.getDay();n.add(i-7).days(),e.title=s.toString("MMMM yyyy");for(var o=new Array(42),l=0;l0)&&(e.model.splice(n,0,t.date),i=!0),n++;while(0==i)}},e.isActive=function(t,n){e.model=e.model||[];for(var i=0;i0;i||t.toggle()};t.toggle=function(){t.open=!t.open,t.open?(n.addClass("open"),e.bind("click",i)):(n.removeClass("open"),e.unbind("click",i))}}}}]),angular.module("rallly").service("FormHelper",function(){this.emailRegexString="^([\\w-\\.]+@([\\w-]+\\.)+[\\w-]{2,4})?$",this.emailRegex=new RegExp(this.emailRegexString),this.prettyError=function(e,t){return e.required?t+" is required":e.pattern?t+" is invalid":e.maxlength?t+" is too long":!1}}).directive("userForm",["FormHelper",function(e){return{scope:{event:"=",form:"="},templateUrl:"templates/form/userForm.html",link:function(t){t.errors={},t.emailRegex=e.emailRegex,t.$watchCollection("form.name.$error",function(n){t.errors.name=e.prettyError(n,"Name")}),t.$watchCollection("form.email.$error",function(n){t.errors.email=e.prettyError(n,"Email")})}}}]).directive("eventForm",["FormHelper",function(e){return{scope:{event:"=",form:"="},templateUrl:"templates/form/eventForm.html",link:function(t){t.errors={},t.$watchCollection("form.title.$error",function(n){t.errors.title=e.prettyError(n,"Title")}),t.$watchCollection("form.location.$error",function(n){t.errors.location=e.prettyError(n,"Location")})}}}]).directive("dateForm",function(){return{scope:{event:"=",form:"="},templateUrl:"templates/form/dateForm.html"}}).directive("participantsForm",["FormHelper",function(e){return{scope:{event:"=",form:"="},templateUrl:"templates/form/participantsForm.html",link:function(t){t.emailRegex=e.emailRegexString}}}]).directive("settingsForm",["Event","ConfirmModal",function(e,t){return{scope:{event:"=",form:"="},templateUrl:"templates/form/settingsForm.html",link:function(n){n.deleteEvent=function(){n.deleteRequestSent||e.delete({id:n.event._id},function(){n.deleteRequestSent=!0;new t({title:"Delete Request Sent",message:"An email has been sent to the creator of this event with instructions to delete it.",cancelText:"OK"})})}}}}]).directive("switchToggle",function(){return{scope:{model:"=ngModel"},require:"ngModel",link:function(e,t,n,i){t.addClass("switch-toggle");var a=function(){e.model^"undefined"!=typeof n.invert?t.addClass("active"):t.removeClass("active")};e.$watch("model",a),t.bind("click",function(t){e.model=!e.model,i.$setViewValue(e.model,t)})}}}).directive("timeForm",["DatePickerService",function(e){return{scope:{event:"=",form:"="},templateUrl:"templates/form/timeForm.html",link:function(t){var n,i=!1,a=t.$watch("event.dates",function(s){s&&!i&&a(),i=!0,n=new e(t.event.dates),t.unsetDate=function(e){n.removeDate(e)}})}}}]).directive("timePicker",["$timeout",function(){return{scope:{model:"=ngModel"},require:"ngModel",link:function(e,t,n,i){i.$viewChangeListeners.push(function(){e.model=i.$modelValue}),i.$parsers.push(function(e){return e?Date.parse(e):void 0}),i.$validators.time=function(e){if(i.$isEmpty(e))return!0;var t=Date.parse(e);return t?(i.$setViewValue(t.toString("hh:mm tt")),i.$render(),!0):!1}}}}]),angular.module("rallly").directive("poll",["$timeout","Participant","ConfirmModal",function(e,t,n){return{restrict:"A",templateUrl:"templates/directives/poll.html",scope:{event:"="},link:function(e){e.defaults=[],e.participant={};var i=[];e.event.$promise.then(function(t){for(var n=["John Example","Jane Specimen","Mark Instance","Mary Case"],i=[],a=0;at)return!1;return!0},e.selectedDate=function(t){i[t]=0;for(var n=0;nlabel{font-size:0.75em;color:#AEB4BE;display:inline-block;line-height:1.875em}.form-group .form-error{font-size:0.75em;color:#E06488;float:right}.form-group .form-error img{vertical-align:bottom;margin-right:3px}.form-group.optional>label:after{content:" (optional)"}.form-group.error input.form-control,.form-group.error textarea.form-control{border-color:#E55A84;background:rgba(229,90,132,0.02)}.form-group input.form-control,.form-group textarea.form-control{border-radius:2px;border:1px solid #D9DDE3;font-size:1.125em;-webkit-transition:border-color 0.1s ease-in-out;-moz-transition:border-color 0.1s ease-in-out;transition:border-color 0.1s ease-in-out}.form-group input.form-control:focus,.form-group textarea.form-control:focus{border-color:#5AC4E5;outline:none;background:white}.form-group input.form-control.extend,.form-group textarea.form-control.extend{width:100%}.form-group input.form-control::-webkit-input-placeholder,.form-group textarea.form-control::-webkit-input-placeholder{color:rgba(174,180,190,0.7)}.form-group input.form-control::-moz-placeholder,.form-group textarea.form-control::-moz-placeholder{color:rgba(174,180,190,0.7)}.form-group input.form-control:-moz-placeholder,.form-group textarea.form-control:-moz-placeholder{color:rgba(174,180,190,0.7)}.form-group input.form-control:-ms-input-placeholder,.form-group textarea.form-control:-ms-input-placeholder{color:rgba(174,180,190,0.7)}.form-group .form-btn{padding:0.75em 0.9375em}.form-group input.form-control{vertical-align:middle;padding:0.3125em 0.625em}.form-group textarea.form-control{min-height:135px;font-size:1.125em;padding:0.5em 0.625em}.form-submit-message{display:inline-block;margin-left:0.3125em;font-size:0.75em}.form-submit-message.error{color:#E06488}.form-submit-message img{vertical-align:middle;margin-right:0.3125em}.box{background:white;border:1px solid #D9DDE3;border-radius:3px;margin:0 auto 20px auto;max-width:800px;min-width:700px;overflow:hidden;padding:20px 25px}.box.box-x-scroll{overflow-x:scroll}.box.invisible{background:transparent;border:0;padding:0;margin-bottom:40px}.box.highlight{border-color:#5AC4E5;box-shadow:0 0 3px rgba(90,196,229,0.5)}.box-title{font-size:24px;font-weight:bold;color:#3D4043;margin-bottom:20px}.box-description{font-size:14px;color:#828B9A;padding-bottom:20px;border-bottom:1px solid #D9DDE3;margin-top:-20px;margin-bottom:20px}.box-description a{color:#3D4043;text-decoration:none}.box-description a:hover{border:1px solid #D9DDE3}.box-section{padding-top:20px;display:block}.box-section:first-child{border:0}.box-section:after{content:"";display:table;clear:both}.box-section .section-details{float:left;display:block;margin-right:2.35765%;width:23.23176%}.box-section .section-details:last-child{margin-right:0}.box-section .section-details .section-title{font-size:0.875em;color:#828B9A;margin-bottom:20px}.box-section .section-main{float:left;display:block;margin-right:2.35765%;width:74.41059%}.box-section .section-main:last-child{margin-right:0}.box-message{text-align:center;padding:40px;max-width:500px;margin:0 auto}.box-message .main-image{margin-bottom:20px}.box-message .title{font-weight:bold;font-size:1.5em;color:#3D4043;margin-bottom:0.625em}.box-message .content{font-size:0.875em;color:#828B9A;margin-bottom:20px}.box-message .mini-divider:after{content:"";display:inline-block;width:200px;height:1px;background:#D9DDE3;margin:20px auto}.box-side-sticky{padding:20px 25px;box-sizing:content-box;width:100%;margin-left:-25px}.box-bottom-sticky{padding:20px 25px;box-sizing:content-box;width:100%;margin-top:20px;border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-top:1px solid #D9DDE3;margin-bottom:-20px;margin-left:-25px}.box-controls{text-align:right;box-shadow:inset 0 1px 0 white;background:#f8f9fa;margin-top:20px;padding:15px 25px}.box-steps{display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;width:100%;list-style-position:inside;padding:0;margin:40px 0 10px 0}.box-steps .step{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;-webkit-flex:1;-moz-flex:1;-ms-flex:1;flex:1;color:#828B9A;font-size:0.875em;margin:0 0 0 0;padding:0 0 10px 10px;border-bottom:2px solid #D9DDE3;position:relative;-webkit-transition:all 0.2s ease-in-out;-moz-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.box-steps .step:first-child{padding-left:0}.box-steps .step:after{content:"";position:absolute;bottom:-2px;left:0;height:2px;width:0;background:#75C062;-webkit-transition:all 0.2s ease-in-out;-moz-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.box-steps .step.active{color:#3D4043;font-weight:bold}.box-steps .step.complete:after{width:100%}.ng-submitted .ng-invalid>.date-picker{border-color:#E55A84}.date-picker{border:1px solid #D9DDE3;border-radius:2px;-webkit-transition:border-color 0.2s ease-in-out;-moz-transition:border-color 0.2s ease-in-out;transition:border-color 0.2s ease-in-out}.date-picker .wrapper{padding:20px}.date-picker .date-picker-head{display:table;width:100%;margin-bottom:30px;text-align:center}.date-picker .date-picker-head .title{display:inline-block;width:200px;margin:0 20px;font-weight:bold;font-size:1.125em}.date-picker .date-picker-head .arrow{text-decoration:none;color:#AEB4BE;position:relative;border:1px solid #D9DDE3;display:inline-block;width:25px;border-radius:2px;font-size:12px;line-height:25px;text-align:center;float:left;box-shadow:0 1px 1px rgba(217,221,227,0.5);margin:0 20px}.date-picker .date-picker-head .arrow:last-child{float:right}.date-picker .date-picker-head .arrow:hover{color:#3D4043}.date-picker .date-picker-head .arrow:active{box-shadow:none}.date-picker .dow{font-size:0;padding-bottom:10px;border-bottom:2px solid #D9DDE3;margin-bottom:10px}.date-picker .dow .day{text-transform:uppercase;font-size:14px;display:inline-block;width:14.28571%;text-align:center;color:#E55A84}.date-picker .values .value{display:inline-block;width:14.28571%;text-align:center;font-size:0.875em;line-height:3.4375em;position:relative;font-weight:bold}.date-picker .values .value.today{color:#818176}.date-picker .values .value.today:after{opacity:1;background:rgba(255,255,0,0.1)}.date-picker .values .value.outside{color:#AEB4BE;font-weight:normal}.date-picker .values .value:after{content:" ";cursor:pointer;opacity:0;position:absolute;width:2.625em;height:2.625em;margin-left:-1.3125em;margin-top:-1.3125em;left:50%;top:50%;border-radius:2px}.date-picker .values .value:hover{cursor:pointer}.date-picker .values .value:hover:after{opacity:1;background:rgba(217,221,227,0.4)}.date-picker .values .value.active{background:white;color:#75C062}.date-picker .values .value.active:after{opacity:1;background:rgba(117,192,98,0.1)}.daticon-list{margin:0;margin-left:-10px;list-style:none;padding:5px;text-align:left}.daticon-list li{display:inline-block;margin:10px 10px 0 0}.daticon{box-shadow:0 0 0 1px rgba(217,221,227,0.5);border-radius:3px;display:inline-block;padding:0.5em 1em;text-align:center;position:relative;cursor:default;background:white}.daticon .dow{font-size:0.375em;margin-top:-1.5em;background:white;color:#AEB4BE;margin-bottom:0.25em;font-weight:normal;text-transform:uppercase}.daticon .day{font-size:1.25em;font-weight:normal;color:#E55A84;line-height:1em}.daticon .month{font-weight:600;font-size:0.75em;text-transform:uppercase}.daticon .delete{text-align:center;border:0;width:1.125em;height:1.125em;position:absolute;top:-7.2px;right:-7.2px;border-radius:100%;display:inline-block;background:rgba(217,221,227,0.5) url(../images/close@2x.png) no-repeat center center;background-size:7px 8px;cursor:pointer;opacity:0}.daticon .delete:hover{background-color:rgba(217,221,227,0.8)}.daticon .count{text-align:center;border:0;width:18px;height:18px;position:absolute;top:-7.2px;right:-7.2px;border-radius:100%;font-weight:bold;display:inline-block;background:#bcc3cd;color:white;font-size:9px;line-height:18px;-webkit-transition:background-color 0.2s ease-in-out;-moz-transition:background-color 0.2s ease-in-out;transition:background-color 0.2s ease-in-out}.daticon .count.top{background:#FF5D5D}.daticon:hover .delete{opacity:1}.rl-modal{background:white;position:fixed;top:50%;left:50%;width:50%;max-width:400px;display:inline-block;min-width:200px;height:auto;z-index:2000;overflow:hidden;border-radius:5px;box-shadow:0 0 0 1px #D9DDE3,0 0 0 5px rgba(217,221,227,0.5);-webkit-transform:translateX(-50%) translateY(-50%);-moz-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);-o-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.rl-modal .rl-modal-message{padding:0 20px 20px 20px;font-size:0.75em;color:#828B9A}.rl-modal .rl-modal-title{padding:20px 20px 0 20px;font-size:1.125em;font-weight:bold}.rl-modal .rl-modal-actions{border-top:1px solid #D9DDE3;box-shadow:inset 0 1px 0 white;background:#f8f9fa;text-align:right;padding:0.625em 1.25em}.rl-modal-overlay{position:fixed;z-index:1999;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.1)}.poll{margin-top:20px;min-width:100%;display:block;border:1px solid rgba(217,221,227,0.5);border-radius:3px;overflow-x:scroll}.poll-header{display:table;min-width:100%;padding-top:20px;overflow:hidden;border-bottom:1px solid #D9DDE3;box-shadow:0 3px 0 rgba(217,221,227,0.3)}.poll-header .header{display:table-cell;vertical-align:bottom;padding-bottom:10px}.poll-header .header.date-header{text-align:center;min-width:70px;width:70px}.poll-header .header.actions-header{min-width:160px}.poll-header .header.participants-header{font-weight:bold;min-width:235px;width:235px;padding-left:20px}.poll-body{min-width:100%;overflow:hidden;display:table}.poll-body .poll-example{position:relative}.poll-body .poll-example.hidden{display:none}.poll-body .poll-example .overlay{position:absolute;top:0;left:0;width:100%;height:100%;border-bottom:1px solid #D9DDE3;background:rgba(255,255,255,0.75);text-align:center}.poll-body .poll-example .overlay .overlay-text{position:absolute;top:50%;left:50%;font-size:1.125em;font-weight:bold;color:#AEB4BE;background:rgba(255,255,255,0.9);padding:10px;-webkit-transform:translateX(-50%) translateY(-50%);-moz-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);-o-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.poll-body .poll-entry.highlight{background:#f6f7f9}.poll-body .poll-entry{display:table;min-width:100%;border-bottom:1px solid rgba(217,221,227,0.5)}.poll-body .poll-entry:last-child{border-bottom:0}.poll-body .poll-entry .hover{visibility:hidden}.poll-body .poll-entry:hover .hover{visibility:visible}.poll-body .poll-entry .cell{padding:0.625em;display:table-cell;height:50px;vertical-align:middle}.poll-body .poll-entry .cell.name-cell{min-width:235px;width:235px;font-size:0.875em;padding-left:20px}.poll-body .poll-entry .cell.name-cell .avatar{display:inline-block;padding:5px;margin-right:5px;border-radius:2px;background:#D0D5DF}.poll-body .poll-entry .cell.name-cell .avatar.style-1{background:#8A75AE}.poll-body .poll-entry .cell.name-cell .avatar.style-2{background:#80A1DA}.poll-body .poll-entry .cell.name-cell .avatar.style-3{background:#B3DD8B}.poll-body .poll-entry .cell.name-cell .avatar.style-4{background:#7EE4E4}.poll-body .poll-entry .cell.name-cell .avatar.style-5{background:#FCD285}.poll-body .poll-entry .cell.name-cell .avatar.style-6{background:#F7967F}.poll-body .poll-entry .cell.name-cell .avatar.style-7{background:#E8669D}.poll-body .poll-entry .cell.name-cell .avatar.style-8{background:#F7B6E7}.poll-body .poll-entry .cell.name-cell .avatar.style-9{background:#F99D7B}.poll-body .poll-entry .cell.name-cell .avatar.style-10{background:#88D0CB}.poll-body .poll-entry .cell.name-cell .name{padding:5px 3px;margin-left:2px;border-radius:2px}.poll-body .poll-entry .cell.name-cell .name.editable:hover{background:#F5F6F8;cursor:pointer}.poll-body .poll-entry .cell.name-cell .form-control{border:1px solid #D9DDE3;padding:0.3125em;border-radius:2px;color:#3D4043}.poll-body .poll-entry .cell.name-cell .form-control:focus{outline:0;border-color:#5AC4E5;box-shadow:0 0 3px rgba(90,196,229,0.5)}.poll-body .poll-entry .cell.name-cell .form-control::-webkit-input-placeholder{color:rgba(130,139,154,0.7)}.poll-body .poll-entry .cell.name-cell .form-control::-moz-placeholder{color:rgba(130,139,154,0.7)}.poll-body .poll-entry .cell.name-cell .form-control:-moz-placeholder{color:rgba(130,139,154,0.7)}.poll-body .poll-entry .cell.name-cell .form-control:-ms-input-placeholder{color:rgba(130,139,154,0.7)}.poll-body .poll-entry .cell.action-cell{min-width:160px}.poll-body .poll-entry .cell.vote-cell{min-width:70px;width:70px;text-align:center;position:relative}.poll-body .poll-entry .cell.vote-cell .overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10}.poll-body .poll-entry .cell.vote-cell .overlay:hover{background:rgba(217,221,227,0.2);cursor:pointer}.poll-body .poll-entry.ng-submitted .ng-invalid{border-color:#E55A84 !important}tags-input{display:block}tags-input *,tags-input *:before,tags-input *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}tags-input .host{position:relative;margin-top:5px;margin-bottom:5px}tags-input .host:focus{outline:0}tags-input .host:active{outline:none}tags-input .tags{padding:4px;overflow:hidden;word-wrap:break-word;cursor:text;border-radius:3px;background-color:white;border:1px solid #D9DDE3;-webkit-transition:border-color 0.1s ease-in-out;-moz-transition:border-color 0.1s ease-in-out;transition:border-color 0.1s ease-in-out}tags-input .tags.focused{outline:none}tags-input .tags .tag-list{margin:0;padding:0;list-style-type:none}tags-input .tags .tag-item{margin:2px;padding:0 8px;display:inline-block;float:left;font-size:0.875em;height:26px;line-height:25px;border-radius:1px;background:#E5EBF2;color:#7587A1;box-shadow:0 0 0 1px #CBD4E2}tags-input .tags .tag-item.selected{background:#E06488;color:white;box-shadow:none}tags-input .tags .tag-item .remove-button{margin:0 0 0 5px;padding:0;border:none;background:none;color:inherit;cursor:pointer;vertical-align:middle;font:bold 1em Arial,sans-serif}tags-input .tags .input{border:0;outline:none;margin:2px;padding:0;padding-left:8px;float:left;height:26px;font-size:0.875em}tags-input .tags .input::-webkit-input-placeholder{color:#AEB4BE}tags-input .tags .input::-moz-placeholder{color:#AEB4BE}tags-input .tags .input:-moz-placeholder{color:#AEB4BE}tags-input .tags .input:-ms-input-placeholder{color:#AEB4BE}tags-input .tags .input.invalid-tag{color:#E06488}tags-input .tags .input::-ms-clear{display:none}.dropdown{position:relative;cursor:pointer}.dropdown .dropdown-menu{position:absolute;display:none;z-index:1000;float:left;min-width:160px;max-width:180px;padding:5px;text-align:left;left:0}.dropdown.open .dropdown-menu{display:block}.dropdown .dropdown-toggle:after{content:"";width:6px;height:4px;margin-left:10px;display:inline-block;background-image:url("../images/dropdown_arrow.png");background-size:6px 4px;background-repeat:no-repeat}.comments-info{font-weight:bold;padding-bottom:10px;border-bottom:2px solid #D9DDE3}.comment-form{display:block;margin-top:20px;padding:0 10px}.comment-form:after{content:"";display:table;clear:both}.comment-form .avatar-section{float:left;display:block;margin-right:2.35765%;width:6.17215%}.comment-form .avatar-section:last-child{margin-right:0}.comment-form .avatar-section img{border-radius:3px;max-width:100%}.comment-form .input-section{float:left;display:block;margin-right:2.35765%;width:91.4702%}.comment-form .input-section:last-child{margin-right:0}.comment-form .content-section{margin-bottom:10px}.comment-form .name-section{position:relative;margin-bottom:10px}.comment-form .form-control{font-size:0.875em !important}.comment-form textarea.form-control{min-height:0;min-width:100%}.comments-placeholder{color:#AEB4BE;text-align:center}.comment-thread{list-style:none;margin:0;padding:0;margin-bottom:20px;max-height:500px;overflow-y:scroll}.comment-thread .comment{display:block;padding:10px}.comment-thread .comment:after{content:"";display:table;clear:both}.comment-thread .comment .avatar-section{float:left;display:block;margin-right:2.35765%;width:6.17215%}.comment-thread .comment .avatar-section:last-child{margin-right:0}.comment-thread .comment .avatar-section img{max-width:100%;border-radius:3px}.comment-thread .comment .comment-section{float:left;display:block;margin-right:2.35765%;width:91.4702%;position:relative}.comment-thread .comment .comment-section:last-child{margin-right:0}.comment-thread .comment .comment-section .comment-delete{opacity:0;text-decoration:none;color:white;background-color:#D9DDE3;color:#AEB4BE;border-radius:2px;display:inline-block;position:absolute;right:0;top:0;font-size:0.875em;width:1em;height:1em;line-height:1em;text-align:center}.comment-thread .comment .comment-section .comment-delete:hover{background:#E06488;color:white}.comment-thread .comment .comment-section .comment-delete:active{background:#dc4f78}.comment-thread .comment .comment-section .meta{font-size:0.8125em;color:#828B9A;margin-bottom:5px}.comment-thread .comment .comment-section .name{color:#828B9A;font-weight:600}.comment-thread .comment .comment-section .time:before{content:" ";display:inline-block;height:4px;width:4px;background:#AEB4BE;margin:0 5px 2px 5px;border-radius:100%}.comment-thread .comment .comment-section .content{font-size:0.875em;margin-bottom:5px;white-space:pre-wrap;margin-right:100px}.comment-thread .comment .comment-section .actions{opacity:0.8}.comment-thread .comment .comment-section .actions a{color:#828B9A;font-size:0.75em;text-decoration:none}.comment-thread .comment .comment-section .actions a:hover{color:#5AC4E5}.comment-thread .comment:hover{background:#F5F6F8;cursor:default;border-radius:3px}.comment-thread .comment:hover .name{color:#5AC4E5}.comment-thread .comment:hover .comment-delete{opacity:1}.switch-row{display:table;width:100%;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #D9DDE3}.switch-row:last-child{border:0}.switch-row .switch-details{display:table-cell}.switch-row .switch-details .title{font-size:0.875em;font-weight:bold}.switch-row .switch-details .description{font-size:0.75em;color:#828B9A}.switch-row .switch{display:table-cell;text-align:right;min-width:150px;vertical-align:middle}.switch-row .switch .switch-value{font-size:0.75em;color:#828B9A;display:inline-block;vertical-align:middle}.switch-toggle{display:inline-block;margin-left:5px;height:20px;width:40px;border-radius:20px;vertical-align:middle;position:relative;cursor:pointer;background:#E06488;box-shadow:inset 0 0 0 1px rgba(0,0,0,0.1);-webkit-transition:all 0.1s ease-in-out;-moz-transition:all 0.1s ease-in-out;transition:all 0.1s ease-in-out}.switch-toggle:after{content:" ";-webkit-transition:all 0.1s ease-in-out;-moz-transition:all 0.1s ease-in-out;transition:all 0.1s ease-in-out;display:inline-block;height:16px;width:16px;position:absolute;box-shadow:inset 0 1px 0 white,0 1px 1px rgba(0,0,0,0.1);background-color:#FAFAFA;background-image:-webkit-linear-gradient(#FAFAFA, #EFF1F3);background-image:linear-gradient(#FAFAFA, #EFF1F3);top:50%;margin-top:-8px;left:2px;border-radius:100px}.switch-toggle:hover{box-shadow:inset 0 0 0 1px rgba(0,0,0,0.1),inset 0 0 0 8px rgba(0,0,0,0.05)}.switch-toggle.active{background:#75C062}.switch-toggle.active:after{left:100%;margin-left:-18px}.notification{position:fixed;top:80px;right:0;width:300px;z-index:3000;padding:12px 20px;background:#828B9A;border-top-left-radius:2px;border-bottom-left-radius:2px;color:white;-webkit-transition:all 0.3s ease-in-out;-moz-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out}.notification.success{background:#75C062}.notification.error{background:#E06488}.notification.ng-enter{right:-300px;opacity:0}.notification.ng-enter-active{right:0;opacity:1}.notification.ng-leave-active{right:-300px;opacity:1}.notification .title{font-size:0.875em;margin-bottom:2px}.notification .message{font-size:0.75em;color:rgba(255,255,255,0.8)}.notification .close{position:absolute;top:5px;right:10px;color:white;text-decoration:none}.time-picker{width:100%;padding:10px}.time-picker .time-picker-col{display:table-cell;vertical-align:middle}.time-picker .time-picker-input{padding:5px;border-radius:3px;border:1px solid #D9DDE3;outline:0;font-size:18px}.time-picker .time-picker-input:focus{border-color:#5AC4E5;box-shadow:0 0 3px rgba(90,196,229,0.5);outline:0}.time-picker-input{padding:0.3125em 0;text-align:center;border:0;font-size:0.875em}.time-picker-input.ng-invalid{border-color:#E06488}.time-picker-input.ng-invalid:focus{box-shadow:0 0 3px rgba(224,100,136,0.5)}.time-picker-input.ng-valid.ng-dirty{border-color:#75C062}.time-picker-input:focus{outline:0;color:#3D4043}.time-form{width:100%;border:1px solid #D9DDE3}.time-form th{border-bottom:2px solid #D9DDE3;padding:10px;font-size:14px;text-transform:uppercase}.time-form td{border-right:1px solid #D9DDE3;padding:10px 10px;border-bottom:1px solid #D9DDE3}.time-form td:last-child{border-right:0}.time-form td input{width:100%}.time-form tr:last-child td{border-bottom:0}.page-placeholder{margin:0 auto;text-align:center;color:#B0B8C4;position:absolute;top:50%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%);-moz-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);-o-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.page-placeholder .image{margin-bottom:20px}.page-placeholder .title{font-size:2.25em;font-weight:bold;margin-bottom:20px}.page-placeholder .content{font-size:0.875em;max-width:320px;font-weight:normal;margin-bottom:20px}.event-header{width:100%;margin-bottom:20px}.event-header .details{display:inline-block}.event-header .details .title{font-size:1.5em;font-weight:bold}.event-header .details .title .title-label{font-size:11px;font-weight:normal;margin-left:5px;position:relative;top:-3px;background:#828B9A;color:white;padding:3px 10px;border-radius:20px}.event-header .details .title .title-label.success{background:#75C062}.event-header .details .title .title-label.danger{background:#FF5D5D}.event-header .details .subtitle{color:#828B9A;font-size:0.8125em}.event-header .details .subtitle a{color:#5AC4E5;text-decoration:none}.event-header .details .subtitle a:hover{text-decoration:underline}.event-header .actions{visibility:hidden;float:right}.event-header:hover .actions{visibility:visible}.event-description{font-size:1.125em;white-space:pre-wrap;margin-bottom:20px;background:#F5F6F8;line-height:1.5em;position:relative;color:#828B9A;border-top:1px solid #D9DDE3;border-bottom:1px solid #D9DDE3}.event-location{font-size:0.875em;margin-bottom:20px;color:#AEB4BE}.event-location a{color:#3D4043;text-decoration:none}.event-location a:hover{text-decoration:underline}.event-location img{vertical-align:middle;margin-right:10px} +*/.animated{-webkit-animation-duration:0.3s;animation-duration:0.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.hinge{-webkit-animation-duration:2s;animation-duration:2s}@-webkit-keyframes bounce{0%,20%,53%,80%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}40%,43%{-webkit-transition-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);transition-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);-webkit-transform:translate3d(0, -30px, 0);transform:translate3d(0, -30px, 0)}70%{-webkit-transition-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);transition-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);-webkit-transform:translate3d(0, -15px, 0);transform:translate3d(0, -15px, 0)}90%{-webkit-transform:translate3d(0, -4px, 0);transform:translate3d(0, -4px, 0)}}@keyframes bounce{0%,20%,53%,80%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}40%,43%{-webkit-transition-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);transition-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);-webkit-transform:translate3d(0, -30px, 0);transform:translate3d(0, -30px, 0)}70%{-webkit-transition-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);transition-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);-webkit-transform:translate3d(0, -15px, 0);transform:translate3d(0, -15px, 0)}90%{-webkit-transform:translate3d(0, -4px, 0);transform:translate3d(0, -4px, 0)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;-ms-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{0%,50%,100%{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,50%,100%{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}50%{-webkit-transform:scale3d(1.05, 1.05, 1.05);transform:scale3d(1.05, 1.05, 1.05)}100%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}@keyframes pulse{0%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}50%{-webkit-transform:scale3d(1.05, 1.05, 1.05);transform:scale3d(1.05, 1.05, 1.05)}100%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{0%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}30%{-webkit-transform:scale3d(1.25, 0.75, 1);transform:scale3d(1.25, 0.75, 1)}40%{-webkit-transform:scale3d(0.75, 1.25, 1);transform:scale3d(0.75, 1.25, 1)}50%{-webkit-transform:scale3d(1.15, 0.85, 1);transform:scale3d(1.15, 0.85, 1)}65%{-webkit-transform:scale3d(0.95, 1.05, 1);transform:scale3d(0.95, 1.05, 1)}75%{-webkit-transform:scale3d(1.05, 0.95, 1);transform:scale3d(1.05, 0.95, 1)}100%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}@keyframes rubberBand{0%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}30%{-webkit-transform:scale3d(1.25, 0.75, 1);transform:scale3d(1.25, 0.75, 1)}40%{-webkit-transform:scale3d(0.75, 1.25, 1);transform:scale3d(0.75, 1.25, 1)}50%{-webkit-transform:scale3d(1.15, 0.85, 1);transform:scale3d(1.15, 0.85, 1)}65%{-webkit-transform:scale3d(0.95, 1.05, 1);transform:scale3d(0.95, 1.05, 1)}75%{-webkit-transform:scale3d(1.05, 0.95, 1);transform:scale3d(1.05, 0.95, 1)}100%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{0%,100%{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px, 0, 0);transform:translate3d(-10px, 0, 0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px, 0, 0);transform:translate3d(10px, 0, 0)}}@keyframes shake{0%,100%{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px, 0, 0);transform:translate3d(-10px, 0, 0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px, 0, 0);transform:translate3d(10px, 0, 0)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes swing{20%{-webkit-transform:rotate3d(0, 0, 1, 15deg);transform:rotate3d(0, 0, 1, 15deg)}40%{-webkit-transform:rotate3d(0, 0, 1, -10deg);transform:rotate3d(0, 0, 1, -10deg)}60%{-webkit-transform:rotate3d(0, 0, 1, 5deg);transform:rotate3d(0, 0, 1, 5deg)}80%{-webkit-transform:rotate3d(0, 0, 1, -5deg);transform:rotate3d(0, 0, 1, -5deg)}100%{-webkit-transform:rotate3d(0, 0, 1, 0deg);transform:rotate3d(0, 0, 1, 0deg)}}@keyframes swing{20%{-webkit-transform:rotate3d(0, 0, 1, 15deg);transform:rotate3d(0, 0, 1, 15deg)}40%{-webkit-transform:rotate3d(0, 0, 1, -10deg);transform:rotate3d(0, 0, 1, -10deg)}60%{-webkit-transform:rotate3d(0, 0, 1, 5deg);transform:rotate3d(0, 0, 1, 5deg)}80%{-webkit-transform:rotate3d(0, 0, 1, -5deg);transform:rotate3d(0, 0, 1, -5deg)}100%{-webkit-transform:rotate3d(0, 0, 1, 0deg);transform:rotate3d(0, 0, 1, 0deg)}}.swing{-webkit-transform-origin:top center;-ms-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{0%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}10%,20%{-webkit-transform:scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);transform:scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg)}100%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}@keyframes tada{0%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}10%,20%{-webkit-transform:scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);transform:scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg)}100%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);transform:translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg)}30%{-webkit-transform:translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);transform:translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg)}45%{-webkit-transform:translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);transform:translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg)}60%{-webkit-transform:translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);transform:translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg)}75%{-webkit-transform:translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);transform:translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg)}100%{-webkit-transform:none;transform:none}}@keyframes wobble{0%{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);transform:translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg)}30%{-webkit-transform:translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);transform:translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg)}45%{-webkit-transform:translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);transform:translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg)}60%{-webkit-transform:translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);transform:translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg)}75%{-webkit-transform:translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);transform:translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg)}100%{-webkit-transform:none;transform:none}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes bounceIn{0%,20%,40%,60%,80%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3);transform:scale3d(0.3, 0.3, 0.3)}20%{-webkit-transform:scale3d(1.1, 1.1, 1.1);transform:scale3d(1.1, 1.1, 1.1)}40%{-webkit-transform:scale3d(0.9, 0.9, 0.9);transform:scale3d(0.9, 0.9, 0.9)}60%{opacity:1;-webkit-transform:scale3d(1.03, 1.03, 1.03);transform:scale3d(1.03, 1.03, 1.03)}80%{-webkit-transform:scale3d(0.97, 0.97, 0.97);transform:scale3d(0.97, 0.97, 0.97)}100%{opacity:1;-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}@keyframes bounceIn{0%,20%,40%,60%,80%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3);transform:scale3d(0.3, 0.3, 0.3)}20%{-webkit-transform:scale3d(1.1, 1.1, 1.1);transform:scale3d(1.1, 1.1, 1.1)}40%{-webkit-transform:scale3d(0.9, 0.9, 0.9);transform:scale3d(0.9, 0.9, 0.9)}60%{opacity:1;-webkit-transform:scale3d(1.03, 1.03, 1.03);transform:scale3d(1.03, 1.03, 1.03)}80%{-webkit-transform:scale3d(0.97, 0.97, 0.97);transform:scale3d(0.97, 0.97, 0.97)}100%{opacity:1;-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}.bounceIn{-webkit-animation-name:bounceIn;animation-name:bounceIn;-webkit-animation-duration:0.75s;animation-duration:0.75s}@-webkit-keyframes bounceInDown{0%,60%,75%,90%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:translate3d(0, -3000px, 0);transform:translate3d(0, -3000px, 0)}60%{opacity:1;-webkit-transform:translate3d(0, 25px, 0);transform:translate3d(0, 25px, 0)}75%{-webkit-transform:translate3d(0, -10px, 0);transform:translate3d(0, -10px, 0)}90%{-webkit-transform:translate3d(0, 5px, 0);transform:translate3d(0, 5px, 0)}100%{-webkit-transform:none;transform:none}}@keyframes bounceInDown{0%,60%,75%,90%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:translate3d(0, -3000px, 0);transform:translate3d(0, -3000px, 0)}60%{opacity:1;-webkit-transform:translate3d(0, 25px, 0);transform:translate3d(0, 25px, 0)}75%{-webkit-transform:translate3d(0, -10px, 0);transform:translate3d(0, -10px, 0)}90%{-webkit-transform:translate3d(0, 5px, 0);transform:translate3d(0, 5px, 0)}100%{-webkit-transform:none;transform:none}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%,60%,75%,90%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:translate3d(-3000px, 0, 0);transform:translate3d(-3000px, 0, 0)}60%{opacity:1;-webkit-transform:translate3d(25px, 0, 0);transform:translate3d(25px, 0, 0)}75%{-webkit-transform:translate3d(-10px, 0, 0);transform:translate3d(-10px, 0, 0)}90%{-webkit-transform:translate3d(5px, 0, 0);transform:translate3d(5px, 0, 0)}100%{-webkit-transform:none;transform:none}}@keyframes bounceInLeft{0%,60%,75%,90%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:translate3d(-3000px, 0, 0);transform:translate3d(-3000px, 0, 0)}60%{opacity:1;-webkit-transform:translate3d(25px, 0, 0);transform:translate3d(25px, 0, 0)}75%{-webkit-transform:translate3d(-10px, 0, 0);transform:translate3d(-10px, 0, 0)}90%{-webkit-transform:translate3d(5px, 0, 0);transform:translate3d(5px, 0, 0)}100%{-webkit-transform:none;transform:none}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%,60%,75%,90%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:translate3d(3000px, 0, 0);transform:translate3d(3000px, 0, 0)}60%{opacity:1;-webkit-transform:translate3d(-25px, 0, 0);transform:translate3d(-25px, 0, 0)}75%{-webkit-transform:translate3d(10px, 0, 0);transform:translate3d(10px, 0, 0)}90%{-webkit-transform:translate3d(-5px, 0, 0);transform:translate3d(-5px, 0, 0)}100%{-webkit-transform:none;transform:none}}@keyframes bounceInRight{0%,60%,75%,90%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:translate3d(3000px, 0, 0);transform:translate3d(3000px, 0, 0)}60%{opacity:1;-webkit-transform:translate3d(-25px, 0, 0);transform:translate3d(-25px, 0, 0)}75%{-webkit-transform:translate3d(10px, 0, 0);transform:translate3d(10px, 0, 0)}90%{-webkit-transform:translate3d(-5px, 0, 0);transform:translate3d(-5px, 0, 0)}100%{-webkit-transform:none;transform:none}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%,60%,75%,90%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:translate3d(0, 3000px, 0);transform:translate3d(0, 3000px, 0)}60%{opacity:1;-webkit-transform:translate3d(0, -20px, 0);transform:translate3d(0, -20px, 0)}75%{-webkit-transform:translate3d(0, 10px, 0);transform:translate3d(0, 10px, 0)}90%{-webkit-transform:translate3d(0, -5px, 0);transform:translate3d(0, -5px, 0)}100%{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}}@keyframes bounceInUp{0%,60%,75%,90%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:translate3d(0, 3000px, 0);transform:translate3d(0, 3000px, 0)}60%{opacity:1;-webkit-transform:translate3d(0, -20px, 0);transform:translate3d(0, -20px, 0)}75%{-webkit-transform:translate3d(0, 10px, 0);transform:translate3d(0, 10px, 0)}90%{-webkit-transform:translate3d(0, -5px, 0);transform:translate3d(0, -5px, 0)}100%{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(0.9, 0.9, 0.9);transform:scale3d(0.9, 0.9, 0.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1, 1.1, 1.1);transform:scale3d(1.1, 1.1, 1.1)}100%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3);transform:scale3d(0.3, 0.3, 0.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(0.9, 0.9, 0.9);transform:scale3d(0.9, 0.9, 0.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1, 1.1, 1.1);transform:scale3d(1.1, 1.1, 1.1)}100%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3);transform:scale3d(0.3, 0.3, 0.3)}}.bounceOut{-webkit-animation-name:bounceOut;animation-name:bounceOut;-webkit-animation-duration:0.75s;animation-duration:0.75s}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0, 10px, 0);transform:translate3d(0, 10px, 0)}40%,45%{opacity:1;-webkit-transform:translate3d(0, -20px, 0);transform:translate3d(0, -20px, 0)}100%{opacity:0;-webkit-transform:translate3d(0, 2000px, 0);transform:translate3d(0, 2000px, 0)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0, 10px, 0);transform:translate3d(0, 10px, 0)}40%,45%{opacity:1;-webkit-transform:translate3d(0, -20px, 0);transform:translate3d(0, -20px, 0)}100%{opacity:0;-webkit-transform:translate3d(0, 2000px, 0);transform:translate3d(0, 2000px, 0)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px, 0, 0);transform:translate3d(20px, 0, 0)}100%{opacity:0;-webkit-transform:translate3d(-2000px, 0, 0);transform:translate3d(-2000px, 0, 0)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px, 0, 0);transform:translate3d(20px, 0, 0)}100%{opacity:0;-webkit-transform:translate3d(-2000px, 0, 0);transform:translate3d(-2000px, 0, 0)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px, 0, 0);transform:translate3d(-20px, 0, 0)}100%{opacity:0;-webkit-transform:translate3d(2000px, 0, 0);transform:translate3d(2000px, 0, 0)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px, 0, 0);transform:translate3d(-20px, 0, 0)}100%{opacity:0;-webkit-transform:translate3d(2000px, 0, 0);transform:translate3d(2000px, 0, 0)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0, -10px, 0);transform:translate3d(0, -10px, 0)}40%,45%{opacity:1;-webkit-transform:translate3d(0, 20px, 0);transform:translate3d(0, 20px, 0)}100%{opacity:0;-webkit-transform:translate3d(0, -2000px, 0);transform:translate3d(0, -2000px, 0)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0, -10px, 0);transform:translate3d(0, -10px, 0)}40%,45%{opacity:1;-webkit-transform:translate3d(0, 20px, 0);transform:translate3d(0, 20px, 0)}100%{opacity:0;-webkit-transform:translate3d(0, -2000px, 0);transform:translate3d(0, -2000px, 0)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0, -100%, 0);transform:translate3d(0, -100%, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0, -100%, 0);transform:translate3d(0, -100%, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0, -2000px, 0);transform:translate3d(0, -2000px, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0, -2000px, 0);transform:translate3d(0, -2000px, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px, 0, 0);transform:translate3d(-2000px, 0, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px, 0, 0);transform:translate3d(-2000px, 0, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px, 0, 0);transform:translate3d(2000px, 0, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px, 0, 0);transform:translate3d(2000px, 0, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0, 2000px, 0);transform:translate3d(0, 2000px, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0, 2000px, 0);transform:translate3d(0, 2000px, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}}@keyframes fadeOutDown{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0, 2000px, 0);transform:translate3d(0, 2000px, 0)}}@keyframes fadeOutDownBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0, 2000px, 0);transform:translate3d(0, 2000px, 0)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0)}}@keyframes fadeOutLeft{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-2000px, 0, 0);transform:translate3d(-2000px, 0, 0)}}@keyframes fadeOutLeftBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-2000px, 0, 0);transform:translate3d(-2000px, 0, 0)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0)}}@keyframes fadeOutRight{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(2000px, 0, 0);transform:translate3d(2000px, 0, 0)}}@keyframes fadeOutRightBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(2000px, 0, 0);transform:translate3d(2000px, 0, 0)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0, -100%, 0);transform:translate3d(0, -100%, 0)}}@keyframes fadeOutUp{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0, -100%, 0);transform:translate3d(0, -100%, 0)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0, -2000px, 0);transform:translate3d(0, -2000px, 0)}}@keyframes fadeOutUpBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0, -2000px, 0);transform:translate3d(0, -2000px, 0)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, -360deg);transform:perspective(400px) rotate3d(0, 1, 0, -360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(0.95, 0.95, 0.95);transform:perspective(400px) scale3d(0.95, 0.95, 0.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{0%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, -360deg);transform:perspective(400px) rotate3d(0, 1, 0, -360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(0.95, 0.95, 0.95);transform:perspective(400px) scale3d(0.95, 0.95, 0.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animated.flip{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, 90deg);transform:perspective(400px) rotate3d(1, 0, 0, 90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, -20deg);transform:perspective(400px) rotate3d(1, 0, 0, -20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, 10deg);transform:perspective(400px) rotate3d(1, 0, 0, 10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, -5deg);transform:perspective(400px) rotate3d(1, 0, 0, -5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, 90deg);transform:perspective(400px) rotate3d(1, 0, 0, 90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, -20deg);transform:perspective(400px) rotate3d(1, 0, 0, -20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, 10deg);transform:perspective(400px) rotate3d(1, 0, 0, 10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, -5deg);transform:perspective(400px) rotate3d(1, 0, 0, -5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInX{-webkit-backface-visibility:visible !important;backface-visibility:visible !important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, 90deg);transform:perspective(400px) rotate3d(0, 1, 0, 90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, -20deg);transform:perspective(400px) rotate3d(0, 1, 0, -20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, 10deg);transform:perspective(400px) rotate3d(0, 1, 0, 10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, -5deg);transform:perspective(400px) rotate3d(0, 1, 0, -5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{0%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, 90deg);transform:perspective(400px) rotate3d(0, 1, 0, 90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, -20deg);transform:perspective(400px) rotate3d(0, 1, 0, -20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, 10deg);transform:perspective(400px) rotate3d(0, 1, 0, 10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, -5deg);transform:perspective(400px) rotate3d(0, 1, 0, -5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInY{-webkit-backface-visibility:visible !important;backface-visibility:visible !important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, -20deg);transform:perspective(400px) rotate3d(1, 0, 0, -20deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, 90deg);transform:perspective(400px) rotate3d(1, 0, 0, 90deg);opacity:0}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, -20deg);transform:perspective(400px) rotate3d(1, 0, 0, -20deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, 90deg);transform:perspective(400px) rotate3d(1, 0, 0, 90deg);opacity:0}}.flipOutX{-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-animation-duration:0.75s;animation-duration:0.75s;-webkit-backface-visibility:visible !important;backface-visibility:visible !important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, -15deg);transform:perspective(400px) rotate3d(0, 1, 0, -15deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, 90deg);transform:perspective(400px) rotate3d(0, 1, 0, 90deg);opacity:0}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, -15deg);transform:perspective(400px) rotate3d(0, 1, 0, -15deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, 90deg);transform:perspective(400px) rotate3d(0, 1, 0, 90deg);opacity:0}}.flipOutY{-webkit-backface-visibility:visible !important;backface-visibility:visible !important;-webkit-animation-name:flipOutY;animation-name:flipOutY;-webkit-animation-duration:0.75s;animation-duration:0.75s}@-webkit-keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%, 0, 0) skewX(-30deg);transform:translate3d(100%, 0, 0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}100%{-webkit-transform:none;transform:none;opacity:1}}@keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%, 0, 0) skewX(-30deg);transform:translate3d(100%, 0, 0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}100%{-webkit-transform:none;transform:none;opacity:1}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{0%{opacity:1}100%{-webkit-transform:translate3d(100%, 0, 0) skewX(30deg);transform:translate3d(100%, 0, 0) skewX(30deg);opacity:0}}@keyframes lightSpeedOut{0%{opacity:1}100%{-webkit-transform:translate3d(100%, 0, 0) skewX(30deg);transform:translate3d(100%, 0, 0) skewX(30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0, 0, 1, -200deg);transform:rotate3d(0, 0, 1, -200deg);opacity:0}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateIn{0%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0, 0, 1, -200deg);transform:rotate3d(0, 0, 1, -200deg);opacity:0}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0, 0, 1, -45deg);transform:rotate3d(0, 0, 1, -45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0, 0, 1, -45deg);transform:rotate3d(0, 0, 1, -45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0, 0, 1, 45deg);transform:rotate3d(0, 0, 1, 45deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0, 0, 1, 45deg);transform:rotate3d(0, 0, 1, 45deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0, 0, 1, 45deg);transform:rotate3d(0, 0, 1, 45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0, 0, 1, 45deg);transform:rotate3d(0, 0, 1, 45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0, 0, 1, -90deg);transform:rotate3d(0, 0, 1, -90deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0, 0, 1, -90deg);transform:rotate3d(0, 0, 1, -90deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{0%{-webkit-transform-origin:center;transform-origin:center;opacity:1}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0, 0, 1, 200deg);transform:rotate3d(0, 0, 1, 200deg);opacity:0}}@keyframes rotateOut{0%{-webkit-transform-origin:center;transform-origin:center;opacity:1}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0, 0, 1, 200deg);transform:rotate3d(0, 0, 1, 200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0, 0, 1, 45deg);transform:rotate3d(0, 0, 1, 45deg);opacity:0}}@keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0, 0, 1, 45deg);transform:rotate3d(0, 0, 1, 45deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0, 0, 1, -45deg);transform:rotate3d(0, 0, 1, -45deg);opacity:0}}@keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0, 0, 1, -45deg);transform:rotate3d(0, 0, 1, -45deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0, 0, 1, -45deg);transform:rotate3d(0, 0, 1, -45deg);opacity:0}}@keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0, 0, 1, -45deg);transform:rotate3d(0, 0, 1, -45deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0, 0, 1, 90deg);transform:rotate3d(0, 0, 1, 90deg);opacity:0}}@keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0, 0, 1, 90deg);transform:rotate3d(0, 0, 1, 90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0, 0, 1, 80deg);transform:rotate3d(0, 0, 1, 80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0, 0, 1, 60deg);transform:rotate3d(0, 0, 1, 60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}100%{-webkit-transform:translate3d(0, 700px, 0);transform:translate3d(0, 700px, 0);opacity:0}}@keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0, 0, 1, 80deg);transform:rotate3d(0, 0, 1, 80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0, 0, 1, 60deg);transform:rotate3d(0, 0, 1, 60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}100%{-webkit-transform:translate3d(0, 700px, 0);transform:translate3d(0, 700px, 0);opacity:0}}.hinge{-webkit-animation-name:hinge;animation-name:hinge}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);transform:translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);transform:translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg)}100%{opacity:1;-webkit-transform:none;transform:none}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);transform:translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg)}}@keyframes rollOut{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);transform:translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3);transform:scale3d(0.3, 0.3, 0.3)}50%{opacity:1}}@keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3);transform:scale3d(0.3, 0.3, 0.3)}50%{opacity:1}}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}@keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}@keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}@keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}@keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3);transform:scale3d(0.3, 0.3, 0.3)}100%{opacity:0}}@keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3);transform:scale3d(0.3, 0.3, 0.3)}100%{opacity:0}}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}100%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}100%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0)}100%{opacity:0;-webkit-transform:scale(0.1) translate3d(-2000px, 0, 0);transform:scale(0.1) translate3d(-2000px, 0, 0);-webkit-transform-origin:left center;transform-origin:left center}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0)}100%{opacity:0;-webkit-transform:scale(0.1) translate3d(-2000px, 0, 0);transform:scale(0.1) translate3d(-2000px, 0, 0);-webkit-transform-origin:left center;transform-origin:left center}}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0)}100%{opacity:0;-webkit-transform:scale(0.1) translate3d(2000px, 0, 0);transform:scale(0.1) translate3d(2000px, 0, 0);-webkit-transform-origin:right center;transform-origin:right center}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0)}100%{opacity:0;-webkit-transform:scale(0.1) translate3d(2000px, 0, 0);transform:scale(0.1) translate3d(2000px, 0, 0);-webkit-transform-origin:right center;transform-origin:right center}}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}100%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}100%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp}@-webkit-keyframes slideInDown{0%{-webkit-transform:translateY(-100%);transform:translateY(-100%);visibility:visible}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideInDown{0%{-webkit-transform:translateY(-100%);transform:translateY(-100%);visibility:visible}100%{-webkit-transform:translateY(0);transform:translateY(0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%);visibility:visible}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInLeft{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%);visibility:visible}100%{-webkit-transform:translateX(0);transform:translateX(0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{-webkit-transform:translateX(100%);transform:translateX(100%);visibility:visible}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInRight{0%{-webkit-transform:translateX(100%);transform:translateX(100%);visibility:visible}100%{-webkit-transform:translateX(0);transform:translateX(0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{0%{-webkit-transform:translateY(100%);transform:translateY(100%);visibility:visible}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideInUp{0%{-webkit-transform:translateY(100%);transform:translateY(100%);visibility:visible}100%{-webkit-transform:translateY(0);transform:translateY(0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{visibility:hidden;-webkit-transform:translateY(100%);transform:translateY(100%)}}@keyframes slideOutDown{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{visibility:hidden;-webkit-transform:translateY(100%);transform:translateY(100%)}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{visibility:hidden;-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes slideOutLeft{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{visibility:hidden;-webkit-transform:translateX(-100%);transform:translateX(-100%)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{visibility:hidden;-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes slideOutRight{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{visibility:hidden;-webkit-transform:translateX(100%);transform:translateX(100%)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{visibility:hidden;-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@keyframes slideOutUp{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{visibility:hidden;-webkit-transform:translateY(-100%);transform:translateY(-100%)}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}.btn{border:1px solid #E0E3E9;display:inline-block;border-radius:2px;box-shadow:inset 0 1px 0 white,0 1px 1px rgba(217,221,227,0.5);background-color:#FAFAFA;background-image:-webkit-linear-gradient(#FAFAFA, #EFF1F3);background-image:linear-gradient(#FAFAFA, #EFF1F3);font-size:0.75em;font-weight:600;color:#828B9A;text-decoration:none;padding:0.5em 0.9375em}.btn:hover{background-color:#fbfbfb;background-image:-webkit-linear-gradient(#fbfbfb, #f2f4f5);background-image:linear-gradient(#fbfbfb, #f2f4f5)}.btn.disabled{cursor:default;opacity:0.5}.btn.disabled:active{box-shadow:inset 0 1px 0 white,0 1px 1px rgba(0,0,0,0.1)}.btn.danger{color:#E06488}.btn:focus{outline:0}.btn:active{box-shadow:none}form{margin:0}form.ng-submitted .ng-invalid{border-color:#E55A84 !important}.form-container{width:100%}.form-row{display:block;margin-bottom:10px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.form-row:after{content:"";display:table;clear:both}.form-col{float:left;display:block;margin-right:2.35765%;width:48.82117%}.form-col:last-child{margin-right:0}.form-col.padded:first-child{padding:0 20px 0 0}.form-col.padded:last-child{padding:0 0 0 20px}.form-group>label{font-size:0.75em;color:#AEB4BE;display:inline-block;line-height:1.875em}.form-group .form-error{font-size:0.75em;color:#E06488;float:right}.form-group .form-error img{vertical-align:bottom;margin-right:3px}.form-group.optional>label:after{content:" (optional)"}.form-group.error input.form-control,.form-group.error textarea.form-control{border-color:#E55A84;background:rgba(229,90,132,0.02)}.form-group input.form-control,.form-group textarea.form-control{border-radius:2px;border:1px solid #D9DDE3;font-size:1.125em;-webkit-transition:border-color 0.1s ease-in-out;-moz-transition:border-color 0.1s ease-in-out;transition:border-color 0.1s ease-in-out}.form-group input.form-control:focus,.form-group textarea.form-control:focus{border-color:#5AC4E5;outline:none;background:white}.form-group input.form-control.extend,.form-group textarea.form-control.extend{width:100%}.form-group input.form-control::-webkit-input-placeholder,.form-group textarea.form-control::-webkit-input-placeholder{color:rgba(174,180,190,0.7)}.form-group input.form-control::-moz-placeholder,.form-group textarea.form-control::-moz-placeholder{color:rgba(174,180,190,0.7)}.form-group input.form-control:-moz-placeholder,.form-group textarea.form-control:-moz-placeholder{color:rgba(174,180,190,0.7)}.form-group input.form-control:-ms-input-placeholder,.form-group textarea.form-control:-ms-input-placeholder{color:rgba(174,180,190,0.7)}.form-group .form-btn{padding:0.75em 0.9375em}.form-group input.form-control{vertical-align:middle;padding:0.3125em 0.625em}.form-group textarea.form-control{min-height:135px;font-size:1.125em;padding:0.5em 0.625em}.form-submit-message{display:inline-block;margin-left:0.3125em;font-size:0.75em}.form-submit-message.error{color:#E06488}.form-submit-message img{vertical-align:middle;margin-right:0.3125em}.box{background:white;border:1px solid #D9DDE3;border-radius:3px;margin:0 auto 20px auto;max-width:800px;min-width:700px;overflow:hidden;padding:20px 25px}.box.box-x-scroll{overflow-x:scroll}.box.invisible{background:transparent;border:0;padding:0;margin-bottom:40px}.box.highlight{border-color:#5AC4E5;box-shadow:0 0 3px rgba(90,196,229,0.5)}.box-title{font-size:24px;font-weight:bold;color:#3D4043;margin-bottom:20px}.box-description{font-size:14px;color:#828B9A;padding-bottom:20px;border-bottom:1px solid #D9DDE3;margin-top:-20px;margin-bottom:20px}.box-description a{color:#3D4043;text-decoration:none}.box-description a:hover{border:1px solid #D9DDE3}.box-section{padding-top:20px;display:block}.box-section:first-child{border:0}.box-section:after{content:"";display:table;clear:both}.box-section .section-details{float:left;display:block;margin-right:2.35765%;width:23.23176%}.box-section .section-details:last-child{margin-right:0}.box-section .section-details .section-title{font-size:0.875em;color:#828B9A;margin-bottom:20px}.box-section .section-main{float:left;display:block;margin-right:2.35765%;width:74.41059%}.box-section .section-main:last-child{margin-right:0}.box-message{text-align:center;padding:40px;max-width:500px;margin:0 auto}.box-message .main-image{margin-bottom:20px}.box-message .title{font-weight:bold;font-size:1.5em;color:#3D4043;margin-bottom:0.625em}.box-message .content{font-size:0.875em;color:#828B9A;margin-bottom:20px}.box-message .mini-divider:after{content:"";display:inline-block;width:200px;height:1px;background:#D9DDE3;margin:20px auto}.box-side-sticky{padding:20px 25px;box-sizing:content-box;width:100%;margin-left:-25px}.box-bottom-sticky{padding:20px 25px;box-sizing:content-box;width:100%;margin-top:20px;border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-top:1px solid #D9DDE3;margin-bottom:-20px;margin-left:-25px}.box-controls{text-align:right;box-shadow:inset 0 1px 0 white;background:#f8f9fa;margin-top:20px;padding:15px 25px}.ng-submitted .ng-invalid>.date-picker{border-color:#E55A84}.date-picker{border:1px solid #D9DDE3;border-radius:2px;-webkit-transition:border-color 0.2s ease-in-out;-moz-transition:border-color 0.2s ease-in-out;transition:border-color 0.2s ease-in-out}.date-picker .wrapper{padding:20px}.date-picker .date-picker-head{display:table;width:100%;margin-bottom:30px;text-align:center}.date-picker .date-picker-head .title{display:inline-block;width:200px;margin:0 20px;font-weight:bold;font-size:1.125em}.date-picker .date-picker-head .arrow{text-decoration:none;color:#AEB4BE;position:relative;border:1px solid #D9DDE3;display:inline-block;width:25px;border-radius:2px;font-size:12px;line-height:25px;text-align:center;float:left;box-shadow:0 1px 1px rgba(217,221,227,0.5);margin:0 20px}.date-picker .date-picker-head .arrow:last-child{float:right}.date-picker .date-picker-head .arrow:hover{color:#3D4043}.date-picker .date-picker-head .arrow:active{box-shadow:none}.date-picker .dow{font-size:0;padding-bottom:10px;border-bottom:2px solid #D9DDE3;margin-bottom:10px}.date-picker .dow .day{text-transform:uppercase;font-size:14px;display:inline-block;width:14.28571%;text-align:center;color:#E55A84}.date-picker .values .value{display:inline-block;width:14.28571%;text-align:center;font-size:0.875em;line-height:3.4375em;position:relative;font-weight:bold}.date-picker .values .value.today{color:#818176}.date-picker .values .value.today:after{opacity:1;background:rgba(255,255,0,0.1)}.date-picker .values .value.outside{color:#AEB4BE;font-weight:normal}.date-picker .values .value:after{content:" ";cursor:pointer;opacity:0;position:absolute;width:2.625em;height:2.625em;margin-left:-1.3125em;margin-top:-1.3125em;left:50%;top:50%;border-radius:2px}.date-picker .values .value:hover{cursor:pointer}.date-picker .values .value:hover:after{opacity:1;background:rgba(217,221,227,0.4)}.date-picker .values .value.active{background:white;color:#75C062}.date-picker .values .value.active:after{opacity:1;background:rgba(117,192,98,0.1)}.daticon-list{margin:0;margin-left:-5px;list-style:none;padding:5px;text-align:left}.daticon-list li{display:inline-block;margin:10px 10px 0 0}.daticon{box-shadow:0 0 0 1px rgba(217,221,227,0.5);border-radius:3px;display:inline-block;padding:0.5em 1em;text-align:center;position:relative;cursor:default;background:white}.daticon .dow{font-size:0.375em;margin-top:-1.5em;background:white;color:#AEB4BE;margin-bottom:0.25em;font-weight:normal;text-transform:uppercase}.daticon .day{font-size:1.25em;font-weight:normal;color:#E55A84;line-height:1em}.daticon .month{font-weight:600;font-size:0.75em;text-transform:uppercase}.daticon .delete{text-align:center;border:0;width:1.125em;height:1.125em;position:absolute;top:-7.2px;right:-7.2px;border-radius:100%;display:inline-block;background:rgba(217,221,227,0.5) url(../images/close@2x.png) no-repeat center center;background-size:7px 8px;cursor:pointer;opacity:0}.daticon .delete:hover{background-color:rgba(217,221,227,0.8)}.daticon .count{text-align:center;border:0;width:18px;height:18px;position:absolute;top:-7.2px;right:-7.2px;border-radius:100%;font-weight:bold;display:inline-block;background:#bcc3cd;color:white;font-size:9px;line-height:18px;-webkit-transition:background-color 0.2s ease-in-out;-moz-transition:background-color 0.2s ease-in-out;transition:background-color 0.2s ease-in-out}.daticon .count.top{background:#FF5D5D}.daticon:hover .delete{opacity:1}.rl-modal{background:white;position:fixed;top:50%;left:50%;width:50%;max-width:400px;display:inline-block;min-width:200px;height:auto;z-index:2000;overflow:hidden;border-radius:5px;box-shadow:0 0 0 1px #D9DDE3,0 0 0 5px rgba(217,221,227,0.5);-webkit-transform:translateX(-50%) translateY(-50%);-moz-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);-o-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.rl-modal .rl-modal-message{padding:0 20px 20px 20px;font-size:0.75em;color:#828B9A}.rl-modal .rl-modal-title{padding:20px 20px 0 20px;font-size:1.125em;font-weight:bold}.rl-modal .rl-modal-actions{border-top:1px solid #D9DDE3;box-shadow:inset 0 1px 0 white;background:#f8f9fa;text-align:right;padding:0.625em 1.25em}.rl-modal-overlay{position:fixed;z-index:1999;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.1)}.poll{margin-top:20px;min-width:100%;display:block;border:1px solid rgba(217,221,227,0.5);border-radius:3px;overflow-x:scroll}.poll-header{display:table;min-width:100%;padding-top:20px;overflow:hidden;border-bottom:1px solid #D9DDE3;box-shadow:0 3px 0 rgba(217,221,227,0.3)}.poll-header .header{display:table-cell;vertical-align:bottom;padding-bottom:10px}.poll-header .header.date-header{text-align:center;min-width:70px;width:70px}.poll-header .header.actions-header{min-width:160px}.poll-header .header.participants-header{font-weight:bold;min-width:235px;width:235px;padding-left:20px}.poll-body{min-width:100%;overflow:hidden;display:table}.poll-body .poll-example{position:relative}.poll-body .poll-example.hidden{display:none}.poll-body .poll-example .overlay{position:absolute;top:0;left:0;width:100%;height:100%;border-bottom:1px solid #D9DDE3;background:rgba(255,255,255,0.75);text-align:center}.poll-body .poll-example .overlay .overlay-text{position:absolute;top:50%;left:50%;font-size:1.125em;font-weight:bold;color:#AEB4BE;background:rgba(255,255,255,0.9);padding:10px;-webkit-transform:translateX(-50%) translateY(-50%);-moz-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);-o-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.poll-body .poll-entry.highlight{background:#f6f7f9}.poll-body .poll-entry{display:table;min-width:100%;border-bottom:1px solid rgba(217,221,227,0.5)}.poll-body .poll-entry:last-child{border-bottom:0}.poll-body .poll-entry .hover{visibility:hidden}.poll-body .poll-entry:hover .hover{visibility:visible}.poll-body .poll-entry .cell{padding:0.625em;display:table-cell;height:50px;vertical-align:middle}.poll-body .poll-entry .cell.name-cell{min-width:235px;width:235px;font-size:0.875em;padding-left:20px}.poll-body .poll-entry .cell.name-cell .avatar{display:inline-block;padding:5px;margin-right:5px;border-radius:2px;background:#D0D5DF}.poll-body .poll-entry .cell.name-cell .avatar.style-1{background:#8A75AE}.poll-body .poll-entry .cell.name-cell .avatar.style-2{background:#80A1DA}.poll-body .poll-entry .cell.name-cell .avatar.style-3{background:#B3DD8B}.poll-body .poll-entry .cell.name-cell .avatar.style-4{background:#7EE4E4}.poll-body .poll-entry .cell.name-cell .avatar.style-5{background:#FCD285}.poll-body .poll-entry .cell.name-cell .avatar.style-6{background:#F7967F}.poll-body .poll-entry .cell.name-cell .avatar.style-7{background:#E8669D}.poll-body .poll-entry .cell.name-cell .avatar.style-8{background:#F7B6E7}.poll-body .poll-entry .cell.name-cell .avatar.style-9{background:#F99D7B}.poll-body .poll-entry .cell.name-cell .avatar.style-10{background:#88D0CB}.poll-body .poll-entry .cell.name-cell .name{padding:5px 3px;margin-left:2px;border-radius:2px}.poll-body .poll-entry .cell.name-cell .name.editable:hover{background:#F5F6F8;cursor:pointer}.poll-body .poll-entry .cell.name-cell .form-control{border:1px solid #D9DDE3;padding:0.3125em;border-radius:2px;color:#3D4043}.poll-body .poll-entry .cell.name-cell .form-control:focus{outline:0;border-color:#5AC4E5;box-shadow:0 0 3px rgba(90,196,229,0.5)}.poll-body .poll-entry .cell.name-cell .form-control::-webkit-input-placeholder{color:rgba(130,139,154,0.7)}.poll-body .poll-entry .cell.name-cell .form-control::-moz-placeholder{color:rgba(130,139,154,0.7)}.poll-body .poll-entry .cell.name-cell .form-control:-moz-placeholder{color:rgba(130,139,154,0.7)}.poll-body .poll-entry .cell.name-cell .form-control:-ms-input-placeholder{color:rgba(130,139,154,0.7)}.poll-body .poll-entry .cell.action-cell{min-width:160px}.poll-body .poll-entry .cell.vote-cell{min-width:70px;width:70px;text-align:center;position:relative}.poll-body .poll-entry .cell.vote-cell .overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10}.poll-body .poll-entry .cell.vote-cell .overlay:hover{background:rgba(217,221,227,0.2);cursor:pointer}.poll-body .poll-entry.ng-submitted .ng-invalid{border-color:#E55A84 !important}tags-input{display:block}tags-input *,tags-input *:before,tags-input *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}tags-input .host{position:relative;margin-top:5px;margin-bottom:5px}tags-input .host:focus{outline:0}tags-input .host:active{outline:none}tags-input .tags{padding:4px;overflow:hidden;word-wrap:break-word;cursor:text;border-radius:3px;background-color:white;border:1px solid #D9DDE3;-webkit-transition:border-color 0.1s ease-in-out;-moz-transition:border-color 0.1s ease-in-out;transition:border-color 0.1s ease-in-out}tags-input .tags.focused{outline:none}tags-input .tags .tag-list{margin:0;padding:0;list-style-type:none}tags-input .tags .tag-item{margin:2px;padding:0 8px;display:inline-block;float:left;font-size:0.875em;height:26px;line-height:25px;border-radius:1px;background:#E5EBF2;color:#7587A1;box-shadow:0 0 0 1px #CBD4E2}tags-input .tags .tag-item.selected{background:#E06488;color:white;box-shadow:none}tags-input .tags .tag-item .remove-button{margin:0 0 0 5px;padding:0;border:none;background:none;color:inherit;cursor:pointer;vertical-align:middle;font:bold 1em Arial,sans-serif}tags-input .tags .input{border:0;outline:none;margin:2px;padding:0;padding-left:8px;float:left;height:26px;font-size:0.875em}tags-input .tags .input::-webkit-input-placeholder{color:#AEB4BE}tags-input .tags .input::-moz-placeholder{color:#AEB4BE}tags-input .tags .input:-moz-placeholder{color:#AEB4BE}tags-input .tags .input:-ms-input-placeholder{color:#AEB4BE}tags-input .tags .input.invalid-tag{color:#E06488}tags-input .tags .input::-ms-clear{display:none}.dropdown{position:relative;cursor:pointer}.dropdown .dropdown-menu{position:absolute;display:none;z-index:1000;float:left;min-width:160px;max-width:180px;padding:5px;text-align:left;left:0}.dropdown.open .dropdown-menu{display:block}.dropdown .dropdown-toggle:after{content:"";width:6px;height:4px;margin-left:10px;display:inline-block;background-image:url("../images/dropdown_arrow.png");background-size:6px 4px;background-repeat:no-repeat}.comments-info{font-weight:bold;padding-bottom:10px;border-bottom:2px solid #D9DDE3}.comment-form{display:block;margin-top:20px;padding:0 10px}.comment-form:after{content:"";display:table;clear:both}.comment-form .avatar-section{float:left;display:block;margin-right:2.35765%;width:6.17215%}.comment-form .avatar-section:last-child{margin-right:0}.comment-form .avatar-section img{border-radius:3px;max-width:100%}.comment-form .input-section{float:left;display:block;margin-right:2.35765%;width:91.4702%}.comment-form .input-section:last-child{margin-right:0}.comment-form .content-section{margin-bottom:10px}.comment-form .name-section{position:relative;margin-bottom:10px}.comment-form .form-control{font-size:0.875em !important}.comment-form textarea.form-control{min-height:0;min-width:100%}.comments-placeholder{color:#AEB4BE;text-align:center}.comment-thread{list-style:none;margin:0;padding:0;margin-bottom:20px;max-height:500px;overflow-y:scroll}.comment-thread .comment{display:block;padding:10px}.comment-thread .comment:after{content:"";display:table;clear:both}.comment-thread .comment .avatar-section{float:left;display:block;margin-right:2.35765%;width:6.17215%}.comment-thread .comment .avatar-section:last-child{margin-right:0}.comment-thread .comment .avatar-section img{max-width:100%;border-radius:3px}.comment-thread .comment .comment-section{float:left;display:block;margin-right:2.35765%;width:91.4702%;position:relative}.comment-thread .comment .comment-section:last-child{margin-right:0}.comment-thread .comment .comment-section .comment-delete{opacity:0;text-decoration:none;color:white;background-color:#D9DDE3;color:#AEB4BE;border-radius:2px;display:inline-block;position:absolute;right:0;top:0;font-size:0.875em;width:1em;height:1em;line-height:1em;text-align:center}.comment-thread .comment .comment-section .comment-delete:hover{background:#E06488;color:white}.comment-thread .comment .comment-section .comment-delete:active{background:#dc4f78}.comment-thread .comment .comment-section .meta{font-size:0.8125em;color:#828B9A;margin-bottom:5px}.comment-thread .comment .comment-section .name{color:#828B9A;font-weight:600}.comment-thread .comment .comment-section .time:before{content:" ";display:inline-block;height:4px;width:4px;background:#AEB4BE;margin:0 5px 2px 5px;border-radius:100%}.comment-thread .comment .comment-section .content{font-size:0.875em;margin-bottom:5px;white-space:pre-wrap;margin-right:100px}.comment-thread .comment .comment-section .actions{opacity:0.8}.comment-thread .comment .comment-section .actions a{color:#828B9A;font-size:0.75em;text-decoration:none}.comment-thread .comment .comment-section .actions a:hover{color:#5AC4E5}.comment-thread .comment:hover{background:#F5F6F8;cursor:default;border-radius:3px}.comment-thread .comment:hover .name{color:#5AC4E5}.comment-thread .comment:hover .comment-delete{opacity:1}.switch-row{display:table;width:100%;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #D9DDE3}.switch-row:last-child{border:0}.switch-row .switch-details{display:table-cell}.switch-row .switch-details .title{font-size:0.875em;font-weight:bold}.switch-row .switch-details .description{font-size:0.75em;color:#828B9A}.switch-row .switch{display:table-cell;text-align:right;min-width:150px;vertical-align:middle}.switch-row .switch .switch-value{font-size:0.75em;color:#828B9A;display:inline-block;vertical-align:middle}.switch-toggle{display:inline-block;margin-left:5px;height:20px;width:40px;border-radius:20px;vertical-align:middle;position:relative;cursor:pointer;background:#E06488;box-shadow:inset 0 0 0 1px rgba(0,0,0,0.1);-webkit-transition:all 0.1s ease-in-out;-moz-transition:all 0.1s ease-in-out;transition:all 0.1s ease-in-out}.switch-toggle:after{content:" ";-webkit-transition:all 0.1s ease-in-out;-moz-transition:all 0.1s ease-in-out;transition:all 0.1s ease-in-out;display:inline-block;height:16px;width:16px;position:absolute;box-shadow:inset 0 1px 0 white,0 1px 1px rgba(0,0,0,0.1);background-color:#FAFAFA;background-image:-webkit-linear-gradient(#FAFAFA, #EFF1F3);background-image:linear-gradient(#FAFAFA, #EFF1F3);top:50%;margin-top:-8px;left:2px;border-radius:100px}.switch-toggle:hover{box-shadow:inset 0 0 0 1px rgba(0,0,0,0.1),inset 0 0 0 8px rgba(0,0,0,0.05)}.switch-toggle.active{background:#75C062}.switch-toggle.active:after{left:100%;margin-left:-18px}.notification{position:fixed;top:80px;right:0;width:300px;z-index:3000;padding:12px 20px;background:#828B9A;border-top-left-radius:2px;border-bottom-left-radius:2px;color:white;-webkit-transition:all 0.3s ease-in-out;-moz-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out}.notification.success{background:#75C062}.notification.error{background:#E06488}.notification.ng-enter{right:-300px;opacity:0}.notification.ng-enter-active{right:0;opacity:1}.notification.ng-leave-active{right:-300px;opacity:1}.notification .title{font-size:0.875em;margin-bottom:2px}.notification .message{font-size:0.75em;color:rgba(255,255,255,0.8)}.notification .close{position:absolute;top:5px;right:10px;color:white;text-decoration:none}.time-picker{width:100%;padding:10px}.time-picker .time-picker-col{display:table-cell;vertical-align:middle}.time-picker .time-picker-input{padding:5px;border-radius:3px;border:1px solid #D9DDE3;outline:0;font-size:18px}.time-picker .time-picker-input:focus{border-color:#5AC4E5;box-shadow:0 0 3px rgba(90,196,229,0.5);outline:0}.time-picker-input{padding:0.3125em 0;text-align:center;border:0;font-size:0.875em}.time-picker-input.ng-invalid{border-color:#E06488}.time-picker-input.ng-invalid:focus{box-shadow:0 0 3px rgba(224,100,136,0.5)}.time-picker-input.ng-valid.ng-dirty{border-color:#75C062}.time-picker-input:focus{outline:0;color:#3D4043}.time-form{width:100%;border:1px solid #D9DDE3}.time-form th{border-bottom:2px solid #D9DDE3;padding:10px;font-size:14px;text-transform:uppercase}.time-form td{border-right:1px solid #D9DDE3;padding:10px 10px;border-bottom:1px solid #D9DDE3}.time-form td:last-child{border-right:0}.time-form td input{width:100%}.time-form tr:last-child td{border-bottom:0}.page-placeholder{margin:0 auto;text-align:center;color:#B0B8C4;position:absolute;top:50%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%);-moz-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);-o-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.page-placeholder .image{margin-bottom:20px}.page-placeholder .title{font-size:2.25em;font-weight:bold;margin-bottom:20px}.page-placeholder .content{font-size:0.875em;max-width:320px;font-weight:normal;margin-bottom:20px}.event-header{width:100%;margin-bottom:20px}.event-header .details{display:inline-block}.event-header .details .title{font-size:1.5em;font-weight:bold}.event-header .details .title .title-label{font-size:11px;font-weight:normal;margin-left:5px;position:relative;top:-3px;background:#828B9A;color:white;padding:3px 10px;border-radius:20px}.event-header .details .title .title-label.success{background:#75C062}.event-header .details .title .title-label.danger{background:#FF5D5D}.event-header .details .subtitle{color:#828B9A;font-size:0.8125em}.event-header .details .subtitle a{color:#5AC4E5;text-decoration:none}.event-header .details .subtitle a:hover{text-decoration:underline}.event-header .actions{visibility:hidden;float:right}.event-header:hover .actions{visibility:visible}.event-description{font-size:1.125em;white-space:pre-wrap;margin-bottom:20px;background:#F5F6F8;line-height:1.5em;position:relative;color:#828B9A;border-top:1px solid #D9DDE3;border-bottom:1px solid #D9DDE3}.event-location{font-size:0.875em;margin-bottom:20px;color:#AEB4BE}.event-location a{color:#3D4043;text-decoration:none}.event-location a:hover{text-decoration:underline}.event-location img{vertical-align:middle;margin-right:10px}.newevent-steps{display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;width:100%;list-style-position:inside;padding:0;margin:40px 0 10px 0}.newevent-steps .step{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;-webkit-flex:1;-moz-flex:1;-ms-flex:1;flex:1;color:#828B9A;font-size:0.875em;margin:0 0 0 0;padding:0 0 10px 10px;border-bottom:2px solid #D9DDE3;position:relative;-webkit-transition:all 0.2s ease-in-out;-moz-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.newevent-steps .step:first-child{padding-left:0}.newevent-steps .step:after{content:"";position:absolute;bottom:-2px;left:0;height:2px;width:0;background:#75C062;-webkit-transition:all 0.2s ease-in-out;-moz-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.newevent-steps .step.active{color:#3D4043;font-weight:bold}.newevent-steps .step.complete:after{width:100%}.summary{margin-bottom:20px;max-width:68em;margin-left:auto;margin-right:auto}.summary:after{content:"";display:table;clear:both}.summary .summary-pair{float:left;display:block;margin-right:2.35765%;width:48.82117%;margin-bottom:10px}.summary .summary-pair:last-child{margin-right:0}.summary .summary-pair:last-child{margin-right:0}.summary .summary-pair.extend{width:100%;margin:0 0 20px 0}.summary .summary-pair:nth-child(even){margin-right:0}.summary .summary-pair:last-child{margin-bottom:0}.summary .summary-pair .key{font-size:10px;color:#AEB4BE}.summary .summary-pair .value.wrap{white-space:pre-wrap} /*# sourceMappingURL=style.css.map */ \ No newline at end of file diff --git a/public/css/style.css.map b/public/css/style.css.map index 721c30476..e81346ed5 100644 --- a/public/css/style.css.map +++ b/public/css/style.css.map @@ -1 +1 @@ -{"version":3,"sources":["style.scss","partials/_normalize.scss","neat/grid/_box-sizing.scss","bourbon/addons/_prefixer.scss","modules/_vars.scss","partials/_applayout.scss","partials/_navigation.scss","bourbon/css3/_transition.scss","partials/_topbar.scss","partials/ui/_animations.scss","partials/ui/_buttons.scss","bourbon/css3/_linear-gradient.scss","partials/ui/_form.scss","neat/grid/_row.scss","bourbon/addons/_clearfix.scss","neat/grid/_span-columns.scss","modules/_mixins.scss","bourbon/css3/_placeholder.scss","partials/ui/_box.scss","bourbon/css3/_flex-box.scss","partials/ui/_datepicker.scss","partials/ui/_modal.scss","partials/ui/_poll.scss","partials/ui/_tags.scss","partials/ui/_dropdown.scss","partials/ui/_comments.scss","partials/ui/_switch.scss","partials/ui/_notification.scss","partials/ui/_timepicker.scss","partials/pages/_home.scss","partials/pages/_event.scss"],"names":[],"mappings":"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","file":"style.css","sourcesContent":["@import url(http://fonts.googleapis.com/css?family=Roboto:400,600,700);\n@import \"modules/vars\";\n@import \"modules/mixins\";\n@import \"partials/normalize\";\n@import \"bourbon/bourbon\";\n@import \"neat/neat\";\n\nbody {\n font-family: \"Roboto\", \"Helvetica Neue\", Arial, sans-serif;\n}\n\na {\n color: $blue-clr;\n}\n\n@import \"partials/applayout\";\n@import \"partials/navigation\";\n@import \"partials/topbar\";\n@import \"partials/ui/animations\";\n@import \"partials/ui/buttons\";\n@import \"partials/ui/form\";\n@import \"partials/ui/box\";\n@import \"partials/ui/datepicker\";\n@import \"partials/ui/modal\";\n@import \"partials/ui/poll\";\n@import \"partials/ui/tags\";\n@import \"partials/ui/dropdown\";\n@import \"partials/ui/comments\";\n@import \"partials/ui/switch\";\n@import \"partials/ui/notification\";\n@import \"partials/ui/timepicker\";\n\n@import \"partials/pages/home\";\n@import \"partials/pages/event\";\n","/*! normalize.css v3.0.2 | MIT License | git.io/normalize */\n\n/**\n * 1. Set default font family to sans-serif.\n * 2. Prevent iOS text size adjust after orientation change, without disabling\n * user zoom.\n */\n\nhtml {\n font-family: sans-serif; /* 1 */\n -ms-text-size-adjust: 100%; /* 2 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/**\n * Remove default margin.\n */\n\nbody {\n margin: 0;\n}\n\n/* HTML5 display definitions\n ========================================================================== */\n\n/**\n * Correct `block` display not defined for any HTML5 element in IE 8/9.\n * Correct `block` display not defined for `details` or `summary` in IE 10/11\n * and Firefox.\n * Correct `block` display not defined for `main` in IE 11.\n */\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\n\n/**\n * 1. Correct `inline-block` display not defined in IE 8/9.\n * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n */\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block; /* 1 */\n vertical-align: baseline; /* 2 */\n}\n\n/**\n * Prevent modern browsers from displaying `audio` without controls.\n * Remove excess height in iOS 5 devices.\n */\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\n/**\n * Address `[hidden]` styling not present in IE 8/9/10.\n * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.\n */\n\n[hidden],\ntemplate {\n display: none;\n}\n\n/* Links\n ========================================================================== */\n\n/**\n * Remove the gray background color from active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * Improve readability when focused and also mouse hovered in all browsers.\n */\n\na:active,\na:hover {\n outline: 0;\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n */\n\nabbr[title] {\n border-bottom: 1px dotted;\n}\n\n/**\n * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n */\n\nb,\nstrong {\n font-weight: bold;\n}\n\n/**\n * Address styling not present in Safari and Chrome.\n */\n\ndfn {\n font-style: italic;\n}\n\n/**\n * Address variable `h1` font-size and margin within `section` and `article`\n * contexts in Firefox 4+, Safari, and Chrome.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/**\n * Address styling not present in IE 8/9.\n */\n\nmark {\n background: #ff0;\n color: #000;\n}\n\n/**\n * Address inconsistent and variable font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` affecting `line-height` in all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -0.5em;\n}\n\nsub {\n bottom: -0.25em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove border when inside `a` element in IE 8/9/10.\n */\n\nimg {\n border: 0;\n}\n\n/**\n * Correct overflow not hidden in IE 9/10/11.\n */\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * Address margin not present in IE 8/9 and Safari.\n */\n\nfigure {\n margin: 1em 40px;\n}\n\n/**\n * Address differences between Firefox and other browsers.\n */\n\nhr {\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n height: 0;\n}\n\n/**\n * Contain overflow in all browsers.\n */\n\npre {\n overflow: auto;\n}\n\n/**\n * Address odd `em`-unit font size rendering in all browsers.\n */\n\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * Known limitation: by default, Chrome and Safari on OS X allow very limited\n * styling of `select`, unless a `border` property is set.\n */\n\n/**\n * 1. Correct color not being inherited.\n * Known issue: affects color of disabled elements.\n * 2. Correct font properties not being inherited.\n * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit; /* 1 */\n font: inherit; /* 2 */\n margin: 0; /* 3 */\n}\n\n/**\n * Address `overflow` set to `hidden` in IE 8/9/10/11.\n */\n\nbutton {\n overflow: visible;\n}\n\n/**\n * Address inconsistent `text-transform` inheritance for `button` and `select`.\n * All other form control elements do not inherit `text-transform` values.\n * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n * Correct `select` style inheritance in Firefox.\n */\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/**\n * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n * and `video` controls.\n * 2. Correct inability to style clickable `input` types in iOS.\n * 3. Improve usability and consistency of cursor style between image-type\n * `input` and others.\n */\n\nbutton,\nhtml input[type=\"button\"], /* 1 */\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button; /* 2 */\n cursor: pointer; /* 3 */\n}\n\n/**\n * Re-set default cursor for disabled elements.\n */\n\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n/**\n * Remove inner padding and border in Firefox 4+.\n */\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n/**\n * Address Firefox 4+ setting `line-height` on `input` using `!important` in\n * the UA stylesheet.\n */\n\ninput {\n line-height: normal;\n}\n\n/**\n * It's recommended that you don't attempt to style these elements.\n * Firefox's implementation doesn't respect box-sizing, padding, or width.\n *\n * 1. Address box sizing set to `content-box` in IE 8/9/10.\n * 2. Remove excess padding in IE 8/9/10.\n */\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Fix the cursor style for Chrome's increment/decrement buttons. For certain\n * `font-size` values of the `input`, it causes the cursor style of the\n * decrement button to change from `default` to `text`.\n */\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n * 2. Address `box-sizing` set to `border-box` in Safari and Chrome\n * (include `-moz` to future-proof).\n */\n\ninput[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n -moz-box-sizing: content-box;\n -webkit-box-sizing: content-box; /* 2 */\n box-sizing: content-box;\n}\n\n/**\n * Remove inner padding and search cancel button in Safari and Chrome on OS X.\n * Safari (but not Chrome) clips the cancel button when the search input has\n * padding (and `textfield` appearance).\n */\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * Define consistent border, margin, and padding.\n */\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\n/**\n * 1. Correct `color` not being inherited in IE 8/9/10/11.\n * 2. Remove padding so people aren't caught out if they zero out fieldsets.\n */\n\nlegend {\n border: 0; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Remove default vertical scrollbar in IE 8/9/10/11.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * Don't inherit the `font-weight` (applied by a rule above).\n * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n */\n\noptgroup {\n font-weight: bold;\n}\n\n/* Tables\n ========================================================================== */\n\n/**\n * Remove most spacing between table cells.\n */\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n","@if $border-box-sizing == true {\n html { // http://bit.ly/1qk2tVR\n @include box-sizing(border-box);\n }\n\n * {\n &, &:before, &:after {\n @include box-sizing(inherit);\n }\n }\n}\n","//************************************************************************//\n// Example: @include prefixer(border-radius, $radii, webkit ms spec);\n//************************************************************************//\n// Variables located in /settings/_prefixer.scss\n\n@mixin prefixer ($property, $value, $prefixes) {\n @each $prefix in $prefixes {\n @if $prefix == webkit {\n @if $prefix-for-webkit {\n -webkit-#{$property}: $value;\n }\n }\n @else if $prefix == moz {\n @if $prefix-for-mozilla {\n -moz-#{$property}: $value;\n }\n }\n @else if $prefix == ms {\n @if $prefix-for-microsoft {\n -ms-#{$property}: $value;\n }\n }\n @else if $prefix == o {\n @if $prefix-for-opera {\n -o-#{$property}: $value;\n }\n }\n @else if $prefix == spec {\n @if $prefix-for-spec {\n #{$property}: $value;\n }\n }\n @else {\n @warn \"Unrecognized prefix: #{$prefix}\";\n }\n }\n}\n\n@mixin disable-prefix-for-all() {\n $prefix-for-webkit: false !global;\n $prefix-for-mozilla: false !global;\n $prefix-for-microsoft: false !global;\n $prefix-for-opera: false !global;\n $prefix-for-spec: false !global;\n}\n","$dark-blue-clr: #2E3A54;\n$green-clr: #75C062;\n$pink-clr: #E55A84;\n$red-clr: #E06488;\n$blue-clr: #5AC4E5;\n$light-blue-clr: #F5F6F8;\n$orangered-clr: #FF5D5D;\n\n$text-clr: #3D4043;\n$text-2-clr: #828B9A;\n$text-3-clr: #AEB4BE;\n$border-clr: #D9DDE3;\n$navigation-bg-clr: $dark-blue-clr;\n$background-clr: $light-blue-clr;\n\n$color-collection: (#8A75AE, #80A1DA, #B3DD8B, #7EE4E4, #FCD285, #F7967F, #E8669D, #F7B6E7, #F99D7B, #88D0CB);\n","$navigation-width: 200px;\n$top-bar-height: 60px;\n$min-width: 820px;\n\n.outer-container {\n width:100%;\n height:100%;\n overflow:hidden;\n}\n\nbody {\n background: $background-clr;\n color: $text-clr;\n min-width: $min-width;\n}\n\n.main-navigation {\n position:fixed;\n z-index: 2000;\n min-height:100%;\n width: $navigation-width;\n background: $navigation-bg-clr;\n color: white;\n .wrapper {\n width: $navigation-width;\n padding: 0 40px;\n }\n}\n\n.main-content {\n background: $background-clr;\n margin-left: $navigation-width;\n height:100%;\n overflow-y:scroll;\n .main-view {\n position:relative;\n padding: 100px 40px 20px 40px;\n width:100%;\n min-height: 600px;\n height:100%;\n }\n}\n\n.top-bar {\n width:100%;\n position:fixed;\n top:0;\n background: white;\n height: $top-bar-height;\n z-index: 1000;\n line-height: $top-bar-height;\n}\n","$top-space: 15px;\n$nav-pad: 20px;\n\n@mixin expand {\n padding-left:$nav-pad;\n padding-right: $nav-pad;\n margin-left: $nav-pad * -1;\n width:100%;\n @include box-sizing(content-box);\n}\n\n.main-navigation {\n padding: 0 $nav-pad;\n .logo {\n display:block;\n height: 60px;\n line-height:60px;\n background: darken($navigation-bg-clr, 3%);\n position:relative;\n @include transition(background 0.2s ease-in-out);\n @include expand;\n img {\n position:absolute;\n top:50%;\n margin-top:-12px;\n }\n }\n .menu-section {\n @include expand;\n font-size:10px;\n text-transform:uppercase;\n padding : 10px $nav-pad;\n border-bottom: 1px solid darken($navigation-bg-clr, 3%);\n margin-top:20px;\n margin-bottom:10px;\n }\n .create-new {\n display:block;\n font-size: em(12px);\n color: white;\n background: $green-clr;\n text-decoration: none;\n padding: 12px 5px;\n border-radius: 2px;\n text-align: center;\n font-weight: bold;\n @include box-sizing(content-box);\n width: 100%;\n margin-left:-5px;\n }\n .navigation {\n .links {\n padding:0 ;\n margin:0;\n list-style: none;\n a {\n display:block;\n text-decoration: none;\n color: #616F8D;\n line-height: em(40px);\n font-size: em(12px);\n font-weight:bold;\n &:hover {\n opacity: 1;\n color:white;\n .icon {\n background-position: center bottom;\n }\n }\n &.active {\n opacity:1;\n color: white;\n cursor: default;\n .icon {\n background-position: center bottom;\n }\n }\n .text {\n }\n .icon {\n display:inline-block;\n vertical-align:middle;\n margin-right: 10px;\n width:24px;\n height:24px;\n background-size: 24px 48px;\n }\n\n }\n }\n }\n}\n","// Shorthand mixin. Supports multiple parentheses-deliminated values for each variable.\n// Example: @include transition (all 2s ease-in-out);\n// @include transition (opacity 1s ease-in 2s, width 2s ease-out);\n// @include transition-property (transform, opacity);\n\n@mixin transition ($properties...) {\n // Fix for vendor-prefix transform property\n $needs-prefixes: false;\n $webkit: ();\n $moz: ();\n $spec: ();\n\n // Create lists for vendor-prefixed transform\n @each $list in $properties {\n @if nth($list, 1) == \"transform\" {\n $needs-prefixes: true;\n $list1: -webkit-transform;\n $list2: -moz-transform;\n $list3: ();\n\n @each $var in $list {\n $list3: join($list3, $var);\n\n @if $var != \"transform\" {\n $list1: join($list1, $var);\n $list2: join($list2, $var);\n }\n }\n\n $webkit: append($webkit, $list1);\n $moz: append($moz, $list2);\n $spec: append($spec, $list3);\n }\n\n // Create lists for non-prefixed transition properties\n @else {\n $webkit: append($webkit, $list, comma);\n $moz: append($moz, $list, comma);\n $spec: append($spec, $list, comma);\n }\n }\n\n @if $needs-prefixes {\n -webkit-transition: $webkit;\n -moz-transition: $moz;\n transition: $spec;\n }\n @else {\n @if length($properties) >= 1 {\n @include prefixer(transition, $properties, webkit moz spec);\n }\n\n @else {\n $properties: all 0.15s ease-out 0s;\n @include prefixer(transition, $properties, webkit moz spec);\n }\n }\n}\n\n@mixin transition-property ($properties...) {\n -webkit-transition-property: transition-property-names($properties, 'webkit');\n -moz-transition-property: transition-property-names($properties, 'moz');\n transition-property: transition-property-names($properties, false);\n}\n\n@mixin transition-duration ($times...) {\n @include prefixer(transition-duration, $times, webkit moz spec);\n}\n\n@mixin transition-timing-function ($motions...) {\n// ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier()\n @include prefixer(transition-timing-function, $motions, webkit moz spec);\n}\n\n@mixin transition-delay ($times...) {\n @include prefixer(transition-delay, $times, webkit moz spec);\n}\n",".top-bar {\n float: left;\n width: 100%;\n box-shadow: 0 1px 2px rgba($border-clr, 0.5);\n .primary {\n list-style:none;\n margin:0;\n padding-left:20px;\n margin-top:-4px;\n .item {\n img {\n display:inline-block;\n vertical-align:middle;\n }\n .hoverable {\n padding: 8px 12px;\n height: 100%;\n text-decoration:none;\n color: $text-clr;\n font-size: em(12px);\n border: 1px solid transparent;\n border-radius: 3px;\n vertical-align:bottom;\n border-color: $border-clr;\n span {\n vertical-align:middle;\n }\n &:hover {\n border-color: darken($border-clr,10%);\n }\n }\n &.dropdown.open .dropdown-toggle {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n border-color: $border-clr;\n border-bottom-color: white;\n position: relative;\n z-index:1001;\n }\n .dropdown-menu {\n background: white;\n color: $text-clr;\n font-size: em(16px);\n line-height: 1.5em;\n border: 1px solid $border-clr;\n border-radius: 3px;\n padding: 20px;\n margin-top:-14px;\n border-top-left-radius:0;\n box-shadow: 0 2px 3px $border-clr;\n .dropdown-title {\n font-weight:bold;\n font-size: em(15px);\n }\n .dropdown-content {\n font-size: em(14px);\n line-height: 1.5em;\n color: $text-2-clr;\n }\n }\n }\n\n }\n}\n","@charset \"UTF-8\";\n/*!\nAnimate.css - http://daneden.me/animate\nLicensed under the MIT license - http://opensource.org/licenses/MIT\n\nCopyright (c) 2014 Daniel Eden\n*/\n\n.animated {\n -webkit-animation-duration: 0.3s;\n animation-duration: 0.3s;\n -webkit-animation-fill-mode: both;\n animation-fill-mode: both;\n}\n\n.animated.infinite {\n -webkit-animation-iteration-count: infinite;\n animation-iteration-count: infinite;\n}\n\n.animated.hinge {\n -webkit-animation-duration: 2s;\n animation-duration: 2s;\n}\n\n@-webkit-keyframes bounce {\n 0%, 20%, 53%, 80%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n -webkit-transform: translate3d(0,0,0);\n transform: translate3d(0,0,0);\n }\n\n 40%, 43% {\n -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);\n transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);\n -webkit-transform: translate3d(0, -30px, 0);\n transform: translate3d(0, -30px, 0);\n }\n\n 70% {\n -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);\n transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);\n -webkit-transform: translate3d(0, -15px, 0);\n transform: translate3d(0, -15px, 0);\n }\n\n 90% {\n -webkit-transform: translate3d(0,-4px,0);\n transform: translate3d(0,-4px,0);\n }\n}\n\n@keyframes bounce {\n 0%, 20%, 53%, 80%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n -webkit-transform: translate3d(0,0,0);\n transform: translate3d(0,0,0);\n }\n\n 40%, 43% {\n -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);\n transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);\n -webkit-transform: translate3d(0, -30px, 0);\n transform: translate3d(0, -30px, 0);\n }\n\n 70% {\n -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);\n transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);\n -webkit-transform: translate3d(0, -15px, 0);\n transform: translate3d(0, -15px, 0);\n }\n\n 90% {\n -webkit-transform: translate3d(0,-4px,0);\n transform: translate3d(0,-4px,0);\n }\n}\n\n.bounce {\n -webkit-animation-name: bounce;\n animation-name: bounce;\n -webkit-transform-origin: center bottom;\n -ms-transform-origin: center bottom;\n transform-origin: center bottom;\n}\n\n@-webkit-keyframes flash {\n 0%, 50%, 100% {\n opacity: 1;\n }\n\n 25%, 75% {\n opacity: 0;\n }\n}\n\n@keyframes flash {\n 0%, 50%, 100% {\n opacity: 1;\n }\n\n 25%, 75% {\n opacity: 0;\n }\n}\n\n.flash {\n -webkit-animation-name: flash;\n animation-name: flash;\n}\n\n/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */\n\n@-webkit-keyframes pulse {\n 0% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n\n 50% {\n -webkit-transform: scale3d(1.05, 1.05, 1.05);\n transform: scale3d(1.05, 1.05, 1.05);\n }\n\n 100% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n}\n\n@keyframes pulse {\n 0% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n\n 50% {\n -webkit-transform: scale3d(1.05, 1.05, 1.05);\n transform: scale3d(1.05, 1.05, 1.05);\n }\n\n 100% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n}\n\n.pulse {\n -webkit-animation-name: pulse;\n animation-name: pulse;\n}\n\n@-webkit-keyframes rubberBand {\n 0% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n\n 30% {\n -webkit-transform: scale3d(1.25, 0.75, 1);\n transform: scale3d(1.25, 0.75, 1);\n }\n\n 40% {\n -webkit-transform: scale3d(0.75, 1.25, 1);\n transform: scale3d(0.75, 1.25, 1);\n }\n\n 50% {\n -webkit-transform: scale3d(1.15, 0.85, 1);\n transform: scale3d(1.15, 0.85, 1);\n }\n\n 65% {\n -webkit-transform: scale3d(.95, 1.05, 1);\n transform: scale3d(.95, 1.05, 1);\n }\n\n 75% {\n -webkit-transform: scale3d(1.05, .95, 1);\n transform: scale3d(1.05, .95, 1);\n }\n\n 100% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n}\n\n@keyframes rubberBand {\n 0% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n\n 30% {\n -webkit-transform: scale3d(1.25, 0.75, 1);\n transform: scale3d(1.25, 0.75, 1);\n }\n\n 40% {\n -webkit-transform: scale3d(0.75, 1.25, 1);\n transform: scale3d(0.75, 1.25, 1);\n }\n\n 50% {\n -webkit-transform: scale3d(1.15, 0.85, 1);\n transform: scale3d(1.15, 0.85, 1);\n }\n\n 65% {\n -webkit-transform: scale3d(.95, 1.05, 1);\n transform: scale3d(.95, 1.05, 1);\n }\n\n 75% {\n -webkit-transform: scale3d(1.05, .95, 1);\n transform: scale3d(1.05, .95, 1);\n }\n\n 100% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n}\n\n.rubberBand {\n -webkit-animation-name: rubberBand;\n animation-name: rubberBand;\n}\n\n@-webkit-keyframes shake {\n 0%, 100% {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n }\n\n 10%, 30%, 50%, 70%, 90% {\n -webkit-transform: translate3d(-10px, 0, 0);\n transform: translate3d(-10px, 0, 0);\n }\n\n 20%, 40%, 60%, 80% {\n -webkit-transform: translate3d(10px, 0, 0);\n transform: translate3d(10px, 0, 0);\n }\n}\n\n@keyframes shake {\n 0%, 100% {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n }\n\n 10%, 30%, 50%, 70%, 90% {\n -webkit-transform: translate3d(-10px, 0, 0);\n transform: translate3d(-10px, 0, 0);\n }\n\n 20%, 40%, 60%, 80% {\n -webkit-transform: translate3d(10px, 0, 0);\n transform: translate3d(10px, 0, 0);\n }\n}\n\n.shake {\n -webkit-animation-name: shake;\n animation-name: shake;\n}\n\n@-webkit-keyframes swing {\n 20% {\n -webkit-transform: rotate3d(0, 0, 1, 15deg);\n transform: rotate3d(0, 0, 1, 15deg);\n }\n\n 40% {\n -webkit-transform: rotate3d(0, 0, 1, -10deg);\n transform: rotate3d(0, 0, 1, -10deg);\n }\n\n 60% {\n -webkit-transform: rotate3d(0, 0, 1, 5deg);\n transform: rotate3d(0, 0, 1, 5deg);\n }\n\n 80% {\n -webkit-transform: rotate3d(0, 0, 1, -5deg);\n transform: rotate3d(0, 0, 1, -5deg);\n }\n\n 100% {\n -webkit-transform: rotate3d(0, 0, 1, 0deg);\n transform: rotate3d(0, 0, 1, 0deg);\n }\n}\n\n@keyframes swing {\n 20% {\n -webkit-transform: rotate3d(0, 0, 1, 15deg);\n transform: rotate3d(0, 0, 1, 15deg);\n }\n\n 40% {\n -webkit-transform: rotate3d(0, 0, 1, -10deg);\n transform: rotate3d(0, 0, 1, -10deg);\n }\n\n 60% {\n -webkit-transform: rotate3d(0, 0, 1, 5deg);\n transform: rotate3d(0, 0, 1, 5deg);\n }\n\n 80% {\n -webkit-transform: rotate3d(0, 0, 1, -5deg);\n transform: rotate3d(0, 0, 1, -5deg);\n }\n\n 100% {\n -webkit-transform: rotate3d(0, 0, 1, 0deg);\n transform: rotate3d(0, 0, 1, 0deg);\n }\n}\n\n.swing {\n -webkit-transform-origin: top center;\n -ms-transform-origin: top center;\n transform-origin: top center;\n -webkit-animation-name: swing;\n animation-name: swing;\n}\n\n@-webkit-keyframes tada {\n 0% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n\n 10%, 20% {\n -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);\n transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);\n }\n\n 30%, 50%, 70%, 90% {\n -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);\n transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);\n }\n\n 40%, 60%, 80% {\n -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);\n transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);\n }\n\n 100% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n}\n\n@keyframes tada {\n 0% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n\n 10%, 20% {\n -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);\n transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);\n }\n\n 30%, 50%, 70%, 90% {\n -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);\n transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);\n }\n\n 40%, 60%, 80% {\n -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);\n transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);\n }\n\n 100% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n}\n\n.tada {\n -webkit-animation-name: tada;\n animation-name: tada;\n}\n\n/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */\n\n@-webkit-keyframes wobble {\n 0% {\n -webkit-transform: none;\n transform: none;\n }\n\n 15% {\n -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);\n transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);\n }\n\n 30% {\n -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);\n transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);\n }\n\n 45% {\n -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);\n transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);\n }\n\n 60% {\n -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);\n transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);\n }\n\n 75% {\n -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);\n transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);\n }\n\n 100% {\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes wobble {\n 0% {\n -webkit-transform: none;\n transform: none;\n }\n\n 15% {\n -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);\n transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);\n }\n\n 30% {\n -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);\n transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);\n }\n\n 45% {\n -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);\n transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);\n }\n\n 60% {\n -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);\n transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);\n }\n\n 75% {\n -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);\n transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);\n }\n\n 100% {\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.wobble {\n -webkit-animation-name: wobble;\n animation-name: wobble;\n}\n\n@-webkit-keyframes bounceIn {\n 0%, 20%, 40%, 60%, 80%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n }\n\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.3, .3, .3);\n transform: scale3d(.3, .3, .3);\n }\n\n 20% {\n -webkit-transform: scale3d(1.1, 1.1, 1.1);\n transform: scale3d(1.1, 1.1, 1.1);\n }\n\n 40% {\n -webkit-transform: scale3d(.9, .9, .9);\n transform: scale3d(.9, .9, .9);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: scale3d(1.03, 1.03, 1.03);\n transform: scale3d(1.03, 1.03, 1.03);\n }\n\n 80% {\n -webkit-transform: scale3d(.97, .97, .97);\n transform: scale3d(.97, .97, .97);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n}\n\n@keyframes bounceIn {\n 0%, 20%, 40%, 60%, 80%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n }\n\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.3, .3, .3);\n transform: scale3d(.3, .3, .3);\n }\n\n 20% {\n -webkit-transform: scale3d(1.1, 1.1, 1.1);\n transform: scale3d(1.1, 1.1, 1.1);\n }\n\n 40% {\n -webkit-transform: scale3d(.9, .9, .9);\n transform: scale3d(.9, .9, .9);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: scale3d(1.03, 1.03, 1.03);\n transform: scale3d(1.03, 1.03, 1.03);\n }\n\n 80% {\n -webkit-transform: scale3d(.97, .97, .97);\n transform: scale3d(.97, .97, .97);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n}\n\n.bounceIn {\n -webkit-animation-name: bounceIn;\n animation-name: bounceIn;\n -webkit-animation-duration: .75s;\n animation-duration: .75s;\n}\n\n@-webkit-keyframes bounceInDown {\n 0%, 60%, 75%, 90%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n }\n\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, -3000px, 0);\n transform: translate3d(0, -3000px, 0);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: translate3d(0, 25px, 0);\n transform: translate3d(0, 25px, 0);\n }\n\n 75% {\n -webkit-transform: translate3d(0, -10px, 0);\n transform: translate3d(0, -10px, 0);\n }\n\n 90% {\n -webkit-transform: translate3d(0, 5px, 0);\n transform: translate3d(0, 5px, 0);\n }\n\n 100% {\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes bounceInDown {\n 0%, 60%, 75%, 90%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n }\n\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, -3000px, 0);\n transform: translate3d(0, -3000px, 0);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: translate3d(0, 25px, 0);\n transform: translate3d(0, 25px, 0);\n }\n\n 75% {\n -webkit-transform: translate3d(0, -10px, 0);\n transform: translate3d(0, -10px, 0);\n }\n\n 90% {\n -webkit-transform: translate3d(0, 5px, 0);\n transform: translate3d(0, 5px, 0);\n }\n\n 100% {\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.bounceInDown {\n -webkit-animation-name: bounceInDown;\n animation-name: bounceInDown;\n}\n\n@-webkit-keyframes bounceInLeft {\n 0%, 60%, 75%, 90%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n }\n\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(-3000px, 0, 0);\n transform: translate3d(-3000px, 0, 0);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: translate3d(25px, 0, 0);\n transform: translate3d(25px, 0, 0);\n }\n\n 75% {\n -webkit-transform: translate3d(-10px, 0, 0);\n transform: translate3d(-10px, 0, 0);\n }\n\n 90% {\n -webkit-transform: translate3d(5px, 0, 0);\n transform: translate3d(5px, 0, 0);\n }\n\n 100% {\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes bounceInLeft {\n 0%, 60%, 75%, 90%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n }\n\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(-3000px, 0, 0);\n transform: translate3d(-3000px, 0, 0);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: translate3d(25px, 0, 0);\n transform: translate3d(25px, 0, 0);\n }\n\n 75% {\n -webkit-transform: translate3d(-10px, 0, 0);\n transform: translate3d(-10px, 0, 0);\n }\n\n 90% {\n -webkit-transform: translate3d(5px, 0, 0);\n transform: translate3d(5px, 0, 0);\n }\n\n 100% {\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.bounceInLeft {\n -webkit-animation-name: bounceInLeft;\n animation-name: bounceInLeft;\n}\n\n@-webkit-keyframes bounceInRight {\n 0%, 60%, 75%, 90%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n }\n\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(3000px, 0, 0);\n transform: translate3d(3000px, 0, 0);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: translate3d(-25px, 0, 0);\n transform: translate3d(-25px, 0, 0);\n }\n\n 75% {\n -webkit-transform: translate3d(10px, 0, 0);\n transform: translate3d(10px, 0, 0);\n }\n\n 90% {\n -webkit-transform: translate3d(-5px, 0, 0);\n transform: translate3d(-5px, 0, 0);\n }\n\n 100% {\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes bounceInRight {\n 0%, 60%, 75%, 90%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n }\n\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(3000px, 0, 0);\n transform: translate3d(3000px, 0, 0);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: translate3d(-25px, 0, 0);\n transform: translate3d(-25px, 0, 0);\n }\n\n 75% {\n -webkit-transform: translate3d(10px, 0, 0);\n transform: translate3d(10px, 0, 0);\n }\n\n 90% {\n -webkit-transform: translate3d(-5px, 0, 0);\n transform: translate3d(-5px, 0, 0);\n }\n\n 100% {\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.bounceInRight {\n -webkit-animation-name: bounceInRight;\n animation-name: bounceInRight;\n}\n\n@-webkit-keyframes bounceInUp {\n 0%, 60%, 75%, 90%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n }\n\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, 3000px, 0);\n transform: translate3d(0, 3000px, 0);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: translate3d(0, -20px, 0);\n transform: translate3d(0, -20px, 0);\n }\n\n 75% {\n -webkit-transform: translate3d(0, 10px, 0);\n transform: translate3d(0, 10px, 0);\n }\n\n 90% {\n -webkit-transform: translate3d(0, -5px, 0);\n transform: translate3d(0, -5px, 0);\n }\n\n 100% {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n }\n}\n\n@keyframes bounceInUp {\n 0%, 60%, 75%, 90%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n }\n\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, 3000px, 0);\n transform: translate3d(0, 3000px, 0);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: translate3d(0, -20px, 0);\n transform: translate3d(0, -20px, 0);\n }\n\n 75% {\n -webkit-transform: translate3d(0, 10px, 0);\n transform: translate3d(0, 10px, 0);\n }\n\n 90% {\n -webkit-transform: translate3d(0, -5px, 0);\n transform: translate3d(0, -5px, 0);\n }\n\n 100% {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n }\n}\n\n.bounceInUp {\n -webkit-animation-name: bounceInUp;\n animation-name: bounceInUp;\n}\n\n@-webkit-keyframes bounceOut {\n 20% {\n -webkit-transform: scale3d(.9, .9, .9);\n transform: scale3d(.9, .9, .9);\n }\n\n 50%, 55% {\n opacity: 1;\n -webkit-transform: scale3d(1.1, 1.1, 1.1);\n transform: scale3d(1.1, 1.1, 1.1);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: scale3d(.3, .3, .3);\n transform: scale3d(.3, .3, .3);\n }\n}\n\n@keyframes bounceOut {\n 20% {\n -webkit-transform: scale3d(.9, .9, .9);\n transform: scale3d(.9, .9, .9);\n }\n\n 50%, 55% {\n opacity: 1;\n -webkit-transform: scale3d(1.1, 1.1, 1.1);\n transform: scale3d(1.1, 1.1, 1.1);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: scale3d(.3, .3, .3);\n transform: scale3d(.3, .3, .3);\n }\n}\n\n.bounceOut {\n -webkit-animation-name: bounceOut;\n animation-name: bounceOut;\n -webkit-animation-duration: .75s;\n animation-duration: .75s;\n}\n\n@-webkit-keyframes bounceOutDown {\n 20% {\n -webkit-transform: translate3d(0, 10px, 0);\n transform: translate3d(0, 10px, 0);\n }\n\n 40%, 45% {\n opacity: 1;\n -webkit-transform: translate3d(0, -20px, 0);\n transform: translate3d(0, -20px, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, 2000px, 0);\n transform: translate3d(0, 2000px, 0);\n }\n}\n\n@keyframes bounceOutDown {\n 20% {\n -webkit-transform: translate3d(0, 10px, 0);\n transform: translate3d(0, 10px, 0);\n }\n\n 40%, 45% {\n opacity: 1;\n -webkit-transform: translate3d(0, -20px, 0);\n transform: translate3d(0, -20px, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, 2000px, 0);\n transform: translate3d(0, 2000px, 0);\n }\n}\n\n.bounceOutDown {\n -webkit-animation-name: bounceOutDown;\n animation-name: bounceOutDown;\n}\n\n@-webkit-keyframes bounceOutLeft {\n 20% {\n opacity: 1;\n -webkit-transform: translate3d(20px, 0, 0);\n transform: translate3d(20px, 0, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(-2000px, 0, 0);\n transform: translate3d(-2000px, 0, 0);\n }\n}\n\n@keyframes bounceOutLeft {\n 20% {\n opacity: 1;\n -webkit-transform: translate3d(20px, 0, 0);\n transform: translate3d(20px, 0, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(-2000px, 0, 0);\n transform: translate3d(-2000px, 0, 0);\n }\n}\n\n.bounceOutLeft {\n -webkit-animation-name: bounceOutLeft;\n animation-name: bounceOutLeft;\n}\n\n@-webkit-keyframes bounceOutRight {\n 20% {\n opacity: 1;\n -webkit-transform: translate3d(-20px, 0, 0);\n transform: translate3d(-20px, 0, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(2000px, 0, 0);\n transform: translate3d(2000px, 0, 0);\n }\n}\n\n@keyframes bounceOutRight {\n 20% {\n opacity: 1;\n -webkit-transform: translate3d(-20px, 0, 0);\n transform: translate3d(-20px, 0, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(2000px, 0, 0);\n transform: translate3d(2000px, 0, 0);\n }\n}\n\n.bounceOutRight {\n -webkit-animation-name: bounceOutRight;\n animation-name: bounceOutRight;\n}\n\n@-webkit-keyframes bounceOutUp {\n 20% {\n -webkit-transform: translate3d(0, -10px, 0);\n transform: translate3d(0, -10px, 0);\n }\n\n 40%, 45% {\n opacity: 1;\n -webkit-transform: translate3d(0, 20px, 0);\n transform: translate3d(0, 20px, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, -2000px, 0);\n transform: translate3d(0, -2000px, 0);\n }\n}\n\n@keyframes bounceOutUp {\n 20% {\n -webkit-transform: translate3d(0, -10px, 0);\n transform: translate3d(0, -10px, 0);\n }\n\n 40%, 45% {\n opacity: 1;\n -webkit-transform: translate3d(0, 20px, 0);\n transform: translate3d(0, 20px, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, -2000px, 0);\n transform: translate3d(0, -2000px, 0);\n }\n}\n\n.bounceOutUp {\n -webkit-animation-name: bounceOutUp;\n animation-name: bounceOutUp;\n}\n\n@-webkit-keyframes fadeIn {\n 0% {opacity: 0;}\n 100% {opacity: 1;}\n}\n\n@keyframes fadeIn {\n 0% {opacity: 0;}\n 100% {opacity: 1;}\n}\n\n.fadeIn {\n -webkit-animation-name: fadeIn;\n animation-name: fadeIn;\n}\n\n@-webkit-keyframes fadeInDown {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, -100%, 0);\n transform: translate3d(0, -100%, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes fadeInDown {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, -100%, 0);\n transform: translate3d(0, -100%, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.fadeInDown {\n -webkit-animation-name: fadeInDown;\n animation-name: fadeInDown;\n}\n\n@-webkit-keyframes fadeInDownBig {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, -2000px, 0);\n transform: translate3d(0, -2000px, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes fadeInDownBig {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, -2000px, 0);\n transform: translate3d(0, -2000px, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.fadeInDownBig {\n -webkit-animation-name: fadeInDownBig;\n animation-name: fadeInDownBig;\n}\n\n@-webkit-keyframes fadeInLeft {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes fadeInLeft {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.fadeInLeft {\n -webkit-animation-name: fadeInLeft;\n animation-name: fadeInLeft;\n}\n\n@-webkit-keyframes fadeInLeftBig {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(-2000px, 0, 0);\n transform: translate3d(-2000px, 0, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes fadeInLeftBig {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(-2000px, 0, 0);\n transform: translate3d(-2000px, 0, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.fadeInLeftBig {\n -webkit-animation-name: fadeInLeftBig;\n animation-name: fadeInLeftBig;\n}\n\n@-webkit-keyframes fadeInRight {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes fadeInRight {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.fadeInRight {\n -webkit-animation-name: fadeInRight;\n animation-name: fadeInRight;\n}\n\n@-webkit-keyframes fadeInRightBig {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(2000px, 0, 0);\n transform: translate3d(2000px, 0, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes fadeInRightBig {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(2000px, 0, 0);\n transform: translate3d(2000px, 0, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.fadeInRightBig {\n -webkit-animation-name: fadeInRightBig;\n animation-name: fadeInRightBig;\n}\n\n@-webkit-keyframes fadeInUp {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, 100%, 0);\n transform: translate3d(0, 100%, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes fadeInUp {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, 100%, 0);\n transform: translate3d(0, 100%, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.fadeInUp {\n -webkit-animation-name: fadeInUp;\n animation-name: fadeInUp;\n}\n\n@-webkit-keyframes fadeInUpBig {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, 2000px, 0);\n transform: translate3d(0, 2000px, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes fadeInUpBig {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, 2000px, 0);\n transform: translate3d(0, 2000px, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.fadeInUpBig {\n -webkit-animation-name: fadeInUpBig;\n animation-name: fadeInUpBig;\n}\n\n@-webkit-keyframes fadeOut {\n 0% {opacity: 1;}\n 100% {opacity: 0;}\n}\n\n@keyframes fadeOut {\n 0% {opacity: 1;}\n 100% {opacity: 0;}\n}\n\n.fadeOut {\n -webkit-animation-name: fadeOut;\n animation-name: fadeOut;\n}\n\n@-webkit-keyframes fadeOutDown {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, 100%, 0);\n transform: translate3d(0, 100%, 0);\n }\n}\n\n@keyframes fadeOutDown {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, 100%, 0);\n transform: translate3d(0, 100%, 0);\n }\n}\n\n.fadeOutDown {\n -webkit-animation-name: fadeOutDown;\n animation-name: fadeOutDown;\n}\n\n@-webkit-keyframes fadeOutDownBig {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, 2000px, 0);\n transform: translate3d(0, 2000px, 0);\n }\n}\n\n@keyframes fadeOutDownBig {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, 2000px, 0);\n transform: translate3d(0, 2000px, 0);\n }\n}\n\n.fadeOutDownBig {\n -webkit-animation-name: fadeOutDownBig;\n animation-name: fadeOutDownBig;\n}\n\n@-webkit-keyframes fadeOutLeft {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n@keyframes fadeOutLeft {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n.fadeOutLeft {\n -webkit-animation-name: fadeOutLeft;\n animation-name: fadeOutLeft;\n}\n\n@-webkit-keyframes fadeOutLeftBig {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(-2000px, 0, 0);\n transform: translate3d(-2000px, 0, 0);\n }\n}\n\n@keyframes fadeOutLeftBig {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(-2000px, 0, 0);\n transform: translate3d(-2000px, 0, 0);\n }\n}\n\n.fadeOutLeftBig {\n -webkit-animation-name: fadeOutLeftBig;\n animation-name: fadeOutLeftBig;\n}\n\n@-webkit-keyframes fadeOutRight {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n }\n}\n\n@keyframes fadeOutRight {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n }\n}\n\n.fadeOutRight {\n -webkit-animation-name: fadeOutRight;\n animation-name: fadeOutRight;\n}\n\n@-webkit-keyframes fadeOutRightBig {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(2000px, 0, 0);\n transform: translate3d(2000px, 0, 0);\n }\n}\n\n@keyframes fadeOutRightBig {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(2000px, 0, 0);\n transform: translate3d(2000px, 0, 0);\n }\n}\n\n.fadeOutRightBig {\n -webkit-animation-name: fadeOutRightBig;\n animation-name: fadeOutRightBig;\n}\n\n@-webkit-keyframes fadeOutUp {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, -100%, 0);\n transform: translate3d(0, -100%, 0);\n }\n}\n\n@keyframes fadeOutUp {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, -100%, 0);\n transform: translate3d(0, -100%, 0);\n }\n}\n\n.fadeOutUp {\n -webkit-animation-name: fadeOutUp;\n animation-name: fadeOutUp;\n}\n\n@-webkit-keyframes fadeOutUpBig {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, -2000px, 0);\n transform: translate3d(0, -2000px, 0);\n }\n}\n\n@keyframes fadeOutUpBig {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, -2000px, 0);\n transform: translate3d(0, -2000px, 0);\n }\n}\n\n.fadeOutUpBig {\n -webkit-animation-name: fadeOutUpBig;\n animation-name: fadeOutUpBig;\n}\n\n@-webkit-keyframes flip {\n 0% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);\n transform: perspective(400px) rotate3d(0, 1, 0, -360deg);\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n }\n\n 40% {\n -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);\n transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n }\n\n 50% {\n -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);\n transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n\n 80% {\n -webkit-transform: perspective(400px) scale3d(.95, .95, .95);\n transform: perspective(400px) scale3d(.95, .95, .95);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n\n 100% {\n -webkit-transform: perspective(400px);\n transform: perspective(400px);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n}\n\n@keyframes flip {\n 0% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);\n transform: perspective(400px) rotate3d(0, 1, 0, -360deg);\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n }\n\n 40% {\n -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);\n transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n }\n\n 50% {\n -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);\n transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n\n 80% {\n -webkit-transform: perspective(400px) scale3d(.95, .95, .95);\n transform: perspective(400px) scale3d(.95, .95, .95);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n\n 100% {\n -webkit-transform: perspective(400px);\n transform: perspective(400px);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n}\n\n.animated.flip {\n -webkit-backface-visibility: visible;\n backface-visibility: visible;\n -webkit-animation-name: flip;\n animation-name: flip;\n}\n\n@-webkit-keyframes flipInX {\n 0% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n -webkit-transition-timing-function: ease-in;\n transition-timing-function: ease-in;\n opacity: 0;\n }\n\n 40% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n -webkit-transition-timing-function: ease-in;\n transition-timing-function: ease-in;\n }\n\n 60% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);\n transform: perspective(400px) rotate3d(1, 0, 0, 10deg);\n opacity: 1;\n }\n\n 80% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);\n transform: perspective(400px) rotate3d(1, 0, 0, -5deg);\n }\n\n 100% {\n -webkit-transform: perspective(400px);\n transform: perspective(400px);\n }\n}\n\n@keyframes flipInX {\n 0% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n -webkit-transition-timing-function: ease-in;\n transition-timing-function: ease-in;\n opacity: 0;\n }\n\n 40% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n -webkit-transition-timing-function: ease-in;\n transition-timing-function: ease-in;\n }\n\n 60% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);\n transform: perspective(400px) rotate3d(1, 0, 0, 10deg);\n opacity: 1;\n }\n\n 80% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);\n transform: perspective(400px) rotate3d(1, 0, 0, -5deg);\n }\n\n 100% {\n -webkit-transform: perspective(400px);\n transform: perspective(400px);\n }\n}\n\n.flipInX {\n -webkit-backface-visibility: visible !important;\n backface-visibility: visible !important;\n -webkit-animation-name: flipInX;\n animation-name: flipInX;\n}\n\n@-webkit-keyframes flipInY {\n 0% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\n transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\n -webkit-transition-timing-function: ease-in;\n transition-timing-function: ease-in;\n opacity: 0;\n }\n\n 40% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);\n transform: perspective(400px) rotate3d(0, 1, 0, -20deg);\n -webkit-transition-timing-function: ease-in;\n transition-timing-function: ease-in;\n }\n\n 60% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);\n transform: perspective(400px) rotate3d(0, 1, 0, 10deg);\n opacity: 1;\n }\n\n 80% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);\n transform: perspective(400px) rotate3d(0, 1, 0, -5deg);\n }\n\n 100% {\n -webkit-transform: perspective(400px);\n transform: perspective(400px);\n }\n}\n\n@keyframes flipInY {\n 0% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\n transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\n -webkit-transition-timing-function: ease-in;\n transition-timing-function: ease-in;\n opacity: 0;\n }\n\n 40% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);\n transform: perspective(400px) rotate3d(0, 1, 0, -20deg);\n -webkit-transition-timing-function: ease-in;\n transition-timing-function: ease-in;\n }\n\n 60% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);\n transform: perspective(400px) rotate3d(0, 1, 0, 10deg);\n opacity: 1;\n }\n\n 80% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);\n transform: perspective(400px) rotate3d(0, 1, 0, -5deg);\n }\n\n 100% {\n -webkit-transform: perspective(400px);\n transform: perspective(400px);\n }\n}\n\n.flipInY {\n -webkit-backface-visibility: visible !important;\n backface-visibility: visible !important;\n -webkit-animation-name: flipInY;\n animation-name: flipInY;\n}\n\n@-webkit-keyframes flipOutX {\n 0% {\n -webkit-transform: perspective(400px);\n transform: perspective(400px);\n }\n\n 30% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n opacity: 1;\n }\n\n 100% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n opacity: 0;\n }\n}\n\n@keyframes flipOutX {\n 0% {\n -webkit-transform: perspective(400px);\n transform: perspective(400px);\n }\n\n 30% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n opacity: 1;\n }\n\n 100% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n opacity: 0;\n }\n}\n\n.flipOutX {\n -webkit-animation-name: flipOutX;\n animation-name: flipOutX;\n -webkit-animation-duration: .75s;\n animation-duration: .75s;\n -webkit-backface-visibility: visible !important;\n backface-visibility: visible !important;\n}\n\n@-webkit-keyframes flipOutY {\n 0% {\n -webkit-transform: perspective(400px);\n transform: perspective(400px);\n }\n\n 30% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);\n transform: perspective(400px) rotate3d(0, 1, 0, -15deg);\n opacity: 1;\n }\n\n 100% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\n transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\n opacity: 0;\n }\n}\n\n@keyframes flipOutY {\n 0% {\n -webkit-transform: perspective(400px);\n transform: perspective(400px);\n }\n\n 30% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);\n transform: perspective(400px) rotate3d(0, 1, 0, -15deg);\n opacity: 1;\n }\n\n 100% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\n transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\n opacity: 0;\n }\n}\n\n.flipOutY {\n -webkit-backface-visibility: visible !important;\n backface-visibility: visible !important;\n -webkit-animation-name: flipOutY;\n animation-name: flipOutY;\n -webkit-animation-duration: .75s;\n animation-duration: .75s;\n}\n\n@-webkit-keyframes lightSpeedIn {\n 0% {\n -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);\n transform: translate3d(100%, 0, 0) skewX(-30deg);\n opacity: 0;\n }\n\n 60% {\n -webkit-transform: skewX(20deg);\n transform: skewX(20deg);\n opacity: 1;\n }\n\n 80% {\n -webkit-transform: skewX(-5deg);\n transform: skewX(-5deg);\n opacity: 1;\n }\n\n 100% {\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n@keyframes lightSpeedIn {\n 0% {\n -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);\n transform: translate3d(100%, 0, 0) skewX(-30deg);\n opacity: 0;\n }\n\n 60% {\n -webkit-transform: skewX(20deg);\n transform: skewX(20deg);\n opacity: 1;\n }\n\n 80% {\n -webkit-transform: skewX(-5deg);\n transform: skewX(-5deg);\n opacity: 1;\n }\n\n 100% {\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n.lightSpeedIn {\n -webkit-animation-name: lightSpeedIn;\n animation-name: lightSpeedIn;\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n}\n\n@-webkit-keyframes lightSpeedOut {\n 0% {\n opacity: 1;\n }\n\n 100% {\n -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);\n transform: translate3d(100%, 0, 0) skewX(30deg);\n opacity: 0;\n }\n}\n\n@keyframes lightSpeedOut {\n 0% {\n opacity: 1;\n }\n\n 100% {\n -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);\n transform: translate3d(100%, 0, 0) skewX(30deg);\n opacity: 0;\n }\n}\n\n.lightSpeedOut {\n -webkit-animation-name: lightSpeedOut;\n animation-name: lightSpeedOut;\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n}\n\n@-webkit-keyframes rotateIn {\n 0% {\n -webkit-transform-origin: center;\n transform-origin: center;\n -webkit-transform: rotate3d(0, 0, 1, -200deg);\n transform: rotate3d(0, 0, 1, -200deg);\n opacity: 0;\n }\n\n 100% {\n -webkit-transform-origin: center;\n transform-origin: center;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n@keyframes rotateIn {\n 0% {\n -webkit-transform-origin: center;\n transform-origin: center;\n -webkit-transform: rotate3d(0, 0, 1, -200deg);\n transform: rotate3d(0, 0, 1, -200deg);\n opacity: 0;\n }\n\n 100% {\n -webkit-transform-origin: center;\n transform-origin: center;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n.rotateIn {\n -webkit-animation-name: rotateIn;\n animation-name: rotateIn;\n}\n\n@-webkit-keyframes rotateInDownLeft {\n 0% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: rotate3d(0, 0, 1, -45deg);\n transform: rotate3d(0, 0, 1, -45deg);\n opacity: 0;\n }\n\n 100% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n@keyframes rotateInDownLeft {\n 0% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: rotate3d(0, 0, 1, -45deg);\n transform: rotate3d(0, 0, 1, -45deg);\n opacity: 0;\n }\n\n 100% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n.rotateInDownLeft {\n -webkit-animation-name: rotateInDownLeft;\n animation-name: rotateInDownLeft;\n}\n\n@-webkit-keyframes rotateInDownRight {\n 0% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: rotate3d(0, 0, 1, 45deg);\n transform: rotate3d(0, 0, 1, 45deg);\n opacity: 0;\n }\n\n 100% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n@keyframes rotateInDownRight {\n 0% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: rotate3d(0, 0, 1, 45deg);\n transform: rotate3d(0, 0, 1, 45deg);\n opacity: 0;\n }\n\n 100% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n.rotateInDownRight {\n -webkit-animation-name: rotateInDownRight;\n animation-name: rotateInDownRight;\n}\n\n@-webkit-keyframes rotateInUpLeft {\n 0% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: rotate3d(0, 0, 1, 45deg);\n transform: rotate3d(0, 0, 1, 45deg);\n opacity: 0;\n }\n\n 100% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n@keyframes rotateInUpLeft {\n 0% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: rotate3d(0, 0, 1, 45deg);\n transform: rotate3d(0, 0, 1, 45deg);\n opacity: 0;\n }\n\n 100% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n.rotateInUpLeft {\n -webkit-animation-name: rotateInUpLeft;\n animation-name: rotateInUpLeft;\n}\n\n@-webkit-keyframes rotateInUpRight {\n 0% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: rotate3d(0, 0, 1, -90deg);\n transform: rotate3d(0, 0, 1, -90deg);\n opacity: 0;\n }\n\n 100% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n@keyframes rotateInUpRight {\n 0% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: rotate3d(0, 0, 1, -90deg);\n transform: rotate3d(0, 0, 1, -90deg);\n opacity: 0;\n }\n\n 100% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n.rotateInUpRight {\n -webkit-animation-name: rotateInUpRight;\n animation-name: rotateInUpRight;\n}\n\n@-webkit-keyframes rotateOut {\n 0% {\n -webkit-transform-origin: center;\n transform-origin: center;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform-origin: center;\n transform-origin: center;\n -webkit-transform: rotate3d(0, 0, 1, 200deg);\n transform: rotate3d(0, 0, 1, 200deg);\n opacity: 0;\n }\n}\n\n@keyframes rotateOut {\n 0% {\n -webkit-transform-origin: center;\n transform-origin: center;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform-origin: center;\n transform-origin: center;\n -webkit-transform: rotate3d(0, 0, 1, 200deg);\n transform: rotate3d(0, 0, 1, 200deg);\n opacity: 0;\n }\n}\n\n.rotateOut {\n -webkit-animation-name: rotateOut;\n animation-name: rotateOut;\n}\n\n@-webkit-keyframes rotateOutDownLeft {\n 0% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: rotate3d(0, 0, 1, 45deg);\n transform: rotate3d(0, 0, 1, 45deg);\n opacity: 0;\n }\n}\n\n@keyframes rotateOutDownLeft {\n 0% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: rotate3d(0, 0, 1, 45deg);\n transform: rotate3d(0, 0, 1, 45deg);\n opacity: 0;\n }\n}\n\n.rotateOutDownLeft {\n -webkit-animation-name: rotateOutDownLeft;\n animation-name: rotateOutDownLeft;\n}\n\n@-webkit-keyframes rotateOutDownRight {\n 0% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: rotate3d(0, 0, 1, -45deg);\n transform: rotate3d(0, 0, 1, -45deg);\n opacity: 0;\n }\n}\n\n@keyframes rotateOutDownRight {\n 0% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: rotate3d(0, 0, 1, -45deg);\n transform: rotate3d(0, 0, 1, -45deg);\n opacity: 0;\n }\n}\n\n.rotateOutDownRight {\n -webkit-animation-name: rotateOutDownRight;\n animation-name: rotateOutDownRight;\n}\n\n@-webkit-keyframes rotateOutUpLeft {\n 0% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: rotate3d(0, 0, 1, -45deg);\n transform: rotate3d(0, 0, 1, -45deg);\n opacity: 0;\n }\n}\n\n@keyframes rotateOutUpLeft {\n 0% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: rotate3d(0, 0, 1, -45deg);\n transform: rotate3d(0, 0, 1, -45deg);\n opacity: 0;\n }\n}\n\n.rotateOutUpLeft {\n -webkit-animation-name: rotateOutUpLeft;\n animation-name: rotateOutUpLeft;\n}\n\n@-webkit-keyframes rotateOutUpRight {\n 0% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: rotate3d(0, 0, 1, 90deg);\n transform: rotate3d(0, 0, 1, 90deg);\n opacity: 0;\n }\n}\n\n@keyframes rotateOutUpRight {\n 0% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: rotate3d(0, 0, 1, 90deg);\n transform: rotate3d(0, 0, 1, 90deg);\n opacity: 0;\n }\n}\n\n.rotateOutUpRight {\n -webkit-animation-name: rotateOutUpRight;\n animation-name: rotateOutUpRight;\n}\n\n@-webkit-keyframes hinge {\n 0% {\n -webkit-transform-origin: top left;\n transform-origin: top left;\n -webkit-animation-timing-function: ease-in-out;\n animation-timing-function: ease-in-out;\n }\n\n 20%, 60% {\n -webkit-transform: rotate3d(0, 0, 1, 80deg);\n transform: rotate3d(0, 0, 1, 80deg);\n -webkit-transform-origin: top left;\n transform-origin: top left;\n -webkit-animation-timing-function: ease-in-out;\n animation-timing-function: ease-in-out;\n }\n\n 40%, 80% {\n -webkit-transform: rotate3d(0, 0, 1, 60deg);\n transform: rotate3d(0, 0, 1, 60deg);\n -webkit-transform-origin: top left;\n transform-origin: top left;\n -webkit-animation-timing-function: ease-in-out;\n animation-timing-function: ease-in-out;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform: translate3d(0, 700px, 0);\n transform: translate3d(0, 700px, 0);\n opacity: 0;\n }\n}\n\n@keyframes hinge {\n 0% {\n -webkit-transform-origin: top left;\n transform-origin: top left;\n -webkit-animation-timing-function: ease-in-out;\n animation-timing-function: ease-in-out;\n }\n\n 20%, 60% {\n -webkit-transform: rotate3d(0, 0, 1, 80deg);\n transform: rotate3d(0, 0, 1, 80deg);\n -webkit-transform-origin: top left;\n transform-origin: top left;\n -webkit-animation-timing-function: ease-in-out;\n animation-timing-function: ease-in-out;\n }\n\n 40%, 80% {\n -webkit-transform: rotate3d(0, 0, 1, 60deg);\n transform: rotate3d(0, 0, 1, 60deg);\n -webkit-transform-origin: top left;\n transform-origin: top left;\n -webkit-animation-timing-function: ease-in-out;\n animation-timing-function: ease-in-out;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform: translate3d(0, 700px, 0);\n transform: translate3d(0, 700px, 0);\n opacity: 0;\n }\n}\n\n.hinge {\n -webkit-animation-name: hinge;\n animation-name: hinge;\n}\n\n/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */\n\n@-webkit-keyframes rollIn {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);\n transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes rollIn {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);\n transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.rollIn {\n -webkit-animation-name: rollIn;\n animation-name: rollIn;\n}\n\n/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */\n\n@-webkit-keyframes rollOut {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);\n transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);\n }\n}\n\n@keyframes rollOut {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);\n transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);\n }\n}\n\n.rollOut {\n -webkit-animation-name: rollOut;\n animation-name: rollOut;\n}\n\n@-webkit-keyframes zoomIn {\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.3, .3, .3);\n transform: scale3d(.3, .3, .3);\n }\n\n 50% {\n opacity: 1;\n }\n}\n\n@keyframes zoomIn {\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.3, .3, .3);\n transform: scale3d(.3, .3, .3);\n }\n\n 50% {\n opacity: 1;\n }\n}\n\n.zoomIn {\n -webkit-animation-name: zoomIn;\n animation-name: zoomIn;\n}\n\n@-webkit-keyframes zoomInDown {\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);\n transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);\n transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n@keyframes zoomInDown {\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);\n transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);\n transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n.zoomInDown {\n -webkit-animation-name: zoomInDown;\n animation-name: zoomInDown;\n}\n\n@-webkit-keyframes zoomInLeft {\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);\n transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);\n transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n@keyframes zoomInLeft {\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);\n transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);\n transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n.zoomInLeft {\n -webkit-animation-name: zoomInLeft;\n animation-name: zoomInLeft;\n}\n\n@-webkit-keyframes zoomInRight {\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);\n transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);\n transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n@keyframes zoomInRight {\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);\n transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);\n transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n.zoomInRight {\n -webkit-animation-name: zoomInRight;\n animation-name: zoomInRight;\n}\n\n@-webkit-keyframes zoomInUp {\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);\n transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);\n transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n@keyframes zoomInUp {\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);\n transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);\n transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n.zoomInUp {\n -webkit-animation-name: zoomInUp;\n animation-name: zoomInUp;\n}\n\n@-webkit-keyframes zoomOut {\n 0% {\n opacity: 1;\n }\n\n 50% {\n opacity: 0;\n -webkit-transform: scale3d(.3, .3, .3);\n transform: scale3d(.3, .3, .3);\n }\n\n 100% {\n opacity: 0;\n }\n}\n\n@keyframes zoomOut {\n 0% {\n opacity: 1;\n }\n\n 50% {\n opacity: 0;\n -webkit-transform: scale3d(.3, .3, .3);\n transform: scale3d(.3, .3, .3);\n }\n\n 100% {\n opacity: 0;\n }\n}\n\n.zoomOut {\n -webkit-animation-name: zoomOut;\n animation-name: zoomOut;\n}\n\n@-webkit-keyframes zoomOutDown {\n 40% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);\n transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);\n transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);\n -webkit-transform-origin: center bottom;\n transform-origin: center bottom;\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n@keyframes zoomOutDown {\n 40% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);\n transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);\n transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);\n -webkit-transform-origin: center bottom;\n transform-origin: center bottom;\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n.zoomOutDown {\n -webkit-animation-name: zoomOutDown;\n animation-name: zoomOutDown;\n}\n\n@-webkit-keyframes zoomOutLeft {\n 40% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);\n transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: scale(.1) translate3d(-2000px, 0, 0);\n transform: scale(.1) translate3d(-2000px, 0, 0);\n -webkit-transform-origin: left center;\n transform-origin: left center;\n }\n}\n\n@keyframes zoomOutLeft {\n 40% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);\n transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: scale(.1) translate3d(-2000px, 0, 0);\n transform: scale(.1) translate3d(-2000px, 0, 0);\n -webkit-transform-origin: left center;\n transform-origin: left center;\n }\n}\n\n.zoomOutLeft {\n -webkit-animation-name: zoomOutLeft;\n animation-name: zoomOutLeft;\n}\n\n@-webkit-keyframes zoomOutRight {\n 40% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);\n transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: scale(.1) translate3d(2000px, 0, 0);\n transform: scale(.1) translate3d(2000px, 0, 0);\n -webkit-transform-origin: right center;\n transform-origin: right center;\n }\n}\n\n@keyframes zoomOutRight {\n 40% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);\n transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: scale(.1) translate3d(2000px, 0, 0);\n transform: scale(.1) translate3d(2000px, 0, 0);\n -webkit-transform-origin: right center;\n transform-origin: right center;\n }\n}\n\n.zoomOutRight {\n -webkit-animation-name: zoomOutRight;\n animation-name: zoomOutRight;\n}\n\n@-webkit-keyframes zoomOutUp {\n 40% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);\n transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);\n transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);\n -webkit-transform-origin: center bottom;\n transform-origin: center bottom;\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n@keyframes zoomOutUp {\n 40% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);\n transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);\n transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);\n -webkit-transform-origin: center bottom;\n transform-origin: center bottom;\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n.zoomOutUp {\n -webkit-animation-name: zoomOutUp;\n animation-name: zoomOutUp;\n}\n\n@-webkit-keyframes slideInDown {\n 0% {\n -webkit-transform: translateY(-100%);\n transform: translateY(-100%);\n visibility: visible;\n }\n\n 100% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n }\n}\n\n@keyframes slideInDown {\n 0% {\n -webkit-transform: translateY(-100%);\n transform: translateY(-100%);\n visibility: visible;\n }\n\n 100% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n }\n}\n\n.slideInDown {\n -webkit-animation-name: slideInDown;\n animation-name: slideInDown;\n}\n\n@-webkit-keyframes slideInLeft {\n 0% {\n -webkit-transform: translateX(-100%);\n transform: translateX(-100%);\n visibility: visible;\n }\n\n 100% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n }\n}\n\n@keyframes slideInLeft {\n 0% {\n -webkit-transform: translateX(-100%);\n transform: translateX(-100%);\n visibility: visible;\n }\n\n 100% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n }\n}\n\n.slideInLeft {\n -webkit-animation-name: slideInLeft;\n animation-name: slideInLeft;\n}\n\n@-webkit-keyframes slideInRight {\n 0% {\n -webkit-transform: translateX(100%);\n transform: translateX(100%);\n visibility: visible;\n }\n\n 100% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n }\n}\n\n@keyframes slideInRight {\n 0% {\n -webkit-transform: translateX(100%);\n transform: translateX(100%);\n visibility: visible;\n }\n\n 100% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n }\n}\n\n.slideInRight {\n -webkit-animation-name: slideInRight;\n animation-name: slideInRight;\n}\n\n@-webkit-keyframes slideInUp {\n 0% {\n -webkit-transform: translateY(100%);\n transform: translateY(100%);\n visibility: visible;\n }\n\n 100% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n }\n}\n\n@keyframes slideInUp {\n 0% {\n -webkit-transform: translateY(100%);\n transform: translateY(100%);\n visibility: visible;\n }\n\n 100% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n }\n}\n\n.slideInUp {\n -webkit-animation-name: slideInUp;\n animation-name: slideInUp;\n}\n\n@-webkit-keyframes slideOutDown {\n 0% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n }\n\n 100% {\n visibility: hidden;\n -webkit-transform: translateY(100%);\n transform: translateY(100%);\n }\n}\n\n@keyframes slideOutDown {\n 0% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n }\n\n 100% {\n visibility: hidden;\n -webkit-transform: translateY(100%);\n transform: translateY(100%);\n }\n}\n\n.slideOutDown {\n -webkit-animation-name: slideOutDown;\n animation-name: slideOutDown;\n}\n\n@-webkit-keyframes slideOutLeft {\n 0% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n }\n\n 100% {\n visibility: hidden;\n -webkit-transform: translateX(-100%);\n transform: translateX(-100%);\n }\n}\n\n@keyframes slideOutLeft {\n 0% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n }\n\n 100% {\n visibility: hidden;\n -webkit-transform: translateX(-100%);\n transform: translateX(-100%);\n }\n}\n\n.slideOutLeft {\n -webkit-animation-name: slideOutLeft;\n animation-name: slideOutLeft;\n}\n\n@-webkit-keyframes slideOutRight {\n 0% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n }\n\n 100% {\n visibility: hidden;\n -webkit-transform: translateX(100%);\n transform: translateX(100%);\n }\n}\n\n@keyframes slideOutRight {\n 0% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n }\n\n 100% {\n visibility: hidden;\n -webkit-transform: translateX(100%);\n transform: translateX(100%);\n }\n}\n\n.slideOutRight {\n -webkit-animation-name: slideOutRight;\n animation-name: slideOutRight;\n}\n\n@-webkit-keyframes slideOutUp {\n 0% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n }\n\n 100% {\n visibility: hidden;\n -webkit-transform: translateY(-100%);\n transform: translateY(-100%);\n }\n}\n\n@keyframes slideOutUp {\n 0% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n }\n\n 100% {\n visibility: hidden;\n -webkit-transform: translateY(-100%);\n transform: translateY(-100%);\n }\n}\n\n.slideOutUp {\n -webkit-animation-name: slideOutUp;\n animation-name: slideOutUp;\n}\n",".btn {\n $btn-top-clr: #FAFAFA;\n $btn-bottom-clr: #EFF1F3;\n border:1px solid #E0E3E9;\n display:inline-block;\n border-radius: 2px;\n box-shadow: inset 0 1px 0 white, 0 1px 1px rgba($border-clr,0.5);\n @include linear-gradient($btn-top-clr, $btn-bottom-clr);\n font-size: em(12px);\n font-weight:600;\n color: $text-2-clr;\n text-decoration:none;\n padding: em(8px) em(15px);\n &:hover {\n @include linear-gradient(lighten($btn-top-clr,0.5%), lighten($btn-bottom-clr,1%));\n }\n &.disabled {\n cursor:default;\n opacity: 0.5;\n &:active {\n box-shadow: inset 0 1px 0 white, 0 1px 1px rgba(black, 0.1);\n }\n }\n &.danger {\n color: $red-clr;\n }\n &:focus {\n outline:0;\n }\n &:active {\n box-shadow: none;\n }\n}\n","@mixin linear-gradient($pos, $G1, $G2: null,\n $G3: null, $G4: null,\n $G5: null, $G6: null,\n $G7: null, $G8: null,\n $G9: null, $G10: null,\n $fallback: null) {\n // Detect what type of value exists in $pos\n $pos-type: type-of(nth($pos, 1));\n $pos-spec: null;\n $pos-degree: null;\n\n // If $pos is missing from mixin, reassign vars and add default position\n @if ($pos-type == color) or (nth($pos, 1) == \"transparent\") {\n $G10: $G9; $G9: $G8; $G8: $G7; $G7: $G6; $G6: $G5;\n $G5: $G4; $G4: $G3; $G3: $G2; $G2: $G1; $G1: $pos;\n $pos: null;\n }\n\n @if $pos {\n $positions: _linear-positions-parser($pos);\n $pos-degree: nth($positions, 1);\n $pos-spec: nth($positions, 2);\n }\n\n $full: $G1, $G2, $G3, $G4, $G5, $G6, $G7, $G8, $G9, $G10;\n\n // Set $G1 as the default fallback color\n $fallback-color: nth($G1, 1);\n\n // If $fallback is a color use that color as the fallback color\n @if (type-of($fallback) == color) or ($fallback == \"transparent\") {\n $fallback-color: $fallback;\n }\n\n background-color: $fallback-color;\n background-image: -webkit-linear-gradient($pos-degree $full); // Safari 5.1+, Chrome\n background-image: unquote(\"linear-gradient(#{$pos-spec}#{$full})\");\n}\n","form {\n margin:0;\n &.ng-submitted {\n .ng-invalid {\n border-color: $pink-clr !important;\n }\n }\n}\n\n.form-container {\n width:100%;\n}\n\n.form-row {\n @include row();\n margin-bottom:10px;\n @include user-select(none);\n}\n\n.form-col {\n @include span-columns(6);\n &.padded {\n &:first-child {\n padding: 0 20px 0 0;\n }\n &:last-child {\n padding: 0 0 0 20px;\n }\n }\n}\n\n.form-group {\n & > label {\n font-size:em(12px);\n color: $text-3-clr;\n display:inline-block;\n line-height:em(30px);\n\n }\n .form-error {\n font-size: em(12px);\n color: $red-clr;\n float: right;\n img {\n vertical-align:bottom;\n margin-right: 3px;\n }\n }\n &.optional > label:after {\n content: \" (optional)\";\n }\n &.error {\n input.form-control, textarea.form-control {\n\n border-color: $pink-clr;\n background: rgba($pink-clr,0.02);\n }\n }\n input.form-control, textarea.form-control {\n @include form-input;\n }\n .form-btn {\n padding: em(12px) em(15px);\n }\n input.form-control {\n vertical-align:middle;\n padding: em(5px) em(10px);\n }\n\n textarea.form-control {\n min-height: 135px;\n font-size: em(18px);\n padding: em(8px) em(10px);\n }\n\n}\n\n\n.form-submit-message {\n display:inline-block;\n margin-left: em(5px);\n font-size: em(12px);\n &.error {\n color: $red-clr;\n }\n img {\n vertical-align:middle;\n margin-right: em(5px);\n }\n}\n","/// Designates the element as a row of columns in the grid layout. It clears the floats on the element and sets its display property. Rows can't be nested, but there can be more than one row element—with different display properties—per layout.\n///\n/// @param {String} $display (default)\n/// Sets the display property of the element and the display context that will be used by its children. Can be `block` or `table`.\n///\n/// @param {String} $direction ($default-layout-direction)\n/// Sets the layout direction. Can be `LTR` (left-to-right) or `RTL` (right-to-left).\n///\n/// @example scss - Usage\n/// .element {\n/// @include row();\n/// }\n///\n/// @example css - CSS Output\n/// .element {\n/// *zoom: 1;\n/// display: block;\n/// }\n///\n/// .element:before, .element:after {\n/// content: \" \";\n/// display: table;\n/// }\n///\n/// .element:after {\n/// clear: both;\n/// }\n\n@mixin row($display: default, $direction: $default-layout-direction) {\n @if $direction != $default-layout-direction {\n @include -neat-warn(\"The $direction argument will be deprecated in future versions in favor of the direction(){...} mixin.\");\n }\n\n $layout-direction: $direction !global;\n\n @if $display != default {\n @include -neat-warn(\"The $display argument will be deprecated in future versions in favor of the display(){...} mixin.\");\n }\n\n @if $display == table {\n display: table;\n @include fill-parent;\n table-layout: fixed;\n $container-display-table: true !global;\n }\n\n @else {\n @include clearfix;\n display: block;\n $container-display-table: false !global;\n }\n}\n\n","// Modern micro clearfix provides an easy way to contain floats without adding additional markup.\n//\n// Example usage:\n//\n// // Contain all floats within .wrapper\n// .wrapper {\n// @include clearfix;\n// .content,\n// .sidebar {\n// float : left;\n// }\n// }\n\n@mixin clearfix {\n &:after {\n content:\"\";\n display:table;\n clear:both;\n }\n}\n\n// Acknowledgements\n// Beat *that* clearfix: [Thierry Koblentz](http://www.css-101.org/articles/clearfix/latest-new-clearfix-so-far.php)\n","/// Specifies the number of columns an element should span. If the selector is nested the number of columns of its parent element should be passed as an argument as well.\n///\n/// @param {List} $span\n/// A list containing `$columns`, the unitless number of columns the element spans (required), and `$container-columns`, the number of columns the parent element spans (optional).\n///\n/// If only one value is passed, it is assumed that it's `$columns` and that that `$container-columns` is equal to `$grid-columns`, the total number of columns in the grid.\n///\n/// The values can be separated with any string such as `of`, `/`, etc.\n///\n/// @param {String} $display (block)\n/// Sets the display property of the element. By default it sets the display propert of the element to `block`.\n///\n/// If passed `block-collapse`, it also removes the margin gutter by adding it to the element width.\n///\n/// If passed `table`, it sets the display property to `table-cell` and calculates the width of the element without taking gutters into consideration. The result does not align with the block-based grid.\n///\n/// @example scss - Usage\n/// .element {\n/// @include span-columns(6);\n///\n/// .nested-element {\n/// @include span-columns(2 of 6);\n/// }\n/// }\n///\n/// @example css - CSS Output\n/// .element {\n/// display: block;\n/// float: left;\n/// margin-right: 2.35765%;\n/// width: 48.82117%;\n/// }\n///\n/// .element:last-child {\n/// margin-right: 0;\n/// }\n///\n/// .element .nested-element {\n/// display: block;\n/// float: left;\n/// margin-right: 4.82916%;\n/// width: 30.11389%;\n/// }\n///\n/// .element .nested-element:last-child {\n/// margin-right: 0;\n/// }\n\n@mixin span-columns($span: $columns of $container-columns, $display: block) {\n $columns: nth($span, 1);\n $container-columns: container-span($span);\n\n $parent-columns: get-parent-columns($container-columns) !global;\n\n $direction: get-direction($layout-direction, $default-layout-direction);\n $opposite-direction: get-opposite-direction($direction);\n\n $display-table: is-display-table($container-display-table, $display);\n\n @if $display-table {\n display: table-cell;\n width: percentage($columns / $container-columns);\n } @else {\n float: #{$opposite-direction};\n\n @if $display != no-display {\n display: block;\n }\n\n @if $display == collapse {\n @include -neat-warn(\"The 'collapse' argument will be deprecated. Use 'block-collapse' instead.\");\n }\n\n @if $display == collapse or $display == block-collapse {\n width: flex-grid($columns, $container-columns) + flex-gutter($container-columns);\n\n &:last-child {\n width: flex-grid($columns, $container-columns);\n }\n\n } @else {\n margin-#{$direction}: flex-gutter($container-columns);\n width: flex-grid($columns, $container-columns);\n\n &:last-child {\n margin-#{$direction}: 0;\n }\n }\n }\n}\n","@mixin form-input {\n border-radius: 2px;\n border: 1px solid $border-clr;\n font-size:em(18px);\n @include transition(border-color 0.1s ease-in-out);\n &:focus {\n border-color: $blue-clr;\n outline:none;\n background: white;\n }\n &.extend {\n width:100%;\n }\n @include placeholder {\n color: rgba($text-3-clr,0.7);\n }\n}\n","@mixin placeholder {\n $placeholders: \":-webkit-input\" \":-moz\" \"-moz\" \"-ms-input\";\n @each $placeholder in $placeholders {\n &:#{$placeholder}-placeholder {\n @content;\n }\n }\n}\n","$box-v-pad: 20px;\n$box-h-pad: 25px;\n\n.box {\n background: white;\n border: 1px solid $border-clr;\n border-radius: 3px;\n margin: 0 auto 20px auto;\n max-width: 800px;\n min-width:700px;\n overflow:hidden;\n padding: $box-v-pad $box-h-pad;\n &.box-x-scroll {\n overflow-x: scroll;\n }\n &.invisible {\n background: transparent;\n border:0;\n padding: 0;\n margin-bottom:40px;\n }\n &.highlight {\n border-color: $blue-clr;\n box-shadow: 0 0 3px rgba($blue-clr, 0.5);\n }\n}\n\n.box-title {\n font-size: 24px;\n font-weight: bold;\n color: $text-clr;\n margin-bottom:20px;\n}\n\n.box-description {\n font-size: 14px;\n color: $text-2-clr;\n padding-bottom: 20px;\n border-bottom: 1px solid $border-clr;\n margin-top: -20px;\n margin-bottom: 20px;\n a {\n color: $text-clr;\n text-decoration:none;\n &:hover {\n border: 1px solid $border-clr;\n }\n }\n}\n.box-section {\n padding-top: 20px;\n &:first-child {\n border:0;\n }\n @include row;\n .section-details {\n @include span-columns(3);\n .section-title {\n font-size: em(14px);\n color: $text-2-clr;\n margin-bottom:20px;\n }\n }\n .section-main {\n @include span-columns(9);\n\n }\n}\n\n.box-message {\n text-align:center;\n padding:40px;\n max-width:500px;\n margin:0 auto;\n .main-image {\n margin-bottom: 20px;\n }\n .title {\n font-weight: bold;\n font-size: em(24px);\n color: $text-clr;\n margin-bottom: em(10px);\n }\n .content {\n font-size: em(14px);\n color: $text-2-clr;\n margin-bottom: 20px;\n }\n .mini-divider:after {\n content: \"\";\n display:inline-block;\n width:200px;\n height:1px;\n background: $border-clr;\n margin:20px auto;\n\n }\n}\n\n.box-side-sticky {\n padding: $box-v-pad $box-h-pad;\n box-sizing: content-box;\n width: 100%;\n margin-left: $box-h-pad * -1;\n\n}\n\n.box-bottom-sticky {\n padding: $box-v-pad $box-h-pad;\n box-sizing: content-box;\n width: 100%;\n margin-top:20px;\n border-bottom-left-radius: 3px;\n border-bottom-right-radius: 3px;\n border-top: 1px solid $border-clr;\n margin-bottom: $box-v-pad * -1;\n margin-left: $box-h-pad * -1;\n}\n\n.box-controls {\n text-align: right;\n box-shadow: inset 0 1px 0 white;\n background: lighten($background-clr, 1%);\n margin-top: $box-v-pad;\n padding: 15px $box-h-pad;\n}\n\n.box-steps {\n @include display(flex);\n width:100%;\n list-style-position:inside;\n padding:0;\n margin:40px 0 10px 0;\n .step {\n @include flex(1);\n color: $text-2-clr;\n font-size: em(14px);\n margin: 0 0 0 0;\n padding: 0 0 10px 10px;\n border-bottom:2px solid $border-clr;\n position:relative;\n @include transition(all 0.2s ease-in-out);\n &:first-child {\n padding-left : 0;\n }\n &:after {\n content: \"\";\n position:absolute;\n bottom:-2px;\n left:0;\n height: 2px;\n width:0;\n background: $green-clr;\n @include transition(all 0.2s ease-in-out);\n }\n &.active {\n color: $text-clr;\n font-weight:bold;\n }\n &.complete:after {\n width:100%;\n }\n }\n}\n","// CSS3 Flexible Box Model and property defaults\n\n// Custom shorthand notation for flexbox\n@mixin box($orient: inline-axis, $pack: start, $align: stretch) {\n @include display-box;\n @include box-orient($orient);\n @include box-pack($pack);\n @include box-align($align);\n}\n\n@mixin display-box {\n display: -webkit-box;\n display: -moz-box;\n display: -ms-flexbox; // IE 10\n display: box;\n}\n\n@mixin box-orient($orient: inline-axis) {\n// horizontal|vertical|inline-axis|block-axis|inherit\n @include prefixer(box-orient, $orient, webkit moz spec);\n}\n\n@mixin box-pack($pack: start) {\n// start|end|center|justify\n @include prefixer(box-pack, $pack, webkit moz spec);\n -ms-flex-pack: $pack; // IE 10\n}\n\n@mixin box-align($align: stretch) {\n// start|end|center|baseline|stretch\n @include prefixer(box-align, $align, webkit moz spec);\n -ms-flex-align: $align; // IE 10\n}\n\n@mixin box-direction($direction: normal) {\n// normal|reverse|inherit\n @include prefixer(box-direction, $direction, webkit moz spec);\n -ms-flex-direction: $direction; // IE 10\n}\n\n@mixin box-lines($lines: single) {\n// single|multiple\n @include prefixer(box-lines, $lines, webkit moz spec);\n}\n\n@mixin box-ordinal-group($int: 1) {\n @include prefixer(box-ordinal-group, $int, webkit moz spec);\n -ms-flex-order: $int; // IE 10\n}\n\n@mixin box-flex($value: 0.0) {\n @include prefixer(box-flex, $value, webkit moz spec);\n -ms-flex: $value; // IE 10\n}\n\n@mixin box-flex-group($int: 1) {\n @include prefixer(box-flex-group, $int, webkit moz spec);\n}\n\n// CSS3 Flexible Box Model and property defaults\n// Unified attributes for 2009, 2011, and 2012 flavours.\n\n// 2009 - display (box | inline-box)\n// 2011 - display (flexbox | inline-flexbox)\n// 2012 - display (flex | inline-flex)\n@mixin display($value) {\n// flex | inline-flex\n @if $value == \"flex\" {\n // 2009\n display: -webkit-box;\n display: -moz-box;\n display: box;\n\n // 2012\n display: -webkit-flex;\n display: -moz-flex;\n display: -ms-flexbox; // 2011 (IE 10)\n display: flex;\n }\n\n @elseif $value == \"inline-flex\" {\n display: -webkit-inline-box;\n display: -moz-inline-box;\n display: inline-box;\n\n display: -webkit-inline-flex;\n display: -moz-inline-flex;\n display: -ms-inline-flexbox;\n display: inline-flex;\n }\n\n @else {\n display: $value;\n }\n}\n\n// 2009 - box-flex (integer)\n// 2011 - flex (decimal | width decimal)\n// 2012 - flex (integer integer width)\n@mixin flex($value) {\n\n // Grab flex-grow for older browsers.\n $flex-grow: nth($value, 1);\n\n // 2009\n @include prefixer(box-flex, $flex-grow, webkit moz spec);\n\n // 2011 (IE 10), 2012\n @include prefixer(flex, $value, webkit moz ms spec);\n}\n\n// 2009 - box-orient ( horizontal | vertical | inline-axis | block-axis)\n// - box-direction (normal | reverse) \n// 2011 - flex-direction (row | row-reverse | column | column-reverse)\n// 2012 - flex-direction (row | row-reverse | column | column-reverse)\n@mixin flex-direction($value: row) {\n\n // Alt values.\n $value-2009: $value;\n $value-2011: $value;\n $direction: \"normal\";\n\n @if $value == row {\n $value-2009: horizontal;\n }\n\n @elseif $value == \"row-reverse\" {\n $value-2009: horizontal;\n $direction: reverse;\n }\n\n @elseif $value == column {\n $value-2009: vertical;\n }\n\n @elseif $value == \"column-reverse\" {\n $value-2009: vertical;\n $direction: reverse;\n }\n\n // 2009\n @include prefixer(box-orient, $value-2009, webkit moz spec);\n @if $direction == \"reverse\" {\n @include prefixer(box-direction, $direction, webkit moz spec);\n }\n\n // 2012\n @include prefixer(flex-direction, $value, webkit moz spec);\n\n // 2011 (IE 10)\n -ms-flex-direction: $value;\n}\n\n// 2009 - box-lines (single | multiple)\n// 2011 - flex-wrap (nowrap | wrap | wrap-reverse)\n// 2012 - flex-wrap (nowrap | wrap | wrap-reverse)\n@mixin flex-wrap($value: nowrap) {\n\n // Alt values.\n $alt-value: $value;\n @if $value == nowrap {\n $alt-value: single;\n }\n\n @elseif $value == wrap {\n $alt-value: multiple;\n }\n\n @elseif $value == \"wrap-reverse\" {\n $alt-value: multiple;\n }\n\n @include prefixer(box-lines, $alt-value, webkit moz spec);\n @include prefixer(flex-wrap, $value, webkit moz ms spec);\n}\n\n// 2009 - TODO: parse values into flex-direction/flex-wrap\n// 2011 - TODO: parse values into flex-direction/flex-wrap\n// 2012 - flex-flow (flex-direction || flex-wrap)\n@mixin flex-flow($value) {\n @include prefixer(flex-flow, $value, webkit moz spec);\n}\n\n// 2009 - box-ordinal-group (integer)\n// 2011 - flex-order (integer)\n// 2012 - order (integer)\n@mixin order($int: 0) {\n // 2009\n @include prefixer(box-ordinal-group, $int, webkit moz spec);\n\n // 2012\n @include prefixer(order, $int, webkit moz spec);\n\n // 2011 (IE 10)\n -ms-flex-order: $int;\n}\n\n// 2012 - flex-grow (number)\n@mixin flex-grow($number: 0) {\n @include prefixer(flex-grow, $number, webkit moz spec);\n -ms-flex-positive: $number;\n}\n\n// 2012 - flex-shrink (number)\n@mixin flex-shrink($number: 1) {\n @include prefixer(flex-shrink, $number, webkit moz spec);\n -ms-flex-negative: $number;\n}\n\n// 2012 - flex-basis (number)\n@mixin flex-basis($width: auto) {\n @include prefixer(flex-basis, $width, webkit moz spec);\n -ms-flex-preferred-size: $width;\n}\n\n// 2009 - box-pack (start | end | center | justify)\n// 2011 - flex-pack (start | end | center | justify)\n// 2012 - justify-content (flex-start | flex-end | center | space-between | space-around)\n@mixin justify-content ($value: flex-start) {\n\n // Alt values.\n $alt-value: $value;\n @if $value == \"flex-start\" {\n $alt-value: start;\n }\n\n @elseif $value == \"flex-end\" {\n $alt-value: end;\n }\n\n @elseif $value == \"space-between\" {\n $alt-value: justify;\n }\n\n @elseif $value == \"space-around\" {\n $alt-value: center;\n }\n\n // 2009\n @include prefixer(box-pack, $alt-value, webkit moz spec);\n\n // 2012\n @include prefixer(justify-content, $value, webkit moz ms o spec);\n\n // 2011 (IE 10)\n -ms-flex-pack: $alt-value;\n}\n\n// 2009 - box-align (start | end | center | baseline | stretch)\n// 2011 - flex-align (start | end | center | baseline | stretch)\n// 2012 - align-items (flex-start | flex-end | center | baseline | stretch)\n@mixin align-items($value: stretch) {\n\n $alt-value: $value;\n\n @if $value == \"flex-start\" {\n $alt-value: start;\n } \n\n @elseif $value == \"flex-end\" {\n $alt-value: end;\n }\n\n // 2009\n @include prefixer(box-align, $alt-value, webkit moz spec);\n\n // 2012\n @include prefixer(align-items, $value, webkit moz ms o spec);\n \n // 2011 (IE 10)\n -ms-flex-align: $alt-value; \n}\n\n// 2011 - flex-item-align (auto | start | end | center | baseline | stretch)\n// 2012 - align-self (auto | flex-start | flex-end | center | baseline | stretch)\n@mixin align-self($value: auto) {\n\n $value-2011: $value;\n @if $value == \"flex-start\" {\n $value-2011: start;\n } \n\n @elseif $value == \"flex-end\" {\n $value-2011: end;\n }\n\n // 2012\n @include prefixer(align-self, $value, webkit moz spec);\n\n // 2011 (IE 10)\n -ms-flex-item-align: $value-2011;\n}\n\n// 2011 - flex-line-pack (start | end | center | justify | distribute | stretch)\n// 2012 - align-content (flex-start | flex-end | center | space-between | space-around | stretch)\n@mixin align-content($value: stretch) {\n\n $value-2011: $value;\n @if $value == \"flex-start\" {\n $value-2011: start;\n } \n\n @elseif $value == \"flex-end\" {\n $value-2011: end;\n }\n\n @elseif $value == \"space-between\" {\n $value-2011: justify;\n }\n\n @elseif $value == \"space-around\" {\n $value-2011: distribute;\n }\n\n // 2012\n @include prefixer(align-content, $value, webkit moz spec);\n\n // 2011 (IE 10)\n -ms-flex-line-pack: $value-2011;\n}\n\n",".ng-submitted .ng-invalid > .date-picker {\n border-color: $pink-clr;\n}\n\n.date-picker {\n border: 1px solid $border-clr;\n border-radius: 2px;\n @include transition(border-color 0.2s ease-in-out);\n .wrapper {\n padding:20px;\n }\n .date-picker-head {\n display:table;\n width:100%;\n margin-bottom:30px;\n text-align:center;\n .title {\n display:inline-block;\n width:200px;\n margin: 0 20px;\n font-weight:bold;\n font-size: em(18px);\n }\n .arrow {\n text-decoration:none;\n color: $text-3-clr;\n position:relative;\n border: 1px solid $border-clr;\n display:inline-block;\n width: 25px;\n border-radius: 2px;\n font-size: 12px;\n line-height:25px;\n text-align:center;\n float:left;\n box-shadow: 0 1px 1px rgba($border-clr,0.5);\n margin:0 20px;\n &:last-child {\n float:right;\n }\n &:hover {\n color: $text-clr;\n }\n &:active {\n box-shadow:none;\n }\n\n }\n }\n .dow {\n font-size:0;\n padding-bottom: 10px;\n border-bottom: 2px solid $border-clr;\n margin-bottom: 10px;\n .day {\n text-transform:uppercase;\n font-size: 14px;\n display:inline-block;\n width: (100% / 7);\n text-align:center;\n color: $pink-clr;\n }\n }\n .values {\n .value {\n display:inline-block;\n width: (100% / 7);\n text-align:center;\n font-size: em(14px);\n line-height:em(55px);\n position:relative;\n font-weight: bold;\n &.today {\n color:#818176;\n &:after {\n opacity:1;\n background: rgba(yellow, 0.1);\n }\n }\n &.outside {\n color: $text-3-clr;\n font-weight:normal;\n }\n &:after {\n content: \" \";\n cursor:pointer;\n opacity: 0;\n position:absolute;\n $size: em(42px);\n width:$size;\n height:$size;\n margin-left:$size * -0.5;\n margin-top:$size * -0.5;\n left:50%;\n top:50%;\n border-radius: 2px;\n }\n &:hover {\n &:after {\n opacity:1;\n background: rgba($border-clr,0.4);\n }\n cursor: pointer;\n }\n &.active {\n background:white;\n color: $green-clr;\n &:after {\n opacity:1;\n background: rgba($green-clr,0.1);\n }\n }\n }\n }\n}\n\n.daticon-list {\n margin:0;\n margin-left:-10px;\n list-style:none;\n padding:5px;\n text-align:left;\n li {\n display:inline-block;\n margin: 10px 10px 0 0;\n }\n}\n\n.daticon {\n box-shadow: 0 0 0 1px rgba($border-clr,0.5);\n border-radius: 3px;\n display:inline-block;\n padding:em(8px) em(16px);\n text-align:center;\n position:relative;\n cursor:default;\n background:white;\n .dow {\n font-size: em(6px);\n margin-top:em(-24px);\n background:white;\n color: $text-3-clr;\n margin-bottom: em(4px);\n font-weight:normal;\n text-transform: uppercase;\n }\n .day {\n font-size: em(20px);\n font-weight:normal;\n color: $pink-clr;\n line-height: em(16px);\n }\n .month {\n font-weight: 600;\n font-size: em(12px);\n text-transform: uppercase;\n }\n .delete {\n text-align:center;\n border:0;\n $size: 18px;\n width: em($size);\n height: em($size);\n position:absolute;\n top: $size * -0.4;\n right: $size * -0.4;\n border-radius:100%;\n display:inline-block;\n background: rgba($border-clr, 0.5) url(../images/close@2x.png) no-repeat center center;\n background-size: 7px 8px;\n cursor:pointer;\n opacity:0;\n &:hover {\n background-color: rgba($border-clr, 0.8)\n }\n }\n .count {\n text-align:center;\n border:0;\n $size: 18px;\n width: $size;\n height: $size;\n position:absolute;\n top: $size * -0.4;\n right: $size * -0.4;\n border-radius:100%;\n font-weight:bold;\n display:inline-block;\n background: darken($border-clr, 10%);\n color:white;\n font-size: 9px;\n line-height: $size;\n @include transition(background-color 0.2s ease-in-out);\n &.top {\n background: $orangered-clr;\n }\n\n }\n &:hover {\n .delete {\n opacity: 1;\n }\n }\n}\n",".rl-modal {\n background:white;\n position: fixed;\n top: 50%;\n left: 50%;\n width: 50%;\n max-width: 400px;\n display:inline-block;\n min-width: 200px;\n height: auto;\n z-index: 2000;\n overflow:hidden;\n border-radius: 5px;\n box-shadow: 0 0 0 1px $border-clr, 0 0 0 5px rgba($border-clr,0.5);\n @include transform(translateX(-50%) translateY(-50%));\n .rl-modal-message {\n padding: 0 20px 20px 20px;\n font-size: em(12px);\n color: $text-2-clr;\n }\n .rl-modal-title {\n padding:20px 20px 0 20px;\n font-size: em(18px);\n font-weight: bold;\n }\n .rl-modal-actions {\n border-top:1px solid $border-clr;\n box-shadow: inset 0 1px 0 white;\n background: lighten($background-clr,1%);\n text-align:right;\n padding: em(10px) em(20px);\n }\n}\n\n.rl-modal-overlay {\n position:fixed;\n z-index: 1999;\n top:0;\n left:0;\n width:100%;\n height:100%;\n background:rgba(black,0.1);\n\n}\n","$actions-col-width : 160px;\n$date-col-width: 70px;\n$name-col-width: 235px;\n\n.poll {\n margin-top:20px;\n min-width: 100%;\n display:block;\n border:1px solid rgba($border-clr, 0.5);\n border-radius: 3px;\n overflow-x:scroll;\n}\n\n.poll-header {\n display:table;\n min-width: 100%;\n padding-top:20px;\n overflow:hidden;\n border-bottom:1px solid $border-clr;\n box-shadow: 0 3px 0 rgba($border-clr, 0.3);\n .header {\n display:table-cell;\n vertical-align:bottom;\n padding-bottom:10px;\n &.date-header {\n text-align:center;\n min-width: $date-col-width;\n width: $date-col-width;\n }\n &.actions-header {\n min-width: $actions-col-width;\n }\n &.participants-header {\n font-weight: bold;\n min-width: $name-col-width;\n width: $name-col-width;\n padding-left: 20px;\n }\n }\n}\n\n.poll-body {\n min-width:100%;\n overflow:hidden;\n display:table;\n .poll-example {\n position:relative;\n &.hidden {\n display:none;\n }\n .overlay {\n position:absolute;\n top:0;\n left:0;\n width:100%;\n height: 100%;\n border-bottom:1px solid $border-clr;\n background: rgba(white, 0.75);\n text-align: center;\n .overlay-text {\n position:absolute;\n top:50%;\n left:50%;\n font-size: em(18px);\n font-weight: bold;\n color: $text-3-clr;\n background: rgba(white, 0.9);\n padding: 10px;\n @include transform(translateX(-50%) translateY(-50%));\n }\n }\n }\n .poll-entry.highlight {\n background: lighten($border-clr,10%);\n }\n .poll-entry {\n display:table;\n min-width: 100%;\n border-bottom: 1px solid rgba($border-clr,0.5);\n &:last-child {\n border-bottom:0;\n }\n .hover {\n visibility:hidden;\n }\n &:hover {\n .hover {\n visibility: visible;\n }\n }\n .cell {\n padding: em(10px);\n display:table-cell;\n height: 50px;\n vertical-align:middle;\n &.name-cell {\n min-width: $name-col-width;\n width: $name-col-width;\n font-size: em(14px);\n padding-left:20px;\n .avatar {\n display:inline-block;\n padding: 5px;\n margin-right: 5px;\n border-radius: 2px;\n background: #D0D5DF;\n @for $i from 0 to length($color-collection) {\n &.style-#{$i + 1} {\n background: nth($color-collection, $i+1);\n }\n }\n }\n .name {\n padding: 5px 3px;\n margin-left: 2px;\n border-radius: 2px;\n &.editable:hover {\n background: $background-clr;\n cursor: pointer;\n }\n }\n .form-control {\n border:1px solid $border-clr;\n padding: em(5px);\n border-radius: 2px;\n color: $text-clr;\n &:focus {\n outline:0;\n border-color: $blue-clr;\n box-shadow: 0 0 3px rgba($blue-clr, 0.5);\n }\n @include placeholder {\n color: rgba($text-2-clr,0.7);\n }\n }\n }\n &.action-cell {\n min-width: $actions-col-width;\n }\n &.vote-cell {\n min-width: $date-col-width;\n width: $date-col-width;\n text-align:center;\n position: relative;\n .overlay {\n position: absolute;\n top:0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 10;\n &:hover {\n background: rgba($border-clr, 0.2);\n cursor: pointer;\n }\n }\n }\n }\n &.ng-submitted {\n .ng-invalid {\n border-color: $pink-clr !important;\n }\n }\n }\n}\n","$tag-font-size: 14px;\n\ntags-input {\n display: block;\n}\ntags-input *, tags-input *:before, tags-input *:after {\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\ntags-input .host {\n position: relative;\n margin-top: 5px;\n margin-bottom: 5px;\n &:focus {\n outline:0;\n }\n}\ntags-input .host:active {\n outline: none;\n}\n\ntags-input .tags {\n padding: 4px;\n overflow: hidden;\n word-wrap: break-word;\n cursor: text;\n border-radius: 3px;\n background-color: white;\n border: 1px solid $border-clr;\n @include transition(border-color 0.1s ease-in-out);\n}\ntags-input .tags.focused {\n outline: none;\n}\n\ntags-input .tags .tag-list {\n margin: 0;\n padding: 0;\n list-style-type: none;\n}\ntags-input .tags .tag-item {\n margin: 2px;\n padding: 0 8px;\n display: inline-block;\n float: left;\n font-size: em($tag-font-size);\n height: 26px;\n line-height: 25px;\n border-radius: 1px;\n background:#E5EBF2;\n color: #7587A1;\n box-shadow:0 0 0 1px #CBD4E2;\n}\ntags-input .tags .tag-item.selected {\n background: $red-clr;\n color: white;\n box-shadow: none;\n}\ntags-input .tags .tag-item .remove-button {\n margin: 0 0 0 5px;\n padding: 0;\n border: none;\n background: none;\n color: inherit;\n cursor: pointer;\n vertical-align: middle;\n font: bold em(16px) Arial, sans-serif;\n}\n\ntags-input .tags .input {\n border: 0;\n outline: none;\n margin: 2px;\n padding: 0;\n padding-left: 8px;\n float: left;\n height: 26px;\n font-size: em($tag-font-size);\n @include placeholder {\n color: $text-3-clr;\n }\n}\n\ntags-input .tags .input.invalid-tag {\n color: $red-clr;\n}\n\ntags-input .tags .input::-ms-clear {\n display: none;\n}\n\ntags-input.ng-invalid .tags {\n // highlight tags when model is invalid\n}\n",".dropdown {\n position:relative;\n cursor: pointer;\n .dropdown-menu {\n position: absolute;\n display:none;\n z-index: 1000;\n float:left;\n min-width:160px;\n max-width: 180px;\n padding: 5px;\n text-align:left;\n left:0;\n }\n &.open .dropdown-menu {\n display: block;\n }\n .dropdown-toggle {\n &:after {\n content: \"\";\n width: 6px;\n height: 4px;\n margin-left: 10px;\n display:inline-block;\n background-image: url(\"../images/dropdown_arrow.png\");\n background-size: 6px 4px;\n background-repeat:no-repeat;\n }\n }\n}\n",".comments-info {\n font-weight: bold;\n padding-bottom: 10px;\n border-bottom: 2px solid $border-clr;\n}\n\n.comment-form {\n @include row;\n margin-top:20px;\n padding: 0 10px;\n .avatar-section {\n @include span-columns(1);\n img {\n border-radius: 3px;\n max-width: 100%;\n }\n }\n .input-section {\n @include span-columns(11);\n }\n .content-section {\n margin-bottom:10px;\n }\n .name-section {\n position:relative;\n margin-bottom: 10px;\n }\n .form-control {\n font-size: em(14px) !important;\n }\n textarea.form-control {\n min-height: 0;\n min-width: 100%;\n }\n}\n\n.comments-placeholder {\n color: $text-3-clr;\n text-align:center;\n}\n\n.comment-thread {\n list-style:none;\n margin:0;\n padding:0;\n margin-bottom: 20px;\n max-height: 500px;\n overflow-y: scroll;\n .comment {\n @include row;\n padding: 10px;\n .avatar-section {\n @include span-columns(1);\n img {\n max-width: 100%;\n border-radius: 3px;\n }\n }\n .comment-section {\n @include span-columns(11);\n position:relative;\n .comment-delete {\n opacity:0;\n text-decoration:none;\n color:white;\n background-color: $border-clr;\n color: $text-3-clr;\n border-radius: 2px;\n display:inline-block;\n position:absolute;\n right:0;\n top:0;\n font-size: em(14px);\n $cd-size: em(16px);\n width: $cd-size;\n height: $cd-size;\n line-height: $cd-size;\n text-align: center;\n &:hover {\n background: $red-clr;\n color: white;\n }\n &:active {\n background: darken($red-clr, 5%);\n }\n }\n .meta {\n font-size: em(13px);\n color: $text-2-clr;\n margin-bottom: 5px;\n }\n .name {\n color: $text-2-clr;\n font-weight: 600;\n }\n .time:before {\n content: \" \";\n display: inline-block;\n height: 4px;\n width: 4px;\n background: $text-3-clr;\n margin: 0 5px 2px 5px;\n border-radius: 100%;\n }\n .content {\n font-size: em(14px);\n margin-bottom: 5px;\n white-space: pre-wrap;\n margin-right: 100px;\n }\n .actions {\n opacity:0.8;\n a {\n color: $text-2-clr;\n font-size: em(12px);\n text-decoration: none;\n &:hover {\n color: $blue-clr;\n }\n }\n }\n }\n &:hover {\n background: $background-clr;\n cursor:default;\n border-radius: 3px;\n .name {\n color: $blue-clr;\n }\n .comment-delete {\n opacity: 1;\n }\n }\n }\n}\n",".switch-row {\n display:table;\n width: 100%;\n margin-bottom: 20px;\n padding-bottom: 20px;\n border-bottom: 1px solid $border-clr;\n &:last-child {\n border:0;\n }\n .switch-details {\n display:table-cell;\n .title {\n font-size: em(14px);\n font-weight: bold;\n }\n .description {\n font-size: em(12px);\n color: $text-2-clr;\n }\n }\n .switch {\n display:table-cell;\n text-align:right;\n min-width: 150px;\n vertical-align:middle;\n .switch-value {\n font-size: em(12px);\n color: $text-2-clr;\n display:inline-block;\n vertical-align:middle;\n\n }\n }\n}\n\n.switch-toggle {\n display:inline-block;\n margin-left: 5px;\n height: 20px;\n width: 40px;\n border-radius: 20px;\n vertical-align:middle;\n position:relative;\n cursor:pointer;\n background: $red-clr;\n box-shadow: inset 0 0 0 1px rgba(black,0.1);\n @include transition(all 0.1s ease-in-out);\n $tog-size: 16px;\n &:after {\n content: \" \";\n @include transition(all 0.1s ease-in-out);\n display:inline-block;\n height: $tog-size;\n width: $tog-size;\n position: absolute;\n $btn-top-clr: #FAFAFA;\n $btn-bottom-clr: #EFF1F3;\n box-shadow: inset 0 1px 0 white, 0 1px 1px rgba(black, 0.1);\n @include linear-gradient($btn-top-clr, $btn-bottom-clr);\n top: 50%;\n margin-top: ($tog-size / 2) * -1;\n left: 2px;\n border-radius: 100px;\n }\n &:hover {\n box-shadow:inset 0 0 0 1px rgba(black,0.1), inset 0 0 0 8px rgba(black,0.05); \n }\n &.active {\n background: $green-clr;\n &:after {\n left: 100%;\n margin-left: ($tog-size * -1) - 2;\n }\n }\n}\n",".notification {\n position: fixed;\n top: 80px;\n $not-width: 300px;\n right: 0;\n width: $not-width;\n z-index: 3000;\n padding: 12px 20px;\n background: $text-2-clr;\n border-top-left-radius:2px;\n border-bottom-left-radius:2px;\n color: white;\n @include transition(all 0.3s ease-in-out);\n &.success {\n background: $green-clr;\n }\n &.error {\n background: $red-clr;\n }\n &.ng-enter {\n right: -$not-width;\n opacity:0;\n }\n &.ng-enter-active {\n right:0;\n opacity:1;\n }\n &.ng-leave-active {\n right:-$not-width;\n opacity:1;\n }\n .title {\n font-size: em(14px);\n margin-bottom: 2px;\n }\n .message {\n font-size: em(12px);\n color: rgba(white, 0.8);\n }\n .close {\n position: absolute;\n top: 5px;\n right:10px;\n color: white;\n text-decoration:none;\n\n }\n}\n",".time-picker {\n width:100%;\n padding: 10px;\n .time-picker-col {\n display:table-cell;\n vertical-align:middle;\n }\n .time-picker-input {\n padding: 5px;\n border-radius: 3px;\n border: 1px solid $border-clr;\n outline:0;\n font-size: 18px;\n &:focus {\n border-color: $blue-clr;\n box-shadow: 0 0 3px rgba($blue-clr, 0.5);\n outline:0;\n }\n }\n}\n\n.time-picker-input {\n padding: em(5px) 0;\n text-align:center;\n border:0;\n font-size:em(14px);\n &.ng-invalid {\n border-color: $red-clr;\n &:focus {\n box-shadow: 0 0 3px rgba($red-clr, 0.5);\n }\n }\n &.ng-valid.ng-dirty {\n border-color: $green-clr;\n }\n &:focus {\n outline:0;\n color: $text-clr;\n }\n}\n\n.time-form {\n width:100%;\n border:1px solid $border-clr;\n th {\n border-bottom:2px solid $border-clr;\n padding: 10px;\n font-size: 14px;\n text-transform:uppercase;\n }\n td {\n border-right: 1px solid $border-clr;\n padding: 10px 10px;\n border-bottom:1px solid $border-clr;\n &:last-child {\n border-right:0;\n }\n input {\n width: 100%;\n }\n }\n tr:last-child {\n td {\n border-bottom:0;\n }\n }\n}\n",".page-placeholder {\n margin:0 auto;\n text-align:center;\n color:#B0B8C4;\n position:absolute;\n top:50%;\n left: 50%;\n @include transform(translateX(-50%) translateY(-50%));\n .image {\n margin-bottom:20px;\n }\n .title {\n font-size: em(36px);\n font-weight: bold;\n margin-bottom: 20px;\n }\n .content {\n font-size: em(14px);\n max-width: 320px;\n font-weight: normal;\n margin-bottom: 20px;\n }\n}\n",".event-header {\n width: 100%;\n margin-bottom:20px;\n .details {\n display:inline-block;\n .title {\n font-size: em(24px);\n font-weight: bold;\n .title-label {\n font-size: 11px;\n font-weight: normal;\n margin-left: 5px;\n position: relative;\n top: -3px;\n background: $text-2-clr;\n color:white;\n padding: 3px 10px;\n border-radius: 20px;\n &.success {\n background: $green-clr;\n }\n &.danger {\n background: $orangered-clr;\n }\n }\n }\n .subtitle {\n color: $text-2-clr;\n font-size: em(13px);\n a {\n color: $blue-clr;\n text-decoration: none;\n &:hover {\n text-decoration: underline;\n }\n }\n }\n }\n .actions {\n visibility:hidden;\n float: right;\n }\n &:hover {\n .actions {\n visibility:visible;\n }\n }\n}\n\n.event-description {\n font-size: em(18px);\n white-space: pre-wrap;\n margin-bottom: 20px;\n background: $background-clr;\n line-height:em(24px);\n position:relative;\n color: $text-2-clr;\n border-top:1px solid $border-clr;\n border-bottom: 1px solid $border-clr;\n}\n\n.event-location {\n font-size: em(14px);\n margin-bottom:20px;\n color: $text-3-clr;\n a {\n color: $text-clr;\n text-decoration:none;\n &:hover {\n text-decoration:underline;\n }\n }\n img {\n vertical-align:middle;\n margin-right: 10px;\n }\n}\n"],"sourceRoot":"/source/"} .title {\n font-size: em(24px);\n font-weight: bold;\n .title-label {\n font-size: 11px;\n font-weight: normal;\n margin-left: 5px;\n position: relative;\n top: -3px;\n background: $text-2-clr;\n color:white;\n padding: 3px 10px;\n border-radius: 20px;\n &.success {\n background: $green-clr;\n }\n &.danger {\n background: $orangered-clr;\n }\n }\n }\n .subtitle {\n color: $text-2-clr;\n font-size: em(13px);\n a {\n color: $blue-clr;\n text-decoration: none;\n &:hover {\n text-decoration: underline;\n }\n }\n }\n }\n .actions {\n visibility:hidden;\n float: right;\n }\n &:hover {\n .actions {\n visibility:visible;\n }\n }\n}\n\n.event-description {\n font-size: em(18px);\n white-space: pre-wrap;\n margin-bottom: 20px;\n background: $background-clr;\n line-height:em(24px);\n position:relative;\n color: $text-2-clr;\n border-top:1px solid $border-clr;\n border-bottom: 1px solid $border-clr;\n}\n\n.event-location {\n font-size: em(14px);\n margin-bottom:20px;\n color: $text-3-clr;\n a {\n color: $text-clr;\n text-decoration:none;\n &:hover {\n text-decoration:underline;\n }\n }\n img {\n vertical-align:middle;\n margin-right: 10px;\n }\n}\n"],"sourceRoot":"/source/"} \ No newline at end of file +{"version":3,"sources":["style.scss","partials/_normalize.scss","neat/grid/_box-sizing.scss","bourbon/addons/_prefixer.scss","modules/_vars.scss","partials/_applayout.scss","partials/_navigation.scss","bourbon/css3/_transition.scss","partials/_topbar.scss","partials/ui/_animations.scss","partials/ui/_buttons.scss","bourbon/css3/_linear-gradient.scss","partials/ui/_form.scss","neat/grid/_row.scss","bourbon/addons/_clearfix.scss","neat/grid/_span-columns.scss","modules/_mixins.scss","bourbon/css3/_placeholder.scss","partials/ui/_box.scss","partials/ui/_datepicker.scss","partials/ui/_modal.scss","partials/ui/_poll.scss","partials/ui/_tags.scss","partials/ui/_dropdown.scss","partials/ui/_comments.scss","partials/ui/_switch.scss","partials/ui/_notification.scss","partials/ui/_timepicker.scss","partials/pages/_home.scss","partials/pages/_event.scss","partials/pages/_newevent.scss","bourbon/css3/_flex-box.scss","neat/grid/_outer-container.scss","neat/settings/_grid.scss","neat/grid/_omega.scss"],"names":[],"mappings":"0tDAAA,mICQA,KACE,YAAa,WACb,qBAAsB,KACtB,yBAA0B,MAO5B,KACE,OAAQ,GAaV,QAAS,MAAO,QAAS,WAAY,OAAQ,OAAQ,OAAQ,OAAQ,KAAM,KAAM,IAAK,QAAS,QAa7F,QAAS,OAQX,MAAO,OAAQ,SAAU,MAIvB,QAAS,aACT,eAAgB,UAQlB,KAAK,KAAK,YACR,QAAS,KACT,OAAQ,GAQV,SAAU,SAER,QAAS,MAUX,EACE,iBAAkB,aAOpB,CAAC,QAAS,CAAC,OAET,QAAS,GAUX,IAAI,QACF,cAAe,YAOjB,EAAG,OAED,YAAa,MAOf,IACE,WAAY,QAQd,GACE,UAAW,IACX,OAAQ,UAOV,KACE,WAAY,KACZ,MAAO,MAOT,MACE,UAAW,KAOb,IAAK,IAEH,UAAW,IACX,YAAa,EACb,SAAU,SACV,eAAgB,UAGlB,IACE,IAAK,QAGP,IACE,OAAQ,SAUV,IACE,OAAQ,GAOV,GAAG,KAAK,OACN,SAAU,QAUZ,OACE,OAAQ,UAOV,GACE,gBAAiB,YACjB,WAAY,YACZ,OAAQ,GAOV,IACE,SAAU,MAOZ,KAAM,IAAK,IAAK,KAId,YAAa,oBACb,UAAW,KAkBb,OAAQ,MAAO,SAAU,OAAQ,SAK/B,MAAO,QACP,KAAM,QACN,OAAQ,GAOV,OACE,SAAU,SAUZ,OAAQ,OAEN,eAAgB,MAWlB,OAAQ,KAAK,KAAK,gBAAiB,KAAK,eAAgB,KAAK,gBAI3D,mBAAoB,OACpB,OAAQ,SAOV,MAAM,WAAY,KAAK,KAAK,WAE1B,OAAQ,SAOV,MAAM,mBAAoB,KAAK,mBAE7B,OAAQ,EACR,QAAS,GAQX,MACE,YAAa,QAWf,KAAK,kBAAmB,KAAK,eAE3B,WAAY,WACZ,QAAS,GASX,KAAK,eAAe,4BAA6B,KAAK,eAAe,4BAEnE,OAAQ,MASV,KAAK,gBACH,mBAAoB,UACpB,gBAAiB,YACjB,mBAAoB,YACpB,WAAY,aASd,KAAK,eAAe,+BAAgC,KAAK,eAAe,4BAEtE,mBAAoB,MAOtB,SACE,OAAQ,kBACR,OAAQ,MACR,QAAS,uBAQX,OACE,OAAQ,EACR,QAAS,GAOX,SACE,SAAU,MAQZ,SACE,YAAa,MAUf,MACE,gBAAiB,SACjB,eAAgB,GAGlB,GAAI,GAEF,QAAS,GCzaX,KCSQ,mBDPgB,WCYhB,gBDZgB,WC2BhB,WD3BgB,YAGxB,EAAG,CAAC,QAAS,CAAC,OCIN,mBDFkB,QCOlB,gBDPkB,QCsBlB,WDtBkB,SFA1B,KACI,YAAa,4CAGjB,EACI,MIRO,SCAX,iBACI,MAAM,KACN,OAAO,KACP,SAAS,QAGb,KACI,WDNa,QCOb,MDJO,QCKP,UAXQ,OAcZ,iBACI,SAAS,MACT,QAAS,KACT,WAAW,KACX,MApBe,MAqBf,WDrBY,QCsBZ,MAAO,OAAX,iBAAiB,SAET,MAxBW,MAyBX,QAAS,QAIjB,cACI,WDzBa,QC0Bb,YA/Be,MAgCf,OAAO,KACP,WAAW,QAAf,cAAc,WAEN,SAAS,SACT,QAAS,qBACT,MAAM,KACN,WAAY,MACZ,OAAO,MAIf,SACI,MAAM,KACN,SAAS,MACT,IAAI,EACJ,WAAY,MACZ,OA/Ca,KAgDb,QAAS,KACT,YAjDa,MCUjB,iBACI,QAAS,QAAb,iBAAiB,MAET,QAAQ,MACR,OAAQ,KACR,YAAY,KACZ,WAAY,QACZ,SAAS,SHTT,mBIJW,4BJSX,gBITW,4BJwBX,WIxBW,4BDDf,aAHM,KAIN,cAJM,KAKN,YAAa,MACb,MAAM,KHEF,mBGDgB,YHMhB,gBGNgB,YHqBhB,WGrBgB,aAYxB,iBAAiB,MAAM,IAEX,SAAS,SACT,IAAI,IACJ,WAAW,OAEvB,iBAAiB,cAtBb,aAHM,KAIN,cAJM,KAKN,YAAa,MACb,MAAM,KHEF,mBGDgB,YHMhB,gBGNgB,YHqBhB,WGrBgB,YAqBhB,UAAU,KACV,eAAe,UACf,QAAU,UACV,cAAe,kBACf,WAAW,KACX,cAAc,MACtB,iBAAiB,YAET,QAAQ,MACR,UAAW,OACX,MAAO,MACP,WFvCI,QEwCJ,gBAAiB,KACjB,QAAS,SACT,cAAe,IACf,WAAY,OACZ,YAAa,KHpCb,mBGqCoB,YHhCpB,gBGgCoB,YHjBpB,WGiBoB,YACpB,MAAO,KACP,YAAY,MAEpB,iBAAiB,YAAY,OAEjB,QAAQ,EACR,OAAO,EACP,WAAY,MAAxB,iBAAiB,YAAY,OAAO,EAEpB,QAAQ,MACR,gBAAiB,KACjB,MAAO,QACP,YAAa,MACb,UAAW,OACX,YAAY,MAA5B,iBAAiB,YAAY,OAAO,CAAC,OAEjB,QAAS,EACT,MAAM,OAA1B,iBAAiB,YAAY,OAAO,CAAC,OAAO,MAEpB,oBAAqB,eAE7C,iBAAiB,YAAY,OAAO,CAAC,QAEjB,QAAQ,EACR,MAAO,MACP,OAAQ,SAA5B,iBAAiB,YAAY,OAAO,CAAC,QAAQ,MAErB,oBAAqB,eAI7C,iBAAiB,YAAY,OAAO,EAAE,MAElB,QAAQ,aACR,eAAe,OACf,aAAc,KACd,MAAM,KACN,OAAO,KACP,gBAAiB,WErFrC,SACI,MAAO,KACP,MAAO,KACP,WAAY,iCAAhB,SAAS,SAED,WAAW,KACX,OAAO,EACP,aAAa,KACb,WAAW,MACnB,SAAS,SAAS,MAAM,IAER,QAAQ,aACR,eAAe,QAC/B,SAAS,SAAS,MAAM,WAER,QAAS,SACT,OAAQ,KACR,gBAAgB,KAChB,MJVL,QIWK,UAAW,OACX,OAAQ,sBACR,cAAe,IACf,eAAe,OACf,aJZH,SIYb,SAAS,SAAS,MAAM,WAAW,KAEf,eAAe,QACnC,SAAS,SAAS,MAAM,UAAU,OAEd,aAAc,SAElC,SAAS,SAAS,KAAK,SAAS,MAAM,iBAEtB,0BAA2B,EAC3B,2BAA4B,EAC5B,aJvBH,QIwBG,oBAAqB,MACrB,SAAU,SACV,QAAQ,MACxB,SAAS,SAAS,MAAM,eAER,WAAY,MACZ,MJjCL,QIkCK,UAAW,IACX,YAAa,MACb,OAAQ,kBACR,cAAe,IACf,QAAS,KACT,WAAW,MACX,uBAAuB,EACvB,WAAY,mBAA5B,SAAS,SAAS,MAAM,eAAe,gBAEnB,YAAY,KACZ,UAAW,UAC/B,SAAS,SAAS,MAAM,eAAe,kBAEnB,UAAW,QACX,YAAa,MACb,MJhDP;;;;;EKDb,UACI,2BAA4B,KAC5B,mBAAoB,KACpB,4BAA6B,KAC7B,oBAAqB,MAGzB,SAAS,UACL,kCAAmC,SACnC,0BAA2B,UAG/B,SAAS,OACL,2BAA4B,GAC5B,mBAAoB,uBAGL,OAAnB,GAAI,IAAK,IAAK,IAAK,KAEX,mCAAoC,oCACpC,2BAA4B,oCAC5B,kBAAmB,qBACnB,UAAW,sBACnB,IAAK,IAGG,mCAAoC,uCACpC,2BAA4B,uCAC5B,kBAAmB,yBACnB,UAAW,0BACnB,IAGQ,mCAAoC,uCACpC,2BAA4B,uCAC5B,kBAAmB,yBACnB,UAAW,0BACnB,IAGQ,kBAAmB,wBACnB,UAAW,qCAIR,OAAX,GAAI,IAAK,IAAK,IAAK,KAEX,mCAAoC,oCACpC,2BAA4B,oCAC5B,kBAAmB,qBACnB,UAAW,sBACnB,IAAK,IAGG,mCAAoC,uCACpC,2BAA4B,uCAC5B,kBAAmB,yBACnB,UAAW,0BACnB,IAGQ,mCAAoC,uCACpC,2BAA4B,uCAC5B,kBAAmB,yBACnB,UAAW,0BACnB,IAGQ,kBAAmB,wBACnB,UAAW,0BAInB,QACI,uBAAwB,OACxB,eAAgB,OAChB,yBAA0B,cAC1B,qBAAsB,cACtB,iBAAkB,kCAGH,MAAnB,GAAI,IAAK,KAED,QAAS,GACjB,IAAK,IAGG,QAAS,eAIN,MAAX,GAAI,IAAK,KAED,QAAS,GACjB,IAAK,IAGG,QAAS,IAIjB,OACI,uBAAwB,MACxB,eAAgB,0BAKD,MAAnB,GAEQ,kBAAmB,iBACnB,UAAW,kBACnB,IAGQ,kBAAmB,0BACnB,UAAW,2BACnB,KAGQ,kBAAmB,iBACnB,UAAW,8BAIR,MAAX,GAEQ,kBAAmB,iBACnB,UAAW,kBACnB,IAGQ,kBAAmB,0BACnB,UAAW,2BACnB,KAGQ,kBAAmB,iBACnB,UAAW,mBAInB,OACI,uBAAwB,MACxB,eAAgB,0BAGD,WAAnB,GAEQ,kBAAmB,iBACnB,UAAW,kBACnB,IAGQ,kBAAmB,uBACnB,UAAW,wBACnB,IAGQ,kBAAmB,uBACnB,UAAW,wBACnB,IAGQ,kBAAmB,uBACnB,UAAW,wBACnB,IAGQ,kBAAmB,uBACnB,UAAW,wBACnB,IAGQ,kBAAmB,uBACnB,UAAW,wBACnB,KAGQ,kBAAmB,iBACnB,UAAW,8BAIR,WAAX,GAEQ,kBAAmB,iBACnB,UAAW,kBACnB,IAGQ,kBAAmB,uBACnB,UAAW,wBACnB,IAGQ,kBAAmB,uBACnB,UAAW,wBACnB,IAGQ,kBAAmB,uBACnB,UAAW,wBACnB,IAGQ,kBAAmB,uBACnB,UAAW,wBACnB,IAGQ,kBAAmB,uBACnB,UAAW,wBACnB,KAGQ,kBAAmB,iBACnB,UAAW,mBAInB,YACI,uBAAwB,WACxB,eAAgB,+BAGD,MAAnB,GAAI,KAEI,kBAAmB,qBACnB,UAAW,sBACnB,IAAK,IAAK,IAAK,IAAK,IAGZ,kBAAmB,yBACnB,UAAW,0BACnB,IAAK,IAAK,IAAK,IAGP,kBAAmB,wBACnB,UAAW,qCAIR,MAAX,GAAI,KAEI,kBAAmB,qBACnB,UAAW,sBACnB,IAAK,IAAK,IAAK,IAAK,IAGZ,kBAAmB,yBACnB,UAAW,0BACnB,IAAK,IAAK,IAAK,IAGP,kBAAmB,wBACnB,UAAW,0BAInB,OACI,uBAAwB,MACxB,eAAgB,0BAGD,MAAnB,IAEQ,kBAAmB,yBACnB,UAAW,0BACnB,IAGQ,kBAAmB,0BACnB,UAAW,2BACnB,IAGQ,kBAAmB,wBACnB,UAAW,yBACnB,IAGQ,kBAAmB,yBACnB,UAAW,0BACnB,KAGQ,kBAAmB,wBACnB,UAAW,qCAIR,MAAX,IAEQ,kBAAmB,yBACnB,UAAW,0BACnB,IAGQ,kBAAmB,0BACnB,UAAW,2BACnB,IAGQ,kBAAmB,wBACnB,UAAW,yBACnB,IAGQ,kBAAmB,yBACnB,UAAW,0BACnB,KAGQ,kBAAmB,wBACnB,UAAW,0BAInB,OACI,yBAA0B,WAC1B,qBAAsB,WACtB,iBAAkB,WAClB,uBAAwB,MACxB,eAAgB,0BAGD,KAAnB,GAEQ,kBAAmB,iBACnB,UAAW,kBACnB,IAAK,IAGG,kBAAqC,gDACrC,UAA6B,iDACrC,IAAK,IAAK,IAAK,IAGP,kBAAwC,+CACxC,UAAgC,gDACxC,IAAK,IAAK,IAGF,kBAAwC,gDACxC,UAAgC,iDACxC,KAGQ,kBAAmB,iBACnB,UAAW,8BAIR,KAAX,GAEQ,kBAAmB,iBACnB,UAAW,kBACnB,IAAK,IAGG,kBAAqC,gDACrC,UAA6B,iDACrC,IAAK,IAAK,IAAK,IAGP,kBAAwC,+CACxC,UAAgC,gDACxC,IAAK,IAAK,IAGF,kBAAwC,gDACxC,UAAgC,iDACxC,KAGQ,kBAAmB,iBACnB,UAAW,mBAInB,MACI,uBAAwB,KACxB,eAAgB,yBAKD,OAAnB,GAEQ,kBAAmB,KACnB,UAAW,MACnB,IAGQ,kBAAyC,iDACzC,UAAiC,kDACzC,IAGQ,kBAAwC,+CACxC,UAAgC,gDACxC,IAGQ,kBAAyC,iDACzC,UAAiC,kDACzC,IAGQ,kBAAwC,+CACxC,UAAgC,gDACxC,IAGQ,kBAAwC,gDACxC,UAAgC,iDACxC,KAGQ,kBAAmB,KACnB,UAAW,kBAIR,OAAX,GAEQ,kBAAmB,KACnB,UAAW,MACnB,IAGQ,kBAAyC,iDACzC,UAAiC,kDACzC,IAGQ,kBAAwC,+CACxC,UAAgC,gDACxC,IAGQ,kBAAyC,iDACzC,UAAiC,kDACzC,IAGQ,kBAAwC,+CACxC,UAAgC,gDACxC,IAGQ,kBAAwC,gDACxC,UAAgC,iDACxC,KAGQ,kBAAmB,KACnB,UAAW,OAInB,QACI,uBAAwB,OACxB,eAAgB,2BAGD,SAAnB,GAAI,IAAK,IAAK,IAAK,IAAK,KAEhB,mCAAoC,oCACpC,2BAA4B,qCACpC,GAGQ,QAAS,EACT,kBAAmB,uBACnB,UAAW,wBACnB,IAGQ,kBAAmB,uBACnB,UAAW,wBACnB,IAGQ,kBAAmB,uBACnB,UAAW,wBACnB,IAGQ,QAAS,EACT,kBAAmB,0BACnB,UAAW,2BACnB,IAGQ,kBAAmB,0BACnB,UAAW,2BACnB,KAGQ,QAAS,EACT,kBAAmB,iBACnB,UAAW,8BAIR,SAAX,GAAI,IAAK,IAAK,IAAK,IAAK,KAEhB,mCAAoC,oCACpC,2BAA4B,qCACpC,GAGQ,QAAS,EACT,kBAAmB,uBACnB,UAAW,wBACnB,IAGQ,kBAAmB,uBACnB,UAAW,wBACnB,IAGQ,kBAAmB,uBACnB,UAAW,wBACnB,IAGQ,QAAS,EACT,kBAAmB,0BACnB,UAAW,2BACnB,IAGQ,kBAAmB,0BACnB,UAAW,2BACnB,KAGQ,QAAS,EACT,kBAAmB,iBACnB,UAAW,mBAInB,UACI,uBAAwB,SACxB,eAAgB,SAChB,2BAA4B,MAC5B,mBAAoB,0BAGL,aAAnB,GAAI,IAAK,IAAK,IAAK,KAEX,mCAAoC,oCACpC,2BAA4B,qCACpC,GAGQ,QAAS,EACT,kBAAmB,2BACnB,UAAW,4BACnB,IAGQ,QAAS,EACT,kBAAmB,wBACnB,UAAW,yBACnB,IAGQ,kBAAmB,yBACnB,UAAW,0BACnB,IAGQ,kBAAmB,uBACnB,UAAW,wBACnB,KAGQ,kBAAmB,KACnB,UAAW,kBAIR,aAAX,GAAI,IAAK,IAAK,IAAK,KAEX,mCAAoC,oCACpC,2BAA4B,qCACpC,GAGQ,QAAS,EACT,kBAAmB,2BACnB,UAAW,4BACnB,IAGQ,QAAS,EACT,kBAAmB,wBACnB,UAAW,yBACnB,IAGQ,kBAAmB,yBACnB,UAAW,0BACnB,IAGQ,kBAAmB,uBACnB,UAAW,wBACnB,KAGQ,kBAAmB,KACnB,UAAW,OAInB,cACI,uBAAwB,aACxB,eAAgB,iCAGD,aAAnB,GAAI,IAAK,IAAK,IAAK,KAEX,mCAAoC,oCACpC,2BAA4B,qCACpC,GAGQ,QAAS,EACT,kBAAmB,2BACnB,UAAW,4BACnB,IAGQ,QAAS,EACT,kBAAmB,wBACnB,UAAW,yBACnB,IAGQ,kBAAmB,yBACnB,UAAW,0BACnB,IAGQ,kBAAmB,uBACnB,UAAW,wBACnB,KAGQ,kBAAmB,KACnB,UAAW,kBAIR,aAAX,GAAI,IAAK,IAAK,IAAK,KAEX,mCAAoC,oCACpC,2BAA4B,qCACpC,GAGQ,QAAS,EACT,kBAAmB,2BACnB,UAAW,4BACnB,IAGQ,QAAS,EACT,kBAAmB,wBACnB,UAAW,yBACnB,IAGQ,kBAAmB,yBACnB,UAAW,0BACnB,IAGQ,kBAAmB,uBACnB,UAAW,wBACnB,KAGQ,kBAAmB,KACnB,UAAW,OAInB,cACI,uBAAwB,aACxB,eAAgB,iCAGD,cAAnB,GAAI,IAAK,IAAK,IAAK,KAEX,mCAAoC,oCACpC,2BAA4B,qCACpC,GAGQ,QAAS,EACT,kBAAmB,0BACnB,UAAW,2BACnB,IAGQ,QAAS,EACT,kBAAmB,yBACnB,UAAW,0BACnB,IAGQ,kBAAmB,wBACnB,UAAW,yBACnB,IAGQ,kBAAmB,wBACnB,UAAW,yBACnB,KAGQ,kBAAmB,KACnB,UAAW,kBAIR,cAAX,GAAI,IAAK,IAAK,IAAK,KAEX,mCAAoC,oCACpC,2BAA4B,qCACpC,GAGQ,QAAS,EACT,kBAAmB,0BACnB,UAAW,2BACnB,IAGQ,QAAS,EACT,kBAAmB,yBACnB,UAAW,0BACnB,IAGQ,kBAAmB,wBACnB,UAAW,yBACnB,IAGQ,kBAAmB,wBACnB,UAAW,yBACnB,KAGQ,kBAAmB,KACnB,UAAW,OAInB,eACI,uBAAwB,cACxB,eAAgB,kCAGD,WAAnB,GAAI,IAAK,IAAK,IAAK,KAEX,mCAAoC,oCACpC,2BAA4B,qCACpC,GAGQ,QAAS,EACT,kBAAmB,0BACnB,UAAW,2BACnB,IAGQ,QAAS,EACT,kBAAmB,yBACnB,UAAW,0BACnB,IAGQ,kBAAmB,wBACnB,UAAW,yBACnB,IAGQ,kBAAmB,wBACnB,UAAW,yBACnB,KAGQ,kBAAmB,qBACnB,UAAW,kCAIR,WAAX,GAAI,IAAK,IAAK,IAAK,KAEX,mCAAoC,oCACpC,2BAA4B,qCACpC,GAGQ,QAAS,EACT,kBAAmB,0BACnB,UAAW,2BACnB,IAGQ,QAAS,EACT,kBAAmB,yBACnB,UAAW,0BACnB,IAGQ,kBAAmB,wBACnB,UAAW,yBACnB,IAGQ,kBAAmB,wBACnB,UAAW,yBACnB,KAGQ,kBAAmB,qBACnB,UAAW,uBAInB,YACI,uBAAwB,WACxB,eAAgB,+BAGD,UAAnB,IAEQ,kBAAmB,uBACnB,UAAW,wBACnB,IAAK,IAGG,QAAS,EACT,kBAAmB,uBACnB,UAAW,wBACnB,KAGQ,QAAS,EACT,kBAAmB,uBACnB,UAAW,oCAIR,UAAX,IAEQ,kBAAmB,uBACnB,UAAW,wBACnB,IAAK,IAGG,QAAS,EACT,kBAAmB,uBACnB,UAAW,wBACnB,KAGQ,QAAS,EACT,kBAAmB,uBACnB,UAAW,yBAInB,WACI,uBAAwB,UACxB,eAAgB,UAChB,2BAA4B,MAC5B,mBAAoB,0BAGL,cAAnB,IAEQ,kBAAmB,wBACnB,UAAW,yBACnB,IAAK,IAGG,QAAS,EACT,kBAAmB,yBACnB,UAAW,0BACnB,KAGQ,QAAS,EACT,kBAAmB,0BACnB,UAAW,uCAIR,cAAX,IAEQ,kBAAmB,wBACnB,UAAW,yBACnB,IAAK,IAGG,QAAS,EACT,kBAAmB,yBACnB,UAAW,0BACnB,KAGQ,QAAS,EACT,kBAAmB,0BACnB,UAAW,4BAInB,eACI,uBAAwB,cACxB,eAAgB,kCAGD,cAAnB,IAEQ,QAAS,EACT,kBAAmB,wBACnB,UAAW,yBACnB,KAGQ,QAAS,EACT,kBAAmB,2BACnB,UAAW,wCAIR,cAAX,IAEQ,QAAS,EACT,kBAAmB,wBACnB,UAAW,yBACnB,KAGQ,QAAS,EACT,kBAAmB,2BACnB,UAAW,6BAInB,eACI,uBAAwB,cACxB,eAAgB,kCAGD,eAAnB,IAEQ,QAAS,EACT,kBAAmB,yBACnB,UAAW,0BACnB,KAGQ,QAAS,EACT,kBAAmB,0BACnB,UAAW,uCAIR,eAAX,IAEQ,QAAS,EACT,kBAAmB,yBACnB,UAAW,0BACnB,KAGQ,QAAS,EACT,kBAAmB,0BACnB,UAAW,4BAInB,gBACI,uBAAwB,eACxB,eAAgB,mCAGD,YAAnB,IAEQ,kBAAmB,yBACnB,UAAW,0BACnB,IAAK,IAGG,QAAS,EACT,kBAAmB,wBACnB,UAAW,yBACnB,KAGQ,QAAS,EACT,kBAAmB,2BACnB,UAAW,wCAIR,YAAX,IAEQ,kBAAmB,yBACnB,UAAW,0BACnB,IAAK,IAGG,QAAS,EACT,kBAAmB,wBACnB,UAAW,yBACnB,KAGQ,QAAS,EACT,kBAAmB,2BACnB,UAAW,6BAInB,aACI,uBAAwB,YACxB,eAAgB,gCAGD,OAAnB,GACQ,QAAS,GAAjB,KACU,QAAS,eAGR,OAAX,GACQ,QAAS,GAAjB,KACU,QAAS,IAGnB,QACI,uBAAwB,OACxB,eAAgB,2BAGD,WAAnB,GAEQ,QAAS,EACT,kBAAmB,yBACnB,UAAW,0BACnB,KAGQ,QAAS,EACT,kBAAmB,KACnB,UAAW,kBAIR,WAAX,GAEQ,QAAS,EACT,kBAAmB,yBACnB,UAAW,0BACnB,KAGQ,QAAS,EACT,kBAAmB,KACnB,UAAW,OAInB,YACI,uBAAwB,WACxB,eAAgB,+BAGD,cAAnB,GAEQ,QAAS,EACT,kBAAmB,2BACnB,UAAW,4BACnB,KAGQ,QAAS,EACT,kBAAmB,KACnB,UAAW,kBAIR,cAAX,GAEQ,QAAS,EACT,kBAAmB,2BACnB,UAAW,4BACnB,KAGQ,QAAS,EACT,kBAAmB,KACnB,UAAW,OAInB,eACI,uBAAwB,cACxB,eAAgB,kCAGD,WAAnB,GAEQ,QAAS,EACT,kBAAmB,yBACnB,UAAW,0BACnB,KAGQ,QAAS,EACT,kBAAmB,KACnB,UAAW,kBAIR,WAAX,GAEQ,QAAS,EACT,kBAAmB,yBACnB,UAAW,0BACnB,KAGQ,QAAS,EACT,kBAAmB,KACnB,UAAW,OAInB,YACI,uBAAwB,WACxB,eAAgB,+BAGD,cAAnB,GAEQ,QAAS,EACT,kBAAmB,2BACnB,UAAW,4BACnB,KAGQ,QAAS,EACT,kBAAmB,KACnB,UAAW,kBAIR,cAAX,GAEQ,QAAS,EACT,kBAAmB,2BACnB,UAAW,4BACnB,KAGQ,QAAS,EACT,kBAAmB,KACnB,UAAW,OAInB,eACI,uBAAwB,cACxB,eAAgB,kCAGD,YAAnB,GAEQ,QAAS,EACT,kBAAmB,wBACnB,UAAW,yBACnB,KAGQ,QAAS,EACT,kBAAmB,KACnB,UAAW,kBAIR,YAAX,GAEQ,QAAS,EACT,kBAAmB,wBACnB,UAAW,yBACnB,KAGQ,QAAS,EACT,kBAAmB,KACnB,UAAW,OAInB,aACI,uBAAwB,YACxB,eAAgB,gCAGD,eAAnB,GAEQ,QAAS,EACT,kBAAmB,0BACnB,UAAW,2BACnB,KAGQ,QAAS,EACT,kBAAmB,KACnB,UAAW,kBAIR,eAAX,GAEQ,QAAS,EACT,kBAAmB,0BACnB,UAAW,2BACnB,KAGQ,QAAS,EACT,kBAAmB,KACnB,UAAW,OAInB,gBACI,uBAAwB,eACxB,eAAgB,mCAGD,SAAnB,GAEQ,QAAS,EACT,kBAAmB,wBACnB,UAAW,yBACnB,KAGQ,QAAS,EACT,kBAAmB,KACnB,UAAW,kBAIR,SAAX,GAEQ,QAAS,EACT,kBAAmB,wBACnB,UAAW,yBACnB,KAGQ,QAAS,EACT,kBAAmB,KACnB,UAAW,OAInB,UACI,uBAAwB,SACxB,eAAgB,6BAGD,YAAnB,GAEQ,QAAS,EACT,kBAAmB,0BACnB,UAAW,2BACnB,KAGQ,QAAS,EACT,kBAAmB,KACnB,UAAW,kBAIR,YAAX,GAEQ,QAAS,EACT,kBAAmB,0BACnB,UAAW,2BACnB,KAGQ,QAAS,EACT,kBAAmB,KACnB,UAAW,OAInB,aACI,uBAAwB,YACxB,eAAgB,gCAGD,QAAnB,GACQ,QAAS,GAAjB,KACU,QAAS,eAGR,QAAX,GACQ,QAAS,GAAjB,KACU,QAAS,IAGnB,SACI,uBAAwB,QACxB,eAAgB,4BAGD,YAAnB,GAEQ,QAAS,GACjB,KAGQ,QAAS,EACT,kBAAmB,wBACnB,UAAW,qCAIR,YAAX,GAEQ,QAAS,GACjB,KAGQ,QAAS,EACT,kBAAmB,wBACnB,UAAW,0BAInB,aACI,uBAAwB,YACxB,eAAgB,gCAGD,eAAnB,GAEQ,QAAS,GACjB,KAGQ,QAAS,EACT,kBAAmB,0BACnB,UAAW,uCAIR,eAAX,GAEQ,QAAS,GACjB,KAGQ,QAAS,EACT,kBAAmB,0BACnB,UAAW,4BAInB,gBACI,uBAAwB,eACxB,eAAgB,mCAGD,YAAnB,GAEQ,QAAS,GACjB,KAGQ,QAAS,EACT,kBAAmB,yBACnB,UAAW,sCAIR,YAAX,GAEQ,QAAS,GACjB,KAGQ,QAAS,EACT,kBAAmB,yBACnB,UAAW,2BAInB,aACI,uBAAwB,YACxB,eAAgB,gCAGD,eAAnB,GAEQ,QAAS,GACjB,KAGQ,QAAS,EACT,kBAAmB,2BACnB,UAAW,wCAIR,eAAX,GAEQ,QAAS,GACjB,KAGQ,QAAS,EACT,kBAAmB,2BACnB,UAAW,6BAInB,gBACI,uBAAwB,eACxB,eAAgB,mCAGD,aAAnB,GAEQ,QAAS,GACjB,KAGQ,QAAS,EACT,kBAAmB,wBACnB,UAAW,qCAIR,aAAX,GAEQ,QAAS,GACjB,KAGQ,QAAS,EACT,kBAAmB,wBACnB,UAAW,0BAInB,cACI,uBAAwB,aACxB,eAAgB,iCAGD,gBAAnB,GAEQ,QAAS,GACjB,KAGQ,QAAS,EACT,kBAAmB,0BACnB,UAAW,uCAIR,gBAAX,GAEQ,QAAS,GACjB,KAGQ,QAAS,EACT,kBAAmB,0BACnB,UAAW,4BAInB,iBACI,uBAAwB,gBACxB,eAAgB,oCAGD,UAAnB,GAEQ,QAAS,GACjB,KAGQ,QAAS,EACT,kBAAmB,yBACnB,UAAW,sCAIR,UAAX,GAEQ,QAAS,GACjB,KAGQ,QAAS,EACT,kBAAmB,yBACnB,UAAW,2BAInB,WACI,uBAAwB,UACxB,eAAgB,8BAGD,aAAnB,GAEQ,QAAS,GACjB,KAGQ,QAAS,EACT,kBAAmB,2BACnB,UAAW,wCAIR,aAAX,GAEQ,QAAS,GACjB,KAGQ,QAAS,EACT,kBAAmB,2BACnB,UAAW,6BAInB,cACI,uBAAwB,aACxB,eAAgB,iCAGD,KAAnB,GAEQ,kBAAoC,8CACpC,UAA4B,8CAC5B,kCAAmC,SACnC,0BAA2B,UACnC,IAGQ,kBAAoC,uEACpC,UAA4B,uEAC5B,kCAAmC,SACnC,0BAA2B,UACnC,IAGQ,kBAAoC,uEACpC,UAA4B,uEAC5B,kCAAmC,QACnC,0BAA2B,SACnC,IAGQ,kBAAoC,6CACpC,UAA4B,6CAC5B,kCAAmC,QACnC,0BAA2B,SACnC,KAGQ,kBAAmB,mBACnB,UAAW,mBACX,kCAAmC,QACnC,0BAA2B,qBAIxB,KAAX,GAEQ,kBAAoC,8CACpC,UAA4B,8CAC5B,kCAAmC,SACnC,0BAA2B,UACnC,IAGQ,kBAAoC,uEACpC,UAA4B,uEAC5B,kCAAmC,SACnC,0BAA2B,UACnC,IAGQ,kBAAoC,uEACpC,UAA4B,uEAC5B,kCAAmC,QACnC,0BAA2B,SACnC,IAGQ,kBAAoC,6CACpC,UAA4B,6CAC5B,kCAAmC,QACnC,0BAA2B,SACnC,KAGQ,kBAAmB,mBACnB,UAAW,mBACX,kCAAmC,QACnC,0BAA2B,UAInC,SAAS,MACL,4BAA6B,QAC7B,oBAAqB,QACrB,uBAAwB,KACxB,eAAgB,yBAGD,QAAnB,GAEQ,kBAAoC,4CACpC,UAA4B,4CAC5B,mCAAoC,QACpC,2BAA4B,QAC5B,QAAS,GACjB,IAGQ,kBAAoC,6CACpC,UAA4B,6CAC5B,mCAAoC,QACpC,2BAA4B,SACpC,IAGQ,kBAAoC,4CACpC,UAA4B,4CAC5B,QAAS,GACjB,IAGQ,kBAAoC,4CACpC,UAA4B,6CACpC,KAGQ,kBAAmB,mBACnB,UAAW,gCAIR,QAAX,GAEQ,kBAAoC,4CACpC,UAA4B,4CAC5B,mCAAoC,QACpC,2BAA4B,QAC5B,QAAS,GACjB,IAGQ,kBAAoC,6CACpC,UAA4B,6CAC5B,mCAAoC,QACpC,2BAA4B,SACpC,IAGQ,kBAAoC,4CACpC,UAA4B,4CAC5B,QAAS,GACjB,IAGQ,kBAAoC,4CACpC,UAA4B,6CACpC,KAGQ,kBAAmB,mBACnB,UAAW,qBAInB,SACI,4BAA6B,mBAC7B,oBAAqB,mBACrB,uBAAwB,QACxB,eAAgB,4BAGD,QAAnB,GAEQ,kBAAoC,4CACpC,UAA4B,4CAC5B,mCAAoC,QACpC,2BAA4B,QAC5B,QAAS,GACjB,IAGQ,kBAAoC,6CACpC,UAA4B,6CAC5B,mCAAoC,QACpC,2BAA4B,SACpC,IAGQ,kBAAoC,4CACpC,UAA4B,4CAC5B,QAAS,GACjB,IAGQ,kBAAoC,4CACpC,UAA4B,6CACpC,KAGQ,kBAAmB,mBACnB,UAAW,gCAIR,QAAX,GAEQ,kBAAoC,4CACpC,UAA4B,4CAC5B,mCAAoC,QACpC,2BAA4B,QAC5B,QAAS,GACjB,IAGQ,kBAAoC,6CACpC,UAA4B,6CAC5B,mCAAoC,QACpC,2BAA4B,SACpC,IAGQ,kBAAoC,4CACpC,UAA4B,4CAC5B,QAAS,GACjB,IAGQ,kBAAoC,4CACpC,UAA4B,6CACpC,KAGQ,kBAAmB,mBACnB,UAAW,qBAInB,SACI,4BAA6B,mBAC7B,oBAAqB,mBACrB,uBAAwB,QACxB,eAAgB,4BAGD,SAAnB,GAEQ,kBAAmB,mBACnB,UAAW,oBACnB,IAGQ,kBAAoC,6CACpC,UAA4B,6CAC5B,QAAS,GACjB,KAGQ,kBAAoC,4CACpC,UAA4B,4CAC5B,QAAS,eAIN,SAAX,GAEQ,kBAAmB,mBACnB,UAAW,oBACnB,IAGQ,kBAAoC,6CACpC,UAA4B,6CAC5B,QAAS,GACjB,KAGQ,kBAAoC,4CACpC,UAA4B,4CAC5B,QAAS,IAIjB,UACI,uBAAwB,SACxB,eAAgB,SAChB,2BAA4B,MAC5B,mBAAoB,MACpB,4BAA6B,mBAC7B,oBAAqB,uCAGN,SAAnB,GAEQ,kBAAmB,mBACnB,UAAW,oBACnB,IAGQ,kBAAoC,6CACpC,UAA4B,6CAC5B,QAAS,GACjB,KAGQ,kBAAoC,4CACpC,UAA4B,4CAC5B,QAAS,eAIN,SAAX,GAEQ,kBAAmB,mBACnB,UAAW,oBACnB,IAGQ,kBAAoC,6CACpC,UAA4B,6CAC5B,QAAS,GACjB,KAGQ,kBAAoC,4CACpC,UAA4B,4CAC5B,QAAS,IAIjB,UACI,4BAA6B,mBAC7B,oBAAqB,mBACrB,uBAAwB,SACxB,eAAgB,SAChB,2BAA4B,MAC5B,mBAAoB,0BAGL,aAAnB,GAEQ,kBAAyC,sCACzC,UAAiC,sCACjC,QAAS,GACjB,IAGQ,kBAAmB,aACnB,UAAW,aACX,QAAS,GACjB,IAGQ,kBAAmB,aACnB,UAAW,aACX,QAAS,GACjB,KAGQ,kBAAmB,KACnB,UAAW,KACX,QAAS,eAIN,aAAX,GAEQ,kBAAyC,sCACzC,UAAiC,sCACjC,QAAS,GACjB,IAGQ,kBAAmB,aACnB,UAAW,aACX,QAAS,GACjB,IAGQ,kBAAmB,aACnB,UAAW,aACX,QAAS,GACjB,KAGQ,kBAAmB,KACnB,UAAW,KACX,QAAS,IAIjB,cACI,uBAAwB,aACxB,eAAgB,aAChB,kCAAmC,SACnC,0BAA2B,6BAGZ,cAAnB,GAEQ,QAAS,GACjB,KAGQ,kBAAyC,qCACzC,UAAiC,qCACjC,QAAS,eAIN,cAAX,GAEQ,QAAS,GACjB,KAGQ,kBAAyC,qCACzC,UAAiC,qCACjC,QAAS,IAIjB,eACI,uBAAwB,cACxB,eAAgB,cAChB,kCAAmC,QACnC,0BAA2B,4BAGZ,SAAnB,GAEQ,yBAA0B,OAC1B,iBAAkB,OAClB,kBAAmB,2BACnB,UAAW,2BACX,QAAS,GACjB,KAGQ,yBAA0B,OAC1B,iBAAkB,OAClB,kBAAmB,KACnB,UAAW,KACX,QAAS,eAIN,SAAX,GAEQ,yBAA0B,OAC1B,iBAAkB,OAClB,kBAAmB,2BACnB,UAAW,2BACX,QAAS,GACjB,KAGQ,yBAA0B,OAC1B,iBAAkB,OAClB,kBAAmB,KACnB,UAAW,KACX,QAAS,IAIjB,UACI,uBAAwB,SACxB,eAAgB,6BAGD,iBAAnB,GAEQ,yBAA0B,YAC1B,iBAAkB,YAClB,kBAAmB,0BACnB,UAAW,0BACX,QAAS,GACjB,KAGQ,yBAA0B,YAC1B,iBAAkB,YAClB,kBAAmB,KACnB,UAAW,KACX,QAAS,eAIN,iBAAX,GAEQ,yBAA0B,YAC1B,iBAAkB,YAClB,kBAAmB,0BACnB,UAAW,0BACX,QAAS,GACjB,KAGQ,yBAA0B,YAC1B,iBAAkB,YAClB,kBAAmB,KACnB,UAAW,KACX,QAAS,IAIjB,kBACI,uBAAwB,iBACxB,eAAgB,qCAGD,kBAAnB,GAEQ,yBAA0B,aAC1B,iBAAkB,aAClB,kBAAmB,yBACnB,UAAW,yBACX,QAAS,GACjB,KAGQ,yBAA0B,aAC1B,iBAAkB,aAClB,kBAAmB,KACnB,UAAW,KACX,QAAS,eAIN,kBAAX,GAEQ,yBAA0B,aAC1B,iBAAkB,aAClB,kBAAmB,yBACnB,UAAW,yBACX,QAAS,GACjB,KAGQ,yBAA0B,aAC1B,iBAAkB,aAClB,kBAAmB,KACnB,UAAW,KACX,QAAS,IAIjB,mBACI,uBAAwB,kBACxB,eAAgB,sCAGD,eAAnB,GAEQ,yBAA0B,YAC1B,iBAAkB,YAClB,kBAAmB,yBACnB,UAAW,yBACX,QAAS,GACjB,KAGQ,yBAA0B,YAC1B,iBAAkB,YAClB,kBAAmB,KACnB,UAAW,KACX,QAAS,eAIN,eAAX,GAEQ,yBAA0B,YAC1B,iBAAkB,YAClB,kBAAmB,yBACnB,UAAW,yBACX,QAAS,GACjB,KAGQ,yBAA0B,YAC1B,iBAAkB,YAClB,kBAAmB,KACnB,UAAW,KACX,QAAS,IAIjB,gBACI,uBAAwB,eACxB,eAAgB,mCAGD,gBAAnB,GAEQ,yBAA0B,aAC1B,iBAAkB,aAClB,kBAAmB,0BACnB,UAAW,0BACX,QAAS,GACjB,KAGQ,yBAA0B,aAC1B,iBAAkB,aAClB,kBAAmB,KACnB,UAAW,KACX,QAAS,eAIN,gBAAX,GAEQ,yBAA0B,aAC1B,iBAAkB,aAClB,kBAAmB,0BACnB,UAAW,0BACX,QAAS,GACjB,KAGQ,yBAA0B,aAC1B,iBAAkB,aAClB,kBAAmB,KACnB,UAAW,KACX,QAAS,IAIjB,iBACI,uBAAwB,gBACxB,eAAgB,oCAGD,UAAnB,GAEQ,yBAA0B,OAC1B,iBAAkB,OAClB,QAAS,GACjB,KAGQ,yBAA0B,OAC1B,iBAAkB,OAClB,kBAAmB,0BACnB,UAAW,0BACX,QAAS,eAIN,UAAX,GAEQ,yBAA0B,OAC1B,iBAAkB,OAClB,QAAS,GACjB,KAGQ,yBAA0B,OAC1B,iBAAkB,OAClB,kBAAmB,0BACnB,UAAW,0BACX,QAAS,IAIjB,WACI,uBAAwB,UACxB,eAAgB,8BAGD,kBAAnB,GAEQ,yBAA0B,YAC1B,iBAAkB,YAClB,QAAS,GACjB,KAGQ,yBAA0B,YAC1B,iBAAkB,YAClB,kBAAmB,yBACnB,UAAW,yBACX,QAAS,eAIN,kBAAX,GAEQ,yBAA0B,YAC1B,iBAAkB,YAClB,QAAS,GACjB,KAGQ,yBAA0B,YAC1B,iBAAkB,YAClB,kBAAmB,yBACnB,UAAW,yBACX,QAAS,IAIjB,mBACI,uBAAwB,kBACxB,eAAgB,sCAGD,mBAAnB,GAEQ,yBAA0B,aAC1B,iBAAkB,aAClB,QAAS,GACjB,KAGQ,yBAA0B,aAC1B,iBAAkB,aAClB,kBAAmB,0BACnB,UAAW,0BACX,QAAS,eAIN,mBAAX,GAEQ,yBAA0B,aAC1B,iBAAkB,aAClB,QAAS,GACjB,KAGQ,yBAA0B,aAC1B,iBAAkB,aAClB,kBAAmB,0BACnB,UAAW,0BACX,QAAS,IAIjB,oBACI,uBAAwB,mBACxB,eAAgB,uCAGD,gBAAnB,GAEQ,yBAA0B,YAC1B,iBAAkB,YAClB,QAAS,GACjB,KAGQ,yBAA0B,YAC1B,iBAAkB,YAClB,kBAAmB,0BACnB,UAAW,0BACX,QAAS,eAIN,gBAAX,GAEQ,yBAA0B,YAC1B,iBAAkB,YAClB,QAAS,GACjB,KAGQ,yBAA0B,YAC1B,iBAAkB,YAClB,kBAAmB,0BACnB,UAAW,0BACX,QAAS,IAIjB,iBACI,uBAAwB,gBACxB,eAAgB,oCAGD,iBAAnB,GAEQ,yBAA0B,aAC1B,iBAAkB,aAClB,QAAS,GACjB,KAGQ,yBAA0B,aAC1B,iBAAkB,aAClB,kBAAmB,yBACnB,UAAW,yBACX,QAAS,eAIN,iBAAX,GAEQ,yBAA0B,aAC1B,iBAAkB,aAClB,QAAS,GACjB,KAGQ,yBAA0B,aAC1B,iBAAkB,aAClB,kBAAmB,yBACnB,UAAW,yBACX,QAAS,IAIjB,kBACI,uBAAwB,iBACxB,eAAgB,qCAGD,MAAnB,GAEQ,yBAA0B,SAC1B,iBAAkB,SAClB,kCAAmC,YACnC,0BAA2B,aACnC,IAAK,IAGG,kBAAmB,yBACnB,UAAW,yBACX,yBAA0B,SAC1B,iBAAkB,SAClB,kCAAmC,YACnC,0BAA2B,aACnC,IAAK,IAGG,kBAAmB,yBACnB,UAAW,yBACX,yBAA0B,SAC1B,iBAAkB,SAClB,kCAAmC,YACnC,0BAA2B,YAC3B,QAAS,GACjB,KAGQ,kBAAmB,yBACnB,UAAW,yBACX,QAAS,eAIN,MAAX,GAEQ,yBAA0B,SAC1B,iBAAkB,SAClB,kCAAmC,YACnC,0BAA2B,aACnC,IAAK,IAGG,kBAAmB,yBACnB,UAAW,yBACX,yBAA0B,SAC1B,iBAAkB,SAClB,kCAAmC,YACnC,0BAA2B,aACnC,IAAK,IAGG,kBAAmB,yBACnB,UAAW,yBACX,yBAA0B,SAC1B,iBAAkB,SAClB,kCAAmC,YACnC,0BAA2B,YAC3B,QAAS,GACjB,KAGQ,kBAAmB,yBACnB,UAAW,yBACX,QAAS,IAIjB,OACI,uBAAwB,MACxB,eAAgB,0BAKD,OAAnB,GAEQ,QAAS,EACT,kBAA0C,oDAC1C,UAAkC,qDAC1C,KAGQ,QAAS,EACT,kBAAmB,KACnB,UAAW,kBAIR,OAAX,GAEQ,QAAS,EACT,kBAA0C,oDAC1C,UAAkC,qDAC1C,KAGQ,QAAS,EACT,kBAAmB,KACnB,UAAW,OAInB,QACI,uBAAwB,OACxB,eAAgB,2BAKD,QAAnB,GAEQ,QAAS,GACjB,KAGQ,QAAS,EACT,kBAAyC,kDACzC,UAAiC,+DAI9B,QAAX,GAEQ,QAAS,GACjB,KAGQ,QAAS,EACT,kBAAyC,kDACzC,UAAiC,oDAIzC,SACI,uBAAwB,QACxB,eAAgB,4BAGD,OAAnB,GAEQ,QAAS,EACT,kBAAmB,uBACnB,UAAW,wBACnB,IAGQ,QAAS,eAIN,OAAX,GAEQ,QAAS,EACT,kBAAmB,uBACnB,UAAW,wBACnB,IAGQ,QAAS,IAIjB,QACI,uBAAwB,OACxB,eAAgB,2BAGD,WAAnB,GAEQ,QAAS,EACT,kBAAqC,kDACrC,UAA6B,kDAC7B,kCAAmC,uCACnC,0BAA2B,wCACnC,IAGQ,QAAS,EACT,kBAA2C,qDAC3C,UAAmC,qDACnC,kCAAmC,oCACnC,0BAA2B,iDAIxB,WAAX,GAEQ,QAAS,EACT,kBAAqC,kDACrC,UAA6B,kDAC7B,kCAAmC,uCACnC,0BAA2B,wCACnC,IAGQ,QAAS,EACT,kBAA2C,qDAC3C,UAAmC,qDACnC,kCAAmC,oCACnC,0BAA2B,sCAInC,YACI,uBAAwB,WACxB,eAAgB,+BAGD,WAAnB,GAEQ,QAAS,EACT,kBAAqC,kDACrC,UAA6B,kDAC7B,kCAAmC,uCACnC,0BAA2B,wCACnC,IAGQ,QAAS,EACT,kBAA2C,qDAC3C,UAAmC,qDACnC,kCAAmC,oCACnC,0BAA2B,iDAIxB,WAAX,GAEQ,QAAS,EACT,kBAAqC,kDACrC,UAA6B,kDAC7B,kCAAmC,uCACnC,0BAA2B,wCACnC,IAGQ,QAAS,EACT,kBAA2C,qDAC3C,UAAmC,qDACnC,kCAAmC,oCACnC,0BAA2B,sCAInC,YACI,uBAAwB,WACxB,eAAgB,+BAGD,YAAnB,GAEQ,QAAS,EACT,kBAAqC,iDACrC,UAA6B,iDAC7B,kCAAmC,uCACnC,0BAA2B,wCACnC,IAGQ,QAAS,EACT,kBAA2C,sDAC3C,UAAmC,sDACnC,kCAAmC,oCACnC,0BAA2B,iDAIxB,YAAX,GAEQ,QAAS,EACT,kBAAqC,iDACrC,UAA6B,iDAC7B,kCAAmC,uCACnC,0BAA2B,wCACnC,IAGQ,QAAS,EACT,kBAA2C,sDAC3C,UAAmC,sDACnC,kCAAmC,oCACnC,0BAA2B,sCAInC,aACI,uBAAwB,YACxB,eAAgB,gCAGD,SAAnB,GAEQ,QAAS,EACT,kBAAqC,iDACrC,UAA6B,iDAC7B,kCAAmC,uCACnC,0BAA2B,wCACnC,IAGQ,QAAS,EACT,kBAA2C,sDAC3C,UAAmC,sDACnC,kCAAmC,oCACnC,0BAA2B,iDAIxB,SAAX,GAEQ,QAAS,EACT,kBAAqC,iDACrC,UAA6B,iDAC7B,kCAAmC,uCACnC,0BAA2B,wCACnC,IAGQ,QAAS,EACT,kBAA2C,sDAC3C,UAAmC,sDACnC,kCAAmC,oCACnC,0BAA2B,sCAInC,UACI,uBAAwB,SACxB,eAAgB,6BAGD,QAAnB,GAEQ,QAAS,GACjB,IAGQ,QAAS,EACT,kBAAmB,uBACnB,UAAW,wBACnB,KAGQ,QAAS,eAIN,QAAX,GAEQ,QAAS,GACjB,IAGQ,QAAS,EACT,kBAAmB,uBACnB,UAAW,wBACnB,KAGQ,QAAS,IAIjB,SACI,uBAAwB,QACxB,eAAgB,4BAGD,YAAnB,IAEQ,QAAS,EACT,kBAA2C,sDAC3C,UAAmC,sDACnC,kCAAmC,uCACnC,0BAA2B,wCACnC,KAGQ,QAAS,EACT,kBAAqC,iDACrC,UAA6B,iDAC7B,yBAA0B,cAC1B,iBAAkB,cAClB,kCAAmC,oCACnC,0BAA2B,iDAIxB,YAAX,IAEQ,QAAS,EACT,kBAA2C,sDAC3C,UAAmC,sDACnC,kCAAmC,uCACnC,0BAA2B,wCACnC,KAGQ,QAAS,EACT,kBAAqC,iDACrC,UAA6B,iDAC7B,yBAA0B,cAC1B,iBAAkB,cAClB,kCAAmC,oCACnC,0BAA2B,sCAInC,aACI,uBAAwB,YACxB,eAAgB,gCAGD,YAAnB,IAEQ,QAAS,EACT,kBAA2C,qDAC3C,UAAmC,sDAC3C,KAGQ,QAAS,EACT,kBAA2B,sCAC3B,UAAmB,sCACnB,yBAA0B,YAC1B,iBAAkB,yBAIf,YAAX,IAEQ,QAAS,EACT,kBAA2C,qDAC3C,UAAmC,sDAC3C,KAGQ,QAAS,EACT,kBAA2B,sCAC3B,UAAmB,sCACnB,yBAA0B,YAC1B,iBAAkB,cAI1B,aACI,uBAAwB,YACxB,eAAgB,gCAGD,aAAnB,IAEQ,QAAS,EACT,kBAA2C,sDAC3C,UAAmC,uDAC3C,KAGQ,QAAS,EACT,kBAA2B,qCAC3B,UAAmB,qCACnB,yBAA0B,aAC1B,iBAAkB,0BAIf,aAAX,IAEQ,QAAS,EACT,kBAA2C,sDAC3C,UAAmC,uDAC3C,KAGQ,QAAS,EACT,kBAA2B,qCAC3B,UAAmB,qCACnB,yBAA0B,aAC1B,iBAAkB,eAI1B,cACI,uBAAwB,aACxB,eAAgB,iCAGD,UAAnB,IAEQ,QAAS,EACT,kBAA2C,qDAC3C,UAAmC,qDACnC,kCAAmC,uCACnC,0BAA2B,wCACnC,KAGQ,QAAS,EACT,kBAAqC,kDACrC,UAA6B,kDAC7B,yBAA0B,cAC1B,iBAAkB,cAClB,kCAAmC,oCACnC,0BAA2B,iDAIxB,UAAX,IAEQ,QAAS,EACT,kBAA2C,qDAC3C,UAAmC,qDACnC,kCAAmC,uCACnC,0BAA2B,wCACnC,KAGQ,QAAS,EACT,kBAAqC,kDACrC,UAA6B,kDAC7B,yBAA0B,cAC1B,iBAAkB,cAClB,kCAAmC,oCACnC,0BAA2B,sCAInC,WACI,uBAAwB,UACxB,eAAgB,8BAGD,YAAnB,GAEQ,kBAAmB,kBACnB,UAAW,kBACX,WAAY,SACpB,KAGQ,kBAAmB,cACnB,UAAW,2BAIR,YAAX,GAEQ,kBAAmB,kBACnB,UAAW,kBACX,WAAY,SACpB,KAGQ,kBAAmB,cACnB,UAAW,gBAInB,aACI,uBAAwB,YACxB,eAAgB,gCAGD,YAAnB,GAEQ,kBAAmB,kBACnB,UAAW,kBACX,WAAY,SACpB,KAGQ,kBAAmB,cACnB,UAAW,2BAIR,YAAX,GAEQ,kBAAmB,kBACnB,UAAW,kBACX,WAAY,SACpB,KAGQ,kBAAmB,cACnB,UAAW,gBAInB,aACI,uBAAwB,YACxB,eAAgB,gCAGD,aAAnB,GAEQ,kBAAmB,iBACnB,UAAW,iBACX,WAAY,SACpB,KAGQ,kBAAmB,cACnB,UAAW,2BAIR,aAAX,GAEQ,kBAAmB,iBACnB,UAAW,iBACX,WAAY,SACpB,KAGQ,kBAAmB,cACnB,UAAW,gBAInB,cACI,uBAAwB,aACxB,eAAgB,iCAGD,UAAnB,GAEQ,kBAAmB,iBACnB,UAAW,iBACX,WAAY,SACpB,KAGQ,kBAAmB,cACnB,UAAW,2BAIR,UAAX,GAEQ,kBAAmB,iBACnB,UAAW,iBACX,WAAY,SACpB,KAGQ,kBAAmB,cACnB,UAAW,gBAInB,WACI,uBAAwB,UACxB,eAAgB,8BAGD,aAAnB,GAEQ,kBAAmB,cACnB,UAAW,eACnB,KAGQ,WAAY,OACZ,kBAAmB,iBACnB,UAAW,8BAIR,aAAX,GAEQ,kBAAmB,cACnB,UAAW,eACnB,KAGQ,WAAY,OACZ,kBAAmB,iBACnB,UAAW,mBAInB,cACI,uBAAwB,aACxB,eAAgB,iCAGD,aAAnB,GAEQ,kBAAmB,cACnB,UAAW,eACnB,KAGQ,WAAY,OACZ,kBAAmB,kBACnB,UAAW,+BAIR,aAAX,GAEQ,kBAAmB,cACnB,UAAW,eACnB,KAGQ,WAAY,OACZ,kBAAmB,kBACnB,UAAW,oBAInB,cACI,uBAAwB,aACxB,eAAgB,iCAGD,cAAnB,GAEQ,kBAAmB,cACnB,UAAW,eACnB,KAGQ,WAAY,OACZ,kBAAmB,iBACnB,UAAW,8BAIR,cAAX,GAEQ,kBAAmB,cACnB,UAAW,eACnB,KAGQ,WAAY,OACZ,kBAAmB,iBACnB,UAAW,mBAInB,eACI,uBAAwB,cACxB,eAAgB,kCAGD,WAAnB,GAEQ,kBAAmB,cACnB,UAAW,eACnB,KAGQ,WAAY,OACZ,kBAAmB,kBACnB,UAAW,+BAIR,WAAX,GAEQ,kBAAmB,cACnB,UAAW,eACnB,KAGQ,WAAY,OACZ,kBAAmB,kBACnB,UAAW,oBAInB,YACI,uBAAwB,WACxB,eAAgB,YCplGpB,KAGI,OAAO,kBACP,QAAQ,aACR,cAAe,IACf,WAA0B,oDC4B5B,iBAPiB,QAQjB,iBAAkB,0CAClB,iBAAkB,kCD5BhB,UAAW,OACX,YAAY,IACZ,MNDS,QMET,gBAAgB,KAChB,QAAe,gBAAnB,IAAI,OCsBF,iBAPiB,QAQjB,iBAAkB,0CAClB,iBAAkB,mCDrBpB,IAAI,UAEI,OAAO,QACP,QAAS,KAAjB,IAAI,SAAS,QAED,WAA0B,+CAEtC,IAAI,QAEI,MNrBE,SMsBV,IAAI,OAEI,QAAQ,GAChB,IAAI,QAEI,WAAY,ME9BpB,KACI,OAAO,GACX,IAAI,cAAc,YAEN,aAAc,oBAK1B,gBACI,MAAM,MAGV,UCmCI,QAAS,MDjCT,cAAc,KTNV,oBSOiB,KTFjB,iBSEiB,KTGjB,gBSHiB,KTajB,YSbiB,MEHzB,SAAS,OAEL,QAAQ,GACR,QAAQ,MACR,MAAM,MFEV,UG4CI,MAAO,KAGL,QAAS,MAeT,aAAsB,SACtB,MAAO,WAAb,SAAS,YAGD,aAAsB,GHhE9B,SAAS,OAAO,aAEJ,QAAS,YACrB,SAAS,OAAO,YAEJ,QAAS,YAKrB,YAAc,MAEN,UAAU,OACV,MRxBK,QQyBL,QAAQ,aACR,YAAY,SAEpB,YAAY,YAEJ,UAAW,OACX,MRtCE,QQuCF,MAAO,OAAf,YAAY,YAAY,IAEZ,eAAe,OACf,aAAc,KAE1B,WAAW,UAAY,KAAK,OAEpB,QAAS,eAEjB,WAAW,OAAO,KAAK,cAAe,WAAW,OAAO,QAAQ,cAGpD,aRpDD,QQqDC,WAAY,uBAExB,YAAY,KAAK,cAAe,YAAY,QAAQ,cIxDhD,cAAe,IACf,OAAQ,kBACR,UAAU,QbMN,mBIJW,8BJSX,gBITW,8BJwBX,WIxBW,+BSDnB,YAAY,KAAK,aAAa,OAAQ,YAAY,QAAQ,aAAa,OAE/D,aZFG,QYGH,QAAQ,KACR,WAAY,OACpB,YAAY,KAAK,aAAa,QAAS,YAAY,QAAQ,aAAa,QAEhE,MAAM,MCRd,YAAY,KAAK,aAAa,4BAA6B,YAAY,QAAQ,aAAa,4BDWpF,MAAO,uBCXf,YAAY,KAAK,aAAa,mBAAoB,YAAY,QAAQ,aAAa,mBDW3E,MAAO,uBCXf,YAAY,KAAK,aAAa,kBAAmB,YAAY,QAAQ,aAAa,kBDW1E,MAAO,uBCXf,YAAY,KAAK,aAAa,uBAAwB,YAAY,QAAQ,aAAa,uBDW/E,MAAO,uBJ8Cf,YAAY,UAEJ,QAAgB,iBACxB,YAAY,KAAK,cAET,eAAe,OACf,QAAe,kBACvB,YAAY,QAAQ,cAGZ,WAAY,MACZ,UAAW,QACX,QAAe,eAMvB,qBACI,QAAQ,aACR,YAAa,SACb,UAAW,QAAf,oBAAoB,OAEZ,MRhFE,SQiFV,qBAAqB,IAEb,eAAe,OACf,aAAc,UMpFtB,KACI,WAAY,MACZ,OAAQ,kBACR,cAAe,IACf,OAAQ,iBACR,UAAW,MACX,UAAU,MACV,SAAS,OACT,QAAS,WAAb,IAAI,cAEI,WAAY,QACpB,IAAI,WAEI,WAAY,YACZ,OAAO,EACP,QAAS,EACT,cAAc,MACtB,IAAI,WAEI,adlBG,QcmBH,WAAY,8BAIpB,WACI,UAAW,KACX,YAAa,KACb,MdtBO,QcuBP,cAAc,MAGlB,iBACI,UAAW,KACX,Md3BS,Qc4BT,eAAgB,KAChB,cAAe,kBACf,WAAY,MACZ,cAAe,MAAnB,iBAAiB,EAET,MdlCG,QcmCH,gBAAgB,MAAxB,iBAAiB,CAAC,OAEN,OAAQ,mBAIpB,aACI,YAAa,KLFb,QAAS,OKEb,YAAY,aAEJ,OAAO,GJvCf,YAAY,OAER,QAAQ,GACR,QAAQ,MACR,MAAM,MIqCV,aAAa,iBHST,MAAO,KAGL,QAAS,MAeT,aAAsB,SACtB,MAAO,WAAb,aAAa,gBAAgB,YAGrB,aAAsB,GG7B9B,aAAa,iBAAiB,eAElB,UAAW,QACX,MdlDC,QcmDD,cAAc,MAE1B,aAAa,cHCT,MAAO,KAGL,QAAS,MAeT,aAAsB,SACtB,MAAO,WAAb,aAAa,aAAa,YAGlB,aAAsB,GGhB9B,aACI,WAAW,OACX,QAAQ,KACR,UAAU,MACV,OAAO,QAAX,aAAa,YAEL,cAAe,MACvB,aAAa,OAEL,YAAa,KACb,UAAW,MACX,MdxEG,QcyEH,cAAe,SACvB,aAAa,SAEL,UAAW,QACX,Md5EK,Qc6EL,cAAe,MACvB,aAAa,aAAa,OAElB,QAAS,GACT,QAAQ,aACR,MAAM,MACN,OAAO,IACP,WdlFK,QcmFL,OAAO,WAKf,iBACI,QAAS,UACT,WAAY,YACZ,MAAO,KACP,YAAa,OAIjB,mBACI,QAAS,UACT,WAAY,YACZ,MAAO,KACP,WAAW,KACX,0BAA2B,IAC3B,2BAA4B,IAC5B,WAAY,kBACZ,cAAe,MACf,YAAa,OAGjB,cACI,WAAY,MACZ,WAAY,oBACZ,WAAY,QACZ,WA3HQ,KA4HR,QAAS,WC5Hb,cAAc,YAAc,aACxB,afCO,SeEX,aACI,OAAQ,kBACR,cAAe,IhBGX,mBIJW,8BJSX,gBITW,8BJwBX,WIxBW,+BYEnB,aAAa,SAEL,QAAQ,MAChB,aAAa,kBAEL,QAAQ,MACR,MAAM,KACN,cAAc,KACd,WAAW,QAAnB,aAAa,kBAAkB,OAEnB,QAAQ,aACR,MAAM,MACN,OAAQ,OACR,YAAY,KACZ,UAAW,SACvB,aAAa,kBAAkB,OAEnB,gBAAgB,KAChB,MffC,QegBD,SAAS,SACT,OAAQ,kBACR,QAAQ,aACR,MAAO,KACP,cAAe,IACf,UAAW,KACX,YAAY,KACZ,WAAW,OACX,MAAM,KACN,WAAY,gCACZ,OAAO,QAAnB,aAAa,kBAAkB,MAAM,YAErB,MAAM,OACtB,aAAa,kBAAkB,MAAM,OAErB,MfjCL,SekCX,aAAa,kBAAkB,MAAM,QAErB,WAAW,MAI3B,aAAa,KAEL,UAAU,EACV,eAAgB,KAChB,cAAe,kBACf,cAAe,MAAvB,aAAa,KAAK,KAEN,eAAe,UACf,UAAW,KACX,QAAQ,aACR,MAAQ,UACR,WAAW,OACX,Mf1DD,Se6DX,aAAa,QAAQ,OAET,QAAQ,aACR,MAAQ,UACR,WAAW,OACX,UAAW,QACX,YAAY,SACZ,SAAS,SACT,YAAa,MAAzB,aAAa,QAAQ,MAAM,OAEX,MAAM,SAAtB,aAAa,QAAQ,MAAM,MAAM,OAEb,QAAQ,EACR,WAAY,qBAEhC,aAAa,QAAQ,MAAM,SAEX,MftEH,QeuEG,YAAY,QAC5B,aAAa,QAAQ,MAAM,OAEX,QAAS,IACT,OAAO,QACP,QAAS,EACT,SAAS,SAET,MADO,QAEP,OAFO,QAGP,YAAY,UACZ,WAAW,UACX,KAAK,IACL,IAAI,IACJ,cAAe,KAC/B,aAAa,QAAQ,MAAM,OAMX,OAAQ,SALxB,aAAa,QAAQ,MAAM,MAAM,OAEb,QAAQ,EACR,WAAY,uBAGhC,aAAa,QAAQ,MAAM,QAEX,WAAW,MACX,MfzGJ,SeyGZ,aAAa,QAAQ,MAAM,OAAO,OAEd,QAAQ,EACR,WAAY,sBAOhC,cACI,OAAO,EACP,YAAY,KACZ,WAAW,KACX,QAAQ,IACR,WAAW,MAAf,cAAc,GAEN,QAAQ,aACR,OAAQ,eAIhB,SACI,WAAY,gCACZ,cAAe,IACf,QAAQ,aACR,QAAc,UACd,WAAW,OACX,SAAS,SACT,OAAO,QACP,WAAW,OAAf,SAAS,KAED,UAAW,QACX,WAAW,OACX,WAAW,MACX,MfnIK,QeoIL,cAAe,OACf,YAAY,OACZ,eAAgB,WACxB,SAAS,KAED,UAAW,OACX,YAAY,OACZ,MfnJG,QeoJH,YAAa,KACrB,SAAS,OAED,YAAa,IACb,UAAW,OACX,eAAgB,WACxB,SAAS,QAED,WAAW,OACX,OAAO,EAEP,MAAO,QACP,OAAQ,QACR,SAAS,SACT,IAAK,OACL,MAAO,OACP,cAAc,KACd,QAAQ,aACR,WAAiC,0EACjC,gBAAiB,QACjB,OAAO,QACP,QAAQ,GAAhB,SAAS,OAAO,OAEJ,iBAAkB,uBAE9B,SAAS,OAED,WAAW,OACX,OAAO,EAEP,MADO,KAEP,OAFO,KAGP,SAAS,SACT,IAAK,OACL,MAAO,OACP,cAAc,KACd,YAAY,KACZ,QAAQ,aACR,WAAY,QACZ,MAAM,MACN,UAAW,IACX,YAZO,KhB1KP,mBIJW,kCJSX,gBITW,kCJwBX,WIxBW,mCY2LnB,SAAS,MAAM,KAEH,Wf5LI,SegMhB,QAAQ,OAAO,QAEH,QAAS,GCxMrB,UACI,WAAW,MACX,SAAU,MACV,IAAK,IACL,KAAM,IACN,MAAO,IACP,UAAW,MACX,QAAQ,aACR,UAAW,MACX,OAAQ,KACR,QAAS,KACT,SAAS,OACT,cAAe,IACf,WAAsB,kDjBJlB,kBiBK8B,kCjBA9B,eiBA8B,kCjBK9B,ciBL8B,kCjBU9B,aiBV8B,kCjBe9B,UiBf8B,mCAAtC,UAAU,kBAEF,QAAS,iBACT,UAAW,OACX,MhBTK,SgBUb,UAAU,gBAEF,QAAQ,iBACR,UAAW,QACX,YAAa,MACrB,UAAU,kBAEF,WAAW,kBACX,WAAY,oBACZ,WAAY,QACZ,WAAW,MACX,QAAgB,gBAIxB,kBACI,SAAS,MACT,QAAS,KACT,IAAI,EACJ,KAAK,EACL,MAAM,KACN,OAAO,KACP,WAAW,iBCrCf,MACI,WAAW,KACX,UAAW,KACX,QAAQ,MACR,OAAO,gCACP,cAAe,IACf,WAAW,QAGf,aACI,QAAQ,MACR,UAAW,KACX,YAAY,KACZ,SAAS,OACT,cAAc,kBACd,WAAY,+BAAhB,aAAa,QAEL,QAAQ,WACR,eAAe,OACf,eAAe,MAAvB,aAAa,OAAO,aAER,WAAW,OACX,UAzBK,KA0BL,MA1BK,MA2BjB,aAAa,OAAO,gBAER,UA9BS,OA+BrB,aAAa,OAAO,qBAER,YAAa,KACb,UAhCK,MAiCL,MAjCK,MAkCL,aAAc,MAK1B,WACI,UAAU,KACV,SAAS,OACT,QAAQ,OAAZ,WAAW,cAEH,SAAS,UAAjB,WAAW,aAAa,QAEZ,QAAQ,MACpB,WAAW,cAAc,SAEb,SAAS,SACT,IAAI,EACJ,KAAK,EACL,MAAM,KACN,OAAQ,KACR,cAAc,kBACd,WAAY,uBACZ,WAAY,QAAxB,WAAW,cAAc,SAAS,cAElB,SAAS,SACT,IAAI,IACJ,KAAK,IACL,UAAW,QACX,YAAa,KACb,MjBvDH,QiBwDG,WAAY,sBACZ,QAAS,KlB1DjB,kBkB2D0C,kClBtD1C,ekBsD0C,kClBjD1C,ckBiD0C,kClB5C1C,akB4C0C,kClBvC1C,UkBuC0C,mCAGlD,WAAW,WAAW,WAEd,WAAY,SACpB,WAAW,YAEH,QAAQ,MACR,UAAW,KACX,cAAe,iCAAvB,WAAW,WAAW,YAEV,cAAc,GAC1B,WAAW,YAAY,OAEX,WAAW,QAEvB,WAAW,WAAW,OAAO,OAEb,WAAY,SAE5B,WAAW,YAAY,MAEX,QAAS,QACT,QAAQ,WACR,OAAQ,KACR,eAAe,QAA3B,WAAW,YAAY,KAAK,WAEZ,UA9FC,MA+FD,MA/FC,MAgGD,UAAW,QACX,aAAa,MAA7B,WAAW,YAAY,KAAK,WAAW,QAEnB,QAAQ,aACR,QAAS,IACT,aAAc,IACd,cAAe,IACf,WAAY,SAEhC,WAAW,YAAY,KAAK,WAAW,OAAO,SAClB,WAAY,SADxC,WAAW,YAAY,KAAK,WAAW,OAAO,SAClB,WAAY,SADxC,WAAW,YAAY,KAAK,WAAW,OAAO,SAClB,WAAY,SADxC,WAAW,YAAY,KAAK,WAAW,OAAO,SAClB,WAAY,SADxC,WAAW,YAAY,KAAK,WAAW,OAAO,SAClB,WAAY,SADxC,WAAW,YAAY,KAAK,WAAW,OAAO,SAClB,WAAY,SADxC,WAAW,YAAY,KAAK,WAAW,OAAO,SAClB,WAAY,SADxC,WAAW,YAAY,KAAK,WAAW,OAAO,SAClB,WAAY,SADxC,WAAW,YAAY,KAAK,WAAW,OAAO,SAClB,WAAY,SADxC,WAAW,YAAY,KAAK,WAAW,OAAO,UAClB,WAAY,SAGxC,WAAW,YAAY,KAAK,WAAW,MAEnB,QAAS,QACT,YAAa,IACb,cAAe,KAAnC,WAAW,YAAY,KAAK,WAAW,KAAK,SAAS,OAE7B,WjBhHP,QiBiHO,OAAQ,SAEhC,WAAW,YAAY,KAAK,WAAW,cAEnB,OAAO,kBACP,QAAS,SACT,cAAe,IACf,MjBrHT,SiBqHX,WAAW,YAAY,KAAK,WAAW,aAAa,OAE5B,QAAQ,EACR,ajB5Hb,QiB6Ha,WAAY,8BJ9HpC,WAAW,YAAY,KAAK,WAAW,aAAa,4BIiI5B,MAAO,uBJjI/B,WAAW,YAAY,KAAK,WAAW,aAAa,mBIiI5B,MAAO,uBJjI/B,WAAW,YAAY,KAAK,WAAW,aAAa,kBIiI5B,MAAO,uBJjI/B,WAAW,YAAY,KAAK,WAAW,aAAa,uBIiI5B,MAAO,uBAG/B,WAAW,YAAY,KAAK,aAEZ,UAzIK,OA0IrB,WAAW,YAAY,KAAK,WAEZ,UA3IC,KA4ID,MA5IC,KA6ID,WAAW,OACX,SAAU,UAA1B,WAAW,YAAY,KAAK,WAAW,SAEnB,SAAU,SACV,IAAI,EACJ,KAAM,EACN,MAAO,KACP,OAAQ,KACR,QAAS,IAA7B,WAAW,YAAY,KAAK,WAAW,QAAQ,OAEvB,WAAY,sBACZ,OAAQ,SAKhC,WAAW,WAAW,cAAc,YAEpB,aAAc,oBC9J9B,WACI,QAAS,OAEb,WAAW,EAAG,WAAW,CAAC,QAAS,WAAW,CAAC,OAC3C,gBAAiB,WACjB,mBAAoB,WACpB,WAAY,YAEhB,WAAW,MACP,SAAU,SACV,WAAY,IACZ,cAAe,KAAnB,WAAW,KAAK,OAER,QAAQ,GAGhB,WAAW,KAAK,QACZ,QAAS,MAGb,WAAW,MACP,QAAS,IACT,SAAU,OACV,UAAW,WACX,OAAQ,KACR,cAAe,IACf,iBAAkB,MAClB,OAAQ,kBnBpBJ,mBIJW,8BJSX,gBITW,8BJwBX,WIxBW,+Be2BnB,WAAW,KAAK,SACZ,QAAS,MAGb,WAAW,MAAM,UACb,OAAQ,EACR,QAAS,EACT,gBAAiB,MAErB,WAAW,MAAM,UACb,OAAQ,IACR,QAAS,MACT,QAAS,aACT,MAAO,KACP,UAAW,QACX,OAAQ,KACR,YAAa,KACb,cAAe,IACf,WAAW,QACX,MAAO,QACP,WAAW,mBAEf,WAAW,MAAM,SAAS,UACtB,WlBpDM,QkBqDN,MAAO,MACP,WAAY,MAEhB,WAAW,MAAM,UAAU,eACvB,OAAQ,UACR,QAAS,EACT,OAAQ,KACR,WAAY,KACZ,MAAO,QACP,OAAQ,QACR,eAAgB,OAChB,KAAoB,2BAGxB,WAAW,MAAM,OACb,OAAQ,EACR,QAAS,KACT,OAAQ,IACR,QAAS,EACT,aAAc,IACd,MAAO,KACP,OAAQ,KACR,UAAW,SL3Ef,WAAW,MAAM,MAAM,4BK6Ef,MlBtEK,SaPb,WAAW,MAAM,MAAM,mBK6Ef,MlBtEK,SaPb,WAAW,MAAM,MAAM,kBK6Ef,MlBtEK,SaPb,WAAW,MAAM,MAAM,uBK6Ef,MlBtEK,SkB0Eb,WAAW,MAAM,MAAM,aACnB,MlBlFM,SkBqFV,WAAW,MAAM,MAAM,YACnB,QAAS,MCzFb,UACI,SAAS,SACT,OAAQ,SAAZ,UAAU,eAEF,SAAU,SACV,QAAQ,KACR,QAAS,KACT,MAAM,KACN,UAAU,MACV,UAAW,MACX,QAAS,IACT,WAAW,KACX,KAAK,GACb,SAAS,MAAM,eAEP,QAAS,OAEjB,UAAU,gBAAgB,OAEd,QAAS,GACT,MAAO,IACP,OAAQ,IACR,YAAa,KACb,QAAQ,aACR,iBAAkB,oCAClB,gBAAiB,QACjB,kBAAkB,WC1B9B,eACI,YAAa,KACb,eAAgB,KAChB,cAAe,mBAGnB,cX0CI,QAAS,MWxCT,WAAW,KACX,QAAS,QVIb,aAAa,OAET,QAAQ,GACR,QAAQ,MACR,MAAM,MURV,cAAc,gBTsDV,MAAO,KAGL,QAAS,MAeT,aAAsB,SACtB,MAAO,UAAb,cAAc,eAAe,YAGrB,aAAsB,GS1E9B,cAAc,gBAAgB,IAElB,cAAe,IACf,UAAW,MAEvB,cAAc,eT+CV,MAAO,KAGL,QAAS,MAeT,aAAsB,SACtB,MAAO,UAAb,cAAc,cAAc,YAGpB,aAAsB,GSlE9B,cAAc,iBAEN,cAAc,MACtB,cAAc,cAEN,SAAS,SACT,cAAe,MACvB,cAAc,cAEN,UAAkB,oBAC1B,cAAc,QAAQ,cAEd,WAAY,EACZ,UAAW,MAInB,sBACI,MpB3BS,QoB4BT,WAAW,QAGf,gBACI,WAAW,KACX,OAAO,EACP,QAAQ,EACR,cAAe,KACf,WAAY,MACZ,WAAY,QAAhB,gBAAgB,SXCZ,QAAS,MWEL,QAAS,MVrCjB,gBAAgB,QAAQ,OAEpB,QAAQ,GACR,QAAQ,MACR,MAAM,MUiCV,gBAAgB,SAAS,gBTarB,MAAO,KAGL,QAAS,MAeT,aAAsB,SACtB,MAAO,UAAb,gBAAgB,SAAS,eAAe,YAGhC,aAAsB,GSjC9B,gBAAgB,SAAS,gBAAgB,IAEzB,UAAW,KACX,cAAe,KAE/B,gBAAgB,SAAS,iBTMrB,MAAO,KAGL,QAAS,MAeT,aAAsB,SACtB,MAAO,SStBD,SAAS,UTsBrB,gBAAgB,SAAS,gBAAgB,YAGjC,aAAsB,GSzB9B,gBAAgB,SAAS,iBAAiB,gBAE1B,QAAQ,EACR,gBAAgB,KAChB,MAAM,MACN,iBpBtDH,QoBuDG,MpBxDH,QoByDG,cAAe,IACf,QAAQ,aACR,SAAS,SACT,MAAM,EACN,IAAI,EACJ,UAAW,QAEX,MADU,IAEV,OAFU,IAGV,YAHU,IAIV,WAAY,QAA5B,gBAAgB,SAAS,iBAAiB,eAAe,OAErC,WpB5EV,QoB6EU,MAAO,OAC3B,gBAAgB,SAAS,iBAAiB,eAAe,QAErC,WAAY,SAEhC,gBAAgB,SAAS,iBAAiB,MAE1B,UAAW,SACX,MpB/EH,QoBgFG,cAAe,KAC/B,gBAAgB,SAAS,iBAAiB,MAE1B,MpBnFH,QoBoFG,YAAa,KAC7B,gBAAgB,SAAS,iBAAiB,KAAK,QAE/B,QAAS,IACT,QAAS,aACT,OAAQ,IACR,MAAO,IACP,WpB1FH,QoB2FG,OAAQ,cACR,cAAe,MAC/B,gBAAgB,SAAS,iBAAiB,SAE1B,UAAW,QACX,cAAe,IACf,YAAa,SACb,aAAc,OAC9B,gBAAgB,SAAS,iBAAiB,SAE1B,QAAQ,KAAxB,gBAAgB,SAAS,iBAAiB,SAAS,EAE/B,MpBxGP,QoByGO,UAAW,OACX,gBAAiB,MAArC,gBAAgB,SAAS,iBAAiB,SAAS,CAAC,OAE5B,MpBjHb,SoBqHX,gBAAgB,QAAQ,OAEZ,WpBtHK,QoBuHL,OAAO,QACP,cAAe,KAA3B,gBAAgB,QAAQ,OAAO,MAEf,MpB3HL,SoB4HX,gBAAgB,QAAQ,OAAO,gBAEf,QAAS,GClIzB,YACI,QAAQ,MACR,MAAO,KACP,cAAe,KACf,eAAgB,KAChB,cAAe,mBAAnB,WAAW,YAEH,OAAO,GACf,YAAY,gBAEJ,QAAQ,YAAhB,YAAY,gBAAgB,OAEhB,UAAW,QACX,YAAa,MACzB,YAAY,gBAAgB,aAEhB,UAAW,OACX,MrBRC,SqBUb,YAAY,QAEJ,QAAQ,WACR,WAAW,MACX,UAAW,MACX,eAAe,QAAvB,YAAY,QAAQ,cAER,UAAW,OACX,MrBlBC,QqBmBD,QAAQ,aACR,eAAe,QAM3B,eACI,QAAQ,aACR,YAAa,IACb,OAAQ,KACR,MAAO,KACP,cAAe,KACf,eAAe,OACf,SAAS,SACT,OAAO,QACP,WrBzCM,QqB0CN,WAAY,gCtBpCR,mBIJW,qBJSX,gBITW,qBJwBX,WIxBW,sBkB0CnB,cAAc,OAEN,QAAS,ItBxCT,mBIJW,qBJSX,gBITW,qBJwBX,WIxBW,qBkB8CX,QAAQ,aACR,OALO,KAMP,MANO,KAOP,SAAU,SAGV,WAA0B,8CdvBhC,iBAPiB,QAQjB,iBAAkB,0CAClB,iBAAkB,kCcuBZ,IAAK,IACL,WAAa,KACb,KAAM,IACN,cAAe,OACvB,cAAc,OAEN,WAAyC,kEACjD,cAAc,QAEN,WrBnEI,SqBmEZ,cAAc,OAAO,OAET,KAAM,KACN,YAAc,OCvE1B,cACI,SAAU,MACV,IAAK,KAEL,MAAO,EACP,MAFY,MAGZ,QAAS,KACT,QAAS,UACT,WtBCS,QsBAT,uBAAuB,IACvB,0BAA0B,IAC1B,MAAO,MvBFH,mBIJW,qBJSX,gBITW,qBJwBX,WIxBW,sBmBOnB,aAAa,SAEL,WtBbI,SsBcZ,aAAa,OAEL,WtBdE,SsBeV,aAAa,UAEL,MAjBQ,OAkBR,QAAQ,GAChB,aAAa,iBAEL,MAAM,EACN,QAAQ,GAChB,aAAa,iBAEL,MAzBQ,OA0BR,QAAQ,GAChB,cAAc,OAEN,UAAW,QACX,cAAe,KACvB,cAAc,SAEN,UAAW,OACX,MAAO,uBACf,cAAc,OAEN,SAAU,SACV,IAAK,IACL,MAAM,KACN,MAAO,MACP,gBAAgB,MC5CxB,aACI,MAAM,KACN,QAAS,MAAb,aAAa,iBAEL,QAAQ,WACR,eAAe,QACvB,aAAa,mBAEL,QAAS,IACT,cAAe,IACf,OAAQ,kBACR,QAAQ,EACR,UAAW,MAAnB,aAAa,kBAAkB,OAEnB,avBVD,QuBWC,WAAY,6BACZ,QAAQ,GAKpB,mBACI,QAAe,WACf,WAAW,OACX,OAAO,EACP,UAAU,SAAd,kBAAkB,YAEV,avBxBE,SuBwBV,kBAAkB,WAAW,OAEjB,WAAY,+BAExB,kBAAkB,SAAS,UAEnB,avBhCI,SuBiCZ,kBAAkB,OAEV,QAAQ,EACR,MvB7BG,SuBiCX,WACI,MAAM,KACN,OAAO,mBAAX,WAAW,GAEH,cAAc,kBACd,QAAS,KACT,UAAW,KACX,eAAe,WACvB,WAAW,GAEH,aAAc,kBACd,QAAS,UACT,cAAc,mBAAtB,WAAW,EAAE,YAED,aAAa,GACzB,WAAW,GAAG,MAEF,MAAO,MAGnB,WAAW,EAAE,YAAY,GAEb,cAAc,GC/D1B,kBACI,OAAO,OACP,WAAW,OACX,MAAM,QACN,SAAS,SACT,IAAI,IACJ,KAAM,IzBGF,kByBF8B,kCzBO9B,eyBP8B,kCzBY9B,cyBZ8B,kCzBiB9B,ayBjB8B,kCzBsB9B,UyBtB8B,mCAAtC,kBAAkB,OAEV,cAAc,MACtB,kBAAkB,OAEV,UAAW,OACX,YAAa,KACb,cAAe,MACvB,kBAAkB,SAEV,UAAW,QACX,UAAW,MACX,YAAa,OACb,cAAe,MCpBvB,cACI,MAAO,KACP,cAAc,MAAlB,cAAc,SAEN,QAAQ,cAAhB,cAAc,SAAS,OAEX,UAAW,MACX,YAAa,MAAzB,cAAc,SAAS,OAAO,aAEd,UAAW,KACX,YAAa,OACb,YAAa,IACb,SAAU,SACV,IAAK,KACL,WzBLH,QyBMG,MAAM,MACN,QAAS,SACT,cAAe,MAA/B,cAAc,SAAS,OAAO,YAAY,SAEtB,WzBlBR,SyBmBZ,cAAc,SAAS,OAAO,YAAY,QAEtB,WzBhBJ,SyBmBhB,cAAc,SAAS,UAEX,MzBlBC,QyBmBD,UAAW,UAAvB,cAAc,SAAS,UAAU,EAEjB,MzB1BL,QyB2BK,gBAAiB,MAAjC,cAAc,SAAS,UAAU,CAAC,OAEd,gBAAiB,WAIrC,cAAc,SAEN,WAAW,OACX,MAAO,OAEf,aAAa,OAAO,SAER,WAAW,SAKvB,mBACI,UAAW,QACX,YAAa,SACb,cAAe,KACf,WzBhDa,QyBiDb,YAAY,MACZ,SAAS,SACT,MzB/CS,QyBgDT,WAAW,kBACX,cAAe,mBAGnB,gBACI,UAAW,QACX,cAAc,KACd,MzBtDS,SyBsDb,gBAAgB,EAER,MzB1DG,QyB2DH,gBAAgB,MAAxB,gBAAgB,CAAC,OAEL,gBAAgB,WAE5B,gBAAgB,IAER,eAAe,OACf,aAAc,MC1EtB,gBCqEQ,QAAS,YACT,QAAS,SACT,QAAS,IAGT,QAAS,aACT,QAAS,UACT,QAAS,YACT,QAAS,KD3Eb,MAAM,KACN,oBAAoB,OACpB,QAAQ,EACR,OAAO,eAAX,gBAAgB,M3BIR,iB4B6FQ,E5BxFR,c4BwFQ,E5BzER,S4ByEQ,E5B7FR,a4B6FQ,E5BxFR,U4BwFQ,E5BnFR,S4BmFQ,E5BzER,K4ByEQ,ED9FR,M1BCK,Q0BAL,UAAW,QACX,OAAQ,QACR,QAAS,cACT,cAAc,kBACd,SAAS,S3BJT,mBIJW,qBJSX,gBITW,qBJwBX,WIxBW,sBuBSnB,gBAAgB,KAAK,aAET,aAAe,GAC3B,gBAAgB,KAAK,OAET,QAAS,GACT,SAAS,SACT,OAAO,KACP,KAAK,EACL,OAAQ,IACR,MAAM,EACN,W1BxBA,QDQJ,mBIJW,qBJSX,gBITW,qBJwBX,WIxBW,sBuBsBnB,gBAAgB,KAAK,QAET,M1BrBD,Q0BsBC,YAAY,MACxB,gBAAgB,KAAK,SAAS,OAElB,MAAM,MAKlB,SACI,cAAc,KEThB,UCRU,KDSV,YACQ,KADR,aAES,MlBpBX,QAAQ,OAEJ,QAAQ,GACR,QAAQ,MACR,MAAM,MgBuBV,SAAS,cfuBL,MAAO,KAGL,QAAS,MAeT,aAAsB,SACtB,MAAO,UetCL,cAAc,MfsCtB,SAAS,aAAa,YAGd,aAAsB,GmBvC9B,SAAS,aAAa,YAEd,aAAsB,GJJ9B,SAAS,aAAa,QAEV,MAAM,KACN,OAAO,YACnB,SAAS,aAAa,iBAEV,aAAa,GACzB,SAAS,aAAa,YAEV,cAAc,GAC1B,SAAS,cAAc,KAEX,UAAU,KACV,M1B/CC,S0BkDb,SAAS,cAAc,MAAM,MAEb,YAAa","file":"style.css","sourcesContent":["@import url(http://fonts.googleapis.com/css?family=Roboto:400,600,700);\n@import \"modules/vars\";\n@import \"modules/mixins\";\n@import \"partials/normalize\";\n@import \"bourbon/bourbon\";\n@import \"neat/neat\";\n\nbody {\n font-family: \"Roboto\", \"Helvetica Neue\", Arial, sans-serif;\n}\n\na {\n color: $blue-clr;\n}\n\n@import \"partials/applayout\";\n@import \"partials/navigation\";\n@import \"partials/topbar\";\n@import \"partials/ui/animations\";\n@import \"partials/ui/buttons\";\n@import \"partials/ui/form\";\n@import \"partials/ui/box\";\n@import \"partials/ui/datepicker\";\n@import \"partials/ui/modal\";\n@import \"partials/ui/poll\";\n@import \"partials/ui/tags\";\n@import \"partials/ui/dropdown\";\n@import \"partials/ui/comments\";\n@import \"partials/ui/switch\";\n@import \"partials/ui/notification\";\n@import \"partials/ui/timepicker\";\n\n@import \"partials/pages/home\";\n@import \"partials/pages/event\";\n@import \"partials/pages/newevent\";\n","/*! normalize.css v3.0.2 | MIT License | git.io/normalize */\n\n/**\n * 1. Set default font family to sans-serif.\n * 2. Prevent iOS text size adjust after orientation change, without disabling\n * user zoom.\n */\n\nhtml {\n font-family: sans-serif; /* 1 */\n -ms-text-size-adjust: 100%; /* 2 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/**\n * Remove default margin.\n */\n\nbody {\n margin: 0;\n}\n\n/* HTML5 display definitions\n ========================================================================== */\n\n/**\n * Correct `block` display not defined for any HTML5 element in IE 8/9.\n * Correct `block` display not defined for `details` or `summary` in IE 10/11\n * and Firefox.\n * Correct `block` display not defined for `main` in IE 11.\n */\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\n\n/**\n * 1. Correct `inline-block` display not defined in IE 8/9.\n * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n */\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block; /* 1 */\n vertical-align: baseline; /* 2 */\n}\n\n/**\n * Prevent modern browsers from displaying `audio` without controls.\n * Remove excess height in iOS 5 devices.\n */\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\n/**\n * Address `[hidden]` styling not present in IE 8/9/10.\n * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.\n */\n\n[hidden],\ntemplate {\n display: none;\n}\n\n/* Links\n ========================================================================== */\n\n/**\n * Remove the gray background color from active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * Improve readability when focused and also mouse hovered in all browsers.\n */\n\na:active,\na:hover {\n outline: 0;\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n */\n\nabbr[title] {\n border-bottom: 1px dotted;\n}\n\n/**\n * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n */\n\nb,\nstrong {\n font-weight: bold;\n}\n\n/**\n * Address styling not present in Safari and Chrome.\n */\n\ndfn {\n font-style: italic;\n}\n\n/**\n * Address variable `h1` font-size and margin within `section` and `article`\n * contexts in Firefox 4+, Safari, and Chrome.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/**\n * Address styling not present in IE 8/9.\n */\n\nmark {\n background: #ff0;\n color: #000;\n}\n\n/**\n * Address inconsistent and variable font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` affecting `line-height` in all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -0.5em;\n}\n\nsub {\n bottom: -0.25em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove border when inside `a` element in IE 8/9/10.\n */\n\nimg {\n border: 0;\n}\n\n/**\n * Correct overflow not hidden in IE 9/10/11.\n */\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * Address margin not present in IE 8/9 and Safari.\n */\n\nfigure {\n margin: 1em 40px;\n}\n\n/**\n * Address differences between Firefox and other browsers.\n */\n\nhr {\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n height: 0;\n}\n\n/**\n * Contain overflow in all browsers.\n */\n\npre {\n overflow: auto;\n}\n\n/**\n * Address odd `em`-unit font size rendering in all browsers.\n */\n\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * Known limitation: by default, Chrome and Safari on OS X allow very limited\n * styling of `select`, unless a `border` property is set.\n */\n\n/**\n * 1. Correct color not being inherited.\n * Known issue: affects color of disabled elements.\n * 2. Correct font properties not being inherited.\n * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit; /* 1 */\n font: inherit; /* 2 */\n margin: 0; /* 3 */\n}\n\n/**\n * Address `overflow` set to `hidden` in IE 8/9/10/11.\n */\n\nbutton {\n overflow: visible;\n}\n\n/**\n * Address inconsistent `text-transform` inheritance for `button` and `select`.\n * All other form control elements do not inherit `text-transform` values.\n * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n * Correct `select` style inheritance in Firefox.\n */\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/**\n * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n * and `video` controls.\n * 2. Correct inability to style clickable `input` types in iOS.\n * 3. Improve usability and consistency of cursor style between image-type\n * `input` and others.\n */\n\nbutton,\nhtml input[type=\"button\"], /* 1 */\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button; /* 2 */\n cursor: pointer; /* 3 */\n}\n\n/**\n * Re-set default cursor for disabled elements.\n */\n\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n/**\n * Remove inner padding and border in Firefox 4+.\n */\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n/**\n * Address Firefox 4+ setting `line-height` on `input` using `!important` in\n * the UA stylesheet.\n */\n\ninput {\n line-height: normal;\n}\n\n/**\n * It's recommended that you don't attempt to style these elements.\n * Firefox's implementation doesn't respect box-sizing, padding, or width.\n *\n * 1. Address box sizing set to `content-box` in IE 8/9/10.\n * 2. Remove excess padding in IE 8/9/10.\n */\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Fix the cursor style for Chrome's increment/decrement buttons. For certain\n * `font-size` values of the `input`, it causes the cursor style of the\n * decrement button to change from `default` to `text`.\n */\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n * 2. Address `box-sizing` set to `border-box` in Safari and Chrome\n * (include `-moz` to future-proof).\n */\n\ninput[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n -moz-box-sizing: content-box;\n -webkit-box-sizing: content-box; /* 2 */\n box-sizing: content-box;\n}\n\n/**\n * Remove inner padding and search cancel button in Safari and Chrome on OS X.\n * Safari (but not Chrome) clips the cancel button when the search input has\n * padding (and `textfield` appearance).\n */\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * Define consistent border, margin, and padding.\n */\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\n/**\n * 1. Correct `color` not being inherited in IE 8/9/10/11.\n * 2. Remove padding so people aren't caught out if they zero out fieldsets.\n */\n\nlegend {\n border: 0; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Remove default vertical scrollbar in IE 8/9/10/11.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * Don't inherit the `font-weight` (applied by a rule above).\n * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n */\n\noptgroup {\n font-weight: bold;\n}\n\n/* Tables\n ========================================================================== */\n\n/**\n * Remove most spacing between table cells.\n */\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n","@if $border-box-sizing == true {\n html { // http://bit.ly/1qk2tVR\n @include box-sizing(border-box);\n }\n\n * {\n &, &:before, &:after {\n @include box-sizing(inherit);\n }\n }\n}\n","//************************************************************************//\n// Example: @include prefixer(border-radius, $radii, webkit ms spec);\n//************************************************************************//\n// Variables located in /settings/_prefixer.scss\n\n@mixin prefixer ($property, $value, $prefixes) {\n @each $prefix in $prefixes {\n @if $prefix == webkit {\n @if $prefix-for-webkit {\n -webkit-#{$property}: $value;\n }\n }\n @else if $prefix == moz {\n @if $prefix-for-mozilla {\n -moz-#{$property}: $value;\n }\n }\n @else if $prefix == ms {\n @if $prefix-for-microsoft {\n -ms-#{$property}: $value;\n }\n }\n @else if $prefix == o {\n @if $prefix-for-opera {\n -o-#{$property}: $value;\n }\n }\n @else if $prefix == spec {\n @if $prefix-for-spec {\n #{$property}: $value;\n }\n }\n @else {\n @warn \"Unrecognized prefix: #{$prefix}\";\n }\n }\n}\n\n@mixin disable-prefix-for-all() {\n $prefix-for-webkit: false !global;\n $prefix-for-mozilla: false !global;\n $prefix-for-microsoft: false !global;\n $prefix-for-opera: false !global;\n $prefix-for-spec: false !global;\n}\n","$dark-blue-clr: #2E3A54;\n$green-clr: #75C062;\n$pink-clr: #E55A84;\n$red-clr: #E06488;\n$blue-clr: #5AC4E5;\n$light-blue-clr: #F5F6F8;\n$orangered-clr: #FF5D5D;\n\n$text-clr: #3D4043;\n$text-2-clr: #828B9A;\n$text-3-clr: #AEB4BE;\n$border-clr: #D9DDE3;\n$navigation-bg-clr: $dark-blue-clr;\n$background-clr: $light-blue-clr;\n\n$color-collection: (#8A75AE, #80A1DA, #B3DD8B, #7EE4E4, #FCD285, #F7967F, #E8669D, #F7B6E7, #F99D7B, #88D0CB);\n","$navigation-width: 200px;\n$top-bar-height: 60px;\n$min-width: 820px;\n\n.outer-container {\n width:100%;\n height:100%;\n overflow:hidden;\n}\n\nbody {\n background: $background-clr;\n color: $text-clr;\n min-width: $min-width;\n}\n\n.main-navigation {\n position:fixed;\n z-index: 2000;\n min-height:100%;\n width: $navigation-width;\n background: $navigation-bg-clr;\n color: white;\n .wrapper {\n width: $navigation-width;\n padding: 0 40px;\n }\n}\n\n.main-content {\n background: $background-clr;\n margin-left: $navigation-width;\n height:100%;\n overflow-y:scroll;\n .main-view {\n position:relative;\n padding: 100px 40px 20px 40px;\n width:100%;\n min-height: 600px;\n height:100%;\n }\n}\n\n.top-bar {\n width:100%;\n position:fixed;\n top:0;\n background: white;\n height: $top-bar-height;\n z-index: 1000;\n line-height: $top-bar-height;\n}\n","$top-space: 15px;\n$nav-pad: 20px;\n\n@mixin expand {\n padding-left:$nav-pad;\n padding-right: $nav-pad;\n margin-left: $nav-pad * -1;\n width:100%;\n @include box-sizing(content-box);\n}\n\n.main-navigation {\n padding: 0 $nav-pad;\n .logo {\n display:block;\n height: 60px;\n line-height:60px;\n background: darken($navigation-bg-clr, 3%);\n position:relative;\n @include transition(background 0.2s ease-in-out);\n @include expand;\n img {\n position:absolute;\n top:50%;\n margin-top:-12px;\n }\n }\n .menu-section {\n @include expand;\n font-size:10px;\n text-transform:uppercase;\n padding : 10px $nav-pad;\n border-bottom: 1px solid darken($navigation-bg-clr, 3%);\n margin-top:20px;\n margin-bottom:10px;\n }\n .create-new {\n display:block;\n font-size: em(12px);\n color: white;\n background: $green-clr;\n text-decoration: none;\n padding: 12px 5px;\n border-radius: 2px;\n text-align: center;\n font-weight: bold;\n @include box-sizing(content-box);\n width: 100%;\n margin-left:-5px;\n }\n .navigation {\n .links {\n padding:0 ;\n margin:0;\n list-style: none;\n a {\n display:block;\n text-decoration: none;\n color: #616F8D;\n line-height: em(40px);\n font-size: em(12px);\n font-weight:bold;\n &:hover {\n opacity: 1;\n color:white;\n .icon {\n background-position: center bottom;\n }\n }\n &.active {\n opacity:1;\n color: white;\n cursor: default;\n .icon {\n background-position: center bottom;\n }\n }\n .text {\n }\n .icon {\n display:inline-block;\n vertical-align:middle;\n margin-right: 10px;\n width:24px;\n height:24px;\n background-size: 24px 48px;\n }\n\n }\n }\n }\n}\n","// Shorthand mixin. Supports multiple parentheses-deliminated values for each variable.\n// Example: @include transition (all 2s ease-in-out);\n// @include transition (opacity 1s ease-in 2s, width 2s ease-out);\n// @include transition-property (transform, opacity);\n\n@mixin transition ($properties...) {\n // Fix for vendor-prefix transform property\n $needs-prefixes: false;\n $webkit: ();\n $moz: ();\n $spec: ();\n\n // Create lists for vendor-prefixed transform\n @each $list in $properties {\n @if nth($list, 1) == \"transform\" {\n $needs-prefixes: true;\n $list1: -webkit-transform;\n $list2: -moz-transform;\n $list3: ();\n\n @each $var in $list {\n $list3: join($list3, $var);\n\n @if $var != \"transform\" {\n $list1: join($list1, $var);\n $list2: join($list2, $var);\n }\n }\n\n $webkit: append($webkit, $list1);\n $moz: append($moz, $list2);\n $spec: append($spec, $list3);\n }\n\n // Create lists for non-prefixed transition properties\n @else {\n $webkit: append($webkit, $list, comma);\n $moz: append($moz, $list, comma);\n $spec: append($spec, $list, comma);\n }\n }\n\n @if $needs-prefixes {\n -webkit-transition: $webkit;\n -moz-transition: $moz;\n transition: $spec;\n }\n @else {\n @if length($properties) >= 1 {\n @include prefixer(transition, $properties, webkit moz spec);\n }\n\n @else {\n $properties: all 0.15s ease-out 0s;\n @include prefixer(transition, $properties, webkit moz spec);\n }\n }\n}\n\n@mixin transition-property ($properties...) {\n -webkit-transition-property: transition-property-names($properties, 'webkit');\n -moz-transition-property: transition-property-names($properties, 'moz');\n transition-property: transition-property-names($properties, false);\n}\n\n@mixin transition-duration ($times...) {\n @include prefixer(transition-duration, $times, webkit moz spec);\n}\n\n@mixin transition-timing-function ($motions...) {\n// ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier()\n @include prefixer(transition-timing-function, $motions, webkit moz spec);\n}\n\n@mixin transition-delay ($times...) {\n @include prefixer(transition-delay, $times, webkit moz spec);\n}\n",".top-bar {\n float: left;\n width: 100%;\n box-shadow: 0 1px 2px rgba($border-clr, 0.5);\n .primary {\n list-style:none;\n margin:0;\n padding-left:20px;\n margin-top:-4px;\n .item {\n img {\n display:inline-block;\n vertical-align:middle;\n }\n .hoverable {\n padding: 8px 12px;\n height: 100%;\n text-decoration:none;\n color: $text-clr;\n font-size: em(12px);\n border: 1px solid transparent;\n border-radius: 3px;\n vertical-align:bottom;\n border-color: $border-clr;\n span {\n vertical-align:middle;\n }\n &:hover {\n border-color: darken($border-clr,10%);\n }\n }\n &.dropdown.open .dropdown-toggle {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n border-color: $border-clr;\n border-bottom-color: white;\n position: relative;\n z-index:1001;\n }\n .dropdown-menu {\n background: white;\n color: $text-clr;\n font-size: em(16px);\n line-height: 1.5em;\n border: 1px solid $border-clr;\n border-radius: 3px;\n padding: 20px;\n margin-top:-14px;\n border-top-left-radius:0;\n box-shadow: 0 2px 3px $border-clr;\n .dropdown-title {\n font-weight:bold;\n font-size: em(15px);\n }\n .dropdown-content {\n font-size: em(14px);\n line-height: 1.5em;\n color: $text-2-clr;\n }\n }\n }\n\n }\n}\n","@charset \"UTF-8\";\n/*!\nAnimate.css - http://daneden.me/animate\nLicensed under the MIT license - http://opensource.org/licenses/MIT\n\nCopyright (c) 2014 Daniel Eden\n*/\n\n.animated {\n -webkit-animation-duration: 0.3s;\n animation-duration: 0.3s;\n -webkit-animation-fill-mode: both;\n animation-fill-mode: both;\n}\n\n.animated.infinite {\n -webkit-animation-iteration-count: infinite;\n animation-iteration-count: infinite;\n}\n\n.animated.hinge {\n -webkit-animation-duration: 2s;\n animation-duration: 2s;\n}\n\n@-webkit-keyframes bounce {\n 0%, 20%, 53%, 80%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n -webkit-transform: translate3d(0,0,0);\n transform: translate3d(0,0,0);\n }\n\n 40%, 43% {\n -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);\n transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);\n -webkit-transform: translate3d(0, -30px, 0);\n transform: translate3d(0, -30px, 0);\n }\n\n 70% {\n -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);\n transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);\n -webkit-transform: translate3d(0, -15px, 0);\n transform: translate3d(0, -15px, 0);\n }\n\n 90% {\n -webkit-transform: translate3d(0,-4px,0);\n transform: translate3d(0,-4px,0);\n }\n}\n\n@keyframes bounce {\n 0%, 20%, 53%, 80%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n -webkit-transform: translate3d(0,0,0);\n transform: translate3d(0,0,0);\n }\n\n 40%, 43% {\n -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);\n transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);\n -webkit-transform: translate3d(0, -30px, 0);\n transform: translate3d(0, -30px, 0);\n }\n\n 70% {\n -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);\n transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);\n -webkit-transform: translate3d(0, -15px, 0);\n transform: translate3d(0, -15px, 0);\n }\n\n 90% {\n -webkit-transform: translate3d(0,-4px,0);\n transform: translate3d(0,-4px,0);\n }\n}\n\n.bounce {\n -webkit-animation-name: bounce;\n animation-name: bounce;\n -webkit-transform-origin: center bottom;\n -ms-transform-origin: center bottom;\n transform-origin: center bottom;\n}\n\n@-webkit-keyframes flash {\n 0%, 50%, 100% {\n opacity: 1;\n }\n\n 25%, 75% {\n opacity: 0;\n }\n}\n\n@keyframes flash {\n 0%, 50%, 100% {\n opacity: 1;\n }\n\n 25%, 75% {\n opacity: 0;\n }\n}\n\n.flash {\n -webkit-animation-name: flash;\n animation-name: flash;\n}\n\n/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */\n\n@-webkit-keyframes pulse {\n 0% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n\n 50% {\n -webkit-transform: scale3d(1.05, 1.05, 1.05);\n transform: scale3d(1.05, 1.05, 1.05);\n }\n\n 100% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n}\n\n@keyframes pulse {\n 0% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n\n 50% {\n -webkit-transform: scale3d(1.05, 1.05, 1.05);\n transform: scale3d(1.05, 1.05, 1.05);\n }\n\n 100% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n}\n\n.pulse {\n -webkit-animation-name: pulse;\n animation-name: pulse;\n}\n\n@-webkit-keyframes rubberBand {\n 0% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n\n 30% {\n -webkit-transform: scale3d(1.25, 0.75, 1);\n transform: scale3d(1.25, 0.75, 1);\n }\n\n 40% {\n -webkit-transform: scale3d(0.75, 1.25, 1);\n transform: scale3d(0.75, 1.25, 1);\n }\n\n 50% {\n -webkit-transform: scale3d(1.15, 0.85, 1);\n transform: scale3d(1.15, 0.85, 1);\n }\n\n 65% {\n -webkit-transform: scale3d(.95, 1.05, 1);\n transform: scale3d(.95, 1.05, 1);\n }\n\n 75% {\n -webkit-transform: scale3d(1.05, .95, 1);\n transform: scale3d(1.05, .95, 1);\n }\n\n 100% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n}\n\n@keyframes rubberBand {\n 0% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n\n 30% {\n -webkit-transform: scale3d(1.25, 0.75, 1);\n transform: scale3d(1.25, 0.75, 1);\n }\n\n 40% {\n -webkit-transform: scale3d(0.75, 1.25, 1);\n transform: scale3d(0.75, 1.25, 1);\n }\n\n 50% {\n -webkit-transform: scale3d(1.15, 0.85, 1);\n transform: scale3d(1.15, 0.85, 1);\n }\n\n 65% {\n -webkit-transform: scale3d(.95, 1.05, 1);\n transform: scale3d(.95, 1.05, 1);\n }\n\n 75% {\n -webkit-transform: scale3d(1.05, .95, 1);\n transform: scale3d(1.05, .95, 1);\n }\n\n 100% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n}\n\n.rubberBand {\n -webkit-animation-name: rubberBand;\n animation-name: rubberBand;\n}\n\n@-webkit-keyframes shake {\n 0%, 100% {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n }\n\n 10%, 30%, 50%, 70%, 90% {\n -webkit-transform: translate3d(-10px, 0, 0);\n transform: translate3d(-10px, 0, 0);\n }\n\n 20%, 40%, 60%, 80% {\n -webkit-transform: translate3d(10px, 0, 0);\n transform: translate3d(10px, 0, 0);\n }\n}\n\n@keyframes shake {\n 0%, 100% {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n }\n\n 10%, 30%, 50%, 70%, 90% {\n -webkit-transform: translate3d(-10px, 0, 0);\n transform: translate3d(-10px, 0, 0);\n }\n\n 20%, 40%, 60%, 80% {\n -webkit-transform: translate3d(10px, 0, 0);\n transform: translate3d(10px, 0, 0);\n }\n}\n\n.shake {\n -webkit-animation-name: shake;\n animation-name: shake;\n}\n\n@-webkit-keyframes swing {\n 20% {\n -webkit-transform: rotate3d(0, 0, 1, 15deg);\n transform: rotate3d(0, 0, 1, 15deg);\n }\n\n 40% {\n -webkit-transform: rotate3d(0, 0, 1, -10deg);\n transform: rotate3d(0, 0, 1, -10deg);\n }\n\n 60% {\n -webkit-transform: rotate3d(0, 0, 1, 5deg);\n transform: rotate3d(0, 0, 1, 5deg);\n }\n\n 80% {\n -webkit-transform: rotate3d(0, 0, 1, -5deg);\n transform: rotate3d(0, 0, 1, -5deg);\n }\n\n 100% {\n -webkit-transform: rotate3d(0, 0, 1, 0deg);\n transform: rotate3d(0, 0, 1, 0deg);\n }\n}\n\n@keyframes swing {\n 20% {\n -webkit-transform: rotate3d(0, 0, 1, 15deg);\n transform: rotate3d(0, 0, 1, 15deg);\n }\n\n 40% {\n -webkit-transform: rotate3d(0, 0, 1, -10deg);\n transform: rotate3d(0, 0, 1, -10deg);\n }\n\n 60% {\n -webkit-transform: rotate3d(0, 0, 1, 5deg);\n transform: rotate3d(0, 0, 1, 5deg);\n }\n\n 80% {\n -webkit-transform: rotate3d(0, 0, 1, -5deg);\n transform: rotate3d(0, 0, 1, -5deg);\n }\n\n 100% {\n -webkit-transform: rotate3d(0, 0, 1, 0deg);\n transform: rotate3d(0, 0, 1, 0deg);\n }\n}\n\n.swing {\n -webkit-transform-origin: top center;\n -ms-transform-origin: top center;\n transform-origin: top center;\n -webkit-animation-name: swing;\n animation-name: swing;\n}\n\n@-webkit-keyframes tada {\n 0% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n\n 10%, 20% {\n -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);\n transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);\n }\n\n 30%, 50%, 70%, 90% {\n -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);\n transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);\n }\n\n 40%, 60%, 80% {\n -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);\n transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);\n }\n\n 100% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n}\n\n@keyframes tada {\n 0% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n\n 10%, 20% {\n -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);\n transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);\n }\n\n 30%, 50%, 70%, 90% {\n -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);\n transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);\n }\n\n 40%, 60%, 80% {\n -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);\n transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);\n }\n\n 100% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n}\n\n.tada {\n -webkit-animation-name: tada;\n animation-name: tada;\n}\n\n/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */\n\n@-webkit-keyframes wobble {\n 0% {\n -webkit-transform: none;\n transform: none;\n }\n\n 15% {\n -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);\n transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);\n }\n\n 30% {\n -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);\n transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);\n }\n\n 45% {\n -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);\n transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);\n }\n\n 60% {\n -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);\n transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);\n }\n\n 75% {\n -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);\n transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);\n }\n\n 100% {\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes wobble {\n 0% {\n -webkit-transform: none;\n transform: none;\n }\n\n 15% {\n -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);\n transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);\n }\n\n 30% {\n -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);\n transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);\n }\n\n 45% {\n -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);\n transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);\n }\n\n 60% {\n -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);\n transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);\n }\n\n 75% {\n -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);\n transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);\n }\n\n 100% {\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.wobble {\n -webkit-animation-name: wobble;\n animation-name: wobble;\n}\n\n@-webkit-keyframes bounceIn {\n 0%, 20%, 40%, 60%, 80%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n }\n\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.3, .3, .3);\n transform: scale3d(.3, .3, .3);\n }\n\n 20% {\n -webkit-transform: scale3d(1.1, 1.1, 1.1);\n transform: scale3d(1.1, 1.1, 1.1);\n }\n\n 40% {\n -webkit-transform: scale3d(.9, .9, .9);\n transform: scale3d(.9, .9, .9);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: scale3d(1.03, 1.03, 1.03);\n transform: scale3d(1.03, 1.03, 1.03);\n }\n\n 80% {\n -webkit-transform: scale3d(.97, .97, .97);\n transform: scale3d(.97, .97, .97);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n}\n\n@keyframes bounceIn {\n 0%, 20%, 40%, 60%, 80%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n }\n\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.3, .3, .3);\n transform: scale3d(.3, .3, .3);\n }\n\n 20% {\n -webkit-transform: scale3d(1.1, 1.1, 1.1);\n transform: scale3d(1.1, 1.1, 1.1);\n }\n\n 40% {\n -webkit-transform: scale3d(.9, .9, .9);\n transform: scale3d(.9, .9, .9);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: scale3d(1.03, 1.03, 1.03);\n transform: scale3d(1.03, 1.03, 1.03);\n }\n\n 80% {\n -webkit-transform: scale3d(.97, .97, .97);\n transform: scale3d(.97, .97, .97);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n}\n\n.bounceIn {\n -webkit-animation-name: bounceIn;\n animation-name: bounceIn;\n -webkit-animation-duration: .75s;\n animation-duration: .75s;\n}\n\n@-webkit-keyframes bounceInDown {\n 0%, 60%, 75%, 90%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n }\n\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, -3000px, 0);\n transform: translate3d(0, -3000px, 0);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: translate3d(0, 25px, 0);\n transform: translate3d(0, 25px, 0);\n }\n\n 75% {\n -webkit-transform: translate3d(0, -10px, 0);\n transform: translate3d(0, -10px, 0);\n }\n\n 90% {\n -webkit-transform: translate3d(0, 5px, 0);\n transform: translate3d(0, 5px, 0);\n }\n\n 100% {\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes bounceInDown {\n 0%, 60%, 75%, 90%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n }\n\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, -3000px, 0);\n transform: translate3d(0, -3000px, 0);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: translate3d(0, 25px, 0);\n transform: translate3d(0, 25px, 0);\n }\n\n 75% {\n -webkit-transform: translate3d(0, -10px, 0);\n transform: translate3d(0, -10px, 0);\n }\n\n 90% {\n -webkit-transform: translate3d(0, 5px, 0);\n transform: translate3d(0, 5px, 0);\n }\n\n 100% {\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.bounceInDown {\n -webkit-animation-name: bounceInDown;\n animation-name: bounceInDown;\n}\n\n@-webkit-keyframes bounceInLeft {\n 0%, 60%, 75%, 90%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n }\n\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(-3000px, 0, 0);\n transform: translate3d(-3000px, 0, 0);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: translate3d(25px, 0, 0);\n transform: translate3d(25px, 0, 0);\n }\n\n 75% {\n -webkit-transform: translate3d(-10px, 0, 0);\n transform: translate3d(-10px, 0, 0);\n }\n\n 90% {\n -webkit-transform: translate3d(5px, 0, 0);\n transform: translate3d(5px, 0, 0);\n }\n\n 100% {\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes bounceInLeft {\n 0%, 60%, 75%, 90%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n }\n\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(-3000px, 0, 0);\n transform: translate3d(-3000px, 0, 0);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: translate3d(25px, 0, 0);\n transform: translate3d(25px, 0, 0);\n }\n\n 75% {\n -webkit-transform: translate3d(-10px, 0, 0);\n transform: translate3d(-10px, 0, 0);\n }\n\n 90% {\n -webkit-transform: translate3d(5px, 0, 0);\n transform: translate3d(5px, 0, 0);\n }\n\n 100% {\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.bounceInLeft {\n -webkit-animation-name: bounceInLeft;\n animation-name: bounceInLeft;\n}\n\n@-webkit-keyframes bounceInRight {\n 0%, 60%, 75%, 90%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n }\n\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(3000px, 0, 0);\n transform: translate3d(3000px, 0, 0);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: translate3d(-25px, 0, 0);\n transform: translate3d(-25px, 0, 0);\n }\n\n 75% {\n -webkit-transform: translate3d(10px, 0, 0);\n transform: translate3d(10px, 0, 0);\n }\n\n 90% {\n -webkit-transform: translate3d(-5px, 0, 0);\n transform: translate3d(-5px, 0, 0);\n }\n\n 100% {\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes bounceInRight {\n 0%, 60%, 75%, 90%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n }\n\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(3000px, 0, 0);\n transform: translate3d(3000px, 0, 0);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: translate3d(-25px, 0, 0);\n transform: translate3d(-25px, 0, 0);\n }\n\n 75% {\n -webkit-transform: translate3d(10px, 0, 0);\n transform: translate3d(10px, 0, 0);\n }\n\n 90% {\n -webkit-transform: translate3d(-5px, 0, 0);\n transform: translate3d(-5px, 0, 0);\n }\n\n 100% {\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.bounceInRight {\n -webkit-animation-name: bounceInRight;\n animation-name: bounceInRight;\n}\n\n@-webkit-keyframes bounceInUp {\n 0%, 60%, 75%, 90%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n }\n\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, 3000px, 0);\n transform: translate3d(0, 3000px, 0);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: translate3d(0, -20px, 0);\n transform: translate3d(0, -20px, 0);\n }\n\n 75% {\n -webkit-transform: translate3d(0, 10px, 0);\n transform: translate3d(0, 10px, 0);\n }\n\n 90% {\n -webkit-transform: translate3d(0, -5px, 0);\n transform: translate3d(0, -5px, 0);\n }\n\n 100% {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n }\n}\n\n@keyframes bounceInUp {\n 0%, 60%, 75%, 90%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n }\n\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, 3000px, 0);\n transform: translate3d(0, 3000px, 0);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: translate3d(0, -20px, 0);\n transform: translate3d(0, -20px, 0);\n }\n\n 75% {\n -webkit-transform: translate3d(0, 10px, 0);\n transform: translate3d(0, 10px, 0);\n }\n\n 90% {\n -webkit-transform: translate3d(0, -5px, 0);\n transform: translate3d(0, -5px, 0);\n }\n\n 100% {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n }\n}\n\n.bounceInUp {\n -webkit-animation-name: bounceInUp;\n animation-name: bounceInUp;\n}\n\n@-webkit-keyframes bounceOut {\n 20% {\n -webkit-transform: scale3d(.9, .9, .9);\n transform: scale3d(.9, .9, .9);\n }\n\n 50%, 55% {\n opacity: 1;\n -webkit-transform: scale3d(1.1, 1.1, 1.1);\n transform: scale3d(1.1, 1.1, 1.1);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: scale3d(.3, .3, .3);\n transform: scale3d(.3, .3, .3);\n }\n}\n\n@keyframes bounceOut {\n 20% {\n -webkit-transform: scale3d(.9, .9, .9);\n transform: scale3d(.9, .9, .9);\n }\n\n 50%, 55% {\n opacity: 1;\n -webkit-transform: scale3d(1.1, 1.1, 1.1);\n transform: scale3d(1.1, 1.1, 1.1);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: scale3d(.3, .3, .3);\n transform: scale3d(.3, .3, .3);\n }\n}\n\n.bounceOut {\n -webkit-animation-name: bounceOut;\n animation-name: bounceOut;\n -webkit-animation-duration: .75s;\n animation-duration: .75s;\n}\n\n@-webkit-keyframes bounceOutDown {\n 20% {\n -webkit-transform: translate3d(0, 10px, 0);\n transform: translate3d(0, 10px, 0);\n }\n\n 40%, 45% {\n opacity: 1;\n -webkit-transform: translate3d(0, -20px, 0);\n transform: translate3d(0, -20px, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, 2000px, 0);\n transform: translate3d(0, 2000px, 0);\n }\n}\n\n@keyframes bounceOutDown {\n 20% {\n -webkit-transform: translate3d(0, 10px, 0);\n transform: translate3d(0, 10px, 0);\n }\n\n 40%, 45% {\n opacity: 1;\n -webkit-transform: translate3d(0, -20px, 0);\n transform: translate3d(0, -20px, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, 2000px, 0);\n transform: translate3d(0, 2000px, 0);\n }\n}\n\n.bounceOutDown {\n -webkit-animation-name: bounceOutDown;\n animation-name: bounceOutDown;\n}\n\n@-webkit-keyframes bounceOutLeft {\n 20% {\n opacity: 1;\n -webkit-transform: translate3d(20px, 0, 0);\n transform: translate3d(20px, 0, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(-2000px, 0, 0);\n transform: translate3d(-2000px, 0, 0);\n }\n}\n\n@keyframes bounceOutLeft {\n 20% {\n opacity: 1;\n -webkit-transform: translate3d(20px, 0, 0);\n transform: translate3d(20px, 0, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(-2000px, 0, 0);\n transform: translate3d(-2000px, 0, 0);\n }\n}\n\n.bounceOutLeft {\n -webkit-animation-name: bounceOutLeft;\n animation-name: bounceOutLeft;\n}\n\n@-webkit-keyframes bounceOutRight {\n 20% {\n opacity: 1;\n -webkit-transform: translate3d(-20px, 0, 0);\n transform: translate3d(-20px, 0, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(2000px, 0, 0);\n transform: translate3d(2000px, 0, 0);\n }\n}\n\n@keyframes bounceOutRight {\n 20% {\n opacity: 1;\n -webkit-transform: translate3d(-20px, 0, 0);\n transform: translate3d(-20px, 0, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(2000px, 0, 0);\n transform: translate3d(2000px, 0, 0);\n }\n}\n\n.bounceOutRight {\n -webkit-animation-name: bounceOutRight;\n animation-name: bounceOutRight;\n}\n\n@-webkit-keyframes bounceOutUp {\n 20% {\n -webkit-transform: translate3d(0, -10px, 0);\n transform: translate3d(0, -10px, 0);\n }\n\n 40%, 45% {\n opacity: 1;\n -webkit-transform: translate3d(0, 20px, 0);\n transform: translate3d(0, 20px, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, -2000px, 0);\n transform: translate3d(0, -2000px, 0);\n }\n}\n\n@keyframes bounceOutUp {\n 20% {\n -webkit-transform: translate3d(0, -10px, 0);\n transform: translate3d(0, -10px, 0);\n }\n\n 40%, 45% {\n opacity: 1;\n -webkit-transform: translate3d(0, 20px, 0);\n transform: translate3d(0, 20px, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, -2000px, 0);\n transform: translate3d(0, -2000px, 0);\n }\n}\n\n.bounceOutUp {\n -webkit-animation-name: bounceOutUp;\n animation-name: bounceOutUp;\n}\n\n@-webkit-keyframes fadeIn {\n 0% {opacity: 0;}\n 100% {opacity: 1;}\n}\n\n@keyframes fadeIn {\n 0% {opacity: 0;}\n 100% {opacity: 1;}\n}\n\n.fadeIn {\n -webkit-animation-name: fadeIn;\n animation-name: fadeIn;\n}\n\n@-webkit-keyframes fadeInDown {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, -100%, 0);\n transform: translate3d(0, -100%, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes fadeInDown {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, -100%, 0);\n transform: translate3d(0, -100%, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.fadeInDown {\n -webkit-animation-name: fadeInDown;\n animation-name: fadeInDown;\n}\n\n@-webkit-keyframes fadeInDownBig {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, -2000px, 0);\n transform: translate3d(0, -2000px, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes fadeInDownBig {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, -2000px, 0);\n transform: translate3d(0, -2000px, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.fadeInDownBig {\n -webkit-animation-name: fadeInDownBig;\n animation-name: fadeInDownBig;\n}\n\n@-webkit-keyframes fadeInLeft {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes fadeInLeft {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.fadeInLeft {\n -webkit-animation-name: fadeInLeft;\n animation-name: fadeInLeft;\n}\n\n@-webkit-keyframes fadeInLeftBig {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(-2000px, 0, 0);\n transform: translate3d(-2000px, 0, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes fadeInLeftBig {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(-2000px, 0, 0);\n transform: translate3d(-2000px, 0, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.fadeInLeftBig {\n -webkit-animation-name: fadeInLeftBig;\n animation-name: fadeInLeftBig;\n}\n\n@-webkit-keyframes fadeInRight {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes fadeInRight {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.fadeInRight {\n -webkit-animation-name: fadeInRight;\n animation-name: fadeInRight;\n}\n\n@-webkit-keyframes fadeInRightBig {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(2000px, 0, 0);\n transform: translate3d(2000px, 0, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes fadeInRightBig {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(2000px, 0, 0);\n transform: translate3d(2000px, 0, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.fadeInRightBig {\n -webkit-animation-name: fadeInRightBig;\n animation-name: fadeInRightBig;\n}\n\n@-webkit-keyframes fadeInUp {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, 100%, 0);\n transform: translate3d(0, 100%, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes fadeInUp {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, 100%, 0);\n transform: translate3d(0, 100%, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.fadeInUp {\n -webkit-animation-name: fadeInUp;\n animation-name: fadeInUp;\n}\n\n@-webkit-keyframes fadeInUpBig {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, 2000px, 0);\n transform: translate3d(0, 2000px, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes fadeInUpBig {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, 2000px, 0);\n transform: translate3d(0, 2000px, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.fadeInUpBig {\n -webkit-animation-name: fadeInUpBig;\n animation-name: fadeInUpBig;\n}\n\n@-webkit-keyframes fadeOut {\n 0% {opacity: 1;}\n 100% {opacity: 0;}\n}\n\n@keyframes fadeOut {\n 0% {opacity: 1;}\n 100% {opacity: 0;}\n}\n\n.fadeOut {\n -webkit-animation-name: fadeOut;\n animation-name: fadeOut;\n}\n\n@-webkit-keyframes fadeOutDown {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, 100%, 0);\n transform: translate3d(0, 100%, 0);\n }\n}\n\n@keyframes fadeOutDown {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, 100%, 0);\n transform: translate3d(0, 100%, 0);\n }\n}\n\n.fadeOutDown {\n -webkit-animation-name: fadeOutDown;\n animation-name: fadeOutDown;\n}\n\n@-webkit-keyframes fadeOutDownBig {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, 2000px, 0);\n transform: translate3d(0, 2000px, 0);\n }\n}\n\n@keyframes fadeOutDownBig {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, 2000px, 0);\n transform: translate3d(0, 2000px, 0);\n }\n}\n\n.fadeOutDownBig {\n -webkit-animation-name: fadeOutDownBig;\n animation-name: fadeOutDownBig;\n}\n\n@-webkit-keyframes fadeOutLeft {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n@keyframes fadeOutLeft {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n.fadeOutLeft {\n -webkit-animation-name: fadeOutLeft;\n animation-name: fadeOutLeft;\n}\n\n@-webkit-keyframes fadeOutLeftBig {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(-2000px, 0, 0);\n transform: translate3d(-2000px, 0, 0);\n }\n}\n\n@keyframes fadeOutLeftBig {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(-2000px, 0, 0);\n transform: translate3d(-2000px, 0, 0);\n }\n}\n\n.fadeOutLeftBig {\n -webkit-animation-name: fadeOutLeftBig;\n animation-name: fadeOutLeftBig;\n}\n\n@-webkit-keyframes fadeOutRight {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n }\n}\n\n@keyframes fadeOutRight {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n }\n}\n\n.fadeOutRight {\n -webkit-animation-name: fadeOutRight;\n animation-name: fadeOutRight;\n}\n\n@-webkit-keyframes fadeOutRightBig {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(2000px, 0, 0);\n transform: translate3d(2000px, 0, 0);\n }\n}\n\n@keyframes fadeOutRightBig {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(2000px, 0, 0);\n transform: translate3d(2000px, 0, 0);\n }\n}\n\n.fadeOutRightBig {\n -webkit-animation-name: fadeOutRightBig;\n animation-name: fadeOutRightBig;\n}\n\n@-webkit-keyframes fadeOutUp {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, -100%, 0);\n transform: translate3d(0, -100%, 0);\n }\n}\n\n@keyframes fadeOutUp {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, -100%, 0);\n transform: translate3d(0, -100%, 0);\n }\n}\n\n.fadeOutUp {\n -webkit-animation-name: fadeOutUp;\n animation-name: fadeOutUp;\n}\n\n@-webkit-keyframes fadeOutUpBig {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, -2000px, 0);\n transform: translate3d(0, -2000px, 0);\n }\n}\n\n@keyframes fadeOutUpBig {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, -2000px, 0);\n transform: translate3d(0, -2000px, 0);\n }\n}\n\n.fadeOutUpBig {\n -webkit-animation-name: fadeOutUpBig;\n animation-name: fadeOutUpBig;\n}\n\n@-webkit-keyframes flip {\n 0% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);\n transform: perspective(400px) rotate3d(0, 1, 0, -360deg);\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n }\n\n 40% {\n -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);\n transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n }\n\n 50% {\n -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);\n transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n\n 80% {\n -webkit-transform: perspective(400px) scale3d(.95, .95, .95);\n transform: perspective(400px) scale3d(.95, .95, .95);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n\n 100% {\n -webkit-transform: perspective(400px);\n transform: perspective(400px);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n}\n\n@keyframes flip {\n 0% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);\n transform: perspective(400px) rotate3d(0, 1, 0, -360deg);\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n }\n\n 40% {\n -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);\n transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n }\n\n 50% {\n -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);\n transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n\n 80% {\n -webkit-transform: perspective(400px) scale3d(.95, .95, .95);\n transform: perspective(400px) scale3d(.95, .95, .95);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n\n 100% {\n -webkit-transform: perspective(400px);\n transform: perspective(400px);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n}\n\n.animated.flip {\n -webkit-backface-visibility: visible;\n backface-visibility: visible;\n -webkit-animation-name: flip;\n animation-name: flip;\n}\n\n@-webkit-keyframes flipInX {\n 0% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n -webkit-transition-timing-function: ease-in;\n transition-timing-function: ease-in;\n opacity: 0;\n }\n\n 40% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n -webkit-transition-timing-function: ease-in;\n transition-timing-function: ease-in;\n }\n\n 60% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);\n transform: perspective(400px) rotate3d(1, 0, 0, 10deg);\n opacity: 1;\n }\n\n 80% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);\n transform: perspective(400px) rotate3d(1, 0, 0, -5deg);\n }\n\n 100% {\n -webkit-transform: perspective(400px);\n transform: perspective(400px);\n }\n}\n\n@keyframes flipInX {\n 0% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n -webkit-transition-timing-function: ease-in;\n transition-timing-function: ease-in;\n opacity: 0;\n }\n\n 40% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n -webkit-transition-timing-function: ease-in;\n transition-timing-function: ease-in;\n }\n\n 60% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);\n transform: perspective(400px) rotate3d(1, 0, 0, 10deg);\n opacity: 1;\n }\n\n 80% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);\n transform: perspective(400px) rotate3d(1, 0, 0, -5deg);\n }\n\n 100% {\n -webkit-transform: perspective(400px);\n transform: perspective(400px);\n }\n}\n\n.flipInX {\n -webkit-backface-visibility: visible !important;\n backface-visibility: visible !important;\n -webkit-animation-name: flipInX;\n animation-name: flipInX;\n}\n\n@-webkit-keyframes flipInY {\n 0% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\n transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\n -webkit-transition-timing-function: ease-in;\n transition-timing-function: ease-in;\n opacity: 0;\n }\n\n 40% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);\n transform: perspective(400px) rotate3d(0, 1, 0, -20deg);\n -webkit-transition-timing-function: ease-in;\n transition-timing-function: ease-in;\n }\n\n 60% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);\n transform: perspective(400px) rotate3d(0, 1, 0, 10deg);\n opacity: 1;\n }\n\n 80% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);\n transform: perspective(400px) rotate3d(0, 1, 0, -5deg);\n }\n\n 100% {\n -webkit-transform: perspective(400px);\n transform: perspective(400px);\n }\n}\n\n@keyframes flipInY {\n 0% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\n transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\n -webkit-transition-timing-function: ease-in;\n transition-timing-function: ease-in;\n opacity: 0;\n }\n\n 40% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);\n transform: perspective(400px) rotate3d(0, 1, 0, -20deg);\n -webkit-transition-timing-function: ease-in;\n transition-timing-function: ease-in;\n }\n\n 60% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);\n transform: perspective(400px) rotate3d(0, 1, 0, 10deg);\n opacity: 1;\n }\n\n 80% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);\n transform: perspective(400px) rotate3d(0, 1, 0, -5deg);\n }\n\n 100% {\n -webkit-transform: perspective(400px);\n transform: perspective(400px);\n }\n}\n\n.flipInY {\n -webkit-backface-visibility: visible !important;\n backface-visibility: visible !important;\n -webkit-animation-name: flipInY;\n animation-name: flipInY;\n}\n\n@-webkit-keyframes flipOutX {\n 0% {\n -webkit-transform: perspective(400px);\n transform: perspective(400px);\n }\n\n 30% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n opacity: 1;\n }\n\n 100% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n opacity: 0;\n }\n}\n\n@keyframes flipOutX {\n 0% {\n -webkit-transform: perspective(400px);\n transform: perspective(400px);\n }\n\n 30% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n opacity: 1;\n }\n\n 100% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n opacity: 0;\n }\n}\n\n.flipOutX {\n -webkit-animation-name: flipOutX;\n animation-name: flipOutX;\n -webkit-animation-duration: .75s;\n animation-duration: .75s;\n -webkit-backface-visibility: visible !important;\n backface-visibility: visible !important;\n}\n\n@-webkit-keyframes flipOutY {\n 0% {\n -webkit-transform: perspective(400px);\n transform: perspective(400px);\n }\n\n 30% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);\n transform: perspective(400px) rotate3d(0, 1, 0, -15deg);\n opacity: 1;\n }\n\n 100% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\n transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\n opacity: 0;\n }\n}\n\n@keyframes flipOutY {\n 0% {\n -webkit-transform: perspective(400px);\n transform: perspective(400px);\n }\n\n 30% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);\n transform: perspective(400px) rotate3d(0, 1, 0, -15deg);\n opacity: 1;\n }\n\n 100% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\n transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\n opacity: 0;\n }\n}\n\n.flipOutY {\n -webkit-backface-visibility: visible !important;\n backface-visibility: visible !important;\n -webkit-animation-name: flipOutY;\n animation-name: flipOutY;\n -webkit-animation-duration: .75s;\n animation-duration: .75s;\n}\n\n@-webkit-keyframes lightSpeedIn {\n 0% {\n -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);\n transform: translate3d(100%, 0, 0) skewX(-30deg);\n opacity: 0;\n }\n\n 60% {\n -webkit-transform: skewX(20deg);\n transform: skewX(20deg);\n opacity: 1;\n }\n\n 80% {\n -webkit-transform: skewX(-5deg);\n transform: skewX(-5deg);\n opacity: 1;\n }\n\n 100% {\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n@keyframes lightSpeedIn {\n 0% {\n -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);\n transform: translate3d(100%, 0, 0) skewX(-30deg);\n opacity: 0;\n }\n\n 60% {\n -webkit-transform: skewX(20deg);\n transform: skewX(20deg);\n opacity: 1;\n }\n\n 80% {\n -webkit-transform: skewX(-5deg);\n transform: skewX(-5deg);\n opacity: 1;\n }\n\n 100% {\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n.lightSpeedIn {\n -webkit-animation-name: lightSpeedIn;\n animation-name: lightSpeedIn;\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n}\n\n@-webkit-keyframes lightSpeedOut {\n 0% {\n opacity: 1;\n }\n\n 100% {\n -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);\n transform: translate3d(100%, 0, 0) skewX(30deg);\n opacity: 0;\n }\n}\n\n@keyframes lightSpeedOut {\n 0% {\n opacity: 1;\n }\n\n 100% {\n -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);\n transform: translate3d(100%, 0, 0) skewX(30deg);\n opacity: 0;\n }\n}\n\n.lightSpeedOut {\n -webkit-animation-name: lightSpeedOut;\n animation-name: lightSpeedOut;\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n}\n\n@-webkit-keyframes rotateIn {\n 0% {\n -webkit-transform-origin: center;\n transform-origin: center;\n -webkit-transform: rotate3d(0, 0, 1, -200deg);\n transform: rotate3d(0, 0, 1, -200deg);\n opacity: 0;\n }\n\n 100% {\n -webkit-transform-origin: center;\n transform-origin: center;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n@keyframes rotateIn {\n 0% {\n -webkit-transform-origin: center;\n transform-origin: center;\n -webkit-transform: rotate3d(0, 0, 1, -200deg);\n transform: rotate3d(0, 0, 1, -200deg);\n opacity: 0;\n }\n\n 100% {\n -webkit-transform-origin: center;\n transform-origin: center;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n.rotateIn {\n -webkit-animation-name: rotateIn;\n animation-name: rotateIn;\n}\n\n@-webkit-keyframes rotateInDownLeft {\n 0% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: rotate3d(0, 0, 1, -45deg);\n transform: rotate3d(0, 0, 1, -45deg);\n opacity: 0;\n }\n\n 100% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n@keyframes rotateInDownLeft {\n 0% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: rotate3d(0, 0, 1, -45deg);\n transform: rotate3d(0, 0, 1, -45deg);\n opacity: 0;\n }\n\n 100% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n.rotateInDownLeft {\n -webkit-animation-name: rotateInDownLeft;\n animation-name: rotateInDownLeft;\n}\n\n@-webkit-keyframes rotateInDownRight {\n 0% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: rotate3d(0, 0, 1, 45deg);\n transform: rotate3d(0, 0, 1, 45deg);\n opacity: 0;\n }\n\n 100% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n@keyframes rotateInDownRight {\n 0% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: rotate3d(0, 0, 1, 45deg);\n transform: rotate3d(0, 0, 1, 45deg);\n opacity: 0;\n }\n\n 100% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n.rotateInDownRight {\n -webkit-animation-name: rotateInDownRight;\n animation-name: rotateInDownRight;\n}\n\n@-webkit-keyframes rotateInUpLeft {\n 0% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: rotate3d(0, 0, 1, 45deg);\n transform: rotate3d(0, 0, 1, 45deg);\n opacity: 0;\n }\n\n 100% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n@keyframes rotateInUpLeft {\n 0% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: rotate3d(0, 0, 1, 45deg);\n transform: rotate3d(0, 0, 1, 45deg);\n opacity: 0;\n }\n\n 100% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n.rotateInUpLeft {\n -webkit-animation-name: rotateInUpLeft;\n animation-name: rotateInUpLeft;\n}\n\n@-webkit-keyframes rotateInUpRight {\n 0% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: rotate3d(0, 0, 1, -90deg);\n transform: rotate3d(0, 0, 1, -90deg);\n opacity: 0;\n }\n\n 100% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n@keyframes rotateInUpRight {\n 0% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: rotate3d(0, 0, 1, -90deg);\n transform: rotate3d(0, 0, 1, -90deg);\n opacity: 0;\n }\n\n 100% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n.rotateInUpRight {\n -webkit-animation-name: rotateInUpRight;\n animation-name: rotateInUpRight;\n}\n\n@-webkit-keyframes rotateOut {\n 0% {\n -webkit-transform-origin: center;\n transform-origin: center;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform-origin: center;\n transform-origin: center;\n -webkit-transform: rotate3d(0, 0, 1, 200deg);\n transform: rotate3d(0, 0, 1, 200deg);\n opacity: 0;\n }\n}\n\n@keyframes rotateOut {\n 0% {\n -webkit-transform-origin: center;\n transform-origin: center;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform-origin: center;\n transform-origin: center;\n -webkit-transform: rotate3d(0, 0, 1, 200deg);\n transform: rotate3d(0, 0, 1, 200deg);\n opacity: 0;\n }\n}\n\n.rotateOut {\n -webkit-animation-name: rotateOut;\n animation-name: rotateOut;\n}\n\n@-webkit-keyframes rotateOutDownLeft {\n 0% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: rotate3d(0, 0, 1, 45deg);\n transform: rotate3d(0, 0, 1, 45deg);\n opacity: 0;\n }\n}\n\n@keyframes rotateOutDownLeft {\n 0% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: rotate3d(0, 0, 1, 45deg);\n transform: rotate3d(0, 0, 1, 45deg);\n opacity: 0;\n }\n}\n\n.rotateOutDownLeft {\n -webkit-animation-name: rotateOutDownLeft;\n animation-name: rotateOutDownLeft;\n}\n\n@-webkit-keyframes rotateOutDownRight {\n 0% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: rotate3d(0, 0, 1, -45deg);\n transform: rotate3d(0, 0, 1, -45deg);\n opacity: 0;\n }\n}\n\n@keyframes rotateOutDownRight {\n 0% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: rotate3d(0, 0, 1, -45deg);\n transform: rotate3d(0, 0, 1, -45deg);\n opacity: 0;\n }\n}\n\n.rotateOutDownRight {\n -webkit-animation-name: rotateOutDownRight;\n animation-name: rotateOutDownRight;\n}\n\n@-webkit-keyframes rotateOutUpLeft {\n 0% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: rotate3d(0, 0, 1, -45deg);\n transform: rotate3d(0, 0, 1, -45deg);\n opacity: 0;\n }\n}\n\n@keyframes rotateOutUpLeft {\n 0% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: rotate3d(0, 0, 1, -45deg);\n transform: rotate3d(0, 0, 1, -45deg);\n opacity: 0;\n }\n}\n\n.rotateOutUpLeft {\n -webkit-animation-name: rotateOutUpLeft;\n animation-name: rotateOutUpLeft;\n}\n\n@-webkit-keyframes rotateOutUpRight {\n 0% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: rotate3d(0, 0, 1, 90deg);\n transform: rotate3d(0, 0, 1, 90deg);\n opacity: 0;\n }\n}\n\n@keyframes rotateOutUpRight {\n 0% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: rotate3d(0, 0, 1, 90deg);\n transform: rotate3d(0, 0, 1, 90deg);\n opacity: 0;\n }\n}\n\n.rotateOutUpRight {\n -webkit-animation-name: rotateOutUpRight;\n animation-name: rotateOutUpRight;\n}\n\n@-webkit-keyframes hinge {\n 0% {\n -webkit-transform-origin: top left;\n transform-origin: top left;\n -webkit-animation-timing-function: ease-in-out;\n animation-timing-function: ease-in-out;\n }\n\n 20%, 60% {\n -webkit-transform: rotate3d(0, 0, 1, 80deg);\n transform: rotate3d(0, 0, 1, 80deg);\n -webkit-transform-origin: top left;\n transform-origin: top left;\n -webkit-animation-timing-function: ease-in-out;\n animation-timing-function: ease-in-out;\n }\n\n 40%, 80% {\n -webkit-transform: rotate3d(0, 0, 1, 60deg);\n transform: rotate3d(0, 0, 1, 60deg);\n -webkit-transform-origin: top left;\n transform-origin: top left;\n -webkit-animation-timing-function: ease-in-out;\n animation-timing-function: ease-in-out;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform: translate3d(0, 700px, 0);\n transform: translate3d(0, 700px, 0);\n opacity: 0;\n }\n}\n\n@keyframes hinge {\n 0% {\n -webkit-transform-origin: top left;\n transform-origin: top left;\n -webkit-animation-timing-function: ease-in-out;\n animation-timing-function: ease-in-out;\n }\n\n 20%, 60% {\n -webkit-transform: rotate3d(0, 0, 1, 80deg);\n transform: rotate3d(0, 0, 1, 80deg);\n -webkit-transform-origin: top left;\n transform-origin: top left;\n -webkit-animation-timing-function: ease-in-out;\n animation-timing-function: ease-in-out;\n }\n\n 40%, 80% {\n -webkit-transform: rotate3d(0, 0, 1, 60deg);\n transform: rotate3d(0, 0, 1, 60deg);\n -webkit-transform-origin: top left;\n transform-origin: top left;\n -webkit-animation-timing-function: ease-in-out;\n animation-timing-function: ease-in-out;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform: translate3d(0, 700px, 0);\n transform: translate3d(0, 700px, 0);\n opacity: 0;\n }\n}\n\n.hinge {\n -webkit-animation-name: hinge;\n animation-name: hinge;\n}\n\n/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */\n\n@-webkit-keyframes rollIn {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);\n transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes rollIn {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);\n transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.rollIn {\n -webkit-animation-name: rollIn;\n animation-name: rollIn;\n}\n\n/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */\n\n@-webkit-keyframes rollOut {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);\n transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);\n }\n}\n\n@keyframes rollOut {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);\n transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);\n }\n}\n\n.rollOut {\n -webkit-animation-name: rollOut;\n animation-name: rollOut;\n}\n\n@-webkit-keyframes zoomIn {\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.3, .3, .3);\n transform: scale3d(.3, .3, .3);\n }\n\n 50% {\n opacity: 1;\n }\n}\n\n@keyframes zoomIn {\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.3, .3, .3);\n transform: scale3d(.3, .3, .3);\n }\n\n 50% {\n opacity: 1;\n }\n}\n\n.zoomIn {\n -webkit-animation-name: zoomIn;\n animation-name: zoomIn;\n}\n\n@-webkit-keyframes zoomInDown {\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);\n transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);\n transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n@keyframes zoomInDown {\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);\n transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);\n transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n.zoomInDown {\n -webkit-animation-name: zoomInDown;\n animation-name: zoomInDown;\n}\n\n@-webkit-keyframes zoomInLeft {\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);\n transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);\n transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n@keyframes zoomInLeft {\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);\n transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);\n transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n.zoomInLeft {\n -webkit-animation-name: zoomInLeft;\n animation-name: zoomInLeft;\n}\n\n@-webkit-keyframes zoomInRight {\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);\n transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);\n transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n@keyframes zoomInRight {\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);\n transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);\n transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n.zoomInRight {\n -webkit-animation-name: zoomInRight;\n animation-name: zoomInRight;\n}\n\n@-webkit-keyframes zoomInUp {\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);\n transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);\n transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n@keyframes zoomInUp {\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);\n transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);\n transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n.zoomInUp {\n -webkit-animation-name: zoomInUp;\n animation-name: zoomInUp;\n}\n\n@-webkit-keyframes zoomOut {\n 0% {\n opacity: 1;\n }\n\n 50% {\n opacity: 0;\n -webkit-transform: scale3d(.3, .3, .3);\n transform: scale3d(.3, .3, .3);\n }\n\n 100% {\n opacity: 0;\n }\n}\n\n@keyframes zoomOut {\n 0% {\n opacity: 1;\n }\n\n 50% {\n opacity: 0;\n -webkit-transform: scale3d(.3, .3, .3);\n transform: scale3d(.3, .3, .3);\n }\n\n 100% {\n opacity: 0;\n }\n}\n\n.zoomOut {\n -webkit-animation-name: zoomOut;\n animation-name: zoomOut;\n}\n\n@-webkit-keyframes zoomOutDown {\n 40% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);\n transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);\n transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);\n -webkit-transform-origin: center bottom;\n transform-origin: center bottom;\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n@keyframes zoomOutDown {\n 40% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);\n transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);\n transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);\n -webkit-transform-origin: center bottom;\n transform-origin: center bottom;\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n.zoomOutDown {\n -webkit-animation-name: zoomOutDown;\n animation-name: zoomOutDown;\n}\n\n@-webkit-keyframes zoomOutLeft {\n 40% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);\n transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: scale(.1) translate3d(-2000px, 0, 0);\n transform: scale(.1) translate3d(-2000px, 0, 0);\n -webkit-transform-origin: left center;\n transform-origin: left center;\n }\n}\n\n@keyframes zoomOutLeft {\n 40% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);\n transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: scale(.1) translate3d(-2000px, 0, 0);\n transform: scale(.1) translate3d(-2000px, 0, 0);\n -webkit-transform-origin: left center;\n transform-origin: left center;\n }\n}\n\n.zoomOutLeft {\n -webkit-animation-name: zoomOutLeft;\n animation-name: zoomOutLeft;\n}\n\n@-webkit-keyframes zoomOutRight {\n 40% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);\n transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: scale(.1) translate3d(2000px, 0, 0);\n transform: scale(.1) translate3d(2000px, 0, 0);\n -webkit-transform-origin: right center;\n transform-origin: right center;\n }\n}\n\n@keyframes zoomOutRight {\n 40% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);\n transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: scale(.1) translate3d(2000px, 0, 0);\n transform: scale(.1) translate3d(2000px, 0, 0);\n -webkit-transform-origin: right center;\n transform-origin: right center;\n }\n}\n\n.zoomOutRight {\n -webkit-animation-name: zoomOutRight;\n animation-name: zoomOutRight;\n}\n\n@-webkit-keyframes zoomOutUp {\n 40% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);\n transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);\n transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);\n -webkit-transform-origin: center bottom;\n transform-origin: center bottom;\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n@keyframes zoomOutUp {\n 40% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);\n transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);\n transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);\n -webkit-transform-origin: center bottom;\n transform-origin: center bottom;\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n.zoomOutUp {\n -webkit-animation-name: zoomOutUp;\n animation-name: zoomOutUp;\n}\n\n@-webkit-keyframes slideInDown {\n 0% {\n -webkit-transform: translateY(-100%);\n transform: translateY(-100%);\n visibility: visible;\n }\n\n 100% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n }\n}\n\n@keyframes slideInDown {\n 0% {\n -webkit-transform: translateY(-100%);\n transform: translateY(-100%);\n visibility: visible;\n }\n\n 100% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n }\n}\n\n.slideInDown {\n -webkit-animation-name: slideInDown;\n animation-name: slideInDown;\n}\n\n@-webkit-keyframes slideInLeft {\n 0% {\n -webkit-transform: translateX(-100%);\n transform: translateX(-100%);\n visibility: visible;\n }\n\n 100% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n }\n}\n\n@keyframes slideInLeft {\n 0% {\n -webkit-transform: translateX(-100%);\n transform: translateX(-100%);\n visibility: visible;\n }\n\n 100% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n }\n}\n\n.slideInLeft {\n -webkit-animation-name: slideInLeft;\n animation-name: slideInLeft;\n}\n\n@-webkit-keyframes slideInRight {\n 0% {\n -webkit-transform: translateX(100%);\n transform: translateX(100%);\n visibility: visible;\n }\n\n 100% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n }\n}\n\n@keyframes slideInRight {\n 0% {\n -webkit-transform: translateX(100%);\n transform: translateX(100%);\n visibility: visible;\n }\n\n 100% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n }\n}\n\n.slideInRight {\n -webkit-animation-name: slideInRight;\n animation-name: slideInRight;\n}\n\n@-webkit-keyframes slideInUp {\n 0% {\n -webkit-transform: translateY(100%);\n transform: translateY(100%);\n visibility: visible;\n }\n\n 100% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n }\n}\n\n@keyframes slideInUp {\n 0% {\n -webkit-transform: translateY(100%);\n transform: translateY(100%);\n visibility: visible;\n }\n\n 100% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n }\n}\n\n.slideInUp {\n -webkit-animation-name: slideInUp;\n animation-name: slideInUp;\n}\n\n@-webkit-keyframes slideOutDown {\n 0% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n }\n\n 100% {\n visibility: hidden;\n -webkit-transform: translateY(100%);\n transform: translateY(100%);\n }\n}\n\n@keyframes slideOutDown {\n 0% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n }\n\n 100% {\n visibility: hidden;\n -webkit-transform: translateY(100%);\n transform: translateY(100%);\n }\n}\n\n.slideOutDown {\n -webkit-animation-name: slideOutDown;\n animation-name: slideOutDown;\n}\n\n@-webkit-keyframes slideOutLeft {\n 0% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n }\n\n 100% {\n visibility: hidden;\n -webkit-transform: translateX(-100%);\n transform: translateX(-100%);\n }\n}\n\n@keyframes slideOutLeft {\n 0% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n }\n\n 100% {\n visibility: hidden;\n -webkit-transform: translateX(-100%);\n transform: translateX(-100%);\n }\n}\n\n.slideOutLeft {\n -webkit-animation-name: slideOutLeft;\n animation-name: slideOutLeft;\n}\n\n@-webkit-keyframes slideOutRight {\n 0% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n }\n\n 100% {\n visibility: hidden;\n -webkit-transform: translateX(100%);\n transform: translateX(100%);\n }\n}\n\n@keyframes slideOutRight {\n 0% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n }\n\n 100% {\n visibility: hidden;\n -webkit-transform: translateX(100%);\n transform: translateX(100%);\n }\n}\n\n.slideOutRight {\n -webkit-animation-name: slideOutRight;\n animation-name: slideOutRight;\n}\n\n@-webkit-keyframes slideOutUp {\n 0% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n }\n\n 100% {\n visibility: hidden;\n -webkit-transform: translateY(-100%);\n transform: translateY(-100%);\n }\n}\n\n@keyframes slideOutUp {\n 0% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n }\n\n 100% {\n visibility: hidden;\n -webkit-transform: translateY(-100%);\n transform: translateY(-100%);\n }\n}\n\n.slideOutUp {\n -webkit-animation-name: slideOutUp;\n animation-name: slideOutUp;\n}\n",".btn {\n $btn-top-clr: #FAFAFA;\n $btn-bottom-clr: #EFF1F3;\n border:1px solid #E0E3E9;\n display:inline-block;\n border-radius: 2px;\n box-shadow: inset 0 1px 0 white, 0 1px 1px rgba($border-clr,0.5);\n @include linear-gradient($btn-top-clr, $btn-bottom-clr);\n font-size: em(12px);\n font-weight:600;\n color: $text-2-clr;\n text-decoration:none;\n padding: em(8px) em(15px);\n &:hover {\n @include linear-gradient(lighten($btn-top-clr,0.5%), lighten($btn-bottom-clr,1%));\n }\n &.disabled {\n cursor:default;\n opacity: 0.5;\n &:active {\n box-shadow: inset 0 1px 0 white, 0 1px 1px rgba(black, 0.1);\n }\n }\n &.danger {\n color: $red-clr;\n }\n &:focus {\n outline:0;\n }\n &:active {\n box-shadow: none;\n }\n}\n","@mixin linear-gradient($pos, $G1, $G2: null,\n $G3: null, $G4: null,\n $G5: null, $G6: null,\n $G7: null, $G8: null,\n $G9: null, $G10: null,\n $fallback: null) {\n // Detect what type of value exists in $pos\n $pos-type: type-of(nth($pos, 1));\n $pos-spec: null;\n $pos-degree: null;\n\n // If $pos is missing from mixin, reassign vars and add default position\n @if ($pos-type == color) or (nth($pos, 1) == \"transparent\") {\n $G10: $G9; $G9: $G8; $G8: $G7; $G7: $G6; $G6: $G5;\n $G5: $G4; $G4: $G3; $G3: $G2; $G2: $G1; $G1: $pos;\n $pos: null;\n }\n\n @if $pos {\n $positions: _linear-positions-parser($pos);\n $pos-degree: nth($positions, 1);\n $pos-spec: nth($positions, 2);\n }\n\n $full: $G1, $G2, $G3, $G4, $G5, $G6, $G7, $G8, $G9, $G10;\n\n // Set $G1 as the default fallback color\n $fallback-color: nth($G1, 1);\n\n // If $fallback is a color use that color as the fallback color\n @if (type-of($fallback) == color) or ($fallback == \"transparent\") {\n $fallback-color: $fallback;\n }\n\n background-color: $fallback-color;\n background-image: -webkit-linear-gradient($pos-degree $full); // Safari 5.1+, Chrome\n background-image: unquote(\"linear-gradient(#{$pos-spec}#{$full})\");\n}\n","form {\n margin:0;\n &.ng-submitted {\n .ng-invalid {\n border-color: $pink-clr !important;\n }\n }\n}\n\n.form-container {\n width:100%;\n}\n\n.form-row {\n @include row();\n margin-bottom:10px;\n @include user-select(none);\n}\n\n.form-col {\n @include span-columns(6);\n &.padded {\n &:first-child {\n padding: 0 20px 0 0;\n }\n &:last-child {\n padding: 0 0 0 20px;\n }\n }\n}\n\n.form-group {\n & > label {\n font-size:em(12px);\n color: $text-3-clr;\n display:inline-block;\n line-height:em(30px);\n\n }\n .form-error {\n font-size: em(12px);\n color: $red-clr;\n float: right;\n img {\n vertical-align:bottom;\n margin-right: 3px;\n }\n }\n &.optional > label:after {\n content: \" (optional)\";\n }\n &.error {\n input.form-control, textarea.form-control {\n\n border-color: $pink-clr;\n background: rgba($pink-clr,0.02);\n }\n }\n input.form-control, textarea.form-control {\n @include form-input;\n }\n .form-btn {\n padding: em(12px) em(15px);\n }\n input.form-control {\n vertical-align:middle;\n padding: em(5px) em(10px);\n }\n\n textarea.form-control {\n min-height: 135px;\n font-size: em(18px);\n padding: em(8px) em(10px);\n }\n\n}\n\n\n.form-submit-message {\n display:inline-block;\n margin-left: em(5px);\n font-size: em(12px);\n &.error {\n color: $red-clr;\n }\n img {\n vertical-align:middle;\n margin-right: em(5px);\n }\n}\n","/// Designates the element as a row of columns in the grid layout. It clears the floats on the element and sets its display property. Rows can't be nested, but there can be more than one row element—with different display properties—per layout.\n///\n/// @param {String} $display (default)\n/// Sets the display property of the element and the display context that will be used by its children. Can be `block` or `table`.\n///\n/// @param {String} $direction ($default-layout-direction)\n/// Sets the layout direction. Can be `LTR` (left-to-right) or `RTL` (right-to-left).\n///\n/// @example scss - Usage\n/// .element {\n/// @include row();\n/// }\n///\n/// @example css - CSS Output\n/// .element {\n/// *zoom: 1;\n/// display: block;\n/// }\n///\n/// .element:before, .element:after {\n/// content: \" \";\n/// display: table;\n/// }\n///\n/// .element:after {\n/// clear: both;\n/// }\n\n@mixin row($display: default, $direction: $default-layout-direction) {\n @if $direction != $default-layout-direction {\n @include -neat-warn(\"The $direction argument will be deprecated in future versions in favor of the direction(){...} mixin.\");\n }\n\n $layout-direction: $direction !global;\n\n @if $display != default {\n @include -neat-warn(\"The $display argument will be deprecated in future versions in favor of the display(){...} mixin.\");\n }\n\n @if $display == table {\n display: table;\n @include fill-parent;\n table-layout: fixed;\n $container-display-table: true !global;\n }\n\n @else {\n @include clearfix;\n display: block;\n $container-display-table: false !global;\n }\n}\n\n","// Modern micro clearfix provides an easy way to contain floats without adding additional markup.\n//\n// Example usage:\n//\n// // Contain all floats within .wrapper\n// .wrapper {\n// @include clearfix;\n// .content,\n// .sidebar {\n// float : left;\n// }\n// }\n\n@mixin clearfix {\n &:after {\n content:\"\";\n display:table;\n clear:both;\n }\n}\n\n// Acknowledgements\n// Beat *that* clearfix: [Thierry Koblentz](http://www.css-101.org/articles/clearfix/latest-new-clearfix-so-far.php)\n","/// Specifies the number of columns an element should span. If the selector is nested the number of columns of its parent element should be passed as an argument as well.\n///\n/// @param {List} $span\n/// A list containing `$columns`, the unitless number of columns the element spans (required), and `$container-columns`, the number of columns the parent element spans (optional).\n///\n/// If only one value is passed, it is assumed that it's `$columns` and that that `$container-columns` is equal to `$grid-columns`, the total number of columns in the grid.\n///\n/// The values can be separated with any string such as `of`, `/`, etc.\n///\n/// @param {String} $display (block)\n/// Sets the display property of the element. By default it sets the display propert of the element to `block`.\n///\n/// If passed `block-collapse`, it also removes the margin gutter by adding it to the element width.\n///\n/// If passed `table`, it sets the display property to `table-cell` and calculates the width of the element without taking gutters into consideration. The result does not align with the block-based grid.\n///\n/// @example scss - Usage\n/// .element {\n/// @include span-columns(6);\n///\n/// .nested-element {\n/// @include span-columns(2 of 6);\n/// }\n/// }\n///\n/// @example css - CSS Output\n/// .element {\n/// display: block;\n/// float: left;\n/// margin-right: 2.35765%;\n/// width: 48.82117%;\n/// }\n///\n/// .element:last-child {\n/// margin-right: 0;\n/// }\n///\n/// .element .nested-element {\n/// display: block;\n/// float: left;\n/// margin-right: 4.82916%;\n/// width: 30.11389%;\n/// }\n///\n/// .element .nested-element:last-child {\n/// margin-right: 0;\n/// }\n\n@mixin span-columns($span: $columns of $container-columns, $display: block) {\n $columns: nth($span, 1);\n $container-columns: container-span($span);\n\n $parent-columns: get-parent-columns($container-columns) !global;\n\n $direction: get-direction($layout-direction, $default-layout-direction);\n $opposite-direction: get-opposite-direction($direction);\n\n $display-table: is-display-table($container-display-table, $display);\n\n @if $display-table {\n display: table-cell;\n width: percentage($columns / $container-columns);\n } @else {\n float: #{$opposite-direction};\n\n @if $display != no-display {\n display: block;\n }\n\n @if $display == collapse {\n @include -neat-warn(\"The 'collapse' argument will be deprecated. Use 'block-collapse' instead.\");\n }\n\n @if $display == collapse or $display == block-collapse {\n width: flex-grid($columns, $container-columns) + flex-gutter($container-columns);\n\n &:last-child {\n width: flex-grid($columns, $container-columns);\n }\n\n } @else {\n margin-#{$direction}: flex-gutter($container-columns);\n width: flex-grid($columns, $container-columns);\n\n &:last-child {\n margin-#{$direction}: 0;\n }\n }\n }\n}\n","@mixin form-input {\n border-radius: 2px;\n border: 1px solid $border-clr;\n font-size:em(18px);\n @include transition(border-color 0.1s ease-in-out);\n &:focus {\n border-color: $blue-clr;\n outline:none;\n background: white;\n }\n &.extend {\n width:100%;\n }\n @include placeholder {\n color: rgba($text-3-clr,0.7);\n }\n}\n","@mixin placeholder {\n $placeholders: \":-webkit-input\" \":-moz\" \"-moz\" \"-ms-input\";\n @each $placeholder in $placeholders {\n &:#{$placeholder}-placeholder {\n @content;\n }\n }\n}\n","$box-v-pad: 20px;\n$box-h-pad: 25px;\n\n.box {\n background: white;\n border: 1px solid $border-clr;\n border-radius: 3px;\n margin: 0 auto 20px auto;\n max-width: 800px;\n min-width:700px;\n overflow:hidden;\n padding: $box-v-pad $box-h-pad;\n &.box-x-scroll {\n overflow-x: scroll;\n }\n &.invisible {\n background: transparent;\n border:0;\n padding: 0;\n margin-bottom:40px;\n }\n &.highlight {\n border-color: $blue-clr;\n box-shadow: 0 0 3px rgba($blue-clr, 0.5);\n }\n}\n\n.box-title {\n font-size: 24px;\n font-weight: bold;\n color: $text-clr;\n margin-bottom:20px;\n}\n\n.box-description {\n font-size: 14px;\n color: $text-2-clr;\n padding-bottom: 20px;\n border-bottom: 1px solid $border-clr;\n margin-top: -20px;\n margin-bottom: 20px;\n a {\n color: $text-clr;\n text-decoration:none;\n &:hover {\n border: 1px solid $border-clr;\n }\n }\n}\n.box-section {\n padding-top: 20px;\n &:first-child {\n border:0;\n }\n @include row;\n .section-details {\n @include span-columns(3);\n .section-title {\n font-size: em(14px);\n color: $text-2-clr;\n margin-bottom:20px;\n }\n }\n .section-main {\n @include span-columns(9);\n\n }\n}\n\n.box-message {\n text-align:center;\n padding:40px;\n max-width:500px;\n margin:0 auto;\n .main-image {\n margin-bottom: 20px;\n }\n .title {\n font-weight: bold;\n font-size: em(24px);\n color: $text-clr;\n margin-bottom: em(10px);\n }\n .content {\n font-size: em(14px);\n color: $text-2-clr;\n margin-bottom: 20px;\n }\n .mini-divider:after {\n content: \"\";\n display:inline-block;\n width:200px;\n height:1px;\n background: $border-clr;\n margin:20px auto;\n\n }\n}\n\n.box-side-sticky {\n padding: $box-v-pad $box-h-pad;\n box-sizing: content-box;\n width: 100%;\n margin-left: $box-h-pad * -1;\n\n}\n\n.box-bottom-sticky {\n padding: $box-v-pad $box-h-pad;\n box-sizing: content-box;\n width: 100%;\n margin-top:20px;\n border-bottom-left-radius: 3px;\n border-bottom-right-radius: 3px;\n border-top: 1px solid $border-clr;\n margin-bottom: $box-v-pad * -1;\n margin-left: $box-h-pad * -1;\n}\n\n.box-controls {\n text-align: right;\n box-shadow: inset 0 1px 0 white;\n background: lighten($background-clr, 1%);\n margin-top: $box-v-pad;\n padding: 15px $box-h-pad;\n}\n",".ng-submitted .ng-invalid > .date-picker {\n border-color: $pink-clr;\n}\n\n.date-picker {\n border: 1px solid $border-clr;\n border-radius: 2px;\n @include transition(border-color 0.2s ease-in-out);\n .wrapper {\n padding:20px;\n }\n .date-picker-head {\n display:table;\n width:100%;\n margin-bottom:30px;\n text-align:center;\n .title {\n display:inline-block;\n width:200px;\n margin: 0 20px;\n font-weight:bold;\n font-size: em(18px);\n }\n .arrow {\n text-decoration:none;\n color: $text-3-clr;\n position:relative;\n border: 1px solid $border-clr;\n display:inline-block;\n width: 25px;\n border-radius: 2px;\n font-size: 12px;\n line-height:25px;\n text-align:center;\n float:left;\n box-shadow: 0 1px 1px rgba($border-clr,0.5);\n margin:0 20px;\n &:last-child {\n float:right;\n }\n &:hover {\n color: $text-clr;\n }\n &:active {\n box-shadow:none;\n }\n\n }\n }\n .dow {\n font-size:0;\n padding-bottom: 10px;\n border-bottom: 2px solid $border-clr;\n margin-bottom: 10px;\n .day {\n text-transform:uppercase;\n font-size: 14px;\n display:inline-block;\n width: (100% / 7);\n text-align:center;\n color: $pink-clr;\n }\n }\n .values {\n .value {\n display:inline-block;\n width: (100% / 7);\n text-align:center;\n font-size: em(14px);\n line-height:em(55px);\n position:relative;\n font-weight: bold;\n &.today {\n color:#818176;\n &:after {\n opacity:1;\n background: rgba(yellow, 0.1);\n }\n }\n &.outside {\n color: $text-3-clr;\n font-weight:normal;\n }\n &:after {\n content: \" \";\n cursor:pointer;\n opacity: 0;\n position:absolute;\n $size: em(42px);\n width:$size;\n height:$size;\n margin-left:$size * -0.5;\n margin-top:$size * -0.5;\n left:50%;\n top:50%;\n border-radius: 2px;\n }\n &:hover {\n &:after {\n opacity:1;\n background: rgba($border-clr,0.4);\n }\n cursor: pointer;\n }\n &.active {\n background:white;\n color: $green-clr;\n &:after {\n opacity:1;\n background: rgba($green-clr,0.1);\n }\n }\n }\n }\n}\n\n.daticon-list {\n margin:0;\n margin-left:-5px;\n list-style:none;\n padding:5px;\n text-align:left;\n li {\n display:inline-block;\n margin: 10px 10px 0 0;\n }\n}\n\n.daticon {\n box-shadow: 0 0 0 1px rgba($border-clr,0.5);\n border-radius: 3px;\n display:inline-block;\n padding:em(8px) em(16px);\n text-align:center;\n position:relative;\n cursor:default;\n background:white;\n .dow {\n font-size: em(6px);\n margin-top:em(-24px);\n background:white;\n color: $text-3-clr;\n margin-bottom: em(4px);\n font-weight:normal;\n text-transform: uppercase;\n }\n .day {\n font-size: em(20px);\n font-weight:normal;\n color: $pink-clr;\n line-height: em(16px);\n }\n .month {\n font-weight: 600;\n font-size: em(12px);\n text-transform: uppercase;\n }\n .delete {\n text-align:center;\n border:0;\n $size: 18px;\n width: em($size);\n height: em($size);\n position:absolute;\n top: $size * -0.4;\n right: $size * -0.4;\n border-radius:100%;\n display:inline-block;\n background: rgba($border-clr, 0.5) url(../images/close@2x.png) no-repeat center center;\n background-size: 7px 8px;\n cursor:pointer;\n opacity:0;\n &:hover {\n background-color: rgba($border-clr, 0.8)\n }\n }\n .count {\n text-align:center;\n border:0;\n $size: 18px;\n width: $size;\n height: $size;\n position:absolute;\n top: $size * -0.4;\n right: $size * -0.4;\n border-radius:100%;\n font-weight:bold;\n display:inline-block;\n background: darken($border-clr, 10%);\n color:white;\n font-size: 9px;\n line-height: $size;\n @include transition(background-color 0.2s ease-in-out);\n &.top {\n background: $orangered-clr;\n }\n\n }\n &:hover {\n .delete {\n opacity: 1;\n }\n }\n}\n",".rl-modal {\n background:white;\n position: fixed;\n top: 50%;\n left: 50%;\n width: 50%;\n max-width: 400px;\n display:inline-block;\n min-width: 200px;\n height: auto;\n z-index: 2000;\n overflow:hidden;\n border-radius: 5px;\n box-shadow: 0 0 0 1px $border-clr, 0 0 0 5px rgba($border-clr,0.5);\n @include transform(translateX(-50%) translateY(-50%));\n .rl-modal-message {\n padding: 0 20px 20px 20px;\n font-size: em(12px);\n color: $text-2-clr;\n }\n .rl-modal-title {\n padding:20px 20px 0 20px;\n font-size: em(18px);\n font-weight: bold;\n }\n .rl-modal-actions {\n border-top:1px solid $border-clr;\n box-shadow: inset 0 1px 0 white;\n background: lighten($background-clr,1%);\n text-align:right;\n padding: em(10px) em(20px);\n }\n}\n\n.rl-modal-overlay {\n position:fixed;\n z-index: 1999;\n top:0;\n left:0;\n width:100%;\n height:100%;\n background:rgba(black,0.1);\n\n}\n","$actions-col-width : 160px;\n$date-col-width: 70px;\n$name-col-width: 235px;\n\n.poll {\n margin-top:20px;\n min-width: 100%;\n display:block;\n border:1px solid rgba($border-clr, 0.5);\n border-radius: 3px;\n overflow-x:scroll;\n}\n\n.poll-header {\n display:table;\n min-width: 100%;\n padding-top:20px;\n overflow:hidden;\n border-bottom:1px solid $border-clr;\n box-shadow: 0 3px 0 rgba($border-clr, 0.3);\n .header {\n display:table-cell;\n vertical-align:bottom;\n padding-bottom:10px;\n &.date-header {\n text-align:center;\n min-width: $date-col-width;\n width: $date-col-width;\n }\n &.actions-header {\n min-width: $actions-col-width;\n }\n &.participants-header {\n font-weight: bold;\n min-width: $name-col-width;\n width: $name-col-width;\n padding-left: 20px;\n }\n }\n}\n\n.poll-body {\n min-width:100%;\n overflow:hidden;\n display:table;\n .poll-example {\n position:relative;\n &.hidden {\n display:none;\n }\n .overlay {\n position:absolute;\n top:0;\n left:0;\n width:100%;\n height: 100%;\n border-bottom:1px solid $border-clr;\n background: rgba(white, 0.75);\n text-align: center;\n .overlay-text {\n position:absolute;\n top:50%;\n left:50%;\n font-size: em(18px);\n font-weight: bold;\n color: $text-3-clr;\n background: rgba(white, 0.9);\n padding: 10px;\n @include transform(translateX(-50%) translateY(-50%));\n }\n }\n }\n .poll-entry.highlight {\n background: lighten($border-clr,10%);\n }\n .poll-entry {\n display:table;\n min-width: 100%;\n border-bottom: 1px solid rgba($border-clr,0.5);\n &:last-child {\n border-bottom:0;\n }\n .hover {\n visibility:hidden;\n }\n &:hover {\n .hover {\n visibility: visible;\n }\n }\n .cell {\n padding: em(10px);\n display:table-cell;\n height: 50px;\n vertical-align:middle;\n &.name-cell {\n min-width: $name-col-width;\n width: $name-col-width;\n font-size: em(14px);\n padding-left:20px;\n .avatar {\n display:inline-block;\n padding: 5px;\n margin-right: 5px;\n border-radius: 2px;\n background: #D0D5DF;\n @for $i from 0 to length($color-collection) {\n &.style-#{$i + 1} {\n background: nth($color-collection, $i+1);\n }\n }\n }\n .name {\n padding: 5px 3px;\n margin-left: 2px;\n border-radius: 2px;\n &.editable:hover {\n background: $background-clr;\n cursor: pointer;\n }\n }\n .form-control {\n border:1px solid $border-clr;\n padding: em(5px);\n border-radius: 2px;\n color: $text-clr;\n &:focus {\n outline:0;\n border-color: $blue-clr;\n box-shadow: 0 0 3px rgba($blue-clr, 0.5);\n }\n @include placeholder {\n color: rgba($text-2-clr,0.7);\n }\n }\n }\n &.action-cell {\n min-width: $actions-col-width;\n }\n &.vote-cell {\n min-width: $date-col-width;\n width: $date-col-width;\n text-align:center;\n position: relative;\n .overlay {\n position: absolute;\n top:0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 10;\n &:hover {\n background: rgba($border-clr, 0.2);\n cursor: pointer;\n }\n }\n }\n }\n &.ng-submitted {\n .ng-invalid {\n border-color: $pink-clr !important;\n }\n }\n }\n}\n","$tag-font-size: 14px;\n\ntags-input {\n display: block;\n}\ntags-input *, tags-input *:before, tags-input *:after {\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\ntags-input .host {\n position: relative;\n margin-top: 5px;\n margin-bottom: 5px;\n &:focus {\n outline:0;\n }\n}\ntags-input .host:active {\n outline: none;\n}\n\ntags-input .tags {\n padding: 4px;\n overflow: hidden;\n word-wrap: break-word;\n cursor: text;\n border-radius: 3px;\n background-color: white;\n border: 1px solid $border-clr;\n @include transition(border-color 0.1s ease-in-out);\n}\ntags-input .tags.focused {\n outline: none;\n}\n\ntags-input .tags .tag-list {\n margin: 0;\n padding: 0;\n list-style-type: none;\n}\ntags-input .tags .tag-item {\n margin: 2px;\n padding: 0 8px;\n display: inline-block;\n float: left;\n font-size: em($tag-font-size);\n height: 26px;\n line-height: 25px;\n border-radius: 1px;\n background:#E5EBF2;\n color: #7587A1;\n box-shadow:0 0 0 1px #CBD4E2;\n}\ntags-input .tags .tag-item.selected {\n background: $red-clr;\n color: white;\n box-shadow: none;\n}\ntags-input .tags .tag-item .remove-button {\n margin: 0 0 0 5px;\n padding: 0;\n border: none;\n background: none;\n color: inherit;\n cursor: pointer;\n vertical-align: middle;\n font: bold em(16px) Arial, sans-serif;\n}\n\ntags-input .tags .input {\n border: 0;\n outline: none;\n margin: 2px;\n padding: 0;\n padding-left: 8px;\n float: left;\n height: 26px;\n font-size: em($tag-font-size);\n @include placeholder {\n color: $text-3-clr;\n }\n}\n\ntags-input .tags .input.invalid-tag {\n color: $red-clr;\n}\n\ntags-input .tags .input::-ms-clear {\n display: none;\n}\n\ntags-input.ng-invalid .tags {\n // highlight tags when model is invalid\n}\n",".dropdown {\n position:relative;\n cursor: pointer;\n .dropdown-menu {\n position: absolute;\n display:none;\n z-index: 1000;\n float:left;\n min-width:160px;\n max-width: 180px;\n padding: 5px;\n text-align:left;\n left:0;\n }\n &.open .dropdown-menu {\n display: block;\n }\n .dropdown-toggle {\n &:after {\n content: \"\";\n width: 6px;\n height: 4px;\n margin-left: 10px;\n display:inline-block;\n background-image: url(\"../images/dropdown_arrow.png\");\n background-size: 6px 4px;\n background-repeat:no-repeat;\n }\n }\n}\n",".comments-info {\n font-weight: bold;\n padding-bottom: 10px;\n border-bottom: 2px solid $border-clr;\n}\n\n.comment-form {\n @include row;\n margin-top:20px;\n padding: 0 10px;\n .avatar-section {\n @include span-columns(1);\n img {\n border-radius: 3px;\n max-width: 100%;\n }\n }\n .input-section {\n @include span-columns(11);\n }\n .content-section {\n margin-bottom:10px;\n }\n .name-section {\n position:relative;\n margin-bottom: 10px;\n }\n .form-control {\n font-size: em(14px) !important;\n }\n textarea.form-control {\n min-height: 0;\n min-width: 100%;\n }\n}\n\n.comments-placeholder {\n color: $text-3-clr;\n text-align:center;\n}\n\n.comment-thread {\n list-style:none;\n margin:0;\n padding:0;\n margin-bottom: 20px;\n max-height: 500px;\n overflow-y: scroll;\n .comment {\n @include row;\n padding: 10px;\n .avatar-section {\n @include span-columns(1);\n img {\n max-width: 100%;\n border-radius: 3px;\n }\n }\n .comment-section {\n @include span-columns(11);\n position:relative;\n .comment-delete {\n opacity:0;\n text-decoration:none;\n color:white;\n background-color: $border-clr;\n color: $text-3-clr;\n border-radius: 2px;\n display:inline-block;\n position:absolute;\n right:0;\n top:0;\n font-size: em(14px);\n $cd-size: em(16px);\n width: $cd-size;\n height: $cd-size;\n line-height: $cd-size;\n text-align: center;\n &:hover {\n background: $red-clr;\n color: white;\n }\n &:active {\n background: darken($red-clr, 5%);\n }\n }\n .meta {\n font-size: em(13px);\n color: $text-2-clr;\n margin-bottom: 5px;\n }\n .name {\n color: $text-2-clr;\n font-weight: 600;\n }\n .time:before {\n content: \" \";\n display: inline-block;\n height: 4px;\n width: 4px;\n background: $text-3-clr;\n margin: 0 5px 2px 5px;\n border-radius: 100%;\n }\n .content {\n font-size: em(14px);\n margin-bottom: 5px;\n white-space: pre-wrap;\n margin-right: 100px;\n }\n .actions {\n opacity:0.8;\n a {\n color: $text-2-clr;\n font-size: em(12px);\n text-decoration: none;\n &:hover {\n color: $blue-clr;\n }\n }\n }\n }\n &:hover {\n background: $background-clr;\n cursor:default;\n border-radius: 3px;\n .name {\n color: $blue-clr;\n }\n .comment-delete {\n opacity: 1;\n }\n }\n }\n}\n",".switch-row {\n display:table;\n width: 100%;\n margin-bottom: 20px;\n padding-bottom: 20px;\n border-bottom: 1px solid $border-clr;\n &:last-child {\n border:0;\n }\n .switch-details {\n display:table-cell;\n .title {\n font-size: em(14px);\n font-weight: bold;\n }\n .description {\n font-size: em(12px);\n color: $text-2-clr;\n }\n }\n .switch {\n display:table-cell;\n text-align:right;\n min-width: 150px;\n vertical-align:middle;\n .switch-value {\n font-size: em(12px);\n color: $text-2-clr;\n display:inline-block;\n vertical-align:middle;\n\n }\n }\n}\n\n.switch-toggle {\n display:inline-block;\n margin-left: 5px;\n height: 20px;\n width: 40px;\n border-radius: 20px;\n vertical-align:middle;\n position:relative;\n cursor:pointer;\n background: $red-clr;\n box-shadow: inset 0 0 0 1px rgba(black,0.1);\n @include transition(all 0.1s ease-in-out);\n $tog-size: 16px;\n &:after {\n content: \" \";\n @include transition(all 0.1s ease-in-out);\n display:inline-block;\n height: $tog-size;\n width: $tog-size;\n position: absolute;\n $btn-top-clr: #FAFAFA;\n $btn-bottom-clr: #EFF1F3;\n box-shadow: inset 0 1px 0 white, 0 1px 1px rgba(black, 0.1);\n @include linear-gradient($btn-top-clr, $btn-bottom-clr);\n top: 50%;\n margin-top: ($tog-size / 2) * -1;\n left: 2px;\n border-radius: 100px;\n }\n &:hover {\n box-shadow:inset 0 0 0 1px rgba(black,0.1), inset 0 0 0 8px rgba(black,0.05); \n }\n &.active {\n background: $green-clr;\n &:after {\n left: 100%;\n margin-left: ($tog-size * -1) - 2;\n }\n }\n}\n",".notification {\n position: fixed;\n top: 80px;\n $not-width: 300px;\n right: 0;\n width: $not-width;\n z-index: 3000;\n padding: 12px 20px;\n background: $text-2-clr;\n border-top-left-radius:2px;\n border-bottom-left-radius:2px;\n color: white;\n @include transition(all 0.3s ease-in-out);\n &.success {\n background: $green-clr;\n }\n &.error {\n background: $red-clr;\n }\n &.ng-enter {\n right: -$not-width;\n opacity:0;\n }\n &.ng-enter-active {\n right:0;\n opacity:1;\n }\n &.ng-leave-active {\n right:-$not-width;\n opacity:1;\n }\n .title {\n font-size: em(14px);\n margin-bottom: 2px;\n }\n .message {\n font-size: em(12px);\n color: rgba(white, 0.8);\n }\n .close {\n position: absolute;\n top: 5px;\n right:10px;\n color: white;\n text-decoration:none;\n\n }\n}\n",".time-picker {\n width:100%;\n padding: 10px;\n .time-picker-col {\n display:table-cell;\n vertical-align:middle;\n }\n .time-picker-input {\n padding: 5px;\n border-radius: 3px;\n border: 1px solid $border-clr;\n outline:0;\n font-size: 18px;\n &:focus {\n border-color: $blue-clr;\n box-shadow: 0 0 3px rgba($blue-clr, 0.5);\n outline:0;\n }\n }\n}\n\n.time-picker-input {\n padding: em(5px) 0;\n text-align:center;\n border:0;\n font-size:em(14px);\n &.ng-invalid {\n border-color: $red-clr;\n &:focus {\n box-shadow: 0 0 3px rgba($red-clr, 0.5);\n }\n }\n &.ng-valid.ng-dirty {\n border-color: $green-clr;\n }\n &:focus {\n outline:0;\n color: $text-clr;\n }\n}\n\n.time-form {\n width:100%;\n border:1px solid $border-clr;\n th {\n border-bottom:2px solid $border-clr;\n padding: 10px;\n font-size: 14px;\n text-transform:uppercase;\n }\n td {\n border-right: 1px solid $border-clr;\n padding: 10px 10px;\n border-bottom:1px solid $border-clr;\n &:last-child {\n border-right:0;\n }\n input {\n width: 100%;\n }\n }\n tr:last-child {\n td {\n border-bottom:0;\n }\n }\n}\n",".page-placeholder {\n margin:0 auto;\n text-align:center;\n color:#B0B8C4;\n position:absolute;\n top:50%;\n left: 50%;\n @include transform(translateX(-50%) translateY(-50%));\n .image {\n margin-bottom:20px;\n }\n .title {\n font-size: em(36px);\n font-weight: bold;\n margin-bottom: 20px;\n }\n .content {\n font-size: em(14px);\n max-width: 320px;\n font-weight: normal;\n margin-bottom: 20px;\n }\n}\n",".event-header {\n width: 100%;\n margin-bottom:20px;\n .details {\n display:inline-block;\n .title {\n font-size: em(24px);\n font-weight: bold;\n .title-label {\n font-size: 11px;\n font-weight: normal;\n margin-left: 5px;\n position: relative;\n top: -3px;\n background: $text-2-clr;\n color:white;\n padding: 3px 10px;\n border-radius: 20px;\n &.success {\n background: $green-clr;\n }\n &.danger {\n background: $orangered-clr;\n }\n }\n }\n .subtitle {\n color: $text-2-clr;\n font-size: em(13px);\n a {\n color: $blue-clr;\n text-decoration: none;\n &:hover {\n text-decoration: underline;\n }\n }\n }\n }\n .actions {\n visibility:hidden;\n float: right;\n }\n &:hover {\n .actions {\n visibility:visible;\n }\n }\n}\n\n.event-description {\n font-size: em(18px);\n white-space: pre-wrap;\n margin-bottom: 20px;\n background: $background-clr;\n line-height:em(24px);\n position:relative;\n color: $text-2-clr;\n border-top:1px solid $border-clr;\n border-bottom: 1px solid $border-clr;\n}\n\n.event-location {\n font-size: em(14px);\n margin-bottom:20px;\n color: $text-3-clr;\n a {\n color: $text-clr;\n text-decoration:none;\n &:hover {\n text-decoration:underline;\n }\n }\n img {\n vertical-align:middle;\n margin-right: 10px;\n }\n}\n",".newevent-steps {\n @include display(flex);\n width:100%;\n list-style-position:inside;\n padding:0;\n margin:40px 0 10px 0;\n .step {\n @include flex(1);\n color: $text-2-clr;\n font-size: em(14px);\n margin: 0 0 0 0;\n padding: 0 0 10px 10px;\n border-bottom:2px solid $border-clr;\n position:relative;\n @include transition(all 0.2s ease-in-out);\n &:first-child {\n padding-left : 0;\n }\n &:after {\n content: \"\";\n position:absolute;\n bottom:-2px;\n left:0;\n height: 2px;\n width:0;\n background: $green-clr;\n @include transition(all 0.2s ease-in-out);\n }\n &.active {\n color: $text-clr;\n font-weight:bold;\n }\n &.complete:after {\n width:100%;\n }\n }\n}\n\n.summary {\n margin-bottom:20px;\n @include outer-container;\n .summary-pair {\n @include span-columns(6);\n @include omega(2n);\n margin-bottom:10px;\n &.extend {\n width:100%;\n margin:0 0 20px 0;\n }\n &:nth-child(even){\n margin-right:0;\n }\n &:last-child {\n margin-bottom:0;\n }\n .key {\n font-size:10px;\n color: $text-3-clr;\n\n }\n .value {\n &.wrap {\n white-space: pre-wrap;\n }\n }\n }\n}\n","// CSS3 Flexible Box Model and property defaults\n\n// Custom shorthand notation for flexbox\n@mixin box($orient: inline-axis, $pack: start, $align: stretch) {\n @include display-box;\n @include box-orient($orient);\n @include box-pack($pack);\n @include box-align($align);\n}\n\n@mixin display-box {\n display: -webkit-box;\n display: -moz-box;\n display: -ms-flexbox; // IE 10\n display: box;\n}\n\n@mixin box-orient($orient: inline-axis) {\n// horizontal|vertical|inline-axis|block-axis|inherit\n @include prefixer(box-orient, $orient, webkit moz spec);\n}\n\n@mixin box-pack($pack: start) {\n// start|end|center|justify\n @include prefixer(box-pack, $pack, webkit moz spec);\n -ms-flex-pack: $pack; // IE 10\n}\n\n@mixin box-align($align: stretch) {\n// start|end|center|baseline|stretch\n @include prefixer(box-align, $align, webkit moz spec);\n -ms-flex-align: $align; // IE 10\n}\n\n@mixin box-direction($direction: normal) {\n// normal|reverse|inherit\n @include prefixer(box-direction, $direction, webkit moz spec);\n -ms-flex-direction: $direction; // IE 10\n}\n\n@mixin box-lines($lines: single) {\n// single|multiple\n @include prefixer(box-lines, $lines, webkit moz spec);\n}\n\n@mixin box-ordinal-group($int: 1) {\n @include prefixer(box-ordinal-group, $int, webkit moz spec);\n -ms-flex-order: $int; // IE 10\n}\n\n@mixin box-flex($value: 0.0) {\n @include prefixer(box-flex, $value, webkit moz spec);\n -ms-flex: $value; // IE 10\n}\n\n@mixin box-flex-group($int: 1) {\n @include prefixer(box-flex-group, $int, webkit moz spec);\n}\n\n// CSS3 Flexible Box Model and property defaults\n// Unified attributes for 2009, 2011, and 2012 flavours.\n\n// 2009 - display (box | inline-box)\n// 2011 - display (flexbox | inline-flexbox)\n// 2012 - display (flex | inline-flex)\n@mixin display($value) {\n// flex | inline-flex\n @if $value == \"flex\" {\n // 2009\n display: -webkit-box;\n display: -moz-box;\n display: box;\n\n // 2012\n display: -webkit-flex;\n display: -moz-flex;\n display: -ms-flexbox; // 2011 (IE 10)\n display: flex;\n }\n\n @elseif $value == \"inline-flex\" {\n display: -webkit-inline-box;\n display: -moz-inline-box;\n display: inline-box;\n\n display: -webkit-inline-flex;\n display: -moz-inline-flex;\n display: -ms-inline-flexbox;\n display: inline-flex;\n }\n\n @else {\n display: $value;\n }\n}\n\n// 2009 - box-flex (integer)\n// 2011 - flex (decimal | width decimal)\n// 2012 - flex (integer integer width)\n@mixin flex($value) {\n\n // Grab flex-grow for older browsers.\n $flex-grow: nth($value, 1);\n\n // 2009\n @include prefixer(box-flex, $flex-grow, webkit moz spec);\n\n // 2011 (IE 10), 2012\n @include prefixer(flex, $value, webkit moz ms spec);\n}\n\n// 2009 - box-orient ( horizontal | vertical | inline-axis | block-axis)\n// - box-direction (normal | reverse) \n// 2011 - flex-direction (row | row-reverse | column | column-reverse)\n// 2012 - flex-direction (row | row-reverse | column | column-reverse)\n@mixin flex-direction($value: row) {\n\n // Alt values.\n $value-2009: $value;\n $value-2011: $value;\n $direction: \"normal\";\n\n @if $value == row {\n $value-2009: horizontal;\n }\n\n @elseif $value == \"row-reverse\" {\n $value-2009: horizontal;\n $direction: reverse;\n }\n\n @elseif $value == column {\n $value-2009: vertical;\n }\n\n @elseif $value == \"column-reverse\" {\n $value-2009: vertical;\n $direction: reverse;\n }\n\n // 2009\n @include prefixer(box-orient, $value-2009, webkit moz spec);\n @if $direction == \"reverse\" {\n @include prefixer(box-direction, $direction, webkit moz spec);\n }\n\n // 2012\n @include prefixer(flex-direction, $value, webkit moz spec);\n\n // 2011 (IE 10)\n -ms-flex-direction: $value;\n}\n\n// 2009 - box-lines (single | multiple)\n// 2011 - flex-wrap (nowrap | wrap | wrap-reverse)\n// 2012 - flex-wrap (nowrap | wrap | wrap-reverse)\n@mixin flex-wrap($value: nowrap) {\n\n // Alt values.\n $alt-value: $value;\n @if $value == nowrap {\n $alt-value: single;\n }\n\n @elseif $value == wrap {\n $alt-value: multiple;\n }\n\n @elseif $value == \"wrap-reverse\" {\n $alt-value: multiple;\n }\n\n @include prefixer(box-lines, $alt-value, webkit moz spec);\n @include prefixer(flex-wrap, $value, webkit moz ms spec);\n}\n\n// 2009 - TODO: parse values into flex-direction/flex-wrap\n// 2011 - TODO: parse values into flex-direction/flex-wrap\n// 2012 - flex-flow (flex-direction || flex-wrap)\n@mixin flex-flow($value) {\n @include prefixer(flex-flow, $value, webkit moz spec);\n}\n\n// 2009 - box-ordinal-group (integer)\n// 2011 - flex-order (integer)\n// 2012 - order (integer)\n@mixin order($int: 0) {\n // 2009\n @include prefixer(box-ordinal-group, $int, webkit moz spec);\n\n // 2012\n @include prefixer(order, $int, webkit moz spec);\n\n // 2011 (IE 10)\n -ms-flex-order: $int;\n}\n\n// 2012 - flex-grow (number)\n@mixin flex-grow($number: 0) {\n @include prefixer(flex-grow, $number, webkit moz spec);\n -ms-flex-positive: $number;\n}\n\n// 2012 - flex-shrink (number)\n@mixin flex-shrink($number: 1) {\n @include prefixer(flex-shrink, $number, webkit moz spec);\n -ms-flex-negative: $number;\n}\n\n// 2012 - flex-basis (number)\n@mixin flex-basis($width: auto) {\n @include prefixer(flex-basis, $width, webkit moz spec);\n -ms-flex-preferred-size: $width;\n}\n\n// 2009 - box-pack (start | end | center | justify)\n// 2011 - flex-pack (start | end | center | justify)\n// 2012 - justify-content (flex-start | flex-end | center | space-between | space-around)\n@mixin justify-content ($value: flex-start) {\n\n // Alt values.\n $alt-value: $value;\n @if $value == \"flex-start\" {\n $alt-value: start;\n }\n\n @elseif $value == \"flex-end\" {\n $alt-value: end;\n }\n\n @elseif $value == \"space-between\" {\n $alt-value: justify;\n }\n\n @elseif $value == \"space-around\" {\n $alt-value: center;\n }\n\n // 2009\n @include prefixer(box-pack, $alt-value, webkit moz spec);\n\n // 2012\n @include prefixer(justify-content, $value, webkit moz ms o spec);\n\n // 2011 (IE 10)\n -ms-flex-pack: $alt-value;\n}\n\n// 2009 - box-align (start | end | center | baseline | stretch)\n// 2011 - flex-align (start | end | center | baseline | stretch)\n// 2012 - align-items (flex-start | flex-end | center | baseline | stretch)\n@mixin align-items($value: stretch) {\n\n $alt-value: $value;\n\n @if $value == \"flex-start\" {\n $alt-value: start;\n } \n\n @elseif $value == \"flex-end\" {\n $alt-value: end;\n }\n\n // 2009\n @include prefixer(box-align, $alt-value, webkit moz spec);\n\n // 2012\n @include prefixer(align-items, $value, webkit moz ms o spec);\n \n // 2011 (IE 10)\n -ms-flex-align: $alt-value; \n}\n\n// 2011 - flex-item-align (auto | start | end | center | baseline | stretch)\n// 2012 - align-self (auto | flex-start | flex-end | center | baseline | stretch)\n@mixin align-self($value: auto) {\n\n $value-2011: $value;\n @if $value == \"flex-start\" {\n $value-2011: start;\n } \n\n @elseif $value == \"flex-end\" {\n $value-2011: end;\n }\n\n // 2012\n @include prefixer(align-self, $value, webkit moz spec);\n\n // 2011 (IE 10)\n -ms-flex-item-align: $value-2011;\n}\n\n// 2011 - flex-line-pack (start | end | center | justify | distribute | stretch)\n// 2012 - align-content (flex-start | flex-end | center | space-between | space-around | stretch)\n@mixin align-content($value: stretch) {\n\n $value-2011: $value;\n @if $value == \"flex-start\" {\n $value-2011: start;\n } \n\n @elseif $value == \"flex-end\" {\n $value-2011: end;\n }\n\n @elseif $value == \"space-between\" {\n $value-2011: justify;\n }\n\n @elseif $value == \"space-around\" {\n $value-2011: distribute;\n }\n\n // 2012\n @include prefixer(align-content, $value, webkit moz spec);\n\n // 2011 (IE 10)\n -ms-flex-line-pack: $value-2011;\n}\n\n","/// Makes an element a outer container by centring it in the viewport, clearing its floats, and setting its `max-width`.\n/// Although optional, using `outer-container` is recommended. The mixin can be called on more than one element per page, as long as they are not nested.\n///\n/// @param {Number (unit)} $local-max-width ($max-width)\n/// Max width to be applied to the element. Can be a percentage or a measure.\n///\n/// @example scss - Usage\n/// .element {\n/// @include outer-container(100%);\n/// }\n///\n/// @example css - CSS Output\n/// .element {\n/// *zoom: 1;\n/// max-width: 100%;\n/// margin-left: auto;\n/// margin-right: auto;\n/// }\n///\n/// .element:before, .element:after {\n/// content: \" \";\n/// display: table;\n/// }\n///\n/// .element:after {\n/// clear: both;\n/// }\n\n@mixin outer-container($local-max-width: $max-width) {\n @include clearfix;\n max-width: $local-max-width;\n margin: {\n left: auto;\n right: auto;\n }\n}\n","/// Sets the relative width of a single grid column. The unit used should be the same one used to define `$gutter`. To learn more about golden-ratio() see [Bourbon docs](http://bourbon.io/docs/#golden-ratio). Set with a `!global` flag.\n///\n/// @type Number (Unit)\n\n$column: golden-ratio(1em, 3) !default;\n\n/// Sets the relative width of a single grid gutter. The unit used should be the same one used to define `$column`. To learn more about golden-ratio() see [Bourbon docs](http://bourbon.io/docs/#golden-ratio). Set with the `!global` flag.\n///\n/// @type Number (Unit)\n\n$gutter: golden-ratio(1em, 1) !default;\n\n/// Sets the total number of columns in the grid. Its value can be overridden inside a media query using the `media()` mixin. Set with the `!global` flag.\n///\n/// @type Number (Unitless)\n\n$grid-columns: 12 !default;\n\n/// Sets the max-width property of the element that includes `outer-container()`. To learn more about `em()` see [Bourbon docs](http://bourbon.io/docs/#px-to-em). Set with the `!global` flag.\n///\n/// @type Number (Unit)\n///\n$max-width: em(1088) !default;\n\n/// When set to true, it sets the box-sizing property of all elements to `border-box`. Set with a `!global` flag.\n///\n/// @type Bool\n///\n/// @example css - CSS Output\n/// html {\n/// -webkit-box-sizing: border-box;\n/// -moz-box-sizing: border-box;\n/// box-sizing: border-box; }\n///\n/// *, *:before, *:after {\n/// -webkit-box-sizing: inherit;\n/// -moz-box-sizing: inherit;\n/// box-sizing: inherit;\n/// }\n\n$border-box-sizing: true !default;\n\n/// Sets the default [media feature](http://www.w3.org/TR/css3-mediaqueries/#media) that `media()` and `new-breakpoint()` revert to when only a breakpoint value is passed. Set with a `!global` flag.\n///\n/// @type String\n\n$default-feature: min-width; // Default @media feature for the breakpoint() mixin\n\n///Sets the default layout direction of the grid. Can be `LTR` or `RTL`. Set with a `!global` flag.\n///\n///@type String\n\n$default-layout-direction: LTR !default;\n","/// Removes the element's gutter margin, regardless of its position in the grid hierarchy or display property. It can target a specific element, or every `nth-child` occurrence. Works only with `block` layouts.\n///\n/// @param {List} $query (block)\n/// List of arguments. Supported arguments are `nth-child` selectors (targets a specific pseudo element) and `auto` (targets `last-child`).\n///\n/// When passed an `nth-child` argument of type `*n` with `block` display, the omega mixin automatically adds a clear to the `*n+1` th element. Note that composite arguments such as `2n+1` do not support this feature.\n///\n/// **Deprecation warning**: The omega mixin will no longer take a `$direction` argument. To change the layout direction, use `row($direction)` or set `$default-layout-direction` instead.\n///\n/// @example scss - Usage\n/// .element {\n/// @include omega;\n/// }\n///\n/// .nth-element {\n/// @include omega(4n);\n/// }\n///\n/// @example css - CSS Output\n/// .element {\n/// margin-right: 0;\n/// }\n///\n/// .nth-element:nth-child(4n) {\n/// margin-right: 0;\n/// }\n///\n/// .nth-element:nth-child(4n+1) {\n/// clear: left;\n/// }\n\n@mixin omega($query: block, $direction: default) {\n $table: belongs-to(table, $query);\n $auto: belongs-to(auto, $query);\n\n @if $direction != default {\n @include -neat-warn(\"The omega mixin will no longer take a $direction argument. To change the layout direction, use the direction(){...} mixin.\");\n } @else {\n $direction: get-direction($layout-direction, $default-layout-direction);\n }\n\n @if $table {\n @include -neat-warn(\"The omega mixin no longer removes padding in table layouts.\");\n }\n\n @if length($query) == 1 {\n @if $auto {\n &:last-child {\n margin-#{$direction}: 0;\n }\n }\n\n @else if contains-display-value($query) and $table == false {\n margin-#{$direction}: 0;\n }\n\n @else {\n @include nth-child($query, $direction);\n }\n }\n\n @else if length($query) == 2 {\n @if $auto {\n &:last-child {\n margin-#{$direction}: 0;\n }\n }\n\n @else {\n @include nth-child(nth($query, 1), $direction);\n }\n }\n\n @else {\n @include -neat-warn(\"Too many arguments passed to the omega() mixin.\");\n }\n}\n\n@mixin nth-child($query, $direction) {\n $opposite-direction: get-opposite-direction($direction);\n\n &:nth-child(#{$query}) {\n margin-#{$direction}: 0;\n }\n\n @if type-of($query) == number {\n &:nth-child(#{$query}+1) {\n clear: $opposite-direction;\n }\n }\n}\n"],"sourceRoot":"/source/"} \ No newline at end of file diff --git a/public/js/templates.js b/public/js/templates.js index d7b6c2642..cbce83866 100644 --- a/public/js/templates.js +++ b/public/js/templates.js @@ -11,12 +11,12 @@ $templateCache.put("templates/directives/poll.html","
$templateCache.put("templates/directives/timePicker.html","
\n
\n
\n
\n {{date | date: \'EEE\'}}\n
\n
\n {{date | date: \'d\'}}\n
\n
\n {{date | date : \'MMM\'}}\n
\n \n
\n
\n
\n \n
\n
\n"); $templateCache.put("templates/form/dateForm.html","
\n
Choose Dates
\n
    \n
  • \n
    \n
    \n {{d | date: \'EEE\'}}\n
    \n
    \n {{d | date: \'d\'}}\n
    \n
    \n {{d | date : \'MMM\'}}\n
    \n \n
    \n
  • \n
\n
\n
\n
\n
\n \n \n You need to select a few dates\n \n
\n\n
\n
\n
\n
\n"); $templateCache.put("templates/form/eventForm.html","
\n
Event Details
\n
\n
\n
\n
\n
\n \n \n {{errors.title}}\n \n \n
\n
\n
\n
\n \n \n {{errors.location}}\n \n \n
\n
\n
\n
\n
\n \n \n
\n
\n
\n"); -$templateCache.put("templates/form/participantsForm.html","
\n
Invite Participants
\n
\n
\n
\n
\n \n \n \n\n
\n
\n
\n\n"); +$templateCache.put("templates/form/participantsForm.html","
\n
Invite Participants
\n
\n
\n
\n
\n \n \n \n\n
\n
\n
\n"); $templateCache.put("templates/form/settingsForm.html","
\n
Settings
\n
\n
\n
\n
\n
\n Poll Status\n
\n
\n Let people vote on the poll.\n
\n
\n
\n
\n {{event.isClosed ? \'Closed\' : \'Open\' }}\n
\n
\n
\n
\n
\n
\n
\n
\n Notifications\n
\n
\n Send email notifications to the creator of this event.\n
\n
\n
\n
\n {{event.creator.allowNotifications ? \'Enabled\' : \'Disabled\' }}\n
\n
\n
\n
\n
\n
\n
\n
\n Delete Event\n
\n
\n Once you delete an event it will no longer be accessible.\n
\n
\n
\n \n
\n
\n
\n\n"); $templateCache.put("templates/form/timeForm.html","
\n
Choose Times
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n\n \n Time 1\n \n Time 2\n \n Time 3\n
\n
\n
\n {{d.date | date: \'EEE\'}}\n
\n
\n {{d.date | date: \'d\'}}\n
\n
\n {{d.date | date : \'MMM\'}}\n
\n \n
\n
\n \n
\n
\n"); $templateCache.put("templates/form/userForm.html","
\n
Your Details
\n
\n
\n
\n
\n
\n \n \n {{errors.name}}\n \n \n
\n
\n
\n
\n \n \n {{errors.email}}\n \n \n
\n
\n
\n
\n"); $templateCache.put("templates/newEvent/datetime.html","
\n\n
\n\n
\n \n \n
\n"); $templateCache.put("templates/newEvent/general.html","
\n\n
\n\n
\n\n
\n\n
\n \n
\n"); -$templateCache.put("templates/newEvent/invite.html","
\n\n
\n\n
\n \n \n
\n"); -$templateCache.put("templates/newEvent/layout.html","
\n\n
Schedule a New Event
\n
\n Fill in the form below to create your event and share it with your friends and colleagues.\n
\n
    \n
  1. 1 }\">\n General Details\n
  2. \n
  3. 2 }\">\n Dates & Times\n
  4. \n
  5. 3 }\">\n Invite Friends\n
  6. \n
\n
\n
\n\n
\n
\n
\n"); +$templateCache.put("templates/newEvent/invite.html","
\n
\n
Summary
\n
\n
\n
\n
\n
\n Your Name\n
\n
\n {{event.creator.name}}\n
\n
\n
\n
\n Email\n
\n
\n {{event.creator.email}}\n
\n
\n
\n
\n Title\n
\n
\n {{event.title}}\n
\n
\n
\n
\n Location\n
\n
\n {{event.location}}\n
\n
\n
\n
\n Description\n
\n
{{event.description}}
\n
\n
\n
\n Dates\n
\n
\n
    \n
  • \n
    \n
    \n {{d | date: \'EEE\'}}\n
    \n
    \n {{d | date: \'d\'}}\n
    \n
    \n {{d | date : \'MMM\'}}\n
    \n
    \n
  • \n
\n
\n
\n
\n
\n
\n
\n\n
\n\n
\n \n \n
\n"); +$templateCache.put("templates/newEvent/layout.html","
\n\n
Schedule a New Event
\n
\n Fill in the form below to create your event and share it with your friends and colleagues.\n
\n
    \n
  1. 1 }\">\n General Details\n
  2. \n
  3. 2 }\">\n Dates & Times\n
  4. \n
  5. 3 }\">\n Create & Send\n
  6. \n
\n
\n
\n\n
\n
\n
\n"); $templateCache.put("templates/newEvent/success.html","
\n
\n \n
\n
Event Created
\n
\n Your event has been created successfully! You should receive an email shortly with instructions to verify your email address.\n
\n
\n
\n
\n \n GO\n
\n
\n");}]); \ No newline at end of file diff --git a/public/scss/partials/pages/_newevent.scss b/public/scss/partials/pages/_newevent.scss new file mode 100644 index 000000000..751e1717a --- /dev/null +++ b/public/scss/partials/pages/_newevent.scss @@ -0,0 +1,67 @@ +.newevent-steps { + @include display(flex); + width:100%; + list-style-position:inside; + padding:0; + margin:40px 0 10px 0; + .step { + @include flex(1); + color: $text-2-clr; + font-size: em(14px); + margin: 0 0 0 0; + padding: 0 0 10px 10px; + border-bottom:2px solid $border-clr; + position:relative; + @include transition(all 0.2s ease-in-out); + &:first-child { + padding-left : 0; + } + &:after { + content: ""; + position:absolute; + bottom:-2px; + left:0; + height: 2px; + width:0; + background: $green-clr; + @include transition(all 0.2s ease-in-out); + } + &.active { + color: $text-clr; + font-weight:bold; + } + &.complete:after { + width:100%; + } + } +} + +.summary { + margin-bottom:20px; + @include outer-container; + .summary-pair { + @include span-columns(6); + @include omega(2n); + margin-bottom:10px; + &.extend { + width:100%; + margin:0 0 20px 0; + } + &:nth-child(even){ + margin-right:0; + } + &:last-child { + margin-bottom:0; + } + .key { + font-size:10px; + color: $text-3-clr; + + } + .value { + &.wrap { + white-space: pre-wrap; + } + } + } +} diff --git a/public/scss/partials/ui/_box.scss b/public/scss/partials/ui/_box.scss index b4799a3b3..af93b0e27 100644 --- a/public/scss/partials/ui/_box.scss +++ b/public/scss/partials/ui/_box.scss @@ -124,41 +124,3 @@ $box-h-pad: 25px; margin-top: $box-v-pad; padding: 15px $box-h-pad; } - -.box-steps { - @include display(flex); - width:100%; - list-style-position:inside; - padding:0; - margin:40px 0 10px 0; - .step { - @include flex(1); - color: $text-2-clr; - font-size: em(14px); - margin: 0 0 0 0; - padding: 0 0 10px 10px; - border-bottom:2px solid $border-clr; - position:relative; - @include transition(all 0.2s ease-in-out); - &:first-child { - padding-left : 0; - } - &:after { - content: ""; - position:absolute; - bottom:-2px; - left:0; - height: 2px; - width:0; - background: $green-clr; - @include transition(all 0.2s ease-in-out); - } - &.active { - color: $text-clr; - font-weight:bold; - } - &.complete:after { - width:100%; - } - } -} diff --git a/public/scss/partials/ui/_datepicker.scss b/public/scss/partials/ui/_datepicker.scss index f27107da7..988633cc6 100644 --- a/public/scss/partials/ui/_datepicker.scss +++ b/public/scss/partials/ui/_datepicker.scss @@ -116,7 +116,7 @@ .daticon-list { margin:0; - margin-left:-10px; + margin-left:-5px; list-style:none; padding:5px; text-align:left; diff --git a/public/scss/style.scss b/public/scss/style.scss index 864606378..4393e6cc2 100644 --- a/public/scss/style.scss +++ b/public/scss/style.scss @@ -32,3 +32,4 @@ a { @import "partials/pages/home"; @import "partials/pages/event"; +@import "partials/pages/newevent"; diff --git a/public/templates/form/participantsForm.html b/public/templates/form/participantsForm.html index 84f47c6cc..43943b75f 100644 --- a/public/templates/form/participantsForm.html +++ b/public/templates/form/participantsForm.html @@ -11,4 +11,3 @@
- diff --git a/public/templates/newEvent/invite.html b/public/templates/newEvent/invite.html index a768fbde7..ff4f65a2d 100644 --- a/public/templates/newEvent/invite.html +++ b/public/templates/newEvent/invite.html @@ -1,3 +1,72 @@ +
+
+
Summary
+
+
+
+
+
+ Your Name +
+
+ {{event.creator.name}} +
+
+
+
+ Email +
+
+ {{event.creator.email}} +
+
+
+
+ Title +
+
+ {{event.title}} +
+
+
+
+ Location +
+
+ {{event.location}} +
+
+
+
+ Description +
+
{{event.description}}
+
+
+
+ Dates +
+
+
    +
  • +
    +
    + {{d | date: 'EEE'}} +
    +
    + {{d | date: 'd'}} +
    +
    + {{d | date : 'MMM'}} +
    +
    +
  • +
+
+
+
+
+
diff --git a/public/templates/newEvent/layout.html b/public/templates/newEvent/layout.html index 5ddf18d6e..7070105f5 100644 --- a/public/templates/newEvent/layout.html +++ b/public/templates/newEvent/layout.html @@ -4,7 +4,7 @@
Fill in the form below to create your event and share it with your friends and colleagues.
-
    +
    1. General Details
    2. @@ -12,7 +12,7 @@ Dates & Times
    3. - Invite Friends + Create & Send