diff --git a/dist/formulate.esm.js b/dist/formulate.esm.js index 71cd527..380e326 100644 --- a/dist/formulate.esm.js +++ b/dist/formulate.esm.js @@ -145,7 +145,9 @@ FileUpload.prototype.addFileList = function addFileList (fileList) { name: file.name || 'file-upload', file: file, uuid: uuid, - removeFile: removeFile.bind(this$1) + path: false, + removeFile: removeFile.bind(this$1), + previewData: false }); }; @@ -249,6 +251,20 @@ FileUpload.prototype.removeFile = function removeFile (uuid) { } }; +/** + * load image previews for all uploads. + */ +FileUpload.prototype.loadPreviews = function loadPreviews () { + this.files.map(function (file) { + console.log(file.type); + if (!file.previewData && window && window.FileReader && /^image\//.test(file.file.type)) { + var reader = new FileReader(); + reader.onload = function (e) { return Object.assign(file, { previewData: e.target.result }); }; + reader.readAsDataURL(file.file); + } + }); +}; + /** * Get the files. */ @@ -939,7 +955,7 @@ var context = { labelPosition: this.logicalLabelPosition, attributes: this.elementAttributes, blurHandler: blurHandler.bind(this), - showImage: this.showImage, + imageBehavior: this.imageBehavior, uploadUrl: this.uploadUrl, uploader: this.uploader || this.$formulate.getUploader(), uploadBehavior: this.uploadBehavior, @@ -1233,9 +1249,9 @@ var script = { type: Boolean, default: false }, - showImage: { - type: Boolean, - default: true + imageBehavior: { + type: String, + default: 'preview' }, uploadUrl: { type: [String, Boolean], @@ -1324,10 +1340,7 @@ var script = { }) ) .then(function (result) { return result.filter(function (result) { return result; }); }) - .then(function (errorMessages) { - console.log('setting validation errors'); - this$1.validationErrors = errorMessages; - }); + .then(function (errorMessages) { this$1.validationErrors = errorMessages; }); return this.pendingValidation }, hasValidationErrors: function hasValidationErrors () { @@ -2259,12 +2272,28 @@ var script$6 = { files: { type: FileUpload, required: true + }, + imagePreview: { + type: Boolean, + default: false } }, computed: { fileUploads: function fileUploads () { return this.files.files || [] } + }, + watch: { + files: function files () { + if (this.imagePreview) { + this.files.loadPreviews(); + } + } + }, + mounted: function mounted () { + if (this.imagePreview) { + this.files.loadPreviews(); + } } }; @@ -2283,9 +2312,21 @@ var __vue_render__$6 = function() { _vm._l(_vm.fileUploads, function(file) { return _c( "li", - { key: file.uuid, attrs: { "data-has-error": !!file.error } }, + { + key: file.uuid, + attrs: { + "data-has-error": !!file.error, + "data-has-preview": _vm.imagePreview && file.previewData + } + }, [ _c("div", { staticClass: "formulate-file" }, [ + _vm.imagePreview && file.previewData + ? _c("div", { staticClass: "formulate-file-image-preview" }, [ + _c("img", { attrs: { src: file.previewData } }) + ]) + : _vm._e(), + _vm._v(" "), _c("div", { staticClass: "formualte-file-name", domProps: { textContent: _vm._s(file.name) } @@ -2417,7 +2458,6 @@ var script$7 = { if (this.context.uploadBehavior === 'live' && this.context.model instanceof FileUpload) { this.context.hasValidationErrors().then(function (errors) { - console.log('validation errors', errors); if (!errors) { this$1.context.model.upload(); } @@ -2490,7 +2530,14 @@ var __vue_render__$7 = function() { }), _vm._v(" "), _vm.hasFiles - ? _c("FormulateFiles", { attrs: { files: _vm.context.model } }) + ? _c("FormulateFiles", { + attrs: { + files: _vm.context.model, + "image-preview": + _vm.context.type === "image" && + _vm.context.imageBehavior === "preview" + } + }) : _vm._e() ], 1 diff --git a/dist/formulate.min.js b/dist/formulate.min.js index be139cf..6682589 100644 --- a/dist/formulate.min.js +++ b/dist/formulate.min.js @@ -148,7 +148,9 @@ var Formulate = (function (exports, isUrl, nanoid, isPlainObject) { name: file.name || 'file-upload', file: file, uuid: uuid, - removeFile: removeFile.bind(this$1) + path: false, + removeFile: removeFile.bind(this$1), + previewData: false }); }; @@ -252,6 +254,20 @@ var Formulate = (function (exports, isUrl, nanoid, isPlainObject) { } }; + /** + * load image previews for all uploads. + */ + FileUpload.prototype.loadPreviews = function loadPreviews () { + this.files.map(function (file) { + console.log(file.type); + if (!file.previewData && window && window.FileReader && /^image\//.test(file.file.type)) { + var reader = new FileReader(); + reader.onload = function (e) { return Object.assign(file, { previewData: e.target.result }); }; + reader.readAsDataURL(file.file); + } + }); + }; + /** * Get the files. */ @@ -942,7 +958,7 @@ var Formulate = (function (exports, isUrl, nanoid, isPlainObject) { labelPosition: this.logicalLabelPosition, attributes: this.elementAttributes, blurHandler: blurHandler.bind(this), - showImage: this.showImage, + imageBehavior: this.imageBehavior, uploadUrl: this.uploadUrl, uploader: this.uploader || this.$formulate.getUploader(), uploadBehavior: this.uploadBehavior, @@ -1236,9 +1252,9 @@ var Formulate = (function (exports, isUrl, nanoid, isPlainObject) { type: Boolean, default: false }, - showImage: { - type: Boolean, - default: true + imageBehavior: { + type: String, + default: 'preview' }, uploadUrl: { type: [String, Boolean], @@ -1327,10 +1343,7 @@ var Formulate = (function (exports, isUrl, nanoid, isPlainObject) { }) ) .then(function (result) { return result.filter(function (result) { return result; }); }) - .then(function (errorMessages) { - console.log('setting validation errors'); - this$1.validationErrors = errorMessages; - }); + .then(function (errorMessages) { this$1.validationErrors = errorMessages; }); return this.pendingValidation }, hasValidationErrors: function hasValidationErrors () { @@ -2262,12 +2275,28 @@ var Formulate = (function (exports, isUrl, nanoid, isPlainObject) { files: { type: FileUpload, required: true + }, + imagePreview: { + type: Boolean, + default: false } }, computed: { fileUploads: function fileUploads () { return this.files.files || [] } + }, + watch: { + files: function files () { + if (this.imagePreview) { + this.files.loadPreviews(); + } + } + }, + mounted: function mounted () { + if (this.imagePreview) { + this.files.loadPreviews(); + } } }; @@ -2286,9 +2315,21 @@ var Formulate = (function (exports, isUrl, nanoid, isPlainObject) { _vm._l(_vm.fileUploads, function(file) { return _c( "li", - { key: file.uuid, attrs: { "data-has-error": !!file.error } }, + { + key: file.uuid, + attrs: { + "data-has-error": !!file.error, + "data-has-preview": _vm.imagePreview && file.previewData + } + }, [ _c("div", { staticClass: "formulate-file" }, [ + _vm.imagePreview && file.previewData + ? _c("div", { staticClass: "formulate-file-image-preview" }, [ + _c("img", { attrs: { src: file.previewData } }) + ]) + : _vm._e(), + _vm._v(" "), _c("div", { staticClass: "formualte-file-name", domProps: { textContent: _vm._s(file.name) } @@ -2420,7 +2461,6 @@ var Formulate = (function (exports, isUrl, nanoid, isPlainObject) { if (this.context.uploadBehavior === 'live' && this.context.model instanceof FileUpload) { this.context.hasValidationErrors().then(function (errors) { - console.log('validation errors', errors); if (!errors) { this$1.context.model.upload(); } @@ -2493,7 +2533,14 @@ var Formulate = (function (exports, isUrl, nanoid, isPlainObject) { }), _vm._v(" "), _vm.hasFiles - ? _c("FormulateFiles", { attrs: { files: _vm.context.model } }) + ? _c("FormulateFiles", { + attrs: { + files: _vm.context.model, + "image-preview": + _vm.context.type === "image" && + _vm.context.imageBehavior === "preview" + } + }) : _vm._e() ], 1 diff --git a/dist/formulate.umd.js b/dist/formulate.umd.js index 4d690e9..1e47ed5 100644 --- a/dist/formulate.umd.js +++ b/dist/formulate.umd.js @@ -151,7 +151,9 @@ name: file.name || 'file-upload', file: file, uuid: uuid, - removeFile: removeFile.bind(this$1) + path: false, + removeFile: removeFile.bind(this$1), + previewData: false }); }; @@ -255,6 +257,20 @@ } }; + /** + * load image previews for all uploads. + */ + FileUpload.prototype.loadPreviews = function loadPreviews () { + this.files.map(function (file) { + console.log(file.type); + if (!file.previewData && window && window.FileReader && /^image\//.test(file.file.type)) { + var reader = new FileReader(); + reader.onload = function (e) { return Object.assign(file, { previewData: e.target.result }); }; + reader.readAsDataURL(file.file); + } + }); + }; + /** * Get the files. */ @@ -945,7 +961,7 @@ labelPosition: this.logicalLabelPosition, attributes: this.elementAttributes, blurHandler: blurHandler.bind(this), - showImage: this.showImage, + imageBehavior: this.imageBehavior, uploadUrl: this.uploadUrl, uploader: this.uploader || this.$formulate.getUploader(), uploadBehavior: this.uploadBehavior, @@ -1239,9 +1255,9 @@ type: Boolean, default: false }, - showImage: { - type: Boolean, - default: true + imageBehavior: { + type: String, + default: 'preview' }, uploadUrl: { type: [String, Boolean], @@ -1330,10 +1346,7 @@ }) ) .then(function (result) { return result.filter(function (result) { return result; }); }) - .then(function (errorMessages) { - console.log('setting validation errors'); - this$1.validationErrors = errorMessages; - }); + .then(function (errorMessages) { this$1.validationErrors = errorMessages; }); return this.pendingValidation }, hasValidationErrors: function hasValidationErrors () { @@ -2265,12 +2278,28 @@ files: { type: FileUpload, required: true + }, + imagePreview: { + type: Boolean, + default: false } }, computed: { fileUploads: function fileUploads () { return this.files.files || [] } + }, + watch: { + files: function files () { + if (this.imagePreview) { + this.files.loadPreviews(); + } + } + }, + mounted: function mounted () { + if (this.imagePreview) { + this.files.loadPreviews(); + } } }; @@ -2289,9 +2318,21 @@ _vm._l(_vm.fileUploads, function(file) { return _c( "li", - { key: file.uuid, attrs: { "data-has-error": !!file.error } }, + { + key: file.uuid, + attrs: { + "data-has-error": !!file.error, + "data-has-preview": _vm.imagePreview && file.previewData + } + }, [ _c("div", { staticClass: "formulate-file" }, [ + _vm.imagePreview && file.previewData + ? _c("div", { staticClass: "formulate-file-image-preview" }, [ + _c("img", { attrs: { src: file.previewData } }) + ]) + : _vm._e(), + _vm._v(" "), _c("div", { staticClass: "formualte-file-name", domProps: { textContent: _vm._s(file.name) } @@ -2423,7 +2464,6 @@ if (this.context.uploadBehavior === 'live' && this.context.model instanceof FileUpload) { this.context.hasValidationErrors().then(function (errors) { - console.log('validation errors', errors); if (!errors) { this$1.context.model.upload(); } @@ -2496,7 +2536,14 @@ }), _vm._v(" "), _vm.hasFiles - ? _c("FormulateFiles", { attrs: { files: _vm.context.model } }) + ? _c("FormulateFiles", { + attrs: { + files: _vm.context.model, + "image-preview": + _vm.context.type === "image" && + _vm.context.imageBehavior === "preview" + } + }) : _vm._e() ], 1 diff --git a/dist/snow.css b/dist/snow.css index cc9cf17..6a1f458 100644 --- a/dist/snow.css +++ b/dist/snow.css @@ -363,6 +363,8 @@ display: block; } .formulate-input[data-classification="file"] .formulate-files li[data-has-error] .formulate-file-progress { background-color: #dc2c2c; } + .formulate-input[data-classification="file"] .formulate-files li[data-has-preview] .formualte-file-name:before { + display: none; } .formulate-input[data-classification="file"] .formulate-files li + li { margin-top: .5em; } .formulate-input[data-classification="file"] .formulate-files .formulate-file { @@ -382,7 +384,7 @@ display: block; width: 100%; display: flex; - justify-content: space-between; + justify-content: flex-start; align-items: center; position: relative; overflow: hidden; } @@ -396,5 +398,22 @@ height: .5em; border-radius: .5em; overflow: hidden; } + .formulate-input[data-classification="file"] .formulate-files .formulate-file-image-preview { + width: 3em; + height: 3em; + position: relative; + z-index: 2; + left: -1px; + box-shadow: 0 0 0 1px #efefef; } + .formulate-input[data-classification="file"] .formulate-files .formulate-file-image-preview img { + display: block; + position: absolute; + width: 100%; + height: 100%; + left: 0; + right: 0; + bottom: 0; + top: 0; + object-fit: cover; } .formulate-input[data-classification="file"] [data-type="image"] .formulate-input-upload-area .formulate-input-upload-area-mask::before { mask-image: url('data:image/svg+xml;utf8,'); } diff --git a/dist/snow.min.css b/dist/snow.min.css index d9304a4..99964aa 100644 --- a/dist/snow.min.css +++ b/dist/snow.min.css @@ -1,2 +1,2 @@ -.formulate-input{margin-bottom:2em}.formulate-input .formulate-input-label{display:block;line-height:1.5;font-size:.9em;font-weight:600;margin-bottom:.1em}.formulate-input .formulate-input-element{max-width:20em;margin-bottom:.1em}.formulate-input .formulate-input-help{color:#6d6d6d;font-size:.7em;font-weight:400;line-height:1.5;margin-bottom:.25em}.formulate-input .formulate-input-errors{list-style-type:none;padding:0;margin:0}.formulate-input .formulate-file-upload-error,.formulate-input .formulate-input-error{color:#960505;font-size:.8em;font-weight:300;line-height:1.5;margin-bottom:.25em}.formulate-input .formulate-input-group-item{margin-bottom:.5em}.formulate-input:last-child{margin-bottom:0}.formulate-input[data-classification=text] input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.3em;border:1px solid #cecece;box-sizing:border-box;background-color:transparent;font-size:.9em;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;padding:.75em;display:block;width:100%;font-weight:400;line-height:1.1em;margin:0}.formulate-input[data-classification=text] input::-webkit-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=text] input::-moz-placeholder{color:#a8a8a8}.formulate-input[data-classification=text] input:-ms-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=text] input::-ms-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=text] input::placeholder{color:#a8a8a8}.formulate-input[data-classification=text] input:focus{outline:0;border:1px solid #41b883}.formulate-input[data-classification=text] input[type=color]{height:1.1em;box-sizing:content-box}.formulate-input[data-classification=text] input[type=color]::-webkit-color-swatch-wrapper{padding:0 0 0 1.5em;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;background-image:url('data:image/svg+xml;utf8,');background-repeat:no-repeat;background-size:.9em .9em;background-position:left .1em}.formulate-input[data-classification=text] input[type=color]::-webkit-color-swatch{display:block;height:1em;border-radius:.2em;border:0;-webkit-box-flex:1;flex:auto}.formulate-input[data-classification=text] input[type=color]::-moz-color-swatch{display:block;height:1em;border-radius:.2em;border:0;flex:auto}.formulate-input[data-classification=slider] input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;font-size:1em;padding:.5em 0}.formulate-input[data-classification=slider] input:focus{outline:0}.formulate-input[data-classification=slider] input::-webkit-slider-thumb{cursor:pointer;-webkit-appearance:none;appearance:none;width:1em;height:1em;border-radius:1em;background-color:#41b883;margin-top:calc(-.5em + 2px)}.formulate-input[data-classification=slider] input::-moz-range-thumb{cursor:pointer;-moz-appearance:none;appearance:none;width:1em;height:1em;border-radius:1em;background-color:#41b883;margin-top:calc(-.5em + 2px)}.formulate-input[data-classification=slider] input::-ms-thumb{cursor:pointer;appearance:none;width:1em;height:1em;border-radius:1em;background-color:#41b883;margin-top:calc(-.5em + 2px)}.formulate-input[data-classification=slider] input::-webkit-slider-runnable-track{-webkit-appearance:none;appearance:none;width:100%;height:4px;background-color:#efefef;border-radius:3px;margin:0;padding:0}.formulate-input[data-classification=textarea] textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.3em;border:1px solid #cecece;box-sizing:border-box;background-color:transparent;font-size:.9em;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;padding:.75em;display:block;width:100%;font-weight:400;line-height:1.1em;margin:0}.formulate-input[data-classification=textarea] textarea::-webkit-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=textarea] textarea::-moz-placeholder{color:#a8a8a8}.formulate-input[data-classification=textarea] textarea:-ms-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=textarea] textarea::-ms-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=textarea] textarea::placeholder{color:#a8a8a8}.formulate-input[data-classification=textarea] textarea:focus{outline:0;border:1px solid #41b883}.formulate-input[data-classification=select] .formulate-input-element{position:relative}.formulate-input[data-classification=select] .formulate-input-element:before{content:"";width:0;height:0;border-color:#cecece transparent transparent;border-style:solid;border-width:.3em .3em 0;top:50%;margin-top:-.1em;right:1em;position:absolute}.formulate-input[data-classification=select] select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.3em;border:1px solid #cecece;box-sizing:border-box;background-color:transparent;font-size:.9em;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;display:block;width:100%;font-weight:400;line-height:1.1em;margin:0;padding:.75em 2em .75em .75em}.formulate-input[data-classification=select] select::-webkit-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=select] select::-moz-placeholder{color:#a8a8a8}.formulate-input[data-classification=select] select:-ms-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=select] select::-ms-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=select] select::placeholder{color:#a8a8a8}.formulate-input[data-classification=select] select:focus{outline:0;border:1px solid #41b883}.formulate-input[data-classification=select] select[data-placeholder-selected]{color:#a8a8a8}.formulate-input[data-classification=box] .formulate-input-element,.formulate-input[data-classification=box] .formulate-input-wrapper{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.formulate-input[data-classification=box] .formulate-input-element{overflow:hidden}.formulate-input[data-classification=box] .formulate-input-element input{position:absolute;left:-999px}.formulate-input[data-classification=box] .formulate-input-element-decorator{display:block;width:1em;height:1em;border-radius:.25em;border:1px solid #cecece;position:relative}.formulate-input[data-classification=box] .formulate-input-element-decorator:before{content:"";display:block;background-size:contain;background-position:100%;width:calc(100% - .125em);height:calc(100% - .125em);box-sizing:border-box;position:absolute;top:.0625em;left:.0625em}.formulate-input[data-classification=box] .formulate-input-element[data-type=radio] .formulate-input-element-decorator{border-radius:1em}.formulate-input[data-classification=box] .formulate-input-element[data-type=radio] .formulate-input-element-decorator:before{border-radius:1em;width:calc(100% - .5em);height:calc(100% - .5em);top:.25em;left:.25em}.formulate-input[data-classification=box] .formulate-input-element input[type=checkbox]:checked~.formulate-input-element-decorator{border-color:#41b883}.formulate-input[data-classification=box] .formulate-input-element input[type=checkbox]:checked~.formulate-input-element-decorator:before{background-color:#41b883;-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,')}.formulate-input[data-classification=box] .formulate-input-element input[type=radio]:checked~.formulate-input-element-decorator{border-color:#41b883}.formulate-input[data-classification=box] .formulate-input-element input[type=radio]:checked~.formulate-input-element-decorator:before{background-color:#41b883}.formulate-input[data-classification=box] .formulate-input-element input:focus~.formulate-input-element-decorator{border-color:#41b883}.formulate-input[data-classification=box] .formulate-input-label--after{margin-left:.5em}.formulate-input[data-classification=box] .formulate-input-label--before{margin-right:.5em}.formulate-input[data-classification=group]>.formulate-input-wrapper>.formulate-input-label{margin-bottom:.5em}.formulate-input[data-classification=file] .formulate-input-upload-area{width:100%;position:relative;padding:2em 0}.formulate-input[data-classification=file] .formulate-input-upload-area input{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;opacity:0;position:absolute;left:0;right:0;bottom:0;top:0;width:100%;height:100%;z-index:5}.formulate-input[data-classification=file] .formulate-input-upload-area[data-has-files]{padding:0}.formulate-input[data-classification=file] .formulate-input-upload-area[data-has-files] input{display:none}.formulate-input[data-classification=file] .formulate-input-upload-area-mask{border-radius:.4em;pointer-events:none;position:absolute;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;left:0;right:0;top:0;bottom:0;border:2px dashed #a8a8a8;z-index:2}.formulate-input[data-classification=file] .formulate-input-upload-area-mask:before{content:"";background-color:#a8a8a8;-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,');-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;width:2em;height:2em;position:absolute;pointer-events:none}.formulate-input[data-classification=file] .formulate-input-upload-area input:focus~.formulate-input-upload-area-mask,.formulate-input[data-classification=file] .formulate-input-upload-area input:hover~.formulate-input-upload-area-mask,.formulate-input[data-classification=file] .formulate-input-upload-area input[data-is-drag-hover]~.formulate-input-upload-area-mask{border-color:#41b883}.formulate-input[data-classification=file] .formulate-input-upload-area input:focus~.formulate-input-upload-area-mask:before,.formulate-input[data-classification=file] .formulate-input-upload-area input:hover~.formulate-input-upload-area-mask:before,.formulate-input[data-classification=file] .formulate-input-upload-area input[data-is-drag-hover]~.formulate-input-upload-area-mask:before{background-color:#41b883}.formulate-input[data-classification=file] .formulate-files{list-style-type:none;margin:0;padding:0}.formulate-input[data-classification=file] .formulate-files .formulate-file-progress{background-color:#cecece;height:.3em;border-radius:1.25em;width:5em;overflow:hidden;position:absolute;right:.75em;-webkit-transition:height .25s,width .25s;transition:height .25s,width .25s;z-index:2}.formulate-input[data-classification=file] .formulate-files .formulate-file-progress:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;display:block;opacity:0;-webkit-transform:scale(.08);transform:scale(.08);background-color:#fff;-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,');-webkit-mask-size:77%;mask-size:77%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;z-index:3}.formulate-input[data-classification=file] .formulate-files .formulate-file-progress[data-just-finished]{width:1.25em;height:1.25em}.formulate-input[data-classification=file] .formulate-files .formulate-file-progress[data-just-finished]:before{-webkit-transition:opacity .25s .2s,-webkit-transform .25s .2s;transition:opacity .25s .2s,-webkit-transform .25s .2s;transition:transform .25s .2s,opacity .25s .2s;transition:transform .25s .2s,opacity .25s .2s,-webkit-transform .25s .2s;-webkit-transform:scale(1);transform:scale(1);opacity:1}.formulate-input[data-classification=file] .formulate-files .formulate-file-progress[data-is-finished]{-webkit-transition:height .25s,width .25s,left .25s,top,.25s,border-radius .25s;transition:height .25s,width .25s,left .25s,top,.25s,border-radius .25s;width:.3em;height:100%;right:0;border-radius:0}.formulate-input[data-classification=file] .formulate-files .formulate-file-progress[data-is-finished]:before{-webkit-transition:opacity .1s;transition:opacity .1s;opacity:0}.formulate-input[data-classification=file] .formulate-files .formulate-file-progress .formulate-file-progress-inner{background-color:#41b883;width:1%;position:absolute;left:0;bottom:0;top:0;z-index:2}.formulate-input[data-classification=file] .formulate-files .formualte-file-name{padding-left:1.5em;padding-right:2em}.formulate-input[data-classification=file] .formulate-files .formualte-file-name:before{position:absolute;left:.7em;top:50%;margin-top:-.7em;background-color:#a8a8a8;content:"";-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,');-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:1.25em;height:1.25em;display:inline-block;margin-right:.5em}.formulate-input[data-classification=file] .formulate-files .formulate-file-remove{width:1.25em;height:1.25em;border-radius:1em;border:1px solid #a8a8a8;background-color:#a8a8a8;-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,');-webkit-mask-size:.6em;mask-size:.6em;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;cursor:pointer;position:absolute;right:.75em;z-index:1;-webkit-transition:-webkit-transform .25s;transition:-webkit-transform .25s;transition:transform .25s;transition:transform .25s,-webkit-transform .25s}@media (pointer:fine){.formulate-input[data-classification=file] .formulate-files .formulate-file-remove:hover{-webkit-transform:scale(1.5);transform:scale(1.5)}}.formulate-input[data-classification=file] .formulate-files li{display:block}.formulate-input[data-classification=file] .formulate-files li[data-has-error] .formulate-file-progress{background-color:#dc2c2c}.formulate-input[data-classification=file] .formulate-files li+li{margin-top:.5em}.formulate-input[data-classification=file] .formulate-files .formulate-file{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.3em;border:1px solid #cecece;box-sizing:border-box;background-color:transparent;font-size:.9em;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;padding:.75em;font-weight:400;line-height:1.1em;margin:0;display:block;width:100%;display:-webkit-box;display:flex;-webkit-box-pack:justify;justify-content:space-between;-webkit-box-align:center;align-items:center;position:relative;overflow:hidden}.formulate-input[data-classification=file] .formulate-files .formulate-file::-webkit-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=file] .formulate-files .formulate-file::-moz-placeholder{color:#a8a8a8}.formulate-input[data-classification=file] .formulate-files .formulate-file:-ms-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=file] .formulate-files .formulate-file::-ms-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=file] .formulate-files .formulate-file::placeholder{color:#a8a8a8}.formulate-input[data-classification=file] .formulate-files .formulate-file:focus{outline:0;border:1px solid #41b883}.formulate-input[data-classification=file] .formulate-files .formulate-file ::-webkit-progress-bar{-webkit-appearance:none;appearance:none;height:.5em;border-radius:.5em;overflow:hidden}.formulate-input[data-classification=file] [data-type=image] .formulate-input-upload-area .formulate-input-upload-area-mask:before{-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,')} -/*# sourceMappingURL=data:application/json;base64,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QVksQ0FDWixTQUFVLENBQ1YseUNBQTBCLENBQTFCLGlDQUEwQixDQUExQix5QkFBMEIsQ0FBMUIsZ0RBQTRCLENBQzVCLHNCQUNFLHlGQUNFLDRCQUFxQixDQUFyQixvQkFBdUIsQ0FBRSxDQUMvQiwrREFDRSxhQUFnQixDQUNoQix3R0FDRSx3QkFBMkIsQ0FDN0Isa0VBQ0UsZUFBa0IsQ0FDdEIsNEVBQ0UsdUJBQWdCLENBQWhCLG9CQUFnQixDQUFoQixlQUFnQixDQUNoQixrQkFBbUIsQ0FDbkIsd0JBQXlCLENBQ3pCLHFCQUFzQixDQUN0Qiw0QkFBNkIsQ0FDN0IsY0FBZSxDQUNmLHdJQUEwSixDQUMxSixhQUFjLENBR2QsZUFBZ0IsQ0FDaEIsaUJBQWtCLENBQ2xCLFFBQVMsQ0FDVCxhQUFjLENBQ2QsVUFBVyxDQUNYLG1CQUFhLENBQWIsWUFBYSxDQUNiLHdCQUE4QixDQUE5Qiw2QkFBOEIsQ0FDOUIsd0JBQW1CLENBQW5CLGtCQUFtQixDQUNuQixpQkFBa0IsQ0FDbEIsZUFBa0IsQ0FDbEIsdUdBQ0UsYUFBZ0IsQ0FEbEIsOEZBQ0UsYUFBZ0IsQ0FEbEIsa0dBQ0UsYUFBZ0IsQ0FEbEIsbUdBQ0UsYUFBZ0IsQ0FEbEIseUZBQ0UsYUFBZ0IsQ0FDbEIsa0ZBQ0UsU0FBVSxDQUNWLHdCQUEyQixDQUM3QixtR0FDRSx1QkFBZ0IsQ0FBaEIsZUFBZ0IsQ0FDaEIsV0FBWSxDQUNaLGtCQUFtQixDQUNuQixlQUFrQixDQUN4QixtSUFDRSwrYkFBd2IsQ0FBeGIsdWJBQTBiIiwiZmlsZSI6InN0ZGluIiwic291cmNlc0NvbnRlbnQiOlsiLmZvcm11bGF0ZS1pbnB1dCB7XG4gIG1hcmdpbi1ib3R0b206IDJlbTsgfVxuICAuZm9ybXVsYXRlLWlucHV0IC5mb3JtdWxhdGUtaW5wdXQtbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgZm9udC1zaXplOiAuOWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogLjFlbTsgfVxuICAuZm9ybXVsYXRlLWlucHV0IC5mb3JtdWxhdGUtaW5wdXQtZWxlbWVudCB7XG4gICAgbWF4LXdpZHRoOiAyMGVtO1xuICAgIG1hcmdpbi1ib3R0b206IC4xZW07IH1cbiAgLmZvcm11bGF0ZS1pbnB1dCAuZm9ybXVsYXRlLWlucHV0LWhlbHAge1xuICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgIGZvbnQtc2l6ZTogLjdlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgbWFyZ2luLWJvdHRvbTogLjI1ZW07IH1cbiAgLmZvcm11bGF0ZS1pbnB1dCAuZm9ybXVsYXRlLWlucHV0LWVycm9ycyB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5mb3JtdWxhdGUtaW5wdXQgLmZvcm11bGF0ZS1pbnB1dC1lcnJvcixcbiAgLmZvcm11bGF0ZS1pbnB1dCAuZm9ybXVsYXRlLWZpbGUtdXBsb2FkLWVycm9yIHtcbiAgICBjb2xvcjogIzk2MDUwNTtcbiAgICBmb250LXNpemU6IC44ZW07XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIG1hcmdpbi1ib3R0b206IC4yNWVtOyB9XG4gIC5mb3JtdWxhdGUtaW5wdXQgLmZvcm11bGF0ZS1pbnB1dC1ncm91cC1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAuNWVtOyB9XG4gIC5mb3JtdWxhdGUtaW5wdXQ6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249J3RleHQnXSBpbnB1dCB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAuM2VtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjZWNlY2U7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBmb250LXNpemU6IC45ZW07XG4gICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiO1xuICAgIHBhZGRpbmc6IC43NWVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMWVtO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0ndGV4dCddIGlucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogI2E4YThhODsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0ndGV4dCddIGlucHV0OmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNDFiODgzOyB9XG4gIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0ndGV4dCddIGlucHV0W3R5cGU9XCJjb2xvclwiXSB7XG4gICAgaGVpZ2h0OiAxLjFlbTtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0ndGV4dCddIGlucHV0W3R5cGU9XCJjb2xvclwiXTo6LXdlYmtpdC1jb2xvci1zd2F0Y2gtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAxLjVlbTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDc5LjE3IDc5LjE3XCI+PHBhdGggZmlsbD1cIiUyMzZkNmQ2ZFwiIGQ9XCJNNDAuOCwyMi45MmMtMy40LTMuNC00Ljc2LTguNDQtMS0xMi4yNHM4Ljg0LTIuNDQsMTIuMjQsMWM1LTUsMTAuNjktMTMuMzMsMTguODEtMTEuMzFhMTEsMTEsMCwwLDEsNy42MiwxNC4zNGMtMS4yNiwzLjQ1LTQuNjMsNi4wNi03LjE2LDguNTktLjkyLjkzLTMsMi4yNi0zLjQ2LDMuNDYtLjQyLDEsMS44MiwyLjYzLDIuMzYsNGE4LDgsMCwwLDEtMTIuNDIsOS4xOWMtLjIxLS4xNi0xLjM1LTEuNTEtMS41OS0xLjUxcy0uODMuODMtMSwxTDQ5LjcxLDQ0LjksMzIuNDMsNjIuMThjLTMuMzcsMy4zOC02LjYsNy4xNC0xMC4yNiwxMC4yMWExMSwxMSwwLDAsMS00LjQ4LDIuMjhjLTEuMjUuMy0zLjExLS4yMi00LjE4LjE4LTEuMjguNDgtMi40MiwyLjY1LTMuNjgsMy40LTYuMDUsMy42MS0xMi42NC00LTguNDYtOS41Ny43My0xLDIuNTMtMS45MiwzLTNhMTQuNDYsMTQuNDYsMCwwLDAtLjA5LTIuNTIsMTAuNzUsMTAuNzUsMCwwLDEsMy4xNC02Ljc3Yy45Mi0xLDEuOTMtMS45MywyLjg5LTIuOVptNC40LTEuNWM0LjE5LDQsOC4yNCw4LjI0LDEyLjM2LDEyLjM2LDIuMDYsMi4wNiw1LDUuNTksOCwyLjYxLDQuNjUtNC42Mi01LTYuOC0yLjQyLTEwLjc4QzY2LjMsMjAuNyw3Ni40LDE2LjQ4LDc0Ljg0LDkuNDUsNzMuNjIsNCw2Ny4xMiwyLjc4LDYzLjI5LDYuMzJjLTIuNTUsMi4zNi00LjkzLDQuOTQtNy4zOSw3LjQtLjc5Ljc4LTEuOCwyLjI4LTIuODgsMi43My0yLjE0Ljg4LTMuNC0xLjYyLTQuNzktMi43Ny0yLjU4LTIuMTQtNi44OS0uODItNi41MywzQzQxLjg5LDE4LjY4LDQzLjg3LDIwLjA5LDQ1LjIsMjEuNDJabS0xLjQ1LDQuNDRMMjcuODIsNDEuNzlDMjIsNDcuNTcsMTUuODksNTMuMTQsMTAuNDEsNTkuMmE4LjIzLDguMjMsMCwwLDAtMS40NCwyYy0uOTMsMiwuMjUsNC4xNC0uNSw2UzQuOTIsNjkuOTQsNC4zLDcyYTIuMzQsMi4zNCwwLDAsMCwyLjU2LDNjMS4xMS0uMTcsMi0xLjMzLDIuNzEtMi4wN2ExMS4xNywxMS4xNywwLDAsMSwyLjA4LTJjMS42OC0uOTQsNCwuMTcsNS45My0uNTdDMjAsNjkuNDEsMjIsNjYuNzMsMjMuNzYsNjVMMzQuNDIsNTQuMyw1My4zLDM1LjQyWlwiLz48L3N2Zz4nKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IC45ZW0gLjllbTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgLjFlbTsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0ndGV4dCddIGlucHV0W3R5cGU9XCJjb2xvclwiXTo6LXdlYmtpdC1jb2xvci1zd2F0Y2gge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IC4yZW07XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBmbGV4OiBhdXRvOyB9XG4gICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSd0ZXh0J10gaW5wdXRbdHlwZT1cImNvbG9yXCJdOjotbW96LWNvbG9yLXN3YXRjaCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMWVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogLjJlbTtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGZsZXg6IGF1dG87IH1cbiAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSdzbGlkZXInXSBpbnB1dCB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBwYWRkaW5nOiAuNWVtIDA7IH1cbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249J3NsaWRlciddIGlucHV0OmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249J3NsaWRlciddIGlucHV0Ojotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgd2lkdGg6IDFlbTtcbiAgICAgIGhlaWdodDogMWVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogMWVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQxYjg4MztcbiAgICAgIG1hcmdpbi10b3A6IGNhbGMoLS41ZW0gKyAycHgpOyB9XG4gICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSdzbGlkZXInXSBpbnB1dDo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgd2lkdGg6IDFlbTtcbiAgICAgIGhlaWdodDogMWVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogMWVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQxYjg4MztcbiAgICAgIG1hcmdpbi10b3A6IGNhbGMoLS41ZW0gKyAycHgpOyB9XG4gICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSdzbGlkZXInXSBpbnB1dDo6LW1zLXRodW1iIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICB3aWR0aDogMWVtO1xuICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICBib3JkZXItcmFkaXVzOiAxZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDFiODgzO1xuICAgICAgbWFyZ2luLXRvcDogY2FsYygtLjVlbSArIDJweCk7IH1cbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249J3NsaWRlciddIGlucHV0Ojotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDRweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0ndGV4dGFyZWEnXSB0ZXh0YXJlYSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAuM2VtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjZWNlY2U7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBmb250LXNpemU6IC45ZW07XG4gICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiO1xuICAgIHBhZGRpbmc6IC43NWVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMWVtO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0ndGV4dGFyZWEnXSB0ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICNhOGE4YTg7IH1cbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249J3RleHRhcmVhJ10gdGV4dGFyZWE6Zm9jdXMge1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MWI4ODM7IH1cbiAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSdzZWxlY3QnXSAuZm9ybXVsYXRlLWlucHV0LWVsZW1lbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0nc2VsZWN0J10gLmZvcm11bGF0ZS1pbnB1dC1lbGVtZW50OjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGJvcmRlcjogLjNlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICNjZWNlY2U7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtLjFlbTtcbiAgICAgIHJpZ2h0OiAxZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSdzZWxlY3QnXSBzZWxlY3Qge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogLjNlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2VjZWNlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgZm9udC1zaXplOiAuOWVtO1xuICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIjtcbiAgICBwYWRkaW5nOiAuNzVlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjFlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy1yaWdodDogMmVtOyB9XG4gICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSdzZWxlY3QnXSBzZWxlY3Q6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAjYThhOGE4OyB9XG4gICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSdzZWxlY3QnXSBzZWxlY3Q6Zm9jdXMge1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MWI4ODM7IH1cbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249J3NlbGVjdCddIHNlbGVjdFtkYXRhLXBsYWNlaG9sZGVyLXNlbGVjdGVkXSB7XG4gICAgICBjb2xvcjogI2E4YThhODsgfVxuICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249J2JveCddIC5mb3JtdWxhdGUtaW5wdXQtd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0nYm94J10gLmZvcm11bGF0ZS1pbnB1dC1lbGVtZW50IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0nYm94J10gLmZvcm11bGF0ZS1pbnB1dC1lbGVtZW50IGlucHV0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IC05OTlweDsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0nYm94J10gLmZvcm11bGF0ZS1pbnB1dC1lbGVtZW50LWRlY29yYXRvciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxZW07XG4gICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IC4yNWVtO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NlY2VjZTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSdib3gnXSAuZm9ybXVsYXRlLWlucHV0LWVsZW1lbnQtZGVjb3JhdG9yOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQ7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAuMTI1ZW0pO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIC4xMjVlbSk7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAuMDYyNWVtO1xuICAgICAgICBsZWZ0OiAuMDYyNWVtOyB9XG4gICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSdib3gnXSAuZm9ybXVsYXRlLWlucHV0LWVsZW1lbnRbZGF0YS10eXBlPVwicmFkaW9cIl0gLmZvcm11bGF0ZS1pbnB1dC1lbGVtZW50LWRlY29yYXRvciB7XG4gICAgICBib3JkZXItcmFkaXVzOiAxZW07IH1cbiAgICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0nYm94J10gLmZvcm11bGF0ZS1pbnB1dC1lbGVtZW50W2RhdGEtdHlwZT1cInJhZGlvXCJdIC5mb3JtdWxhdGUtaW5wdXQtZWxlbWVudC1kZWNvcmF0b3I6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDFlbTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIC41ZW0pO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIC41ZW0pO1xuICAgICAgICB0b3A6IC4yNWVtO1xuICAgICAgICBsZWZ0OiAuMjVlbTsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0nYm94J10gLmZvcm11bGF0ZS1pbnB1dC1lbGVtZW50IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkIH4gLmZvcm11bGF0ZS1pbnB1dC1lbGVtZW50LWRlY29yYXRvciB7XG4gICAgICBib3JkZXItY29sb3I6ICM0MWI4ODM7IH1cbiAgICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0nYm94J10gLmZvcm11bGF0ZS1pbnB1dC1lbGVtZW50IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkIH4gLmZvcm11bGF0ZS1pbnB1dC1lbGVtZW50LWRlY29yYXRvcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQxYjg4MztcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDEwMCAxMDBcIj48cGF0aCBkPVwiTTguNzYsNTYuMmMtNi4zOC02LjM0LDMuMjYtMTYsOS42NC05LjY5TDM4LDY1Ljg4LDgwLjU2LDIzLjI5YzYuMzgtNi4zOCwxNi4wNywzLjMyLDkuNjksOS42OUw0Mi44NCw4MC4zN2E2LjgzLDYuODMsMCwwLDEtOS42NSwwWlwiLz48L3N2Zz4nKTsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0nYm94J10gLmZvcm11bGF0ZS1pbnB1dC1lbGVtZW50IGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkIH4gLmZvcm11bGF0ZS1pbnB1dC1lbGVtZW50LWRlY29yYXRvciB7XG4gICAgICBib3JkZXItY29sb3I6ICM0MWI4ODM7IH1cbiAgICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0nYm94J10gLmZvcm11bGF0ZS1pbnB1dC1lbGVtZW50IGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkIH4gLmZvcm11bGF0ZS1pbnB1dC1lbGVtZW50LWRlY29yYXRvcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQxYjg4MzsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0nYm94J10gLmZvcm11bGF0ZS1pbnB1dC1lbGVtZW50IGlucHV0OmZvY3VzIH4gLmZvcm11bGF0ZS1pbnB1dC1lbGVtZW50LWRlY29yYXRvciB7XG4gICAgICBib3JkZXItY29sb3I6ICM0MWI4ODM7IH1cbiAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSdib3gnXSAuZm9ybXVsYXRlLWlucHV0LWxhYmVsLS1hZnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IC41ZW07IH1cbiAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSdib3gnXSAuZm9ybXVsYXRlLWlucHV0LWxhYmVsLS1iZWZvcmUge1xuICAgIG1hcmdpbi1yaWdodDogLjVlbTsgfVxuICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJncm91cFwiXSA+IC5mb3JtdWxhdGUtaW5wdXQtd3JhcHBlciA+IC5mb3JtdWxhdGUtaW5wdXQtbGFiZWwge1xuICAgIG1hcmdpbi1ib3R0b206IC41ZW07IH1cbiAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPVwiZmlsZVwiXSAuZm9ybXVsYXRlLWlucHV0LXVwbG9hZC1hcmVhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMmVtIDA7IH1cbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtaW5wdXQtdXBsb2FkLWFyZWEgaW5wdXQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDU7IH1cbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtaW5wdXQtdXBsb2FkLWFyZWFbZGF0YS1oYXMtZmlsZXNdIHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1pbnB1dC11cGxvYWQtYXJlYVtkYXRhLWhhcy1maWxlc10gaW5wdXQge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPVwiZmlsZVwiXSAuZm9ybXVsYXRlLWlucHV0LXVwbG9hZC1hcmVhLW1hc2sge1xuICAgICAgYm9yZGVyLXJhZGl1czogLjRlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGJvcmRlcjogMnB4IGRhc2hlZCAjYThhOGE4O1xuICAgICAgei1pbmRleDogMjsgfVxuICAgICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPVwiZmlsZVwiXSAuZm9ybXVsYXRlLWlucHV0LXVwbG9hZC1hcmVhLW1hc2s6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYThhOGE4O1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNTggNThcIj48cGF0aCBkPVwiTTI5LDU4QTI5LDI5LDAsMSwwLDAsMjksMjksMjksMCwwLDAsMjksNThaTTI5LDRBMjUsMjUsMCwxLDEsNCwyOSwyNSwyNSwwLDAsMSwyOSw0WlwiLz48cG9seWdvbiBwb2ludHM9XCIyNyAyMiAyNyA0NC40IDMxIDQ0LjQgMzEgMjIgNDEuNyAzMS4xIDQ0LjMgMjguMSAyOSAxNSAxMy43IDI4LjEgMTYuMyAzMS4xIDI3IDIyXCIvPjwvc3ZnPicpO1xuICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAyZW07XG4gICAgICAgIGhlaWdodDogMmVtO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPVwiZmlsZVwiXSAuZm9ybXVsYXRlLWlucHV0LXVwbG9hZC1hcmVhIGlucHV0OmZvY3VzIH4gLmZvcm11bGF0ZS1pbnB1dC11cGxvYWQtYXJlYS1tYXNrLFxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1pbnB1dC11cGxvYWQtYXJlYSBpbnB1dDpob3ZlciB+IC5mb3JtdWxhdGUtaW5wdXQtdXBsb2FkLWFyZWEtbWFzayxcbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtaW5wdXQtdXBsb2FkLWFyZWEgaW5wdXRbZGF0YS1pcy1kcmFnLWhvdmVyXSB+IC5mb3JtdWxhdGUtaW5wdXQtdXBsb2FkLWFyZWEtbWFzayB7XG4gICAgICBib3JkZXItY29sb3I6ICM0MWI4ODM7IH1cbiAgICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1pbnB1dC11cGxvYWQtYXJlYSBpbnB1dDpmb2N1cyB+IC5mb3JtdWxhdGUtaW5wdXQtdXBsb2FkLWFyZWEtbWFzazo6YmVmb3JlLFxuICAgICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPVwiZmlsZVwiXSAuZm9ybXVsYXRlLWlucHV0LXVwbG9hZC1hcmVhIGlucHV0OmhvdmVyIH4gLmZvcm11bGF0ZS1pbnB1dC11cGxvYWQtYXJlYS1tYXNrOjpiZWZvcmUsXG4gICAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtaW5wdXQtdXBsb2FkLWFyZWEgaW5wdXRbZGF0YS1pcy1kcmFnLWhvdmVyXSB+IC5mb3JtdWxhdGUtaW5wdXQtdXBsb2FkLWFyZWEtbWFzazo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQxYjg4MzsgfVxuICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtZmlsZXMge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1maWxlcyAuZm9ybXVsYXRlLWZpbGUtcHJvZ3Jlc3Mge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NlY2VjZTtcbiAgICAgIGhlaWdodDogLjNlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEuMjVlbTtcbiAgICAgIHdpZHRoOiA1ZW07XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IC43NWVtO1xuICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IC4yNXMsIHdpZHRoIC4yNXM7XG4gICAgICB6LWluZGV4OiAyOyB9XG4gICAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtZmlsZXMgLmZvcm11bGF0ZS1maWxlLXByb2dyZXNzOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMDgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTAwIDEwMFwiPjxwYXRoIGQ9XCJNOC43Niw1Ni4yYy02LjM4LTYuMzQsMy4yNi0xNiw5LjY0LTkuNjlMMzgsNjUuODgsODAuNTYsMjMuMjljNi4zOC02LjM4LDE2LjA3LDMuMzIsOS42OSw5LjY5TDQyLjg0LDgwLjM3YTYuODMsNi44MywwLDAsMS05LjY1LDBaXCIvPjwvc3ZnPicpO1xuICAgICAgICBtYXNrLXNpemU6IDc3JTtcbiAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICB6LWluZGV4OiAzOyB9XG4gICAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtZmlsZXMgLmZvcm11bGF0ZS1maWxlLXByb2dyZXNzW2RhdGEtanVzdC1maW5pc2hlZF0ge1xuICAgICAgICB3aWR0aDogMS4yNWVtO1xuICAgICAgICBoZWlnaHQ6IDEuMjVlbTsgfVxuICAgICAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtZmlsZXMgLmZvcm11bGF0ZS1maWxlLXByb2dyZXNzW2RhdGEtanVzdC1maW5pc2hlZF06OmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4yNXMgLjJzLCBvcGFjaXR5IC4yNXMgLjJzO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPVwiZmlsZVwiXSAuZm9ybXVsYXRlLWZpbGVzIC5mb3JtdWxhdGUtZmlsZS1wcm9ncmVzc1tkYXRhLWlzLWZpbmlzaGVkXSB7XG4gICAgICAgIHRyYW5zaXRpb246IGhlaWdodCAuMjVzLCB3aWR0aCAuMjVzLCBsZWZ0IC4yNXMsIHRvcCwgLjI1cywgYm9yZGVyLXJhZGl1cyAuMjVzO1xuICAgICAgICB3aWR0aDogLjNlbTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgICAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtZmlsZXMgLmZvcm11bGF0ZS1maWxlLXByb2dyZXNzW2RhdGEtaXMtZmluaXNoZWRdOjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjFzO1xuICAgICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1maWxlcyAuZm9ybXVsYXRlLWZpbGUtcHJvZ3Jlc3MgLmZvcm11bGF0ZS1maWxlLXByb2dyZXNzLWlubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQxYjg4MztcbiAgICAgICAgd2lkdGg6IDElO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB6LWluZGV4OiAyOyB9XG4gICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPVwiZmlsZVwiXSAuZm9ybXVsYXRlLWZpbGVzIC5mb3JtdWFsdGUtZmlsZS1uYW1lIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMS41ZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyZW07IH1cbiAgICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1maWxlcyAuZm9ybXVhbHRlLWZpbGUtbmFtZTo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAuN2VtO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogLS43ZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhOGE4YTg7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNjQuMDYgODMuNTlcIj48cGF0aCBkPVwiTTU1Ljk0LDgzLjU5YTguMTYsOC4xNiwwLDAsMCw4LjEyLTguMTZWMTkuMTJhMS43NywxLjc3LDAsMCwwLS41Mi0xLjI1TDQ2LjIxLjU5QTEuNjksMS42OSwwLDAsMCw0NS4xNC4wOEw0NC42OSwwbC0uMTgsMEg4LjEzQTguMTgsOC4xOCwwLDAsMCwwLDguMTZWNzUuNDFhOC4xNiw4LjE2LDAsMCwwLDguMTMsOC4xNkg1NS45NFpNNDYuNjgsNiw1OC4xMSwxNy4zOEg0Ni42OFpNMy41Miw3NS40M1Y4LjE2QTQuNjQsNC42NCwwLDAsMSw4LjEzLDMuNTJoMzVWMTkuMTZhMS43NSwxLjc1LDAsMCwwLDEuNzYsMS43NEg2MC41NVY3NS40M2E0LjY1LDQuNjUsMCwwLDEtNC42MSw0LjY1SDguMTNBNC42NSw0LjY1LDAsMCwxLDMuNTIsNzUuNDNaXCIvPjwvc3ZnPicpO1xuICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgIHdpZHRoOiAxLjI1ZW07XG4gICAgICAgIGhlaWdodDogMS4yNWVtO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLjVlbTsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1maWxlcyAuZm9ybXVsYXRlLWZpbGUtcmVtb3ZlIHtcbiAgICAgIHdpZHRoOiAxLjI1ZW07XG4gICAgICBoZWlnaHQ6IDEuMjVlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDFlbTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNhOGE4YTg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYThhOGE4O1xuICAgICAgbWFzay1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDU5LjEgNTkuMlwiPjxwYXRoIGQ9XCJNMS42LDU3LjdhNSw1LDAsMCwwLDMuNSwxLjUsNC44NSw0Ljg1LDAsMCwwLDMuNS0xLjVsMjEtMjEsMjEsMjFhNSw1LDAsMCwwLDMuNSwxLjUsNC44NSw0Ljg1LDAsMCwwLDMuNS0xLjUsNSw1LDAsMCwwLDAtNy4xbC0yMS0yMSwyMS0yMWE1LDUsMCwwLDAsMC03LjEsNSw1LDAsMCwwLTcuMSwwbC0yMSwyMUw4LjYsMS43YTUsNSwwLDAsMC03LjEsMCw1LDUsMCwwLDAsMCw3LjFsMjEsMjFMMS42LDUwLjdBNC44Myw0LjgzLDAsMCwwLDEuNiw1Ny43WlwiLz48L3N2Zz4nKTtcbiAgICAgIG1hc2stc2l6ZTogLjZlbTtcbiAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogLjc1ZW07XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4yNXM7IH1cbiAgICAgIEBtZWRpYSAocG9pbnRlcjogZmluZSkge1xuICAgICAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtZmlsZXMgLmZvcm11bGF0ZS1maWxlLXJlbW92ZTpob3ZlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpOyB9IH1cbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtZmlsZXMgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1maWxlcyBsaVtkYXRhLWhhcy1lcnJvcl0gLmZvcm11bGF0ZS1maWxlLXByb2dyZXNzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RjMmMyYzsgfVxuICAgICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPVwiZmlsZVwiXSAuZm9ybXVsYXRlLWZpbGVzIGxpICsgbGkge1xuICAgICAgICBtYXJnaW4tdG9wOiAuNWVtOyB9XG4gICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPVwiZmlsZVwiXSAuZm9ybXVsYXRlLWZpbGVzIC5mb3JtdWxhdGUtZmlsZSB7XG4gICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogLjNlbTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjZWNlY2U7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBmb250LXNpemU6IC45ZW07XG4gICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCI7XG4gICAgICBwYWRkaW5nOiAuNzVlbTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMWVtO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPVwiZmlsZVwiXSAuZm9ybXVsYXRlLWZpbGVzIC5mb3JtdWxhdGUtZmlsZTo6cGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogI2E4YThhODsgfVxuICAgICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPVwiZmlsZVwiXSAuZm9ybXVsYXRlLWZpbGVzIC5mb3JtdWxhdGUtZmlsZTpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MWI4ODM7IH1cbiAgICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1maWxlcyAuZm9ybXVsYXRlLWZpbGUgOjotd2Via2l0LXByb2dyZXNzLWJhciB7XG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIGhlaWdodDogLjVlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogLjVlbTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIFtkYXRhLXR5cGU9XCJpbWFnZVwiXSAuZm9ybXVsYXRlLWlucHV0LXVwbG9hZC1hcmVhIC5mb3JtdWxhdGUtaW5wdXQtdXBsb2FkLWFyZWEtbWFzazo6YmVmb3JlIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgOTAgNzEuMDVcIj48cGF0aCBkPVwiTTgyLjg5LDBINy4xQTcuMTIsNy4xMiwwLDAsMCwwLDcuMTFWNjRhNy4xMSw3LjExLDAsMCwwLDcuMSw3LjFIODIuOUE3LjExLDcuMTEsMCwwLDAsOTAsNjRWNy4xMUE3LjEyLDcuMTIsMCwwLDAsODIuODksMFpNNjkuMjgsMzkuMzVhNS40NCw1LjQ0LDAsMCwwLTgsMEw1MC41OCw1MC43NCwzMi4zOCwzMC44OGE1LjMxLDUuMzEsMCwwLDAtNy45MiwwTDQuNzQsNTIuNFY3LjExQTIuMzcsMi4zNywwLDAsMSw3LjExLDQuNzRIODIuOWEyLjM3LDIuMzcsMCwwLDEsMi4zNiwyLjM3VjU2LjNaXCIvPjxjaXJjbGUgY3g9XCI2Ny43NFwiIGN5PVwiMjIuMjZcIiByPVwiOC41M1wiLz48L3N2Zz4nKTsgfVxuIl19 */ \ No newline at end of file +.formulate-input{margin-bottom:2em}.formulate-input .formulate-input-label{display:block;line-height:1.5;font-size:.9em;font-weight:600;margin-bottom:.1em}.formulate-input .formulate-input-element{max-width:20em;margin-bottom:.1em}.formulate-input .formulate-input-help{color:#6d6d6d;font-size:.7em;font-weight:400;line-height:1.5;margin-bottom:.25em}.formulate-input .formulate-input-errors{list-style-type:none;padding:0;margin:0}.formulate-input .formulate-file-upload-error,.formulate-input .formulate-input-error{color:#960505;font-size:.8em;font-weight:300;line-height:1.5;margin-bottom:.25em}.formulate-input .formulate-input-group-item{margin-bottom:.5em}.formulate-input:last-child{margin-bottom:0}.formulate-input[data-classification=text] input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.3em;border:1px solid #cecece;box-sizing:border-box;background-color:transparent;font-size:.9em;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;padding:.75em;display:block;width:100%;font-weight:400;line-height:1.1em;margin:0}.formulate-input[data-classification=text] input::-webkit-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=text] input::-moz-placeholder{color:#a8a8a8}.formulate-input[data-classification=text] input:-ms-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=text] input::-ms-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=text] input::placeholder{color:#a8a8a8}.formulate-input[data-classification=text] input:focus{outline:0;border:1px solid #41b883}.formulate-input[data-classification=text] input[type=color]{height:1.1em;box-sizing:content-box}.formulate-input[data-classification=text] input[type=color]::-webkit-color-swatch-wrapper{padding:0 0 0 1.5em;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;background-image:url('data:image/svg+xml;utf8,');background-repeat:no-repeat;background-size:.9em .9em;background-position:left .1em}.formulate-input[data-classification=text] input[type=color]::-webkit-color-swatch{display:block;height:1em;border-radius:.2em;border:0;-webkit-box-flex:1;flex:auto}.formulate-input[data-classification=text] input[type=color]::-moz-color-swatch{display:block;height:1em;border-radius:.2em;border:0;flex:auto}.formulate-input[data-classification=slider] input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;font-size:1em;padding:.5em 0}.formulate-input[data-classification=slider] input:focus{outline:0}.formulate-input[data-classification=slider] input::-webkit-slider-thumb{cursor:pointer;-webkit-appearance:none;appearance:none;width:1em;height:1em;border-radius:1em;background-color:#41b883;margin-top:calc(-.5em + 2px)}.formulate-input[data-classification=slider] input::-moz-range-thumb{cursor:pointer;-moz-appearance:none;appearance:none;width:1em;height:1em;border-radius:1em;background-color:#41b883;margin-top:calc(-.5em + 2px)}.formulate-input[data-classification=slider] input::-ms-thumb{cursor:pointer;appearance:none;width:1em;height:1em;border-radius:1em;background-color:#41b883;margin-top:calc(-.5em + 2px)}.formulate-input[data-classification=slider] input::-webkit-slider-runnable-track{-webkit-appearance:none;appearance:none;width:100%;height:4px;background-color:#efefef;border-radius:3px;margin:0;padding:0}.formulate-input[data-classification=textarea] textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.3em;border:1px solid #cecece;box-sizing:border-box;background-color:transparent;font-size:.9em;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;padding:.75em;display:block;width:100%;font-weight:400;line-height:1.1em;margin:0}.formulate-input[data-classification=textarea] textarea::-webkit-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=textarea] textarea::-moz-placeholder{color:#a8a8a8}.formulate-input[data-classification=textarea] textarea:-ms-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=textarea] textarea::-ms-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=textarea] textarea::placeholder{color:#a8a8a8}.formulate-input[data-classification=textarea] textarea:focus{outline:0;border:1px solid #41b883}.formulate-input[data-classification=select] .formulate-input-element{position:relative}.formulate-input[data-classification=select] .formulate-input-element:before{content:"";width:0;height:0;border-color:#cecece transparent transparent;border-style:solid;border-width:.3em .3em 0;top:50%;margin-top:-.1em;right:1em;position:absolute}.formulate-input[data-classification=select] select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.3em;border:1px solid #cecece;box-sizing:border-box;background-color:transparent;font-size:.9em;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;display:block;width:100%;font-weight:400;line-height:1.1em;margin:0;padding:.75em 2em .75em .75em}.formulate-input[data-classification=select] select::-webkit-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=select] select::-moz-placeholder{color:#a8a8a8}.formulate-input[data-classification=select] select:-ms-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=select] select::-ms-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=select] select::placeholder{color:#a8a8a8}.formulate-input[data-classification=select] select:focus{outline:0;border:1px solid #41b883}.formulate-input[data-classification=select] select[data-placeholder-selected]{color:#a8a8a8}.formulate-input[data-classification=box] .formulate-input-element,.formulate-input[data-classification=box] .formulate-input-wrapper{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.formulate-input[data-classification=box] .formulate-input-element{overflow:hidden}.formulate-input[data-classification=box] .formulate-input-element input{position:absolute;left:-999px}.formulate-input[data-classification=box] .formulate-input-element-decorator{display:block;width:1em;height:1em;border-radius:.25em;border:1px solid #cecece;position:relative}.formulate-input[data-classification=box] .formulate-input-element-decorator:before{content:"";display:block;background-size:contain;background-position:100%;width:calc(100% - .125em);height:calc(100% - .125em);box-sizing:border-box;position:absolute;top:.0625em;left:.0625em}.formulate-input[data-classification=box] .formulate-input-element[data-type=radio] .formulate-input-element-decorator{border-radius:1em}.formulate-input[data-classification=box] .formulate-input-element[data-type=radio] .formulate-input-element-decorator:before{border-radius:1em;width:calc(100% - .5em);height:calc(100% - .5em);top:.25em;left:.25em}.formulate-input[data-classification=box] .formulate-input-element input[type=checkbox]:checked~.formulate-input-element-decorator{border-color:#41b883}.formulate-input[data-classification=box] .formulate-input-element input[type=checkbox]:checked~.formulate-input-element-decorator:before{background-color:#41b883;-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,')}.formulate-input[data-classification=box] .formulate-input-element input[type=radio]:checked~.formulate-input-element-decorator{border-color:#41b883}.formulate-input[data-classification=box] .formulate-input-element input[type=radio]:checked~.formulate-input-element-decorator:before{background-color:#41b883}.formulate-input[data-classification=box] .formulate-input-element input:focus~.formulate-input-element-decorator{border-color:#41b883}.formulate-input[data-classification=box] .formulate-input-label--after{margin-left:.5em}.formulate-input[data-classification=box] .formulate-input-label--before{margin-right:.5em}.formulate-input[data-classification=group]>.formulate-input-wrapper>.formulate-input-label{margin-bottom:.5em}.formulate-input[data-classification=file] .formulate-input-upload-area{width:100%;position:relative;padding:2em 0}.formulate-input[data-classification=file] .formulate-input-upload-area input{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;opacity:0;position:absolute;left:0;right:0;bottom:0;top:0;width:100%;height:100%;z-index:5}.formulate-input[data-classification=file] .formulate-input-upload-area[data-has-files]{padding:0}.formulate-input[data-classification=file] .formulate-input-upload-area[data-has-files] input{display:none}.formulate-input[data-classification=file] .formulate-input-upload-area-mask{border-radius:.4em;pointer-events:none;position:absolute;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;left:0;right:0;top:0;bottom:0;border:2px dashed #a8a8a8;z-index:2}.formulate-input[data-classification=file] .formulate-input-upload-area-mask:before{content:"";background-color:#a8a8a8;-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,');-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;width:2em;height:2em;position:absolute;pointer-events:none}.formulate-input[data-classification=file] .formulate-input-upload-area input:focus~.formulate-input-upload-area-mask,.formulate-input[data-classification=file] .formulate-input-upload-area input:hover~.formulate-input-upload-area-mask,.formulate-input[data-classification=file] .formulate-input-upload-area input[data-is-drag-hover]~.formulate-input-upload-area-mask{border-color:#41b883}.formulate-input[data-classification=file] .formulate-input-upload-area input:focus~.formulate-input-upload-area-mask:before,.formulate-input[data-classification=file] .formulate-input-upload-area input:hover~.formulate-input-upload-area-mask:before,.formulate-input[data-classification=file] .formulate-input-upload-area input[data-is-drag-hover]~.formulate-input-upload-area-mask:before{background-color:#41b883}.formulate-input[data-classification=file] .formulate-files{list-style-type:none;margin:0;padding:0}.formulate-input[data-classification=file] .formulate-files .formulate-file-progress{background-color:#cecece;height:.3em;border-radius:1.25em;width:5em;overflow:hidden;position:absolute;right:.75em;-webkit-transition:height .25s,width .25s;transition:height .25s,width .25s;z-index:2}.formulate-input[data-classification=file] .formulate-files .formulate-file-progress:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;display:block;opacity:0;-webkit-transform:scale(.08);transform:scale(.08);background-color:#fff;-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,');-webkit-mask-size:77%;mask-size:77%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;z-index:3}.formulate-input[data-classification=file] .formulate-files .formulate-file-progress[data-just-finished]{width:1.25em;height:1.25em}.formulate-input[data-classification=file] .formulate-files .formulate-file-progress[data-just-finished]:before{-webkit-transition:opacity .25s .2s,-webkit-transform .25s .2s;transition:opacity .25s .2s,-webkit-transform .25s .2s;transition:transform .25s .2s,opacity .25s .2s;transition:transform .25s .2s,opacity .25s .2s,-webkit-transform .25s .2s;-webkit-transform:scale(1);transform:scale(1);opacity:1}.formulate-input[data-classification=file] .formulate-files .formulate-file-progress[data-is-finished]{-webkit-transition:height .25s,width .25s,left .25s,top,.25s,border-radius .25s;transition:height .25s,width .25s,left .25s,top,.25s,border-radius .25s;width:.3em;height:100%;right:0;border-radius:0}.formulate-input[data-classification=file] .formulate-files .formulate-file-progress[data-is-finished]:before{-webkit-transition:opacity .1s;transition:opacity .1s;opacity:0}.formulate-input[data-classification=file] .formulate-files .formulate-file-progress .formulate-file-progress-inner{background-color:#41b883;width:1%;position:absolute;left:0;bottom:0;top:0;z-index:2}.formulate-input[data-classification=file] .formulate-files .formualte-file-name{padding-left:1.5em;padding-right:2em}.formulate-input[data-classification=file] .formulate-files .formualte-file-name:before{position:absolute;left:.7em;top:50%;margin-top:-.7em;background-color:#a8a8a8;content:"";-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,');-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:1.25em;height:1.25em;display:inline-block;margin-right:.5em}.formulate-input[data-classification=file] .formulate-files .formulate-file-remove{width:1.25em;height:1.25em;border-radius:1em;border:1px solid #a8a8a8;background-color:#a8a8a8;-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,');-webkit-mask-size:.6em;mask-size:.6em;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;cursor:pointer;position:absolute;right:.75em;z-index:1;-webkit-transition:-webkit-transform .25s;transition:-webkit-transform .25s;transition:transform .25s;transition:transform .25s,-webkit-transform .25s}@media (pointer:fine){.formulate-input[data-classification=file] .formulate-files .formulate-file-remove:hover{-webkit-transform:scale(1.5);transform:scale(1.5)}}.formulate-input[data-classification=file] .formulate-files li{display:block}.formulate-input[data-classification=file] .formulate-files li[data-has-error] .formulate-file-progress{background-color:#dc2c2c}.formulate-input[data-classification=file] .formulate-files li[data-has-preview] .formualte-file-name:before{display:none}.formulate-input[data-classification=file] .formulate-files li+li{margin-top:.5em}.formulate-input[data-classification=file] .formulate-files .formulate-file{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.3em;border:1px solid #cecece;box-sizing:border-box;background-color:transparent;font-size:.9em;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;padding:.75em;font-weight:400;line-height:1.1em;margin:0;display:block;width:100%;display:-webkit-box;display:flex;-webkit-box-pack:start;justify-content:flex-start;-webkit-box-align:center;align-items:center;position:relative;overflow:hidden}.formulate-input[data-classification=file] .formulate-files .formulate-file::-webkit-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=file] .formulate-files .formulate-file::-moz-placeholder{color:#a8a8a8}.formulate-input[data-classification=file] .formulate-files .formulate-file:-ms-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=file] .formulate-files .formulate-file::-ms-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=file] .formulate-files .formulate-file::placeholder{color:#a8a8a8}.formulate-input[data-classification=file] .formulate-files .formulate-file:focus{outline:0;border:1px solid #41b883}.formulate-input[data-classification=file] .formulate-files .formulate-file ::-webkit-progress-bar{-webkit-appearance:none;appearance:none;height:.5em;border-radius:.5em;overflow:hidden}.formulate-input[data-classification=file] .formulate-files .formulate-file-image-preview{width:3em;height:3em;position:relative;z-index:2;left:-1px;box-shadow:0 0 0 1px #efefef}.formulate-input[data-classification=file] .formulate-files .formulate-file-image-preview img{display:block;position:absolute;width:100%;height:100%;left:0;right:0;bottom:0;top:0;-o-object-fit:cover;object-fit:cover}.formulate-input[data-classification=file] [data-type=image] .formulate-input-upload-area .formulate-input-upload-area-mask:before{-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,')} +/*# sourceMappingURL=data:application/json;base64,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LmZvcm11bGF0ZS1pbnB1dCB7XG4gIG1hcmdpbi1ib3R0b206IDJlbTsgfVxuICAuZm9ybXVsYXRlLWlucHV0IC5mb3JtdWxhdGUtaW5wdXQtbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgZm9udC1zaXplOiAuOWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogLjFlbTsgfVxuICAuZm9ybXVsYXRlLWlucHV0IC5mb3JtdWxhdGUtaW5wdXQtZWxlbWVudCB7XG4gICAgbWF4LXdpZHRoOiAyMGVtO1xuICAgIG1hcmdpbi1ib3R0b206IC4xZW07IH1cbiAgLmZvcm11bGF0ZS1pbnB1dCAuZm9ybXVsYXRlLWlucHV0LWhlbHAge1xuICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgIGZvbnQtc2l6ZTogLjdlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgbWFyZ2luLWJvdHRvbTogLjI1ZW07IH1cbiAgLmZvcm11bGF0ZS1pbnB1dCAuZm9ybXVsYXRlLWlucHV0LWVycm9ycyB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5mb3JtdWxhdGUtaW5wdXQgLmZvcm11bGF0ZS1pbnB1dC1lcnJvcixcbiAgLmZvcm11bGF0ZS1pbnB1dCAuZm9ybXVsYXRlLWZpbGUtdXBsb2FkLWVycm9yIHtcbiAgICBjb2xvcjogIzk2MDUwNTtcbiAgICBmb250LXNpemU6IC44ZW07XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIG1hcmdpbi1ib3R0b206IC4yNWVtOyB9XG4gIC5mb3JtdWxhdGUtaW5wdXQgLmZvcm11bGF0ZS1pbnB1dC1ncm91cC1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAuNWVtOyB9XG4gIC5mb3JtdWxhdGUtaW5wdXQ6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249J3RleHQnXSBpbnB1dCB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAuM2VtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjZWNlY2U7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBmb250LXNpemU6IC45ZW07XG4gICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiO1xuICAgIHBhZGRpbmc6IC43NWVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMWVtO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0ndGV4dCddIGlucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogI2E4YThhODsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0ndGV4dCddIGlucHV0OmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNDFiODgzOyB9XG4gIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0ndGV4dCddIGlucHV0W3R5cGU9XCJjb2xvclwiXSB7XG4gICAgaGVpZ2h0OiAxLjFlbTtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0ndGV4dCddIGlucHV0W3R5cGU9XCJjb2xvclwiXTo6LXdlYmtpdC1jb2xvci1zd2F0Y2gtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAxLjVlbTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDc5LjE3IDc5LjE3XCI+PHBhdGggZmlsbD1cIiUyMzZkNmQ2ZFwiIGQ9XCJNNDAuOCwyMi45MmMtMy40LTMuNC00Ljc2LTguNDQtMS0xMi4yNHM4Ljg0LTIuNDQsMTIuMjQsMWM1LTUsMTAuNjktMTMuMzMsMTguODEtMTEuMzFhMTEsMTEsMCwwLDEsNy42MiwxNC4zNGMtMS4yNiwzLjQ1LTQuNjMsNi4wNi03LjE2LDguNTktLjkyLjkzLTMsMi4yNi0zLjQ2LDMuNDYtLjQyLDEsMS44MiwyLjYzLDIuMzYsNGE4LDgsMCwwLDEtMTIuNDIsOS4xOWMtLjIxLS4xNi0xLjM1LTEuNTEtMS41OS0xLjUxcy0uODMuODMtMSwxTDQ5LjcxLDQ0LjksMzIuNDMsNjIuMThjLTMuMzcsMy4zOC02LjYsNy4xNC0xMC4yNiwxMC4yMWExMSwxMSwwLDAsMS00LjQ4LDIuMjhjLTEuMjUuMy0zLjExLS4yMi00LjE4LjE4LTEuMjguNDgtMi40MiwyLjY1LTMuNjgsMy40LTYuMDUsMy42MS0xMi42NC00LTguNDYtOS41Ny43My0xLDIuNTMtMS45MiwzLTNhMTQuNDYsMTQuNDYsMCwwLDAtLjA5LTIuNTIsMTAuNzUsMTAuNzUsMCwwLDEsMy4xNC02Ljc3Yy45Mi0xLDEuOTMtMS45MywyLjg5LTIuOVptNC40LTEuNWM0LjE5LDQsOC4yNCw4LjI0LDEyLjM2LDEyLjM2LDIuMDYsMi4wNiw1LDUuNTksOCwyLjYxLDQuNjUtNC42Mi01LTYuOC0yLjQyLTEwLjc4QzY2LjMsMjAuNyw3Ni40LDE2LjQ4LDc0Ljg0LDkuNDUsNzMuNjIsNCw2Ny4xMiwyLjc4LDYzLjI5LDYuMzJjLTIuNTUsMi4zNi00LjkzLDQuOTQtNy4zOSw3LjQtLjc5Ljc4LTEuOCwyLjI4LTIuODgsMi43My0yLjE0Ljg4LTMuNC0xLjYyLTQuNzktMi43Ny0yLjU4LTIuMTQtNi44OS0uODItNi41MywzQzQxLjg5LDE4LjY4LDQzLjg3LDIwLjA5LDQ1LjIsMjEuNDJabS0xLjQ1LDQuNDRMMjcuODIsNDEuNzlDMjIsNDcuNTcsMTUuODksNTMuMTQsMTAuNDEsNTkuMmE4LjIzLDguMjMsMCwwLDAtMS40NCwyYy0uOTMsMiwuMjUsNC4xNC0uNSw2UzQuOTIsNjkuOTQsNC4zLDcyYTIuMzQsMi4zNCwwLDAsMCwyLjU2LDNjMS4xMS0uMTcsMi0xLjMzLDIuNzEtMi4wN2ExMS4xNywxMS4xNywwLDAsMSwyLjA4LTJjMS42OC0uOTQsNCwuMTcsNS45My0uNTdDMjAsNjkuNDEsMjIsNjYuNzMsMjMuNzYsNjVMMzQuNDIsNTQuMyw1My4zLDM1LjQyWlwiLz48L3N2Zz4nKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IC45ZW0gLjllbTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgLjFlbTsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0ndGV4dCddIGlucHV0W3R5cGU9XCJjb2xvclwiXTo6LXdlYmtpdC1jb2xvci1zd2F0Y2gge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IC4yZW07XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBmbGV4OiBhdXRvOyB9XG4gICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSd0ZXh0J10gaW5wdXRbdHlwZT1cImNvbG9yXCJdOjotbW96LWNvbG9yLXN3YXRjaCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMWVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogLjJlbTtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGZsZXg6IGF1dG87IH1cbiAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSdzbGlkZXInXSBpbnB1dCB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBwYWRkaW5nOiAuNWVtIDA7IH1cbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249J3NsaWRlciddIGlucHV0OmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249J3NsaWRlciddIGlucHV0Ojotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgd2lkdGg6IDFlbTtcbiAgICAgIGhlaWdodDogMWVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogMWVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQxYjg4MztcbiAgICAgIG1hcmdpbi10b3A6IGNhbGMoLS41ZW0gKyAycHgpOyB9XG4gICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSdzbGlkZXInXSBpbnB1dDo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgd2lkdGg6IDFlbTtcbiAgICAgIGhlaWdodDogMWVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogMWVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQxYjg4MztcbiAgICAgIG1hcmdpbi10b3A6IGNhbGMoLS41ZW0gKyAycHgpOyB9XG4gICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSdzbGlkZXInXSBpbnB1dDo6LW1zLXRodW1iIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICB3aWR0aDogMWVtO1xuICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICBib3JkZXItcmFkaXVzOiAxZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDFiODgzO1xuICAgICAgbWFyZ2luLXRvcDogY2FsYygtLjVlbSArIDJweCk7IH1cbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249J3NsaWRlciddIGlucHV0Ojotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDRweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0ndGV4dGFyZWEnXSB0ZXh0YXJlYSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAuM2VtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjZWNlY2U7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBmb250LXNpemU6IC45ZW07XG4gICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiO1xuICAgIHBhZGRpbmc6IC43NWVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMWVtO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0ndGV4dGFyZWEnXSB0ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICNhOGE4YTg7IH1cbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249J3RleHRhcmVhJ10gdGV4dGFyZWE6Zm9jdXMge1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MWI4ODM7IH1cbiAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSdzZWxlY3QnXSAuZm9ybXVsYXRlLWlucHV0LWVsZW1lbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0nc2VsZWN0J10gLmZvcm11bGF0ZS1pbnB1dC1lbGVtZW50OjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGJvcmRlcjogLjNlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICNjZWNlY2U7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtLjFlbTtcbiAgICAgIHJpZ2h0OiAxZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSdzZWxlY3QnXSBzZWxlY3Qge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogLjNlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2VjZWNlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgZm9udC1zaXplOiAuOWVtO1xuICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIjtcbiAgICBwYWRkaW5nOiAuNzVlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjFlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy1yaWdodDogMmVtOyB9XG4gICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSdzZWxlY3QnXSBzZWxlY3Q6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAjYThhOGE4OyB9XG4gICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSdzZWxlY3QnXSBzZWxlY3Q6Zm9jdXMge1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MWI4ODM7IH1cbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249J3NlbGVjdCddIHNlbGVjdFtkYXRhLXBsYWNlaG9sZGVyLXNlbGVjdGVkXSB7XG4gICAgICBjb2xvcjogI2E4YThhODsgfVxuICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249J2JveCddIC5mb3JtdWxhdGUtaW5wdXQtd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0nYm94J10gLmZvcm11bGF0ZS1pbnB1dC1lbGVtZW50IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0nYm94J10gLmZvcm11bGF0ZS1pbnB1dC1lbGVtZW50IGlucHV0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IC05OTlweDsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0nYm94J10gLmZvcm11bGF0ZS1pbnB1dC1lbGVtZW50LWRlY29yYXRvciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxZW07XG4gICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IC4yNWVtO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NlY2VjZTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSdib3gnXSAuZm9ybXVsYXRlLWlucHV0LWVsZW1lbnQtZGVjb3JhdG9yOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQ7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAuMTI1ZW0pO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIC4xMjVlbSk7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAuMDYyNWVtO1xuICAgICAgICBsZWZ0OiAuMDYyNWVtOyB9XG4gICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSdib3gnXSAuZm9ybXVsYXRlLWlucHV0LWVsZW1lbnRbZGF0YS10eXBlPVwicmFkaW9cIl0gLmZvcm11bGF0ZS1pbnB1dC1lbGVtZW50LWRlY29yYXRvciB7XG4gICAgICBib3JkZXItcmFkaXVzOiAxZW07IH1cbiAgICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0nYm94J10gLmZvcm11bGF0ZS1pbnB1dC1lbGVtZW50W2RhdGEtdHlwZT1cInJhZGlvXCJdIC5mb3JtdWxhdGUtaW5wdXQtZWxlbWVudC1kZWNvcmF0b3I6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDFlbTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIC41ZW0pO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIC41ZW0pO1xuICAgICAgICB0b3A6IC4yNWVtO1xuICAgICAgICBsZWZ0OiAuMjVlbTsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0nYm94J10gLmZvcm11bGF0ZS1pbnB1dC1lbGVtZW50IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkIH4gLmZvcm11bGF0ZS1pbnB1dC1lbGVtZW50LWRlY29yYXRvciB7XG4gICAgICBib3JkZXItY29sb3I6ICM0MWI4ODM7IH1cbiAgICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0nYm94J10gLmZvcm11bGF0ZS1pbnB1dC1lbGVtZW50IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkIH4gLmZvcm11bGF0ZS1pbnB1dC1lbGVtZW50LWRlY29yYXRvcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQxYjg4MztcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDEwMCAxMDBcIj48cGF0aCBkPVwiTTguNzYsNTYuMmMtNi4zOC02LjM0LDMuMjYtMTYsOS42NC05LjY5TDM4LDY1Ljg4LDgwLjU2LDIzLjI5YzYuMzgtNi4zOCwxNi4wNywzLjMyLDkuNjksOS42OUw0Mi44NCw4MC4zN2E2LjgzLDYuODMsMCwwLDEtOS42NSwwWlwiLz48L3N2Zz4nKTsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0nYm94J10gLmZvcm11bGF0ZS1pbnB1dC1lbGVtZW50IGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkIH4gLmZvcm11bGF0ZS1pbnB1dC1lbGVtZW50LWRlY29yYXRvciB7XG4gICAgICBib3JkZXItY29sb3I6ICM0MWI4ODM7IH1cbiAgICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0nYm94J10gLmZvcm11bGF0ZS1pbnB1dC1lbGVtZW50IGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkIH4gLmZvcm11bGF0ZS1pbnB1dC1lbGVtZW50LWRlY29yYXRvcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQxYjg4MzsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0nYm94J10gLmZvcm11bGF0ZS1pbnB1dC1lbGVtZW50IGlucHV0OmZvY3VzIH4gLmZvcm11bGF0ZS1pbnB1dC1lbGVtZW50LWRlY29yYXRvciB7XG4gICAgICBib3JkZXItY29sb3I6ICM0MWI4ODM7IH1cbiAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSdib3gnXSAuZm9ybXVsYXRlLWlucHV0LWxhYmVsLS1hZnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IC41ZW07IH1cbiAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSdib3gnXSAuZm9ybXVsYXRlLWlucHV0LWxhYmVsLS1iZWZvcmUge1xuICAgIG1hcmdpbi1yaWdodDogLjVlbTsgfVxuICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJncm91cFwiXSA+IC5mb3JtdWxhdGUtaW5wdXQtd3JhcHBlciA+IC5mb3JtdWxhdGUtaW5wdXQtbGFiZWwge1xuICAgIG1hcmdpbi1ib3R0b206IC41ZW07IH1cbiAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPVwiZmlsZVwiXSAuZm9ybXVsYXRlLWlucHV0LXVwbG9hZC1hcmVhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMmVtIDA7IH1cbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtaW5wdXQtdXBsb2FkLWFyZWEgaW5wdXQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDU7IH1cbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtaW5wdXQtdXBsb2FkLWFyZWFbZGF0YS1oYXMtZmlsZXNdIHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1pbnB1dC11cGxvYWQtYXJlYVtkYXRhLWhhcy1maWxlc10gaW5wdXQge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPVwiZmlsZVwiXSAuZm9ybXVsYXRlLWlucHV0LXVwbG9hZC1hcmVhLW1hc2sge1xuICAgICAgYm9yZGVyLXJhZGl1czogLjRlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGJvcmRlcjogMnB4IGRhc2hlZCAjYThhOGE4O1xuICAgICAgei1pbmRleDogMjsgfVxuICAgICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPVwiZmlsZVwiXSAuZm9ybXVsYXRlLWlucHV0LXVwbG9hZC1hcmVhLW1hc2s6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYThhOGE4O1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNTggNThcIj48cGF0aCBkPVwiTTI5LDU4QTI5LDI5LDAsMSwwLDAsMjksMjksMjksMCwwLDAsMjksNThaTTI5LDRBMjUsMjUsMCwxLDEsNCwyOSwyNSwyNSwwLDAsMSwyOSw0WlwiLz48cG9seWdvbiBwb2ludHM9XCIyNyAyMiAyNyA0NC40IDMxIDQ0LjQgMzEgMjIgNDEuNyAzMS4xIDQ0LjMgMjguMSAyOSAxNSAxMy43IDI4LjEgMTYuMyAzMS4xIDI3IDIyXCIvPjwvc3ZnPicpO1xuICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAyZW07XG4gICAgICAgIGhlaWdodDogMmVtO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPVwiZmlsZVwiXSAuZm9ybXVsYXRlLWlucHV0LXVwbG9hZC1hcmVhIGlucHV0OmZvY3VzIH4gLmZvcm11bGF0ZS1pbnB1dC11cGxvYWQtYXJlYS1tYXNrLFxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1pbnB1dC11cGxvYWQtYXJlYSBpbnB1dDpob3ZlciB+IC5mb3JtdWxhdGUtaW5wdXQtdXBsb2FkLWFyZWEtbWFzayxcbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtaW5wdXQtdXBsb2FkLWFyZWEgaW5wdXRbZGF0YS1pcy1kcmFnLWhvdmVyXSB+IC5mb3JtdWxhdGUtaW5wdXQtdXBsb2FkLWFyZWEtbWFzayB7XG4gICAgICBib3JkZXItY29sb3I6ICM0MWI4ODM7IH1cbiAgICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1pbnB1dC11cGxvYWQtYXJlYSBpbnB1dDpmb2N1cyB+IC5mb3JtdWxhdGUtaW5wdXQtdXBsb2FkLWFyZWEtbWFzazo6YmVmb3JlLFxuICAgICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPVwiZmlsZVwiXSAuZm9ybXVsYXRlLWlucHV0LXVwbG9hZC1hcmVhIGlucHV0OmhvdmVyIH4gLmZvcm11bGF0ZS1pbnB1dC11cGxvYWQtYXJlYS1tYXNrOjpiZWZvcmUsXG4gICAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtaW5wdXQtdXBsb2FkLWFyZWEgaW5wdXRbZGF0YS1pcy1kcmFnLWhvdmVyXSB+IC5mb3JtdWxhdGUtaW5wdXQtdXBsb2FkLWFyZWEtbWFzazo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQxYjg4MzsgfVxuICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtZmlsZXMge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1maWxlcyAuZm9ybXVsYXRlLWZpbGUtcHJvZ3Jlc3Mge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NlY2VjZTtcbiAgICAgIGhlaWdodDogLjNlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEuMjVlbTtcbiAgICAgIHdpZHRoOiA1ZW07XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IC43NWVtO1xuICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IC4yNXMsIHdpZHRoIC4yNXM7XG4gICAgICB6LWluZGV4OiAyOyB9XG4gICAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtZmlsZXMgLmZvcm11bGF0ZS1maWxlLXByb2dyZXNzOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMDgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTAwIDEwMFwiPjxwYXRoIGQ9XCJNOC43Niw1Ni4yYy02LjM4LTYuMzQsMy4yNi0xNiw5LjY0LTkuNjlMMzgsNjUuODgsODAuNTYsMjMuMjljNi4zOC02LjM4LDE2LjA3LDMuMzIsOS42OSw5LjY5TDQyLjg0LDgwLjM3YTYuODMsNi44MywwLDAsMS05LjY1LDBaXCIvPjwvc3ZnPicpO1xuICAgICAgICBtYXNrLXNpemU6IDc3JTtcbiAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICB6LWluZGV4OiAzOyB9XG4gICAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtZmlsZXMgLmZvcm11bGF0ZS1maWxlLXByb2dyZXNzW2RhdGEtanVzdC1maW5pc2hlZF0ge1xuICAgICAgICB3aWR0aDogMS4yNWVtO1xuICAgICAgICBoZWlnaHQ6IDEuMjVlbTsgfVxuICAgICAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtZmlsZXMgLmZvcm11bGF0ZS1maWxlLXByb2dyZXNzW2RhdGEtanVzdC1maW5pc2hlZF06OmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4yNXMgLjJzLCBvcGFjaXR5IC4yNXMgLjJzO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPVwiZmlsZVwiXSAuZm9ybXVsYXRlLWZpbGVzIC5mb3JtdWxhdGUtZmlsZS1wcm9ncmVzc1tkYXRhLWlzLWZpbmlzaGVkXSB7XG4gICAgICAgIHRyYW5zaXRpb246IGhlaWdodCAuMjVzLCB3aWR0aCAuMjVzLCBsZWZ0IC4yNXMsIHRvcCwgLjI1cywgYm9yZGVyLXJhZGl1cyAuMjVzO1xuICAgICAgICB3aWR0aDogLjNlbTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgICAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtZmlsZXMgLmZvcm11bGF0ZS1maWxlLXByb2dyZXNzW2RhdGEtaXMtZmluaXNoZWRdOjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjFzO1xuICAgICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1maWxlcyAuZm9ybXVsYXRlLWZpbGUtcHJvZ3Jlc3MgLmZvcm11bGF0ZS1maWxlLXByb2dyZXNzLWlubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQxYjg4MztcbiAgICAgICAgd2lkdGg6IDElO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB6LWluZGV4OiAyOyB9XG4gICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPVwiZmlsZVwiXSAuZm9ybXVsYXRlLWZpbGVzIC5mb3JtdWFsdGUtZmlsZS1uYW1lIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMS41ZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyZW07IH1cbiAgICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1maWxlcyAuZm9ybXVhbHRlLWZpbGUtbmFtZTo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAuN2VtO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogLS43ZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhOGE4YTg7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNjQuMDYgODMuNTlcIj48cGF0aCBkPVwiTTU1Ljk0LDgzLjU5YTguMTYsOC4xNiwwLDAsMCw4LjEyLTguMTZWMTkuMTJhMS43NywxLjc3LDAsMCwwLS41Mi0xLjI1TDQ2LjIxLjU5QTEuNjksMS42OSwwLDAsMCw0NS4xNC4wOEw0NC42OSwwbC0uMTgsMEg4LjEzQTguMTgsOC4xOCwwLDAsMCwwLDguMTZWNzUuNDFhOC4xNiw4LjE2LDAsMCwwLDguMTMsOC4xNkg1NS45NFpNNDYuNjgsNiw1OC4xMSwxNy4zOEg0Ni42OFpNMy41Miw3NS40M1Y4LjE2QTQuNjQsNC42NCwwLDAsMSw4LjEzLDMuNTJoMzVWMTkuMTZhMS43NSwxLjc1LDAsMCwwLDEuNzYsMS43NEg2MC41NVY3NS40M2E0LjY1LDQuNjUsMCwwLDEtNC42MSw0LjY1SDguMTNBNC42NSw0LjY1LDAsMCwxLDMuNTIsNzUuNDNaXCIvPjwvc3ZnPicpO1xuICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgIHdpZHRoOiAxLjI1ZW07XG4gICAgICAgIGhlaWdodDogMS4yNWVtO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLjVlbTsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1maWxlcyAuZm9ybXVsYXRlLWZpbGUtcmVtb3ZlIHtcbiAgICAgIHdpZHRoOiAxLjI1ZW07XG4gICAgICBoZWlnaHQ6IDEuMjVlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDFlbTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNhOGE4YTg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYThhOGE4O1xuICAgICAgbWFzay1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDU5LjEgNTkuMlwiPjxwYXRoIGQ9XCJNMS42LDU3LjdhNSw1LDAsMCwwLDMuNSwxLjUsNC44NSw0Ljg1LDAsMCwwLDMuNS0xLjVsMjEtMjEsMjEsMjFhNSw1LDAsMCwwLDMuNSwxLjUsNC44NSw0Ljg1LDAsMCwwLDMuNS0xLjUsNSw1LDAsMCwwLDAtNy4xbC0yMS0yMSwyMS0yMWE1LDUsMCwwLDAsMC03LjEsNSw1LDAsMCwwLTcuMSwwbC0yMSwyMUw4LjYsMS43YTUsNSwwLDAsMC03LjEsMCw1LDUsMCwwLDAsMCw3LjFsMjEsMjFMMS42LDUwLjdBNC44Myw0LjgzLDAsMCwwLDEuNiw1Ny43WlwiLz48L3N2Zz4nKTtcbiAgICAgIG1hc2stc2l6ZTogLjZlbTtcbiAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogLjc1ZW07XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4yNXM7IH1cbiAgICAgIEBtZWRpYSAocG9pbnRlcjogZmluZSkge1xuICAgICAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtZmlsZXMgLmZvcm11bGF0ZS1maWxlLXJlbW92ZTpob3ZlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpOyB9IH1cbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtZmlsZXMgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1maWxlcyBsaVtkYXRhLWhhcy1lcnJvcl0gLmZvcm11bGF0ZS1maWxlLXByb2dyZXNzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RjMmMyYzsgfVxuICAgICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPVwiZmlsZVwiXSAuZm9ybXVsYXRlLWZpbGVzIGxpW2RhdGEtaGFzLXByZXZpZXddIC5mb3JtdWFsdGUtZmlsZS1uYW1lOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1maWxlcyBsaSArIGxpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLjVlbTsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1maWxlcyAuZm9ybXVsYXRlLWZpbGUge1xuICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IC4zZW07XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2VjZWNlO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgZm9udC1zaXplOiAuOWVtO1xuICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiO1xuICAgICAgcGFkZGluZzogLjc1ZW07XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjFlbTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1maWxlcyAuZm9ybXVsYXRlLWZpbGU6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6ICNhOGE4YTg7IH1cbiAgICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1maWxlcyAuZm9ybXVsYXRlLWZpbGU6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNDFiODgzOyB9XG4gICAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtZmlsZXMgLmZvcm11bGF0ZS1maWxlIDo6LXdlYmtpdC1wcm9ncmVzcy1iYXIge1xuICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBoZWlnaHQ6IC41ZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IC41ZW07XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtZmlsZXMgLmZvcm11bGF0ZS1maWxlLWltYWdlLXByZXZpZXcge1xuICAgICAgd2lkdGg6IDNlbTtcbiAgICAgIGhlaWdodDogM2VtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGxlZnQ6IC0xcHg7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2VmZWZlZjsgfVxuICAgICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPVwiZmlsZVwiXSAuZm9ybXVsYXRlLWZpbGVzIC5mb3JtdWxhdGUtZmlsZS1pbWFnZS1wcmV2aWV3IGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7IH1cbiAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPVwiZmlsZVwiXSBbZGF0YS10eXBlPVwiaW1hZ2VcIl0gLmZvcm11bGF0ZS1pbnB1dC11cGxvYWQtYXJlYSAuZm9ybXVsYXRlLWlucHV0LXVwbG9hZC1hcmVhLW1hc2s6OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDkwIDcxLjA1XCI+PHBhdGggZD1cIk04Mi44OSwwSDcuMUE3LjEyLDcuMTIsMCwwLDAsMCw3LjExVjY0YTcuMTEsNy4xMSwwLDAsMCw3LjEsNy4xSDgyLjlBNy4xMSw3LjExLDAsMCwwLDkwLDY0VjcuMTFBNy4xMiw3LjEyLDAsMCwwLDgyLjg5LDBaTTY5LjI4LDM5LjM1YTUuNDQsNS40NCwwLDAsMC04LDBMNTAuNTgsNTAuNzQsMzIuMzgsMzAuODhhNS4zMSw1LjMxLDAsMCwwLTcuOTIsMEw0Ljc0LDUyLjRWNy4xMUEyLjM3LDIuMzcsMCwwLDEsNy4xMSw0Ljc0SDgyLjlhMi4zNywyLjM3LDAsMCwxLDIuMzYsMi4zN1Y1Ni4zWlwiLz48Y2lyY2xlIGN4PVwiNjcuNzRcIiBjeT1cIjIyLjI2XCIgcj1cIjguNTNcIi8+PC9zdmc+Jyk7IH1cbiJdfQ== */ \ No newline at end of file diff --git a/src/FileUpload.js b/src/FileUpload.js index 85480d0..ad4e52f 100644 --- a/src/FileUpload.js +++ b/src/FileUpload.js @@ -38,7 +38,9 @@ class FileUpload { name: file.name || 'file-upload', file, uuid, - removeFile: removeFile.bind(this) + path: false, + removeFile: removeFile.bind(this), + previewData: false }) } } @@ -134,6 +136,20 @@ class FileUpload { } } + /** + * load image previews for all uploads. + */ + loadPreviews () { + this.files.map(file => { + console.log(file.type) + if (!file.previewData && window && window.FileReader && /^image\//.test(file.file.type)) { + const reader = new FileReader() + reader.onload = e => Object.assign(file, { previewData: e.target.result }) + reader.readAsDataURL(file.file) + } + }) + } + /** * Get the files. */ diff --git a/src/FormulateFiles.vue b/src/FormulateFiles.vue index 6049c5d..d8c4331 100644 --- a/src/FormulateFiles.vue +++ b/src/FormulateFiles.vue @@ -7,8 +7,17 @@ v-for="file in fileUploads" :key="file.uuid" :data-has-error="!!file.error" + :data-has-preview="imagePreview && file.previewData" >
+
+ +
diff --git a/src/FormulateInput.vue b/src/FormulateInput.vue index 6f4c04a..be965ef 100644 --- a/src/FormulateInput.vue +++ b/src/FormulateInput.vue @@ -137,9 +137,9 @@ export default { type: Boolean, default: false }, - showImage: { - type: Boolean, - default: true + imageBehavior: { + type: String, + default: 'preview' }, uploadUrl: { type: [String, Boolean], @@ -225,10 +225,7 @@ export default { }) ) .then(result => result.filter(result => result)) - .then(errorMessages => { - console.log('setting validation errors') - this.validationErrors = errorMessages - }) + .then(errorMessages => { this.validationErrors = errorMessages }) return this.pendingValidation }, hasValidationErrors () { diff --git a/src/inputs/FormulateInputFile.vue b/src/inputs/FormulateInputFile.vue index f100ced..02c2062 100644 --- a/src/inputs/FormulateInputFile.vue +++ b/src/inputs/FormulateInputFile.vue @@ -25,6 +25,7 @@
@@ -84,7 +85,6 @@ export default { if (this.context.uploadBehavior === 'live' && this.context.model instanceof FileUpload) { this.context.hasValidationErrors().then(errors => { - console.log('validation errors', errors) if (!errors) { this.context.model.upload() } diff --git a/src/libs/context.js b/src/libs/context.js index ea5a862..62f0f73 100644 --- a/src/libs/context.js +++ b/src/libs/context.js @@ -19,7 +19,7 @@ export default { labelPosition: this.logicalLabelPosition, attributes: this.elementAttributes, blurHandler: blurHandler.bind(this), - showImage: this.showImage, + imageBehavior: this.imageBehavior, uploadUrl: this.uploadUrl, uploader: this.uploader || this.$formulate.getUploader(), uploadBehavior: this.uploadBehavior, diff --git a/themes/snow/_inputs.scss b/themes/snow/_inputs.scss index 5eb32bd..f6d72ad 100644 --- a/themes/snow/_inputs.scss +++ b/themes/snow/_inputs.scss @@ -405,7 +405,7 @@ width: .3em; height: 100%; right: 0; - border-radius: 0; + border-radius: 0 .23em .23em 0; &::before { @@ -478,6 +478,14 @@ } } + &[data-has-preview] { + .formualte-file-name { + &:before { + display: none; + } + } + } + & + li { margin-top: .5em; } @@ -488,10 +496,9 @@ display: block; width: 100%; display: flex; - justify-content: space-between; + justify-content: flex-start; align-items: center; position: relative; - overflow: hidden; @mixin progress { appearance: none; @@ -504,6 +511,38 @@ @include progress; } } + + .formulate-file-image-preview { + width: 3em; + height: 3em; + position: relative; + z-index: 2; + left: -1px; + box-shadow: 0 0 0 1px $formulate-gray; + transition: transform .25s, box-shadow .25s, background-color .25s; + + @media (pointer: fine) { + &:hover { + transition-delay: .2s; + transform: scale(3); + background-color: $formulate-white; + box-shadow: 0 0 2px 0 rgba(0, 0, 0, .1); + } + } + + img { + display: block; + position: absolute; + width: 100%; + height: 100%; + left: 0; + right: 0; + bottom: 0; + top: 0; + object-fit: contain; + transition: all .25s; + } + } }