This template works with flexbox because the library conflicts with GRID.

The separation is in PX because the library works with PX, to change the GAP you must do it from Mansory code (line 48: gutter: 15). If you change the GAPs remember to modify the width of the Card block.

Remember to enable code execution

barlet@digiperia.com

Roaming Photo Booth

Formula 1 Miami Grand Prix: Ultra-Premium Activation Concepts for Luxury Brands

<?php

global $post;

// Obtén el ID del post actual
$post_id = $post->ID;
// Obtén el contenido del post
$post_content = get_post_field( 'post_content', $post_id );

// Calcula el tiempo de lectura estimado en minutos y segundos
$word_count = str_word_count( strip_tags( $post_content ) );
$reading_time_minutes = floor( $word_count / 200 );
$reading_time_seconds = ceil(($word_count / 200 - $reading_time_minutes) * 60);

// Muestra el tiempo de lectura estimado en minutos y segundos
echo '<p class="read_time">Reading Time: ' . $reading_time_minutes . ':' . $reading_time_seconds . ' min</p>';

?>

The roar of Formula 1 engines echoes through Miami’s sun-soaked streets, drawing the world’s elite to the Miami International Autodrome.…

View post
AI Photo Booth

The Business Show US Miami: How to Turn Booth Traffic into Qualified Leads

<?php

global $post;

// Obtén el ID del post actual
$post_id = $post->ID;
// Obtén el contenido del post
$post_content = get_post_field( 'post_content', $post_id );

// Calcula el tiempo de lectura estimado en minutos y segundos
$word_count = str_word_count( strip_tags( $post_content ) );
$reading_time_minutes = floor( $word_count / 200 );
$reading_time_seconds = ceil(($word_count / 200 - $reading_time_minutes) * 60);

// Muestra el tiempo de lectura estimado en minutos y segundos
echo '<p class="read_time">Reading Time: ' . $reading_time_minutes . ':' . $reading_time_seconds . ' min</p>';

?>

Trade shows like The Business Show US Miami are goldmines for networking and growth. Thousands of decision-makers flock to Miami…

View post

eMerge Americas 2026: Tech-Forward Photo Booth Ideas for Startups & Investors

<?php

global $post;

// Obtén el ID del post actual
$post_id = $post->ID;
// Obtén el contenido del post
$post_content = get_post_field( 'post_content', $post_id );

// Calcula el tiempo de lectura estimado en minutos y segundos
$word_count = str_word_count( strip_tags( $post_content ) );
$reading_time_minutes = floor( $word_count / 200 );
$reading_time_seconds = ceil(($word_count / 200 - $reading_time_minutes) * 60);

// Muestra el tiempo de lectura estimado en minutos y segundos
echo '<p class="read_time">Reading Time: ' . $reading_time_minutes . ':' . $reading_time_seconds . ' min</p>';

?>

eMerge Americas 2026 is set to be the ultimate gathering for tech innovators, startups, and investors in sunny Miami. Picture…

View post
Pantene’s Gold 360 Photo Booth Experience at TINI’s Concert: A Night of Glamour and Glow in Miami

Ultra Music Festival 2026: How to Design a Booth That Stands Out in a Sea of Brands

<?php

global $post;

// Obtén el ID del post actual
$post_id = $post->ID;
// Obtén el contenido del post
$post_content = get_post_field( 'post_content', $post_id );

// Calcula el tiempo de lectura estimado en minutos y segundos
$word_count = str_word_count( strip_tags( $post_content ) );
$reading_time_minutes = floor( $word_count / 200 );
$reading_time_seconds = ceil(($word_count / 200 - $reading_time_minutes) * 60);

// Muestra el tiempo de lectura estimado en minutos y segundos
echo '<p class="read_time">Reading Time: ' . $reading_time_minutes . ':' . $reading_time_seconds . ' min</p>';

?>

Heading to Ultra Music Festival 2026 in Miami? With thousands of ravers, brands, and activations competing for attention, your booth…

View post
Roaming Photo Booth

Miami Open Tennis 2026: Premium Photo Experiences for Global Sports Brands

<?php

global $post;

// Obtén el ID del post actual
$post_id = $post->ID;
// Obtén el contenido del post
$post_content = get_post_field( 'post_content', $post_id );

// Calcula el tiempo de lectura estimado en minutos y segundos
$word_count = str_word_count( strip_tags( $post_content ) );
$reading_time_minutes = floor( $word_count / 200 );
$reading_time_seconds = ceil(($word_count / 200 - $reading_time_minutes) * 60);

// Muestra el tiempo de lectura estimado en minutos y segundos
echo '<p class="read_time">Reading Time: ' . $reading_time_minutes . ':' . $reading_time_seconds . ' min</p>';

?>

The Miami Open Tennis 2026 is set to light up Hard Rock Stadium from March 19 to April 6, drawing…

View post
GIF Booth

Jazz in the Gardens & Winter Party Festival: High-Energy Booth Concepts That Go Viral

<?php

global $post;

// Obtén el ID del post actual
$post_id = $post->ID;
// Obtén el contenido del post
$post_content = get_post_field( 'post_content', $post_id );

// Calcula el tiempo de lectura estimado en minutos y segundos
$word_count = str_word_count( strip_tags( $post_content ) );
$reading_time_minutes = floor( $word_count / 200 );
$reading_time_seconds = ceil(($word_count / 200 - $reading_time_minutes) * 60);

// Muestra el tiempo de lectura estimado en minutos y segundos
echo '<p class="read_time">Reading Time: ' . $reading_time_minutes . ':' . $reading_time_seconds . ' min</p>';

?>

Miami’s festival scene pulses with energy, and events like Jazz in the Gardens and Winter Party Festival set the bar…

View post
Virtual Background

Carnaval Miami Season: How to Create Shareable Cultural Brand Moments

<?php

global $post;

// Obtén el ID del post actual
$post_id = $post->ID;
// Obtén el contenido del post
$post_content = get_post_field( 'post_content', $post_id );

// Calcula el tiempo de lectura estimado en minutos y segundos
$word_count = str_word_count( strip_tags( $post_content ) );
$reading_time_minutes = floor( $word_count / 200 );
$reading_time_seconds = ceil(($word_count / 200 - $reading_time_minutes) * 60);

// Muestra el tiempo de lectura estimado en minutos y segundos
echo '<p class="read_time">Reading Time: ' . $reading_time_minutes . ':' . $reading_time_seconds . ' min</p>';

?>

Every spring, the streets of Miami come alive with music, color, and contagious energy. Carnaval Miami isn’t just a celebration…

View post
Selfie Booth Experience

Interactive vs Passive Activations: Why Guests Gravitate Toward Booths

<?php

global $post;

// Obtén el ID del post actual
$post_id = $post->ID;
// Obtén el contenido del post
$post_content = get_post_field( 'post_content', $post_id );

// Calcula el tiempo de lectura estimado en minutos y segundos
$word_count = str_word_count( strip_tags( $post_content ) );
$reading_time_minutes = floor( $word_count / 200 );
$reading_time_seconds = ceil(($word_count / 200 - $reading_time_minutes) * 60);

// Muestra el tiempo de lectura estimado en minutos y segundos
echo '<p class="read_time">Reading Time: ' . $reading_time_minutes . ':' . $reading_time_seconds . ' min</p>';

?>

Event activations come in all shapes and sizes, but not all grab attention the same way. Passive setups like static…

View post
Custom Trading Card

Luxury Brand Activations in Miami: How Photo & AI Booths Elevate High-End Events

<?php

global $post;

// Obtén el ID del post actual
$post_id = $post->ID;
// Obtén el contenido del post
$post_content = get_post_field( 'post_content', $post_id );

// Calcula el tiempo de lectura estimado en minutos y segundos
$word_count = str_word_count( strip_tags( $post_content ) );
$reading_time_minutes = floor( $word_count / 200 );
$reading_time_seconds = ceil(($word_count / 200 - $reading_time_minutes) * 60);

// Muestra el tiempo de lectura estimado en minutos y segundos
echo '<p class="read_time">Reading Time: ' . $reading_time_minutes . ':' . $reading_time_seconds . ' min</p>';

?>

Luxury events in Miami are more than just gatherings they’re immersive experiences designed to capture attention, spark emotion, and strengthen…

View post
<script src="https://unpkg.com/masonry-layout@4/dist/masonry.pkgd.min.js"></script>



<script>
  
// Selecciona el elemento HTML que quieres observar
const targetElement = document.querySelector('.fb-masonry');

// Opciones de la observación
const observerOptions = {
  childList: true, // Observar cambios en los hijos del elemento
  subtree: true    // Observar todos los niveles de hijos
};

// Función de devolución de llamada para cuando se detecten cambios
const callback = function(mutationsList, observer) {
    for(const mutation of mutationsList) {
        if (mutation.type === 'childList') {
            // Vuelve a ejecutar el script de Masonry cuando se añadan o eliminen elementos
            executeMasonryScript();
        }
    }
};

// Crear una instancia del MutationObserver con la función de devolución de llamada
const observer = new MutationObserver(callback);

// Comienza a observar el elemento target con las opciones dadas
observer.observe(targetElement, observerOptions);

// Función para ejecutar el script de Masonry
function executeMasonryScript() {
    const grid = document.querySelector('.fb-masonry');
    const masonry = new Masonry(grid, {
        itemSelector: '.fb-pcard-one',
        columnWidth: '.fb-pcard-one',
        gutter: 15, // Espacio entre elementos
    });
}

// Ejecutar el script de Masonry al inicio
executeMasonryScript();

  
</script>
<script>
  /*Source: https://github.com/Krzysztof-Antosik/Two-direction-Sticky-Sidebar*/
  
  // Verificar el ancho de pantalla al cargar y redimensionar
  function checkScreenWidth() {
    if (window.innerWidth <= 767) {
      // Si la pantalla es menor o igual a 676px, no ejecutar el código
      return;
    }

    const stickyElement = document.querySelector('.fb-sidebar__aside');
    const startPosition = stickyElement.getBoundingClientRect().top;

    let endScroll = window.innerHeight - stickyElement.offsetHeight - 500;
    let currPos = window.scrollY;
    let screenHeight = window.innerHeight;
    let stickyElementHeight = stickyElement.offsetHeight;
    let topGap = 40;
    let bottomGap = 40;

    setTimeout(() => {
      if (stickyElement.hasAttribute('data-top-gap')) {
        const dataTopGap = stickyElement.getAttribute('data-top-gap');
        topGap = dataTopGap === 'auto' ? startPosition : parseInt(dataTopGap);
      }

      if (stickyElement.hasAttribute('data-bottom-gap')) {
        bottomGap = parseInt(stickyElement.getAttribute('data-bottom-gap'));
      }
    }, 100);

    stickyElement.style.position = 'sticky';
    stickyElement.style.top = `${topGap}px`;
    stickyElement.style.height = 'fit-content';

    function positionStickySidebar() {
      endScroll = window.innerHeight - stickyElement.offsetHeight - bottomGap;
      const stickyElementTop = parseInt(stickyElement.style.top.replace('px', ''));

      if (stickyElementHeight + topGap + bottomGap > screenHeight) {
        if (window.scrollY < currPos) {
          if (stickyElementTop < topGap) {
            stickyElement.style.top = `${stickyElementTop + currPos - window.scrollY}px`;
          } else if (stickyElementTop >= topGap && stickyElementTop !== topGap) {
            stickyElement.style.top = `${topGap}px`;
          }
        } else {
          if (stickyElementTop > endScroll) {
            stickyElement.style.top = `${stickyElementTop + currPos - window.scrollY}px`;
          } else if (stickyElementTop < endScroll && stickyElementTop !== endScroll) {
            stickyElement.style.top = `${endScroll}px`;
          }
        }
      } else {
        stickyElement.style.top = `${topGap}px`;
      }
      currPos = window.scrollY;
    }

    function stickyElementToMe() {
      stickyElement.style.top = `${topGap}px`;
    }

    function updateSticky() {
      screenHeight = window.innerHeight;
      stickyElementHeight = stickyElement.offsetHeight;
      positionStickySidebar();
    }

    setTimeout(() => {
      window.addEventListener('resize', () => {
        currPos = window.scrollY;
        updateSticky();
      });

      document.addEventListener('scroll', updateSticky, {
        capture: true,
        passive: true
      });
    }, 1000);
  }

  // Verificar el ancho de pantalla al cargar y redimensionar
  window.addEventListener('load', checkScreenWidth);
  window.addEventListener('resize', checkScreenWidth);
</script>