{"id":6,"date":"2026-07-17T09:31:07","date_gmt":"2026-07-17T09:31:07","guid":{"rendered":"https:\/\/pablobeer.it\/?page_id=6"},"modified":"2026-09-12T17:26:06","modified_gmt":"2026-09-12T15:26:06","slug":"home","status":"publish","type":"page","link":"https:\/\/pablobeer.it\/en\/","title":{"rendered":"Home"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"6\" class=\"elementor elementor-6\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6fde86f e-flex e-con-boxed e-con e-parent\" data-id=\"6fde86f\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-71c0012 animated-fast elementor-invisible elementor-widget elementor-widget-image\" data-id=\"71c0012\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;zoomIn&quot;,&quot;motion_fx_motion_fx_mouse&quot;:&quot;yes&quot;,&quot;motion_fx_mouseTrack_effect&quot;:&quot;yes&quot;,&quot;motion_fx_mouseTrack_speed&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:0.1,&quot;sizes&quot;:[]}}\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"#info\">\n\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"397\" height=\"162\" src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/logo-pablo-beer_001.svg\" class=\"attachment-large size-large wp-image-21\" alt=\"Pablo Beer\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-27b4b95 animated-fast elementor-invisible elementor-widget elementor-widget-image\" data-id=\"27b4b95\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;xpro_elementor_floating_fx_translate_toggle&quot;:&quot;yes&quot;,&quot;xpro_elementor_floating_fx_translate_x&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:{&quot;from&quot;:0,&quot;to&quot;:5}},&quot;xpro_elementor_floating_fx_translate_y&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:{&quot;from&quot;:0,&quot;to&quot;:10}},&quot;_animation&quot;:&quot;zoomIn&quot;,&quot;_animation_delay&quot;:400,&quot;xpro_elementor_floating_fx&quot;:&quot;yes&quot;,&quot;xpro_elementor_floating_fx_translate_duration&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:1000,&quot;sizes&quot;:[]},&quot;xpro_elementor_floating_fx_translate_delay&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"#info\">\n\t\t\t\t\t\t\t<img decoding=\"async\" width=\"800\" height=\"673\" src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/marchio-pablo-beer_001.webp\" class=\"elementor-animation-grow attachment-large size-large wp-image-36\" alt=\"Illustrazione dell&apos;ippopotamo, marchio di Pablo Beer\" srcset=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/marchio-pablo-beer_001.webp 1024w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/marchio-pablo-beer_001-300x252.webp 300w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/marchio-pablo-beer_001-768x646.webp 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1c69bd9 e-flex e-con-boxed e-con e-parent\" data-id=\"1c69bd9\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9814e68 elementor-widget elementor-widget-menu-anchor\" data-id=\"9814e68\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"menu-anchor.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-menu-anchor\" id=\"info\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b3f822c elementor-widget elementor-widget-image\" data-id=\"b3f822c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"288\" height=\"35\" src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/decor_01.svg\" class=\"attachment-large size-large wp-image-86\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d3225a3 e-flex e-con-boxed e-con e-parent\" data-id=\"d3225a3\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-b9cda58 e-con-full e-flex e-con e-child\" data-id=\"b9cda58\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e4ca067 elementor-widget elementor-widget-heading\" data-id=\"e4ca067\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">prima birra al mondo<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3fcd930 elementor-widget__width-initial elementor-widget-tablet__width-initial elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"3fcd930\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeIn&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Pablo Beer<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-048003c elementor-widget__width-initial elementor-invisible elementor-widget elementor-widget-text-editor\" data-id=\"048003c\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>La birra Pablo \u00e8 prodotta con piante di coca, con una marcia in pi\u00f9. Utilizzando foglie di coca importate dal Per\u00f9, abbiamo creato una birra a bassa gradazione alcolica (3,5% VOL) per dare energia alla tua giornata, alla tua serata o alla tua notte. Una birra rinfrescante con un effetto stimolante delicato ma percepibile, a basso contenuto calorico e senza zuccheri. <\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-aa922ed e-con-full e-flex elementor-invisible e-con e-child\" data-id=\"aa922ed\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeInUp&quot;,&quot;animation_delay&quot;:800}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e8501d9 elementor-widget elementor-widget-heading\" data-id=\"e8501d9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">3,5% alc. vol<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-23d0825 elementor-widget elementor-widget-heading\" data-id=\"23d0825\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">no sugar<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1d76e0f elementor-widget elementor-widget-heading\" data-id=\"1d76e0f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">low carbs<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-30b8405 elementor-widget elementor-widget-heading\" data-id=\"30b8405\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">coca leaves<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8643c64 elementor-widget elementor-widget-menu-anchor\" data-id=\"8643c64\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"menu-anchor.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-menu-anchor\" id=\"win\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-24cff47 e-con-full e-flex e-con e-child\" data-id=\"24cff47\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-694e32c elementor-widget__width-initial elementor-absolute animated-slow elementor-invisible elementor-widget elementor-widget-video\" data-id=\"694e32c\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;video_type&quot;:&quot;hosted&quot;,&quot;show_image_overlay&quot;:&quot;yes&quot;,&quot;image_overlay&quot;:{&quot;url&quot;:&quot;https:\\\/\\\/pablobeer.it\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/video_spot-pablo.png&quot;,&quot;id&quot;:704,&quot;size&quot;:&quot;&quot;,&quot;alt&quot;:&quot;&quot;,&quot;source&quot;:&quot;library&quot;},&quot;lightbox&quot;:&quot;yes&quot;,&quot;_position&quot;:&quot;absolute&quot;,&quot;_animation&quot;:&quot;bounceIn&quot;,&quot;_animation_delay&quot;:600,&quot;controls&quot;:&quot;yes&quot;}\" data-widget_type=\"video.default\">\n\t\t\t\t\t\t\t<div class=\"e-hosted-video elementor-wrapper elementor-open-lightbox\">\n\t\t\t\t\t\t\t<div class=\"elementor-custom-embed-image-overlay\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox=\"{&quot;type&quot;:&quot;video&quot;,&quot;videoType&quot;:&quot;hosted&quot;,&quot;url&quot;:&quot;https:\\\/\\\/pablobeer.it\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/WhatsApp-Video-2026-08-24-at-13.06.35.mp4&quot;,&quot;autoplay&quot;:&quot;&quot;,&quot;modalOptions&quot;:{&quot;id&quot;:&quot;elementor-lightbox-694e32c&quot;,&quot;entranceAnimation&quot;:&quot;&quot;,&quot;entranceAnimation_tablet&quot;:&quot;&quot;,&quot;entranceAnimation_mobile&quot;:&quot;&quot;,&quot;videoAspectRatio&quot;:&quot;169&quot;},&quot;videoParams&quot;:{&quot;controls&quot;:&quot;&quot;,&quot;preload&quot;:&quot;auto&quot;,&quot;controlsList&quot;:&quot;nodownload&quot;}}\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJ0eXBlIjoidmlkZW8iLCJ2aWRlb1R5cGUiOiJob3N0ZWQiLCJ1cmwiOiJodHRwczpcL1wvcGFibG9iZWVyLml0XC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wOVwvV2hhdHNBcHAtVmlkZW8tMjAyNi0wOC0yNC1hdC0xMy4wNi4zNS5tcDQiLCJhdXRvcGxheSI6IiIsIm1vZGFsT3B0aW9ucyI6eyJpZCI6ImVsZW1lbnRvci1saWdodGJveC02OTRlMzJjIiwiZW50cmFuY2VBbmltYXRpb24iOiIiLCJlbnRyYW5jZUFuaW1hdGlvbl90YWJsZXQiOiIiLCJlbnRyYW5jZUFuaW1hdGlvbl9tb2JpbGUiOiIiLCJ2aWRlb0FzcGVjdFJhdGlvIjoiMTY5In0sInZpZGVvUGFyYW1zIjp7ImNvbnRyb2xzIjoiIiwicHJlbG9hZCI6ImF1dG8iLCJjb250cm9sc0xpc3QiOiJub2Rvd25sb2FkIn19\">\n\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"100\" height=\"100\" src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/09\/video_spot-pablo.png\" class=\"attachment-thumbnail size-thumbnail wp-image-704\" alt=\"\" srcset=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/09\/video_spot-pablo.png 100w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/09\/video_spot-pablo-12x12.png 12w\" sizes=\"(max-width: 100px) 100vw, 100px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-custom-embed-play\" role=\"button\" aria-label=\"Riproduci video\" tabindex=\"0\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"xi xi-play\"><\/i>\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7674d1c e-transform elementor-invisible elementor-widget elementor-widget-image\" data-id=\"7674d1c\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;xpro_elementor_floating_fx&quot;:&quot;yes&quot;,&quot;xpro_elementor_floating_fx_scale_toggle&quot;:&quot;yes&quot;,&quot;xpro_elementor_floating_fx_scale_z&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:{&quot;from&quot;:1,&quot;to&quot;:1.1}},&quot;xpro_elementor_floating_fx_scale_duration&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:3700,&quot;sizes&quot;:[]},&quot;_animation&quot;:&quot;zoomIn&quot;,&quot;motion_fx_motion_fx_scrolling&quot;:&quot;yes&quot;,&quot;xpro_elementor_floating_fx_scale_delay&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;motion_fx_devices&quot;:[&quot;desktop&quot;,&quot;tablet&quot;,&quot;mobile&quot;],&quot;_transform_rotateZ_effect&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_rotateZ_effect_tablet&quot;:{&quot;unit&quot;:&quot;deg&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_rotateZ_effect_mobile&quot;:{&quot;unit&quot;:&quot;deg&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"#win\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"586\" height=\"1024\" src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/lattina-pablo-beer-586x1024.webp\" class=\"elementor-animation-grow attachment-large size-large wp-image-75\" alt=\"Lattina nera di Pablo Beer con la scritta PABLO in rosso e l&apos;ippopotamo\" srcset=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/lattina-pablo-beer-586x1024.webp 586w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/lattina-pablo-beer-172x300.webp 172w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/lattina-pablo-beer.webp 732w\" sizes=\"(max-width: 586px) 100vw, 586px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e59030f e-flex e-con-boxed e-con e-parent\" data-id=\"e59030f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-c1343e7 e-con-full e-flex e-con e-child\" data-id=\"c1343e7\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e423c5c elementor-widget elementor-widget-heading\" data-id=\"e423c5c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Concorso FOTOGRAFICO pablo beer<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7f5c8d4 elementor-widget__width-initial elementor-widget-tablet__width-initial elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"7f5c8d4\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeIn&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">PABLOBEER immagini &amp; sensazioni<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-af79e78 elementor-widget__width-initial elementor-invisible elementor-widget elementor-widget-text-editor\" data-id=\"af79e78\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>In gioco un corso di fotografia subacquea alle Isole Tremiti. Ti serve una foto e una sensazione da raccontare.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0ef4027 elementor-widget__width-initial elementor-invisible elementor-widget elementor-widget-text-editor\" data-id=\"0ef4027\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;,&quot;_animation_delay&quot;:500}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>1 &ndash; Scatta la tua foto: la lattina deve essere nell&#8217;inquadratura.<br \/>2 &ndash; Caricala in JPG o PNG.<br \/>3 &ndash; Descrivi in poche righe la tua sensazione.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b5fa0f4 elementor-widget__width-initial elementor-invisible elementor-widget elementor-widget-text-editor\" data-id=\"b5fa0f4\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;,&quot;_animation_delay&quot;:1000}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p><strong>I premi:<\/strong> un corso di fotografia subacquea alle Isole Tremiti per i 5 autori migliori, la maglietta autografata da Jeremy Vermolen &ndash; l&#8217;inventore della ricetta &ndash; ai primi 50 in classifica, e una visita guidata al birrificio per il locale da cui arrivano piu foto.<\/p><p>Dal 1&deg; agosto al 15 dicembre 2026. Partecipazione gratuita, riservata ai maggiorenni. Le foto sono selezionate da una giuria, che sceglie anche le vincitrici.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1f3aa32 elementor-align-right elementor-invisible elementor-widget elementor-widget-button\" data-id=\"1f3aa32\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInLeft&quot;,&quot;_animation_delay&quot;:800}\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/pablobeer.it\/en\/regolamento-del-concorso-fotografico-pablobeer\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"xi xi-long-arrow-right\"><\/i>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Leggi il regolamento<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a78ef14 e-con-full e-flex e-con e-child\" data-id=\"a78ef14\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f6df1a2 elementor-widget__width-initial animated-fast elementor-button-align-stretch elementor-invisible elementor-widget elementor-widget-form\" data-id=\"f6df1a2\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;step_next_label&quot;:&quot;Next&quot;,&quot;step_previous_label&quot;:&quot;Previous&quot;,&quot;_animation&quot;:&quot;zoomIn&quot;,&quot;button_width&quot;:&quot;100&quot;,&quot;step_type&quot;:&quot;number_text&quot;,&quot;step_icon_shape&quot;:&quot;circle&quot;}\" data-widget_type=\"form.default\">\n\t\t\t\t\t\t\t<form class=\"elementor-form\" method=\"post\" name=\"Concorso PabloBeer - invio foto\" aria-label=\"Concorso PabloBeer - invio foto\">\n\t\t\t<input type=\"hidden\" name=\"post_id\" value=\"6\"\/>\n\t\t\t<input type=\"hidden\" name=\"form_id\" value=\"f6df1a2\"\/>\n\t\t\t<input type=\"hidden\" name=\"referer_title\" value=\"Birra Pablo \u2014 Pablo Beer, la birra alle foglie di coca\" \/>\n\n\t\t\t\t\t\t\t<input type=\"hidden\" name=\"queried_id\" value=\"6\"\/>\n\t\t\t\n\t\t\t<div class=\"elementor-form-fields-wrapper elementor-labels-above\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-text elementor-field-group elementor-column elementor-field-group-nome_cognome elementor-col-50 elementor-field-required elementor-mark-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-nome_cognome\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tNome e cognome\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"text\" name=\"form_fields[nome_cognome]\" id=\"form-field-nome_cognome\" class=\"elementor-field elementor-size-sm  elementor-field-textual\" placeholder=\"Nome e cognome\" required=\"required\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-email elementor-field-group elementor-column elementor-field-group-email elementor-col-50 elementor-field-required elementor-mark-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-email\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tEmail\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"email\" name=\"form_fields[email]\" id=\"form-field-email\" class=\"elementor-field elementor-size-sm  elementor-field-textual\" placeholder=\"La tua email\" required=\"required\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-tel elementor-field-group elementor-column elementor-field-group-telefono elementor-col-50\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-telefono\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tTelefono (facoltativo)\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t<input size=\"1\" type=\"tel\" name=\"form_fields[telefono]\" id=\"form-field-telefono\" class=\"elementor-field elementor-size-sm  elementor-field-textual\" placeholder=\"Telefono\" pattern=\"[0-9()#&amp;+*-=.]+\" title=\"Only numbers and phone characters (#, -, *, etc) are accepted.\">\n\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-date elementor-field-group elementor-column elementor-field-group-data_scatto elementor-col-50\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-data_scatto\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tData dello scatto\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\n\t\t<input type=\"date\" name=\"form_fields[data_scatto]\" id=\"form-field-data_scatto\" class=\"elementor-field elementor-size-sm  elementor-field-textual elementor-date-field\" pattern=\"[0-9]{4}-[0-9]{2}-[0-9]{2}\">\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-text elementor-field-group elementor-column elementor-field-group-luogo elementor-col-50\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-luogo\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tLuogo dello scatto\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"text\" name=\"form_fields[luogo]\" id=\"form-field-luogo\" class=\"elementor-field elementor-size-sm  elementor-field-textual\" placeholder=\"Citta e provincia\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-text elementor-field-group elementor-column elementor-field-group-locale elementor-col-50\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-locale\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tNome del locale, se hai scattato in un bar o ristorante\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"text\" name=\"form_fields[locale]\" id=\"form-field-locale\" class=\"elementor-field elementor-size-sm  elementor-field-textual\" placeholder=\"Nome del locale (facoltativo)\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-textarea elementor-field-group elementor-column elementor-field-group-sensazione elementor-col-100 elementor-field-required elementor-mark-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-sensazione\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tDescrivi in poche righe la tua sensazione\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t<textarea class=\"elementor-field-textual elementor-field  elementor-size-sm\" name=\"form_fields[sensazione]\" id=\"form-field-sensazione\" rows=\"4\" placeholder=\"Che sensazione ti ha dato?\" required=\"required\"><\/textarea>\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-upload elementor-field-group elementor-column elementor-field-group-foto elementor-col-100 elementor-field-required elementor-mark-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-foto\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tLa tua foto: JPG o PNG, massimo 8 MB\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t<input type=\"file\" name=\"form_fields[foto]\" id=\"form-field-foto\" class=\"elementor-field elementor-size-sm  elementor-upload-field\" required=\"required\" data-maxsize=\"8\" data-maxsize-message=\"This file exceeds the maximum allowed size.\">\n\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-acceptance elementor-field-group elementor-column elementor-field-group-accettazione elementor-col-100 elementor-field-required elementor-mark-required\">\n\t\t\t\t\t\t\t<div class=\"elementor-field-subgroup\">\n\t\t\t<span class=\"elementor-field-option\">\n\t\t\t\t<input type=\"checkbox\" name=\"form_fields[accettazione]\" id=\"form-field-accettazione\" class=\"elementor-field elementor-size-sm  elementor-acceptance-field\" required=\"required\">\n\t\t\t\t<label for=\"form-field-accettazione\">Dichiaro di essere maggiorenne e di essere l&rsquo;unico autore della foto che invio, che &egrave; originale, non viola diritti di terzi e che ho ottenuto le liberatorie necessarie per le persone ritratte e per i luoghi privati fotografati. Accetto il <a href=\"\/regolamento-del-concorso-fotografico-pablobeer\/\" target=\"_blank\" rel=\"noopener\">regolamento del concorso<\/a> e concedo all&rsquo;organizzatore la licenza d&rsquo;uso ivi descritta. Ho letto l&rsquo;<a href=\"\/privacy-policy\/\" target=\"_blank\" rel=\"noopener\">informativa privacy<\/a>.<\/label>\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-text\">\n\t\t\t\t\t<input size=\"1\" type=\"text\" name=\"form_fields[pb_controllo]\" id=\"form-field-pb_controllo\" class=\"elementor-field elementor-size-sm \" style=\"display:none !important;\">\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-group elementor-column elementor-field-type-submit elementor-col-100 e-form__buttons\">\n\t\t\t\t\t<button class=\"elementor-button elementor-size-lg\" type=\"submit\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Invia la tua foto<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/button>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/form>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6e73997 e-flex e-con-boxed e-con e-parent\" data-id=\"6e73997\" data-element_type=\"container\" data-e-type=\"container\" id=\"splash-demo\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-400b10e elementor-widget elementor-widget-image\" data-id=\"400b10e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"288\" height=\"35\" src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/decor_01.svg\" class=\"attachment-large size-large wp-image-86\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0cc94cf elementor-widget elementor-widget-xpro-simple-gallery\" data-id=\"0cc94cf\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;item_per_row&quot;:4,&quot;item_height&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:423,&quot;sizes&quot;:[]},&quot;item_height_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:480,&quot;sizes&quot;:[]},&quot;item_per_row_tablet&quot;:2,&quot;item_per_row_mobile&quot;:1,&quot;item_height_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;margin&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:15,&quot;sizes&quot;:[]},&quot;margin_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:15,&quot;sizes&quot;:[]},&quot;margin_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:15,&quot;sizes&quot;:[]},&quot;popup&quot;:&quot;1&quot;,&quot;thumbnail&quot;:&quot;yes&quot;,&quot;thumbnail_by_default&quot;:&quot;yes&quot;,&quot;share&quot;:&quot;yes&quot;,&quot;download&quot;:&quot;yes&quot;,&quot;hover_effect&quot;:&quot;zoom&quot;}\" data-widget_type=\"xpro-simple-gallery.default\">\n\t\t\t\t\t \n<div class=\"xpro-elementor-gallery xpro-elementor-gallery-layout-grid\">\n\n\t\n\t<!-- Main Gallery -->\n\t<div class=\"pluginResize xpro-elementor-gallery-wrapper cbp\">\n\n\t\t\n\t\t\t<!--Item-->\n\t\t\t<div class=\"cbp-item xpro-elementor-gallery-item filter-1\">\n\t\t\t\t<div class=\"cbp-caption\">\n\t\t\t\t\t<div class=\"cbp-caption-defaultWrap\">\n\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"941\" height=\"1672\" src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/09\/roberto_2026-09-06-at-13.25.10.webp\" class=\"attachment-full size-full\" alt=\"\" srcset=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/09\/roberto_2026-09-06-at-13.25.10.webp 941w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/09\/roberto_2026-09-06-at-13.25.10-169x300.webp 169w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/09\/roberto_2026-09-06-at-13.25.10-576x1024.webp 576w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/09\/roberto_2026-09-06-at-13.25.10-768x1365.webp 768w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/09\/roberto_2026-09-06-at-13.25.10-864x1536.webp 864w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/09\/roberto_2026-09-06-at-13.25.10-7x12.webp 7w\" sizes=\"(max-width: 941px) 100vw, 941px\" \/>\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"cbp-caption-activeWrap\">\n\t\t\t\t\t\t<div class=\"cbp-l-caption-alignCenter\" data-xpro-lightbox data-src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/09\/roberto_2026-09-06-at-13.25.10.webp\">\n\t\t\t\t\t\t\t<!-- Overlay -->\n\t\t\t\t\t\t\t<div class=\"cbp-l-caption-body\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<!-- Icon -->\n\t\t\t\t\t\t\t\t\t<span class=\"xpro-overlay-icon\">\n\t\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"xi xi-plus\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\n\t\t\n\t\t\t<!--Item-->\n\t\t\t<div class=\"cbp-item xpro-elementor-gallery-item filter-1\">\n\t\t\t\t<div class=\"cbp-caption\">\n\t\t\t\t\t<div class=\"cbp-caption-defaultWrap\">\n\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"1365\" src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/08\/pablo_roberto_001.webp\" class=\"attachment-full size-full\" alt=\"Primo piano di una lattina di birra Pablo Beer con grafica dell&#039;ippopotamo, riflessa sulla ringhiera di una barca con ponte in teak e paesaggio marittimo sullo sfondo.\" srcset=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/08\/pablo_roberto_001.webp 768w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/08\/pablo_roberto_001-169x300.webp 169w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/08\/pablo_roberto_001-576x1024.webp 576w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/08\/pablo_roberto_001-7x12.webp 7w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"cbp-caption-activeWrap\">\n\t\t\t\t\t\t<div class=\"cbp-l-caption-alignCenter\" data-xpro-lightbox data-src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/08\/pablo_roberto_001.webp\">\n\t\t\t\t\t\t\t<!-- Overlay -->\n\t\t\t\t\t\t\t<div class=\"cbp-l-caption-body\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<!-- Icon -->\n\t\t\t\t\t\t\t\t\t<span class=\"xpro-overlay-icon\">\n\t\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"xi xi-plus\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\n\t\t\n\t\t\t<!--Item-->\n\t\t\t<div class=\"cbp-item xpro-elementor-gallery-item filter-1\">\n\t\t\t\t<div class=\"cbp-caption\">\n\t\t\t\t\t<div class=\"cbp-caption-defaultWrap\">\n\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"960\" height=\"1280\" src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/maglietta-pablo_01.webp\" class=\"attachment-full size-full\" alt=\"Ragazza seduta sugli scogli in riva al mare con la t-shirt nera Pablo Beer\" srcset=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/maglietta-pablo_01.webp 960w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/maglietta-pablo_01-225x300.webp 225w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/maglietta-pablo_01-768x1024.webp 768w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/maglietta-pablo_01-9x12.webp 9w\" sizes=\"(max-width: 960px) 100vw, 960px\" \/>\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"cbp-caption-activeWrap\">\n\t\t\t\t\t\t<div class=\"cbp-l-caption-alignCenter\" data-xpro-lightbox data-src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/maglietta-pablo_01.webp\">\n\t\t\t\t\t\t\t<!-- Overlay -->\n\t\t\t\t\t\t\t<div class=\"cbp-l-caption-body\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<!-- Icon -->\n\t\t\t\t\t\t\t\t\t<span class=\"xpro-overlay-icon\">\n\t\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"xi xi-plus\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\n\t\t\n\t\t\t<!--Item-->\n\t\t\t<div class=\"cbp-item xpro-elementor-gallery-item filter-1\">\n\t\t\t\t<div class=\"cbp-caption\">\n\t\t\t\t\t<div class=\"cbp-caption-defaultWrap\">\n\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"1136\" src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17849081772582575-l.jpg\" class=\"attachment-full size-full\" alt=\"Sala illuminata di rosso durante una serata Pablo Beer\" srcset=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17849081772582575-l.jpg 640w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17849081772582575-l-169x300.jpg 169w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17849081772582575-l-577x1024.jpg 577w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/>\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"cbp-caption-activeWrap\">\n\t\t\t\t\t\t<div class=\"cbp-l-caption-alignCenter\" data-xpro-lightbox data-src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17849081772582575-l.jpg\">\n\t\t\t\t\t\t\t<!-- Overlay -->\n\t\t\t\t\t\t\t<div class=\"cbp-l-caption-body\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<!-- Icon -->\n\t\t\t\t\t\t\t\t\t<span class=\"xpro-overlay-icon\">\n\t\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"xi xi-plus\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\n\t\t\n\t\t\t<!--Item-->\n\t\t\t<div class=\"cbp-item xpro-elementor-gallery-item filter-1\">\n\t\t\t\t<div class=\"cbp-caption\">\n\t\t\t\t\t<div class=\"cbp-caption-defaultWrap\">\n\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"880\" height=\"1216\" src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/pablobeer.it_01.webp\" class=\"attachment-full size-full\" alt=\"Selfie su una terrazza con lo skyline di Los Angeles: ragazza con felpa Pablo Beer che mostra la lattina\" srcset=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/pablobeer.it_01.webp 880w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/pablobeer.it_01-217x300.webp 217w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/pablobeer.it_01-741x1024.webp 741w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/pablobeer.it_01-768x1061.webp 768w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/pablobeer.it_01-9x12.webp 9w\" sizes=\"(max-width: 880px) 100vw, 880px\" \/>\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"cbp-caption-activeWrap\">\n\t\t\t\t\t\t<div class=\"cbp-l-caption-alignCenter\" data-xpro-lightbox data-src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/pablobeer.it_01.webp\">\n\t\t\t\t\t\t\t<!-- Overlay -->\n\t\t\t\t\t\t\t<div class=\"cbp-l-caption-body\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<!-- Icon -->\n\t\t\t\t\t\t\t\t\t<span class=\"xpro-overlay-icon\">\n\t\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"xi xi-plus\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\n\t\t\n\t\t\t<!--Item-->\n\t\t\t<div class=\"cbp-item xpro-elementor-gallery-item filter-1\">\n\t\t\t\t<div class=\"cbp-caption\">\n\t\t\t\t\t<div class=\"cbp-caption-defaultWrap\">\n\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"1136\" src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17850442218647723-l.jpg\" class=\"attachment-full size-full\" alt=\"Scatto notturno dentro un locale durante un evento Pablo Beer\" srcset=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17850442218647723-l.jpg 640w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17850442218647723-l-169x300.jpg 169w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17850442218647723-l-577x1024.jpg 577w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/>\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"cbp-caption-activeWrap\">\n\t\t\t\t\t\t<div class=\"cbp-l-caption-alignCenter\" data-xpro-lightbox data-src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17850442218647723-l.jpg\">\n\t\t\t\t\t\t\t<!-- Overlay -->\n\t\t\t\t\t\t\t<div class=\"cbp-l-caption-body\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<!-- Icon -->\n\t\t\t\t\t\t\t\t\t<span class=\"xpro-overlay-icon\">\n\t\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"xi xi-plus\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\n\t\t\n\t\t\t<!--Item-->\n\t\t\t<div class=\"cbp-item xpro-elementor-gallery-item filter-1\">\n\t\t\t\t<div class=\"cbp-caption\">\n\t\t\t\t\t<div class=\"cbp-caption-defaultWrap\">\n\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1279\" src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17859723303615682-l.jpg\" class=\"attachment-full size-full\" alt=\"Dj set visto dal pubblico, con un fascio di luce rossa sulla console\" srcset=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17859723303615682-l.jpg 1024w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17859723303615682-l-240x300.jpg 240w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17859723303615682-l-820x1024.jpg 820w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17859723303615682-l-768x959.jpg 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/>\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"cbp-caption-activeWrap\">\n\t\t\t\t\t\t<div class=\"cbp-l-caption-alignCenter\" data-xpro-lightbox data-src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17859723303615682-l.jpg\">\n\t\t\t\t\t\t\t<!-- Overlay -->\n\t\t\t\t\t\t\t<div class=\"cbp-l-caption-body\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<!-- Icon -->\n\t\t\t\t\t\t\t\t\t<span class=\"xpro-overlay-icon\">\n\t\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"xi xi-plus\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\n\t\t\n\t\t\t<!--Item-->\n\t\t\t<div class=\"cbp-item xpro-elementor-gallery-item filter-1\">\n\t\t\t\t<div class=\"cbp-caption\">\n\t\t\t\t\t<div class=\"cbp-caption-defaultWrap\">\n\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"1136\" src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17863677834517511-l.jpg\" class=\"attachment-full size-full\" alt=\"Interno di un negozio di abbigliamento ripreso con effetto videocamera anni Novanta\" srcset=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17863677834517511-l.jpg 640w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17863677834517511-l-169x300.jpg 169w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17863677834517511-l-577x1024.jpg 577w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/>\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"cbp-caption-activeWrap\">\n\t\t\t\t\t\t<div class=\"cbp-l-caption-alignCenter\" data-xpro-lightbox data-src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17863677834517511-l.jpg\">\n\t\t\t\t\t\t\t<!-- Overlay -->\n\t\t\t\t\t\t\t<div class=\"cbp-l-caption-body\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<!-- Icon -->\n\t\t\t\t\t\t\t\t\t<span class=\"xpro-overlay-icon\">\n\t\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"xi xi-plus\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\n\t\t\n\t\t\t<!--Item-->\n\t\t\t<div class=\"cbp-item xpro-elementor-gallery-item filter-1\">\n\t\t\t\t<div class=\"cbp-caption\">\n\t\t\t\t\t<div class=\"cbp-caption-defaultWrap\">\n\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"1136\" src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17866598868503107-l.jpg\" class=\"attachment-full size-full\" alt=\"Ragazzo seduto a un tavolo all&#039;aperto con due lattine di birra Pablo Beer\" srcset=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17866598868503107-l.jpg 640w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17866598868503107-l-169x300.jpg 169w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17866598868503107-l-577x1024.jpg 577w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/>\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"cbp-caption-activeWrap\">\n\t\t\t\t\t\t<div class=\"cbp-l-caption-alignCenter\" data-xpro-lightbox data-src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17866598868503107-l.jpg\">\n\t\t\t\t\t\t\t<!-- Overlay -->\n\t\t\t\t\t\t\t<div class=\"cbp-l-caption-body\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<!-- Icon -->\n\t\t\t\t\t\t\t\t\t<span class=\"xpro-overlay-icon\">\n\t\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"xi xi-plus\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\n\t\t\n\t\t\t<!--Item-->\n\t\t\t<div class=\"cbp-item xpro-elementor-gallery-item filter-1\">\n\t\t\t\t<div class=\"cbp-caption\">\n\t\t\t\t\t<div class=\"cbp-caption-defaultWrap\">\n\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1365\" src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17873844684373681-l.jpg\" class=\"attachment-full size-full\" alt=\"Lattina di birra Pablo Beer nascosta dentro un libro scavato\" srcset=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17873844684373681-l.jpg 1024w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17873844684373681-l-225x300.jpg 225w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17873844684373681-l-768x1024.jpg 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/>\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"cbp-caption-activeWrap\">\n\t\t\t\t\t\t<div class=\"cbp-l-caption-alignCenter\" data-xpro-lightbox data-src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17873844684373681-l.jpg\">\n\t\t\t\t\t\t\t<!-- Overlay -->\n\t\t\t\t\t\t\t<div class=\"cbp-l-caption-body\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<!-- Icon -->\n\t\t\t\t\t\t\t\t\t<span class=\"xpro-overlay-icon\">\n\t\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"xi xi-plus\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\n\t\t\n\t\t\t<!--Item-->\n\t\t\t<div class=\"cbp-item xpro-elementor-gallery-item filter-1\">\n\t\t\t\t<div class=\"cbp-caption\">\n\t\t\t\t\t<div class=\"cbp-caption-defaultWrap\">\n\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"1136\" src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17878721439463232-l.jpg\" class=\"attachment-full size-full\" alt=\"Ragazzo a un concerto con una lattina di birra Pablo Beer in equilibrio sul cappellino\" srcset=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17878721439463232-l.jpg 640w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17878721439463232-l-169x300.jpg 169w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17878721439463232-l-577x1024.jpg 577w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/>\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"cbp-caption-activeWrap\">\n\t\t\t\t\t\t<div class=\"cbp-l-caption-alignCenter\" data-xpro-lightbox data-src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17878721439463232-l.jpg\">\n\t\t\t\t\t\t\t<!-- Overlay -->\n\t\t\t\t\t\t\t<div class=\"cbp-l-caption-body\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<!-- Icon -->\n\t\t\t\t\t\t\t\t\t<span class=\"xpro-overlay-icon\">\n\t\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"xi xi-plus\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\n\t\t\n\t\t\t<!--Item-->\n\t\t\t<div class=\"cbp-item xpro-elementor-gallery-item filter-1\">\n\t\t\t\t<div class=\"cbp-caption\">\n\t\t\t\t\t<div class=\"cbp-caption-defaultWrap\">\n\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"1136\" src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17974021151990436-l.jpg\" class=\"attachment-full size-full\" alt=\"Uomo sorridente davanti a un furgone bianco carico di confezioni di Pablo Beer\" srcset=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17974021151990436-l.jpg 640w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17974021151990436-l-169x300.jpg 169w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17974021151990436-l-577x1024.jpg 577w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/>\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"cbp-caption-activeWrap\">\n\t\t\t\t\t\t<div class=\"cbp-l-caption-alignCenter\" data-xpro-lightbox data-src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17974021151990436-l.jpg\">\n\t\t\t\t\t\t\t<!-- Overlay -->\n\t\t\t\t\t\t\t<div class=\"cbp-l-caption-body\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<!-- Icon -->\n\t\t\t\t\t\t\t\t\t<span class=\"xpro-overlay-icon\">\n\t\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"xi xi-plus\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\n\t\t\n\t\t\t<!--Item-->\n\t\t\t<div class=\"cbp-item xpro-elementor-gallery-item filter-1\">\n\t\t\t\t<div class=\"cbp-caption\">\n\t\t\t\t\t<div class=\"cbp-caption-defaultWrap\">\n\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1365\" src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17974156718973268-l.jpg\" class=\"attachment-full size-full\" alt=\"Dj che beve una lattina di birra Pablo Beer alla console durante un evento in negozio\" srcset=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17974156718973268-l.jpg 1024w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17974156718973268-l-225x300.jpg 225w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17974156718973268-l-768x1024.jpg 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/>\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"cbp-caption-activeWrap\">\n\t\t\t\t\t\t<div class=\"cbp-l-caption-alignCenter\" data-xpro-lightbox data-src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17974156718973268-l.jpg\">\n\t\t\t\t\t\t\t<!-- Overlay -->\n\t\t\t\t\t\t\t<div class=\"cbp-l-caption-body\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<!-- Icon -->\n\t\t\t\t\t\t\t\t\t<span class=\"xpro-overlay-icon\">\n\t\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"xi xi-plus\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\n\t\t\n\t\t\t<!--Item-->\n\t\t\t<div class=\"cbp-item xpro-elementor-gallery-item filter-1\">\n\t\t\t\t<div class=\"cbp-caption\">\n\t\t\t\t\t<div class=\"cbp-caption-defaultWrap\">\n\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"1136\" src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17995882949732571-l.jpg\" class=\"attachment-full size-full\" alt=\"Ragazza che stappa due bottiglie in un garage\" srcset=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17995882949732571-l.jpg 640w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17995882949732571-l-169x300.jpg 169w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17995882949732571-l-577x1024.jpg 577w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/>\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"cbp-caption-activeWrap\">\n\t\t\t\t\t\t<div class=\"cbp-l-caption-alignCenter\" data-xpro-lightbox data-src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/17995882949732571-l.jpg\">\n\t\t\t\t\t\t\t<!-- Overlay -->\n\t\t\t\t\t\t\t<div class=\"cbp-l-caption-body\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<!-- Icon -->\n\t\t\t\t\t\t\t\t\t<span class=\"xpro-overlay-icon\">\n\t\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"xi xi-plus\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\n\t\t\n\t\t\t<!--Item-->\n\t\t\t<div class=\"cbp-item xpro-elementor-gallery-item filter-1\">\n\t\t\t\t<div class=\"cbp-caption\">\n\t\t\t\t\t<div class=\"cbp-caption-defaultWrap\">\n\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"1136\" src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/18068284565307125-l.jpg\" class=\"attachment-full size-full\" alt=\"Micropipetta che dosa un liquido in bottigliette da laboratorio durante i test della ricetta\" srcset=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/18068284565307125-l.jpg 640w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/18068284565307125-l-169x300.jpg 169w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/18068284565307125-l-577x1024.jpg 577w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/>\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"cbp-caption-activeWrap\">\n\t\t\t\t\t\t<div class=\"cbp-l-caption-alignCenter\" data-xpro-lightbox data-src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/18068284565307125-l.jpg\">\n\t\t\t\t\t\t\t<!-- Overlay -->\n\t\t\t\t\t\t\t<div class=\"cbp-l-caption-body\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<!-- Icon -->\n\t\t\t\t\t\t\t\t\t<span class=\"xpro-overlay-icon\">\n\t\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"xi xi-plus\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\n\t\t\n\t\t\t<!--Item-->\n\t\t\t<div class=\"cbp-item xpro-elementor-gallery-item filter-1\">\n\t\t\t\t<div class=\"cbp-caption\">\n\t\t\t\t\t<div class=\"cbp-caption-defaultWrap\">\n\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"1136\" src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/18086247422173194-l.jpg\" class=\"attachment-full size-full\" alt=\"Uomo con felpa nera che parla in camera davanti a una parete di piante\" srcset=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/18086247422173194-l.jpg 640w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/18086247422173194-l-169x300.jpg 169w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/18086247422173194-l-577x1024.jpg 577w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/>\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"cbp-caption-activeWrap\">\n\t\t\t\t\t\t<div class=\"cbp-l-caption-alignCenter\" data-xpro-lightbox data-src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/18086247422173194-l.jpg\">\n\t\t\t\t\t\t\t<!-- Overlay -->\n\t\t\t\t\t\t\t<div class=\"cbp-l-caption-body\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<!-- Icon -->\n\t\t\t\t\t\t\t\t\t<span class=\"xpro-overlay-icon\">\n\t\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"xi xi-plus\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\n\t\t\n\t\t\t<!--Item-->\n\t\t\t<div class=\"cbp-item xpro-elementor-gallery-item filter-1\">\n\t\t\t\t<div class=\"cbp-caption\">\n\t\t\t\t\t<div class=\"cbp-caption-defaultWrap\">\n\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1280\" src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/18095749651810806-l.jpg\" class=\"attachment-full size-full\" alt=\"Lattina di birra Pablo Beer illuminata di rosso tra le foglie di una pianta\" srcset=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/18095749651810806-l.jpg 1024w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/18095749651810806-l-240x300.jpg 240w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/18095749651810806-l-819x1024.jpg 819w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/18095749651810806-l-768x960.jpg 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/>\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"cbp-caption-activeWrap\">\n\t\t\t\t\t\t<div class=\"cbp-l-caption-alignCenter\" data-xpro-lightbox data-src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/18095749651810806-l.jpg\">\n\t\t\t\t\t\t\t<!-- Overlay -->\n\t\t\t\t\t\t\t<div class=\"cbp-l-caption-body\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<!-- Icon -->\n\t\t\t\t\t\t\t\t\t<span class=\"xpro-overlay-icon\">\n\t\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"xi xi-plus\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\n\t\t\n\t\t\t<!--Item-->\n\t\t\t<div class=\"cbp-item xpro-elementor-gallery-item filter-1\">\n\t\t\t\t<div class=\"cbp-caption\">\n\t\t\t\t\t<div class=\"cbp-caption-defaultWrap\">\n\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"1136\" src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/18098669047695461-l.jpg\" class=\"attachment-full size-full\" alt=\"Ragazzo con una lattina di birra Pablo Beer dentro un container illuminato di rosso\" srcset=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/18098669047695461-l.jpg 640w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/18098669047695461-l-169x300.jpg 169w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/18098669047695461-l-577x1024.jpg 577w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/>\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"cbp-caption-activeWrap\">\n\t\t\t\t\t\t<div class=\"cbp-l-caption-alignCenter\" data-xpro-lightbox data-src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/18098669047695461-l.jpg\">\n\t\t\t\t\t\t\t<!-- Overlay -->\n\t\t\t\t\t\t\t<div class=\"cbp-l-caption-body\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<!-- Icon -->\n\t\t\t\t\t\t\t\t\t<span class=\"xpro-overlay-icon\">\n\t\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"xi xi-plus\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\n\t\t\n\t\t\t<!--Item-->\n\t\t\t<div class=\"cbp-item xpro-elementor-gallery-item filter-1\">\n\t\t\t\t<div class=\"cbp-caption\">\n\t\t\t\t\t<div class=\"cbp-caption-defaultWrap\">\n\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1820\" src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/18106760056844308-l.jpg\" class=\"attachment-full size-full\" alt=\"Due ragazzi seduti su un divano con le lattine di birra Pablo Beer in mano\" srcset=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/18106760056844308-l.jpg 1024w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/18106760056844308-l-169x300.jpg 169w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/18106760056844308-l-576x1024.jpg 576w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/18106760056844308-l-768x1365.jpg 768w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/18106760056844308-l-864x1536.jpg 864w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/>\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"cbp-caption-activeWrap\">\n\t\t\t\t\t\t<div class=\"cbp-l-caption-alignCenter\" data-xpro-lightbox data-src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/18106760056844308-l.jpg\">\n\t\t\t\t\t\t\t<!-- Overlay -->\n\t\t\t\t\t\t\t<div class=\"cbp-l-caption-body\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<!-- Icon -->\n\t\t\t\t\t\t\t\t\t<span class=\"xpro-overlay-icon\">\n\t\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"xi xi-plus\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\n\t\t\n\t\t\t<!--Item-->\n\t\t\t<div class=\"cbp-item xpro-elementor-gallery-item filter-1\">\n\t\t\t\t<div class=\"cbp-caption\">\n\t\t\t\t\t<div class=\"cbp-caption-defaultWrap\">\n\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"1136\" src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/18107851264702343-l.jpg\" class=\"attachment-full size-full\" alt=\"Tre ragazze con le lattine di birra Pablo Beer in un locale illuminato al neon\" srcset=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/18107851264702343-l.jpg 640w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/18107851264702343-l-169x300.jpg 169w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/18107851264702343-l-577x1024.jpg 577w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/>\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"cbp-caption-activeWrap\">\n\t\t\t\t\t\t<div class=\"cbp-l-caption-alignCenter\" data-xpro-lightbox data-src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/18107851264702343-l.jpg\">\n\t\t\t\t\t\t\t<!-- Overlay -->\n\t\t\t\t\t\t\t<div class=\"cbp-l-caption-body\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<!-- Icon -->\n\t\t\t\t\t\t\t\t\t<span class=\"xpro-overlay-icon\">\n\t\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"xi xi-plus\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\n\t\t\n\t\t\t<!--Item-->\n\t\t\t<div class=\"cbp-item xpro-elementor-gallery-item filter-1\">\n\t\t\t\t<div class=\"cbp-caption\">\n\t\t\t\t\t<div class=\"cbp-caption-defaultWrap\">\n\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"1136\" src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/18160709695392602-l.jpg\" class=\"attachment-full size-full\" alt=\"Ragazzo sorridente con la t-shirt Pablo Beer e una lattina in mano\" srcset=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/18160709695392602-l.jpg 640w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/18160709695392602-l-169x300.jpg 169w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/18160709695392602-l-577x1024.jpg 577w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/>\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"cbp-caption-activeWrap\">\n\t\t\t\t\t\t<div class=\"cbp-l-caption-alignCenter\" data-xpro-lightbox data-src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/18160709695392602-l.jpg\">\n\t\t\t\t\t\t\t<!-- Overlay -->\n\t\t\t\t\t\t\t<div class=\"cbp-l-caption-body\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<!-- Icon -->\n\t\t\t\t\t\t\t\t\t<span class=\"xpro-overlay-icon\">\n\t\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"xi xi-plus\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\n\t\t\n\t\t\t<!--Item-->\n\t\t\t<div class=\"cbp-item xpro-elementor-gallery-item filter-1\">\n\t\t\t\t<div class=\"cbp-caption\">\n\t\t\t\t\t<div class=\"cbp-caption-defaultWrap\">\n\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1365\" src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/18330855163244077-l.jpg\" class=\"attachment-full size-full\" alt=\"Lattina di birra Pablo Beer al posto dell&#039;imbottitura di un orsacchiotto di peluche\" srcset=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/18330855163244077-l.jpg 1024w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/18330855163244077-l-225x300.jpg 225w, https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/18330855163244077-l-768x1024.jpg 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/>\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"cbp-caption-activeWrap\">\n\t\t\t\t\t\t<div class=\"cbp-l-caption-alignCenter\" data-xpro-lightbox data-src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/18330855163244077-l.jpg\">\n\t\t\t\t\t\t\t<!-- Overlay -->\n\t\t\t\t\t\t\t<div class=\"cbp-l-caption-body\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<!-- Icon -->\n\t\t\t\t\t\t\t\t\t<span class=\"xpro-overlay-icon\">\n\t\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"xi xi-plus\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\n\t\t\n\t<\/div>\n\n<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bac9275 elementor-widget elementor-widget-html\" data-id=\"bac9275\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t\n\n<!-- Il canvas lo crea lo script: nessun markup statico, cosi non resta un overlay a\n     tutto schermo nei casi in cui l'effetto esce prima (touch, reduced-motion, WebGL assente). -->\n\n<script>\n(function () {\n  'use strict';\n\n  \/* ----------------------- CONFIGURAZIONE ----------------------- *\/\n  var CONFIG = {\n    COLOR: '#9f0000',        \/\/ colore dello splash (esadecimale) \u2014 il rosso scuro della demo\n    PALETTE: [],             \/\/ es. ['#9f0000','#e63946','#ffb703'] = colori casuali della tua palette (sovrascrive COLOR)\n    RAINBOW_MODE: false,     \/\/ true = colori casuali arcobaleno (ignora COLOR e PALETTE)\n    TARGET_SELECTOR: '#splash-demo',     \/\/ vuoto = effetto su TUTTA la pagina; es. '#splash-demo' = solo dentro quell'elemento\n    COLOR_INTENSITY: 0.15,   \/\/ intensita del colore 0-1: alza a 0.3-0.5 se la traccia e troppo tenue\n    SIM_RESOLUTION: 128,     \/\/ risoluzione simulazione fluidi (piu alta = piu dettaglio, piu carico)\n    DYE_RESOLUTION: 1440,    \/\/ risoluzione del \"colorante\" (abbassa a 1024\/512 su mobile lento)\n    DENSITY_DISSIPATION: 3.5,\/\/ quanto velocemente la traccia svanisce (piu alto = svanisce prima)\n    VELOCITY_DISSIPATION: 2, \/\/ smorzamento della velocita del fluido\n    PRESSURE: 0.1,\n    PRESSURE_ITERATIONS: 20,\n    CURL: 3,                 \/\/ turbolenza\/vortici\n    SPLAT_RADIUS: 0.2,       \/\/ dimensione dello splash\n    SPLAT_FORCE: 6000,       \/\/ forza dello splash col movimento\n    SHADING: true,           \/\/ effetto 3D\/ombreggiatura\n    COLOR_UPDATE_SPEED: 10,\n    Z_INDEX: 999999,         \/\/ livello del canvas sopra il resto della pagina\n    SKIP_TOUCH: true,        \/\/ true = niente effetto al tocco: segue il mouse, su telefono non aggiunge nulla\n    MIN_WIDTH: 768,          \/\/ sotto questa larghezza in px l'effetto non parte\n    PAUSE_OFFSCREEN: true    \/\/ true = ferma il disegno quando la galleria non e in vista (batteria)\n  };\n  \/* --------------------------------------------------------------- *\/\n\n  \/\/ Accessibilita: disattiva l'effetto se l'utente preferisce ridurre le animazioni\n  \/\/ (rimuovi questo blocco se vuoi l'effetto sempre attivo)\n  if (window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches) return;\n\n  \/\/ Touch e schermi stretti: l'effetto segue il mouse, quindi al tocco non aggiunge\n  \/\/ nulla, e in verticale la sezione galleria diventa altissima (375x11104 px su un\n  \/\/ telefono, rapporto 1:29). La texture richiesta cresce con quel rapporto e supera\n  \/\/ MAX_TEXTURE_SIZE: non disegnerebbe niente e il ciclo girerebbe a vuoto bruciando\n  \/\/ batteria. Meglio non partire affatto.\n  if (CONFIG.SKIP_TOUCH && window.matchMedia && window.matchMedia('(pointer: coarse)').matches) return;\n  if (CONFIG.MIN_WIDTH && window.innerWidth < CONFIG.MIN_WIDTH) return;\n\n  \/\/ Gestione istanze multiple \/ ri-render di Elementor nell'editor:\n  \/\/ solo l'ultima istanza inizializzata resta attiva.\n  window.__splashCursorRun = (window.__splashCursorRun || 0) + 1;\n  var runId = window.__splashCursorRun;\n\n  if (window.__splashCursorHandlers) {\n    var prevH = window.__splashCursorHandlers;\n    var prevT = prevH.target || window;\n    prevT.removeEventListener('mousedown', prevH.down);\n    prevT.removeEventListener('mousemove', prevH.move);\n    prevT.removeEventListener('touchstart', prevH.tstart);\n    prevT.removeEventListener('touchmove', prevH.tmove);\n    prevT.removeEventListener('touchend', prevH.tend);\n  }\n\n  \/\/ Rimuove un'eventuale istanza precedente (es. re-render dell'editor di Elementor)\n  var oldWrap = document.getElementById('splash-cursor-wrap');\n  if (oldWrap && oldWrap.parentNode) oldWrap.parentNode.removeChild(oldWrap);\n\n  \/\/ Modalita': sezione specifica (TARGET_SELECTOR) oppure tutta la pagina\n  var targetEl = null;\n  var sectionMode = false;\n  if (CONFIG.TARGET_SELECTOR) {\n    try { targetEl = document.querySelector(CONFIG.TARGET_SELECTOR); } catch (e) { targetEl = null; }\n    if (targetEl) {\n      sectionMode = true;\n      if (getComputedStyle(targetEl).position === 'static') targetEl.style.position = 'relative';\n    } else {\n      console.warn('[SplashCursor] bersaglio \"' + CONFIG.TARGET_SELECTOR + '\" non trovato: uso tutta la pagina');\n    }\n  }\n\n  \/\/ Il canvas viene creato dallo script stesso: funziona ovunque venga incollato\n  \/\/ (nota: la variabile si chiama \"container\" per non confliggere con la funzione wrap())\n  var container = document.createElement('div');\n  container.id = 'splash-cursor-wrap';\n  if (sectionMode) {\n    \/\/ Limitato alla sezione: il canvas scorre con la pagina e resta dentro l'elemento\n    container.style.cssText = 'position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden;';\n    targetEl.appendChild(container);\n  } else {\n    container.style.cssText = 'position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;';\n    document.body.appendChild(container);\n  }\n  container.style.zIndex = String(CONFIG.Z_INDEX);\n  var canvas = document.createElement('canvas');\n  canvas.id = 'splash-cursor-canvas';\n  canvas.style.cssText = 'width:100%;height:100%;display:block;';\n  container.appendChild(canvas);\n\n  \/\/ Eventi sul bersaglio (sezione) o sull'intera finestra\n  var eventTarget = sectionMode ? targetEl : window;\n  function eventPos(e) {\n    if (!sectionMode) return { x: e.clientX, y: e.clientY };\n    var rect = targetEl.getBoundingClientRect();\n    return { x: e.clientX - rect.left, y: e.clientY - rect.top };\n  }\n\n  var animationFrameId = null;\n\n  function pointerPrototype() {\n    this.id = -1;\n    this.texcoordX = 0;\n    this.texcoordY = 0;\n    this.prevTexcoordX = 0;\n    this.prevTexcoordY = 0;\n    this.deltaX = 0;\n    this.deltaY = 0;\n    this.down = false;\n    this.moved = false;\n    this.color = [0, 0, 0];\n  }\n\n  var config = {\n    SIM_RESOLUTION: CONFIG.SIM_RESOLUTION,\n    DYE_RESOLUTION: CONFIG.DYE_RESOLUTION,\n    DENSITY_DISSIPATION: CONFIG.DENSITY_DISSIPATION,\n    VELOCITY_DISSIPATION: CONFIG.VELOCITY_DISSIPATION,\n    PRESSURE: CONFIG.PRESSURE,\n    PRESSURE_ITERATIONS: CONFIG.PRESSURE_ITERATIONS,\n    CURL: CONFIG.CURL,\n    SPLAT_RADIUS: CONFIG.SPLAT_RADIUS,\n    SPLAT_FORCE: CONFIG.SPLAT_FORCE,\n    SHADING: CONFIG.SHADING,\n    COLOR_UPDATE_SPEED: CONFIG.COLOR_UPDATE_SPEED,\n    PAUSED: false,\n    RAINBOW_MODE: CONFIG.RAINBOW_MODE,\n    COLOR: CONFIG.COLOR,\n    PALETTE: CONFIG.PALETTE,\n    TARGET_SELECTOR: CONFIG.TARGET_SELECTOR,\n    COLOR_INTENSITY: CONFIG.COLOR_INTENSITY\n  };\n\n  var pointers = [new pointerPrototype()];\n\n  var ctxResult = getWebGLContext(canvas);\n  var gl = ctxResult.gl;\n  var ext = ctxResult.ext;\n  if (!gl) return; \/\/ WebGL non disponibile: esce senza errori\n\n  if (!ext.supportLinearFiltering) {\n    config.DYE_RESOLUTION = 256;\n    config.SHADING = false;\n  }\n\n  function getWebGLContext(canvas) {\n    var params = {\n      alpha: true,\n      depth: false,\n      stencil: false,\n      antialias: false,\n      preserveDrawingBuffer: false\n    };\n    var gl = canvas.getContext('webgl2', params);\n    var isWebGL2 = !!gl;\n    if (!isWebGL2) gl = canvas.getContext('webgl', params) || canvas.getContext('experimental-webgl', params);\n    if (!gl) return { gl: null, ext: null };\n\n    var halfFloat;\n    var supportLinearFiltering;\n    if (isWebGL2) {\n      gl.getExtension('EXT_color_buffer_float');\n      supportLinearFiltering = gl.getExtension('OES_texture_float_linear');\n    } else {\n      halfFloat = gl.getExtension('OES_texture_half_float');\n      supportLinearFiltering = gl.getExtension('OES_texture_half_float_linear');\n    }\n    gl.clearColor(0.0, 0.0, 0.0, 1.0);\n\n    var halfFloatTexType = isWebGL2 ? gl.HALF_FLOAT : halfFloat && halfFloat.HALF_FLOAT_OES;\n    var formatRGBA;\n    var formatRG;\n    var formatR;\n\n    if (isWebGL2) {\n      formatRGBA = getSupportedFormat(gl, gl.RGBA16F, gl.RGBA, halfFloatTexType);\n      formatRG = getSupportedFormat(gl, gl.RG16F, gl.RG, halfFloatTexType);\n      formatR = getSupportedFormat(gl, gl.R16F, gl.RED, halfFloatTexType);\n    } else {\n      formatRGBA = getSupportedFormat(gl, gl.RGBA, gl.RGBA, halfFloatTexType);\n      formatRG = getSupportedFormat(gl, gl.RGBA, gl.RGBA, halfFloatTexType);\n      formatR = getSupportedFormat(gl, gl.RGBA, gl.RGBA, halfFloatTexType);\n    }\n\n    return {\n      gl: gl,\n      ext: {\n        formatRGBA: formatRGBA,\n        formatRG: formatRG,\n        formatR: formatR,\n        halfFloatTexType: halfFloatTexType,\n        supportLinearFiltering: supportLinearFiltering\n      }\n    };\n  }\n\n  function getSupportedFormat(gl, internalFormat, format, type) {\n    if (!supportRenderTextureFormat(gl, internalFormat, format, type)) {\n      switch (internalFormat) {\n        case gl.R16F:\n          return getSupportedFormat(gl, gl.RG16F, gl.RG, type);\n        case gl.RG16F:\n          return getSupportedFormat(gl, gl.RGBA16F, gl.RGBA, type);\n        default:\n          return null;\n      }\n    }\n    return { internalFormat: internalFormat, format: format };\n  }\n\n  function supportRenderTextureFormat(gl, internalFormat, format, type) {\n    var texture = gl.createTexture();\n    gl.bindTexture(gl.TEXTURE_2D, texture);\n    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);\n    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);\n    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n    gl.texImage2D(gl.TEXTURE_2D, 0, internalFormat, 4, 4, 0, format, type, null);\n    var fbo = gl.createFramebuffer();\n    gl.bindFramebuffer(gl.FRAMEBUFFER, fbo);\n    gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, texture, 0);\n    var status = gl.checkFramebufferStatus(gl.FRAMEBUFFER);\n    return status === gl.FRAMEBUFFER_COMPLETE;\n  }\n\n  var Material = (function () {\n    function Material(vertexShader, fragmentShaderSource) {\n      this.vertexShader = vertexShader;\n      this.fragmentShaderSource = fragmentShaderSource;\n      this.programs = [];\n      this.activeProgram = null;\n      this.uniforms = [];\n    }\n    Material.prototype.setKeywords = function (keywords) {\n      var hash = 0;\n      for (var i = 0; i < keywords.length; i++) hash += hashCode(keywords[i]);\n      var program = this.programs[hash];\n      if (program == null) {\n        var fragmentShader = compileShader(gl.FRAGMENT_SHADER, this.fragmentShaderSource, keywords);\n        program = createProgram(this.vertexShader, fragmentShader);\n        this.programs[hash] = program;\n      }\n      if (program === this.activeProgram) return;\n      this.uniforms = getUniforms(program);\n      this.activeProgram = program;\n    };\n    Material.prototype.bind = function () {\n      gl.useProgram(this.activeProgram);\n    };\n    return Material;\n  })();\n\n  var Program = (function () {\n    function Program(vertexShader, fragmentShader) {\n      this.uniforms = {};\n      this.program = createProgram(vertexShader, fragmentShader);\n      this.uniforms = getUniforms(this.program);\n    }\n    Program.prototype.bind = function () {\n      gl.useProgram(this.program);\n    };\n    return Program;\n  })();\n\n  function createProgram(vertexShader, fragmentShader) {\n    var program = gl.createProgram();\n    gl.attachShader(program, vertexShader);\n    gl.attachShader(program, fragmentShader);\n    gl.linkProgram(program);\n    if (!gl.getProgramParameter(program, gl.LINK_STATUS)) console.trace(gl.getProgramInfoLog(program));\n    return program;\n  }\n\n  function getUniforms(program) {\n    var uniforms = [];\n    var uniformCount = gl.getProgramParameter(program, gl.ACTIVE_UNIFORMS);\n    for (var i = 0; i < uniformCount; i++) {\n      var uniformName = gl.getActiveUniform(program, i).name;\n      uniforms[uniformName] = gl.getUniformLocation(program, uniformName);\n    }\n    return uniforms;\n  }\n\n  function compileShader(type, source, keywords) {\n    source = addKeywords(source, keywords);\n    var shader = gl.createShader(type);\n    gl.shaderSource(shader, source);\n    gl.compileShader(shader);\n    if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) console.trace(gl.getShaderInfoLog(shader));\n    return shader;\n  }\n\n  function addKeywords(source, keywords) {\n    if (!keywords) return source;\n    var keywordsString = '';\n    keywords.forEach(function (keyword) {\n      keywordsString += '#define ' + keyword + '\\n';\n    });\n    return keywordsString + source;\n  }\n\n  var baseVertexShader = compileShader(\n    gl.VERTEX_SHADER,\n    `\n      precision highp float;\n      attribute vec2 aPosition;\n      varying vec2 vUv;\n      varying vec2 vL;\n      varying vec2 vR;\n      varying vec2 vT;\n      varying vec2 vB;\n      uniform vec2 texelSize;\n\n      void main () {\n          vUv = aPosition * 0.5 + 0.5;\n          vL = vUv - vec2(texelSize.x, 0.0);\n          vR = vUv + vec2(texelSize.x, 0.0);\n          vT = vUv + vec2(0.0, texelSize.y);\n          vB = vUv - vec2(0.0, texelSize.y);\n          gl_Position = vec4(aPosition, 0.0, 1.0);\n      }\n    `\n  );\n\n  var copyShader = compileShader(\n    gl.FRAGMENT_SHADER,\n    `\n      precision mediump float;\n      precision mediump sampler2D;\n      varying highp vec2 vUv;\n      uniform sampler2D uTexture;\n\n      void main () {\n          gl_FragColor = texture2D(uTexture, vUv);\n      }\n    `\n  );\n\n  var clearShader = compileShader(\n    gl.FRAGMENT_SHADER,\n    `\n      precision mediump float;\n      precision mediump sampler2D;\n      varying highp vec2 vUv;\n      uniform sampler2D uTexture;\n      uniform float value;\n\n      void main () {\n          gl_FragColor = value * texture2D(uTexture, vUv);\n      }\n    `\n  );\n\n  var displayShaderSource = `\n    precision highp float;\n    precision highp sampler2D;\n    varying vec2 vUv;\n    varying vec2 vL;\n    varying vec2 vR;\n    varying vec2 vT;\n    varying vec2 vB;\n    uniform sampler2D uTexture;\n    uniform sampler2D uDithering;\n    uniform vec2 ditherScale;\n    uniform vec2 texelSize;\n\n    vec3 linearToGamma (vec3 color) {\n        color = max(color, vec3(0));\n        return max(1.055 * pow(color, vec3(0.416666667)) - 0.055, vec3(0));\n    }\n\n    void main () {\n        vec3 c = texture2D(uTexture, vUv).rgb;\n        #ifdef SHADING\n            vec3 lc = texture2D(uTexture, vL).rgb;\n            vec3 rc = texture2D(uTexture, vR).rgb;\n            vec3 tc = texture2D(uTexture, vT).rgb;\n            vec3 bc = texture2D(uTexture, vB).rgb;\n\n            float dx = length(rc) - length(lc);\n            float dy = length(tc) - length(bc);\n\n            vec3 n = normalize(vec3(dx, dy, length(texelSize)));\n            vec3 l = vec3(0.0, 0.0, 1.0);\n\n            float diffuse = clamp(dot(n, l) + 0.7, 0.7, 1.0);\n            c *= diffuse;\n        #endif\n\n        float a = max(c.r, max(c.g, c.b));\n        gl_FragColor = vec4(c, a);\n    }\n  `;\n\n  var splatShader = compileShader(\n    gl.FRAGMENT_SHADER,\n    `\n      precision highp float;\n      precision highp sampler2D;\n      varying vec2 vUv;\n      uniform sampler2D uTarget;\n      uniform float aspectRatio;\n      uniform vec3 color;\n      uniform vec2 point;\n      uniform float radius;\n\n      void main () {\n          vec2 p = vUv - point.xy;\n          p.x *= aspectRatio;\n          vec3 splat = exp(-dot(p, p) \/ radius) * color;\n          vec3 base = texture2D(uTarget, vUv).xyz;\n          gl_FragColor = vec4(base + splat, 1.0);\n      }\n    `\n  );\n\n  var advectionShader = compileShader(\n    gl.FRAGMENT_SHADER,\n    `\n      precision highp float;\n      precision highp sampler2D;\n      varying vec2 vUv;\n      uniform sampler2D uVelocity;\n      uniform sampler2D uSource;\n      uniform vec2 texelSize;\n      uniform vec2 dyeTexelSize;\n      uniform float dt;\n      uniform float dissipation;\n\n      vec4 bilerp (sampler2D sam, vec2 uv, vec2 tsize) {\n          vec2 st = uv \/ tsize - 0.5;\n          vec2 iuv = floor(st);\n          vec2 fuv = fract(st);\n\n          vec4 a = texture2D(sam, (iuv + vec2(0.5, 0.5)) * tsize);\n          vec4 b = texture2D(sam, (iuv + vec2(1.5, 0.5)) * tsize);\n          vec4 c = texture2D(sam, (iuv + vec2(0.5, 1.5)) * tsize);\n          vec4 d = texture2D(sam, (iuv + vec2(1.5, 1.5)) * tsize);\n\n          return mix(mix(a, b, fuv.x), mix(c, d, fuv.x), fuv.y);\n      }\n\n      void main () {\n          #ifdef MANUAL_FILTERING\n              vec2 coord = vUv - dt * bilerp(uVelocity, vUv, texelSize).xy * texelSize;\n              vec4 result = bilerp(uSource, coord, dyeTexelSize);\n          #else\n              vec2 coord = vUv - dt * texture2D(uVelocity, vUv).xy * texelSize;\n              vec4 result = texture2D(uSource, coord);\n          #endif\n          float decay = 1.0 + dissipation * dt;\n          gl_FragColor = result \/ decay;\n      }\n    `,\n    ext.supportLinearFiltering ? null : ['MANUAL_FILTERING']\n  );\n\n  var divergenceShader = compileShader(\n    gl.FRAGMENT_SHADER,\n    `\n      precision mediump float;\n      precision mediump sampler2D;\n      varying highp vec2 vUv;\n      varying highp vec2 vL;\n      varying highp vec2 vR;\n      varying highp vec2 vT;\n      varying highp vec2 vB;\n      uniform sampler2D uVelocity;\n\n      void main () {\n          float L = texture2D(uVelocity, vL).x;\n          float R = texture2D(uVelocity, vR).x;\n          float T = texture2D(uVelocity, vT).y;\n          float B = texture2D(uVelocity, vB).y;\n\n          vec2 C = texture2D(uVelocity, vUv).xy;\n          if (vL.x < 0.0) { L = -C.x; }\n          if (vR.x > 1.0) { R = -C.x; }\n          if (vT.y > 1.0) { T = -C.y; }\n          if (vB.y < 0.0) { B = -C.y; }\n\n          float div = 0.5 * (R - L + T - B);\n          gl_FragColor = vec4(div, 0.0, 0.0, 1.0);\n      }\n    `\n  );\n\n  var curlShader = compileShader(\n    gl.FRAGMENT_SHADER,\n    `\n      precision mediump float;\n      precision mediump sampler2D;\n      varying highp vec2 vUv;\n      varying highp vec2 vL;\n      varying highp vec2 vR;\n      varying highp vec2 vT;\n      varying highp vec2 vB;\n      uniform sampler2D uVelocity;\n\n      void main () {\n          float L = texture2D(uVelocity, vL).y;\n          float R = texture2D(uVelocity, vR).y;\n          float T = texture2D(uVelocity, vT).x;\n          float B = texture2D(uVelocity, vB).x;\n          float vorticity = R - L - T + B;\n          gl_FragColor = vec4(0.5 * vorticity, 0.0, 0.0, 1.0);\n      }\n    `\n  );\n\n  var vorticityShader = compileShader(\n    gl.FRAGMENT_SHADER,\n    `\n      precision highp float;\n      precision highp sampler2D;\n      varying vec2 vUv;\n      varying vec2 vL;\n      varying vec2 vR;\n      varying vec2 vT;\n      varying vec2 vB;\n      uniform sampler2D uVelocity;\n      uniform sampler2D uCurl;\n      uniform float curl;\n      uniform float dt;\n\n      void main () {\n          float L = texture2D(uCurl, vL).x;\n          float R = texture2D(uCurl, vR).x;\n          float T = texture2D(uCurl, vT).x;\n          float B = texture2D(uCurl, vB).x;\n          float C = texture2D(uCurl, vUv).x;\n\n          vec2 force = 0.5 * vec2(abs(T) - abs(B), abs(R) - abs(L));\n          force \/= length(force) + 0.0001;\n          force *= curl * C;\n          force.y *= -1.0;\n\n          vec2 velocity = texture2D(uVelocity, vUv).xy;\n          velocity += force * dt;\n          velocity = min(max(velocity, -1000.0), 1000.0);\n          gl_FragColor = vec4(velocity, 0.0, 1.0);\n      }\n    `\n  );\n\n  var pressureShader = compileShader(\n    gl.FRAGMENT_SHADER,\n    `\n      precision mediump float;\n      precision mediump sampler2D;\n      varying highp vec2 vUv;\n      varying highp vec2 vL;\n      varying highp vec2 vR;\n      varying highp vec2 vT;\n      varying highp vec2 vB;\n      uniform sampler2D uPressure;\n      uniform sampler2D uDivergence;\n\n      void main () {\n          float L = texture2D(uPressure, vL).x;\n          float R = texture2D(uPressure, vR).x;\n          float T = texture2D(uPressure, vT).x;\n          float B = texture2D(uPressure, vB).x;\n          float C = texture2D(uPressure, vUv).x;\n          float divergence = texture2D(uDivergence, vUv).x;\n          float pressure = (L + R + B + T - divergence) * 0.25;\n          gl_FragColor = vec4(pressure, 0.0, 0.0, 1.0);\n      }\n    `\n  );\n\n  var gradientSubtractShader = compileShader(\n    gl.FRAGMENT_SHADER,\n    `\n      precision mediump float;\n      precision mediump sampler2D;\n      varying highp vec2 vUv;\n      varying highp vec2 vL;\n      varying highp vec2 vR;\n      varying highp vec2 vT;\n      varying highp vec2 vB;\n      uniform sampler2D uPressure;\n      uniform sampler2D uVelocity;\n\n      void main () {\n          float L = texture2D(uPressure, vL).x;\n          float R = texture2D(uPressure, vR).x;\n          float T = texture2D(uPressure, vT).x;\n          float B = texture2D(uPressure, vB).x;\n          vec2 velocity = texture2D(uVelocity, vUv).xy;\n          velocity.xy -= vec2(R - L, T - B);\n          gl_FragColor = vec4(velocity, 0.0, 1.0);\n      }\n    `\n  );\n\n  var blit = (function () {\n    gl.bindBuffer(gl.ARRAY_BUFFER, gl.createBuffer());\n    gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([-1, -1, -1, 1, 1, 1, 1, -1]), gl.STATIC_DRAW);\n    gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, gl.createBuffer());\n    gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, new Uint16Array([0, 1, 2, 0, 2, 3]), gl.STATIC_DRAW);\n    gl.vertexAttribPointer(0, 2, gl.FLOAT, false, 0, 0);\n    gl.enableVertexAttribArray(0);\n    return function (target, clear) {\n      if (target == null) {\n        gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n        gl.bindFramebuffer(gl.FRAMEBUFFER, null);\n      } else {\n        gl.viewport(0, 0, target.width, target.height);\n        gl.bindFramebuffer(gl.FRAMEBUFFER, target.fbo);\n      }\n      if (clear) {\n        gl.clearColor(0.0, 0.0, 0.0, 1.0);\n        gl.clear(gl.COLOR_BUFFER_BIT);\n      }\n      gl.drawElements(gl.TRIANGLES, 6, gl.UNSIGNED_SHORT, 0);\n    };\n  })();\n\n  var dye, velocity, divergence, curl, pressure;\n\n  var copyProgram = new Program(baseVertexShader, copyShader);\n  var clearProgram = new Program(baseVertexShader, clearShader);\n  var splatProgram = new Program(baseVertexShader, splatShader);\n  var advectionProgram = new Program(baseVertexShader, advectionShader);\n  var divergenceProgram = new Program(baseVertexShader, divergenceShader);\n  var curlProgram = new Program(baseVertexShader, curlShader);\n  var vorticityProgram = new Program(baseVertexShader, vorticityShader);\n  var pressureProgram = new Program(baseVertexShader, pressureShader);\n  var gradienSubtractProgram = new Program(baseVertexShader, gradientSubtractShader);\n  var displayMaterial = new Material(baseVertexShader, displayShaderSource);\n\n  function initFramebuffers() {\n    var simRes = getResolution(config.SIM_RESOLUTION);\n    var dyeRes = getResolution(config.DYE_RESOLUTION);\n    var texType = ext.halfFloatTexType;\n    var rgba = ext.formatRGBA;\n    var rg = ext.formatRG;\n    var r = ext.formatR;\n    var filtering = ext.supportLinearFiltering ? gl.LINEAR : gl.NEAREST;\n    gl.disable(gl.BLEND);\n\n    if (!dye)\n      dye = createDoubleFBO(dyeRes.width, dyeRes.height, rgba.internalFormat, rgba.format, texType, filtering);\n    else\n      dye = resizeDoubleFBO(dye, dyeRes.width, dyeRes.height, rgba.internalFormat, rgba.format, texType, filtering);\n\n    if (!velocity)\n      velocity = createDoubleFBO(simRes.width, simRes.height, rg.internalFormat, rg.format, texType, filtering);\n    else\n      velocity = resizeDoubleFBO(velocity, simRes.width, simRes.height, rg.internalFormat, rg.format, texType, filtering);\n\n    divergence = createFBO(simRes.width, simRes.height, r.internalFormat, r.format, texType, gl.NEAREST);\n    curl = createFBO(simRes.width, simRes.height, r.internalFormat, r.format, texType, gl.NEAREST);\n    pressure = createDoubleFBO(simRes.width, simRes.height, r.internalFormat, r.format, texType, gl.NEAREST);\n  }\n\n  function createFBO(w, h, internalFormat, format, type, param) {\n    gl.activeTexture(gl.TEXTURE0);\n    var texture = gl.createTexture();\n    gl.bindTexture(gl.TEXTURE_2D, texture);\n    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, param);\n    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, param);\n    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n    gl.texImage2D(gl.TEXTURE_2D, 0, internalFormat, w, h, 0, format, type, null);\n\n    var fbo = gl.createFramebuffer();\n    gl.bindFramebuffer(gl.FRAMEBUFFER, fbo);\n    gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, texture, 0);\n    gl.viewport(0, 0, w, h);\n    gl.clear(gl.COLOR_BUFFER_BIT);\n\n    var texelSizeX = 1.0 \/ w;\n    var texelSizeY = 1.0 \/ h;\n    return {\n      texture: texture,\n      fbo: fbo,\n      width: w,\n      height: h,\n      texelSizeX: texelSizeX,\n      texelSizeY: texelSizeY,\n      attach: function (id) {\n        gl.activeTexture(gl.TEXTURE0 + id);\n        gl.bindTexture(gl.TEXTURE_2D, texture);\n        return id;\n      }\n    };\n  }\n\n  function createDoubleFBO(w, h, internalFormat, format, type, param) {\n    var fbo1 = createFBO(w, h, internalFormat, format, type, param);\n    var fbo2 = createFBO(w, h, internalFormat, format, type, param);\n    return {\n      width: w,\n      height: h,\n      texelSizeX: fbo1.texelSizeX,\n      texelSizeY: fbo1.texelSizeY,\n      get read() { return fbo1; },\n      set read(value) { fbo1 = value; },\n      get write() { return fbo2; },\n      set write(value) { fbo2 = value; },\n      swap: function () {\n        var temp = fbo1;\n        fbo1 = fbo2;\n        fbo2 = temp;\n      }\n    };\n  }\n\n  function resizeFBO(target, w, h, internalFormat, format, type, param) {\n    var newFBO = createFBO(w, h, internalFormat, format, type, param);\n    copyProgram.bind();\n    gl.uniform1i(copyProgram.uniforms.uTexture, target.attach(0));\n    blit(newFBO);\n    return newFBO;\n  }\n\n  function resizeDoubleFBO(target, w, h, internalFormat, format, type, param) {\n    if (target.width === w && target.height === h) return target;\n    target.read = resizeFBO(target.read, w, h, internalFormat, format, type, param);\n    target.write = createFBO(w, h, internalFormat, format, type, param);\n    target.width = w;\n    target.height = h;\n    target.texelSizeX = 1.0 \/ w;\n    target.texelSizeY = 1.0 \/ h;\n    return target;\n  }\n\n  function updateKeywords() {\n    var displayKeywords = [];\n    if (config.SHADING) displayKeywords.push('SHADING');\n    displayMaterial.setKeywords(displayKeywords);\n  }\n\n  updateKeywords();\n  initFramebuffers();\n  var lastUpdateTime = Date.now();\n  var colorUpdateTimer = 0.0;\n\n  var inVista = true;          \/\/ lo aggiorna l'IntersectionObserver in coda allo script\n  var timerFuoriVista = null;\n\n  function updateFrame() {\n    \/\/ Se una nuova istanza e stata inizializzata (re-render di Elementor), questa si ferma\n    if (runId !== window.__splashCursorRun) return;\n    \/\/ Galleria fuori schermo: niente disegno, si ricontrolla fra mezzo secondo\n    if (!inVista) {\n      timerFuoriVista = setTimeout(updateFrame, 500);\n      return;\n    }\n    var dt = calcDeltaTime();\n    if (resizeCanvas()) initFramebuffers();\n    updateColors(dt);\n    applyInputs();\n    step(dt);\n    render(null);\n    animationFrameId = requestAnimationFrame(updateFrame);\n  }\n\n  function calcDeltaTime() {\n    var now = Date.now();\n    var dt = (now - lastUpdateTime) \/ 1000;\n    dt = Math.min(dt, 0.016666);\n    lastUpdateTime = now;\n    return dt;\n  }\n\n  function resizeCanvas() {\n    var width = scaleByPixelRatio(canvas.clientWidth);\n    var height = scaleByPixelRatio(canvas.clientHeight);\n    if (canvas.width !== width || canvas.height !== height) {\n      canvas.width = width;\n      canvas.height = height;\n      return true;\n    }\n    return false;\n  }\n\n  function updateColors(dt) {\n    colorUpdateTimer += dt * config.COLOR_UPDATE_SPEED;\n    if (colorUpdateTimer >= 1) {\n      colorUpdateTimer = wrap(colorUpdateTimer, 0, 1);\n      pointers.forEach(function (p) {\n        p.color = generateColor();\n      });\n    }\n  }\n\n  function applyInputs() {\n    pointers.forEach(function (p) {\n      if (p.moved) {\n        p.moved = false;\n        splatPointer(p);\n      }\n    });\n  }\n\n  function step(dt) {\n    gl.disable(gl.BLEND);\n    curlProgram.bind();\n    gl.uniform2f(curlProgram.uniforms.texelSize, velocity.texelSizeX, velocity.texelSizeY);\n    gl.uniform1i(curlProgram.uniforms.uVelocity, velocity.read.attach(0));\n    blit(curl);\n\n    vorticityProgram.bind();\n    gl.uniform2f(vorticityProgram.uniforms.texelSize, velocity.texelSizeX, velocity.texelSizeY);\n    gl.uniform1i(vorticityProgram.uniforms.uVelocity, velocity.read.attach(0));\n    gl.uniform1i(vorticityProgram.uniforms.uCurl, curl.attach(1));\n    gl.uniform1f(vorticityProgram.uniforms.curl, config.CURL);\n    gl.uniform1f(vorticityProgram.uniforms.dt, dt);\n    blit(velocity.write);\n    velocity.swap();\n\n    divergenceProgram.bind();\n    gl.uniform2f(divergenceProgram.uniforms.texelSize, velocity.texelSizeX, velocity.texelSizeY);\n    gl.uniform1i(divergenceProgram.uniforms.uVelocity, velocity.read.attach(0));\n    blit(divergence);\n\n    clearProgram.bind();\n    gl.uniform1i(clearProgram.uniforms.uTexture, pressure.read.attach(0));\n    gl.uniform1f(clearProgram.uniforms.value, config.PRESSURE);\n    blit(pressure.write);\n    pressure.swap();\n\n    pressureProgram.bind();\n    gl.uniform2f(pressureProgram.uniforms.texelSize, velocity.texelSizeX, velocity.texelSizeY);\n    gl.uniform1i(pressureProgram.uniforms.uDivergence, divergence.attach(0));\n    for (var i = 0; i < config.PRESSURE_ITERATIONS; i++) {\n      gl.uniform1i(pressureProgram.uniforms.uPressure, pressure.read.attach(1));\n      blit(pressure.write);\n      pressure.swap();\n    }\n\n    gradienSubtractProgram.bind();\n    gl.uniform2f(gradienSubtractProgram.uniforms.texelSize, velocity.texelSizeX, velocity.texelSizeY);\n    gl.uniform1i(gradienSubtractProgram.uniforms.uPressure, pressure.read.attach(0));\n    gl.uniform1i(gradienSubtractProgram.uniforms.uVelocity, velocity.read.attach(1));\n    blit(velocity.write);\n    velocity.swap();\n\n    advectionProgram.bind();\n    gl.uniform2f(advectionProgram.uniforms.texelSize, velocity.texelSizeX, velocity.texelSizeY);\n    if (!ext.supportLinearFiltering)\n      gl.uniform2f(advectionProgram.uniforms.dyeTexelSize, velocity.texelSizeX, velocity.texelSizeY);\n    var velocityId = velocity.read.attach(0);\n    gl.uniform1i(advectionProgram.uniforms.uVelocity, velocityId);\n    gl.uniform1i(advectionProgram.uniforms.uSource, velocityId);\n    gl.uniform1f(advectionProgram.uniforms.dt, dt);\n    gl.uniform1f(advectionProgram.uniforms.dissipation, config.VELOCITY_DISSIPATION);\n    blit(velocity.write);\n    velocity.swap();\n\n    if (!ext.supportLinearFiltering)\n      gl.uniform2f(advectionProgram.uniforms.dyeTexelSize, dye.texelSizeX, dye.texelSizeY);\n    gl.uniform1i(advectionProgram.uniforms.uVelocity, velocity.read.attach(0));\n    gl.uniform1i(advectionProgram.uniforms.uSource, dye.read.attach(1));\n    gl.uniform1f(advectionProgram.uniforms.dissipation, config.DENSITY_DISSIPATION);\n    blit(dye.write);\n    dye.swap();\n  }\n\n  function render(target) {\n    gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);\n    gl.enable(gl.BLEND);\n    drawDisplay(target);\n  }\n\n  function drawDisplay(target) {\n    var width = target == null ? gl.drawingBufferWidth : target.width;\n    var height = target == null ? gl.drawingBufferHeight : target.height;\n    displayMaterial.bind();\n    if (config.SHADING) gl.uniform2f(displayMaterial.uniforms.texelSize, 1.0 \/ width, 1.0 \/ height);\n    gl.uniform1i(displayMaterial.uniforms.uTexture, dye.read.attach(0));\n    blit(target);\n  }\n\n  function splatPointer(pointer) {\n    var dx = pointer.deltaX * config.SPLAT_FORCE;\n    var dy = pointer.deltaY * config.SPLAT_FORCE;\n    splat(pointer.texcoordX, pointer.texcoordY, dx, dy, pointer.color);\n  }\n\n  function clickSplat(pointer) {\n    var color = generateColor();\n    color.r *= 10.0;\n    color.g *= 10.0;\n    color.b *= 10.0;\n    var dx = 10 * (Math.random() - 0.5);\n    var dy = 30 * (Math.random() - 0.5);\n    splat(pointer.texcoordX, pointer.texcoordY, dx, dy, color);\n  }\n\n  function splat(x, y, dx, dy, color) {\n    splatProgram.bind();\n    gl.uniform1i(splatProgram.uniforms.uTarget, velocity.read.attach(0));\n    gl.uniform1f(splatProgram.uniforms.aspectRatio, canvas.width \/ canvas.height);\n    gl.uniform2f(splatProgram.uniforms.point, x, y);\n    gl.uniform3f(splatProgram.uniforms.color, dx, dy, 0.0);\n    gl.uniform1f(splatProgram.uniforms.radius, correctRadius(config.SPLAT_RADIUS \/ 100.0));\n    blit(velocity.write);\n    velocity.swap();\n\n    gl.uniform1i(splatProgram.uniforms.uTarget, dye.read.attach(0));\n    gl.uniform3f(splatProgram.uniforms.color, color.r, color.g, color.b);\n    blit(dye.write);\n    dye.swap();\n  }\n\n  function correctRadius(radius) {\n    var aspectRatio = canvas.width \/ canvas.height;\n    if (aspectRatio > 1) radius *= aspectRatio;\n    return radius;\n  }\n\n  function updatePointerDownData(pointer, id, posX, posY) {\n    pointer.id = id;\n    pointer.down = true;\n    pointer.moved = false;\n    pointer.texcoordX = posX \/ canvas.width;\n    pointer.texcoordY = 1.0 - posY \/ canvas.height;\n    pointer.prevTexcoordX = pointer.texcoordX;\n    pointer.prevTexcoordY = pointer.texcoordY;\n    pointer.deltaX = 0;\n    pointer.deltaY = 0;\n    pointer.color = generateColor();\n  }\n\n  function updatePointerMoveData(pointer, posX, posY, color) {\n    pointer.prevTexcoordX = pointer.texcoordX;\n    pointer.prevTexcoordY = pointer.texcoordY;\n    pointer.texcoordX = posX \/ canvas.width;\n    pointer.texcoordY = 1.0 - posY \/ canvas.height;\n    pointer.deltaX = correctDeltaX(pointer.texcoordX - pointer.prevTexcoordX);\n    pointer.deltaY = correctDeltaY(pointer.texcoordY - pointer.prevTexcoordY);\n    pointer.moved = Math.abs(pointer.deltaX) > 0 || Math.abs(pointer.deltaY) > 0;\n    pointer.color = color;\n  }\n\n  function updatePointerUpData(pointer) {\n    pointer.down = false;\n  }\n\n  function correctDeltaX(delta) {\n    var aspectRatio = canvas.width \/ canvas.height;\n    if (aspectRatio < 1) delta *= aspectRatio;\n    return delta;\n  }\n\n  function correctDeltaY(delta) {\n    var aspectRatio = canvas.width \/ canvas.height;\n    if (aspectRatio > 1) delta \/= aspectRatio;\n    return delta;\n  }\n\n  function hexToRGB(hex) {\n    var val = hex.replace('#', '');\n    if (val.length === 3) val = val[0] + val[0] + val[1] + val[1] + val[2] + val[2];\n    var r = parseInt(val.slice(0, 2), 16) \/ 255;\n    var g = parseInt(val.slice(2, 4), 16) \/ 255;\n    var b = parseInt(val.slice(4, 6), 16) \/ 255;\n    return { r: r * config.COLOR_INTENSITY, g: g * config.COLOR_INTENSITY, b: b * config.COLOR_INTENSITY };\n  }\n\n  function generateColor() {\n    if (!config.RAINBOW_MODE && config.PALETTE && config.PALETTE.length) {\n      return hexToRGB(config.PALETTE[Math.floor(Math.random() * config.PALETTE.length)]);\n    }\n    if (!config.RAINBOW_MODE) {\n      return hexToRGB(config.COLOR);\n    }\n    var c = HSVtoRGB(Math.random(), 1.0, 1.0);\n    c.r *= config.COLOR_INTENSITY;\n    c.g *= config.COLOR_INTENSITY;\n    c.b *= config.COLOR_INTENSITY;\n    return c;\n  }\n\n  function HSVtoRGB(h, s, v) {\n    var r, g, b, i, f, p, q, t;\n    i = Math.floor(h * 6);\n    f = h * 6 - i;\n    p = v * (1 - s);\n    q = v * (1 - f * s);\n    t = v * (1 - (1 - f) * s);\n    switch (i % 6) {\n      case 0: r = v; g = t; b = p; break;\n      case 1: r = q; g = v; b = p; break;\n      case 2: r = p; g = v; b = t; break;\n      case 3: r = p; g = q; b = v; break;\n      case 4: r = t; g = p; b = v; break;\n      case 5: r = v; g = p; b = q; break;\n      default: break;\n    }\n    return { r: r, g: g, b: b };\n  }\n\n  function wrap(value, min, max) {\n    var range = max - min;\n    if (range === 0) return min;\n    return ((value - min) % range) + min;\n  }\n\n  function getResolution(resolution) {\n    var aspectRatio = gl.drawingBufferWidth \/ gl.drawingBufferHeight;\n    \/\/ All'avvio la sezione puo avere altezza 0 (immagini non ancora caricate): il\n    \/\/ rapporto diventa Infinity e la texture nascerebbe a dimensione zero.\n    if (!isFinite(aspectRatio) || aspectRatio <= 0) aspectRatio = 1;\n    if (aspectRatio < 1) aspectRatio = 1.0 \/ aspectRatio;\n    var min = Math.round(resolution);\n    var max = Math.round(resolution * aspectRatio);\n    \/\/ Rete di sicurezza: su una sezione alta e stretta il lato lungo cresce col\n    \/\/ rapporto e sfora MAX_TEXTURE_SIZE. Oltre il limite la texture nasce a\n    \/\/ dimensione zero, il framebuffer resta incompleto e non si disegna piu nulla.\n    var limite = gl.getParameter(gl.MAX_TEXTURE_SIZE) || 4096;\n    if (max > limite) max = limite;\n    if (min > limite) min = limite;\n    if (min < 1) min = 1;\n    if (max < 1) max = 1;\n    if (gl.drawingBufferWidth > gl.drawingBufferHeight) return { width: max, height: min };\n    else return { width: min, height: max };\n  }\n\n  function scaleByPixelRatio(input) {\n    var pixelRatio = window.devicePixelRatio || 1;\n    return Math.floor(input * pixelRatio);\n  }\n\n  function hashCode(s) {\n    if (s.length === 0) return 0;\n    var hash = 0;\n    for (var i = 0; i < s.length; i++) {\n      hash = (hash << 5) - hash + s.charCodeAt(i);\n      hash |= 0;\n    }\n    return hash;\n  }\n\n  \/\/ Handler con nome, cosi un'istanza successiva puo rimuoverli\n  function handleMouseDown(e) {\n    var pos = eventPos(e);\n    var pointer = pointers[0];\n    var posX = scaleByPixelRatio(pos.x);\n    var posY = scaleByPixelRatio(pos.y);\n    updatePointerDownData(pointer, -1, posX, posY);\n    clickSplat(pointer);\n  }\n\n  var firstMouseMoveHandled = false;\n  function handleMouseMove(e) {\n    if (runId !== window.__splashCursorRun) return;\n    var pos = eventPos(e);\n    var pointer = pointers[0];\n    var posX = scaleByPixelRatio(pos.x);\n    var posY = scaleByPixelRatio(pos.y);\n    if (!firstMouseMoveHandled) {\n      var color = generateColor();\n      updatePointerMoveData(pointer, posX, posY, color);\n      firstMouseMoveHandled = true;\n    } else {\n      updatePointerMoveData(pointer, posX, posY, pointer.color);\n    }\n  }\n\n  function handleTouchStart(e) {\n    if (runId !== window.__splashCursorRun) return;\n    var touches = e.targetTouches;\n    var pointer = pointers[0];\n    for (var i = 0; i < touches.length; i++) {\n      var pos = eventPos(touches[i]);\n      var posX = scaleByPixelRatio(pos.x);\n      var posY = scaleByPixelRatio(pos.y);\n      updatePointerDownData(pointer, touches[i].identifier, posX, posY);\n    }\n  }\n\n  function handleTouchMove(e) {\n    if (runId !== window.__splashCursorRun) return;\n    var touches = e.targetTouches;\n    var pointer = pointers[0];\n    for (var i = 0; i < touches.length; i++) {\n      var pos = eventPos(touches[i]);\n      var posX = scaleByPixelRatio(pos.x);\n      var posY = scaleByPixelRatio(pos.y);\n      updatePointerMoveData(pointer, posX, posY, pointer.color);\n    }\n  }\n\n  function handleTouchEnd() {\n    updatePointerUpData(pointers[0]);\n  }\n\n  \/\/ Registra gli handler anche globalmente, per la pulizia dei re-render\n  window.__splashCursorHandlers = {\n    down: handleMouseDown,\n    move: handleMouseMove,\n    tstart: handleTouchStart,\n    tmove: handleTouchMove,\n    tend: handleTouchEnd,\n    target: eventTarget\n  };\n\n  eventTarget.addEventListener('mousedown', handleMouseDown);\n  eventTarget.addEventListener('mousemove', handleMouseMove);\n  eventTarget.addEventListener('touchstart', handleTouchStart);\n  eventTarget.addEventListener('touchmove', handleTouchMove, false);\n  eventTarget.addEventListener('touchend', handleTouchEnd);\n\n  \/\/ La sezione galleria occupa circa il 60% dell'altezza della pagina: senza questo il\n  \/\/ canvas continuerebbe a disegnare anche quando nessuno la sta guardando.\n  if (CONFIG.PAUSE_OFFSCREEN && typeof IntersectionObserver === 'function' && targetEl) {\n    try {\n      new IntersectionObserver(function (voci) {\n        for (var i = 0; i < voci.length; i++) {\n          var eraInVista = inVista;\n          inVista = voci[i].isIntersecting;\n          if (inVista && !eraInVista) {\n            if (timerFuoriVista) { clearTimeout(timerFuoriVista); timerFuoriVista = null; }\n            updateFrame();   \/\/ riprende subito: calcDeltaTime limita il salto a 1\/60 s\n          }\n        }\n      }, { rootMargin: '200px' }).observe(targetEl);\n    } catch (e) { inVista = true; }\n  }\n\n  updateFrame();\n})();\n<\/script>\n\n\n\n\n\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0c00a15 elementor-widget elementor-widget-spacer\" data-id=\"0c00a15\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a937aca elementor-widget elementor-widget-image\" data-id=\"a937aca\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"288\" height=\"35\" src=\"https:\/\/pablobeer.it\/wp-content\/uploads\/2026\/07\/decor_01.svg\" class=\"attachment-large size-large wp-image-86\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>prima birra al mondo Pablo Beer La birra Pablo \u00e8 prodotta con piante di coca, con una marcia in pi\u00f9. Utilizzando foglie di coca importate dal Per\u00f9, abbiamo creato una birra a bassa gradazione alcolica (3,5% VOL) per dare energia alla tua giornata, alla tua serata o alla tua notte. Una birra rinfrescante con un [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-6","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/pablobeer.it\/en\/wp-json\/wp\/v2\/pages\/6","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pablobeer.it\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/pablobeer.it\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/pablobeer.it\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pablobeer.it\/en\/wp-json\/wp\/v2\/comments?post=6"}],"version-history":[{"count":60,"href":"https:\/\/pablobeer.it\/en\/wp-json\/wp\/v2\/pages\/6\/revisions"}],"predecessor-version":[{"id":729,"href":"https:\/\/pablobeer.it\/en\/wp-json\/wp\/v2\/pages\/6\/revisions\/729"}],"wp:attachment":[{"href":"https:\/\/pablobeer.it\/en\/wp-json\/wp\/v2\/media?parent=6"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}