/*! elementor - v3.21.0 - 08-05-2024 */ /*! For license information please see styleguide-app-initiator.min.js.LICENSE.txt */ (()=>{var e,t,r={66535:(e,t,r)=>{"use strict";var n=r(7501);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;_interopRequireWildcard(r(87363));var o=_interopRequireWildcard(r(61533)),i=r(37634);function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?r:t})(e)}function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!=typeof e)return{default:e};var r=_getRequireWildcardCache(t);if(r&&r.has(e))return r.get(e);var o={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&Object.prototype.hasOwnProperty.call(e,a)){var u=i?Object.getOwnPropertyDescriptor(e,a):null;u&&(u.get||u.set)?Object.defineProperty(o,a,u):o[a]=e[a]}return o.default=e,r&&r.set(e,o),o}var a={render:function render(e,t){var r;try{var n=(0,i.createRoot)(t);n.render(e),r=function unmountFunction(){n.unmount()}}catch(n){o.render(e,t),r=function unmountFunction(){o.unmountComponentAtNode(t)}}return{unmount:r}}};t.default=a},37634:(e,t,r)=>{"use strict";var n=r(61533);t.createRoot=n.createRoot,t.hydrateRoot=n.hydrateRoot},87363:e=>{"use strict";e.exports=React},61533:e=>{"use strict";e.exports=ReactDOM},38003:e=>{"use strict";e.exports=wp.i18n},10029:e=>{function asyncGeneratorStep(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}e.exports=function _asyncToGenerator(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var i=e.apply(t,r);function _next(e){asyncGeneratorStep(i,n,o,_next,_throw,"next",e)}function _throw(e){asyncGeneratorStep(i,n,o,_next,_throw,"throw",e)}_next(void 0)}))}},e.exports.__esModule=!0,e.exports.default=e.exports},73203:e=>{e.exports=function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}},e.exports.__esModule=!0,e.exports.default=e.exports},21337:(e,t,r)=>{var n=r(7501).default;function _regeneratorRuntime(){"use strict";e.exports=_regeneratorRuntime=function _regeneratorRuntime(){return r},e.exports.__esModule=!0,e.exports.default=e.exports;var t,r={},o=Object.prototype,i=o.hasOwnProperty,a=Object.defineProperty||function(e,t,r){e[t]=r.value},u="function"==typeof Symbol?Symbol:{},c=u.iterator||"@@iterator",l=u.asyncIterator||"@@asyncIterator",s=u.toStringTag||"@@toStringTag";function define(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{define({},"")}catch(t){define=function define(e,t,r){return e[t]=r}}function wrap(e,t,r,n){var o=t&&t.prototype instanceof Generator?t:Generator,i=Object.create(o.prototype),u=new Context(n||[]);return a(i,"_invoke",{value:makeInvokeMethod(e,r,u)}),i}function tryCatch(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}r.wrap=wrap;var _="suspendedStart",p="suspendedYield",f="executing",d="completed",h={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var y={};define(y,c,(function(){return this}));var v=Object.getPrototypeOf,b=v&&v(v(values([])));b&&b!==o&&i.call(b,c)&&(y=b);var g=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(y);function defineIteratorMethods(e){["next","throw","return"].forEach((function(t){define(e,t,(function(e){return this._invoke(t,e)}))}))}function AsyncIterator(e,t){function invoke(r,o,a,u){var c=tryCatch(e[r],e,o);if("throw"!==c.type){var l=c.arg,s=l.value;return s&&"object"==n(s)&&i.call(s,"__await")?t.resolve(s.__await).then((function(e){invoke("next",e,a,u)}),(function(e){invoke("throw",e,a,u)})):t.resolve(s).then((function(e){l.value=e,a(l)}),(function(e){return invoke("throw",e,a,u)}))}u(c.arg)}var r;a(this,"_invoke",{value:function value(e,n){function callInvokeWithMethodAndArg(){return new t((function(t,r){invoke(e,n,t,r)}))}return r=r?r.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg()}})}function makeInvokeMethod(e,r,n){var o=_;return function(i,a){if(o===f)throw new Error("Generator is already running");if(o===d){if("throw"===i)throw a;return{value:t,done:!0}}for(n.method=i,n.arg=a;;){var u=n.delegate;if(u){var c=maybeInvokeDelegate(u,n);if(c){if(c===h)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===_)throw o=d,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=f;var l=tryCatch(e,r,n);if("normal"===l.type){if(o=n.done?d:p,l.arg===h)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(o=d,n.method="throw",n.arg=l.arg)}}}function maybeInvokeDelegate(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,maybeInvokeDelegate(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),h;var i=tryCatch(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,h;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,h):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,h)}function pushTryEntry(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function resetTryEntry(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function Context(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(pushTryEntry,this),this.reset(!0)}function values(e){if(e||""===e){var r=e[c];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,a=function next(){for(;++o=0;--n){var o=this.tryEntries[n],a=o.completion;if("root"===o.tryLoc)return handle("end");if(o.tryLoc<=this.prev){var u=i.call(o,"catchLoc"),c=i.call(o,"finallyLoc");if(u&&c){if(this.prev=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&i.call(n,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),resetTryEntry(r),h}},catch:function _catch(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;resetTryEntry(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function delegateYield(e,r,n){return this.delegate={iterator:values(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),h}},r}e.exports=_regeneratorRuntime,e.exports.__esModule=!0,e.exports.default=e.exports},7501:e=>{function _typeof(t){return e.exports=_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,_typeof(t)}e.exports=_typeof,e.exports.__esModule=!0,e.exports.default=e.exports},50824:(e,t,r)=>{var n=r(21337)();e.exports=n;try{regeneratorRuntime=n}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=n:Function("r","regeneratorRuntime = r")(n)}}},n={};function __webpack_require__(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,__webpack_require__),o.exports}__webpack_require__.m=r,__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},__webpack_require__.d=(e,t)=>{for(var r in t)__webpack_require__.o(t,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce(((t,r)=>(__webpack_require__.f[r](e,t),t)),[])),__webpack_require__.u=e=>1656===e?"5975ee58d21883e10a11.bundle.min.js":7684===e?"8783b9dda1c3001bf1b5.bundle.min.js":void 0,__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="elementor:",__webpack_require__.l=(r,n,o,i)=>{if(e[r])e[r].push(n);else{var a,u;if(void 0!==o)for(var c=document.getElementsByTagName("script"),l=0;l{a.onerror=a.onload=null,clearTimeout(_);var o=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),o&&o.forEach((e=>e(n))),t)return t(n)},_=setTimeout(onScriptComplete.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=onScriptComplete.bind(null,a.onerror),a.onload=onScriptComplete.bind(null,a.onload),u&&document.head.appendChild(a)}},__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;__webpack_require__.g.importScripts&&(e=__webpack_require__.g.location+"");var t=__webpack_require__.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var n=r.length-1;n>-1&&!e;)e=r[n--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),__webpack_require__.p=e})(),(()=>{var e={3100:0};__webpack_require__.f.j=(t,r)=>{var n=__webpack_require__.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,o)=>n=e[t]=[r,o]));r.push(n[2]=o);var i=__webpack_require__.p+__webpack_require__.u(t),a=new Error;__webpack_require__.l(i,(r=>{if(__webpack_require__.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),i=r&&r.target&&r.target.src;a.message="Loading chunk "+t+" failed.\n("+o+": "+i+")",a.name="ChunkLoadError",a.type=o,a.request=i,n[1](a)}}),"chunk-"+t,t)}};var webpackJsonpCallback=(t,r)=>{var n,o,[i,a,u]=r,c=0;if(i.some((t=>0!==e[t]))){for(n in a)__webpack_require__.o(a,n)&&(__webpack_require__.m[n]=a[n]);if(u)u(__webpack_require__)}for(t&&t(r);c{"use strict";var e=__webpack_require__(73203),t=e(__webpack_require__(87363)),r=e(__webpack_require__(50824)),n=e(__webpack_require__(10029)),o=e(__webpack_require__(66535));!function(){var e,i="e-styleguide-shown";function _mount(){return(_mount=(0,n.default)(r.default.mark((function _callee(){var n,a,u,c;return r.default.wrap((function _callee$(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,Promise.all([__webpack_require__.e(1656),__webpack_require__.e(7684)]).then(__webpack_require__.bind(__webpack_require__,97684));case 2:n=r.sent,a=n.default,document.body.classList.add(i),u=o.default.render(t.default.createElement(a,null),getStyleguideWidget()),c=u.unmount,e=c;case 7:case"end":return r.stop()}}),_callee)})))).apply(this,arguments)}function getStyleguideWidget(){return document.querySelector(".dialog-styleguide-message")}window.addEventListener("message",(function(t){var r,n;if(null!==(r=t.data)&&void 0!==r&&null!==(n=r.name)&&void 0!==n&&n.startsWith("elementor/styleguide/preview")&&getStyleguideWidget())switch(t.data.name){case"elementor/styleguide/preview/show":!function mount(){return _mount.apply(this,arguments)}();break;case"elementor/styleguide/preview/hide":!function unmount(){e(),document.body.classList.remove(i)}()}}))}()})()})();import { boxShadowCss, unit, spRealBgControl, generateBorderStyles, spRealBackgroundImgCss, filterResponsiveDynamicCss, generateTypographyCss, generateTypoResponsive, checkIsActiveCardItem, getVisibilityCss, inArray, singleResponsiveCss, spacingCss, responsiveSpacingCss, rangeControlCss, } from "@testimonial/controls"; const responsiveCssFn = (attributes, device = "Desktop") => { const { blockName, uniqueId, columnGap, cardDesign, cardPadding, imageWidth, imageHeight, aspectRatio, aspectRatioCustom, ratingIconSize, ratingIconGap, titleMargin, excerptMargin, nameMargin, designationMargin, imageMargin, ratingIconMargin, cardContents, // Navigation arrows responsive. enableNavigationArrow, navIconSize, navIconGap, navIconPadding, navIconPosition, navOffsetX, navOffsetY, // Pagination dots responsive. enablePaginationDots, paginationDotsWidth, paginationDotsHeight, paginationDotsSpaceBetween, paginationDotsMargin, realPadding, realMargin, } = attributes; const uniqueIdClass = uniqueId ? `#${uniqueId}` : ""; let responsiveCss = [ // main block css. { selector: `${uniqueIdClass} .sp-real-template-wrapper`, styles: { padding: responsiveSpacingCss(realPadding, device), margin: responsiveSpacingCss(realMargin, device), }, }, // Gap between items (columns gap). Marquee uses per-item margin (via the // so we only emit a flex gap for the swiper case. ...(blockName === "carousel" ? [ { selector: `${uniqueIdClass} .sp-swiper-wrapper`, styles: { gap: singleResponsiveCss(columnGap, device), }, }, { selector: `${uniqueIdClass} .sp-testimonial-swiper:is(.swiper-fade, .swiper-cube, .swiper-flip) .swiper-slide`, styles: { display: "grid", "grid-template-columns": `repeat(${Number(attributes?.columns?.device?.[device]) || 1}, minmax(0, 1fr))`, gap: singleResponsiveCss(columnGap, device), }, }, ] : []), // Grid. blockName === "grid" && { selector: `${uniqueIdClass} .sp-real-grid-wrapper`, styles: { display: "grid", "grid-template-columns": `repeat(${Number(attributes?.columns?.device?.[device]) || 3}, minmax(0, 1fr))`, "column-gap": singleResponsiveCss(columnGap, device), "row-gap": singleResponsiveCss(attributes?.rowGap, device), }, }, // Card padding. { selector: `${uniqueIdClass} .sp-real-card-inner`, styles: { padding: responsiveSpacingCss(cardPadding, device), }, }, // Designation responsive. checkIsActiveCardItem(cardContents, "designation") && { selector: `${uniqueIdClass} .sp-real-client-designation`, styles: { ...generateTypoResponsive(attributes, device, "designation"), margin: responsiveSpacingCss(designationMargin, device), }, }, ]; // Title Responsive Css. if (checkIsActiveCardItem(cardContents, "testimonial_title")) { responsiveCss = [ ...responsiveCss, { selector: `${uniqueIdClass} .sp-real-client-title`, styles: generateTypoResponsive(attributes, device, "title"), }, { selector: `${uniqueIdClass} .sp-real-testimonial-client-title`, styles: { margin: responsiveSpacingCss(titleMargin, device), }, }, ]; } // Excerpt Responsive Css. if (checkIsActiveCardItem(cardContents, "testimonial_text")) { responsiveCss = [ ...responsiveCss, { selector: `${uniqueIdClass} .sp-real-testimonial-text`, styles: generateTypoResponsive(attributes, device, "excerpt"), }, { selector: `${uniqueIdClass} .sp-real-testimonial-content`, styles: { margin: responsiveSpacingCss(excerptMargin, device), }, }, ]; } // Rating Responsive Css. if (checkIsActiveCardItem(cardContents, "rating")) { responsiveCss = [ ...responsiveCss, { selector: `${uniqueIdClass} .sp-real-client-rating`, styles: { "font-size": singleResponsiveCss(ratingIconSize, device), gap: singleResponsiveCss(ratingIconGap, device), margin: responsiveSpacingCss(ratingIconMargin, device), }, }, ]; } // Resolve aspect ratio: "custom" pulls from the free-text value. Accepts // "16:9" or "16/9"; "original" (or empty custom) disables the ratio. const rawRatio = aspectRatio === "custom" ? aspectRatioCustom : aspectRatio; const hasAspectRatio = rawRatio && rawRatio !== "original"; const aspectRatioCss = hasAspectRatio ? rawRatio.replace(":", " / ") : ""; // Image Responsive Css. if (checkIsActiveCardItem(cardContents, "reviewer_image")) { responsiveCss = [ ...responsiveCss, { selector: `${uniqueIdClass} .sp-real-img-tag`, styles: { width: singleResponsiveCss(imageWidth, device), height: hasAspectRatio ? "auto" : singleResponsiveCss(imageHeight, device), "aspect-ratio": aspectRatioCss, "object-fit": hasAspectRatio ? "cover" : "", }, }, { selector: `${uniqueIdClass} .sp-real-client-image`, styles: { margin: responsiveSpacingCss(imageMargin, device), }, }, ]; // card two image position adjustment based on image height/width for all responsive views. if (cardDesign === "design-two") { const imageHalfHeight = parseInt(imageWidth?.device?.[device] || 0) / 2 + unit(imageWidth, device); responsiveCss = [ ...responsiveCss, { selector: `${uniqueIdClass} .sp-real-client-image`, styles: { top: "-" + imageHalfHeight, }, }, { selector: `${uniqueIdClass} .sp-real-card-design-two`, styles: { "margin-top": imageHalfHeight, }, }, { selector: `${uniqueIdClass} .sp-real-card-design-two .sp-real-card-inner>div:nth-child(2)`, styles: { "padding-top": imageHalfHeight, }, }, ]; } } // Name Responsive Css. if (checkIsActiveCardItem(cardContents, "reviewer_name")) { responsiveCss = [ ...responsiveCss, { selector: `${uniqueIdClass} .sp-real-client-name`, styles: generateTypoResponsive(attributes, device, "name"), }, { selector: `${uniqueIdClass} .sp-real-testimonial-client-name`, styles: { margin: responsiveSpacingCss(nameMargin, device), }, }, ]; } // Navigation Arrows Responsive Css. if (enableNavigationArrow) { responsiveCss = [ ...responsiveCss, { selector: `${uniqueIdClass} .sp-real-swiper-nav-arrows`, styles: { gap: singleResponsiveCss(navIconGap, device), right: singleResponsiveCss(navOffsetX, device), left: singleResponsiveCss(navOffsetX, device), [inArray(["bottom_left", "bottom_center", "bottom_right"], navIconPosition) ? "bottom" : "top"]: singleResponsiveCss(navOffsetY, device), }, }, { selector: `${uniqueIdClass} .sp-real-swiper-navigation`, styles: { padding: responsiveSpacingCss(navIconPadding, device), }, }, { selector: `${uniqueIdClass} .sp-real-swiper-navigation svg`, styles: { width: singleResponsiveCss(navIconSize, device), height: singleResponsiveCss(navIconSize, device), }, }, ]; } // Pagination responsive: margin/gap on container; bullet size only for bullet-based modes. if (enablePaginationDots) { responsiveCss = [ ...responsiveCss, // gaps. { selector: `${uniqueIdClass} .sp-real-swiper-pagination`, styles: { margin: responsiveSpacingCss(paginationDotsMargin, device), gap: singleResponsiveCss(paginationDotsSpaceBetween, device), }, }, // dot width. { selector: `${uniqueIdClass} .swiper-pagination-bullet`, styles: { width: singleResponsiveCss(paginationDotsWidth, device) + " !important", height: singleResponsiveCss(paginationDotsHeight, device), }, }, ]; } return responsiveCss; }; const dynamicCss = (attributes) => { const { uniqueId, cardBackground, cardBorder, cardBorderWidth, cardBorderRadius, cardBoxShadow, cardBoxShadowHover, cardHoverEffect, cardHoverTransition, titleColors, titleTypography, excerptColors, excerptTypography, ratingIconColor, ratingIconEmptyColor, imageBorder, imageBorderRadius, imageBorderWidth, imageBoxShadow, nameColors, nameTypography, designationColors, cardContents, hideOnDesktop, hideOnTablet, hideOnMobile, // Navigation arrows. enableNavigationArrow, navIconVisibleOnHover, navIconColors, navIconBackground, navIconBorder, navIconBorderWidth, navIconBorderRadius, navIconBoxShadow, navIconBoxShadowHover, // Pagination dots. enablePaginationDots, paginationDotsColors, realBackground, } = attributes; const uniqueIdClass = uniqueId ? `#${uniqueId}` : ""; const visibility = getVisibilityCss({ uniqueId, hideOnDesktop, hideOnTablet, hideOnMobile }); // Desktop css. let desktopCss = [ ...visibility?.Desktop, ...responsiveCssFn(attributes, "Desktop"), // main block css. { selector: `${uniqueIdClass} .sp-real-template-wrapper`, styles: { background: spRealBgControl(realBackground?.normal), }, }, // Card background. { selector: `${uniqueIdClass} .sp-real-card-inner`, styles: { background: spRealBgControl(cardBackground?.normal), ...generateBorderStyles(cardBorder, cardBorderWidth), "border-radius": spacingCss(cardBorderRadius), ...boxShadowCss(cardBoxShadow), "transition-duration": cardHoverEffect && cardHoverEffect !== "none" ? rangeControlCss(cardHoverTransition) : "", }, }, { selector: `${uniqueIdClass} .sp-real-card-inner:hover`, styles: { "border-color": cardBorder?.hoverColor, background: spRealBgControl(cardBackground?.hover), ...spRealBackgroundImgCss(cardBackground?.hover), ...boxShadowCss(cardBoxShadowHover), }, }, // Title. checkIsActiveCardItem(cardContents, "testimonial_title") && { selector: `${uniqueIdClass} .sp-real-client-title`, styles: { color: titleColors?.normal || "", ...generateTypographyCss(titleTypography), }, }, // Excerpt. checkIsActiveCardItem(cardContents, "testimonial_text") && { selector: `${uniqueIdClass} .sp-real-testimonial-text`, styles: { color: excerptColors?.normal || "", ...generateTypographyCss(excerptTypography), }, }, // Name. checkIsActiveCardItem(cardContents, "reviewer_name") && { selector: `${uniqueIdClass} .sp-real-client-name`, styles: { color: nameColors?.normal || "", ...generateTypographyCss(nameTypography), }, }, // Designation color. checkIsActiveCardItem(cardContents, "designation") && { selector: `${uniqueIdClass} .sp-real-client-designation`, styles: { color: designationColors?.normal || "", ...generateTypographyCss(attributes.designationTypography), }, }, ]; // Rating Css. if (checkIsActiveCardItem(cardContents, "rating")) { desktopCss = [ ...desktopCss, { selector: `${uniqueIdClass} .sp-real-rating-full, ${uniqueIdClass} .sp-real-rating-half .sp-real-rating-fill`, styles: { color: ratingIconColor || "", }, }, { selector: `${uniqueIdClass} .sp-real-rating-empty, ${uniqueIdClass} .sp-real-rating-half .sp-real-rating-base`, styles: { color: ratingIconEmptyColor || "", }, }, ]; } // Image Css. if (checkIsActiveCardItem(cardContents, "reviewer_image")) { desktopCss = [ ...desktopCss, { selector: `${uniqueIdClass} .sp-real-img-tag`, styles: { ...generateBorderStyles(imageBorder, imageBorderWidth), "border-radius": spacingCss(imageBorderRadius), ...boxShadowCss(imageBoxShadow), }, }, { selector: `${uniqueIdClass} .sp-real-client-image:hover .sp-real-img-tag`, styles: { "border-color": imageBorder?.hoverColor, }, }, ]; } // Navigation Arrows Css. if (enableNavigationArrow) { desktopCss = [ ...desktopCss, // Nav buttons base styles. { selector: `${uniqueIdClass} .sp-real-swiper-navigation`, styles: { color: navIconColors?.normal || "", background: navIconBackground?.normal || "", ...generateBorderStyles(navIconBorder, navIconBorderWidth), "border-radius": spacingCss(navIconBorderRadius), ...boxShadowCss(navIconBoxShadow), "pointer-events": "auto", ...(navIconVisibleOnHover && { opacity: "0", transition: "opacity 0.3s ease", }), }, }, { selector: `${uniqueIdClass} .sp-real-swiper-navigation:hover`, styles: { color: navIconColors?.hover || "", background: navIconBackground?.hover || "", "border-color": navIconBorder?.hoverColor || "", ...boxShadowCss(navIconBoxShadowHover), }, }, navIconVisibleOnHover && { selector: `${uniqueIdClass}:hover .sp-real-swiper-navigation`, styles: { opacity: "1" }, }, ]; } // Pagination: colors for dots/stepper on top of swiper.scss base. if (enablePaginationDots) { desktopCss = [ ...desktopCss, { selector: `${uniqueIdClass} .swiper-pagination-bullet`, styles: { background: paginationDotsColors?.normal || "", }, }, { selector: `${uniqueIdClass} :is(.swiper-pagination-bullet:hover, .swiper-pagination-bullet-active)`, styles: { background: paginationDotsColors?.active || "", }, }, ]; } const tabletCss = [...visibility?.Tablet, ...responsiveCssFn(attributes, "Tablet")]; const mobileCss = [...visibility?.Mobile, ...responsiveCssFn(attributes, "Mobile")]; const cssObj = { desktopCss, tabletCss, mobileCss, }; return filterResponsiveDynamicCss(cssObj); }; export default dynamicCss; Taxation for Individuals | Proactive Advisors
Taxation for Individuals
Taxation for Individuals
Are you happy with your income, but confused about Taxes? Are you paying more taxes? Do you need more clarity, accuracy, and profeesioanl advice in managing your taxes?
Feeling overwhelmed by these thoughts? Let us support you?
What We Do
At Proactive Advisors, you get ongoing support with your finances. Whether it’s tax filing, compliance with the standards, or expert advice, we are there. Every person’s financial story is different, and so is their tax responsibility. That’s why our tax services are tailored to suit your unique situation.
We Help With:
  • Self-Assessment Tax Returns: We’ll prepare, review, and file your return accurately and on time.
  • Income Reporting: From PAYE and freelance income to rental, dividend, or overseas earnings—we handle it all.
  • Capital Gains Tax: Sold a property or shares? We’ll calculate your tax and guide you through the process.
  • Reliefs & Allowances: We’ll help you claim deductions like pension relief and gift aid, so you don’t pay more than you need to.
  • HMRC Support: If HMRC contacts you, we’ll deal with them directly, resolving issues and keeping things smooth.
  • Ongoing Tax Planning: Our support doesn’t stop after filing. We’re here all year to help you stay ahead and avoid surprises.
Our goal is not just to tick boxes but to help you understand your position, stay compliant, and keep more of what you earn.
Why Choose Proactive Advisors?
  • Personal service from experienced tax professionals
  • Fixed, upfront pricing — no hourly charges or surprise bills
  • Fast, efficient turnaround to meet deadlines with ease
  • Friendly, clear communication — no jargon
  • Secure handling of your personal and financial information
Whether it’s your first return or your fifteenth, we make sure everything is done right the first time. With us, you’ll never feel lost in the process or left in the dark.
Who We Work With
We support a wide range of individuals, including:
  • Employed professionals needing Self-Assessment
  • Self-employed freelancers and contractors
  • Landlords with one or multiple properties
  • Investors with capital gains or dividend income
  • Individuals with foreign earnings or complex tax needs
Let’s Make Tax Simple
Numbers and calculations are our domain.
Tax season should not bother you. Allow us to manage your finances and bring you mental peace. Contact our team, and we will respond instantly.