From 40622aa97d31837254996b718b0a6feca2bcd0ce Mon Sep 17 00:00:00 2001 From: Eric Guzman Date: Wed, 8 Feb 2012 14:41:10 -0800 Subject: Styles Controller - added methods to get keyframe animation rules --- js/controllers/styles-controller.js | 44 +++++++++++++++++++++++++++++++++++-- 1 file changed, 42 insertions(+), 2 deletions(-) diff --git a/js/controllers/styles-controller.js b/js/controllers/styles-controller.js index 011caec5..ff59c8f8 100644 --- a/js/controllers/styles-controller.js +++ b/js/controllers/styles-controller.js @@ -179,10 +179,14 @@ var stylesController = exports.StylesController = Montage.create(Component, { this.styleSheetModified(stylesheet); rule = stylesheet.rules[index]; - + ///// attach specificity to rule object + ///// if rule is css keyframes, return rule and don't attach specificity + if (rule instanceof WebKitCSSKeyframesRule) { + return rule; + } rule[this.CONST.SPECIFICITY_KEY] = this.getSpecificity(rule.selectorText); - + ///// return the rule we just inserted return rule; } @@ -840,6 +844,27 @@ var stylesController = exports.StylesController = Montage.create(Component, { } }, + ///// Get Animation Rule With Name + ///// Returns the CSSKeyframesRule with given name + + getAnimationRuleWithName : { + value: function(name) { + var sheets = this._activeDocument._document.styleSheets, + rules, i, j, rule; + + for(i = 0; i < sheets.length; i++) { + rules = sheets[i].rules; + for(j = 0; j < rules.length; j++) { + rule = rules[j]; + if(rule instanceof WebKitCSSKeyframesRule && rule.name === name) { + return rule; + } + } + } + + return; + } + }, ///// Delete style ///// Removes the property from the style declaration/rule @@ -1045,6 +1070,21 @@ var stylesController = exports.StylesController = Montage.create(Component, { } }, + ///// Get Element Animation Rule + ///// Returns the CSSKeyframesRule applied to an element + + getElementAnimationRule : { + value: function(element) { + var animationName = this.getElementStyle(element, '-webkit-animation-name'); + + if(!animationName) { + return null; + } + + return this.getAnimationRuleWithName(animationName); + } + }, + ///// Create Rule From Inline Style ///// Creates a rule for an inline style with a specified, or partially random selector. -- cgit v1.2.3 From a30d76ff641ce89686cf5fbd9f04ac9ab4e9c830 Mon Sep 17 00:00:00 2001 From: Valerio Virgillito Date: Fri, 10 Feb 2012 17:21:28 -0800 Subject: initial color chip for the stage Signed-off-by: Valerio Virgillito --- js/components/ui/color-chip.reel/color-chip.js | 80 +++++++++++++++++++--- js/controllers/elements/stage-controller.js | 5 +- js/data/pi/pi-data.js | 16 ++++- js/io/document/html-document.js | 3 + js/panels/properties/content.reel/content.js | 37 ++++++++++ .../properties/sections/custom.reel/custom.js | 46 +++++++++++-- 6 files changed, 172 insertions(+), 15 deletions(-) diff --git a/js/components/ui/color-chip.reel/color-chip.js b/js/components/ui/color-chip.reel/color-chip.js index 5bef7020..4c288084 100644 --- a/js/components/ui/color-chip.reel/color-chip.js +++ b/js/components/ui/color-chip.reel/color-chip.js @@ -9,32 +9,96 @@ var Montage = require("montage/core/core").Montage, var ColorChip = exports.ColorChip = Montage.create(Component, { + chip: { + value: false + }, + hasIcon: { value: true }, + iconType: { + value: null + }, + mode: { value: "stroke" }, - prepareForDraw: { - value: function() { -// this.colorButton.props = {side: 'right', align: 'bottom', wheel: true, palette: true, gradient: true, image: true, offset: 20}; -// this.application.ninja.colorController.addButton('chip', this.colorButton); + offset: { + value: 20 + }, + initialColor: { + value: false + }, + + changeDelegate: { + value: null + }, + prepareForDraw: { + value: function() { this.addEventListener("firstDraw", this, false); } }, draw: { value: function() { + if(this.hasIcon) { + var icon = this.iconType || this.mode + "Icon"; + this.application.ninja.colorController.addButton(icon, this.icon); + } - if(this.hasIcon) this.application.ninja.colorController.addButton(this.mode + 'Icon', this.icon); - -// this.application.ninja.colorController.addButton(this.mode, this.chipBtn); - this.chipBtn.props = {side: 'right', align: 'top', wheel: true, palette: true, gradient: true, image: true, offset: 20}; + this.chipBtn.props = {side: 'right', align: 'top', wheel: true, palette: true, gradient: true, image: true, offset: this.offset}; this.application.ninja.colorController.addButton(this.mode, this.chipBtn); + + /* + if(this.chip) { + //this.application.ninja.colorController.addButton('fillIcon', this.icon); + this.chipBtn.props = {side: 'right', align: 'top', wheel: true, palette: true, gradient: true, image: true, offset: 0}; + this.application.ninja.colorController.addButton(this.mode, this.chipBtn); + } else { + //if(this.hasIcon) this.application.ninja.colorController.addButton(this.mode + 'Icon', this.icon); + this.chipBtn.props = {side: 'right', align: 'top', wheel: true, palette: true, gradient: true, image: true, offset: 20}; + this.application.ninja.colorController.addButton(this.mode, this.chipBtn); + } + */ + + + } + }, + + handleFirstDraw: { + value: function(evt) { + if(this.chip) { + // This is a single chip - Not related to the color panel -- Set the initial color if found + var mode = "rgb", r = 0, g = 0, b = 0, a = 1, css = "rgb(255,0,0)"; + + if(this.initialColor) { + console.log(this.initialColor); + var colorObj = this.application.ninja.colorController.getColorObjFromCss(this.initialColor); + mode = colorObj.mode; + r = colorObj.value.r; + g = colorObj.value.g; + b = colorObj.value.b; + a = colorObj.value.a; + css = colorObj.css; + } + + this.chipBtn.color(mode, {wasSetByCode: true, type: 'change', color: {r: r, g: g, b: b}, css: css}); + //this.chipBtn.color('rgb', {wasSetByCode: true, type: 'change', color: {r: 255, g: 0, b: 0}, css: 'rgb(255,0,0)'}); + + this.chipBtn.addEventListener("change", this, false); + } + } + }, + + handleChange: { + value: function(evt) { + if(this.changeDelegate && typeof(this.changeDelegate === "function")) { + this.changeDelegate(evt); + } } } diff --git a/js/controllers/elements/stage-controller.js b/js/controllers/elements/stage-controller.js index b8170826..e9fc6bce 100644 --- a/js/controllers/elements/stage-controller.js +++ b/js/controllers/elements/stage-controller.js @@ -75,6 +75,8 @@ exports.StageController = Montage.create(ElementController, { getProperty: { value: function(el, p) { switch(p) { + case "background" : + return el.elementModel.stageBackground.style.getProperty(p); case "border": return el.elementModel.stageView.style.getProperty(p); case "height": @@ -92,7 +94,8 @@ exports.StageController = Montage.create(ElementController, { value: function(el, p, value) { switch(p) { case "background": - el.elementModel.body.style.setProperty(p, value); + console.log(value); + el.elementModel.stageBackground.style.setProperty(p, value); break; case "overflow": el.elementModel.viewPort.style.setProperty(p, value); diff --git a/js/data/pi/pi-data.js b/js/data/pi/pi-data.js index 10b33a0e..a6811a20 100644 --- a/js/data/pi/pi-data.js +++ b/js/data/pi/pi-data.js @@ -10,7 +10,21 @@ var Montage = require("montage/core/core").Montage, exports.PiData = Montage.create( Montage, { stagePi: { - value: [] + value: [ + { + label: "Style", + + Section: [ + [ + { + type : "chip", + id : "background", + prop: "background" + } + ] + ] + } + ] }, blockPi: { diff --git a/js/io/document/html-document.js b/js/io/document/html-document.js index c44dfe75..dd3507c2 100644 --- a/js/io/document/html-document.js +++ b/js/io/document/html-document.js @@ -398,6 +398,9 @@ var HTMLDocument = exports.HTMLDocument = Montage.create(baseDocumentModule.Base this.documentRoot.elementModel.stageView = this.documentRoot.elementModel.defaultRule.cssRules[j]; + } else if(this.documentRoot.elementModel.defaultRule.cssRules[j].selectorText === "#stageBG") { + + this.documentRoot.elementModel.stageBackground = this.documentRoot.elementModel.defaultRule.cssRules[j]; } } diff --git a/js/panels/properties/content.reel/content.js b/js/panels/properties/content.reel/content.js index 0088447a..b15f2d71 100644 --- a/js/panels/properties/content.reel/content.js +++ b/js/panels/properties/content.reel/content.js @@ -150,6 +150,43 @@ exports.Content = Montage.create(Component, { this.customPi = stage.elementModel.pi; this.displayCustomProperties(stage, stage.elementModel.pi); } + + // For now hardcode the background since it is the only custom property + // No need to loop through all the properties. + var backgroundChip = this.customSections[0].content.controls["background"]; + backgroundChip.initialColor = ElementsMediator.getProperty(stage, "background"); + + // Get stage color + //var backgroundColor = + //console.log(backgroundColor); + + /* + var customPI = PiData[this.customPi]; + // Get all the custom section for the custom PI + for(var i = 0, customSec; customSec = customPI[i]; i++) { + + // Now set the Fields for the custom PI + for(var j = 0, fields; fields = customSec.Section[j]; j++) { + for(var k = 0, control; control = fields[k]; k++) { + + var colorChipEl = this.customSections[i].content.controls[control.id]; + this.foo = colorChipEl; + colorChipEl.addEventListener("firstDraw", this, false); + + } + } + } + */ + } + }, + + foo: { + value: null + }, + + handleFirstDraw: { + value: function() { + this.foo.chipBtn.color('rgb', {wasSetByCode: true, type: 'change', color: {r: 255, g: 0, b: 0}, css: 'rgb(255,0,0)'}); } }, diff --git a/js/panels/properties/sections/custom.reel/custom.js b/js/panels/properties/sections/custom.reel/custom.js index 992db8e6..5315defc 100644 --- a/js/panels/properties/sections/custom.reel/custom.js +++ b/js/panels/properties/sections/custom.reel/custom.js @@ -6,6 +6,7 @@ No rights, expressed or implied, whatsoever to this software are provided by Mot var Montage = require("montage/core/core").Montage; var Component = require("montage/ui/component").Component; +var ElementsMediator = require("js/mediators/element-mediator").ElementMediator; //Custom Rows var SingleRow = require("js/panels/properties/sections/custom-rows/single-row.reel").SingleRow; @@ -18,7 +19,7 @@ var Dropdown = require("js/components/combobox.reel").Combobox; var TextField = require("js/components/textfield.reel").TextField; var FileInput = require("js/components/ui/file-input.reel").FileInput; var Checkbox = require("js/components/checkbox.reel").Checkbox; - +var ColorChip = require("js/components/ui/color-chip.reel").ColorChip; exports.CustomSection = Montage.create(Component, { @@ -88,10 +89,8 @@ exports.CustomSection = Montage.create(Component, { value:{} }, - handleChanging: - { - value:function(event) - { + handleChanging: { + value:function(event) { var obj = event.currentTarget; this._dispatchPropEvent({"type": "changing", "id": obj.id, "prop": obj.prop, "value": obj.value, "control": obj}); } @@ -106,6 +105,26 @@ exports.CustomSection = Montage.create(Component, { } }, + handleColorChange: { + value: function(event) { + // Change the stage color for now + console.log(this); + console.log(event); + console.log(event._event.color.css); + ElementsMediator.setProperty([this.application.ninja.currentDocument.documentRoot], "background", [event._event.color.css], "Change", "pi", 'foo'); + /* + var propEvent = document.createEvent("CustomEvent"); + propEvent.initEvent("propertyChange", true, true); + propEvent.type = "propertyChange"; + + propEvent.prop = "background";//event.prop; + propEvent.value = event._event.color.css; + + this.dispatchEvent(propEvent); + */ + } + }, + _dispatchPropEvent: { value: function(event) { // console.log(event); @@ -140,6 +159,7 @@ exports.CustomSection = Montage.create(Component, { case "textbox" : return this.createTextField(fields); case "file" : return this.createFileInput(fields); case "checkbox" : return this.createCheckbox(fields); + case "chip" : return this.createColorChip(fields); } } }, @@ -303,6 +323,22 @@ exports.CustomSection = Montage.create(Component, { boundObjectPropertyPath: "checked" }); + return obj; + } + }, + + createColorChip: { + value: function(aField) { + var obj = ColorChip.create(); + obj.chip = true; + obj.iconType = "fillIcon"; + obj.mode = "chip"; + obj.offset = 0; + + obj.changeDelegate = this.handleColorChange; + + this.controls[aField.id] = obj; + return obj; } } -- cgit v1.2.3 From ef032412216d437ce1c7dfc9050ab41adf0594c0 Mon Sep 17 00:00:00 2001 From: Eric Guzman Date: Mon, 13 Feb 2012 10:28:44 -0800 Subject: Tree Components - Change the way delegate methods are called --- .../treeview/ninja-branch.reel/ninja-branch.html | 3 +- .../treeview/ninja-branch.reel/ninja-branch.js | 1 - .../treeview/ninja-leaf.reel/ninja-leaf.html | 2 +- .../treeview/ninja-leaf.reel/ninja-leaf.js | 43 ++++++++++++++++++---- 4 files changed, 39 insertions(+), 10 deletions(-) diff --git a/js/components/treeview/ninja-branch.reel/ninja-branch.html b/js/components/treeview/ninja-branch.reel/ninja-branch.html index 4d557a94..13f1c575 100644 --- a/js/components/treeview/ninja-branch.reel/ninja-branch.html +++ b/js/components/treeview/ninja-branch.reel/ninja-branch.html @@ -110,7 +110,8 @@ No rights, expressed or implied, whatsoever to this software are provided by Mot "name": "Repetition", "properties": { "element": { "#": "branchList" }, - "contentController": {"@": "arrayController" } + "contentController": {"@": "arrayController" }, + "selectionEnabled": true } }, diff --git a/js/components/treeview/ninja-branch.reel/ninja-branch.js b/js/components/treeview/ninja-branch.reel/ninja-branch.js index 6b9ebb10..0d1a1d0e 100644 --- a/js/components/treeview/ninja-branch.reel/ninja-branch.js +++ b/js/components/treeview/ninja-branch.reel/ninja-branch.js @@ -5,7 +5,6 @@ */ var Montage = require("montage").Montage, - Component = require("montage/ui/component").Component, TreeNode = require("js/components/treeview/tree-node").TreeNode; var Branch = exports.Branch = Montage.create(TreeNode, { diff --git a/js/components/treeview/ninja-leaf.reel/ninja-leaf.html b/js/components/treeview/ninja-leaf.reel/ninja-leaf.html index bd8e8acd..310274bc 100644 --- a/js/components/treeview/ninja-leaf.reel/ninja-leaf.html +++ b/js/components/treeview/ninja-leaf.reel/ninja-leaf.html @@ -37,7 +37,7 @@ No rights, expressed or implied, whatsoever to this software are provided by Mot
-
+
\ No newline at end of file diff --git a/js/components/treeview/ninja-leaf.reel/ninja-leaf.js b/js/components/treeview/ninja-leaf.reel/ninja-leaf.js index bd566b26..749df3cd 100644 --- a/js/components/treeview/ninja-leaf.reel/ninja-leaf.js +++ b/js/components/treeview/ninja-leaf.reel/ninja-leaf.js @@ -5,7 +5,6 @@ No rights, expressed or implied, whatsoever to this software are provided by Mot */ var Montage = require("montage/core/core").Montage, - Component = require("montage/ui/component").Component; TreeNode = require("js/components/treeview/tree-node").TreeNode; exports.Leaf = Montage.create(TreeNode, { @@ -14,19 +13,39 @@ exports.Leaf = Montage.create(TreeNode, { }, templateDidLoad : { value: function() { - this.needsDraw = true; + var event = this.treeView.activationEvent; + + ///// Re-set the activation event + if(event && event !== this.activationEvent) { + this.delegateEventMap[event] = this.delegateEventMap[this.activationEvent]; + delete this.delegateEventMap[this.activationEvent]; + this.activationEvent = this.treeView.activationEvent; + } } }, prepareForDraw: { value : function() { - this.activationEvent = this.activationEvent || 'click'; - this.label._element.addEventListener(this.activationEvent, this.handleNodeActivation.bind(this), false); + var el = this.label._element; + + Object.keys(this.delegateEventMap).forEach(function(event) { + el.addEventListener(event, this, false); + }, this); + } }, - handleNodeActivation: { + handleEvent : { value: function(e) { - console.log(this.sourceObject); - this.treeView.contentController.delegate.applyPresetSelection(this.sourceObject); + var delegateMethod = this.delegateEventMap[e._event.type]; + this.callDelegateMethod(delegateMethod); + } + }, + callDelegateMethod : { + value: function(methodName) { + console.log("Delegate method name: ", methodName); + var delegate = this.treeView.contentController.delegate; + if(delegate && typeof delegate[methodName] === 'function') { + delegate[methodName](this.sourceObject); + } } }, draw : { @@ -35,6 +54,16 @@ exports.Leaf = Montage.create(TreeNode, { this._labelText = this.sourceObject[this.labelKey]; } } + }, + activationEvent : { + value : 'click' + }, + delegateEventMap : { + value: { + 'click' : 'handleNodeActivation', + 'dragstart' : 'handleDragStart', + 'dragend' : 'handleDragEnd' + } } -- cgit v1.2.3 From 85afed8ed707ce20cd28c3139680dfef6fd4b23d Mon Sep 17 00:00:00 2001 From: Eric Guzman Date: Mon, 13 Feb 2012 11:42:09 -0800 Subject: Ninja leaf - remove console lot --- js/components/treeview/ninja-leaf.reel/ninja-leaf.js | 1 - 1 file changed, 1 deletion(-) diff --git a/js/components/treeview/ninja-leaf.reel/ninja-leaf.js b/js/components/treeview/ninja-leaf.reel/ninja-leaf.js index 749df3cd..0b7a171e 100644 --- a/js/components/treeview/ninja-leaf.reel/ninja-leaf.js +++ b/js/components/treeview/ninja-leaf.reel/ninja-leaf.js @@ -41,7 +41,6 @@ exports.Leaf = Montage.create(TreeNode, { }, callDelegateMethod : { value: function(methodName) { - console.log("Delegate method name: ", methodName); var delegate = this.treeView.contentController.delegate; if(delegate && typeof delegate[methodName] === 'function') { delegate[methodName](this.sourceObject); -- cgit v1.2.3 From 0d7d6d4d98437a93f31ededa14ca6eb5382c9e58 Mon Sep 17 00:00:00 2001 From: Valerio Virgillito Date: Mon, 13 Feb 2012 14:05:10 -0800 Subject: Cleaning up the stage background color chip. Signed-off-by: Valerio Virgillito --- js/components/ui/color-chip.reel/color-chip.js | 16 ---------------- js/controllers/elements/stage-controller.js | 1 - js/panels/properties/content.reel/content.js | 8 -------- js/panels/properties/sections/custom.reel/custom.js | 13 +++++++++---- 4 files changed, 9 insertions(+), 29 deletions(-) diff --git a/js/components/ui/color-chip.reel/color-chip.js b/js/components/ui/color-chip.reel/color-chip.js index 4c288084..e51bdd8a 100644 --- a/js/components/ui/color-chip.reel/color-chip.js +++ b/js/components/ui/color-chip.reel/color-chip.js @@ -53,19 +53,6 @@ var ColorChip = exports.ColorChip = Montage.create(Component, { this.chipBtn.props = {side: 'right', align: 'top', wheel: true, palette: true, gradient: true, image: true, offset: this.offset}; this.application.ninja.colorController.addButton(this.mode, this.chipBtn); - /* - if(this.chip) { - //this.application.ninja.colorController.addButton('fillIcon', this.icon); - this.chipBtn.props = {side: 'right', align: 'top', wheel: true, palette: true, gradient: true, image: true, offset: 0}; - this.application.ninja.colorController.addButton(this.mode, this.chipBtn); - } else { - //if(this.hasIcon) this.application.ninja.colorController.addButton(this.mode + 'Icon', this.icon); - this.chipBtn.props = {side: 'right', align: 'top', wheel: true, palette: true, gradient: true, image: true, offset: 20}; - this.application.ninja.colorController.addButton(this.mode, this.chipBtn); - } - */ - - } }, @@ -76,7 +63,6 @@ var ColorChip = exports.ColorChip = Montage.create(Component, { var mode = "rgb", r = 0, g = 0, b = 0, a = 1, css = "rgb(255,0,0)"; if(this.initialColor) { - console.log(this.initialColor); var colorObj = this.application.ninja.colorController.getColorObjFromCss(this.initialColor); mode = colorObj.mode; r = colorObj.value.r; @@ -87,8 +73,6 @@ var ColorChip = exports.ColorChip = Montage.create(Component, { } this.chipBtn.color(mode, {wasSetByCode: true, type: 'change', color: {r: r, g: g, b: b}, css: css}); - //this.chipBtn.color('rgb', {wasSetByCode: true, type: 'change', color: {r: 255, g: 0, b: 0}, css: 'rgb(255,0,0)'}); - this.chipBtn.addEventListener("change", this, false); } } diff --git a/js/controllers/elements/stage-controller.js b/js/controllers/elements/stage-controller.js index e9fc6bce..af7c4858 100644 --- a/js/controllers/elements/stage-controller.js +++ b/js/controllers/elements/stage-controller.js @@ -94,7 +94,6 @@ exports.StageController = Montage.create(ElementController, { value: function(el, p, value) { switch(p) { case "background": - console.log(value); el.elementModel.stageBackground.style.setProperty(p, value); break; case "overflow": diff --git a/js/panels/properties/content.reel/content.js b/js/panels/properties/content.reel/content.js index b15f2d71..1ec6d769 100644 --- a/js/panels/properties/content.reel/content.js +++ b/js/panels/properties/content.reel/content.js @@ -156,10 +156,6 @@ exports.Content = Montage.create(Component, { var backgroundChip = this.customSections[0].content.controls["background"]; backgroundChip.initialColor = ElementsMediator.getProperty(stage, "background"); - // Get stage color - //var backgroundColor = - //console.log(backgroundColor); - /* var customPI = PiData[this.customPi]; // Get all the custom section for the custom PI @@ -180,10 +176,6 @@ exports.Content = Montage.create(Component, { } }, - foo: { - value: null - }, - handleFirstDraw: { value: function() { this.foo.chipBtn.color('rgb', {wasSetByCode: true, type: 'change', color: {r: 255, g: 0, b: 0}, css: 'rgb(255,0,0)'}); diff --git a/js/panels/properties/sections/custom.reel/custom.js b/js/panels/properties/sections/custom.reel/custom.js index 5315defc..a2b9b9fa 100644 --- a/js/panels/properties/sections/custom.reel/custom.js +++ b/js/panels/properties/sections/custom.reel/custom.js @@ -105,13 +105,14 @@ exports.CustomSection = Montage.create(Component, { } }, + /** + * Color change handler. Hard coding the stage for now since only the stage PI uses this color chip + */ handleColorChange: { value: function(event) { // Change the stage color for now - console.log(this); - console.log(event); - console.log(event._event.color.css); - ElementsMediator.setProperty([this.application.ninja.currentDocument.documentRoot], "background", [event._event.color.css], "Change", "pi", 'foo'); + //console.log(this, event); + ElementsMediator.setProperty([this.application.ninja.currentDocument.documentRoot], this.id, [event._event.color.css], "Change", "pi", ''); /* var propEvent = document.createEvent("CustomEvent"); propEvent.initEvent("propertyChange", true, true); @@ -330,11 +331,15 @@ exports.CustomSection = Montage.create(Component, { createColorChip: { value: function(aField) { var obj = ColorChip.create(); + obj.chip = true; obj.iconType = "fillIcon"; obj.mode = "chip"; obj.offset = 0; + if (aField.id) obj.id = aField.id; + if (aField.prop) obj.prop = aField.prop; + obj.changeDelegate = this.handleColorChange; this.controls[aField.id] = obj; -- cgit v1.2.3 From 135c888be707fb6b54d1d3002742c62a45d8f362 Mon Sep 17 00:00:00 2001 From: John Mayhew Date: Mon, 13 Feb 2012 14:51:14 -0800 Subject: implemented finalized splash screen --- index.html | 61 +++++++++++++++++++++++++++++++++++++------------------------ 1 file changed, 37 insertions(+), 24 deletions(-) diff --git a/index.html b/index.html index 0432acc1..bc5a9517 100644 --- a/index.html +++ b/index.html @@ -39,7 +39,7 @@ width: 100%; height: 100%; background-size: auto, 115%; - background-color: rgba(0, 0, 0, 1); + background-color: rgba(19, 19, 19, 1); } .montage-app-loaded body @@ -62,53 +62,66 @@ #ninja_logo { - width: 256px; - height: 256px; + width: 300px; + height: 300px; position: relative; - top: 0px; - left: 0px; + top: 5px; + left: 5px; overflow: hidden; - background: transparent url(data:image/png;base64,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); + background: transparent url(data:image/png;base64,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