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 113 – 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.

Mostbet Türkiye Güncel Giriş Mostbet Casino 2025

2025-06-01T00:04:31+00:00

Mostbet Com'da Oynamak Mı Istiyorsunuz? Buradan Giriş YapınContentMostbet’te Canlı Bahis SeçeneğiÖdeme MetodlarıMostbet Tr’deki Bonus

Mostbet Türkiye Güncel Giriş Mostbet Casino 20252025-06-01T00:04:31+00:00

Онлайн Казино на Рубли Лучшие русские Сайты На подлинные Деньги, Играть желающим В Интернете в 2025 Году

2025-05-31T23:56:17+00:00

Казино Рейтинг 3500 Онлайн Казино 2025ContentЛучшие Онлайн-казино и России 2025 январеМетоды Оплаты же Скорость

Онлайн Казино на Рубли Лучшие русские Сайты На подлинные Деньги, Играть желающим В Интернете в 2025 Году2025-05-31T23:56:17+00:00
Go to Top