From 8b06bd2a7909862d7f5bb359748e7348a6f42f67 Mon Sep 17 00:00:00 2001 From: Rafael Dery Date: Wed, 15 May 2024 12:15:25 +0200 Subject: [PATCH] Bug: Text is not synced when empty using textLinkGroup Bug: Wrong CSS class for align tool Bug: When ruler is enabled, the preview and download action does not work Bug. Patterns wrapper is duplicated for text Improvement: Close button for zoom wrapper Improvement: Ruler size calculation & style Improvement: Do not add fpd-no-modules-mode class in editorMode New: Option "rulerPosition" - to set the position of the ruler (canvas or printing box) New: Option "rulerFixed" - display the ruler Version 6.2.1 --- dist/css/FancyProductDesigner.css | 2 +- dist/css/FancyProductDesigner.min.css | 2 +- dist/js/FancyProductDesigner.js | 2 +- dist/js/FancyProductDesigner.min.js | 20 ++--- src/classes/FancyProductDesigner.js | 14 +-- src/classes/FancyProductDesignerView.js | 4 +- src/classes/Options.js | 20 +++++ src/fabricjs/canvas/Ruler.js | 108 ++++++++++++++++++------ src/helpers/utils.js | 13 +++ src/ui/controller/ActionsBar.js | 29 +++++++ src/ui/controller/ElementToolbar.js | 10 ++- src/ui/controller/Mainbar.js | 2 +- src/ui/controller/ViewsNav.js | 6 +- src/ui/html/element-toolbar.html | 2 +- src/ui/less/comps/tabs.less | 4 +- src/ui/less/layout/actions.less | 24 +++++- 16 files changed, 203 insertions(+), 59 deletions(-) diff --git a/dist/css/FancyProductDesigner.css b/dist/css/FancyProductDesigner.css index 3fdb88ce..9228dfc2 100644 --- a/dist/css/FancyProductDesigner.css +++ b/dist/css/FancyProductDesigner.css @@ -1 +1 @@ -:root{--fpd-primary-color:#485563;--fpd-primary-fg-color:#fff;--fpd-secondary-color:#029EEB;--fpd-secondary-fg-color:#fff;--fpd-light-bg-color:#F6F6F6;--fpd-light-grey-color:#EBEBEB;--fpd-dark-grey-color:#989898;--fpd-red-color:#bd081c;--fpd-yellow-color:#fffaf3;--fpd-yellow-contrast-color:#654c21;--fpd-green-color:#2ecc71;--fpd-scrollbar-track-color:var(--fpd-light-bg-color);--fpd-scrollbar-thumb-color:var(--fpd-dark-grey-color);--fpd-scrollbar-width:6px;--fpd-btn-primary-color:var(--fpd-secondary-color);--fpd-btn-primary-text-color:var(--fpd-secondary-fg-color);--fpd-dropdown-height:40px;--fpd-snackbar-bg-color:rgba(0, 0, 0, 0.9);--fpd-list-bg-color-active:rgba(0, 0, 0, 0.04);--fpd-input-text-color:rgba(0, 0, 0, 0.7);--fpd-tooltip-bg-color:rgba(0, 0, 0, 0.9);--fpd-track-height:8px;--fpd-text-color:var(--fpd-primary-color);--fpd-border-color:var(--fpd-light-grey-color);--fpd-container-min-height:500px;--fpd-border-radius:6px;--fpd-mainbar-nav-color:var(--fpd-primary-color);--fpd-sidebar-width:400px;--fpd-sidebar-nav-width:80px;--fpd-topbar-nav-height:70px;--fpd-off-canvas-width:350px;--fpd-actions-bar-bg-color:var(--fpd-primary-color);--fpd-actions-bar-height:50px;--fpd-loading-svg:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMzJweCcgaGVpZ2h0PSczMnB4JyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCIgY2xhc3M9InVpbC1kZWZhdWx0Ij48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgZmlsbD0ibm9uZSIgY2xhc3M9ImJrIj48L3JlY3Q+PHJlY3QgIHg9JzQ2LjUnIHk9JzQwJyB3aWR0aD0nNycgaGVpZ2h0PScyMCcgcng9JzUnIHJ5PSc1JyBmaWxsPScjMDAwMDAwJyB0cmFuc2Zvcm09J3JvdGF0ZSgwIDUwIDUwKSB0cmFuc2xhdGUoMCAtMzApJz4gIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J29wYWNpdHknIGZyb209JzEnIHRvPScwJyBkdXI9JzFzJyBiZWdpbj0nMHMnIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJy8+PC9yZWN0PjxyZWN0ICB4PSc0Ni41JyB5PSc0MCcgd2lkdGg9JzcnIGhlaWdodD0nMjAnIHJ4PSc1JyByeT0nNScgZmlsbD0nIzAwMDAwMCcgdHJhbnNmb3JtPSdyb3RhdGUoMzAgNTAgNTApIHRyYW5zbGF0ZSgwIC0zMCknPiAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0nb3BhY2l0eScgZnJvbT0nMScgdG89JzAnIGR1cj0nMXMnIGJlZ2luPScwLjA4MzMzMzMzMzMzMzMzMzMzcycgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnLz48L3JlY3Q+PHJlY3QgIHg9JzQ2LjUnIHk9JzQwJyB3aWR0aD0nNycgaGVpZ2h0PScyMCcgcng9JzUnIHJ5PSc1JyBmaWxsPScjMDAwMDAwJyB0cmFuc2Zvcm09J3JvdGF0ZSg2MCA1MCA1MCkgdHJhbnNsYXRlKDAgLTMwKSc+ICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdvcGFjaXR5JyBmcm9tPScxJyB0bz0nMCcgZHVyPScxcycgYmVnaW49JzAuMTY2NjY2NjY2NjY2NjY2NjZzJyByZXBlYXRDb3VudD0naW5kZWZpbml0ZScvPjwvcmVjdD48cmVjdCAgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyMwMDAwMDAnIHRyYW5zZm9ybT0ncm90YXRlKDkwIDUwIDUwKSB0cmFuc2xhdGUoMCAtMzApJz4gIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J29wYWNpdHknIGZyb209JzEnIHRvPScwJyBkdXI9JzFzJyBiZWdpbj0nMC4yNXMnIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJy8+PC9yZWN0PjxyZWN0ICB4PSc0Ni41JyB5PSc0MCcgd2lkdGg9JzcnIGhlaWdodD0nMjAnIHJ4PSc1JyByeT0nNScgZmlsbD0nIzAwMDAwMCcgdHJhbnNmb3JtPSdyb3RhdGUoMTIwIDUwIDUwKSB0cmFuc2xhdGUoMCAtMzApJz4gIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J29wYWNpdHknIGZyb209JzEnIHRvPScwJyBkdXI9JzFzJyBiZWdpbj0nMC4zMzMzMzMzMzMzMzMzMzMzcycgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnLz48L3JlY3Q+PHJlY3QgIHg9JzQ2LjUnIHk9JzQwJyB3aWR0aD0nNycgaGVpZ2h0PScyMCcgcng9JzUnIHJ5PSc1JyBmaWxsPScjMDAwMDAwJyB0cmFuc2Zvcm09J3JvdGF0ZSgxNTAgNTAgNTApIHRyYW5zbGF0ZSgwIC0zMCknPiAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0nb3BhY2l0eScgZnJvbT0nMScgdG89JzAnIGR1cj0nMXMnIGJlZ2luPScwLjQxNjY2NjY2NjY2NjY2NjdzJyByZXBlYXRDb3VudD0naW5kZWZpbml0ZScvPjwvcmVjdD48cmVjdCAgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyMwMDAwMDAnIHRyYW5zZm9ybT0ncm90YXRlKDE4MCA1MCA1MCkgdHJhbnNsYXRlKDAgLTMwKSc+ICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdvcGFjaXR5JyBmcm9tPScxJyB0bz0nMCcgZHVyPScxcycgYmVnaW49JzAuNXMnIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJy8+PC9yZWN0PjxyZWN0ICB4PSc0Ni41JyB5PSc0MCcgd2lkdGg9JzcnIGhlaWdodD0nMjAnIHJ4PSc1JyByeT0nNScgZmlsbD0nIzAwMDAwMCcgdHJhbnNmb3JtPSdyb3RhdGUoMjEwIDUwIDUwKSB0cmFuc2xhdGUoMCAtMzApJz4gIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J29wYWNpdHknIGZyb209JzEnIHRvPScwJyBkdXI9JzFzJyBiZWdpbj0nMC41ODMzMzMzMzMzMzMzMzM0cycgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnLz48L3JlY3Q+PHJlY3QgIHg9JzQ2LjUnIHk9JzQwJyB3aWR0aD0nNycgaGVpZ2h0PScyMCcgcng9JzUnIHJ5PSc1JyBmaWxsPScjMDAwMDAwJyB0cmFuc2Zvcm09J3JvdGF0ZSgyNDAgNTAgNTApIHRyYW5zbGF0ZSgwIC0zMCknPiAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0nb3BhY2l0eScgZnJvbT0nMScgdG89JzAnIGR1cj0nMXMnIGJlZ2luPScwLjY2NjY2NjY2NjY2NjY2NjZzJyByZXBlYXRDb3VudD0naW5kZWZpbml0ZScvPjwvcmVjdD48cmVjdCAgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyMwMDAwMDAnIHRyYW5zZm9ybT0ncm90YXRlKDI3MCA1MCA1MCkgdHJhbnNsYXRlKDAgLTMwKSc+ICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdvcGFjaXR5JyBmcm9tPScxJyB0bz0nMCcgZHVyPScxcycgYmVnaW49JzAuNzVzJyByZXBlYXRDb3VudD0naW5kZWZpbml0ZScvPjwvcmVjdD48cmVjdCAgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyMwMDAwMDAnIHRyYW5zZm9ybT0ncm90YXRlKDMwMCA1MCA1MCkgdHJhbnNsYXRlKDAgLTMwKSc+ICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdvcGFjaXR5JyBmcm9tPScxJyB0bz0nMCcgZHVyPScxcycgYmVnaW49JzAuODMzMzMzMzMzMzMzMzMzNHMnIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJy8+PC9yZWN0PjxyZWN0ICB4PSc0Ni41JyB5PSc0MCcgd2lkdGg9JzcnIGhlaWdodD0nMjAnIHJ4PSc1JyByeT0nNScgZmlsbD0nIzAwMDAwMCcgdHJhbnNmb3JtPSdyb3RhdGUoMzMwIDUwIDUwKSB0cmFuc2xhdGUoMCAtMzApJz4gIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J29wYWNpdHknIGZyb209JzEnIHRvPScwJyBkdXI9JzFzJyBiZWdpbj0nMC45MTY2NjY2NjY2NjY2NjY2cycgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnLz48L3JlY3Q+PC9zdmc+);--fpd-canvas-bg:var(--fpd-light-bg-color);--fpd-et-max-width:375px;--fpd-module-content-padding:10px;--fpd-module-secondary-color:var(--fpd-light-bg-color);--fpd-module-secondary-text-color:var(--fpd-text-color);--fpd-image-quality-start-color:#FFE790}.fpd-container *,.fpd-container:after,.fpd-container:before{margin:0;padding:0;list-style:none;max-width:100%;list-style-type:none;text-shadow:none;outline:0;line-height:20px;border:none;box-sizing:border-box}.fpd-container input{-webkit-appearance:none;appearance:none;height:auto;background:0 0!important;outline:0!important}.fpd-container textarea{background:0 0;outline:0!important}.fpd-container input::-webkit-inner-spin-button,.fpd-container input::-webkit-outer-spin-button{appearance:none}.fpd-wrapper{display:flex;flex-flow:row wrap;max-width:100%;position:relative;color:var(--fpd-text-color)}.fpd-container.fpd-not-responsive,.fpd-container.fpd-not-responsive *{max-width:none!important}.fpd-container.fpd-not-responsive * .fpd-product-stage,.fpd-container.fpd-not-responsive .fpd-product-stage{overflow:auto}.fpd-container .fpd-scroll-area{height:100%;overflow:auto;overscroll-behavior:none;-webkit-overflow-scrolling:touch;scrollbar-width:var(--fpd-scrollbar-width);scrollbar-color:var(--fpd-scrollbar-thumb-color) var(--fpd-scrollbar-track-color)}.fpd-container .fpd-scroll-area::-webkit-scrollbar{width:var(--fpd-scrollbar-width);height:var(--fpd-scrollbar-width);padding-right:5px;margin-right:5px}.fpd-container .fpd-scroll-area::-webkit-scrollbar-track{background-color:var(--fpd-scrollbar-track-color);-webkit-border-radius:10px;border-radius:10px;margin:20px}.fpd-container .fpd-scroll-area::-webkit-scrollbar-thumb{-webkit-border-radius:10px;border-radius:10px;background:var(--fpd-scrollbar-thumb-color)}.fpd-scrollbar-hidden{overscroll-behavior:none;-ms-overflow-style:none;scrollbar-width:none}.fpd-scrollbar-hidden::-webkit-scrollbar{display:none}textarea[data-fabric-hiddentextarea]{font-size:16px!important;transform:translateY(-20px);caret-color:transparent}.fpd-disabled{opacity:.2!important;cursor:default!important;pointer-events:none!important}body .fpd-hidden{display:none!important;pointer-events:none!important}.fpd-overflow-hidden{overflow:hidden!important}.fpd-hidden-canvas{position:absolute!important;left:-9999999px}[class^=fpd-icon-]:before{color:inherit!important}body .fpd-visible-hidden{visibility:hidden!important;pointer-events:none!important}body fpd-dropdown{position:relative;display:flex;height:var(--fpd-dropdown-height)}body fpd-dropdown>.fpd-dropdown-current{height:100%;width:100%!important;padding:7px 20px 7px 7px!important;margin:0!important}body fpd-dropdown>.fpd-dropdown-arrow{position:absolute;font-size:20px;right:2px;top:calc(50% - 10px);opacity:.6;text-align:center;width:20px;height:20px;transform-origin:center center;transition:all .2s ease-out;cursor:pointer}body fpd-dropdown .fpd-dropdown-list{display:none;position:fixed;padding-right:5px;left:0;top:0;background:#fff;z-index:100;box-shadow:0 2px 0 1px rgba(64,87,109,.07),0 2px 12px rgba(53,71,90,.2);transform:translateY(2px);border-radius:4px;max-height:200px}body fpd-dropdown .fpd-dropdown-list>.fpd-scroll-area{max-height:inherit;padding:0!important}body fpd-dropdown .fpd-dropdown-list .fpd-item{display:block;text-align:left;margin:5px;padding:10px;line-height:14px;font-size:14px;cursor:pointer;border-radius:4px}body fpd-dropdown .fpd-dropdown-list .fpd-item:hover{background:rgba(0,0,0,.05)}body fpd-dropdown input:focus~.fpd-dropdown-list,body fpd-dropdown.fpd-active .fpd-dropdown-list{display:block;border:1px solid var(--fpd-border-color)}body fpd-dropdown input:focus~.fpd-dropdown-arrow,body fpd-dropdown.fpd-active>.fpd-dropdown-arrow{transform:rotate(90deg)}body fpd-dropdown.fpd-on-loading .fpd-dropdown-arrow{display:none!important}body fpd-dropdown.fpd-on-loading>input.fpd-dropdown-current{background-size:20px;background-repeat:no-repeat;background-position:98% center;background-image:var(--fpd-loading-svg)}.fpd-container .fpd-loader-wrapper{background:rgba(255,255,255,.9);width:100%;height:100%;position:absolute;top:0;left:0;z-index:100}.fpd-loader-wrapper>.fpd-loader{position:absolute;text-align:center;width:100%;left:50%;top:50%;transform:translate(-50%,-50%)}.fpd-loader>.fpd-loader-text{position:absolute;width:100%;display:block;font-size:14px;padding:20px 0;color:rgba(0,0,0,.5);text-transform:uppercase;font-weight:lighter;letter-spacing:1.5px;-webkit-filter:blur(0)}.fpd-loader>.fpd-loader-circle{margin:0 auto;width:40px;height:40px;border:3px solid rgba(0,0,0,.2);border-left:3px solid #000;transform:translateZ(0);animation:fpd-loader-animation 1.1s infinite linear}.fpd-loader>.fpd-loader-circle,.fpd-loader>.fpd-loader-circle:after{border-radius:50%}@-webkit-keyframes fpd-loader-animation{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes fpd-loader-animation{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.fpd-container .fpd-btn,.fpd-modal-inner .fpd-btn{background:var(--fpd-btn-primary-color);color:var(--fpd-btn-primary-text-color);cursor:pointer;display:inline-flex;align-items:center;padding:5px 15px;font-size:14px;margin:10px 0;text-transform:uppercase;border-radius:var(--fpd-border-radius);transition:all .2s ease-out}.fpd-container .fpd-btn:hover,.fpd-modal-inner .fpd-btn:hover{opacity:.8}.fpd-container .fpd-btn.fpd-loading,.fpd-modal-inner .fpd-btn.fpd-loading{background-image:var(--fpd-loading-svg);background-repeat:no-repeat;background-position:center;background-size:30%;opacity:.8;color:transparent;cursor:wait}.fpd-container .fpd-btn.fpd-secondary,.fpd-modal-inner .fpd-btn.fpd-secondary{background:var(--fpd-light-grey-color);color:var(--fpd-dark-grey-color)}.fpd-container .fpd-btn.fpd-full,.fpd-modal-inner .fpd-btn.fpd-full{width:100%;justify-content:center}body .fpd-container input,body .fpd-container textarea{color:var(--fpd-input-text-color);box-shadow:0 0 4px rgba(110,111,114,.22);border:none;border-radius:var(--fpd-border-radius);padding:10px;margin-bottom:10px;appearance:none;-moz-appearance:textfield;resize:none;font-size:16px;border:1px solid transparent}body .fpd-container input[type=text],body .fpd-container textarea[type=text]{width:100%}body .fpd-container input:focus,body .fpd-container textarea:focus{box-shadow:0 0 4px rgba(110,111,114,.22);border:1px solid var(--fpd-secondary-color)}body .fpd-container textarea{width:100%;min-height:100px}body .fpd-container select{box-shadow:0 0 4px rgba(110,111,114,.22);border-radius:var(--fpd-border-radius);border:1px solid transparent}body .fpd-container select:focus{box-shadow:0 0 4px rgba(110,111,114,.22);border:1px solid var(--fpd-secondary-color)}body .fpd-container .fpd-input-back-search,body .fpd-container .fpd-input-search{display:flex;box-shadow:0 0 4px rgba(110,111,114,.22);height:40px;border-radius:4px;flex:1}body .fpd-container .fpd-input-back-search input,body .fpd-container .fpd-input-search input{flex:1;box-shadow:none!important;margin:0;padding:0 5px;line-height:1;border:none!important}body .fpd-container .fpd-input-back-search span,body .fpd-container .fpd-input-search span{width:20px;align-self:center;text-align:center;font-size:16px;margin-right:5px}body .fpd-container .fpd-input-back-search .fpd-input-search{border-top-left-radius:0;border-bottom-left-radius:0;box-shadow:none!important}body .fpd-container .fpd-input-back-search .fpd-back{color:var(--fpd-module-secondary-text-color);border:none!important;background:rgba(0,0,0,.03)!important;line-height:1;padding:9px 8px!important;display:inline-block;width:32px;height:100%;text-align:center;margin:0!important;border-top-right-radius:0;border-bottom-right-radius:0}body .fpd-container .fpd-input{display:flex;width:100%;align-items:center;box-shadow:0 0 4px rgba(110,111,114,.22);overflow:hidden;border-radius:var(--fpd-border-radius);border:1px solid transparent}body .fpd-container .fpd-input [class^=fpd-icon-],body .fpd-container .fpd-input span{padding:2px 6px;flex:0 30px;margin-right:5px;text-align:center;border-right:1px solid var(--fpd-border-color)}body .fpd-container .fpd-input span{flex:0 auto;text-align:left;white-space:nowrap}body .fpd-container .fpd-input input{box-shadow:none;margin:0;padding:5px;flex:1;width:100%;border-radius:0;border:none!important}body .fpd-container .fpd-input fpd-range-slider{flex-basis:100%}body .fpd-container .fpd-input .fpd-slider-number{flex:0 70px;text-align:center;border:1px solid var(--fpd-border-color)!important;border-radius:var(--fpd-border-radius);margin:3px 3px 3px 5px}body .fpd-container .fpd-input .fpd-slider-number:focus{border-color:var(--fpd-secondary-color)!important}.fpd-module-tabs{display:flex;background:var(--fpd-module-secondary-color);color:var(--fpd-module-secondary-text-color)}.fpd-module-tabs>div{flex:1;text-align:center;cursor:pointer;padding:8px 0;font-size:20px}.fpd-module-tabs>div:hover{background:rgba(0,0,0,.03)}.fpd-module-tabs>div.fpd-active{background:var(--fpd-primary-fg-color);color:var(--fpd-secondary-color)}.fpd-module-tabs>div>span{pointer-events:none}.fpd-module-tabs-content{height:100%}.fpd-module-tabs-content>div{display:none;height:100%}.fpd-module-tabs-content>div.fpd-active{display:block}.fpd-sidebar .fpd-module-tabs{top:50px}.fpd-hide-tabs .fpd-module-tabs{display:none!important}.fpd-snackbar-wrapper{position:fixed;left:12px;bottom:0;z-index:100000}.fpd-snackbar-wrapper .fpd-snackbar{background:var(--fpd-snackbar-bg-color);margin-bottom:10px;color:#fff;line-height:18px;font-size:14px;min-width:288px;max-width:568px;overflow-y:hidden;border-radius:2px;-webkit-transition:all .3s ease-out;transition:all .3s ease-out}.fpd-snackbar-wrapper .fpd-snackbar p{margin:0;padding:16px 24px}.fpd-snackbar-wrapper .fpd-snackbar.fpd-show-up{max-height:300px}.fpd-modal-overlay{position:absolute!important;width:100%!important;bottom:0!important;right:0!important;top:0!important;left:0!important;background:rgba(0,0,0,.5);z-index:10000;overflow:auto}.fpd-modal-overlay>.fpd-modal-inner{display:flex;align-items:center;background:#fff;width:450px;min-height:200px;position:absolute;left:50%;top:30%;padding:40px;z-index:10020;max-width:100%;transform:translateX(-50%);box-sizing:border-box;border-radius:var(--fpd-border-radius)}.fpd-modal-overlay>.fpd-modal-inner>.fpd-modal-close{position:absolute;right:15px;top:15px;font-size:16px;cursor:pointer;opacity:.6;transition:opacity .2s ease-out}.fpd-modal-overlay>.fpd-modal-inner>.fpd-modal-close:hover{opacity:1}.fpd-modal-overlay>.fpd-modal-inner>.fpd-modal-content{flex:1 100%;text-align:center;color:rgba(0,0,0,.7);line-height:22px;word-break:break-word}.fpd-modal-overlay.fpd-fullscreen>.fpd-modal-inner{width:100%;height:100%;top:0;overflow:auto;border-radius:0}.fpd-modal-overlay.fpd-modal-internal{z-index:10000000000}.fpd-modal-overlay.fpd-modal-product-designer,.fpd-overflow-hidden .fpd-modal-overlay{position:fixed!important}.fpd-modal-internal[data-type=prompt] input{width:100%;display:block}.fpd-modal-internal[data-type=prompt]{text-align:center}.fpd-modal-internal[data-type=confirm]{text-align:center}.fpd-modal-internal .fpd-confirm-msg{margin-bottom:10px}.fpd-modal-product-designer{display:none;pointer-events:none;overflow:hidden!important}.fpd-modal-product-designer.fpd-show{display:block;pointer-events:all}.fpd-modal-product-designer>.fpd-modal-inner{padding:0}.fpd-modal-product-designer>.fpd-modal-inner>.fpd-wrapper{flex:1 100%;margin:0 0!important;height:100%;box-shadow:none!important}.fpd-modal-product-designer>.fpd-modal-inner>.fpd-wrapper fpd-main-bar{height:calc(100% - var(--fpd-actions-bar-height))!important}.fpd-modal-product-designer>.fpd-modal-inner>.fpd-wrapper.fpd-layout-small fpd-main-wrapper{height:calc(100% - var(--fpd-actions-bar-height) - var(--fpd-sidebar-nav-width))!important}body.fpd-modal-mode-active:not(.fpd-modal-designer-visible) fpd-element-toolbar{display:none!important}.fpd-container .fpd-modal-content fpd-module-save-load{padding:0}.fpd-container .fpd-modal-content fpd-module-save-load .fpd-saved-designs{max-height:200px}.fpd-list{width:100%;overflow:auto}.fpd-list>.fpd-list-row{display:flex;font-size:15px;overflow:hidden;cursor:pointer;transition:background .3s ease-out}.fpd-list>.fpd-list-row>.fpd-cell-full{flex:1 100%}.fpd-list>.fpd-list-row>div{padding:22px 0;flex:1}.fpd-list .fpd-sortable-placeholder{background:rgba(0,0,0,.05);border:2px dotted var(--fpd-border-color);height:65px}.fpd-container fpd-range-slider{display:block;margin-top:3px}.fpd-container fpd-range-slider input[type=range]{margin:0;padding:0;box-shadow:none;width:100%}.fpd-container fpd-range-slider input[type=range]:focus{outline:0}.fpd-container fpd-range-slider input[type=range]::-webkit-slider-runnable-track{height:var(--fpd-track-height);border:1px solid var(--fpd-border-color);border-radius:4px;background:var(--fpd-light-bg-color)}.fpd-container fpd-range-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:1em;background:#fff;border:2px solid var(--fpd-secondary-color);margin-top:calc((var(--fpd-track-height) * .5 - 1px) - (20px * .5));cursor:pointer}.fpd-container fpd-range-slider input[type=range]::-webkit-slider-thumb:hover{scale:1.2}.fpd-container fpd-range-slider.fpd-progress input[type=range]{--range:calc(var(--max) - var(--min));--ratio:calc((var(--value) - var(--min)) / var(--range));--sx:calc(0.5 * 20px + var(--ratio) * (100% - 20px))}.fpd-container fpd-range-slider.fpd-progress input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(var(--fpd-secondary-color),var(--fpd-secondary-color)) 0/var(--sx) 100% no-repeat,var(--fpd-light-bg-color)}.fpd-container fpd-range-slider input[type=range]::-moz-range-track{height:var(--fpd-track-height);border:1px solid var(--fpd-border-color);border-radius:4px;background:var(--fpd-light-bg-color)}.fpd-container fpd-range-slider input[type=range]::-moz-range-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:1em;background:#fff;border:2px solid var(--fpd-secondary-color);margin-top:calc((var(--fpd-track-height) * .5 - 1px) - (20px * .5));cursor:pointer}.fpd-container fpd-range-slider input[type=range]::-moz-range-thumb:hover{scale:1.2}.fpd-container fpd-range-slider.fpd-progress input[type=range]::-moz-range-track{background:linear-gradient(var(--fpd-secondary-color),var(--fpd-secondary-color)) 0/var(--sx) 100% no-repeat,var(--fpd-light-bg-color)}.fpd-container .fpd-color-panel>.fpd-scroll-area{height:auto;max-height:100px;margin-bottom:10px}.fpd-container .fpd-color-panel>*{margin-bottom:10px}.fpd-container .fpd-color-panel>:last-child{margin-bottom:0}.fpd-container .picker_wrapper{width:100%;box-shadow:none;background:0 0;padding:0}.fpd-container .picker_wrapper.popup{width:200px;max-width:200px;padding:10px;display:flex;min-height:200px;background:#f6f6f6;margin:0;transform:translate(-50%,10px);border-radius:var(--fpd-border-radius);box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12)}.fpd-container .picker_wrapper>*{margin:0 0 10px}.fpd-container .picker_wrapper .picker_sample,.fpd-container .picker_wrapper .picker_sl,.fpd-container .picker_wrapper .picker_slider{box-shadow:none}.fpd-container .picker_wrapper .picker_selector{border:2px solid rgba(0,0,0,.4);background:rgba(255,255,255,.5);border-radius:50%;box-shadow:none;width:15px;height:15px;padding:0}.fpd-container .picker_wrapper .picker_sl{margin-top:0;height:100%;border-radius:var(--fpd-border-radius)}.fpd-container .picker_wrapper .picker_sl:before{height:100px;padding:0;border:1px solid var(--fpd-border-color);border-radius:var(--fpd-border-radius)}.fpd-container .picker_wrapper .picker_sl .picker_selector{transform-origin:center}.fpd-container .picker_wrapper .picker_hue{order:1;height:15px;padding:0;border:1px solid var(--fpd-border-color);border-radius:var(--fpd-border-radius)}.fpd-container .picker_wrapper .picker_hue .picker_selector{transform:translate(-50%,0);top:-1px}.fpd-container .picker_wrapper .picker_editor{width:auto;flex:0 80%;max-width:100px;margin-bottom:0}.fpd-container .picker_wrapper .picker_editor input{font-size:16px;height:28px;box-shadow:none!important;border:1px solid var(--fpd-border-color);margin-bottom:0}.fpd-container .picker_wrapper .picker_sample{height:28px;cursor:pointer;text-align:center;flex:0 30px;margin-bottom:0}.fpd-container .picker_wrapper .picker_sample:before{border-radius:var(--fpd-border-radius);border:1px solid var(--fpd-border-color)}.fpd-container .picker_wrapper .picker_sample span{position:relative;display:inline-block;margin-top:3px;font-size:16px;color:#fff;text-shadow:0 0 #000}.fpd-container .picker_wrapper .picker_arrow,.fpd-container .picker_wrapper .picker_done{display:none}.fpd-container .fpd-colorpicker-wrapper{position:relative;padding:0 10px;width:100%}.fpd-container .fpd-colorpicker-wrapper .fpd-scroll-area{max-height:100px;overflow-x:hidden;margin-top:10px}.fpd-container .fpd-color-palette,.fpd-container .fpd-patterns-wrapper{display:flex;flex-wrap:wrap;gap:6px}.fpd-container .fpd-color-palette .fpd-item,.fpd-container .fpd-patterns-wrapper .fpd-item{width:24px;height:24px;border:2px solid rgba(0,0,0,.1);border-radius:var(--fpd-border-radius);transition:all .2s ease;background-repeat:repeat;cursor:pointer}.fpd-container .fpd-color-palette .fpd-item:hover,.fpd-container .fpd-patterns-wrapper .fpd-item:hover{border-color:rgba(0,0,0,.2)}.fpd-container .fpd-color-palette.fpd-sub-show>.fpd-item,.fpd-container .fpd-patterns-wrapper.fpd-sub-show>.fpd-item{scale:.7}.fpd-container .fpd-color-palette.fpd-sub-show>.fpd-item.fpd-active,.fpd-container .fpd-patterns-wrapper.fpd-sub-show>.fpd-item.fpd-active{scale:1}.fpd-container .fpd-has-subpanel>.fpd-color-palette>.fpd-scroll-area{margin-top:5px;flex:1 1 100%}.fpd-main-tooltip{position:fixed;background:var(--fpd-tooltip-bg-color);color:#fff;padding:5px;font-size:14px;min-width:30px;top:0;left:0;border-radius:var(--fpd-border-radius);pointer-events:none;transform:scale(0);opacity:0;z-index:10000000000;visibility:hidden;transition:transform .1s ease}.fpd-main-tooltip.fpd-show{visibility:visible;opacity:1;transform:scale(1)}.fpd-thumbnail-preview{width:350px;height:250px;padding:10px;border-width:1px;background:#fff;position:absolute;top:0;left:0;z-index:9999999999999;border-radius:var(--fpd-border-radius)}.fpd-thumbnail-preview.fpd-title-enabled{padding-bottom:30px}.fpd-thumbnail-preview>picture{display:block;width:100%;height:100%;background-size:contain;background-repeat:no-repeat;background-position:top center}.fpd-thumbnail-preview>.fpd-preview-title{position:absolute;left:0;bottom:5px;width:100%;font-size:14px;text-align:center;margin-top:30px}.fpd-thumbnail-preview>.fpd-price{background:rgba(0,0,0,.7);position:absolute;right:20px;top:15px;padding:2px 5px 2px 7px;font-size:12px;color:#fff;border-radius:var(--fpd-border-radius)}.fpd-thumbnail-preview>.fpd-image-quality-ratings{background:rgba(0,0,0,.7);position:absolute;left:20px;top:15px;border-radius:4px;padding:2px 5px;color:#fff;text-align:left}.fpd-thumbnail-preview>.fpd-image-quality-ratings>span{font-size:18px;color:var(--fpd-image-quality-start-color)}.fpd-thumbnail-preview>.fpd-image-quality-ratings>.fpd-image-quality-rating-label{color:#fff;display:block;padding-top:2px;font-size:10px;text-transform:uppercase}.fpd-editor-box-wrapper{margin:20px 0;background:rgba(0,0,0,.05);padding:10px}.fpd-editor-box-wrapper .fpd-eb-title{font-size:16px;margin-bottom:10px}.fpd-editor-box-wrapper .fpd-eb-grid{display:flex;flex-flow:row wrap}.fpd-editor-box-wrapper .fpd-eb-grid>div{flex:1 0 50%;padding:0 10px 0 0}.fpd-editor-box-wrapper .fpd-eb-grid>div span{text-transform:uppercase}.fpd-dragged-image{position:absolute;background-size:90%;background-repeat:no-repeat;background-position:center;background-color:#fff;width:200px;height:200px;top:0;left:0;cursor:move;transition:transform .1s ease-in-out;transform-origin:center center;transform:scale(0);z-index:100000000000;pointer-events:none}.fpd-dragged-image.fpd-animate{transform:scale(1)}.fpd-container input.fpd-switch{appearance:none;background-color:var(--fpd-light-grey-color)!important;border-radius:70px;border-style:none;height:20px;margin:0;position:relative;width:35px;box-shadow:none;cursor:pointer}.fpd-container input.fpd-switch:before{bottom:-6px;content:"";left:-6px;position:absolute;right:-6px;top:-6px}.fpd-container input.fpd-switch:after{background-color:#fff;border-radius:50%;content:"";height:14px;left:3px;position:absolute;top:3px;width:14px;transition:all .1s ease-out}.fpd-container input.fpd-switch:hover{opacity:.9;transition-duration:0s}.fpd-container input.fpd-switch:checked{background-color:var(--fpd-secondary-color)!important}.fpd-container input.fpd-switch:checked:after{background-color:#fff;left:18px}.fpd-container .fpd-switch-wrapper{display:flex;justify-content:center}.fpd-container .fpd-switch-wrapper label{margin-left:10px}.fpd-container .fpd-grid{overflow:hidden;display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:100px;gap:0 0}.fpd-container .fpd-grid>.fpd-item{cursor:pointer;display:flex;align-items:center;justify-content:center;flex-flow:column;position:relative}.fpd-container .fpd-grid>.fpd-item>img,.fpd-container .fpd-grid>.fpd-item>picture{opacity:1;transition:opacity .3s ease-out;pointer-events:none}.fpd-container .fpd-grid>.fpd-item:hover>img,.fpd-container .fpd-grid>.fpd-item:hover>picture{opacity:.8}.fpd-container .fpd-grid>.fpd-item>picture{width:90%;height:90%;background-position:center center;background-repeat:no-repeat}.fpd-container .fpd-grid>.fpd-item>.fpd-delete{position:absolute;font-size:18px;top:5px;right:5px;cursor:pointer}.fpd-container .fpd-grid>.fpd-item>.fpd-price{position:absolute;right:5px;bottom:5px;background:rgba(0,0,0,.7);color:#fff;font-size:10px;line-height:1;padding:3px 4px;border-radius:2px}.fpd-container .fpd-grid>.fpd-item.fpd-loading picture{filter:blur(2px)}.fpd-container .fpd-grid.fpd-grid-cover>.fpd-item>picture{background-size:cover}.fpd-container .fpd-grid.fpd-grid-contain>.fpd-item>picture{background-size:contain}.fpd-container .fpd-grid.fpd-photo-grid{gap:6px}.fpd-container .fpd-grid.fpd-photo-grid>.fpd-item>picture{width:100%;height:100%;border-radius:var(--fpd-border-radius)}.fpd-container .fpd-grid.fpd-padding{gap:5px}.fpd-container .fpd-grid>.fpd-category.fpd-item{background:var(--fpd-module-secondary-color);color:var(--fpd-module-secondary-text-color);height:100px!important;border-radius:2px}.fpd-container .fpd-grid>.fpd-category.fpd-item:nth-child(-n+2){margin-top:0}.fpd-container .fpd-grid>.fpd-category.fpd-item:nth-child(2n+2){margin-right:0}.fpd-container .fpd-grid>.fpd-category.fpd-item>picture{height:55%}.fpd-container .fpd-grid>.fpd-category.fpd-item>span{text-transform:uppercase;margin-top:5px;font-size:10px;text-align:center;width:100%;white-space:nowrap}.fpd-container .fpd-grid>.fpd-category.fpd-item.fpd-title-centered>span{bottom:50%;font-size:14px;white-space:normal;transform:translateY(50%)}.fpd-grid>.fpd-item>picture.fpd-on-loading,.fpd-thumbnail-preview picture.fpd-on-loading{width:30px!important;height:30px!important;background-size:auto;background-image:var(--fpd-loading-svg)}.fpd-shadow-1{box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12)}.fpd-shadow-2{box-shadow:0 8px 17px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19)}.fpd-shadow-3{box-shadow:0 12px 15px 0 rgba(0,0,0,.24),0 17px 50px 0 rgba(0,0,0,.19)}.fpd-shadow-4{box-shadow:0 16px 28px 0 rgba(0,0,0,.22),0 25px 55px 0 rgba(0,0,0,.21)}.fpd-shadow-5{box-shadow:0 27px 24px 0 rgba(0,0,0,.2),0 40px 77px 0 rgba(0,0,0,.22)}.fpd-shadow-6:after,.fpd-shadow-6:before{z-index:-1;position:absolute;content:"";bottom:15px;left:10px;width:50%;top:80%;max-width:300px;background:#777;box-shadow:0 15px 10px #777;transform:rotate(-3deg)}.fpd-shadow-6:after{transform:rotate(3deg);right:10px;left:auto}.fpd-shadow-7{position:relative;box-shadow:0 1px 4px rgba(0,0,0,.3),0 0 40px rgba(0,0,0,.1) inset}.fpd-shadow-7:after,.fpd-shadow-7:before{content:"";position:absolute;z-index:-1;box-shadow:0 0 20px rgba(0,0,0,.8);top:50%;bottom:0;left:10px;right:10px;border-radius:100px/10px}.fpd-shadow-8{position:relative;box-shadow:0 1px 4px rgba(0,0,0,.3),0 0 40px rgba(0,0,0,.1) inset}.fpd-shadow-8:after,.fpd-shadow-8:before{content:"";position:absolute;z-index:-1;box-shadow:0 0 20px rgba(0,0,0,.8);top:0;bottom:0;left:10px;right:10px;border-radius:100px/10px}.fpd-shadow-8:after{right:10px;left:auto;transform:skew(8deg) rotate(3deg)}.fpd-shadow-9{box-shadow:0 1px 4px rgba(0,0,0,.3),0 0 40px rgba(0,0,0,.1) inset}.fpd-shadow-9:after,.fpd-shadow-9:before{content:"";position:absolute;z-index:-1;box-shadow:0 0 20px rgba(0,0,0,.8);top:10px;bottom:10px;left:0;right:0;border-radius:100px/10px}.fpd-shadow-9:after{right:10px;left:auto;transform:skew(8deg) rotate(3deg)}.mobile-close{display:none;width:100%;font-size:18px;text-align:center;position:absolute;top:0;right:0;left:auto;bottom:auto;height:30px;line-height:30px;background:var(--fpd-primary-fg-color);z-index:1000;cursor:pointer;border-top-left-radius:8px;border-top-right-radius:8px;box-shadow:none;border:none}.mobile-close:before{content:"";position:absolute;height:4px;width:60px;background:var(--fpd-border-color);top:10px;left:50%;transform:translateX(-50%);border-radius:2px}.mobile-close .fpd-icon-close{display:none}fpd-main-bar{display:flex;position:relative;background:var(--fpd-primary-fg-color)}fpd-main-bar>.fpd-close{display:none;position:absolute;bottom:calc(var(--fpd-topbar-nav-height));left:-100%;width:50px;height:50px;padding:0 15px;line-height:50px;text-align:center;font-size:16px;background:rgba(255,255,255,.96);z-index:99;cursor:pointer;border-top:1px solid var(--fpd-border-color);border-right:1px solid var(--fpd-border-color);border-radius:0 4px 0 0;box-shadow:1px 1px 3px 0 rgba(0,0,0,.1)}fpd-main-bar .fpd-navigation>.fpd-nav-item{display:flex;align-items:center;margin:15px 7px;padding:5px;text-align:center;cursor:pointer;border-radius:var(--fpd-border-radius);background:0 0;transition:all .3s ease}fpd-main-bar .fpd-navigation>.fpd-nav-item .fpd-nav-icon:before{color:var(--fpd-mainbar-nav-color)}fpd-main-bar .fpd-navigation>.fpd-nav-item svg{width:24px;max-height:30px;vertical-align:middle}fpd-main-bar .fpd-navigation>.fpd-nav-item svg *{fill:var(--fpd-mainbar-nav-color)}fpd-main-bar .fpd-navigation>.fpd-nav-item:hover{opacity:.8}fpd-main-bar .fpd-navigation>.fpd-nav-item.fpd-active{position:relative;color:var(--fpd-secondary-color)}fpd-main-bar .fpd-navigation>.fpd-nav-item.fpd-active .fpd-nav-icon:before{color:var(--fpd-secondary-color)}fpd-main-bar .fpd-navigation>.fpd-nav-item.fpd-active svg *{fill:var(--fpd-secondary-color)}fpd-main-bar .fpd-navigation>.fpd-nav-item.fpd-active:before{position:absolute;content:'';top:0;left:0;width:100%;height:100%;background:var(--fpd-secondary-color);opacity:.1;border-radius:var(--fpd-border-radius)}.fpd-container.fpd-sidebar .fpd-navigation{flex:0 0 var(--fpd-sidebar-nav-width);overflow:auto}.fpd-container.fpd-sidebar .fpd-navigation>div>span{padding:10px 0;display:inline-block;font-size:28px}.fpd-container.fpd-sidebar .fpd-navigation>div>.fpd-label{display:block;font-size:12px;line-height:14px;padding:0;word-break:break-word}.fpd-container.fpd-sidebar>fpd-main-bar{height:100%;flex:0 var(--fpd-sidebar-width);overflow:hidden;border-right:1px solid var(--fpd-border-color)}.fpd-container.fpd-sidebar>fpd-main-bar .fpd-navigation{border-right:1px solid var(--fpd-border-color)}.fpd-container.fpd-sidebar>fpd-main-bar .fpd-navigation>.fpd-nav-item{flex-direction:column}.fpd-container.fpd-sidebar>fpd-main-bar>.fpd-module-content{flex:1}.fpd-container.fpd-sidebar.fpd-layout-medium{--fpd-sidebar-width:350px}.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-wrapper{order:2;flex-basis:100%}.fpd-container.fpd-sidebar.fpd-layout-small:not(.fpd-no-modules-mode) fpd-main-wrapper{margin-bottom:var(--fpd-sidebar-nav-width)}.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-bar{height:auto!important;width:100%;flex-basis:auto;flex-flow:row wrap;z-index:999999999999;position:absolute;left:0;bottom:0;overflow:visible;border:none}.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-bar>.fpd-navigation{display:flex;flex:1 0 100%;height:var(--fpd-sidebar-nav-width);min-height:auto;order:2;align-self:flex-end;border-right:none;border-top:1px solid var(--fpd-border-color)}.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-bar>.fpd-navigation>.fpd-nav-item{flex:1 0 auto;white-space:nowrap;padding:0 20px;margin:5px 5px 8px}.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-bar>.fpd-navigation>.fpd-nav-item>span:first-child{height:45px;padding-top:10px;padding-bottom:0}.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-bar>.fpd-navigation>.fpd-nav-item .fpd-label{line-height:1}.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-bar>.fpd-module-content,.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-bar>.fpd-secondary-content{padding-top:30px;flex:1 0 100%;height:calc(100% - var(--fpd-sidebar-nav-width));min-height:auto;display:none}.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-bar>.fpd-close{display:none;width:100%;font-size:18px;text-align:center;position:absolute;top:0;right:0;left:auto;bottom:auto;height:30px;line-height:30px;background:var(--fpd-primary-fg-color);z-index:1000;cursor:pointer;border-top-left-radius:8px;border-top-right-radius:8px;box-shadow:none;border:none}.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-bar>.fpd-close:before{content:"";position:absolute;height:4px;width:60px;background:var(--fpd-border-color);top:10px;left:50%;transform:translateX(-50%);border-radius:2px}.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-bar>.fpd-close .fpd-icon-close{display:none}.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-bar:not(.fpd-no-modules-mode) .fpd-secondary-content{height:100%}.fpd-container.fpd-sidebar.fpd-layout-small.fpd-module-visible fpd-main-bar,.fpd-container.fpd-sidebar.fpd-layout-small.fpd-secondary-visible fpd-main-bar{height:100%!important}.fpd-container.fpd-sidebar.fpd-layout-small.fpd-module-visible .fpd-module-content{display:block!important}.fpd-container.fpd-sidebar.fpd-secondary-visible .fpd-secondary-content{display:block!important}.fpd-off-canvas fpd-main-bar,.fpd-topbar fpd-main-bar{flex-basis:100%;order:2;height:auto!important}.fpd-off-canvas fpd-main-bar .fpd-navigation,.fpd-topbar fpd-main-bar .fpd-navigation{display:flex;flex-wrap:wrap;flex-direction:column;flex-basis:100%;height:var(--fpd-topbar-nav-height);padding:5px;overflow-x:auto;border-bottom:1px solid var(--fpd-border-color)}.fpd-off-canvas fpd-main-bar .fpd-navigation>div,.fpd-topbar fpd-main-bar .fpd-navigation>div{height:100%;padding:0 20px;margin:0;white-space:nowrap;flex-grow:1;flex-basis:auto}.fpd-off-canvas fpd-main-bar .fpd-navigation>div>span,.fpd-topbar fpd-main-bar .fpd-navigation>div>span{line-height:65px;font-size:26px}.fpd-off-canvas fpd-main-bar .fpd-navigation>div>.fpd-label,.fpd-topbar fpd-main-bar .fpd-navigation>div>.fpd-label{font-size:15px;padding-left:10px;vertical-align:top;text-transform:uppercase;white-space:nowrap}.fpd-off-canvas fpd-main-bar>.fpd-module-content,.fpd-topbar fpd-main-bar>.fpd-module-content{display:none}.fpd-topbar fpd-main-bar>.fpd-close{display:none!important}.fpd-off-canvas{overflow:hidden}.fpd-off-canvas fpd-main-bar{order:3}.fpd-off-canvas fpd-main-bar>.fpd-close{display:block}.fpd-off-canvas fpd-main-bar .fpd-navigation{border-top:1px solid var(--fpd-border-color)}.fpd-off-canvas fpd-main-bar .fpd-module-content,.fpd-off-canvas fpd-main-bar .fpd-secondary-content{height:var(--fpd-content-height);width:var(--fpd-off-canvas-width);left:calc(-2 * var(--fpd-off-canvas-width));bottom:var(--fpd-topbar-nav-height);border-right:1px solid var(--fpd-border-color);position:absolute;display:block;z-index:100;background:rgba(255,255,255,.96);box-shadow:2px 0 8px 0 rgba(0,0,0,.1)}.fpd-off-canvas fpd-main-bar.fpd-show .fpd-module-content{left:0}.fpd-off-canvas fpd-main-bar.fpd-show>.fpd-close{left:var(--fpd-off-canvas-width);margin-left:-1px}.fpd-off-canvas fpd-main-bar:not(.fpd-is-dragging) .fpd-close,.fpd-off-canvas fpd-main-bar:not(.fpd-is-dragging) .fpd-module-content{transition:left .3s cubic-bezier(.215,.61,.355,1)}.fpd-off-canvas.fpd-secondary-visible fpd-main-bar .fpd-secondary-content{left:0}.fpd-off-canvas.fpd-secondary-visible fpd-main-bar>.fpd-close{left:var(--fpd-off-canvas-width);margin-left:-1px}.fpd-off-canvas.fpd-layout-small fpd-main-bar .fpd-close{width:40px;height:40px;line-height:40px;font-size:12px;padding:0}.fpd-off-canvas.fpd-layout-small fpd-main-bar .fpd-module-content{border:none}.fpd-module-content>*{height:100%;display:none}.fpd-module-content>*>div{height:100%;display:flex;flex-flow:column}.fpd-module-content>.fpd-active{display:block}.fpd-draggable-dialog{display:none;width:350px;height:450px;background:var(--fpd-primary-fg-color);position:fixed!important;left:calc(50% - 175px);top:calc(45% - 200px);min-width:200px;min-height:100px;z-index:1000000;border-radius:2px;max-width:100%;overflow:hidden;border-radius:6px}.fpd-draggable-dialog.fpd-show{display:flex;flex-flow:column nowrap}.fpd-draggable-dialog>.fpd-dialog-head{background:var(--fpd-primary-color);color:var(--fpd-primary-fg-color);display:flex;align-items:center;height:40px;font-size:15px;padding:0 0 0 12px;cursor:move;overflow:hidden;white-space:nowrap}.fpd-draggable-dialog>.fpd-dialog-head>.fpd-dialog-drag-handle{flex:1;overflow:hidden}.fpd-draggable-dialog>.fpd-dialog-head>.fpd-dialog-drag-handle .fpd-dialog-title{margin-left:6px;text-transform:uppercase}.fpd-draggable-dialog>.fpd-dialog-head>.fpd-close-dialog{font-size:14px;padding:0 12px;text-align:right;cursor:pointer;opacity:.8;transition:opacity .2s ease-out}.fpd-draggable-dialog>.fpd-dialog-head>.fpd-close-dialog:hover{opacity:1}.fpd-draggable-dialog>.fpd-module-content{flex:1;height:100%;overflow:hidden}.fpd-draggable-dialog.fpd-secondary-visible>.fpd-module-content{display:none}.fpd-draggable-dialog.fpd-secondary-visible>.fpd-secondary-content{display:block;overflow:hidden}.fpd-wrapper.fpd-module-visible.fpd-layout-small fpd-main-bar .fpd-close,.fpd-wrapper.fpd-module-visible.fpd-off-canvas fpd-main-bar .fpd-close,.fpd-wrapper.fpd-secondary-visible.fpd-layout-small fpd-main-bar .fpd-close,.fpd-wrapper.fpd-secondary-visible.fpd-off-canvas fpd-main-bar .fpd-close{display:block}.fpd-wrapper.fpd-secondary-visible fpd-main-bar .fpd-module-content{display:none!important}.fpd-wrapper.fpd-products-module-hidden .fpd-navigation .fpd-nav-item[data-module=products]{display:none!important}.fpd-wrapper.fpd-no-modules-mode fpd-main-bar .fpd-navigation,.fpd-wrapper.fpd-one-module-mode:not(.fpd-layout-small) fpd-main-bar .fpd-navigation{display:none!important}.fpd-secondary-content{display:none;flex:1}.fpd-secondary-content>*{display:none}.fpd-secondary-content>.fpd-active{display:block}.fpd-secondary-content .fpd-upload-zone-panel{display:flex;flex-flow:column;height:100%}.fpd-secondary-content .fpd-upload-zone-panel>.fpd-upload-zone-content{flex-basis:100%;overflow:hidden}.fpd-secondary-content .fpd-upload-zone-panel>.fpd-upload-zone-content>*{height:100%;display:none}.fpd-secondary-content .fpd-upload-zone-panel>.fpd-upload-zone-content>.fpd-active{display:block}.fpd-secondary-content .fpd-upload-zone-panel>.fpd-upload-zone-content>*>div{height:100%;display:flex;flex-flow:column}.fpd-secondary-content .fpd-upload-zone-panel>.fpd-bottom-nav>div{padding:11px;font-size:22px}.fpd-no-modules-mode.fpd-off-canvas .fpd-secondary-content{bottom:0}.fpd-container.fpd-main-bar-container fpd-main-bar{min-height:500px!important;min-width:300px;width:400px;border:1px solid var(--fpd-border-color);margin:20px 0}.fpd-main-bar-container-enabled fpd-main-wrapper{flex-basis:100%!important}.fpd-modal-mode-active .fpd-wrapper.fpd-layout-small fpd-main-bar{padding-bottom:env(safe-area-inset-bottom)}.fpd-container fpd-actions-bar{background:var(--fpd-actions-bar-bg-color);height:var(--fpd-actions-bar-height);flex:1 100%;display:flex;flex-flow:row nowrap;color:var(--fpd-primary-fg-color);align-items:center;padding:0 5px;justify-content:space-between}.fpd-container fpd-actions-bar>div{flex:1;font-size:16px;white-space:nowrap;max-width:33%;height:100%}.fpd-container fpd-actions-bar>div>.fpd-btn span{margin-left:5px}.fpd-container fpd-actions-bar>[data-pos=center] fpd-actions-menu>div{left:50%;transform:translateX(-50%)}.fpd-container fpd-actions-bar>[data-pos=center] .fpd-btn span{display:none}.fpd-container fpd-actions-bar>[data-pos=center] .fpd-switch{display:none}.fpd-container fpd-actions-bar>[data-pos=right] fpd-actions-menu>div{right:0;left:auto}.fpd-container fpd-actions-bar>[data-pos=right] fpd-actions-menu .fpd-dropdown-menu{text-align:left;right:0;left:auto}.fpd-container fpd-actions-bar>[data-pos=modal]{display:none}.fpd-container fpd-actions-bar fpd-actions-menu{display:flex;justify-content:center;max-width:100%;height:100%;position:relative}.fpd-container fpd-actions-bar fpd-actions-menu .fpd-collapsed-menu,.fpd-container fpd-actions-bar fpd-actions-menu .fpd-uncollapsed-menu{position:absolute;top:0;left:0;height:100%;display:flex}.fpd-container fpd-actions-bar fpd-actions-menu .fpd-uncollapsed-menu{max-width:none;white-space:nowrap;align-items:center;justify-content:center}.fpd-container fpd-actions-bar fpd-actions-menu .fpd-uncollapsed-menu .fpd-btn span{font-size:14px;margin-left:10px}.fpd-container fpd-actions-bar fpd-actions-menu .fpd-uncollapsed-menu .fpd-btn .fpd-switch{display:none}.fpd-container fpd-actions-bar fpd-actions-menu .fpd-collapsed-menu{align-items:center}.fpd-container fpd-actions-bar .fpd-btn,.fpd-container fpd-actions-bar .fpd-dropdown-btn{display:inline-block;position:relative;cursor:pointer;padding:7px 12px;margin:0 0 0 5px;border-radius:var(--fpd-border-radius);line-height:1;text-transform:capitalize;background:0 0}.fpd-container fpd-actions-bar .fpd-btn:hover,.fpd-container fpd-actions-bar .fpd-dropdown-btn:hover{opacity:1;background:rgba(255,255,255,.05)}.fpd-container fpd-actions-bar .fpd-btn>*,.fpd-container fpd-actions-bar .fpd-dropdown-btn>*{pointer-events:none;line-height:1;vertical-align:middle}.fpd-container fpd-actions-bar .fpd-btn.fpd-btn-fill,.fpd-container fpd-actions-bar .fpd-dropdown-btn.fpd-btn-fill{background:rgba(255,255,255,.1)}.fpd-container fpd-actions-bar .fpd-btn.fpd-btn-fill>span,.fpd-container fpd-actions-bar .fpd-dropdown-btn.fpd-btn-fill>span{display:inline-flex}.fpd-container fpd-actions-bar .fpd-btn{font-size:18px}.fpd-container fpd-actions-bar .fpd-dropdown-menu{display:none;position:absolute;top:100%;left:0;min-width:max-content;z-index:10000;background:#fff;border-radius:var(--fpd-border-radius);transform:translateY(5px);padding:5px 0}.fpd-container fpd-actions-bar .fpd-dropdown-menu>.fpd-btn{display:flex;color:var(--fpd-text-color);min-width:150px;margin:5px 10px;font-size:16px;padding:0;border-radius:var(--fpd-border-radius)}.fpd-container fpd-actions-bar .fpd-dropdown-menu>.fpd-btn:hover{background:rgba(0,0,0,.05)}.fpd-container fpd-actions-bar .fpd-dropdown-menu>.fpd-btn>*{pointer-events:auto;margin:10px}.fpd-container fpd-actions-bar .fpd-dropdown-menu>.fpd-btn>i{flex:0;margin-right:0}.fpd-container fpd-actions-bar .fpd-dropdown-menu>.fpd-btn>span{flex:1}.fpd-container fpd-actions-bar .fpd-dropdown-menu>.fpd-btn>.fpd-switch{margin-left:40px}.fpd-container fpd-actions-bar .fpd-dropdown-menu.fpd-show{display:block}.fpd-off-canvas fpd-actions-bar,.fpd-topbar fpd-actions-bar{order:1;display:flex}.fpd-off-canvas fpd-actions-bar{order:1!important}.fpd-container .fpd-modal-download>span{font-size:60px;cursor:pointer}.fpd-container .fpd-zoom-wrapper{display:flex;width:150px;background:#fff;border-radius:var(--fpd-border-radius);position:absolute;left:50%;top:0;transform:translate(-50%,50%);padding:10px}.fpd-container .fpd-zoom-wrapper>.fpd-stage-pan{margin-left:10px;font-size:14px;cursor:pointer}.fpd-container .fpd-zoom-wrapper>.fpd-stage-pan.fpd-active{color:var(--fpd-secondary-color)}.fpd-modal-product-designer fpd-actions-bar{justify-content:stretch}.fpd-modal-product-designer fpd-actions-bar [data-pos=right]{margin-left:auto}.fpd-modal-product-designer fpd-actions-bar [data-pos=modal]{flex:0;text-align:right;display:flex!important;padding:5px;align-items:center}.fpd-modal-product-designer fpd-actions-bar .fpd-total-price{line-height:20px;font-size:15px;display:inline-block!important}.fpd-modal-product-designer .fpd-wrapper.fpd-layout-small [data-pos=right] .fpd-dropdown-menu{transform:translate(50%,5px)}.fpd-wrapper.fpd-layout-small fpd-actions-bar{gap:2px}.fpd-wrapper.fpd-layout-small fpd-actions-bar>div{max-width:none}.fpd-wrapper.fpd-layout-small fpd-actions-bar .fpd-dropdown-btn>span{display:none}.fpd-wrapper.fpd-layout-small fpd-actions-bar [data-pos=left],.fpd-wrapper.fpd-layout-small fpd-actions-bar [data-pos=right]{max-width:45px}.fpd-wrapper.fpd-layout-small fpd-actions-bar [data-pos=modal]>.fpd-btn.fpd-done .fpd-label{display:none}.fpd-wrapper.fpd-layout-small fpd-actions-bar [data-pos=modal]>.fpd-btn.fpd-done i{font-size:14px}.fpd-wrapper.fpd-layout-small fpd-actions-bar [data-pos=modal]>.fpd-btn.fpd-close:last-child{padding-left:6px;padding-right:0;font-size:16px}.fpd-wrapper.fpd-off-canvas>fpd-main-wrapper,.fpd-wrapper.fpd-topbar>fpd-main-wrapper{flex-basis:100%}.fpd-wrapper.fpd-off-canvas>fpd-main-wrapper{order:2!important}.fpd-wrapper>fpd-main-wrapper{display:flex;overflow:hidden;flex:1 0;min-height:400px;background:var(--fpd-canvas-bg);transition:opacity .3s ease-out;order:3;position:relative}.fpd-wrapper>fpd-main-wrapper .fpd-product-stage{display:flex;justify-content:center;align-items:center;position:relative;direction:ltr;max-height:100%;margin:auto;width:100%}.fpd-wrapper>fpd-main-wrapper .fpd-product-stage>.fpd-view-stage{background:rgba(255,255,255,.7);height:100%}.fpd-wrapper>fpd-main-wrapper .fpd-product-stage>.fpd-view-stage textarea{left:-10000px!important;top:50%!important}.fpd-wrapper>fpd-main-wrapper .fpd-product-stage>.fpd-zoom-image{position:absolute;top:0;left:0;max-width:100%}.fpd-wrapper>fpd-main-wrapper.fpd-drag canvas{cursor:grab!important}.fpd-wrapper>fpd-main-wrapper>.fpd-warnings{position:absolute;width:90%;left:5%;top:20px;font-size:14px}.fpd-wrapper>fpd-main-wrapper>.fpd-warnings>.fpd-size-warning{display:flex;flex-direction:row;padding:12px;background:var(--fpd-yellow-color);color:var(--fpd-yellow-contrast-color);border-radius:var(--fpd-border-radius);border:1px solid var(--fpd-yellow-contrast-color);box-shadow:0 0 6px rgba(0,0,0,.1);justify-content:space-between;gap:10px}.fpd-wrapper>fpd-main-wrapper>.fpd-warnings>.fpd-size-warning .fpd-btn{background-color:#3f3f3f;margin:0;white-space:nowrap;max-height:35px}.fpd-wrapper>fpd-main-wrapper>.fpd-advanced-image-editor{width:100%;height:100%;position:absolute;left:0;top:0;background:#fff;z-index:100}.fpd-wrapper>fpd-main-wrapper>.fpd-advanced-image-editor .fpd-close{position:absolute;right:10px;top:10px;font-size:16px;z-index:1000;cursor:pointer;opacity:.6}.fpd-wrapper>fpd-main-wrapper>.fpd-advanced-image-editor .fpd-close:hover{opacity:1}.fpd-wrapper>fpd-main-wrapper>.fpd-advanced-image-editor .fpd-done{position:absolute;background:var(--fpd-secondary-color);color:var(--fpd-secondary-fg-color);border-radius:var(--fpd-border-radius);padding:6px 12px;right:10px;bottom:10px;font-size:16px;z-index:1000;cursor:pointer}.fpd-wrapper.fpd-layout-small .fpd-size-warning{flex-direction:column!important}.fpd-wrapper.fpd-layout-small .fpd-size-warning .fpd-btn{justify-content:center}.fpd-container fpd-views-nav{position:absolute;z-index:20;display:flex;align-items:center;gap:4px 8px;bottom:calc(10px + env(safe-area-inset-bottom));right:10px;background:#fff;box-shadow:0 0 10px rgba(110,111,114,.22);border-radius:var(--fpd-border-radius);min-height:35px;flex-wrap:wrap;justify-content:center;max-width:160px}.fpd-container fpd-views-nav>.fpd-view-locker{font-size:20px;cursor:pointer;margin-left:5px}.fpd-container fpd-views-nav>.fpd-view-locker .fpd-icon-locked{color:var(--fpd-secondary-color)}.fpd-container fpd-views-nav>.fpd-view-next,.fpd-container fpd-views-nav>.fpd-view-prev{display:flex;align-items:center;justify-content:center;width:30px;height:30px;font-size:18px;border-radius:50%;text-align:center;cursor:pointer;transform-origin:center center}.fpd-container fpd-views-nav>.fpd-view-next:hover,.fpd-container fpd-views-nav>.fpd-view-prev:hover{color:var(--fpd-secondary-color)}.fpd-container fpd-views-nav>.fpd-view-prev{rotate:-180deg}.fpd-container fpd-views-nav>.fpd-show-views-grid{display:flex;align-items:center;justify-content:center;cursor:pointer;line-height:1}.fpd-container fpd-views-nav>.fpd-show-views-grid>.fpd-icon-pages{font-size:18px;margin-right:4px}.fpd-container fpd-views-nav>.fpd-show-views-grid>.fpd-current-view{font-size:16px;margin-right:2px;padding-top:2px}.fpd-container fpd-views-nav>.fpd-show-views-grid>.fpd-total-views{display:inline-block;padding:4px 0;text-align:center;color:var(--fpd-dark-grey-color);font-size:12px}.fpd-container fpd-views-nav>.fpd-show-views-grid>.fpd-total-views:before{content:"/"}.fpd-container fpd-views-nav>.fpd-view-edit-size{display:flex;flex-direction:row;flex:1 1 100%;width:50px;border-bottom:1px solid var(--fpd-border-color)}.fpd-container fpd-views-nav>.fpd-view-edit-size .fpd-input{box-shadow:none;border-radius:0;border:none;height:100%}.fpd-container fpd-views-nav>.fpd-view-edit-size .fpd-input:first-child{border-top-left-radius:var(--fpd-border-radius)}.fpd-container fpd-views-nav>.fpd-view-edit-size .fpd-input>span{background:var(--fpd-border-color);padding:6px 6px}.fpd-container fpd-views-nav>.fpd-view-edit-size .fpd-input>input{padding:0;height:auto}.fpd-views-inside-left fpd-views-nav{left:10px;right:auto}.fpd-container fpd-views-grid{display:none;position:absolute;top:0;left:0;background:var(--fpd-light-bg-color);z-index:1000;flex-flow:column wrap}.fpd-container fpd-views-grid.fpd-show{display:flex}.fpd-container fpd-views-grid>.fpd-head{position:relative;min-height:40px}.fpd-container fpd-views-grid>.fpd-head>.fpd-btn{display:none}.fpd-container fpd-views-grid .fpd-grid{gap:35px 20px;display:flex;flex-flow:row wrap;padding:10px}.fpd-container fpd-views-grid .fpd-grid>.fpd-item{background:#fff;flex:1 0 45%;max-width:150px;height:150px;border-radius:var(--fpd-border-radius);overflow:hidden;padding:5px;cursor:default}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>picture{background-size:contain;margin:20px 0 5px;pointer-events:all;cursor:pointer}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>span{white-space:nowrap;display:block;overflow:hidden;font-size:12px}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-sort{position:absolute;left:5px;top:5px;font-size:18px;cursor:move}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-sort>*{pointer-events:none}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-options{position:absolute;top:5px;right:5px;padding:0 6px 2px;font-size:18px;line-height:1;cursor:pointer}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-options:hover{opacity:1}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-options>.fpd-dropdown-menu{position:absolute;display:none;flex-flow:column nowrap;text-align:right;top:100%;right:0;min-width:max-content;z-index:1000;background:#fff;color:var(--fpd-text-color);border-radius:var(--fpd-border-radius);transform:translateY(5px);padding:6px}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-options>.fpd-dropdown-menu>span{padding:4px;font-size:13px;min-width:90px;border-radius:4px}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-options>.fpd-dropdown-menu>span:hover{background:var(--fpd-light-bg-color)}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-options>.fpd-dropdown-menu.fpd-show{display:flex}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-edit-size-overlay{background:rgba(255,255,255,.98);position:absolute;width:100%;height:100%;display:none;flex-flow:row wrap;justify-content:center;align-items:center;padding:20px;gap:10px}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-edit-size-overlay>input{width:100%;background:#fff!important;margin:0;text-align:center;padding:7px}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-edit-size-overlay>.fpd-btn{display:inline-flex;width:min-content;margin:0;padding:3px 8px;font-size:12px;line-height:1}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-edit-size-overlay.fpd-show{display:flex}.fpd-container fpd-views-grid .fpd-grid>.fpd-item:first-child .fpd-dropdown-menu [data-option=delete]{display:none}.fpd-container fpd-views-grid .fpd-blank-page-modal,.fpd-container fpd-views-grid .fpd-layouts-modal{position:absolute;left:10px;top:10px;right:10px;bottom:10px;background:#fff;margin:10px;display:flex;flex-flow:column wrap;border-radius:var(--fpd-border-radius)}.fpd-container fpd-views-grid .fpd-blank-page-modal>.fpd-head,.fpd-container fpd-views-grid .fpd-layouts-modal>.fpd-head{position:relative;min-height:40px;display:flex}.fpd-container fpd-views-grid .fpd-blank-page-modal .fpd-scroll-area,.fpd-container fpd-views-grid .fpd-layouts-modal .fpd-scroll-area{margin-right:5px}.fpd-container fpd-views-grid .fpd-blank-page-modal .fpd-grid,.fpd-container fpd-views-grid .fpd-layouts-modal .fpd-grid{display:flex;flex-flow:row wrap;justify-content:space-between}.fpd-container fpd-views-grid .fpd-blank-page-modal .fpd-grid>.fpd-item,.fpd-container fpd-views-grid .fpd-layouts-modal .fpd-grid>.fpd-item{flex:0 0 200px;height:150px;cursor:pointer}.fpd-container fpd-views-grid .fpd-blank-page-modal .fpd-head{padding:10px}.fpd-container fpd-views-grid .fpd-blank-page-modal .fpd-head .fpd-input{width:max-content;margin-right:20px;max-width:150px}.fpd-container fpd-views-grid .fpd-blank-page-modal .fpd-head .fpd-input>input{width:100px}.fpd-container fpd-views-grid .fpd-blank-page-modal .fpd-head .fpd-btn{margin:0}.fpd-container fpd-views-grid .fpd-blank-page-modal .fpd-grid{justify-content:flex-start;align-items:center}.fpd-container fpd-views-grid .fpd-blank-page-modal .fpd-grid .fpd-item{flex:1 0 45%;text-align:center}.fpd-container fpd-views-grid.fpd-modal-visible>.fpd-head,.fpd-container fpd-views-grid.fpd-modal-visible>.fpd-scroll-area{filter:blur(5px)}.fpd-container fpd-views-grid .fpd-head{border-bottom:1px solid var(--fpd-border-color);padding:10px}.fpd-container fpd-views-grid .fpd-head .fpd-btn{margin:0 10px 5px 0}.fpd-container fpd-views-grid .fpd-close{position:absolute;right:10px;top:10px;font-size:14px;cursor:pointer}.fpd-container fpd-views-grid .fpd-scroll-area{flex:1;position:relative}.fpd-sidebar fpd-views-grid{left:var(--fpd-sidebar-nav-width);top:var(--fpd-actions-bar-height);width:calc(100% - var(--fpd-sidebar-nav-width));height:calc(100% - var(--fpd-actions-bar-height))}.fpd-wrapper.fpd-layout-small .fpd-blank-page-modal .fpd-head{flex-flow:row wrap;gap:10px;padding-top:40px}.fpd-wrapper.fpd-layout-small .fpd-blank-page-modal .fpd-head .fpd-input{flex:1 0 0;margin:0}.fpd-wrapper.fpd-layout-small .fpd-blank-page-modal .fpd-head .fpd-btn{text-align:center;width:100%;flex:0 0 100%}.fpd-sidebar.fpd-layout-small fpd-views-grid{width:100%;height:calc(100% - var(--fpd-sidebar-nav-width) - var(--fpd-actions-bar-height));left:0}.fpd-sidebar.fpd-layout-small fpd-views-grid .fpd-grid{justify-content:space-between}.fpd-sidebar.fpd-layout-small fpd-views-grid .fpd-layouts-modal .fpd-grid{gap:20px}.fpd-sidebar.fpd-layout-small fpd-views-grid .fpd-layouts-modal .fpd-grid .fpd-item{flex:0 calc(50% - 10px)}.fpd-off-canvas fpd-views-grid,.fpd-topbar fpd-views-grid{width:100%;height:100%}.fpd-wrapper.fpd-dynamic-views-enabled fpd-views-grid>.fpd-head>.fpd-btn{display:inline-block}fpd-element-toolbar{display:none;overflow:hidden;z-index:2;color:var(--fpd-text-color)}fpd-element-toolbar.fpd-show{display:flex!important}fpd-element-toolbar .fpd-close,fpd-element-toolbar .fpd-close-sub-panel{display:none;position:absolute;right:0;top:5px;height:30px;min-width:35px;padding:0 7px;line-height:30px;text-align:center;cursor:pointer;background:#fff;font-size:14px;transform:translateY(-100%);box-shadow:0 -1px 2px rgba(110,111,114,.2);border-top-left-radius:var(--fpd-border-radius);border-top-right-radius:var(--fpd-border-radius);gap:3px;align-items:center}fpd-element-toolbar .fpd-close-sub-panel>.fpd-label{font-size:12px}fpd-element-toolbar>.fpd-tools-nav{display:flex;flex-direction:column}fpd-element-toolbar>.fpd-tools-nav>div{display:flex}fpd-element-toolbar>.fpd-tools-nav>div>div{flex:1;padding:0 15px;white-space:nowrap;text-align:center;cursor:pointer}fpd-element-toolbar>.fpd-tools-nav>div>div>span[class^=fpd-icon-]{display:block;font-size:20px!important;line-height:28px}fpd-element-toolbar>.fpd-tools-nav>div>div>.fpd-label{margin-top:5px;font-size:11px;display:inline-block;line-height:1;vertical-align:bottom}fpd-element-toolbar>.fpd-tools-nav>div>div>.fpd-current-fill{display:block;margin:auto;width:28px;height:28px;border-radius:50%;border:2px solid rgba(0,0,0,.1)}fpd-element-toolbar>.fpd-tools-nav>div>div.fpd-active{color:var(--fpd-secondary-color)}fpd-element-toolbar .fpd-sub-panel{flex:1;overscroll-behavior:none}fpd-element-toolbar .fpd-sub-panel>div{display:none;height:100%;width:100%}fpd-element-toolbar .fpd-sub-panel>div>*{margin-bottom:10px}fpd-element-toolbar .fpd-sub-panel>div>:last-child{margin:0}fpd-element-toolbar .fpd-sub-panel>div.fpd-active{display:flex;flex-flow:column nowrap}fpd-element-toolbar .fpd-sub-panel>div.fpd-padding{padding:15px}fpd-element-toolbar .fpd-sub-panel>div .fpd-input{flex-flow:row wrap;box-shadow:none;overflow:visible}fpd-element-toolbar .fpd-sub-panel>div .fpd-input input,fpd-element-toolbar .fpd-sub-panel>div .fpd-input>span{flex:1;border:none}fpd-element-toolbar .fpd-sub-panel>div .fpd-input>span{padding:0}fpd-element-toolbar .fpd-sub-panel>div .fpd-input fpd-range-slider{order:3}fpd-element-toolbar .fpd-sub-panel>div .fpd-panel-tabs{display:flex;align-items:center}fpd-element-toolbar .fpd-sub-panel>div .fpd-panel-tabs>span{flex:1;text-align:center;padding:8px 0 6px 0;cursor:pointer;opacity:.7}fpd-element-toolbar .fpd-sub-panel>div .fpd-panel-tabs>span.fpd-active{color:var(--fpd-secondary-color);position:relative;opacity:1}fpd-element-toolbar .fpd-sub-panel>div .fpd-panel-tabs>span.fpd-active:after{background-color:var(--fpd-secondary-color);position:absolute;content:"";width:60%;height:2px;left:20%;bottom:0}fpd-element-toolbar .fpd-sub-panel>div .fpd-panel-tabs-content>div{display:none;padding:10px}fpd-element-toolbar .fpd-sub-panel>div .fpd-panel-tabs-content>div.fpd-active{display:block}fpd-element-toolbar .fpd-sub-panel>div .fpd-panel-tabs-content>div>*{margin-bottom:20px}fpd-element-toolbar .fpd-sub-panel>div .fpd-btn-group,fpd-element-toolbar .fpd-sub-panel>div .fpd-tools-group{display:flex;align-items:center;justify-content:center;text-align:center;gap:4px;flex-flow:row wrap}fpd-element-toolbar .fpd-sub-panel>div .fpd-btn-group>*,fpd-element-toolbar .fpd-sub-panel>div .fpd-tools-group>*{flex:1;border:1px solid var(--fpd-border-color);border-radius:var(--fpd-border-radius);font-size:13px;padding:5px 0;cursor:pointer;line-height:1;display:flex;justify-content:center;align-items:center;gap:5px}fpd-element-toolbar .fpd-sub-panel>div .fpd-btn-group>:hover,fpd-element-toolbar .fpd-sub-panel>div .fpd-tools-group>:hover{background:var(--fpd-light-bg-color)}fpd-element-toolbar .fpd-sub-panel>div .fpd-btn-group [class^=fpd-icon-],fpd-element-toolbar .fpd-sub-panel>div .fpd-tools-group [class^=fpd-icon-]{font-size:18px}fpd-element-toolbar .fpd-sub-panel>div .fpd-btn-group{border:1px solid var(--fpd-border-color)}fpd-element-toolbar .fpd-sub-panel>div .fpd-btn-group>*{border:none;border-radius:0}fpd-element-toolbar .fpd-sub-panel>div .fpd-btn-group>.fpd-active{color:var(--fpd-secondary-color)}fpd-element-toolbar .fpd-sub-panel>div .fpd-toggle.fpd-enabled{color:var(--fpd-secondary-color)}fpd-element-toolbar .fpd-sub-panel>div .fpd-tool-position-align>div{flex:1 0 32%}fpd-element-toolbar .fpd-sub-panel>div .fpd-tool-uniscaling-locker{font-size:18px;text-align:right}fpd-element-toolbar .fpd-sub-panel>div .fpd-curved-options{display:flex;gap:30px}fpd-element-toolbar .fpd-sub-panel>div .fpd-curved-options>span{flex:1;display:flex;justify-content:center;align-items:center;aspect-ratio:1/1;cursor:pointer;background:var(--fpd-light-bg-color);border-radius:var(--fpd-border-radius);padding:5px}fpd-element-toolbar .fpd-sub-panel>div .fpd-curved-options>span.fpd-active svg *{fill:var(--fpd-secondary-color)}fpd-element-toolbar .fpd-sub-panel .fpd-panel-color>.fpd-scroll-area{overflow:visible}fpd-element-toolbar .fpd-sub-panel .fpd-panel-color .fpd-colorpicker-wrapper{padding:0}fpd-element-toolbar .fpd-sub-panel .fpd-panel-font-family{flex-flow:column nowrap;height:100%}fpd-element-toolbar .fpd-sub-panel .fpd-panel-font-family .fpd-fonts-list{display:flex;flex-flow:column nowrap;height:100%;gap:20px}fpd-element-toolbar .fpd-sub-panel .fpd-panel-font-family .fpd-fonts-list>.fpd-item{cursor:pointer;font-size:16px;transition:all .2s ease-in-out}fpd-element-toolbar .fpd-sub-panel .fpd-panel-font-family .fpd-fonts-list>.fpd-item.fpd-active{color:var(--fpd-secondary-color)}fpd-element-toolbar .fpd-sub-panel .fpd-panel-font-family .fpd-fonts-list>.fpd-item:hover{padding-left:5px}fpd-element-toolbar .fpd-sub-panel .fpd-tool-filters{display:flex;flex-flow:row wrap;justify-content:flex-start;gap:35px 10px;padding-bottom:40px;overflow:auto;height:auto}fpd-element-toolbar .fpd-sub-panel .fpd-tool-filters>.fpd-item{flex:0 0 60px;height:60px;background-repeat:no-repeat;background-size:cover;position:relative}fpd-element-toolbar .fpd-sub-panel .fpd-tool-filters>.fpd-item:after{content:attr(aria-label);position:absolute;top:100%;left:0;line-height:14px;font-size:12px;overflow:hidden;transform:translateY(3px);max-width:inherit}fpd-element-toolbar .fpd-sub-panel .fpd-tool-crop-masks{display:flex;flex-flow:row wrap;justify-content:space-evenly;gap:40px 20px!important}fpd-element-toolbar .fpd-sub-panel .fpd-tool-crop-masks .fpd-item{flex:0 0 25%;height:70px;background-repeat:no-repeat;background-position:center;background-size:contain}fpd-element-toolbar.fpd-smart{display:none;background:#fff;position:fixed;top:50%;left:50%;max-width:var(--fpd-et-max-width);min-width:300px;border-radius:var(--fpd-border-radius);transform:translateX(-50%);z-index:10000000000;box-shadow:0 0 10px rgba(110,111,114,.22);overflow:visible}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>div{margin:10px 0}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>div>div{display:flex;flex-direction:column;justify-content:flex-start;flex:0}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools{justify-content:space-between;padding-left:5px}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools>div{padding:0 10px}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools .fpd-tool-text-size{flex:0 70px}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools .fpd-tool-text-size input{margin:0;width:100%;pointer-events:none;text-align:center}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools .fpd-tool-font-family{flex:1 180px}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools .fpd-tool-font-family fpd-dropdown{width:100%;pointer-events:none}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools .fpd-tool-font-family,fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools .fpd-tool-text-size{align-self:flex-end}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools .fpd-tool-font-family>[class^=fpd-icon-],fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools .fpd-tool-text-size>[class^=fpd-icon-]{display:none}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools .fpd-tool-font-family .fpd-label,fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools .fpd-tool-text-size .fpd-label{display:none}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-secondary-tools{padding-bottom:10px}fpd-element-toolbar.fpd-smart[data-element-type=image] .fpd-tools-nav{flex-direction:row}fpd-element-toolbar.fpd-smart[data-element-type=image] .fpd-tools-nav>div{margin:20px 0;overflow:hidden;flex:1 0 auto;max-width:none}fpd-element-toolbar.fpd-smart[data-element-type=image] .fpd-tools-nav>.fpd-secondary-tools{padding-bottom:0}fpd-element-toolbar.fpd-smart>.fpd-sub-panel{display:none;width:100%}fpd-element-toolbar.fpd-smart.fpd-panel-visible{width:var(--fpd-et-max-width)}fpd-element-toolbar.fpd-smart.fpd-panel-visible .fpd-close{display:none!important}fpd-element-toolbar.fpd-smart.fpd-panel-visible>.fpd-tools-nav{display:none!important}fpd-element-toolbar.fpd-smart.fpd-panel-visible>.fpd-sub-panel{display:flex}fpd-element-toolbar.fpd-smart.fpd-panel-visible>.fpd-sub-panel .fpd-panel-tabs-content.fpd-scroll-area{overflow:auto;max-height:200px}fpd-element-toolbar.fpd-smart.fpd-panel-visible>.fpd-sub-panel .fpd-panel-font-family .fpd-fonts-list{max-height:100px}fpd-element-toolbar.fpd-smart.fpd-panel-visible>.fpd-close-sub-panel{display:flex}fpd-element-toolbar.fpd-smart.fpd-show>.fpd-close{display:block}fpd-element-toolbar.fpd-smart .fpd-tool-crop-masks,fpd-element-toolbar.fpd-smart .fpd-tool-filters{display:flex;flex-wrap:nowrap;padding-bottom:30px;overflow-x:auto;overflow-y:hidden}fpd-element-toolbar.fpd-smart .fpd-tool-crop-masks{gap:0 20px!important;justify-content:flex-start}fpd-element-toolbar.fpd-smart .fpd-tool-crop-masks .fpd-item{height:50px}fpd-element-toolbar.fpd-smart.fpd-layout-small{position:fixed;left:0!important;bottom:0!important;top:auto!important;width:100%;transform:none;border-radius:0;box-shadow:0 -1px 8px rgba(110,111,114,.2);padding-bottom:env(safe-area-inset-bottom);max-width:none}fpd-element-toolbar.fpd-smart.fpd-layout-small .fpd-close,fpd-element-toolbar.fpd-smart.fpd-layout-small .fpd-close-sub-panel{border-top-right-radius:0}fpd-element-toolbar.fpd-sidebar .fpd-tool-filters{row-gap:35px!important}fpd-element-toolbar.fpd-sidebar .fpd-tools-nav{flex-direction:column}fpd-element-toolbar.fpd-sidebar .fpd-tools-nav>div{flex-direction:column;gap:25px 0;height:auto;overflow:visible}fpd-element-toolbar.fpd-sidebar .fpd-tools-nav>.fpd-primary-tools .fpd-tool-font-family fpd-dropdown,fpd-element-toolbar.fpd-sidebar .fpd-tools-nav>.fpd-primary-tools .fpd-tool-text-size input{display:none!important}fpd-main-bar>fpd-element-toolbar{background:var(--fpd-primary-fg-color);position:absolute;top:0!important;left:0!important;width:100%!important;height:100%;flex-flow:row nowrap}fpd-main-bar>fpd-element-toolbar>.fpd-tools-nav{flex:0 80px;flex-flow:column;align-items:center;border-right:1px solid var(--fpd-border-color)}fpd-main-bar>fpd-element-toolbar>.fpd-tools-nav>div{flex:0;margin:10px 0}fpd-main-bar>fpd-element-toolbar>.fpd-tools-nav>div .fpd-label{white-space:normal}fpd-element-toolbar[data-fabric-type=engraved-text] .fpd-panel-color>.fpd-panel-tabs,fpd-element-toolbar[data-fabric-type=engraved-text] .fpd-patterns-wrapper,fpd-element-toolbar[data-fabric-type=engraved-text] .fpd-tool-curved-text,fpd-element-toolbar[data-fabric-type=engraved-text] .fpd-tool-fill-opacity,fpd-element-toolbar[data-fabric-type=engraved-text] .fpd-tool-text-format,fpd-element-toolbar[data-fabric-type=neon-text] .fpd-panel-color>.fpd-panel-tabs,fpd-element-toolbar[data-fabric-type=neon-text] .fpd-patterns-wrapper,fpd-element-toolbar[data-fabric-type=neon-text] .fpd-tool-curved-text,fpd-element-toolbar[data-fabric-type=neon-text] .fpd-tool-fill-opacity,fpd-element-toolbar[data-fabric-type=neon-text] .fpd-tool-text-format{display:none!important}.fpd-toolbar-visible .fpd-toolbar-sidebar fpd-main-bar{overflow:visible}.fpd-toolbar-visible .fpd-toolbar-sidebar fpd-main-bar>.fpd-close{display:block;right:0;left:auto;top:20px;transform:translateX(100%);font-size:12px;height:30px;line-height:30px;width:30px;padding:0 5px}.fpd-container fpd-module-products{padding:var(--fpd-module-content-padding)}.fpd-container fpd-module-products .fpd-product-categories{display:none}.fpd-container fpd-module-products.fpd-categories-enabled .fpd-product-categories{display:flex}.fpd-container fpd-module-text .fpd-add-text{padding:10px}.fpd-container fpd-module-text .fpd-add-text input{padding:3px 5px;width:80px;display:block}.fpd-container fpd-module-text .fpd-add-text .fpd-btn{margin-top:10px;margin-bottom:20px}.fpd-container fpd-module-text .fpd-text-templates .fpd-grid{padding:var(--fpd-module-content-padding)}.fpd-container fpd-module-text .fpd-text-templates .fpd-grid .fpd-item{background:var(--fpd-module-secondary-color);text-align:center;position:relative;border-radius:var(--fpd-border-radius)}.fpd-container fpd-module-text .fpd-text-templates .fpd-grid .fpd-item>div{font-size:16px;width:80%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.fpd-container fpd-module-text .fpd-text-templates .fpd-grid .fpd-item:hover{opacity:.8}.fpd-container fpd-module-designs{padding:var(--fpd-module-content-padding)}.fpd-container fpd-module-designs .fpd-head{display:none}.fpd-container fpd-module-designs.fpd-head-visible .fpd-head,.fpd-container fpd-module-designs.fpd-single-cat .fpd-head{display:block;margin-bottom:10px}.fpd-container fpd-module-designs.fpd-single-cat .fpd-back{display:none!important}.fpd-container fpd-module-designs .fpd-single-cat .fpd-input-search{width:100%}.fpd-container fpd-module-designs .fpd-grid .fpd-item{border-radius:var(--fpd-border-radius)}.fpd-container fpd-module-text-to-image .fpd-head .fpd-info{margin:0 0 10px;line-height:20px;font-size:14px}.fpd-container fpd-module-text-to-image .fpd-head .fpd-btn{margin:0 0 20px}.fpd-container fpd-module-images .fpd-module-tabs-content{overflow:hidden;padding:var(--fpd-module-content-padding)}.fpd-container fpd-module-images .fpd-module-tabs-content>div>*{height:100%;display:flex;flex-flow:column}.fpd-container fpd-module-images .fpd-module-tabs-content>div>* .fpd-scroll-area{padding-right:5px}.fpd-container fpd-module-uploads .fpd-upload-image{display:flex;flex-flow:column nowrap;align-items:center;border:2px dashed var(--fpd-border-color);background:var(--fpd-module-secondary-color);color:var(--fpd-module-secondary-text-color);border-radius:var(--fpd-border-radius);padding:10px 10px 0;cursor:pointer;margin-bottom:10px}.fpd-container fpd-module-uploads .fpd-upload-image>span{display:block;font-size:10px;text-transform:uppercase;margin:0 0 15px!important}.fpd-container fpd-module-uploads .fpd-upload-image>.fpd-price{font-size:12px;line-height:1}.fpd-container fpd-module-uploads .fpd-upload-image.fpd-hover{opacity:.5}.fpd-container fpd-module-uploads .fpd-grid .fpd-loading-bar{background:rgba(255,255,255,.7);position:absolute;top:50%;left:50%;width:60%;height:6px;transform:translate(-50%,-50%);z-index:10}.fpd-container fpd-module-uploads .fpd-grid .fpd-loading-bar>.fpd-loading-progress{background:#fff;height:100%;width:0}.fpd-container fpd-module-uploads .fpd-image-quality-ratings{position:absolute;left:5px;top:5px;line-height:1}.fpd-container fpd-module-uploads .fpd-image-quality-ratings>span{color:var(--fpd-image-quality-start-color);text-shadow:0 0 1px rgba(0,0,0,.7);font-size:18px}.fpd-container fpd-module-facebook-images .fpd-head{margin-bottom:10px}.fpd-container fpd-module-facebook-images .fpd-head .fpd-facebook-albums{display:none}.fpd-container fpd-module-facebook-images.fpd-facebook-logged-in .fpd-facebook-login{display:none}.fpd-container fpd-module-facebook-images.fpd-facebook-logged-in .fpd-facebook-albums{display:block}.fpd-container fpd-module-pixabay-images{position:relative}.fpd-container fpd-module-pixabay-images .fpd-head{margin-bottom:10px}.fpd-container fpd-module-pixabay-images .fpd-loader-wrapper{height:100%}.fpd-container fpd-module-pixabay-images .fpd-pixabay-logo{background-repeat:no-repeat!important;border:none!important;background-color:transparent!important;width:72px;height:14px;display:block;margin-bottom:10px;opacity:.6;background-image:url(data:image/png;base64,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)!important}.fpd-container fpd-module-manage-layers .fpd-list{padding:var(--fpd-module-content-padding);position:relative;min-height:100%}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row{flex-wrap:wrap;margin:10px 5px 10px 0;align-items:center;border:1px solid transparent;border-radius:var(--fpd-border-radius);box-shadow:0 0 10px rgba(110,111,114,.2)}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div{overflow:hidden;white-space:nowrap}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-0{flex:0 45px;text-align:center}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-0>.fpd-current-color{cursor:pointer;width:25px;height:25px;display:block;border-radius:var(--fpd-border-radius);margin:auto;border:1px solid rgba(0,0,0,.1)}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-1{padding-left:0;padding-right:0}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-1 textarea{border:1px solid var(--fpd-border-color);min-height:auto;max-height:30px;width:100%;padding:3px 5px!important;box-shadow:none;margin:0}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-1 .fpd-img-meta{font-size:11px;font-weight:700}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-1 .fpd-img-meta span{font-weight:400;margin-right:5px}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-2{flex:0 110px;display:flex;justify-content:flex-end;align-items:center;padding-right:10px}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-2>span{padding-left:8px;font-size:18px;opacity:.7;transition:opacity .3s ease-out;flex:1;flex-grow:0}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-2>span.fpd-icon-reorder{cursor:move}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-2>span:first-child{padding:0}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-2>span:hover{opacity:1}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-2>span>*{vertical-align:top}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-2>span>.fpd-icon-eye{font-size:13.5px}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-full{padding:0 0 10px;display:none}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-full>.fpd-scroll-area.fpd-has-subpanel{max-height:none}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-full>.fpd-scroll-area>.fpd-color-palette,.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-full>.fpd-scroll-area>.fpd-patterns-wrapper{padding:0 10px}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-full>.fpd-scroll-area>.fpd-color-palette>.fpd-colorpicker-wrapper,.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-full>.fpd-scroll-area>.fpd-patterns-wrapper>.fpd-colorpicker-wrapper{padding:0}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row:hover{border-color:var(--fpd-border-color)}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row.fpd-show-colors{background:var(--fpd-list-bg-color-active)}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row.fpd-show-colors .fpd-cell-full{display:block}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row.fpd-locked>div:nth-child(-n+2){opacity:.2;pointer-events:none}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row.fpd-hide-dpi .fpd-dpi{display:none}.fpd-container fpd-module-qr-code .fpd-qr-code-colors{text-align:center}.fpd-container fpd-module-qr-code .fpd-qr-code-colors>.fpd-qr-code-color-dark,.fpd-container fpd-module-qr-code .fpd-qr-code-colors>.fpd-qr-code-color-light{display:inline-block;padding:12px;position:relative;border-radius:var(--fpd-border-radius);border:2px solid rgba(0,0,0,.2);overflow:visible}.fpd-container fpd-module-save-load{padding:var(--fpd-module-content-padding)}.fpd-container fpd-module-text-layers .fpd-list{position:relative;min-height:100%;padding:var(--fpd-module-content-padding)}.fpd-container fpd-module-text-layers .fpd-list .fpd-list-row{flex-wrap:wrap;margin:0 0 10px;border-radius:var(--fpd-border-radius);box-shadow:0 0 10px rgba(110,111,114,.2)}.fpd-container fpd-module-text-layers .fpd-list .fpd-list-row>div{margin:10px 8px;padding:0;position:relative}.fpd-container fpd-module-text-layers .fpd-list .fpd-list-row>.fpd-title{color:var(--fpd-dark-grey-color);padding-left:2px;margin-bottom:0;font-size:14px}.fpd-container fpd-module-text-layers .fpd-list .fpd-list-row>.fpd-cell-1 fpd-dropdown{height:35px}.fpd-container fpd-module-text-layers .fpd-list .fpd-list-row>.fpd-cell-2{flex:0 0 60px}.fpd-container fpd-module-text-layers .fpd-list .fpd-list-row>.fpd-cell-2>input{text-align:center;height:35px}.fpd-container fpd-module-text-layers .fpd-list .fpd-list-row .fpd-color-panel{margin-top:10px}.fpd-container fpd-module-text-layers .fpd-list .fpd-list-row .fpd-color-panel .fpd-colorpicker-wrapper{padding:0}.fpd-container fpd-module-text-layers .fpd-list .fpd-list-row .fpd-clear-text{position:absolute;right:1px;top:1px;font-size:11px;line-height:1;padding:3px 4px;text-transform:uppercase;background:var(--fpd-module-secondary-color);border-bottom-left-radius:2px;cursor:pointer;border-top-right-radius:var(--fpd-border-radius)}.fpd-container fpd-module-text-layers .fpd-list .fpd-list-row input,.fpd-container fpd-module-text-layers .fpd-list .fpd-list-row textarea{margin:0!important;padding:8px;width:100%}.fpd-container fpd-module-layouts .fpd-grid{padding:var(--fpd-module-content-padding)}.fpd-container fpd-module-layouts .fpd-grid>.fpd-item{border-radius:var(--fpd-border-radius);background-color:var(--fpd-module-secondary-color)}.fpd-container fpd-module-names-numbers{padding:var(--fpd-module-content-padding)}.fpd-container fpd-module-names-numbers .fpd-head .fpd-btn{margin:0 0 20px}.fpd-container fpd-module-names-numbers .fpd-list{display:flex;flex-flow:column nowrap;gap:10px;padding-right:10px}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row{display:flex;flex-flow:row wrap;justify-content:flex-end}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row>.fpd-number-col{width:50px}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row>.fpd-number-col input{text-align:center}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row>.fpd-name-col{flex:1}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row>.fpd-select-col{width:50px;position:relative}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row>.fpd-select-col select{position:relative;appearance:none;height:100%;width:100%;text-align:center;background:var(--fpd-light-bg-color);cursor:pointer;padding-right:10px}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row>.fpd-select-col:after{content:"\e90e";font-family:FontFPD!important;font-size:16px;position:absolute;top:50%;right:2px;pointer-events:none;transform:translateY(-50%)}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row>.fpd-remove-col{flex:1 100%;text-align:right;font-size:10px;line-height:1;color:var(--fpd-red-color);order:3}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row>.fpd-remove-col>span{opacity:.7;text-transform:uppercase;cursor:pointer}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row>.fpd-remove-col>span:hover{opacity:1}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row>.fpd-input-col:nth-child(2)>*{border-top-left-radius:var(--fpd-border-radius);border-bottom-left-radius:var(--fpd-border-radius);border-left:1px solid var(--fpd-border-color)}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row>.fpd-input-col:last-child>*{border-top-right-radius:var(--fpd-border-radius);border-bottom-right-radius:var(--fpd-border-radius)}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row input,.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row select{border-radius:0;box-shadow:none;margin:0;border:1px solid var(--fpd-border-color);width:100%;border-left:none}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row:first-child>.fpd-remove-col{visibility:hidden}.fpd-bulk-variations{margin:20px 0}.fpd-bulk-variations>.fpd-head{display:flex;flex-flow:row nowrap;align-items:center;justify-content:space-between;margin-bottom:10px}.fpd-bulk-variations>.fpd-head>.fpd-headline{font-size:18px}.fpd-bulk-variations .fpd-variations-list{display:flex;flex-flow:column wrap;gap:20px}.fpd-bulk-variations .fpd-variations-list .fpd-row{display:flex;flex-flow:row nowrap;gap:10px;height:40px;align-items:center}.fpd-bulk-variations .fpd-variations-list .fpd-row>select{flex:1;font-size:16px;padding:0 5px;height:100%}.fpd-bulk-variations .fpd-variations-list .fpd-row>select.fpd-error{border-color:var(--fpd-red-color)}.fpd-bulk-variations .fpd-variations-list .fpd-row>input{width:50px;height:100%;margin:0;text-align:center}.fpd-bulk-variations .fpd-variations-list .fpd-row>span{display:inline-block;width:30px;cursor:pointer;font-size:14px;text-align:center}.fpd-bulk-variations .fpd-variations-list .fpd-row:first-child span{display:none}.fpd-color-selection{margin:20px 0;display:flex;flex-flow:column wrap;gap:20px}.fpd-color-selection .fpd-cs-item .fpd-title{font-size:16px;margin-bottom:10px;padding-bottom:5px;border-bottom:1px solid var(--fpd-border-color)}.fpd-color-selection .fpd-cs-item .fpd-color-palette,.fpd-color-selection .fpd-cs-item .fpd-patterns-wrapper{margin:10px 0}.fpd-color-selection .fpd-cs-item .fpd-color-palette .fpd-item,.fpd-color-selection .fpd-cs-item .fpd-patterns-wrapper .fpd-item{width:45px;height:45px;position:relative;box-shadow:0 1px 2px rgba(0,0,0,.2)}.fpd-color-selection .fpd-cs-item .fpd-color-panel>.fpd-scroll-area>.fpd-color-palette .fpd-item:after{position:absolute;color:rgba(0,0,0,.6);background:rgba(255,255,255,.95);bottom:-2px;line-height:1;width:calc(100% + 4px);left:-2px;text-transform:uppercase;font-size:10px;content:attr(data-hex);padding:4px 0;text-align:center}.fpd-container.fpd-gt-step{width:320px;padding:15px;position:fixed;top:0;left:0;color:#fff;z-index:100;margin-top:15px;margin-left:-24px;z-index:100000000000;background:var(--fpd-tooltip-bg-color)}.fpd-container.fpd-gt-step>.fpd-gt-pointer{font-size:50px;position:absolute;top:-16px;left:0;color:var(--fpd-tooltip-bg-color);transform:scaleY(-1)}.fpd-container.fpd-gt-step .fpd-gt-close{position:absolute;right:10px;top:10px;font-size:14px;cursor:pointer;z-index:10}.fpd-container.fpd-gt-step .fpd-gt-text{padding-right:15px}.fpd-container.fpd-gt-step .fpd-gt-actions{margin-top:20px}.fpd-container.fpd-gt-step .fpd-gt-actions>.fpd-btn{margin:0;float:right;margin-left:5px;font-size:12px;padding:3px 10px}.fpd-container.fpd-gt-step .fpd-gt-actions>.fpd-gt-counter{line-height:34px;font-size:12px;opacity:.5}.fpd-3d-preview-wrapper{background:#fff;color:rgba(0,0,0,.5);box-shadow:rgba(0,0,0,.15) 0 5px 15px 0;position:relative}.fpd-3d-preview-wrapper:after{content:"3D";position:absolute;left:5px;top:5px}.fpd-3d-preview-wrapper .fpd-loading{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.fpd-3d-preview-wrapper>canvas{outline:0;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.fpd-3d-preview-wrapper .fpd-touch-info{z-index:100;position:absolute;left:5px;bottom:5px;width:64px;height:64px;background-size:40%;background-position:left bottom;background-repeat:no-repeat;background-image:url(data:image/png;base64,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)}fpd-main-wrapper .fpd-3d-preview-wrapper{display:block;box-shadow:rgba(0,0,0,.15) 0 5px 15px 0;background:#fff;color:rgba(0,0,0,.5);z-index:100;position:absolute;bottom:0;left:0}fpd-main-wrapper .fpd-3d-preview-wrapper.fpd-fullscreen>.fpd-fullscreen-toggle{padding:4px}fpd-main-wrapper .fpd-3d-preview-wrapper.fpd-fullscreen>.fpd-fullscreen-toggle>span:first-child{display:none}fpd-main-wrapper .fpd-3d-preview-wrapper.fpd-fullscreen>.fpd-fullscreen-toggle>span:last-child{display:inline}fpd-main-wrapper .fpd-3d-preview-wrapper>.fpd-fullscreen-toggle{position:absolute;top:5px;right:5px;cursor:pointer;font-size:18px;z-index:10}fpd-main-wrapper .fpd-3d-preview-wrapper>.fpd-fullscreen-toggle>span:last-child{display:none}.fpd-view-thumbnails-wrapper{display:flex;gap:15px;margin:20px 0;flex-wrap:wrap}.fpd-view-thumbnails-wrapper>.fpd-item{width:100px;height:100px;background-repeat:no-repeat;background-position:center;background-size:70%;border-radius:8px;cursor:pointer;background-color:rgba(255,255,252,.9)}fpd-main-wrapper>.fpd-view-thumbnails-wrapper{position:absolute;left:10px;bottom:calc(10px + env(safe-area-inset-bottom));margin:0;z-index:21}fpd-main-wrapper>.fpd-view-thumbnails-wrapper .fpd-item{height:70px;flex-basis:60px}.fpd-wrapper.fpd-views-inside-left fpd-main-wrapper>.fpd-view-thumbnails-wrapper{right:10px;left:auto;justify-content:flex-end} \ No newline at end of file +:root{--fpd-primary-color:#485563;--fpd-primary-fg-color:#fff;--fpd-secondary-color:#029EEB;--fpd-secondary-fg-color:#fff;--fpd-light-bg-color:#F6F6F6;--fpd-light-grey-color:#EBEBEB;--fpd-dark-grey-color:#989898;--fpd-red-color:#bd081c;--fpd-yellow-color:#fffaf3;--fpd-yellow-contrast-color:#654c21;--fpd-green-color:#2ecc71;--fpd-scrollbar-track-color:var(--fpd-light-bg-color);--fpd-scrollbar-thumb-color:var(--fpd-dark-grey-color);--fpd-scrollbar-width:6px;--fpd-btn-primary-color:var(--fpd-secondary-color);--fpd-btn-primary-text-color:var(--fpd-secondary-fg-color);--fpd-dropdown-height:40px;--fpd-snackbar-bg-color:rgba(0, 0, 0, 0.9);--fpd-list-bg-color-active:rgba(0, 0, 0, 0.04);--fpd-input-text-color:rgba(0, 0, 0, 0.7);--fpd-tooltip-bg-color:rgba(0, 0, 0, 0.9);--fpd-track-height:8px;--fpd-text-color:var(--fpd-primary-color);--fpd-border-color:var(--fpd-light-grey-color);--fpd-container-min-height:500px;--fpd-border-radius:6px;--fpd-mainbar-nav-color:var(--fpd-primary-color);--fpd-sidebar-width:400px;--fpd-sidebar-nav-width:80px;--fpd-topbar-nav-height:70px;--fpd-off-canvas-width:350px;--fpd-actions-bar-bg-color:var(--fpd-primary-color);--fpd-actions-bar-height:50px;--fpd-loading-svg:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMzJweCcgaGVpZ2h0PSczMnB4JyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCIgY2xhc3M9InVpbC1kZWZhdWx0Ij48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgZmlsbD0ibm9uZSIgY2xhc3M9ImJrIj48L3JlY3Q+PHJlY3QgIHg9JzQ2LjUnIHk9JzQwJyB3aWR0aD0nNycgaGVpZ2h0PScyMCcgcng9JzUnIHJ5PSc1JyBmaWxsPScjMDAwMDAwJyB0cmFuc2Zvcm09J3JvdGF0ZSgwIDUwIDUwKSB0cmFuc2xhdGUoMCAtMzApJz4gIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J29wYWNpdHknIGZyb209JzEnIHRvPScwJyBkdXI9JzFzJyBiZWdpbj0nMHMnIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJy8+PC9yZWN0PjxyZWN0ICB4PSc0Ni41JyB5PSc0MCcgd2lkdGg9JzcnIGhlaWdodD0nMjAnIHJ4PSc1JyByeT0nNScgZmlsbD0nIzAwMDAwMCcgdHJhbnNmb3JtPSdyb3RhdGUoMzAgNTAgNTApIHRyYW5zbGF0ZSgwIC0zMCknPiAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0nb3BhY2l0eScgZnJvbT0nMScgdG89JzAnIGR1cj0nMXMnIGJlZ2luPScwLjA4MzMzMzMzMzMzMzMzMzMzcycgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnLz48L3JlY3Q+PHJlY3QgIHg9JzQ2LjUnIHk9JzQwJyB3aWR0aD0nNycgaGVpZ2h0PScyMCcgcng9JzUnIHJ5PSc1JyBmaWxsPScjMDAwMDAwJyB0cmFuc2Zvcm09J3JvdGF0ZSg2MCA1MCA1MCkgdHJhbnNsYXRlKDAgLTMwKSc+ICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdvcGFjaXR5JyBmcm9tPScxJyB0bz0nMCcgZHVyPScxcycgYmVnaW49JzAuMTY2NjY2NjY2NjY2NjY2NjZzJyByZXBlYXRDb3VudD0naW5kZWZpbml0ZScvPjwvcmVjdD48cmVjdCAgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyMwMDAwMDAnIHRyYW5zZm9ybT0ncm90YXRlKDkwIDUwIDUwKSB0cmFuc2xhdGUoMCAtMzApJz4gIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J29wYWNpdHknIGZyb209JzEnIHRvPScwJyBkdXI9JzFzJyBiZWdpbj0nMC4yNXMnIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJy8+PC9yZWN0PjxyZWN0ICB4PSc0Ni41JyB5PSc0MCcgd2lkdGg9JzcnIGhlaWdodD0nMjAnIHJ4PSc1JyByeT0nNScgZmlsbD0nIzAwMDAwMCcgdHJhbnNmb3JtPSdyb3RhdGUoMTIwIDUwIDUwKSB0cmFuc2xhdGUoMCAtMzApJz4gIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J29wYWNpdHknIGZyb209JzEnIHRvPScwJyBkdXI9JzFzJyBiZWdpbj0nMC4zMzMzMzMzMzMzMzMzMzMzcycgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnLz48L3JlY3Q+PHJlY3QgIHg9JzQ2LjUnIHk9JzQwJyB3aWR0aD0nNycgaGVpZ2h0PScyMCcgcng9JzUnIHJ5PSc1JyBmaWxsPScjMDAwMDAwJyB0cmFuc2Zvcm09J3JvdGF0ZSgxNTAgNTAgNTApIHRyYW5zbGF0ZSgwIC0zMCknPiAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0nb3BhY2l0eScgZnJvbT0nMScgdG89JzAnIGR1cj0nMXMnIGJlZ2luPScwLjQxNjY2NjY2NjY2NjY2NjdzJyByZXBlYXRDb3VudD0naW5kZWZpbml0ZScvPjwvcmVjdD48cmVjdCAgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyMwMDAwMDAnIHRyYW5zZm9ybT0ncm90YXRlKDE4MCA1MCA1MCkgdHJhbnNsYXRlKDAgLTMwKSc+ICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdvcGFjaXR5JyBmcm9tPScxJyB0bz0nMCcgZHVyPScxcycgYmVnaW49JzAuNXMnIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJy8+PC9yZWN0PjxyZWN0ICB4PSc0Ni41JyB5PSc0MCcgd2lkdGg9JzcnIGhlaWdodD0nMjAnIHJ4PSc1JyByeT0nNScgZmlsbD0nIzAwMDAwMCcgdHJhbnNmb3JtPSdyb3RhdGUoMjEwIDUwIDUwKSB0cmFuc2xhdGUoMCAtMzApJz4gIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J29wYWNpdHknIGZyb209JzEnIHRvPScwJyBkdXI9JzFzJyBiZWdpbj0nMC41ODMzMzMzMzMzMzMzMzM0cycgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnLz48L3JlY3Q+PHJlY3QgIHg9JzQ2LjUnIHk9JzQwJyB3aWR0aD0nNycgaGVpZ2h0PScyMCcgcng9JzUnIHJ5PSc1JyBmaWxsPScjMDAwMDAwJyB0cmFuc2Zvcm09J3JvdGF0ZSgyNDAgNTAgNTApIHRyYW5zbGF0ZSgwIC0zMCknPiAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0nb3BhY2l0eScgZnJvbT0nMScgdG89JzAnIGR1cj0nMXMnIGJlZ2luPScwLjY2NjY2NjY2NjY2NjY2NjZzJyByZXBlYXRDb3VudD0naW5kZWZpbml0ZScvPjwvcmVjdD48cmVjdCAgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyMwMDAwMDAnIHRyYW5zZm9ybT0ncm90YXRlKDI3MCA1MCA1MCkgdHJhbnNsYXRlKDAgLTMwKSc+ICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdvcGFjaXR5JyBmcm9tPScxJyB0bz0nMCcgZHVyPScxcycgYmVnaW49JzAuNzVzJyByZXBlYXRDb3VudD0naW5kZWZpbml0ZScvPjwvcmVjdD48cmVjdCAgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyMwMDAwMDAnIHRyYW5zZm9ybT0ncm90YXRlKDMwMCA1MCA1MCkgdHJhbnNsYXRlKDAgLTMwKSc+ICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdvcGFjaXR5JyBmcm9tPScxJyB0bz0nMCcgZHVyPScxcycgYmVnaW49JzAuODMzMzMzMzMzMzMzMzMzNHMnIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJy8+PC9yZWN0PjxyZWN0ICB4PSc0Ni41JyB5PSc0MCcgd2lkdGg9JzcnIGhlaWdodD0nMjAnIHJ4PSc1JyByeT0nNScgZmlsbD0nIzAwMDAwMCcgdHJhbnNmb3JtPSdyb3RhdGUoMzMwIDUwIDUwKSB0cmFuc2xhdGUoMCAtMzApJz4gIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J29wYWNpdHknIGZyb209JzEnIHRvPScwJyBkdXI9JzFzJyBiZWdpbj0nMC45MTY2NjY2NjY2NjY2NjY2cycgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnLz48L3JlY3Q+PC9zdmc+);--fpd-canvas-bg:var(--fpd-light-bg-color);--fpd-et-max-width:375px;--fpd-module-content-padding:10px;--fpd-module-secondary-color:var(--fpd-light-bg-color);--fpd-module-secondary-text-color:var(--fpd-text-color);--fpd-image-quality-start-color:#FFE790}.fpd-container *,.fpd-container:after,.fpd-container:before{margin:0;padding:0;list-style:none;max-width:100%;list-style-type:none;text-shadow:none;outline:0;line-height:20px;border:none;box-sizing:border-box}.fpd-container input{-webkit-appearance:none;appearance:none;height:auto;background:0 0!important;outline:0!important}.fpd-container textarea{background:0 0;outline:0!important}.fpd-container input::-webkit-inner-spin-button,.fpd-container input::-webkit-outer-spin-button{appearance:none}.fpd-wrapper{display:flex;flex-flow:row wrap;max-width:100%;position:relative;color:var(--fpd-text-color)}.fpd-container.fpd-not-responsive,.fpd-container.fpd-not-responsive *{max-width:none!important}.fpd-container.fpd-not-responsive * .fpd-product-stage,.fpd-container.fpd-not-responsive .fpd-product-stage{overflow:auto}.fpd-container .fpd-scroll-area{height:100%;overflow:auto;overscroll-behavior:none;-webkit-overflow-scrolling:touch;scrollbar-width:var(--fpd-scrollbar-width);scrollbar-color:var(--fpd-scrollbar-thumb-color) var(--fpd-scrollbar-track-color)}.fpd-container .fpd-scroll-area::-webkit-scrollbar{width:var(--fpd-scrollbar-width);height:var(--fpd-scrollbar-width);padding-right:5px;margin-right:5px}.fpd-container .fpd-scroll-area::-webkit-scrollbar-track{background-color:var(--fpd-scrollbar-track-color);-webkit-border-radius:10px;border-radius:10px;margin:20px}.fpd-container .fpd-scroll-area::-webkit-scrollbar-thumb{-webkit-border-radius:10px;border-radius:10px;background:var(--fpd-scrollbar-thumb-color)}.fpd-scrollbar-hidden{overscroll-behavior:none;-ms-overflow-style:none;scrollbar-width:none}.fpd-scrollbar-hidden::-webkit-scrollbar{display:none}textarea[data-fabric-hiddentextarea]{font-size:16px!important;transform:translateY(-20px);caret-color:transparent}.fpd-disabled{opacity:.2!important;cursor:default!important;pointer-events:none!important}body .fpd-hidden{display:none!important;pointer-events:none!important}.fpd-overflow-hidden{overflow:hidden!important}.fpd-hidden-canvas{position:absolute!important;left:-9999999px}[class^=fpd-icon-]:before{color:inherit!important}body .fpd-visible-hidden{visibility:hidden!important;pointer-events:none!important}body fpd-dropdown{position:relative;display:flex;height:var(--fpd-dropdown-height)}body fpd-dropdown>.fpd-dropdown-current{height:100%;width:100%!important;padding:7px 20px 7px 7px!important;margin:0!important}body fpd-dropdown>.fpd-dropdown-arrow{position:absolute;font-size:20px;right:2px;top:calc(50% - 10px);opacity:.6;text-align:center;width:20px;height:20px;transform-origin:center center;transition:all .2s ease-out;cursor:pointer}body fpd-dropdown .fpd-dropdown-list{display:none;position:fixed;padding-right:5px;left:0;top:0;background:#fff;z-index:100;box-shadow:0 2px 0 1px rgba(64,87,109,.07),0 2px 12px rgba(53,71,90,.2);transform:translateY(2px);border-radius:4px;max-height:200px}body fpd-dropdown .fpd-dropdown-list>.fpd-scroll-area{max-height:inherit;padding:0!important}body fpd-dropdown .fpd-dropdown-list .fpd-item{display:block;text-align:left;margin:5px;padding:10px;line-height:14px;font-size:14px;cursor:pointer;border-radius:4px}body fpd-dropdown .fpd-dropdown-list .fpd-item:hover{background:rgba(0,0,0,.05)}body fpd-dropdown input:focus~.fpd-dropdown-list,body fpd-dropdown.fpd-active .fpd-dropdown-list{display:block;border:1px solid var(--fpd-border-color)}body fpd-dropdown input:focus~.fpd-dropdown-arrow,body fpd-dropdown.fpd-active>.fpd-dropdown-arrow{transform:rotate(90deg)}body fpd-dropdown.fpd-on-loading .fpd-dropdown-arrow{display:none!important}body fpd-dropdown.fpd-on-loading>input.fpd-dropdown-current{background-size:20px;background-repeat:no-repeat;background-position:98% center;background-image:var(--fpd-loading-svg)}.fpd-container .fpd-loader-wrapper{background:rgba(255,255,255,.9);width:100%;height:100%;position:absolute;top:0;left:0;z-index:100}.fpd-loader-wrapper>.fpd-loader{position:absolute;text-align:center;width:100%;left:50%;top:50%;transform:translate(-50%,-50%)}.fpd-loader>.fpd-loader-text{position:absolute;width:100%;display:block;font-size:14px;padding:20px 0;color:rgba(0,0,0,.5);text-transform:uppercase;font-weight:lighter;letter-spacing:1.5px;-webkit-filter:blur(0)}.fpd-loader>.fpd-loader-circle{margin:0 auto;width:40px;height:40px;border:3px solid rgba(0,0,0,.2);border-left:3px solid #000;transform:translateZ(0);animation:fpd-loader-animation 1.1s infinite linear}.fpd-loader>.fpd-loader-circle,.fpd-loader>.fpd-loader-circle:after{border-radius:50%}@-webkit-keyframes fpd-loader-animation{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes fpd-loader-animation{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.fpd-container .fpd-btn,.fpd-modal-inner .fpd-btn{background:var(--fpd-btn-primary-color);color:var(--fpd-btn-primary-text-color);cursor:pointer;display:inline-flex;align-items:center;padding:5px 15px;font-size:14px;margin:10px 0;text-transform:uppercase;border-radius:var(--fpd-border-radius);transition:all .2s ease-out}.fpd-container .fpd-btn:hover,.fpd-modal-inner .fpd-btn:hover{opacity:.8}.fpd-container .fpd-btn.fpd-loading,.fpd-modal-inner .fpd-btn.fpd-loading{background-image:var(--fpd-loading-svg);background-repeat:no-repeat;background-position:center;background-size:30%;opacity:.8;color:transparent;cursor:wait}.fpd-container .fpd-btn.fpd-secondary,.fpd-modal-inner .fpd-btn.fpd-secondary{background:var(--fpd-light-grey-color);color:var(--fpd-dark-grey-color)}.fpd-container .fpd-btn.fpd-full,.fpd-modal-inner .fpd-btn.fpd-full{width:100%;justify-content:center}body .fpd-container input,body .fpd-container textarea{color:var(--fpd-input-text-color);box-shadow:0 0 4px rgba(110,111,114,.22);border:none;border-radius:var(--fpd-border-radius);padding:10px;margin-bottom:10px;appearance:none;-moz-appearance:textfield;resize:none;font-size:16px;border:1px solid transparent}body .fpd-container input[type=text],body .fpd-container textarea[type=text]{width:100%}body .fpd-container input:focus,body .fpd-container textarea:focus{box-shadow:0 0 4px rgba(110,111,114,.22);border:1px solid var(--fpd-secondary-color)}body .fpd-container textarea{width:100%;min-height:100px}body .fpd-container select{box-shadow:0 0 4px rgba(110,111,114,.22);border-radius:var(--fpd-border-radius);border:1px solid transparent}body .fpd-container select:focus{box-shadow:0 0 4px rgba(110,111,114,.22);border:1px solid var(--fpd-secondary-color)}body .fpd-container .fpd-input-back-search,body .fpd-container .fpd-input-search{display:flex;box-shadow:0 0 4px rgba(110,111,114,.22);height:40px;border-radius:4px;flex:1}body .fpd-container .fpd-input-back-search input,body .fpd-container .fpd-input-search input{flex:1;box-shadow:none!important;margin:0;padding:0 5px;line-height:1;border:none!important}body .fpd-container .fpd-input-back-search span,body .fpd-container .fpd-input-search span{width:20px;align-self:center;text-align:center;font-size:16px;margin-right:5px}body .fpd-container .fpd-input-back-search .fpd-input-search{border-top-left-radius:0;border-bottom-left-radius:0;box-shadow:none!important}body .fpd-container .fpd-input-back-search .fpd-back{color:var(--fpd-module-secondary-text-color);border:none!important;background:rgba(0,0,0,.03)!important;line-height:1;padding:9px 8px!important;display:inline-block;width:32px;height:100%;text-align:center;margin:0!important;border-top-right-radius:0;border-bottom-right-radius:0}body .fpd-container .fpd-input{display:flex;width:100%;align-items:center;box-shadow:0 0 4px rgba(110,111,114,.22);overflow:hidden;border-radius:var(--fpd-border-radius);border:1px solid transparent}body .fpd-container .fpd-input [class^=fpd-icon-],body .fpd-container .fpd-input span{padding:2px 6px;flex:0 30px;margin-right:5px;text-align:center;border-right:1px solid var(--fpd-border-color)}body .fpd-container .fpd-input span{flex:0 auto;text-align:left;white-space:nowrap}body .fpd-container .fpd-input input{box-shadow:none;margin:0;padding:5px;flex:1;width:100%;border-radius:0;border:none!important}body .fpd-container .fpd-input fpd-range-slider{flex-basis:100%}body .fpd-container .fpd-input .fpd-slider-number{flex:0 70px;text-align:center;border:1px solid var(--fpd-border-color)!important;border-radius:var(--fpd-border-radius);margin:3px 3px 3px 5px}body .fpd-container .fpd-input .fpd-slider-number:focus{border-color:var(--fpd-secondary-color)!important}.fpd-container .fpd-module-tabs{display:flex;background:var(--fpd-module-secondary-color);color:var(--fpd-module-secondary-text-color)}.fpd-container .fpd-module-tabs>div{flex:1;text-align:center;cursor:pointer;padding:8px 0;font-size:20px}.fpd-container .fpd-module-tabs>div:hover{background:rgba(0,0,0,.03)}.fpd-container .fpd-module-tabs>div.fpd-active{background:var(--fpd-primary-fg-color);color:var(--fpd-secondary-color)}.fpd-container .fpd-module-tabs>div>span{pointer-events:none}.fpd-container .fpd-module-tabs-content{height:100%}.fpd-container .fpd-module-tabs-content>div{display:none;height:100%}.fpd-container .fpd-module-tabs-content>div.fpd-active{display:block}.fpd-sidebar .fpd-module-tabs{top:50px}.fpd-hide-tabs .fpd-module-tabs{display:none!important}.fpd-snackbar-wrapper{position:fixed;left:12px;bottom:0;z-index:100000}.fpd-snackbar-wrapper .fpd-snackbar{background:var(--fpd-snackbar-bg-color);margin-bottom:10px;color:#fff;line-height:18px;font-size:14px;min-width:288px;max-width:568px;overflow-y:hidden;border-radius:2px;-webkit-transition:all .3s ease-out;transition:all .3s ease-out}.fpd-snackbar-wrapper .fpd-snackbar p{margin:0;padding:16px 24px}.fpd-snackbar-wrapper .fpd-snackbar.fpd-show-up{max-height:300px}.fpd-modal-overlay{position:absolute!important;width:100%!important;bottom:0!important;right:0!important;top:0!important;left:0!important;background:rgba(0,0,0,.5);z-index:10000;overflow:auto}.fpd-modal-overlay>.fpd-modal-inner{display:flex;align-items:center;background:#fff;width:450px;min-height:200px;position:absolute;left:50%;top:30%;padding:40px;z-index:10020;max-width:100%;transform:translateX(-50%);box-sizing:border-box;border-radius:var(--fpd-border-radius)}.fpd-modal-overlay>.fpd-modal-inner>.fpd-modal-close{position:absolute;right:15px;top:15px;font-size:16px;cursor:pointer;opacity:.6;transition:opacity .2s ease-out}.fpd-modal-overlay>.fpd-modal-inner>.fpd-modal-close:hover{opacity:1}.fpd-modal-overlay>.fpd-modal-inner>.fpd-modal-content{flex:1 100%;text-align:center;color:rgba(0,0,0,.7);line-height:22px;word-break:break-word}.fpd-modal-overlay.fpd-fullscreen>.fpd-modal-inner{width:100%;height:100%;top:0;overflow:auto;border-radius:0}.fpd-modal-overlay.fpd-modal-internal{z-index:10000000000}.fpd-modal-overlay.fpd-modal-product-designer,.fpd-overflow-hidden .fpd-modal-overlay{position:fixed!important}.fpd-modal-internal[data-type=prompt] input{width:100%;display:block}.fpd-modal-internal[data-type=prompt]{text-align:center}.fpd-modal-internal[data-type=confirm]{text-align:center}.fpd-modal-internal .fpd-confirm-msg{margin-bottom:10px}.fpd-modal-product-designer{display:none;pointer-events:none;overflow:hidden!important}.fpd-modal-product-designer.fpd-show{display:block;pointer-events:all}.fpd-modal-product-designer>.fpd-modal-inner{padding:0}.fpd-modal-product-designer>.fpd-modal-inner>.fpd-wrapper{flex:1 100%;margin:0 0!important;height:100%;box-shadow:none!important}.fpd-modal-product-designer>.fpd-modal-inner>.fpd-wrapper fpd-main-bar{height:calc(100% - var(--fpd-actions-bar-height))!important}.fpd-modal-product-designer>.fpd-modal-inner>.fpd-wrapper.fpd-layout-small fpd-main-wrapper{height:calc(100% - var(--fpd-actions-bar-height) - var(--fpd-sidebar-nav-width))!important}body.fpd-modal-mode-active:not(.fpd-modal-designer-visible) fpd-element-toolbar{display:none!important}.fpd-container .fpd-modal-content fpd-module-save-load{padding:0}.fpd-container .fpd-modal-content fpd-module-save-load .fpd-saved-designs{max-height:200px}.fpd-list{width:100%;overflow:auto}.fpd-list>.fpd-list-row{display:flex;font-size:15px;overflow:hidden;cursor:pointer;transition:background .3s ease-out}.fpd-list>.fpd-list-row>.fpd-cell-full{flex:1 100%}.fpd-list>.fpd-list-row>div{padding:22px 0;flex:1}.fpd-list .fpd-sortable-placeholder{background:rgba(0,0,0,.05);border:2px dotted var(--fpd-border-color);height:65px}.fpd-container fpd-range-slider{display:block;margin-top:3px}.fpd-container fpd-range-slider input[type=range]{margin:0;padding:0;box-shadow:none;width:100%}.fpd-container fpd-range-slider input[type=range]:focus{outline:0}.fpd-container fpd-range-slider input[type=range]::-webkit-slider-runnable-track{height:var(--fpd-track-height);border:1px solid var(--fpd-border-color);border-radius:4px;background:var(--fpd-light-bg-color)}.fpd-container fpd-range-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:1em;background:#fff;border:2px solid var(--fpd-secondary-color);margin-top:calc((var(--fpd-track-height) * .5 - 1px) - (20px * .5));cursor:pointer}.fpd-container fpd-range-slider input[type=range]::-webkit-slider-thumb:hover{scale:1.2}.fpd-container fpd-range-slider.fpd-progress input[type=range]{--range:calc(var(--max) - var(--min));--ratio:calc((var(--value) - var(--min)) / var(--range));--sx:calc(0.5 * 20px + var(--ratio) * (100% - 20px))}.fpd-container fpd-range-slider.fpd-progress input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(var(--fpd-secondary-color),var(--fpd-secondary-color)) 0/var(--sx) 100% no-repeat,var(--fpd-light-bg-color)}.fpd-container fpd-range-slider input[type=range]::-moz-range-track{height:var(--fpd-track-height);border:1px solid var(--fpd-border-color);border-radius:4px;background:var(--fpd-light-bg-color)}.fpd-container fpd-range-slider input[type=range]::-moz-range-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:1em;background:#fff;border:2px solid var(--fpd-secondary-color);margin-top:calc((var(--fpd-track-height) * .5 - 1px) - (20px * .5));cursor:pointer}.fpd-container fpd-range-slider input[type=range]::-moz-range-thumb:hover{scale:1.2}.fpd-container fpd-range-slider.fpd-progress input[type=range]::-moz-range-track{background:linear-gradient(var(--fpd-secondary-color),var(--fpd-secondary-color)) 0/var(--sx) 100% no-repeat,var(--fpd-light-bg-color)}.fpd-container .fpd-color-panel>.fpd-scroll-area{height:auto;max-height:100px;margin-bottom:10px}.fpd-container .fpd-color-panel>*{margin-bottom:10px}.fpd-container .fpd-color-panel>:last-child{margin-bottom:0}.fpd-container .picker_wrapper{width:100%;box-shadow:none;background:0 0;padding:0}.fpd-container .picker_wrapper.popup{width:200px;max-width:200px;padding:10px;display:flex;min-height:200px;background:#f6f6f6;margin:0;transform:translate(-50%,10px);border-radius:var(--fpd-border-radius);box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12)}.fpd-container .picker_wrapper>*{margin:0 0 10px}.fpd-container .picker_wrapper .picker_sample,.fpd-container .picker_wrapper .picker_sl,.fpd-container .picker_wrapper .picker_slider{box-shadow:none}.fpd-container .picker_wrapper .picker_selector{border:2px solid rgba(0,0,0,.4);background:rgba(255,255,255,.5);border-radius:50%;box-shadow:none;width:15px;height:15px;padding:0}.fpd-container .picker_wrapper .picker_sl{margin-top:0;height:100%;border-radius:var(--fpd-border-radius)}.fpd-container .picker_wrapper .picker_sl:before{height:100px;padding:0;border:1px solid var(--fpd-border-color);border-radius:var(--fpd-border-radius)}.fpd-container .picker_wrapper .picker_sl .picker_selector{transform-origin:center}.fpd-container .picker_wrapper .picker_hue{order:1;height:15px;padding:0;border:1px solid var(--fpd-border-color);border-radius:var(--fpd-border-radius)}.fpd-container .picker_wrapper .picker_hue .picker_selector{transform:translate(-50%,0);top:-1px}.fpd-container .picker_wrapper .picker_editor{width:auto;flex:0 80%;max-width:100px;margin-bottom:0}.fpd-container .picker_wrapper .picker_editor input{font-size:16px;height:28px;box-shadow:none!important;border:1px solid var(--fpd-border-color);margin-bottom:0}.fpd-container .picker_wrapper .picker_sample{height:28px;cursor:pointer;text-align:center;flex:0 30px;margin-bottom:0}.fpd-container .picker_wrapper .picker_sample:before{border-radius:var(--fpd-border-radius);border:1px solid var(--fpd-border-color)}.fpd-container .picker_wrapper .picker_sample span{position:relative;display:inline-block;margin-top:3px;font-size:16px;color:#fff;text-shadow:0 0 #000}.fpd-container .picker_wrapper .picker_arrow,.fpd-container .picker_wrapper .picker_done{display:none}.fpd-container .fpd-colorpicker-wrapper{position:relative;padding:0 10px;width:100%}.fpd-container .fpd-colorpicker-wrapper .fpd-scroll-area{max-height:100px;overflow-x:hidden;margin-top:10px}.fpd-container .fpd-color-palette,.fpd-container .fpd-patterns-wrapper{display:flex;flex-wrap:wrap;gap:6px}.fpd-container .fpd-color-palette .fpd-item,.fpd-container .fpd-patterns-wrapper .fpd-item{width:24px;height:24px;border:2px solid rgba(0,0,0,.1);border-radius:var(--fpd-border-radius);transition:all .2s ease;background-repeat:repeat;cursor:pointer}.fpd-container .fpd-color-palette .fpd-item:hover,.fpd-container .fpd-patterns-wrapper .fpd-item:hover{border-color:rgba(0,0,0,.2)}.fpd-container .fpd-color-palette.fpd-sub-show>.fpd-item,.fpd-container .fpd-patterns-wrapper.fpd-sub-show>.fpd-item{scale:.7}.fpd-container .fpd-color-palette.fpd-sub-show>.fpd-item.fpd-active,.fpd-container .fpd-patterns-wrapper.fpd-sub-show>.fpd-item.fpd-active{scale:1}.fpd-container .fpd-has-subpanel>.fpd-color-palette>.fpd-scroll-area{margin-top:5px;flex:1 1 100%}.fpd-main-tooltip{position:fixed;background:var(--fpd-tooltip-bg-color);color:#fff;padding:5px;font-size:14px;min-width:30px;top:0;left:0;border-radius:var(--fpd-border-radius);pointer-events:none;transform:scale(0);opacity:0;z-index:10000000000;visibility:hidden;transition:transform .1s ease}.fpd-main-tooltip.fpd-show{visibility:visible;opacity:1;transform:scale(1)}.fpd-thumbnail-preview{width:350px;height:250px;padding:10px;border-width:1px;background:#fff;position:absolute;top:0;left:0;z-index:9999999999999;border-radius:var(--fpd-border-radius)}.fpd-thumbnail-preview.fpd-title-enabled{padding-bottom:30px}.fpd-thumbnail-preview>picture{display:block;width:100%;height:100%;background-size:contain;background-repeat:no-repeat;background-position:top center}.fpd-thumbnail-preview>.fpd-preview-title{position:absolute;left:0;bottom:5px;width:100%;font-size:14px;text-align:center;margin-top:30px}.fpd-thumbnail-preview>.fpd-price{background:rgba(0,0,0,.7);position:absolute;right:20px;top:15px;padding:2px 5px 2px 7px;font-size:12px;color:#fff;border-radius:var(--fpd-border-radius)}.fpd-thumbnail-preview>.fpd-image-quality-ratings{background:rgba(0,0,0,.7);position:absolute;left:20px;top:15px;border-radius:4px;padding:2px 5px;color:#fff;text-align:left}.fpd-thumbnail-preview>.fpd-image-quality-ratings>span{font-size:18px;color:var(--fpd-image-quality-start-color)}.fpd-thumbnail-preview>.fpd-image-quality-ratings>.fpd-image-quality-rating-label{color:#fff;display:block;padding-top:2px;font-size:10px;text-transform:uppercase}.fpd-editor-box-wrapper{margin:20px 0;background:rgba(0,0,0,.05);padding:10px}.fpd-editor-box-wrapper .fpd-eb-title{font-size:16px;margin-bottom:10px}.fpd-editor-box-wrapper .fpd-eb-grid{display:flex;flex-flow:row wrap}.fpd-editor-box-wrapper .fpd-eb-grid>div{flex:1 0 50%;padding:0 10px 0 0}.fpd-editor-box-wrapper .fpd-eb-grid>div span{text-transform:uppercase}.fpd-dragged-image{position:absolute;background-size:90%;background-repeat:no-repeat;background-position:center;background-color:#fff;width:200px;height:200px;top:0;left:0;cursor:move;transition:transform .1s ease-in-out;transform-origin:center center;transform:scale(0);z-index:100000000000;pointer-events:none}.fpd-dragged-image.fpd-animate{transform:scale(1)}.fpd-container input.fpd-switch{appearance:none;background-color:var(--fpd-light-grey-color)!important;border-radius:70px;border-style:none;height:20px;margin:0;position:relative;width:35px;box-shadow:none;cursor:pointer}.fpd-container input.fpd-switch:before{bottom:-6px;content:"";left:-6px;position:absolute;right:-6px;top:-6px}.fpd-container input.fpd-switch:after{background-color:#fff;border-radius:50%;content:"";height:14px;left:3px;position:absolute;top:3px;width:14px;transition:all .1s ease-out}.fpd-container input.fpd-switch:hover{opacity:.9;transition-duration:0s}.fpd-container input.fpd-switch:checked{background-color:var(--fpd-secondary-color)!important}.fpd-container input.fpd-switch:checked:after{background-color:#fff;left:18px}.fpd-container .fpd-switch-wrapper{display:flex;justify-content:center}.fpd-container .fpd-switch-wrapper label{margin-left:10px}.fpd-container .fpd-grid{overflow:hidden;display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:100px;gap:0 0}.fpd-container .fpd-grid>.fpd-item{cursor:pointer;display:flex;align-items:center;justify-content:center;flex-flow:column;position:relative}.fpd-container .fpd-grid>.fpd-item>img,.fpd-container .fpd-grid>.fpd-item>picture{opacity:1;transition:opacity .3s ease-out;pointer-events:none}.fpd-container .fpd-grid>.fpd-item:hover>img,.fpd-container .fpd-grid>.fpd-item:hover>picture{opacity:.8}.fpd-container .fpd-grid>.fpd-item>picture{width:90%;height:90%;background-position:center center;background-repeat:no-repeat}.fpd-container .fpd-grid>.fpd-item>.fpd-delete{position:absolute;font-size:18px;top:5px;right:5px;cursor:pointer}.fpd-container .fpd-grid>.fpd-item>.fpd-price{position:absolute;right:5px;bottom:5px;background:rgba(0,0,0,.7);color:#fff;font-size:10px;line-height:1;padding:3px 4px;border-radius:2px}.fpd-container .fpd-grid>.fpd-item.fpd-loading picture{filter:blur(2px)}.fpd-container .fpd-grid.fpd-grid-cover>.fpd-item>picture{background-size:cover}.fpd-container .fpd-grid.fpd-grid-contain>.fpd-item>picture{background-size:contain}.fpd-container .fpd-grid.fpd-photo-grid{gap:6px}.fpd-container .fpd-grid.fpd-photo-grid>.fpd-item>picture{width:100%;height:100%;border-radius:var(--fpd-border-radius)}.fpd-container .fpd-grid.fpd-padding{gap:5px}.fpd-container .fpd-grid>.fpd-category.fpd-item{background:var(--fpd-module-secondary-color);color:var(--fpd-module-secondary-text-color);height:100px!important;border-radius:2px}.fpd-container .fpd-grid>.fpd-category.fpd-item:nth-child(-n+2){margin-top:0}.fpd-container .fpd-grid>.fpd-category.fpd-item:nth-child(2n+2){margin-right:0}.fpd-container .fpd-grid>.fpd-category.fpd-item>picture{height:55%}.fpd-container .fpd-grid>.fpd-category.fpd-item>span{text-transform:uppercase;margin-top:5px;font-size:10px;text-align:center;width:100%;white-space:nowrap}.fpd-container .fpd-grid>.fpd-category.fpd-item.fpd-title-centered>span{bottom:50%;font-size:14px;white-space:normal;transform:translateY(50%)}.fpd-grid>.fpd-item>picture.fpd-on-loading,.fpd-thumbnail-preview picture.fpd-on-loading{width:30px!important;height:30px!important;background-size:auto;background-image:var(--fpd-loading-svg)}.fpd-shadow-1{box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12)}.fpd-shadow-2{box-shadow:0 8px 17px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19)}.fpd-shadow-3{box-shadow:0 12px 15px 0 rgba(0,0,0,.24),0 17px 50px 0 rgba(0,0,0,.19)}.fpd-shadow-4{box-shadow:0 16px 28px 0 rgba(0,0,0,.22),0 25px 55px 0 rgba(0,0,0,.21)}.fpd-shadow-5{box-shadow:0 27px 24px 0 rgba(0,0,0,.2),0 40px 77px 0 rgba(0,0,0,.22)}.fpd-shadow-6:after,.fpd-shadow-6:before{z-index:-1;position:absolute;content:"";bottom:15px;left:10px;width:50%;top:80%;max-width:300px;background:#777;box-shadow:0 15px 10px #777;transform:rotate(-3deg)}.fpd-shadow-6:after{transform:rotate(3deg);right:10px;left:auto}.fpd-shadow-7{position:relative;box-shadow:0 1px 4px rgba(0,0,0,.3),0 0 40px rgba(0,0,0,.1) inset}.fpd-shadow-7:after,.fpd-shadow-7:before{content:"";position:absolute;z-index:-1;box-shadow:0 0 20px rgba(0,0,0,.8);top:50%;bottom:0;left:10px;right:10px;border-radius:100px/10px}.fpd-shadow-8{position:relative;box-shadow:0 1px 4px rgba(0,0,0,.3),0 0 40px rgba(0,0,0,.1) inset}.fpd-shadow-8:after,.fpd-shadow-8:before{content:"";position:absolute;z-index:-1;box-shadow:0 0 20px rgba(0,0,0,.8);top:0;bottom:0;left:10px;right:10px;border-radius:100px/10px}.fpd-shadow-8:after{right:10px;left:auto;transform:skew(8deg) rotate(3deg)}.fpd-shadow-9{box-shadow:0 1px 4px rgba(0,0,0,.3),0 0 40px rgba(0,0,0,.1) inset}.fpd-shadow-9:after,.fpd-shadow-9:before{content:"";position:absolute;z-index:-1;box-shadow:0 0 20px rgba(0,0,0,.8);top:10px;bottom:10px;left:0;right:0;border-radius:100px/10px}.fpd-shadow-9:after{right:10px;left:auto;transform:skew(8deg) rotate(3deg)}.mobile-close{display:none;width:100%;font-size:18px;text-align:center;position:absolute;top:0;right:0;left:auto;bottom:auto;height:30px;line-height:30px;background:var(--fpd-primary-fg-color);z-index:1000;cursor:pointer;border-top-left-radius:8px;border-top-right-radius:8px;box-shadow:none;border:none}.mobile-close:before{content:"";position:absolute;height:4px;width:60px;background:var(--fpd-border-color);top:10px;left:50%;transform:translateX(-50%);border-radius:2px}.mobile-close .fpd-icon-close{display:none}fpd-main-bar{display:flex;position:relative;background:var(--fpd-primary-fg-color)}fpd-main-bar>.fpd-close{display:none;position:absolute;bottom:calc(var(--fpd-topbar-nav-height));left:-100%;width:50px;height:50px;padding:0 15px;line-height:50px;text-align:center;font-size:16px;background:rgba(255,255,255,.96);z-index:99;cursor:pointer;border-top:1px solid var(--fpd-border-color);border-right:1px solid var(--fpd-border-color);border-radius:0 4px 0 0;box-shadow:1px 1px 3px 0 rgba(0,0,0,.1)}fpd-main-bar .fpd-navigation>.fpd-nav-item{display:flex;align-items:center;margin:15px 7px;padding:5px;text-align:center;cursor:pointer;border-radius:var(--fpd-border-radius);background:0 0;transition:all .3s ease}fpd-main-bar .fpd-navigation>.fpd-nav-item .fpd-nav-icon:before{color:var(--fpd-mainbar-nav-color)}fpd-main-bar .fpd-navigation>.fpd-nav-item svg{width:24px;max-height:30px;vertical-align:middle}fpd-main-bar .fpd-navigation>.fpd-nav-item svg *{fill:var(--fpd-mainbar-nav-color)}fpd-main-bar .fpd-navigation>.fpd-nav-item:hover{opacity:.8}fpd-main-bar .fpd-navigation>.fpd-nav-item.fpd-active{position:relative;color:var(--fpd-secondary-color)}fpd-main-bar .fpd-navigation>.fpd-nav-item.fpd-active .fpd-nav-icon:before{color:var(--fpd-secondary-color)}fpd-main-bar .fpd-navigation>.fpd-nav-item.fpd-active svg *{fill:var(--fpd-secondary-color)}fpd-main-bar .fpd-navigation>.fpd-nav-item.fpd-active:before{position:absolute;content:'';top:0;left:0;width:100%;height:100%;background:var(--fpd-secondary-color);opacity:.1;border-radius:var(--fpd-border-radius)}.fpd-container.fpd-sidebar .fpd-navigation{flex:0 0 var(--fpd-sidebar-nav-width);overflow:auto}.fpd-container.fpd-sidebar .fpd-navigation>div>span{padding:10px 0;display:inline-block;font-size:28px}.fpd-container.fpd-sidebar .fpd-navigation>div>.fpd-label{display:block;font-size:12px;line-height:14px;padding:0;word-break:break-word}.fpd-container.fpd-sidebar>fpd-main-bar{height:100%;flex:0 var(--fpd-sidebar-width);overflow:hidden;border-right:1px solid var(--fpd-border-color)}.fpd-container.fpd-sidebar>fpd-main-bar .fpd-navigation{border-right:1px solid var(--fpd-border-color)}.fpd-container.fpd-sidebar>fpd-main-bar .fpd-navigation>.fpd-nav-item{flex-direction:column}.fpd-container.fpd-sidebar>fpd-main-bar>.fpd-module-content{flex:1}.fpd-container.fpd-sidebar.fpd-layout-medium{--fpd-sidebar-width:350px}.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-wrapper{order:2;flex-basis:100%}.fpd-container.fpd-sidebar.fpd-layout-small:not(.fpd-no-modules-mode) fpd-main-wrapper{margin-bottom:var(--fpd-sidebar-nav-width)}.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-bar{height:auto!important;width:100%;flex-basis:auto;flex-flow:row wrap;z-index:999999999999;position:absolute;left:0;bottom:0;overflow:visible;border:none}.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-bar>.fpd-navigation{display:flex;flex:1 0 100%;height:var(--fpd-sidebar-nav-width);min-height:auto;order:2;align-self:flex-end;border-right:none;border-top:1px solid var(--fpd-border-color)}.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-bar>.fpd-navigation>.fpd-nav-item{flex:1 0 auto;white-space:nowrap;padding:0 20px;margin:5px 5px 8px}.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-bar>.fpd-navigation>.fpd-nav-item>span:first-child{height:45px;padding-top:10px;padding-bottom:0}.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-bar>.fpd-navigation>.fpd-nav-item .fpd-label{line-height:1}.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-bar>.fpd-module-content,.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-bar>.fpd-secondary-content{padding-top:30px;flex:1 0 100%;height:calc(100% - var(--fpd-sidebar-nav-width));min-height:auto;display:none}.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-bar>.fpd-close{display:none;width:100%;font-size:18px;text-align:center;position:absolute;top:0;right:0;left:auto;bottom:auto;height:30px;line-height:30px;background:var(--fpd-primary-fg-color);z-index:1000;cursor:pointer;border-top-left-radius:8px;border-top-right-radius:8px;box-shadow:none;border:none}.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-bar>.fpd-close:before{content:"";position:absolute;height:4px;width:60px;background:var(--fpd-border-color);top:10px;left:50%;transform:translateX(-50%);border-radius:2px}.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-bar>.fpd-close .fpd-icon-close{display:none}.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-bar:not(.fpd-no-modules-mode) .fpd-secondary-content{height:100%}.fpd-container.fpd-sidebar.fpd-layout-small.fpd-module-visible fpd-main-bar,.fpd-container.fpd-sidebar.fpd-layout-small.fpd-secondary-visible fpd-main-bar{height:100%!important}.fpd-container.fpd-sidebar.fpd-layout-small.fpd-module-visible .fpd-module-content{display:block!important}.fpd-container.fpd-sidebar.fpd-secondary-visible .fpd-secondary-content{display:block!important}.fpd-off-canvas fpd-main-bar,.fpd-topbar fpd-main-bar{flex-basis:100%;order:2;height:auto!important}.fpd-off-canvas fpd-main-bar .fpd-navigation,.fpd-topbar fpd-main-bar .fpd-navigation{display:flex;flex-wrap:wrap;flex-direction:column;flex-basis:100%;height:var(--fpd-topbar-nav-height);padding:5px;overflow-x:auto;border-bottom:1px solid var(--fpd-border-color)}.fpd-off-canvas fpd-main-bar .fpd-navigation>div,.fpd-topbar fpd-main-bar .fpd-navigation>div{height:100%;padding:0 20px;margin:0;white-space:nowrap;flex-grow:1;flex-basis:auto}.fpd-off-canvas fpd-main-bar .fpd-navigation>div>span,.fpd-topbar fpd-main-bar .fpd-navigation>div>span{line-height:65px;font-size:26px}.fpd-off-canvas fpd-main-bar .fpd-navigation>div>.fpd-label,.fpd-topbar fpd-main-bar .fpd-navigation>div>.fpd-label{font-size:15px;padding-left:10px;vertical-align:top;text-transform:uppercase;white-space:nowrap}.fpd-off-canvas fpd-main-bar>.fpd-module-content,.fpd-topbar fpd-main-bar>.fpd-module-content{display:none}.fpd-topbar fpd-main-bar>.fpd-close{display:none!important}.fpd-off-canvas{overflow:hidden}.fpd-off-canvas fpd-main-bar{order:3}.fpd-off-canvas fpd-main-bar>.fpd-close{display:block}.fpd-off-canvas fpd-main-bar .fpd-navigation{border-top:1px solid var(--fpd-border-color)}.fpd-off-canvas fpd-main-bar .fpd-module-content,.fpd-off-canvas fpd-main-bar .fpd-secondary-content{height:var(--fpd-content-height);width:var(--fpd-off-canvas-width);left:calc(-2 * var(--fpd-off-canvas-width));bottom:var(--fpd-topbar-nav-height);border-right:1px solid var(--fpd-border-color);position:absolute;display:block;z-index:100;background:rgba(255,255,255,.96);box-shadow:2px 0 8px 0 rgba(0,0,0,.1)}.fpd-off-canvas fpd-main-bar.fpd-show .fpd-module-content{left:0}.fpd-off-canvas fpd-main-bar.fpd-show>.fpd-close{left:var(--fpd-off-canvas-width);margin-left:-1px}.fpd-off-canvas fpd-main-bar:not(.fpd-is-dragging) .fpd-close,.fpd-off-canvas fpd-main-bar:not(.fpd-is-dragging) .fpd-module-content{transition:left .3s cubic-bezier(.215,.61,.355,1)}.fpd-off-canvas.fpd-secondary-visible fpd-main-bar .fpd-secondary-content{left:0}.fpd-off-canvas.fpd-secondary-visible fpd-main-bar>.fpd-close{left:var(--fpd-off-canvas-width);margin-left:-1px}.fpd-off-canvas.fpd-layout-small fpd-main-bar .fpd-close{width:40px;height:40px;line-height:40px;font-size:12px;padding:0}.fpd-off-canvas.fpd-layout-small fpd-main-bar .fpd-module-content{border:none}.fpd-module-content>*{height:100%;display:none}.fpd-module-content>*>div{height:100%;display:flex;flex-flow:column}.fpd-module-content>.fpd-active{display:block}.fpd-draggable-dialog{display:none;width:350px;height:450px;background:var(--fpd-primary-fg-color);position:fixed!important;left:calc(50% - 175px);top:calc(45% - 200px);min-width:200px;min-height:100px;z-index:1000000;border-radius:2px;max-width:100%;overflow:hidden;border-radius:6px}.fpd-draggable-dialog.fpd-show{display:flex;flex-flow:column nowrap}.fpd-draggable-dialog>.fpd-dialog-head{background:var(--fpd-primary-color);color:var(--fpd-primary-fg-color);display:flex;align-items:center;height:40px;font-size:15px;padding:0 0 0 12px;cursor:move;overflow:hidden;white-space:nowrap}.fpd-draggable-dialog>.fpd-dialog-head>.fpd-dialog-drag-handle{flex:1;overflow:hidden}.fpd-draggable-dialog>.fpd-dialog-head>.fpd-dialog-drag-handle .fpd-dialog-title{margin-left:6px;text-transform:uppercase}.fpd-draggable-dialog>.fpd-dialog-head>.fpd-close-dialog{font-size:14px;padding:0 12px;text-align:right;cursor:pointer;opacity:.8;transition:opacity .2s ease-out}.fpd-draggable-dialog>.fpd-dialog-head>.fpd-close-dialog:hover{opacity:1}.fpd-draggable-dialog>.fpd-module-content{flex:1;height:100%;overflow:hidden}.fpd-draggable-dialog.fpd-secondary-visible>.fpd-module-content{display:none}.fpd-draggable-dialog.fpd-secondary-visible>.fpd-secondary-content{display:block;overflow:hidden}.fpd-wrapper.fpd-module-visible.fpd-layout-small fpd-main-bar .fpd-close,.fpd-wrapper.fpd-module-visible.fpd-off-canvas fpd-main-bar .fpd-close,.fpd-wrapper.fpd-secondary-visible.fpd-layout-small fpd-main-bar .fpd-close,.fpd-wrapper.fpd-secondary-visible.fpd-off-canvas fpd-main-bar .fpd-close{display:block}.fpd-wrapper.fpd-secondary-visible fpd-main-bar .fpd-module-content{display:none!important}.fpd-wrapper.fpd-products-module-hidden .fpd-navigation .fpd-nav-item[data-module=products]{display:none!important}.fpd-wrapper.fpd-no-modules-mode fpd-main-bar .fpd-navigation,.fpd-wrapper.fpd-one-module-mode:not(.fpd-layout-small) fpd-main-bar .fpd-navigation{display:none!important}.fpd-secondary-content{display:none;flex:1}.fpd-secondary-content>*{display:none}.fpd-secondary-content>.fpd-active{display:block}.fpd-secondary-content .fpd-upload-zone-panel{display:flex;flex-flow:column;height:100%}.fpd-secondary-content .fpd-upload-zone-panel>.fpd-upload-zone-content{flex-basis:100%;overflow:hidden}.fpd-secondary-content .fpd-upload-zone-panel>.fpd-upload-zone-content>*{height:100%;display:none}.fpd-secondary-content .fpd-upload-zone-panel>.fpd-upload-zone-content>.fpd-active{display:block}.fpd-secondary-content .fpd-upload-zone-panel>.fpd-upload-zone-content>*>div{height:100%;display:flex;flex-flow:column}.fpd-secondary-content .fpd-upload-zone-panel>.fpd-bottom-nav>div{padding:11px;font-size:22px}.fpd-no-modules-mode.fpd-off-canvas .fpd-secondary-content{bottom:0}.fpd-container.fpd-main-bar-container fpd-main-bar{min-height:500px!important;min-width:300px;width:400px;border:1px solid var(--fpd-border-color);margin:20px 0}.fpd-main-bar-container-enabled fpd-main-wrapper{flex-basis:100%!important}.fpd-modal-mode-active .fpd-wrapper.fpd-layout-small fpd-main-bar{padding-bottom:env(safe-area-inset-bottom)}.fpd-container fpd-actions-bar{background:var(--fpd-actions-bar-bg-color);height:var(--fpd-actions-bar-height);flex:1 100%;display:flex;flex-flow:row nowrap;color:var(--fpd-primary-fg-color);align-items:center;padding:0 5px;justify-content:space-between}.fpd-container fpd-actions-bar>div{flex:1;font-size:16px;white-space:nowrap;max-width:33%;height:100%}.fpd-container fpd-actions-bar>div>.fpd-btn span{margin-left:5px}.fpd-container fpd-actions-bar>[data-pos=center] fpd-actions-menu>div{left:50%;transform:translateX(-50%)}.fpd-container fpd-actions-bar>[data-pos=center] .fpd-btn span{display:none}.fpd-container fpd-actions-bar>[data-pos=center] .fpd-switch{display:none}.fpd-container fpd-actions-bar>[data-pos=right] fpd-actions-menu>div{right:0;left:auto}.fpd-container fpd-actions-bar>[data-pos=right] fpd-actions-menu .fpd-dropdown-menu{text-align:left;right:0;left:auto}.fpd-container fpd-actions-bar>[data-pos=modal]{display:none}.fpd-container fpd-actions-bar fpd-actions-menu{display:flex;justify-content:center;max-width:100%;height:100%;position:relative}.fpd-container fpd-actions-bar fpd-actions-menu .fpd-collapsed-menu,.fpd-container fpd-actions-bar fpd-actions-menu .fpd-uncollapsed-menu{position:absolute;top:0;left:0;height:100%;display:flex}.fpd-container fpd-actions-bar fpd-actions-menu .fpd-uncollapsed-menu{max-width:none;white-space:nowrap;align-items:center;justify-content:center}.fpd-container fpd-actions-bar fpd-actions-menu .fpd-uncollapsed-menu .fpd-btn span{font-size:14px;margin-left:10px}.fpd-container fpd-actions-bar fpd-actions-menu .fpd-uncollapsed-menu .fpd-btn .fpd-switch{display:none}.fpd-container fpd-actions-bar fpd-actions-menu .fpd-collapsed-menu{align-items:center}.fpd-container fpd-actions-bar .fpd-btn,.fpd-container fpd-actions-bar .fpd-dropdown-btn{display:inline-block;position:relative;cursor:pointer;padding:7px 12px;margin:0 0 0 5px;border-radius:var(--fpd-border-radius);line-height:1;text-transform:capitalize;background:0 0}.fpd-container fpd-actions-bar .fpd-btn:hover,.fpd-container fpd-actions-bar .fpd-dropdown-btn:hover{opacity:1;background:rgba(255,255,255,.05)}.fpd-container fpd-actions-bar .fpd-btn>*,.fpd-container fpd-actions-bar .fpd-dropdown-btn>*{pointer-events:none;line-height:1;vertical-align:middle}.fpd-container fpd-actions-bar .fpd-btn.fpd-btn-fill,.fpd-container fpd-actions-bar .fpd-dropdown-btn.fpd-btn-fill{background:rgba(255,255,255,.1)}.fpd-container fpd-actions-bar .fpd-btn.fpd-btn-fill>span,.fpd-container fpd-actions-bar .fpd-dropdown-btn.fpd-btn-fill>span{display:inline-flex}.fpd-container fpd-actions-bar .fpd-btn{font-size:18px}.fpd-container fpd-actions-bar .fpd-dropdown-menu{display:none;position:absolute;top:100%;left:0;min-width:max-content;z-index:10000;background:#fff;border-radius:var(--fpd-border-radius);transform:translateY(5px);padding:5px 0}.fpd-container fpd-actions-bar .fpd-dropdown-menu>.fpd-btn{display:flex;color:var(--fpd-text-color);min-width:150px;margin:5px 10px;font-size:16px;padding:0;border-radius:var(--fpd-border-radius)}.fpd-container fpd-actions-bar .fpd-dropdown-menu>.fpd-btn:hover{background:rgba(0,0,0,.05)}.fpd-container fpd-actions-bar .fpd-dropdown-menu>.fpd-btn>*{pointer-events:auto;margin:10px}.fpd-container fpd-actions-bar .fpd-dropdown-menu>.fpd-btn>i{flex:0;margin-right:0}.fpd-container fpd-actions-bar .fpd-dropdown-menu>.fpd-btn>span{flex:1}.fpd-container fpd-actions-bar .fpd-dropdown-menu>.fpd-btn>.fpd-switch{margin-left:40px}.fpd-container fpd-actions-bar .fpd-dropdown-menu.fpd-show{display:block}.fpd-off-canvas fpd-actions-bar,.fpd-topbar fpd-actions-bar{order:1;display:flex}.fpd-off-canvas fpd-actions-bar{order:1!important}.fpd-container .fpd-modal-download>span{font-size:60px;cursor:pointer}.fpd-container .fpd-zoom-wrapper{display:flex;width:150px;background:#fff;border-radius:var(--fpd-border-radius);position:absolute;left:50%;top:10px;transform:translate(-50%,50%);padding:10px;z-index:10}.fpd-container .fpd-zoom-wrapper>.fpd-stage-pan{margin-left:10px;font-size:14px;cursor:pointer}.fpd-container .fpd-zoom-wrapper>.fpd-stage-pan.fpd-active{color:var(--fpd-secondary-color)}.fpd-container .fpd-zoom-wrapper>.fpd-close{display:flex;align-items:center;position:absolute;right:0;top:4px;transform:translateY(-100%);background:#fff;padding:2px 10px;z-index:1;border-radius:var(--fpd-border-radius) var(--fpd-border-radius) 0 0;border:1px solid var(--fpd-border-color);border-bottom:none;cursor:pointer;font-size:10px}.fpd-container .fpd-zoom-wrapper>.fpd-close:hover>*{font-weight:700}.fpd-modal-product-designer fpd-actions-bar{justify-content:stretch}.fpd-modal-product-designer fpd-actions-bar [data-pos=right]{margin-left:auto}.fpd-modal-product-designer fpd-actions-bar [data-pos=modal]{flex:0;text-align:right;display:flex!important;padding:5px;align-items:center}.fpd-modal-product-designer fpd-actions-bar .fpd-total-price{line-height:20px;font-size:15px;display:inline-block!important}.fpd-modal-product-designer .fpd-wrapper.fpd-layout-small [data-pos=right] .fpd-dropdown-menu{transform:translate(50%,5px)}.fpd-wrapper.fpd-layout-small fpd-actions-bar{gap:2px}.fpd-wrapper.fpd-layout-small fpd-actions-bar>div{max-width:none}.fpd-wrapper.fpd-layout-small fpd-actions-bar .fpd-dropdown-btn>span{display:none}.fpd-wrapper.fpd-layout-small fpd-actions-bar [data-pos=left],.fpd-wrapper.fpd-layout-small fpd-actions-bar [data-pos=right]{max-width:45px}.fpd-wrapper.fpd-layout-small fpd-actions-bar [data-pos=modal]>.fpd-btn.fpd-done .fpd-label{display:none}.fpd-wrapper.fpd-layout-small fpd-actions-bar [data-pos=modal]>.fpd-btn.fpd-done i{font-size:14px}.fpd-wrapper.fpd-layout-small fpd-actions-bar [data-pos=modal]>.fpd-btn.fpd-close:last-child{padding-left:6px;padding-right:0;font-size:16px}.fpd-wrapper.fpd-off-canvas>fpd-main-wrapper,.fpd-wrapper.fpd-topbar>fpd-main-wrapper{flex-basis:100%}.fpd-wrapper.fpd-off-canvas>fpd-main-wrapper{order:2!important}.fpd-wrapper>fpd-main-wrapper{display:flex;overflow:hidden;flex:1 0;min-height:400px;background:var(--fpd-canvas-bg);transition:opacity .3s ease-out;order:3;position:relative}.fpd-wrapper>fpd-main-wrapper .fpd-product-stage{display:flex;justify-content:center;align-items:center;position:relative;direction:ltr;max-height:100%;margin:auto;width:100%}.fpd-wrapper>fpd-main-wrapper .fpd-product-stage>.fpd-view-stage{background:rgba(255,255,255,.7);height:100%}.fpd-wrapper>fpd-main-wrapper .fpd-product-stage>.fpd-view-stage textarea{left:-10000px!important;top:50%!important}.fpd-wrapper>fpd-main-wrapper .fpd-product-stage>.fpd-zoom-image{position:absolute;top:0;left:0;max-width:100%}.fpd-wrapper>fpd-main-wrapper.fpd-drag canvas{cursor:grab!important}.fpd-wrapper>fpd-main-wrapper>.fpd-warnings{position:absolute;width:90%;left:5%;top:20px;font-size:14px}.fpd-wrapper>fpd-main-wrapper>.fpd-warnings>.fpd-size-warning{display:flex;flex-direction:row;padding:12px;background:var(--fpd-yellow-color);color:var(--fpd-yellow-contrast-color);border-radius:var(--fpd-border-radius);border:1px solid var(--fpd-yellow-contrast-color);box-shadow:0 0 6px rgba(0,0,0,.1);justify-content:space-between;gap:10px}.fpd-wrapper>fpd-main-wrapper>.fpd-warnings>.fpd-size-warning .fpd-btn{background-color:#3f3f3f;margin:0;white-space:nowrap;max-height:35px}.fpd-wrapper>fpd-main-wrapper>.fpd-advanced-image-editor{width:100%;height:100%;position:absolute;left:0;top:0;background:#fff;z-index:100}.fpd-wrapper>fpd-main-wrapper>.fpd-advanced-image-editor .fpd-close{position:absolute;right:10px;top:10px;font-size:16px;z-index:1000;cursor:pointer;opacity:.6}.fpd-wrapper>fpd-main-wrapper>.fpd-advanced-image-editor .fpd-close:hover{opacity:1}.fpd-wrapper>fpd-main-wrapper>.fpd-advanced-image-editor .fpd-done{position:absolute;background:var(--fpd-secondary-color);color:var(--fpd-secondary-fg-color);border-radius:var(--fpd-border-radius);padding:6px 12px;right:10px;bottom:10px;font-size:16px;z-index:1000;cursor:pointer}.fpd-wrapper.fpd-layout-small .fpd-size-warning{flex-direction:column!important}.fpd-wrapper.fpd-layout-small .fpd-size-warning .fpd-btn{justify-content:center}.fpd-container fpd-views-nav{position:absolute;z-index:20;display:flex;align-items:center;gap:4px 8px;bottom:calc(10px + env(safe-area-inset-bottom));right:10px;background:#fff;box-shadow:0 0 10px rgba(110,111,114,.22);border-radius:var(--fpd-border-radius);min-height:35px;flex-wrap:wrap;justify-content:center;max-width:160px}.fpd-container fpd-views-nav>.fpd-view-locker{font-size:20px;cursor:pointer;margin-left:5px}.fpd-container fpd-views-nav>.fpd-view-locker .fpd-icon-locked{color:var(--fpd-secondary-color)}.fpd-container fpd-views-nav>.fpd-view-next,.fpd-container fpd-views-nav>.fpd-view-prev{display:flex;align-items:center;justify-content:center;width:30px;height:30px;font-size:18px;border-radius:50%;text-align:center;cursor:pointer;transform-origin:center center}.fpd-container fpd-views-nav>.fpd-view-next:hover,.fpd-container fpd-views-nav>.fpd-view-prev:hover{color:var(--fpd-secondary-color)}.fpd-container fpd-views-nav>.fpd-view-prev{rotate:-180deg}.fpd-container fpd-views-nav>.fpd-show-views-grid{display:flex;align-items:center;justify-content:center;cursor:pointer;line-height:1}.fpd-container fpd-views-nav>.fpd-show-views-grid>.fpd-icon-pages{font-size:18px;margin-right:4px}.fpd-container fpd-views-nav>.fpd-show-views-grid>.fpd-current-view{font-size:16px;margin-right:2px;padding-top:2px}.fpd-container fpd-views-nav>.fpd-show-views-grid>.fpd-total-views{display:inline-block;padding:4px 0;text-align:center;color:var(--fpd-dark-grey-color);font-size:12px}.fpd-container fpd-views-nav>.fpd-show-views-grid>.fpd-total-views:before{content:"/"}.fpd-container fpd-views-nav>.fpd-view-edit-size{display:flex;flex-direction:row;flex:1 1 100%;width:50px;border-bottom:1px solid var(--fpd-border-color)}.fpd-container fpd-views-nav>.fpd-view-edit-size .fpd-input{box-shadow:none;border-radius:0;border:none;height:100%}.fpd-container fpd-views-nav>.fpd-view-edit-size .fpd-input:first-child{border-top-left-radius:var(--fpd-border-radius)}.fpd-container fpd-views-nav>.fpd-view-edit-size .fpd-input>span{background:var(--fpd-border-color);padding:6px 6px}.fpd-container fpd-views-nav>.fpd-view-edit-size .fpd-input>input{padding:0;height:auto}.fpd-views-inside-left fpd-views-nav{left:10px;right:auto}.fpd-container fpd-views-grid{display:none;position:absolute;top:0;left:0;background:var(--fpd-light-bg-color);z-index:1000;flex-flow:column wrap}.fpd-container fpd-views-grid.fpd-show{display:flex}.fpd-container fpd-views-grid>.fpd-head{position:relative;min-height:40px}.fpd-container fpd-views-grid>.fpd-head>.fpd-btn{display:none}.fpd-container fpd-views-grid .fpd-grid{gap:35px 20px;display:flex;flex-flow:row wrap;padding:10px}.fpd-container fpd-views-grid .fpd-grid>.fpd-item{background:#fff;flex:1 0 45%;max-width:150px;height:150px;border-radius:var(--fpd-border-radius);overflow:hidden;padding:5px;cursor:default}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>picture{background-size:contain;margin:20px 0 5px;pointer-events:all;cursor:pointer}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>span{white-space:nowrap;display:block;overflow:hidden;font-size:12px}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-sort{position:absolute;left:5px;top:5px;font-size:18px;cursor:move}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-sort>*{pointer-events:none}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-options{position:absolute;top:5px;right:5px;padding:0 6px 2px;font-size:18px;line-height:1;cursor:pointer}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-options:hover{opacity:1}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-options>.fpd-dropdown-menu{position:absolute;display:none;flex-flow:column nowrap;text-align:right;top:100%;right:0;min-width:max-content;z-index:1000;background:#fff;color:var(--fpd-text-color);border-radius:var(--fpd-border-radius);transform:translateY(5px);padding:6px}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-options>.fpd-dropdown-menu>span{padding:4px;font-size:13px;min-width:90px;border-radius:4px}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-options>.fpd-dropdown-menu>span:hover{background:var(--fpd-light-bg-color)}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-options>.fpd-dropdown-menu.fpd-show{display:flex}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-edit-size-overlay{background:rgba(255,255,255,.98);position:absolute;width:100%;height:100%;display:none;flex-flow:row wrap;justify-content:center;align-items:center;padding:20px;gap:10px}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-edit-size-overlay>input{width:100%;background:#fff!important;margin:0;text-align:center;padding:7px}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-edit-size-overlay>.fpd-btn{display:inline-flex;width:min-content;margin:0;padding:3px 8px;font-size:12px;line-height:1}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-edit-size-overlay.fpd-show{display:flex}.fpd-container fpd-views-grid .fpd-grid>.fpd-item:first-child .fpd-dropdown-menu [data-option=delete]{display:none}.fpd-container fpd-views-grid .fpd-blank-page-modal,.fpd-container fpd-views-grid .fpd-layouts-modal{position:absolute;left:10px;top:10px;right:10px;bottom:10px;background:#fff;margin:10px;display:flex;flex-flow:column wrap;border-radius:var(--fpd-border-radius)}.fpd-container fpd-views-grid .fpd-blank-page-modal>.fpd-head,.fpd-container fpd-views-grid .fpd-layouts-modal>.fpd-head{position:relative;min-height:40px;display:flex}.fpd-container fpd-views-grid .fpd-blank-page-modal .fpd-scroll-area,.fpd-container fpd-views-grid .fpd-layouts-modal .fpd-scroll-area{margin-right:5px}.fpd-container fpd-views-grid .fpd-blank-page-modal .fpd-grid,.fpd-container fpd-views-grid .fpd-layouts-modal .fpd-grid{display:flex;flex-flow:row wrap;justify-content:space-between}.fpd-container fpd-views-grid .fpd-blank-page-modal .fpd-grid>.fpd-item,.fpd-container fpd-views-grid .fpd-layouts-modal .fpd-grid>.fpd-item{flex:0 0 200px;height:150px;cursor:pointer}.fpd-container fpd-views-grid .fpd-blank-page-modal .fpd-head{padding:10px}.fpd-container fpd-views-grid .fpd-blank-page-modal .fpd-head .fpd-input{width:max-content;margin-right:20px;max-width:150px}.fpd-container fpd-views-grid .fpd-blank-page-modal .fpd-head .fpd-input>input{width:100px}.fpd-container fpd-views-grid .fpd-blank-page-modal .fpd-head .fpd-btn{margin:0}.fpd-container fpd-views-grid .fpd-blank-page-modal .fpd-grid{justify-content:flex-start;align-items:center}.fpd-container fpd-views-grid .fpd-blank-page-modal .fpd-grid .fpd-item{flex:1 0 45%;text-align:center}.fpd-container fpd-views-grid.fpd-modal-visible>.fpd-head,.fpd-container fpd-views-grid.fpd-modal-visible>.fpd-scroll-area{filter:blur(5px)}.fpd-container fpd-views-grid .fpd-head{border-bottom:1px solid var(--fpd-border-color);padding:10px}.fpd-container fpd-views-grid .fpd-head .fpd-btn{margin:0 10px 5px 0}.fpd-container fpd-views-grid .fpd-close{position:absolute;right:10px;top:10px;font-size:14px;cursor:pointer}.fpd-container fpd-views-grid .fpd-scroll-area{flex:1;position:relative}.fpd-sidebar fpd-views-grid{left:var(--fpd-sidebar-nav-width);top:var(--fpd-actions-bar-height);width:calc(100% - var(--fpd-sidebar-nav-width));height:calc(100% - var(--fpd-actions-bar-height))}.fpd-wrapper.fpd-layout-small .fpd-blank-page-modal .fpd-head{flex-flow:row wrap;gap:10px;padding-top:40px}.fpd-wrapper.fpd-layout-small .fpd-blank-page-modal .fpd-head .fpd-input{flex:1 0 0;margin:0}.fpd-wrapper.fpd-layout-small .fpd-blank-page-modal .fpd-head .fpd-btn{text-align:center;width:100%;flex:0 0 100%}.fpd-sidebar.fpd-layout-small fpd-views-grid{width:100%;height:calc(100% - var(--fpd-sidebar-nav-width) - var(--fpd-actions-bar-height));left:0}.fpd-sidebar.fpd-layout-small fpd-views-grid .fpd-grid{justify-content:space-between}.fpd-sidebar.fpd-layout-small fpd-views-grid .fpd-layouts-modal .fpd-grid{gap:20px}.fpd-sidebar.fpd-layout-small fpd-views-grid .fpd-layouts-modal .fpd-grid .fpd-item{flex:0 calc(50% - 10px)}.fpd-off-canvas fpd-views-grid,.fpd-topbar fpd-views-grid{width:100%;height:100%}.fpd-wrapper.fpd-dynamic-views-enabled fpd-views-grid>.fpd-head>.fpd-btn{display:inline-block}fpd-element-toolbar{display:none;overflow:hidden;z-index:2;color:var(--fpd-text-color)}fpd-element-toolbar.fpd-show{display:flex!important}fpd-element-toolbar .fpd-close,fpd-element-toolbar .fpd-close-sub-panel{display:none;position:absolute;right:0;top:5px;height:30px;min-width:35px;padding:0 7px;line-height:30px;text-align:center;cursor:pointer;background:#fff;font-size:14px;transform:translateY(-100%);box-shadow:0 -1px 2px rgba(110,111,114,.2);border-top-left-radius:var(--fpd-border-radius);border-top-right-radius:var(--fpd-border-radius);gap:3px;align-items:center}fpd-element-toolbar .fpd-close-sub-panel>.fpd-label{font-size:12px}fpd-element-toolbar>.fpd-tools-nav{display:flex;flex-direction:column}fpd-element-toolbar>.fpd-tools-nav>div{display:flex}fpd-element-toolbar>.fpd-tools-nav>div>div{flex:1;padding:0 15px;white-space:nowrap;text-align:center;cursor:pointer}fpd-element-toolbar>.fpd-tools-nav>div>div>span[class^=fpd-icon-]{display:block;font-size:20px!important;line-height:28px}fpd-element-toolbar>.fpd-tools-nav>div>div>.fpd-label{margin-top:5px;font-size:11px;display:inline-block;line-height:1;vertical-align:bottom}fpd-element-toolbar>.fpd-tools-nav>div>div>.fpd-current-fill{display:block;margin:auto;width:28px;height:28px;border-radius:50%;border:2px solid rgba(0,0,0,.1)}fpd-element-toolbar>.fpd-tools-nav>div>div.fpd-active{color:var(--fpd-secondary-color)}fpd-element-toolbar .fpd-sub-panel{flex:1;overscroll-behavior:none}fpd-element-toolbar .fpd-sub-panel>div{display:none;height:100%;width:100%}fpd-element-toolbar .fpd-sub-panel>div>*{margin-bottom:10px}fpd-element-toolbar .fpd-sub-panel>div>:last-child{margin:0}fpd-element-toolbar .fpd-sub-panel>div.fpd-active{display:flex;flex-flow:column nowrap}fpd-element-toolbar .fpd-sub-panel>div.fpd-padding{padding:15px}fpd-element-toolbar .fpd-sub-panel>div .fpd-input{flex-flow:row wrap;box-shadow:none;overflow:visible}fpd-element-toolbar .fpd-sub-panel>div .fpd-input input,fpd-element-toolbar .fpd-sub-panel>div .fpd-input>span{flex:1;border:none}fpd-element-toolbar .fpd-sub-panel>div .fpd-input>span{padding:0}fpd-element-toolbar .fpd-sub-panel>div .fpd-input fpd-range-slider{order:3}fpd-element-toolbar .fpd-sub-panel>div .fpd-panel-tabs{display:flex;align-items:center}fpd-element-toolbar .fpd-sub-panel>div .fpd-panel-tabs>span{flex:1;text-align:center;padding:8px 0 6px 0;cursor:pointer;opacity:.7}fpd-element-toolbar .fpd-sub-panel>div .fpd-panel-tabs>span.fpd-active{color:var(--fpd-secondary-color);position:relative;opacity:1}fpd-element-toolbar .fpd-sub-panel>div .fpd-panel-tabs>span.fpd-active:after{background-color:var(--fpd-secondary-color);position:absolute;content:"";width:60%;height:2px;left:20%;bottom:0}fpd-element-toolbar .fpd-sub-panel>div .fpd-panel-tabs-content>div{display:none;padding:10px}fpd-element-toolbar .fpd-sub-panel>div .fpd-panel-tabs-content>div.fpd-active{display:block}fpd-element-toolbar .fpd-sub-panel>div .fpd-panel-tabs-content>div>*{margin-bottom:20px}fpd-element-toolbar .fpd-sub-panel>div .fpd-btn-group,fpd-element-toolbar .fpd-sub-panel>div .fpd-tools-group{display:flex;align-items:center;justify-content:center;text-align:center;gap:4px;flex-flow:row wrap}fpd-element-toolbar .fpd-sub-panel>div .fpd-btn-group>*,fpd-element-toolbar .fpd-sub-panel>div .fpd-tools-group>*{flex:1;border:1px solid var(--fpd-border-color);border-radius:var(--fpd-border-radius);font-size:13px;padding:5px 0;cursor:pointer;line-height:1;display:flex;justify-content:center;align-items:center;gap:5px}fpd-element-toolbar .fpd-sub-panel>div .fpd-btn-group>:hover,fpd-element-toolbar .fpd-sub-panel>div .fpd-tools-group>:hover{background:var(--fpd-light-bg-color)}fpd-element-toolbar .fpd-sub-panel>div .fpd-btn-group [class^=fpd-icon-],fpd-element-toolbar .fpd-sub-panel>div .fpd-tools-group [class^=fpd-icon-]{font-size:18px}fpd-element-toolbar .fpd-sub-panel>div .fpd-btn-group{border:1px solid var(--fpd-border-color)}fpd-element-toolbar .fpd-sub-panel>div .fpd-btn-group>*{border:none;border-radius:0}fpd-element-toolbar .fpd-sub-panel>div .fpd-btn-group>.fpd-active{color:var(--fpd-secondary-color)}fpd-element-toolbar .fpd-sub-panel>div .fpd-toggle.fpd-enabled{color:var(--fpd-secondary-color)}fpd-element-toolbar .fpd-sub-panel>div .fpd-tool-position-align>div{flex:1 0 32%}fpd-element-toolbar .fpd-sub-panel>div .fpd-tool-uniscaling-locker{font-size:18px;text-align:right}fpd-element-toolbar .fpd-sub-panel>div .fpd-curved-options{display:flex;gap:30px}fpd-element-toolbar .fpd-sub-panel>div .fpd-curved-options>span{flex:1;display:flex;justify-content:center;align-items:center;aspect-ratio:1/1;cursor:pointer;background:var(--fpd-light-bg-color);border-radius:var(--fpd-border-radius);padding:5px}fpd-element-toolbar .fpd-sub-panel>div .fpd-curved-options>span.fpd-active svg *{fill:var(--fpd-secondary-color)}fpd-element-toolbar .fpd-sub-panel .fpd-panel-color>.fpd-scroll-area{overflow:visible}fpd-element-toolbar .fpd-sub-panel .fpd-panel-color .fpd-colorpicker-wrapper{padding:0}fpd-element-toolbar .fpd-sub-panel .fpd-panel-font-family{flex-flow:column nowrap;height:100%}fpd-element-toolbar .fpd-sub-panel .fpd-panel-font-family .fpd-fonts-list{display:flex;flex-flow:column nowrap;height:100%;gap:20px}fpd-element-toolbar .fpd-sub-panel .fpd-panel-font-family .fpd-fonts-list>.fpd-item{cursor:pointer;font-size:16px;transition:all .2s ease-in-out}fpd-element-toolbar .fpd-sub-panel .fpd-panel-font-family .fpd-fonts-list>.fpd-item.fpd-active{color:var(--fpd-secondary-color)}fpd-element-toolbar .fpd-sub-panel .fpd-panel-font-family .fpd-fonts-list>.fpd-item:hover{padding-left:5px}fpd-element-toolbar .fpd-sub-panel .fpd-tool-filters{display:flex;flex-flow:row wrap;justify-content:flex-start;gap:35px 10px;padding-bottom:40px;overflow:auto;height:auto}fpd-element-toolbar .fpd-sub-panel .fpd-tool-filters>.fpd-item{flex:0 0 60px;height:60px;background-repeat:no-repeat;background-size:cover;position:relative}fpd-element-toolbar .fpd-sub-panel .fpd-tool-filters>.fpd-item:after{content:attr(aria-label);position:absolute;top:100%;left:0;line-height:14px;font-size:12px;overflow:hidden;transform:translateY(3px);max-width:inherit}fpd-element-toolbar .fpd-sub-panel .fpd-tool-crop-masks{display:flex;flex-flow:row wrap;justify-content:space-evenly;gap:40px 20px!important}fpd-element-toolbar .fpd-sub-panel .fpd-tool-crop-masks .fpd-item{flex:0 0 25%;height:70px;background-repeat:no-repeat;background-position:center;background-size:contain}fpd-element-toolbar.fpd-smart{display:none;background:#fff;position:fixed;top:50%;left:50%;max-width:var(--fpd-et-max-width);min-width:300px;border-radius:var(--fpd-border-radius);transform:translateX(-50%);z-index:10000000000;box-shadow:0 0 10px rgba(110,111,114,.22);overflow:visible}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>div{margin:10px 0}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>div>div{display:flex;flex-direction:column;justify-content:flex-start;flex:0}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools{justify-content:space-between;padding-left:5px}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools>div{padding:0 10px}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools .fpd-tool-text-size{flex:0 70px}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools .fpd-tool-text-size input{margin:0;width:100%;pointer-events:none;text-align:center}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools .fpd-tool-font-family{flex:1 180px}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools .fpd-tool-font-family fpd-dropdown{width:100%;pointer-events:none}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools .fpd-tool-font-family,fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools .fpd-tool-text-size{align-self:flex-end}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools .fpd-tool-font-family>[class^=fpd-icon-],fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools .fpd-tool-text-size>[class^=fpd-icon-]{display:none}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools .fpd-tool-font-family .fpd-label,fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools .fpd-tool-text-size .fpd-label{display:none}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-secondary-tools{padding-bottom:10px}fpd-element-toolbar.fpd-smart[data-element-type=image] .fpd-tools-nav{flex-direction:row}fpd-element-toolbar.fpd-smart[data-element-type=image] .fpd-tools-nav>div{margin:20px 0;overflow:hidden;flex:1 0 auto;max-width:none}fpd-element-toolbar.fpd-smart[data-element-type=image] .fpd-tools-nav>.fpd-secondary-tools{padding-bottom:0}fpd-element-toolbar.fpd-smart>.fpd-sub-panel{display:none;width:100%}fpd-element-toolbar.fpd-smart.fpd-panel-visible{width:var(--fpd-et-max-width)}fpd-element-toolbar.fpd-smart.fpd-panel-visible .fpd-close{display:none!important}fpd-element-toolbar.fpd-smart.fpd-panel-visible>.fpd-tools-nav{display:none!important}fpd-element-toolbar.fpd-smart.fpd-panel-visible>.fpd-sub-panel{display:flex}fpd-element-toolbar.fpd-smart.fpd-panel-visible>.fpd-sub-panel .fpd-panel-tabs-content.fpd-scroll-area{overflow:auto;max-height:200px}fpd-element-toolbar.fpd-smart.fpd-panel-visible>.fpd-sub-panel .fpd-panel-font-family .fpd-fonts-list{max-height:100px}fpd-element-toolbar.fpd-smart.fpd-panel-visible>.fpd-close-sub-panel{display:flex}fpd-element-toolbar.fpd-smart.fpd-show>.fpd-close{display:block}fpd-element-toolbar.fpd-smart .fpd-tool-crop-masks,fpd-element-toolbar.fpd-smart .fpd-tool-filters{display:flex;flex-wrap:nowrap;padding-bottom:30px;overflow-x:auto;overflow-y:hidden}fpd-element-toolbar.fpd-smart .fpd-tool-crop-masks{gap:0 20px!important;justify-content:flex-start}fpd-element-toolbar.fpd-smart .fpd-tool-crop-masks .fpd-item{height:50px}fpd-element-toolbar.fpd-smart.fpd-layout-small{position:fixed;left:0!important;bottom:0!important;top:auto!important;width:100%;transform:none;border-radius:0;box-shadow:0 -1px 8px rgba(110,111,114,.2);padding-bottom:env(safe-area-inset-bottom);max-width:none}fpd-element-toolbar.fpd-smart.fpd-layout-small .fpd-close,fpd-element-toolbar.fpd-smart.fpd-layout-small .fpd-close-sub-panel{border-top-right-radius:0}fpd-element-toolbar.fpd-sidebar .fpd-tool-filters{row-gap:35px!important}fpd-element-toolbar.fpd-sidebar .fpd-tools-nav{flex-direction:column}fpd-element-toolbar.fpd-sidebar .fpd-tools-nav>div{flex-direction:column;gap:25px 0;height:auto;overflow:visible}fpd-element-toolbar.fpd-sidebar .fpd-tools-nav>.fpd-primary-tools .fpd-tool-font-family fpd-dropdown,fpd-element-toolbar.fpd-sidebar .fpd-tools-nav>.fpd-primary-tools .fpd-tool-text-size input{display:none!important}fpd-main-bar>fpd-element-toolbar{background:var(--fpd-primary-fg-color);position:absolute;top:0!important;left:0!important;width:100%!important;height:100%;flex-flow:row nowrap}fpd-main-bar>fpd-element-toolbar>.fpd-tools-nav{flex:0 80px;flex-flow:column;align-items:center;border-right:1px solid var(--fpd-border-color)}fpd-main-bar>fpd-element-toolbar>.fpd-tools-nav>div{flex:0;margin:10px 0}fpd-main-bar>fpd-element-toolbar>.fpd-tools-nav>div .fpd-label{white-space:normal}fpd-element-toolbar[data-fabric-type=engraved-text] .fpd-panel-color>.fpd-panel-tabs,fpd-element-toolbar[data-fabric-type=engraved-text] .fpd-patterns-wrapper,fpd-element-toolbar[data-fabric-type=engraved-text] .fpd-tool-curved-text,fpd-element-toolbar[data-fabric-type=engraved-text] .fpd-tool-fill-opacity,fpd-element-toolbar[data-fabric-type=engraved-text] .fpd-tool-text-format,fpd-element-toolbar[data-fabric-type=neon-text] .fpd-panel-color>.fpd-panel-tabs,fpd-element-toolbar[data-fabric-type=neon-text] .fpd-patterns-wrapper,fpd-element-toolbar[data-fabric-type=neon-text] .fpd-tool-curved-text,fpd-element-toolbar[data-fabric-type=neon-text] .fpd-tool-fill-opacity,fpd-element-toolbar[data-fabric-type=neon-text] .fpd-tool-text-format{display:none!important}.fpd-toolbar-visible .fpd-toolbar-sidebar fpd-main-bar{overflow:visible}.fpd-toolbar-visible .fpd-toolbar-sidebar fpd-main-bar>.fpd-close{display:block;right:0;left:auto;top:20px;transform:translateX(100%);font-size:12px;height:30px;line-height:30px;width:30px;padding:0 5px}.fpd-container fpd-module-products{padding:var(--fpd-module-content-padding)}.fpd-container fpd-module-products .fpd-product-categories{display:none}.fpd-container fpd-module-products.fpd-categories-enabled .fpd-product-categories{display:flex}.fpd-container fpd-module-text .fpd-add-text{padding:10px}.fpd-container fpd-module-text .fpd-add-text input{padding:3px 5px;width:80px;display:block}.fpd-container fpd-module-text .fpd-add-text .fpd-btn{margin-top:10px;margin-bottom:20px}.fpd-container fpd-module-text .fpd-text-templates .fpd-grid{padding:var(--fpd-module-content-padding)}.fpd-container fpd-module-text .fpd-text-templates .fpd-grid .fpd-item{background:var(--fpd-module-secondary-color);text-align:center;position:relative;border-radius:var(--fpd-border-radius)}.fpd-container fpd-module-text .fpd-text-templates .fpd-grid .fpd-item>div{font-size:16px;width:80%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.fpd-container fpd-module-text .fpd-text-templates .fpd-grid .fpd-item:hover{opacity:.8}.fpd-container fpd-module-designs{padding:var(--fpd-module-content-padding)}.fpd-container fpd-module-designs .fpd-head{display:none}.fpd-container fpd-module-designs.fpd-head-visible .fpd-head,.fpd-container fpd-module-designs.fpd-single-cat .fpd-head{display:block;margin-bottom:10px}.fpd-container fpd-module-designs.fpd-single-cat .fpd-back{display:none!important}.fpd-container fpd-module-designs .fpd-single-cat .fpd-input-search{width:100%}.fpd-container fpd-module-designs .fpd-grid .fpd-item{border-radius:var(--fpd-border-radius)}.fpd-container fpd-module-text-to-image .fpd-head .fpd-info{margin:0 0 10px;line-height:20px;font-size:14px}.fpd-container fpd-module-text-to-image .fpd-head .fpd-btn{margin:0 0 20px}.fpd-container fpd-module-images .fpd-module-tabs-content{overflow:hidden;padding:var(--fpd-module-content-padding)}.fpd-container fpd-module-images .fpd-module-tabs-content>div>*{height:100%;display:flex;flex-flow:column}.fpd-container fpd-module-images .fpd-module-tabs-content>div>* .fpd-scroll-area{padding-right:5px}.fpd-container fpd-module-uploads .fpd-upload-image{display:flex;flex-flow:column nowrap;align-items:center;border:2px dashed var(--fpd-border-color);background:var(--fpd-module-secondary-color);color:var(--fpd-module-secondary-text-color);border-radius:var(--fpd-border-radius);padding:10px 10px 0;cursor:pointer;margin-bottom:10px}.fpd-container fpd-module-uploads .fpd-upload-image>span{display:block;font-size:10px;text-transform:uppercase;margin:0 0 15px!important}.fpd-container fpd-module-uploads .fpd-upload-image>.fpd-price{font-size:12px;line-height:1}.fpd-container fpd-module-uploads .fpd-upload-image.fpd-hover{opacity:.5}.fpd-container fpd-module-uploads .fpd-grid .fpd-loading-bar{background:rgba(255,255,255,.7);position:absolute;top:50%;left:50%;width:60%;height:6px;transform:translate(-50%,-50%);z-index:10}.fpd-container fpd-module-uploads .fpd-grid .fpd-loading-bar>.fpd-loading-progress{background:#fff;height:100%;width:0}.fpd-container fpd-module-uploads .fpd-image-quality-ratings{position:absolute;left:5px;top:5px;line-height:1}.fpd-container fpd-module-uploads .fpd-image-quality-ratings>span{color:var(--fpd-image-quality-start-color);text-shadow:0 0 1px rgba(0,0,0,.7);font-size:18px}.fpd-container fpd-module-facebook-images .fpd-head{margin-bottom:10px}.fpd-container fpd-module-facebook-images .fpd-head .fpd-facebook-albums{display:none}.fpd-container fpd-module-facebook-images.fpd-facebook-logged-in .fpd-facebook-login{display:none}.fpd-container fpd-module-facebook-images.fpd-facebook-logged-in .fpd-facebook-albums{display:block}.fpd-container fpd-module-pixabay-images{position:relative}.fpd-container fpd-module-pixabay-images .fpd-head{margin-bottom:10px}.fpd-container fpd-module-pixabay-images .fpd-loader-wrapper{height:100%}.fpd-container fpd-module-pixabay-images .fpd-pixabay-logo{background-repeat:no-repeat!important;border:none!important;background-color:transparent!important;width:72px;height:14px;display:block;margin-bottom:10px;opacity:.6;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAAAOCAYAAACM7Fo2AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAsTAAALEwEAmpwYAAABWWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyI+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgpMwidZAAAIDUlEQVRIDY2WeWyURRjGv73YHlsoKG2oRYE2AtKWltJSCWoNCApGwQjibVAx0SjGeMS7HlXAKoeiGFEUVIL8weFREaNEQYRSQCqK2pCqVECwrRS6S49df8/wDW6bekwy38y8x/Me887M53E6N4+7jMWR42nxcyvyXzQvgtGioqKKWCxWFA6HL9qzZ08rNEO3IN2Mwo33QyLd2fo3unhdm8EtLCx81+v1hjo6OuY3NDR8VVdXF3EFPaWlpb6NGzdGWUflpJp36tSpPkbjkDuPd8Y6akfLM8asXlccDPnBMrI4k+7xeAaRHIvhuHasD6g78bRYWVmZ9cvw+Ej3lL4l/gvdkQ/qyMgP2YoNHz68AH/Opfvpy/v27bt55MiRTxcXF58tPslpZ4y6/jlKjG0Css0EBngC2U4aNmxYj/z8/FSYNiCrFxBdfKuYnZ0dtHIKUnSMv4kTtUwT6T4wA6K7zchYWdEyMzMlZ5pN5ODBg1Pi7Vh+Xl5e8oABAxLs2h3lv4nB0l2/HKp5Ab7UiM58EPOHGKvwcR/zj5hPw7/TxTcABQUFGWTyTp/PV8QxaKGv3b59+1L4UQRnQ884fvz43UlJSW8hd6C+vn7W/v37w/D6wXsN+fqqqqrbcDQzEAjc7/f786GFKd/VkUjkDR0pDL8O3gz0P6OSPPBj0Wi0muGl6urqX5SEVatWdeDcxcjdAm4/9Ova2toW7dq16ytsndmjR4+F7e3ta7G11MpnZGQk9e/ffwk4O7dt2/acG5Pi0hFxRowYMY0hFbxK9H4VbdSoUdczHNy6desGrW1DdgK+T8avidCacfMdP0ENJKj3IQyDsQVif4SW4GixgoaeA72EIG8gyC/hzUlPT/+RBFUg+wIBTyKICcIJBoMboGUh/xkO9wP3FdZFYNzM2AHNUachEg2hex/ryZT8FJKzhyTcCW0hiTlA/wa5SSTlahyfiI0fwBsH7XsB7Nu3T1XXwaap6kvBbxOdxHmV6JycnPTExMQHScwsutPa2lpNTMsROZ0kt2E3C3sXoncMmx3gL9+xY8d6+OulC+5K5pd5ExISnmYyBIGJVM1okjKYeQWgMym58+D9RjAR7Rj8uRhaB+DDOF2OzHSMlVMBnxDIPIydge4FYIxFNg9eGQmdIUeQPQa/Tjx2ehz8EnDHgJ+F7r1UcV9w50KrbGpqGoLcJSdOnMiBvxf6PAIKMf+drgveSUlJMZkGF1asmR4W3U2cQ3Jy4c0g0RVU8TTJkOD5iFyOHw2sD4E7Flo5tMdYD5Q+zZOcnBzGj37Q5nmZXA3x5Z07d1YqCZIAtBzmz/CuYOkFMHr48GFzZxD0XfAaqZaHmKtSniCRpyFzPnpLwfnC3hNHjhxZgH4dSRoPlgKKWZ4uTpK0GScXw8/H0auYt7EBz9TW1h7V3bd79+796JkjDn8oNvTSmGuhubnZjKxNg2fuMZs4fGvDnwj6AxDIpfdh8+rdZEVIXhDeJOz9QAwebNtXjGXsGtYOsht0i3sAapIVNwkqt3YSoJI9dZGym8Yh5E+DngS4wzyEbDK7FYXvBbhDOLaxE0puE7LJdO1wr8bGRh0JVYHGdnQidA98P07rGOoFcaw9pn+CEYanRwCxaE/x09LSTEI0p+nxMBVlVic/WgdJ/pVgOuhr4xdDCxDba0oAvxxfgF1Jn0U/pY+N6citr6mpabRGTNnyvJksUvIzAchG6QMEddn5tmzZogCD0JdDbyWA2xiL2dnFmzZtasSJTThzo55Q9z/HYdSFH0POh3Ob4ffhUr0DHEe2uBMGwb4VXi39PRxLxvl7YPtdewqqFZkEMH6mKr7D/k0c2azKysoTwuGuuB1aGrrmDhItrqFiWgsbqfvvXFZHmD9Kf76lpeUAsiOht6AfVHXzIo8G7yzs6b5y/DAcFlM4JpmM2skssj0Wx9ZwD3zMxXw7cj4dCTL+IsrnUJZTeFnWEGA6CXoS3c+Rn4XclyR3K+sPmR+lBzCeC2YtR28d8itJ0lzG8eDo+ExFRq9dBfzfCPxR8GbDz8WVanorMtnI9GIMsSlPUa3j0N2NzGqwz2I+hhGRzg26rotkYvHDV1fFD+cILgLreWw6oVDoOfhjWDcgS66TViB3KetPOf5V0Dw6FkqQDJ3HWMrYm+w+xfm7zjVZB/1znvnRyJ7PDjzOpbxG/ywkcDbJWgZ/JvQI89Ho6A9VeAXQh7L+ifFHYbFjt4D9ILw+LIvpH+HMBF6Pr5l7wZ0DxnT4v9Lz0CtkVHK2EVArJV+DX+OQXU1ghXT9KjxAb0C2U5aQ16OwA593Ib8dHP1SKOlDWL+qzjwfOb2W34FxkK6HZg2yL0NT44wUF8cQmnPo0KEnUlNTewJynKNx7CTfcfRzRqa9OO5l9xPZ6YPwdOx0PKMqSxxNY2eP8l+hqnH4IevJGrJPxyuAbljHTfLio6Nf/ODevXv/0JpmsOLH3NzcXtJHzoNdPxh/gqH7yWDw9xvizmyhwq9FbhmJv55Ev61K158w1RiA1lvgwtGoximIUkXmbuWib8NPc824+OaqQcz6Y/5wYxgpk7Jt7mvW6ZWwPHe0PDsasvTi/4a76GjpsS+ly5Mj5uV0144CtPNuRmNPf+4k4B6O2YqSkpIYm7zO/iWj08mnbjD+kdSd/6aCKK1yztwjyjplrl06lfEuBmVcvK78rvR4J7vyUDdBiG6qQYQuLV5fLCtrdtb98/+Wo5BCxb/A8X6WO1Ev8d87fxJQ6//buvXlL1+7kVIoB52RAAAAAElFTkSuQmCC)!important}.fpd-container fpd-module-manage-layers .fpd-list{padding:var(--fpd-module-content-padding);position:relative;min-height:100%}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row{flex-wrap:wrap;margin:10px 5px 10px 0;align-items:center;border:1px solid transparent;border-radius:var(--fpd-border-radius);box-shadow:0 0 10px rgba(110,111,114,.2)}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div{overflow:hidden;white-space:nowrap}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-0{flex:0 45px;text-align:center}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-0>.fpd-current-color{cursor:pointer;width:25px;height:25px;display:block;border-radius:var(--fpd-border-radius);margin:auto;border:1px solid rgba(0,0,0,.1)}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-1{padding-left:0;padding-right:0}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-1 textarea{border:1px solid var(--fpd-border-color);min-height:auto;max-height:30px;width:100%;padding:3px 5px!important;box-shadow:none;margin:0}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-1 .fpd-img-meta{font-size:11px;font-weight:700}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-1 .fpd-img-meta span{font-weight:400;margin-right:5px}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-2{flex:0 110px;display:flex;justify-content:flex-end;align-items:center;padding-right:10px}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-2>span{padding-left:8px;font-size:18px;opacity:.7;transition:opacity .3s ease-out;flex:1;flex-grow:0}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-2>span.fpd-icon-reorder{cursor:move}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-2>span:first-child{padding:0}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-2>span:hover{opacity:1}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-2>span>*{vertical-align:top}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-2>span>.fpd-icon-eye{font-size:13.5px}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-full{padding:0 0 10px;display:none}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-full>.fpd-scroll-area.fpd-has-subpanel{max-height:none}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-full>.fpd-scroll-area>.fpd-color-palette,.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-full>.fpd-scroll-area>.fpd-patterns-wrapper{padding:0 10px}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-full>.fpd-scroll-area>.fpd-color-palette>.fpd-colorpicker-wrapper,.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-full>.fpd-scroll-area>.fpd-patterns-wrapper>.fpd-colorpicker-wrapper{padding:0}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row:hover{border-color:var(--fpd-border-color)}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row.fpd-show-colors{background:var(--fpd-list-bg-color-active)}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row.fpd-show-colors .fpd-cell-full{display:block}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row.fpd-locked>div:nth-child(-n+2){opacity:.2;pointer-events:none}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row.fpd-hide-dpi .fpd-dpi{display:none}.fpd-container fpd-module-qr-code .fpd-qr-code-colors{text-align:center}.fpd-container fpd-module-qr-code .fpd-qr-code-colors>.fpd-qr-code-color-dark,.fpd-container fpd-module-qr-code .fpd-qr-code-colors>.fpd-qr-code-color-light{display:inline-block;padding:12px;position:relative;border-radius:var(--fpd-border-radius);border:2px solid rgba(0,0,0,.2);overflow:visible}.fpd-container fpd-module-save-load{padding:var(--fpd-module-content-padding)}.fpd-container fpd-module-text-layers .fpd-list{position:relative;min-height:100%;padding:var(--fpd-module-content-padding)}.fpd-container fpd-module-text-layers .fpd-list .fpd-list-row{flex-wrap:wrap;margin:0 0 10px;border-radius:var(--fpd-border-radius);box-shadow:0 0 10px rgba(110,111,114,.2)}.fpd-container fpd-module-text-layers .fpd-list .fpd-list-row>div{margin:10px 8px;padding:0;position:relative}.fpd-container fpd-module-text-layers .fpd-list .fpd-list-row>.fpd-title{color:var(--fpd-dark-grey-color);padding-left:2px;margin-bottom:0;font-size:14px}.fpd-container fpd-module-text-layers .fpd-list .fpd-list-row>.fpd-cell-1 fpd-dropdown{height:35px}.fpd-container fpd-module-text-layers .fpd-list .fpd-list-row>.fpd-cell-2{flex:0 0 60px}.fpd-container fpd-module-text-layers .fpd-list .fpd-list-row>.fpd-cell-2>input{text-align:center;height:35px}.fpd-container fpd-module-text-layers .fpd-list .fpd-list-row .fpd-color-panel{margin-top:10px}.fpd-container fpd-module-text-layers .fpd-list .fpd-list-row .fpd-color-panel .fpd-colorpicker-wrapper{padding:0}.fpd-container fpd-module-text-layers .fpd-list .fpd-list-row .fpd-clear-text{position:absolute;right:1px;top:1px;font-size:11px;line-height:1;padding:3px 4px;text-transform:uppercase;background:var(--fpd-module-secondary-color);border-bottom-left-radius:2px;cursor:pointer;border-top-right-radius:var(--fpd-border-radius)}.fpd-container fpd-module-text-layers .fpd-list .fpd-list-row input,.fpd-container fpd-module-text-layers .fpd-list .fpd-list-row textarea{margin:0!important;padding:8px;width:100%}.fpd-container fpd-module-layouts .fpd-grid{padding:var(--fpd-module-content-padding)}.fpd-container fpd-module-layouts .fpd-grid>.fpd-item{border-radius:var(--fpd-border-radius);background-color:var(--fpd-module-secondary-color)}.fpd-container fpd-module-names-numbers{padding:var(--fpd-module-content-padding)}.fpd-container fpd-module-names-numbers .fpd-head .fpd-btn{margin:0 0 20px}.fpd-container fpd-module-names-numbers .fpd-list{display:flex;flex-flow:column nowrap;gap:10px;padding-right:10px}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row{display:flex;flex-flow:row wrap;justify-content:flex-end}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row>.fpd-number-col{width:50px}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row>.fpd-number-col input{text-align:center}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row>.fpd-name-col{flex:1}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row>.fpd-select-col{width:50px;position:relative}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row>.fpd-select-col select{position:relative;appearance:none;height:100%;width:100%;text-align:center;background:var(--fpd-light-bg-color);cursor:pointer;padding-right:10px}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row>.fpd-select-col:after{content:"\e90e";font-family:FontFPD!important;font-size:16px;position:absolute;top:50%;right:2px;pointer-events:none;transform:translateY(-50%)}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row>.fpd-remove-col{flex:1 100%;text-align:right;font-size:10px;line-height:1;color:var(--fpd-red-color);order:3}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row>.fpd-remove-col>span{opacity:.7;text-transform:uppercase;cursor:pointer}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row>.fpd-remove-col>span:hover{opacity:1}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row>.fpd-input-col:nth-child(2)>*{border-top-left-radius:var(--fpd-border-radius);border-bottom-left-radius:var(--fpd-border-radius);border-left:1px solid var(--fpd-border-color)}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row>.fpd-input-col:last-child>*{border-top-right-radius:var(--fpd-border-radius);border-bottom-right-radius:var(--fpd-border-radius)}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row input,.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row select{border-radius:0;box-shadow:none;margin:0;border:1px solid var(--fpd-border-color);width:100%;border-left:none}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row:first-child>.fpd-remove-col{visibility:hidden}.fpd-bulk-variations{margin:20px 0}.fpd-bulk-variations>.fpd-head{display:flex;flex-flow:row nowrap;align-items:center;justify-content:space-between;margin-bottom:10px}.fpd-bulk-variations>.fpd-head>.fpd-headline{font-size:18px}.fpd-bulk-variations .fpd-variations-list{display:flex;flex-flow:column wrap;gap:20px}.fpd-bulk-variations .fpd-variations-list .fpd-row{display:flex;flex-flow:row nowrap;gap:10px;height:40px;align-items:center}.fpd-bulk-variations .fpd-variations-list .fpd-row>select{flex:1;font-size:16px;padding:0 5px;height:100%}.fpd-bulk-variations .fpd-variations-list .fpd-row>select.fpd-error{border-color:var(--fpd-red-color)}.fpd-bulk-variations .fpd-variations-list .fpd-row>input{width:50px;height:100%;margin:0;text-align:center}.fpd-bulk-variations .fpd-variations-list .fpd-row>span{display:inline-block;width:30px;cursor:pointer;font-size:14px;text-align:center}.fpd-bulk-variations .fpd-variations-list .fpd-row:first-child span{display:none}.fpd-color-selection{margin:20px 0;display:flex;flex-flow:column wrap;gap:20px}.fpd-color-selection .fpd-cs-item .fpd-title{font-size:16px;margin-bottom:10px;padding-bottom:5px;border-bottom:1px solid var(--fpd-border-color)}.fpd-color-selection .fpd-cs-item .fpd-color-palette,.fpd-color-selection .fpd-cs-item .fpd-patterns-wrapper{margin:10px 0}.fpd-color-selection .fpd-cs-item .fpd-color-palette .fpd-item,.fpd-color-selection .fpd-cs-item .fpd-patterns-wrapper .fpd-item{width:45px;height:45px;position:relative;box-shadow:0 1px 2px rgba(0,0,0,.2)}.fpd-color-selection .fpd-cs-item .fpd-color-panel>.fpd-scroll-area>.fpd-color-palette .fpd-item:after{position:absolute;color:rgba(0,0,0,.6);background:rgba(255,255,255,.95);bottom:-2px;line-height:1;width:calc(100% + 4px);left:-2px;text-transform:uppercase;font-size:10px;content:attr(data-hex);padding:4px 0;text-align:center}.fpd-container.fpd-gt-step{width:320px;padding:15px;position:fixed;top:0;left:0;color:#fff;z-index:100;margin-top:15px;margin-left:-24px;z-index:100000000000;background:var(--fpd-tooltip-bg-color)}.fpd-container.fpd-gt-step>.fpd-gt-pointer{font-size:50px;position:absolute;top:-16px;left:0;color:var(--fpd-tooltip-bg-color);transform:scaleY(-1)}.fpd-container.fpd-gt-step .fpd-gt-close{position:absolute;right:10px;top:10px;font-size:14px;cursor:pointer;z-index:10}.fpd-container.fpd-gt-step .fpd-gt-text{padding-right:15px}.fpd-container.fpd-gt-step .fpd-gt-actions{margin-top:20px}.fpd-container.fpd-gt-step .fpd-gt-actions>.fpd-btn{margin:0;float:right;margin-left:5px;font-size:12px;padding:3px 10px}.fpd-container.fpd-gt-step .fpd-gt-actions>.fpd-gt-counter{line-height:34px;font-size:12px;opacity:.5}.fpd-3d-preview-wrapper{background:#fff;color:rgba(0,0,0,.5);box-shadow:rgba(0,0,0,.15) 0 5px 15px 0;position:relative}.fpd-3d-preview-wrapper:after{content:"3D";position:absolute;left:5px;top:5px}.fpd-3d-preview-wrapper .fpd-loading{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.fpd-3d-preview-wrapper>canvas{outline:0;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.fpd-3d-preview-wrapper .fpd-touch-info{z-index:100;position:absolute;left:5px;bottom:5px;width:64px;height:64px;background-size:40%;background-position:left bottom;background-repeat:no-repeat;background-image:url(data:image/png;base64,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)}fpd-main-wrapper .fpd-3d-preview-wrapper{display:block;box-shadow:rgba(0,0,0,.15) 0 5px 15px 0;background:#fff;color:rgba(0,0,0,.5);z-index:100;position:absolute;bottom:0;left:0}fpd-main-wrapper .fpd-3d-preview-wrapper.fpd-fullscreen>.fpd-fullscreen-toggle{padding:4px}fpd-main-wrapper .fpd-3d-preview-wrapper.fpd-fullscreen>.fpd-fullscreen-toggle>span:first-child{display:none}fpd-main-wrapper .fpd-3d-preview-wrapper.fpd-fullscreen>.fpd-fullscreen-toggle>span:last-child{display:inline}fpd-main-wrapper .fpd-3d-preview-wrapper>.fpd-fullscreen-toggle{position:absolute;top:5px;right:5px;cursor:pointer;font-size:18px;z-index:10}fpd-main-wrapper .fpd-3d-preview-wrapper>.fpd-fullscreen-toggle>span:last-child{display:none}.fpd-view-thumbnails-wrapper{display:flex;gap:15px;margin:20px 0;flex-wrap:wrap}.fpd-view-thumbnails-wrapper>.fpd-item{width:100px;height:100px;background-repeat:no-repeat;background-position:center;background-size:70%;border-radius:8px;cursor:pointer;background-color:rgba(255,255,252,.9)}fpd-main-wrapper>.fpd-view-thumbnails-wrapper{position:absolute;left:10px;bottom:calc(10px + env(safe-area-inset-bottom));margin:0;z-index:21}fpd-main-wrapper>.fpd-view-thumbnails-wrapper .fpd-item{height:70px;flex-basis:60px}.fpd-wrapper.fpd-views-inside-left fpd-main-wrapper>.fpd-view-thumbnails-wrapper{right:10px;left:auto;justify-content:flex-end} \ No newline at end of file diff --git a/dist/css/FancyProductDesigner.min.css b/dist/css/FancyProductDesigner.min.css index 42c5d7f6..7ccb3bdf 100644 --- a/dist/css/FancyProductDesigner.min.css +++ b/dist/css/FancyProductDesigner.min.css @@ -1,3 +1,3 @@ .picker_wrapper.no_alpha .picker_alpha{display:none}.picker_wrapper.no_editor .picker_editor{position:absolute;z-index:-1;opacity:0}.picker_wrapper.no_cancel .picker_cancel{display:none}.layout_default.picker_wrapper{display:flex;flex-flow:row wrap;justify-content:space-between;align-items:stretch;font-size:10px;width:25em;padding:.5em}.layout_default.picker_wrapper button,.layout_default.picker_wrapper input{font-size:1rem}.layout_default.picker_wrapper>*{margin:.5em}.layout_default.picker_wrapper::before{content:"";display:block;width:100%;height:0;order:1}.layout_default .picker_selector,.layout_default .picker_slider{padding:1em}.layout_default .picker_hue{width:100%}.layout_default .picker_sl{flex:1 1 auto}.layout_default .picker_sl::before{content:"";display:block;padding-bottom:100%}.layout_default .picker_editor{order:1;width:6.5rem}.layout_default .picker_editor input{width:100%;height:100%}.layout_default .picker_sample{order:1;flex:1 1 auto}.layout_default .picker_cancel,.layout_default .picker_done{order:1}.picker_wrapper{box-sizing:border-box;background:#f2f2f2;box-shadow:0 0 0 1px silver;cursor:default;font-family:sans-serif;color:#444;pointer-events:auto}.picker_wrapper:focus{outline:0}.picker_wrapper button,.picker_wrapper input{box-sizing:border-box;border:none;box-shadow:0 0 0 1px silver;outline:0}.picker_wrapper button:active,.picker_wrapper button:focus,.picker_wrapper input:active,.picker_wrapper input:focus{box-shadow:0 0 2px 1px #1e90ff}.picker_wrapper button{padding:.4em .6em;cursor:pointer;background-color:#f5f5f5;background-image:linear-gradient(0deg,#dcdcdc,transparent)}.picker_wrapper button:active{background-image:linear-gradient(0deg,transparent,#dcdcdc)}.picker_wrapper button:hover{background-color:#fff}.picker_selector{position:absolute;z-index:1;display:block;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);border:2px solid #fff;border-radius:100%;box-shadow:0 0 3px 1px #67b9ff;background:currentColor;cursor:pointer}.picker_slider .picker_selector{border-radius:2px}.picker_hue{position:relative;background-image:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#ff00ff,red);box-shadow:0 0 0 1px silver}.picker_sl{position:relative;box-shadow:0 0 0 1px silver;background-image:linear-gradient(180deg,#fff,rgba(255,255,255,0) 50%),linear-gradient(0deg,#000,rgba(0,0,0,0) 50%),linear-gradient(90deg,grey,rgba(128,128,128,0))}.picker_alpha,.picker_sample{position:relative;background:linear-gradient(45deg,#d3d3d3 25%,transparent 25%,transparent 75%,#d3d3d3 75%) 0 0/2em 2em,linear-gradient(45deg,#d3d3d3 25%,#fff 25%,#fff 75%,#d3d3d3 75%) 1em 1em/2em 2em;box-shadow:0 0 0 1px silver}.picker_alpha .picker_selector,.picker_sample .picker_selector{background:0 0}.picker_editor input{font-family:monospace;padding:.2em .4em}.picker_sample::before{content:"";position:absolute;display:block;width:100%;height:100%;background:currentColor}.picker_arrow{position:absolute;z-index:-1}.picker_wrapper.popup{position:absolute;z-index:2;margin:1.5em}.picker_wrapper.popup,.picker_wrapper.popup .picker_arrow::after,.picker_wrapper.popup .picker_arrow::before{background:#f2f2f2;box-shadow:0 0 10px 1px rgba(0,0,0,.4)}.picker_wrapper.popup .picker_arrow{width:3em;height:3em;margin:0}.picker_wrapper.popup .picker_arrow::after,.picker_wrapper.popup .picker_arrow::before{content:"";display:block;position:absolute;top:0;left:0;z-index:-99}.picker_wrapper.popup .picker_arrow::before{width:100%;height:100%;-webkit-transform:skew(45deg);transform:skew(45deg);-webkit-transform-origin:0 100%;transform-origin:0 100%}.picker_wrapper.popup .picker_arrow::after{width:150%;height:150%;box-shadow:none}.popup.popup_top{bottom:100%;left:0}.popup.popup_top .picker_arrow{bottom:0;left:0;-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.popup.popup_bottom{top:100%;left:0}.popup.popup_bottom .picker_arrow{top:0;left:0;-webkit-transform:rotate(90deg) scale(1,-1);transform:rotate(90deg) scale(1,-1)}.popup.popup_left{top:0;right:100%}.popup.popup_left .picker_arrow{top:0;right:0;-webkit-transform:scale(-1,1);transform:scale(-1,1)}.popup.popup_right{top:0;left:100%}.popup.popup_right .picker_arrow{top:0;left:0} @font-face{font-family:FontFPD;src:url(fonts/FontFPD.eot?jw2ske);src:url(fonts/FontFPD.eot?jw2ske#iefix) format('embedded-opentype'),url(fonts/FontFPD.ttf?jw2ske) format('truetype'),url(fonts/FontFPD.woff?jw2ske) format('woff'),url(fonts/FontFPD.svg?jw2ske#FontFPD) format('svg');font-weight:400;font-style:normal;font-display:block}[class*=" fpd-icon-"],[class^=fpd-icon-]{font-family:FontFPD!important;speak:never;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fpd-icon-eye:before{content:"\e930";color:#485563}.fpd-icon-eye-hide:before{content:"\e92f";color:#485563}.fpd-icon-pages:before{content:"\e92e";color:#485563}.fpd-icon-remove-bg:before{content:"\e92d";color:#485563}.fpd-icon-ai:before{content:"\e923"}.fpd-icon-align-bottom:before{content:"\e900";color:#485563}.fpd-icon-align-horizontal-middle:before{content:"\e901";color:#485563}.fpd-icon-align-left:before{content:"\e902";color:#485563}.fpd-icon-align-right:before{content:"\e903";color:#485563}.fpd-icon-align-top:before{content:"\e904";color:#485563}.fpd-icon-align-vertical-middle:before{content:"\e905";color:#485563}.fpd-icon-back:before{content:"\e906";color:#485563}.fpd-icon-bin:before{content:"\e907";color:#485563}.fpd-icon-close:before{content:"\e944";color:#485563}.fpd-icon-cloud-upload:before{content:"\e94b";color:#485563}.fpd-icon-color:before{content:"\e94c";color:#485563}.fpd-icon-copy:before{content:"\e94d";color:#485563}.fpd-icon-curved-text:before{content:"\e908";color:#485563}.fpd-icon-design-library:before{content:"\e909";color:#485563}.fpd-icon-done:before{content:"\e90a";color:#485563}.fpd-icon-download:before{content:"\e90b";color:#485563}.fpd-icon-effects:before{content:"\e90d";color:#485563}.fpd-icon-font-size:before{content:"\e90f";color:#485563}.fpd-icon-font:before{content:"\e910";color:#485563}.fpd-icon-format-align-center:before{content:"\e911";color:#485563}.fpd-icon-format-align-justify:before{content:"\e94e";color:#485563}.fpd-icon-format-align-left:before{content:"\e94f";color:#485563}.fpd-icon-format-align-right:before{content:"\e950";color:#485563}.fpd-icon-format-bold:before{content:"\e951";color:#485563}.fpd-icon-format-italic:before{content:"\e912";color:#485563}.fpd-icon-format-underline:before{content:"\e913";color:#485563}.fpd-icon-forward:before{content:"\e914";color:#485563}.fpd-icon-grid:before{content:"\e915";color:#485563}.fpd-icon-guided-tour:before{content:"\e916";color:#485563}.fpd-icon-images:before{content:"\e917";color:#485563}.fpd-icon-info:before{content:"\e918";color:#485563}.fpd-icon-layers:before{content:"\e919";color:#485563}.fpd-icon-layouts:before{content:"\e952";color:#485563}.fpd-icon-locked:before{content:"\e953";color:#485563}.fpd-icon-magnet:before{content:"\e954";color:#485563}.fpd-icon-menu:before{content:"\e955";color:#485563}.fpd-icon-more:before{content:"\e91a";color:#485563}.fpd-icon-move-down:before{content:"\e91e";color:#485563}.fpd-icon-move-up:before{content:"\e920";color:#485563}.fpd-icon-name-number:before{content:"\e921";color:#485563}.fpd-icon-position:before{content:"\e926";color:#485563}.fpd-icon-preview-lightbox:before{content:"\e92c";color:#485563}.fpd-icon-print:before{content:"\e931";color:#485563}.fpd-icon-redo:before{content:"\e933";color:#485563}.fpd-icon-reset:before{content:"\e956";color:#485563}.fpd-icon-rotate:before{content:"\e957";color:#485563}.fpd-icon-ruler:before{content:"\e958";color:#485563}.fpd-icon-save:before{content:"\e959";color:#485563}.fpd-icon-text-format:before{content:"\e935";color:#485563}.fpd-icon-text-input:before{content:"\e939";color:#485563}.fpd-icon-text-layers:before{content:"\e93d";color:#485563}.fpd-icon-text-secondary:before{content:"\e93f";color:#485563}.fpd-icon-transform:before{content:"\e940";color:#485563}.fpd-icon-undo:before{content:"\e941";color:#485563}.fpd-icon-unlocked:before{content:"\e942";color:#485563}.fpd-icon-zoom-in:before{content:"\e943";color:#485563}.fpd-icon-svg:before{content:"\e90c"}.fpd-icon-depositphotos:before{content:"\e93c"}.fpd-icon-pixabay:before{content:"\e93b"}.fpd-icon-text-transform:before{content:"\e93a"}.fpd-icon-lowercase:before{content:"\e937"}.fpd-icon-uppercase:before{content:"\e938"}.fpd-icon-share:before{content:"\e92b"}.fpd-icon-share-mail:before{content:"\e92a"}.fpd-icon-share-linkedin:before{content:"\e929"}.fpd-icon-share-pinterest:before{content:"\e927"}.fpd-icon-share-google-plus:before{content:"\e928"}.fpd-icon-share-facebook:before{content:"\e925"}.fpd-icon-share-twitter:before{content:"\e924"}.fpd-icon-corner-resize:before{content:"\e922"}.fpd-icon-jpg:before{content:"\e91b";color:#929292}.fpd-icon-pdf:before{content:"\e91c";color:#929292}.fpd-icon-png:before{content:"\e91d";color:#929292}.fpd-icon-qrcode:before{content:"\e91f"}.fpd-icon-flip-vertical:before{content:"\e61e";color:#444}.fpd-icon-flip-horizontal:before{content:"\e61c";color:#444}.fpd-icon-fullscreen:before{content:"\e949"}.fpd-icon-fullscreen-close:before{content:"\e94a"}.fpd-icon-thumb-up-outline:before{content:"\e947"}.fpd-icon-thumb-up:before{content:"\e948"}.fpd-icon-star-outline:before{content:"\e945"}.fpd-icon-star:before{content:"\e946"}.fpd-icon-none:before{content:"\e936"}.fpd-icon-crop:before{content:"\e934"}.fpd-icon-brush:before{content:"\e932"}.fpd-icon-photo:before{content:"\e1a4"}.fpd-icon-arrow-dropdown:before{content:"\e90e"}.fpd-icon-drag:before{content:"\e616"}.fpd-icon-add:before{content:"\e619"}.fpd-icon-reorder:before{content:"\e607";color:#444}.fpd-icon-remove:before{content:"\e606";color:#444}.fpd-icon-instagram:before{content:"\e609";color:#444}.fpd-icon-facebook:before{content:"\e608";color:#444} -:root{--fpd-primary-color:#485563;--fpd-primary-fg-color:#fff;--fpd-secondary-color:#029EEB;--fpd-secondary-fg-color:#fff;--fpd-light-bg-color:#F6F6F6;--fpd-light-grey-color:#EBEBEB;--fpd-dark-grey-color:#989898;--fpd-red-color:#bd081c;--fpd-yellow-color:#fffaf3;--fpd-yellow-contrast-color:#654c21;--fpd-green-color:#2ecc71;--fpd-scrollbar-track-color:var(--fpd-light-bg-color);--fpd-scrollbar-thumb-color:var(--fpd-dark-grey-color);--fpd-scrollbar-width:6px;--fpd-btn-primary-color:var(--fpd-secondary-color);--fpd-btn-primary-text-color:var(--fpd-secondary-fg-color);--fpd-dropdown-height:40px;--fpd-snackbar-bg-color:rgba(0, 0, 0, 0.9);--fpd-list-bg-color-active:rgba(0, 0, 0, 0.04);--fpd-input-text-color:rgba(0, 0, 0, 0.7);--fpd-tooltip-bg-color:rgba(0, 0, 0, 0.9);--fpd-track-height:8px;--fpd-text-color:var(--fpd-primary-color);--fpd-border-color:var(--fpd-light-grey-color);--fpd-container-min-height:500px;--fpd-border-radius:6px;--fpd-mainbar-nav-color:var(--fpd-primary-color);--fpd-sidebar-width:400px;--fpd-sidebar-nav-width:80px;--fpd-topbar-nav-height:70px;--fpd-off-canvas-width:350px;--fpd-actions-bar-bg-color:var(--fpd-primary-color);--fpd-actions-bar-height:50px;--fpd-loading-svg:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMzJweCcgaGVpZ2h0PSczMnB4JyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCIgY2xhc3M9InVpbC1kZWZhdWx0Ij48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgZmlsbD0ibm9uZSIgY2xhc3M9ImJrIj48L3JlY3Q+PHJlY3QgIHg9JzQ2LjUnIHk9JzQwJyB3aWR0aD0nNycgaGVpZ2h0PScyMCcgcng9JzUnIHJ5PSc1JyBmaWxsPScjMDAwMDAwJyB0cmFuc2Zvcm09J3JvdGF0ZSgwIDUwIDUwKSB0cmFuc2xhdGUoMCAtMzApJz4gIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J29wYWNpdHknIGZyb209JzEnIHRvPScwJyBkdXI9JzFzJyBiZWdpbj0nMHMnIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJy8+PC9yZWN0PjxyZWN0ICB4PSc0Ni41JyB5PSc0MCcgd2lkdGg9JzcnIGhlaWdodD0nMjAnIHJ4PSc1JyByeT0nNScgZmlsbD0nIzAwMDAwMCcgdHJhbnNmb3JtPSdyb3RhdGUoMzAgNTAgNTApIHRyYW5zbGF0ZSgwIC0zMCknPiAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0nb3BhY2l0eScgZnJvbT0nMScgdG89JzAnIGR1cj0nMXMnIGJlZ2luPScwLjA4MzMzMzMzMzMzMzMzMzMzcycgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnLz48L3JlY3Q+PHJlY3QgIHg9JzQ2LjUnIHk9JzQwJyB3aWR0aD0nNycgaGVpZ2h0PScyMCcgcng9JzUnIHJ5PSc1JyBmaWxsPScjMDAwMDAwJyB0cmFuc2Zvcm09J3JvdGF0ZSg2MCA1MCA1MCkgdHJhbnNsYXRlKDAgLTMwKSc+ICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdvcGFjaXR5JyBmcm9tPScxJyB0bz0nMCcgZHVyPScxcycgYmVnaW49JzAuMTY2NjY2NjY2NjY2NjY2NjZzJyByZXBlYXRDb3VudD0naW5kZWZpbml0ZScvPjwvcmVjdD48cmVjdCAgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyMwMDAwMDAnIHRyYW5zZm9ybT0ncm90YXRlKDkwIDUwIDUwKSB0cmFuc2xhdGUoMCAtMzApJz4gIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J29wYWNpdHknIGZyb209JzEnIHRvPScwJyBkdXI9JzFzJyBiZWdpbj0nMC4yNXMnIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJy8+PC9yZWN0PjxyZWN0ICB4PSc0Ni41JyB5PSc0MCcgd2lkdGg9JzcnIGhlaWdodD0nMjAnIHJ4PSc1JyByeT0nNScgZmlsbD0nIzAwMDAwMCcgdHJhbnNmb3JtPSdyb3RhdGUoMTIwIDUwIDUwKSB0cmFuc2xhdGUoMCAtMzApJz4gIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J29wYWNpdHknIGZyb209JzEnIHRvPScwJyBkdXI9JzFzJyBiZWdpbj0nMC4zMzMzMzMzMzMzMzMzMzMzcycgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnLz48L3JlY3Q+PHJlY3QgIHg9JzQ2LjUnIHk9JzQwJyB3aWR0aD0nNycgaGVpZ2h0PScyMCcgcng9JzUnIHJ5PSc1JyBmaWxsPScjMDAwMDAwJyB0cmFuc2Zvcm09J3JvdGF0ZSgxNTAgNTAgNTApIHRyYW5zbGF0ZSgwIC0zMCknPiAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0nb3BhY2l0eScgZnJvbT0nMScgdG89JzAnIGR1cj0nMXMnIGJlZ2luPScwLjQxNjY2NjY2NjY2NjY2NjdzJyByZXBlYXRDb3VudD0naW5kZWZpbml0ZScvPjwvcmVjdD48cmVjdCAgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyMwMDAwMDAnIHRyYW5zZm9ybT0ncm90YXRlKDE4MCA1MCA1MCkgdHJhbnNsYXRlKDAgLTMwKSc+ICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdvcGFjaXR5JyBmcm9tPScxJyB0bz0nMCcgZHVyPScxcycgYmVnaW49JzAuNXMnIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJy8+PC9yZWN0PjxyZWN0ICB4PSc0Ni41JyB5PSc0MCcgd2lkdGg9JzcnIGhlaWdodD0nMjAnIHJ4PSc1JyByeT0nNScgZmlsbD0nIzAwMDAwMCcgdHJhbnNmb3JtPSdyb3RhdGUoMjEwIDUwIDUwKSB0cmFuc2xhdGUoMCAtMzApJz4gIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J29wYWNpdHknIGZyb209JzEnIHRvPScwJyBkdXI9JzFzJyBiZWdpbj0nMC41ODMzMzMzMzMzMzMzMzM0cycgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnLz48L3JlY3Q+PHJlY3QgIHg9JzQ2LjUnIHk9JzQwJyB3aWR0aD0nNycgaGVpZ2h0PScyMCcgcng9JzUnIHJ5PSc1JyBmaWxsPScjMDAwMDAwJyB0cmFuc2Zvcm09J3JvdGF0ZSgyNDAgNTAgNTApIHRyYW5zbGF0ZSgwIC0zMCknPiAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0nb3BhY2l0eScgZnJvbT0nMScgdG89JzAnIGR1cj0nMXMnIGJlZ2luPScwLjY2NjY2NjY2NjY2NjY2NjZzJyByZXBlYXRDb3VudD0naW5kZWZpbml0ZScvPjwvcmVjdD48cmVjdCAgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyMwMDAwMDAnIHRyYW5zZm9ybT0ncm90YXRlKDI3MCA1MCA1MCkgdHJhbnNsYXRlKDAgLTMwKSc+ICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdvcGFjaXR5JyBmcm9tPScxJyB0bz0nMCcgZHVyPScxcycgYmVnaW49JzAuNzVzJyByZXBlYXRDb3VudD0naW5kZWZpbml0ZScvPjwvcmVjdD48cmVjdCAgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyMwMDAwMDAnIHRyYW5zZm9ybT0ncm90YXRlKDMwMCA1MCA1MCkgdHJhbnNsYXRlKDAgLTMwKSc+ICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdvcGFjaXR5JyBmcm9tPScxJyB0bz0nMCcgZHVyPScxcycgYmVnaW49JzAuODMzMzMzMzMzMzMzMzMzNHMnIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJy8+PC9yZWN0PjxyZWN0ICB4PSc0Ni41JyB5PSc0MCcgd2lkdGg9JzcnIGhlaWdodD0nMjAnIHJ4PSc1JyByeT0nNScgZmlsbD0nIzAwMDAwMCcgdHJhbnNmb3JtPSdyb3RhdGUoMzMwIDUwIDUwKSB0cmFuc2xhdGUoMCAtMzApJz4gIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J29wYWNpdHknIGZyb209JzEnIHRvPScwJyBkdXI9JzFzJyBiZWdpbj0nMC45MTY2NjY2NjY2NjY2NjY2cycgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnLz48L3JlY3Q+PC9zdmc+);--fpd-canvas-bg:var(--fpd-light-bg-color);--fpd-et-max-width:375px;--fpd-module-content-padding:10px;--fpd-module-secondary-color:var(--fpd-light-bg-color);--fpd-module-secondary-text-color:var(--fpd-text-color);--fpd-image-quality-start-color:#FFE790}.fpd-container *,.fpd-container:after,.fpd-container:before{margin:0;padding:0;list-style:none;max-width:100%;list-style-type:none;text-shadow:none;outline:0;line-height:20px;border:none;box-sizing:border-box}.fpd-container input{-webkit-appearance:none;appearance:none;height:auto;background:0 0!important;outline:0!important}.fpd-container textarea{background:0 0;outline:0!important}.fpd-container input::-webkit-inner-spin-button,.fpd-container input::-webkit-outer-spin-button{appearance:none}.fpd-wrapper{display:flex;flex-flow:row wrap;max-width:100%;position:relative;color:var(--fpd-text-color)}.fpd-container.fpd-not-responsive,.fpd-container.fpd-not-responsive *{max-width:none!important}.fpd-container.fpd-not-responsive * .fpd-product-stage,.fpd-container.fpd-not-responsive .fpd-product-stage{overflow:auto}.fpd-container .fpd-scroll-area{height:100%;overflow:auto;overscroll-behavior:none;-webkit-overflow-scrolling:touch;scrollbar-width:var(--fpd-scrollbar-width);scrollbar-color:var(--fpd-scrollbar-thumb-color) var(--fpd-scrollbar-track-color)}.fpd-container .fpd-scroll-area::-webkit-scrollbar{width:var(--fpd-scrollbar-width);height:var(--fpd-scrollbar-width);padding-right:5px;margin-right:5px}.fpd-container .fpd-scroll-area::-webkit-scrollbar-track{background-color:var(--fpd-scrollbar-track-color);-webkit-border-radius:10px;border-radius:10px;margin:20px}.fpd-container .fpd-scroll-area::-webkit-scrollbar-thumb{-webkit-border-radius:10px;border-radius:10px;background:var(--fpd-scrollbar-thumb-color)}.fpd-scrollbar-hidden{overscroll-behavior:none;-ms-overflow-style:none;scrollbar-width:none}.fpd-scrollbar-hidden::-webkit-scrollbar{display:none}textarea[data-fabric-hiddentextarea]{font-size:16px!important;transform:translateY(-20px);caret-color:transparent}.fpd-disabled{opacity:.2!important;cursor:default!important;pointer-events:none!important}body .fpd-hidden{display:none!important;pointer-events:none!important}.fpd-overflow-hidden{overflow:hidden!important}.fpd-hidden-canvas{position:absolute!important;left:-9999999px}[class^=fpd-icon-]:before{color:inherit!important}body .fpd-visible-hidden{visibility:hidden!important;pointer-events:none!important}body fpd-dropdown{position:relative;display:flex;height:var(--fpd-dropdown-height)}body fpd-dropdown>.fpd-dropdown-current{height:100%;width:100%!important;padding:7px 20px 7px 7px!important;margin:0!important}body fpd-dropdown>.fpd-dropdown-arrow{position:absolute;font-size:20px;right:2px;top:calc(50% - 10px);opacity:.6;text-align:center;width:20px;height:20px;transform-origin:center center;transition:all .2s ease-out;cursor:pointer}body fpd-dropdown .fpd-dropdown-list{display:none;position:fixed;padding-right:5px;left:0;top:0;background:#fff;z-index:100;box-shadow:0 2px 0 1px rgba(64,87,109,.07),0 2px 12px rgba(53,71,90,.2);transform:translateY(2px);border-radius:4px;max-height:200px}body fpd-dropdown .fpd-dropdown-list>.fpd-scroll-area{max-height:inherit;padding:0!important}body fpd-dropdown .fpd-dropdown-list .fpd-item{display:block;text-align:left;margin:5px;padding:10px;line-height:14px;font-size:14px;cursor:pointer;border-radius:4px}body fpd-dropdown .fpd-dropdown-list .fpd-item:hover{background:rgba(0,0,0,.05)}body fpd-dropdown input:focus~.fpd-dropdown-list,body fpd-dropdown.fpd-active .fpd-dropdown-list{display:block;border:1px solid var(--fpd-border-color)}body fpd-dropdown input:focus~.fpd-dropdown-arrow,body fpd-dropdown.fpd-active>.fpd-dropdown-arrow{transform:rotate(90deg)}body fpd-dropdown.fpd-on-loading .fpd-dropdown-arrow{display:none!important}body fpd-dropdown.fpd-on-loading>input.fpd-dropdown-current{background-size:20px;background-repeat:no-repeat;background-position:98% center;background-image:var(--fpd-loading-svg)}.fpd-container .fpd-loader-wrapper{background:rgba(255,255,255,.9);width:100%;height:100%;position:absolute;top:0;left:0;z-index:100}.fpd-loader-wrapper>.fpd-loader{position:absolute;text-align:center;width:100%;left:50%;top:50%;transform:translate(-50%,-50%)}.fpd-loader>.fpd-loader-text{position:absolute;width:100%;display:block;font-size:14px;padding:20px 0;color:rgba(0,0,0,.5);text-transform:uppercase;font-weight:lighter;letter-spacing:1.5px;-webkit-filter:blur(0)}.fpd-loader>.fpd-loader-circle{margin:0 auto;width:40px;height:40px;border:3px solid rgba(0,0,0,.2);border-left:3px solid #000;transform:translateZ(0);animation:fpd-loader-animation 1.1s infinite linear}.fpd-loader>.fpd-loader-circle,.fpd-loader>.fpd-loader-circle:after{border-radius:50%}@-webkit-keyframes fpd-loader-animation{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes fpd-loader-animation{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.fpd-container .fpd-btn,.fpd-modal-inner .fpd-btn{background:var(--fpd-btn-primary-color);color:var(--fpd-btn-primary-text-color);cursor:pointer;display:inline-flex;align-items:center;padding:5px 15px;font-size:14px;margin:10px 0;text-transform:uppercase;border-radius:var(--fpd-border-radius);transition:all .2s ease-out}.fpd-container .fpd-btn:hover,.fpd-modal-inner .fpd-btn:hover{opacity:.8}.fpd-container .fpd-btn.fpd-loading,.fpd-modal-inner .fpd-btn.fpd-loading{background-image:var(--fpd-loading-svg);background-repeat:no-repeat;background-position:center;background-size:30%;opacity:.8;color:transparent;cursor:wait}.fpd-container .fpd-btn.fpd-secondary,.fpd-modal-inner .fpd-btn.fpd-secondary{background:var(--fpd-light-grey-color);color:var(--fpd-dark-grey-color)}.fpd-container .fpd-btn.fpd-full,.fpd-modal-inner .fpd-btn.fpd-full{width:100%;justify-content:center}body .fpd-container input,body .fpd-container textarea{color:var(--fpd-input-text-color);box-shadow:0 0 4px rgba(110,111,114,.22);border:none;border-radius:var(--fpd-border-radius);padding:10px;margin-bottom:10px;appearance:none;-moz-appearance:textfield;resize:none;font-size:16px;border:1px solid transparent}body .fpd-container input[type=text],body .fpd-container textarea[type=text]{width:100%}body .fpd-container input:focus,body .fpd-container textarea:focus{box-shadow:0 0 4px rgba(110,111,114,.22);border:1px solid var(--fpd-secondary-color)}body .fpd-container textarea{width:100%;min-height:100px}body .fpd-container select{box-shadow:0 0 4px rgba(110,111,114,.22);border-radius:var(--fpd-border-radius);border:1px solid transparent}body .fpd-container select:focus{box-shadow:0 0 4px rgba(110,111,114,.22);border:1px solid var(--fpd-secondary-color)}body .fpd-container .fpd-input-back-search,body .fpd-container .fpd-input-search{display:flex;box-shadow:0 0 4px rgba(110,111,114,.22);height:40px;border-radius:4px;flex:1}body .fpd-container .fpd-input-back-search input,body .fpd-container .fpd-input-search input{flex:1;box-shadow:none!important;margin:0;padding:0 5px;line-height:1;border:none!important}body .fpd-container .fpd-input-back-search span,body .fpd-container .fpd-input-search span{width:20px;align-self:center;text-align:center;font-size:16px;margin-right:5px}body .fpd-container .fpd-input-back-search .fpd-input-search{border-top-left-radius:0;border-bottom-left-radius:0;box-shadow:none!important}body .fpd-container .fpd-input-back-search .fpd-back{color:var(--fpd-module-secondary-text-color);border:none!important;background:rgba(0,0,0,.03)!important;line-height:1;padding:9px 8px!important;display:inline-block;width:32px;height:100%;text-align:center;margin:0!important;border-top-right-radius:0;border-bottom-right-radius:0}body .fpd-container .fpd-input{display:flex;width:100%;align-items:center;box-shadow:0 0 4px rgba(110,111,114,.22);overflow:hidden;border-radius:var(--fpd-border-radius);border:1px solid transparent}body .fpd-container .fpd-input [class^=fpd-icon-],body .fpd-container .fpd-input span{padding:2px 6px;flex:0 30px;margin-right:5px;text-align:center;border-right:1px solid var(--fpd-border-color)}body .fpd-container .fpd-input span{flex:0 auto;text-align:left;white-space:nowrap}body .fpd-container .fpd-input input{box-shadow:none;margin:0;padding:5px;flex:1;width:100%;border-radius:0;border:none!important}body .fpd-container .fpd-input fpd-range-slider{flex-basis:100%}body .fpd-container .fpd-input .fpd-slider-number{flex:0 70px;text-align:center;border:1px solid var(--fpd-border-color)!important;border-radius:var(--fpd-border-radius);margin:3px 3px 3px 5px}body .fpd-container .fpd-input .fpd-slider-number:focus{border-color:var(--fpd-secondary-color)!important}.fpd-module-tabs{display:flex;background:var(--fpd-module-secondary-color);color:var(--fpd-module-secondary-text-color)}.fpd-module-tabs>div{flex:1;text-align:center;cursor:pointer;padding:8px 0;font-size:20px}.fpd-module-tabs>div:hover{background:rgba(0,0,0,.03)}.fpd-module-tabs>div.fpd-active{background:var(--fpd-primary-fg-color);color:var(--fpd-secondary-color)}.fpd-module-tabs>div>span{pointer-events:none}.fpd-module-tabs-content{height:100%}.fpd-module-tabs-content>div{display:none;height:100%}.fpd-module-tabs-content>div.fpd-active{display:block}.fpd-sidebar .fpd-module-tabs{top:50px}.fpd-hide-tabs .fpd-module-tabs{display:none!important}.fpd-snackbar-wrapper{position:fixed;left:12px;bottom:0;z-index:100000}.fpd-snackbar-wrapper .fpd-snackbar{background:var(--fpd-snackbar-bg-color);margin-bottom:10px;color:#fff;line-height:18px;font-size:14px;min-width:288px;max-width:568px;overflow-y:hidden;border-radius:2px;-webkit-transition:all .3s ease-out;transition:all .3s ease-out}.fpd-snackbar-wrapper .fpd-snackbar p{margin:0;padding:16px 24px}.fpd-snackbar-wrapper .fpd-snackbar.fpd-show-up{max-height:300px}.fpd-modal-overlay{position:absolute!important;width:100%!important;bottom:0!important;right:0!important;top:0!important;left:0!important;background:rgba(0,0,0,.5);z-index:10000;overflow:auto}.fpd-modal-overlay>.fpd-modal-inner{display:flex;align-items:center;background:#fff;width:450px;min-height:200px;position:absolute;left:50%;top:30%;padding:40px;z-index:10020;max-width:100%;transform:translateX(-50%);box-sizing:border-box;border-radius:var(--fpd-border-radius)}.fpd-modal-overlay>.fpd-modal-inner>.fpd-modal-close{position:absolute;right:15px;top:15px;font-size:16px;cursor:pointer;opacity:.6;transition:opacity .2s ease-out}.fpd-modal-overlay>.fpd-modal-inner>.fpd-modal-close:hover{opacity:1}.fpd-modal-overlay>.fpd-modal-inner>.fpd-modal-content{flex:1 100%;text-align:center;color:rgba(0,0,0,.7);line-height:22px;word-break:break-word}.fpd-modal-overlay.fpd-fullscreen>.fpd-modal-inner{width:100%;height:100%;top:0;overflow:auto;border-radius:0}.fpd-modal-overlay.fpd-modal-internal{z-index:10000000000}.fpd-modal-overlay.fpd-modal-product-designer,.fpd-overflow-hidden .fpd-modal-overlay{position:fixed!important}.fpd-modal-internal[data-type=prompt] input{width:100%;display:block}.fpd-modal-internal[data-type=prompt]{text-align:center}.fpd-modal-internal[data-type=confirm]{text-align:center}.fpd-modal-internal .fpd-confirm-msg{margin-bottom:10px}.fpd-modal-product-designer{display:none;pointer-events:none;overflow:hidden!important}.fpd-modal-product-designer.fpd-show{display:block;pointer-events:all}.fpd-modal-product-designer>.fpd-modal-inner{padding:0}.fpd-modal-product-designer>.fpd-modal-inner>.fpd-wrapper{flex:1 100%;margin:0 0!important;height:100%;box-shadow:none!important}.fpd-modal-product-designer>.fpd-modal-inner>.fpd-wrapper fpd-main-bar{height:calc(100% - var(--fpd-actions-bar-height))!important}.fpd-modal-product-designer>.fpd-modal-inner>.fpd-wrapper.fpd-layout-small fpd-main-wrapper{height:calc(100% - var(--fpd-actions-bar-height) - var(--fpd-sidebar-nav-width))!important}body.fpd-modal-mode-active:not(.fpd-modal-designer-visible) fpd-element-toolbar{display:none!important}.fpd-container .fpd-modal-content fpd-module-save-load{padding:0}.fpd-container .fpd-modal-content fpd-module-save-load .fpd-saved-designs{max-height:200px}.fpd-list{width:100%;overflow:auto}.fpd-list>.fpd-list-row{display:flex;font-size:15px;overflow:hidden;cursor:pointer;transition:background .3s ease-out}.fpd-list>.fpd-list-row>.fpd-cell-full{flex:1 100%}.fpd-list>.fpd-list-row>div{padding:22px 0;flex:1}.fpd-list .fpd-sortable-placeholder{background:rgba(0,0,0,.05);border:2px dotted var(--fpd-border-color);height:65px}.fpd-container fpd-range-slider{display:block;margin-top:3px}.fpd-container fpd-range-slider input[type=range]{margin:0;padding:0;box-shadow:none;width:100%}.fpd-container fpd-range-slider input[type=range]:focus{outline:0}.fpd-container fpd-range-slider input[type=range]::-webkit-slider-runnable-track{height:var(--fpd-track-height);border:1px solid var(--fpd-border-color);border-radius:4px;background:var(--fpd-light-bg-color)}.fpd-container fpd-range-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:1em;background:#fff;border:2px solid var(--fpd-secondary-color);margin-top:calc((var(--fpd-track-height) * .5 - 1px) - (20px * .5));cursor:pointer}.fpd-container fpd-range-slider input[type=range]::-webkit-slider-thumb:hover{scale:1.2}.fpd-container fpd-range-slider.fpd-progress input[type=range]{--range:calc(var(--max) - var(--min));--ratio:calc((var(--value) - var(--min)) / var(--range));--sx:calc(0.5 * 20px + var(--ratio) * (100% - 20px))}.fpd-container fpd-range-slider.fpd-progress input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(var(--fpd-secondary-color),var(--fpd-secondary-color)) 0/var(--sx) 100% no-repeat,var(--fpd-light-bg-color)}.fpd-container fpd-range-slider input[type=range]::-moz-range-track{height:var(--fpd-track-height);border:1px solid var(--fpd-border-color);border-radius:4px;background:var(--fpd-light-bg-color)}.fpd-container fpd-range-slider input[type=range]::-moz-range-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:1em;background:#fff;border:2px solid var(--fpd-secondary-color);margin-top:calc((var(--fpd-track-height) * .5 - 1px) - (20px * .5));cursor:pointer}.fpd-container fpd-range-slider input[type=range]::-moz-range-thumb:hover{scale:1.2}.fpd-container fpd-range-slider.fpd-progress input[type=range]::-moz-range-track{background:linear-gradient(var(--fpd-secondary-color),var(--fpd-secondary-color)) 0/var(--sx) 100% no-repeat,var(--fpd-light-bg-color)}.fpd-container .fpd-color-panel>.fpd-scroll-area{height:auto;max-height:100px;margin-bottom:10px}.fpd-container .fpd-color-panel>*{margin-bottom:10px}.fpd-container .fpd-color-panel>:last-child{margin-bottom:0}.fpd-container .picker_wrapper{width:100%;box-shadow:none;background:0 0;padding:0}.fpd-container .picker_wrapper.popup{width:200px;max-width:200px;padding:10px;display:flex;min-height:200px;background:#f6f6f6;margin:0;transform:translate(-50%,10px);border-radius:var(--fpd-border-radius);box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12)}.fpd-container .picker_wrapper>*{margin:0 0 10px}.fpd-container .picker_wrapper .picker_sample,.fpd-container .picker_wrapper .picker_sl,.fpd-container .picker_wrapper .picker_slider{box-shadow:none}.fpd-container .picker_wrapper .picker_selector{border:2px solid rgba(0,0,0,.4);background:rgba(255,255,255,.5);border-radius:50%;box-shadow:none;width:15px;height:15px;padding:0}.fpd-container .picker_wrapper .picker_sl{margin-top:0;height:100%;border-radius:var(--fpd-border-radius)}.fpd-container .picker_wrapper .picker_sl:before{height:100px;padding:0;border:1px solid var(--fpd-border-color);border-radius:var(--fpd-border-radius)}.fpd-container .picker_wrapper .picker_sl .picker_selector{transform-origin:center}.fpd-container .picker_wrapper .picker_hue{order:1;height:15px;padding:0;border:1px solid var(--fpd-border-color);border-radius:var(--fpd-border-radius)}.fpd-container .picker_wrapper .picker_hue .picker_selector{transform:translate(-50%,0);top:-1px}.fpd-container .picker_wrapper .picker_editor{width:auto;flex:0 80%;max-width:100px;margin-bottom:0}.fpd-container .picker_wrapper .picker_editor input{font-size:16px;height:28px;box-shadow:none!important;border:1px solid var(--fpd-border-color);margin-bottom:0}.fpd-container .picker_wrapper .picker_sample{height:28px;cursor:pointer;text-align:center;flex:0 30px;margin-bottom:0}.fpd-container .picker_wrapper .picker_sample:before{border-radius:var(--fpd-border-radius);border:1px solid var(--fpd-border-color)}.fpd-container .picker_wrapper .picker_sample span{position:relative;display:inline-block;margin-top:3px;font-size:16px;color:#fff;text-shadow:0 0 #000}.fpd-container .picker_wrapper .picker_arrow,.fpd-container .picker_wrapper .picker_done{display:none}.fpd-container .fpd-colorpicker-wrapper{position:relative;padding:0 10px;width:100%}.fpd-container .fpd-colorpicker-wrapper .fpd-scroll-area{max-height:100px;overflow-x:hidden;margin-top:10px}.fpd-container .fpd-color-palette,.fpd-container .fpd-patterns-wrapper{display:flex;flex-wrap:wrap;gap:6px}.fpd-container .fpd-color-palette .fpd-item,.fpd-container .fpd-patterns-wrapper .fpd-item{width:24px;height:24px;border:2px solid rgba(0,0,0,.1);border-radius:var(--fpd-border-radius);transition:all .2s ease;background-repeat:repeat;cursor:pointer}.fpd-container .fpd-color-palette .fpd-item:hover,.fpd-container .fpd-patterns-wrapper .fpd-item:hover{border-color:rgba(0,0,0,.2)}.fpd-container .fpd-color-palette.fpd-sub-show>.fpd-item,.fpd-container .fpd-patterns-wrapper.fpd-sub-show>.fpd-item{scale:.7}.fpd-container .fpd-color-palette.fpd-sub-show>.fpd-item.fpd-active,.fpd-container .fpd-patterns-wrapper.fpd-sub-show>.fpd-item.fpd-active{scale:1}.fpd-container .fpd-has-subpanel>.fpd-color-palette>.fpd-scroll-area{margin-top:5px;flex:1 1 100%}.fpd-main-tooltip{position:fixed;background:var(--fpd-tooltip-bg-color);color:#fff;padding:5px;font-size:14px;min-width:30px;top:0;left:0;border-radius:var(--fpd-border-radius);pointer-events:none;transform:scale(0);opacity:0;z-index:10000000000;visibility:hidden;transition:transform .1s ease}.fpd-main-tooltip.fpd-show{visibility:visible;opacity:1;transform:scale(1)}.fpd-thumbnail-preview{width:350px;height:250px;padding:10px;border-width:1px;background:#fff;position:absolute;top:0;left:0;z-index:9999999999999;border-radius:var(--fpd-border-radius)}.fpd-thumbnail-preview.fpd-title-enabled{padding-bottom:30px}.fpd-thumbnail-preview>picture{display:block;width:100%;height:100%;background-size:contain;background-repeat:no-repeat;background-position:top center}.fpd-thumbnail-preview>.fpd-preview-title{position:absolute;left:0;bottom:5px;width:100%;font-size:14px;text-align:center;margin-top:30px}.fpd-thumbnail-preview>.fpd-price{background:rgba(0,0,0,.7);position:absolute;right:20px;top:15px;padding:2px 5px 2px 7px;font-size:12px;color:#fff;border-radius:var(--fpd-border-radius)}.fpd-thumbnail-preview>.fpd-image-quality-ratings{background:rgba(0,0,0,.7);position:absolute;left:20px;top:15px;border-radius:4px;padding:2px 5px;color:#fff;text-align:left}.fpd-thumbnail-preview>.fpd-image-quality-ratings>span{font-size:18px;color:var(--fpd-image-quality-start-color)}.fpd-thumbnail-preview>.fpd-image-quality-ratings>.fpd-image-quality-rating-label{color:#fff;display:block;padding-top:2px;font-size:10px;text-transform:uppercase}.fpd-editor-box-wrapper{margin:20px 0;background:rgba(0,0,0,.05);padding:10px}.fpd-editor-box-wrapper .fpd-eb-title{font-size:16px;margin-bottom:10px}.fpd-editor-box-wrapper .fpd-eb-grid{display:flex;flex-flow:row wrap}.fpd-editor-box-wrapper .fpd-eb-grid>div{flex:1 0 50%;padding:0 10px 0 0}.fpd-editor-box-wrapper .fpd-eb-grid>div span{text-transform:uppercase}.fpd-dragged-image{position:absolute;background-size:90%;background-repeat:no-repeat;background-position:center;background-color:#fff;width:200px;height:200px;top:0;left:0;cursor:move;transition:transform .1s ease-in-out;transform-origin:center center;transform:scale(0);z-index:100000000000;pointer-events:none}.fpd-dragged-image.fpd-animate{transform:scale(1)}.fpd-container input.fpd-switch{appearance:none;background-color:var(--fpd-light-grey-color)!important;border-radius:70px;border-style:none;height:20px;margin:0;position:relative;width:35px;box-shadow:none;cursor:pointer}.fpd-container input.fpd-switch:before{bottom:-6px;content:"";left:-6px;position:absolute;right:-6px;top:-6px}.fpd-container input.fpd-switch:after{background-color:#fff;border-radius:50%;content:"";height:14px;left:3px;position:absolute;top:3px;width:14px;transition:all .1s ease-out}.fpd-container input.fpd-switch:hover{opacity:.9;transition-duration:0s}.fpd-container input.fpd-switch:checked{background-color:var(--fpd-secondary-color)!important}.fpd-container input.fpd-switch:checked:after{background-color:#fff;left:18px}.fpd-container .fpd-switch-wrapper{display:flex;justify-content:center}.fpd-container .fpd-switch-wrapper label{margin-left:10px}.fpd-container .fpd-grid{overflow:hidden;display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:100px;gap:0 0}.fpd-container .fpd-grid>.fpd-item{cursor:pointer;display:flex;align-items:center;justify-content:center;flex-flow:column;position:relative}.fpd-container .fpd-grid>.fpd-item>img,.fpd-container .fpd-grid>.fpd-item>picture{opacity:1;transition:opacity .3s ease-out;pointer-events:none}.fpd-container .fpd-grid>.fpd-item:hover>img,.fpd-container .fpd-grid>.fpd-item:hover>picture{opacity:.8}.fpd-container .fpd-grid>.fpd-item>picture{width:90%;height:90%;background-position:center center;background-repeat:no-repeat}.fpd-container .fpd-grid>.fpd-item>.fpd-delete{position:absolute;font-size:18px;top:5px;right:5px;cursor:pointer}.fpd-container .fpd-grid>.fpd-item>.fpd-price{position:absolute;right:5px;bottom:5px;background:rgba(0,0,0,.7);color:#fff;font-size:10px;line-height:1;padding:3px 4px;border-radius:2px}.fpd-container .fpd-grid>.fpd-item.fpd-loading picture{filter:blur(2px)}.fpd-container .fpd-grid.fpd-grid-cover>.fpd-item>picture{background-size:cover}.fpd-container .fpd-grid.fpd-grid-contain>.fpd-item>picture{background-size:contain}.fpd-container .fpd-grid.fpd-photo-grid{gap:6px}.fpd-container .fpd-grid.fpd-photo-grid>.fpd-item>picture{width:100%;height:100%;border-radius:var(--fpd-border-radius)}.fpd-container .fpd-grid.fpd-padding{gap:5px}.fpd-container .fpd-grid>.fpd-category.fpd-item{background:var(--fpd-module-secondary-color);color:var(--fpd-module-secondary-text-color);height:100px!important;border-radius:2px}.fpd-container .fpd-grid>.fpd-category.fpd-item:nth-child(-n+2){margin-top:0}.fpd-container .fpd-grid>.fpd-category.fpd-item:nth-child(2n+2){margin-right:0}.fpd-container .fpd-grid>.fpd-category.fpd-item>picture{height:55%}.fpd-container .fpd-grid>.fpd-category.fpd-item>span{text-transform:uppercase;margin-top:5px;font-size:10px;text-align:center;width:100%;white-space:nowrap}.fpd-container .fpd-grid>.fpd-category.fpd-item.fpd-title-centered>span{bottom:50%;font-size:14px;white-space:normal;transform:translateY(50%)}.fpd-grid>.fpd-item>picture.fpd-on-loading,.fpd-thumbnail-preview picture.fpd-on-loading{width:30px!important;height:30px!important;background-size:auto;background-image:var(--fpd-loading-svg)}.fpd-shadow-1{box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12)}.fpd-shadow-2{box-shadow:0 8px 17px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19)}.fpd-shadow-3{box-shadow:0 12px 15px 0 rgba(0,0,0,.24),0 17px 50px 0 rgba(0,0,0,.19)}.fpd-shadow-4{box-shadow:0 16px 28px 0 rgba(0,0,0,.22),0 25px 55px 0 rgba(0,0,0,.21)}.fpd-shadow-5{box-shadow:0 27px 24px 0 rgba(0,0,0,.2),0 40px 77px 0 rgba(0,0,0,.22)}.fpd-shadow-6:after,.fpd-shadow-6:before{z-index:-1;position:absolute;content:"";bottom:15px;left:10px;width:50%;top:80%;max-width:300px;background:#777;box-shadow:0 15px 10px #777;transform:rotate(-3deg)}.fpd-shadow-6:after{transform:rotate(3deg);right:10px;left:auto}.fpd-shadow-7{position:relative;box-shadow:0 1px 4px rgba(0,0,0,.3),0 0 40px rgba(0,0,0,.1) inset}.fpd-shadow-7:after,.fpd-shadow-7:before{content:"";position:absolute;z-index:-1;box-shadow:0 0 20px rgba(0,0,0,.8);top:50%;bottom:0;left:10px;right:10px;border-radius:100px/10px}.fpd-shadow-8{position:relative;box-shadow:0 1px 4px rgba(0,0,0,.3),0 0 40px rgba(0,0,0,.1) inset}.fpd-shadow-8:after,.fpd-shadow-8:before{content:"";position:absolute;z-index:-1;box-shadow:0 0 20px rgba(0,0,0,.8);top:0;bottom:0;left:10px;right:10px;border-radius:100px/10px}.fpd-shadow-8:after{right:10px;left:auto;transform:skew(8deg) rotate(3deg)}.fpd-shadow-9{box-shadow:0 1px 4px rgba(0,0,0,.3),0 0 40px rgba(0,0,0,.1) inset}.fpd-shadow-9:after,.fpd-shadow-9:before{content:"";position:absolute;z-index:-1;box-shadow:0 0 20px rgba(0,0,0,.8);top:10px;bottom:10px;left:0;right:0;border-radius:100px/10px}.fpd-shadow-9:after{right:10px;left:auto;transform:skew(8deg) rotate(3deg)}.mobile-close{display:none;width:100%;font-size:18px;text-align:center;position:absolute;top:0;right:0;left:auto;bottom:auto;height:30px;line-height:30px;background:var(--fpd-primary-fg-color);z-index:1000;cursor:pointer;border-top-left-radius:8px;border-top-right-radius:8px;box-shadow:none;border:none}.mobile-close:before{content:"";position:absolute;height:4px;width:60px;background:var(--fpd-border-color);top:10px;left:50%;transform:translateX(-50%);border-radius:2px}.mobile-close .fpd-icon-close{display:none}fpd-main-bar{display:flex;position:relative;background:var(--fpd-primary-fg-color)}fpd-main-bar>.fpd-close{display:none;position:absolute;bottom:calc(var(--fpd-topbar-nav-height));left:-100%;width:50px;height:50px;padding:0 15px;line-height:50px;text-align:center;font-size:16px;background:rgba(255,255,255,.96);z-index:99;cursor:pointer;border-top:1px solid var(--fpd-border-color);border-right:1px solid var(--fpd-border-color);border-radius:0 4px 0 0;box-shadow:1px 1px 3px 0 rgba(0,0,0,.1)}fpd-main-bar .fpd-navigation>.fpd-nav-item{display:flex;align-items:center;margin:15px 7px;padding:5px;text-align:center;cursor:pointer;border-radius:var(--fpd-border-radius);background:0 0;transition:all .3s ease}fpd-main-bar .fpd-navigation>.fpd-nav-item .fpd-nav-icon:before{color:var(--fpd-mainbar-nav-color)}fpd-main-bar .fpd-navigation>.fpd-nav-item svg{width:24px;max-height:30px;vertical-align:middle}fpd-main-bar .fpd-navigation>.fpd-nav-item svg *{fill:var(--fpd-mainbar-nav-color)}fpd-main-bar .fpd-navigation>.fpd-nav-item:hover{opacity:.8}fpd-main-bar .fpd-navigation>.fpd-nav-item.fpd-active{position:relative;color:var(--fpd-secondary-color)}fpd-main-bar .fpd-navigation>.fpd-nav-item.fpd-active .fpd-nav-icon:before{color:var(--fpd-secondary-color)}fpd-main-bar .fpd-navigation>.fpd-nav-item.fpd-active svg *{fill:var(--fpd-secondary-color)}fpd-main-bar .fpd-navigation>.fpd-nav-item.fpd-active:before{position:absolute;content:'';top:0;left:0;width:100%;height:100%;background:var(--fpd-secondary-color);opacity:.1;border-radius:var(--fpd-border-radius)}.fpd-container.fpd-sidebar .fpd-navigation{flex:0 0 var(--fpd-sidebar-nav-width);overflow:auto}.fpd-container.fpd-sidebar .fpd-navigation>div>span{padding:10px 0;display:inline-block;font-size:28px}.fpd-container.fpd-sidebar .fpd-navigation>div>.fpd-label{display:block;font-size:12px;line-height:14px;padding:0;word-break:break-word}.fpd-container.fpd-sidebar>fpd-main-bar{height:100%;flex:0 var(--fpd-sidebar-width);overflow:hidden;border-right:1px solid var(--fpd-border-color)}.fpd-container.fpd-sidebar>fpd-main-bar .fpd-navigation{border-right:1px solid var(--fpd-border-color)}.fpd-container.fpd-sidebar>fpd-main-bar .fpd-navigation>.fpd-nav-item{flex-direction:column}.fpd-container.fpd-sidebar>fpd-main-bar>.fpd-module-content{flex:1}.fpd-container.fpd-sidebar.fpd-layout-medium{--fpd-sidebar-width:350px}.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-wrapper{order:2;flex-basis:100%}.fpd-container.fpd-sidebar.fpd-layout-small:not(.fpd-no-modules-mode) fpd-main-wrapper{margin-bottom:var(--fpd-sidebar-nav-width)}.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-bar{height:auto!important;width:100%;flex-basis:auto;flex-flow:row wrap;z-index:999999999999;position:absolute;left:0;bottom:0;overflow:visible;border:none}.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-bar>.fpd-navigation{display:flex;flex:1 0 100%;height:var(--fpd-sidebar-nav-width);min-height:auto;order:2;align-self:flex-end;border-right:none;border-top:1px solid var(--fpd-border-color)}.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-bar>.fpd-navigation>.fpd-nav-item{flex:1 0 auto;white-space:nowrap;padding:0 20px;margin:5px 5px 8px}.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-bar>.fpd-navigation>.fpd-nav-item>span:first-child{height:45px;padding-top:10px;padding-bottom:0}.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-bar>.fpd-navigation>.fpd-nav-item .fpd-label{line-height:1}.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-bar>.fpd-module-content,.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-bar>.fpd-secondary-content{padding-top:30px;flex:1 0 100%;height:calc(100% - var(--fpd-sidebar-nav-width));min-height:auto;display:none}.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-bar>.fpd-close{display:none;width:100%;font-size:18px;text-align:center;position:absolute;top:0;right:0;left:auto;bottom:auto;height:30px;line-height:30px;background:var(--fpd-primary-fg-color);z-index:1000;cursor:pointer;border-top-left-radius:8px;border-top-right-radius:8px;box-shadow:none;border:none}.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-bar>.fpd-close:before{content:"";position:absolute;height:4px;width:60px;background:var(--fpd-border-color);top:10px;left:50%;transform:translateX(-50%);border-radius:2px}.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-bar>.fpd-close .fpd-icon-close{display:none}.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-bar:not(.fpd-no-modules-mode) .fpd-secondary-content{height:100%}.fpd-container.fpd-sidebar.fpd-layout-small.fpd-module-visible fpd-main-bar,.fpd-container.fpd-sidebar.fpd-layout-small.fpd-secondary-visible fpd-main-bar{height:100%!important}.fpd-container.fpd-sidebar.fpd-layout-small.fpd-module-visible .fpd-module-content{display:block!important}.fpd-container.fpd-sidebar.fpd-secondary-visible .fpd-secondary-content{display:block!important}.fpd-off-canvas fpd-main-bar,.fpd-topbar fpd-main-bar{flex-basis:100%;order:2;height:auto!important}.fpd-off-canvas fpd-main-bar .fpd-navigation,.fpd-topbar fpd-main-bar .fpd-navigation{display:flex;flex-wrap:wrap;flex-direction:column;flex-basis:100%;height:var(--fpd-topbar-nav-height);padding:5px;overflow-x:auto;border-bottom:1px solid var(--fpd-border-color)}.fpd-off-canvas fpd-main-bar .fpd-navigation>div,.fpd-topbar fpd-main-bar .fpd-navigation>div{height:100%;padding:0 20px;margin:0;white-space:nowrap;flex-grow:1;flex-basis:auto}.fpd-off-canvas fpd-main-bar .fpd-navigation>div>span,.fpd-topbar fpd-main-bar .fpd-navigation>div>span{line-height:65px;font-size:26px}.fpd-off-canvas fpd-main-bar .fpd-navigation>div>.fpd-label,.fpd-topbar fpd-main-bar .fpd-navigation>div>.fpd-label{font-size:15px;padding-left:10px;vertical-align:top;text-transform:uppercase;white-space:nowrap}.fpd-off-canvas fpd-main-bar>.fpd-module-content,.fpd-topbar fpd-main-bar>.fpd-module-content{display:none}.fpd-topbar fpd-main-bar>.fpd-close{display:none!important}.fpd-off-canvas{overflow:hidden}.fpd-off-canvas fpd-main-bar{order:3}.fpd-off-canvas fpd-main-bar>.fpd-close{display:block}.fpd-off-canvas fpd-main-bar .fpd-navigation{border-top:1px solid var(--fpd-border-color)}.fpd-off-canvas fpd-main-bar .fpd-module-content,.fpd-off-canvas fpd-main-bar .fpd-secondary-content{height:var(--fpd-content-height);width:var(--fpd-off-canvas-width);left:calc(-2 * var(--fpd-off-canvas-width));bottom:var(--fpd-topbar-nav-height);border-right:1px solid var(--fpd-border-color);position:absolute;display:block;z-index:100;background:rgba(255,255,255,.96);box-shadow:2px 0 8px 0 rgba(0,0,0,.1)}.fpd-off-canvas fpd-main-bar.fpd-show .fpd-module-content{left:0}.fpd-off-canvas fpd-main-bar.fpd-show>.fpd-close{left:var(--fpd-off-canvas-width);margin-left:-1px}.fpd-off-canvas fpd-main-bar:not(.fpd-is-dragging) .fpd-close,.fpd-off-canvas fpd-main-bar:not(.fpd-is-dragging) .fpd-module-content{transition:left .3s cubic-bezier(.215,.61,.355,1)}.fpd-off-canvas.fpd-secondary-visible fpd-main-bar .fpd-secondary-content{left:0}.fpd-off-canvas.fpd-secondary-visible fpd-main-bar>.fpd-close{left:var(--fpd-off-canvas-width);margin-left:-1px}.fpd-off-canvas.fpd-layout-small fpd-main-bar .fpd-close{width:40px;height:40px;line-height:40px;font-size:12px;padding:0}.fpd-off-canvas.fpd-layout-small fpd-main-bar .fpd-module-content{border:none}.fpd-module-content>*{height:100%;display:none}.fpd-module-content>*>div{height:100%;display:flex;flex-flow:column}.fpd-module-content>.fpd-active{display:block}.fpd-draggable-dialog{display:none;width:350px;height:450px;background:var(--fpd-primary-fg-color);position:fixed!important;left:calc(50% - 175px);top:calc(45% - 200px);min-width:200px;min-height:100px;z-index:1000000;border-radius:2px;max-width:100%;overflow:hidden;border-radius:6px}.fpd-draggable-dialog.fpd-show{display:flex;flex-flow:column nowrap}.fpd-draggable-dialog>.fpd-dialog-head{background:var(--fpd-primary-color);color:var(--fpd-primary-fg-color);display:flex;align-items:center;height:40px;font-size:15px;padding:0 0 0 12px;cursor:move;overflow:hidden;white-space:nowrap}.fpd-draggable-dialog>.fpd-dialog-head>.fpd-dialog-drag-handle{flex:1;overflow:hidden}.fpd-draggable-dialog>.fpd-dialog-head>.fpd-dialog-drag-handle .fpd-dialog-title{margin-left:6px;text-transform:uppercase}.fpd-draggable-dialog>.fpd-dialog-head>.fpd-close-dialog{font-size:14px;padding:0 12px;text-align:right;cursor:pointer;opacity:.8;transition:opacity .2s ease-out}.fpd-draggable-dialog>.fpd-dialog-head>.fpd-close-dialog:hover{opacity:1}.fpd-draggable-dialog>.fpd-module-content{flex:1;height:100%;overflow:hidden}.fpd-draggable-dialog.fpd-secondary-visible>.fpd-module-content{display:none}.fpd-draggable-dialog.fpd-secondary-visible>.fpd-secondary-content{display:block;overflow:hidden}.fpd-wrapper.fpd-module-visible.fpd-layout-small fpd-main-bar .fpd-close,.fpd-wrapper.fpd-module-visible.fpd-off-canvas fpd-main-bar .fpd-close,.fpd-wrapper.fpd-secondary-visible.fpd-layout-small fpd-main-bar .fpd-close,.fpd-wrapper.fpd-secondary-visible.fpd-off-canvas fpd-main-bar .fpd-close{display:block}.fpd-wrapper.fpd-secondary-visible fpd-main-bar .fpd-module-content{display:none!important}.fpd-wrapper.fpd-products-module-hidden .fpd-navigation .fpd-nav-item[data-module=products]{display:none!important}.fpd-wrapper.fpd-no-modules-mode fpd-main-bar .fpd-navigation,.fpd-wrapper.fpd-one-module-mode:not(.fpd-layout-small) fpd-main-bar .fpd-navigation{display:none!important}.fpd-secondary-content{display:none;flex:1}.fpd-secondary-content>*{display:none}.fpd-secondary-content>.fpd-active{display:block}.fpd-secondary-content .fpd-upload-zone-panel{display:flex;flex-flow:column;height:100%}.fpd-secondary-content .fpd-upload-zone-panel>.fpd-upload-zone-content{flex-basis:100%;overflow:hidden}.fpd-secondary-content .fpd-upload-zone-panel>.fpd-upload-zone-content>*{height:100%;display:none}.fpd-secondary-content .fpd-upload-zone-panel>.fpd-upload-zone-content>.fpd-active{display:block}.fpd-secondary-content .fpd-upload-zone-panel>.fpd-upload-zone-content>*>div{height:100%;display:flex;flex-flow:column}.fpd-secondary-content .fpd-upload-zone-panel>.fpd-bottom-nav>div{padding:11px;font-size:22px}.fpd-no-modules-mode.fpd-off-canvas .fpd-secondary-content{bottom:0}.fpd-container.fpd-main-bar-container fpd-main-bar{min-height:500px!important;min-width:300px;width:400px;border:1px solid var(--fpd-border-color);margin:20px 0}.fpd-main-bar-container-enabled fpd-main-wrapper{flex-basis:100%!important}.fpd-modal-mode-active .fpd-wrapper.fpd-layout-small fpd-main-bar{padding-bottom:env(safe-area-inset-bottom)}.fpd-container fpd-actions-bar{background:var(--fpd-actions-bar-bg-color);height:var(--fpd-actions-bar-height);flex:1 100%;display:flex;flex-flow:row nowrap;color:var(--fpd-primary-fg-color);align-items:center;padding:0 5px;justify-content:space-between}.fpd-container fpd-actions-bar>div{flex:1;font-size:16px;white-space:nowrap;max-width:33%;height:100%}.fpd-container fpd-actions-bar>div>.fpd-btn span{margin-left:5px}.fpd-container fpd-actions-bar>[data-pos=center] fpd-actions-menu>div{left:50%;transform:translateX(-50%)}.fpd-container fpd-actions-bar>[data-pos=center] .fpd-btn span{display:none}.fpd-container fpd-actions-bar>[data-pos=center] .fpd-switch{display:none}.fpd-container fpd-actions-bar>[data-pos=right] fpd-actions-menu>div{right:0;left:auto}.fpd-container fpd-actions-bar>[data-pos=right] fpd-actions-menu .fpd-dropdown-menu{text-align:left;right:0;left:auto}.fpd-container fpd-actions-bar>[data-pos=modal]{display:none}.fpd-container fpd-actions-bar fpd-actions-menu{display:flex;justify-content:center;max-width:100%;height:100%;position:relative}.fpd-container fpd-actions-bar fpd-actions-menu .fpd-collapsed-menu,.fpd-container fpd-actions-bar fpd-actions-menu .fpd-uncollapsed-menu{position:absolute;top:0;left:0;height:100%;display:flex}.fpd-container fpd-actions-bar fpd-actions-menu .fpd-uncollapsed-menu{max-width:none;white-space:nowrap;align-items:center;justify-content:center}.fpd-container fpd-actions-bar fpd-actions-menu .fpd-uncollapsed-menu .fpd-btn span{font-size:14px;margin-left:10px}.fpd-container fpd-actions-bar fpd-actions-menu .fpd-uncollapsed-menu .fpd-btn .fpd-switch{display:none}.fpd-container fpd-actions-bar fpd-actions-menu .fpd-collapsed-menu{align-items:center}.fpd-container fpd-actions-bar .fpd-btn,.fpd-container fpd-actions-bar .fpd-dropdown-btn{display:inline-block;position:relative;cursor:pointer;padding:7px 12px;margin:0 0 0 5px;border-radius:var(--fpd-border-radius);line-height:1;text-transform:capitalize;background:0 0}.fpd-container fpd-actions-bar .fpd-btn:hover,.fpd-container fpd-actions-bar .fpd-dropdown-btn:hover{opacity:1;background:rgba(255,255,255,.05)}.fpd-container fpd-actions-bar .fpd-btn>*,.fpd-container fpd-actions-bar .fpd-dropdown-btn>*{pointer-events:none;line-height:1;vertical-align:middle}.fpd-container fpd-actions-bar .fpd-btn.fpd-btn-fill,.fpd-container fpd-actions-bar .fpd-dropdown-btn.fpd-btn-fill{background:rgba(255,255,255,.1)}.fpd-container fpd-actions-bar .fpd-btn.fpd-btn-fill>span,.fpd-container fpd-actions-bar .fpd-dropdown-btn.fpd-btn-fill>span{display:inline-flex}.fpd-container fpd-actions-bar .fpd-btn{font-size:18px}.fpd-container fpd-actions-bar .fpd-dropdown-menu{display:none;position:absolute;top:100%;left:0;min-width:max-content;z-index:10000;background:#fff;border-radius:var(--fpd-border-radius);transform:translateY(5px);padding:5px 0}.fpd-container fpd-actions-bar .fpd-dropdown-menu>.fpd-btn{display:flex;color:var(--fpd-text-color);min-width:150px;margin:5px 10px;font-size:16px;padding:0;border-radius:var(--fpd-border-radius)}.fpd-container fpd-actions-bar .fpd-dropdown-menu>.fpd-btn:hover{background:rgba(0,0,0,.05)}.fpd-container fpd-actions-bar .fpd-dropdown-menu>.fpd-btn>*{pointer-events:auto;margin:10px}.fpd-container fpd-actions-bar .fpd-dropdown-menu>.fpd-btn>i{flex:0;margin-right:0}.fpd-container fpd-actions-bar .fpd-dropdown-menu>.fpd-btn>span{flex:1}.fpd-container fpd-actions-bar .fpd-dropdown-menu>.fpd-btn>.fpd-switch{margin-left:40px}.fpd-container fpd-actions-bar .fpd-dropdown-menu.fpd-show{display:block}.fpd-off-canvas fpd-actions-bar,.fpd-topbar fpd-actions-bar{order:1;display:flex}.fpd-off-canvas fpd-actions-bar{order:1!important}.fpd-container .fpd-modal-download>span{font-size:60px;cursor:pointer}.fpd-container .fpd-zoom-wrapper{display:flex;width:150px;background:#fff;border-radius:var(--fpd-border-radius);position:absolute;left:50%;top:0;transform:translate(-50%,50%);padding:10px}.fpd-container .fpd-zoom-wrapper>.fpd-stage-pan{margin-left:10px;font-size:14px;cursor:pointer}.fpd-container .fpd-zoom-wrapper>.fpd-stage-pan.fpd-active{color:var(--fpd-secondary-color)}.fpd-modal-product-designer fpd-actions-bar{justify-content:stretch}.fpd-modal-product-designer fpd-actions-bar [data-pos=right]{margin-left:auto}.fpd-modal-product-designer fpd-actions-bar [data-pos=modal]{flex:0;text-align:right;display:flex!important;padding:5px;align-items:center}.fpd-modal-product-designer fpd-actions-bar .fpd-total-price{line-height:20px;font-size:15px;display:inline-block!important}.fpd-modal-product-designer .fpd-wrapper.fpd-layout-small [data-pos=right] .fpd-dropdown-menu{transform:translate(50%,5px)}.fpd-wrapper.fpd-layout-small fpd-actions-bar{gap:2px}.fpd-wrapper.fpd-layout-small fpd-actions-bar>div{max-width:none}.fpd-wrapper.fpd-layout-small fpd-actions-bar .fpd-dropdown-btn>span{display:none}.fpd-wrapper.fpd-layout-small fpd-actions-bar [data-pos=left],.fpd-wrapper.fpd-layout-small fpd-actions-bar [data-pos=right]{max-width:45px}.fpd-wrapper.fpd-layout-small fpd-actions-bar [data-pos=modal]>.fpd-btn.fpd-done .fpd-label{display:none}.fpd-wrapper.fpd-layout-small fpd-actions-bar [data-pos=modal]>.fpd-btn.fpd-done i{font-size:14px}.fpd-wrapper.fpd-layout-small fpd-actions-bar [data-pos=modal]>.fpd-btn.fpd-close:last-child{padding-left:6px;padding-right:0;font-size:16px}.fpd-wrapper.fpd-off-canvas>fpd-main-wrapper,.fpd-wrapper.fpd-topbar>fpd-main-wrapper{flex-basis:100%}.fpd-wrapper.fpd-off-canvas>fpd-main-wrapper{order:2!important}.fpd-wrapper>fpd-main-wrapper{display:flex;overflow:hidden;flex:1 0;min-height:400px;background:var(--fpd-canvas-bg);transition:opacity .3s ease-out;order:3;position:relative}.fpd-wrapper>fpd-main-wrapper .fpd-product-stage{display:flex;justify-content:center;align-items:center;position:relative;direction:ltr;max-height:100%;margin:auto;width:100%}.fpd-wrapper>fpd-main-wrapper .fpd-product-stage>.fpd-view-stage{background:rgba(255,255,255,.7);height:100%}.fpd-wrapper>fpd-main-wrapper .fpd-product-stage>.fpd-view-stage textarea{left:-10000px!important;top:50%!important}.fpd-wrapper>fpd-main-wrapper .fpd-product-stage>.fpd-zoom-image{position:absolute;top:0;left:0;max-width:100%}.fpd-wrapper>fpd-main-wrapper.fpd-drag canvas{cursor:grab!important}.fpd-wrapper>fpd-main-wrapper>.fpd-warnings{position:absolute;width:90%;left:5%;top:20px;font-size:14px}.fpd-wrapper>fpd-main-wrapper>.fpd-warnings>.fpd-size-warning{display:flex;flex-direction:row;padding:12px;background:var(--fpd-yellow-color);color:var(--fpd-yellow-contrast-color);border-radius:var(--fpd-border-radius);border:1px solid var(--fpd-yellow-contrast-color);box-shadow:0 0 6px rgba(0,0,0,.1);justify-content:space-between;gap:10px}.fpd-wrapper>fpd-main-wrapper>.fpd-warnings>.fpd-size-warning .fpd-btn{background-color:#3f3f3f;margin:0;white-space:nowrap;max-height:35px}.fpd-wrapper>fpd-main-wrapper>.fpd-advanced-image-editor{width:100%;height:100%;position:absolute;left:0;top:0;background:#fff;z-index:100}.fpd-wrapper>fpd-main-wrapper>.fpd-advanced-image-editor .fpd-close{position:absolute;right:10px;top:10px;font-size:16px;z-index:1000;cursor:pointer;opacity:.6}.fpd-wrapper>fpd-main-wrapper>.fpd-advanced-image-editor .fpd-close:hover{opacity:1}.fpd-wrapper>fpd-main-wrapper>.fpd-advanced-image-editor .fpd-done{position:absolute;background:var(--fpd-secondary-color);color:var(--fpd-secondary-fg-color);border-radius:var(--fpd-border-radius);padding:6px 12px;right:10px;bottom:10px;font-size:16px;z-index:1000;cursor:pointer}.fpd-wrapper.fpd-layout-small .fpd-size-warning{flex-direction:column!important}.fpd-wrapper.fpd-layout-small .fpd-size-warning .fpd-btn{justify-content:center}.fpd-container fpd-views-nav{position:absolute;z-index:20;display:flex;align-items:center;gap:4px 8px;bottom:calc(10px + env(safe-area-inset-bottom));right:10px;background:#fff;box-shadow:0 0 10px rgba(110,111,114,.22);border-radius:var(--fpd-border-radius);min-height:35px;flex-wrap:wrap;justify-content:center;max-width:160px}.fpd-container fpd-views-nav>.fpd-view-locker{font-size:20px;cursor:pointer;margin-left:5px}.fpd-container fpd-views-nav>.fpd-view-locker .fpd-icon-locked{color:var(--fpd-secondary-color)}.fpd-container fpd-views-nav>.fpd-view-next,.fpd-container fpd-views-nav>.fpd-view-prev{display:flex;align-items:center;justify-content:center;width:30px;height:30px;font-size:18px;border-radius:50%;text-align:center;cursor:pointer;transform-origin:center center}.fpd-container fpd-views-nav>.fpd-view-next:hover,.fpd-container fpd-views-nav>.fpd-view-prev:hover{color:var(--fpd-secondary-color)}.fpd-container fpd-views-nav>.fpd-view-prev{rotate:-180deg}.fpd-container fpd-views-nav>.fpd-show-views-grid{display:flex;align-items:center;justify-content:center;cursor:pointer;line-height:1}.fpd-container fpd-views-nav>.fpd-show-views-grid>.fpd-icon-pages{font-size:18px;margin-right:4px}.fpd-container fpd-views-nav>.fpd-show-views-grid>.fpd-current-view{font-size:16px;margin-right:2px;padding-top:2px}.fpd-container fpd-views-nav>.fpd-show-views-grid>.fpd-total-views{display:inline-block;padding:4px 0;text-align:center;color:var(--fpd-dark-grey-color);font-size:12px}.fpd-container fpd-views-nav>.fpd-show-views-grid>.fpd-total-views:before{content:"/"}.fpd-container fpd-views-nav>.fpd-view-edit-size{display:flex;flex-direction:row;flex:1 1 100%;width:50px;border-bottom:1px solid var(--fpd-border-color)}.fpd-container fpd-views-nav>.fpd-view-edit-size .fpd-input{box-shadow:none;border-radius:0;border:none;height:100%}.fpd-container fpd-views-nav>.fpd-view-edit-size .fpd-input:first-child{border-top-left-radius:var(--fpd-border-radius)}.fpd-container fpd-views-nav>.fpd-view-edit-size .fpd-input>span{background:var(--fpd-border-color);padding:6px 6px}.fpd-container fpd-views-nav>.fpd-view-edit-size .fpd-input>input{padding:0;height:auto}.fpd-views-inside-left fpd-views-nav{left:10px;right:auto}.fpd-container fpd-views-grid{display:none;position:absolute;top:0;left:0;background:var(--fpd-light-bg-color);z-index:1000;flex-flow:column wrap}.fpd-container fpd-views-grid.fpd-show{display:flex}.fpd-container fpd-views-grid>.fpd-head{position:relative;min-height:40px}.fpd-container fpd-views-grid>.fpd-head>.fpd-btn{display:none}.fpd-container fpd-views-grid .fpd-grid{gap:35px 20px;display:flex;flex-flow:row wrap;padding:10px}.fpd-container fpd-views-grid .fpd-grid>.fpd-item{background:#fff;flex:1 0 45%;max-width:150px;height:150px;border-radius:var(--fpd-border-radius);overflow:hidden;padding:5px;cursor:default}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>picture{background-size:contain;margin:20px 0 5px;pointer-events:all;cursor:pointer}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>span{white-space:nowrap;display:block;overflow:hidden;font-size:12px}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-sort{position:absolute;left:5px;top:5px;font-size:18px;cursor:move}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-sort>*{pointer-events:none}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-options{position:absolute;top:5px;right:5px;padding:0 6px 2px;font-size:18px;line-height:1;cursor:pointer}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-options:hover{opacity:1}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-options>.fpd-dropdown-menu{position:absolute;display:none;flex-flow:column nowrap;text-align:right;top:100%;right:0;min-width:max-content;z-index:1000;background:#fff;color:var(--fpd-text-color);border-radius:var(--fpd-border-radius);transform:translateY(5px);padding:6px}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-options>.fpd-dropdown-menu>span{padding:4px;font-size:13px;min-width:90px;border-radius:4px}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-options>.fpd-dropdown-menu>span:hover{background:var(--fpd-light-bg-color)}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-options>.fpd-dropdown-menu.fpd-show{display:flex}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-edit-size-overlay{background:rgba(255,255,255,.98);position:absolute;width:100%;height:100%;display:none;flex-flow:row wrap;justify-content:center;align-items:center;padding:20px;gap:10px}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-edit-size-overlay>input{width:100%;background:#fff!important;margin:0;text-align:center;padding:7px}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-edit-size-overlay>.fpd-btn{display:inline-flex;width:min-content;margin:0;padding:3px 8px;font-size:12px;line-height:1}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-edit-size-overlay.fpd-show{display:flex}.fpd-container fpd-views-grid .fpd-grid>.fpd-item:first-child .fpd-dropdown-menu [data-option=delete]{display:none}.fpd-container fpd-views-grid .fpd-blank-page-modal,.fpd-container fpd-views-grid .fpd-layouts-modal{position:absolute;left:10px;top:10px;right:10px;bottom:10px;background:#fff;margin:10px;display:flex;flex-flow:column wrap;border-radius:var(--fpd-border-radius)}.fpd-container fpd-views-grid .fpd-blank-page-modal>.fpd-head,.fpd-container fpd-views-grid .fpd-layouts-modal>.fpd-head{position:relative;min-height:40px;display:flex}.fpd-container fpd-views-grid .fpd-blank-page-modal .fpd-scroll-area,.fpd-container fpd-views-grid .fpd-layouts-modal .fpd-scroll-area{margin-right:5px}.fpd-container fpd-views-grid .fpd-blank-page-modal .fpd-grid,.fpd-container fpd-views-grid .fpd-layouts-modal .fpd-grid{display:flex;flex-flow:row wrap;justify-content:space-between}.fpd-container fpd-views-grid .fpd-blank-page-modal .fpd-grid>.fpd-item,.fpd-container fpd-views-grid .fpd-layouts-modal .fpd-grid>.fpd-item{flex:0 0 200px;height:150px;cursor:pointer}.fpd-container fpd-views-grid .fpd-blank-page-modal .fpd-head{padding:10px}.fpd-container fpd-views-grid .fpd-blank-page-modal .fpd-head .fpd-input{width:max-content;margin-right:20px;max-width:150px}.fpd-container fpd-views-grid .fpd-blank-page-modal .fpd-head .fpd-input>input{width:100px}.fpd-container fpd-views-grid .fpd-blank-page-modal .fpd-head .fpd-btn{margin:0}.fpd-container fpd-views-grid .fpd-blank-page-modal .fpd-grid{justify-content:flex-start;align-items:center}.fpd-container fpd-views-grid .fpd-blank-page-modal .fpd-grid .fpd-item{flex:1 0 45%;text-align:center}.fpd-container fpd-views-grid.fpd-modal-visible>.fpd-head,.fpd-container fpd-views-grid.fpd-modal-visible>.fpd-scroll-area{filter:blur(5px)}.fpd-container fpd-views-grid .fpd-head{border-bottom:1px solid var(--fpd-border-color);padding:10px}.fpd-container fpd-views-grid .fpd-head .fpd-btn{margin:0 10px 5px 0}.fpd-container fpd-views-grid .fpd-close{position:absolute;right:10px;top:10px;font-size:14px;cursor:pointer}.fpd-container fpd-views-grid .fpd-scroll-area{flex:1;position:relative}.fpd-sidebar fpd-views-grid{left:var(--fpd-sidebar-nav-width);top:var(--fpd-actions-bar-height);width:calc(100% - var(--fpd-sidebar-nav-width));height:calc(100% - var(--fpd-actions-bar-height))}.fpd-wrapper.fpd-layout-small .fpd-blank-page-modal .fpd-head{flex-flow:row wrap;gap:10px;padding-top:40px}.fpd-wrapper.fpd-layout-small .fpd-blank-page-modal .fpd-head .fpd-input{flex:1 0 0;margin:0}.fpd-wrapper.fpd-layout-small .fpd-blank-page-modal .fpd-head .fpd-btn{text-align:center;width:100%;flex:0 0 100%}.fpd-sidebar.fpd-layout-small fpd-views-grid{width:100%;height:calc(100% - var(--fpd-sidebar-nav-width) - var(--fpd-actions-bar-height));left:0}.fpd-sidebar.fpd-layout-small fpd-views-grid .fpd-grid{justify-content:space-between}.fpd-sidebar.fpd-layout-small fpd-views-grid .fpd-layouts-modal .fpd-grid{gap:20px}.fpd-sidebar.fpd-layout-small fpd-views-grid .fpd-layouts-modal .fpd-grid .fpd-item{flex:0 calc(50% - 10px)}.fpd-off-canvas fpd-views-grid,.fpd-topbar fpd-views-grid{width:100%;height:100%}.fpd-wrapper.fpd-dynamic-views-enabled fpd-views-grid>.fpd-head>.fpd-btn{display:inline-block}fpd-element-toolbar{display:none;overflow:hidden;z-index:2;color:var(--fpd-text-color)}fpd-element-toolbar.fpd-show{display:flex!important}fpd-element-toolbar .fpd-close,fpd-element-toolbar .fpd-close-sub-panel{display:none;position:absolute;right:0;top:5px;height:30px;min-width:35px;padding:0 7px;line-height:30px;text-align:center;cursor:pointer;background:#fff;font-size:14px;transform:translateY(-100%);box-shadow:0 -1px 2px rgba(110,111,114,.2);border-top-left-radius:var(--fpd-border-radius);border-top-right-radius:var(--fpd-border-radius);gap:3px;align-items:center}fpd-element-toolbar .fpd-close-sub-panel>.fpd-label{font-size:12px}fpd-element-toolbar>.fpd-tools-nav{display:flex;flex-direction:column}fpd-element-toolbar>.fpd-tools-nav>div{display:flex}fpd-element-toolbar>.fpd-tools-nav>div>div{flex:1;padding:0 15px;white-space:nowrap;text-align:center;cursor:pointer}fpd-element-toolbar>.fpd-tools-nav>div>div>span[class^=fpd-icon-]{display:block;font-size:20px!important;line-height:28px}fpd-element-toolbar>.fpd-tools-nav>div>div>.fpd-label{margin-top:5px;font-size:11px;display:inline-block;line-height:1;vertical-align:bottom}fpd-element-toolbar>.fpd-tools-nav>div>div>.fpd-current-fill{display:block;margin:auto;width:28px;height:28px;border-radius:50%;border:2px solid rgba(0,0,0,.1)}fpd-element-toolbar>.fpd-tools-nav>div>div.fpd-active{color:var(--fpd-secondary-color)}fpd-element-toolbar .fpd-sub-panel{flex:1;overscroll-behavior:none}fpd-element-toolbar .fpd-sub-panel>div{display:none;height:100%;width:100%}fpd-element-toolbar .fpd-sub-panel>div>*{margin-bottom:10px}fpd-element-toolbar .fpd-sub-panel>div>:last-child{margin:0}fpd-element-toolbar .fpd-sub-panel>div.fpd-active{display:flex;flex-flow:column nowrap}fpd-element-toolbar .fpd-sub-panel>div.fpd-padding{padding:15px}fpd-element-toolbar .fpd-sub-panel>div .fpd-input{flex-flow:row wrap;box-shadow:none;overflow:visible}fpd-element-toolbar .fpd-sub-panel>div .fpd-input input,fpd-element-toolbar .fpd-sub-panel>div .fpd-input>span{flex:1;border:none}fpd-element-toolbar .fpd-sub-panel>div .fpd-input>span{padding:0}fpd-element-toolbar .fpd-sub-panel>div .fpd-input fpd-range-slider{order:3}fpd-element-toolbar .fpd-sub-panel>div .fpd-panel-tabs{display:flex;align-items:center}fpd-element-toolbar .fpd-sub-panel>div .fpd-panel-tabs>span{flex:1;text-align:center;padding:8px 0 6px 0;cursor:pointer;opacity:.7}fpd-element-toolbar .fpd-sub-panel>div .fpd-panel-tabs>span.fpd-active{color:var(--fpd-secondary-color);position:relative;opacity:1}fpd-element-toolbar .fpd-sub-panel>div .fpd-panel-tabs>span.fpd-active:after{background-color:var(--fpd-secondary-color);position:absolute;content:"";width:60%;height:2px;left:20%;bottom:0}fpd-element-toolbar .fpd-sub-panel>div .fpd-panel-tabs-content>div{display:none;padding:10px}fpd-element-toolbar .fpd-sub-panel>div .fpd-panel-tabs-content>div.fpd-active{display:block}fpd-element-toolbar .fpd-sub-panel>div .fpd-panel-tabs-content>div>*{margin-bottom:20px}fpd-element-toolbar .fpd-sub-panel>div .fpd-btn-group,fpd-element-toolbar .fpd-sub-panel>div .fpd-tools-group{display:flex;align-items:center;justify-content:center;text-align:center;gap:4px;flex-flow:row wrap}fpd-element-toolbar .fpd-sub-panel>div .fpd-btn-group>*,fpd-element-toolbar .fpd-sub-panel>div .fpd-tools-group>*{flex:1;border:1px solid var(--fpd-border-color);border-radius:var(--fpd-border-radius);font-size:13px;padding:5px 0;cursor:pointer;line-height:1;display:flex;justify-content:center;align-items:center;gap:5px}fpd-element-toolbar .fpd-sub-panel>div .fpd-btn-group>:hover,fpd-element-toolbar .fpd-sub-panel>div .fpd-tools-group>:hover{background:var(--fpd-light-bg-color)}fpd-element-toolbar .fpd-sub-panel>div .fpd-btn-group [class^=fpd-icon-],fpd-element-toolbar .fpd-sub-panel>div .fpd-tools-group [class^=fpd-icon-]{font-size:18px}fpd-element-toolbar .fpd-sub-panel>div .fpd-btn-group{border:1px solid var(--fpd-border-color)}fpd-element-toolbar .fpd-sub-panel>div .fpd-btn-group>*{border:none;border-radius:0}fpd-element-toolbar .fpd-sub-panel>div .fpd-btn-group>.fpd-active{color:var(--fpd-secondary-color)}fpd-element-toolbar .fpd-sub-panel>div .fpd-toggle.fpd-enabled{color:var(--fpd-secondary-color)}fpd-element-toolbar .fpd-sub-panel>div .fpd-tool-position-align>div{flex:1 0 32%}fpd-element-toolbar .fpd-sub-panel>div .fpd-tool-uniscaling-locker{font-size:18px;text-align:right}fpd-element-toolbar .fpd-sub-panel>div .fpd-curved-options{display:flex;gap:30px}fpd-element-toolbar .fpd-sub-panel>div .fpd-curved-options>span{flex:1;display:flex;justify-content:center;align-items:center;aspect-ratio:1/1;cursor:pointer;background:var(--fpd-light-bg-color);border-radius:var(--fpd-border-radius);padding:5px}fpd-element-toolbar .fpd-sub-panel>div .fpd-curved-options>span.fpd-active svg *{fill:var(--fpd-secondary-color)}fpd-element-toolbar .fpd-sub-panel .fpd-panel-color>.fpd-scroll-area{overflow:visible}fpd-element-toolbar .fpd-sub-panel .fpd-panel-color .fpd-colorpicker-wrapper{padding:0}fpd-element-toolbar .fpd-sub-panel .fpd-panel-font-family{flex-flow:column nowrap;height:100%}fpd-element-toolbar .fpd-sub-panel .fpd-panel-font-family .fpd-fonts-list{display:flex;flex-flow:column nowrap;height:100%;gap:20px}fpd-element-toolbar .fpd-sub-panel .fpd-panel-font-family .fpd-fonts-list>.fpd-item{cursor:pointer;font-size:16px;transition:all .2s ease-in-out}fpd-element-toolbar .fpd-sub-panel .fpd-panel-font-family .fpd-fonts-list>.fpd-item.fpd-active{color:var(--fpd-secondary-color)}fpd-element-toolbar .fpd-sub-panel .fpd-panel-font-family .fpd-fonts-list>.fpd-item:hover{padding-left:5px}fpd-element-toolbar .fpd-sub-panel .fpd-tool-filters{display:flex;flex-flow:row wrap;justify-content:flex-start;gap:35px 10px;padding-bottom:40px;overflow:auto;height:auto}fpd-element-toolbar .fpd-sub-panel .fpd-tool-filters>.fpd-item{flex:0 0 60px;height:60px;background-repeat:no-repeat;background-size:cover;position:relative}fpd-element-toolbar .fpd-sub-panel .fpd-tool-filters>.fpd-item:after{content:attr(aria-label);position:absolute;top:100%;left:0;line-height:14px;font-size:12px;overflow:hidden;transform:translateY(3px);max-width:inherit}fpd-element-toolbar .fpd-sub-panel .fpd-tool-crop-masks{display:flex;flex-flow:row wrap;justify-content:space-evenly;gap:40px 20px!important}fpd-element-toolbar .fpd-sub-panel .fpd-tool-crop-masks .fpd-item{flex:0 0 25%;height:70px;background-repeat:no-repeat;background-position:center;background-size:contain}fpd-element-toolbar.fpd-smart{display:none;background:#fff;position:fixed;top:50%;left:50%;max-width:var(--fpd-et-max-width);min-width:300px;border-radius:var(--fpd-border-radius);transform:translateX(-50%);z-index:10000000000;box-shadow:0 0 10px rgba(110,111,114,.22);overflow:visible}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>div{margin:10px 0}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>div>div{display:flex;flex-direction:column;justify-content:flex-start;flex:0}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools{justify-content:space-between;padding-left:5px}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools>div{padding:0 10px}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools .fpd-tool-text-size{flex:0 70px}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools .fpd-tool-text-size input{margin:0;width:100%;pointer-events:none;text-align:center}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools .fpd-tool-font-family{flex:1 180px}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools .fpd-tool-font-family fpd-dropdown{width:100%;pointer-events:none}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools .fpd-tool-font-family,fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools .fpd-tool-text-size{align-self:flex-end}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools .fpd-tool-font-family>[class^=fpd-icon-],fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools .fpd-tool-text-size>[class^=fpd-icon-]{display:none}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools .fpd-tool-font-family .fpd-label,fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools .fpd-tool-text-size .fpd-label{display:none}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-secondary-tools{padding-bottom:10px}fpd-element-toolbar.fpd-smart[data-element-type=image] .fpd-tools-nav{flex-direction:row}fpd-element-toolbar.fpd-smart[data-element-type=image] .fpd-tools-nav>div{margin:20px 0;overflow:hidden;flex:1 0 auto;max-width:none}fpd-element-toolbar.fpd-smart[data-element-type=image] .fpd-tools-nav>.fpd-secondary-tools{padding-bottom:0}fpd-element-toolbar.fpd-smart>.fpd-sub-panel{display:none;width:100%}fpd-element-toolbar.fpd-smart.fpd-panel-visible{width:var(--fpd-et-max-width)}fpd-element-toolbar.fpd-smart.fpd-panel-visible .fpd-close{display:none!important}fpd-element-toolbar.fpd-smart.fpd-panel-visible>.fpd-tools-nav{display:none!important}fpd-element-toolbar.fpd-smart.fpd-panel-visible>.fpd-sub-panel{display:flex}fpd-element-toolbar.fpd-smart.fpd-panel-visible>.fpd-sub-panel .fpd-panel-tabs-content.fpd-scroll-area{overflow:auto;max-height:200px}fpd-element-toolbar.fpd-smart.fpd-panel-visible>.fpd-sub-panel .fpd-panel-font-family .fpd-fonts-list{max-height:100px}fpd-element-toolbar.fpd-smart.fpd-panel-visible>.fpd-close-sub-panel{display:flex}fpd-element-toolbar.fpd-smart.fpd-show>.fpd-close{display:block}fpd-element-toolbar.fpd-smart .fpd-tool-crop-masks,fpd-element-toolbar.fpd-smart .fpd-tool-filters{display:flex;flex-wrap:nowrap;padding-bottom:30px;overflow-x:auto;overflow-y:hidden}fpd-element-toolbar.fpd-smart .fpd-tool-crop-masks{gap:0 20px!important;justify-content:flex-start}fpd-element-toolbar.fpd-smart .fpd-tool-crop-masks .fpd-item{height:50px}fpd-element-toolbar.fpd-smart.fpd-layout-small{position:fixed;left:0!important;bottom:0!important;top:auto!important;width:100%;transform:none;border-radius:0;box-shadow:0 -1px 8px rgba(110,111,114,.2);padding-bottom:env(safe-area-inset-bottom);max-width:none}fpd-element-toolbar.fpd-smart.fpd-layout-small .fpd-close,fpd-element-toolbar.fpd-smart.fpd-layout-small .fpd-close-sub-panel{border-top-right-radius:0}fpd-element-toolbar.fpd-sidebar .fpd-tool-filters{row-gap:35px!important}fpd-element-toolbar.fpd-sidebar .fpd-tools-nav{flex-direction:column}fpd-element-toolbar.fpd-sidebar .fpd-tools-nav>div{flex-direction:column;gap:25px 0;height:auto;overflow:visible}fpd-element-toolbar.fpd-sidebar .fpd-tools-nav>.fpd-primary-tools .fpd-tool-font-family fpd-dropdown,fpd-element-toolbar.fpd-sidebar .fpd-tools-nav>.fpd-primary-tools .fpd-tool-text-size input{display:none!important}fpd-main-bar>fpd-element-toolbar{background:var(--fpd-primary-fg-color);position:absolute;top:0!important;left:0!important;width:100%!important;height:100%;flex-flow:row nowrap}fpd-main-bar>fpd-element-toolbar>.fpd-tools-nav{flex:0 80px;flex-flow:column;align-items:center;border-right:1px solid var(--fpd-border-color)}fpd-main-bar>fpd-element-toolbar>.fpd-tools-nav>div{flex:0;margin:10px 0}fpd-main-bar>fpd-element-toolbar>.fpd-tools-nav>div .fpd-label{white-space:normal}fpd-element-toolbar[data-fabric-type=engraved-text] .fpd-panel-color>.fpd-panel-tabs,fpd-element-toolbar[data-fabric-type=engraved-text] .fpd-patterns-wrapper,fpd-element-toolbar[data-fabric-type=engraved-text] .fpd-tool-curved-text,fpd-element-toolbar[data-fabric-type=engraved-text] .fpd-tool-fill-opacity,fpd-element-toolbar[data-fabric-type=engraved-text] .fpd-tool-text-format,fpd-element-toolbar[data-fabric-type=neon-text] .fpd-panel-color>.fpd-panel-tabs,fpd-element-toolbar[data-fabric-type=neon-text] .fpd-patterns-wrapper,fpd-element-toolbar[data-fabric-type=neon-text] .fpd-tool-curved-text,fpd-element-toolbar[data-fabric-type=neon-text] .fpd-tool-fill-opacity,fpd-element-toolbar[data-fabric-type=neon-text] .fpd-tool-text-format{display:none!important}.fpd-toolbar-visible .fpd-toolbar-sidebar fpd-main-bar{overflow:visible}.fpd-toolbar-visible .fpd-toolbar-sidebar fpd-main-bar>.fpd-close{display:block;right:0;left:auto;top:20px;transform:translateX(100%);font-size:12px;height:30px;line-height:30px;width:30px;padding:0 5px}.fpd-container fpd-module-products{padding:var(--fpd-module-content-padding)}.fpd-container fpd-module-products .fpd-product-categories{display:none}.fpd-container fpd-module-products.fpd-categories-enabled .fpd-product-categories{display:flex}.fpd-container fpd-module-text .fpd-add-text{padding:10px}.fpd-container fpd-module-text .fpd-add-text input{padding:3px 5px;width:80px;display:block}.fpd-container fpd-module-text .fpd-add-text .fpd-btn{margin-top:10px;margin-bottom:20px}.fpd-container fpd-module-text .fpd-text-templates .fpd-grid{padding:var(--fpd-module-content-padding)}.fpd-container fpd-module-text .fpd-text-templates .fpd-grid .fpd-item{background:var(--fpd-module-secondary-color);text-align:center;position:relative;border-radius:var(--fpd-border-radius)}.fpd-container fpd-module-text .fpd-text-templates .fpd-grid .fpd-item>div{font-size:16px;width:80%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.fpd-container fpd-module-text .fpd-text-templates .fpd-grid .fpd-item:hover{opacity:.8}.fpd-container fpd-module-designs{padding:var(--fpd-module-content-padding)}.fpd-container fpd-module-designs .fpd-head{display:none}.fpd-container fpd-module-designs.fpd-head-visible .fpd-head,.fpd-container fpd-module-designs.fpd-single-cat .fpd-head{display:block;margin-bottom:10px}.fpd-container fpd-module-designs.fpd-single-cat .fpd-back{display:none!important}.fpd-container fpd-module-designs .fpd-single-cat .fpd-input-search{width:100%}.fpd-container fpd-module-designs .fpd-grid .fpd-item{border-radius:var(--fpd-border-radius)}.fpd-container fpd-module-text-to-image .fpd-head .fpd-info{margin:0 0 10px;line-height:20px;font-size:14px}.fpd-container fpd-module-text-to-image .fpd-head .fpd-btn{margin:0 0 20px}.fpd-container fpd-module-images .fpd-module-tabs-content{overflow:hidden;padding:var(--fpd-module-content-padding)}.fpd-container fpd-module-images .fpd-module-tabs-content>div>*{height:100%;display:flex;flex-flow:column}.fpd-container fpd-module-images .fpd-module-tabs-content>div>* .fpd-scroll-area{padding-right:5px}.fpd-container fpd-module-uploads .fpd-upload-image{display:flex;flex-flow:column nowrap;align-items:center;border:2px dashed var(--fpd-border-color);background:var(--fpd-module-secondary-color);color:var(--fpd-module-secondary-text-color);border-radius:var(--fpd-border-radius);padding:10px 10px 0;cursor:pointer;margin-bottom:10px}.fpd-container fpd-module-uploads .fpd-upload-image>span{display:block;font-size:10px;text-transform:uppercase;margin:0 0 15px!important}.fpd-container fpd-module-uploads .fpd-upload-image>.fpd-price{font-size:12px;line-height:1}.fpd-container fpd-module-uploads .fpd-upload-image.fpd-hover{opacity:.5}.fpd-container fpd-module-uploads .fpd-grid .fpd-loading-bar{background:rgba(255,255,255,.7);position:absolute;top:50%;left:50%;width:60%;height:6px;transform:translate(-50%,-50%);z-index:10}.fpd-container fpd-module-uploads .fpd-grid .fpd-loading-bar>.fpd-loading-progress{background:#fff;height:100%;width:0}.fpd-container fpd-module-uploads .fpd-image-quality-ratings{position:absolute;left:5px;top:5px;line-height:1}.fpd-container fpd-module-uploads .fpd-image-quality-ratings>span{color:var(--fpd-image-quality-start-color);text-shadow:0 0 1px rgba(0,0,0,.7);font-size:18px}.fpd-container fpd-module-facebook-images .fpd-head{margin-bottom:10px}.fpd-container fpd-module-facebook-images .fpd-head .fpd-facebook-albums{display:none}.fpd-container fpd-module-facebook-images.fpd-facebook-logged-in .fpd-facebook-login{display:none}.fpd-container fpd-module-facebook-images.fpd-facebook-logged-in .fpd-facebook-albums{display:block}.fpd-container fpd-module-pixabay-images{position:relative}.fpd-container fpd-module-pixabay-images .fpd-head{margin-bottom:10px}.fpd-container fpd-module-pixabay-images .fpd-loader-wrapper{height:100%}.fpd-container fpd-module-pixabay-images .fpd-pixabay-logo{background-repeat:no-repeat!important;border:none!important;background-color:transparent!important;width:72px;height:14px;display:block;margin-bottom:10px;opacity:.6;background-image:url(data:image/png;base64,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)!important}.fpd-container fpd-module-manage-layers .fpd-list{padding:var(--fpd-module-content-padding);position:relative;min-height:100%}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row{flex-wrap:wrap;margin:10px 5px 10px 0;align-items:center;border:1px solid transparent;border-radius:var(--fpd-border-radius);box-shadow:0 0 10px rgba(110,111,114,.2)}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div{overflow:hidden;white-space:nowrap}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-0{flex:0 45px;text-align:center}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-0>.fpd-current-color{cursor:pointer;width:25px;height:25px;display:block;border-radius:var(--fpd-border-radius);margin:auto;border:1px solid rgba(0,0,0,.1)}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-1{padding-left:0;padding-right:0}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-1 textarea{border:1px solid var(--fpd-border-color);min-height:auto;max-height:30px;width:100%;padding:3px 5px!important;box-shadow:none;margin:0}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-1 .fpd-img-meta{font-size:11px;font-weight:700}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-1 .fpd-img-meta span{font-weight:400;margin-right:5px}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-2{flex:0 110px;display:flex;justify-content:flex-end;align-items:center;padding-right:10px}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-2>span{padding-left:8px;font-size:18px;opacity:.7;transition:opacity .3s ease-out;flex:1;flex-grow:0}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-2>span.fpd-icon-reorder{cursor:move}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-2>span:first-child{padding:0}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-2>span:hover{opacity:1}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-2>span>*{vertical-align:top}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-2>span>.fpd-icon-eye{font-size:13.5px}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-full{padding:0 0 10px;display:none}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-full>.fpd-scroll-area.fpd-has-subpanel{max-height:none}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-full>.fpd-scroll-area>.fpd-color-palette,.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-full>.fpd-scroll-area>.fpd-patterns-wrapper{padding:0 10px}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-full>.fpd-scroll-area>.fpd-color-palette>.fpd-colorpicker-wrapper,.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-full>.fpd-scroll-area>.fpd-patterns-wrapper>.fpd-colorpicker-wrapper{padding:0}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row:hover{border-color:var(--fpd-border-color)}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row.fpd-show-colors{background:var(--fpd-list-bg-color-active)}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row.fpd-show-colors .fpd-cell-full{display:block}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row.fpd-locked>div:nth-child(-n+2){opacity:.2;pointer-events:none}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row.fpd-hide-dpi .fpd-dpi{display:none}.fpd-container fpd-module-qr-code .fpd-qr-code-colors{text-align:center}.fpd-container fpd-module-qr-code .fpd-qr-code-colors>.fpd-qr-code-color-dark,.fpd-container fpd-module-qr-code .fpd-qr-code-colors>.fpd-qr-code-color-light{display:inline-block;padding:12px;position:relative;border-radius:var(--fpd-border-radius);border:2px solid rgba(0,0,0,.2);overflow:visible}.fpd-container fpd-module-save-load{padding:var(--fpd-module-content-padding)}.fpd-container fpd-module-text-layers .fpd-list{position:relative;min-height:100%;padding:var(--fpd-module-content-padding)}.fpd-container fpd-module-text-layers .fpd-list .fpd-list-row{flex-wrap:wrap;margin:0 0 10px;border-radius:var(--fpd-border-radius);box-shadow:0 0 10px rgba(110,111,114,.2)}.fpd-container fpd-module-text-layers .fpd-list .fpd-list-row>div{margin:10px 8px;padding:0;position:relative}.fpd-container fpd-module-text-layers .fpd-list .fpd-list-row>.fpd-title{color:var(--fpd-dark-grey-color);padding-left:2px;margin-bottom:0;font-size:14px}.fpd-container fpd-module-text-layers .fpd-list .fpd-list-row>.fpd-cell-1 fpd-dropdown{height:35px}.fpd-container fpd-module-text-layers .fpd-list .fpd-list-row>.fpd-cell-2{flex:0 0 60px}.fpd-container fpd-module-text-layers .fpd-list .fpd-list-row>.fpd-cell-2>input{text-align:center;height:35px}.fpd-container fpd-module-text-layers .fpd-list .fpd-list-row .fpd-color-panel{margin-top:10px}.fpd-container fpd-module-text-layers .fpd-list .fpd-list-row .fpd-color-panel .fpd-colorpicker-wrapper{padding:0}.fpd-container fpd-module-text-layers .fpd-list .fpd-list-row .fpd-clear-text{position:absolute;right:1px;top:1px;font-size:11px;line-height:1;padding:3px 4px;text-transform:uppercase;background:var(--fpd-module-secondary-color);border-bottom-left-radius:2px;cursor:pointer;border-top-right-radius:var(--fpd-border-radius)}.fpd-container fpd-module-text-layers .fpd-list .fpd-list-row input,.fpd-container fpd-module-text-layers .fpd-list .fpd-list-row textarea{margin:0!important;padding:8px;width:100%}.fpd-container fpd-module-layouts .fpd-grid{padding:var(--fpd-module-content-padding)}.fpd-container fpd-module-layouts .fpd-grid>.fpd-item{border-radius:var(--fpd-border-radius);background-color:var(--fpd-module-secondary-color)}.fpd-container fpd-module-names-numbers{padding:var(--fpd-module-content-padding)}.fpd-container fpd-module-names-numbers .fpd-head .fpd-btn{margin:0 0 20px}.fpd-container fpd-module-names-numbers .fpd-list{display:flex;flex-flow:column nowrap;gap:10px;padding-right:10px}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row{display:flex;flex-flow:row wrap;justify-content:flex-end}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row>.fpd-number-col{width:50px}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row>.fpd-number-col input{text-align:center}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row>.fpd-name-col{flex:1}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row>.fpd-select-col{width:50px;position:relative}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row>.fpd-select-col select{position:relative;appearance:none;height:100%;width:100%;text-align:center;background:var(--fpd-light-bg-color);cursor:pointer;padding-right:10px}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row>.fpd-select-col:after{content:"\e90e";font-family:FontFPD!important;font-size:16px;position:absolute;top:50%;right:2px;pointer-events:none;transform:translateY(-50%)}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row>.fpd-remove-col{flex:1 100%;text-align:right;font-size:10px;line-height:1;color:var(--fpd-red-color);order:3}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row>.fpd-remove-col>span{opacity:.7;text-transform:uppercase;cursor:pointer}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row>.fpd-remove-col>span:hover{opacity:1}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row>.fpd-input-col:nth-child(2)>*{border-top-left-radius:var(--fpd-border-radius);border-bottom-left-radius:var(--fpd-border-radius);border-left:1px solid var(--fpd-border-color)}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row>.fpd-input-col:last-child>*{border-top-right-radius:var(--fpd-border-radius);border-bottom-right-radius:var(--fpd-border-radius)}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row input,.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row select{border-radius:0;box-shadow:none;margin:0;border:1px solid var(--fpd-border-color);width:100%;border-left:none}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row:first-child>.fpd-remove-col{visibility:hidden}.fpd-bulk-variations{margin:20px 0}.fpd-bulk-variations>.fpd-head{display:flex;flex-flow:row nowrap;align-items:center;justify-content:space-between;margin-bottom:10px}.fpd-bulk-variations>.fpd-head>.fpd-headline{font-size:18px}.fpd-bulk-variations .fpd-variations-list{display:flex;flex-flow:column wrap;gap:20px}.fpd-bulk-variations .fpd-variations-list .fpd-row{display:flex;flex-flow:row nowrap;gap:10px;height:40px;align-items:center}.fpd-bulk-variations .fpd-variations-list .fpd-row>select{flex:1;font-size:16px;padding:0 5px;height:100%}.fpd-bulk-variations .fpd-variations-list .fpd-row>select.fpd-error{border-color:var(--fpd-red-color)}.fpd-bulk-variations .fpd-variations-list .fpd-row>input{width:50px;height:100%;margin:0;text-align:center}.fpd-bulk-variations .fpd-variations-list .fpd-row>span{display:inline-block;width:30px;cursor:pointer;font-size:14px;text-align:center}.fpd-bulk-variations .fpd-variations-list .fpd-row:first-child span{display:none}.fpd-color-selection{margin:20px 0;display:flex;flex-flow:column wrap;gap:20px}.fpd-color-selection .fpd-cs-item .fpd-title{font-size:16px;margin-bottom:10px;padding-bottom:5px;border-bottom:1px solid var(--fpd-border-color)}.fpd-color-selection .fpd-cs-item .fpd-color-palette,.fpd-color-selection .fpd-cs-item .fpd-patterns-wrapper{margin:10px 0}.fpd-color-selection .fpd-cs-item .fpd-color-palette .fpd-item,.fpd-color-selection .fpd-cs-item .fpd-patterns-wrapper .fpd-item{width:45px;height:45px;position:relative;box-shadow:0 1px 2px rgba(0,0,0,.2)}.fpd-color-selection .fpd-cs-item .fpd-color-panel>.fpd-scroll-area>.fpd-color-palette .fpd-item:after{position:absolute;color:rgba(0,0,0,.6);background:rgba(255,255,255,.95);bottom:-2px;line-height:1;width:calc(100% + 4px);left:-2px;text-transform:uppercase;font-size:10px;content:attr(data-hex);padding:4px 0;text-align:center}.fpd-container.fpd-gt-step{width:320px;padding:15px;position:fixed;top:0;left:0;color:#fff;z-index:100;margin-top:15px;margin-left:-24px;z-index:100000000000;background:var(--fpd-tooltip-bg-color)}.fpd-container.fpd-gt-step>.fpd-gt-pointer{font-size:50px;position:absolute;top:-16px;left:0;color:var(--fpd-tooltip-bg-color);transform:scaleY(-1)}.fpd-container.fpd-gt-step .fpd-gt-close{position:absolute;right:10px;top:10px;font-size:14px;cursor:pointer;z-index:10}.fpd-container.fpd-gt-step .fpd-gt-text{padding-right:15px}.fpd-container.fpd-gt-step .fpd-gt-actions{margin-top:20px}.fpd-container.fpd-gt-step .fpd-gt-actions>.fpd-btn{margin:0;float:right;margin-left:5px;font-size:12px;padding:3px 10px}.fpd-container.fpd-gt-step .fpd-gt-actions>.fpd-gt-counter{line-height:34px;font-size:12px;opacity:.5}.fpd-3d-preview-wrapper{background:#fff;color:rgba(0,0,0,.5);box-shadow:rgba(0,0,0,.15) 0 5px 15px 0;position:relative}.fpd-3d-preview-wrapper:after{content:"3D";position:absolute;left:5px;top:5px}.fpd-3d-preview-wrapper .fpd-loading{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.fpd-3d-preview-wrapper>canvas{outline:0;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.fpd-3d-preview-wrapper .fpd-touch-info{z-index:100;position:absolute;left:5px;bottom:5px;width:64px;height:64px;background-size:40%;background-position:left bottom;background-repeat:no-repeat;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAALTUlEQVR4Xu2be1xU1RbHf2dmeAnyGEYclKcgCF5AQTRQfKBlvupyZYAZRPGR3JtmmuKrUqR8kPkIIQUpLRhmgNKsfGSQpQIiJSCpHxUDFQR5OAMIzABnzv2cuWGSpMw0w6Pu/nzmM3+c/Vjru9faZ++19iHQi2XfvoQRBKFwYejo2gKUBGRrAYfDuRIUFET2lFhETw30+Dix+5NGmxkN2GtmZm4z0NiQyzZn6z9sbERVVXVTvVTSwtDV/WS+IGRNT8jW4wBEovTFbLbpFjd396GW3MF4+LBJ+dPRYcHY2Fj5X3S5WHG5uLi8hUF4RQgEtdoE0aMAjhz58mWDAfopL05/3kgileL69RugKAqmpqZoaWlBQ0MjzNlsuLmNROPDhzh+/HRFQ33tyIiIiHptQdA6gLi4RCcSGKnDgJUF1yJqbsDLbIlEgus3SjDKww36+vqddKutrUNBYRH8p0zCgwcSfJN15nIYP8ij3wFIThYlyFpbg8xMjVmWlpYsJoOJcePG6NfU1OB+dQ3+MdJVOftlZWWQSuthb2+ntAS6tLa1ISf3AiZP9ENBQZHsUlHR6iULF3yoDQgatwChMN1L1ibPnDplkqmV1VDQA9Q3NILFZGDgwIE4n50LL8/RaG5uwt4PYlFRUQl9fT00NjZizpzZ4AXOBUEQqKyqQmPjQ6VLnDx5+nJYGF8rVqBRAML0dC8j/QHfzJwx3VyhUODateuorasD28wM8tZW0KbvMGwY7O1tsXHjWxgwwAC+vr4YPtwRWd+dwc8/F2PatOcxZ/Ys5Zrw06VCTBjvg4MfHW5aumShUZ+3gI8PfdqwYH7oQLlcjgt5+fDyHKVc2R8vNJgLF/KQlp6GIF4Qxo/3ffR41+49uHr1KhITDoDJZOJcdi58xnnj5KlT1b/cvfv8yldfvaxpCBqzAKFQKBw/wU8w2GIQcvMuYsqkiUofLygsRHZ2Dmgoo0ePwuRJk/D5kaMoLCzCxg3rYGT028QWFBTgvZ27sC/2A3A45sjMOoOp/pOR8fkRyf3KOu8VKyJu9UkAhw4d0icp4v7ihQuMf7xUABdnJxgaGiIlRYjz2TngWnLBJAjU1j3AoEEc2NnZobCoCFGb3u4EID//R+zesxexH+yBgYEBin++Cu8xnjj8qUj6yuL5ZppWnu5PIxYQu3//2GG2w76f5j/JIO/ij5joNx6FhYU4cCARfn5+mDnzRSWQbzOzcPbsWdy5cxdDrYY+FUBD40PosJjQ1zfA6dNZ58PC+H59FsCHCQeXjh3jlWBjY4179yrh4e6G+A/3o6a6BitWvAY2+7fJ2xHzHoqKLj8VwJtvbkBzswxjvb2QmZnVWFp6O3jp0sUn+zSAMZ6eCXZ2NqiouIdRHu7YvuM9kCSJt97c0EnutPR0fPHFl08F8MqSJfD3n4ybN0uoSwUFx0KCgwK0obzGXCA+PtHb1s76h2lT/Q3yLuYrXWBHTAxkMjmiNm/qJHtqqghffX38mS5Anw/yLv5UwA8J9NSW8hoDEBsbq2c00OT+wvD5JpcKCuHkNBxxcXFqA+DxAptb29rP8IN5s7WpvMYA0B2lpIiSx0/wncflDkZubh7y8nLVBuDuMWrpxvWRB7WtvEYB0J0lfXy4Pnz+PGN6L79pUxQMDQeo5QKgSHuxWFzW7wAki8UehnqGmbNmvsChd3X05kedNaDfAqBnLDlZ7NHa3pZVVlpizmAw/n4AOsx2yZKI20Othtj87SygAwAvWHDK1cV5+v8BqLEP6NdrgKYtICoqihEVFaXQ1htBI4ehroT7sy5AEMwJFKi3AcKJgOI6RTGixWJhqqZB9EkACoLYwzYxWTXEkgtvb2/k5+ej4l4VpA31r6WlpsRpEkKfBEDHBH2eG4fly5cp44N0YCU2dh8dSZIxGBiSmpoq0RSEPgnAjM3G8mX/gauLyyM9r1y5ivj4eEilDTNEopRTf2kA5uZsRK5ZDVtb20d6lpaWYef7uyCVSANEopQv/tYApNK6kyZmZvMoUuFDEIx7gOJjdc8OfdIFnmYBEumDJQBeHTyY62lqbIo2sg2lv5TKKAUCxeKU46paRv8DIJHKHR2G6U2bNhW+vj64ffsOTpw4QWeSmhgE5SASie6rAqEfApBg1qyZmBcqeKTn1avXcOiTT3C3vELl12S/BLA2MhKjR/+WKWuRybBlSzRtDdvFIuHGv7wFrFr1OsZ6ez/Ss6mpCZu3RONeecVWkUj4Vr8AQIfO3one0mVi5KmLoESCfg2gpKQEMTE74TdxAuaHhXWaLDpvuGzZcrA5HLwbvUW5C+woHfsAOsHaJwAIBIJRJEn8myDIERQYVQSIoyTZ+llGRobygtMfHYboZ7W1teBwOF1aant7O1gs1hPPysvL8e62HaiXSrFh/Tq4u7v1nguEhIQGMllMsbW1FXPwYC5ksmZUVlah+n7VBZIkX8rIyKh5GgBVfPTxuvsPJCgzT+9ER3XqokfXgNDQUON2krrj89w4k0WLFiovPdAlk877nT+Hm9dLLpJkqy8YOse7igipq3xHO7m8FXp6ur0HIFgg4HEtuOlvrHodNjY2nQTJyvoOn31+BFKJJIqk4KMNAF0B7FEL4PND11rb2sRsXL8OJiYmT8gjFIrw9fHjClCKZucRI4x+HxP8sxbQ6wBCBILFllzLpLWRa8DlcrvUZ9PmKDqxCWdnpyfC4v0eAI83f6iOLlUWODeAFRDQddK2uroa27bvUN76+stZAD2DwfzQGA7bfO3KlSvg6OjQ5aSeOfM9Tp0+jZjt27Qx6b23CNIjh4eH68vl8kI7O3vnbdu2/qGCMpkMenp6nTY02qDRo4tghwJ8Pt+HwdLNfvml2QQvMFAbenW7z14BQEsXJJi324LNXvXGGythb2/fbYE1XbHXAMyZs3SAoWHj5WGOjg5b34nWtF7d7q/XANAShoTM82PpMH4ICAgg/hXwz24LrcmKvQrg17dC7KBB5q9Frl79xO5Qk4r+UV/0faJt27aj9HbZu+JU4duqjKmRiBCPxzNiMnWKhzsNt4ve0vmgooow6tatqqrCrt17UV5xd704NTVGlX40AoAekM8P82fpMLMCA+fipTlav9vUScebJSWI3RePuppagUiUIuoVAEpXCA49YMG1iFi7ZjXoq/I9VYqLi7Hz/d1QkG3uQqGwWJVxNWYB9KD0UbmNJK6MdHG22rRJpdCcKjI/UTcufj/OnT0rcXUdwVE1la5RALRkAoFgOktH71RQEA+zZs74U4p1p3F5RQUOJibhxo2Sj8TiFDppolLROADlq5HP/8iSO2QRHbuztrZWSSBVKx879iWOHj0GubztObE4OU/V9loBwOPxTJgs3UJHR0e79esilTfFtVHofMDWrVtx89Yv36aLUl9QZwytAFBaQUjIaFKBc+5uboZr166Brm7nMJY6wv6+Db3y5+TkyEAxPdPSkq+p06fWANDCBAkEU6h2xVfOzs6G4QvC4ODQ9dFZHcETk5KQm52Dlta2BWmpKZ+q0wfdRqsAfl0UvRTAEWsrG5tpU/0xdqz3o8/j1BH6XmUlEhOTcOvWLaq9rW2lWJwaq04/HW20DoAeKDw83LSlpXWnrq7OYmtrK8LR0RFjxoyBq6uL8uOoZ5Xm5mbcuHED2dm5uFlykw7B1xAsxqI0ofDrZ7V91vMeAdAhRGhoqBtJIZKgEMzmcHTZpqbKb4Po74jMzc1hamYGtpmp8nvB+vp61NTW4cGDB6iuvg+ppB4SSV0DwWQdMNDT2X748GHps5TrzvMeBfAYCGOSxAyA8KcoaiwIxXCCYChfFQwmAwryf9cCFQpKRimoW0wm8wLFUJzQZTK/SU5ObuqOYt2t818u+GKbNIce8QAAAABJRU5ErkJggg==)}fpd-main-wrapper .fpd-3d-preview-wrapper{display:block;box-shadow:rgba(0,0,0,.15) 0 5px 15px 0;background:#fff;color:rgba(0,0,0,.5);z-index:100;position:absolute;bottom:0;left:0}fpd-main-wrapper .fpd-3d-preview-wrapper.fpd-fullscreen>.fpd-fullscreen-toggle{padding:4px}fpd-main-wrapper .fpd-3d-preview-wrapper.fpd-fullscreen>.fpd-fullscreen-toggle>span:first-child{display:none}fpd-main-wrapper .fpd-3d-preview-wrapper.fpd-fullscreen>.fpd-fullscreen-toggle>span:last-child{display:inline}fpd-main-wrapper .fpd-3d-preview-wrapper>.fpd-fullscreen-toggle{position:absolute;top:5px;right:5px;cursor:pointer;font-size:18px;z-index:10}fpd-main-wrapper .fpd-3d-preview-wrapper>.fpd-fullscreen-toggle>span:last-child{display:none}.fpd-view-thumbnails-wrapper{display:flex;gap:15px;margin:20px 0;flex-wrap:wrap}.fpd-view-thumbnails-wrapper>.fpd-item{width:100px;height:100px;background-repeat:no-repeat;background-position:center;background-size:70%;border-radius:8px;cursor:pointer;background-color:rgba(255,255,252,.9)}fpd-main-wrapper>.fpd-view-thumbnails-wrapper{position:absolute;left:10px;bottom:calc(10px + env(safe-area-inset-bottom));margin:0;z-index:21}fpd-main-wrapper>.fpd-view-thumbnails-wrapper .fpd-item{height:70px;flex-basis:60px}.fpd-wrapper.fpd-views-inside-left fpd-main-wrapper>.fpd-view-thumbnails-wrapper{right:10px;left:auto;justify-content:flex-end} \ No newline at end of file +:root{--fpd-primary-color:#485563;--fpd-primary-fg-color:#fff;--fpd-secondary-color:#029EEB;--fpd-secondary-fg-color:#fff;--fpd-light-bg-color:#F6F6F6;--fpd-light-grey-color:#EBEBEB;--fpd-dark-grey-color:#989898;--fpd-red-color:#bd081c;--fpd-yellow-color:#fffaf3;--fpd-yellow-contrast-color:#654c21;--fpd-green-color:#2ecc71;--fpd-scrollbar-track-color:var(--fpd-light-bg-color);--fpd-scrollbar-thumb-color:var(--fpd-dark-grey-color);--fpd-scrollbar-width:6px;--fpd-btn-primary-color:var(--fpd-secondary-color);--fpd-btn-primary-text-color:var(--fpd-secondary-fg-color);--fpd-dropdown-height:40px;--fpd-snackbar-bg-color:rgba(0, 0, 0, 0.9);--fpd-list-bg-color-active:rgba(0, 0, 0, 0.04);--fpd-input-text-color:rgba(0, 0, 0, 0.7);--fpd-tooltip-bg-color:rgba(0, 0, 0, 0.9);--fpd-track-height:8px;--fpd-text-color:var(--fpd-primary-color);--fpd-border-color:var(--fpd-light-grey-color);--fpd-container-min-height:500px;--fpd-border-radius:6px;--fpd-mainbar-nav-color:var(--fpd-primary-color);--fpd-sidebar-width:400px;--fpd-sidebar-nav-width:80px;--fpd-topbar-nav-height:70px;--fpd-off-canvas-width:350px;--fpd-actions-bar-bg-color:var(--fpd-primary-color);--fpd-actions-bar-height:50px;--fpd-loading-svg:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMzJweCcgaGVpZ2h0PSczMnB4JyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCIgY2xhc3M9InVpbC1kZWZhdWx0Ij48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgZmlsbD0ibm9uZSIgY2xhc3M9ImJrIj48L3JlY3Q+PHJlY3QgIHg9JzQ2LjUnIHk9JzQwJyB3aWR0aD0nNycgaGVpZ2h0PScyMCcgcng9JzUnIHJ5PSc1JyBmaWxsPScjMDAwMDAwJyB0cmFuc2Zvcm09J3JvdGF0ZSgwIDUwIDUwKSB0cmFuc2xhdGUoMCAtMzApJz4gIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J29wYWNpdHknIGZyb209JzEnIHRvPScwJyBkdXI9JzFzJyBiZWdpbj0nMHMnIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJy8+PC9yZWN0PjxyZWN0ICB4PSc0Ni41JyB5PSc0MCcgd2lkdGg9JzcnIGhlaWdodD0nMjAnIHJ4PSc1JyByeT0nNScgZmlsbD0nIzAwMDAwMCcgdHJhbnNmb3JtPSdyb3RhdGUoMzAgNTAgNTApIHRyYW5zbGF0ZSgwIC0zMCknPiAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0nb3BhY2l0eScgZnJvbT0nMScgdG89JzAnIGR1cj0nMXMnIGJlZ2luPScwLjA4MzMzMzMzMzMzMzMzMzMzcycgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnLz48L3JlY3Q+PHJlY3QgIHg9JzQ2LjUnIHk9JzQwJyB3aWR0aD0nNycgaGVpZ2h0PScyMCcgcng9JzUnIHJ5PSc1JyBmaWxsPScjMDAwMDAwJyB0cmFuc2Zvcm09J3JvdGF0ZSg2MCA1MCA1MCkgdHJhbnNsYXRlKDAgLTMwKSc+ICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdvcGFjaXR5JyBmcm9tPScxJyB0bz0nMCcgZHVyPScxcycgYmVnaW49JzAuMTY2NjY2NjY2NjY2NjY2NjZzJyByZXBlYXRDb3VudD0naW5kZWZpbml0ZScvPjwvcmVjdD48cmVjdCAgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyMwMDAwMDAnIHRyYW5zZm9ybT0ncm90YXRlKDkwIDUwIDUwKSB0cmFuc2xhdGUoMCAtMzApJz4gIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J29wYWNpdHknIGZyb209JzEnIHRvPScwJyBkdXI9JzFzJyBiZWdpbj0nMC4yNXMnIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJy8+PC9yZWN0PjxyZWN0ICB4PSc0Ni41JyB5PSc0MCcgd2lkdGg9JzcnIGhlaWdodD0nMjAnIHJ4PSc1JyByeT0nNScgZmlsbD0nIzAwMDAwMCcgdHJhbnNmb3JtPSdyb3RhdGUoMTIwIDUwIDUwKSB0cmFuc2xhdGUoMCAtMzApJz4gIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J29wYWNpdHknIGZyb209JzEnIHRvPScwJyBkdXI9JzFzJyBiZWdpbj0nMC4zMzMzMzMzMzMzMzMzMzMzcycgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnLz48L3JlY3Q+PHJlY3QgIHg9JzQ2LjUnIHk9JzQwJyB3aWR0aD0nNycgaGVpZ2h0PScyMCcgcng9JzUnIHJ5PSc1JyBmaWxsPScjMDAwMDAwJyB0cmFuc2Zvcm09J3JvdGF0ZSgxNTAgNTAgNTApIHRyYW5zbGF0ZSgwIC0zMCknPiAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0nb3BhY2l0eScgZnJvbT0nMScgdG89JzAnIGR1cj0nMXMnIGJlZ2luPScwLjQxNjY2NjY2NjY2NjY2NjdzJyByZXBlYXRDb3VudD0naW5kZWZpbml0ZScvPjwvcmVjdD48cmVjdCAgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyMwMDAwMDAnIHRyYW5zZm9ybT0ncm90YXRlKDE4MCA1MCA1MCkgdHJhbnNsYXRlKDAgLTMwKSc+ICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdvcGFjaXR5JyBmcm9tPScxJyB0bz0nMCcgZHVyPScxcycgYmVnaW49JzAuNXMnIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJy8+PC9yZWN0PjxyZWN0ICB4PSc0Ni41JyB5PSc0MCcgd2lkdGg9JzcnIGhlaWdodD0nMjAnIHJ4PSc1JyByeT0nNScgZmlsbD0nIzAwMDAwMCcgdHJhbnNmb3JtPSdyb3RhdGUoMjEwIDUwIDUwKSB0cmFuc2xhdGUoMCAtMzApJz4gIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J29wYWNpdHknIGZyb209JzEnIHRvPScwJyBkdXI9JzFzJyBiZWdpbj0nMC41ODMzMzMzMzMzMzMzMzM0cycgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnLz48L3JlY3Q+PHJlY3QgIHg9JzQ2LjUnIHk9JzQwJyB3aWR0aD0nNycgaGVpZ2h0PScyMCcgcng9JzUnIHJ5PSc1JyBmaWxsPScjMDAwMDAwJyB0cmFuc2Zvcm09J3JvdGF0ZSgyNDAgNTAgNTApIHRyYW5zbGF0ZSgwIC0zMCknPiAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0nb3BhY2l0eScgZnJvbT0nMScgdG89JzAnIGR1cj0nMXMnIGJlZ2luPScwLjY2NjY2NjY2NjY2NjY2NjZzJyByZXBlYXRDb3VudD0naW5kZWZpbml0ZScvPjwvcmVjdD48cmVjdCAgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyMwMDAwMDAnIHRyYW5zZm9ybT0ncm90YXRlKDI3MCA1MCA1MCkgdHJhbnNsYXRlKDAgLTMwKSc+ICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdvcGFjaXR5JyBmcm9tPScxJyB0bz0nMCcgZHVyPScxcycgYmVnaW49JzAuNzVzJyByZXBlYXRDb3VudD0naW5kZWZpbml0ZScvPjwvcmVjdD48cmVjdCAgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyMwMDAwMDAnIHRyYW5zZm9ybT0ncm90YXRlKDMwMCA1MCA1MCkgdHJhbnNsYXRlKDAgLTMwKSc+ICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdvcGFjaXR5JyBmcm9tPScxJyB0bz0nMCcgZHVyPScxcycgYmVnaW49JzAuODMzMzMzMzMzMzMzMzMzNHMnIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJy8+PC9yZWN0PjxyZWN0ICB4PSc0Ni41JyB5PSc0MCcgd2lkdGg9JzcnIGhlaWdodD0nMjAnIHJ4PSc1JyByeT0nNScgZmlsbD0nIzAwMDAwMCcgdHJhbnNmb3JtPSdyb3RhdGUoMzMwIDUwIDUwKSB0cmFuc2xhdGUoMCAtMzApJz4gIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J29wYWNpdHknIGZyb209JzEnIHRvPScwJyBkdXI9JzFzJyBiZWdpbj0nMC45MTY2NjY2NjY2NjY2NjY2cycgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnLz48L3JlY3Q+PC9zdmc+);--fpd-canvas-bg:var(--fpd-light-bg-color);--fpd-et-max-width:375px;--fpd-module-content-padding:10px;--fpd-module-secondary-color:var(--fpd-light-bg-color);--fpd-module-secondary-text-color:var(--fpd-text-color);--fpd-image-quality-start-color:#FFE790}.fpd-container *,.fpd-container:after,.fpd-container:before{margin:0;padding:0;list-style:none;max-width:100%;list-style-type:none;text-shadow:none;outline:0;line-height:20px;border:none;box-sizing:border-box}.fpd-container input{-webkit-appearance:none;appearance:none;height:auto;background:0 0!important;outline:0!important}.fpd-container textarea{background:0 0;outline:0!important}.fpd-container input::-webkit-inner-spin-button,.fpd-container input::-webkit-outer-spin-button{appearance:none}.fpd-wrapper{display:flex;flex-flow:row wrap;max-width:100%;position:relative;color:var(--fpd-text-color)}.fpd-container.fpd-not-responsive,.fpd-container.fpd-not-responsive *{max-width:none!important}.fpd-container.fpd-not-responsive * .fpd-product-stage,.fpd-container.fpd-not-responsive .fpd-product-stage{overflow:auto}.fpd-container .fpd-scroll-area{height:100%;overflow:auto;overscroll-behavior:none;-webkit-overflow-scrolling:touch;scrollbar-width:var(--fpd-scrollbar-width);scrollbar-color:var(--fpd-scrollbar-thumb-color) var(--fpd-scrollbar-track-color)}.fpd-container .fpd-scroll-area::-webkit-scrollbar{width:var(--fpd-scrollbar-width);height:var(--fpd-scrollbar-width);padding-right:5px;margin-right:5px}.fpd-container .fpd-scroll-area::-webkit-scrollbar-track{background-color:var(--fpd-scrollbar-track-color);-webkit-border-radius:10px;border-radius:10px;margin:20px}.fpd-container .fpd-scroll-area::-webkit-scrollbar-thumb{-webkit-border-radius:10px;border-radius:10px;background:var(--fpd-scrollbar-thumb-color)}.fpd-scrollbar-hidden{overscroll-behavior:none;-ms-overflow-style:none;scrollbar-width:none}.fpd-scrollbar-hidden::-webkit-scrollbar{display:none}textarea[data-fabric-hiddentextarea]{font-size:16px!important;transform:translateY(-20px);caret-color:transparent}.fpd-disabled{opacity:.2!important;cursor:default!important;pointer-events:none!important}body .fpd-hidden{display:none!important;pointer-events:none!important}.fpd-overflow-hidden{overflow:hidden!important}.fpd-hidden-canvas{position:absolute!important;left:-9999999px}[class^=fpd-icon-]:before{color:inherit!important}body .fpd-visible-hidden{visibility:hidden!important;pointer-events:none!important}body fpd-dropdown{position:relative;display:flex;height:var(--fpd-dropdown-height)}body fpd-dropdown>.fpd-dropdown-current{height:100%;width:100%!important;padding:7px 20px 7px 7px!important;margin:0!important}body fpd-dropdown>.fpd-dropdown-arrow{position:absolute;font-size:20px;right:2px;top:calc(50% - 10px);opacity:.6;text-align:center;width:20px;height:20px;transform-origin:center center;transition:all .2s ease-out;cursor:pointer}body fpd-dropdown .fpd-dropdown-list{display:none;position:fixed;padding-right:5px;left:0;top:0;background:#fff;z-index:100;box-shadow:0 2px 0 1px rgba(64,87,109,.07),0 2px 12px rgba(53,71,90,.2);transform:translateY(2px);border-radius:4px;max-height:200px}body fpd-dropdown .fpd-dropdown-list>.fpd-scroll-area{max-height:inherit;padding:0!important}body fpd-dropdown .fpd-dropdown-list .fpd-item{display:block;text-align:left;margin:5px;padding:10px;line-height:14px;font-size:14px;cursor:pointer;border-radius:4px}body fpd-dropdown .fpd-dropdown-list .fpd-item:hover{background:rgba(0,0,0,.05)}body fpd-dropdown input:focus~.fpd-dropdown-list,body fpd-dropdown.fpd-active .fpd-dropdown-list{display:block;border:1px solid var(--fpd-border-color)}body fpd-dropdown input:focus~.fpd-dropdown-arrow,body fpd-dropdown.fpd-active>.fpd-dropdown-arrow{transform:rotate(90deg)}body fpd-dropdown.fpd-on-loading .fpd-dropdown-arrow{display:none!important}body fpd-dropdown.fpd-on-loading>input.fpd-dropdown-current{background-size:20px;background-repeat:no-repeat;background-position:98% center;background-image:var(--fpd-loading-svg)}.fpd-container .fpd-loader-wrapper{background:rgba(255,255,255,.9);width:100%;height:100%;position:absolute;top:0;left:0;z-index:100}.fpd-loader-wrapper>.fpd-loader{position:absolute;text-align:center;width:100%;left:50%;top:50%;transform:translate(-50%,-50%)}.fpd-loader>.fpd-loader-text{position:absolute;width:100%;display:block;font-size:14px;padding:20px 0;color:rgba(0,0,0,.5);text-transform:uppercase;font-weight:lighter;letter-spacing:1.5px;-webkit-filter:blur(0)}.fpd-loader>.fpd-loader-circle{margin:0 auto;width:40px;height:40px;border:3px solid rgba(0,0,0,.2);border-left:3px solid #000;transform:translateZ(0);animation:fpd-loader-animation 1.1s infinite linear}.fpd-loader>.fpd-loader-circle,.fpd-loader>.fpd-loader-circle:after{border-radius:50%}@-webkit-keyframes fpd-loader-animation{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes fpd-loader-animation{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.fpd-container .fpd-btn,.fpd-modal-inner .fpd-btn{background:var(--fpd-btn-primary-color);color:var(--fpd-btn-primary-text-color);cursor:pointer;display:inline-flex;align-items:center;padding:5px 15px;font-size:14px;margin:10px 0;text-transform:uppercase;border-radius:var(--fpd-border-radius);transition:all .2s ease-out}.fpd-container .fpd-btn:hover,.fpd-modal-inner .fpd-btn:hover{opacity:.8}.fpd-container .fpd-btn.fpd-loading,.fpd-modal-inner .fpd-btn.fpd-loading{background-image:var(--fpd-loading-svg);background-repeat:no-repeat;background-position:center;background-size:30%;opacity:.8;color:transparent;cursor:wait}.fpd-container .fpd-btn.fpd-secondary,.fpd-modal-inner .fpd-btn.fpd-secondary{background:var(--fpd-light-grey-color);color:var(--fpd-dark-grey-color)}.fpd-container .fpd-btn.fpd-full,.fpd-modal-inner .fpd-btn.fpd-full{width:100%;justify-content:center}body .fpd-container input,body .fpd-container textarea{color:var(--fpd-input-text-color);box-shadow:0 0 4px rgba(110,111,114,.22);border:none;border-radius:var(--fpd-border-radius);padding:10px;margin-bottom:10px;appearance:none;-moz-appearance:textfield;resize:none;font-size:16px;border:1px solid transparent}body .fpd-container input[type=text],body .fpd-container textarea[type=text]{width:100%}body .fpd-container input:focus,body .fpd-container textarea:focus{box-shadow:0 0 4px rgba(110,111,114,.22);border:1px solid var(--fpd-secondary-color)}body .fpd-container textarea{width:100%;min-height:100px}body .fpd-container select{box-shadow:0 0 4px rgba(110,111,114,.22);border-radius:var(--fpd-border-radius);border:1px solid transparent}body .fpd-container select:focus{box-shadow:0 0 4px rgba(110,111,114,.22);border:1px solid var(--fpd-secondary-color)}body .fpd-container .fpd-input-back-search,body .fpd-container .fpd-input-search{display:flex;box-shadow:0 0 4px rgba(110,111,114,.22);height:40px;border-radius:4px;flex:1}body .fpd-container .fpd-input-back-search input,body .fpd-container .fpd-input-search input{flex:1;box-shadow:none!important;margin:0;padding:0 5px;line-height:1;border:none!important}body .fpd-container .fpd-input-back-search span,body .fpd-container .fpd-input-search span{width:20px;align-self:center;text-align:center;font-size:16px;margin-right:5px}body .fpd-container .fpd-input-back-search .fpd-input-search{border-top-left-radius:0;border-bottom-left-radius:0;box-shadow:none!important}body .fpd-container .fpd-input-back-search .fpd-back{color:var(--fpd-module-secondary-text-color);border:none!important;background:rgba(0,0,0,.03)!important;line-height:1;padding:9px 8px!important;display:inline-block;width:32px;height:100%;text-align:center;margin:0!important;border-top-right-radius:0;border-bottom-right-radius:0}body .fpd-container .fpd-input{display:flex;width:100%;align-items:center;box-shadow:0 0 4px rgba(110,111,114,.22);overflow:hidden;border-radius:var(--fpd-border-radius);border:1px solid transparent}body .fpd-container .fpd-input [class^=fpd-icon-],body .fpd-container .fpd-input span{padding:2px 6px;flex:0 30px;margin-right:5px;text-align:center;border-right:1px solid var(--fpd-border-color)}body .fpd-container .fpd-input span{flex:0 auto;text-align:left;white-space:nowrap}body .fpd-container .fpd-input input{box-shadow:none;margin:0;padding:5px;flex:1;width:100%;border-radius:0;border:none!important}body .fpd-container .fpd-input fpd-range-slider{flex-basis:100%}body .fpd-container .fpd-input .fpd-slider-number{flex:0 70px;text-align:center;border:1px solid var(--fpd-border-color)!important;border-radius:var(--fpd-border-radius);margin:3px 3px 3px 5px}body .fpd-container .fpd-input .fpd-slider-number:focus{border-color:var(--fpd-secondary-color)!important}.fpd-container .fpd-module-tabs{display:flex;background:var(--fpd-module-secondary-color);color:var(--fpd-module-secondary-text-color)}.fpd-container .fpd-module-tabs>div{flex:1;text-align:center;cursor:pointer;padding:8px 0;font-size:20px}.fpd-container .fpd-module-tabs>div:hover{background:rgba(0,0,0,.03)}.fpd-container .fpd-module-tabs>div.fpd-active{background:var(--fpd-primary-fg-color);color:var(--fpd-secondary-color)}.fpd-container .fpd-module-tabs>div>span{pointer-events:none}.fpd-container .fpd-module-tabs-content{height:100%}.fpd-container .fpd-module-tabs-content>div{display:none;height:100%}.fpd-container .fpd-module-tabs-content>div.fpd-active{display:block}.fpd-sidebar .fpd-module-tabs{top:50px}.fpd-hide-tabs .fpd-module-tabs{display:none!important}.fpd-snackbar-wrapper{position:fixed;left:12px;bottom:0;z-index:100000}.fpd-snackbar-wrapper .fpd-snackbar{background:var(--fpd-snackbar-bg-color);margin-bottom:10px;color:#fff;line-height:18px;font-size:14px;min-width:288px;max-width:568px;overflow-y:hidden;border-radius:2px;-webkit-transition:all .3s ease-out;transition:all .3s ease-out}.fpd-snackbar-wrapper .fpd-snackbar p{margin:0;padding:16px 24px}.fpd-snackbar-wrapper .fpd-snackbar.fpd-show-up{max-height:300px}.fpd-modal-overlay{position:absolute!important;width:100%!important;bottom:0!important;right:0!important;top:0!important;left:0!important;background:rgba(0,0,0,.5);z-index:10000;overflow:auto}.fpd-modal-overlay>.fpd-modal-inner{display:flex;align-items:center;background:#fff;width:450px;min-height:200px;position:absolute;left:50%;top:30%;padding:40px;z-index:10020;max-width:100%;transform:translateX(-50%);box-sizing:border-box;border-radius:var(--fpd-border-radius)}.fpd-modal-overlay>.fpd-modal-inner>.fpd-modal-close{position:absolute;right:15px;top:15px;font-size:16px;cursor:pointer;opacity:.6;transition:opacity .2s ease-out}.fpd-modal-overlay>.fpd-modal-inner>.fpd-modal-close:hover{opacity:1}.fpd-modal-overlay>.fpd-modal-inner>.fpd-modal-content{flex:1 100%;text-align:center;color:rgba(0,0,0,.7);line-height:22px;word-break:break-word}.fpd-modal-overlay.fpd-fullscreen>.fpd-modal-inner{width:100%;height:100%;top:0;overflow:auto;border-radius:0}.fpd-modal-overlay.fpd-modal-internal{z-index:10000000000}.fpd-modal-overlay.fpd-modal-product-designer,.fpd-overflow-hidden .fpd-modal-overlay{position:fixed!important}.fpd-modal-internal[data-type=prompt] input{width:100%;display:block}.fpd-modal-internal[data-type=prompt]{text-align:center}.fpd-modal-internal[data-type=confirm]{text-align:center}.fpd-modal-internal .fpd-confirm-msg{margin-bottom:10px}.fpd-modal-product-designer{display:none;pointer-events:none;overflow:hidden!important}.fpd-modal-product-designer.fpd-show{display:block;pointer-events:all}.fpd-modal-product-designer>.fpd-modal-inner{padding:0}.fpd-modal-product-designer>.fpd-modal-inner>.fpd-wrapper{flex:1 100%;margin:0 0!important;height:100%;box-shadow:none!important}.fpd-modal-product-designer>.fpd-modal-inner>.fpd-wrapper fpd-main-bar{height:calc(100% - var(--fpd-actions-bar-height))!important}.fpd-modal-product-designer>.fpd-modal-inner>.fpd-wrapper.fpd-layout-small fpd-main-wrapper{height:calc(100% - var(--fpd-actions-bar-height) - var(--fpd-sidebar-nav-width))!important}body.fpd-modal-mode-active:not(.fpd-modal-designer-visible) fpd-element-toolbar{display:none!important}.fpd-container .fpd-modal-content fpd-module-save-load{padding:0}.fpd-container .fpd-modal-content fpd-module-save-load .fpd-saved-designs{max-height:200px}.fpd-list{width:100%;overflow:auto}.fpd-list>.fpd-list-row{display:flex;font-size:15px;overflow:hidden;cursor:pointer;transition:background .3s ease-out}.fpd-list>.fpd-list-row>.fpd-cell-full{flex:1 100%}.fpd-list>.fpd-list-row>div{padding:22px 0;flex:1}.fpd-list .fpd-sortable-placeholder{background:rgba(0,0,0,.05);border:2px dotted var(--fpd-border-color);height:65px}.fpd-container fpd-range-slider{display:block;margin-top:3px}.fpd-container fpd-range-slider input[type=range]{margin:0;padding:0;box-shadow:none;width:100%}.fpd-container fpd-range-slider input[type=range]:focus{outline:0}.fpd-container fpd-range-slider input[type=range]::-webkit-slider-runnable-track{height:var(--fpd-track-height);border:1px solid var(--fpd-border-color);border-radius:4px;background:var(--fpd-light-bg-color)}.fpd-container fpd-range-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:1em;background:#fff;border:2px solid var(--fpd-secondary-color);margin-top:calc((var(--fpd-track-height) * .5 - 1px) - (20px * .5));cursor:pointer}.fpd-container fpd-range-slider input[type=range]::-webkit-slider-thumb:hover{scale:1.2}.fpd-container fpd-range-slider.fpd-progress input[type=range]{--range:calc(var(--max) - var(--min));--ratio:calc((var(--value) - var(--min)) / var(--range));--sx:calc(0.5 * 20px + var(--ratio) * (100% - 20px))}.fpd-container fpd-range-slider.fpd-progress input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(var(--fpd-secondary-color),var(--fpd-secondary-color)) 0/var(--sx) 100% no-repeat,var(--fpd-light-bg-color)}.fpd-container fpd-range-slider input[type=range]::-moz-range-track{height:var(--fpd-track-height);border:1px solid var(--fpd-border-color);border-radius:4px;background:var(--fpd-light-bg-color)}.fpd-container fpd-range-slider input[type=range]::-moz-range-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:1em;background:#fff;border:2px solid var(--fpd-secondary-color);margin-top:calc((var(--fpd-track-height) * .5 - 1px) - (20px * .5));cursor:pointer}.fpd-container fpd-range-slider input[type=range]::-moz-range-thumb:hover{scale:1.2}.fpd-container fpd-range-slider.fpd-progress input[type=range]::-moz-range-track{background:linear-gradient(var(--fpd-secondary-color),var(--fpd-secondary-color)) 0/var(--sx) 100% no-repeat,var(--fpd-light-bg-color)}.fpd-container .fpd-color-panel>.fpd-scroll-area{height:auto;max-height:100px;margin-bottom:10px}.fpd-container .fpd-color-panel>*{margin-bottom:10px}.fpd-container .fpd-color-panel>:last-child{margin-bottom:0}.fpd-container .picker_wrapper{width:100%;box-shadow:none;background:0 0;padding:0}.fpd-container .picker_wrapper.popup{width:200px;max-width:200px;padding:10px;display:flex;min-height:200px;background:#f6f6f6;margin:0;transform:translate(-50%,10px);border-radius:var(--fpd-border-radius);box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12)}.fpd-container .picker_wrapper>*{margin:0 0 10px}.fpd-container .picker_wrapper .picker_sample,.fpd-container .picker_wrapper .picker_sl,.fpd-container .picker_wrapper .picker_slider{box-shadow:none}.fpd-container .picker_wrapper .picker_selector{border:2px solid rgba(0,0,0,.4);background:rgba(255,255,255,.5);border-radius:50%;box-shadow:none;width:15px;height:15px;padding:0}.fpd-container .picker_wrapper .picker_sl{margin-top:0;height:100%;border-radius:var(--fpd-border-radius)}.fpd-container .picker_wrapper .picker_sl:before{height:100px;padding:0;border:1px solid var(--fpd-border-color);border-radius:var(--fpd-border-radius)}.fpd-container .picker_wrapper .picker_sl .picker_selector{transform-origin:center}.fpd-container .picker_wrapper .picker_hue{order:1;height:15px;padding:0;border:1px solid var(--fpd-border-color);border-radius:var(--fpd-border-radius)}.fpd-container .picker_wrapper .picker_hue .picker_selector{transform:translate(-50%,0);top:-1px}.fpd-container .picker_wrapper .picker_editor{width:auto;flex:0 80%;max-width:100px;margin-bottom:0}.fpd-container .picker_wrapper .picker_editor input{font-size:16px;height:28px;box-shadow:none!important;border:1px solid var(--fpd-border-color);margin-bottom:0}.fpd-container .picker_wrapper .picker_sample{height:28px;cursor:pointer;text-align:center;flex:0 30px;margin-bottom:0}.fpd-container .picker_wrapper .picker_sample:before{border-radius:var(--fpd-border-radius);border:1px solid var(--fpd-border-color)}.fpd-container .picker_wrapper .picker_sample span{position:relative;display:inline-block;margin-top:3px;font-size:16px;color:#fff;text-shadow:0 0 #000}.fpd-container .picker_wrapper .picker_arrow,.fpd-container .picker_wrapper .picker_done{display:none}.fpd-container .fpd-colorpicker-wrapper{position:relative;padding:0 10px;width:100%}.fpd-container .fpd-colorpicker-wrapper .fpd-scroll-area{max-height:100px;overflow-x:hidden;margin-top:10px}.fpd-container .fpd-color-palette,.fpd-container .fpd-patterns-wrapper{display:flex;flex-wrap:wrap;gap:6px}.fpd-container .fpd-color-palette .fpd-item,.fpd-container .fpd-patterns-wrapper .fpd-item{width:24px;height:24px;border:2px solid rgba(0,0,0,.1);border-radius:var(--fpd-border-radius);transition:all .2s ease;background-repeat:repeat;cursor:pointer}.fpd-container .fpd-color-palette .fpd-item:hover,.fpd-container .fpd-patterns-wrapper .fpd-item:hover{border-color:rgba(0,0,0,.2)}.fpd-container .fpd-color-palette.fpd-sub-show>.fpd-item,.fpd-container .fpd-patterns-wrapper.fpd-sub-show>.fpd-item{scale:.7}.fpd-container .fpd-color-palette.fpd-sub-show>.fpd-item.fpd-active,.fpd-container .fpd-patterns-wrapper.fpd-sub-show>.fpd-item.fpd-active{scale:1}.fpd-container .fpd-has-subpanel>.fpd-color-palette>.fpd-scroll-area{margin-top:5px;flex:1 1 100%}.fpd-main-tooltip{position:fixed;background:var(--fpd-tooltip-bg-color);color:#fff;padding:5px;font-size:14px;min-width:30px;top:0;left:0;border-radius:var(--fpd-border-radius);pointer-events:none;transform:scale(0);opacity:0;z-index:10000000000;visibility:hidden;transition:transform .1s ease}.fpd-main-tooltip.fpd-show{visibility:visible;opacity:1;transform:scale(1)}.fpd-thumbnail-preview{width:350px;height:250px;padding:10px;border-width:1px;background:#fff;position:absolute;top:0;left:0;z-index:9999999999999;border-radius:var(--fpd-border-radius)}.fpd-thumbnail-preview.fpd-title-enabled{padding-bottom:30px}.fpd-thumbnail-preview>picture{display:block;width:100%;height:100%;background-size:contain;background-repeat:no-repeat;background-position:top center}.fpd-thumbnail-preview>.fpd-preview-title{position:absolute;left:0;bottom:5px;width:100%;font-size:14px;text-align:center;margin-top:30px}.fpd-thumbnail-preview>.fpd-price{background:rgba(0,0,0,.7);position:absolute;right:20px;top:15px;padding:2px 5px 2px 7px;font-size:12px;color:#fff;border-radius:var(--fpd-border-radius)}.fpd-thumbnail-preview>.fpd-image-quality-ratings{background:rgba(0,0,0,.7);position:absolute;left:20px;top:15px;border-radius:4px;padding:2px 5px;color:#fff;text-align:left}.fpd-thumbnail-preview>.fpd-image-quality-ratings>span{font-size:18px;color:var(--fpd-image-quality-start-color)}.fpd-thumbnail-preview>.fpd-image-quality-ratings>.fpd-image-quality-rating-label{color:#fff;display:block;padding-top:2px;font-size:10px;text-transform:uppercase}.fpd-editor-box-wrapper{margin:20px 0;background:rgba(0,0,0,.05);padding:10px}.fpd-editor-box-wrapper .fpd-eb-title{font-size:16px;margin-bottom:10px}.fpd-editor-box-wrapper .fpd-eb-grid{display:flex;flex-flow:row wrap}.fpd-editor-box-wrapper .fpd-eb-grid>div{flex:1 0 50%;padding:0 10px 0 0}.fpd-editor-box-wrapper .fpd-eb-grid>div span{text-transform:uppercase}.fpd-dragged-image{position:absolute;background-size:90%;background-repeat:no-repeat;background-position:center;background-color:#fff;width:200px;height:200px;top:0;left:0;cursor:move;transition:transform .1s ease-in-out;transform-origin:center center;transform:scale(0);z-index:100000000000;pointer-events:none}.fpd-dragged-image.fpd-animate{transform:scale(1)}.fpd-container input.fpd-switch{appearance:none;background-color:var(--fpd-light-grey-color)!important;border-radius:70px;border-style:none;height:20px;margin:0;position:relative;width:35px;box-shadow:none;cursor:pointer}.fpd-container input.fpd-switch:before{bottom:-6px;content:"";left:-6px;position:absolute;right:-6px;top:-6px}.fpd-container input.fpd-switch:after{background-color:#fff;border-radius:50%;content:"";height:14px;left:3px;position:absolute;top:3px;width:14px;transition:all .1s ease-out}.fpd-container input.fpd-switch:hover{opacity:.9;transition-duration:0s}.fpd-container input.fpd-switch:checked{background-color:var(--fpd-secondary-color)!important}.fpd-container input.fpd-switch:checked:after{background-color:#fff;left:18px}.fpd-container .fpd-switch-wrapper{display:flex;justify-content:center}.fpd-container .fpd-switch-wrapper label{margin-left:10px}.fpd-container .fpd-grid{overflow:hidden;display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:100px;gap:0 0}.fpd-container .fpd-grid>.fpd-item{cursor:pointer;display:flex;align-items:center;justify-content:center;flex-flow:column;position:relative}.fpd-container .fpd-grid>.fpd-item>img,.fpd-container .fpd-grid>.fpd-item>picture{opacity:1;transition:opacity .3s ease-out;pointer-events:none}.fpd-container .fpd-grid>.fpd-item:hover>img,.fpd-container .fpd-grid>.fpd-item:hover>picture{opacity:.8}.fpd-container .fpd-grid>.fpd-item>picture{width:90%;height:90%;background-position:center center;background-repeat:no-repeat}.fpd-container .fpd-grid>.fpd-item>.fpd-delete{position:absolute;font-size:18px;top:5px;right:5px;cursor:pointer}.fpd-container .fpd-grid>.fpd-item>.fpd-price{position:absolute;right:5px;bottom:5px;background:rgba(0,0,0,.7);color:#fff;font-size:10px;line-height:1;padding:3px 4px;border-radius:2px}.fpd-container .fpd-grid>.fpd-item.fpd-loading picture{filter:blur(2px)}.fpd-container .fpd-grid.fpd-grid-cover>.fpd-item>picture{background-size:cover}.fpd-container .fpd-grid.fpd-grid-contain>.fpd-item>picture{background-size:contain}.fpd-container .fpd-grid.fpd-photo-grid{gap:6px}.fpd-container .fpd-grid.fpd-photo-grid>.fpd-item>picture{width:100%;height:100%;border-radius:var(--fpd-border-radius)}.fpd-container .fpd-grid.fpd-padding{gap:5px}.fpd-container .fpd-grid>.fpd-category.fpd-item{background:var(--fpd-module-secondary-color);color:var(--fpd-module-secondary-text-color);height:100px!important;border-radius:2px}.fpd-container .fpd-grid>.fpd-category.fpd-item:nth-child(-n+2){margin-top:0}.fpd-container .fpd-grid>.fpd-category.fpd-item:nth-child(2n+2){margin-right:0}.fpd-container .fpd-grid>.fpd-category.fpd-item>picture{height:55%}.fpd-container .fpd-grid>.fpd-category.fpd-item>span{text-transform:uppercase;margin-top:5px;font-size:10px;text-align:center;width:100%;white-space:nowrap}.fpd-container .fpd-grid>.fpd-category.fpd-item.fpd-title-centered>span{bottom:50%;font-size:14px;white-space:normal;transform:translateY(50%)}.fpd-grid>.fpd-item>picture.fpd-on-loading,.fpd-thumbnail-preview picture.fpd-on-loading{width:30px!important;height:30px!important;background-size:auto;background-image:var(--fpd-loading-svg)}.fpd-shadow-1{box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12)}.fpd-shadow-2{box-shadow:0 8px 17px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19)}.fpd-shadow-3{box-shadow:0 12px 15px 0 rgba(0,0,0,.24),0 17px 50px 0 rgba(0,0,0,.19)}.fpd-shadow-4{box-shadow:0 16px 28px 0 rgba(0,0,0,.22),0 25px 55px 0 rgba(0,0,0,.21)}.fpd-shadow-5{box-shadow:0 27px 24px 0 rgba(0,0,0,.2),0 40px 77px 0 rgba(0,0,0,.22)}.fpd-shadow-6:after,.fpd-shadow-6:before{z-index:-1;position:absolute;content:"";bottom:15px;left:10px;width:50%;top:80%;max-width:300px;background:#777;box-shadow:0 15px 10px #777;transform:rotate(-3deg)}.fpd-shadow-6:after{transform:rotate(3deg);right:10px;left:auto}.fpd-shadow-7{position:relative;box-shadow:0 1px 4px rgba(0,0,0,.3),0 0 40px rgba(0,0,0,.1) inset}.fpd-shadow-7:after,.fpd-shadow-7:before{content:"";position:absolute;z-index:-1;box-shadow:0 0 20px rgba(0,0,0,.8);top:50%;bottom:0;left:10px;right:10px;border-radius:100px/10px}.fpd-shadow-8{position:relative;box-shadow:0 1px 4px rgba(0,0,0,.3),0 0 40px rgba(0,0,0,.1) inset}.fpd-shadow-8:after,.fpd-shadow-8:before{content:"";position:absolute;z-index:-1;box-shadow:0 0 20px rgba(0,0,0,.8);top:0;bottom:0;left:10px;right:10px;border-radius:100px/10px}.fpd-shadow-8:after{right:10px;left:auto;transform:skew(8deg) rotate(3deg)}.fpd-shadow-9{box-shadow:0 1px 4px rgba(0,0,0,.3),0 0 40px rgba(0,0,0,.1) inset}.fpd-shadow-9:after,.fpd-shadow-9:before{content:"";position:absolute;z-index:-1;box-shadow:0 0 20px rgba(0,0,0,.8);top:10px;bottom:10px;left:0;right:0;border-radius:100px/10px}.fpd-shadow-9:after{right:10px;left:auto;transform:skew(8deg) rotate(3deg)}.mobile-close{display:none;width:100%;font-size:18px;text-align:center;position:absolute;top:0;right:0;left:auto;bottom:auto;height:30px;line-height:30px;background:var(--fpd-primary-fg-color);z-index:1000;cursor:pointer;border-top-left-radius:8px;border-top-right-radius:8px;box-shadow:none;border:none}.mobile-close:before{content:"";position:absolute;height:4px;width:60px;background:var(--fpd-border-color);top:10px;left:50%;transform:translateX(-50%);border-radius:2px}.mobile-close .fpd-icon-close{display:none}fpd-main-bar{display:flex;position:relative;background:var(--fpd-primary-fg-color)}fpd-main-bar>.fpd-close{display:none;position:absolute;bottom:calc(var(--fpd-topbar-nav-height));left:-100%;width:50px;height:50px;padding:0 15px;line-height:50px;text-align:center;font-size:16px;background:rgba(255,255,255,.96);z-index:99;cursor:pointer;border-top:1px solid var(--fpd-border-color);border-right:1px solid var(--fpd-border-color);border-radius:0 4px 0 0;box-shadow:1px 1px 3px 0 rgba(0,0,0,.1)}fpd-main-bar .fpd-navigation>.fpd-nav-item{display:flex;align-items:center;margin:15px 7px;padding:5px;text-align:center;cursor:pointer;border-radius:var(--fpd-border-radius);background:0 0;transition:all .3s ease}fpd-main-bar .fpd-navigation>.fpd-nav-item .fpd-nav-icon:before{color:var(--fpd-mainbar-nav-color)}fpd-main-bar .fpd-navigation>.fpd-nav-item svg{width:24px;max-height:30px;vertical-align:middle}fpd-main-bar .fpd-navigation>.fpd-nav-item svg *{fill:var(--fpd-mainbar-nav-color)}fpd-main-bar .fpd-navigation>.fpd-nav-item:hover{opacity:.8}fpd-main-bar .fpd-navigation>.fpd-nav-item.fpd-active{position:relative;color:var(--fpd-secondary-color)}fpd-main-bar .fpd-navigation>.fpd-nav-item.fpd-active .fpd-nav-icon:before{color:var(--fpd-secondary-color)}fpd-main-bar .fpd-navigation>.fpd-nav-item.fpd-active svg *{fill:var(--fpd-secondary-color)}fpd-main-bar .fpd-navigation>.fpd-nav-item.fpd-active:before{position:absolute;content:'';top:0;left:0;width:100%;height:100%;background:var(--fpd-secondary-color);opacity:.1;border-radius:var(--fpd-border-radius)}.fpd-container.fpd-sidebar .fpd-navigation{flex:0 0 var(--fpd-sidebar-nav-width);overflow:auto}.fpd-container.fpd-sidebar .fpd-navigation>div>span{padding:10px 0;display:inline-block;font-size:28px}.fpd-container.fpd-sidebar .fpd-navigation>div>.fpd-label{display:block;font-size:12px;line-height:14px;padding:0;word-break:break-word}.fpd-container.fpd-sidebar>fpd-main-bar{height:100%;flex:0 var(--fpd-sidebar-width);overflow:hidden;border-right:1px solid var(--fpd-border-color)}.fpd-container.fpd-sidebar>fpd-main-bar .fpd-navigation{border-right:1px solid var(--fpd-border-color)}.fpd-container.fpd-sidebar>fpd-main-bar .fpd-navigation>.fpd-nav-item{flex-direction:column}.fpd-container.fpd-sidebar>fpd-main-bar>.fpd-module-content{flex:1}.fpd-container.fpd-sidebar.fpd-layout-medium{--fpd-sidebar-width:350px}.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-wrapper{order:2;flex-basis:100%}.fpd-container.fpd-sidebar.fpd-layout-small:not(.fpd-no-modules-mode) fpd-main-wrapper{margin-bottom:var(--fpd-sidebar-nav-width)}.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-bar{height:auto!important;width:100%;flex-basis:auto;flex-flow:row wrap;z-index:999999999999;position:absolute;left:0;bottom:0;overflow:visible;border:none}.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-bar>.fpd-navigation{display:flex;flex:1 0 100%;height:var(--fpd-sidebar-nav-width);min-height:auto;order:2;align-self:flex-end;border-right:none;border-top:1px solid var(--fpd-border-color)}.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-bar>.fpd-navigation>.fpd-nav-item{flex:1 0 auto;white-space:nowrap;padding:0 20px;margin:5px 5px 8px}.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-bar>.fpd-navigation>.fpd-nav-item>span:first-child{height:45px;padding-top:10px;padding-bottom:0}.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-bar>.fpd-navigation>.fpd-nav-item .fpd-label{line-height:1}.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-bar>.fpd-module-content,.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-bar>.fpd-secondary-content{padding-top:30px;flex:1 0 100%;height:calc(100% - var(--fpd-sidebar-nav-width));min-height:auto;display:none}.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-bar>.fpd-close{display:none;width:100%;font-size:18px;text-align:center;position:absolute;top:0;right:0;left:auto;bottom:auto;height:30px;line-height:30px;background:var(--fpd-primary-fg-color);z-index:1000;cursor:pointer;border-top-left-radius:8px;border-top-right-radius:8px;box-shadow:none;border:none}.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-bar>.fpd-close:before{content:"";position:absolute;height:4px;width:60px;background:var(--fpd-border-color);top:10px;left:50%;transform:translateX(-50%);border-radius:2px}.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-bar>.fpd-close .fpd-icon-close{display:none}.fpd-container.fpd-sidebar.fpd-layout-small fpd-main-bar:not(.fpd-no-modules-mode) .fpd-secondary-content{height:100%}.fpd-container.fpd-sidebar.fpd-layout-small.fpd-module-visible fpd-main-bar,.fpd-container.fpd-sidebar.fpd-layout-small.fpd-secondary-visible fpd-main-bar{height:100%!important}.fpd-container.fpd-sidebar.fpd-layout-small.fpd-module-visible .fpd-module-content{display:block!important}.fpd-container.fpd-sidebar.fpd-secondary-visible .fpd-secondary-content{display:block!important}.fpd-off-canvas fpd-main-bar,.fpd-topbar fpd-main-bar{flex-basis:100%;order:2;height:auto!important}.fpd-off-canvas fpd-main-bar .fpd-navigation,.fpd-topbar fpd-main-bar .fpd-navigation{display:flex;flex-wrap:wrap;flex-direction:column;flex-basis:100%;height:var(--fpd-topbar-nav-height);padding:5px;overflow-x:auto;border-bottom:1px solid var(--fpd-border-color)}.fpd-off-canvas fpd-main-bar .fpd-navigation>div,.fpd-topbar fpd-main-bar .fpd-navigation>div{height:100%;padding:0 20px;margin:0;white-space:nowrap;flex-grow:1;flex-basis:auto}.fpd-off-canvas fpd-main-bar .fpd-navigation>div>span,.fpd-topbar fpd-main-bar .fpd-navigation>div>span{line-height:65px;font-size:26px}.fpd-off-canvas fpd-main-bar .fpd-navigation>div>.fpd-label,.fpd-topbar fpd-main-bar .fpd-navigation>div>.fpd-label{font-size:15px;padding-left:10px;vertical-align:top;text-transform:uppercase;white-space:nowrap}.fpd-off-canvas fpd-main-bar>.fpd-module-content,.fpd-topbar fpd-main-bar>.fpd-module-content{display:none}.fpd-topbar fpd-main-bar>.fpd-close{display:none!important}.fpd-off-canvas{overflow:hidden}.fpd-off-canvas fpd-main-bar{order:3}.fpd-off-canvas fpd-main-bar>.fpd-close{display:block}.fpd-off-canvas fpd-main-bar .fpd-navigation{border-top:1px solid var(--fpd-border-color)}.fpd-off-canvas fpd-main-bar .fpd-module-content,.fpd-off-canvas fpd-main-bar .fpd-secondary-content{height:var(--fpd-content-height);width:var(--fpd-off-canvas-width);left:calc(-2 * var(--fpd-off-canvas-width));bottom:var(--fpd-topbar-nav-height);border-right:1px solid var(--fpd-border-color);position:absolute;display:block;z-index:100;background:rgba(255,255,255,.96);box-shadow:2px 0 8px 0 rgba(0,0,0,.1)}.fpd-off-canvas fpd-main-bar.fpd-show .fpd-module-content{left:0}.fpd-off-canvas fpd-main-bar.fpd-show>.fpd-close{left:var(--fpd-off-canvas-width);margin-left:-1px}.fpd-off-canvas fpd-main-bar:not(.fpd-is-dragging) .fpd-close,.fpd-off-canvas fpd-main-bar:not(.fpd-is-dragging) .fpd-module-content{transition:left .3s cubic-bezier(.215,.61,.355,1)}.fpd-off-canvas.fpd-secondary-visible fpd-main-bar .fpd-secondary-content{left:0}.fpd-off-canvas.fpd-secondary-visible fpd-main-bar>.fpd-close{left:var(--fpd-off-canvas-width);margin-left:-1px}.fpd-off-canvas.fpd-layout-small fpd-main-bar .fpd-close{width:40px;height:40px;line-height:40px;font-size:12px;padding:0}.fpd-off-canvas.fpd-layout-small fpd-main-bar .fpd-module-content{border:none}.fpd-module-content>*{height:100%;display:none}.fpd-module-content>*>div{height:100%;display:flex;flex-flow:column}.fpd-module-content>.fpd-active{display:block}.fpd-draggable-dialog{display:none;width:350px;height:450px;background:var(--fpd-primary-fg-color);position:fixed!important;left:calc(50% - 175px);top:calc(45% - 200px);min-width:200px;min-height:100px;z-index:1000000;border-radius:2px;max-width:100%;overflow:hidden;border-radius:6px}.fpd-draggable-dialog.fpd-show{display:flex;flex-flow:column nowrap}.fpd-draggable-dialog>.fpd-dialog-head{background:var(--fpd-primary-color);color:var(--fpd-primary-fg-color);display:flex;align-items:center;height:40px;font-size:15px;padding:0 0 0 12px;cursor:move;overflow:hidden;white-space:nowrap}.fpd-draggable-dialog>.fpd-dialog-head>.fpd-dialog-drag-handle{flex:1;overflow:hidden}.fpd-draggable-dialog>.fpd-dialog-head>.fpd-dialog-drag-handle .fpd-dialog-title{margin-left:6px;text-transform:uppercase}.fpd-draggable-dialog>.fpd-dialog-head>.fpd-close-dialog{font-size:14px;padding:0 12px;text-align:right;cursor:pointer;opacity:.8;transition:opacity .2s ease-out}.fpd-draggable-dialog>.fpd-dialog-head>.fpd-close-dialog:hover{opacity:1}.fpd-draggable-dialog>.fpd-module-content{flex:1;height:100%;overflow:hidden}.fpd-draggable-dialog.fpd-secondary-visible>.fpd-module-content{display:none}.fpd-draggable-dialog.fpd-secondary-visible>.fpd-secondary-content{display:block;overflow:hidden}.fpd-wrapper.fpd-module-visible.fpd-layout-small fpd-main-bar .fpd-close,.fpd-wrapper.fpd-module-visible.fpd-off-canvas fpd-main-bar .fpd-close,.fpd-wrapper.fpd-secondary-visible.fpd-layout-small fpd-main-bar .fpd-close,.fpd-wrapper.fpd-secondary-visible.fpd-off-canvas fpd-main-bar .fpd-close{display:block}.fpd-wrapper.fpd-secondary-visible fpd-main-bar .fpd-module-content{display:none!important}.fpd-wrapper.fpd-products-module-hidden .fpd-navigation .fpd-nav-item[data-module=products]{display:none!important}.fpd-wrapper.fpd-no-modules-mode fpd-main-bar .fpd-navigation,.fpd-wrapper.fpd-one-module-mode:not(.fpd-layout-small) fpd-main-bar .fpd-navigation{display:none!important}.fpd-secondary-content{display:none;flex:1}.fpd-secondary-content>*{display:none}.fpd-secondary-content>.fpd-active{display:block}.fpd-secondary-content .fpd-upload-zone-panel{display:flex;flex-flow:column;height:100%}.fpd-secondary-content .fpd-upload-zone-panel>.fpd-upload-zone-content{flex-basis:100%;overflow:hidden}.fpd-secondary-content .fpd-upload-zone-panel>.fpd-upload-zone-content>*{height:100%;display:none}.fpd-secondary-content .fpd-upload-zone-panel>.fpd-upload-zone-content>.fpd-active{display:block}.fpd-secondary-content .fpd-upload-zone-panel>.fpd-upload-zone-content>*>div{height:100%;display:flex;flex-flow:column}.fpd-secondary-content .fpd-upload-zone-panel>.fpd-bottom-nav>div{padding:11px;font-size:22px}.fpd-no-modules-mode.fpd-off-canvas .fpd-secondary-content{bottom:0}.fpd-container.fpd-main-bar-container fpd-main-bar{min-height:500px!important;min-width:300px;width:400px;border:1px solid var(--fpd-border-color);margin:20px 0}.fpd-main-bar-container-enabled fpd-main-wrapper{flex-basis:100%!important}.fpd-modal-mode-active .fpd-wrapper.fpd-layout-small fpd-main-bar{padding-bottom:env(safe-area-inset-bottom)}.fpd-container fpd-actions-bar{background:var(--fpd-actions-bar-bg-color);height:var(--fpd-actions-bar-height);flex:1 100%;display:flex;flex-flow:row nowrap;color:var(--fpd-primary-fg-color);align-items:center;padding:0 5px;justify-content:space-between}.fpd-container fpd-actions-bar>div{flex:1;font-size:16px;white-space:nowrap;max-width:33%;height:100%}.fpd-container fpd-actions-bar>div>.fpd-btn span{margin-left:5px}.fpd-container fpd-actions-bar>[data-pos=center] fpd-actions-menu>div{left:50%;transform:translateX(-50%)}.fpd-container fpd-actions-bar>[data-pos=center] .fpd-btn span{display:none}.fpd-container fpd-actions-bar>[data-pos=center] .fpd-switch{display:none}.fpd-container fpd-actions-bar>[data-pos=right] fpd-actions-menu>div{right:0;left:auto}.fpd-container fpd-actions-bar>[data-pos=right] fpd-actions-menu .fpd-dropdown-menu{text-align:left;right:0;left:auto}.fpd-container fpd-actions-bar>[data-pos=modal]{display:none}.fpd-container fpd-actions-bar fpd-actions-menu{display:flex;justify-content:center;max-width:100%;height:100%;position:relative}.fpd-container fpd-actions-bar fpd-actions-menu .fpd-collapsed-menu,.fpd-container fpd-actions-bar fpd-actions-menu .fpd-uncollapsed-menu{position:absolute;top:0;left:0;height:100%;display:flex}.fpd-container fpd-actions-bar fpd-actions-menu .fpd-uncollapsed-menu{max-width:none;white-space:nowrap;align-items:center;justify-content:center}.fpd-container fpd-actions-bar fpd-actions-menu .fpd-uncollapsed-menu .fpd-btn span{font-size:14px;margin-left:10px}.fpd-container fpd-actions-bar fpd-actions-menu .fpd-uncollapsed-menu .fpd-btn .fpd-switch{display:none}.fpd-container fpd-actions-bar fpd-actions-menu .fpd-collapsed-menu{align-items:center}.fpd-container fpd-actions-bar .fpd-btn,.fpd-container fpd-actions-bar .fpd-dropdown-btn{display:inline-block;position:relative;cursor:pointer;padding:7px 12px;margin:0 0 0 5px;border-radius:var(--fpd-border-radius);line-height:1;text-transform:capitalize;background:0 0}.fpd-container fpd-actions-bar .fpd-btn:hover,.fpd-container fpd-actions-bar .fpd-dropdown-btn:hover{opacity:1;background:rgba(255,255,255,.05)}.fpd-container fpd-actions-bar .fpd-btn>*,.fpd-container fpd-actions-bar .fpd-dropdown-btn>*{pointer-events:none;line-height:1;vertical-align:middle}.fpd-container fpd-actions-bar .fpd-btn.fpd-btn-fill,.fpd-container fpd-actions-bar .fpd-dropdown-btn.fpd-btn-fill{background:rgba(255,255,255,.1)}.fpd-container fpd-actions-bar .fpd-btn.fpd-btn-fill>span,.fpd-container fpd-actions-bar .fpd-dropdown-btn.fpd-btn-fill>span{display:inline-flex}.fpd-container fpd-actions-bar .fpd-btn{font-size:18px}.fpd-container fpd-actions-bar .fpd-dropdown-menu{display:none;position:absolute;top:100%;left:0;min-width:max-content;z-index:10000;background:#fff;border-radius:var(--fpd-border-radius);transform:translateY(5px);padding:5px 0}.fpd-container fpd-actions-bar .fpd-dropdown-menu>.fpd-btn{display:flex;color:var(--fpd-text-color);min-width:150px;margin:5px 10px;font-size:16px;padding:0;border-radius:var(--fpd-border-radius)}.fpd-container fpd-actions-bar .fpd-dropdown-menu>.fpd-btn:hover{background:rgba(0,0,0,.05)}.fpd-container fpd-actions-bar .fpd-dropdown-menu>.fpd-btn>*{pointer-events:auto;margin:10px}.fpd-container fpd-actions-bar .fpd-dropdown-menu>.fpd-btn>i{flex:0;margin-right:0}.fpd-container fpd-actions-bar .fpd-dropdown-menu>.fpd-btn>span{flex:1}.fpd-container fpd-actions-bar .fpd-dropdown-menu>.fpd-btn>.fpd-switch{margin-left:40px}.fpd-container fpd-actions-bar .fpd-dropdown-menu.fpd-show{display:block}.fpd-off-canvas fpd-actions-bar,.fpd-topbar fpd-actions-bar{order:1;display:flex}.fpd-off-canvas fpd-actions-bar{order:1!important}.fpd-container .fpd-modal-download>span{font-size:60px;cursor:pointer}.fpd-container .fpd-zoom-wrapper{display:flex;width:150px;background:#fff;border-radius:var(--fpd-border-radius);position:absolute;left:50%;top:10px;transform:translate(-50%,50%);padding:10px;z-index:10}.fpd-container .fpd-zoom-wrapper>.fpd-stage-pan{margin-left:10px;font-size:14px;cursor:pointer}.fpd-container .fpd-zoom-wrapper>.fpd-stage-pan.fpd-active{color:var(--fpd-secondary-color)}.fpd-container .fpd-zoom-wrapper>.fpd-close{display:flex;align-items:center;position:absolute;right:0;top:4px;transform:translateY(-100%);background:#fff;padding:2px 10px;z-index:1;border-radius:var(--fpd-border-radius) var(--fpd-border-radius) 0 0;border:1px solid var(--fpd-border-color);border-bottom:none;cursor:pointer;font-size:10px}.fpd-container .fpd-zoom-wrapper>.fpd-close:hover>*{font-weight:700}.fpd-modal-product-designer fpd-actions-bar{justify-content:stretch}.fpd-modal-product-designer fpd-actions-bar [data-pos=right]{margin-left:auto}.fpd-modal-product-designer fpd-actions-bar [data-pos=modal]{flex:0;text-align:right;display:flex!important;padding:5px;align-items:center}.fpd-modal-product-designer fpd-actions-bar .fpd-total-price{line-height:20px;font-size:15px;display:inline-block!important}.fpd-modal-product-designer .fpd-wrapper.fpd-layout-small [data-pos=right] .fpd-dropdown-menu{transform:translate(50%,5px)}.fpd-wrapper.fpd-layout-small fpd-actions-bar{gap:2px}.fpd-wrapper.fpd-layout-small fpd-actions-bar>div{max-width:none}.fpd-wrapper.fpd-layout-small fpd-actions-bar .fpd-dropdown-btn>span{display:none}.fpd-wrapper.fpd-layout-small fpd-actions-bar [data-pos=left],.fpd-wrapper.fpd-layout-small fpd-actions-bar [data-pos=right]{max-width:45px}.fpd-wrapper.fpd-layout-small fpd-actions-bar [data-pos=modal]>.fpd-btn.fpd-done .fpd-label{display:none}.fpd-wrapper.fpd-layout-small fpd-actions-bar [data-pos=modal]>.fpd-btn.fpd-done i{font-size:14px}.fpd-wrapper.fpd-layout-small fpd-actions-bar [data-pos=modal]>.fpd-btn.fpd-close:last-child{padding-left:6px;padding-right:0;font-size:16px}.fpd-wrapper.fpd-off-canvas>fpd-main-wrapper,.fpd-wrapper.fpd-topbar>fpd-main-wrapper{flex-basis:100%}.fpd-wrapper.fpd-off-canvas>fpd-main-wrapper{order:2!important}.fpd-wrapper>fpd-main-wrapper{display:flex;overflow:hidden;flex:1 0;min-height:400px;background:var(--fpd-canvas-bg);transition:opacity .3s ease-out;order:3;position:relative}.fpd-wrapper>fpd-main-wrapper .fpd-product-stage{display:flex;justify-content:center;align-items:center;position:relative;direction:ltr;max-height:100%;margin:auto;width:100%}.fpd-wrapper>fpd-main-wrapper .fpd-product-stage>.fpd-view-stage{background:rgba(255,255,255,.7);height:100%}.fpd-wrapper>fpd-main-wrapper .fpd-product-stage>.fpd-view-stage textarea{left:-10000px!important;top:50%!important}.fpd-wrapper>fpd-main-wrapper .fpd-product-stage>.fpd-zoom-image{position:absolute;top:0;left:0;max-width:100%}.fpd-wrapper>fpd-main-wrapper.fpd-drag canvas{cursor:grab!important}.fpd-wrapper>fpd-main-wrapper>.fpd-warnings{position:absolute;width:90%;left:5%;top:20px;font-size:14px}.fpd-wrapper>fpd-main-wrapper>.fpd-warnings>.fpd-size-warning{display:flex;flex-direction:row;padding:12px;background:var(--fpd-yellow-color);color:var(--fpd-yellow-contrast-color);border-radius:var(--fpd-border-radius);border:1px solid var(--fpd-yellow-contrast-color);box-shadow:0 0 6px rgba(0,0,0,.1);justify-content:space-between;gap:10px}.fpd-wrapper>fpd-main-wrapper>.fpd-warnings>.fpd-size-warning .fpd-btn{background-color:#3f3f3f;margin:0;white-space:nowrap;max-height:35px}.fpd-wrapper>fpd-main-wrapper>.fpd-advanced-image-editor{width:100%;height:100%;position:absolute;left:0;top:0;background:#fff;z-index:100}.fpd-wrapper>fpd-main-wrapper>.fpd-advanced-image-editor .fpd-close{position:absolute;right:10px;top:10px;font-size:16px;z-index:1000;cursor:pointer;opacity:.6}.fpd-wrapper>fpd-main-wrapper>.fpd-advanced-image-editor .fpd-close:hover{opacity:1}.fpd-wrapper>fpd-main-wrapper>.fpd-advanced-image-editor .fpd-done{position:absolute;background:var(--fpd-secondary-color);color:var(--fpd-secondary-fg-color);border-radius:var(--fpd-border-radius);padding:6px 12px;right:10px;bottom:10px;font-size:16px;z-index:1000;cursor:pointer}.fpd-wrapper.fpd-layout-small .fpd-size-warning{flex-direction:column!important}.fpd-wrapper.fpd-layout-small .fpd-size-warning .fpd-btn{justify-content:center}.fpd-container fpd-views-nav{position:absolute;z-index:20;display:flex;align-items:center;gap:4px 8px;bottom:calc(10px + env(safe-area-inset-bottom));right:10px;background:#fff;box-shadow:0 0 10px rgba(110,111,114,.22);border-radius:var(--fpd-border-radius);min-height:35px;flex-wrap:wrap;justify-content:center;max-width:160px}.fpd-container fpd-views-nav>.fpd-view-locker{font-size:20px;cursor:pointer;margin-left:5px}.fpd-container fpd-views-nav>.fpd-view-locker .fpd-icon-locked{color:var(--fpd-secondary-color)}.fpd-container fpd-views-nav>.fpd-view-next,.fpd-container fpd-views-nav>.fpd-view-prev{display:flex;align-items:center;justify-content:center;width:30px;height:30px;font-size:18px;border-radius:50%;text-align:center;cursor:pointer;transform-origin:center center}.fpd-container fpd-views-nav>.fpd-view-next:hover,.fpd-container fpd-views-nav>.fpd-view-prev:hover{color:var(--fpd-secondary-color)}.fpd-container fpd-views-nav>.fpd-view-prev{rotate:-180deg}.fpd-container fpd-views-nav>.fpd-show-views-grid{display:flex;align-items:center;justify-content:center;cursor:pointer;line-height:1}.fpd-container fpd-views-nav>.fpd-show-views-grid>.fpd-icon-pages{font-size:18px;margin-right:4px}.fpd-container fpd-views-nav>.fpd-show-views-grid>.fpd-current-view{font-size:16px;margin-right:2px;padding-top:2px}.fpd-container fpd-views-nav>.fpd-show-views-grid>.fpd-total-views{display:inline-block;padding:4px 0;text-align:center;color:var(--fpd-dark-grey-color);font-size:12px}.fpd-container fpd-views-nav>.fpd-show-views-grid>.fpd-total-views:before{content:"/"}.fpd-container fpd-views-nav>.fpd-view-edit-size{display:flex;flex-direction:row;flex:1 1 100%;width:50px;border-bottom:1px solid var(--fpd-border-color)}.fpd-container fpd-views-nav>.fpd-view-edit-size .fpd-input{box-shadow:none;border-radius:0;border:none;height:100%}.fpd-container fpd-views-nav>.fpd-view-edit-size .fpd-input:first-child{border-top-left-radius:var(--fpd-border-radius)}.fpd-container fpd-views-nav>.fpd-view-edit-size .fpd-input>span{background:var(--fpd-border-color);padding:6px 6px}.fpd-container fpd-views-nav>.fpd-view-edit-size .fpd-input>input{padding:0;height:auto}.fpd-views-inside-left fpd-views-nav{left:10px;right:auto}.fpd-container fpd-views-grid{display:none;position:absolute;top:0;left:0;background:var(--fpd-light-bg-color);z-index:1000;flex-flow:column wrap}.fpd-container fpd-views-grid.fpd-show{display:flex}.fpd-container fpd-views-grid>.fpd-head{position:relative;min-height:40px}.fpd-container fpd-views-grid>.fpd-head>.fpd-btn{display:none}.fpd-container fpd-views-grid .fpd-grid{gap:35px 20px;display:flex;flex-flow:row wrap;padding:10px}.fpd-container fpd-views-grid .fpd-grid>.fpd-item{background:#fff;flex:1 0 45%;max-width:150px;height:150px;border-radius:var(--fpd-border-radius);overflow:hidden;padding:5px;cursor:default}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>picture{background-size:contain;margin:20px 0 5px;pointer-events:all;cursor:pointer}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>span{white-space:nowrap;display:block;overflow:hidden;font-size:12px}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-sort{position:absolute;left:5px;top:5px;font-size:18px;cursor:move}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-sort>*{pointer-events:none}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-options{position:absolute;top:5px;right:5px;padding:0 6px 2px;font-size:18px;line-height:1;cursor:pointer}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-options:hover{opacity:1}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-options>.fpd-dropdown-menu{position:absolute;display:none;flex-flow:column nowrap;text-align:right;top:100%;right:0;min-width:max-content;z-index:1000;background:#fff;color:var(--fpd-text-color);border-radius:var(--fpd-border-radius);transform:translateY(5px);padding:6px}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-options>.fpd-dropdown-menu>span{padding:4px;font-size:13px;min-width:90px;border-radius:4px}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-options>.fpd-dropdown-menu>span:hover{background:var(--fpd-light-bg-color)}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-options>.fpd-dropdown-menu.fpd-show{display:flex}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-edit-size-overlay{background:rgba(255,255,255,.98);position:absolute;width:100%;height:100%;display:none;flex-flow:row wrap;justify-content:center;align-items:center;padding:20px;gap:10px}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-edit-size-overlay>input{width:100%;background:#fff!important;margin:0;text-align:center;padding:7px}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-edit-size-overlay>.fpd-btn{display:inline-flex;width:min-content;margin:0;padding:3px 8px;font-size:12px;line-height:1}.fpd-container fpd-views-grid .fpd-grid>.fpd-item>.fpd-edit-size-overlay.fpd-show{display:flex}.fpd-container fpd-views-grid .fpd-grid>.fpd-item:first-child .fpd-dropdown-menu [data-option=delete]{display:none}.fpd-container fpd-views-grid .fpd-blank-page-modal,.fpd-container fpd-views-grid .fpd-layouts-modal{position:absolute;left:10px;top:10px;right:10px;bottom:10px;background:#fff;margin:10px;display:flex;flex-flow:column wrap;border-radius:var(--fpd-border-radius)}.fpd-container fpd-views-grid .fpd-blank-page-modal>.fpd-head,.fpd-container fpd-views-grid .fpd-layouts-modal>.fpd-head{position:relative;min-height:40px;display:flex}.fpd-container fpd-views-grid .fpd-blank-page-modal .fpd-scroll-area,.fpd-container fpd-views-grid .fpd-layouts-modal .fpd-scroll-area{margin-right:5px}.fpd-container fpd-views-grid .fpd-blank-page-modal .fpd-grid,.fpd-container fpd-views-grid .fpd-layouts-modal .fpd-grid{display:flex;flex-flow:row wrap;justify-content:space-between}.fpd-container fpd-views-grid .fpd-blank-page-modal .fpd-grid>.fpd-item,.fpd-container fpd-views-grid .fpd-layouts-modal .fpd-grid>.fpd-item{flex:0 0 200px;height:150px;cursor:pointer}.fpd-container fpd-views-grid .fpd-blank-page-modal .fpd-head{padding:10px}.fpd-container fpd-views-grid .fpd-blank-page-modal .fpd-head .fpd-input{width:max-content;margin-right:20px;max-width:150px}.fpd-container fpd-views-grid .fpd-blank-page-modal .fpd-head .fpd-input>input{width:100px}.fpd-container fpd-views-grid .fpd-blank-page-modal .fpd-head .fpd-btn{margin:0}.fpd-container fpd-views-grid .fpd-blank-page-modal .fpd-grid{justify-content:flex-start;align-items:center}.fpd-container fpd-views-grid .fpd-blank-page-modal .fpd-grid .fpd-item{flex:1 0 45%;text-align:center}.fpd-container fpd-views-grid.fpd-modal-visible>.fpd-head,.fpd-container fpd-views-grid.fpd-modal-visible>.fpd-scroll-area{filter:blur(5px)}.fpd-container fpd-views-grid .fpd-head{border-bottom:1px solid var(--fpd-border-color);padding:10px}.fpd-container fpd-views-grid .fpd-head .fpd-btn{margin:0 10px 5px 0}.fpd-container fpd-views-grid .fpd-close{position:absolute;right:10px;top:10px;font-size:14px;cursor:pointer}.fpd-container fpd-views-grid .fpd-scroll-area{flex:1;position:relative}.fpd-sidebar fpd-views-grid{left:var(--fpd-sidebar-nav-width);top:var(--fpd-actions-bar-height);width:calc(100% - var(--fpd-sidebar-nav-width));height:calc(100% - var(--fpd-actions-bar-height))}.fpd-wrapper.fpd-layout-small .fpd-blank-page-modal .fpd-head{flex-flow:row wrap;gap:10px;padding-top:40px}.fpd-wrapper.fpd-layout-small .fpd-blank-page-modal .fpd-head .fpd-input{flex:1 0 0;margin:0}.fpd-wrapper.fpd-layout-small .fpd-blank-page-modal .fpd-head .fpd-btn{text-align:center;width:100%;flex:0 0 100%}.fpd-sidebar.fpd-layout-small fpd-views-grid{width:100%;height:calc(100% - var(--fpd-sidebar-nav-width) - var(--fpd-actions-bar-height));left:0}.fpd-sidebar.fpd-layout-small fpd-views-grid .fpd-grid{justify-content:space-between}.fpd-sidebar.fpd-layout-small fpd-views-grid .fpd-layouts-modal .fpd-grid{gap:20px}.fpd-sidebar.fpd-layout-small fpd-views-grid .fpd-layouts-modal .fpd-grid .fpd-item{flex:0 calc(50% - 10px)}.fpd-off-canvas fpd-views-grid,.fpd-topbar fpd-views-grid{width:100%;height:100%}.fpd-wrapper.fpd-dynamic-views-enabled fpd-views-grid>.fpd-head>.fpd-btn{display:inline-block}fpd-element-toolbar{display:none;overflow:hidden;z-index:2;color:var(--fpd-text-color)}fpd-element-toolbar.fpd-show{display:flex!important}fpd-element-toolbar .fpd-close,fpd-element-toolbar .fpd-close-sub-panel{display:none;position:absolute;right:0;top:5px;height:30px;min-width:35px;padding:0 7px;line-height:30px;text-align:center;cursor:pointer;background:#fff;font-size:14px;transform:translateY(-100%);box-shadow:0 -1px 2px rgba(110,111,114,.2);border-top-left-radius:var(--fpd-border-radius);border-top-right-radius:var(--fpd-border-radius);gap:3px;align-items:center}fpd-element-toolbar .fpd-close-sub-panel>.fpd-label{font-size:12px}fpd-element-toolbar>.fpd-tools-nav{display:flex;flex-direction:column}fpd-element-toolbar>.fpd-tools-nav>div{display:flex}fpd-element-toolbar>.fpd-tools-nav>div>div{flex:1;padding:0 15px;white-space:nowrap;text-align:center;cursor:pointer}fpd-element-toolbar>.fpd-tools-nav>div>div>span[class^=fpd-icon-]{display:block;font-size:20px!important;line-height:28px}fpd-element-toolbar>.fpd-tools-nav>div>div>.fpd-label{margin-top:5px;font-size:11px;display:inline-block;line-height:1;vertical-align:bottom}fpd-element-toolbar>.fpd-tools-nav>div>div>.fpd-current-fill{display:block;margin:auto;width:28px;height:28px;border-radius:50%;border:2px solid rgba(0,0,0,.1)}fpd-element-toolbar>.fpd-tools-nav>div>div.fpd-active{color:var(--fpd-secondary-color)}fpd-element-toolbar .fpd-sub-panel{flex:1;overscroll-behavior:none}fpd-element-toolbar .fpd-sub-panel>div{display:none;height:100%;width:100%}fpd-element-toolbar .fpd-sub-panel>div>*{margin-bottom:10px}fpd-element-toolbar .fpd-sub-panel>div>:last-child{margin:0}fpd-element-toolbar .fpd-sub-panel>div.fpd-active{display:flex;flex-flow:column nowrap}fpd-element-toolbar .fpd-sub-panel>div.fpd-padding{padding:15px}fpd-element-toolbar .fpd-sub-panel>div .fpd-input{flex-flow:row wrap;box-shadow:none;overflow:visible}fpd-element-toolbar .fpd-sub-panel>div .fpd-input input,fpd-element-toolbar .fpd-sub-panel>div .fpd-input>span{flex:1;border:none}fpd-element-toolbar .fpd-sub-panel>div .fpd-input>span{padding:0}fpd-element-toolbar .fpd-sub-panel>div .fpd-input fpd-range-slider{order:3}fpd-element-toolbar .fpd-sub-panel>div .fpd-panel-tabs{display:flex;align-items:center}fpd-element-toolbar .fpd-sub-panel>div .fpd-panel-tabs>span{flex:1;text-align:center;padding:8px 0 6px 0;cursor:pointer;opacity:.7}fpd-element-toolbar .fpd-sub-panel>div .fpd-panel-tabs>span.fpd-active{color:var(--fpd-secondary-color);position:relative;opacity:1}fpd-element-toolbar .fpd-sub-panel>div .fpd-panel-tabs>span.fpd-active:after{background-color:var(--fpd-secondary-color);position:absolute;content:"";width:60%;height:2px;left:20%;bottom:0}fpd-element-toolbar .fpd-sub-panel>div .fpd-panel-tabs-content>div{display:none;padding:10px}fpd-element-toolbar .fpd-sub-panel>div .fpd-panel-tabs-content>div.fpd-active{display:block}fpd-element-toolbar .fpd-sub-panel>div .fpd-panel-tabs-content>div>*{margin-bottom:20px}fpd-element-toolbar .fpd-sub-panel>div .fpd-btn-group,fpd-element-toolbar .fpd-sub-panel>div .fpd-tools-group{display:flex;align-items:center;justify-content:center;text-align:center;gap:4px;flex-flow:row wrap}fpd-element-toolbar .fpd-sub-panel>div .fpd-btn-group>*,fpd-element-toolbar .fpd-sub-panel>div .fpd-tools-group>*{flex:1;border:1px solid var(--fpd-border-color);border-radius:var(--fpd-border-radius);font-size:13px;padding:5px 0;cursor:pointer;line-height:1;display:flex;justify-content:center;align-items:center;gap:5px}fpd-element-toolbar .fpd-sub-panel>div .fpd-btn-group>:hover,fpd-element-toolbar .fpd-sub-panel>div .fpd-tools-group>:hover{background:var(--fpd-light-bg-color)}fpd-element-toolbar .fpd-sub-panel>div .fpd-btn-group [class^=fpd-icon-],fpd-element-toolbar .fpd-sub-panel>div .fpd-tools-group [class^=fpd-icon-]{font-size:18px}fpd-element-toolbar .fpd-sub-panel>div .fpd-btn-group{border:1px solid var(--fpd-border-color)}fpd-element-toolbar .fpd-sub-panel>div .fpd-btn-group>*{border:none;border-radius:0}fpd-element-toolbar .fpd-sub-panel>div .fpd-btn-group>.fpd-active{color:var(--fpd-secondary-color)}fpd-element-toolbar .fpd-sub-panel>div .fpd-toggle.fpd-enabled{color:var(--fpd-secondary-color)}fpd-element-toolbar .fpd-sub-panel>div .fpd-tool-position-align>div{flex:1 0 32%}fpd-element-toolbar .fpd-sub-panel>div .fpd-tool-uniscaling-locker{font-size:18px;text-align:right}fpd-element-toolbar .fpd-sub-panel>div .fpd-curved-options{display:flex;gap:30px}fpd-element-toolbar .fpd-sub-panel>div .fpd-curved-options>span{flex:1;display:flex;justify-content:center;align-items:center;aspect-ratio:1/1;cursor:pointer;background:var(--fpd-light-bg-color);border-radius:var(--fpd-border-radius);padding:5px}fpd-element-toolbar .fpd-sub-panel>div .fpd-curved-options>span.fpd-active svg *{fill:var(--fpd-secondary-color)}fpd-element-toolbar .fpd-sub-panel .fpd-panel-color>.fpd-scroll-area{overflow:visible}fpd-element-toolbar .fpd-sub-panel .fpd-panel-color .fpd-colorpicker-wrapper{padding:0}fpd-element-toolbar .fpd-sub-panel .fpd-panel-font-family{flex-flow:column nowrap;height:100%}fpd-element-toolbar .fpd-sub-panel .fpd-panel-font-family .fpd-fonts-list{display:flex;flex-flow:column nowrap;height:100%;gap:20px}fpd-element-toolbar .fpd-sub-panel .fpd-panel-font-family .fpd-fonts-list>.fpd-item{cursor:pointer;font-size:16px;transition:all .2s ease-in-out}fpd-element-toolbar .fpd-sub-panel .fpd-panel-font-family .fpd-fonts-list>.fpd-item.fpd-active{color:var(--fpd-secondary-color)}fpd-element-toolbar .fpd-sub-panel .fpd-panel-font-family .fpd-fonts-list>.fpd-item:hover{padding-left:5px}fpd-element-toolbar .fpd-sub-panel .fpd-tool-filters{display:flex;flex-flow:row wrap;justify-content:flex-start;gap:35px 10px;padding-bottom:40px;overflow:auto;height:auto}fpd-element-toolbar .fpd-sub-panel .fpd-tool-filters>.fpd-item{flex:0 0 60px;height:60px;background-repeat:no-repeat;background-size:cover;position:relative}fpd-element-toolbar .fpd-sub-panel .fpd-tool-filters>.fpd-item:after{content:attr(aria-label);position:absolute;top:100%;left:0;line-height:14px;font-size:12px;overflow:hidden;transform:translateY(3px);max-width:inherit}fpd-element-toolbar .fpd-sub-panel .fpd-tool-crop-masks{display:flex;flex-flow:row wrap;justify-content:space-evenly;gap:40px 20px!important}fpd-element-toolbar .fpd-sub-panel .fpd-tool-crop-masks .fpd-item{flex:0 0 25%;height:70px;background-repeat:no-repeat;background-position:center;background-size:contain}fpd-element-toolbar.fpd-smart{display:none;background:#fff;position:fixed;top:50%;left:50%;max-width:var(--fpd-et-max-width);min-width:300px;border-radius:var(--fpd-border-radius);transform:translateX(-50%);z-index:10000000000;box-shadow:0 0 10px rgba(110,111,114,.22);overflow:visible}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>div{margin:10px 0}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>div>div{display:flex;flex-direction:column;justify-content:flex-start;flex:0}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools{justify-content:space-between;padding-left:5px}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools>div{padding:0 10px}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools .fpd-tool-text-size{flex:0 70px}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools .fpd-tool-text-size input{margin:0;width:100%;pointer-events:none;text-align:center}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools .fpd-tool-font-family{flex:1 180px}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools .fpd-tool-font-family fpd-dropdown{width:100%;pointer-events:none}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools .fpd-tool-font-family,fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools .fpd-tool-text-size{align-self:flex-end}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools .fpd-tool-font-family>[class^=fpd-icon-],fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools .fpd-tool-text-size>[class^=fpd-icon-]{display:none}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools .fpd-tool-font-family .fpd-label,fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-primary-tools .fpd-tool-text-size .fpd-label{display:none}fpd-element-toolbar.fpd-smart>.fpd-tools-nav>.fpd-secondary-tools{padding-bottom:10px}fpd-element-toolbar.fpd-smart[data-element-type=image] .fpd-tools-nav{flex-direction:row}fpd-element-toolbar.fpd-smart[data-element-type=image] .fpd-tools-nav>div{margin:20px 0;overflow:hidden;flex:1 0 auto;max-width:none}fpd-element-toolbar.fpd-smart[data-element-type=image] .fpd-tools-nav>.fpd-secondary-tools{padding-bottom:0}fpd-element-toolbar.fpd-smart>.fpd-sub-panel{display:none;width:100%}fpd-element-toolbar.fpd-smart.fpd-panel-visible{width:var(--fpd-et-max-width)}fpd-element-toolbar.fpd-smart.fpd-panel-visible .fpd-close{display:none!important}fpd-element-toolbar.fpd-smart.fpd-panel-visible>.fpd-tools-nav{display:none!important}fpd-element-toolbar.fpd-smart.fpd-panel-visible>.fpd-sub-panel{display:flex}fpd-element-toolbar.fpd-smart.fpd-panel-visible>.fpd-sub-panel .fpd-panel-tabs-content.fpd-scroll-area{overflow:auto;max-height:200px}fpd-element-toolbar.fpd-smart.fpd-panel-visible>.fpd-sub-panel .fpd-panel-font-family .fpd-fonts-list{max-height:100px}fpd-element-toolbar.fpd-smart.fpd-panel-visible>.fpd-close-sub-panel{display:flex}fpd-element-toolbar.fpd-smart.fpd-show>.fpd-close{display:block}fpd-element-toolbar.fpd-smart .fpd-tool-crop-masks,fpd-element-toolbar.fpd-smart .fpd-tool-filters{display:flex;flex-wrap:nowrap;padding-bottom:30px;overflow-x:auto;overflow-y:hidden}fpd-element-toolbar.fpd-smart .fpd-tool-crop-masks{gap:0 20px!important;justify-content:flex-start}fpd-element-toolbar.fpd-smart .fpd-tool-crop-masks .fpd-item{height:50px}fpd-element-toolbar.fpd-smart.fpd-layout-small{position:fixed;left:0!important;bottom:0!important;top:auto!important;width:100%;transform:none;border-radius:0;box-shadow:0 -1px 8px rgba(110,111,114,.2);padding-bottom:env(safe-area-inset-bottom);max-width:none}fpd-element-toolbar.fpd-smart.fpd-layout-small .fpd-close,fpd-element-toolbar.fpd-smart.fpd-layout-small .fpd-close-sub-panel{border-top-right-radius:0}fpd-element-toolbar.fpd-sidebar .fpd-tool-filters{row-gap:35px!important}fpd-element-toolbar.fpd-sidebar .fpd-tools-nav{flex-direction:column}fpd-element-toolbar.fpd-sidebar .fpd-tools-nav>div{flex-direction:column;gap:25px 0;height:auto;overflow:visible}fpd-element-toolbar.fpd-sidebar .fpd-tools-nav>.fpd-primary-tools .fpd-tool-font-family fpd-dropdown,fpd-element-toolbar.fpd-sidebar .fpd-tools-nav>.fpd-primary-tools .fpd-tool-text-size input{display:none!important}fpd-main-bar>fpd-element-toolbar{background:var(--fpd-primary-fg-color);position:absolute;top:0!important;left:0!important;width:100%!important;height:100%;flex-flow:row nowrap}fpd-main-bar>fpd-element-toolbar>.fpd-tools-nav{flex:0 80px;flex-flow:column;align-items:center;border-right:1px solid var(--fpd-border-color)}fpd-main-bar>fpd-element-toolbar>.fpd-tools-nav>div{flex:0;margin:10px 0}fpd-main-bar>fpd-element-toolbar>.fpd-tools-nav>div .fpd-label{white-space:normal}fpd-element-toolbar[data-fabric-type=engraved-text] .fpd-panel-color>.fpd-panel-tabs,fpd-element-toolbar[data-fabric-type=engraved-text] .fpd-patterns-wrapper,fpd-element-toolbar[data-fabric-type=engraved-text] .fpd-tool-curved-text,fpd-element-toolbar[data-fabric-type=engraved-text] .fpd-tool-fill-opacity,fpd-element-toolbar[data-fabric-type=engraved-text] .fpd-tool-text-format,fpd-element-toolbar[data-fabric-type=neon-text] .fpd-panel-color>.fpd-panel-tabs,fpd-element-toolbar[data-fabric-type=neon-text] .fpd-patterns-wrapper,fpd-element-toolbar[data-fabric-type=neon-text] .fpd-tool-curved-text,fpd-element-toolbar[data-fabric-type=neon-text] .fpd-tool-fill-opacity,fpd-element-toolbar[data-fabric-type=neon-text] .fpd-tool-text-format{display:none!important}.fpd-toolbar-visible .fpd-toolbar-sidebar fpd-main-bar{overflow:visible}.fpd-toolbar-visible .fpd-toolbar-sidebar fpd-main-bar>.fpd-close{display:block;right:0;left:auto;top:20px;transform:translateX(100%);font-size:12px;height:30px;line-height:30px;width:30px;padding:0 5px}.fpd-container fpd-module-products{padding:var(--fpd-module-content-padding)}.fpd-container fpd-module-products .fpd-product-categories{display:none}.fpd-container fpd-module-products.fpd-categories-enabled .fpd-product-categories{display:flex}.fpd-container fpd-module-text .fpd-add-text{padding:10px}.fpd-container fpd-module-text .fpd-add-text input{padding:3px 5px;width:80px;display:block}.fpd-container fpd-module-text .fpd-add-text .fpd-btn{margin-top:10px;margin-bottom:20px}.fpd-container fpd-module-text .fpd-text-templates .fpd-grid{padding:var(--fpd-module-content-padding)}.fpd-container fpd-module-text .fpd-text-templates .fpd-grid .fpd-item{background:var(--fpd-module-secondary-color);text-align:center;position:relative;border-radius:var(--fpd-border-radius)}.fpd-container fpd-module-text .fpd-text-templates .fpd-grid .fpd-item>div{font-size:16px;width:80%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.fpd-container fpd-module-text .fpd-text-templates .fpd-grid .fpd-item:hover{opacity:.8}.fpd-container fpd-module-designs{padding:var(--fpd-module-content-padding)}.fpd-container fpd-module-designs .fpd-head{display:none}.fpd-container fpd-module-designs.fpd-head-visible .fpd-head,.fpd-container fpd-module-designs.fpd-single-cat .fpd-head{display:block;margin-bottom:10px}.fpd-container fpd-module-designs.fpd-single-cat .fpd-back{display:none!important}.fpd-container fpd-module-designs .fpd-single-cat .fpd-input-search{width:100%}.fpd-container fpd-module-designs .fpd-grid .fpd-item{border-radius:var(--fpd-border-radius)}.fpd-container fpd-module-text-to-image .fpd-head .fpd-info{margin:0 0 10px;line-height:20px;font-size:14px}.fpd-container fpd-module-text-to-image .fpd-head .fpd-btn{margin:0 0 20px}.fpd-container fpd-module-images .fpd-module-tabs-content{overflow:hidden;padding:var(--fpd-module-content-padding)}.fpd-container fpd-module-images .fpd-module-tabs-content>div>*{height:100%;display:flex;flex-flow:column}.fpd-container fpd-module-images .fpd-module-tabs-content>div>* .fpd-scroll-area{padding-right:5px}.fpd-container fpd-module-uploads .fpd-upload-image{display:flex;flex-flow:column nowrap;align-items:center;border:2px dashed var(--fpd-border-color);background:var(--fpd-module-secondary-color);color:var(--fpd-module-secondary-text-color);border-radius:var(--fpd-border-radius);padding:10px 10px 0;cursor:pointer;margin-bottom:10px}.fpd-container fpd-module-uploads .fpd-upload-image>span{display:block;font-size:10px;text-transform:uppercase;margin:0 0 15px!important}.fpd-container fpd-module-uploads .fpd-upload-image>.fpd-price{font-size:12px;line-height:1}.fpd-container fpd-module-uploads .fpd-upload-image.fpd-hover{opacity:.5}.fpd-container fpd-module-uploads .fpd-grid .fpd-loading-bar{background:rgba(255,255,255,.7);position:absolute;top:50%;left:50%;width:60%;height:6px;transform:translate(-50%,-50%);z-index:10}.fpd-container fpd-module-uploads .fpd-grid .fpd-loading-bar>.fpd-loading-progress{background:#fff;height:100%;width:0}.fpd-container fpd-module-uploads .fpd-image-quality-ratings{position:absolute;left:5px;top:5px;line-height:1}.fpd-container fpd-module-uploads .fpd-image-quality-ratings>span{color:var(--fpd-image-quality-start-color);text-shadow:0 0 1px rgba(0,0,0,.7);font-size:18px}.fpd-container fpd-module-facebook-images .fpd-head{margin-bottom:10px}.fpd-container fpd-module-facebook-images .fpd-head .fpd-facebook-albums{display:none}.fpd-container fpd-module-facebook-images.fpd-facebook-logged-in .fpd-facebook-login{display:none}.fpd-container fpd-module-facebook-images.fpd-facebook-logged-in .fpd-facebook-albums{display:block}.fpd-container fpd-module-pixabay-images{position:relative}.fpd-container fpd-module-pixabay-images .fpd-head{margin-bottom:10px}.fpd-container fpd-module-pixabay-images .fpd-loader-wrapper{height:100%}.fpd-container fpd-module-pixabay-images .fpd-pixabay-logo{background-repeat:no-repeat!important;border:none!important;background-color:transparent!important;width:72px;height:14px;display:block;margin-bottom:10px;opacity:.6;background-image:url(data:image/png;base64,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)!important}.fpd-container fpd-module-manage-layers .fpd-list{padding:var(--fpd-module-content-padding);position:relative;min-height:100%}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row{flex-wrap:wrap;margin:10px 5px 10px 0;align-items:center;border:1px solid transparent;border-radius:var(--fpd-border-radius);box-shadow:0 0 10px rgba(110,111,114,.2)}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div{overflow:hidden;white-space:nowrap}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-0{flex:0 45px;text-align:center}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-0>.fpd-current-color{cursor:pointer;width:25px;height:25px;display:block;border-radius:var(--fpd-border-radius);margin:auto;border:1px solid rgba(0,0,0,.1)}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-1{padding-left:0;padding-right:0}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-1 textarea{border:1px solid var(--fpd-border-color);min-height:auto;max-height:30px;width:100%;padding:3px 5px!important;box-shadow:none;margin:0}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-1 .fpd-img-meta{font-size:11px;font-weight:700}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-1 .fpd-img-meta span{font-weight:400;margin-right:5px}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-2{flex:0 110px;display:flex;justify-content:flex-end;align-items:center;padding-right:10px}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-2>span{padding-left:8px;font-size:18px;opacity:.7;transition:opacity .3s ease-out;flex:1;flex-grow:0}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-2>span.fpd-icon-reorder{cursor:move}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-2>span:first-child{padding:0}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-2>span:hover{opacity:1}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-2>span>*{vertical-align:top}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-2>span>.fpd-icon-eye{font-size:13.5px}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-full{padding:0 0 10px;display:none}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-full>.fpd-scroll-area.fpd-has-subpanel{max-height:none}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-full>.fpd-scroll-area>.fpd-color-palette,.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-full>.fpd-scroll-area>.fpd-patterns-wrapper{padding:0 10px}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-full>.fpd-scroll-area>.fpd-color-palette>.fpd-colorpicker-wrapper,.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row>div.fpd-cell-full>.fpd-scroll-area>.fpd-patterns-wrapper>.fpd-colorpicker-wrapper{padding:0}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row:hover{border-color:var(--fpd-border-color)}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row.fpd-show-colors{background:var(--fpd-list-bg-color-active)}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row.fpd-show-colors .fpd-cell-full{display:block}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row.fpd-locked>div:nth-child(-n+2){opacity:.2;pointer-events:none}.fpd-container fpd-module-manage-layers .fpd-list .fpd-list-row.fpd-hide-dpi .fpd-dpi{display:none}.fpd-container fpd-module-qr-code .fpd-qr-code-colors{text-align:center}.fpd-container fpd-module-qr-code .fpd-qr-code-colors>.fpd-qr-code-color-dark,.fpd-container fpd-module-qr-code .fpd-qr-code-colors>.fpd-qr-code-color-light{display:inline-block;padding:12px;position:relative;border-radius:var(--fpd-border-radius);border:2px solid rgba(0,0,0,.2);overflow:visible}.fpd-container fpd-module-save-load{padding:var(--fpd-module-content-padding)}.fpd-container fpd-module-text-layers .fpd-list{position:relative;min-height:100%;padding:var(--fpd-module-content-padding)}.fpd-container fpd-module-text-layers .fpd-list .fpd-list-row{flex-wrap:wrap;margin:0 0 10px;border-radius:var(--fpd-border-radius);box-shadow:0 0 10px rgba(110,111,114,.2)}.fpd-container fpd-module-text-layers .fpd-list .fpd-list-row>div{margin:10px 8px;padding:0;position:relative}.fpd-container fpd-module-text-layers .fpd-list .fpd-list-row>.fpd-title{color:var(--fpd-dark-grey-color);padding-left:2px;margin-bottom:0;font-size:14px}.fpd-container fpd-module-text-layers .fpd-list .fpd-list-row>.fpd-cell-1 fpd-dropdown{height:35px}.fpd-container fpd-module-text-layers .fpd-list .fpd-list-row>.fpd-cell-2{flex:0 0 60px}.fpd-container fpd-module-text-layers .fpd-list .fpd-list-row>.fpd-cell-2>input{text-align:center;height:35px}.fpd-container fpd-module-text-layers .fpd-list .fpd-list-row .fpd-color-panel{margin-top:10px}.fpd-container fpd-module-text-layers .fpd-list .fpd-list-row .fpd-color-panel .fpd-colorpicker-wrapper{padding:0}.fpd-container fpd-module-text-layers .fpd-list .fpd-list-row .fpd-clear-text{position:absolute;right:1px;top:1px;font-size:11px;line-height:1;padding:3px 4px;text-transform:uppercase;background:var(--fpd-module-secondary-color);border-bottom-left-radius:2px;cursor:pointer;border-top-right-radius:var(--fpd-border-radius)}.fpd-container fpd-module-text-layers .fpd-list .fpd-list-row input,.fpd-container fpd-module-text-layers .fpd-list .fpd-list-row textarea{margin:0!important;padding:8px;width:100%}.fpd-container fpd-module-layouts .fpd-grid{padding:var(--fpd-module-content-padding)}.fpd-container fpd-module-layouts .fpd-grid>.fpd-item{border-radius:var(--fpd-border-radius);background-color:var(--fpd-module-secondary-color)}.fpd-container fpd-module-names-numbers{padding:var(--fpd-module-content-padding)}.fpd-container fpd-module-names-numbers .fpd-head .fpd-btn{margin:0 0 20px}.fpd-container fpd-module-names-numbers .fpd-list{display:flex;flex-flow:column nowrap;gap:10px;padding-right:10px}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row{display:flex;flex-flow:row wrap;justify-content:flex-end}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row>.fpd-number-col{width:50px}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row>.fpd-number-col input{text-align:center}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row>.fpd-name-col{flex:1}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row>.fpd-select-col{width:50px;position:relative}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row>.fpd-select-col select{position:relative;appearance:none;height:100%;width:100%;text-align:center;background:var(--fpd-light-bg-color);cursor:pointer;padding-right:10px}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row>.fpd-select-col:after{content:"\e90e";font-family:FontFPD!important;font-size:16px;position:absolute;top:50%;right:2px;pointer-events:none;transform:translateY(-50%)}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row>.fpd-remove-col{flex:1 100%;text-align:right;font-size:10px;line-height:1;color:var(--fpd-red-color);order:3}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row>.fpd-remove-col>span{opacity:.7;text-transform:uppercase;cursor:pointer}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row>.fpd-remove-col>span:hover{opacity:1}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row>.fpd-input-col:nth-child(2)>*{border-top-left-radius:var(--fpd-border-radius);border-bottom-left-radius:var(--fpd-border-radius);border-left:1px solid var(--fpd-border-color)}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row>.fpd-input-col:last-child>*{border-top-right-radius:var(--fpd-border-radius);border-bottom-right-radius:var(--fpd-border-radius)}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row input,.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row select{border-radius:0;box-shadow:none;margin:0;border:1px solid var(--fpd-border-color);width:100%;border-left:none}.fpd-container fpd-module-names-numbers .fpd-list>.fpd-row:first-child>.fpd-remove-col{visibility:hidden}.fpd-bulk-variations{margin:20px 0}.fpd-bulk-variations>.fpd-head{display:flex;flex-flow:row nowrap;align-items:center;justify-content:space-between;margin-bottom:10px}.fpd-bulk-variations>.fpd-head>.fpd-headline{font-size:18px}.fpd-bulk-variations .fpd-variations-list{display:flex;flex-flow:column wrap;gap:20px}.fpd-bulk-variations .fpd-variations-list .fpd-row{display:flex;flex-flow:row nowrap;gap:10px;height:40px;align-items:center}.fpd-bulk-variations .fpd-variations-list .fpd-row>select{flex:1;font-size:16px;padding:0 5px;height:100%}.fpd-bulk-variations .fpd-variations-list .fpd-row>select.fpd-error{border-color:var(--fpd-red-color)}.fpd-bulk-variations .fpd-variations-list .fpd-row>input{width:50px;height:100%;margin:0;text-align:center}.fpd-bulk-variations .fpd-variations-list .fpd-row>span{display:inline-block;width:30px;cursor:pointer;font-size:14px;text-align:center}.fpd-bulk-variations .fpd-variations-list .fpd-row:first-child span{display:none}.fpd-color-selection{margin:20px 0;display:flex;flex-flow:column wrap;gap:20px}.fpd-color-selection .fpd-cs-item .fpd-title{font-size:16px;margin-bottom:10px;padding-bottom:5px;border-bottom:1px solid var(--fpd-border-color)}.fpd-color-selection .fpd-cs-item .fpd-color-palette,.fpd-color-selection .fpd-cs-item .fpd-patterns-wrapper{margin:10px 0}.fpd-color-selection .fpd-cs-item .fpd-color-palette .fpd-item,.fpd-color-selection .fpd-cs-item .fpd-patterns-wrapper .fpd-item{width:45px;height:45px;position:relative;box-shadow:0 1px 2px rgba(0,0,0,.2)}.fpd-color-selection .fpd-cs-item .fpd-color-panel>.fpd-scroll-area>.fpd-color-palette .fpd-item:after{position:absolute;color:rgba(0,0,0,.6);background:rgba(255,255,255,.95);bottom:-2px;line-height:1;width:calc(100% + 4px);left:-2px;text-transform:uppercase;font-size:10px;content:attr(data-hex);padding:4px 0;text-align:center}.fpd-container.fpd-gt-step{width:320px;padding:15px;position:fixed;top:0;left:0;color:#fff;z-index:100;margin-top:15px;margin-left:-24px;z-index:100000000000;background:var(--fpd-tooltip-bg-color)}.fpd-container.fpd-gt-step>.fpd-gt-pointer{font-size:50px;position:absolute;top:-16px;left:0;color:var(--fpd-tooltip-bg-color);transform:scaleY(-1)}.fpd-container.fpd-gt-step .fpd-gt-close{position:absolute;right:10px;top:10px;font-size:14px;cursor:pointer;z-index:10}.fpd-container.fpd-gt-step .fpd-gt-text{padding-right:15px}.fpd-container.fpd-gt-step .fpd-gt-actions{margin-top:20px}.fpd-container.fpd-gt-step .fpd-gt-actions>.fpd-btn{margin:0;float:right;margin-left:5px;font-size:12px;padding:3px 10px}.fpd-container.fpd-gt-step .fpd-gt-actions>.fpd-gt-counter{line-height:34px;font-size:12px;opacity:.5}.fpd-3d-preview-wrapper{background:#fff;color:rgba(0,0,0,.5);box-shadow:rgba(0,0,0,.15) 0 5px 15px 0;position:relative}.fpd-3d-preview-wrapper:after{content:"3D";position:absolute;left:5px;top:5px}.fpd-3d-preview-wrapper .fpd-loading{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.fpd-3d-preview-wrapper>canvas{outline:0;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.fpd-3d-preview-wrapper .fpd-touch-info{z-index:100;position:absolute;left:5px;bottom:5px;width:64px;height:64px;background-size:40%;background-position:left bottom;background-repeat:no-repeat;background-image:url(data:image/png;base64,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)}fpd-main-wrapper .fpd-3d-preview-wrapper{display:block;box-shadow:rgba(0,0,0,.15) 0 5px 15px 0;background:#fff;color:rgba(0,0,0,.5);z-index:100;position:absolute;bottom:0;left:0}fpd-main-wrapper .fpd-3d-preview-wrapper.fpd-fullscreen>.fpd-fullscreen-toggle{padding:4px}fpd-main-wrapper .fpd-3d-preview-wrapper.fpd-fullscreen>.fpd-fullscreen-toggle>span:first-child{display:none}fpd-main-wrapper .fpd-3d-preview-wrapper.fpd-fullscreen>.fpd-fullscreen-toggle>span:last-child{display:inline}fpd-main-wrapper .fpd-3d-preview-wrapper>.fpd-fullscreen-toggle{position:absolute;top:5px;right:5px;cursor:pointer;font-size:18px;z-index:10}fpd-main-wrapper .fpd-3d-preview-wrapper>.fpd-fullscreen-toggle>span:last-child{display:none}.fpd-view-thumbnails-wrapper{display:flex;gap:15px;margin:20px 0;flex-wrap:wrap}.fpd-view-thumbnails-wrapper>.fpd-item{width:100px;height:100px;background-repeat:no-repeat;background-position:center;background-size:70%;border-radius:8px;cursor:pointer;background-color:rgba(255,255,252,.9)}fpd-main-wrapper>.fpd-view-thumbnails-wrapper{position:absolute;left:10px;bottom:calc(10px + env(safe-area-inset-bottom));margin:0;z-index:21}fpd-main-wrapper>.fpd-view-thumbnails-wrapper .fpd-item{height:70px;flex-basis:60px}.fpd-wrapper.fpd-views-inside-left fpd-main-wrapper>.fpd-view-thumbnails-wrapper{right:10px;left:auto;justify-content:flex-end} \ No newline at end of file diff --git a/dist/js/FancyProductDesigner.js b/dist/js/FancyProductDesigner.js index 6680aa17..ded0072c 100644 --- a/dist/js/FancyProductDesigner.js +++ b/dist/js/FancyProductDesigner.js @@ -1,5 +1,5 @@ /*! For license information please see main.js.LICENSE.txt */ -(()=>{var t={106:()=>{var t;fabric.Canvas.prototype.historyProcessing=!0,fabric.Canvas.prototype.initialize=(t=fabric.Canvas.prototype.initialize,function(){for(var e=arguments.length,i=new Array(e),n=0;n{t.curved&&delete t.path})),JSON.stringify(t)},fabric.Canvas.prototype._historyEvents=function(){return{elementAdd:this.historySaveAction,elementRemove:this.historySaveAction,"object:modified":this.historySaveAction}},fabric.Canvas.prototype._historyInit=function(){this.historyUndo=[],this.historyRedo=[],this.historyNextState=this._historyNext(),this.on(this._historyEvents())},fabric.Canvas.prototype._historyDispose=function(){this.off(this._historyEvents())},fabric.Canvas.prototype.historySaveAction=function(){if(this.historyProcessing)return;const t=this.historyNextState;this.isCustomized=this.initialElementsLoaded,this.historyUndo.push(t),this.historyNextState=this._historyNext(),this.fire("history:append",{json:t})},fabric.Canvas.prototype.undo=function(t){this.historyProcessing=!0,this.deselectElement();const e=this.historyUndo.pop();e?(this.historyRedo.push(this._historyNext()),this.historyNextState=e,this._loadHistory(e,"history:undo",t)):this.historyProcessing=!1},fabric.Canvas.prototype.redo=function(t){this.historyProcessing=!0,this.deselectElement();const e=this.historyRedo.pop();e?(this.historyUndo.push(this._historyNext()),this.historyNextState=e,this._loadHistory(e,"history:redo",t)):this.historyProcessing=!1},fabric.Canvas.prototype._loadHistory=function(t,e,i){"string"==typeof t&&(t=JSON.parse(t)),this.clear(),this.addElements(t.objects,(()=>{this.fire(e),this.historyProcessing=!1,i&&"function"==typeof i&&i()}))},fabric.Canvas.prototype.clearHistory=function(){this.historyUndo=[],this.historyRedo=[],this.fire("history:clear")},fabric.Canvas.prototype.onHistory=function(){this.historyProcessing=!1,this.historySaveAction()},fabric.Canvas.prototype.offHistory=function(){this.historyProcessing=!0}},653:()=>{function t(t,e){!function(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}(t,e),e.add(t)}function e(t,e,i){return(e=function(t){var e=function(t,e){if("object"!=typeof t||null===t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var n=i.call(t,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof e?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function i(t,e,i){if(!e.has(t))throw new TypeError("attempted to get private field on non-instance");return i}var n=new WeakSet,r=new WeakSet;class s extends HTMLElement{constructor(){super(),t(this,r),t(this,n),e(this,"min",0),e(this,"max",10),e(this,"value",0),e(this,"step",1),e(this,"inputElem",null)}connectedCallback(){this.inputElem=document.createElement("input"),this.inputElem.type="range",this.inputElem.value=this.getAttribute("value"),this.inputElem.min=this.getAttribute("min"),this.inputElem.max=this.getAttribute("max"),this.inputElem.step=this.getAttribute("step"),this.append(this.inputElem),this.inputElem.addEventListener("input",i(this,n,a).bind(this)),i(this,r,o).call(this)}static get observedAttributes(){return["value","step","min","max"]}attributeChangedCallback(t,e,n){this.inputElem&&(this.inputElem[t]=n,i(this,r,o).call(this))}}function a(t){i(this,r,o).call(this),this.onInput&&this.onInput(t);const e=new CustomEvent("onInput",{detail:Number(this.inputElem.value)});this.dispatchEvent(e)}function o(){this.inputElem.style.setProperty("--value",this.inputElem.value),this.inputElem.style.setProperty("--min",this.inputElem.min),this.inputElem.style.setProperty("--max",this.inputElem.max)}customElements.define("fpd-range-slider",s)},148:function(t){!function(e,i,n){"use strict";t.exports=function(t){var e="$areaSortable",i="rect",n="scroll",r="style",s="margin",a="padding",o="left",l="right",c="width",h="top",d="bottom",u="height",f="nextElementSibling",p="previousElementSibling",g="scrollTop",m="scrollLeft",v=1,b=2,y=v+b,x=Math,w=String,C=parseInt,S=Object.prototype.hasOwnProperty,T=Object.prototype.toString,E=/^\s+|\s+$/g,A=/mousedown|pointerdown/,O=w.prototype.trim?function(t){return t.trim()}:function(t){return t.replace(E,"")},I=null;function k(t,e){return 0>t?-1:0r?(_===n&&(_=i),q===i&&(q=T[p]),Q.insertBefore(i,n)):0m){for(C=t[f],Ot(t,g,m),t[e].prev.line=t[e].line,t[e].prev[h]=t[e][i][h],t[e].prev[o]=t[e][i][o],t[e].line=g[e].line,t[e][i][h]=g[e][i][h],t[e][i][o]=g[e][i][o],T[r][h]=w(t[e][i][h]-Q[e][i][h]+Q[e][n][h])+"px",T[r][o]=w(t[e][i][o]-Q[e][i][o]+Q[e][n][o])+"px";(y=g[f])&&y!==C;)g[e].animation&&g[e].animation.stop(),g[e].index++,g[e].prev.line=g[e].line,g[e].prev[h]=g[e][i][h],g[e].prev[o]=g[e][i][o],g[e].line=y[e].line,g[e][i][h]=y[e][i][h],g[e][i][o]=y[e][i][o],g[r][h]=w(g[e][i][h]-Q[e][i][h]+Q[e][n][h]-g[e][s][h])+"px",g[r][o]=w(g[e][i][o]-Q[e][i][o]+Q[e][n][o]-g[e][s][o])+"px",g=y;g[e].animation&&g[e].animation.stop(),g[e].index++,g[e].prev.line=g[e].line,g[e].prev[h]=g[e][i][h],g[e].prev[o]=g[e][i][o],g[e].line=t[e].prev.line,g[e][i][h]=t[e].prev[h],g[e][i][o]=t[e].prev[o],g[r][h]=w(g[e][i][h]-Q[e][i][h]+Q[e][n][h]-g[e][s][h])+"px",g[r][o]=w(g[e][i][o]-Q[e][i][o]+Q[e][n][o]-g[e][s][o])+"px"}else if(0m?(y=T[p],C=g[p]||g,Ot(t,g,m)):0n?f:p];t;){if(t!==r&&(t[e].index+=0>n?1:-1),t===i)return;t=t[0>n?f:p]}}(t,y,m,T),function(t,o,l,c,h,d,u,p,g){for(var m,v=0;t;)t!==h&&(t[e]&&t[e].animation&&t[e].animation.stop(),m=t[e][s][u]+t[e][i][p]+t[e][s][g],0l[e][i][p]&&(o++,v=0),t[e].line=o,t[e].prev[u]=t[e][i][u],t[e][i][u]=l[e][i][u]-l[e][n][u]+l[e][a][u]+v+t[e][s][u],(t===c?h:t)[r][u]=w(t[e][i][u]-l[e][i][u]+l[e][n][u]-(t===c?0:t[e][s][u]))+"px",v+=m),t=t[f]}(C=function(t,i){for(var n;(n=t[p])&&n[e]&&n[e].line>=i;)t=n;return t}(C,b=C[e].line),b,Q,t,T,0,o,c,l),function(t,a,o,l,c,h,d,u,p){for(var g,m,v,b=t,y=t[e].line,C=0;t;)t!==c&&(g=t[e].line,v=t[e][s][d]+t[e][i][u]+t[e][s][p],g===y?C=x.max(C,v):(a[g]=a[y]+C,y=g,C=v)),t=t[f];for(0o){for(h=t[f],Ot(t,a,o),t[e].prev[St]=t[e][i][St],g=t[e][s][St]-a[e][s][St],t[e][i][St]=a[e][i][St]+g,T[r][St]=w(t[e][i][St]-Q[e][i][St]+Q[e][n][St])+"px",p=t[e][i][Ct]-a[e][i][Ct],g+=t[e][s][Tt]-a[e][s][Tt];(c=a[f])&&c!==h;)a[e].animation&&a[e].animation.stop(),a[e].index++,a[e].prev[St]=a[e][i][St],g+=a[e][s][St]-c[e][s][St],a[e][i][St]=c[e][i][St]+p+g,g+=a[e][s][Tt]-c[e][s][Tt],a[r][St]=w(a[e][i][St]-Q[e][i][St]+Q[e][n][St]-a[e][s][St])+"px",p+=a[e][i][Ct]-c[e][i][Ct],a=c;a[e].animation&&a[e].animation.stop(),a[e].index++,a[e].prev[St]=a[e][i][St],a[e][i][St]=t[e].prev[St]+p+g-t[e][s][St]+a[e][s][St],a[r][St]=w(a[e][i][St]-Q[e][i][St]+Q[e][n][St]-a[e][s][St])+"px"}else if(0J.clientHeight&&R(J,g)||v!==S&&J.scrollWidth>J.clientWidth&&R(J,m));)J=J.parentNode;Q[e]={rect:Q.getBoundingClientRect(),scroll:{top:Q[g]||0,left:Q[m]||0,width:Q.scrollWidth,height:Q.scrollHeight,top0:Q[g]||0,left0:Q[m]||0},$:N(Q),style:z(Q,["width","height","max-width","max-height","box-sizing","padding-left","padding-top","padding-right","padding-bottom"])},Q[e][a]={left:C(Q[e].$.paddingLeft)||0,right:C(Q[e].$.paddingRight)||0},J&&J!==Q&&(J[e]={rect:J.getBoundingClientRect(),scroll:{top:J[g]||0,left:J[m]||0,width:J.scrollWidth,height:J.scrollHeight,top0:J[g]||0,left0:J[m]||0}}),(G=[].map.call(Q.children,(function(t,n){var r,l=t.getBoundingClientRect(),d=N(t);return t[e]={index:n,line:0,prev:{},rect:{top:l[h],left:l[o],width:l[c],height:l[u]},r:{top:l[h],left:l[o],width:l[c],height:l[u]},margin:{top:C(d.marginTop)||0,right:C(d.marginRight)||0,bottom:C(d.marginBottom)||0,left:C(d.marginLeft)||0},$:d,style:z(t,["position","box-sizing","overflow","top","left","width","height","transform","transition"]),animation:null},r=t[e][s][y]+t[e][i][A]+t[e][s][O],0Q[e][i][A]&&(f++,p=0),t[e].line=f,p+=r,t}))).length&&(_=G[0],q=G[G.length-1]),y=h,A=u,O=d,X=new Array(G.length),G.forEach((function(t){var r=t[e].line,a=t[e][i][y]-t[e][s][y]-Q[e][i][y]+Q[e][n][y];X[r]=null==X[r]?a:x.min(a,X[r])})),F(Q,t.options.activeArea||"dnd-sortable-area"),Q[r].boxSizing="border-box",Q[r][c]=w(Q[e][i][c])+"px",Q[r][u]=w(Q[e][i][u])+"px",Q[r].maxWidth=w(Q[e][i][c])+"px",Q[r].maxHeight=w(Q[e][i][u])+"px",E.draggable=!1,F(E,t.options.activeItem||"dnd-sortable-dragged"),wt=!0,G.forEach((function(t){var a=G[0];t[r].position="absolute",t[r].boxSizing="border-box",t[r].overflow="hidden",t[r][h]=w(t[e][i][h]-Q[e][i][h]+Q[e][n][h]-t[e][s][h])+"px",t[r][o]=w(t[e][i][o]-Q[e][i][o]+Q[e][n][o]-t[e][s][o])+"px",t[r][c]=w(t[e][i][c])+"px",t[r][u]=w(t[e][i][u])+"px",t[e][i][c]===a[e][i][c]&&t[e][i][u]===a[e][i][u]&&t[e][s][h]===a[e][s][h]&&t[e][s][d]===a[e][s][d]&&t[e][s][o]===a[e][s][o]&&t[e][s][l]===a[e][s][l]||(wt=!1)})),F(T=pt.createElement("ul"===I||"ol"===I?"li":"tr"===I?"td":"tbody"===I||"thead"===I||"tfoot"===I||"table"===I?"tr":"span"),t.options.placeholder||"dnd-sortable-placeholder"),T[r].position="absolute",T[r].display="block",T[r].boxSizing="border-box",T[r].margin="0",Q===J&&(Q[r].paddingLeft=w(Q[e][n][c]-Q[e][i][c])+"px",Q[r].paddingTop=w(Q[e][n][u]-Q[e][i][u])+"px",Q[r].paddingRight="0px",Q[r].paddingBottom="0px",Q[m]=Q[e][n][o],Q[g]=Q[e][n][h]),bt?(D(pt,"touchmove",_t,!1),D(pt,"touchend",Lt,!1),D(pt,"touchcancel",Lt,!1)):(D(pt,"mousemove",_t,!1),D(pt,"mouseup",Lt,!1)),yt=setInterval(Dt,60)}(),at=tt=bt?f.touches[0].clientX:f.clientX,ot=et=bt?f.touches[0].clientY:f.clientY,K=tt,$=et,it=0,nt=0,rt=0,st=0,Q.insertBefore(T,E),T[r][c]=w(E[e][i][c])+"px",T[r][u]=w(E[e][i][u])+"px",T[r][h]=w(E[e][i][h]-Q[e][i][h]+Q[e][n][h])+"px",T[r][o]=w(E[e][i][o]-Q[e][i][o]+Q[e][n][o])+"px",b!==S&&(E[r][h]=w(et-$+E[e][i][h]-Q[e][i][h]+Q[e][n][h]-E[e][s][h])+"px"),v!==S&&(E[r][o]=w(tt-K+E[e][i][o]-Q[e][i][o]+Q[e][n][o]-E[e][s][o])+"px")):Et()):Et()))},_t=(It=function(t){at=bt?t.touches[0].clientX:t.clientX,ot=bt?t.touches[0].clientY:t.clientY},kt=60,Mt=!1,function(){Mt||(It.apply(this,arguments),Mt=!0,setTimeout((function(){Mt=!1}),kt))}),Dt=function(){var a,f,p,C,A,O,M,P,D,L,B,R,N,z,W,U=0,Y=h,G=u,X=o,gt=c,mt=0,vt=0,bt=!1,yt=!1;v===S&&(X=h,gt=u),C=(p=at)-tt,A=(f=ot)-et,it=0===it?C:it,nt=0===nt?A:nt,rt=0!==C?k(C):0!==it?k(it):rt,st=0!==A?k(A):0!==nt?k(nt):st,tt=p,et=f,lt=function(t,i){return i?{top:i[g]-i[e][n].top0||0,left:i[m]-i[e][n].left0||0}:{top:0,left:0}}(0,J),b!==S&&(E[e].r[h]=et-$+E[e][i][h],E[r][h]=w(E[e].r[h]-Q[e][i][h]+Q[e][n][h]-E[e][s][h]+lt[h])+"px",yt=0>A*nt),v!==S&&(E[e].r[o]=tt-K+E[e][i][o],E[r][o]=w(E[e].r[o]-Q[e][i][o]+Q[e][n][o]-E[e][s][o]+lt[o])+"px",bt=0>C*it),t.options.autoscroll&&J&&(!xt||bt||yt)&&(xt&&(clearInterval(xt),xt=null),Z===J?(L=J[e][i][c],B=0,R=J[e][i][u],N=0,z=1.5,W=1.5):(L=J[e][i][l],B=J[e][i][o],R=J[e][i][d],N=J[e][i][h],z=1.2,W=1.2),v!==S&&(0=L||0>rt&&0=R||0>st&&0=s&&(clearInterval(xt),xt=null)}),a)}(x.abs(mt)>x.abs(vt)?mt:0,x.abs(vt)>=x.abs(mt)?vt:0,t.options.scrollAnimationMs||0,16.666666666666668))),it=C,nt=A,M=E[e].r[o]+E[e].r[c]/2,P=E[e].r[h]+E[e].r[u]/2,D=E[e].r[X],a=function(t){for(var e=1,i=arguments,n=i.length;eU&&(U=i,t=e)}return t}),null),y===S?(!a&&E!==_&&0<=_[e][i][X]-lt[X]-(D+E[e][i][gt])&&_[e][i][X]-lt[X]-(D+E[e][i][gt])<25&&.7<(U=V(E,_,lt,Y,G))&&(a=_),!a&&E!==q&&0<=D-(q[e][i][X]-lt[X]+q[e][i][gt])&&D-(q[e][i][X]-lt[X]+q[e][i][gt])<25&&.7<(U=V(E,q,lt,Y,G))&&(a=q),O=a?a[e].index-E[e].index:x.abs(st)>=x.abs(rt)?st:rt):(!a&&E!==_&&_[e][i][X]-lt[X]>D+E[e][i][gt]&&(a=_),!a&&E!==q&&D>q[e][i][X]-lt[X]+q[e][i][gt]&&(a=q),O=b===S?rt:st),I&&(0>ct&&0O&&ht<.5||a&&I!==a&&ht.2?(F(I,t.options.closestItem||"dnd-sortable-closest"),U>.5&&!dt&&(K-=E[e][i][o],$-=E[e][i][h],dt=!0,ut(E,I,ct,t.options.animationMs||0),K+=E[e][i][o],$+=E[e][i][h])):j(I,t.options.closestItem||"dnd-sortable-closest")):(j(I,t.options.closestItem||"dnd-sortable-closest"),ht=0,I=null))},Lt=function(e){var i=E;At(),Et(),M(t.options.onEnd)&&t.options.onEnd(i)};t.start=t.options.callable?function(){mt||(gt=!1,mt=!0,t.handle=Pt)}:function(){mt||(mt=!0,gt||(gt=!0,D(document,"touchstart",Pt,{capture:!0,passive:!1}),D(document,"mousedown",Pt,{capture:!0,passive:!1})))},t.stop=function(){t.handle=null,mt=!1,gt&&(L(document,"touchstart",Pt,{capture:!0,passive:!1}),L(document,"mousedown",Pt,{capture:!0,passive:!1}),gt=!1),At(),Et()}}function G(t,e){var i=this;if(!(i instanceof G))return new G(t,e);switch(i.options=e||{},(t=w(t)).toLowerCase()){case"unrestricted":q(i,y);break;case"horizontal":q(i,b);break;case"vertical":q(i,v);break;default:throw new TypeError("AreaSortable invalid sort mode:"+t)}i.start()}return window.Element&&!S.call(window.Element.prototype,e)&&(window.Element.prototype[e]=null),G.VERSION="1.2.2",G.prototype={constructor:G,options:null,start:null,handle:null,stop:null,dispose:function(){var t=this;return t.stop&&t.stop(),t.options=null,t.start=null,t.handle=null,t.stop=null,t}},G}()}("undefined"!=typeof self&&self)},729:function(t,e){var i,n;void 0===(n="function"==typeof(i=function(){return function t(e,i,n){var r,s,a=window,o="application/octet-stream",l=n||o,c=e,h=!i&&!n&&c,d=document.createElement("a"),u=function(t){return String(t)},f=a.Blob||a.MozBlob||a.WebKitBlob||u,p=i||"download";if(f=f.call?f.bind(a):Blob,"true"===String(this)&&(l=(c=[c,l])[0],c=c[1]),h&&h.length<2048&&(p=h.split("/").pop().split("?")[0],d.href=h,-1!==d.href.indexOf(h))){var g=new XMLHttpRequest;return g.open("GET",h,!0),g.responseType="blob",g.onload=function(e){t(e.target.response,p,o)},setTimeout((function(){g.send()}),0),g}if(/^data:([\w+-]+\/[\w+.-]+)?[,;]/.test(c)){if(!(c.length>2096103.424&&f!==u))return navigator.msSaveBlob?navigator.msSaveBlob(y(c),p):x(c);l=(c=y(c)).type||o}else if(/([\x80-\xff])/.test(c)){for(var m=0,v=new Uint8Array(c.length),b=v.length;m{var n,r,s,a,o,l,c,h,d,u,f,p,g,m,v,b,y,x,w,C,S,T,E=E||{version:"5.3.0"};if(e.fabric=E,"undefined"!=typeof document&&"undefined"!=typeof window)document instanceof("undefined"!=typeof HTMLDocument?HTMLDocument:Document)?E.document=document:E.document=document.implementation.createHTMLDocument(""),E.window=window;else{var A=new(i(960).JSDOM)(decodeURIComponent("%3C!DOCTYPE%20html%3E%3Chtml%3E%3Chead%3E%3C%2Fhead%3E%3Cbody%3E%3C%2Fbody%3E%3C%2Fhtml%3E"),{features:{FetchExternalResources:["img"]},resources:"usable"}).window;E.document=A.document,E.jsdomImplForWrapper=i(759).implForWrapper,E.nodeCanvas=i(272).Canvas,E.window=A,DOMParser=E.window.DOMParser}function O(t,e){var i=t.canvas,n=e.targetCanvas,r=n.getContext("2d");r.translate(0,n.height),r.scale(1,-1);var s=i.height-n.height;r.drawImage(i,0,s,n.width,n.height,0,0,n.width,n.height)}function I(t,e){var i=e.targetCanvas.getContext("2d"),n=e.destinationWidth,r=e.destinationHeight,s=n*r*4,a=new Uint8Array(this.imageBuffer,0,s),o=new Uint8ClampedArray(this.imageBuffer,0,s);t.readPixels(0,0,n,r,t.RGBA,t.UNSIGNED_BYTE,a);var l=new ImageData(o,n,r);i.putImageData(l,0,0)}E.isTouchSupported="ontouchstart"in E.window||"ontouchstart"in E.document||E.window&&E.window.navigator&&E.window.navigator.maxTouchPoints>0,E.isLikelyNode="undefined"!=typeof Buffer&&"undefined"==typeof window,E.SHARED_ATTRIBUTES=["display","transform","fill","fill-opacity","fill-rule","opacity","stroke","stroke-dasharray","stroke-linecap","stroke-dashoffset","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","id","paint-order","vector-effect","instantiated_by_use","clip-path"],E.DPI=96,E.reNum="(?:[-+]?(?:\\d+|\\d*\\.\\d+)(?:[eE][-+]?\\d+)?)",E.commaWsp="(?:\\s+,?\\s*|,\\s*)",E.rePathCommand=/([-+]?((\d+\.\d+)|((\d+)|(\.\d+)))(?:[eE][-+]?\d+)?)/gi,E.reNonWord=/[ \n\.,;!\?\-]/,E.fontPaths={},E.iMatrix=[1,0,0,1,0,0],E.svgNS="http://www.w3.org/2000/svg",E.perfLimitSizeTotal=2097152,E.maxCacheSideLimit=4096,E.minCacheSideLimit=256,E.charWidthsCache={},E.textureSize=2048,E.disableStyleCopyPaste=!1,E.enableGLFiltering=!0,E.devicePixelRatio=E.window.devicePixelRatio||E.window.webkitDevicePixelRatio||E.window.mozDevicePixelRatio||1,E.browserShadowBlurConstant=1,E.arcToSegmentsCache={},E.boundsOfCurveCache={},E.cachesBoundsOfCurve=!0,E.forceGLPutImageData=!1,E.initFilterBackend=function(){return E.enableGLFiltering&&E.isWebglSupported&&E.isWebglSupported(E.textureSize)?(console.log("max texture size: "+E.maxTextureSize),new E.WebglFilterBackend({tileSize:E.textureSize})):E.Canvas2dFilterBackend?new E.Canvas2dFilterBackend:void 0},"undefined"!=typeof document&&"undefined"!=typeof window&&(window.fabric=E),function(){function t(t,e){if(this.__eventListeners[t]){var i=this.__eventListeners[t];e?i[i.indexOf(e)]=!1:E.util.array.fill(i,!1)}}function e(t,e){var i=function(){e.apply(this,arguments),this.off(t,i)}.bind(this);this.on(t,i)}E.Observable={fire:function(t,e){if(!this.__eventListeners)return this;var i=this.__eventListeners[t];if(!i)return this;for(var n=0,r=i.length;n-1||!!e&&this._objects.some((function(e){return"function"==typeof e.contains&&e.contains(t,!0)}))},complexity:function(){return this._objects.reduce((function(t,e){return t+(e.complexity?e.complexity():0)}),0)}},E.CommonMethods={_setOptions:function(t){for(var e in t)this.set(e,t[e])},_initGradient:function(t,e){!t||!t.colorStops||t instanceof E.Gradient||this.set(e,new E.Gradient(t))},_initPattern:function(t,e,i){!t||!t.source||t instanceof E.Pattern?i&&i():this.set(e,new E.Pattern(t,i))},_setObject:function(t){for(var e in t)this._set(e,t[e])},set:function(t,e){return"object"==typeof t?this._setObject(t):this._set(t,e),this},_set:function(t,e){this[t]=e},toggle:function(t){var e=this.get(t);return"boolean"==typeof e&&this.set(t,!e),this},get:function(t){return this[t]}},n=e,r=Math.sqrt,s=Math.atan2,a=Math.pow,o=Math.PI/180,l=Math.PI/2,E.util={cos:function(t){if(0===t)return 1;switch(t<0&&(t=-t),t/l){case 1:case 3:return 0;case 2:return-1}return Math.cos(t)},sin:function(t){if(0===t)return 0;var e=1;switch(t<0&&(e=-1),t/l){case 1:return e;case 2:return 0;case 3:return-e}return Math.sin(t)},removeFromArray:function(t,e){var i=t.indexOf(e);return-1!==i&&t.splice(i,1),t},getRandomInt:function(t,e){return Math.floor(Math.random()*(e-t+1))+t},degreesToRadians:function(t){return t*o},radiansToDegrees:function(t){return t/o},rotatePoint:function(t,e,i){var n=new E.Point(t.x-e.x,t.y-e.y),r=E.util.rotateVector(n,i);return new E.Point(r.x,r.y).addEquals(e)},rotateVector:function(t,e){var i=E.util.sin(e),n=E.util.cos(e);return{x:t.x*n-t.y*i,y:t.x*i+t.y*n}},createVector:function(t,e){return new E.Point(e.x-t.x,e.y-t.y)},calcAngleBetweenVectors:function(t,e){return Math.acos((t.x*e.x+t.y*e.y)/(Math.hypot(t.x,t.y)*Math.hypot(e.x,e.y)))},getHatVector:function(t){return new E.Point(t.x,t.y).multiply(1/Math.hypot(t.x,t.y))},getBisector:function(t,e,i){var n=E.util.createVector(t,e),r=E.util.createVector(t,i),s=E.util.calcAngleBetweenVectors(n,r),a=s*(0===E.util.calcAngleBetweenVectors(E.util.rotateVector(n,s),r)?1:-1)/2;return{vector:E.util.getHatVector(E.util.rotateVector(n,a)),angle:s}},projectStrokeOnPoints:function(t,e,i){var n=[],r=e.strokeWidth/2,s=e.strokeUniform?new E.Point(1/e.scaleX,1/e.scaleY):new E.Point(1,1),a=function(t){var e=r/Math.hypot(t.x,t.y);return new E.Point(t.x*e*s.x,t.y*e*s.y)};return t.length<=1||t.forEach((function(o,l){var c,h,d=new E.Point(o.x,o.y);0===l?(h=t[l+1],c=i?a(E.util.createVector(h,d)).addEquals(d):t[t.length-1]):l===t.length-1?(c=t[l-1],h=i?a(E.util.createVector(c,d)).addEquals(d):t[0]):(c=t[l-1],h=t[l+1]);var u,f,p=E.util.getBisector(d,c,h),g=p.vector,m=p.angle;if("miter"===e.strokeLineJoin&&(u=-r/Math.sin(m/2),f=new E.Point(g.x*u*s.x,g.y*u*s.y),Math.hypot(f.x,f.y)/r<=e.strokeMiterLimit))return n.push(d.add(f)),void n.push(d.subtract(f));u=-r*Math.SQRT2,f=new E.Point(g.x*u*s.x,g.y*u*s.y),n.push(d.add(f)),n.push(d.subtract(f))})),n},transformPoint:function(t,e,i){return i?new E.Point(e[0]*t.x+e[2]*t.y,e[1]*t.x+e[3]*t.y):new E.Point(e[0]*t.x+e[2]*t.y+e[4],e[1]*t.x+e[3]*t.y+e[5])},makeBoundingBoxFromPoints:function(t,e){if(e)for(var i=0;i0&&(e>n?e-=n:e=0,i>n?i-=n:i=0);var r,s=!0,a=t.getImageData(e,i,2*n||1,2*n||1),o=a.data.length;for(r=3;r0&&(E.util.hasStyleChanged(r,l,!0)?s.push({start:n,end:n+1,style:l}):s[s.length-1].end++),r=l||{}}else n+=i[a].length;return s},stylesFromArray:function(t,e){if(!Array.isArray(t))return t;for(var i=e.split("\n"),n=-1,r=0,s={},a=0;a=r?s-r:2*Math.PI-(r-s)}function s(t,e,i){for(var s=i[1],a=i[2],o=i[3],l=i[4],c=i[5],h=function(t,e,i,s,a,o,l){var c=Math.PI,h=l*c/180,d=E.util.sin(h),u=E.util.cos(h),f=0,p=0,g=-u*t*.5-d*e*.5,m=-u*e*.5+d*t*.5,v=(i=Math.abs(i))*i,b=(s=Math.abs(s))*s,y=m*m,x=g*g,w=v*b-v*y-b*x,C=0;if(w<0){var S=Math.sqrt(1-w/(v*b));i*=S,s*=S}else C=(a===o?-1:1)*Math.sqrt(w/(v*y+b*x));var T=C*i*m/s,A=-C*s*g/i,O=u*T-d*A+.5*t,I=d*T+u*A+.5*e,k=r(1,0,(g-T)/i,(m-A)/s),M=r((g-T)/i,(m-A)/s,(-g-T)/i,(-m-A)/s);0===o&&M>0?M-=2*c:1===o&&M<0&&(M+=2*c);for(var P=Math.ceil(Math.abs(M/c*2)),_=[],D=M/P,L=8/3*Math.sin(D/4)*Math.sin(D/4)/Math.sin(D/2),B=k+D,F=0;FC)for(var T=1,A=g.length;T2;for(e=e||0,c&&(o=t[2].xt[i-2].x?1:r.x===t[i-2].x?0:-1,l=r.y>t[i-2].y?1:r.y===t[i-2].y?0:-1),n.push(["L",r.x+o*e,r.y+l*e]),n},E.util.getPathSegmentsInfo=u,E.util.getBoundsOfCurve=function(e,i,n,r,s,a,o,l){var c;if(E.cachesBoundsOfCurve&&(c=t.call(arguments),E.boundsOfCurveCache[c]))return E.boundsOfCurveCache[c];var h,d,u,f,p,g,m,v,b=Math.sqrt,y=Math.min,x=Math.max,w=Math.abs,C=[],S=[[],[]];d=6*e-12*n+6*s,h=-3*e+9*n-9*s+3*o,u=3*n-3*e;for(var T=0;T<2;++T)if(T>0&&(d=6*i-12*r+6*a,h=-3*i+9*r-9*a+3*l,u=3*r-3*i),w(h)<1e-12){if(w(d)<1e-12)continue;0<(f=-u/d)&&f<1&&C.push(f)}else(m=d*d-4*u*h)<0||(0<(p=(-d+(v=b(m)))/(2*h))&&p<1&&C.push(p),0<(g=(-d-v)/(2*h))&&g<1&&C.push(g));for(var A,O,I,k=C.length,M=k;k--;)A=(I=1-(f=C[k]))*I*I*e+3*I*I*f*n+3*I*f*f*s+f*f*f*o,S[0][k]=A,O=I*I*I*i+3*I*I*f*r+3*I*f*f*a+f*f*f*l,S[1][k]=O;S[0][M]=e,S[1][M]=i,S[0][M+1]=o,S[1][M+1]=l;var P=[{x:y.apply(null,S[0]),y:y.apply(null,S[1])},{x:x.apply(null,S[0]),y:x.apply(null,S[1])}];return E.cachesBoundsOfCurve&&(E.boundsOfCurveCache[c]=P),P},E.util.getPointOnPath=function(t,e,i){i||(i=u(t));for(var n=0;e-i[n].length>0&&n1e-4;)i=l(s),r=s,(n=a(c.x,c.y,i.x,i.y))+o>e?(s-=h,h/=2):(c=i,s+=h,o+=n);return i.angle=d(r),i}(s,e)}},E.util.transformPath=function(t,e,i){return i&&(e=E.util.multiplyTransformMatrices(e,[1,0,0,1,-i.x,-i.y])),t.map((function(t){for(var i=t.slice(0),n={},r=1;r=e}))}}}(),function(){function t(e,i,n){if(n)if(!E.isLikelyNode&&i instanceof Element)e=i;else if(i instanceof Array){e=[];for(var r=0,s=i.length;r57343)return t.charAt(e);if(55296<=i&&i<=56319){if(t.length<=e+1)throw"High surrogate without following low surrogate";var n=t.charCodeAt(e+1);if(56320>n||n>57343)throw"High surrogate without following low surrogate";return t.charAt(e)+t.charAt(e+1)}if(0===e)throw"Low surrogate without preceding high surrogate";var r=t.charCodeAt(e-1);if(55296>r||r>56319)throw"Low surrogate without preceding high surrogate";return!1}E.util.string={camelize:function(t){return t.replace(/-+(.)?/g,(function(t,e){return e?e.toUpperCase():""}))},capitalize:function(t,e){return t.charAt(0).toUpperCase()+(e?t.slice(1):t.slice(1).toLowerCase())},escapeXml:function(t){return t.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")},graphemeSplit:function(e){var i,n=0,r=[];for(n=0;n-1?t.prototype[r]=function(t){return function(){var i=this.constructor.superclass;this.constructor.superclass=n;var r=e[t].apply(this,arguments);if(this.constructor.superclass=i,"initialize"!==t)return r}}(r):t.prototype[r]=e[r],i&&(e.toString!==Object.prototype.toString&&(t.prototype.toString=e.toString),e.valueOf!==Object.prototype.valueOf&&(t.prototype.valueOf=e.valueOf))};function r(){}function s(e){for(var i=null,n=this;n.constructor.superclass;){var r=n.constructor.superclass.prototype[e];if(n[e]!==r){i=r;break}n=n.constructor.superclass.prototype}return i?arguments.length>1?i.apply(this,t.call(arguments,1)):i.call(this):console.log("tried to callSuper "+e+", method not found in prototype chain",this)}E.util.createClass=function(){var i=null,a=t.call(arguments,0);function o(){this.initialize.apply(this,arguments)}"function"==typeof a[0]&&(i=a.shift()),o.superclass=i,o.subclasses=[],i&&(r.prototype=i.prototype,o.prototype=new r,i.subclasses.push(o));for(var l=0,c=a.length;l-1||"touch"===t.pointerType},u="string"==typeof(d=E.document.createElement("div")).style.opacity,f="string"==typeof d.style.filter,p=/alpha\s*\(\s*opacity\s*=\s*([^\)]+)\)/,g=function(t){return t},u?g=function(t,e){return t.style.opacity=e,t}:f&&(g=function(t,e){var i=t.style;return t.currentStyle&&!t.currentStyle.hasLayout&&(i.zoom=1),p.test(i.filter)?(e=e>=.9999?"":"alpha(opacity="+100*e+")",i.filter=i.filter.replace(p,e)):i.filter+=" alpha(opacity="+100*e+")",t}),E.util.setStyle=function(t,e){var i=t.style;if(!i)return t;if("string"==typeof e)return t.style.cssText+=";"+e,e.indexOf("opacity")>-1?g(t,e.match(/opacity:\s*(\d?\.?\d*)/)[1]):t;for(var n in e)if("opacity"===n)g(t,e[n]);else{var r="float"===n||"cssFloat"===n?void 0===i.styleFloat?"cssFloat":"styleFloat":n;i.setProperty(r,e[n])}return t},function(){var t,e,i,n,r=Array.prototype.slice,s=function(t){return r.call(t,0)};try{t=s(E.document.childNodes)instanceof Array}catch(t){}function a(t,e){var i=E.document.createElement(t);for(var n in e)"class"===n?i.className=e[n]:"for"===n?i.htmlFor=e[n]:i.setAttribute(n,e[n]);return i}function o(t){for(var e=0,i=0,n=E.document.documentElement,r=E.document.body||{scrollLeft:0,scrollTop:0};t&&(t.parentNode||t.host)&&((t=t.parentNode||t.host)===E.document?(e=r.scrollLeft||n.scrollLeft||0,i=r.scrollTop||n.scrollTop||0):(e+=t.scrollLeft||0,i+=t.scrollTop||0),1!==t.nodeType||"fixed"!==t.style.position););return{left:e,top:i}}t||(s=function(t){for(var e=new Array(t.length),i=t.length;i--;)e[i]=t[i];return e}),e=E.document.defaultView&&E.document.defaultView.getComputedStyle?function(t,e){var i=E.document.defaultView.getComputedStyle(t,null);return i?i[e]:void 0}:function(t,e){var i=t.style[e];return!i&&t.currentStyle&&(i=t.currentStyle[e]),i},i=E.document.documentElement.style,n="userSelect"in i?"userSelect":"MozUserSelect"in i?"MozUserSelect":"WebkitUserSelect"in i?"WebkitUserSelect":"KhtmlUserSelect"in i?"KhtmlUserSelect":"",E.util.makeElementUnselectable=function(t){return void 0!==t.onselectstart&&(t.onselectstart=E.util.falseFunction),n?t.style[n]="none":"string"==typeof t.unselectable&&(t.unselectable="on"),t},E.util.makeElementSelectable=function(t){return void 0!==t.onselectstart&&(t.onselectstart=null),n?t.style[n]="":"string"==typeof t.unselectable&&(t.unselectable=""),t},E.util.setImageSmoothing=function(t,e){t.imageSmoothingEnabled=t.imageSmoothingEnabled||t.webkitImageSmoothingEnabled||t.mozImageSmoothingEnabled||t.msImageSmoothingEnabled||t.oImageSmoothingEnabled,t.imageSmoothingEnabled=e},E.util.getById=function(t){return"string"==typeof t?E.document.getElementById(t):t},E.util.toArray=s,E.util.addClass=function(t,e){t&&-1===(" "+t.className+" ").indexOf(" "+e+" ")&&(t.className+=(t.className?" ":"")+e)},E.util.makeElement=a,E.util.wrapElement=function(t,e,i){return"string"==typeof e&&(e=a(e,i)),t.parentNode&&t.parentNode.replaceChild(e,t),e.appendChild(t),e},E.util.getScrollLeftTop=o,E.util.getElementOffset=function(t){var i,n,r=t&&t.ownerDocument,s={left:0,top:0},a={left:0,top:0},l={borderLeftWidth:"left",borderTopWidth:"top",paddingLeft:"left",paddingTop:"top"};if(!r)return a;for(var c in l)a[l[c]]+=parseInt(e(t,c),10)||0;return i=r.documentElement,void 0!==t.getBoundingClientRect&&(s=t.getBoundingClientRect()),n=o(t),{left:s.left+n.left-(i.clientLeft||0)+a.left,top:s.top+n.top-(i.clientTop||0)+a.top}},E.util.getNodeCanvas=function(t){var e=E.jsdomImplForWrapper(t);return e._canvas||e._image},E.util.cleanUpJsdomNode=function(t){if(E.isLikelyNode){var e=E.jsdomImplForWrapper(t);e&&(e._image=null,e._canvas=null,e._currentSrc=null,e._attributes=null,e._classList=null)}}}(),function(){function t(){}E.util.request=function(e,i){i||(i={});var n=i.method?i.method.toUpperCase():"GET",r=i.onComplete||function(){},s=new E.window.XMLHttpRequest,a=i.body||i.parameters;return s.onreadystatechange=function(){4===s.readyState&&(r(s),s.onreadystatechange=t)},"GET"===n&&(a=null,"string"==typeof i.parameters&&(e=function(t,e){return t+(/\?/.test(t)?"&":"?")+e}(e,i.parameters))),s.open(n,e,!0),"POST"!==n&&"PUT"!==n||s.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),s.send(a),s}}(),E.log=console.log,E.warn=console.warn,function(){var t=E.util.object.extend,e=E.util.object.clone,i=[];function n(){return!1}function r(t,e,i,n){return-i*Math.cos(t/n*(Math.PI/2))+i+e}E.util.object.extend(i,{cancelAll:function(){var t=this.splice(0);return t.forEach((function(t){t.cancel()})),t},cancelByCanvas:function(t){if(!t)return[];var e=this.filter((function(e){return"object"==typeof e.target&&e.target.canvas===t}));return e.forEach((function(t){t.cancel()})),e},cancelByTarget:function(t){var e=this.findAnimationsByTarget(t);return e.forEach((function(t){t.cancel()})),e},findAnimationIndex:function(t){return this.indexOf(this.findAnimation(t))},findAnimation:function(t){return this.find((function(e){return e.cancel===t}))},findAnimationsByTarget:function(t){return t?this.filter((function(e){return e.target===t})):[]}});var s=E.window.requestAnimationFrame||E.window.webkitRequestAnimationFrame||E.window.mozRequestAnimationFrame||E.window.oRequestAnimationFrame||E.window.msRequestAnimationFrame||function(t){return E.window.setTimeout(t,1e3/60)},a=E.window.cancelAnimationFrame||E.window.clearTimeout;function o(){return s.apply(E.window,arguments)}E.util.animate=function(i){i||(i={});var s,a=!1,l=function(){var t=E.runningAnimations.indexOf(s);return t>-1&&E.runningAnimations.splice(t,1)[0]};return s=t(e(i),{cancel:function(){return a=!0,l()},currentValue:"startValue"in i?i.startValue:0,completionRate:0,durationRate:0}),E.runningAnimations.push(s),o((function(t){var e,c=t||+new Date,h=i.duration||500,d=c+h,u=i.onChange||n,f=i.abort||n,p=i.onComplete||n,g=i.easing||r,m="startValue"in i&&i.startValue.length>0,v="startValue"in i?i.startValue:0,b="endValue"in i?i.endValue:100,y=i.byValue||(m?v.map((function(t,e){return b[e]-v[e]})):b-v);i.onStart&&i.onStart(),function t(i){var n=(e=i||+new Date)>d?h:e-c,r=n/h,x=m?v.map((function(t,e){return g(n,v[e],y[e],h)})):g(n,v,y,h),w=m?Math.abs((x[0]-v[0])/y[0]):Math.abs((x-v)/y);if(s.currentValue=m?x.slice():x,s.completionRate=w,s.durationRate=r,!a){if(!f(x,w,r))return e>d?(s.currentValue=m?b.slice():b,s.completionRate=1,s.durationRate=1,u(m?b.slice():b,1,1),p(b,1,1),void l()):(u(x,w,r),void o(t));l()}}(c)})),s.cancel},E.util.requestAnimFrame=o,E.util.cancelAnimFrame=function(){return a.apply(E.window,arguments)},E.runningAnimations=i}(),function(){function t(t,e,i){var n="rgba("+parseInt(t[0]+i*(e[0]-t[0]),10)+","+parseInt(t[1]+i*(e[1]-t[1]),10)+","+parseInt(t[2]+i*(e[2]-t[2]),10);return(n+=","+(t&&e?parseFloat(t[3]+i*(e[3]-t[3])):1))+")"}E.util.animateColor=function(e,i,n,r){var s=new E.Color(e).getSource(),a=new E.Color(i).getSource(),o=r.onComplete,l=r.onChange;return r=r||{},E.util.animate(E.util.object.extend(r,{duration:n||500,startValue:s,endValue:a,byValue:a,easing:function(e,i,n,s){return t(i,n,r.colorEasing?r.colorEasing(e,s):1-Math.cos(e/s*(Math.PI/2)))},onComplete:function(e,i,n){if(o)return o(t(a,a,0),i,n)},onChange:function(e,i,n){if(l){if(Array.isArray(e))return l(t(e,e,0),i,n);l(e,i,n)}}}))}}(),function(){function t(t,e,i,n){return t-1&&h>-1&&h-1)&&(i="stroke")}else{if("href"===t||"xlink:href"===t||"font"===t)return i;if("imageSmoothing"===t)return"optimizeQuality"===i;o=l?i.map(s):s(i,r)}}else i="";return!l&&isNaN(o)?i:o}function f(t){return new RegExp("^("+t.join("|")+")\\b","i")}function p(t,e){var i,n,r,s,a=[];for(r=0,s=e.length;r1;)l.shift(),c=e.util.multiplyTransformMatrices(c,l[0]);return c}}();var b=new RegExp("^\\s*("+e.reNum+"+)\\s*,?\\s*("+e.reNum+"+)\\s*,?\\s*("+e.reNum+"+)\\s*,?\\s*("+e.reNum+"+)\\s*$");function y(t){if(!e.svgViewBoxElementsRegEx.test(t.nodeName))return{};var i,n,r,a,o,l,c=t.getAttribute("viewBox"),h=1,d=1,u=t.getAttribute("width"),f=t.getAttribute("height"),p=t.getAttribute("x")||0,g=t.getAttribute("y")||0,m=t.getAttribute("preserveAspectRatio")||"",v=!c||!(c=c.match(b)),y=!u||!f||"100%"===u||"100%"===f,x=v&&y,w={},C="",S=0,T=0;if(w.width=0,w.height=0,w.toBeParsed=x,v&&(p||g)&&t.parentNode&&"#document"!==t.parentNode.nodeName&&(C=" translate("+s(p)+" "+s(g)+") ",o=(t.getAttribute("transform")||"")+C,t.setAttribute("transform",o),t.removeAttribute("x"),t.removeAttribute("y")),x)return w;if(v)return w.width=s(u),w.height=s(f),w;if(i=-parseFloat(c[1]),n=-parseFloat(c[2]),r=parseFloat(c[3]),a=parseFloat(c[4]),w.minX=i,w.minY=n,w.viewBoxWidth=r,w.viewBoxHeight=a,y?(w.width=r,w.height=a):(w.width=s(u),w.height=s(f),h=w.width/r,d=w.height/a),"none"!==(m=e.util.parsePreserveAspectRatioAttribute(m)).alignX&&("meet"===m.meetOrSlice&&(d=h=h>d?d:h),"slice"===m.meetOrSlice&&(d=h=h>d?h:d),S=w.width-r*h,T=w.height-a*h,"Mid"===m.alignX&&(S/=2),"Mid"===m.alignY&&(T/=2),"Min"===m.alignX&&(S=0),"Min"===m.alignY&&(T=0)),1===h&&1===d&&0===i&&0===n&&0===p&&0===g)return w;if((p||g)&&"#document"!==t.parentNode.nodeName&&(C=" translate("+s(p)+" "+s(g)+") "),o=C+" matrix("+h+" 0 0 "+d+" "+(i*h+S)+" "+(n*d+T)+") ","svg"===t.nodeName){for(l=t.ownerDocument.createElementNS(e.svgNS,"g");t.firstChild;)l.appendChild(t.firstChild);t.appendChild(l)}else(l=t).removeAttribute("x"),l.removeAttribute("y"),o=l.getAttribute("transform")+o;return l.setAttribute("transform",o),w}function x(t,e){var i="xlink:href",n=v(t,e.getAttribute(i).slice(1));if(n&&n.getAttribute(i)&&x(t,n),["gradientTransform","x1","x2","y1","y2","gradientUnits","cx","cy","r","fx","fy"].forEach((function(t){n&&!e.hasAttribute(t)&&n.hasAttribute(t)&&e.setAttribute(t,n.getAttribute(t))})),!e.children.length)for(var r=n.cloneNode(!0);r.firstChild;)e.appendChild(r.firstChild);e.removeAttribute(i)}e.parseSVGDocument=function(t,i,r,s){if(t){!function(t){for(var i=p(t,["use","svg:use"]),n=0;i.length&&nt.x&&this.y>t.y},gte:function(t){return this.x>=t.x&&this.y>=t.y},lerp:function(t,e){return void 0===e&&(e=.5),e=Math.max(Math.min(1,e),0),new i(this.x+(t.x-this.x)*e,this.y+(t.y-this.y)*e)},distanceFrom:function(t){var e=this.x-t.x,i=this.y-t.y;return Math.sqrt(e*e+i*i)},midPointFrom:function(t){return this.lerp(t)},min:function(t){return new i(Math.min(this.x,t.x),Math.min(this.y,t.y))},max:function(t){return new i(Math.max(this.x,t.x),Math.max(this.y,t.y))},toString:function(){return this.x+","+this.y},setXY:function(t,e){return this.x=t,this.y=e,this},setX:function(t){return this.x=t,this},setY:function(t){return this.y=t,this},setFromPoint:function(t){return this.x=t.x,this.y=t.y,this},swap:function(t){var e=this.x,i=this.y;this.x=t.x,this.y=t.y,t.x=e,t.y=i},clone:function(){return new i(this.x,this.y)}})}(e),function(t){"use strict";var e=t.fabric||(t.fabric={});function i(t){this.status=t,this.points=[]}e.Intersection?e.warn("fabric.Intersection is already defined"):(e.Intersection=i,e.Intersection.prototype={constructor:i,appendPoint:function(t){return this.points.push(t),this},appendPoints:function(t){return this.points=this.points.concat(t),this}},e.Intersection.intersectLineLine=function(t,n,r,s){var a,o=(s.x-r.x)*(t.y-r.y)-(s.y-r.y)*(t.x-r.x),l=(n.x-t.x)*(t.y-r.y)-(n.y-t.y)*(t.x-r.x),c=(s.y-r.y)*(n.x-t.x)-(s.x-r.x)*(n.y-t.y);if(0!==c){var h=o/c,d=l/c;0<=h&&h<=1&&0<=d&&d<=1?(a=new i("Intersection")).appendPoint(new e.Point(t.x+h*(n.x-t.x),t.y+h*(n.y-t.y))):a=new i}else a=new i(0===o||0===l?"Coincident":"Parallel");return a},e.Intersection.intersectLinePolygon=function(t,e,n){var r,s,a,o,l=new i,c=n.length;for(o=0;o0&&(l.status="Intersection"),l},e.Intersection.intersectPolygonPolygon=function(t,e){var n,r=new i,s=t.length;for(n=0;n0&&(r.status="Intersection"),r},e.Intersection.intersectPolygonRectangle=function(t,n,r){var s=n.min(r),a=n.max(r),o=new e.Point(a.x,s.y),l=new e.Point(s.x,a.y),c=i.intersectLinePolygon(s,o,t),h=i.intersectLinePolygon(o,a,t),d=i.intersectLinePolygon(a,l,t),u=i.intersectLinePolygon(l,s,t),f=new i;return f.appendPoints(c.points),f.appendPoints(h.points),f.appendPoints(d.points),f.appendPoints(u.points),f.points.length>0&&(f.status="Intersection"),f})}(e),function(t){"use strict";var e=t.fabric||(t.fabric={});function i(t){t?this._tryParsingColor(t):this.setSource([0,0,0,1])}function n(t,e,i){return i<0&&(i+=1),i>1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t}e.Color?e.warn("fabric.Color is already defined."):(e.Color=i,e.Color.prototype={_tryParsingColor:function(t){var e;t in i.colorNameMap&&(t=i.colorNameMap[t]),"transparent"===t&&(e=[255,255,255,0]),e||(e=i.sourceFromHex(t)),e||(e=i.sourceFromRgb(t)),e||(e=i.sourceFromHsl(t)),e||(e=[0,0,0,1]),e&&this.setSource(e)},_rgbToHsl:function(t,i,n){t/=255,i/=255,n/=255;var r,s,a,o=e.util.array.max([t,i,n]),l=e.util.array.min([t,i,n]);if(a=(o+l)/2,o===l)r=s=0;else{var c=o-l;switch(s=a>.5?c/(2-o-l):c/(o+l),o){case t:r=(i-n)/c+(i0)-(t<0)||+t};function f(t,e){var i=t.angle+d(Math.atan2(e.y,e.x))+360;return Math.round(i%360/45)}function p(t,i){var n=i.transform.target,r=n.canvas,s=e.util.object.clone(i);s.target=n,r&&r.fire("object:"+t,s),n.fire(t,i)}function g(t,e){var i=e.canvas,n=t[i.uniScaleKey];return i.uniformScaling&&!n||!i.uniformScaling&&n}function m(t){return t.originX===c&&t.originY===c}function v(t,e,i){var n=t.lockScalingX,r=t.lockScalingY;return!((!n||!r)&&(e||!n&&!r||!i)&&(!n||"x"!==e)&&(!r||"y"!==e))}function b(t,e,i,n){return{e:t,transform:e,pointer:{x:i,y:n}}}function y(t){return function(e,i,n,r){var s=i.target,a=s.getCenterPoint(),o=s.translateToOriginPoint(a,i.originX,i.originY),l=t(e,i,n,r);return s.setPositionByOrigin(o,i.originX,i.originY),l}}function x(t,e){return function(i,n,r,s){var a=e(i,n,r,s);return a&&p(t,b(i,n,r,s)),a}}function w(t,i,n,r,s){var a=t.target,o=a.controls[t.corner],l=a.canvas.getZoom(),c=a.padding/l,h=a.toLocalPoint(new e.Point(r,s),i,n);return h.x>=c&&(h.x-=c),h.x<=-c&&(h.x+=c),h.y>=c&&(h.y-=c),h.y<=c&&(h.y+=c),h.x-=o.offsetX,h.y-=o.offsetY,h}function C(t){return t.flipX!==t.flipY}function S(t,e,i,n,r){if(0!==t[e]){var s=r/t._getTransformedDimensions()[n]*t[i];t.set(i,s)}}function T(t,e,i,n){var r,c=e.target,h=c._getTransformedDimensions(0,c.skewY),u=w(e,e.originX,e.originY,i,n),f=Math.abs(2*u.x)-h.x,p=c.skewX;f<2?r=0:(r=d(Math.atan2(f/c.scaleX,h.y/c.scaleY)),e.originX===s&&e.originY===l&&(r=-r),e.originX===o&&e.originY===a&&(r=-r),C(c)&&(r=-r));var g=p!==r;if(g){var m=c._getTransformedDimensions().y;c.set("skewX",r),S(c,"skewY","scaleY","y",m)}return g}function E(t,e,i,n){var r,c=e.target,h=c._getTransformedDimensions(c.skewX,0),u=w(e,e.originX,e.originY,i,n),f=Math.abs(2*u.y)-h.y,p=c.skewY;f<2?r=0:(r=d(Math.atan2(f/c.scaleY,h.x/c.scaleX)),e.originX===s&&e.originY===l&&(r=-r),e.originX===o&&e.originY===a&&(r=-r),C(c)&&(r=-r));var g=p!==r;if(g){var m=c._getTransformedDimensions().x;c.set("skewY",r),S(c,"skewX","scaleX","x",m)}return g}function A(t,e,i,n,r){r=r||{};var s,a,o,l,c,d,f=e.target,p=f.lockScalingX,b=f.lockScalingY,y=r.by,x=g(t,f),C=v(f,y,x),S=e.gestureScale;if(C)return!1;if(S)a=e.scaleX*S,o=e.scaleY*S;else{if(s=w(e,e.originX,e.originY,i,n),c="y"!==y?u(s.x):1,d="x"!==y?u(s.y):1,e.signX||(e.signX=c),e.signY||(e.signY=d),f.lockScalingFlip&&(e.signX!==c||e.signY!==d))return!1;if(l=f._getTransformedDimensions(),x&&!y){var T=Math.abs(s.x)+Math.abs(s.y),E=e.original,A=T/(Math.abs(l.x*E.scaleX/f.scaleX)+Math.abs(l.y*E.scaleY/f.scaleY));a=E.scaleX*A,o=E.scaleY*A}else a=Math.abs(s.x*f.scaleX/l.x),o=Math.abs(s.y*f.scaleY/l.y);m(e)&&(a*=2,o*=2),e.signX!==c&&"y"!==y&&(e.originX=h[e.originX],a*=-1,e.signX=c),e.signY!==d&&"x"!==y&&(e.originY=h[e.originY],o*=-1,e.signY=d)}var O=f.scaleX,I=f.scaleY;return y?("x"===y&&f.set("scaleX",a),"y"===y&&f.set("scaleY",o)):(!p&&f.set("scaleX",a),!b&&f.set("scaleY",o)),O!==f.scaleX||I!==f.scaleY}r.scaleCursorStyleHandler=function(t,e,n){var r=g(t,n),s="";if(0!==e.x&&0===e.y?s="x":0===e.x&&0!==e.y&&(s="y"),v(n,s,r))return"not-allowed";var a=f(n,e);return i[a]+"-resize"},r.skewCursorStyleHandler=function(t,e,i){var r="not-allowed";if(0!==e.x&&i.lockSkewingY)return r;if(0!==e.y&&i.lockSkewingX)return r;var s=f(i,e)%4;return n[s]+"-resize"},r.scaleSkewCursorStyleHandler=function(t,e,i){return t[i.canvas.altActionKey]?r.skewCursorStyleHandler(t,e,i):r.scaleCursorStyleHandler(t,e,i)},r.rotationWithSnapping=x("rotating",y((function(t,e,i,n){var r=e,s=r.target,a=s.translateToOriginPoint(s.getCenterPoint(),r.originX,r.originY);if(s.lockRotation)return!1;var o,l=Math.atan2(r.ey-a.y,r.ex-a.x),c=Math.atan2(n-a.y,i-a.x),h=d(c-l+r.theta);if(s.snapAngle>0){var u=s.snapAngle,f=s.snapThreshold||u,p=Math.ceil(h/u)*u,g=Math.floor(h/u)*u;Math.abs(h-g)0?s:o:(h>0&&(r=d===a?s:o),h<0&&(r=d===a?o:s),C(l)&&(r=r===s?o:s)),e.originX=r,x("skewing",y(T))(t,e,i,n))},r.skewHandlerY=function(t,e,i,n){var r,o=e.target,h=o.skewY,d=e.originX;return!o.lockSkewingY&&(0===h?r=w(e,c,c,i,n).y>0?a:l:(h>0&&(r=d===s?a:l),h<0&&(r=d===s?l:a),C(o)&&(r=r===a?l:a)),e.originY=r,x("skewing",y(E))(t,e,i,n))},r.dragHandler=function(t,e,i,n){var r=e.target,s=i-e.offsetX,a=n-e.offsetY,o=!r.get("lockMovementX")&&r.left!==s,l=!r.get("lockMovementY")&&r.top!==a;return o&&r.set("left",s),l&&r.set("top",a),(o||l)&&p("moving",b(t,e,i,n)),o||l},r.scaleOrSkewActionName=function(t,e,i){var n=t[i.canvas.altActionKey];return 0===e.x?n?"skewX":"scaleY":0===e.y?n?"skewY":"scaleX":void 0},r.rotationStyleHandler=function(t,e,i){return i.lockRotation?"not-allowed":e.cursorStyle},r.fireEvent=p,r.wrapWithFixedAnchor=y,r.wrapWithFireEvent=x,r.getLocalPoint=w,e.controlsUtils=r}(e),function(t){"use strict";var e=t.fabric||(t.fabric={}),i=e.util.degreesToRadians,n=e.controlsUtils;n.renderCircleControl=function(t,e,i,n,r){n=n||{};var s,a=this.sizeX||n.cornerSize||r.cornerSize,o=this.sizeY||n.cornerSize||r.cornerSize,l=void 0!==n.transparentCorners?n.transparentCorners:r.transparentCorners,c=l?"stroke":"fill",h=!l&&(n.cornerStrokeColor||r.cornerStrokeColor),d=e,u=i;t.save(),t.fillStyle=n.cornerColor||r.cornerColor,t.strokeStyle=n.cornerStrokeColor||r.cornerStrokeColor,a>o?(s=a,t.scale(1,o/a),u=i*a/o):o>a?(s=o,t.scale(a/o,1),d=e*o/a):s=a,t.lineWidth=1,t.beginPath(),t.arc(d,u,s/2,0,2*Math.PI,!1),t[c](),h&&t.stroke(),t.restore()},n.renderSquareControl=function(t,e,n,r,s){r=r||{};var a=this.sizeX||r.cornerSize||s.cornerSize,o=this.sizeY||r.cornerSize||s.cornerSize,l=void 0!==r.transparentCorners?r.transparentCorners:s.transparentCorners,c=l?"stroke":"fill",h=!l&&(r.cornerStrokeColor||s.cornerStrokeColor),d=a/2,u=o/2;t.save(),t.fillStyle=r.cornerColor||s.cornerColor,t.strokeStyle=r.cornerStrokeColor||s.cornerStrokeColor,t.lineWidth=1,t.translate(e,n),t.rotate(i(s.angle)),t[c+"Rect"](-d,-u,a,o),h&&t.strokeRect(-d,-u,a,o),t.restore()}}(e),function(t){"use strict";var e=t.fabric||(t.fabric={});e.Control=function(t){for(var e in t)this[e]=t[e]},e.Control.prototype={visible:!0,actionName:"scale",angle:0,x:0,y:0,offsetX:0,offsetY:0,sizeX:null,sizeY:null,touchSizeX:null,touchSizeY:null,cursorStyle:"crosshair",withConnection:!1,actionHandler:function(){},mouseDownHandler:function(){},mouseUpHandler:function(){},getActionHandler:function(){return this.actionHandler},getMouseDownHandler:function(){return this.mouseDownHandler},getMouseUpHandler:function(){return this.mouseUpHandler},cursorStyleHandler:function(t,e){return e.cursorStyle},getActionName:function(t,e){return e.actionName},getVisibility:function(t,e){var i=t._controlsVisibility;return i&&void 0!==i[e]?i[e]:this.visible},setVisibility:function(t){this.visible=t},positionHandler:function(t,i){return e.util.transformPoint({x:this.x*t.x+this.offsetX,y:this.y*t.y+this.offsetY},i)},calcCornerCoords:function(t,i,n,r,s){var a,o,l,c,h=s?this.touchSizeX:this.sizeX,d=s?this.touchSizeY:this.sizeY;if(h&&d&&h!==d){var u=Math.atan2(d,h),f=Math.sqrt(h*h+d*d)/2,p=u-e.util.degreesToRadians(t),g=Math.PI/2-u-e.util.degreesToRadians(t);a=f*e.util.cos(p),o=f*e.util.sin(p),l=f*e.util.cos(g),c=f*e.util.sin(g)}else f=.7071067812*(h&&d?h:i),p=e.util.degreesToRadians(45-t),a=l=f*e.util.cos(p),o=c=f*e.util.sin(p);return{tl:{x:n-c,y:r-l},tr:{x:n+a,y:r-o},bl:{x:n-a,y:r+o},br:{x:n+c,y:r+l}}},render:function(t,i,n,r,s){"circle"===((r=r||{}).cornerStyle||s.cornerStyle)?e.controlsUtils.renderCircleControl.call(this,t,i,n,r,s):e.controlsUtils.renderSquareControl.call(this,t,i,n,r,s)}}}(e),function(){function t(t,e){var i,n,r,s,a=t.getAttribute("style"),o=t.getAttribute("offset")||0;if(o=(o=parseFloat(o)/(/%$/.test(o)?100:1))<0?0:o>1?1:o,a){var l=a.split(/\s*;\s*/);for(""===l[l.length-1]&&l.pop(),s=l.length;s--;){var c=l[s].split(/\s*:\s*/),h=c[0].trim(),d=c[1].trim();"stop-color"===h?i=d:"stop-opacity"===h&&(r=d)}}return i||(i=t.getAttribute("stop-color")||"rgb(0,0,0)"),r||(r=t.getAttribute("stop-opacity")),n=(i=new E.Color(i)).getAlpha(),r=isNaN(parseFloat(r))?1:parseFloat(r),r*=n*e,{offset:o,color:i.toRgb(),opacity:r}}var e=E.util.object.clone;E.Gradient=E.util.createClass({offsetX:0,offsetY:0,gradientTransform:null,gradientUnits:"pixels",type:"linear",initialize:function(t){t||(t={}),t.coords||(t.coords={});var e,i=this;Object.keys(t).forEach((function(e){i[e]=t[e]})),this.id?this.id+="_"+E.Object.__uid++:this.id=E.Object.__uid++,e={x1:t.coords.x1||0,y1:t.coords.y1||0,x2:t.coords.x2||0,y2:t.coords.y2||0},"radial"===this.type&&(e.r1=t.coords.r1||0,e.r2=t.coords.r2||0),this.coords=e,this.colorStops=t.colorStops.slice()},addColorStop:function(t){for(var e in t){var i=new E.Color(t[e]);this.colorStops.push({offset:parseFloat(e),color:i.toRgb(),opacity:i.getAlpha()})}return this},toObject:function(t){var e={type:this.type,coords:this.coords,colorStops:this.colorStops,offsetX:this.offsetX,offsetY:this.offsetY,gradientUnits:this.gradientUnits,gradientTransform:this.gradientTransform?this.gradientTransform.concat():this.gradientTransform};return E.util.populateWithProperties(this,e,t),e},toSVG:function(t,i){var n,r,s,a,o=e(this.coords,!0),l=(i=i||{},e(this.colorStops,!0)),c=o.r1>o.r2,h=this.gradientTransform?this.gradientTransform.concat():E.iMatrix.concat(),d=-this.offsetX,u=-this.offsetY,f=!!i.additionalTransform,p="pixels"===this.gradientUnits?"userSpaceOnUse":"objectBoundingBox";if(l.sort((function(t,e){return t.offset-e.offset})),"objectBoundingBox"===p?(d/=t.width,u/=t.height):(d+=t.width/2,u+=t.height/2),"path"===t.type&&"percentage"!==this.gradientUnits&&(d-=t.pathOffset.x,u-=t.pathOffset.y),h[4]-=d,h[5]-=u,a='id="SVGID_'+this.id+'" gradientUnits="'+p+'"',a+=' gradientTransform="'+(f?i.additionalTransform+" ":"")+E.util.matrixToSVG(h)+'" ',"linear"===this.type?s=["\n']:"radial"===this.type&&(s=["\n']),"radial"===this.type){if(c)for((l=l.concat()).reverse(),n=0,r=l.length;n0){var m=g/Math.max(o.r1,o.r2);for(n=0,r=l.length;n\n')}return s.push("linear"===this.type?"\n":"\n"),s.join("")},toLive:function(t){var e,i,n,r=E.util.object.clone(this.coords);if(this.type){for("linear"===this.type?e=t.createLinearGradient(r.x1,r.y1,r.x2,r.y2):"radial"===this.type&&(e=t.createRadialGradient(r.x1,r.y1,r.r1,r.x2,r.y2,r.r2)),i=0,n=this.colorStops.length;i1?1:s,isNaN(s)&&(s=1);var a,o,l,c,h=e.getElementsByTagName("stop"),d="userSpaceOnUse"===e.getAttribute("gradientUnits")?"pixels":"percentage",u=e.getAttribute("gradientTransform")||"",f=[],p=0,g=0;for("linearGradient"===e.nodeName||"LINEARGRADIENT"===e.nodeName?(a="linear",o=function(t){return{x1:t.getAttribute("x1")||0,y1:t.getAttribute("y1")||0,x2:t.getAttribute("x2")||"100%",y2:t.getAttribute("y2")||0}}(e)):(a="radial",o=function(t){return{x1:t.getAttribute("fx")||t.getAttribute("cx")||"50%",y1:t.getAttribute("fy")||t.getAttribute("cy")||"50%",r1:0,x2:t.getAttribute("cx")||"50%",y2:t.getAttribute("cy")||"50%",r2:t.getAttribute("r")||"50%"}}(e)),l=h.length;l--;)f.push(t(h[l],s));return c=E.parseTransformAttribute(u),function(t,e,i,n){var r,s;Object.keys(e).forEach((function(t){"Infinity"===(r=e[t])?s=1:"-Infinity"===r?s=0:(s=parseFloat(e[t],10),"string"==typeof r&&/^(\d+\.\d+)%|(\d+)%$/.test(r)&&(s*=.01,"pixels"===n&&("x1"!==t&&"x2"!==t&&"r2"!==t||(s*=i.viewBoxWidth||i.width),"y1"!==t&&"y2"!==t||(s*=i.viewBoxHeight||i.height)))),e[t]=s}))}(0,o,r,d),"pixels"===d&&(p=-i.left,g=-i.top),new E.Gradient({id:e.getAttribute("id"),type:a,coords:o,colorStops:f,gradientUnits:d,gradientTransform:c,offsetX:p,offsetY:g})}})}(),function(){"use strict";var t=E.util.toFixed;E.Pattern=E.util.createClass({repeat:"repeat",offsetX:0,offsetY:0,crossOrigin:"",patternTransform:null,initialize:function(t,e){if(t||(t={}),this.id=E.Object.__uid++,this.setOptions(t),!t.source||t.source&&"string"!=typeof t.source)e&&e(this);else{var i=this;this.source=E.util.createImage(),E.util.loadImage(t.source,(function(t,n){i.source=t,e&&e(i,n)}),null,this.crossOrigin)}},toObject:function(e){var i,n,r=E.Object.NUM_FRACTION_DIGITS;return"string"==typeof this.source.src?i=this.source.src:"object"==typeof this.source&&this.source.toDataURL&&(i=this.source.toDataURL()),n={type:"pattern",source:i,repeat:this.repeat,crossOrigin:this.crossOrigin,offsetX:t(this.offsetX,r),offsetY:t(this.offsetY,r),patternTransform:this.patternTransform?this.patternTransform.concat():null},E.util.populateWithProperties(this,n,e),n},toSVG:function(t){var e="function"==typeof this.source?this.source():this.source,i=e.width/t.width,n=e.height/t.height,r=this.offsetX/t.width,s=this.offsetY/t.height,a="";return"repeat-x"!==this.repeat&&"no-repeat"!==this.repeat||(n=1,s&&(n+=Math.abs(s))),"repeat-y"!==this.repeat&&"no-repeat"!==this.repeat||(i=1,r&&(i+=Math.abs(r))),e.src?a=e.src:e.toDataURL&&(a=e.toDataURL()),'\n\n\n'},setOptions:function(t){for(var e in t)this[e]=t[e]},toLive:function(t){var e=this.source;if(!e)return"";if(void 0!==e.src){if(!e.complete)return"";if(0===e.naturalWidth||0===e.naturalHeight)return""}return t.createPattern(e,this.repeat)}})}(),function(t){"use strict";var e=t.fabric||(t.fabric={}),i=e.util.toFixed;e.Shadow?e.warn("fabric.Shadow is already defined."):(e.Shadow=e.util.createClass({color:"rgb(0,0,0)",blur:0,offsetX:0,offsetY:0,affectStroke:!1,includeDefaultValues:!0,nonScaling:!1,initialize:function(t){for(var i in"string"==typeof t&&(t=this._parseShadow(t)),t)this[i]=t[i];this.id=e.Object.__uid++},_parseShadow:function(t){var i=t.trim(),n=e.Shadow.reOffsetsAndBlur.exec(i)||[];return{color:(i.replace(e.Shadow.reOffsetsAndBlur,"")||"rgb(0,0,0)").trim(),offsetX:parseFloat(n[1],10)||0,offsetY:parseFloat(n[2],10)||0,blur:parseFloat(n[3],10)||0}},toString:function(){return[this.offsetX,this.offsetY,this.blur,this.color].join("px ")},toSVG:function(t){var n=40,r=40,s=e.Object.NUM_FRACTION_DIGITS,a=e.util.rotateVector({x:this.offsetX,y:this.offsetY},e.util.degreesToRadians(-t.angle)),o=new e.Color(this.color);return t.width&&t.height&&(n=100*i((Math.abs(a.x)+this.blur)/t.width,s)+20,r=100*i((Math.abs(a.y)+this.blur)/t.height,s)+20),t.flipX&&(a.x*=-1),t.flipY&&(a.y*=-1),'\n\t\n\t\n\t\n\t\n\t\n\t\t\n\t\t\n\t\n\n'},toObject:function(){if(this.includeDefaultValues)return{color:this.color,blur:this.blur,offsetX:this.offsetX,offsetY:this.offsetY,affectStroke:this.affectStroke,nonScaling:this.nonScaling};var t={},i=e.Shadow.prototype;return["color","blur","offsetX","offsetY","affectStroke","nonScaling"].forEach((function(e){this[e]!==i[e]&&(t[e]=this[e])}),this),t}}),e.Shadow.reOffsetsAndBlur=/(?:\s|^)(-?\d+(?:\.\d*)?(?:px)?(?:\s?|$))?(-?\d+(?:\.\d*)?(?:px)?(?:\s?|$))?(\d+(?:\.\d*)?(?:px)?)?(?:\s?|$)(?:$|\s)/)}(e),function(){"use strict";if(E.StaticCanvas)E.warn("fabric.StaticCanvas is already defined.");else{var t=E.util.object.extend,e=E.util.getElementOffset,i=E.util.removeFromArray,n=E.util.toFixed,r=E.util.transformPoint,s=E.util.invertTransform,a=E.util.getNodeCanvas,o=E.util.createCanvasElement,l=new Error("Could not initialize `canvas` element");E.StaticCanvas=E.util.createClass(E.CommonMethods,{initialize:function(t,e){e||(e={}),this.renderAndResetBound=this.renderAndReset.bind(this),this.requestRenderAllBound=this.requestRenderAll.bind(this),this._initStatic(t,e)},backgroundColor:"",backgroundImage:null,overlayColor:"",overlayImage:null,includeDefaultValues:!0,stateful:!1,renderOnAddRemove:!0,controlsAboveOverlay:!1,allowTouchScrolling:!1,imageSmoothingEnabled:!0,viewportTransform:E.iMatrix.concat(),backgroundVpt:!0,overlayVpt:!0,enableRetinaScaling:!0,vptCoords:{},skipOffscreen:!0,clipPath:void 0,_initStatic:function(t,e){var i=this.requestRenderAllBound;this._objects=[],this._createLowerCanvas(t),this._initOptions(e),this.interactive||this._initRetinaScaling(),e.overlayImage&&this.setOverlayImage(e.overlayImage,i),e.backgroundImage&&this.setBackgroundImage(e.backgroundImage,i),e.backgroundColor&&this.setBackgroundColor(e.backgroundColor,i),e.overlayColor&&this.setOverlayColor(e.overlayColor,i),this.calcOffset()},_isRetinaScaling:function(){return E.devicePixelRatio>1&&this.enableRetinaScaling},getRetinaScaling:function(){return this._isRetinaScaling()?Math.max(1,E.devicePixelRatio):1},_initRetinaScaling:function(){if(this._isRetinaScaling()){var t=E.devicePixelRatio;this.__initRetinaScaling(t,this.lowerCanvasEl,this.contextContainer),this.upperCanvasEl&&this.__initRetinaScaling(t,this.upperCanvasEl,this.contextTop)}},__initRetinaScaling:function(t,e,i){e.setAttribute("width",this.width*t),e.setAttribute("height",this.height*t),i.scale(t,t)},calcOffset:function(){return this._offset=e(this.lowerCanvasEl),this},setOverlayImage:function(t,e,i){return this.__setBgOverlayImage("overlayImage",t,e,i)},setBackgroundImage:function(t,e,i){return this.__setBgOverlayImage("backgroundImage",t,e,i)},setOverlayColor:function(t,e){return this.__setBgOverlayColor("overlayColor",t,e)},setBackgroundColor:function(t,e){return this.__setBgOverlayColor("backgroundColor",t,e)},__setBgOverlayImage:function(t,e,i,n){return"string"==typeof e?E.util.loadImage(e,(function(e,r){if(e){var s=new E.Image(e,n);this[t]=s,s.canvas=this}i&&i(e,r)}),this,n&&n.crossOrigin):(n&&e.setOptions(n),this[t]=e,e&&(e.canvas=this),i&&i(e,!1)),this},__setBgOverlayColor:function(t,e,i){return this[t]=e,this._initGradient(e,t),this._initPattern(e,t,i),this},_createCanvasElement:function(){var t=o();if(!t)throw l;if(t.style||(t.style={}),void 0===t.getContext)throw l;return t},_initOptions:function(t){var e=this.lowerCanvasEl;this._setOptions(t),this.width=this.width||parseInt(e.width,10)||0,this.height=this.height||parseInt(e.height,10)||0,this.lowerCanvasEl.style&&(e.width=this.width,e.height=this.height,e.style.width=this.width+"px",e.style.height=this.height+"px",this.viewportTransform=this.viewportTransform.slice())},_createLowerCanvas:function(t){t&&t.getContext?this.lowerCanvasEl=t:this.lowerCanvasEl=E.util.getById(t)||this._createCanvasElement(),E.util.addClass(this.lowerCanvasEl,"lower-canvas"),this._originalCanvasStyle=this.lowerCanvasEl.style,this.interactive&&this._applyCanvasStyle(this.lowerCanvasEl),this.contextContainer=this.lowerCanvasEl.getContext("2d")},getWidth:function(){return this.width},getHeight:function(){return this.height},setWidth:function(t,e){return this.setDimensions({width:t},e)},setHeight:function(t,e){return this.setDimensions({height:t},e)},setDimensions:function(t,e){var i;for(var n in e=e||{},t)i=t[n],e.cssOnly||(this._setBackstoreDimension(n,t[n]),i+="px",this.hasLostContext=!0),e.backstoreOnly||this._setCssDimension(n,i);return this._isCurrentlyDrawing&&this.freeDrawingBrush&&this.freeDrawingBrush._setBrushStyles(this.contextTop),this._initRetinaScaling(),this.calcOffset(),e.cssOnly||this.requestRenderAll(),this},_setBackstoreDimension:function(t,e){return this.lowerCanvasEl[t]=e,this.upperCanvasEl&&(this.upperCanvasEl[t]=e),this.cacheCanvasEl&&(this.cacheCanvasEl[t]=e),this[t]=e,this},_setCssDimension:function(t,e){return this.lowerCanvasEl.style[t]=e,this.upperCanvasEl&&(this.upperCanvasEl.style[t]=e),this.wrapperEl&&(this.wrapperEl.style[t]=e),this},getZoom:function(){return this.viewportTransform[0]},setViewportTransform:function(t){var e,i,n,r=this._activeObject,s=this.backgroundImage,a=this.overlayImage;for(this.viewportTransform=t,i=0,n=this._objects.length;i\n'),this._setSVGBgOverlayColor(i,"background"),this._setSVGBgOverlayImage(i,"backgroundImage",e),this._setSVGObjects(i,e),this.clipPath&&i.push("\n"),this._setSVGBgOverlayColor(i,"overlay"),this._setSVGBgOverlayImage(i,"overlayImage",e),i.push(""),i.join("")},_setSVGPreamble:function(t,e){e.suppressPreamble||t.push('\n','\n')},_setSVGHeader:function(t,e){var i,r=e.width||this.width,s=e.height||this.height,a='viewBox="0 0 '+this.width+" "+this.height+'" ',o=E.Object.NUM_FRACTION_DIGITS;e.viewBox?a='viewBox="'+e.viewBox.x+" "+e.viewBox.y+" "+e.viewBox.width+" "+e.viewBox.height+'" ':this.svgViewportTransformation&&(i=this.viewportTransform,a='viewBox="'+n(-i[4]/i[0],o)+" "+n(-i[5]/i[3],o)+" "+n(this.width/i[0],o)+" "+n(this.height/i[3],o)+'" '),t.push("\n',"Created with Fabric.js ",E.version,"\n","\n",this.createSVGFontFacesMarkup(),this.createSVGRefElementsMarkup(),this.createSVGClipPathMarkup(e),"\n")},createSVGClipPathMarkup:function(t){var e=this.clipPath;return e?(e.clipPathId="CLIPPATH_"+E.Object.__uid++,'\n'+this.clipPath.toClipPathSVG(t.reviver)+"\n"):""},createSVGRefElementsMarkup:function(){var t=this;return["background","overlay"].map((function(e){var i=t[e+"Color"];if(i&&i.toLive){var n=t[e+"Vpt"],r=t.viewportTransform,s={width:t.width/(n?r[0]:1),height:t.height/(n?r[3]:1)};return i.toSVG(s,{additionalTransform:n?E.util.matrixToSVG(r):""})}})).join("")},createSVGFontFacesMarkup:function(){var t,e,i,n,r,s,a,o,l="",c={},h=E.fontPaths,d=[];for(this._objects.forEach((function t(e){d.push(e),e._objects&&e._objects.forEach(t)})),a=0,o=d.length;a',"\n",l,"","\n"].join("")),l},_setSVGObjects:function(t,e){var i,n,r,s=this._objects;for(n=0,r=s.length;n\n")}else t.push('\n")},sendToBack:function(t){if(!t)return this;var e,n,r,s=this._activeObject;if(t===s&&"activeSelection"===t.type)for(e=(r=s._objects).length;e--;)n=r[e],i(this._objects,n),this._objects.unshift(n);else i(this._objects,t),this._objects.unshift(t);return this.renderOnAddRemove&&this.requestRenderAll(),this},bringToFront:function(t){if(!t)return this;var e,n,r,s=this._activeObject;if(t===s&&"activeSelection"===t.type)for(r=s._objects,e=0;e0+c&&(a=s-1,i(this._objects,r),this._objects.splice(a,0,r)),c++;else 0!==(s=this._objects.indexOf(t))&&(a=this._findNewLowerIndex(t,s,e),i(this._objects,t),this._objects.splice(a,0,t));return this.renderOnAddRemove&&this.requestRenderAll(),this},_findNewLowerIndex:function(t,e,i){var n,r;if(i){for(n=e,r=e-1;r>=0;--r)if(t.intersectsWithObject(this._objects[r])||t.isContainedWithinObject(this._objects[r])||this._objects[r].isContainedWithinObject(t)){n=r;break}}else n=e-1;return n},bringForward:function(t,e){if(!t)return this;var n,r,s,a,o,l=this._activeObject,c=0;if(t===l&&"activeSelection"===t.type)for(n=(o=l._objects).length;n--;)r=o[n],(s=this._objects.indexOf(r))"}}),t(E.StaticCanvas.prototype,E.Observable),t(E.StaticCanvas.prototype,E.Collection),t(E.StaticCanvas.prototype,E.DataURLExporter),t(E.StaticCanvas,{EMPTY_JSON:'{"objects": [], "background": "white"}',supports:function(t){var e=o();if(!e||!e.getContext)return null;var i=e.getContext("2d");return i&&"setLineDash"===t?void 0!==i.setLineDash:null}}),E.StaticCanvas.prototype.toJSON=E.StaticCanvas.prototype.toObject,E.isLikelyNode&&(E.StaticCanvas.prototype.createPNGStream=function(){var t=a(this.lowerCanvasEl);return t&&t.createPNGStream()},E.StaticCanvas.prototype.createJPEGStream=function(t){var e=a(this.lowerCanvasEl);return e&&e.createJPEGStream(t)})}}(),E.BaseBrush=E.util.createClass({color:"rgb(0, 0, 0)",width:1,shadow:null,strokeLineCap:"round",strokeLineJoin:"round",strokeMiterLimit:10,strokeDashArray:null,limitedToCanvasSize:!1,_setBrushStyles:function(t){t.strokeStyle=this.color,t.lineWidth=this.width,t.lineCap=this.strokeLineCap,t.miterLimit=this.strokeMiterLimit,t.lineJoin=this.strokeLineJoin,t.setLineDash(this.strokeDashArray||[])},_saveAndTransform:function(t){var e=this.canvas.viewportTransform;t.save(),t.transform(e[0],e[1],e[2],e[3],e[4],e[5])},_setShadow:function(){if(this.shadow){var t=this.canvas,e=this.shadow,i=t.contextTop,n=t.getZoom();t&&t._isRetinaScaling()&&(n*=E.devicePixelRatio),i.shadowColor=e.color,i.shadowBlur=e.blur*n,i.shadowOffsetX=e.offsetX*n,i.shadowOffsetY=e.offsetY*n}},needsFullRender:function(){return new E.Color(this.color).getAlpha()<1||!!this.shadow},_resetShadow:function(){var t=this.canvas.contextTop;t.shadowColor="",t.shadowBlur=t.shadowOffsetX=t.shadowOffsetY=0},_isOutSideCanvas:function(t){return t.x<0||t.x>this.canvas.getWidth()||t.y<0||t.y>this.canvas.getHeight()}}),E.PencilBrush=E.util.createClass(E.BaseBrush,{decimate:.4,drawStraightLine:!1,straightLineKey:"shiftKey",initialize:function(t){this.canvas=t,this._points=[]},needsFullRender:function(){return this.callSuper("needsFullRender")||this._hasStraightLine},_drawSegment:function(t,e,i){var n=e.midPointFrom(i);return t.quadraticCurveTo(e.x,e.y,n.x,n.y),n},onMouseDown:function(t,e){this.canvas._isMainEvent(e.e)&&(this.drawStraightLine=e.e[this.straightLineKey],this._prepareForDrawing(t),this._captureDrawingPath(t),this._render())},onMouseMove:function(t,e){if(this.canvas._isMainEvent(e.e)&&(this.drawStraightLine=e.e[this.straightLineKey],(!0!==this.limitedToCanvasSize||!this._isOutSideCanvas(t))&&this._captureDrawingPath(t)&&this._points.length>1))if(this.needsFullRender())this.canvas.clearContext(this.canvas.contextTop),this._render();else{var i=this._points,n=i.length,r=this.canvas.contextTop;this._saveAndTransform(r),this.oldEnd&&(r.beginPath(),r.moveTo(this.oldEnd.x,this.oldEnd.y)),this.oldEnd=this._drawSegment(r,i[n-2],i[n-1],!0),r.stroke(),r.restore()}},onMouseUp:function(t){return!this.canvas._isMainEvent(t.e)||(this.drawStraightLine=!1,this.oldEnd=void 0,this._finalizeAndAddPath(),!1)},_prepareForDrawing:function(t){var e=new E.Point(t.x,t.y);this._reset(),this._addPoint(e),this.canvas.contextTop.moveTo(e.x,e.y)},_addPoint:function(t){return!(this._points.length>1&&t.eq(this._points[this._points.length-1])||(this.drawStraightLine&&this._points.length>1&&(this._hasStraightLine=!0,this._points.pop()),this._points.push(t),0))},_reset:function(){this._points=[],this._setBrushStyles(this.canvas.contextTop),this._setShadow(),this._hasStraightLine=!1},_captureDrawingPath:function(t){var e=new E.Point(t.x,t.y);return this._addPoint(e)},_render:function(t){var e,i,n=this._points[0],r=this._points[1];if(t=t||this.canvas.contextTop,this._saveAndTransform(t),t.beginPath(),2===this._points.length&&n.x===r.x&&n.y===r.y){var s=this.width/1e3;n=new E.Point(n.x,n.y),r=new E.Point(r.x,r.y),n.x-=s,r.x+=s}for(t.moveTo(n.x,n.y),e=1,i=this._points.length;e=r&&(a=t[i],o.push(a));return o.push(t[s]),o},_finalizeAndAddPath:function(){this.canvas.contextTop.closePath(),this.decimate&&(this._points=this.decimatePoints(this._points,this.decimate));var t=this.convertPointsToSVGPath(this._points);if(this._isEmptySVGPath(t))this.canvas.requestRenderAll();else{var e=this.createPath(t);this.canvas.clearContext(this.canvas.contextTop),this.canvas.fire("before:path:created",{path:e}),this.canvas.add(e),this.canvas.requestRenderAll(),e.setCoords(),this._resetShadow(),this.canvas.fire("path:created",{path:e})}}}),E.CircleBrush=E.util.createClass(E.BaseBrush,{width:10,initialize:function(t){this.canvas=t,this.points=[]},drawDot:function(t){var e=this.addPoint(t),i=this.canvas.contextTop;this._saveAndTransform(i),this.dot(i,e),i.restore()},dot:function(t,e){t.fillStyle=e.fill,t.beginPath(),t.arc(e.x,e.y,e.radius,0,2*Math.PI,!1),t.closePath(),t.fill()},onMouseDown:function(t){this.points.length=0,this.canvas.clearContext(this.canvas.contextTop),this._setShadow(),this.drawDot(t)},_render:function(){var t,e,i=this.canvas.contextTop,n=this.points;for(this._saveAndTransform(i),t=0,e=n.length;t0&&!this.preserveObjectStacking){e=[],i=[];for(var r=0,s=this._objects.length;r1&&(this._activeObject._objects=i),e.push.apply(e,i)}else e=this._objects;return e},renderAll:function(){!this.contextTopDirty||this._groupSelector||this.isDrawingMode||(this.clearContext(this.contextTop),this.contextTopDirty=!1),this.hasLostContext&&(this.renderTopLayer(this.contextTop),this.hasLostContext=!1);var t=this.contextContainer;return this.renderCanvas(t,this._chooseObjectsToRender()),this},renderTopLayer:function(t){t.save(),this.isDrawingMode&&this._isCurrentlyDrawing&&(this.freeDrawingBrush&&this.freeDrawingBrush._render(),this.contextTopDirty=!0),this.selection&&this._groupSelector&&(this._drawSelection(t),this.contextTopDirty=!0),t.restore()},renderTop:function(){var t=this.contextTop;return this.clearContext(t),this.renderTopLayer(t),this.fire("after:render"),this},_normalizePointer:function(t,e){var i=t.calcTransformMatrix(),n=E.util.invertTransform(i),r=this.restorePointerVpt(e);return E.util.transformPoint(r,n)},isTargetTransparent:function(t,e,i){if(t.shouldCache()&&t._cacheCanvas&&t!==this._activeObject){var n=this._normalizePointer(t,{x:e,y:i}),r=Math.max(t.cacheTranslationX+n.x*t.zoomX,0),s=Math.max(t.cacheTranslationY+n.y*t.zoomY,0);return E.util.isTransparent(t._cacheContext,Math.round(r),Math.round(s),this.targetFindTolerance)}var a=this.contextCache,o=t.selectionBackgroundColor,l=this.viewportTransform;return t.selectionBackgroundColor="",this.clearContext(a),a.save(),a.transform(l[0],l[1],l[2],l[3],l[4],l[5]),t.render(a),a.restore(),t.selectionBackgroundColor=o,E.util.isTransparent(a,e,i,this.targetFindTolerance)},_isSelectionKeyPressed:function(t){return Array.isArray(this.selectionKey)?!!this.selectionKey.find((function(e){return!0===t[e]})):t[this.selectionKey]},_shouldClearSelection:function(t,e){var i=this.getActiveObjects(),n=this._activeObject;return!e||e&&n&&i.length>1&&-1===i.indexOf(e)&&n!==e&&!this._isSelectionKeyPressed(t)||e&&!e.evented||e&&!e.selectable&&n&&n!==e},_shouldCenterTransform:function(t,e,i){var n;if(t)return"scale"===e||"scaleX"===e||"scaleY"===e||"resizing"===e?n=this.centeredScaling||t.centeredScaling:"rotate"===e&&(n=this.centeredRotation||t.centeredRotation),n?!i:i},_getOriginFromCorner:function(t,e){var i={x:t.originX,y:t.originY};return"ml"===e||"tl"===e||"bl"===e?i.x="right":"mr"!==e&&"tr"!==e&&"br"!==e||(i.x="left"),"tl"===e||"mt"===e||"tr"===e?i.y="bottom":"bl"!==e&&"mb"!==e&&"br"!==e||(i.y="top"),i},_getActionFromCorner:function(t,e,i,n){if(!e||!t)return"drag";var r=n.controls[e];return r.getActionName(i,r,n)},_setupCurrentTransform:function(t,i,n){if(i){var r=this.getPointer(t),s=i.__corner,a=i.controls[s],o=n&&s?a.getActionHandler(t,i,a):E.controlsUtils.dragHandler,l=this._getActionFromCorner(n,s,t,i),c=this._getOriginFromCorner(i,s),h=t[this.centeredKey],d={target:i,action:l,actionHandler:o,corner:s,scaleX:i.scaleX,scaleY:i.scaleY,skewX:i.skewX,skewY:i.skewY,offsetX:r.x-i.left,offsetY:r.y-i.top,originX:c.x,originY:c.y,ex:r.x,ey:r.y,lastX:r.x,lastY:r.y,theta:e(i.angle),width:i.width*i.scaleX,shiftKey:t.shiftKey,altKey:h,original:E.util.saveObjectTransform(i)};this._shouldCenterTransform(i,l,h)&&(d.originX="center",d.originY="center"),d.original.originX=c.x,d.original.originY=c.y,this._currentTransform=d,this._beforeTransform(t)}},setCursor:function(t){this.upperCanvasEl.style.cursor=t},_drawSelection:function(t){var e=this._groupSelector,i=new E.Point(e.ex,e.ey),n=E.util.transformPoint(i,this.viewportTransform),r=new E.Point(e.ex+e.left,e.ey+e.top),s=E.util.transformPoint(r,this.viewportTransform),a=Math.min(n.x,s.x),o=Math.min(n.y,s.y),l=Math.max(n.x,s.x),c=Math.max(n.y,s.y),h=this.selectionLineWidth/2;this.selectionColor&&(t.fillStyle=this.selectionColor,t.fillRect(a,o,l-a,c-o)),this.selectionLineWidth&&this.selectionBorderColor&&(t.lineWidth=this.selectionLineWidth,t.strokeStyle=this.selectionBorderColor,a+=h,o+=h,l-=h,c-=h,E.Object.prototype._setLineDash.call(this,t,this.selectionDashArray),t.strokeRect(a,o,l-a,c-o))},findTarget:function(t,e){if(!this.skipTargetFind){var n,r,s=this.getPointer(t,!0),a=this._activeObject,o=this.getActiveObjects(),l=i(t),c=o.length>1&&!e||1===o.length;if(this.targets=[],c&&a._findTargetCorner(s,l))return a;if(o.length>1&&!e&&a===this._searchPossibleTargets([a],s))return a;if(1===o.length&&a===this._searchPossibleTargets([a],s)){if(!this.preserveObjectStacking)return a;n=a,r=this.targets,this.targets=[]}var h=this._searchPossibleTargets(this._objects,s);return t[this.altSelectionKey]&&h&&n&&h!==n&&(h=n,this.targets=r),h}},_checkTarget:function(t,e,i){if(e&&e.visible&&e.evented&&e.containsPoint(t)){if(!this.perPixelTargetFind&&!e.perPixelTargetFind||e.isEditing)return!0;if(!this.isTargetTransparent(e,i.x,i.y))return!0}},_searchPossibleTargets:function(t,e){for(var i,n,r=t.length;r--;){var s=t[r],a=s.group?this._normalizePointer(s.group,e):e;if(this._checkTarget(a,s,e)){(i=t[r]).subTargetCheck&&i instanceof E.Group&&(n=this._searchPossibleTargets(i._objects,e))&&this.targets.push(n);break}}return i},restorePointerVpt:function(t){return E.util.transformPoint(t,E.util.invertTransform(this.viewportTransform))},getPointer:function(e,i){if(this._absolutePointer&&!i)return this._absolutePointer;if(this._pointer&&i)return this._pointer;var n,r=t(e),s=this.upperCanvasEl,a=s.getBoundingClientRect(),o=a.width||0,l=a.height||0;o&&l||("top"in a&&"bottom"in a&&(l=Math.abs(a.top-a.bottom)),"right"in a&&"left"in a&&(o=Math.abs(a.right-a.left))),this.calcOffset(),r.x=r.x-this._offset.left,r.y=r.y-this._offset.top,i||(r=this.restorePointerVpt(r));var c=this.getRetinaScaling();return 1!==c&&(r.x/=c,r.y/=c),n=0===o||0===l?{width:1,height:1}:{width:s.width/o,height:s.height/l},{x:r.x*n.width,y:r.y*n.height}},_createUpperCanvas:function(){var t=this.lowerCanvasEl.className.replace(/\s*lower-canvas\s*/,""),e=this.lowerCanvasEl,i=this.upperCanvasEl;i?i.className="":(i=this._createCanvasElement(),this.upperCanvasEl=i),E.util.addClass(i,"upper-canvas "+t),this.wrapperEl.appendChild(i),this._copyCanvasStyle(e,i),this._applyCanvasStyle(i),this.contextTop=i.getContext("2d")},getTopContext:function(){return this.contextTop},_createCacheCanvas:function(){this.cacheCanvasEl=this._createCanvasElement(),this.cacheCanvasEl.setAttribute("width",this.width),this.cacheCanvasEl.setAttribute("height",this.height),this.contextCache=this.cacheCanvasEl.getContext("2d")},_initWrapperElement:function(){this.wrapperEl=E.util.wrapElement(this.lowerCanvasEl,"div",{class:this.containerClass}),E.util.setStyle(this.wrapperEl,{width:this.width+"px",height:this.height+"px",position:"relative"}),E.util.makeElementUnselectable(this.wrapperEl)},_applyCanvasStyle:function(t){var e=this.width||t.width,i=this.height||t.height;E.util.setStyle(t,{position:"absolute",width:e+"px",height:i+"px",left:0,top:0,"touch-action":this.allowTouchScrolling?"manipulation":"none","-ms-touch-action":this.allowTouchScrolling?"manipulation":"none"}),t.width=e,t.height=i,E.util.makeElementUnselectable(t)},_copyCanvasStyle:function(t,e){e.style.cssText=t.style.cssText},getSelectionContext:function(){return this.contextTop},getSelectionElement:function(){return this.upperCanvasEl},getActiveObject:function(){return this._activeObject},getActiveObjects:function(){var t=this._activeObject;return t?"activeSelection"===t.type&&t._objects?t._objects.slice(0):[t]:[]},_onObjectRemoved:function(t){t===this._activeObject&&(this.fire("before:selection:cleared",{target:t}),this._discardActiveObject(),this.fire("selection:cleared",{target:t}),t.fire("deselected")),t===this._hoveredTarget&&(this._hoveredTarget=null,this._hoveredTargets=[]),this.callSuper("_onObjectRemoved",t)},_fireSelectionEvents:function(t,e){var i=!1,n=this.getActiveObjects(),r=[],s=[];t.forEach((function(t){-1===n.indexOf(t)&&(i=!0,t.fire("deselected",{e,target:t}),s.push(t))})),n.forEach((function(n){-1===t.indexOf(n)&&(i=!0,n.fire("selected",{e,target:n}),r.push(n))})),t.length>0&&n.length>0?i&&this.fire("selection:updated",{e,selected:r,deselected:s}):n.length>0?this.fire("selection:created",{e,selected:r}):t.length>0&&this.fire("selection:cleared",{e,deselected:s})},setActiveObject:function(t,e){var i=this.getActiveObjects();return this._setActiveObject(t,e),this._fireSelectionEvents(i,e),this},_setActiveObject:function(t,e){return this._activeObject!==t&&!!this._discardActiveObject(e,t)&&!t.onSelect({e})&&(this._activeObject=t,!0)},_discardActiveObject:function(t,e){var i=this._activeObject;if(i){if(i.onDeselect({e:t,object:e}))return!1;this._activeObject=null}return!0},discardActiveObject:function(t){var e=this.getActiveObjects(),i=this.getActiveObject();return e.length&&this.fire("before:selection:cleared",{target:i,e:t}),this._discardActiveObject(t),this._fireSelectionEvents(e,t),this},dispose:function(){var t=this.wrapperEl;return this.removeListeners(),t.removeChild(this.upperCanvasEl),t.removeChild(this.lowerCanvasEl),this.contextCache=null,this.contextTop=null,["upperCanvasEl","cacheCanvasEl"].forEach(function(t){E.util.cleanUpJsdomNode(this[t]),this[t]=void 0}.bind(this)),t.parentNode&&t.parentNode.replaceChild(this.lowerCanvasEl,this.wrapperEl),delete this.wrapperEl,E.StaticCanvas.prototype.dispose.call(this),this},clear:function(){return this.discardActiveObject(),this.clearContext(this.contextTop),this.callSuper("clear")},drawControls:function(t){var e=this._activeObject;e&&e._renderControls(t)},_toObject:function(t,e,i){var n=this._realizeGroupTransformOnObject(t),r=this.callSuper("_toObject",t,e,i);return this._unwindGroupTransformOnObject(t,n),r},_realizeGroupTransformOnObject:function(t){if(t.group&&"activeSelection"===t.group.type&&this._activeObject===t.group){var e={};return["angle","flipX","flipY","left","scaleX","scaleY","skewX","skewY","top"].forEach((function(i){e[i]=t[i]})),E.util.addTransformToObject(t,this._activeObject.calcOwnMatrix()),e}return null},_unwindGroupTransformOnObject:function(t,e){e&&t.set(e)},_setSVGObject:function(t,e,i){var n=this._realizeGroupTransformOnObject(e);this.callSuper("_setSVGObject",t,e,i),this._unwindGroupTransformOnObject(e,n)},setViewportTransform:function(t){this.renderOnAddRemove&&this._activeObject&&this._activeObject.isEditing&&this._activeObject.clearContextTop(),E.StaticCanvas.prototype.setViewportTransform.call(this,t)}}),E.StaticCanvas)"prototype"!==n&&(E.Canvas[n]=E.StaticCanvas[n])}(),function(){var t=E.util.addListener,e=E.util.removeListener,i={passive:!1};function n(t,e){return t.button&&t.button===e-1}E.util.object.extend(E.Canvas.prototype,{mainTouchId:null,_initEventListeners:function(){this.removeListeners(),this._bindEvents(),this.addOrRemove(t,"add")},_getEventPrefix:function(){return this.enablePointerEvents?"pointer":"mouse"},addOrRemove:function(t,e){var n=this.upperCanvasEl,r=this._getEventPrefix();t(E.window,"resize",this._onResize),t(n,r+"down",this._onMouseDown),t(n,r+"move",this._onMouseMove,i),t(n,r+"out",this._onMouseOut),t(n,r+"enter",this._onMouseEnter),t(n,"wheel",this._onMouseWheel),t(n,"contextmenu",this._onContextMenu),t(n,"dblclick",this._onDoubleClick),t(n,"dragover",this._onDragOver),t(n,"dragenter",this._onDragEnter),t(n,"dragleave",this._onDragLeave),t(n,"drop",this._onDrop),this.enablePointerEvents||t(n,"touchstart",this._onTouchStart,i),"undefined"!=typeof eventjs&&e in eventjs&&(eventjs[e](n,"gesture",this._onGesture),eventjs[e](n,"drag",this._onDrag),eventjs[e](n,"orientation",this._onOrientationChange),eventjs[e](n,"shake",this._onShake),eventjs[e](n,"longpress",this._onLongPress))},removeListeners:function(){this.addOrRemove(e,"remove");var t=this._getEventPrefix();e(E.document,t+"up",this._onMouseUp),e(E.document,"touchend",this._onTouchEnd,i),e(E.document,t+"move",this._onMouseMove,i),e(E.document,"touchmove",this._onMouseMove,i)},_bindEvents:function(){this.eventsBound||(this._onMouseDown=this._onMouseDown.bind(this),this._onTouchStart=this._onTouchStart.bind(this),this._onMouseMove=this._onMouseMove.bind(this),this._onMouseUp=this._onMouseUp.bind(this),this._onTouchEnd=this._onTouchEnd.bind(this),this._onResize=this._onResize.bind(this),this._onGesture=this._onGesture.bind(this),this._onDrag=this._onDrag.bind(this),this._onShake=this._onShake.bind(this),this._onLongPress=this._onLongPress.bind(this),this._onOrientationChange=this._onOrientationChange.bind(this),this._onMouseWheel=this._onMouseWheel.bind(this),this._onMouseOut=this._onMouseOut.bind(this),this._onMouseEnter=this._onMouseEnter.bind(this),this._onContextMenu=this._onContextMenu.bind(this),this._onDoubleClick=this._onDoubleClick.bind(this),this._onDragOver=this._onDragOver.bind(this),this._onDragEnter=this._simpleEventHandler.bind(this,"dragenter"),this._onDragLeave=this._simpleEventHandler.bind(this,"dragleave"),this._onDrop=this._onDrop.bind(this),this.eventsBound=!0)},_onGesture:function(t,e){this.__onTransformGesture&&this.__onTransformGesture(t,e)},_onDrag:function(t,e){this.__onDrag&&this.__onDrag(t,e)},_onMouseWheel:function(t){this.__onMouseWheel(t)},_onMouseOut:function(t){var e=this._hoveredTarget;this.fire("mouse:out",{target:e,e:t}),this._hoveredTarget=null,e&&e.fire("mouseout",{e:t});var i=this;this._hoveredTargets.forEach((function(n){i.fire("mouse:out",{target:e,e:t}),n&&e.fire("mouseout",{e:t})})),this._hoveredTargets=[]},_onMouseEnter:function(t){this._currentTransform||this.findTarget(t)||(this.fire("mouse:over",{target:null,e:t}),this._hoveredTarget=null,this._hoveredTargets=[])},_onOrientationChange:function(t,e){this.__onOrientationChange&&this.__onOrientationChange(t,e)},_onShake:function(t,e){this.__onShake&&this.__onShake(t,e)},_onLongPress:function(t,e){this.__onLongPress&&this.__onLongPress(t,e)},_onDragOver:function(t){t.preventDefault();var e=this._simpleEventHandler("dragover",t);this._fireEnterLeaveEvents(e,t)},_onDrop:function(t){return this._simpleEventHandler("drop:before",t),this._simpleEventHandler("drop",t)},_onContextMenu:function(t){return this.stopContextMenu&&(t.stopPropagation(),t.preventDefault()),!1},_onDoubleClick:function(t){this._cacheTransformEventData(t),this._handleEvent(t,"dblclick"),this._resetTransformEventData(t)},getPointerId:function(t){var e=t.changedTouches;return e?e[0]&&e[0].identifier:this.enablePointerEvents?t.pointerId:-1},_isMainEvent:function(t){return!0===t.isPrimary||!1!==t.isPrimary&&("touchend"===t.type&&0===t.touches.length||!t.changedTouches||t.changedTouches[0].identifier===this.mainTouchId)},_onTouchStart:function(n){n.preventDefault(),null===this.mainTouchId&&(this.mainTouchId=this.getPointerId(n)),this.__onMouseDown(n),this._resetTransformEventData();var r=this.upperCanvasEl,s=this._getEventPrefix();t(E.document,"touchend",this._onTouchEnd,i),t(E.document,"touchmove",this._onMouseMove,i),e(r,s+"down",this._onMouseDown)},_onMouseDown:function(n){this.__onMouseDown(n),this._resetTransformEventData();var r=this.upperCanvasEl,s=this._getEventPrefix();e(r,s+"move",this._onMouseMove,i),t(E.document,s+"up",this._onMouseUp),t(E.document,s+"move",this._onMouseMove,i)},_onTouchEnd:function(n){if(!(n.touches.length>0)){this.__onMouseUp(n),this._resetTransformEventData(),this.mainTouchId=null;var r=this._getEventPrefix();e(E.document,"touchend",this._onTouchEnd,i),e(E.document,"touchmove",this._onMouseMove,i);var s=this;this._willAddMouseDown&&clearTimeout(this._willAddMouseDown),this._willAddMouseDown=setTimeout((function(){t(s.upperCanvasEl,r+"down",s._onMouseDown),s._willAddMouseDown=0}),400)}},_onMouseUp:function(n){this.__onMouseUp(n),this._resetTransformEventData();var r=this.upperCanvasEl,s=this._getEventPrefix();this._isMainEvent(n)&&(e(E.document,s+"up",this._onMouseUp),e(E.document,s+"move",this._onMouseMove,i),t(r,s+"move",this._onMouseMove,i))},_onMouseMove:function(t){!this.allowTouchScrolling&&t.preventDefault&&t.preventDefault(),this.__onMouseMove(t)},_onResize:function(){this.calcOffset()},_shouldRender:function(t){var e=this._activeObject;return!!(!!e!=!!t||e&&t&&e!==t)||(e&&e.isEditing,!1)},__onMouseUp:function(t){var e,i=this._currentTransform,r=this._groupSelector,s=!1,a=!r||0===r.left&&0===r.top;if(this._cacheTransformEventData(t),e=this._target,this._handleEvent(t,"up:before"),n(t,3))this.fireRightClick&&this._handleEvent(t,"up",3,a);else{if(n(t,2))return this.fireMiddleClick&&this._handleEvent(t,"up",2,a),void this._resetTransformEventData();if(this.isDrawingMode&&this._isCurrentlyDrawing)this._onMouseUpInDrawingMode(t);else if(this._isMainEvent(t)){if(i&&(this._finalizeCurrentTransform(t),s=i.actionPerformed),!a){var o=e===this._activeObject;this._maybeGroupObjects(t),s||(s=this._shouldRender(e)||!o&&e===this._activeObject)}var l,c;if(e){if(l=e._findTargetCorner(this.getPointer(t,!0),E.util.isTouchEvent(t)),e.selectable&&e!==this._activeObject&&"up"===e.activeOn)this.setActiveObject(e,t),s=!0;else{var h=e.controls[l],d=h&&h.getMouseUpHandler(t,e,h);d&&d(t,i,(c=this.getPointer(t)).x,c.y)}e.isMoving=!1}if(i&&(i.target!==e||i.corner!==l)){var u=i.target&&i.target.controls[i.corner],f=u&&u.getMouseUpHandler(t,e,h);c=c||this.getPointer(t),f&&f(t,i,c.x,c.y)}this._setCursorFromEvent(t,e),this._handleEvent(t,"up",1,a),this._groupSelector=null,this._currentTransform=null,e&&(e.__corner=0),s?this.requestRenderAll():a||this.renderTop()}}},_simpleEventHandler:function(t,e){var i=this.findTarget(e),n=this.targets,r={e,target:i,subTargets:n};if(this.fire(t,r),i&&i.fire(t,r),!n)return i;for(var s=0;s1&&(e=new E.ActiveSelection(i.reverse(),{canvas:this}),this.setActiveObject(e,t))},_collectObjects:function(t){for(var e,i=[],n=this._groupSelector.ex,r=this._groupSelector.ey,s=n+this._groupSelector.left,a=r+this._groupSelector.top,o=new E.Point(v(n,s),v(r,a)),l=new E.Point(b(n,s),b(r,a)),c=!this.selectionFullyContained,h=n===s&&r===a,d=this._objects.length;d--&&!((e=this._objects[d])&&e.selectable&&e.visible&&(c&&e.intersectsWithRect(o,l,!0)||e.isContainedWithinRect(o,l,!0)||c&&e.containsPoint(o,null,!0)||c&&e.containsPoint(l,null,!0))&&(i.push(e),h)););return i.length>1&&(i=i.filter((function(e){return!e.onSelect({e:t})}))),i},_maybeGroupObjects:function(t){this.selection&&this._groupSelector&&this._groupSelectedObjects(t),this.setCursor(this.defaultCursor),this._groupSelector=null}}),E.util.object.extend(E.StaticCanvas.prototype,{toDataURL:function(t){t||(t={});var e=t.format||"png",i=t.quality||1,n=(t.multiplier||1)*(t.enableRetinaScaling?this.getRetinaScaling():1),r=this.toCanvasElement(n,t);return E.util.toDataURL(r,e,i)},toCanvasElement:function(t,e){t=t||1;var i=((e=e||{}).width||this.width)*t,n=(e.height||this.height)*t,r=this.getZoom(),s=this.width,a=this.height,o=r*t,l=this.viewportTransform,c=(l[4]-(e.left||0))*t,h=(l[5]-(e.top||0))*t,d=this.interactive,u=[o,0,0,o,c,h],f=this.enableRetinaScaling,p=E.util.createCanvasElement(),g=this.contextTop;return p.width=i,p.height=n,this.contextTop=null,this.enableRetinaScaling=!1,this.interactive=!1,this.viewportTransform=u,this.width=i,this.height=n,this.calcViewportBoundaries(),this.renderCanvas(p.getContext("2d"),this._objects),this.viewportTransform=l,this.width=s,this.height=a,this.calcViewportBoundaries(),this.interactive=d,this.enableRetinaScaling=f,this.contextTop=g,p}}),E.util.object.extend(E.StaticCanvas.prototype,{loadFromJSON:function(t,e,i){if(t){var n="string"==typeof t?JSON.parse(t):E.util.object.clone(t),r=this,s=n.clipPath,a=this.renderOnAddRemove;return this.renderOnAddRemove=!1,delete n.clipPath,this._enlivenObjects(n.objects,(function(t){r.clear(),r._setBgOverlay(n,(function(){s?r._enlivenObjects([s],(function(i){r.clipPath=i[0],r.__setupCanvas.call(r,n,t,a,e)})):r.__setupCanvas.call(r,n,t,a,e)}))}),i),this}},__setupCanvas:function(t,e,i,n){var r=this;e.forEach((function(t,e){r.insertAt(t,e)})),this.renderOnAddRemove=i,delete t.objects,delete t.backgroundImage,delete t.overlayImage,delete t.background,delete t.overlay,this._setOptions(t),this.renderAll(),n&&n()},_setBgOverlay:function(t,e){var i={backgroundColor:!1,overlayColor:!1,backgroundImage:!1,overlayImage:!1};if(t.backgroundImage||t.overlayImage||t.background||t.overlay){var n=function(){i.backgroundImage&&i.overlayImage&&i.backgroundColor&&i.overlayColor&&e&&e()};this.__setBgOverlay("backgroundImage",t.backgroundImage,i,n),this.__setBgOverlay("overlayImage",t.overlayImage,i,n),this.__setBgOverlay("backgroundColor",t.background,i,n),this.__setBgOverlay("overlayColor",t.overlay,i,n)}else e&&e()},__setBgOverlay:function(t,e,i,n){var r=this;if(!e)return i[t]=!0,void(n&&n());"backgroundImage"===t||"overlayImage"===t?E.util.enlivenObjects([e],(function(e){r[t]=e[0],i[t]=!0,n&&n()})):this["set"+E.util.string.capitalize(t,!0)](e,(function(){i[t]=!0,n&&n()}))},_enlivenObjects:function(t,e,i){t&&0!==t.length?E.util.enlivenObjects(t,(function(t){e&&e(t)}),null,i):e&&e([])},_toDataURL:function(t,e){this.clone((function(i){e(i.toDataURL(t))}))},_toDataURLWithMultiplier:function(t,e,i){this.clone((function(n){i(n.toDataURLWithMultiplier(t,e))}))},clone:function(t,e){var i=JSON.stringify(this.toJSON(e));this.cloneWithoutData((function(e){e.loadFromJSON(i,(function(){t&&t(e)}))}))},cloneWithoutData:function(t){var e=E.util.createCanvasElement();e.width=this.width,e.height=this.height;var i=new E.Canvas(e);this.backgroundImage?(i.setBackgroundImage(this.backgroundImage.src,(function(){i.renderAll(),t&&t(i)})),i.backgroundImageOpacity=this.backgroundImageOpacity,i.backgroundImageStretch=this.backgroundImageStretch):t&&t(i)}}),function(t){"use strict";var e=t.fabric||(t.fabric={}),i=e.util.object.extend,n=e.util.object.clone,r=e.util.toFixed,s=e.util.string.capitalize,a=e.util.degreesToRadians,o=!e.isLikelyNode;e.Object||(e.Object=e.util.createClass(e.CommonMethods,{type:"object",originX:"left",originY:"top",top:0,left:0,width:0,height:0,scaleX:1,scaleY:1,flipX:!1,flipY:!1,opacity:1,angle:0,skewX:0,skewY:0,cornerSize:13,touchCornerSize:24,transparentCorners:!0,hoverCursor:null,moveCursor:null,padding:0,borderColor:"rgb(178,204,255)",borderDashArray:null,cornerColor:"rgb(178,204,255)",cornerStrokeColor:null,cornerStyle:"rect",cornerDashArray:null,centeredScaling:!1,centeredRotation:!0,fill:"rgb(0,0,0)",fillRule:"nonzero",globalCompositeOperation:"source-over",backgroundColor:"",selectionBackgroundColor:"",stroke:null,strokeWidth:1,strokeDashArray:null,strokeDashOffset:0,strokeLineCap:"butt",strokeLineJoin:"miter",strokeMiterLimit:4,shadow:null,borderOpacityWhenMoving:.4,borderScaleFactor:1,minScaleLimit:0,selectable:!0,evented:!0,visible:!0,hasControls:!0,hasBorders:!0,perPixelTargetFind:!1,includeDefaultValues:!0,lockMovementX:!1,lockMovementY:!1,lockRotation:!1,lockScalingX:!1,lockScalingY:!1,lockSkewingX:!1,lockSkewingY:!1,lockScalingFlip:!1,excludeFromExport:!1,objectCaching:o,statefullCache:!1,noScaleCache:!0,strokeUniform:!1,dirty:!0,__corner:0,paintFirst:"fill",activeOn:"down",stateProperties:"top left width height scaleX scaleY flipX flipY originX originY transformMatrix stroke strokeWidth strokeDashArray strokeLineCap strokeDashOffset strokeLineJoin strokeMiterLimit angle opacity fill globalCompositeOperation shadow visible backgroundColor skewX skewY fillRule paintFirst clipPath strokeUniform".split(" "),cacheProperties:"fill stroke strokeWidth strokeDashArray width height paintFirst strokeUniform strokeLineCap strokeDashOffset strokeLineJoin strokeMiterLimit backgroundColor clipPath".split(" "),colorProperties:"fill stroke backgroundColor".split(" "),clipPath:void 0,inverted:!1,absolutePositioned:!1,initialize:function(t){t&&this.setOptions(t)},_createCacheCanvas:function(){this._cacheProperties={},this._cacheCanvas=e.util.createCanvasElement(),this._cacheContext=this._cacheCanvas.getContext("2d"),this._updateCacheCanvas(),this.dirty=!0},_limitCacheSize:function(t){var i=e.perfLimitSizeTotal,n=t.width,r=t.height,s=e.maxCacheSideLimit,a=e.minCacheSideLimit;if(n<=s&&r<=s&&n*r<=i)return nh&&(t.zoomX/=n/h,t.width=h,t.capped=!0),r>d&&(t.zoomY/=r/d,t.height=d,t.capped=!0),t},_getCacheCanvasDimensions:function(){var t=this.getTotalObjectScaling(),e=this._getTransformedDimensions(0,0),i=e.x*t.scaleX/this.scaleX,n=e.y*t.scaleY/this.scaleY;return{width:i+2,height:n+2,zoomX:t.scaleX,zoomY:t.scaleY,x:i,y:n}},_updateCacheCanvas:function(){var t=this.canvas;if(this.noScaleCache&&t&&t._currentTransform){var i=t._currentTransform.target,n=t._currentTransform.action;if(this===i&&n.slice&&"scale"===n.slice(0,5))return!1}var r,s,a=this._cacheCanvas,o=this._limitCacheSize(this._getCacheCanvasDimensions()),l=e.minCacheSideLimit,c=o.width,h=o.height,d=o.zoomX,u=o.zoomY,f=c!==this.cacheWidth||h!==this.cacheHeight,p=this.zoomX!==d||this.zoomY!==u,g=f||p,m=0,v=0,b=!1;if(f){var y=this._cacheCanvas.width,x=this._cacheCanvas.height,w=c>y||h>x;b=w||(c<.9*y||h<.9*x)&&y>l&&x>l,w&&!o.capped&&(c>l||h>l)&&(m=.1*c,v=.1*h)}return this instanceof e.Text&&this.path&&(g=!0,b=!0,m+=this.getHeightOfLine(0)*this.zoomX,v+=this.getHeightOfLine(0)*this.zoomY),!!g&&(b?(a.width=Math.ceil(c+m),a.height=Math.ceil(h+v)):(this._cacheContext.setTransform(1,0,0,1,0,0),this._cacheContext.clearRect(0,0,a.width,a.height)),r=o.x/2,s=o.y/2,this.cacheTranslationX=Math.round(a.width/2-r)+r,this.cacheTranslationY=Math.round(a.height/2-s)+s,this.cacheWidth=c,this.cacheHeight=h,this._cacheContext.translate(this.cacheTranslationX,this.cacheTranslationY),this._cacheContext.scale(d,u),this.zoomX=d,this.zoomY=u,!0)},setOptions:function(t){this._setOptions(t),this._initGradient(t.fill,"fill"),this._initGradient(t.stroke,"stroke"),this._initPattern(t.fill,"fill"),this._initPattern(t.stroke,"stroke")},transform:function(t){var e=this.group&&!this.group._transformDone||this.group&&this.canvas&&t===this.canvas.contextTop,i=this.calcTransformMatrix(!e);t.transform(i[0],i[1],i[2],i[3],i[4],i[5])},toObject:function(t){var i=e.Object.NUM_FRACTION_DIGITS,n={type:this.type,version:e.version,originX:this.originX,originY:this.originY,left:r(this.left,i),top:r(this.top,i),width:r(this.width,i),height:r(this.height,i),fill:this.fill&&this.fill.toObject?this.fill.toObject():this.fill,stroke:this.stroke&&this.stroke.toObject?this.stroke.toObject():this.stroke,strokeWidth:r(this.strokeWidth,i),strokeDashArray:this.strokeDashArray?this.strokeDashArray.concat():this.strokeDashArray,strokeLineCap:this.strokeLineCap,strokeDashOffset:this.strokeDashOffset,strokeLineJoin:this.strokeLineJoin,strokeUniform:this.strokeUniform,strokeMiterLimit:r(this.strokeMiterLimit,i),scaleX:r(this.scaleX,i),scaleY:r(this.scaleY,i),angle:r(this.angle,i),flipX:this.flipX,flipY:this.flipY,opacity:r(this.opacity,i),shadow:this.shadow&&this.shadow.toObject?this.shadow.toObject():this.shadow,visible:this.visible,backgroundColor:this.backgroundColor,fillRule:this.fillRule,paintFirst:this.paintFirst,globalCompositeOperation:this.globalCompositeOperation,skewX:r(this.skewX,i),skewY:r(this.skewY,i)};return this.clipPath&&!this.clipPath.excludeFromExport&&(n.clipPath=this.clipPath.toObject(t),n.clipPath.inverted=this.clipPath.inverted,n.clipPath.absolutePositioned=this.clipPath.absolutePositioned),e.util.populateWithProperties(this,n,t),this.includeDefaultValues||(n=this._removeDefaultValues(n)),n},toDatalessObject:function(t){return this.toObject(t)},_removeDefaultValues:function(t){var i=e.util.getKlass(t.type).prototype;return i.stateProperties.forEach((function(e){"left"!==e&&"top"!==e&&(t[e]===i[e]&&delete t[e],Array.isArray(t[e])&&Array.isArray(i[e])&&0===t[e].length&&0===i[e].length&&delete t[e])})),t},toString:function(){return"#"},getObjectScaling:function(){if(!this.group)return{scaleX:this.scaleX,scaleY:this.scaleY};var t=e.util.qrDecompose(this.calcTransformMatrix());return{scaleX:Math.abs(t.scaleX),scaleY:Math.abs(t.scaleY)}},getTotalObjectScaling:function(){var t=this.getObjectScaling(),e=t.scaleX,i=t.scaleY;if(this.canvas){var n=this.canvas.getZoom(),r=this.canvas.getRetinaScaling();e*=n*r,i*=n*r}return{scaleX:e,scaleY:i}},getObjectOpacity:function(){var t=this.opacity;return this.group&&(t*=this.group.getObjectOpacity()),t},_set:function(t,i){var n="scaleX"===t||"scaleY"===t,r=this[t]!==i,s=!1;return n&&(i=this._constrainScale(i)),"scaleX"===t&&i<0?(this.flipX=!this.flipX,i*=-1):"scaleY"===t&&i<0?(this.flipY=!this.flipY,i*=-1):"shadow"!==t||!i||i instanceof e.Shadow?"dirty"===t&&this.group&&this.group.set("dirty",i):i=new e.Shadow(i),this[t]=i,r&&(s=this.group&&this.group.isOnACache(),this.cacheProperties.indexOf(t)>-1?(this.dirty=!0,s&&this.group.set("dirty",!0)):s&&this.stateProperties.indexOf(t)>-1&&this.group.set("dirty",!0)),this},setOnGroup:function(){},getViewportTransform:function(){return this.canvas&&this.canvas.viewportTransform?this.canvas.viewportTransform:e.iMatrix.concat()},isNotVisible:function(){return 0===this.opacity||!this.width&&!this.height&&0===this.strokeWidth||!this.visible},render:function(t){this.isNotVisible()||this.canvas&&this.canvas.skipOffscreen&&!this.group&&!this.isOnScreen()||(t.save(),this._setupCompositeOperation(t),this.drawSelectionBackground(t),this.transform(t),this._setOpacity(t),this._setShadow(t,this),this.shouldCache()?(this.renderCache(),this.drawCacheOnCanvas(t)):(this._removeCacheCanvas(),this.dirty=!1,this.drawObject(t),this.objectCaching&&this.statefullCache&&this.saveState({propertySet:"cacheProperties"})),t.restore())},renderCache:function(t){t=t||{},this._cacheCanvas&&this._cacheContext||this._createCacheCanvas(),this.isCacheDirty()&&(this.statefullCache&&this.saveState({propertySet:"cacheProperties"}),this.drawObject(this._cacheContext,t.forClipping),this.dirty=!1)},_removeCacheCanvas:function(){this._cacheCanvas=null,this._cacheContext=null,this.cacheWidth=0,this.cacheHeight=0},hasStroke:function(){return this.stroke&&"transparent"!==this.stroke&&0!==this.strokeWidth},hasFill:function(){return this.fill&&"transparent"!==this.fill},needsItsOwnCache:function(){return!("stroke"!==this.paintFirst||!this.hasFill()||!this.hasStroke()||"object"!=typeof this.shadow)||!!this.clipPath},shouldCache:function(){return this.ownCaching=this.needsItsOwnCache()||this.objectCaching&&(!this.group||!this.group.isOnACache()),this.ownCaching},willDrawShadow:function(){return!!this.shadow&&(0!==this.shadow.offsetX||0!==this.shadow.offsetY)},drawClipPathOnCache:function(t,i){if(t.save(),i.inverted?t.globalCompositeOperation="destination-out":t.globalCompositeOperation="destination-in",i.absolutePositioned){var n=e.util.invertTransform(this.calcTransformMatrix());t.transform(n[0],n[1],n[2],n[3],n[4],n[5])}i.transform(t),t.scale(1/i.zoomX,1/i.zoomY),t.drawImage(i._cacheCanvas,-i.cacheTranslationX,-i.cacheTranslationY),t.restore()},drawObject:function(t,e){var i=this.fill,n=this.stroke;e?(this.fill="black",this.stroke="",this._setClippingProperties(t)):this._renderBackground(t),this._render(t),this._drawClipPath(t,this.clipPath),this.fill=i,this.stroke=n},_drawClipPath:function(t,e){e&&(e.canvas=this.canvas,e.shouldCache(),e._transformDone=!0,e.renderCache({forClipping:!0}),this.drawClipPathOnCache(t,e))},drawCacheOnCanvas:function(t){t.scale(1/this.zoomX,1/this.zoomY),t.drawImage(this._cacheCanvas,-this.cacheTranslationX,-this.cacheTranslationY)},isCacheDirty:function(t){if(this.isNotVisible())return!1;if(this._cacheCanvas&&this._cacheContext&&!t&&this._updateCacheCanvas())return!0;if(this.dirty||this.clipPath&&this.clipPath.absolutePositioned||this.statefullCache&&this.hasStateChanged("cacheProperties")){if(this._cacheCanvas&&this._cacheContext&&!t){var e=this.cacheWidth/this.zoomX,i=this.cacheHeight/this.zoomY;this._cacheContext.clearRect(-e/2,-i/2,e,i)}return!0}return!1},_renderBackground:function(t){if(this.backgroundColor){var e=this._getNonTransformedDimensions();t.fillStyle=this.backgroundColor,t.fillRect(-e.x/2,-e.y/2,e.x,e.y),this._removeShadow(t)}},_setOpacity:function(t){this.group&&!this.group._transformDone?t.globalAlpha=this.getObjectOpacity():t.globalAlpha*=this.opacity},_setStrokeStyles:function(t,e){var i=e.stroke;i&&(t.lineWidth=e.strokeWidth,t.lineCap=e.strokeLineCap,t.lineDashOffset=e.strokeDashOffset,t.lineJoin=e.strokeLineJoin,t.miterLimit=e.strokeMiterLimit,i.toLive?"percentage"===i.gradientUnits||i.gradientTransform||i.patternTransform?this._applyPatternForTransformedGradient(t,i):(t.strokeStyle=i.toLive(t,this),this._applyPatternGradientTransform(t,i)):t.strokeStyle=e.stroke)},_setFillStyles:function(t,e){var i=e.fill;i&&(i.toLive?(t.fillStyle=i.toLive(t,this),this._applyPatternGradientTransform(t,e.fill)):t.fillStyle=i)},_setClippingProperties:function(t){t.globalAlpha=1,t.strokeStyle="transparent",t.fillStyle="#000000"},_setLineDash:function(t,e){e&&0!==e.length&&(1&e.length&&e.push.apply(e,e),t.setLineDash(e))},_renderControls:function(t,i){var n,r,s,o=this.getViewportTransform(),l=this.calcTransformMatrix();r=void 0!==(i=i||{}).hasBorders?i.hasBorders:this.hasBorders,s=void 0!==i.hasControls?i.hasControls:this.hasControls,l=e.util.multiplyTransformMatrices(o,l),n=e.util.qrDecompose(l),t.save(),t.translate(n.translateX,n.translateY),t.lineWidth=1*this.borderScaleFactor,this.group||(t.globalAlpha=this.isMoving?this.borderOpacityWhenMoving:1),this.flipX&&(n.angle-=180),t.rotate(a(this.group?n.angle:this.angle)),i.forActiveSelection||this.group?r&&this.drawBordersInGroup(t,n,i):r&&this.drawBorders(t,i),s&&this.drawControls(t,i),t.restore()},_setShadow:function(t){if(this.shadow){var i,n=this.shadow,r=this.canvas,s=r&&r.viewportTransform[0]||1,a=r&&r.viewportTransform[3]||1;i=n.nonScaling?{scaleX:1,scaleY:1}:this.getObjectScaling(),r&&r._isRetinaScaling()&&(s*=e.devicePixelRatio,a*=e.devicePixelRatio),t.shadowColor=n.color,t.shadowBlur=n.blur*e.browserShadowBlurConstant*(s+a)*(i.scaleX+i.scaleY)/4,t.shadowOffsetX=n.offsetX*s*i.scaleX,t.shadowOffsetY=n.offsetY*a*i.scaleY}},_removeShadow:function(t){this.shadow&&(t.shadowColor="",t.shadowBlur=t.shadowOffsetX=t.shadowOffsetY=0)},_applyPatternGradientTransform:function(t,e){if(!e||!e.toLive)return{offsetX:0,offsetY:0};var i=e.gradientTransform||e.patternTransform,n=-this.width/2+e.offsetX||0,r=-this.height/2+e.offsetY||0;return"percentage"===e.gradientUnits?t.transform(this.width,0,0,this.height,n,r):t.transform(1,0,0,1,n,r),i&&t.transform(i[0],i[1],i[2],i[3],i[4],i[5]),{offsetX:n,offsetY:r}},_renderPaintInOrder:function(t){"stroke"===this.paintFirst?(this._renderStroke(t),this._renderFill(t)):(this._renderFill(t),this._renderStroke(t))},_render:function(){},_renderFill:function(t){this.fill&&(t.save(),this._setFillStyles(t,this),"evenodd"===this.fillRule?t.fill("evenodd"):t.fill(),t.restore())},_renderStroke:function(t){if(this.stroke&&0!==this.strokeWidth){if(this.shadow&&!this.shadow.affectStroke&&this._removeShadow(t),t.save(),this.strokeUniform&&this.group){var e=this.getObjectScaling();t.scale(1/e.scaleX,1/e.scaleY)}else this.strokeUniform&&t.scale(1/this.scaleX,1/this.scaleY);this._setLineDash(t,this.strokeDashArray),this._setStrokeStyles(t,this),t.stroke(),t.restore()}},_applyPatternForTransformedGradient:function(t,i){var n,r=this._limitCacheSize(this._getCacheCanvasDimensions()),s=e.util.createCanvasElement(),a=this.canvas.getRetinaScaling(),o=r.x/this.scaleX/a,l=r.y/this.scaleY/a;s.width=o,s.height=l,(n=s.getContext("2d")).beginPath(),n.moveTo(0,0),n.lineTo(o,0),n.lineTo(o,l),n.lineTo(0,l),n.closePath(),n.translate(o/2,l/2),n.scale(r.zoomX/this.scaleX/a,r.zoomY/this.scaleY/a),this._applyPatternGradientTransform(n,i),n.fillStyle=i.toLive(t),n.fill(),t.translate(-this.width/2-this.strokeWidth/2,-this.height/2-this.strokeWidth/2),t.scale(a*this.scaleX/r.zoomX,a*this.scaleY/r.zoomY),t.strokeStyle=n.createPattern(s,"no-repeat")},_findCenterFromElement:function(){return{x:this.left+this.width/2,y:this.top+this.height/2}},_assignTransformMatrixProps:function(){if(this.transformMatrix){var t=e.util.qrDecompose(this.transformMatrix);this.flipX=!1,this.flipY=!1,this.set("scaleX",t.scaleX),this.set("scaleY",t.scaleY),this.angle=t.angle,this.skewX=t.skewX,this.skewY=0}},_removeTransformMatrix:function(t){var i=this._findCenterFromElement();this.transformMatrix&&(this._assignTransformMatrixProps(),i=e.util.transformPoint(i,this.transformMatrix)),this.transformMatrix=null,t&&(this.scaleX*=t.scaleX,this.scaleY*=t.scaleY,this.cropX=t.cropX,this.cropY=t.cropY,i.x+=t.offsetLeft,i.y+=t.offsetTop,this.width=t.width,this.height=t.height),this.setPositionByOrigin(i,"center","center")},clone:function(t,i){var n=this.toObject(i);this.constructor.fromObject?this.constructor.fromObject(n,t):e.Object._fromObject("Object",n,t)},cloneAsImage:function(t,i){var n=this.toCanvasElement(i);return t&&t(new e.Image(n)),this},toCanvasElement:function(t){t||(t={});var i=e.util,n=i.saveObjectTransform(this),r=this.group,s=this.shadow,a=Math.abs,o=(t.multiplier||1)*(t.enableRetinaScaling?e.devicePixelRatio:1);delete this.group,t.withoutTransform&&i.resetObjectTransform(this),t.withoutShadow&&(this.shadow=null);var l,c,h,d,u=e.util.createCanvasElement(),f=this.getBoundingRect(!0,!0),p=this.shadow,g={x:0,y:0};p&&(c=p.blur,l=p.nonScaling?{scaleX:1,scaleY:1}:this.getObjectScaling(),g.x=2*Math.round(a(p.offsetX)+c)*a(l.scaleX),g.y=2*Math.round(a(p.offsetY)+c)*a(l.scaleY)),h=f.width+g.x,d=f.height+g.y,u.width=Math.ceil(h),u.height=Math.ceil(d);var m=new e.StaticCanvas(u,{enableRetinaScaling:!1,renderOnAddRemove:!1,skipOffscreen:!1});"jpeg"===t.format&&(m.backgroundColor="#fff"),this.setPositionByOrigin(new e.Point(m.width/2,m.height/2),"center","center");var v=this.canvas;m.add(this);var b=m.toCanvasElement(o||1,t);return this.shadow=s,this.set("canvas",v),r&&(this.group=r),this.set(n).setCoords(),m._objects=[],m.dispose(),m=null,b},toDataURL:function(t){return t||(t={}),e.util.toDataURL(this.toCanvasElement(t),t.format||"png",t.quality||1)},isType:function(t){return arguments.length>1?Array.from(arguments).includes(this.type):this.type===t},complexity:function(){return 1},toJSON:function(t){return this.toObject(t)},rotate:function(t){var e=("center"!==this.originX||"center"!==this.originY)&&this.centeredRotation;return e&&this._setOriginToCenter(),this.set("angle",t),e&&this._resetOrigin(),this},centerH:function(){return this.canvas&&this.canvas.centerObjectH(this),this},viewportCenterH:function(){return this.canvas&&this.canvas.viewportCenterObjectH(this),this},centerV:function(){return this.canvas&&this.canvas.centerObjectV(this),this},viewportCenterV:function(){return this.canvas&&this.canvas.viewportCenterObjectV(this),this},center:function(){return this.canvas&&this.canvas.centerObject(this),this},viewportCenter:function(){return this.canvas&&this.canvas.viewportCenterObject(this),this},getLocalPointer:function(t,i){i=i||this.canvas.getPointer(t);var n=new e.Point(i.x,i.y),r=this._getLeftTopCoords();return this.angle&&(n=e.util.rotatePoint(n,r,a(-this.angle))),{x:n.x-r.x,y:n.y-r.y}},_setupCompositeOperation:function(t){this.globalCompositeOperation&&(t.globalCompositeOperation=this.globalCompositeOperation)},dispose:function(){e.runningAnimations&&e.runningAnimations.cancelByTarget(this)}}),e.util.createAccessors&&e.util.createAccessors(e.Object),i(e.Object.prototype,e.Observable),e.Object.NUM_FRACTION_DIGITS=2,e.Object.ENLIVEN_PROPS=["clipPath"],e.Object._fromObject=function(t,i,r,s){var a=e[t];i=n(i,!0),e.util.enlivenPatterns([i.fill,i.stroke],(function(t){void 0!==t[0]&&(i.fill=t[0]),void 0!==t[1]&&(i.stroke=t[1]),e.util.enlivenObjectEnlivables(i,i,(function(){var t=s?new a(i[s],i):new a(i);r&&r(t)}))}))},e.Object.__uid=0)}(e),y=E.util.degreesToRadians,x={left:-.5,center:0,right:.5},w={top:-.5,center:0,bottom:.5},E.util.object.extend(E.Object.prototype,{translateToGivenOrigin:function(t,e,i,n,r){var s,a,o,l=t.x,c=t.y;return"string"==typeof e?e=x[e]:e-=.5,"string"==typeof n?n=x[n]:n-=.5,"string"==typeof i?i=w[i]:i-=.5,"string"==typeof r?r=w[r]:r-=.5,a=r-i,((s=n-e)||a)&&(o=this._getTransformedDimensions(),l=t.x+s*o.x,c=t.y+a*o.y),new E.Point(l,c)},translateToCenterPoint:function(t,e,i){var n=this.translateToGivenOrigin(t,e,i,"center","center");return this.angle?E.util.rotatePoint(n,t,y(this.angle)):n},translateToOriginPoint:function(t,e,i){var n=this.translateToGivenOrigin(t,"center","center",e,i);return this.angle?E.util.rotatePoint(n,t,y(this.angle)):n},getCenterPoint:function(){var t=new E.Point(this.left,this.top);return this.translateToCenterPoint(t,this.originX,this.originY)},getPointByOrigin:function(t,e){var i=this.getCenterPoint();return this.translateToOriginPoint(i,t,e)},toLocalPoint:function(t,e,i){var n,r,s=this.getCenterPoint();return n=void 0!==e&&void 0!==i?this.translateToGivenOrigin(s,"center","center",e,i):new E.Point(this.left,this.top),r=new E.Point(t.x,t.y),this.angle&&(r=E.util.rotatePoint(r,s,-y(this.angle))),r.subtractEquals(n)},setPositionByOrigin:function(t,e,i){var n=this.translateToCenterPoint(t,e,i),r=this.translateToOriginPoint(n,this.originX,this.originY);this.set("left",r.x),this.set("top",r.y)},adjustPosition:function(t){var e,i,n=y(this.angle),r=this.getScaledWidth(),s=E.util.cos(n)*r,a=E.util.sin(n)*r;e="string"==typeof this.originX?x[this.originX]:this.originX-.5,i="string"==typeof t?x[t]:t-.5,this.left+=s*(i-e),this.top+=a*(i-e),this.setCoords(),this.originX=t},_setOriginToCenter:function(){this._originalOriginX=this.originX,this._originalOriginY=this.originY;var t=this.getCenterPoint();this.originX="center",this.originY="center",this.left=t.x,this.top=t.y},_resetOrigin:function(){var t=this.translateToOriginPoint(this.getCenterPoint(),this._originalOriginX,this._originalOriginY);this.originX=this._originalOriginX,this.originY=this._originalOriginY,this.left=t.x,this.top=t.y,this._originalOriginX=null,this._originalOriginY=null},_getLeftTopCoords:function(){return this.translateToOriginPoint(this.getCenterPoint(),"left","top")}}),function(){var t=E.util,e=t.degreesToRadians,i=t.multiplyTransformMatrices,n=t.transformPoint;t.object.extend(E.Object.prototype,{oCoords:null,aCoords:null,lineCoords:null,ownMatrixCache:null,matrixCache:null,controls:{},_getCoords:function(t,e){return e?t?this.calcACoords():this.calcLineCoords():(this.aCoords&&this.lineCoords||this.setCoords(!0),t?this.aCoords:this.lineCoords)},getCoords:function(t,e){return i=this._getCoords(t,e),[new E.Point(i.tl.x,i.tl.y),new E.Point(i.tr.x,i.tr.y),new E.Point(i.br.x,i.br.y),new E.Point(i.bl.x,i.bl.y)];var i},intersectsWithRect:function(t,e,i,n){var r=this.getCoords(i,n);return"Intersection"===E.Intersection.intersectPolygonRectangle(r,t,e).status},intersectsWithObject:function(t,e,i){return"Intersection"===E.Intersection.intersectPolygonPolygon(this.getCoords(e,i),t.getCoords(e,i)).status||t.isContainedWithinObject(this,e,i)||this.isContainedWithinObject(t,e,i)},isContainedWithinObject:function(t,e,i){for(var n=this.getCoords(e,i),r=e?t.aCoords:t.lineCoords,s=0,a=t._getImageLines(r);s<4;s++)if(!t.containsPoint(n[s],a))return!1;return!0},isContainedWithinRect:function(t,e,i,n){var r=this.getBoundingRect(i,n);return r.left>=t.x&&r.left+r.width<=e.x&&r.top>=t.y&&r.top+r.height<=e.y},containsPoint:function(t,e,i,n){var r=this._getCoords(i,n),s=(e=e||this._getImageLines(r),this._findCrossPoints(t,e));return 0!==s&&s%2==1},isOnScreen:function(t){if(!this.canvas)return!1;var e=this.canvas.vptCoords.tl,i=this.canvas.vptCoords.br;return!!this.getCoords(!0,t).some((function(t){return t.x<=i.x&&t.x>=e.x&&t.y<=i.y&&t.y>=e.y}))||!!this.intersectsWithRect(e,i,!0,t)||this._containsCenterOfCanvas(e,i,t)},_containsCenterOfCanvas:function(t,e,i){var n={x:(t.x+e.x)/2,y:(t.y+e.y)/2};return!!this.containsPoint(n,null,!0,i)},isPartiallyOnScreen:function(t){if(!this.canvas)return!1;var e=this.canvas.vptCoords.tl,i=this.canvas.vptCoords.br;return!!this.intersectsWithRect(e,i,!0,t)||this.getCoords(!0,t).every((function(t){return(t.x>=i.x||t.x<=e.x)&&(t.y>=i.y||t.y<=e.y)}))&&this._containsCenterOfCanvas(e,i,t)},_getImageLines:function(t){return{topline:{o:t.tl,d:t.tr},rightline:{o:t.tr,d:t.br},bottomline:{o:t.br,d:t.bl},leftline:{o:t.bl,d:t.tl}}},_findCrossPoints:function(t,e){var i,n,r,s=0;for(var a in e)if(!((r=e[a]).o.y=t.y&&r.d.y>=t.y||(r.o.x===r.d.x&&r.o.x>=t.x?n=r.o.x:(i=(r.d.y-r.o.y)/(r.d.x-r.o.x),n=-(t.y-0*t.x-(r.o.y-i*r.o.x))/(0-i)),n>=t.x&&(s+=1),2!==s)))break;return s},getBoundingRect:function(e,i){var n=this.getCoords(e,i);return t.makeBoundingBoxFromPoints(n)},getScaledWidth:function(){return this._getTransformedDimensions().x},getScaledHeight:function(){return this._getTransformedDimensions().y},_constrainScale:function(t){return Math.abs(t)\n')}},toSVG:function(t){return this._createBaseSVGMarkup(this._toSVG(t),{reviver:t})},toClipPathSVG:function(t){return"\t"+this._createBaseClipPathSVGMarkup(this._toSVG(t),{reviver:t})},_createBaseClipPathSVGMarkup:function(t,e){var i=(e=e||{}).reviver,n=e.additionalTransform||"",r=[this.getSvgTransform(!0,n),this.getSvgCommons()].join(""),s=t.indexOf("COMMON_PARTS");return t[s]=r,i?i(t.join("")):t.join("")},_createBaseSVGMarkup:function(t,e){var i,n,r=(e=e||{}).noStyle,s=e.reviver,a=r?"":'style="'+this.getSvgStyles()+'" ',o=e.withShadow?'style="'+this.getSvgFilter()+'" ':"",l=this.clipPath,c=this.strokeUniform?'vector-effect="non-scaling-stroke" ':"",h=l&&l.absolutePositioned,d=this.stroke,u=this.fill,f=this.shadow,p=[],g=t.indexOf("COMMON_PARTS"),m=e.additionalTransform;return l&&(l.clipPathId="CLIPPATH_"+E.Object.__uid++,n='\n'+l.toClipPathSVG(s)+"\n"),h&&p.push("\n"),p.push("\n"),i=[a,c,r?"":this.addPaintOrder()," ",m?'transform="'+m+'" ':""].join(""),t[g]=i,u&&u.toLive&&p.push(u.toSVG(this)),d&&d.toLive&&p.push(d.toSVG(this)),f&&p.push(f.toSVG(this)),l&&p.push(n),p.push(t.join("")),p.push("\n"),h&&p.push("\n"),s?s(p.join("")):p.join("")},addPaintOrder:function(){return"fill"!==this.paintFirst?' paint-order="'+this.paintFirst+'" ':""}})}(),function(){var t=E.util.object.extend,e="stateProperties";function i(e,i,n){var r={};n.forEach((function(t){r[t]=e[t]})),t(e[i],r,!0)}function n(t,e,i){if(t===e)return!0;if(Array.isArray(t)){if(!Array.isArray(e)||t.length!==e.length)return!1;for(var r=0,s=t.length;r=0;l--)if(r=o[l],this.isControlVisible(r)&&(n=this._getImageLines(e?this.oCoords[r].touchCorner:this.oCoords[r].corner),0!==(i=this._findCrossPoints({x:s,y:a},n))&&i%2==1))return this.__corner=r,r;return!1},forEachControl:function(t){for(var e in this.controls)t(this.controls[e],e,this)},_setCornerCoords:function(){var t=this.oCoords;for(var e in t){var i=this.controls[e];t[e].corner=i.calcCornerCoords(this.angle,this.cornerSize,t[e].x,t[e].y,!1),t[e].touchCorner=i.calcCornerCoords(this.angle,this.touchCornerSize,t[e].x,t[e].y,!0)}},drawSelectionBackground:function(e){if(!this.selectionBackgroundColor||this.canvas&&!this.canvas.interactive||this.canvas&&this.canvas._activeObject!==this)return this;e.save();var i=this.getCenterPoint(),n=this._calculateCurrentDimensions(),r=this.canvas.viewportTransform;return e.translate(i.x,i.y),e.scale(1/r[0],1/r[3]),e.rotate(t(this.angle)),e.fillStyle=this.selectionBackgroundColor,e.fillRect(-n.x/2,-n.y/2,n.x,n.y),e.restore(),this},drawBorders:function(t,e){e=e||{};var i=this._calculateCurrentDimensions(),n=this.borderScaleFactor,r=i.x+n,s=i.y+n,a=void 0!==e.hasControls?e.hasControls:this.hasControls,o=!1;return t.save(),t.strokeStyle=e.borderColor||this.borderColor,this._setLineDash(t,e.borderDashArray||this.borderDashArray),t.strokeRect(-r/2,-s/2,r,s),a&&(t.beginPath(),this.forEachControl((function(e,i,n){e.withConnection&&e.getVisibility(n,i)&&(o=!0,t.moveTo(e.x*r,e.y*s),t.lineTo(e.x*r+e.offsetX,e.y*s+e.offsetY))})),o&&t.stroke()),t.restore(),this},drawBordersInGroup:function(t,e,i){i=i||{};var n=E.util.sizeAfterTransform(this.width,this.height,e),r=this.strokeWidth,s=this.strokeUniform,a=this.borderScaleFactor,o=n.x+r*(s?this.canvas.getZoom():e.scaleX)+a,l=n.y+r*(s?this.canvas.getZoom():e.scaleY)+a;return t.save(),this._setLineDash(t,i.borderDashArray||this.borderDashArray),t.strokeStyle=i.borderColor||this.borderColor,t.strokeRect(-o/2,-l/2,o,l),t.restore(),this},drawControls:function(t,e){e=e||{},t.save();var i,n,r=this.canvas.getRetinaScaling();return t.setTransform(r,0,0,r,0,0),t.strokeStyle=t.fillStyle=e.cornerColor||this.cornerColor,this.transparentCorners||(t.strokeStyle=e.cornerStrokeColor||this.cornerStrokeColor),this._setLineDash(t,e.cornerDashArray||this.cornerDashArray),this.setCoords(),this.group&&(i=this.group.calcTransformMatrix()),this.forEachControl((function(r,s,a){n=a.oCoords[s],r.getVisibility(a,s)&&(i&&(n=E.util.transformPoint(n,i)),r.render(t,n.x,n.y,e,a))})),t.restore(),this},isControlVisible:function(t){return this.controls[t]&&this.controls[t].getVisibility(this,t)},setControlVisible:function(t,e){return this._controlsVisibility||(this._controlsVisibility={}),this._controlsVisibility[t]=e,this},setControlsVisibility:function(t){for(var e in t||(t={}),t)this.setControlVisible(e,t[e]);return this},onDeselect:function(){},onSelect:function(){}})}(),E.util.object.extend(E.StaticCanvas.prototype,{FX_DURATION:500,fxCenterObjectH:function(t,e){var i=function(){},n=(e=e||{}).onComplete||i,r=e.onChange||i,s=this;return E.util.animate({target:this,startValue:t.left,endValue:this.getCenterPoint().x,duration:this.FX_DURATION,onChange:function(e){t.set("left",e),s.requestRenderAll(),r()},onComplete:function(){t.setCoords(),n()}})},fxCenterObjectV:function(t,e){var i=function(){},n=(e=e||{}).onComplete||i,r=e.onChange||i,s=this;return E.util.animate({target:this,startValue:t.top,endValue:this.getCenterPoint().y,duration:this.FX_DURATION,onChange:function(e){t.set("top",e),s.requestRenderAll(),r()},onComplete:function(){t.setCoords(),n()}})},fxRemove:function(t,e){var i=function(){},n=(e=e||{}).onComplete||i,r=e.onChange||i,s=this;return E.util.animate({target:this,startValue:t.opacity,endValue:0,duration:this.FX_DURATION,onChange:function(e){t.set("opacity",e),s.requestRenderAll(),r()},onComplete:function(){s.remove(t),n()}})}}),E.util.object.extend(E.Object.prototype,{animate:function(){if(arguments[0]&&"object"==typeof arguments[0]){var t,e,i=[],n=[];for(t in arguments[0])i.push(t);for(var r=0,s=i.length;r-1||r&&s.colorProperties.indexOf(r[1])>-1,o=r?this.get(r[0])[r[1]]:this.get(t);"from"in i||(i.from=o),a||(e=~e.indexOf("=")?o+parseFloat(e.replace("=","")):parseFloat(e));var l={target:this,startValue:i.from,endValue:e,byValue:i.by,easing:i.easing,duration:i.duration,abort:i.abort&&function(t,e,n){return i.abort.call(s,t,e,n)},onChange:function(e,a,o){r?s[r[0]][r[1]]=e:s.set(t,e),n||i.onChange&&i.onChange(e,a,o)},onComplete:function(t,e,r){n||(s.setCoords(),i.onComplete&&i.onComplete(t,e,r))}};return a?E.util.animateColor(l.startValue,l.endValue,l.duration,l):E.util.animate(l)}}),function(t){"use strict";var e=t.fabric||(t.fabric={}),i=e.util.object.extend,n=e.util.object.clone,r={x1:1,x2:1,y1:1,y2:1};function s(t,e){var i=t.origin,n=t.axis1,r=t.axis2,s=t.dimension,a=e.nearest,o=e.center,l=e.farthest;return function(){switch(this.get(i)){case a:return Math.min(this.get(n),this.get(r));case o:return Math.min(this.get(n),this.get(r))+.5*this.get(s);case l:return Math.max(this.get(n),this.get(r))}}}e.Line?e.warn("fabric.Line is already defined"):(e.Line=e.util.createClass(e.Object,{type:"line",x1:0,y1:0,x2:0,y2:0,cacheProperties:e.Object.prototype.cacheProperties.concat("x1","x2","y1","y2"),initialize:function(t,e){t||(t=[0,0,0,0]),this.callSuper("initialize",e),this.set("x1",t[0]),this.set("y1",t[1]),this.set("x2",t[2]),this.set("y2",t[3]),this._setWidthHeight(e)},_setWidthHeight:function(t){t||(t={}),this.width=Math.abs(this.x2-this.x1),this.height=Math.abs(this.y2-this.y1),this.left="left"in t?t.left:this._getLeftToOriginX(),this.top="top"in t?t.top:this._getTopToOriginY()},_set:function(t,e){return this.callSuper("_set",t,e),void 0!==r[t]&&this._setWidthHeight(),this},_getLeftToOriginX:s({origin:"originX",axis1:"x1",axis2:"x2",dimension:"width"},{nearest:"left",center:"center",farthest:"right"}),_getTopToOriginY:s({origin:"originY",axis1:"y1",axis2:"y2",dimension:"height"},{nearest:"top",center:"center",farthest:"bottom"}),_render:function(t){t.beginPath();var e=this.calcLinePoints();t.moveTo(e.x1,e.y1),t.lineTo(e.x2,e.y2),t.lineWidth=this.strokeWidth;var i=t.strokeStyle;t.strokeStyle=this.stroke||t.fillStyle,this.stroke&&this._renderStroke(t),t.strokeStyle=i},_findCenterFromElement:function(){return{x:(this.x1+this.x2)/2,y:(this.y1+this.y2)/2}},toObject:function(t){return i(this.callSuper("toObject",t),this.calcLinePoints())},_getNonTransformedDimensions:function(){var t=this.callSuper("_getNonTransformedDimensions");return"butt"===this.strokeLineCap&&(0===this.width&&(t.y-=this.strokeWidth),0===this.height&&(t.x-=this.strokeWidth)),t},calcLinePoints:function(){var t=this.x1<=this.x2?-1:1,e=this.y1<=this.y2?-1:1,i=t*this.width*.5,n=e*this.height*.5;return{x1:i,x2:t*this.width*-.5,y1:n,y2:e*this.height*-.5}},_toSVG:function(){var t=this.calcLinePoints();return["\n']}}),e.Line.ATTRIBUTE_NAMES=e.SHARED_ATTRIBUTES.concat("x1 y1 x2 y2".split(" ")),e.Line.fromElement=function(t,n,r){r=r||{};var s=e.parseAttributes(t,e.Line.ATTRIBUTE_NAMES),a=[s.x1||0,s.y1||0,s.x2||0,s.y2||0];n(new e.Line(a,i(s,r)))},e.Line.fromObject=function(t,i){var r=n(t,!0);r.points=[t.x1,t.y1,t.x2,t.y2],e.Object._fromObject("Line",r,(function(t){delete t.points,i&&i(t)}),"points")})}(e),function(t){"use strict";var e=t.fabric||(t.fabric={}),i=e.util.degreesToRadians;e.Circle?e.warn("fabric.Circle is already defined."):(e.Circle=e.util.createClass(e.Object,{type:"circle",radius:0,startAngle:0,endAngle:360,cacheProperties:e.Object.prototype.cacheProperties.concat("radius","startAngle","endAngle"),_set:function(t,e){return this.callSuper("_set",t,e),"radius"===t&&this.setRadius(e),this},toObject:function(t){return this.callSuper("toObject",["radius","startAngle","endAngle"].concat(t))},_toSVG:function(){var t,n=(this.endAngle-this.startAngle)%360;if(0===n)t=["\n'];else{var r=i(this.startAngle),s=i(this.endAngle),a=this.radius;t=['180?"1":"0")+" 1"," "+e.util.cos(s)*a+" "+e.util.sin(s)*a,'" ',"COMMON_PARTS"," />\n"]}return t},_render:function(t){t.beginPath(),t.arc(0,0,this.radius,i(this.startAngle),i(this.endAngle),!1),this._renderPaintInOrder(t)},getRadiusX:function(){return this.get("radius")*this.get("scaleX")},getRadiusY:function(){return this.get("radius")*this.get("scaleY")},setRadius:function(t){return this.radius=t,this.set("width",2*t).set("height",2*t)}}),e.Circle.ATTRIBUTE_NAMES=e.SHARED_ATTRIBUTES.concat("cx cy r".split(" ")),e.Circle.fromElement=function(t,i){var n,r=e.parseAttributes(t,e.Circle.ATTRIBUTE_NAMES);if(!("radius"in(n=r)&&n.radius>=0))throw new Error("value of `r` attribute is required and can not be negative");r.left=(r.left||0)-r.radius,r.top=(r.top||0)-r.radius,i(new e.Circle(r))},e.Circle.fromObject=function(t,i){e.Object._fromObject("Circle",t,i)})}(e),function(t){"use strict";var e=t.fabric||(t.fabric={});e.Triangle?e.warn("fabric.Triangle is already defined"):(e.Triangle=e.util.createClass(e.Object,{type:"triangle",width:100,height:100,_render:function(t){var e=this.width/2,i=this.height/2;t.beginPath(),t.moveTo(-e,i),t.lineTo(0,-i),t.lineTo(e,i),t.closePath(),this._renderPaintInOrder(t)},_toSVG:function(){var t=this.width/2,e=this.height/2;return["']}}),e.Triangle.fromObject=function(t,i){return e.Object._fromObject("Triangle",t,i)})}(e),function(t){"use strict";var e=t.fabric||(t.fabric={}),i=2*Math.PI;e.Ellipse?e.warn("fabric.Ellipse is already defined."):(e.Ellipse=e.util.createClass(e.Object,{type:"ellipse",rx:0,ry:0,cacheProperties:e.Object.prototype.cacheProperties.concat("rx","ry"),initialize:function(t){this.callSuper("initialize",t),this.set("rx",t&&t.rx||0),this.set("ry",t&&t.ry||0)},_set:function(t,e){switch(this.callSuper("_set",t,e),t){case"rx":this.rx=e,this.set("width",2*e);break;case"ry":this.ry=e,this.set("height",2*e)}return this},getRx:function(){return this.get("rx")*this.get("scaleX")},getRy:function(){return this.get("ry")*this.get("scaleY")},toObject:function(t){return this.callSuper("toObject",["rx","ry"].concat(t))},_toSVG:function(){return["\n']},_render:function(t){t.beginPath(),t.save(),t.transform(1,0,0,this.ry/this.rx,0,0),t.arc(0,0,this.rx,0,i,!1),t.restore(),this._renderPaintInOrder(t)}}),e.Ellipse.ATTRIBUTE_NAMES=e.SHARED_ATTRIBUTES.concat("cx cy rx ry".split(" ")),e.Ellipse.fromElement=function(t,i){var n=e.parseAttributes(t,e.Ellipse.ATTRIBUTE_NAMES);n.left=(n.left||0)-n.rx,n.top=(n.top||0)-n.ry,i(new e.Ellipse(n))},e.Ellipse.fromObject=function(t,i){e.Object._fromObject("Ellipse",t,i)})}(e),function(t){"use strict";var e=t.fabric||(t.fabric={}),i=e.util.object.extend;e.Rect?e.warn("fabric.Rect is already defined"):(e.Rect=e.util.createClass(e.Object,{stateProperties:e.Object.prototype.stateProperties.concat("rx","ry"),type:"rect",rx:0,ry:0,cacheProperties:e.Object.prototype.cacheProperties.concat("rx","ry"),initialize:function(t){this.callSuper("initialize",t),this._initRxRy()},_initRxRy:function(){this.rx&&!this.ry?this.ry=this.rx:this.ry&&!this.rx&&(this.rx=this.ry)},_render:function(t){var e=this.rx?Math.min(this.rx,this.width/2):0,i=this.ry?Math.min(this.ry,this.height/2):0,n=this.width,r=this.height,s=-this.width/2,a=-this.height/2,o=0!==e||0!==i,l=.4477152502;t.beginPath(),t.moveTo(s+e,a),t.lineTo(s+n-e,a),o&&t.bezierCurveTo(s+n-l*e,a,s+n,a+l*i,s+n,a+i),t.lineTo(s+n,a+r-i),o&&t.bezierCurveTo(s+n,a+r-l*i,s+n-l*e,a+r,s+n-e,a+r),t.lineTo(s+e,a+r),o&&t.bezierCurveTo(s+l*e,a+r,s,a+r-l*i,s,a+r-i),t.lineTo(s,a+i),o&&t.bezierCurveTo(s,a+l*i,s+l*e,a,s+e,a),t.closePath(),this._renderPaintInOrder(t)},toObject:function(t){return this.callSuper("toObject",["rx","ry"].concat(t))},_toSVG:function(){return["\n']}}),e.Rect.ATTRIBUTE_NAMES=e.SHARED_ATTRIBUTES.concat("x y rx ry width height".split(" ")),e.Rect.fromElement=function(t,n,r){if(!t)return n(null);r=r||{};var s=e.parseAttributes(t,e.Rect.ATTRIBUTE_NAMES);s.left=s.left||0,s.top=s.top||0,s.height=s.height||0,s.width=s.width||0;var a=new e.Rect(i(r?e.util.object.clone(r):{},s));a.visible=a.visible&&a.width>0&&a.height>0,n(a)},e.Rect.fromObject=function(t,i){return e.Object._fromObject("Rect",t,i)})}(e),function(t){"use strict";var e=t.fabric||(t.fabric={}),i=e.util.object.extend,n=e.util.array.min,r=e.util.array.max,s=e.util.toFixed,a=e.util.projectStrokeOnPoints;e.Polyline?e.warn("fabric.Polyline is already defined"):(e.Polyline=e.util.createClass(e.Object,{type:"polyline",points:null,exactBoundingBox:!1,cacheProperties:e.Object.prototype.cacheProperties.concat("points"),initialize:function(t,e){e=e||{},this.points=t||[],this.callSuper("initialize",e),this._setPositionDimensions(e)},_projectStrokeOnPoints:function(){return a(this.points,this,!0)},_setPositionDimensions:function(t){var e,i=this._calcDimensions(t),n=this.exactBoundingBox?this.strokeWidth:0;this.width=i.width-n,this.height=i.height-n,t.fromSVG||(e=this.translateToGivenOrigin({x:i.left-this.strokeWidth/2+n/2,y:i.top-this.strokeWidth/2+n/2},"left","top",this.originX,this.originY)),void 0===t.left&&(this.left=t.fromSVG?i.left:e.x),void 0===t.top&&(this.top=t.fromSVG?i.top:e.y),this.pathOffset={x:i.left+this.width/2+n/2,y:i.top+this.height/2+n/2}},_calcDimensions:function(){var t=this.exactBoundingBox?this._projectStrokeOnPoints():this.points,e=n(t,"x")||0,i=n(t,"y")||0;return{left:e,top:i,width:(r(t,"x")||0)-e,height:(r(t,"y")||0)-i}},toObject:function(t){return i(this.callSuper("toObject",t),{points:this.points.concat()})},_toSVG:function(){for(var t=[],i=this.pathOffset.x,n=this.pathOffset.y,r=e.Object.NUM_FRACTION_DIGITS,a=0,o=this.points.length;a\n']},commonRender:function(t){var e,i=this.points.length,n=this.pathOffset.x,r=this.pathOffset.y;if(!i||isNaN(this.points[i-1].y))return!1;t.beginPath(),t.moveTo(this.points[0].x-n,this.points[0].y-r);for(var s=0;s"},toObject:function(t){return r(this.callSuper("toObject",t),{path:this.path.map((function(t){return t.slice()}))})},toDatalessObject:function(t){var e=this.toObject(["sourcePath"].concat(t));return e.sourcePath&&delete e.path,e},_toSVG:function(){return["\n"]},_getOffsetTransform:function(){var t=e.Object.NUM_FRACTION_DIGITS;return" translate("+a(-this.pathOffset.x,t)+", "+a(-this.pathOffset.y,t)+")"},toClipPathSVG:function(t){var e=this._getOffsetTransform();return"\t"+this._createBaseClipPathSVGMarkup(this._toSVG(),{reviver:t,additionalTransform:e})},toSVG:function(t){var e=this._getOffsetTransform();return this._createBaseSVGMarkup(this._toSVG(),{reviver:t,additionalTransform:e})},complexity:function(){return this.path.length},_calcDimensions:function(){for(var t,r,s=[],a=[],o=0,l=0,c=0,h=0,d=0,u=this.path.length;d"},addWithUpdate:function(t){var i=!!this.group;return this._restoreObjectsState(),e.util.resetObjectTransform(this),t&&(i&&e.util.removeTransformFromObject(t,this.group.calcTransformMatrix()),this._objects.push(t),t.group=this,t._set("canvas",this.canvas)),this._calcBounds(),this._updateObjectsCoords(),this.dirty=!0,i?this.group.addWithUpdate():this.setCoords(),this},removeWithUpdate:function(t){return this._restoreObjectsState(),e.util.resetObjectTransform(this),this.remove(t),this._calcBounds(),this._updateObjectsCoords(),this.setCoords(),this.dirty=!0,this},_onObjectAdded:function(t){this.dirty=!0,t.group=this,t._set("canvas",this.canvas)},_onObjectRemoved:function(t){this.dirty=!0,delete t.group},_set:function(t,i){var n=this._objects.length;if(this.useSetOnGroup)for(;n--;)this._objects[n].setOnGroup(t,i);if("canvas"===t)for(;n--;)this._objects[n]._set(t,i);e.Object.prototype._set.call(this,t,i)},toObject:function(t){var i=this.includeDefaultValues,n=this._objects.filter((function(t){return!t.excludeFromExport})).map((function(e){var n=e.includeDefaultValues;e.includeDefaultValues=i;var r=e.toObject(t);return e.includeDefaultValues=n,r})),r=e.Object.prototype.toObject.call(this,t);return r.objects=n,r},toDatalessObject:function(t){var i,n=this.sourcePath;if(n)i=n;else{var r=this.includeDefaultValues;i=this._objects.map((function(e){var i=e.includeDefaultValues;e.includeDefaultValues=r;var n=e.toDatalessObject(t);return e.includeDefaultValues=i,n}))}var s=e.Object.prototype.toDatalessObject.call(this,t);return s.objects=i,s},render:function(t){this._transformDone=!0,this.callSuper("render",t),this._transformDone=!1},shouldCache:function(){var t=e.Object.prototype.shouldCache.call(this);if(t)for(var i=0,n=this._objects.length;i\n"],i=0,n=this._objects.length;i\n"),e},getSvgStyles:function(){var t=void 0!==this.opacity&&1!==this.opacity?"opacity: "+this.opacity+";":"",e=this.visible?"":" visibility: hidden;";return[t,this.getSvgFilter(),e].join("")},toClipPathSVG:function(t){for(var e=[],i=0,n=this._objects.length;i"},shouldCache:function(){return!1},isOnACache:function(){return!1},_renderControls:function(t,e,i){t.save(),t.globalAlpha=this.isMoving?this.borderOpacityWhenMoving:1,this.callSuper("_renderControls",t,e),void 0===(i=i||{}).hasControls&&(i.hasControls=!1),i.forActiveSelection=!0;for(var n=0,r=this._objects.length;n\n','\t\n',"\n"),a=' clip-path="url(#imageCrop_'+l+')" '}if(this.imageSmoothing||(o='" image-rendering="optimizeSpeed'),i.push("\t\n"),this.stroke||this.strokeDashArray){var c=this.fill;this.fill=null,t=["\t\n'],this.fill=c}return"fill"!==this.paintFirst?e.concat(t,i):e.concat(i,t)},getSrc:function(t){var e=t?this._element:this._originalElement;return e?e.toDataURL?e.toDataURL():this.srcFromAttribute?e.getAttribute("src"):e.src:this.src||""},setSrc:function(t,e,i){return E.util.loadImage(t,(function(t,n){this.setElement(t,i),this._setWidthHeight(),e&&e(this,n)}),this,i&&i.crossOrigin),this},toString:function(){return'#'},applyResizeFilters:function(){var t=this.resizeFilter,e=this.minimumScaleTrigger,i=this.getTotalObjectScaling(),n=i.scaleX,r=i.scaleY,s=this._filteredEl||this._originalElement;if(this.group&&this.set("dirty",!0),!t||n>e&&r>e)return this._element=s,this._filterScalingX=1,this._filterScalingY=1,this._lastScaleX=n,void(this._lastScaleY=r);E.filterBackend||(E.filterBackend=E.initFilterBackend());var a=E.util.createCanvasElement(),o=this._filteredEl?this.cacheKey+"_filtered":this.cacheKey,l=s.width,c=s.height;a.width=l,a.height=c,this._element=a,this._lastScaleX=t.scaleX=n,this._lastScaleY=t.scaleY=r,E.filterBackend.applyFilters([t],s,l,c,this._element,o),this._filterScalingX=a.width/this._originalElement.width,this._filterScalingY=a.height/this._originalElement.height},applyFilters:function(t){if(t=(t=t||this.filters||[]).filter((function(t){return t&&!t.isNeutralState()})),this.set("dirty",!0),this.removeTexture(this.cacheKey+"_filtered"),0===t.length)return this._element=this._originalElement,this._filteredEl=null,this._filterScalingX=1,this._filterScalingY=1,this;var e=this._originalElement,i=e.naturalWidth||e.width,n=e.naturalHeight||e.height;if(this._element===this._originalElement){var r=E.util.createCanvasElement();r.width=i,r.height=n,this._element=r,this._filteredEl=r}else this._element=this._filteredEl,this._filteredEl.getContext("2d").clearRect(0,0,i,n),this._lastScaleX=1,this._lastScaleY=1;return E.filterBackend||(E.filterBackend=E.initFilterBackend()),E.filterBackend.applyFilters(t,this._originalElement,i,n,this._element,this.cacheKey),this._originalElement.width===this._element.width&&this._originalElement.height===this._element.height||(this._filterScalingX=this._element.width/this._originalElement.width,this._filterScalingY=this._element.height/this._originalElement.height),this},_render:function(t){E.util.setImageSmoothing(t,this.imageSmoothing),!0!==this.isMoving&&this.resizeFilter&&this._needsResize()&&this.applyResizeFilters(),this._stroke(t),this._renderPaintInOrder(t)},drawCacheOnCanvas:function(t){E.util.setImageSmoothing(t,this.imageSmoothing),E.Object.prototype.drawCacheOnCanvas.call(this,t)},shouldCache:function(){return this.needsItsOwnCache()},_renderFill:function(t){var e=this._element;if(e){var i=this._filterScalingX,n=this._filterScalingY,r=this.width,s=this.height,a=Math.min,o=Math.max,l=o(this.cropX,0),c=o(this.cropY,0),h=e.naturalWidth||e.width,d=e.naturalHeight||e.height,u=l*i,f=c*n,p=a(r*i,h-u),g=a(s*n,d-f),m=-r/2,v=-s/2,b=a(r,h/i-l),y=a(s,d/n-c);e&&t.drawImage(e,u,f,p,g,m,v,b,y)}},_needsResize:function(){var t=this.getTotalObjectScaling();return t.scaleX!==this._lastScaleX||t.scaleY!==this._lastScaleY},_resetWidthHeight:function(){this.set(this.getOriginalSize())},_initElement:function(t,e){this.setElement(E.util.getById(t),e),E.util.addClass(this.getElement(),E.Image.CSS_CANVAS)},_initConfig:function(t){t||(t={}),this.setOptions(t),this._setWidthHeight(t)},_initFilters:function(t,e){t&&t.length?E.util.enlivenObjects(t,(function(t){e&&e(t)}),"fabric.Image.filters"):e&&e()},_setWidthHeight:function(t){t||(t={});var e=this.getElement();this.width=t.width||e.naturalWidth||e.width||0,this.height=t.height||e.naturalHeight||e.height||0},parsePreserveAspectRatioAttribute:function(){var t,e=E.util.parsePreserveAspectRatioAttribute(this.preserveAspectRatio||""),i=this._element.width,n=this._element.height,r=1,s=1,a=0,o=0,l=0,c=0,h=this.width,d=this.height,u={width:h,height:d};return!e||"none"===e.alignX&&"none"===e.alignY?(r=h/i,s=d/n):("meet"===e.meetOrSlice&&(t=(h-i*(r=s=E.util.findScaleToFit(this._element,u)))/2,"Min"===e.alignX&&(a=-t),"Max"===e.alignX&&(a=t),t=(d-n*s)/2,"Min"===e.alignY&&(o=-t),"Max"===e.alignY&&(o=t)),"slice"===e.meetOrSlice&&(t=i-h/(r=s=E.util.findScaleToCover(this._element,u)),"Mid"===e.alignX&&(l=t/2),"Max"===e.alignX&&(l=t),t=n-d/s,"Mid"===e.alignY&&(c=t/2),"Max"===e.alignY&&(c=t),i=h/r,n=d/s)),{width:i,height:n,scaleX:r,scaleY:s,offsetLeft:a,offsetTop:o,cropX:l,cropY:c}}}),E.Image.CSS_CANVAS="canvas-img",E.Image.prototype.getSvgSrc=E.Image.prototype.getSrc,E.Image.fromObject=function(t,e){var i=E.util.object.clone(t);E.util.loadImage(i.src,(function(t,n){n?e&&e(null,!0):E.Image.prototype._initFilters.call(i,i.filters,(function(n){i.filters=n||[],E.Image.prototype._initFilters.call(i,[i.resizeFilter],(function(n){i.resizeFilter=n[0],E.util.enlivenObjectEnlivables(i,i,(function(){var n=new E.Image(t,i);e(n,!1)}))}))}))}),null,i.crossOrigin)},E.Image.fromURL=function(t,e,i){E.util.loadImage(t,(function(t,n){e&&e(new E.Image(t,i),n)}),null,i&&i.crossOrigin)},E.Image.ATTRIBUTE_NAMES=E.SHARED_ATTRIBUTES.concat("x y width height preserveAspectRatio xlink:href crossOrigin image-rendering".split(" ")),E.Image.fromElement=function(t,i,n){var r=E.parseAttributes(t,E.Image.ATTRIBUTE_NAMES);E.Image.fromURL(r["xlink:href"],i,e(n?E.util.object.clone(n):{},r))})}(e),E.util.object.extend(E.Object.prototype,{_getAngleValueForStraighten:function(){var t=this.angle%360;return t>0?90*Math.round((t-1)/90):90*Math.round(t/90)},straighten:function(){return this.rotate(this._getAngleValueForStraighten())},fxStraighten:function(t){var e=function(){},i=(t=t||{}).onComplete||e,n=t.onChange||e,r=this;return E.util.animate({target:this,startValue:this.get("angle"),endValue:this._getAngleValueForStraighten(),duration:this.FX_DURATION,onChange:function(t){r.rotate(t),n()},onComplete:function(){r.setCoords(),i()}})}}),E.util.object.extend(E.StaticCanvas.prototype,{straightenObject:function(t){return t.straighten(),this.requestRenderAll(),this},fxStraightenObject:function(t){return t.fxStraighten({onChange:this.requestRenderAllBound})}}),function(){"use strict";function t(t,e){var i="precision "+e+" float;\nvoid main(){}",n=t.createShader(t.FRAGMENT_SHADER);return t.shaderSource(n,i),t.compileShader(n),!!t.getShaderParameter(n,t.COMPILE_STATUS)}function e(t){t&&t.tileSize&&(this.tileSize=t.tileSize),this.setupGLContext(this.tileSize,this.tileSize),this.captureGPUInfo()}E.isWebglSupported=function(e){if(E.isLikelyNode)return!1;e=e||E.WebglFilterBackend.prototype.tileSize;var i=document.createElement("canvas"),n=i.getContext("webgl")||i.getContext("experimental-webgl"),r=!1;if(n){E.maxTextureSize=n.getParameter(n.MAX_TEXTURE_SIZE),r=E.maxTextureSize>=e;for(var s=["highp","mediump","lowp"],a=0;a<3;a++)if(t(n,s[a])){E.webGlPrecision=s[a];break}}return this.isSupported=r,r},E.WebglFilterBackend=e,e.prototype={tileSize:2048,resources:{},setupGLContext:function(t,e){this.dispose(),this.createWebGLCanvas(t,e),this.aPosition=new Float32Array([0,0,0,1,1,0,1,1]),this.chooseFastestCopyGLTo2DMethod(t,e)},chooseFastestCopyGLTo2DMethod:function(t,e){var i,n=void 0!==window.performance;try{new ImageData(1,1),i=!0}catch(t){i=!1}var r="undefined"!=typeof ArrayBuffer,s="undefined"!=typeof Uint8ClampedArray;if(n&&i&&r&&s){var a=E.util.createCanvasElement(),o=new ArrayBuffer(t*e*4);if(E.forceGLPutImageData)return this.imageBuffer=o,void(this.copyGLTo2D=I);var l,c,h={imageBuffer:o,destinationWidth:t,destinationHeight:e,targetCanvas:a};a.width=t,a.height=e,l=window.performance.now(),O.call(h,this.gl,h),c=window.performance.now()-l,l=window.performance.now(),I.call(h,this.gl,h),c>window.performance.now()-l?(this.imageBuffer=o,this.copyGLTo2D=I):this.copyGLTo2D=O}},createWebGLCanvas:function(t,e){var i=E.util.createCanvasElement();i.width=t,i.height=e;var n={alpha:!0,premultipliedAlpha:!1,depth:!1,stencil:!1,antialias:!1},r=i.getContext("webgl",n);r||(r=i.getContext("experimental-webgl",n)),r&&(r.clearColor(0,0,0,0),this.canvas=i,this.gl=r)},applyFilters:function(t,e,i,n,r,s){var a,o=this.gl;s&&(a=this.getCachedTexture(s,e));var l={originalWidth:e.width||e.originalWidth,originalHeight:e.height||e.originalHeight,sourceWidth:i,sourceHeight:n,destinationWidth:i,destinationHeight:n,context:o,sourceTexture:this.createTexture(o,i,n,!a&&e),targetTexture:this.createTexture(o,i,n),originalTexture:a||this.createTexture(o,i,n,!a&&e),passes:t.length,webgl:!0,aPosition:this.aPosition,programCache:this.programCache,pass:0,filterBackend:this,targetCanvas:r},c=o.createFramebuffer();return o.bindFramebuffer(o.FRAMEBUFFER,c),t.forEach((function(t){t&&t.applyTo(l)})),function(t){var e=t.targetCanvas,i=e.width,n=e.height,r=t.destinationWidth,s=t.destinationHeight;i===r&&n===s||(e.width=r,e.height=s)}(l),this.copyGLTo2D(o,l),o.bindTexture(o.TEXTURE_2D,null),o.deleteTexture(l.sourceTexture),o.deleteTexture(l.targetTexture),o.deleteFramebuffer(c),r.getContext("2d").setTransform(1,0,0,1,0,0),l},dispose:function(){this.canvas&&(this.canvas=null,this.gl=null),this.clearWebGLCaches()},clearWebGLCaches:function(){this.programCache={},this.textureCache={}},createTexture:function(t,e,i,n,r){var s=t.createTexture();return t.bindTexture(t.TEXTURE_2D,s),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,r||t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,r||t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),n?t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,n):t.texImage2D(t.TEXTURE_2D,0,t.RGBA,e,i,0,t.RGBA,t.UNSIGNED_BYTE,null),s},getCachedTexture:function(t,e){if(this.textureCache[t])return this.textureCache[t];var i=this.createTexture(this.gl,e.width,e.height,e);return this.textureCache[t]=i,i},evictCachesForKey:function(t){this.textureCache[t]&&(this.gl.deleteTexture(this.textureCache[t]),delete this.textureCache[t])},copyGLTo2D:O,captureGPUInfo:function(){if(this.gpuInfo)return this.gpuInfo;var t=this.gl,e={renderer:"",vendor:""};if(!t)return e;var i=t.getExtension("WEBGL_debug_renderer_info");if(i){var n=t.getParameter(i.UNMASKED_RENDERER_WEBGL),r=t.getParameter(i.UNMASKED_VENDOR_WEBGL);n&&(e.renderer=n.toLowerCase()),r&&(e.vendor=r.toLowerCase())}return this.gpuInfo=e,e}}}(),function(){"use strict";var t=function(){};function e(){}E.Canvas2dFilterBackend=e,e.prototype={evictCachesForKey:t,dispose:t,clearWebGLCaches:t,resources:{},applyFilters:function(t,e,i,n,r){var s=r.getContext("2d");s.drawImage(e,0,0,i,n);var a={sourceWidth:i,sourceHeight:n,imageData:s.getImageData(0,0,i,n),originalEl:e,originalImageData:s.getImageData(0,0,i,n),canvasEl:r,ctx:s,filterBackend:this};return t.forEach((function(t){t.applyTo(a)})),a.imageData.width===i&&a.imageData.height===n||(r.width=a.imageData.width,r.height=a.imageData.height),s.putImageData(a.imageData,0,0),a}}}(),E.Image=E.Image||{},E.Image.filters=E.Image.filters||{},E.Image.filters.BaseFilter=E.util.createClass({type:"BaseFilter",vertexSource:"attribute vec2 aPosition;\nvarying vec2 vTexCoord;\nvoid main() {\nvTexCoord = aPosition;\ngl_Position = vec4(aPosition * 2.0 - 1.0, 0.0, 1.0);\n}",fragmentSource:"precision highp float;\nvarying vec2 vTexCoord;\nuniform sampler2D uTexture;\nvoid main() {\ngl_FragColor = texture2D(uTexture, vTexCoord);\n}",initialize:function(t){t&&this.setOptions(t)},setOptions:function(t){for(var e in t)this[e]=t[e]},createProgram:function(t,e,i){e=e||this.fragmentSource,i=i||this.vertexSource,"highp"!==E.webGlPrecision&&(e=e.replace(/precision highp float/g,"precision "+E.webGlPrecision+" float"));var n=t.createShader(t.VERTEX_SHADER);if(t.shaderSource(n,i),t.compileShader(n),!t.getShaderParameter(n,t.COMPILE_STATUS))throw new Error("Vertex shader compile error for "+this.type+": "+t.getShaderInfoLog(n));var r=t.createShader(t.FRAGMENT_SHADER);if(t.shaderSource(r,e),t.compileShader(r),!t.getShaderParameter(r,t.COMPILE_STATUS))throw new Error("Fragment shader compile error for "+this.type+": "+t.getShaderInfoLog(r));var s=t.createProgram();if(t.attachShader(s,n),t.attachShader(s,r),t.linkProgram(s),!t.getProgramParameter(s,t.LINK_STATUS))throw new Error('Shader link error for "${this.type}" '+t.getProgramInfoLog(s));var a=this.getAttributeLocations(t,s),o=this.getUniformLocations(t,s)||{};return o.uStepW=t.getUniformLocation(s,"uStepW"),o.uStepH=t.getUniformLocation(s,"uStepH"),{program:s,attributeLocations:a,uniformLocations:o}},getAttributeLocations:function(t,e){return{aPosition:t.getAttribLocation(e,"aPosition")}},getUniformLocations:function(){return{}},sendAttributeData:function(t,e,i){var n=e.aPosition,r=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,r),t.enableVertexAttribArray(n),t.vertexAttribPointer(n,2,t.FLOAT,!1,0,0),t.bufferData(t.ARRAY_BUFFER,i,t.STATIC_DRAW)},_setupFrameBuffer:function(t){var e,i,n=t.context;t.passes>1?(e=t.destinationWidth,i=t.destinationHeight,t.sourceWidth===e&&t.sourceHeight===i||(n.deleteTexture(t.targetTexture),t.targetTexture=t.filterBackend.createTexture(n,e,i)),n.framebufferTexture2D(n.FRAMEBUFFER,n.COLOR_ATTACHMENT0,n.TEXTURE_2D,t.targetTexture,0)):(n.bindFramebuffer(n.FRAMEBUFFER,null),n.finish())},_swapTextures:function(t){t.passes--,t.pass++;var e=t.targetTexture;t.targetTexture=t.sourceTexture,t.sourceTexture=e},isNeutralState:function(){var t=this.mainParameter,e=E.Image.filters[this.type].prototype;if(t){if(Array.isArray(e[t])){for(var i=e[t].length;i--;)if(this[t][i]!==e[t][i])return!1;return!0}return e[t]===this[t]}return!1},applyTo:function(t){t.webgl?(this._setupFrameBuffer(t),this.applyToWebGL(t),this._swapTextures(t)):this.applyTo2d(t)},retrieveShader:function(t){return t.programCache.hasOwnProperty(this.type)||(t.programCache[this.type]=this.createProgram(t.context)),t.programCache[this.type]},applyToWebGL:function(t){var e=t.context,i=this.retrieveShader(t);0===t.pass&&t.originalTexture?e.bindTexture(e.TEXTURE_2D,t.originalTexture):e.bindTexture(e.TEXTURE_2D,t.sourceTexture),e.useProgram(i.program),this.sendAttributeData(e,i.attributeLocations,t.aPosition),e.uniform1f(i.uniformLocations.uStepW,1/t.sourceWidth),e.uniform1f(i.uniformLocations.uStepH,1/t.sourceHeight),this.sendUniformData(e,i.uniformLocations),e.viewport(0,0,t.destinationWidth,t.destinationHeight),e.drawArrays(e.TRIANGLE_STRIP,0,4)},bindAdditionalTexture:function(t,e,i){t.activeTexture(i),t.bindTexture(t.TEXTURE_2D,e),t.activeTexture(t.TEXTURE0)},unbindAdditionalTexture:function(t,e){t.activeTexture(e),t.bindTexture(t.TEXTURE_2D,null),t.activeTexture(t.TEXTURE0)},getMainParameter:function(){return this[this.mainParameter]},setMainParameter:function(t){this[this.mainParameter]=t},sendUniformData:function(){},createHelpLayer:function(t){if(!t.helpLayer){var e=document.createElement("canvas");e.width=t.sourceWidth,e.height=t.sourceHeight,t.helpLayer=e}},toObject:function(){var t={type:this.type},e=this.mainParameter;return e&&(t[e]=this[e]),t},toJSON:function(){return this.toObject()}}),E.Image.filters.BaseFilter.fromObject=function(t,e){var i=new E.Image.filters[t.type](t);return e&&e(i),i},function(t){"use strict";var e=t.fabric||(t.fabric={}),i=e.Image.filters,n=e.util.createClass;i.ColorMatrix=n(i.BaseFilter,{type:"ColorMatrix",fragmentSource:"precision highp float;\nuniform sampler2D uTexture;\nvarying vec2 vTexCoord;\nuniform mat4 uColorMatrix;\nuniform vec4 uConstants;\nvoid main() {\nvec4 color = texture2D(uTexture, vTexCoord);\ncolor *= uColorMatrix;\ncolor += uConstants;\ngl_FragColor = color;\n}",matrix:[1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0],mainParameter:"matrix",colorsOnly:!0,initialize:function(t){this.callSuper("initialize",t),this.matrix=this.matrix.slice(0)},applyTo2d:function(t){var e,i,n,r,s,a=t.imageData.data,o=a.length,l=this.matrix,c=this.colorsOnly;for(s=0;s=x||a<0||a>=y||(l=4*(o*y+a),c=m[f*v+u],e+=g[l]*c,i+=g[l+1]*c,n+=g[l+2]*c,S||(r+=g[l+3]*c));C[s]=e,C[s+1]=i,C[s+2]=n,C[s+3]=S?g[s+3]:r}t.imageData=w},getUniformLocations:function(t,e){return{uMatrix:t.getUniformLocation(e,"uMatrix"),uOpaque:t.getUniformLocation(e,"uOpaque"),uHalfSize:t.getUniformLocation(e,"uHalfSize"),uSize:t.getUniformLocation(e,"uSize")}},sendUniformData:function(t,e){t.uniform1fv(e.uMatrix,this.matrix)},toObject:function(){return i(this.callSuper("toObject"),{opaque:this.opaque,matrix:this.matrix})}}),e.Image.filters.Convolute.fromObject=e.Image.filters.BaseFilter.fromObject}(e),function(t){"use strict";var e=t.fabric||(t.fabric={}),i=e.Image.filters,n=e.util.createClass;i.Grayscale=n(i.BaseFilter,{type:"Grayscale",fragmentSource:{average:"precision highp float;\nuniform sampler2D uTexture;\nvarying vec2 vTexCoord;\nvoid main() {\nvec4 color = texture2D(uTexture, vTexCoord);\nfloat average = (color.r + color.b + color.g) / 3.0;\ngl_FragColor = vec4(average, average, average, color.a);\n}",lightness:"precision highp float;\nuniform sampler2D uTexture;\nuniform int uMode;\nvarying vec2 vTexCoord;\nvoid main() {\nvec4 col = texture2D(uTexture, vTexCoord);\nfloat average = (max(max(col.r, col.g),col.b) + min(min(col.r, col.g),col.b)) / 2.0;\ngl_FragColor = vec4(average, average, average, col.a);\n}",luminosity:"precision highp float;\nuniform sampler2D uTexture;\nuniform int uMode;\nvarying vec2 vTexCoord;\nvoid main() {\nvec4 col = texture2D(uTexture, vTexCoord);\nfloat average = 0.21 * col.r + 0.72 * col.g + 0.07 * col.b;\ngl_FragColor = vec4(average, average, average, col.a);\n}"},mode:"average",mainParameter:"mode",applyTo2d:function(t){var e,i,n=t.imageData.data,r=n.length,s=this.mode;for(e=0;ec[0]&&r>c[1]&&s>c[2]&&n 0.0) {\n"+this.fragmentSource[t]+"}\n}"},retrieveShader:function(t){var e,i=this.type+"_"+this.mode;return t.programCache.hasOwnProperty(i)||(e=this.buildSource(this.mode),t.programCache[i]=this.createProgram(t.context,e)),t.programCache[i]},applyTo2d:function(t){var i,n,r,s,a,o,l,c=t.imageData.data,h=c.length,d=1-this.alpha;i=(l=new e.Color(this.color).getSource())[0]*this.alpha,n=l[1]*this.alpha,r=l[2]*this.alpha;for(var u=0;u=t||e<=-t)return 0;if(e<1.1920929e-7&&e>-1.1920929e-7)return 1;var i=(e*=Math.PI)/t;return o(e)/e*o(i)/i}},applyTo2d:function(t){var e=t.imageData,i=this.scaleX,n=this.scaleY;this.rcpScaleX=1/i,this.rcpScaleY=1/n;var r,s=e.width,o=e.height,l=a(s*i),c=a(o*n);"sliceHack"===this.resizeType?r=this.sliceByTwo(t,s,o,l,c):"hermite"===this.resizeType?r=this.hermiteFastResize(t,s,o,l,c):"bilinear"===this.resizeType?r=this.bilinearFiltering(t,s,o,l,c):"lanczos"===this.resizeType&&(r=this.lanczosResize(t,s,o,l,c)),t.imageData=r},sliceByTwo:function(t,i,r,s,a){var o,l,c=t.imageData,h=.5,d=!1,u=!1,f=i*h,p=r*h,g=e.filterBackend.resources,m=0,v=0,b=i,y=0;for(g.sliceByTwo||(g.sliceByTwo=document.createElement("canvas")),((o=g.sliceByTwo).width<1.5*i||o.height=e)){_=n(1e3*s(T-w.x)),x[_]||(x[_]={});for(var L=C.y-y;L<=C.y+y;L++)L<0||L>=a||(D=n(1e3*s(L-w.y)),x[_][D]||(x[_][D]=f(r(i(_*m,2)+i(D*v,2))/1e3)),(E=x[_][D])>0&&(O+=E,I+=E*h[A=4*(L*e+T)],k+=E*h[A+1],M+=E*h[A+2],P+=E*h[A+3]))}u[A=4*(S*o+l)]=I/O,u[A+1]=k/O,u[A+2]=M/O,u[A+3]=P/O}return++l1&&D<-1||(y=2*D*D*D-3*D*D+1)>0&&(E+=y*f[3+(_=4*(P+O*e))],w+=y,f[_+3]<255&&(y=y*f[_+3]/250),C+=y*f[_],S+=y*f[_+1],T+=y*f[_+2],x+=y)}g[b]=C/x,g[b+1]=S/x,g[b+2]=T/x,g[b+3]=E/w}return p},toObject:function(){return{type:this.type,scaleX:this.scaleX,scaleY:this.scaleY,resizeType:this.resizeType,lanczosLobes:this.lanczosLobes}}}),e.Image.filters.Resize.fromObject=e.Image.filters.BaseFilter.fromObject}(e),function(t){"use strict";var e=t.fabric||(t.fabric={}),i=e.Image.filters,n=e.util.createClass;i.Contrast=n(i.BaseFilter,{type:"Contrast",fragmentSource:"precision highp float;\nuniform sampler2D uTexture;\nuniform float uContrast;\nvarying vec2 vTexCoord;\nvoid main() {\nvec4 color = texture2D(uTexture, vTexCoord);\nfloat contrastF = 1.015 * (uContrast + 1.0) / (1.0 * (1.015 - uContrast));\ncolor.rgb = contrastF * (color.rgb - 0.5) + 0.5;\ngl_FragColor = color;\n}",contrast:0,mainParameter:"contrast",applyTo2d:function(t){if(0!==this.contrast){var e,i=t.imageData.data,n=i.length,r=Math.floor(255*this.contrast),s=259*(r+255)/(255*(259-r));for(e=0;e1&&(e=1/this.aspectRatio):this.aspectRatio<1&&(e=this.aspectRatio),t=e*this.blur*.12,this.horizontal?i[0]=t:i[1]=t,i}}),i.Blur.fromObject=e.Image.filters.BaseFilter.fromObject}(e),function(t){"use strict";var e=t.fabric||(t.fabric={}),i=e.Image.filters,n=e.util.createClass;i.Gamma=n(i.BaseFilter,{type:"Gamma",fragmentSource:"precision highp float;\nuniform sampler2D uTexture;\nuniform vec3 uGamma;\nvarying vec2 vTexCoord;\nvoid main() {\nvec4 color = texture2D(uTexture, vTexCoord);\nvec3 correction = (1.0 / uGamma);\ncolor.r = pow(color.r, correction.r);\ncolor.g = pow(color.g, correction.g);\ncolor.b = pow(color.b, correction.b);\ngl_FragColor = color;\ngl_FragColor.rgb *= color.a;\n}",gamma:[1,1,1],mainParameter:"gamma",initialize:function(t){this.gamma=[1,1,1],i.BaseFilter.prototype.initialize.call(this,t)},applyTo2d:function(t){var e,i=t.imageData.data,n=this.gamma,r=i.length,s=1/n[0],a=1/n[1],o=1/n[2];for(this.rVals||(this.rVals=new Uint8Array(256),this.gVals=new Uint8Array(256),this.bVals=new Uint8Array(256)),e=0,r=256;e'},_getCacheCanvasDimensions:function(){var t=this.callSuper("_getCacheCanvasDimensions"),e=this.fontSize;return t.width+=e*t.zoomX,t.height+=e*t.zoomY,t},_render:function(t){var e=this.path;e&&!e.isNotVisible()&&e._render(t),this._setTextStyles(t),this._renderTextLinesBackground(t),this._renderTextDecoration(t,"underline"),this._renderText(t),this._renderTextDecoration(t,"overline"),this._renderTextDecoration(t,"linethrough")},_renderText:function(t){"stroke"===this.paintFirst?(this._renderTextStroke(t),this._renderTextFill(t)):(this._renderTextFill(t),this._renderTextStroke(t))},_setTextStyles:function(t,e,i){if(t.textBaseline="alphabetical",this.path)switch(this.pathAlign){case"center":t.textBaseline="middle";break;case"ascender":t.textBaseline="top";break;case"descender":t.textBaseline="bottom"}t.font=this._getFontDeclaration(e,i)},calcTextWidth:function(){for(var t=this.getLineWidth(0),e=1,i=this._textLines.length;et&&(t=n)}return t},_renderTextLine:function(t,e,i,n,r,s){this._renderChars(t,e,i,n,r,s)},_renderTextLinesBackground:function(t){if(this.textBackgroundColor||this.styleHas("textBackgroundColor")){for(var e,i,n,r,s,a,o,l=t.fillStyle,c=this._getLeftOffset(),h=this._getTopOffset(),d=0,u=0,f=this.path,p=0,g=this._textLines.length;p=0:io?d%=o:d<0&&(d+=o),this._setGraphemeOnPath(d,s,a),d+=s.kernedWidth}return{width:l,numOfSpaces:0}},_setGraphemeOnPath:function(t,i,n){var r=t+i.kernedWidth/2,s=this.path,a=e.util.getPointOnPath(s.path,r,s.segmentsInfo);i.renderLeft=a.x-n.x,i.renderTop=a.y-n.y,i.angle=a.angle+("right"===this.pathSide?Math.PI:0)},_getGraphemeBox:function(t,e,i,n,r){var s,a=this.getCompleteStyleDeclaration(e,i),o=n?this.getCompleteStyleDeclaration(e,i-1):{},l=this._measureChar(t,a,n,o),c=l.kernedWidth,h=l.width;0!==this.charSpacing&&(h+=s=this._getWidthOfCharSpacing(),c+=s);var d={width:h,left:0,height:a.fontSize,kernedWidth:c,deltaY:a.deltaY};if(i>0&&!r){var u=this.__charBounds[e][i-1];d.left=u.left+u.width+l.kernedWidth-l.width}return d},getHeightOfLine:function(t){if(this.__lineHeights[t])return this.__lineHeights[t];for(var e=this._textLines[t],i=this.getHeightOfChar(t,0),n=1,r=e.length;n0){var O=b+s+d;"rtl"===this.direction&&(O=this.width-O-u),c&&v&&(t.fillStyle=v,t.fillRect(O,h+C*n+a,u,this.fontSize/15)),d=f.left,u=f.width,c=p,v=m,n=r,a=o}else u+=f.kernedWidth;O=b+s+d,"rtl"===this.direction&&(O=this.width-O-u),t.fillStyle=m,p&&m&&t.fillRect(O,h+C*n+a,u-w,this.fontSize/15),y+=i}else y+=i;this._removeShadow(t)}},_getFontDeclaration:function(t,i){var n=t||this,r=this.fontFamily,s=e.Text.genericFonts.indexOf(r.toLowerCase())>-1,a=void 0===r||r.indexOf("'")>-1||r.indexOf(",")>-1||r.indexOf('"')>-1||s?n.fontFamily:'"'+n.fontFamily+'"';return[e.isLikelyNode?n.fontWeight:n.fontStyle,e.isLikelyNode?n.fontStyle:n.fontWeight,i?this.CACHE_FONT_SIZE+"px":n.fontSize+"px",a].join(" ")},render:function(t){this.visible&&(this.canvas&&this.canvas.skipOffscreen&&!this.group&&!this.isOnScreen()||(this._shouldClearDimensionCache()&&this.initDimensions(),this.callSuper("render",t)))},_splitTextIntoLines:function(t){for(var i=t.split(this._reNewline),n=new Array(i.length),r=["\n"],s=[],a=0;a-1&&(t.underline=!0),t.textDecoration.indexOf("line-through")>-1&&(t.linethrough=!0),t.textDecoration.indexOf("overline")>-1&&(t.overline=!0),delete t.textDecoration)}E.IText=E.util.createClass(E.Text,E.Observable,{type:"i-text",selectionStart:0,selectionEnd:0,selectionColor:"rgba(17,119,255,0.3)",isEditing:!1,editable:!0,editingBorderColor:"rgba(102,153,255,0.25)",cursorWidth:2,cursorColor:"",cursorDelay:1e3,cursorDuration:600,caching:!0,hiddenTextareaContainer:null,_reSpace:/\s|\n/,_currentCursorOpacity:0,_selectionDirection:null,_abortCursorAnimation:!1,__widthOfSpace:[],inCompositionMode:!1,initialize:function(t,e){this.callSuper("initialize",t,e),this.initBehavior()},setSelectionStart:function(t){t=Math.max(t,0),this._updateAndFire("selectionStart",t)},setSelectionEnd:function(t){t=Math.min(t,this.text.length),this._updateAndFire("selectionEnd",t)},_updateAndFire:function(t,e){this[t]!==e&&(this._fireSelectionChanged(),this[t]=e),this._updateTextarea()},_fireSelectionChanged:function(){this.fire("selection:changed"),this.canvas&&this.canvas.fire("text:selection:changed",{target:this})},initDimensions:function(){this.isEditing&&this.initDelayedCursor(),this.clearContextTop(),this.callSuper("initDimensions")},render:function(t){this.clearContextTop(),this.callSuper("render",t),this.cursorOffsetCache={},this.renderCursorOrSelection()},_render:function(t){this.callSuper("_render",t)},clearContextTop:function(t){if(this.isEditing&&this.canvas&&this.canvas.contextTop){var e=this.canvas.contextTop,i=this.canvas.viewportTransform;e.save(),e.transform(i[0],i[1],i[2],i[3],i[4],i[5]),this.transform(e),this._clearTextArea(e),t||e.restore()}},renderCursorOrSelection:function(){if(this.isEditing&&this.canvas&&this.canvas.contextTop){var t=this._getCursorBoundaries(),e=this.canvas.contextTop;this.clearContextTop(!0),this.selectionStart===this.selectionEnd?this.renderCursor(t,e):this.renderSelection(t,e),e.restore()}},_clearTextArea:function(t){var e=this.width+4,i=this.height+4;t.clearRect(-e/2,-i/2,e,i)},_getCursorBoundaries:function(t){void 0===t&&(t=this.selectionStart);var e=this._getLeftOffset(),i=this._getTopOffset(),n=this._getCursorBoundariesOffsets(t);return{left:e,top:i,leftOffset:n.left,topOffset:n.top}},_getCursorBoundariesOffsets:function(t){if(this.cursorOffsetCache&&"top"in this.cursorOffsetCache)return this.cursorOffsetCache;var e,i,n,r,s=0,a=0,o=this.get2DCursorLocation(t);n=o.charIndex,i=o.lineIndex;for(var l=0;l0?a:0)},"rtl"===this.direction&&(r.left*=-1),this.cursorOffsetCache=r,this.cursorOffsetCache},renderCursor:function(t,e){var i=this.get2DCursorLocation(),n=i.lineIndex,r=i.charIndex>0?i.charIndex-1:0,s=this.getValueOfPropertyAt(n,r,"fontSize"),a=this.scaleX*this.canvas.getZoom(),o=this.cursorWidth/a,l=t.topOffset,c=this.getValueOfPropertyAt(n,r,"deltaY");l+=(1-this._fontSizeFraction)*this.getHeightOfLine(n)/this.lineHeight-s*(1-this._fontSizeFraction),this.inCompositionMode&&this.renderSelection(t,e),e.fillStyle=this.cursorColor||this.getValueOfPropertyAt(n,r,"fill"),e.globalAlpha=this.__isMousedown?1:this._currentCursorOpacity,e.fillRect(t.left+t.leftOffset-o/2,l+t.top+c,o,s)},renderSelection:function(t,e){for(var i=this.inCompositionMode?this.hiddenTextarea.selectionStart:this.selectionStart,n=this.inCompositionMode?this.hiddenTextarea.selectionEnd:this.selectionEnd,r=-1!==this.textAlign.indexOf("justify"),s=this.get2DCursorLocation(i),a=this.get2DCursorLocation(n),o=s.lineIndex,l=a.lineIndex,c=s.charIndex<0?0:s.charIndex,h=a.charIndex<0?0:a.charIndex,d=o;d<=l;d++){var u,f=this._getLineLeftOffset(d)||0,p=this.getHeightOfLine(d),g=0,m=0;if(d===o&&(g=this.__charBounds[o][c].left),d>=o&&d1)&&(p/=this.lineHeight);var b=t.left+f+g,y=m-g,x=p,w=0;this.inCompositionMode?(e.fillStyle=this.compositionColor||"black",x=1,w=p):e.fillStyle=this.selectionColor,"rtl"===this.direction&&(b=this.width-b-y),e.fillRect(b,t.top+t.topOffset+w,y,x),t.topOffset+=u}},getCurrentCharFontSize:function(){var t=this._getCurrentCharIndex();return this.getValueOfPropertyAt(t.l,t.c,"fontSize")},getCurrentCharColor:function(){var t=this._getCurrentCharIndex();return this.getValueOfPropertyAt(t.l,t.c,"fill")},_getCurrentCharIndex:function(){var t=this.get2DCursorLocation(this.selectionStart,!0),e=t.charIndex>0?t.charIndex-1:0;return{l:t.lineIndex,c:e}}}),E.IText.fromObject=function(e,i){var n=E.util.stylesFromArray(e.styles,e.text),r=Object.assign({},e,{styles:n});if(t(r),r.styles)for(var s in r.styles)for(var a in r.styles[s])t(r.styles[s][a]);E.Object._fromObject("IText",r,i,"text")}}(),C=E.util.object.clone,E.util.object.extend(E.IText.prototype,{initBehavior:function(){this.initAddedHandler(),this.initRemovedHandler(),this.initCursorSelectionHandlers(),this.initDoubleClickSimulation(),this.mouseMoveHandler=this.mouseMoveHandler.bind(this)},onDeselect:function(){this.isEditing&&this.exitEditing(),this.selected=!1},initAddedHandler:function(){var t=this;this.on("added",(function(){var e=t.canvas;e&&(e._hasITextHandlers||(e._hasITextHandlers=!0,t._initCanvasHandlers(e)),e._iTextInstances=e._iTextInstances||[],e._iTextInstances.push(t))}))},initRemovedHandler:function(){var t=this;this.on("removed",(function(){var e=t.canvas;e&&(e._iTextInstances=e._iTextInstances||[],E.util.removeFromArray(e._iTextInstances,t),0===e._iTextInstances.length&&(e._hasITextHandlers=!1,t._removeCanvasHandlers(e)))}))},_initCanvasHandlers:function(t){t._mouseUpITextHandler=function(){t._iTextInstances&&t._iTextInstances.forEach((function(t){t.__isMousedown=!1}))},t.on("mouse:up",t._mouseUpITextHandler)},_removeCanvasHandlers:function(t){t.off("mouse:up",t._mouseUpITextHandler)},_tick:function(){this._currentTickState=this._animateCursor(this,1,this.cursorDuration,"_onTickComplete")},_animateCursor:function(t,e,i,n){var r;return r={isAborted:!1,abort:function(){this.isAborted=!0}},t.animate("_currentCursorOpacity",e,{duration:i,onComplete:function(){r.isAborted||t[n]()},onChange:function(){t.canvas&&t.selectionStart===t.selectionEnd&&t.renderCursorOrSelection()},abort:function(){return r.isAborted}}),r},_onTickComplete:function(){var t=this;this._cursorTimeout1&&clearTimeout(this._cursorTimeout1),this._cursorTimeout1=setTimeout((function(){t._currentTickCompleteState=t._animateCursor(t,0,this.cursorDuration/2,"_tick")}),100)},initDelayedCursor:function(t){var e=this,i=t?0:this.cursorDelay;this.abortCursorAnimation(),this._currentCursorOpacity=1,this._cursorTimeout2=setTimeout((function(){e._tick()}),i)},abortCursorAnimation:function(){var t=this._currentTickState||this._currentTickCompleteState,e=this.canvas;this._currentTickState&&this._currentTickState.abort(),this._currentTickCompleteState&&this._currentTickCompleteState.abort(),clearTimeout(this._cursorTimeout1),clearTimeout(this._cursorTimeout2),this._currentCursorOpacity=0,t&&e&&e.clearContext(e.contextTop||e.contextContainer)},selectAll:function(){return this.selectionStart=0,this.selectionEnd=this._text.length,this._fireSelectionChanged(),this._updateTextarea(),this},getSelectedText:function(){return this._text.slice(this.selectionStart,this.selectionEnd).join("")},findWordBoundaryLeft:function(t){var e=0,i=t-1;if(this._reSpace.test(this._text[i]))for(;this._reSpace.test(this._text[i]);)e++,i--;for(;/\S/.test(this._text[i])&&i>-1;)e++,i--;return t-e},findWordBoundaryRight:function(t){var e=0,i=t;if(this._reSpace.test(this._text[i]))for(;this._reSpace.test(this._text[i]);)e++,i++;for(;/\S/.test(this._text[i])&&i-1;)e++,i--;return t-e},findLineBoundaryRight:function(t){for(var e=0,i=t;!/\n/.test(this._text[i])&&i0&&nthis.__selectionStartOnMouseDown?(this.selectionStart=this.__selectionStartOnMouseDown,this.selectionEnd=e):(this.selectionStart=e,this.selectionEnd=this.__selectionStartOnMouseDown),this.selectionStart===i&&this.selectionEnd===n||(this.restartCursorIfNeeded(),this._fireSelectionChanged(),this._updateTextarea(),this.renderCursorOrSelection()))}},_setEditingProps:function(){this.hoverCursor="text",this.canvas&&(this.canvas.defaultCursor=this.canvas.moveCursor="text"),this.borderColor=this.editingBorderColor,this.hasControls=this.selectable=!1,this.lockMovementX=this.lockMovementY=!0},fromStringToGraphemeSelection:function(t,e,i){var n=i.slice(0,t),r=E.util.string.graphemeSplit(n).length;if(t===e)return{selectionStart:r,selectionEnd:r};var s=i.slice(t,e);return{selectionStart:r,selectionEnd:r+E.util.string.graphemeSplit(s).length}},fromGraphemeToStringSelection:function(t,e,i){var n=i.slice(0,t).join("").length;return t===e?{selectionStart:n,selectionEnd:n}:{selectionStart:n,selectionEnd:n+i.slice(t,e).join("").length}},_updateTextarea:function(){if(this.cursorOffsetCache={},this.hiddenTextarea){if(!this.inCompositionMode){var t=this.fromGraphemeToStringSelection(this.selectionStart,this.selectionEnd,this._text);this.hiddenTextarea.selectionStart=t.selectionStart,this.hiddenTextarea.selectionEnd=t.selectionEnd}this.updateTextareaPosition()}},updateFromTextArea:function(){if(this.hiddenTextarea){this.cursorOffsetCache={},this.text=this.hiddenTextarea.value,this._shouldClearDimensionCache()&&(this.initDimensions(),this.setCoords());var t=this.fromStringToGraphemeSelection(this.hiddenTextarea.selectionStart,this.hiddenTextarea.selectionEnd,this.hiddenTextarea.value);this.selectionEnd=this.selectionStart=t.selectionEnd,this.inCompositionMode||(this.selectionStart=t.selectionStart),this.updateTextareaPosition()}},updateTextareaPosition:function(){if(this.selectionStart===this.selectionEnd){var t=this._calcTextareaPosition();this.hiddenTextarea.style.left=t.left,this.hiddenTextarea.style.top=t.top}},_calcTextareaPosition:function(){if(!this.canvas)return{x:1,y:1};var t=this.inCompositionMode?this.compositionStart:this.selectionStart,e=this._getCursorBoundaries(t),i=this.get2DCursorLocation(t),n=i.lineIndex,r=i.charIndex,s=this.getValueOfPropertyAt(n,r,"fontSize")*this.lineHeight,a=e.leftOffset,o=this.calcTransformMatrix(),l={x:e.left+a,y:e.top+e.topOffset+s},c=this.canvas.getRetinaScaling(),h=this.canvas.upperCanvasEl,d=h.width/c,u=h.height/c,f=d-s,p=u-s,g=h.clientWidth/d,m=h.clientHeight/u;return l=E.util.transformPoint(l,o),(l=E.util.transformPoint(l,this.canvas.viewportTransform)).x*=g,l.y*=m,l.x<0&&(l.x=0),l.x>f&&(l.x=f),l.y<0&&(l.y=0),l.y>p&&(l.y=p),l.x+=this.canvas._offset.left,l.y+=this.canvas._offset.top,{left:l.x+"px",top:l.y+"px",fontSize:s+"px",charHeight:s}},_saveEditingProps:function(){this._savedProps={hasControls:this.hasControls,borderColor:this.borderColor,lockMovementX:this.lockMovementX,lockMovementY:this.lockMovementY,hoverCursor:this.hoverCursor,selectable:this.selectable,defaultCursor:this.canvas&&this.canvas.defaultCursor,moveCursor:this.canvas&&this.canvas.moveCursor}},_restoreEditingProps:function(){this._savedProps&&(this.hoverCursor=this._savedProps.hoverCursor,this.hasControls=this._savedProps.hasControls,this.borderColor=this._savedProps.borderColor,this.selectable=this._savedProps.selectable,this.lockMovementX=this._savedProps.lockMovementX,this.lockMovementY=this._savedProps.lockMovementY,this.canvas&&(this.canvas.defaultCursor=this._savedProps.defaultCursor,this.canvas.moveCursor=this._savedProps.moveCursor))},exitEditing:function(){var t=this._textBeforeEdit!==this.text,e=this.hiddenTextarea;return this.selected=!1,this.isEditing=!1,this.selectionEnd=this.selectionStart,e&&(e.blur&&e.blur(),e.parentNode&&e.parentNode.removeChild(e)),this.hiddenTextarea=null,this.abortCursorAnimation(),this._restoreEditingProps(),this._currentCursorOpacity=0,this._shouldClearDimensionCache()&&(this.initDimensions(),this.setCoords()),this.fire("editing:exited"),t&&this.fire("modified"),this.canvas&&(this.canvas.off("mouse:move",this.mouseMoveHandler),this.canvas.fire("text:editing:exited",{target:this}),t&&this.canvas.fire("object:modified",{target:this})),this},_removeExtraneousStyles:function(){for(var t in this.styles)this._textLines[t]||delete this.styles[t]},removeStyleFromTo:function(t,e){var i,n,r=this.get2DCursorLocation(t,!0),s=this.get2DCursorLocation(e,!0),a=r.lineIndex,o=r.charIndex,l=s.lineIndex,c=s.charIndex;if(a!==l){if(this.styles[a])for(i=o;i=c&&(n[h-u]=n[d],delete n[d])}},shiftLineStyles:function(t,e){var i=C(this.styles);for(var n in this.styles){var r=parseInt(n,10);r>t&&(this.styles[r+e]=i[r],i[r-e]||delete this.styles[r])}},restartCursorIfNeeded:function(){this._currentTickState&&!this._currentTickState.isAborted&&this._currentTickCompleteState&&!this._currentTickCompleteState.isAborted||this.initDelayedCursor()},insertNewlineStyleObject:function(t,e,i,n){var r,s={},a=!1,o=this._unwrappedTextLines[t].length===e;for(var l in i||(i=1),this.shiftLineStyles(t,i),this.styles[t]&&(r=this.styles[t][0===e?e:e-1]),this.styles[t]){var c=parseInt(l,10);c>=e&&(a=!0,s[c-e]=this.styles[t][l],o&&0===e||delete this.styles[t][l])}var h=!1;for(a&&!o&&(this.styles[t+i]=s,h=!0),h&&i--;i>0;)n&&n[i-1]?this.styles[t+i]={0:C(n[i-1])}:r?this.styles[t+i]={0:C(r)}:delete this.styles[t+i],i--;this._forceClearCache=!0},insertCharStyleObject:function(t,e,i,n){this.styles||(this.styles={});var r=this.styles[t],s=r?C(r):{};for(var a in i||(i=1),s){var o=parseInt(a,10);o>=e&&(r[o+i]=s[o],s[o-i]||delete r[o])}if(this._forceClearCache=!0,n)for(;i--;)Object.keys(n[i]).length&&(this.styles[t]||(this.styles[t]={}),this.styles[t][e+i]=C(n[i]));else if(r)for(var l=r[e?e-1:1];l&&i--;)this.styles[t][e+i]=C(l)},insertNewStyleBlock:function(t,e,i){for(var n=this.get2DCursorLocation(e,!0),r=[0],s=0,a=0;a0&&(this.insertCharStyleObject(n.lineIndex,n.charIndex,r[0],i),i=i&&i.slice(r[0]+1)),s&&this.insertNewlineStyleObject(n.lineIndex,n.charIndex+r[0],s),a=1;a0?this.insertCharStyleObject(n.lineIndex+a,0,r[a],i):i&&this.styles[n.lineIndex+a]&&i[0]&&(this.styles[n.lineIndex+a][0]=i[0]),i=i&&i.slice(r[a]+1);r[a]>0&&this.insertCharStyleObject(n.lineIndex+a,0,r[a],i)},setSelectionStartEndWithShift:function(t,e,i){i<=t?(e===t?this._selectionDirection="left":"right"===this._selectionDirection&&(this._selectionDirection="left",this.selectionEnd=t),this.selectionStart=i):i>t&&it?this.selectionStart=t:this.selectionStart<0&&(this.selectionStart=0),this.selectionEnd>t?this.selectionEnd=t:this.selectionEnd<0&&(this.selectionEnd=0)}}),E.util.object.extend(E.IText.prototype,{initDoubleClickSimulation:function(){this.__lastClickTime=+new Date,this.__lastLastClickTime=+new Date,this.__lastPointer={},this.on("mousedown",this.onMouseDown)},onMouseDown:function(t){if(this.canvas){this.__newClickTime=+new Date;var e=t.pointer;this.isTripleClick(e)&&(this.fire("tripleclick",t),this._stopEvent(t.e)),this.__lastLastClickTime=this.__lastClickTime,this.__lastClickTime=this.__newClickTime,this.__lastPointer=e,this.__lastIsEditing=this.isEditing,this.__lastSelected=this.selected}},isTripleClick:function(t){return this.__newClickTime-this.__lastClickTime<500&&this.__lastClickTime-this.__lastLastClickTime<500&&this.__lastPointer.x===t.x&&this.__lastPointer.y===t.y},_stopEvent:function(t){t.preventDefault&&t.preventDefault(),t.stopPropagation&&t.stopPropagation()},initCursorSelectionHandlers:function(){this.initMousedownHandler(),this.initMouseupHandler(),this.initClicks()},doubleClickHandler:function(t){this.isEditing&&this.selectWord(this.getSelectionStartFromPointer(t.e))},tripleClickHandler:function(t){this.isEditing&&this.selectLine(this.getSelectionStartFromPointer(t.e))},initClicks:function(){this.on("mousedblclick",this.doubleClickHandler),this.on("tripleclick",this.tripleClickHandler)},_mouseDownHandler:function(t){!this.canvas||!this.editable||t.e.button&&1!==t.e.button||(this.__isMousedown=!0,this.selected&&(this.inCompositionMode=!1,this.setCursorByClick(t.e)),this.isEditing&&(this.__selectionStartOnMouseDown=this.selectionStart,this.selectionStart===this.selectionEnd&&this.abortCursorAnimation(),this.renderCursorOrSelection()))},_mouseDownHandlerBefore:function(t){!this.canvas||!this.editable||t.e.button&&1!==t.e.button||(this.selected=this===this.canvas._activeObject)},initMousedownHandler:function(){this.on("mousedown",this._mouseDownHandler),this.on("mousedown:before",this._mouseDownHandlerBefore)},initMouseupHandler:function(){this.on("mouseup",this.mouseUpHandler)},mouseUpHandler:function(t){if(this.__isMousedown=!1,!(!this.editable||this.group||t.transform&&t.transform.actionPerformed||t.e.button&&1!==t.e.button)){if(this.canvas){var e=this.canvas._activeObject;if(e&&e!==this)return}this.__lastSelected&&!this.__corner?(this.selected=!1,this.__lastSelected=!1,this.enterEditing(t.e),this.selectionStart===this.selectionEnd?this.initDelayedCursor(!0):this.renderCursorOrSelection()):this.selected=!0}},setCursorByClick:function(t){var e=this.getSelectionStartFromPointer(t),i=this.selectionStart,n=this.selectionEnd;t.shiftKey?this.setSelectionStartEndWithShift(i,n,e):(this.selectionStart=e,this.selectionEnd=e),this.isEditing&&(this._fireSelectionChanged(),this._updateTextarea())},getSelectionStartFromPointer:function(t){for(var e,i=this.getLocalPointer(t),n=0,r=0,s=0,a=0,o=0,l=0,c=this._textLines.length;l0&&(a+=this._textLines[l-1].length+this.missingNewlineOffset(l-1));r=this._getLineLeftOffset(o)*this.scaleX,e=this._textLines[o],"rtl"===this.direction&&(i.x=this.width*this.scaleX-i.x+r);for(var h=0,d=e.length;hs||a<0?0:1);return this.flipX&&(o=r-o),o>this._text.length&&(o=this._text.length),o}}),E.util.object.extend(E.IText.prototype,{initHiddenTextarea:function(){this.hiddenTextarea=E.document.createElement("textarea"),this.hiddenTextarea.setAttribute("autocapitalize","off"),this.hiddenTextarea.setAttribute("autocorrect","off"),this.hiddenTextarea.setAttribute("autocomplete","off"),this.hiddenTextarea.setAttribute("spellcheck","false"),this.hiddenTextarea.setAttribute("data-fabric-hiddentextarea",""),this.hiddenTextarea.setAttribute("wrap","off");var t=this._calcTextareaPosition();this.hiddenTextarea.style.cssText="position: absolute; top: "+t.top+"; left: "+t.left+"; z-index: -999; opacity: 0; width: 1px; height: 1px; font-size: 1px; padding-top: "+t.fontSize+";",this.hiddenTextareaContainer?this.hiddenTextareaContainer.appendChild(this.hiddenTextarea):E.document.body.appendChild(this.hiddenTextarea),E.util.addListener(this.hiddenTextarea,"keydown",this.onKeyDown.bind(this)),E.util.addListener(this.hiddenTextarea,"keyup",this.onKeyUp.bind(this)),E.util.addListener(this.hiddenTextarea,"input",this.onInput.bind(this)),E.util.addListener(this.hiddenTextarea,"copy",this.copy.bind(this)),E.util.addListener(this.hiddenTextarea,"cut",this.copy.bind(this)),E.util.addListener(this.hiddenTextarea,"paste",this.paste.bind(this)),E.util.addListener(this.hiddenTextarea,"compositionstart",this.onCompositionStart.bind(this)),E.util.addListener(this.hiddenTextarea,"compositionupdate",this.onCompositionUpdate.bind(this)),E.util.addListener(this.hiddenTextarea,"compositionend",this.onCompositionEnd.bind(this)),!this._clickHandlerInitialized&&this.canvas&&(E.util.addListener(this.canvas.upperCanvasEl,"click",this.onClick.bind(this)),this._clickHandlerInitialized=!0)},keysMap:{9:"exitEditing",27:"exitEditing",33:"moveCursorUp",34:"moveCursorDown",35:"moveCursorRight",36:"moveCursorLeft",37:"moveCursorLeft",38:"moveCursorUp",39:"moveCursorRight",40:"moveCursorDown"},keysMapRtl:{9:"exitEditing",27:"exitEditing",33:"moveCursorUp",34:"moveCursorDown",35:"moveCursorLeft",36:"moveCursorRight",37:"moveCursorRight",38:"moveCursorUp",39:"moveCursorLeft",40:"moveCursorDown"},ctrlKeysMapUp:{67:"copy",88:"cut"},ctrlKeysMapDown:{65:"selectAll"},onClick:function(){this.hiddenTextarea&&this.hiddenTextarea.focus()},onKeyDown:function(t){if(this.isEditing){var e="rtl"===this.direction?this.keysMapRtl:this.keysMap;if(t.keyCode in e)this[e[t.keyCode]](t);else{if(!(t.keyCode in this.ctrlKeysMapDown)||!t.ctrlKey&&!t.metaKey)return;this[this.ctrlKeysMapDown[t.keyCode]](t)}t.stopImmediatePropagation(),t.preventDefault(),t.keyCode>=33&&t.keyCode<=40?(this.inCompositionMode=!1,this.clearContextTop(),this.renderCursorOrSelection()):this.canvas&&this.canvas.requestRenderAll()}},onKeyUp:function(t){!this.isEditing||this._copyDone||this.inCompositionMode?this._copyDone=!1:t.keyCode in this.ctrlKeysMapUp&&(t.ctrlKey||t.metaKey)&&(this[this.ctrlKeysMapUp[t.keyCode]](t),t.stopImmediatePropagation(),t.preventDefault(),this.canvas&&this.canvas.requestRenderAll())},onInput:function(t){var e=this.fromPaste;if(this.fromPaste=!1,t&&t.stopPropagation(),this.isEditing){var i,n,r,s,a,o=this._splitTextIntoLines(this.hiddenTextarea.value).graphemeText,l=this._text.length,c=o.length,h=c-l,d=this.selectionStart,u=this.selectionEnd,f=d!==u;if(""===this.hiddenTextarea.value)return this.styles={},this.updateFromTextArea(),this.fire("changed"),void(this.canvas&&(this.canvas.fire("text:changed",{target:this}),this.canvas.requestRenderAll()));var p=this.fromStringToGraphemeSelection(this.hiddenTextarea.selectionStart,this.hiddenTextarea.selectionEnd,this.hiddenTextarea.value),g=d>p.selectionStart;f?(i=this._text.slice(d,u),h+=u-d):c0&&(n+=(i=this.__charBounds[t][e-1]).left+i.width),n},getDownCursorOffset:function(t,e){var i=this._getSelectionForOffset(t,e),n=this.get2DCursorLocation(i),r=n.lineIndex;if(r===this._textLines.length-1||t.metaKey||34===t.keyCode)return this._text.length-i;var s=n.charIndex,a=this._getWidthBeforeCursor(r,s),o=this._getIndexOnLine(r+1,a);return this._textLines[r].slice(s).length+o+1+this.missingNewlineOffset(r)},_getSelectionForOffset:function(t,e){return t.shiftKey&&this.selectionStart!==this.selectionEnd&&e?this.selectionEnd:this.selectionStart},getUpCursorOffset:function(t,e){var i=this._getSelectionForOffset(t,e),n=this.get2DCursorLocation(i),r=n.lineIndex;if(0===r||t.metaKey||33===t.keyCode)return-i;var s=n.charIndex,a=this._getWidthBeforeCursor(r,s),o=this._getIndexOnLine(r-1,a),l=this._textLines[r].slice(0,s),c=this.missingNewlineOffset(r-1);return-this._textLines[r-1].length+o-l.length+(1-c)},_getIndexOnLine:function(t,e){for(var i,n,r=this._textLines[t],s=this._getLineLeftOffset(t),a=0,o=0,l=r.length;oe){n=!0;var c=s-i,h=s,d=Math.abs(c-e);a=Math.abs(h-e)=this._text.length&&this.selectionEnd>=this._text.length||this._moveCursorUpOrDown("Down",t)},moveCursorUp:function(t){0===this.selectionStart&&0===this.selectionEnd||this._moveCursorUpOrDown("Up",t)},_moveCursorUpOrDown:function(t,e){var i=this["get"+t+"CursorOffset"](e,"right"===this._selectionDirection);e.shiftKey?this.moveCursorWithShift(i):this.moveCursorWithoutShift(i),0!==i&&(this.setSelectionInBoundaries(),this.abortCursorAnimation(),this._currentCursorOpacity=1,this.initDelayedCursor(),this._fireSelectionChanged(),this._updateTextarea())},moveCursorWithShift:function(t){var e="left"===this._selectionDirection?this.selectionStart+t:this.selectionEnd+t;return this.setSelectionStartEndWithShift(this.selectionStart,this.selectionEnd,e),0!==t},moveCursorWithoutShift:function(t){return t<0?(this.selectionStart+=t,this.selectionEnd=this.selectionStart):(this.selectionEnd+=t,this.selectionStart=this.selectionEnd),0!==t},moveCursorLeft:function(t){0===this.selectionStart&&0===this.selectionEnd||this._moveCursorLeftOrRight("Left",t)},_move:function(t,e,i){var n;if(t.altKey)n=this["findWordBoundary"+i](this[e]);else{if(!t.metaKey&&35!==t.keyCode&&36!==t.keyCode)return this[e]+="Left"===i?-1:1,!0;n=this["findLineBoundary"+i](this[e])}if(void 0!==n&&this[e]!==n)return this[e]=n,!0},_moveLeft:function(t,e){return this._move(t,e,"Left")},_moveRight:function(t,e){return this._move(t,e,"Right")},moveCursorLeftWithoutShift:function(t){var e=!0;return this._selectionDirection="left",this.selectionEnd===this.selectionStart&&0!==this.selectionStart&&(e=this._moveLeft(t,"selectionStart")),this.selectionEnd=this.selectionStart,e},moveCursorLeftWithShift:function(t){return"right"===this._selectionDirection&&this.selectionStart!==this.selectionEnd?this._moveLeft(t,"selectionEnd"):0!==this.selectionStart?(this._selectionDirection="left",this._moveLeft(t,"selectionStart")):void 0},moveCursorRight:function(t){this.selectionStart>=this._text.length&&this.selectionEnd>=this._text.length||this._moveCursorLeftOrRight("Right",t)},_moveCursorLeftOrRight:function(t,e){var i="moveCursor"+t+"With";this._currentCursorOpacity=1,e.shiftKey?i+="Shift":i+="outShift",this[i](e)&&(this.abortCursorAnimation(),this.initDelayedCursor(),this._fireSelectionChanged(),this._updateTextarea())},moveCursorRightWithShift:function(t){return"left"===this._selectionDirection&&this.selectionStart!==this.selectionEnd?this._moveRight(t,"selectionStart"):this.selectionEnd!==this._text.length?(this._selectionDirection="right",this._moveRight(t,"selectionEnd")):void 0},moveCursorRightWithoutShift:function(t){var e=!0;return this._selectionDirection="right",this.selectionStart===this.selectionEnd?(e=this._moveRight(t,"selectionStart"),this.selectionEnd=this.selectionStart):this.selectionStart=this.selectionEnd,e},removeChars:function(t,e){void 0===e&&(e=t+1),this.removeStyleFromTo(t,e),this._text.splice(t,e-t),this.text=this._text.join(""),this.set("dirty",!0),this._shouldClearDimensionCache()&&(this.initDimensions(),this.setCoords()),this._removeExtraneousStyles()},insertChars:function(t,e,i,n){void 0===n&&(n=i),n>i&&this.removeStyleFromTo(i,n);var r=E.util.string.graphemeSplit(t);this.insertNewStyleBlock(r,i,e),this._text=[].concat(this._text.slice(0,i),r,this._text.slice(n)),this.text=this._text.join(""),this.set("dirty",!0),this._shouldClearDimensionCache()&&(this.initDimensions(),this.setCoords()),this._removeExtraneousStyles()}}),S=E.util.toFixed,T=/ +/g,E.util.object.extend(E.Text.prototype,{_toSVG:function(){var t=this._getSVGLeftTopOffsets(),e=this._getSVGTextAndBg(t.textTop,t.textLeft);return this._wrapSVGTextAndBg(e)},toSVG:function(t){return this._createBaseSVGMarkup(this._toSVG(),{reviver:t,noStyle:!0,withShadow:!0})},_getSVGLeftTopOffsets:function(){return{textLeft:-this.width/2,textTop:-this.height/2,lineTop:this.getHeightOfLine(0)}},_wrapSVGTextAndBg:function(t){var e=this.getSvgTextDecoration(this);return[t.textBgRects.join(""),'\t\t",t.textSpans.join(""),"\n"]},_getSVGTextAndBg:function(t,e){var i,n=[],r=[],s=t;this._setSVGBg(r);for(var a=0,o=this._textLines.length;a",E.util.string.escapeXml(t),""].join("")},_setSVGTextLineText:function(t,e,i,n){var r,s,a,o,l,c=this.getHeightOfLine(e),h=-1!==this.textAlign.indexOf("justify"),d="",u=0,f=this._textLines[e];n+=c*(1-this._fontSizeFraction)/this.lineHeight;for(var p=0,g=f.length-1;p<=g;p++)l=p===g||this.charSpacing,d+=f[p],a=this.__charBounds[e][p],0===u?(i+=a.kernedWidth-a.width,u+=a.width):u+=a.kernedWidth,h&&!l&&this._reSpaceAndTab.test(f[p])&&(l=!0),l||(r=r||this.getCompleteStyleDeclaration(e,p),s=this.getCompleteStyleDeclaration(e,p+1),l=E.util.hasStyleChanged(r,s,!0)),l&&(o=this._getStyleDeclaration(e,p)||{},t.push(this._createTextCharSpan(d,o,i,n)),d="",r=s,i+=u,u=0)},_pushTextBgRect:function(t,e,i,n,r,s){var a=E.Object.NUM_FRACTION_DIGITS;t.push("\t\t\n')},_setSVGTextLineBg:function(t,e,i,n){for(var r,s,a=this._textLines[e],o=this.getHeightOfLine(e)/this.lineHeight,l=0,c=0,h=this.getValueOfPropertyAt(e,0,"textBackgroundColor"),d=0,u=a.length;dthis.width&&this._set("width",this.dynamicMinWidth),-1!==this.textAlign.indexOf("justify")&&this.enlargeSpaces(),this.height=this.calcTextHeight(),this.saveState({propertySet:"_dimensionAffectingProps"}))},_generateStyleMap:function(t){for(var e=0,i=0,n=0,r={},s=0;s0?(i=0,n++,e++):!this.splitByGrapheme&&this._reSpaceAndTab.test(t.graphemeText[n])&&s>0&&(i++,n++),r[s]={line:e,offset:i},n+=t.graphemeLines[s].length,i+=t.graphemeLines[s].length;return r},styleHas:function(t,i){if(this._styleMap&&!this.isWrapping){var n=this._styleMap[i];n&&(i=n.line)}return e.Text.prototype.styleHas.call(this,t,i)},isEmptyStyles:function(t){if(!this.styles)return!0;var e,i,n=0,r=!1,s=this._styleMap[t],a=this._styleMap[t+1];for(var o in s&&(t=s.line,n=s.offset),a&&(r=a.line===t,e=a.offset),i=void 0===t?this.styles:{line:this.styles[t]})for(var l in i[o])if(l>=n&&(!r||ln&&!m?(o.push(l),l=[],s=f,m=!0):s+=v,m||a||l.push(u),l=l.concat(h),p=a?0:this._measureWord([u],i,d),d++,m=!1,f>g&&(g=f);return b&&o.push(l),g+r>this.dynamicMinWidth&&(this.dynamicMinWidth=g-v+r),o},isEndOfWrapping:function(t){return!this._styleMap[t+1]||this._styleMap[t+1].line!==this._styleMap[t].line},missingNewlineOffset:function(t){return this.splitByGrapheme?this.isEndOfWrapping(t)?1:0:1},_splitTextIntoLines:function(t){for(var i=e.Text.prototype._splitTextIntoLines.call(this,t),n=this._wrapText(i.lines,this.width),r=new Array(n.length),s=0;s>1&1,n=0;n0;e--)n[e]=n[e]?n[e-1]^d.EXPONENT[f._modN(d.LOG[n[e]]+t)]:n[e-1];n[0]=d.EXPONENT[f._modN(d.LOG[n[0]]+t)]}for(t=0;t<=i;t++)n[t]=d.LOG[n[t]]},_checkBadness:function(){var t,e,i,n,r,s=0,a=this._badness,o=this.buffer,l=this.width;for(r=0;rl*l;)d-=l*l,h++;for(s+=h*f.N4,n=0;n=a-2&&(t=a-2,r>9&&t--);var o=t;if(r>9){for(s[o+2]=0,s[o+3]=0;o--;)e=s[o],s[o+3]|=255&e<<4,s[o+2]=e>>4;s[2]|=255&t<<4,s[1]=t>>4,s[0]=64|t>>12}else{for(s[o+1]=0,s[o+2]=0;o--;)e=s[o],s[o+2]|=255&e<<4,s[o+1]=e>>4;s[1]|=255&t<<4,s[0]=64|t>>4}for(o=t+3-(r<10);o=5&&(i+=f.N1+n[e]-5);for(e=3;et||3*n[e-3]>=4*n[e]||3*n[e+3]>=4*n[e])&&(i+=f.N3);return i},_finish:function(){var t,e;this._stringBuffer=this.buffer.slice();var i=0,n=3e4;for(e=0;e<8&&(this._applyMask(e),(t=this._checkBadness())>=1)1&n&&(r[s-1-e+8*s]=1,e<6?r[8+s*e]=1:r[8+s*(e+1)]=1);for(e=0;e<7;e++,n>>=1)1&n&&(r[8+s*(s-7+e)]=1,e?r[6-e+8*s]=1:r[7+8*s]=1)},_interleaveBlocks:function(){var t,e,i=this._dataBlock,n=this._ecc,r=this._eccBlock,s=0,a=this._calculateMaxLength(),o=this._neccBlock1,l=this._neccBlock2,c=this._stringBuffer;for(t=0;t1)for(t=c.BLOCK[n],i=r-7;;){for(e=r-7;e>t-3&&(this._addAlignment(e,i),!(e6)for(t=u.BLOCK[s-7],e=17,i=0;i<6;i++)for(n=0;n<3;n++,e--)1&(e>11?s>>e-12:t>>e)?(r[5-i+a*(2-n+a-11)]=1,r[2-n+a-11+a*(5-i)]=1):(this._setMask(5-i,2-n+a-11),this._setMask(2-n+a-11,5-i))},_isMasked:function(t,e){var i=f._getMaskBit(t,e);return 1===this._mask[i]},_pack:function(){var t,e,i,n=1,r=1,s=this.width,a=s-1,o=s-1,l=(this._dataBlock+this._eccBlock)*(this._neccBlock1+this._neccBlock2)+this._neccBlock2;for(e=0;ee&&(i=t,t=e,e=i),i=e,i+=e*e,(i>>=1)+t},_modN:function(t){for(;t>=255;)t=((t-=255)>>8)+(255&t);return t},N1:3,N2:3,N3:40,N4:10}),p=f,g=o.extend({draw:function(){this.element.src=this.qrious.toDataURL()},reset:function(){this.element.src=""},resize:function(){var t=this.element;t.width=t.height=this.qrious.size}}),m=a.extend((function(t,e,i,n){this.name=t,this.modifiable=Boolean(e),this.defaultValue=i,this._valueTransformer=n}),{transform:function(t){var e=this._valueTransformer;return"function"==typeof e?e(t,this):t}}),v=a.extend(null,{abs:function(t){return null!=t?Math.abs(t):null},hasOwn:function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},noop:function(){},toUpperCase:function(t){return null!=t?t.toUpperCase():null}}),b=a.extend((function(t){this.options={},t.forEach((function(t){this.options[t.name]=t}),this)}),{exists:function(t){return null!=this.options[t]},get:function(t,e){return b._get(this.options[t],e)},getAll:function(t){var e,i=this.options,n={};for(e in i)v.hasOwn(i,e)&&(n[e]=b._get(i[e],t));return n},init:function(t,e,i){var n,r;for(n in"function"!=typeof i&&(i=v.noop),this.options)v.hasOwn(this.options,n)&&(r=this.options[n],b._set(r,r.defaultValue,e),b._createAccessor(r,e,i));this._setAll(t,e,!0)},set:function(t,e,i){return this._set(t,e,i)},setAll:function(t,e){return this._setAll(t,e)},_set:function(t,e,i,n){var r=this.options[t];if(!r)throw new Error("Invalid option: "+t);if(!r.modifiable&&!n)throw new Error("Option cannot be modified: "+t);return b._set(r,e,i)},_setAll:function(t,e,i){if(!t)return!1;var n,r=!1;for(n in t)v.hasOwn(t,n)&&this._set(n,t[n],e,i)&&(r=!0);return r}},{_createAccessor:function(t,e,i){var n={get:function(){return b._get(t,e)}};t.modifiable&&(n.set=function(n){b._set(t,n,e)&&i(n,t)}),Object.defineProperty(e,t.name,n)},_get:function(t,e){return e["_"+t.name]},_set:function(t,e,i){var n="_"+t.name,r=i[n],s=t.transform(null!=e?e:t.defaultValue);return i[n]=s,s!==r}}),y=b,x=a.extend((function(){this._services={}}),{getService:function(t){var e=this._services[t];if(!e)throw new Error("Service is not being managed with name: "+t);return e},setService:function(t,e){if(this._services[t])throw new Error("Service is already managed with name: "+t);e&&(this._services[t]=e)}}),w=new y([new m("background",!0,"white"),new m("backgroundAlpha",!0,1,v.abs),new m("element"),new m("foreground",!0,"black"),new m("foregroundAlpha",!0,1,v.abs),new m("level",!0,"L",v.toUpperCase),new m("mime",!0,"image/png"),new m("padding",!0,null,v.abs),new m("size",!0,100,v.abs),new m("value",!0,"")]),C=new x,S=a.extend((function(t){w.init(t,this,this.update.bind(this));var e=w.get("element",this),i=C.getService("element"),n=e&&i.isCanvas(e)?e:i.createCanvas(),r=e&&i.isImage(e)?e:i.createImage();this._canvasRenderer=new l(this,n,!0),this._imageRenderer=new g(this,r,r===e),this.update()}),{get:function(){return w.getAll(this)},set:function(t){w.setAll(t,this)&&this.update()},toDataURL:function(t){return this.canvas.toDataURL(t||this.mime)},update:function(){var t=new p({level:this.level,value:this.value});this._canvasRenderer.render(t),this._imageRenderer.render(t)}},{use:function(t){C.setService(t.getName(),t)}});Object.defineProperties(S.prototype,{canvas:{get:function(){return this._canvasRenderer.getElement()}},image:{get:function(){return this._imageRenderer.getElement()}}});var T=S,E=a.extend({getName:function(){}}).extend({createCanvas:function(){},createImage:function(){},getName:function(){return"element"},isCanvas:function(t){},isImage:function(t){}}).extend({createCanvas:function(){return document.createElement("canvas")},createImage:function(){return document.createElement("img")},isCanvas:function(t){return t instanceof HTMLCanvasElement},isImage:function(t){return t instanceof HTMLImageElement}});return T.use(new E),T}()},933:(t,e,i)=>{var n;!function(){function r(t,e,i){return t.call.apply(t.bind,arguments)}function s(t,e,i){if(!t)throw Error();if(2=e.f?r():t.fonts.load(function(t){return E(t)+" "+t.f+"00 300px "+S(t.c)}(e.a),e.h).then((function(t){1<=t.length?n():setTimeout(s,25)}),(function(){r()}))}()})),r=null,s=new Promise((function(t,i){r=setTimeout(i,e.f)}));Promise.race([s,n]).then((function(){r&&(clearTimeout(r),r=null),e.g(e.a)}),(function(){e.j(e.a)}))};var F={D:"serif",C:"sans-serif"},j=null;function R(){if(null===j){var t=/AppleWebKit\/([0-9]+)(?:\.([0-9]+))/.exec(window.navigator.userAgent);j=!!t&&(536>parseInt(t[1],10)||536===parseInt(t[1],10)&&11>=parseInt(t[2],10))}return j}function N(t,e,i){for(var n in F)if(F.hasOwnProperty(n)&&e===t.f[F[n]]&&i===t.f[F[n]])return!0;return!1}function H(t){var e,i=t.g.a.offsetWidth,n=t.h.a.offsetWidth;(e=i===t.f.serif&&n===t.f["sans-serif"])||(e=R()&&N(t,i,n)),e?o()-t.A>=t.w?R()&&N(t,i,n)&&(null===t.u||t.u.hasOwnProperty(t.a.c))?z(t,t.v):z(t,t.B):function(t){setTimeout(a((function(){H(this)}),t),50)}(t):z(t,t.v)}function z(t,e){setTimeout(a((function(){u(this.g.a),u(this.h.a),u(this.j.a),u(this.m.a),e(this.a)}),t),0)}function W(t,e,i){this.c=t,this.a=e,this.f=0,this.m=this.j=!1,this.s=i}B.prototype.start=function(){this.f.serif=this.j.a.offsetWidth,this.f["sans-serif"]=this.m.a.offsetWidth,this.A=o(),H(this)};var U=null;function V(t){0==--t.f&&t.j&&(t.m?((t=t.a).g&&f(t.f,[t.a.c("wf","active")],[t.a.c("wf","loading"),t.a.c("wf","inactive")]),k(t,"active")):I(t.a))}function Y(t){this.j=t,this.a=new M,this.h=0,this.f=this.g=!0}function q(t,e,i,n,r){var s=0==--t.h;(t.f||t.g)&&setTimeout((function(){var t=r||null,o=n||{};if(0===i.length&&s)I(e.a);else{e.f+=i.length,s&&(e.j=s);var l,c=[];for(l=0;l{},759:()=>{},272:()=>{}},e={};function i(n){var r=e[n];if(void 0!==r)return r.exports;var s=e[n]={exports:{}};return t[n].call(s.exports,s,s.exports,i),s.exports}i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},i.d=(t,e)=>{for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{"use strict";const t=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:document.body;n===document.body&&n.classList.add("fpd-overflow-hidden"),"prompt"===i?t=`\n \n \n `:"confirm"===i&&(t=`\n
${t}
\n \n `);let r=`\n
\n
\n \n
\n
${t}
\n
\n `;const s=document.createElement("div");return s.className="fpd-modal-internal fpd-modal-overlay fpd-container "+(e?"fpd-fullscreen":""),s.innerHTML=r,s.dataset.type=i,n.append(s),q(s.querySelector(".fpd-modal-close"),["click"],(t=>{n.classList.remove("fpd-overflow-hidden"),s.remove()})),s},e=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=document.body.querySelector(".fpd-snackbar-wrapper");i||(i=document.createElement("div"),i.className="fpd-snackbar-wrapper",document.body.append(i));let n=document.createElement("div");return n.className="fpd-snackbar fpd-shadow-1",n.innerHTML="

"+t+"

",n.addEventListener("click",(t=>{n.remove(),n=null})),i.append(n),e&&setTimeout((()=>{n&&(n.remove(),n=null)}),5e3),n},n=e;function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}window.FPDSnackbar=e;var s=/^\s+/,a=/\s+$/;function o(t,e){if(e=e||{},(t=t||"")instanceof o)return t;if(!(this instanceof o))return new o(t,e);var i=function(t){var e,i,n,o={r:0,g:0,b:0},l=1,c=null,h=null,d=null,u=!1,f=!1;return"string"==typeof t&&(t=function(t){t=t.replace(s,"").replace(a,"").toLowerCase();var e,i=!1;if(T[t])t=T[t],i=!0;else if("transparent"==t)return{r:0,g:0,b:0,a:0,format:"name"};return(e=j.rgb.exec(t))?{r:e[1],g:e[2],b:e[3]}:(e=j.rgba.exec(t))?{r:e[1],g:e[2],b:e[3],a:e[4]}:(e=j.hsl.exec(t))?{h:e[1],s:e[2],l:e[3]}:(e=j.hsla.exec(t))?{h:e[1],s:e[2],l:e[3],a:e[4]}:(e=j.hsv.exec(t))?{h:e[1],s:e[2],v:e[3]}:(e=j.hsva.exec(t))?{h:e[1],s:e[2],v:e[3],a:e[4]}:(e=j.hex8.exec(t))?{r:k(e[1]),g:k(e[2]),b:k(e[3]),a:D(e[4]),format:i?"name":"hex8"}:(e=j.hex6.exec(t))?{r:k(e[1]),g:k(e[2]),b:k(e[3]),format:i?"name":"hex"}:(e=j.hex4.exec(t))?{r:k(e[1]+""+e[1]),g:k(e[2]+""+e[2]),b:k(e[3]+""+e[3]),a:D(e[4]+""+e[4]),format:i?"name":"hex8"}:!!(e=j.hex3.exec(t))&&{r:k(e[1]+""+e[1]),g:k(e[2]+""+e[2]),b:k(e[3]+""+e[3]),format:i?"name":"hex"}}(t)),"object"==r(t)&&(R(t.r)&&R(t.g)&&R(t.b)?(e=t.r,i=t.g,n=t.b,o={r:255*O(e,255),g:255*O(i,255),b:255*O(n,255)},u=!0,f="%"===String(t.r).substr(-1)?"prgb":"rgb"):R(t.h)&&R(t.s)&&R(t.v)?(c=P(t.s),h=P(t.v),o=function(t,e,i){t=6*O(t,360),e=O(e,100),i=O(i,100);var n=Math.floor(t),r=t-n,s=i*(1-e),a=i*(1-r*e),o=i*(1-(1-r)*e),l=n%6;return{r:255*[i,a,s,s,o,i][l],g:255*[o,i,i,a,s,s][l],b:255*[s,s,o,i,i,a][l]}}(t.h,c,h),u=!0,f="hsv"):R(t.h)&&R(t.s)&&R(t.l)&&(c=P(t.s),d=P(t.l),o=function(t,e,i){var n,r,s;function a(t,e,i){return i<0&&(i+=1),i>1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t}if(t=O(t,360),e=O(e,100),i=O(i,100),0===e)n=r=s=i;else{var o=i<.5?i*(1+e):i+e-i*e,l=2*i-o;n=a(l,o,t+1/3),r=a(l,o,t),s=a(l,o,t-1/3)}return{r:255*n,g:255*r,b:255*s}}(t.h,c,d),u=!0,f="hsl"),t.hasOwnProperty("a")&&(l=t.a)),l=A(l),{ok:u,format:t.format||f,r:Math.min(255,Math.max(o.r,0)),g:Math.min(255,Math.max(o.g,0)),b:Math.min(255,Math.max(o.b,0)),a:l}}(t);this._originalInput=t,this._r=i.r,this._g=i.g,this._b=i.b,this._a=i.a,this._roundA=Math.round(100*this._a)/100,this._format=e.format||i.format,this._gradientType=e.gradientType,this._r<1&&(this._r=Math.round(this._r)),this._g<1&&(this._g=Math.round(this._g)),this._b<1&&(this._b=Math.round(this._b)),this._ok=i.ok}function l(t,e,i){t=O(t,255),e=O(e,255),i=O(i,255);var n,r,s=Math.max(t,e,i),a=Math.min(t,e,i),o=(s+a)/2;if(s==a)n=r=0;else{var l=s-a;switch(r=o>.5?l/(2-s-a):l/(s+a),s){case t:n=(e-i)/l+(e>1)+720)%360;--e;)n.h=(n.h+r)%360,s.push(o(n));return s}function S(t,e){e=e||6;for(var i=o(t).toHsv(),n=i.h,r=i.s,s=i.v,a=[],l=1/e;e--;)a.push(o({h:n,s:r,v:s})),s=(s+l)%1;return a}o.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var t,e,i,n=this.toRgb();return t=n.r/255,e=n.g/255,i=n.b/255,.2126*(t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4))+.7152*(e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4))+.0722*(i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4))},setAlpha:function(t){return this._a=A(t),this._roundA=Math.round(100*this._a)/100,this},toHsv:function(){var t=c(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=c(this._r,this._g,this._b),e=Math.round(360*t.h),i=Math.round(100*t.s),n=Math.round(100*t.v);return 1==this._a?"hsv("+e+", "+i+"%, "+n+"%)":"hsva("+e+", "+i+"%, "+n+"%, "+this._roundA+")"},toHsl:function(){var t=l(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=l(this._r,this._g,this._b),e=Math.round(360*t.h),i=Math.round(100*t.s),n=Math.round(100*t.l);return 1==this._a?"hsl("+e+", "+i+"%, "+n+"%)":"hsla("+e+", "+i+"%, "+n+"%, "+this._roundA+")"},toHex:function(t){return h(this._r,this._g,this._b,t)},toHexString:function(t){return"#"+this.toHex(t)},toHex8:function(t){return function(t,e,i,n,r){var s=[M(Math.round(t).toString(16)),M(Math.round(e).toString(16)),M(Math.round(i).toString(16)),M(_(n))];return r&&s[0].charAt(0)==s[0].charAt(1)&&s[1].charAt(0)==s[1].charAt(1)&&s[2].charAt(0)==s[2].charAt(1)&&s[3].charAt(0)==s[3].charAt(1)?s[0].charAt(0)+s[1].charAt(0)+s[2].charAt(0)+s[3].charAt(0):s.join("")}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return"#"+this.toHex8(t)},toRgb:function(){return{r:Math.round(this._r),g:Math.round(this._g),b:Math.round(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+")":"rgba("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:Math.round(100*O(this._r,255))+"%",g:Math.round(100*O(this._g,255))+"%",b:Math.round(100*O(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+Math.round(100*O(this._r,255))+"%, "+Math.round(100*O(this._g,255))+"%, "+Math.round(100*O(this._b,255))+"%)":"rgba("+Math.round(100*O(this._r,255))+"%, "+Math.round(100*O(this._g,255))+"%, "+Math.round(100*O(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(E[h(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e="#"+d(this._r,this._g,this._b,this._a),i=e,n=this._gradientType?"GradientType = 1, ":"";if(t){var r=o(t);i="#"+d(r._r,r._g,r._b,r._a)}return"progid:DXImageTransform.Microsoft.gradient("+n+"startColorstr="+e+",endColorstr="+i+")"},toString:function(t){var e=!!t;t=t||this._format;var i=!1,n=this._a<1&&this._a>=0;return e||!n||"hex"!==t&&"hex6"!==t&&"hex3"!==t&&"hex4"!==t&&"hex8"!==t&&"name"!==t?("rgb"===t&&(i=this.toRgbString()),"prgb"===t&&(i=this.toPercentageRgbString()),"hex"!==t&&"hex6"!==t||(i=this.toHexString()),"hex3"===t&&(i=this.toHexString(!0)),"hex4"===t&&(i=this.toHex8String(!0)),"hex8"===t&&(i=this.toHex8String()),"name"===t&&(i=this.toName()),"hsl"===t&&(i=this.toHslString()),"hsv"===t&&(i=this.toHsvString()),i||this.toHexString()):"name"===t&&0===this._a?this.toName():this.toRgbString()},clone:function(){return o(this.toString())},_applyModification:function(t,e){var i=t.apply(null,[this].concat([].slice.call(e)));return this._r=i._r,this._g=i._g,this._b=i._b,this.setAlpha(i._a),this},lighten:function(){return this._applyModification(g,arguments)},brighten:function(){return this._applyModification(m,arguments)},darken:function(){return this._applyModification(v,arguments)},desaturate:function(){return this._applyModification(u,arguments)},saturate:function(){return this._applyModification(f,arguments)},greyscale:function(){return this._applyModification(p,arguments)},spin:function(){return this._applyModification(b,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(C,arguments)},complement:function(){return this._applyCombination(y,arguments)},monochromatic:function(){return this._applyCombination(S,arguments)},splitcomplement:function(){return this._applyCombination(w,arguments)},triad:function(){return this._applyCombination(x,[3])},tetrad:function(){return this._applyCombination(x,[4])}},o.fromRatio=function(t,e){if("object"==r(t)){var i={};for(var n in t)t.hasOwnProperty(n)&&(i[n]="a"===n?t[n]:P(t[n]));t=i}return o(t,e)},o.equals=function(t,e){return!(!t||!e)&&o(t).toRgbString()==o(e).toRgbString()},o.random=function(){return o.fromRatio({r:Math.random(),g:Math.random(),b:Math.random()})},o.mix=function(t,e,i){i=0===i?0:i||50;var n=o(t).toRgb(),r=o(e).toRgb(),s=i/100;return o({r:(r.r-n.r)*s+n.r,g:(r.g-n.g)*s+n.g,b:(r.b-n.b)*s+n.b,a:(r.a-n.a)*s+n.a})},o.readability=function(t,e){var i=o(t),n=o(e);return(Math.max(i.getLuminance(),n.getLuminance())+.05)/(Math.min(i.getLuminance(),n.getLuminance())+.05)},o.isReadable=function(t,e,i){var n,r,s,a,l,c=o.readability(t,e);switch(r=!1,(s=i,"AA"!==(a=((s=s||{level:"AA",size:"small"}).level||"AA").toUpperCase())&&"AAA"!==a&&(a="AA"),"small"!==(l=(s.size||"small").toLowerCase())&&"large"!==l&&(l="small"),n={level:a,size:l}).level+n.size){case"AAsmall":case"AAAlarge":r=c>=4.5;break;case"AAlarge":r=c>=3;break;case"AAAsmall":r=c>=7}return r},o.mostReadable=function(t,e,i){var n,r,s,a,l=null,c=0;r=(i=i||{}).includeFallbackColors,s=i.level,a=i.size;for(var h=0;hc&&(c=n,l=o(e[h]));return o.isReadable(t,l,{level:s,size:a})||!r?l:(i.includeFallbackColors=!1,o.mostReadable(t,["#fff","#000"],i))};var T=o.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},E=o.hexNames=function(t){var e={};for(var i in t)t.hasOwnProperty(i)&&(e[t[i]]=i);return e}(T);function A(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function O(t,e){(function(t){return"string"==typeof t&&-1!=t.indexOf(".")&&1===parseFloat(t)})(t)&&(t="100%");var i=function(t){return"string"==typeof t&&-1!=t.indexOf("%")}(t);return t=Math.min(e,Math.max(0,parseFloat(t))),i&&(t=parseInt(t*e,10)/100),Math.abs(t-e)<1e-6?1:t%e/parseFloat(e)}function I(t){return Math.min(1,Math.max(0,t))}function k(t){return parseInt(t,16)}function M(t){return 1==t.length?"0"+t:""+t}function P(t){return t<=1&&(t=100*t+"%"),t}function _(t){return Math.round(255*parseFloat(t)).toString(16)}function D(t){return k(t)/255}var L,B,F,j=(B="[\\s|\\(]+("+(L="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+L+")[,|\\s]+("+L+")\\s*\\)?",F="[\\s|\\(]+("+L+")[,|\\s]+("+L+")[,|\\s]+("+L+")[,|\\s]+("+L+")\\s*\\)?",{CSS_UNIT:new RegExp(L),rgb:new RegExp("rgb"+B),rgba:new RegExp("rgba"+F),hsl:new RegExp("hsl"+B),hsla:new RegExp("hsla"+F),hsv:new RegExp("hsv"+B),hsva:new RegExp("hsva"+F),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function R(t){return!!j.CSS_UNIT.exec(t)}const N=t=>"[object Object]"===Object.prototype.toString.call(t),H=(t,e)=>{if(t&&"object"==typeof t){let r=!0;for(var i=0;i{const i={...t,...e};if(Object.keys(e).length)for(const n of Object.keys(i))N(i[n])&&t[n]&&e[n]&&(i[n]=z(t[n],e[n]));return i},W=(t,e,i)=>{if(!e)return;const n=(Array.isArray(e)?e:e.match(/([^[.\]])+/g)).reduce(((t,e)=>t&&t[e]),t);return void 0===n?i:n},U=t=>/(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/.test(t),V=t=>{for(var e=t.concat(),i=0;i0===t||"string"==typeof t&&"0"===t,q=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:()=>{},n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];e="string"==typeof e?[e]:e,e.forEach((e=>{t instanceof HTMLElement||t instanceof window.constructor?t.addEventListener(e,i,n):Array.from(t).length?t&&t.forEach&&t.forEach((t=>{t.addEventListener(e,i,n)})):t.addEventListener(e,i,n)}))},G=function(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};window&&t.dispatchEvent(new CustomEvent(e,{detail:i})),window.jQuery&&t.container&&jQuery(t.container).trigger(e,Object.values(i))},X=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return t&&(t instanceof HTMLElement?e.forEach((e=>{t.classList.add(e)})):t.forEach((t=>{e.forEach((e=>{t.classList.add(e)}))}))),t},Z=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return t&&(t instanceof HTMLElement?e.forEach((e=>{t.classList.remove(e)})):t.forEach((t=>{e.forEach((e=>{t.classList.remove(e)}))}))),t},J=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return t&&(t instanceof HTMLElement?e.forEach((e=>{t.classList.toggle(e,i)})):t.forEach((t=>{e.forEach((e=>{t.classList.toggle(e,i)}))}))),t},Q=t=>void 0===t||null==t||("string"==typeof t?!t.trim().length:Array.isArray(t)?!t.length:"object"==typeof t&&!Object.keys(t).length),K=()=>{var t=!0;try{window.localStorage.length,window.localStorage.setItem("fpd-storage","just-testing")}catch(e){t=!1}return t},$=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!t.url)return;const e=document.createElement("div");e.className="fpd-item fpd-hover-thumbnail",e.dataset.source=t.url,t.disableDraggable||e.classList.add("fpd-draggable"),t.title&&(e.dataset.title=t.title,e.setAttribute("aria-label",t.title));const i=document.createElement("picture");i.dataset.img=t.thumbnailUrl?t.thumbnailUrl:t.url,e.append(i);const n=new Image;if(n.onerror=()=>{e.remove()},n.src=i.dataset.img,!t.disablePrice){const i=document.createElement("span");i.className="fpd-price",i.innerHTML=t.price,e.append(i),J(i,["fpd-hidden"],!Boolean(t.price))}if(t.removable){const t=document.createElement("span");t.className="fpd-delete fpd-icon-remove",e.append(t)}return e},tt=function(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(!t.currentViewInstance)return"";let n=t.currentViewInstance.options;if(document.querySelector(".fpd-upload-zone-content").contains(e)&&t.currentViewInstance.currentUploadZone){const e=t.currentViewInstance.fabricCanvas.getUploadZone(t.currentViewInstance.currentUploadZone);e&&e.price&&(i=e.price)}return null==i&&(i=W(n,"customImageParameters.price",0)),i?ht(i,t.mainOptions.priceFormat):""},et=(e,i,n)=>{const r=e.currentViewInstance;let s=r.options.customImageParameters;const a=r.fabricCanvas.getUploadZone(r.currentUploadZone);if(a&&(s=z(s,a)),i>s.maxW||is.maxH||nt.split(".").pop().toLowerCase().split("?")[0],nt=t=>t.split("/").pop(),rt=t=>["jpeg","jpg","png"].includes(it(t)),st=(t,e)=>{var i=[];if("group"==t.type){const e=t.getObjects();1===e.length?i=!0===t.colors||1===t.colors?["#000"]:t.colors:(i=[],e.forEach((t=>{const e=o(t.fill);i.push(e.toHexString())})))}else{if(t.__editorMode)return["#000"];i=t.colorLinkGroup&&e.colorLinkGroups[t.colorLinkGroup]?e.colorLinkGroups[t.colorLinkGroup].colors:!0===t.colors||1===t.colors?["#000"]:t.colors}return i},at=t=>{let e=t.fill;return"string"==typeof e?e:"object"==typeof e?e.source?(e=e.source.src,"url("+e+")"):e[0]:!0===t.colors&&"group"===t.type?o(t.getObjects()[0].fill):!1===e&&t.colors&&t.colors[0]?t.colors[0]:void 0},ot=(t,e)=>{null!=t&&void 0!==t||n(e)},lt=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"inch";const i=t*(arguments.length>2&&void 0!==arguments[2]?arguments[2]:72);return"cm"==e?Math.round(i/2.54):"mm"==e?Math.round(i/25.4):Math.round(i)},ct=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"inch";const i=t/(arguments.length>2&&void 0!==arguments[2]?arguments[2]:72);return"cm"==e?Math.round(2.54*i):"mm"==e?Math.round(25.4*i):Math.round(i)},ht=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!isNaN(t)&&"object"==typeof e){const n=e.thousandSep||",",r=e.decimalSep||".";let s=t.toString().split("."),a=s[0],o=s[1],l="";if(void 0!==a){for(var i=a.length-1;i>=0;i--)l+=a.charAt(i);for(l=l.replace(/(\d{3})/g,"$1"+n),l.slice(-n.length)==n&&(l=l.slice(0,-n.length)),a="",i=l.length-1;i>=0;i--)a+=l.charAt(i);void 0!==o&&o.length>0&&(1==o.length&&(o+="0"),a+=r+o)}return a=(e.currency||"$%d").replace("%d",a.toString()),a}return t};"undefined"!=typeof window&&(window.FPDUtils={},window.FPDUtils.showModal=function(){t(...arguments)},window.FPDUtils.showMessage=function(){n(...arguments)},window.FPDUtils.isUrl=U,window.FPDUtils.pixelToUnit=ct,window.FPDUtils.unitToPixel=lt);class dt{static defaults={imageLoadTimestamp:!1,stageWidth:900,stageHeight:600,editorMode:!1,editorBoxParameters:["left","top","angle","fill","width","height","fontSize","price"],fonts:[{name:"Arial"},{name:"Lobster",url:"google"}],facebookAppId:"",instagramClientId:"",instagramRedirectUri:"",instagramTokenUri:"",hexNames:{},selectedColor:"#f5f5f5",boundingBoxColor:"#2185d0",outOfBoundaryColor:"#990000",replaceInitialElements:!1,fileServerURL:null,responsive:!0,cornerIconColor:"#000000",langJSON:{},colorPickerPalette:[],actions:{left:["info","download","print","preview-lightbox","reset-product"],center:["undo","redo"],right:["zoom","ruler","guided-tour"]},mainBarModules:["products","images","text","designs","manage-layers"],initialActiveModule:"",maxValues:{},watermark:!1,priceFormat:{currency:"$%d",decimalSep:".",thousandSep:","},mainBarContainer:!1,modalMode:!1,keyboardControl:!0,deselectActiveOnOutside:!0,uploadZonesTopped:!0,loadFirstProductInStage:!0,unsavedProductAlert:!1,hideDialogOnAdd:!0,toolbarPlacement:"smart",snapGridSize:[50,50],fabricCanvasOptions:{},namesNumbersDropdown:[],namesNumbersEntryPrice:0,colorSelectionPlacement:"",bulkVariationsPlacement:"",bulkVariations:{},toolbarDynamicContext:"body",boundingBoxProps:{strokeWidth:1},fitImagesInCanvas:!1,maxPrice:-1,inCanvasTextEditing:!0,openTextInputOnSelect:!1,designCategories:[],optionalView:!1,saveActionBrowserStorage:!0,pricingRules:[],uploadAgreementModal:!1,imageEditorSettings:{masks:[]},printingBox:null,autoOpenInfo:!1,guidedTour:null,replaceColorsInColorGroup:!1,allowedImageTypes:["jpeg","png","svg","pdf"],pixabayApiKey:"",pixabayHighResImages:!1,pixabayLang:"en",sizeTooltip:!1,highlightEditableObjects:"",applyFillWhenReplacing:!0,applySizeWhenReplacing:!1,layouts:[],dynamicViewsOptions:{unit:"mm",formats:[],pricePerArea:0,minWidth:0,minHeight:0,maxWidth:1e4,maxHeight:1e4},enableDynamicViews:!1,disableTextEmojis:!1,smartGuides:!0,usePrintingBoxAsBounding:!1,printingBox:{},productsJSON:null,designsJSON:null,customizationRequiredRule:"any",swapProductConfirmation:!1,textLinkGroupProps:[],textTemplates:[],multiSelection:!1,multiSelectionColor:"#54dfe6",canvasHeight:"auto",maxCanvasHeight:.8,mobileGesturesBehaviour:"none",imageQualityRatings:null,splitMultiSVG:!1,cornerControlsStyle:"advanced",downloadFilename:"Product",autoFillUploadZones:!1,dragDropImagesToUploadZones:!1,responsiveBreakpoints:{small:768,medium:1024},dynamicDesigns:{},customTextAsTextbox:!1,viewThumbnailsWrapper:"",rulerUnit:"px",aiService:{serverURL:null,removeBG:!0,superRes:!0,text2Img:!0},cropMasks:[],elementParameters:{objectCaching:!1,z:-1,price:0,colors:!1,removable:!1,draggable:!1,rotatable:!1,resizable:!1,copyable:!1,zChangeable:!1,boundingBox:!1,boundingBoxMode:"clipping",autoCenter:!1,replace:"",replaceInAllViews:!1,autoSelect:!1,topped:!1,colorPrices:{},colorLinkGroup:!1,patterns:[],sku:"",excludeFromExport:!1,showInColorSelection:!1,locked:!1,uniScalingUnlockable:!1,fixed:!1,shadowColor:"",shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,originX:"center",originY:"center",cornerSize:24,fill:!1,lockUniScaling:!0,pattern:!1,top:0,left:0,angle:0,flipX:!1,flipY:!1,opacity:1,scaleX:1,scaleY:1},textParameters:{maxLength:0,curved:!1,curvable:!1,curveRadius:80,maxCurveRadius:400,curveReverse:!1,maxLines:0,textBox:!1,textPlaceholder:!1,numberPlaceholder:!1,letterSpacing:0,chargeAfterEditing:!1,minFontSize:1,textTransform:"none",widthFontSize:0,maxFontSize:200,textLinkGroup:"",strokeColors:[],neonText:!1,editable:!0,fontFamily:"Arial",fontSize:18,lineHeight:1,fontWeight:"normal",fontStyle:"normal",textDecoration:"normal",padding:10,textAlign:"left",stroke:null,strokeWidth:0,charSpacing:0},imageParameters:{uploadZone:!1,filter:null,scaleMode:"fit",resizeToW:0,resizeToH:0,advancedEditing:!1,uploadZoneMovable:!1,uploadZoneRemovable:!1,padding:0,minScaleLimit:.01},customImageParameters:{minW:100,minH:100,maxW:1e4,maxH:1e4,minDPI:72,maxSize:10,autoCenter:!0},customTextParameters:{autoCenter:!0,copyable:!0},customAdds:{designs:!0,uploads:!0,texts:!0,drawing:!0},qrCodeProps:{autoCenter:!0,draggable:!0,removable:!0,resizable:!0}};static merge(){return z(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},arguments.length>1&&void 0!==arguments[1]?arguments[1]:{})}static getParameterKeys(){var t=Object.keys(this.defaults.elementParameters),e=Object.keys(this.defaults.imageParameters),i=Object.keys(this.defaults.textParameters);return(t=t.concat(e)).concat(i)}}function ut(t,e){!function(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}(t,e),e.add(t)}function ft(t,e,i){if(!e.has(t))throw new TypeError("attempted to get private field on non-instance");return i}window&&(window.FPDOptions=dt);var pt=new WeakSet,gt=new WeakSet,mt=new WeakSet,vt=new WeakSet;class bt{constructor(t){ut(this,vt),ut(this,mt),ut(this,gt),ut(this,pt),this.fpdInstance=t,q(t,["elementModify","productCreate","elementAdd","elementRemove","viewCreate","viewRemove","elementFillChange","textLinkApply"],this.doPricingRules.bind(this))}doPricingRules(t){const e=this.fpdInstance.mainOptions.dynamicViewsOptions?this.fpdInstance.mainOptions.dynamicViewsOptions.unit:"mm";this.fpdInstance.pricingRulesPrice=0;var i=this.fpdInstance.mainOptions.pricingRules;i&&i.length>0&&i.forEach((t=>{if(t.property&&t.target){var i=[];"canvasSize"==t.property||"coverage"==t.property?i=this.fpdInstance.viewInstances:void 0!==t.target.elements&&"#"===t.target.elements.charAt(0)?i.push(this.fpdInstance.currentViewInstance.fabricCanvas.getElementByTitle(t.target.elements.replace("#",""),t.target.views)):i=void 0!==t.target.elements&&-1!==t.target.elements.search("custom")?this.fpdInstance.getCustomElements(t.target.elements.replace("custom","").toLowerCase(),t.target.views,!1):this.fpdInstance.getElements(t.target.views,t.target.elements,!1),i=i.filter((t=>!t.uploadZone));var n,r=!1;-1!==["elementsLength","colorsLength"].indexOf(t.property)&&(r=!0),i.forEach(((s,a)=>{!s||r&&a>0||(s.hasOwnProperty("element")&&(s=s.element),"textLength"===t.property?n=s.text?s.text.replace(/\s/g,"").length:null:"linesLength"===t.property&&(n=s.text?s.text.split("\n").length:null),"fontSize"===t.property?n=s.text?s.fontSize:null:"imageSize"===t.property?n="image"===s.getType()&&s.title?{width:s.width,height:s.height}:null:"imageSizeScaled"===t.property?n="image"===s.getType()&&s.title?{width:s.width*s.scaleX,height:s.height*s.scaleY}:null:"canvasSize"===t.property?n={width:ct(s.options.stageWidth,e),height:ct(s.options.stageHeight,e)}:"coverage"===t.property?n=ft(this,vt,Ct).call(this,s):"pattern"===t.property?n=s.pattern:"elementsLength"===t.property?n=i.length:"colorsLength"===t.property&&(n=this.fpdInstance.getUsedColors(t.target.views).length),null!=n&&(t.rules.forEach((t=>{t.property=n})),"any"===t.type?t.rules.some(ft(this,pt,yt).bind(this)):t.rules.forEach(ft(this,pt,yt).bind(this))))}))}})),this.fpdInstance.calculatePrice()}}function yt(t,e){return!!ft(this,gt,xt).call(this,t.operator,t.property,t.value)&&("number"==typeof t.price&&(this.fpdInstance.pricingRulesPrice+=t.price),!0)}function xt(t,e,i){if("object"==typeof i){var n=Object.keys(i),r=null;return n.forEach((n=>{!1!==r&&(r=ft(this,mt,wt).call(this,t,e[n],i[n]))})),r}return ft(this,mt,wt).call(this,t,e,i)}function wt(t,e,i){return"="===t?e===i:">"===t?e>i:"<"===t?e="===t?e>=i:"<="===t?e<=i:void 0}function Ct(t){if(!t||!t.fabricCanvas||!H(t.options.printingBox,["left","top","width","height"]))return null;let e,i,n,r;t.fabricCanvas.forEachObject((t=>{if(!t.excludeFromExport&&!t._ignore){var s=t.getBoundingRect(!0);(void 0===e||s.leftn)&&(n=s.left+s.width),(void 0===r||s.top+s.height>r)&&(r=s.top+s.height)}}));let s={};if(e&&(s={minX:e,minY:i,maxX:n,maxY:r}),!H(s,["minX","minY","maxX","maxY"]))return null;const a=t.options.printingBox,o=Math.max(a.left,s.minX),l=Math.min(a.left+a.width,s.maxX)-o,c=Math.max(a.top,s.minY);return l*(Math.min(a.top+a.height,s.maxY)-c)/(a.width*a.height)*100}var St=i(777);const Tt=(t,e,i,n,r)=>{n=n||{},t.save(),t.translate(e,i),t.rotate(St.fabric.util.degreesToRadians(r.angle)),t.fillStyle=n.cornerColor||r.cornerColor,t.beginPath(),t.roundRect?t.roundRect(-3,-7.5,6,15,4):t.rect(-3,-7.5,6,15),t.filter="drop-shadow(0px 0px 2px rgba(0,0,0, 0.3))",t.fill(),t.restore()},Et=(t,e,i,n,r)=>{n=n||{},t.save(),t.translate(e,i),t.rotate(St.fabric.util.degreesToRadians(r.angle)),t.fillStyle=n.cornerColor||r.cornerColor,t.beginPath(),t.roundRect?t.roundRect(-7.5,-3,15,6,4):t.rect(-7.5,-3,15,6),t.filter="drop-shadow(0px 0px 2px rgba(0,0,0, 0.3))",t.fill(),t.restore()};St.fabric.Control.prototype.touchSizeX=40,St.fabric.Control.prototype.touchSizeY=40,St.fabric.Object.prototype.transparentCorners=!1,St.fabric.Object.prototype.controls.ml.render=Tt,St.fabric.Object.prototype.controls.mr.render=Tt,St.fabric.Object.prototype.controls.mt.render=Et,St.fabric.Object.prototype.controls.mb.render=Et,St.fabric.Textbox.prototype.controls.ml.render=Tt,St.fabric.Textbox.prototype.controls.mr.render=Tt,St.fabric.Object.prototype.controls.bl.visible=!1,St.fabric.Object.prototype.controls.mtr.withConnection=!1,St.fabric.Object.prototype.controls.mtr.y=.5,St.fabric.Object.prototype.controls.mtr.offsetY=25,St.fabric.Object.prototype.controls.mtr.offsetX=-8,St.fabric.Object.prototype.controls.tl.render=St.fabric.Object.prototype.controls.tr.render=St.fabric.Object.prototype.controls.mtr.render=St.fabric.Object.prototype.controls.br.render=function(t,e,i,n,r){St.fabric.controlsUtils.renderCircleControl.call(this,t,e,i,n,r)},St.fabric.Object.prototype.controls.cropMaskDoneControl=new St.fabric.Control({x:.5,y:-.5,actionName:"crop-mask-done",offsetY:-20,offsetX:-45,cursorStyle:"pointer",mouseDownHandler:function(t,e){e.target.targetElement},render:(t,e,i,n,r)=>{"crop-mask"===r.name&&(n.cornerColor="#2ecc71",n.cornerIconColor="#fff")},cornerSize:24}),St.fabric.Object.prototype.controls.cropMaskCancelControl=new St.fabric.Control({x:.5,y:-.5,actionName:"crop-mask-cancel",offsetY:-20,offsetX:-12,cursorStyle:"pointer",mouseDownHandler:function(t,e){const i=e.target;i.targetElement&&(i.canvas.removeElement(i),i.targetElement.cropMask=null)},render:(t,e,i,n,r)=>{"crop-mask"===r.name&&(n.cornerColor="#c44d56",n.cornerIconColor="#fff")},cornerSize:24});const At=()=>{const t=function(t,e,i,n,r,s,a){let o=arguments.length>7&&void 0!==arguments[7]?arguments[7]:8,l=arguments.length>8&&void 0!==arguments[8]?arguments[8]:8;r=r||{};let c=t.sizeX||r.cornerSize||s.cornerSize,h=t.sizeY||r.cornerSize||s.cornerSize,d=c/2,u=h/2;const f=.6*c,p=r.cornerIconColor||s.cornerIconColor||"#000000";e.save(),e.translate(i,n),e.rotate(St.fabric.util.degreesToRadians(s.angle)),e.fillStyle=r.cornerColor||s.cornerColor,e.beginPath(),e.roundRect?e.roundRect(-d+o,-u+l,c,h,4):e.rect(-d+o,-u+l,c,h),e.filter="drop-shadow(0px 0px 2px rgba(0,0,0, 0.3))",e.fill(),e.font=f+"px FontFPD",e.fillStyle=p,e.textAlign="left",e.textBaseline="top",e.filter="none",e.fillText(a,-.5*f+o,-.5*f+l),e.restore()};St.fabric.Object.prototype.controls.tl.cursorStyleHandler=()=>"pointer",St.fabric.Object.prototype.controls.tl.mouseDownHandler=function(t,e){const i=e.target;"advanced"===i.canvas.viewOptions.cornerControlsStyle&&i.canvas.duplicateElement(i)},St.fabric.Object.prototype.controls.tl.actionHandler=null,St.fabric.Object.prototype.controls.tl.render=function(e,i,n,r,s){t(this,e,i,n,r,s,String.fromCharCode("0xe94d"),-8,-8)},St.fabric.Object.prototype.controls.tr.cursorStyleHandler=()=>"pointer",St.fabric.Object.prototype.controls.tr.mouseDownHandler=function(t,e){const i=e.target;i.canvas.removeElement(i)},St.fabric.Object.prototype.controls.tr.actionHandler=null,St.fabric.Object.prototype.controls.tr.render=function(e,i,n,r,s){t(this,e,i,n,r,s,String.fromCharCode("0xe907"),8,-8)},St.fabric.Object.prototype.controls.mtr.render=function(e,i,n,r,s){t(this,e,i,n,r,s,String.fromCharCode("0xe957"))},St.fabric.Object.prototype.controls.br.render=function(e,i,n,r,s){t(this,e,i,n,r,s,String.fromCharCode("0xe922"))}};var Ot;function It(t){let e=t.length,i="Z"===t[e-1][0],n=t[0],[r,s]=[n[1],n[2]],a=i?t[e-2]:t[e-1],o=a.length,[l,c]=[a[o-2],a[o-1]];return!i||r===l&&s===c||(t.pop(),t.push(["L",r,s],["Z"])),path}St.fabric.Group.prototype.changeObjectColor=function(t,e){let i=[];return this.getObjects().forEach((t=>{const e=o(t.fill);i.push(e.toHexString())})),i[t]=e,this.changeColor(i),i},St.fabric.Text.prototype.initialize=(Ot=St.fabric.Text.prototype.initialize,function(){for(var t=arguments.length,e=new Array(t),i=0;i{let e=[],i=[];for(let i=0;i\n ${n}\n `;O+=new St.fabric.Text(n,{fontFamily:t,fontSize:e}).width+1+a,A+=r}return E=u&&"none"!==u||!f&&"none"!==f?`