document.addEventListener(‘DOMContentLoaded’, () => { const searchContainer = document.querySelector(‘.search-container’); const searchInput = document.getElementById(‘search-filter’); const openBtn = document.querySelector(‘.search-icon .toggle-buttton’); const closeBtn = document.querySelector(‘.close-icon .toggle-buttton’); const openSearch = () => { if (searchContainer.classList.contains(‘open’)) return; // ya abierto searchContainer.classList.add(‘open’); requestAnimationFrame(() => searchInput.focus()); // foco tras repaint }; const closeSearch = () => { searchContainer.classList.remove(‘open’); searchInput.blur(); }; openBtn.addEventListener(‘click’, () => { searchContainer.classList.contains(‘open’) ? closeSearch() : openSearch(); }); closeBtn.addEventListener(‘click’, closeSearch); document.addEventListener(‘keydown’, (e) => { if (e.key === ‘Escape’) closeSearch(); }); }); document.addEventListener(‘DOMContentLoaded’, () => { const ajaxURL = ‘/wp-admin/admin-ajax.php’; const typePost = document.querySelector(‘.filter-config’).dataset.postType; const PAGE_ID = (document.body.className.match(/page-id-(\d+)/) || [])[1] || 0; const NONCE = »; const loops = {}; function togglePager(loopObj, show) { if (!loopObj.hasPager) return; loopObj.btn?.remove(); if (show) { loopObj.cfg.appendChild(loopObj.btn); } } document.querySelectorAll(‘.loop-config’).forEach(cfg => { const loopId = cfg.dataset.loopId; const wrapper = document.getElementById(loopId); if (!wrapper) return; const cardNode = wrapper.querySelector(‘[data-post-card-id]’); if (!cardNode) return; loops[loopId] = { wrapper, cfg, postCardId : cardNode.dataset.postCardId, page : 1, perPage : parseInt(cfg.dataset.itemsPerPage) || 9, tags : (cfg.dataset.tags || »).split(‘,’).map(t => t.trim()).filter(Boolean), tagsExclude : (cfg.dataset.tagsExclude || »).split(‘,’).map(t => t.trim()).filter(Boolean), hasPager : cfg.dataset.pagination === ‘true’, cat : ‘all’, term : » }; if (loops[loopId].hasPager) { const btn = document.createElement(‘button’); btn.type = ‘button’; btn.className = ‘load-more-btn’; btn.textContent = ‘Cargar más publicaciones’; cfg.appendChild(btn); loops[loopId].btn = btn; btn.addEventListener(‘click’, () => { loops[loopId].page++; fetchGrid(loopId, true); }); } }); const catButtons = document.querySelectorAll(‘.category-items’); const searchBtn = document.querySelector(‘.search-submit’); const searchInput = document.getElementById(‘search-filter’); const nav = document.querySelector(‘.filters-wrapper nav’); nav.addEventListener(‘click’, e => { const btn = e.target.closest(‘.category-items’); if (!btn) return; // no era un botón /* 1.a estado visual: solo uno activo */ nav.querySelectorAll(‘.category-items’).forEach(b => b.classList.remove(‘active’)); btn.classList.add(‘active’); /* 1.b dispara filtros globales */ const term = document.getElementById(‘search-filter’)?.value.trim() || »; window.applyFilters(btn.dataset.category, term); }); /* 2 ▸ expón applyFilters → accesible desde los clones posteriores */ window.applyFilters = function(cat, term){ Object.values(loops).forEach(l => { l.cat = cat; l.term = term; l.page = 1; togglePager(l, true); fetchGrid(l.wrapper.id); }); }; searchBtn?.addEventListener(‘click’, () => { const activeCat = document.querySelector(‘.category-item.active’)?.dataset.category || ‘all’; applyFilters(activeCat, searchInput.value.trim()); }); function applyFilters(cat, term) { Object.values(loops).forEach(l => { l.cat = cat; l.term = term; l.page = 1; fetchGrid(l.wrapper.id); }); } function fetchGrid(loopId, append = false) { const l = loops[loopId]; if (!l) return; const data = new FormData(); data.append(‘post_type’, typePost); data.append(‘action’, ‘bc_filter_post_cards’); if (NONCE) data.append(‘nonce’, NONCE); data.append(‘page_id’, PAGE_ID); data.append(‘postcard_id’, l.postCardId); data.append(‘cat’, l.cat); data.append(‘s’, l.term); data.append(‘tags’, l.tags.join(‘,’)); data.append(‘exclude_tags’, l.tagsExclude.join(‘,’)); data.append(‘posts_per_page’, l.perPage); data.append(‘paged’, l.page); fetch(ajaxURL, { method:’POST’, credentials:’same-origin’, body:data }) .then(r => r.json()) .then(json => { if (json.success) { const { html, has_more } = json.data; const tmp = document.createElement(‘div’); tmp.innerHTML = html; const ulNew = tmp.querySelector(‘.fusion-grid’); const liHTML = ulNew ? ulNew.innerHTML : tmp.innerHTML; const grid = l.wrapper.querySelector(‘.fusion-grid’); if (!grid) return; if (append) { grid.insertAdjacentHTML(‘beforeend’, liHTML); } else { grid.innerHTML = liHTML; } grid.querySelectorAll(‘li’).forEach(li => { li.dataset.postCardId = l.postCardId; }); if (!has_more) { togglePager(l, false); } else { togglePager(l, true); } if (window.FusionApp) { window.FusionApp.responsiveImages?.(grid); window.FusionApp.wowInit?.(grid); window.FusionApp.preloadImages?.(grid); } if (window.FusionEqualHeights?. _equalize) { window.FusionEqualHeights._equalize(l.wrapper); } } }) .catch(console.error); } Object.keys(loops).forEach(id => fetchGrid(id)); const cfg = document.querySelector(‘.filter-config’); if (!cfg) return; const postType = cfg.dataset.postType || ‘post’; const tagSlug = cfg.dataset.categoryFilterTag || »; const ajaxURLCat = ‘/wp-admin/admin-ajax.php’; const data = new FormData(); data.append(‘action’, ‘bc_get_filter_categories’); data.append(‘post_type’, postType); data.append(‘tag’, tagSlug); fetch(ajaxURLCat, { method:’POST’, credentials:’same-origin’, body:data }) .then(r => r.json()) .then(json => { if (!json.success) return; const nav = document.querySelector(‘.filters-wrapper nav’); const tplButton = nav.querySelector(‘.category-items’); json.data.forEach(({ slug, name }) => { if (nav.querySelector(`[data-category=»${slug}»]`)) return; const btn = tplButton.cloneNode(true); btn.classList.remove(‘active’); btn.dataset.category = slug; btn.dataset.filterActive = ‘false’; btn.querySelector(‘.text-button’).textContent = name; nav.appendChild(btn); }); window.catButtons = document.querySelectorAll(‘.category-items’); }) .catch(console.error); });

Lo más leído

  • Equipo de tres profesionales sonrientes mirando una computadora portátil en una oficina moderna, con elementos gráficos decorativos en amarillo y un ícono de crecimiento financiero en la esquina.

    Open Finance: Qué es, para qué sirve y cómo te beneficia

    El sistema financiero está viviendo una transformación profunda. Con la llegada de Open Finance o finanzas abiertas, las personas y empresas ahora pueden tener mayor control sobre su información financiera y acceder a productos y servicios más personalizados.

    .post-card > .fusion-column-wrapper{ box-shadow: none !important; } .post-card:hover > .fusion-column-wrapper{ box-shadow: 1px 1px 8px 0px #CBCCCC99 !important; } .image-post{ width: 100%; } .image-post img{ aspect-ratio: 324 / 232; width: 100%; object-fit: cover; object-position: center; } .category a[rel=»category tag»]{ font-weight: 600; line-height: 24px; } .text-desc p{ display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; text-overflow: ellipsis; overflow: hidden; } .text-desc{ margin-bottom: auto !important; } .meta-autor p{ font-weight: 600; color: #000; } .profile-photo{ overflow: visible; } .profile-photo img{ border-radius: 50%; aspect-ratio: 1 /1; box-shadow: 0px 0px 6px 0px #4343433D !important; border: 1px solid #DEDEDE; }
  • Tres profesionales sonrientes colaborando frente a una computadora portátil en una oficina moderna, con elementos gráficos en color verde y un ícono de verificación o confianza en la esquina.

    Open Data: Qué es, para qué sirve, cómo te beneficia

    Open Data, o Datos abiertos es un modelo que permite el intercambio de información entre empresas privadas, públicas y entidades gubernamentales sin limitarse a una industria. A diferencia de Open Banking y Open Finance, que se enfocan en la industria financiera, Open Data abarca múltiples industrias como salud, telecomunicaciones, comercio electrónico, transporte y más.

    .post-card > .fusion-column-wrapper{ box-shadow: none !important; } .post-card:hover > .fusion-column-wrapper{ box-shadow: 1px 1px 8px 0px #CBCCCC99 !important; } .image-post{ width: 100%; } .image-post img{ aspect-ratio: 324 / 232; width: 100%; object-fit: cover; object-position: center; } .category a[rel=»category tag»]{ font-weight: 600; line-height: 24px; } .text-desc p{ display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; text-overflow: ellipsis; overflow: hidden; } .text-desc{ margin-bottom: auto !important; } .meta-autor p{ font-weight: 600; color: #000; } .profile-photo{ overflow: visible; } .profile-photo img{ border-radius: 50%; aspect-ratio: 1 /1; box-shadow: 0px 0px 6px 0px #4343433D !important; border: 1px solid #DEDEDE; }
  • Tres profesionales sonrientes trabajando juntos frente a una computadora portátil en una oficina moderna, con elementos gráficos en color turquesa y un ícono de servicios financieros en la esquina.

    Open Banking: Qué es, para qué sirve y cómo te beneficia.

    Open Data, o Datos abiertos es un modelo que permite el intercambio de información entre empresas privadas, públicas y entidades gubernamentales sin limitarse a una industria. A diferencia de Open Banking y Open Finance, que se enfocan en la industria financiera, Open Data abarca múltiples industrias como salud, telecomunicaciones, comercio electrónico, transporte y más.

    .post-card > .fusion-column-wrapper{ box-shadow: none !important; } .post-card:hover > .fusion-column-wrapper{ box-shadow: 1px 1px 8px 0px #CBCCCC99 !important; } .image-post{ width: 100%; } .image-post img{ aspect-ratio: 324 / 232; width: 100%; object-fit: cover; object-position: center; } .category a[rel=»category tag»]{ font-weight: 600; line-height: 24px; } .text-desc p{ display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; text-overflow: ellipsis; overflow: hidden; } .text-desc{ margin-bottom: auto !important; } .meta-autor p{ font-weight: 600; color: #000; } .profile-photo{ overflow: visible; } .profile-photo img{ border-radius: 50%; aspect-ratio: 1 /1; box-shadow: 0px 0px 6px 0px #4343433D !important; border: 1px solid #DEDEDE; }

Lo más leído

  • Tres profesionales sonrientes colaborando frente a una computadora portátil en una oficina moderna, con elementos gráficos en color verde y un ícono de verificación o confianza en la esquina.

    Open Data: Qué es, para qué sirve, cómo te beneficia

    Open Data, o Datos abiertos es un modelo que permite el intercambio de información entre empresas privadas, públicas y entidades gubernamentales sin limitarse a una industria. A diferencia de Open Banking y Open Finance, que se enfocan en la industria financiera, Open Data abarca múltiples industrias como salud, telecomunicaciones, comercio electrónico, transporte y más.

    .post-card > .fusion-column-wrapper{ box-shadow: none !important; } .post-card:hover > .fusion-column-wrapper{ box-shadow: 1px 1px 8px 0px #CBCCCC99 !important; } .image-post{ width: 100%; } .image-post img{ aspect-ratio: 324 / 232; width: 100%; object-fit: cover; object-position: center; } .category a[rel=»category tag»]{ font-weight: 600; line-height: 24px; } .text-desc p{ display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; text-overflow: ellipsis; overflow: hidden; } .text-desc{ margin-bottom: auto !important; } .meta-autor p{ font-weight: 600; color: #000; } .profile-photo{ overflow: visible; } .profile-photo img{ border-radius: 50%; aspect-ratio: 1 /1; box-shadow: 0px 0px 6px 0px #4343433D !important; border: 1px solid #DEDEDE; }
  • Equipo de tres profesionales sonrientes mirando una computadora portátil en una oficina moderna, con elementos gráficos decorativos en amarillo y un ícono de crecimiento financiero en la esquina.

    Open Finance: Qué es, para qué sirve y cómo te beneficia

    El sistema financiero está viviendo una transformación profunda. Con la llegada de Open Finance o finanzas abiertas, las personas y empresas ahora pueden tener mayor control sobre su información financiera y acceder a productos y servicios más personalizados.

    .post-card > .fusion-column-wrapper{ box-shadow: none !important; } .post-card:hover > .fusion-column-wrapper{ box-shadow: 1px 1px 8px 0px #CBCCCC99 !important; } .image-post{ width: 100%; } .image-post img{ aspect-ratio: 324 / 232; width: 100%; object-fit: cover; object-position: center; } .category a[rel=»category tag»]{ font-weight: 600; line-height: 24px; } .text-desc p{ display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; text-overflow: ellipsis; overflow: hidden; } .text-desc{ margin-bottom: auto !important; } .meta-autor p{ font-weight: 600; color: #000; } .profile-photo{ overflow: visible; } .profile-photo img{ border-radius: 50%; aspect-ratio: 1 /1; box-shadow: 0px 0px 6px 0px #4343433D !important; border: 1px solid #DEDEDE; }
#form-column:has(form[data-status=»init»]) .thank-you-message { display: none !important; } #form-column:has(form[data-status=»sent»]) .form-title, #form-column:has(form[data-status=»sent»]) .form-desc, #form-column:has(form[data-status=»sent»]) .form-contact-wrapper { display: none !important; } .wpcf7-not-valid-tip { display: flex !important; gap: 4px; color: #E00016; font-weight: 500; list-style: none; padding-left: 0; direction: unset; } .wpcf7-not-valid-tip::before { content: «»; display: block; min-width: 16px; height: 16px; background: url(https://test.beecloud.me/wp-content/uploads/2025/08/error.webp); background-size: 16px; background-position: center; background-repeat: no-repeat; } form .custom_contact_form{ width: 100%; } form .fields{ display: grid; flex-direction: column; row-gap: 16px; column-gap: 16px; grid-template-columns: repeat(2, 1fr); } form .message-container, form .acceptance, form .sub_saction{ grid-column: span 2; } form .acceptance, form .sub_saction{ padding-top: 8px !important; margin: 0 !important; } form .custom_contact_form .field > p{ margin: 0; } form .custom_contact_form .field label{ color: #000; font-size: 14px; line-height: 20px; font-weight: 600; } form .custom_contact_form .field label .wpcf7-form-control-wrap{ margin: 4px 0 0; } .custom_contact_form label input, .custom_contact_form label select, .custom_contact_form label textarea { width: 100%; height: auto; font-size: 15px !important; padding: 11.5px 8px 8.5px !important; background: transparent !important; border-radius: 8px !important; border: 1px solid #CFCCD3 !important; color: #4D4851 !important; outline: none !important; } .custom_contact_form label input::placeholder, .custom_contact_form label textarea::placeholder, .custom_contact_form label select:placeholder{ color: #747575 !important; opacity: 1 !important; } .custom_contact_form input::-webkit-input-placeholder { color: #747575; opacity: 1; } .custom_contact_form input:-moz-placeholder { color: #747575; opacity: 1; } .custom_contact_form input::-moz-placeholder { color: #747575; opacity: 1; } .custom_contact_form input:-ms-input-placeholder { color: #747575; opacity: 1; } .custom_contact_form textarea::-webkit-input-placeholder { color: #747575; opacity: 1; } .custom_contact_form textarea:-moz-placeholder { color: #747575; opacity: 1; } .custom_contact_form textarea::-moz-placeholder { color: #747575; opacity: 1; } .custom_contact_form textarea:-ms-input-placeholder { color: #747575; opacity: 1; } .custom_contact_form label textarea{ min-height: 60px; field-sizing: content !important; max-height: 250px; } span[data-name=»terminos-y-condiciones»] label{ display: flex; gap: 4px; } span[data-name=»terminos-y-condiciones»] label input{ display: none; } span[data-name=»terminos-y-condiciones»] label::before { content: «»; display: block; min-width: 16px; height: 16px; margin: 4px; border: 1px solid #5B5C5C; border-radius: 2px; } span[data-name=»terminos-y-condiciones»]:has(input:checked) label::before { background: url(https://test.beecloud.me/wp-content/uploads/2025/07/Checkbox.webp); background-size: 18px; background-position: center; border: 1px solid #00AFAA; } span[data-name=»terminos-y-condiciones»] .wpcf7-list-item-label{ color: #000; margin: 0; font-size: 14px; line-height: 20px; } span[data-name=»terminos-y-condiciones»] .wpcf7-list-item-label a{ color: #007572 !important; } .submit > p{ display: flex; flex-direction: column; align-items: start; margin: 0; } .submit input.wpcf7-submit{ background-color: #FFB600 !important; border: 2px solid #FFB600 !important; border-radius: 50px; width: 100% !important; max-width: 262.5px; padding: 9.5px; font-size: 16px; line-height: 24px; font-weight: 600; } .submit input.wpcf7-submit[disabled]{ filter: saturate(0); } .submit input.wpcf7-submit:hover{ background-color: #FFC600 !important; border: 2px solid #FFC600 !important; } form select{ appearance: none !important; } form .wpcf7-form-control-wrap{ position: relative; } form .wpcf7-form-control-wrap:has(select)::after { content: «»; display: block; width: 24px; height: 24px; background: url(https://test.beecloud.me/wp-content/uploads/2025/05/Group.webp); background-size: 24px; transform: rotate(90deg); filter: grayscale(1) brightness(0); position: absolute; top: 9px; right: 8px !important; } form .wpcf7-form-control-wrap:has(select:focus)::after, form .wpcf7-form-control-wrap:has(select:focus-within)::after { transform: rotate(270deg); } .thank-you-message{ min-height: 643px !important; padding-inline: 60px; display: flex; flex-direction: column; justify-content: center; gap: 24px; } .thank-you-message .text-content{ display: flex; flex-direction: column; gap: 16px; } .thank-you-message .text-content h3, .thank-you-message .text-content p{ margin: 0; } @media(max-width: 767px){ form .fields .field{ grid-column: span 2; } .submit input.wpcf7-submit { max-width: 100% !important; } .thank-you-message{ min-height: 100dvh !important; padding-inline: 16px; } }

Contáctanos

Si tienes dudas completa tus datos y te contactaremos.

    Recibimos tu información con exito

    Nuestro equipo se pondrá en contacto pronto para resolver tus dudas.

    onlyNumbers = document.querySelectorAll(«.only-numbers»); for (var i = 0; i < onlyNumbers.length; i++) { onlyNumbers[i].addEventListener("input", function (e) { var t = e.target; var val = t.value; // 1) Quitar todo menos dígitos y puntos val = val.replace(/[^0-9.]/g, ""); // 2) Dejar solo el primer punto, eliminando los siguientes // (\..*) busca el primer punto y todo lo que viene tras él, // luego \. detecta otro punto y lo elimina val = val.replace(/(\..*)\./g, "$1"); // Actualizar el valor limpio t.value = val; }); }
    Mujer con una computadora

    Contenido relacionado

    tv-icon-logo

    E-book

    Descarga guías y material exclusivo para profundizar en temas estratégicos.

    aod
    .desc-final-cta p{ font-weight: 500; } .button-final-cta{ align-items: center; font-weight: 600 !important; } .button-final-cta i{ font-family: ‘flecha’ !important; margin-left: 10px !important; width: 16px; height: 16px; }
    whight-house

    Noticias

    Mantente al día con las noticias más relevantes de nuestra empresa y del sector.

    noticias