import { Card } from '@elementor/app-ui'; import { SiteTemplateHeader } from './site-template-header'; import { SiteTemplateBody } from './site-template-body'; import { SiteTemplateFooter } from './site-template-footer'; import './site-template.scss'; export default function SiteTemplate( props ) { const baseClassName = 'e-site-template', classes = [ baseClassName ], ref = React.useRef( null ); React.useEffect( () => { if ( ! props.isSelected ) { return; } ref.current.scrollIntoView( { behavior: 'smooth', block: 'start', } ); }, [ props.isSelected ] ); if ( props.extended ) { classes.push( `${ baseClassName }--extended` ); } if ( props.aspectRatio ) { classes.push( `${ baseClassName }--${ props.aspectRatio }` ); } const CardFooter = props.extended && props.showInstances ? : ''; return ( { CardFooter } ); } SiteTemplate.propTypes = { aspectRatio: PropTypes.string, className: PropTypes.string, extended: PropTypes.bool, id: PropTypes.number.isRequired, isActive: PropTypes.bool.isRequired, status: PropTypes.string, thumbnail: PropTypes.string.isRequired, title: PropTypes.string.isRequired, isSelected: PropTypes.bool, type: PropTypes.string.isRequired, showInstances: PropTypes.bool, }; SiteTemplate.defaultProps = { isSelected: false, }; // Hide paging when TTA collapses to accordion (except pageable) // ========================== @media (max-width: @vc_tta-breakpoint) { .vc_tta-container { .vc_tta:not([class*="vc_tta-pageable"]) { .vc_pagination { display: none; } } } }/*! elementor - v3.14.0 - 26-06-2023 */ "use strict"; (self["webpackChunkelementor"] = self["webpackChunkelementor"] || []).push([["toggle"],{ /***/ "../assets/dev/js/frontend/handlers/base-tabs.js": /*!*******************************************************!*\ !*** ../assets/dev/js/frontend/handlers/base-tabs.js ***! \*******************************************************/ /***/ ((__unused_webpack_module, exports) => { Object.defineProperty(exports, "__esModule", ({ value: true })); exports["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: true, hidePrevious: true, autoExpand: true, keyDirection: { ArrowLeft: elementorFrontendConfig.is_rtl ? 1 : -1, ArrowUp: -1, ArrowRight: elementorFrontendConfig.is_rtl ? -1 : 1, ArrowDown: 1 } }; } getDefaultElements() { const selectors = this.getSettings('selectors'); return { $tabTitles: this.findElement(selectors.tabTitle), $tabContents: this.findElement(selectors.tabContent) }; } activateDefaultTab() { const settings = this.getSettings(); if (!settings.autoExpand || 'editor' === settings.autoExpand && !this.isEdit) { return; } const defaultActiveTab = this.getEditSettings('activeItemIndex') || 1, originalToggleMethods = { showTabFn: settings.showTabFn, hideTabFn: settings.hideTabFn }; // Toggle tabs without animation to avoid jumping this.setSettings({ showTabFn: 'show', hideTabFn: 'hide' }); this.changeActiveTab(defaultActiveTab); // Return back original toggle effects this.setSettings(originalToggleMethods); } handleKeyboardNavigation(event) { const tab = event.currentTarget, $tabList = jQuery(tab.closest(this.getSettings('selectors').tablist)), // eslint-disable-next-line @wordpress/no-unused-vars-before-return $tabs = $tabList.find(this.getSettings('selectors').tabTitle), isVertical = 'vertical' === $tabList.attr('aria-orientation'); switch (event.key) { case 'ArrowLeft': case 'ArrowRight': if (isVertical) { return; } break; case 'ArrowUp': case 'ArrowDown': if (!isVertical) { return; } event.preventDefault(); break; case 'Home': event.preventDefault(); $tabs.first().trigger('focus'); return; case 'End': event.preventDefault(); $tabs.last().trigger('focus'); return; default: return; } const tabIndex = tab.getAttribute('data-tab') - 1, direction = this.getSettings('keyDirection')[event.key], nextTab = $tabs[tabIndex + direction]; if (nextTab) { nextTab.focus(); } else if (-1 === tabIndex + direction) { $tabs.last().trigger('focus'); } else { $tabs.first().trigger('focus'); } } deactivateActiveTab(tabIndex) { const settings = this.getSettings(), activeClass = settings.classes.active, activeFilter = tabIndex ? '[data-tab="' + tabIndex + '"]' : '.' + activeClass, $activeTitle = this.elements.$tabTitles.filter(activeFilter), $activeContent = this.elements.$tabContents.filter(activeFilter); $activeTitle.add($activeContent).removeClass(activeClass); $activeTitle.attr({ tabindex: '-1', 'aria-selected': 'false', 'aria-expanded': 'false' }); $activeContent[settings.hideTabFn](); $activeContent.attr('hidden', 'hidden'); } activateTab(tabIndex) { const settings = this.getSettings(), activeClass = settings.classes.active, $requestedTitle = this.elements.$tabTitles.filter('[data-tab="' + tabIndex + '"]'), $requestedContent = this.elements.$tabContents.filter('[data-tab="' + tabIndex + '"]'), animationDuration = 'show' === settings.showTabFn ? 0 : 400; $requestedTitle.add($requestedContent).addClass(activeClass); $requestedTitle.attr({ tabindex: '0', 'aria-selected': 'true', 'aria-expanded': 'true' }); $requestedContent[settings.showTabFn](animationDuration, () => elementorFrontend.elements.$window.trigger('elementor-pro/motion-fx/recalc')); $requestedContent.removeAttr('hidden'); } isActiveTab(tabIndex) { return this.elements.$tabTitles.filter('[data-tab="' + tabIndex + '"]').hasClass(this.getSettings('classes.active')); } bindEvents() { this.elements.$tabTitles.on({ keydown: event => { // Support for old markup that includes an `` tag in the tab if (jQuery(event.target).is('a') && `Enter` === event.key) { event.preventDefault(); } // We listen to keydowon event for these keys in order to prevent undesired page scrolling if (['End', 'Home', 'ArrowUp', 'ArrowDown'].includes(event.key)) { this.handleKeyboardNavigation(event); } }, keyup: event => { switch (event.code) { case 'ArrowLeft': case 'ArrowRight': this.handleKeyboardNavigation(event); break; case 'Enter': case 'Space': event.preventDefault(); this.changeActiveTab(event.currentTarget.getAttribute('data-tab')); break; } }, click: event => { event.preventDefault(); this.changeActiveTab(event.currentTarget.getAttribute('data-tab')); } }); } onInit() { super.onInit(...arguments); this.activateDefaultTab(); } onEditSettingsChange(propertyName) { if ('activeItemIndex' === propertyName) { this.activateDefaultTab(); } } changeActiveTab(tabIndex) { const isActiveTab = this.isActiveTab(tabIndex), settings = this.getSettings(); if ((settings.toggleSelf || !isActiveTab) && settings.hidePrevious) { this.deactivateActiveTab(); } if (!settings.hidePrevious && isActiveTab) { this.deactivateActiveTab(tabIndex); } if (!isActiveTab) { this.activateTab(tabIndex); } } } exports["default"] = baseTabs; /***/ }), /***/ "../assets/dev/js/frontend/handlers/toggle.js": /*!****************************************************!*\ !*** ../assets/dev/js/frontend/handlers/toggle.js ***! \****************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _baseTabs = _interopRequireDefault(__webpack_require__(/*! ./base-tabs */ "../assets/dev/js/frontend/handlers/base-tabs.js")); class Toggle extends _baseTabs.default { getDefaultSettings() { const defaultSettings = super.getDefaultSettings(); return { ...defaultSettings, showTabFn: 'slideDown', hideTabFn: 'slideUp', hidePrevious: false, autoExpand: 'editor' }; } } exports["default"] = Toggle; /***/ }) }]); //# sourceMappingURL=toggle.29e5a34bb6e51dab4600.bundle.js.map(function ($) { "use strict"; vc.atts.g5element_number_and_unit = { init: function (param, $field) { var $inputField = $field.find('.g5element_number_and_unit_field'); $field.find('.g5element-vc-number-and-unit-field').on('change',function(){ var value = ''; $field.find('.g5element-vc-number-and-unit-field').each(function(){ if (value === '') { value += $(this).val(); } else { value += $(this).val(); } }); $inputField.val(value); }); } } })(jQuery);
.gel-image-hover-gray-scale img { -webkit-filter: grayscale(100%); filter: grayscale(100%); -webkit-transition: 0.7s ease-in-out; transition: 0.7s ease-in-out; } .gel-image-hover-gray-scale:hover img { -webkit-filter: grayscale(0); filter: grayscale(0); } .gel-image-hover-opacity .img { opacity: 1; -webkit-transition: 0.7s ease-in-out; transition: 0.7s ease-in-out; } .gel-image-hover-opacity:hover img { opacity: 0.5; } @-webkit-keyframes gel-shine { 100% { left: 125%; } } @keyframes gel-shine { 100% { left: 125%; } } .gel-image-hover-shine:before { position: absolute; top: 0; left: -100%; z-index: 2; display: block; content: ""; width: 50%; height: 100%; background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 100%); background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 100%); -webkit-transform: skewX(-25deg); transform: skewX(-25deg); } .gel-image-hover-shine:hover:before { -webkit-animation: gel-shine 0.35s; animation: gel-shine 0.35s; } @-webkit-keyframes gel-shine { 100% { left: 125%; } } @keyframes gel-shine { 100% { left: 125%; } } .gel-image-hover-circle:before { position: absolute; top: 50%; left: 50%; z-index: 2; display: block; content: ""; width: 0; height: 0; background: rgba(255, 255, 255, 0.2); border-radius: 100%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); opacity: 0; } .gel-image-hover-circle:hover:before { -webkit-animation: gel-circle 0.7s; animation: gel-circle 0.7s; } @-webkit-keyframes gel-circle { 0% { opacity: 1; } 40% { opacity: 1; } 100% { width: 200%; height: 200%; opacity: 0; } } @keyframes gel-circle { 0% { opacity: 1; } 40% { opacity: 1; } 100% { width: 200%; height: 200%; opacity: 0; } } .gel-image-hover-flash:hover img { opacity: 1; -webkit-animation: gel-flash 0.7s; animation: gel-flash 0.7s; } @-webkit-keyframes gel-flash { 0% { opacity: 0.4; } 100% { opacity: 1; } } @keyframes gel-flash { 0% { opacity: 0.4; } 100% { opacity: 1; } } .gel-image-box a:not(.btn) { color: inherit; } .gel-image-box.img-circle .g5core__lazy-image, .gel-image-box.img-circle .image, .gel-image-box.img-circle img { border-radius: 50%; } .gel-image-box.img-circle .g5core__lazy-image:after, .gel-image-box.img-circle .image:after, .gel-image-box.img-circle img:after { border-radius: 50%; } .gel-image-box .image a { position: relative; z-index: 1; display: inline-block; } .gel-image-box .title { margin-bottom: 1rem; } .gel-image-box .btn-box { margin-top: 1.5rem; } .gel-image-box p:last-child { margin-bottom: 0; } .gel-image-box.border-img .image { display: inline-block; position: relative; -webkit-box-shadow: 0 0 0 4px #d7aa82; box-shadow: 0 0 0 4px #d7aa82; -webkit-transition: transform 0.3s, opacity 0.3s; transition: transform 0.3s, opacity 0.3s; font-size: 0; } .gel-image-box.border-img .image:after { min-width: 100%; height: 100%; content: ""; position: absolute; -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; top: -1px; left: -1px; padding: 1px; -webkit-transform: scale(1.3); transform: scale(1.3); opacity: 0; -webkit-box-shadow: 0 0 0 1px #d7aa82; box-shadow: 0 0 0 1px #d7aa82; -webkit-transition: transform 0.3s, opacity 0.3s; transition: transform 0.3s, opacity 0.3s; } .gel-image-box.border-img:hover .image { -webkit-box-shadow: 0 0 0 2px #d7aa82; box-shadow: 0 0 0 2px #d7aa82; -webkit-transition: background 0.3s, transform 0.3s, opacity 0.3s; transition: background 0.3s, transform 0.3s, opacity 0.3s; } .gel-image-box.border-img:hover .image:after { opacity: 1; -webkit-transform: scale(1); transform: scale(1); -webkit-transition: transform 0.3s, opacity 0.3s; transition: transform 0.3s, opacity 0.3s; -webkit-box-shadow: 0 0 0 2px #d7aa82; box-shadow: 0 0 0 2px #d7aa82; } .gel-image-box.img-size-sm .image { -ms-flex: 0 0 60px; flex: 0 0 60px; max-width: 60px; } .gel-image-box.img-size-md .image { -ms-flex: 0 0 80px; flex: 0 0 80px; max-width: 80px; } .gel-image-box.img-size-lg .image { -ms-flex: 0 0 120px; flex: 0 0 120px; max-width: 120px; } .gel-image-box .image-hover { position: relative; } .gel-image-box .image-hover .g5core__lazy-image, .gel-image-box .image-hover img { -webkit-transition: all 0.3s; transition: all 0.3s; } .gel-image-box .image-hover .g5core__lazy-image:last-of-type, .gel-image-box .image-hover img:last-of-type { position: absolute; top: 0; left: 0; opacity: 0; } .gel-image-box:hover .image-hover .g5core__lazy-image:first-of-type, .gel-image-box:hover .image-hover img:first-of-type { opacity: 0; } .gel-image-box:hover .image-hover .g5core__lazy-image:last-of-type, .gel-image-box:hover .image-hover img:last-of-type { opacity: 1; } .gel-image-box .gel-effect-bg-image { display: inline-block; } .gel-image-box .gel-image-effect:after { content: none; } .gel-image-box-style-01, .gel-image-box-style-04, .gel-image-box-style-06 { text-align: left; } .gel-image-box-style-02 { text-align: center; } .gel-image-box-style-02 .image { margin-left: auto; margin-right: auto; } .gel-image-box-style-02 .image-hover img:last-of-type { right: 0; bottom: 0; margin: auto; } .gel-image-box-style-03, .gel-image-box-style-05, .gel-image-box-style-07 { text-align: right; } .gel-image-box-style-03 .image-hover img:last-of-type, .gel-image-box-style-05 .image-hover img:last-of-type, .gel-image-box-style-07 .image-hover img:last-of-type { right: 0; left: auto; } .gel-image-box-style-01 .image, .gel-image-box-style-02 .image, .gel-image-box-style-03 .image { margin-bottom: 2rem; } .gel-image-box-style-04, .gel-image-box-style-05 { display: -ms-flexbox; display: flex; } .gel-image-box-style-04 .content-box, .gel-image-box-style-05 .content-box { -ms-flex: 1 1 auto; flex: 1 1 auto; } .gel-image-box-style-04 .image { margin-right: 1rem; } .gel-image-box-style-04.img-default .image { -ms-flex-negative: 0; flex-shrink: 0; } .gel-image-box-style-05 .image { margin-left: 1rem; } .gel-image-box-style-05.img-default .image { -ms-flex-negative: 0; flex-shrink: 0; } .gel-image-box-style-06 .top-box, .gel-image-box-style-07 .top-box { display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; } .gel-image-box-style-06 .top-box .image { margin: 0 1rem 1rem 0; } .gel-image-box-style-07 .top-box { -ms-flex-pack: end; justify-content: flex-end; } .gel-image-box-style-07 .top-box .image { margin: 0 0 0.75rem 1rem; } /*# sourceMappingURL=image-box.css.map */ admin – Page 101 – Northside Heating & Air Conditioning, LLC

mindsaw

About admin

This author has not yet filled in any details.
So far admin has created 2823 blog entries.

Start new day with BBC Hot Fakes

2026-02-04T16:01:20+00:00

Start new day with BBC Hot Fakes Forbes is a business, investing, and entrepreneurship

Start new day with BBC Hot Fakes2026-02-04T16:01:20+00:00

Start new day with BBC Hot Fakes

2026-02-04T16:01:25+00:00

Start new day with BBC Hot Fakes Forbes is a business, investing, and entrepreneurship

Start new day with BBC Hot Fakes2026-02-04T16:01:25+00:00

Start new day with BBC Hot News

2026-02-04T16:01:39+00:00

Start new day with BBC Hot News Forbes is a business, investing, and entrepreneurship

Start new day with BBC Hot News2026-02-04T16:01:39+00:00

Start new day with BBC Hot News

2026-02-04T16:01:44+00:00

Start new day with BBC Hot News Forbes is a business, investing, and entrepreneurship

Start new day with BBC Hot News2026-02-04T16:01:44+00:00

Start new day with BBC Hot News

2026-02-04T16:01:49+00:00

Start new day with BBC Hot News Forbes is a business, investing, and entrepreneurship

Start new day with BBC Hot News2026-02-04T16:01:49+00:00

Start new day with BBC Hot News

2026-02-04T16:01:53+00:00

Start new day with BBC Hot News Forbes is a business, investing, and entrepreneurship

Start new day with BBC Hot News2026-02-04T16:01:53+00:00
Go to Top