/*! * WPBakery Page Builder v7.6.0 (https://wpbakery.com) * Copyright 2011-2024 Michael M, WPBakery * License: Commercial. More details: http://go.wpbakery.com/licensing */@font-face{font-family:vc_openiconic;src:url(fonts/vc_openiconic.eot?54101537);src:url(fonts/vc_openiconic.eot?54101537#iefix) format('embedded-opentype'),url(fonts/vc_openiconic.woff?54101537) format('woff'),url(fonts/vc_openiconic.ttf?54101537) format('truetype'),url(fonts/vc_openiconic.svg?54101537#vc_openiconic) format('svg');font-weight:400;font-style:normal}[class*=" vc-oi-"]:before,[class^=vc-oi-]:before{font-family:vc_openiconic;font-style:normal;font-weight:400;speak:none;display:inline-block;text-decoration:inherit;width:1em;margin-right:0;text-align:center;font-variant:normal;text-transform:none;line-height:inherit;margin-left:0}.vc-oi-dial:before{content:'\e800'}.vc-oi-pilcrow:before{content:'\e801'}.vc-oi-at:before{content:'\e802'}.vc-oi-hash:before{content:'\e803'}.vc-oi-key-inv:before{content:'\e804'}.vc-oi-key:before{content:'\e805'}.vc-oi-chart-pie-alt:before{content:'\e806'}.vc-oi-chart-pie:before{content:'\e807'}.vc-oi-chart-bar:before{content:'\e808'}.vc-oi-umbrella:before{content:'\e809'}.vc-oi-moon-inv:before{content:'\e80a'}.vc-oi-mobile:before{content:'\e80b'}.vc-oi-cd:before{content:'\e80c'}.vc-oi-split:before{content:'\e80d'}.vc-oi-exchange:before{content:'\e80e'}.vc-oi-block:before{content:'\e80f'}.vc-oi-resize-full:before{content:'\e810'}.vc-oi-article-alt:before{content:'\e811'}.vc-oi-article:before{content:'\e812'}.vc-oi-pencil-alt:before{content:'\e813'}.vc-oi-undo:before{content:'\e814'}.vc-oi-attach:before{content:'\e815'}.vc-oi-link:before{content:'\e816'}.vc-oi-search:before{content:'\e817'}.vc-oi-mail:before{content:'\e818'}.vc-oi-heart:before{content:'\e819'}.vc-oi-comment:before{content:'\e81a'}.vc-oi-resize-full-alt:before{content:'\e81b'}.vc-oi-lock:before{content:'\e81c'}.vc-oi-book-open:before{content:'\e81d'}.vc-oi-arrow-curved:before{content:'\e81e'}.vc-oi-equalizer:before{content:'\e81f'}.vc-oi-heart-empty:before{content:'\e820'}.vc-oi-lock-empty:before{content:'\e821'}.vc-oi-comment-inv:before{content:'\e822'}.vc-oi-folder:before{content:'\e823'}.vc-oi-resize-small:before{content:'\e824'}.vc-oi-play:before{content:'\e825'}.vc-oi-cursor:before{content:'\e826'}.vc-oi-aperture:before{content:'\e827'}.vc-oi-play-circle2:before{content:'\e828'}.vc-oi-resize-small-alt:before{content:'\e829'}.vc-oi-folder-empty:before{content:'\e82a'}.vc-oi-comment-alt:before{content:'\e82b'}.vc-oi-lock-open:before{content:'\e82c'}.vc-oi-star:before{content:'\e82d'}.vc-oi-user:before{content:'\e82e'}.vc-oi-lock-open-empty:before{content:'\e82f'}.vc-oi-box:before{content:'\e830'}.vc-oi-resize-vertical:before{content:'\e831'}.vc-oi-stop:before{content:'\e832'}.vc-oi-aperture-alt:before{content:'\e833'}.vc-oi-book:before{content:'\e834'}.vc-oi-steering-wheel:before{content:'\e835'}.vc-oi-pause:before{content:'\e836'}.vc-oi-to-start:before{content:'\e837'}.vc-oi-move:before{content:'\e838'}.vc-oi-resize-horizontal:before{content:'\e839'}.vc-oi-rss-alt:before{content:'\e83a'}.vc-oi-comment-alt2:before{content:'\e83b'}.vc-oi-rss:before{content:'\e83c'}.vc-oi-comment-inv-alt:before{content:'\e83d'}.vc-oi-comment-inv-alt2:before{content:'\e83e'}.vc-oi-eye:before{content:'\e83f'}.vc-oi-pin:before{content:'\e840'}.vc-oi-video:before{content:'\e841'}.vc-oi-picture:before{content:'\e842'}.vc-oi-camera:before{content:'\e843'}.vc-oi-tag:before{content:'\e844'}.vc-oi-chat:before{content:'\e845'}.vc-oi-cog:before{content:'\e846'}.vc-oi-popup:before{content:'\e847'}.vc-oi-to-end:before{content:'\e848'}.vc-oi-book-alt:before{content:'\e849'}.vc-oi-brush:before{content:'\e84a'}.vc-oi-eject:before{content:'\e84b'}.vc-oi-down:before{content:'\e84c'}.vc-oi-wrench:before{content:'\e84d'}.vc-oi-chat-inv:before{content:'\e84e'}.vc-oi-tag-empty:before{content:'\e84f'}.vc-oi-ok:before{content:'\e850'}.vc-oi-ok-circle:before{content:'\e851'}.vc-oi-download:before{content:'\e852'}.vc-oi-location:before{content:'\e853'}.vc-oi-share:before{content:'\e854'}.vc-oi-left:before{content:'\e855'}.vc-oi-target:before{content:'\e856'}.vc-oi-brush-alt:before{content:'\e857'}.vc-oi-cancel:before{content:'\e858'}.vc-oi-upload:before{content:'\e859'}.vc-oi-location-inv:before{content:'\e85a'}.vc-oi-calendar:before{content:'\e85b'}.vc-oi-right:before{content:'\e85c'}.vc-oi-signal:before{content:'\e85d'}.vc-oi-eyedropper:before{content:'\e85e'}.vc-oi-layers:before{content:'\e85f'}.vc-oi-award:before{content:'\e860'}.vc-oi-up:before{content:'\e861'}.vc-oi-calendar-inv:before{content:'\e862'}.vc-oi-location-alt:before{content:'\e863'}.vc-oi-download-cloud:before{content:'\e864'}.vc-oi-cancel-circle:before{content:'\e865'}.vc-oi-plus:before{content:'\e866'}.vc-oi-upload-cloud:before{content:'\e867'}.vc-oi-compass:before{content:'\e868'}.vc-oi-calendar-alt:before{content:'\e869'}.vc-oi-down-circle:before{content:'\e86a'}.vc-oi-award-empty:before{content:'\e86b'}.vc-oi-layers-alt:before{content:'\e86c'}.vc-oi-sun:before{content:'\e86d'}.vc-oi-list:before{content:'\e86e'}.vc-oi-left-circle:before{content:'\e86f'}.vc-oi-mic:before{content:'\e870'}.vc-oi-trash:before{content:'\e871'}.vc-oi-quote-left:before{content:'\e872'}.vc-oi-plus-circle:before{content:'\e873'}.vc-oi-minus:before{content:'\e874'}.vc-oi-quote-right:before{content:'\e875'}.vc-oi-trash-empty:before{content:'\e876'}.vc-oi-volume-off:before{content:'\e877'}.vc-oi-right-circle:before{content:'\e878'}.vc-oi-list-nested:before{content:'\e879'}.vc-oi-sun-inv:before{content:'\e87a'}.vc-oi-bat-empty:before{content:'\e87b'}.vc-oi-up-circle:before{content:'\e87c'}.vc-oi-volume-up:before{content:'\e87d'}.vc-oi-doc:before{content:'\e87e'}.vc-oi-quote-left-alt:before{content:'\e87f'}.vc-oi-minus-circle:before{content:'\e880'}.vc-oi-cloud:before{content:'\e881'}.vc-oi-rain:before{content:'\e882'}.vc-oi-bat-half:before{content:'\e883'}.vc-oi-cw:before{content:'\e884'}.vc-oi-headphones:before{content:'\e885'}.vc-oi-doc-inv:before{content:'\e886'}.vc-oi-quote-right-alt:before{content:'\e887'}.vc-oi-help:before{content:'\e888'}.vc-oi-info:before{content:'\e889'}.vc-oi-pencil:before{content:'\e88a'}.vc-oi-doc-alt:before{content:'\e88b'}.vc-oi-clock:before{content:'\e88c'}.vc-oi-loop:before{content:'\e88d'}.vc-oi-bat-full:before{content:'\e88e'}.vc-oi-flash:before{content:'\e88f'}.vc-oi-moon:before{content:'\e890'}.vc-oi-bat-charge:before{content:'\e891'}.vc-oi-loop-alt:before{content:'\e892'}.vc-oi-lamp:before{content:'\e893'}.vc-oi-doc-inv-alt:before{content:'\e894'}.vc-oi-pencil-neg:before{content:'\e895'}.vc-oi-home:before{content:'\e896'}/** * v1.0.4 - 05-04-2021 20:10 * * JQuery UI Dialog Extended * * Copyright 2013-2015, Felix Nagel (http://www.felixnagel.com) * Copyright 2021, Team Updraft * Dual licensed under the MIT or GPL Version 2 licenses. * * http://github.com/fnagel/jquery-ui-extensions * * Depends: * jquery.ui.core.js * jquery.ui.widget.js * jquery.ui.dialog.js * * Changes: * Add "updraft-dialog" class for every jQuery UI dialog created by UpdraftPlus plugin. * Wrap all "updraft-dialog" class with "updraft-container" class * to prevent CSS conflict with other plugins that use jQuery UI too. */ (function( $ ) { /* * Option width and height normally set the overall dialog dimensions. * This extensions make these options the dimensions of the content pane if * option useContentSize is enabled. This way it's possible to set the real * content dimensions. * * Please note you won't get the original size but the calculated overall size * when using the width and height option getter. */ $.widget("ui.dialog", $.ui.dialog, { options: { height: 200, // auto is not allowed when using animation closeModalOnClick: true, dialogClass: 'updraft-dialog', // viewport settings forceFullscreen: false, resizeOnWindowResize: false, scrollWithViewport: false, resizeAccordingToViewport: true, resizeToBestPossibleSize: false, // width and height set the content size, not overall size useContentSize: false, // animated options useAnimation: true, animateOptions: { duration: 500, queue: false }, // callbacks resized: null }, // Changes content and resizes dialog change: function(content, width, height, animate) { if (typeof animate !== "boolean") { animate = this.options.useAnimation; } if (animate) { this.setAriaLive(true); this.element.one(this.widgetEventPrefix + "resized", this, function(event) { event.data.element.html(content); event.data.setAriaLive(false); event.data.focusTabbable(); }); } else { this.element.html(content); } this.changeSize(width, height); }, // Changes size changeSize: function(width, height) { this._setOptions({ width: width, height: height }); }, _setOption: function(key, value) { if (key === "width") { this._oldSize.width = value; } if (key === "height") { this._oldSize.height = value; } // we need to adjust the size as we need to set the overall dialog size if (this.options.useAnimation && this.options.useContentSize && this._isVisible) { if (key === "width") { value = value + ( this.uiDialog.width() - this.element.width() ); } if (key === "height") { value = value + ( this.uiDialog.outerHeight() - this.element.height() ); } } this._super(key, value); }, // calculate actual displayed size, data contains already the overall dimensions _getSize: function(data) { var options = this.options, feedback = $.position.getWithinInfo(options.position.of), portrait = ( feedback.height >= feedback.width ) ? true : false, viewport = { width: feedback.width - ( this.uiDialog.outerWidth() - this.uiDialog.width() ), height: feedback.height }; if (options.forceFullscreen) { return viewport; } if (options.resizeToBestPossibleSize) { if (portrait) { data = this._calcSize(data, viewport.width, "width", "height"); } else { data = this._calcSize(data, viewport.height, "height", "width"); } } if (options.resizeAccordingToViewport || options.resizeToBestPossibleSize) { if (viewport.width < data.width) { data = this._calcSize(data, viewport.width, "width", "height"); } if (viewport.height < data.height) { data = this._calcSize(data, viewport.height, "height", "width"); } } return data; }, _calcSize: function( data, value, sortBy, toSort ) { var newData = {}; newData[toSort] = Math.max(0, (data[ toSort ] / data[ sortBy ]) * value); newData[sortBy] = value; return newData; }, _size: function() { // overwrite options with recalculated dimensions $.extend(this.options, this._getSize(this.options)); if (this._isVisible && this.options.useAnimation) { this._animateSize(); return; } if (this.options.useContentSize) { this._contentSize(); return; } this._super(); }, /* * Sets the size of the dialog * * Options width and height define content size, not overall size */ _contentSize: function() { // If the user has resized the dialog, the .ui-dialog and .ui-dialog-content // divs will both have width and height set, so we need to reset them var nonContentHeight, nonContentWidth, actualSize, options = this.options; // Reset content sizing nonContentWidth = this.element.show().css({ width: options.width, minHeight: 0, maxHeight: "none", height: 0 }).outerWidth() - options.width; this.element.css("width", "auto"); if (options.minWidth > options.width + nonContentWidth) { options.width = options.minWidth; } // reset wrapper sizing // determine the height of all the non-content elements nonContentHeight = this.uiDialog.css({ height: "auto", width: options.width + nonContentWidth }) .outerHeight(); actualSize = this._getSize({ width: options.width + nonContentWidth, height: options.height + nonContentHeight }); this.uiDialog.css("width", actualSize.width); this.element.height(Math.max(0, actualSize.height - nonContentHeight)); if (this.uiDialog.is(":data(ui-resizable)") ) { this.uiDialog.resizable("option", "minHeight", this._minHeight()); } // save calculated overall size $.extend(options, actualSize); }, // Processes the animated positioning (position using callback), works with any width and height options _animateUsing: function( position, data ) { var that = this; // calculate new position based on the viewport position.left = ( data.target.left + ( data.target.width - this.options.width - ( this.uiDialog.outerWidth() - this.uiDialog.width() ) ) / 2 ); position.top = ( data.target.top + ( data.target.height - this.options.height ) / 2 ); if (position.top < 0) { position.top = 0; } this.uiDialog.animate(position, $.extend({}, this.options.animateOptions, { complete: function() { that._trigger("resized"); } })); }, // animated the size, uses width and height options like default dialog widget (overall size) _animateSize: function() { var options = this.options; this.uiDialog.animate({ width: options.width }, options.animateOptions); this.element.animate({ // options.height is overall size, we need content size height: options.height - ( this.uiDialog.outerHeight() - this.element.height() ) }, options.animateOptions); }, // position overwrite for animated positioning _position: function() { var that = this; this._positionOptions = this.options.position; // change position.using mechanism if (this.options.useAnimation && this._isVisible) { this.options.position.using = function(position, feedback) { that._animateUsing(position, feedback); }; } this._super(); // reset position.using mechanism this.options.position = this._positionOptions; }, // ARIA helper setAriaLive: function(busy) { this.uiDialog.attr({ "aria-live": "assertive", "aria-relevant": "additions removals text", "aria-busy": busy }); }, // all following functions add a variable to determine if the dialog is visible _create: function() { this._super(); this._isVisible = false; this._oldSize = { width: this.options.width, height: this.options.height }; // make dialog responsive to viewport changes this._on(window, this._windowResizeEvents); // add wrapper to dialog $('.updraft-dialog').not('.updraft-container > .updraft-dialog').wrap('
'); }, _windowResizeEvents: { resize: function(e) { if (this.options.resizeOnWindowResize) { if (window === e.target) { this._addTimeout(function() { this._setOptions(this._oldSize); }); } else { this._addTimeout(function() { this._position(); }); } } }, scroll: function() { // second test prevents initial page load scroll event if (this.options.scrollWithViewport && this.timeout) { this._addTimeout(function() { this._position(); }); } else { this.timeout = true; } } }, _addTimeout: function(callback) { clearTimeout(this.timeout); if (this._isVisible) { this.timeout = this._delay(callback, 250); } }, _makeResizable: function() { this._super(); this.element.on(this.widgetEventPrefix + "resizestop", this, function(event) { event.data.element.css("width", "auto"); event.data.uiDialog.css("height", "auto"); }); }, _makeDraggable: function() { this._super(); this.element.on(this.widgetEventPrefix + "dragstop", this, function(event) { event.data.options.position = event.data._positionOptions; }); }, open: function() { this._super(); this._isVisible = true; }, close: function() { this._super(); this._isVisible = false; }, focusTabbable: function() { this._focusTabbable(); }, _createOverlay: function() { this._super(); if (this.options.modal && this.options.closeModalOnClick) { this._on(this.overlay, { mousedown: function(event) { this.close(event); } }); } } }); }( jQuery ));