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

Android Apk Ve Ios Mobil Uygulamasını Edinin

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

Mostbet Bahisçisi: En İyi Oranlar Ve Çevrimiçi Canlı Bahis DeneyimiContentMobil UygulamalarıAndroid Için Mostbet UygulamasıMostbet

Android Apk Ve Ios Mobil Uygulamasını Edinin2026-02-04T16:09:25+00:00

1xslots вход

2026-02-04T16:09:30+00:00

Новички, которые только начинают играть в казино 1xslots могут опробовать игру в демо-режиме. За

1xslots вход2026-02-04T16:09:30+00:00

Türkiye’de Lisanslı Bahis Şirketi 1xbet

2026-02-04T16:09:51+00:00

"1xbet Güncel Adresi 1xbet ÜyelikContentBet Servisine Nasıl Giriş Yapılır? Bet Canlı Bahis SeçenekleriBet, Kültür

Türkiye’de Lisanslı Bahis Şirketi 1xbet2026-02-04T16:09:51+00:00
Go to Top