/*! elementor - v3.4.8 - 16-11-2021 */ (self.webpackChunkelementor=self.webpackChunkelementor||[]).push([[181],{9728:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class baseTabs extends elementorModules.frontend.handlers.Base{getDefaultSettings(){return{selectors:{tablist:'[role="tablist"]',tabTitle:".elementor-tab-title",tabContent:".elementor-tab-content"},classes:{active:"elementor-active"},showTabFn:"show",hideTabFn:"hide",toggleSelf:!0,hidePrevious:!0,autoExpand:!0,keyDirection:{ArrowLeft:elementorFrontendConfig.is_rtl?1:-1,ArrowUp:-1,ArrowRight:elementorFrontendConfig.is_rtl?-1:1,ArrowDown:1}}}getDefaultElements(){const e=this.getSettings("selectors");return{$tabTitles:this.findElement(e.tabTitle),$tabContents:this.findElement(e.tabContent)}}activateDefaultTab(){const e=this.getSettings();if(!e.autoExpand||"editor"===e.autoExpand&&!this.isEdit)return;const t=this.getEditSettings("activeItemIndex")||1,a={showTabFn:e.showTabFn,hideTabFn:e.hideTabFn};this.setSettings({showTabFn:"show",hideTabFn:"hide"}),this.changeActiveTab(t),this.setSettings(a)}handleKeyboardNavigation(e){const t=e.currentTarget,a=jQuery(t.closest(this.getSettings("selectors").tablist)),s=a.find(this.getSettings("selectors").tabTitle),i="vertical"===a.attr("aria-orientation");switch(e.key){case"ArrowLeft":case"ArrowRight":if(i)return;break;case"ArrowUp":case"ArrowDown":if(!i)return;e.preventDefault();break;case"Home":return e.preventDefault(),void s.first().focus();case"End":return e.preventDefault(),void s.last().focus();default:return}const n=t.getAttribute("data-tab")-1,r=this.getSettings("keyDirection")[e.key],o=s[n+r];o?o.focus():-1===n+r?s.last().focus():s.first().focus()}deactivateActiveTab(e){const t=this.getSettings(),a=t.classes.active,s=e?'[data-tab="'+e+'"]':"."+a,i=this.elements.$tabTitles.filter(s),n=this.elements.$tabContents.filter(s);i.add(n).removeClass(a),i.attr({tabindex:"-1","aria-selected":"false","aria-expanded":"false"}),n[t.hideTabFn](),n.attr("hidden","hidden")}activateTab(e){const t=this.getSettings(),a=t.classes.active,s=this.elements.$tabTitles.filter('[data-tab="'+e+'"]'),i=this.elements.$tabContents.filter('[data-tab="'+e+'"]'),n="show"===t.showTabFn?0:400;s.add(i).addClass(a),s.attr({tabindex:"0","aria-selected":"true","aria-expanded":"true"}),i[t.showTabFn](n,(()=>elementorFrontend.elements.$window.trigger("resize"))),i.removeAttr("hidden")}isActiveTab(e){return this.elements.$tabTitles.filter('[data-tab="'+e+'"]').hasClass(this.getSettings("classes.active"))}bindEvents(){this.elements.$tabTitles.on({keydown:e=>{jQuery(e.target).is("a")&&"Enter"===e.key&&e.preventDefault(),["End","Home","ArrowUp","ArrowDown"].includes(e.key)&&this.handleKeyboardNavigation(e)},keyup:e=>{switch(e.key){case"ArrowLeft":case"ArrowRight":this.handleKeyboardNavigation(e);break;case"Enter":case"Space":e.preventDefault(),this.changeActiveTab(e.currentTarget.getAttribute("data-tab"))}},click:e=>{e.preventDefault(),this.changeActiveTab(e.currentTarget.getAttribute("data-tab"))}})}onInit(...e){super.onInit(...e),this.activateDefaultTab()}onEditSettingsChange(e){"activeItemIndex"===e&&this.activateDefaultTab()}changeActiveTab(e){const t=this.isActiveTab(e),a=this.getSettings();!a.toggleSelf&&t||!a.hidePrevious||this.deactivateActiveTab(),!a.hidePrevious&&t&&this.deactivateActiveTab(e),t||this.activateTab(e)}}t.default=baseTabs},2:(e,t,a)=>{"use strict";var s=a(7914);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=s(a(9728));class Toggle extends i.default{getDefaultSettings(){return{...super.getDefaultSettings(),showTabFn:"slideDown",hideTabFn:"slideUp",hidePrevious:!1,autoExpand:"editor"}}}t.default=Toggle}}]);
# Predefined list for excluding JS files or inline JS codes # # Comment can use `# `(there is a space following), or `##`, can use both as a new line or end of one line # If you want to predefine new items, please send a Pull Request to https://github.com/litespeedtech/lscache_wp/blob/dev/data/js_excludes.txt We will merge into next plugin release # JS file URL excludes maps-api-ssl.google.com maps.google.com/maps maps.googleapis.com google.com/recaptcha google-analytics.com/analytics.js stats.wp.com js.stripe.com paypal.com/sdk/js cse.google.com/cse.js /syntaxhighlighter/ spotlight-social-photo-feeds ## https://docs.spotlightwp.com/article/757-autoptimize-compatibility @Tobolo userway.org # Inline JS excludes document.write gtag gtm dataLayer adsbygoogle block_tdi_ ## Theme: Newspaper by tagDiv.com data-view-breakpoint-pointer ## Plugin: The Events Calendar by Modern Tribe (https://theeventscalendar.com/) wp-json/wp-statistics ## WP Statistics ## JetPack Stats stats.wp.com/e- _stq # Cloudflare turnstile - Tobolo turnstile challenges.cloudflare.com@keyframes slideInUp{from{transform:translate3d(0,100%,0);visibility:visible}to{transform:translate3d(0,0,0)}}.slideInUp{animation-name:slideInUp} T-A-G™ : Tap and Go ! Home improvement services – T-A-G™ : Tap and Go !

Home improvement services

Accessory Dwelling Unit & Backyard Getaway Industry Leader

The firm offers an amalgamation of two distinctly different worlds, preserving authentic architectural details while adding space, function, and utility. Since 2003, Copper Sky has been reviving and reinventing homes throughout Atlanta’s historic neighborhoods. The firm offers a slew of design-build solutions, specializing in kitchens, bathrooms, additions, and whole house renovations. Canyon Design Build has …

Accessory Dwelling Unit & Backyard Getaway Industry Leader Read More »

What is an ADU Accessory Dwelling Unit

Our container homes have several defenses against condensation and rust. We protect the interior container walls from condensation and rust by applying a generous layer of closed-cell spray foam insulation, which is waterproof. We also install energy recovery ventilators (ERVs) in our homes to provide ventilation and help circulate fresh air into the living space. …

What is an ADU Accessory Dwelling Unit Read More »

Scroll to Top