/******/ (function() { // webpackBootstrap /******/ "use strict"; /******/ var __webpack_modules__ = ({ /***/ "./packages/packages/libs/editor-v1-adapters/src/ajax/index.ts": /*!*********************************************************************!*\ !*** ./packages/packages/libs/editor-v1-adapters/src/ajax/index.ts ***! \*********************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ ajax: function() { return /* binding */ ajax; } /* harmony export */ }); const ajax = { async load(data) { const extendedWindow = window; return new Promise((success, error) => { extendedWindow.elementorCommon?.ajax?.load({ ...data, success, error }); }); }, invalidateCache(data) { const extendedWindow = window; extendedWindow.elementorCommon?.ajax?.invalidateCache(data); } }; /***/ }), /***/ "./packages/packages/libs/editor-v1-adapters/src/canvas/get-canvas-iframe-document.ts": /*!********************************************************************************************!*\ !*** ./packages/packages/libs/editor-v1-adapters/src/canvas/get-canvas-iframe-document.ts ***! \********************************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ getCanvasIframeDocument: function() { return /* binding */ getCanvasIframeDocument; } /* harmony export */ }); function getCanvasIframeDocument() { return window.elementor?.$preview?.[0]?.contentDocument; } /***/ }), /***/ "./packages/packages/libs/editor-v1-adapters/src/canvas/index.ts": /*!***********************************************************************!*\ !*** ./packages/packages/libs/editor-v1-adapters/src/canvas/index.ts ***! \***********************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ getCanvasIframeDocument: function() { return /* reexport safe */ _get_canvas_iframe_document__WEBPACK_IMPORTED_MODULE_0__.getCanvasIframeDocument; } /* harmony export */ }); /* harmony import */ var _get_canvas_iframe_document__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./get-canvas-iframe-document */ "./packages/packages/libs/editor-v1-adapters/src/canvas/get-canvas-iframe-document.ts"); /***/ }), /***/ "./packages/packages/libs/editor-v1-adapters/src/config/enqueue-font.ts": /*!******************************************************************************!*\ !*** ./packages/packages/libs/editor-v1-adapters/src/config/enqueue-font.ts ***! \******************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ enqueueFont: function() { return /* binding */ enqueueFont; } /* harmony export */ }); const enqueueFont = (fontFamily, context = 'preview') => { return window.elementor?.helpers?.enqueueFont?.(fontFamily, context) ?? null; }; /***/ }), /***/ "./packages/packages/libs/editor-v1-adapters/src/config/get-elementor-globals.ts": /*!***************************************************************************************!*\ !*** ./packages/packages/libs/editor-v1-adapters/src/config/get-elementor-globals.ts ***! \***************************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ getElementorConfig: function() { return /* binding */ getElementorConfig; }, /* harmony export */ getElementorFrontendConfig: function() { return /* binding */ getElementorFrontendConfig; } /* harmony export */ }); const getElementorConfig = () => { return window.elementor?.config ?? {}; }; const getElementorFrontendConfig = () => { return window.elementorFrontend?.config ?? {}; }; /***/ }), /***/ "./packages/packages/libs/editor-v1-adapters/src/config/index.ts": /*!***********************************************************************!*\ !*** ./packages/packages/libs/editor-v1-adapters/src/config/index.ts ***! \***********************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ enqueueFont: function() { return /* reexport safe */ _enqueue_font__WEBPACK_IMPORTED_MODULE_1__.enqueueFont; }, /* harmony export */ getElementorConfig: function() { return /* reexport safe */ _get_elementor_globals__WEBPACK_IMPORTED_MODULE_0__.getElementorConfig; }, /* harmony export */ getElementorFrontendConfig: function() { return /* reexport safe */ _get_elementor_globals__WEBPACK_IMPORTED_MODULE_0__.getElementorFrontendConfig; } /* harmony export */ }); /* harmony import */ var _get_elementor_globals__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./get-elementor-globals */ "./packages/packages/libs/editor-v1-adapters/src/config/get-elementor-globals.ts"); /* harmony import */ var _enqueue_font__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./enqueue-font */ "./packages/packages/libs/editor-v1-adapters/src/config/enqueue-font.ts"); /* harmony import */ var _supported_fonts__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./supported-fonts */ "./packages/packages/libs/editor-v1-adapters/src/config/supported-fonts.ts"); /***/ }), /***/ "./packages/packages/libs/editor-v1-adapters/src/config/supported-fonts.ts": /*!*********************************************************************************!*\ !*** ./packages/packages/libs/editor-v1-adapters/src/config/supported-fonts.ts ***! \*********************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { __webpack_require__.r(__webpack_exports__); /***/ }), /***/ "./packages/packages/libs/editor-v1-adapters/src/data-hooks/block-command.ts": /*!***********************************************************************************!*\ !*** ./packages/packages/libs/editor-v1-adapters/src/data-hooks/block-command.ts ***! \***********************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ blockCommand: function() { return /* binding */ blockCommand; } /* harmony export */ }); /* harmony import */ var _register_data_hook__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./register-data-hook */ "./packages/packages/libs/editor-v1-adapters/src/data-hooks/register-data-hook.ts"); function blockCommand({ command, condition }) { return (0,_register_data_hook__WEBPACK_IMPORTED_MODULE_0__.registerDataHook)('dependency', command, args => { const shouldBlock = condition(args); // Should return `false` to prevent the command from running. return !shouldBlock; }); } /***/ }), /***/ "./packages/packages/libs/editor-v1-adapters/src/data-hooks/register-data-hook.ts": /*!****************************************************************************************!*\ !*** ./packages/packages/libs/editor-v1-adapters/src/data-hooks/register-data-hook.ts ***! \****************************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ registerDataHook: function() { return /* binding */ registerDataHook; } /* harmony export */ }); let hookId = 0; function registerDataHook(type, command, callback) { const eWindow = window; const hooksClasses = eWindow.$e?.modules?.hookData; const hooksMap = { after: hooksClasses?.After, dependency: hooksClasses?.Dependency }; const HookClass = hooksMap[type]; if (!HookClass) { throw new Error(`Data hook '${type}' is not available`); } const currentHookId = ++hookId; const hook = new class extends HookClass { getCommand() { return command; } getId() { return `${command}--data--${currentHookId}`; } apply(args, result) { const hookOptions = {}; const currentWindow = window; const commandsCurrentTrace = currentWindow.$e?.commands?.currentTrace; if (commandsCurrentTrace) { hookOptions.commandsCurrentTrace = commandsCurrentTrace; } const currentHistoryItemId = currentWindow.elementor?.documents?.getCurrent()?.history?.getCurrentId(); if (currentHistoryItemId) { hookOptions.currentHistoryItemId = currentHistoryItemId; } if (type === 'dependency') { return callback(args, hookOptions); } return callback(args, result, hookOptions); } }(); hook.register(); return hook; } /***/ }), /***/ "./packages/packages/libs/editor-v1-adapters/src/dispatchers/dispatchers.ts": /*!**********************************************************************************!*\ !*** ./packages/packages/libs/editor-v1-adapters/src/dispatchers/dispatchers.ts ***! \**********************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ openRoute: function() { return /* binding */ openRoute; }, /* harmony export */ registerRoute: function() { return /* binding */ registerRoute; }, /* harmony export */ runCommand: function() { return /* binding */ runCommand; }, /* harmony export */ runCommandSync: function() { return /* binding */ runCommandSync; } /* harmony export */ }); /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ "./packages/packages/libs/editor-v1-adapters/src/dispatchers/utils.ts"); async function runCommand(command, args, { internal = false } = {}) { const result = runCommandSync(command, args, { internal }); if (result instanceof Promise) { return result; } if ((0,_utils__WEBPACK_IMPORTED_MODULE_0__.isJQueryDeferred)(result)) { return (0,_utils__WEBPACK_IMPORTED_MODULE_0__.promisifyJQueryDeferred)(result); } return Promise.resolve(result); } function runCommandSync(command, args, { internal = false } = {}) { const extendedWindow = window; const run = internal ? extendedWindow.$e?.internal : extendedWindow.$e?.run; if (!run) { const runnerName = internal ? '$e.internal' : '$e.run'; throw new Error(`\`${runnerName}()\` is not available`); } return run(command, args); } function openRoute(route) { const extendedWindow = window; if (!extendedWindow.$e?.route) { return Promise.reject('`$e.route()` is not available'); } try { return Promise.resolve(extendedWindow.$e.route(route)); } catch (e) { return Promise.reject(e); } } function registerRoute(route) { const extendedWindow = window; if (!extendedWindow.$e?.routes?.register) { return Promise.reject('`$e.routes.register()` is not available'); } const routeParts = route.split('/'); if (routeParts.length < 2) { return Promise.reject(`\`${route}\` is an invalid route`); } const componentRoute = routeParts.pop(); // routeParts.length must be >= 2 const component = routeParts.join('/'); try { return Promise.resolve(extendedWindow.$e.routes.register(component, componentRoute, () => null)); } catch (e) { return Promise.reject(e); } } /***/ }), /***/ "./packages/packages/libs/editor-v1-adapters/src/dispatchers/utils.ts": /*!****************************************************************************!*\ !*** ./packages/packages/libs/editor-v1-adapters/src/dispatchers/utils.ts ***! \****************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ isJQueryDeferred: function() { return /* binding */ isJQueryDeferred; }, /* harmony export */ promisifyJQueryDeferred: function() { return /* binding */ promisifyJQueryDeferred; } /* harmony export */ }); function isJQueryDeferred(value) { // TODO: Copied from: // https://github.com/elementor/elementor/blob/6a74fc9/modules/web-cli/assets/js/core/commands.js#L410 return !!value && 'object' === typeof value && Object.hasOwn(value, 'promise') && Object.hasOwn(value, 'then') && Object.hasOwn(value, 'fail'); } function promisifyJQueryDeferred(deferred) { return new Promise((resolve, reject) => { deferred.then(resolve, reject); }); } /***/ }), /***/ "./packages/packages/libs/editor-v1-adapters/src/edit-mode.ts": /*!********************************************************************!*\ !*** ./packages/packages/libs/editor-v1-adapters/src/edit-mode.ts ***! \********************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ changeEditMode: function() { return /* binding */ changeEditMode; }, /* harmony export */ getCurrentEditMode: function() { return /* binding */ getCurrentEditMode; }, /* harmony export */ useEditMode: function() { return /* binding */ useEditMode; } /* harmony export */ }); /* harmony import */ var _hooks_use_listen_to__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./hooks/use-listen-to */ "./packages/packages/libs/editor-v1-adapters/src/hooks/use-listen-to.ts"); /* harmony import */ var _listeners__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./listeners */ "./packages/packages/libs/editor-v1-adapters/src/listeners/index.ts"); function useEditMode() { return (0,_hooks_use_listen_to__WEBPACK_IMPORTED_MODULE_0__["default"])((0,_listeners__WEBPACK_IMPORTED_MODULE_1__.windowEvent)('elementor/edit-mode/change'), getCurrentEditMode); } function getCurrentEditMode() { const extendedWindow = window; return extendedWindow.elementor.channels.dataEditMode.request('activeMode'); } function changeEditMode(newMode) { const extendedWindow = window; return extendedWindow.elementor.changeEditMode(newMode); } /***/ }), /***/ "./packages/packages/libs/editor-v1-adapters/src/hooks/index.ts": /*!**********************************************************************!*\ !*** ./packages/packages/libs/editor-v1-adapters/src/hooks/index.ts ***! \**********************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ useIsRouteActive: function() { return /* reexport safe */ _use_is_route_active__WEBPACK_IMPORTED_MODULE_0__["default"]; }, /* harmony export */ useListenTo: function() { return /* reexport safe */ _use_listen_to__WEBPACK_IMPORTED_MODULE_1__["default"]; }, /* harmony export */ useRouteStatus: function() { return /* reexport safe */ _use_route_status__WEBPACK_IMPORTED_MODULE_2__["default"]; } /* harmony export */ }); /* harmony import */ var _use_is_route_active__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./use-is-route-active */ "./packages/packages/libs/editor-v1-adapters/src/hooks/use-is-route-active.ts"); /* harmony import */ var _use_listen_to__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-listen-to */ "./packages/packages/libs/editor-v1-adapters/src/hooks/use-listen-to.ts"); /* harmony import */ var _use_route_status__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./use-route-status */ "./packages/packages/libs/editor-v1-adapters/src/hooks/use-route-status.ts"); /***/ }), /***/ "./packages/packages/libs/editor-v1-adapters/src/hooks/use-is-route-active.ts": /*!************************************************************************************!*\ !*** ./packages/packages/libs/editor-v1-adapters/src/hooks/use-is-route-active.ts ***! \************************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": function() { return /* binding */ useIsRouteActive; } /* harmony export */ }); /* harmony import */ var _listeners__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../listeners */ "./packages/packages/libs/editor-v1-adapters/src/listeners/index.ts"); /* harmony import */ var _readers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../readers */ "./packages/packages/libs/editor-v1-adapters/src/readers/index.ts"); /* harmony import */ var _use_listen_to__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./use-listen-to */ "./packages/packages/libs/editor-v1-adapters/src/hooks/use-listen-to.ts"); function useIsRouteActive(route) { return (0,_use_listen_to__WEBPACK_IMPORTED_MODULE_2__["default"])([(0,_listeners__WEBPACK_IMPORTED_MODULE_0__.routeOpenEvent)(route), (0,_listeners__WEBPACK_IMPORTED_MODULE_0__.routeCloseEvent)(route)], () => (0,_readers__WEBPACK_IMPORTED_MODULE_1__.isRouteActive)(route), [route]); } /***/ }), /***/ "./packages/packages/libs/editor-v1-adapters/src/hooks/use-listen-to.ts": /*!******************************************************************************!*\ !*** ./packages/packages/libs/editor-v1-adapters/src/hooks/use-listen-to.ts ***! \******************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": function() { return /* binding */ useListenTo; } /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _listeners__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../listeners */ "./packages/packages/libs/editor-v1-adapters/src/listeners/index.ts"); function useListenTo(event, getSnapshot, deps = []) { const [snapshot, setSnapshot] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(() => getSnapshot()); (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => { const updateState = () => setSnapshot(getSnapshot()); // Ensure the state is re-calculated when the dependencies have been changed. updateState(); return (0,_listeners__WEBPACK_IMPORTED_MODULE_1__.listenTo)(event, updateState); }, deps); // eslint-disable-line react-hooks/exhaustive-deps return snapshot; } /***/ }), /***/ "./packages/packages/libs/editor-v1-adapters/src/hooks/use-route-status.ts": /*!*********************************************************************************!*\ !*** ./packages/packages/libs/editor-v1-adapters/src/hooks/use-route-status.ts ***! \*********************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": function() { return /* binding */ useRouteStatus; } /* harmony export */ }); /* harmony import */ var _edit_mode__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../edit-mode */ "./packages/packages/libs/editor-v1-adapters/src/edit-mode.ts"); /* harmony import */ var _use_is_route_active__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-is-route-active */ "./packages/packages/libs/editor-v1-adapters/src/hooks/use-is-route-active.ts"); function useRouteStatus(route, { blockOnKitRoutes = true, allowedEditModes = ['edit'] } = {}) { const isRouteActive = (0,_use_is_route_active__WEBPACK_IMPORTED_MODULE_1__["default"])(route); const isKitRouteActive = (0,_use_is_route_active__WEBPACK_IMPORTED_MODULE_1__["default"])('panel/global'); const currentEditMode = (0,_edit_mode__WEBPACK_IMPORTED_MODULE_0__.useEditMode)(); const isBlockedByEditMode = !allowedEditModes.includes(currentEditMode); const isBlockedByKit = blockOnKitRoutes && isKitRouteActive; const isActive = isRouteActive && !isBlockedByEditMode; const isBlocked = isBlockedByEditMode || isBlockedByKit; return { isActive, isBlocked }; } /***/ }), /***/ "./packages/packages/libs/editor-v1-adapters/src/listeners/event-creators.ts": /*!***********************************************************************************!*\ !*** ./packages/packages/libs/editor-v1-adapters/src/listeners/event-creators.ts ***! \***********************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ commandEndEvent: function() { return /* binding */ commandEndEvent; }, /* harmony export */ commandStartEvent: function() { return /* binding */ commandStartEvent; }, /* harmony export */ routeCloseEvent: function() { return /* binding */ routeCloseEvent; }, /* harmony export */ routeOpenEvent: function() { return /* binding */ routeOpenEvent; }, /* harmony export */ v1ReadyEvent: function() { return /* binding */ v1ReadyEvent; }, /* harmony export */ windowEvent: function() { return /* binding */ windowEvent; } /* harmony export */ }); const commandStartEvent = command => { return { type: 'command', name: command, state: 'before' }; }; const commandEndEvent = command => { return { type: 'command', name: command, state: 'after' }; }; const routeOpenEvent = route => { return { type: 'route', name: route, state: 'open' }; }; const routeCloseEvent = route => { return { type: 'route', name: route, state: 'close' }; }; const windowEvent = event => { return { type: 'window-event', name: event }; }; const v1ReadyEvent = () => { return windowEvent('elementor/initialized'); }; /***/ }), /***/ "./packages/packages/libs/editor-v1-adapters/src/listeners/index.ts": /*!**************************************************************************!*\ !*** ./packages/packages/libs/editor-v1-adapters/src/listeners/index.ts ***! \**************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ commandEndEvent: function() { return /* reexport safe */ _event_creators__WEBPACK_IMPORTED_MODULE_0__.commandEndEvent; }, /* harmony export */ commandStartEvent: function() { return /* reexport safe */ _event_creators__WEBPACK_IMPORTED_MODULE_0__.commandStartEvent; }, /* harmony export */ dispatchReadyEvent: function() { return /* reexport safe */ _utils__WEBPACK_IMPORTED_MODULE_4__.dispatchReadyEvent; }, /* harmony export */ flushListeners: function() { return /* reexport safe */ _listeners__WEBPACK_IMPORTED_MODULE_1__.flushListeners; }, /* harmony export */ isReady: function() { return /* reexport safe */ _is_ready__WEBPACK_IMPORTED_MODULE_3__.isReady; }, /* harmony export */ listenTo: function() { return /* reexport safe */ _listeners__WEBPACK_IMPORTED_MODULE_1__.listenTo; }, /* harmony export */ routeCloseEvent: function() { return /* reexport safe */ _event_creators__WEBPACK_IMPORTED_MODULE_0__.routeCloseEvent; }, /* harmony export */ routeOpenEvent: function() { return /* reexport safe */ _event_creators__WEBPACK_IMPORTED_MODULE_0__.routeOpenEvent; }, /* harmony export */ setReady: function() { return /* reexport safe */ _is_ready__WEBPACK_IMPORTED_MODULE_3__.setReady; }, /* harmony export */ v1ReadyEvent: function() { return /* reexport safe */ _event_creators__WEBPACK_IMPORTED_MODULE_0__.v1ReadyEvent; }, /* harmony export */ windowEvent: function() { return /* reexport safe */ _event_creators__WEBPACK_IMPORTED_MODULE_0__.windowEvent; } /* harmony export */ }); /* harmony import */ var _event_creators__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./event-creators */ "./packages/packages/libs/editor-v1-adapters/src/listeners/event-creators.ts"); /* harmony import */ var _listeners__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./listeners */ "./packages/packages/libs/editor-v1-adapters/src/listeners/listeners.ts"); /* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./types */ "./packages/packages/libs/editor-v1-adapters/src/listeners/types.ts"); /* harmony import */ var _is_ready__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./is-ready */ "./packages/packages/libs/editor-v1-adapters/src/listeners/is-ready.ts"); /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./utils */ "./packages/packages/libs/editor-v1-adapters/src/listeners/utils.ts"); /***/ }), /***/ "./packages/packages/libs/editor-v1-adapters/src/listeners/is-ready.ts": /*!*****************************************************************************!*\ !*** ./packages/packages/libs/editor-v1-adapters/src/listeners/is-ready.ts ***! \*****************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ isReady: function() { return /* binding */ isReady; }, /* harmony export */ setReady: function() { return /* binding */ setReady; } /* harmony export */ }); /** * This file is used to store the state of the isReady variable, which is used to determine * if the adapter is ready to receive events (editor v1 and v2 are loaded). */ let ready = false; function isReady() { return ready; } function setReady(value) { ready = value; } /***/ }), /***/ "./packages/packages/libs/editor-v1-adapters/src/listeners/listeners.ts": /*!******************************************************************************!*\ !*** ./packages/packages/libs/editor-v1-adapters/src/listeners/listeners.ts ***! \******************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ flushListeners: function() { return /* binding */ flushListeners; }, /* harmony export */ listenTo: function() { return /* binding */ listenTo; } /* harmony export */ }); /* harmony import */ var _is_ready__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./is-ready */ "./packages/packages/libs/editor-v1-adapters/src/listeners/is-ready.ts"); /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ "./packages/packages/libs/editor-v1-adapters/src/listeners/utils.ts"); const callbacksByEvent = new Map(); let abortController = new AbortController(); function listenTo(eventDescriptors, callback) { if (!Array.isArray(eventDescriptors)) { eventDescriptors = [eventDescriptors]; } // @see https://github.com/typescript-eslint/typescript-eslint/issues/2841 // eslint-disable-next-line array-callback-return -- Clashes with typescript. const cleanups = eventDescriptors.map(event => { const { type, name } = event; switch (type) { case 'command': return registerCommandListener(name, event.state, callback); case 'route': return registerRouteListener(name, event.state, callback); case 'window-event': return registerWindowEventListener(name, callback); } }); return () => { cleanups.forEach(cleanup => cleanup()); }; } function flushListeners() { abortController.abort(); callbacksByEvent.clear(); (0,_is_ready__WEBPACK_IMPORTED_MODULE_0__.setReady)(false); abortController = new AbortController(); } function registerCommandListener(command, state, callback) { return registerWindowEventListener(`elementor/commands/run/${state}`, e => { const shouldRunCallback = e.type === 'command' && e.command === command; if (shouldRunCallback) { callback(e); } }); } function registerRouteListener(route, state, callback) { return registerWindowEventListener(`elementor/routes/${state}`, e => { const shouldRunCallback = e.type === 'route' && e.route.startsWith(route); if (shouldRunCallback) { callback(e); } }); } const V1_READY_EVENT_NAME = 'elementor/initialized'; function registerWindowEventListener(event, callback) { const isFirstListener = !callbacksByEvent.has(event); if (isFirstListener) { callbacksByEvent.set(event, []); addListener(event); } callbacksByEvent.get(event)?.push(callback); if (event === V1_READY_EVENT_NAME && (0,_is_ready__WEBPACK_IMPORTED_MODULE_0__.isReady)()) { Promise.resolve().then(() => { const stillRegistered = callbacksByEvent.get(event)?.includes(callback); if (stillRegistered) { callback({ type: 'window-event', event, originalEvent: new CustomEvent(event) }); } }); } return () => { const callbacks = callbacksByEvent.get(event); if (!callbacks?.length) { return; } const filtered = callbacks.filter(cb => cb !== callback); callbacksByEvent.set(event, filtered); }; } function addListener(event) { window.addEventListener(event, makeEventHandler(event), { signal: abortController.signal }); } function makeEventHandler(event) { return e => { if (!(0,_is_ready__WEBPACK_IMPORTED_MODULE_0__.isReady)()) { return; } const normalizedEvent = (0,_utils__WEBPACK_IMPORTED_MODULE_1__.normalizeEvent)(e); callbacksByEvent.get(event)?.forEach(callback => { callback(normalizedEvent); }); }; } /***/ }), /***/ "./packages/packages/libs/editor-v1-adapters/src/listeners/types.ts": /*!**************************************************************************!*\ !*** ./packages/packages/libs/editor-v1-adapters/src/listeners/types.ts ***! \**************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { __webpack_require__.r(__webpack_exports__); /***/ }), /***/ "./packages/packages/libs/editor-v1-adapters/src/listeners/utils.ts": /*!**************************************************************************!*\ !*** ./packages/packages/libs/editor-v1-adapters/src/listeners/utils.ts ***! \**************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ dispatchReadyEvent: function() { return /* binding */ dispatchReadyEvent; }, /* harmony export */ normalizeEvent: function() { return /* binding */ normalizeEvent; } /* harmony export */ }); /* harmony import */ var _is_ready__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./is-ready */ "./packages/packages/libs/editor-v1-adapters/src/listeners/is-ready.ts"); function dispatchReadyEvent() { return getV1LoadingPromise().then(() => { (0,_is_ready__WEBPACK_IMPORTED_MODULE_0__.setReady)(true); window.dispatchEvent(new CustomEvent('elementor/initialized')); }); } function getV1LoadingPromise() { const v1LoadingPromise = window.__elementorEditorV1LoadingPromise; if (!v1LoadingPromise) { return Promise.reject('Elementor Editor V1 is not loaded'); } return v1LoadingPromise; } function normalizeEvent(e) { if (e instanceof CustomEvent && e.detail?.command) { return { type: 'command', command: e.detail.command, args: e.detail.args, originalEvent: e }; } if (e instanceof CustomEvent && e.detail?.route) { return { type: 'route', route: e.detail.route, originalEvent: e }; } return { type: 'window-event', event: e.type, originalEvent: e }; } /***/ }), /***/ "./packages/packages/libs/editor-v1-adapters/src/readers/index.ts": /*!************************************************************************!*\ !*** ./packages/packages/libs/editor-v1-adapters/src/readers/index.ts ***! \************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ EXPERIMENTAL_FEATURES: function() { return /* binding */ EXPERIMENTAL_FEATURES; }, /* harmony export */ isExperimentActive: function() { return /* binding */ isExperimentActive; }, /* harmony export */ isRouteActive: function() { return /* binding */ isRouteActive; } /* harmony export */ }); const EXPERIMENTAL_FEATURES = { // Note: Add new experimental features here as needed }; function isRouteActive(route) { const extendedWindow = window; return !!extendedWindow.$e?.routes?.isPartOf(route); } const isExperimentActive = experiment => { const extendedWindow = window; return !!extendedWindow.elementorCommon?.config?.experimentalFeatures?.[experiment]; }; /***/ }), /***/ "./packages/packages/libs/editor-v1-adapters/src/undoable/get-history-manager.ts": /*!***************************************************************************************!*\ !*** ./packages/packages/libs/editor-v1-adapters/src/undoable/get-history-manager.ts ***! \***************************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ getHistoryManager: function() { return /* binding */ getHistoryManager; } /* harmony export */ }); /* harmony import */ var _elementor_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/utils */ "@elementor/utils"); /* harmony import */ var _elementor_utils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_utils__WEBPACK_IMPORTED_MODULE_0__); const HistoryManagerNotAvailable = (0,_elementor_utils__WEBPACK_IMPORTED_MODULE_0__.createError)({ code: 'history_manager_not_available', message: 'Cannot access History manager.' }); function getHistoryManager() { const extendedWindow = window; const historyManger = extendedWindow.elementor?.documents?.getCurrent?.()?.history; if (!historyManger) { throw new HistoryManagerNotAvailable(); } return historyManger; } /***/ }), /***/ "./packages/packages/libs/editor-v1-adapters/src/undoable/index.ts": /*!*************************************************************************!*\ !*** ./packages/packages/libs/editor-v1-adapters/src/undoable/index.ts ***! \*************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ undoable: function() { return /* reexport safe */ _undoable__WEBPACK_IMPORTED_MODULE_0__.undoable; } /* harmony export */ }); /* harmony import */ var _undoable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./undoable */ "./packages/packages/libs/editor-v1-adapters/src/undoable/undoable.ts"); /***/ }), /***/ "./packages/packages/libs/editor-v1-adapters/src/undoable/undoable.ts": /*!****************************************************************************!*\ !*** ./packages/packages/libs/editor-v1-adapters/src/undoable/undoable.ts ***! \****************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ undoable: function() { return /* binding */ undoable; } /* harmony export */ }); /* harmony import */ var _elementor_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/utils */ "@elementor/utils"); /* harmony import */ var _elementor_utils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_utils__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _get_history_manager__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./get-history-manager */ "./packages/packages/libs/editor-v1-adapters/src/undoable/get-history-manager.ts"); // eslint-disable-next-line @typescript-eslint/no-explicit-any // Action WITHOUT a payload. // Action WITH a payload. function undoable(actions, options) { actions.redo ??= actions.do; const _addHistoryItem = options.debounce ? (0,_elementor_utils__WEBPACK_IMPORTED_MODULE_0__.debounce)(addHistoryItem, options.debounce.wait) : addHistoryItem; return payload => { const _payload = payload; const _actions = actions; let doReturn = _actions.do(_payload); let undoReturn; _addHistoryItem({ title: normalizeToGenerator(options.title)(_payload, doReturn), subTitle: normalizeToGenerator(options.subtitle)(_payload, doReturn), type: '', restore: (_, isRedo) => { if (isRedo) { doReturn = _actions.redo(_payload, doReturn, undoReturn); return; } undoReturn = _actions.undo(_payload, doReturn); } }); return doReturn; }; } function normalizeToGenerator(value) { return typeof value === 'function' ? value : () => value ?? ''; } function addHistoryItem(item) { const history = (0,_get_history_manager__WEBPACK_IMPORTED_MODULE_1__.getHistoryManager)(); history.addItem(item); } /***/ }), /***/ "@elementor/utils": /*!****************************************!*\ !*** external ["elementorV2","utils"] ***! \****************************************/ /***/ (function(module) { module.exports = window["elementorV2"]["utils"]; /***/ }), /***/ "react": /*!**************************!*\ !*** external ["React"] ***! \**************************/ /***/ (function(module) { module.exports = window["React"]; /***/ }) /******/ }); /************************************************************************/ /******/ // The module cache /******/ var __webpack_module_cache__ = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ var cachedModule = __webpack_module_cache__[moduleId]; /******/ if (cachedModule !== undefined) { /******/ return cachedModule.exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = __webpack_module_cache__[moduleId] = { /******/ // no module.id needed /******/ // no module.loaded needed /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /************************************************************************/ /******/ /* webpack/runtime/compat get default export */ /******/ !function() { /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function() { return module['default']; } : /******/ function() { return module; }; /******/ __webpack_require__.d(getter, { a: getter }); /******/ return getter; /******/ }; /******/ }(); /******/ /******/ /* webpack/runtime/define property getters */ /******/ !function() { /******/ // define getter functions for harmony exports /******/ __webpack_require__.d = function(exports, definition) { /******/ for(var key in definition) { /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); /******/ } /******/ } /******/ }; /******/ }(); /******/ /******/ /* webpack/runtime/hasOwnProperty shorthand */ /******/ !function() { /******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } /******/ }(); /******/ /******/ /* webpack/runtime/make namespace object */ /******/ !function() { /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ }(); /******/ /************************************************************************/ var __webpack_exports__ = {}; // This entry needs to be wrapped in an IIFE because it needs to be isolated against other modules in the chunk. !function() { /*!****************************************************************!*\ !*** ./packages/packages/libs/editor-v1-adapters/src/index.ts ***! \****************************************************************/ __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ EXPERIMENTAL_FEATURES: function() { return /* reexport safe */ _readers__WEBPACK_IMPORTED_MODULE_3__.EXPERIMENTAL_FEATURES; }, /* harmony export */ __privateDispatchReadyEvent: function() { return /* reexport safe */ _listeners__WEBPACK_IMPORTED_MODULE_2__.dispatchReadyEvent; }, /* harmony export */ __privateFlushListeners: function() { return /* reexport safe */ _listeners__WEBPACK_IMPORTED_MODULE_2__.flushListeners; }, /* harmony export */ __privateIsReady: function() { return /* reexport safe */ _listeners__WEBPACK_IMPORTED_MODULE_2__.isReady; }, /* harmony export */ __privateIsRouteActive: function() { return /* reexport safe */ _readers__WEBPACK_IMPORTED_MODULE_3__.isRouteActive; }, /* harmony export */ __privateListenTo: function() { return /* reexport safe */ _listeners__WEBPACK_IMPORTED_MODULE_2__.listenTo; }, /* harmony export */ __privateOpenRoute: function() { return /* reexport safe */ _dispatchers_dispatchers__WEBPACK_IMPORTED_MODULE_0__.openRoute; }, /* harmony export */ __privateRegisterRoute: function() { return /* reexport safe */ _dispatchers_dispatchers__WEBPACK_IMPORTED_MODULE_0__.registerRoute; }, /* harmony export */ __privateRunCommand: function() { return /* reexport safe */ _dispatchers_dispatchers__WEBPACK_IMPORTED_MODULE_0__.runCommand; }, /* harmony export */ __privateRunCommandSync: function() { return /* reexport safe */ _dispatchers_dispatchers__WEBPACK_IMPORTED_MODULE_0__.runCommandSync; }, /* harmony export */ __privateSetReady: function() { return /* reexport safe */ _listeners__WEBPACK_IMPORTED_MODULE_2__.setReady; }, /* harmony export */ __privateUseIsRouteActive: function() { return /* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_1__.useIsRouteActive; }, /* harmony export */ __privateUseListenTo: function() { return /* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_1__.useListenTo; }, /* harmony export */ __privateUseRouteStatus: function() { return /* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_1__.useRouteStatus; }, /* harmony export */ ajax: function() { return /* reexport safe */ _ajax__WEBPACK_IMPORTED_MODULE_4__.ajax; }, /* harmony export */ blockCommand: function() { return /* reexport safe */ _data_hooks_block_command__WEBPACK_IMPORTED_MODULE_8__.blockCommand; }, /* harmony export */ changeEditMode: function() { return /* reexport safe */ _edit_mode__WEBPACK_IMPORTED_MODULE_6__.changeEditMode; }, /* harmony export */ commandEndEvent: function() { return /* reexport safe */ _listeners__WEBPACK_IMPORTED_MODULE_2__.commandEndEvent; }, /* harmony export */ commandStartEvent: function() { return /* reexport safe */ _listeners__WEBPACK_IMPORTED_MODULE_2__.commandStartEvent; }, /* harmony export */ enqueueFont: function() { return /* reexport safe */ _config__WEBPACK_IMPORTED_MODULE_10__.enqueueFont; }, /* harmony export */ getCanvasIframeDocument: function() { return /* reexport safe */ _canvas__WEBPACK_IMPORTED_MODULE_9__.getCanvasIframeDocument; }, /* harmony export */ getCurrentEditMode: function() { return /* reexport safe */ _edit_mode__WEBPACK_IMPORTED_MODULE_6__.getCurrentEditMode; }, /* harmony export */ getElementorConfig: function() { return /* reexport safe */ _config__WEBPACK_IMPORTED_MODULE_10__.getElementorConfig; }, /* harmony export */ getElementorFrontendConfig: function() { return /* reexport safe */ _config__WEBPACK_IMPORTED_MODULE_10__.getElementorFrontendConfig; }, /* harmony export */ isExperimentActive: function() { return /* reexport safe */ _readers__WEBPACK_IMPORTED_MODULE_3__.isExperimentActive; }, /* harmony export */ registerDataHook: function() { return /* reexport safe */ _data_hooks_register_data_hook__WEBPACK_IMPORTED_MODULE_7__.registerDataHook; }, /* harmony export */ routeCloseEvent: function() { return /* reexport safe */ _listeners__WEBPACK_IMPORTED_MODULE_2__.routeCloseEvent; }, /* harmony export */ routeOpenEvent: function() { return /* reexport safe */ _listeners__WEBPACK_IMPORTED_MODULE_2__.routeOpenEvent; }, /* harmony export */ undoable: function() { return /* reexport safe */ _undoable__WEBPACK_IMPORTED_MODULE_5__.undoable; }, /* harmony export */ useEditMode: function() { return /* reexport safe */ _edit_mode__WEBPACK_IMPORTED_MODULE_6__.useEditMode; }, /* harmony export */ v1ReadyEvent: function() { return /* reexport safe */ _listeners__WEBPACK_IMPORTED_MODULE_2__.v1ReadyEvent; }, /* harmony export */ windowEvent: function() { return /* reexport safe */ _listeners__WEBPACK_IMPORTED_MODULE_2__.windowEvent; } /* harmony export */ }); /* harmony import */ var _dispatchers_dispatchers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dispatchers/dispatchers */ "./packages/packages/libs/editor-v1-adapters/src/dispatchers/dispatchers.ts"); /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./hooks */ "./packages/packages/libs/editor-v1-adapters/src/hooks/index.ts"); /* harmony import */ var _listeners__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./listeners */ "./packages/packages/libs/editor-v1-adapters/src/listeners/index.ts"); /* harmony import */ var _readers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./readers */ "./packages/packages/libs/editor-v1-adapters/src/readers/index.ts"); /* harmony import */ var _ajax__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ajax */ "./packages/packages/libs/editor-v1-adapters/src/ajax/index.ts"); /* harmony import */ var _undoable__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./undoable */ "./packages/packages/libs/editor-v1-adapters/src/undoable/index.ts"); /* harmony import */ var _edit_mode__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./edit-mode */ "./packages/packages/libs/editor-v1-adapters/src/edit-mode.ts"); /* harmony import */ var _data_hooks_register_data_hook__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./data-hooks/register-data-hook */ "./packages/packages/libs/editor-v1-adapters/src/data-hooks/register-data-hook.ts"); /* harmony import */ var _data_hooks_block_command__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./data-hooks/block-command */ "./packages/packages/libs/editor-v1-adapters/src/data-hooks/block-command.ts"); /* harmony import */ var _canvas__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./canvas */ "./packages/packages/libs/editor-v1-adapters/src/canvas/index.ts"); /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./config */ "./packages/packages/libs/editor-v1-adapters/src/config/index.ts"); }(); (window.elementorV2 = window.elementorV2 || {}).editorV1Adapters = __webpack_exports__; /******/ })() ; window.elementorV2.editorV1Adapters?.init?.(); //# sourceMappingURL=editor-v1-adapters.js.map.wpforms-container .wpforms-error-container,.wpforms-container .wpforms-error-noscript{color:#D63637}.wpforms-container .wpforms-error-styled-container{padding:15px 0}.wpforms-container .wpforms-error-styled-container p{margin:0}.wpforms-container .wpforms-error-styled-container+.wpforms-submit-container{margin-top:10px}.wpforms-container label.wpforms-error,.wpforms-container em.wpforms-error{display:block;color:#D63637;font-size:0.9em;font-style:normal;cursor:default;min-width:120px}.wpforms-container .wpforms-field input.wpforms-error,.wpforms-container .wpforms-field input.user-invalid,.wpforms-container .wpforms-field textarea.wpforms-error,.wpforms-container .wpforms-field textarea.user-invalid,.wpforms-container .wpforms-field select.wpforms-error,.wpforms-container .wpforms-field select.user-invalid{border:1px solid #D63637}.wpforms-container .wpforms-field input[type=checkbox].wpforms-error,.wpforms-container .wpforms-field input[type=checkbox].user-invalid,.wpforms-container .wpforms-field input[type=radio].wpforms-error,.wpforms-container .wpforms-field input[type=radio].user-invalid{border:none}.wpforms-container .wpforms-field.wpforms-has-error .choices__inner{border:1px solid #D63637}.wpforms-container .wpforms-error-alert{border:1px solid rgba(0,0,0,0.25);text-shadow:0 1px 0 rgba(255,255,255,0.5);padding:10px 15px;font-size:14px;margin:0 0 10px 0}.wpforms-container .wpforms-error-alert{color:#D63637;background-color:#f2dede;border-color:#f2dede}div[style*="z-index: 2147483647"] div[style*="border-width: 11px"][style*="position: absolute"][style*="pointer-events: none"]{border-style:none}.wpforms-container .wpforms-screen-reader-element{position:absolute !important;clip:rect(0, 0, 0, 0);height:1px;width:1px;border:0;overflow:hidden;word-wrap:normal !important}.wpforms-container .wpforms-field-hp{display:none !important;position:absolute !important;left:-9000px !important}.wpforms-container .wpforms-recaptcha-container{padding:0;clear:both}.wpforms-container .wpforms-recaptcha-container iframe{display:block;width:100%;max-width:100%}.wpforms-container .wpforms-recaptcha-container .g-recaptcha{padding:10px 0 0}.wpforms-container .wpforms-recaptcha-container.wpforms-is-turnstile.wpforms-is-turnstile-invisible{padding:0;height:0}.wpforms-container .wpforms-recaptcha-container.wpforms-is-turnstile iframe{position:relative !important;visibility:inherit !important}.wpforms-container .wpforms-recaptcha-container.wpforms-is-recaptcha-type-v3 .g-recaptcha,.wpforms-container .wpforms-recaptcha-container.wpforms-is-turnstile-invisible .g-recaptcha,.wpforms-container .wpforms-recaptcha-container.wpforms-is-recaptcha-type-invisible .g-recaptcha{padding:0}.wpforms-container .wpforms-recaptcha-container.wpforms-is-recaptcha-type-v3 .wpforms-error:first-of-type,.wpforms-container .wpforms-recaptcha-container.wpforms-is-turnstile-invisible .wpforms-error:first-of-type,.wpforms-container .wpforms-recaptcha-container.wpforms-is-recaptcha-type-invisible .wpforms-error:first-of-type{margin-top:10px}.wpforms-container amp-img>img{position:absolute}.wpforms-container .amp-form-submit-success .wpforms-field-container,.wpforms-container .amp-form-submit-success .wpforms-submit-container{display:none}.wpforms-container .wpforms-preview-notice-links{line-height:2.4}body.rtl .wpforms-container .wpforms-form input[type=tel]{direction:ltr;text-align:right}body.rtl .wpforms-container .wpforms-form input[type=url]{direction:ltr;text-align:right}body.rtl .wpforms-container .wpforms-form input[type=url]::-webkit-textfield-decoration-container{display:flex;flex-direction:row-reverse}body.rtl .wpforms-container .wpforms-form input[type=email]{direction:ltr;text-align:right}body.rtl .wpforms-container .wpforms-form input[type=email]::-webkit-textfield-decoration-container{display:flex;flex-direction:row-reverse}body.rtl .wpforms-container .wpforms-form input[type=number]::-webkit-textfield-decoration-container{flex-direction:row-reverse}body.rtl .wpforms-container .wpforms-form .wpforms-field-date-time .wpforms-datepicker-wrap .wpforms-datepicker-clear{right:auto;left:10px}body.rtl .wpforms-container .wpforms-form .wpforms-field-date-time .ui-timepicker-list li{padding:3px 5px 3px 0 !important}body.rtl .wpforms-container .wpforms-form .wpforms-field-date-time .wpforms-field-medium+.wpforms-datepicker-clear{left:calc( 40% + 10px);right:auto}body.rtl .wpforms-container .wpforms-form .wpforms-field-file-upload .dz-remove{right:auto;left:0}body.rtl .wpforms-container .wpforms-form .wpforms-image-choices-none .wpforms-image-choices-item .wpforms-image-choices-label{margin-left:0;margin-right:10px}body.rtl .ui-timepicker-list li{padding:3px 5px 3px 0}.wpforms-container .wpforms-form .wpforms-field.wpforms-field-email .wpforms-field-row,.wpforms-container .wpforms-form .wpforms-field.wpforms-field-address .wpforms-field-row,.wpforms-container .wpforms-form .wpforms-field.wpforms-field-password .wpforms-field-row{flex-wrap:wrap;container-type:inline-size;container-name:wpforms-field-row-responsive}.wpforms-container .wpforms-form .wpforms-field.wpforms-field-name .wpforms-field-row{flex-wrap:wrap;container-type:inline-size;container-name:wpforms-field-row-responsive-name-field}.wpforms-container .wpforms-form .wpforms-field .wpforms-field-row-responsive{flex-wrap:wrap;container-type:inline-size;container-name:wpforms-field-row-responsive}@container wpforms-field-row-responsive (max-width: 200px){.wpforms-container .wpforms-form .wpforms-field .wpforms-field-row .wpforms-field-row-block{width:100%;padding:0}.wpforms-container .wpforms-form .wpforms-field .wpforms-field-row .wpforms-field-row-block:only-child{padding:0}.wpforms-container .wpforms-form .wpforms-field .wpforms-field-row .wpforms-field-row-block:not(:last-child){margin-bottom:15px}}@container wpforms-field-row-responsive-name-field (max-width: 260px){.wpforms-container .wpforms-form .wpforms-field .wpforms-field-row .wpforms-field-row-block{width:100%;padding:0}.wpforms-container .wpforms-form .wpforms-field .wpforms-field-row .wpforms-field-row-block:only-child{padding:0}.wpforms-container .wpforms-form .wpforms-field .wpforms-field-row .wpforms-field-row-block:not(:last-child){margin-bottom:15px}}.wpforms-container .wpforms-form .wpforms-checkbox-2-columns,.wpforms-container .wpforms-form .wpforms-multiplechoice-2-columns,.wpforms-container .wpforms-form .wpforms-list-2-columns{container-type:inline-size;container-name:wpforms-field-2-columns-responsive}@container wpforms-field-2-columns-responsive (max-width: 320px){.wpforms-container .wpforms-form .wpforms-checkbox-2-columns ul,.wpforms-container .wpforms-form .wpforms-multiplechoice-2-columns ul,.wpforms-container .wpforms-form .wpforms-list-2-columns ul{grid-template-columns:1fr !important}.wpforms-container .wpforms-form .wpforms-checkbox-2-columns ul li,.wpforms-container .wpforms-form .wpforms-multiplechoice-2-columns ul li,.wpforms-container .wpforms-form .wpforms-list-2-columns ul li{width:100%}}.wpforms-container .wpforms-form .wpforms-checkbox-3-columns,.wpforms-container .wpforms-form .wpforms-multiplechoice-3-columns,.wpforms-container .wpforms-form .wpforms-list-3-columns{container-type:inline-size;container-name:wpforms-field-3-columns-responsive}@container wpforms-field-3-columns-responsive (max-width: 480px){.wpforms-container .wpforms-form .wpforms-checkbox-3-columns ul,.wpforms-container .wpforms-form .wpforms-multiplechoice-3-columns ul,.wpforms-container .wpforms-form .wpforms-list-3-columns ul{grid-template-columns:repeat(2, minmax(0, 1fr)) !important}.wpforms-container .wpforms-form .wpforms-checkbox-3-columns ul li,.wpforms-container .wpforms-form .wpforms-multiplechoice-3-columns ul li,.wpforms-container .wpforms-form .wpforms-list-3-columns ul li{width:100%}}@container wpforms-field-3-columns-responsive (max-width: 320px){.wpforms-container .wpforms-form .wpforms-checkbox-3-columns ul,.wpforms-container .wpforms-form .wpforms-multiplechoice-3-columns ul,.wpforms-container .wpforms-form .wpforms-list-3-columns ul{grid-template-columns:1fr !important}.wpforms-container .wpforms-form .wpforms-checkbox-3-columns ul li,.wpforms-container .wpforms-form .wpforms-multiplechoice-3-columns ul li,.wpforms-container .wpforms-form .wpforms-list-3-columns ul li{width:100%}}@media only screen and (max-width: 600px){div.wpforms-container .wpforms-form .wpforms-field>*{max-width:100%}div.wpforms-container .wpforms-form .wpforms-field{padding-right:1px;padding-left:1px}div.wpforms-container .wpforms-form .wpforms-field input.wpforms-field-small,div.wpforms-container .wpforms-form .wpforms-field input.wpforms-field-medium,div.wpforms-container .wpforms-form .wpforms-field input.wpforms-field-large,div.wpforms-container .wpforms-form .wpforms-field select.wpforms-field-small,div.wpforms-container .wpforms-form .wpforms-field select.wpforms-field-medium,div.wpforms-container .wpforms-form .wpforms-field select.wpforms-field-large,div.wpforms-container .wpforms-form .wpforms-field .wpforms-field-row.wpforms-field-small,div.wpforms-container .wpforms-form .wpforms-field .wpforms-field-row.wpforms-field-medium,div.wpforms-container .wpforms-form .wpforms-field .wpforms-field-row.wpforms-field-large{max-width:100%}div.wpforms-container .wpforms-form .wpforms-mobile-full{width:100%;margin-left:0}div.wpforms-container .wpforms-form .wpforms-field:not(.wpforms-field-phone):not(.wpforms-field-select-style-modern):not(.wpforms-field-radio):not(.wpforms-field-checkbox):not(.wpforms-field-layout):not(.wpforms-field-repeater){overflow-x:hidden}div.wpforms-container .wpforms-form .wpforms-checkbox-2-columns ul,div.wpforms-container .wpforms-form .wpforms-multiplechoice-2-columns ul,div.wpforms-container .wpforms-form .wpforms-list-2-columns ul,div.wpforms-container .wpforms-form .wpforms-checkbox-3-columns ul,div.wpforms-container .wpforms-form .wpforms-multiplechoice-3-columns ul,div.wpforms-container .wpforms-form .wpforms-list-3-columns ul{grid-template-columns:1fr !important}div.wpforms-container .wpforms-form .wpforms-checkbox-2-columns ul li,div.wpforms-container .wpforms-form .wpforms-multiplechoice-2-columns ul li,div.wpforms-container .wpforms-form .wpforms-list-2-columns ul li,div.wpforms-container .wpforms-form .wpforms-checkbox-3-columns ul li,div.wpforms-container .wpforms-form .wpforms-multiplechoice-3-columns ul li,div.wpforms-container .wpforms-form .wpforms-list-3-columns ul li{width:100%}div.wpforms-container .wpforms-form .wpforms-page-indicator.circles .wpforms-page-indicator-page{display:block;margin:0 0 10px 0}div.wpforms-container .wpforms-form .wpforms-page-indicator.circles .wpforms-page-indicator-page-number{width:30px;height:30px;line-height:30px}div.wpforms-container .wpforms-form .wpforms-page-indicator.connector .wpforms-page-indicator-page{width:100% !important;padding:5px 10px}div.wpforms-container .wpforms-form .wpforms-page-indicator.connector .wpforms-page-indicator-page-number{display:none}div.wpforms-container .wpforms-form .wpforms-page-indicator.connector .wpforms-page-indicator-page.active{font-weight:700}div.wpforms-container .wpforms-form.inline-fields .wpforms-field-container,div.wpforms-container .wpforms-form.inline-fields .wpforms-field{display:block;width:100%}div.wpforms-container .wpforms-form.inline-fields .wpforms-submit-container{width:100%}}.wpforms-container{margin-bottom:26px}.wpforms-container .wpforms-form *{word-break:break-word;box-sizing:border-box}.wpforms-container .wpforms-form .wpforms-field-label,.wpforms-container .wpforms-form .wpforms-field-sublabel,.wpforms-container .wpforms-form .wpforms-field-description,.wpforms-container .wpforms-form textarea,.wpforms-container .wpforms-form li,.wpforms-container .wpforms-form th{hyphens:auto}.wpforms-container ul,.wpforms-container ul li{background:none;border:0;margin:0}.wpforms-container .wpforms-title{font-size:24px;font-weight:700;margin:0 0 10px 0}.wpforms-container .wpforms-submit-container{clear:both;position:relative}.wpforms-container .wpforms-submit-spinner{margin-inline-start:15px;display:inline-block;vertical-align:middle}.wpforms-container .wpforms-hidden{display:none !important}.wpforms-clear:before{content:" ";display:table}.wpforms-clear:after{clear:both;content:" ";display:table}.wpforms-container .wpforms-notice{background-color:#ffffff;border:1px solid rgba(0,0,0,0.25);border-left-width:12px;color:#333333;font-size:16px;line-height:1.5;margin-bottom:30px;padding:20px 36px 20px 26px;position:relative}.wpforms-container .wpforms-notice .wpforms-delete{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-moz-appearance:none;-webkit-appearance:none;background-color:rgba(10,10,10,0.2);border:none;border-radius:50%;cursor:pointer;display:inline-block;height:20px;margin:0;padding:0;vertical-align:top;width:20px;position:absolute;right:10px;top:10px}.wpforms-container .wpforms-notice .wpforms-delete:before,.wpforms-container .wpforms-notice .wpforms-delete:after{background-color:#ffffff;content:"";display:block;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%) rotate(45deg);transform-origin:center center}.wpforms-container .wpforms-notice .wpforms-delete:before{height:2px;width:50%}.wpforms-container .wpforms-notice .wpforms-delete:after{height:50%;width:2px}.wpforms-container .wpforms-notice .wpforms-delete:hover,.wpforms-container .wpforms-notice .wpforms-delete:focus{background-color:rgba(10,10,10,0.3)}.wpforms-container .wpforms-notice a{text-decoration:underline}.wpforms-container .wpforms-notice p{margin:0 0 20px 0}.wpforms-container .wpforms-notice p:last-of-type{margin-bottom:0}.wpforms-container .wpforms-notice .wpforms-notice-actions{margin-top:20px}.wpforms-container .wpforms-notice .wpforms-notice-action{border:2px solid;margin-right:20px;padding:5px;text-decoration:none}.wpforms-container .wpforms-notice .wpforms-notice-action:hover,.wpforms-container .wpforms-notice .wpforms-notice-action:focus,.wpforms-container .wpforms-notice .wpforms-notice-action:active{color:#ffffff}.wpforms-container .wpforms-notice.wpforms-info{border-color:#3273dc}.wpforms-container .wpforms-notice.wpforms-info .wpforms-notice-action{border-color:#3273dc}.wpforms-container .wpforms-notice.wpforms-info .wpforms-notice-action:hover,.wpforms-container .wpforms-notice.wpforms-info .wpforms-notice-action:focus,.wpforms-container .wpforms-notice.wpforms-info .wpforms-notice-action:active{background-color:#3273dc}.wpforms-container .wpforms-notice.wpforms-success{border-color:#23d160}.wpforms-container .wpforms-notice.wpforms-success .wpforms-notice-action{border-color:#23d160}.wpforms-container .wpforms-notice.wpforms-success .wpforms-notice-action:hover,.wpforms-container .wpforms-notice.wpforms-success .wpforms-notice-action:focus,.wpforms-container .wpforms-notice.wpforms-success .wpforms-notice-action:active{background-color:#23d160}.wpforms-container .wpforms-notice.wpforms-warning{border-color:#ffdd57}.wpforms-container .wpforms-notice.wpforms-warning .wpforms-notice-action{border-color:#ffdd57}.wpforms-container .wpforms-notice.wpforms-warning .wpforms-notice-action:hover,.wpforms-container .wpforms-notice.wpforms-warning .wpforms-notice-action:focus,.wpforms-container .wpforms-notice.wpforms-warning .wpforms-notice-action:active{background-color:#ffdd57;color:inherit}.wpforms-container .wpforms-notice.wpforms-error{border-color:#D63637}.wpforms-container .wpforms-notice.wpforms-error .wpforms-notice-action{border-color:#D63637}.wpforms-container .wpforms-notice.wpforms-error .wpforms-notice-action:hover,.wpforms-container .wpforms-notice.wpforms-error .wpforms-notice-action:focus,.wpforms-container .wpforms-notice.wpforms-error .wpforms-notice-action:active{background-color:#D63637}.wpforms-container .wpforms-preview-notice-links{line-height:2.4}.wpforms-container input.wpforms-field-medium,.wpforms-container select.wpforms-field-medium,.wpforms-container .wpforms-field-row.wpforms-field-medium,.wp-core-ui div.wpforms-container input.wpforms-field-medium,.wp-core-ui div.wpforms-container select.wpforms-field-medium,.wp-core-ui div.wpforms-container .wpforms-field-row.wpforms-field-medium{max-width:60%}.wpforms-container input.wpforms-field-small,.wpforms-container select.wpforms-field-small,.wpforms-container .wpforms-field-row.wpforms-field-small,.wp-core-ui div.wpforms-container input.wpforms-field-small,.wp-core-ui div.wpforms-container select.wpforms-field-small,.wp-core-ui div.wpforms-container .wpforms-field-row.wpforms-field-small{max-width:25%}.wpforms-container input.wpforms-field-large,.wpforms-container select.wpforms-field-large,.wpforms-container .wpforms-field-row.wpforms-field-large,.wp-core-ui div.wpforms-container input.wpforms-field-large,.wp-core-ui div.wpforms-container select.wpforms-field-large,.wp-core-ui div.wpforms-container .wpforms-field-row.wpforms-field-large{max-width:100%}.wpforms-container fieldset,.wp-core-ui div.wpforms-container fieldset{display:block;border:none;margin:0;padding:0}.wpforms-container .wpforms-field,.wp-core-ui div.wpforms-container .wpforms-field{padding:15px 0;position:relative}.wpforms-container .wpforms-field.wpforms-field-hidden,.wp-core-ui div.wpforms-container .wpforms-field.wpforms-field-hidden{display:none;padding:0}.wpforms-container .wpforms-field-description,.wpforms-container .wpforms-field-limit-text,.wp-core-ui div.wpforms-container .wpforms-field-description,.wp-core-ui div.wpforms-container .wpforms-field-limit-text{font-size:0.8em;margin:5px 0 0 0;word-break:break-word;word-wrap:break-word;line-height:1.3}.wpforms-container .wpforms-field-description.wpforms-disclaimer-description,.wp-core-ui div.wpforms-container .wpforms-field-description.wpforms-disclaimer-description{background-color:#ffffff;border:1px solid rgba(0,0,0,0.25);padding:15px 15px 0;height:125px;overflow-y:scroll;overflow-x:hidden}.wpforms-container .wpforms-field-description.wpforms-disclaimer-description p,.wp-core-ui div.wpforms-container .wpforms-field-description.wpforms-disclaimer-description p{margin:0 0 15px 0}.wpforms-container .wpforms-field-description-before,.wpforms-container .wpforms-field-description.before,.wp-core-ui div.wpforms-container .wpforms-field-description-before,.wp-core-ui div.wpforms-container .wpforms-field-description.before{font-size:0.85em;margin:0 0 5px 0}.wpforms-container .wpforms-field-label,.wp-core-ui div.wpforms-container .wpforms-field-label{display:block;font-weight:700;font-style:normal;word-break:break-word;word-wrap:break-word}.wpforms-container .wpforms-field-label-inline,.wp-core-ui div.wpforms-container .wpforms-field-label-inline{display:inline;vertical-align:baseline;font-weight:400;font-style:normal;word-break:break-word;word-wrap:break-word}.wpforms-container .wpforms-field-sublabel,.wp-core-ui div.wpforms-container .wpforms-field-sublabel{display:block;font-size:0.8em;font-weight:400;font-style:normal;min-width:120px}.wpforms-container .wpforms-field-label.wpforms-label-hide,.wpforms-container .wpforms-field-sublabel.wpforms-sublabel-hide,.wp-core-ui div.wpforms-container .wpforms-field-label.wpforms-label-hide,.wp-core-ui div.wpforms-container .wpforms-field-sublabel.wpforms-sublabel-hide{position:absolute;clip:rect(0 0 0 0);width:1px;height:1px;margin:-1px;overflow:hidden}.wpforms-container .wpforms-required-label,.wp-core-ui div.wpforms-container .wpforms-required-label{color:var(--wpforms-label-error-color);font-weight:normal}.wpforms-container input[type=date],.wpforms-container input[type=datetime],.wpforms-container input[type=datetime-local],.wpforms-container input[type=email],.wpforms-container input[type=month],.wpforms-container input[type=number],.wpforms-container input[type=password],.wpforms-container input[type=range],.wpforms-container input[type=search],.wpforms-container input[type=tel],.wpforms-container input[type=text],.wpforms-container input[type=time],.wpforms-container input[type=url],.wpforms-container input[type=week],.wpforms-container select,.wpforms-container textarea,.wp-core-ui div.wpforms-container input[type=date],.wp-core-ui div.wpforms-container input[type=datetime],.wp-core-ui div.wpforms-container input[type=datetime-local],.wp-core-ui div.wpforms-container input[type=email],.wp-core-ui div.wpforms-container input[type=month],.wp-core-ui div.wpforms-container input[type=number],.wp-core-ui div.wpforms-container input[type=password],.wp-core-ui div.wpforms-container input[type=range],.wp-core-ui div.wpforms-container input[type=search],.wp-core-ui div.wpforms-container input[type=tel],.wp-core-ui div.wpforms-container input[type=text],.wp-core-ui div.wpforms-container input[type=time],.wp-core-ui div.wpforms-container input[type=url],.wp-core-ui div.wpforms-container input[type=week],.wp-core-ui div.wpforms-container select,.wp-core-ui div.wpforms-container textarea{display:block;width:100%;box-sizing:border-box;font-family:inherit;font-style:normal;font-weight:400;margin:0}.wpforms-container input[type=date]:read-only,.wpforms-container input[type=datetime]:read-only,.wpforms-container input[type=datetime-local]:read-only,.wpforms-container input[type=email]:read-only,.wpforms-container input[type=month]:read-only,.wpforms-container input[type=number]:read-only,.wpforms-container input[type=password]:read-only,.wpforms-container input[type=range]:read-only,.wpforms-container input[type=search]:read-only,.wpforms-container input[type=tel]:read-only,.wpforms-container input[type=text]:read-only,.wpforms-container input[type=time]:read-only,.wpforms-container input[type=url]:read-only,.wpforms-container input[type=week]:read-only,.wpforms-container select:read-only,.wpforms-container textarea:read-only,.wp-core-ui div.wpforms-container input[type=date]:read-only,.wp-core-ui div.wpforms-container input[type=datetime]:read-only,.wp-core-ui div.wpforms-container input[type=datetime-local]:read-only,.wp-core-ui div.wpforms-container input[type=email]:read-only,.wp-core-ui div.wpforms-container input[type=month]:read-only,.wp-core-ui div.wpforms-container input[type=number]:read-only,.wp-core-ui div.wpforms-container input[type=password]:read-only,.wp-core-ui div.wpforms-container input[type=range]:read-only,.wp-core-ui div.wpforms-container input[type=search]:read-only,.wp-core-ui div.wpforms-container input[type=tel]:read-only,.wp-core-ui div.wpforms-container input[type=text]:read-only,.wp-core-ui div.wpforms-container input[type=time]:read-only,.wp-core-ui div.wpforms-container input[type=url]:read-only,.wp-core-ui div.wpforms-container input[type=week]:read-only,.wp-core-ui div.wpforms-container select:read-only,.wp-core-ui div.wpforms-container textarea:read-only{cursor:default}.wpforms-container textarea,.wp-core-ui div.wpforms-container textarea{resize:vertical}.wpforms-container input[type=checkbox],.wpforms-container input[type=radio],.wp-core-ui div.wpforms-container input[type=checkbox],.wp-core-ui div.wpforms-container input[type=radio]{width:16px;height:16px;margin:2px 10px 0 3px;display:inline-block;vertical-align:baseline;font-style:normal;font-weight:400}.wpforms-container .wpforms-five-sixths,.wpforms-container .wpforms-four-sixths,.wpforms-container .wpforms-four-fifths,.wpforms-container .wpforms-one-fifth,.wpforms-container .wpforms-one-fourth,.wpforms-container .wpforms-one-half,.wpforms-container .wpforms-one-sixth,.wpforms-container .wpforms-one-third,.wpforms-container .wpforms-three-fourths,.wpforms-container .wpforms-three-fifths,.wpforms-container .wpforms-three-sixths,.wpforms-container .wpforms-two-fourths,.wpforms-container .wpforms-two-fifths,.wpforms-container .wpforms-two-sixths,.wpforms-container .wpforms-two-thirds{float:left;margin-left:20px;clear:none}.wpforms-container .wpforms-one-half,.wpforms-container .wpforms-three-sixths,.wpforms-container .wpforms-two-fourths{width:calc( 50% - 10px)}.wpforms-container .wpforms-one-third,.wpforms-container .wpforms-two-sixths{width:calc( 100% / 3 - 20px)}.wpforms-container .wpforms-one-third.wpforms-first,.wpforms-container .wpforms-two-sixths.wpforms-first{width:calc( 100% / 3)}.wpforms-container .wpforms-four-sixths,.wpforms-container .wpforms-two-thirds{width:calc( 2 * 100% / 3 - 20px)}.wpforms-container .wpforms-four-sixths.wpforms-first,.wpforms-container .wpforms-two-thirds.wpforms-first{width:calc( 2 * 100% / 3)}.wpforms-container .wpforms-one-fourth{width:calc( 25% - 20px)}.wpforms-container .wpforms-one-fourth.wpforms-first{width:25%}.wpforms-container .wpforms-three-fourths{width:calc( 75% - 20px)}.wpforms-container .wpforms-three-fourths.wpforms-first{width:75%}.wpforms-container .wpforms-one-fifth{width:calc( 100% / 5 - 20px)}.wpforms-container .wpforms-one-fifth.wpforms-first{width:calc( 100% / 5)}.wpforms-container .wpforms-two-fifths{width:calc( 2 * 100% / 5 - 20px)}.wpforms-container .wpforms-two-fifths.wpforms-first{width:calc( 2 * 100% / 5)}.wpforms-container .wpforms-three-fifths{width:calc( 3 * 100% / 5 - 20px)}.wpforms-container .wpforms-three-fifths.wpforms-first{width:calc( 3 * 100% / 5)}.wpforms-container .wpforms-four-fifths{width:calc( 4 * 100% / 5 - 20px)}.wpforms-container .wpforms-four-fifths.wpforms-first{width:calc( 4 * 100% / 5)}.wpforms-container .wpforms-one-sixth{width:calc( 100% / 6 - 20px)}.wpforms-container .wpforms-one-sixth.wpforms-first{width:calc( 100% / 6)}.wpforms-container .wpforms-five-sixths{width:calc( 5 * 100% / 6 - 20px)}.wpforms-container .wpforms-five-sixths.wpforms-first{width:calc( 5 * 100% / 6)}.wpforms-container .wpforms-first{clear:both !important;margin-left:0 !important}.wpforms-container .wpforms-field{float:none;clear:both}.wpforms-container .wpforms-field.wpforms-five-sixths,.wpforms-container .wpforms-field.wpforms-four-sixths,.wpforms-container .wpforms-field.wpforms-four-fifths,.wpforms-container .wpforms-field.wpforms-one-fifth,.wpforms-container .wpforms-field.wpforms-one-fourth,.wpforms-container .wpforms-field.wpforms-one-half,.wpforms-container .wpforms-field.wpforms-one-sixth,.wpforms-container .wpforms-field.wpforms-one-third,.wpforms-container .wpforms-field.wpforms-three-fourths,.wpforms-container .wpforms-field.wpforms-three-fifths,.wpforms-container .wpforms-field.wpforms-three-sixths,.wpforms-container .wpforms-field.wpforms-two-fourths,.wpforms-container .wpforms-field.wpforms-two-fifths,.wpforms-container .wpforms-field.wpforms-two-sixths,.wpforms-container .wpforms-field.wpforms-two-thirds{float:left;margin-left:20px;clear:none}.wpforms-container .wpforms-field .wpforms-field-row{align-items:start;position:relative;display:flex;justify-content:space-between;margin-bottom:15px}.wpforms-container .wpforms-field .wpforms-field-row .wpforms-field-row-block{padding:0 10px}.wpforms-container .wpforms-field .wpforms-field-row .wpforms-field-row-block:first-child{padding-inline-start:0}.wpforms-container .wpforms-field .wpforms-field-row .wpforms-field-row-block:last-child{padding-inline-end:0}.wpforms-container .wpforms-field .wpforms-field-row .wpforms-field-row-block:only-child{margin-right:auto;padding-right:10px}.wpforms-container .wpforms-field .wpforms-field-row:before{content:"";display:table}.wpforms-container .wpforms-field .wpforms-field-row:after{clear:both;content:"";display:table}.wpforms-container .wpforms-field .wpforms-field-row:last-of-type{margin-bottom:0}.wpforms-container .wpforms-field .wpforms-field-row>:only-child{width:100%}.wpforms-container .wpforms-field .wpforms-field-row.wpforms-no-columns{display:block}.wpforms-container .wpforms-field .wpforms-field-row .wpforms-five-sixths,.wpforms-container .wpforms-field .wpforms-field-row .wpforms-four-sixths,.wpforms-container .wpforms-field .wpforms-field-row .wpforms-four-fifths,.wpforms-container .wpforms-field .wpforms-field-row .wpforms-one-fifth,.wpforms-container .wpforms-field .wpforms-field-row .wpforms-one-fourth,.wpforms-container .wpforms-field .wpforms-field-row .wpforms-one-half,.wpforms-container .wpforms-field .wpforms-field-row .wpforms-one-sixth,.wpforms-container .wpforms-field .wpforms-field-row .wpforms-one-third,.wpforms-container .wpforms-field .wpforms-field-row .wpforms-three-fourths,.wpforms-container .wpforms-field .wpforms-field-row .wpforms-three-fifths,.wpforms-container .wpforms-field .wpforms-field-row .wpforms-three-sixths,.wpforms-container .wpforms-field .wpforms-field-row .wpforms-two-fourths,.wpforms-container .wpforms-field .wpforms-field-row .wpforms-two-fifths,.wpforms-container .wpforms-field .wpforms-field-row .wpforms-two-sixths,.wpforms-container .wpforms-field .wpforms-field-row .wpforms-two-thirds{float:none;margin-left:0;clear:initial}.wpforms-container .wpforms-field .wpforms-field-row .wpforms-one-half,.wpforms-container .wpforms-field .wpforms-field-row .wpforms-three-sixths,.wpforms-container .wpforms-field .wpforms-field-row .wpforms-two-fourths{width:50%}.wpforms-container .wpforms-field .wpforms-field-row .wpforms-one-third,.wpforms-container .wpforms-field .wpforms-field-row .wpforms-two-sixths{width:33.33333%}.wpforms-container .wpforms-field .wpforms-field-row .wpforms-four-sixths,.wpforms-container .wpforms-field .wpforms-field-row .wpforms-two-thirds{width:66.66667%}.wpforms-container .wpforms-field .wpforms-field-row .wpforms-one-fourth{width:25%}.wpforms-container .wpforms-field .wpforms-field-row .wpforms-three-fourths{width:75%}.wpforms-container .wpforms-field .wpforms-field-row .wpforms-one-fifth{width:20%}.wpforms-container .wpforms-field .wpforms-field-row .wpforms-two-fifths{width:40%}.wpforms-container .wpforms-field .wpforms-field-row .wpforms-three-fifths{width:60%}.wpforms-container .wpforms-field .wpforms-field-row .wpforms-four-fifths{width:80%}.wpforms-container .wpforms-field .wpforms-field-row .wpforms-one-sixth{width:16.66667%}.wpforms-container .wpforms-field .wpforms-field-row .wpforms-five-sixths{width:83.33333%}.wpforms-container .wpforms-field .wpforms-checkbox-2-columns ul,.wpforms-container .wpforms-field .wpforms-multiplechoice-2-columns ul,.wpforms-container .wpforms-field .wpforms-list-2-columns ul,.wpforms-container .wpforms-field .wpforms-checkbox-3-columns ul,.wpforms-container .wpforms-field .wpforms-multiplechoice-3-columns ul,.wpforms-container .wpforms-field .wpforms-list-3-columns ul{display:grid;gap:15px 30px}.wpforms-container .wpforms-field .wpforms-checkbox-2-columns ul,.wpforms-container .wpforms-field .wpforms-multiplechoice-2-columns ul,.wpforms-container .wpforms-field .wpforms-list-2-columns ul{grid-template-columns:repeat(2, 1fr)}.wpforms-container .wpforms-field .wpforms-checkbox-3-columns ul,.wpforms-container .wpforms-field .wpforms-multiplechoice-3-columns ul,.wpforms-container .wpforms-field .wpforms-list-3-columns ul{grid-template-columns:repeat(3, 1fr)}.wpforms-container .wpforms-field .wpforms-list-inline ul li{display:inline-block;vertical-align:top;margin-right:20px}.wpforms-container.inline-fields{overflow:visible}.wpforms-container.inline-fields .wpforms-form{display:flex;justify-content:space-between}.wpforms-container.inline-fields .wpforms-field-container{display:flex;justify-content:space-between;width:calc( 100% - 175px)}.wpforms-container.inline-fields .wpforms-field-container .wpforms-field{padding-right:7px;padding-left:8px}.wpforms-container.inline-fields .wpforms-field-container .wpforms-field:first-of-type{padding-left:0}.wpforms-container.inline-fields .wpforms-field-container .wpforms-field:last-of-type{padding-right:0}.wpforms-container.inline-fields .wpforms-field-row:first-of-type .wpforms-field-row-block:first-child{padding-left:0}.wpforms-container.inline-fields .wpforms-submit-container{width:160px;padding-bottom:16px;align-self:flex-end}.wpforms-container.inline-fields .wpforms-submit{display:block;width:100%}.wpforms-container.inline-fields input.wpforms-field-medium,.wpforms-container.inline-fields select.wpforms-field-medium,.wpforms-container.inline-fields .wpforms-field-row.wpforms-field-medium{max-width:100%}.wpforms-container ul.wpforms-image-choices label:not(.wpforms-error){cursor:pointer;position:relative}.wpforms-container ul.wpforms-image-choices label input{top:50%}.wpforms-container .wpforms-image-choices-modern img{display:inline-block;margin:0 auto;max-width:100%}.wpforms-container .wpforms-image-choices-modern label:not(.wpforms-error){background:none;display:inline-block;margin:0 auto;cursor:pointer;border:1px solid #ffffff;border-radius:3px;padding:20px;transition:all 0.5s;text-align:center}.wpforms-container .wpforms-image-choices-modern label:not(.wpforms-error):hover{border:1px solid rgba(0,0,0,0.25)}.wpforms-container .wpforms-image-choices-modern label:not(.wpforms-error):focus,.wpforms-container .wpforms-image-choices-modern label:not(.wpforms-error):focus-within{border:1px solid rgba(0,0,0,0.25)}.wpforms-container .wpforms-image-choices-modern .wpforms-selected label,.wpforms-container .wpforms-image-choices-modern li:has(input:checked) label{box-shadow:0 0 20px 0 rgba(0,0,0,0.1)}.wpforms-container .wpforms-image-choices-modern .wpforms-selected .wpforms-image-choices-label,.wpforms-container .wpforms-image-choices-modern li:has(input:checked) .wpforms-image-choices-label{font-weight:700}.wpforms-container .wpforms-image-choices-modern .wpforms-selected .wpforms-image-choices-image:after,.wpforms-container .wpforms-image-choices-modern li:has(input:checked) .wpforms-image-choices-image:after{opacity:1}.wpforms-container .wpforms-image-choices-modern .wpforms-image-choices-image{display:block;position:relative}.wpforms-container .wpforms-image-choices-modern .wpforms-image-choices-image:after{content:"\2714";font-size:22px;line-height:32px;color:#ffffff;background:var(--wpforms-button-background-color, #066aab);opacity:0;position:absolute;top:50%;left:50%;margin:-16px 0 0 -16px;width:32px;height:32px;border-radius:50%;transition:all 0.5s}.wpforms-container .wpforms-image-choices-modern .wpforms-image-choices-label{display:block;margin-top:12px}.wpforms-container .wpforms-list-inline .wpforms-image-choices-modern li{margin:5px !important}.wpforms-container .wpforms-image-choices-classic img{display:inline-block;margin:0 auto;max-width:100%}.wpforms-container .wpforms-image-choices-classic label:not(.wpforms-error){background:none;display:inline-block;margin:0 auto;cursor:pointer;border:1px solid transparent;padding:10px;text-align:center}.wpforms-container .wpforms-image-choices-classic label:not(.wpforms-error):hover{border:1px solid rgba(0,0,0,0.25)}.wpforms-container .wpforms-image-choices-classic label:not(.wpforms-error):focus{border:1px solid rgba(0,0,0,0.25)}.wpforms-container .wpforms-image-choices-classic .wpforms-image-choices-image{display:block}.wpforms-container .wpforms-image-choices-classic .wpforms-selected label,.wpforms-container .wpforms-image-choices-classic li:has(input:checked) label{border-color:rgba(0,0,0,0.7)}.wpforms-container .wpforms-image-choices-classic .wpforms-image-choices-label{display:block;margin-top:8px}.wpforms-container .wpforms-list-inline .wpforms-image-choices-classic li{margin:0 10px 10px 0 !important}.wpforms-container .wpforms-image-choices-none .wpforms-image-choices-item img{display:inline-block;margin:0 auto;max-width:100%}.wpforms-container .wpforms-image-choices-none .wpforms-image-choices-item input{vertical-align:middle}.wpforms-container .wpforms-image-choices-none .wpforms-image-choices-item .wpforms-image-choices-label{display:inline-block;margin-top:5px;margin-left:10px;vertical-align:middle}.wpforms-container ul.wpforms-icon-choices,.wpforms-container ul.wpforms-icon-choices *{box-sizing:border-box}.wpforms-container ul.wpforms-icon-choices{display:flex;flex-direction:column;width:100%;padding:0 1px 0 1px !important;margin:12px 0 -20px 0 !important}.wpforms-container ul.wpforms-icon-choices+.wpforms-field-description,.wpforms-container ul.wpforms-icon-choices+.wpforms-error{margin-top:15px}.wpforms-container ul.wpforms-icon-choices li{min-width:120px;padding-right:0 !important;margin:0 0 20px 0 !important}.wpforms-container ul.wpforms-icon-choices label{position:relative;display:block;margin:0;cursor:pointer}.wpforms-container ul.wpforms-icon-choices .wpforms-icon-choices-icon{display:block}.wpforms-container ul.wpforms-icon-choices svg{margin:0 auto;fill:var(--wpforms-icon-choices-color)}.wpforms-container ul.wpforms-icon-choices.wpforms-icon-choices-none svg{margin:0}.wpforms-container ul.wpforms-icon-choices.wpforms-icon-choices-default li,.wpforms-container ul.wpforms-icon-choices.wpforms-icon-choices-modern li{margin:0 0 22px 0 !important}.wpforms-container ul.wpforms-icon-choices.wpforms-icon-choices-default label{text-align:center}.wpforms-container ul.wpforms-icon-choices.wpforms-icon-choices-default label:focus-within .wpforms-icon-choices-icon{box-shadow:0 0 0 1px var(--wpforms-icon-choices-color)}.wpforms-container ul.wpforms-icon-choices.wpforms-icon-choices-default .wpforms-icon-choices-icon{position:relative;z-index:1;margin-bottom:10px;padding:15px 20px 45px 20px;background-color:#ffffff;box-shadow:0 0 0 1px #cccccc;border-radius:6px}.wpforms-container ul.wpforms-icon-choices.wpforms-icon-choices-default .wpforms-icon-choices-icon:hover{box-shadow:0 0 0 1px var(--wpforms-icon-choices-color)}.wpforms-container ul.wpforms-icon-choices.wpforms-icon-choices-default .wpforms-icon-choices-icon svg{position:relative;z-index:2}.wpforms-container ul.wpforms-icon-choices.wpforms-icon-choices-default .wpforms-icon-choices-icon-bg{display:block;position:absolute;z-index:0;top:0;right:0;bottom:0;left:0;border-radius:6px;background-color:#ffffff}.wpforms-container ul.wpforms-icon-choices.wpforms-icon-choices-default .wpforms-selected .wpforms-icon-choices-icon,.wpforms-container ul.wpforms-icon-choices.wpforms-icon-choices-default li:has(input:checked) .wpforms-icon-choices-icon{background-color:transparent;box-shadow:0 0 0 1px var(--wpforms-icon-choices-color);box-sizing:border-box}.wpforms-container ul.wpforms-icon-choices.wpforms-icon-choices-default .wpforms-selected .wpforms-icon-choices-icon-bg,.wpforms-container ul.wpforms-icon-choices.wpforms-icon-choices-default li:has(input:checked) .wpforms-icon-choices-icon-bg{background-color:var(--wpforms-icon-choices-color);opacity:.1}.wpforms-container ul.wpforms-icon-choices.wpforms-icon-choices-modern li label{background-color:#ffffff !important;box-shadow:0 0 0 1px #cccccc;border-radius:6px;height:100%;padding:20px 20px 15px 20px;text-align:center}.wpforms-container ul.wpforms-icon-choices.wpforms-icon-choices-modern li label:hover{box-shadow:0 0 0 1px var(--wpforms-icon-choices-color)}.wpforms-container ul.wpforms-icon-choices.wpforms-icon-choices-modern li:focus-within label{box-shadow:0 0 0 1px var(--wpforms-icon-choices-color)}.wpforms-container ul.wpforms-icon-choices.wpforms-icon-choices-modern li.wpforms-selected label,.wpforms-container ul.wpforms-icon-choices.wpforms-icon-choices-modern li:has(input:checked) label{box-shadow:0 0 0 1px var(--wpforms-icon-choices-color),0 2px 10px rgba(0,0,0,0.15)}.wpforms-container ul.wpforms-icon-choices.wpforms-icon-choices-modern li .wpforms-icon-choices-icon{margin-bottom:10px}.wpforms-container ul.wpforms-icon-choices.wpforms-icon-choices-classic li label{background-color:#ffffff !important;height:100%;padding:20px 20px 15px 20px;text-align:center}.wpforms-container ul.wpforms-icon-choices.wpforms-icon-choices-classic li label:hover{box-shadow:0 0 0 1px #999999}.wpforms-container ul.wpforms-icon-choices.wpforms-icon-choices-classic li:focus-within label{box-shadow:0 0 0 1px #999999}.wpforms-container ul.wpforms-icon-choices.wpforms-icon-choices-classic li.wpforms-selected label,.wpforms-container ul.wpforms-icon-choices.wpforms-icon-choices-classic li:has(input:checked) label{box-shadow:0 0 0 1px var(--wpforms-icon-choices-color)}.wpforms-container ul.wpforms-icon-choices.wpforms-icon-choices-classic li .wpforms-icon-choices-icon{margin-bottom:10px}.wpforms-container .wpforms-field-radio ul.wpforms-icon-choices-default li .wpforms-icon-choices-icon:before,.wpforms-container .wpforms-field-payment-multiple ul.wpforms-icon-choices-default li .wpforms-icon-choices-icon:before{content:"";position:absolute;z-index:2;bottom:15px;left:calc(50% - 8px);display:block;width:16px;height:16px;background-color:#ffffff;box-shadow:0 0 0 1px #cccccc;border-radius:50%;margin:15px auto 0}.wpforms-container .wpforms-field-radio ul.wpforms-icon-choices-default li.wpforms-selected .wpforms-icon-choices-icon:before,.wpforms-container .wpforms-field-radio ul.wpforms-icon-choices-default li:has(input:checked) .wpforms-icon-choices-icon:before,.wpforms-container .wpforms-field-payment-multiple ul.wpforms-icon-choices-default li.wpforms-selected .wpforms-icon-choices-icon:before,.wpforms-container .wpforms-field-payment-multiple ul.wpforms-icon-choices-default li:has(input:checked) .wpforms-icon-choices-icon:before{box-shadow:0 0 0 1px var(--wpforms-icon-choices-color)}.wpforms-container .wpforms-field-radio ul.wpforms-icon-choices-default li.wpforms-selected .wpforms-icon-choices-icon:after,.wpforms-container .wpforms-field-radio ul.wpforms-icon-choices-default li:has(input:checked) .wpforms-icon-choices-icon:after,.wpforms-container .wpforms-field-payment-multiple ul.wpforms-icon-choices-default li.wpforms-selected .wpforms-icon-choices-icon:after,.wpforms-container .wpforms-field-payment-multiple ul.wpforms-icon-choices-default li:has(input:checked) .wpforms-icon-choices-icon:after{content:"";position:absolute;z-index:2;bottom:calc(15px + 4px);left:calc(50% - 4px);display:block;width:8px;height:8px;background-color:var(--wpforms-icon-choices-color);border-radius:50%}.wpforms-container .wpforms-field-checkbox ul.wpforms-icon-choices-default li .wpforms-icon-choices-icon:before,.wpforms-container .wpforms-field-payment-checkbox ul.wpforms-icon-choices-default li .wpforms-icon-choices-icon:before{content:"";position:absolute;z-index:2;bottom:15px;left:calc(50% - 8px);display:block;width:16px;height:16px;background-color:#ffffff;box-shadow:0 0 0 1px #cccccc;border-radius:3px;margin:15px auto 0}.wpforms-container .wpforms-field-checkbox ul.wpforms-icon-choices-default li.wpforms-selected .wpforms-icon-choices-icon:before,.wpforms-container .wpforms-field-checkbox ul.wpforms-icon-choices-default li:has(input:checked) .wpforms-icon-choices-icon:before,.wpforms-container .wpforms-field-payment-checkbox ul.wpforms-icon-choices-default li.wpforms-selected .wpforms-icon-choices-icon:before,.wpforms-container .wpforms-field-payment-checkbox ul.wpforms-icon-choices-default li:has(input:checked) .wpforms-icon-choices-icon:before{box-shadow:0 0 0 1px var(--wpforms-icon-choices-color)}.wpforms-container .wpforms-field-checkbox ul.wpforms-icon-choices-default li.wpforms-selected .wpforms-icon-choices-icon:after,.wpforms-container .wpforms-field-checkbox ul.wpforms-icon-choices-default li:has(input:checked) .wpforms-icon-choices-icon:after,.wpforms-container .wpforms-field-payment-checkbox ul.wpforms-icon-choices-default li.wpforms-selected .wpforms-icon-choices-icon:after,.wpforms-container .wpforms-field-payment-checkbox ul.wpforms-icon-choices-default li:has(input:checked) .wpforms-icon-choices-icon:after{content:"";box-sizing:border-box;display:block;position:absolute;z-index:2;bottom:23px;left:calc(50% - 6px);width:6px;height:10px;border-style:solid;border-color:var(--wpforms-icon-choices-color);border-width:0 2px 2px 0;transform-origin:bottom left;transform:rotate(45deg)}.wpforms-container .wpforms-list-2-columns ul.wpforms-icon-choices,.wpforms-container .wpforms-list-3-columns ul.wpforms-icon-choices,.wpforms-container .wpforms-list-inline ul.wpforms-icon-choices{flex-direction:row;flex-wrap:wrap}.wpforms-container .wpforms-list-2-columns ul.wpforms-icon-choices li,.wpforms-container .wpforms-list-3-columns ul.wpforms-icon-choices li,.wpforms-container .wpforms-list-inline ul.wpforms-icon-choices li{margin-right:20px !important}.wpforms-container .wpforms-list-2-columns ul.wpforms-icon-choices.wpforms-icon-choices-default li,.wpforms-container .wpforms-list-2-columns ul.wpforms-icon-choices.wpforms-icon-choices-modern li,.wpforms-container .wpforms-list-3-columns ul.wpforms-icon-choices.wpforms-icon-choices-default li,.wpforms-container .wpforms-list-3-columns ul.wpforms-icon-choices.wpforms-icon-choices-modern li,.wpforms-container .wpforms-list-inline ul.wpforms-icon-choices.wpforms-icon-choices-default li,.wpforms-container .wpforms-list-inline ul.wpforms-icon-choices.wpforms-icon-choices-modern li{margin-right:22px !important;margin-bottom:22px !important}.wpforms-container .wpforms-list-2-columns ul.wpforms-icon-choices li{width:calc( 100% / 2 - 20px / 2)}.wpforms-container .wpforms-list-2-columns ul.wpforms-icon-choices li:nth-child(2n){margin-right:0 !important}.wpforms-container .wpforms-list-2-columns ul.wpforms-icon-choices.wpforms-icon-choices-default li,.wpforms-container .wpforms-list-2-columns ul.wpforms-icon-choices.wpforms-icon-choices-modern li{width:calc( 100% / 2 - 22px / 2)}.wpforms-container .wpforms-list-3-columns ul.wpforms-icon-choices li{width:calc( 100% / 3 - 20px * 2 / 3)}.wpforms-container .wpforms-list-3-columns ul.wpforms-icon-choices li:nth-child(3n){margin-right:0 !important}.wpforms-container .wpforms-list-3-columns ul.wpforms-icon-choices.wpforms-icon-choices-default li,.wpforms-container .wpforms-list-3-columns ul.wpforms-icon-choices.wpforms-icon-choices-modern li{width:calc( 100% / 3 - 22px * 2 / 3)}.wpforms-container .wpforms-list-inline ul.wpforms-icon-choices li{width:auto;max-width:calc( 100% / 4 - 20px)}.wpforms-container .wpforms-form .wpforms-payment-quantities-enabled.wpforms-field-payment-single .wpforms-single-item-price-content{display:flex;align-items:center;gap:15px}.wpforms-container .wpforms-form .wpforms-payment-quantities-enabled.wpforms-field-payment-single .wpforms-single-item-price-content .wpforms-single-item-price{width:calc(60% - 85px)}.wpforms-container .wpforms-form .wpforms-payment-quantities-enabled.wpforms-field-payment-single .wpforms-single-item-price-content .wpforms-single-item-price.wpforms-field-small{text-wrap:balance;width:calc(25% - 85px)}.wpforms-container .wpforms-form .wpforms-payment-quantities-enabled.wpforms-field-payment-single .wpforms-single-item-price-content .wpforms-single-item-price.wpforms-field-large{width:calc(100% - 85px)}.wpforms-container .wpforms-form .wpforms-payment-quantities-enabled.wpforms-field-payment-single .wpforms-single-item-price-content select.wpforms-payment-quantity{margin-left:0;height:30px;min-height:30px;font-size:14px;padding-top:0;padding-bottom:0}.wpforms-container .wpforms-form .wpforms-payment-quantities-enabled select.wpforms-payment-price{display:inline-block;max-width:calc( 60% - 85px)}.wpforms-container .wpforms-form .wpforms-payment-quantities-enabled select.wpforms-payment-price.wpforms-field-small{max-width:calc( 25% - 85px)}.wpforms-container .wpforms-form .wpforms-payment-quantities-enabled select.wpforms-payment-price.wpforms-field-large{max-width:calc( 100% - 85px)}.wpforms-container .wpforms-form .wpforms-payment-quantities-enabled select.wpforms-payment-quantity{display:inline-block;margin-inline-start:15px;width:70px;min-width:70px}.wpforms-container .wpforms-form .wpforms-payment-quantities-enabled.wpforms-field-select-style-modern{display:flex;flex-wrap:wrap;column-gap:15px;align-items:flex-start}.wpforms-container .wpforms-form .wpforms-payment-quantities-enabled.wpforms-field-select-style-modern .wpforms-field-label{min-width:100%}.wpforms-container .wpforms-form .wpforms-payment-quantities-enabled.wpforms-field-select-style-modern .choices{margin-bottom:5px}.wpforms-container .wpforms-form .wpforms-payment-quantities-enabled.wpforms-field-select-style-modern .wpforms-field-row{flex-grow:1;max-width:calc( 60% - 85px)}.wpforms-container .wpforms-form .wpforms-payment-quantities-enabled.wpforms-field-select-style-modern .wpforms-field-row.wpforms-field-small{max-width:calc( 25% - 85px)}.wpforms-container .wpforms-form .wpforms-payment-quantities-enabled.wpforms-field-select-style-modern .wpforms-field-row.wpforms-field-large{max-width:calc( 100% - 85px)}.wpforms-container .wpforms-form .wpforms-payment-quantities-enabled.wpforms-field-select-style-modern .wpforms-payment-quantity{flex-basis:70px;max-width:70px}.wpforms-container .wpforms-form .wpforms-payment-quantities-enabled.wpforms-field-select-style-modern .wpforms-payment-quantity .choices__list--dropdown{min-width:70px}.wpforms-container .wpforms-form .wpforms-payment-quantities-enabled.wpforms-field-select-style-modern .wpforms-field-description{flex-basis:100%;margin-top:0}.wpforms-container .wpforms-form .wpforms-payment-quantities-enabled.wpforms-field-select-style-modern .wpforms-error{flex-basis:100%}@media only screen and (max-width: 600px){.wpforms-form .wpforms-payment-quantities-enabled select.wpforms-payment-price{width:calc( 100% - 85px) !important;max-width:100% !important}.wpforms-form .wpforms-payment-quantities-enabled .wpforms-single-item-price-content .wpforms-single-item-price{width:calc( 100% - 70px) !important}.wpforms-form .wpforms-payment-quantities-enabled.wpforms-field-select-style-modern .wpforms-field-row{width:calc( 100% - 85px) !important;max-width:100% !important}}#wpforms-form-page-page .wpforms-form .wpforms-payment-quantities-enabled select.wpforms-payment-price.wpforms-field-medium,#wpforms-form-page-page .wpforms-form .wpforms-payment-quantities-enabled select.wpforms-payment-price.wpforms-field-small{max-width:calc( 100% - 85px)}.wpforms-container .wpforms-form .choices .choices__inner{border-radius:3px;min-height:35px}.wpforms-container .wpforms-form .choices .choices__inner .choices__list--single{height:auto}.wpforms-container .wpforms-form .choices .choices__inner .choices__list--multiple .choices__item{line-height:1.3}.wpforms-container .wpforms-form .choices.is-open.is-flipped .choices__inner,.wpforms-container .wpforms-form .choices.is-open .choices__list--dropdown{border-radius:0 0 3px 3px}.wpforms-container .wpforms-form .choices.is-open.is-flipped .choices__list--dropdown,.wpforms-container .wpforms-form .choices.is-open .choices__inner{border-radius:3px 3px 0 0}.wpforms-container textarea{line-height:1.3}.wpforms-container textarea.wpforms-field-small{height:70px}.wpforms-container textarea.wpforms-field-medium{height:120px}.wpforms-container textarea.wpforms-field-large{height:220px}.wpforms-container .wpforms-order-summary-container{display:block;max-width:60%}.wpforms-container .wpforms-order-summary-container *{word-break:break-word;box-sizing:border-box}.wpforms-container .wpforms-order-summary-container table.wpforms-order-summary-preview{width:100%;table-layout:fixed}.wpforms-container .wpforms-order-summary-container table.wpforms-order-summary-preview tr td,.wpforms-container .wpforms-order-summary-container table.wpforms-order-summary-preview tr th{text-align:center}.wpforms-container .wpforms-order-summary-container table.wpforms-order-summary-preview tr td.wpforms-order-summary-item-label,.wpforms-container .wpforms-order-summary-container table.wpforms-order-summary-preview tr th.wpforms-order-summary-item-label{text-align:left}.rtl .wpforms-container .wpforms-order-summary-container table.wpforms-order-summary-preview tr td.wpforms-order-summary-item-label,.rtl .wpforms-container .wpforms-order-summary-container table.wpforms-order-summary-preview tr th.wpforms-order-summary-item-label{text-align:right}.wpforms-container .wpforms-order-summary-container table.wpforms-order-summary-preview tr td.wpforms-order-summary-item-quantity,.wpforms-container .wpforms-order-summary-container table.wpforms-order-summary-preview tr th.wpforms-order-summary-item-quantity{width:8ch}.wpforms-container .wpforms-order-summary-container table.wpforms-order-summary-preview tr td.wpforms-order-summary-item-quantity .wpforms-order-summary-item-quantity-label-short,.wpforms-container .wpforms-order-summary-container table.wpforms-order-summary-preview tr th.wpforms-order-summary-item-quantity .wpforms-order-summary-item-quantity-label-short{display:none}@media (max-width: 600px){.wpforms-container .wpforms-order-summary-container table.wpforms-order-summary-preview tr td.wpforms-order-summary-item-quantity,.wpforms-container .wpforms-order-summary-container table.wpforms-order-summary-preview tr th.wpforms-order-summary-item-quantity{width:4ch}.wpforms-container .wpforms-order-summary-container table.wpforms-order-summary-preview tr td.wpforms-order-summary-item-quantity .wpforms-order-summary-item-quantity-label-short,.wpforms-container .wpforms-order-summary-container table.wpforms-order-summary-preview tr th.wpforms-order-summary-item-quantity .wpforms-order-summary-item-quantity-label-short{display:inline}.wpforms-container .wpforms-order-summary-container table.wpforms-order-summary-preview tr td.wpforms-order-summary-item-quantity .wpforms-order-summary-item-quantity-label-full,.wpforms-container .wpforms-order-summary-container table.wpforms-order-summary-preview tr th.wpforms-order-summary-item-quantity .wpforms-order-summary-item-quantity-label-full{display:none}}.wpforms-container .wpforms-order-summary-container table.wpforms-order-summary-preview tr td.wpforms-order-summary-item-price,.wpforms-container .wpforms-order-summary-container table.wpforms-order-summary-preview tr th.wpforms-order-summary-item-price{width:6ch;text-align:right}.rtl .wpforms-container .wpforms-order-summary-container table.wpforms-order-summary-preview tr td.wpforms-order-summary-item-price,.rtl .wpforms-container .wpforms-order-summary-container table.wpforms-order-summary-preview tr th.wpforms-order-summary-item-price{text-align:left}.wpforms-container .wpforms-order-summary-container table.wpforms-order-summary-preview tr.wpforms-order-summary-placeholder td{text-align:left}.rtl .wpforms-container .wpforms-order-summary-container table.wpforms-order-summary-preview tr.wpforms-order-summary-placeholder td{text-align:right}.wpforms-container .size-large>.wpforms-order-summary-container,.wpforms-container .wpforms-field-large>.wpforms-order-summary-container{max-width:100%}.wpforms-container .size-medium>.wpforms-order-summary-container,.wpforms-container .wpforms-field-medium>.wpforms-order-summary-container{max-width:60%}.wpforms-container .wpforms-order-summary-container tr.wpforms-order-summary-preview-coupon-total td.wpforms-order-summary-item-price{color:#D63637}.wpforms-field.wpf-disable-field select,.wpforms-field.wpf-disable-field textarea,.wpforms-field.wpf-disable-field button,.wpforms-field.wpf-disable-field input[type=text],.wpforms-field.wpf-disable-field input[type=number],.wpforms-field.wpf-disable-field input[type=email],.wpforms-field.wpf-disable-field input[type=url],.wpforms-field.wpf-disable-field input[type=tel],.wpforms-field.wpf-disable-field input[type=password],.wpforms-field.wpf-disable-field input[type=radio],.wpforms-field.wpf-disable-field input[type=checkbox],.wpforms-field.wpf-disable-field input[type=range],.wpforms-field.wpf-disable-field input[type=file],.wpforms-field.wpf-disable-field input.wpforms-field-date-time-date,.wpforms-field.wpf-disable-field .wpforms-uploader,.wpforms-field.wpf-disable-field .choices,.wpforms-field.wpf-disable-field .wpforms-image-choices-image,.wpforms-field.wpf-disable-field .wpforms-field-rating-wrapper,.wpforms-field.wpf-disable-field .wpforms-field-password-input-icon,.wpforms-field.wpf-disable-field .wpforms-disclaimer-description,.wpforms-field.wpf-disable-field .mce-tinymce,.wpforms-field.wpf-disable-field .iti__selected-country,.wpforms-field.wpf-disable-field .StripeElement,.wpforms-field.wpf-disable-field .wpforms-stripe-element,.wpforms-field.wpf-disable-field .wpforms-field-square-cardnumber,.wpforms-field.wpf-disable-field .wpforms-square-cardnumber,.wpforms-field.wpf-disable-field .wpforms-geolocation-map,.wpforms-field.wpf-disable-field .wpforms-signature-wrap,.wpforms-field.wpf-disable-field .wpforms-paypal-commerce-card-fields,.wpforms-field.wpf-disable-field.wpforms-field-net_promoter_score table.modern>tbody>tr>td,.wpforms-field.wpf-disable-field .wpforms-camera-link,.wpforms-field.wpforms-field-readonly select,.wpforms-field.wpforms-field-readonly textarea,.wpforms-field.wpforms-field-readonly button,.wpforms-field.wpforms-field-readonly input[type=text],.wpforms-field.wpforms-field-readonly input[type=number],.wpforms-field.wpforms-field-readonly input[type=email],.wpforms-field.wpforms-field-readonly input[type=url],.wpforms-field.wpforms-field-readonly input[type=tel],.wpforms-field.wpforms-field-readonly input[type=password],.wpforms-field.wpforms-field-readonly input[type=radio],.wpforms-field.wpforms-field-readonly input[type=checkbox],.wpforms-field.wpforms-field-readonly input[type=range],.wpforms-field.wpforms-field-readonly input[type=file],.wpforms-field.wpforms-field-readonly input.wpforms-field-date-time-date,.wpforms-field.wpforms-field-readonly .wpforms-uploader,.wpforms-field.wpforms-field-readonly .choices,.wpforms-field.wpforms-field-readonly .wpforms-image-choices-image,.wpforms-field.wpforms-field-readonly .wpforms-field-rating-wrapper,.wpforms-field.wpforms-field-readonly .wpforms-field-password-input-icon,.wpforms-field.wpforms-field-readonly .wpforms-disclaimer-description,.wpforms-field.wpforms-field-readonly .mce-tinymce,.wpforms-field.wpforms-field-readonly .iti__selected-country,.wpforms-field.wpforms-field-readonly .StripeElement,.wpforms-field.wpforms-field-readonly .wpforms-stripe-element,.wpforms-field.wpforms-field-readonly .wpforms-field-square-cardnumber,.wpforms-field.wpforms-field-readonly .wpforms-square-cardnumber,.wpforms-field.wpforms-field-readonly .wpforms-geolocation-map,.wpforms-field.wpforms-field-readonly .wpforms-signature-wrap,.wpforms-field.wpforms-field-readonly .wpforms-paypal-commerce-card-fields,.wpforms-field.wpforms-field-readonly.wpforms-field-net_promoter_score table.modern>tbody>tr>td,.wpforms-field.wpforms-field-readonly .wpforms-camera-link{cursor:default !important;opacity:0.35 !important;pointer-events:none !important}.wpforms-field.wpf-disable-field input[type=radio],.wpforms-field.wpf-disable-field input[type=checkbox],.wpforms-field.wpforms-field-readonly input[type=radio],.wpforms-field.wpforms-field-readonly input[type=checkbox]{cursor:default !important;pointer-events:none !important}.wpforms-field.wpf-disable-field label,.wpforms-field.wpforms-field-readonly label{pointer-events:none !important}.wpforms-field.wpf-disable-field .iti__country-container,.wpforms-field.wpforms-field-readonly .iti__country-container{cursor:default !important}.wpforms-field.wpf-disable-field .iti__country-container button,.wpforms-field.wpforms-field-readonly .iti__country-container button{cursor:default !important}
Otto Reid“Amazing quality and care. I love all your products.”
Springfield, IL
Otto Reid“Amazing quality and care. I love all your products.”
Springfield, IL
Otto Reid“Amazing quality and care. I love all your products.”
Springfield, IL
Otto Reid“Amazing quality and care. I love all your products.”
Springfield, IL
Otto Reid“Amazing quality and care. I love all your products.”
Springfield, IL
Otto Reid“Amazing quality and care. I love all your products.”
Springfield, IL
Like flowers that bloom in unexpected places, every story unfolds with beauty and resilience, revealing hidden wonders.
Providing Innovative Air Compressor Solutions To All Industries
Providing Innovative Air Compressor Solutions To All Industries
Providing Innovative Air Compressor Solutions To All Industries
Providing Innovative Air Compressor Solutions To All Industries
Providing Innovative Air Compressor Solutions To All Industries
Providing Innovative Air Compressor Solutions To All Industries
Providing Innovative Air Compressor Solutions To All Industries
480 Newbold Street
London, Ontario, N6E 1K6
Offices in Cambridge, Mississauga, and Sudbury
NCA Ltd. is a distributor of air compressor systems serving the Greater Toronto Area and South Western Ontario.
























A common question we often get asked is what CFM and PSI do I need for my air compressor system? The short answer, the tools you plan to run dictate what airflow (CFM) and pressure (PSI) the compressor must provide to be efficient and effective.
CFM stands for Cubic Feet per Minute and is a volumetric measurement that indicates the volume of air a compressor can deliver in one minute (60 seconds). CFM describes how many cubic feet of compressed air exit a machine and travel toward the point of use (i.e., pneumatic tool, equipment etc.)
It is important for determining the compressor's flow rate and its suitability for specific air tools and tasks. A higher CFM rating means the compressor can supply more air, which is essential for efficient operation of air-powered/pneumatic tools.
CFM is a very important metric in compressed air systems. CFM directly impacts the efficiency and effectiveness of your compressor. It is essential for ensuring that your compressor system can supply the correct volume of air to things like power tools, equipment, or any system that relies on compressed air to operate. CFM dictates whether a compressor can sustain the operation of a pneumatic tool without performance drops or constant cycling.
A higher CFM rating means a greater capacity for air delivery which is important for operating tools (often multiple) or for any application that requires continuous air flow.
It is crucial to understand CFM to be able to make an informed decision as it relates to your compressor system/needs. To operate efficiently, you need to match the CFM rating to the requirements of the tools/equipment you are using at your facility or job site. Optimal performance occurs when you have the correct CFM requirements for your specific application.
CFM is intrinsically tied to the pressure at which the air is delivered, measured in Pounds per Square Inch (PSI). A compressor’s CFM rating is always specified at a corresponding PSI value, for example, 6 CFM at 100 PSI. The relationship between flow rate (CFM) and pressure (PSI) is inverse—as the required discharge pressure increases, your compressor’s ability to maintain that CFM decreases. As such, when deciding on the right compressed air system for your application, it is important to look at the CFM rating at the same pressure level.
If you want more information about CFM as it relates to your specific application, feel free to reach out to info@ncaltd.ca today!
A common question we often get asked is what CFM and PSI do I need for my air compressor system? The short answer, the tools you plan to run dictate what airflow (CFM) and pressure (PSI) the compressor must provide to be efficient and effective.
Pounds per square inch (PSI) is a unit of pressure that measures the force exerted by compressed air in an air compressor system. It quantifies how much pressure the air inside the compressor exerts on a given area, which is important for determining the performance and efficiency of the compressor.
PSI tells you how much force the compressed air system can exert, which impacts your tool’s performance and safety. For example, an air compressor output rated at 200 PSI means it provides 200 pounds of pressure per square inch. There are a few different variations of PSI that may be relevant to your specific application. Below are a few different terms you may want to know to ensure you are making the best decision for your facility or job site.
PSIA - Pounds per square inch absolute
PSIA is often referred to as total pressure, PSIA refers to pressure relative to zero or a perfect vacuum. For example, in a vacuum, if a tire were empty of air, it would measure 0 PSIA. PSIA measurement includes atmospheric pressure in its reading. At sea level, the atmospheric pressure is approximately 14.7 PSI, so a reading of 30 PSIA includes this atmospheric pressure.
PSIG - Pounds per square inch gauge
PSIG measures the pressure relative to the ambient atmospheric pressure. Unlike PSIA, PSIG does not account for atmospheric pressure. Therefore, PSIG is always lower than PSIA by the amount of ambient atmospheric pressure. For example, a vessel completely void of any air molecules at sea level would read roughly -14.7 PSIG, and ambient air pressure is always measured as 0 PSIG.
Higher PSI allows a compressor system to power tools that require more force, enabling efficient operation of demanding tasks. Accurate PSI settings ensure your compressor system delivers optimal performance and prevents damage from over-pressurizing.
Pneumatic tools require specific PSI levels to work correctly, and PSI levels vary by tool, equipment, and application. For example, a paint sprayer may need 60 PSI, while a heavy-duty impact wrench might need 90 PSI or more to be efficient and effective. Using the right PSI prevents tool damage and ensures efficient work.
If you want more information about PSI as it relates to your specific application, feel free to reach out to info@ncaltd.ca today!
An important consideration when building a compressed air system is deciding if an air receiver is required and if so, what size is appropriate. Incorrect tank sizing can lead to inefficient and unsteady air to your tools/equipment which can create a number of (avoidable) problems for your facility.
When considering what size tank/air receiver is required for your specific application, you must recognize that the tank size affects how long you can run your tools without the compressor kicking in, and how steady the air supply is to your tools/equipment.
Determining the tank size for a compressor system involves a number of steps to ensure the right balance between storage capacity and the demand required for your tools to be efficient and effective. Below is a list of things you may want to consider when determining tank sizing for your plant/facility/job site:
By following these steps, you can ensure that your compressor system has the right tank size to meet the air demands of your tools without overworking your compressor or wasting any energy.
It is important to note that the above is not an exhaustive list but a starting point for you to work towards making an informed decision for your compressed air system. NCA Ltd. has extensive experience with sizing air receivers for all types of applications and as such, can help you/your facility make an informed decision to ensure you are sizing your air receiver appropriately for your system.
If you want more information about appropriate tank sizing as it relates to your specific application, feel free to reach out to info@ncaltd.ca today!
These choices impact maintenance, durability, noise, cost, and suitability for different usage levels.
Oil-free vs oil-lubricated
When comparing oil-lubricated and oil-free compressors, it's essential to consider the specific application and your organizations environmental requirements.
Single stage vs three stage
Single-Stage Compressors
Three-Stage Compressors
In summary, single-stage compressors are more suitable for light-duty applications with lower pressure requirements, while three-stage compressors are designed for high-demand industrial applications that require efficient and high-pressure air delivery. The choice between the two depends on the specific needs of the application, including required pressure, volume, and budget considerations.
Belt drive versus direct drive
When comparing single-stage belt drive and direct drive compressors, it's essential to consider the specific needs of your project. Belt-driven compressors are ideal for applications requiring adjustable pressure or speed, such as inflating tires or operating tools that need more PSI. They are also more economical and easier to maintain, with regular checks like lubrication and belt tension. However, they may not be suitable for all environments and can be more expensive upfront.
Direct-drive compressors, on the other hand, are better for high-pressure applications and industrial use. They offer increased efficiency, reduced maintenance, and lower noise levels. They are also more tolerant of extreme conditions and have fewer moving parts, leading to lower maintenance costs. However, they can be more expensive to purchase initially and may be louder to operate.
Ultimately, the choice between a single-stage belt drive and direct drive compressor depends on your specific operational requirements, budget, and maintenance capabilities.
If you want more information about compressor options for your specific application, feel free to reach out to info@ncaltd.ca today!
The short answer is yes. The desired location of your compressed air system in your facility/shop and the power availability (230v vs 575v, etc.) affect what compressors you can use, and the installation cost(s) associated with getting that system up and running. Available power supply and location of the compressor in your facility are important factors when deciding on the right system for your specific application.
Location:
The location of your compressed air system is crucial. Location affects the compressor's performance, efficiency, and the overall productivity of your facility/shop. Proper placement ensures that the compressor operates smoothly, which in turn avoids overheating/breakdowns, and minimizes maintenance costs. Understanding how the location of your compressed air system impacts what configuration/set-up are most appropriate is important to ensure the effectiveness and efficiency of your system.
Location also impacts employee productivity and safety by working to reduce noise and vibration disruptions. At NCA Ltd., we offer a number of acoustic configurations to fit your facilities needs as it relates to noise and vibration.
Additionally, location can influence energy efficiency and the overall lifespan of your compressor. Careful consideration of the compressor's location is essential for optimal performance and cost-effectiveness. We work with clients to ensure proper compressor placement to maximise efficiency and minimize issues/down-time. Appropriate compressor placement (including air lines, filters, and air receivers) can save your facility thousands of dollars by ensuring maximum efficiency and energy usage.
Voltage:
The voltage in a compressed air systems is crucial for the efficient operation and management of energy. It directly affects the power supply required for the compressor to operate effectively. The voltage level is designed to align with the operational standards of the electrical grid. This alignment is essential for ensuring the system's capacity and efficiency, as well as for maintaining grid compatibility. The voltage levels are also critical for the transformation of air pressure to electrical energy, which is necessary for the energy storage and conversion processes.
Proper voltage management is integral to the overall performance of your compressed air system. NCA offers a number of voltage options ranging from 208v to 575v and works with each client to ensure their system has the correct voltage to achieve maximum efficiency and energy usage. Deciding on what voltage your system will need is crucial to ensure reliable, efficient air supply to your tools and machinery. Incorrect voltage may lead to downtime, unsteady air, and maintenance related issues; all of which cost money and decrease your compressors overall output.
If you want more information about compressor location, power source and voltage for your specific application, feel free to reach out to info@ncaltd.ca today!
Understanding a compressors duty cycle is an important factor when considering a new compressed air system. If your facility or shop runs tools continuously (or multiple tools) you’ll need a compressor with a higher duty cycle and better performance to ensure you are getting reliable air flow. Choosing between a fixed speed and variable speed compressor system is an essential factor to ensure appropriate performance of your compressed air system.
Duty Cycle:
An air compressor's duty cycle refers to how long it takes its pump (driven by a motor) to fill up its tank. If the compressor does not have a tank (like your lungs), it will always have a 100% duty cycle. If the compressor has a tank, it just means that one full cycle is the total time it takes to fill the tank, or when the compressor runs, stops, and runs again. This 'on-off-on,' or duty cycle is sometimes referred to as run-time vs rest time.
The duty cycle is very important when it comes to understanding how a reciprocating air compressor functions by cycling on and off. The ratio between the run time and the rest time is the duty cycle rating, which helps you understand how the compressor will operate and if it will fulfill your air needs when sizing a compressed air system. A duty cycle rating indicates how long a compressor should be working and how long it should be resting between cycles, and it’s your responsibility not to overwork your compressor.
Intermittent vs Continuous:
Often, an intermittent duty cycle will be enough to help you complete the task at hand without losing productivity. For example:
Quincy compressor models that are suitable for intermittent duty:
Continuous duty cycles allow you to provide constant power to machinery and tools without experiencing downtime. Here are some applications where that may be useful:
Quincy compressor models that are suitable for continuous duty:
At NCA Ltd., we work with each client to understand their air/energy requirements and craft a system that will ensure appropriate duty cycling and efficiency to maximise productivity and minimize down time/maintenance/issues.
When considering compressors for noise, space, portability, and location constraints, there are many factors to consider to ensure you are selecting an appropriate compressed air system for your facility/shop.
Noise Reduction: Ensure the compressor is placed in a designated area to minimize noise levels, especially in confined spaces. At NCA Ltd., we work with clients to build a compressor system that works for their facility and this often includes acoustical enclosures and noise management.
Space Requirements: Adequate space around the compressor is essential for proper ventilation and maintenance. Ensure there is enough room for the compressor to operate safely and for access during maintenance. Where a compressor system is located has immense implications for efficiency and maintenance.
Portability: Choose compressors that are lightweight and easy to transport, especially if you need to move them between different locations. Portability impacts which compressor will work for you and as such it is important to consider how often it will be moved and what power sources are available in the places the compressor is operating.
Location Considerations: Optimal placement is crucial for efficiency. Consider factors like accessibility for maintenance, proximity to air-using processes, and environmental conditions. Location is often an overlooked aspect of a compressor system but it is crucial to ensure proper placement to maximise your investment and energy consumption.
When deciding upon location for your compressed air system, NCA takes into account factors such as: air compressor ventilation requirements, potential noise disturbance, physical risks, overheating risks, condensation drainage, surrounding hazards (e.g., dust, flammable substances), aggressive substances in the air, space requirements for future expansion, and accessibility for maintenance.
The compressor room is where the largest part of the compressed air system is located. It can be a dedicated room designed specifically for the compressor or a multi-purpose area. In both cases, certain conditions must be met to get the most out of your compressor installation.
Centralization: It is often advisable to arrange a separate compressor central plant. This centralized approach offers numerous benefits across various industries. Not only does it enhance the operating economy, but it also leads to a better-designed compressed air system. Centralization improves service and user-friendliness, safeguards against unauthorized access, ensures proper noise control, and simplifies controlled ventilation.
Noise, space, portability, and location constraints are all important factors to consider when choosing and building your compressed air system. At NCA Ltd., we work with our clients to ensure all of these considerations factor into the system we suggest ensuring maximum ROI, efficiency and performance of your compressed air system.
If you want more information about noise, space, portability and location constraints for your specific application, feel free to reach out to info@ncaltd.ca today!
Beyond the initial price of a compressed air system, the running costs (electricity, preventative maintenance, repairs, filters, oil) can add up quickly; especially with an incorrectly sized/inefficient system. Things such as compressor model (fixed vs variable speed), configuration, air receivers, air lines, filters, drains etc. can all have an impact on your systems efficiency/output. Making the wrong decision at the outset can end up costing you thousands of dollars in energy and maintenance costs, which is why it is essential to make the right decision from the start.
Energy efficiency is a crucial consideration to ensure maximum ROI. At NCA Ltd., we work with each client to maximise energy efficiency which includes finding any rebates or government incentives that may apply to your facility/shop. We believe that energy efficiency in compressed air systems is crucial for many reasons. That’s why we’ve worked with companies just like yours to save over 1.5 million dollars in energy costs to date.
Cost Savings: Energy-efficient systems can significantly reduce utility bills and operating costs, leading to long-term financial benefits. To achieve energy efficiency, things like the location of your compressed air system and its configuration/layout are important factors to consider. Factors to consider as it relates to energy efficiency:
Environmental Impact: By reducing energy consumption, your business can lower its carbon emissions, aligning with your sustainability goals and government regulations. Less energy usage also means lower energy bills/operating costs!
Increased Reliability: Efficient systems are less prone to breakdowns and require fewer emergency interventions, ensuring continuous operation. Less breakdowns means less maintenance costs and less downtime!
Improved Return on Investment (ROI): Investments in energy-saving compressors and system upgrades often pay for themselves through reduced energy use over time. Implementing energy-efficient practices in your compressed air system not only benefits the environment and your bottom line but also enhances the overall performance and reliability of your system, potentially saving you thousands a year.
We recognize that energy efficiency, maintenance requirements, and total lifetime costs are of the utmost importance to anyone considering a new compressed air system. Energy usage and maintenance account for the majority of your compressed air system’s costs and ensuring you choose the right system for your application and budget is crucial as the wrong decision could cost you thousands. If you want more information about energy efficiency, maintenance and lifetime costs for your specific application, feel free to reach out to info@ncaltd.ca today!
In the compressor industry, a good brand with local support and proven performance reduces risk of downtime and repair headaches. At NCA Ltd., we recognize the importance a compressor system to your operations and as such we only sell and maintain the best brands in the industry.
At NCA Ltd., we proudly carry Quincy compressors. Quincy compressors are chosen for their reliability, efficiency, and durability. They are known for their robust construction, quiet operation, and energy efficiency, which significantly reduce operational expenses. Quincy compressors are designed to meet the demands of various industries, including automotive, manufacturing, and construction, and are backed by decades of experience and a commitment to quality.
NCA Ltd. offers a variety of compressor models to suit different needs and applications, from portable options to heavy-duty units. Our commitment to quality ensures that each compressor delivers consistent performance and meets rigorous standards. Investing in a Quincy Air Compressor from NCA Ltd. means choosing reliability and efficiency, enhancing productivity in any work environment.
At NCA Ltd., we back our most reliable air compressor systems with the industry’s best extended warranties. We recognize that a warranty program is an important factor when considering a new compressed air system and we strive to be industry leaders in that category.
NCA Ltd. also offers 24-hour on-site Emergency Service to limit potential downtime to a minimum. We know how important your compressed air system is to your business and we are always ready to help, around the clock. 24-hour emergency service offers you piece of mind that if an issue arises, NCA will be there to help get you back up and running quickly.
NCA Ltd. offers a variety of Preventive Maintenance Programs to keep your compressed air equipment running efficiently and reduce the chances of an unscheduled shutdown. Our PM Programs can be tailored to work with your existing programs, or we can take on the full responsibility of maintaining your compressed air system. Preventative maintenance is a key component of your overall compressed air system management and we are here to facilitate those needs to ensure your system is always performing at its best.
Benefits of a Preventive Maintenance Program include:
If you want more information about the brands NCA carries, the associated warranties and preventative maintenance programs, feel free to reach out to info@ncaltd.ca today!
Choosing the right size air compressor for your application is an extremely important decision. An undersized compressor may struggle to keep up with demand, leading to pressure drops, production delays, and potential equipment damage. An oversized unit, while it may get the job done, may be inefficient – wasting energy and money. Many buyers later wish they had bought a bit larger so they wouldn’t outgrow it quickly. Before deciding what size unit to purchase, you should consider the following:
Planning for future expansion/growth is also important. If you expect your business to expand or your air needs to increase for any reason, choosing a compressor with more capacity than your current calculations suggest may be ideal to ensure your system will be able to handle higher air requirements.
Sizing for current needs only:
Pros:
Cons:
Sizing for future expansion/heavier use:
Pros:
Cons:
If you have questions about sizing your compressed air system appropriately, our experienced team is here to help you with that decision. Call us today to get your questions answered in full detail and feel confident in your decision. Experts at NCA Ltd. can walk you through all of your options to ensure you are choosing a compressed air system that is going to meet your needs now and in the future. Get in touch with us today! info@ncaltd.ca
When building an effective compressed air system, there are a number of components that you will want to consider to ensure your system is operating at peak performance and efficiency. Depending on your compressor model and specific configuration, there are different factors to consider to guarantee you are producing clean, efficient air for your pneumatic application(s). The following accessories and components are essential and can significantly impact the overall performance and efficiency of your compressed air system:
Dryers: Air dryers remove moisture from compressed air, which is important for pneumatic tools like powder coating and sandblasting. They help maintain the quality of the air and prevent equipment degradation. The most common types are refrigerated and desiccant.
Air Receivers: Air receivers (AKA storage tanks) are an essential component in your compressed air systems because they store air produced by your compressor and ensure a steady air supply during sudden demand and preventing continuous compressor operation. Air receivers help to stabilize your system pressure, maintaining consistent airflow for your tools and equipment, while reducing compressor start-stop cycles, which improves efficiency and reduces wear on your machine(s).
Filters: Filters remove contaminants from the air, ensuring the air output is clean and pure. They are critical for maintaining the efficiency of the compressor and prolonging the life of the system. There are many types of filters and the right filter is extremely important for the quality of your air and the longevity of your equipment.
Oil/Water Separators (OWS): An oil-water separator is a device designed to remove oil and other contaminants from water, preventing pollution and ensuring compliance with environmental regulations. There are many different types of oil water separators, including coalescing plate separators, hydrocyclone separators, and API separators, each with its unique way of facilitating the separation process.
Air Hoses: Essential for carrying compressed air from the compressor to the tools or equipment. They come in various types, including nylon, rubber, PVC, and polyurethane, each with its own benefits and limitations. The right hose choice ensures consistent pressure and prevents leaks, which is crucial for the system's safety and efficiency.
Regulators: These devices adjust the air pressure from the compressor to match the requirements of the tools or equipment. Proper regulation prevents energy wastage and reduces pressure on hoses and fittings, extending their lifespan significantly.
Piping: The distribution system of the air compressor is crucial for delivering clean, high-quality air to your tools. The choice of piping material, such as aluminum or black iron, affects the flow rate and resistance to corrosion.
Controls and Automation: These components help optimize and visualize the performance of the air compressor system, reducing waste and energy consumption. They are essential for managing the system effectively.
By selecting the right accessories and components, you can ensure that your compressed air system operates efficiently and effectively, meeting the demands of your pneumatic tools and equipment now and in the future.
For more information on compressor components and how they can impact your compressed air system, get in touch with NCA Ltd., today to get all of your questions answered and make your decision with confidence! Email: info@ncaltd.ca