{"id":4652,"date":"2026-07-17T15:58:03","date_gmt":"2026-07-17T15:58:03","guid":{"rendered":"https:\/\/ethno.maisdigital.pt\/?page_id=4652"},"modified":"2026-07-20T23:34:58","modified_gmt":"2026-07-20T23:34:58","slug":"portefolio","status":"publish","type":"page","link":"https:\/\/ethno.maisdigital.pt\/en\/portefolio\/","title":{"rendered":"Portefolio"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"4652\" class=\"elementor elementor-4652\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-17360772 e-con-full e-flex e-con e-parent\" data-id=\"17360772\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-5805130 e-con-full e-flex e-con e-child\" data-id=\"5805130\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-646f8bd e-con-full e-flex e-con e-child\" data-id=\"646f8bd\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-7fcccc3 e-con-full e-flex e-con e-child\" data-id=\"7fcccc3\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2df616e elementor-widget__width-initial elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"2df616e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b56bb5a wavo-transform transform-type-translate elementor-widget elementor-widget-heading\" data-id=\"b56bb5a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<p class=\"elementor-heading-title elementor-size-default\">Projetos<\/p>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-13292fe wavo-transform transform-type-translate elementor-widget elementor-widget-heading\" data-id=\"13292fe\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Portef\u00f3lio<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9023dd9 elementor-widget elementor-widget-text-editor\" data-id=\"9023dd9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Document\u00e1rios criativos, document\u00e1rios museogr\u00e1ficos, multim\u00e9dia, filmes institucionais e fotografia.<\/p>\t\t\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-51a87a61 e-con-full e-flex e-con e-child\" data-id=\"51a87a61\" data-element_type=\"container\" data-e-type=\"container\" id=\"ethno-portfolio-grelha\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-291cbd0a e-con-full e-flex e-con e-child\" data-id=\"291cbd0a\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;none&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7aed8ebe ethno-portfolio-gallery-v3 elementor-widget elementor-widget-wavo-projects-gallery\" data-id=\"7aed8ebe\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;none&quot;}\" data-widget_type=\"wavo-projects-gallery.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"portfolio\" id=\"gallery-7aed8ebe\"><div class=\"container-off\"><div class=\"row\"><div class=\"filtering col-12\"><div class=\"filter\"><span data-filter='*'  class=\"active\">Todos<\/span><span data-filter='.multim\u00e9dia' data-cat-id=\"24\">Multim\u00e9dia<\/span><span data-filter='.fotografia' data-cat-id=\"30\">Fotografia<\/span><span data-filter='.filmes-institucionais' data-cat-id=\"43\">Filmes Institucionais<\/span><span data-filter='.document\u00e1rios-museogr\u00e1ficos' data-cat-id=\"23\">Document\u00e1rios Museogr\u00e1ficos<\/span><span data-filter='.document\u00e1rios-criativos' data-cat-id=\"21\">Document\u00e1rios Criativos<\/span><\/div><\/div><div class=\"gallery full-width\" data-layout-mode=\"fitRows\"><div class=\"grid-sizer col-md-4\"><\/div><div class=\"col-md-4 documentarios-criativos items wavo-project-id-2102\" data-project-id=\"2102\"><div class=\"item-img wow fadeInUp\"><div class=\"item-img-overlay-two wow2\"><\/div><a href=\"https:\/\/ethno.maisdigital.pt\/en\/portefolio\/filhos-do-vosso-amor\/\"><img fetchpriority=\"high\" decoding=\"async\" width=\"2273\" height=\"977\" src=\"https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2026\/07\/ethno-filhos-do-vosso-amor-v3.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"\" srcset=\"https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2026\/07\/ethno-filhos-do-vosso-amor-v3.jpg 2273w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2026\/07\/ethno-filhos-do-vosso-amor-v3-300x129.jpg 300w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2026\/07\/ethno-filhos-do-vosso-amor-v3-1024x440.jpg 1024w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2026\/07\/ethno-filhos-do-vosso-amor-v3-768x330.jpg 768w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2026\/07\/ethno-filhos-do-vosso-amor-v3-1536x660.jpg 1536w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2026\/07\/ethno-filhos-do-vosso-amor-v3-2048x880.jpg 2048w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2026\/07\/ethno-filhos-do-vosso-amor-v3-500x215.jpg 500w\" sizes=\"(max-width: 2273px) 100vw, 2273px\" \/><div class=\"item-img-overlay valign\"><div class=\"overlay-info full-width\"><h5 data-splitting>Filhos do Vosso Amor<\/h5><p>2025 \/ 2026<\/p>\n<\/div><\/div><\/a><\/div><\/div><div class=\"col-md-4 documentarios-criativos items wavo-project-id-4518\" data-project-id=\"4518\"><div class=\"item-img wow fadeInUp\"><div class=\"item-img-overlay-two wow2\"><\/div><a href=\"https:\/\/ethno.maisdigital.pt\/en\/portefolio\/o-projeto-literario-cronicas-de-julio-dinis-em-ovar\/\"><img decoding=\"async\" width=\"1935\" height=\"812\" src=\"https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2026\/07\/ethno-O-Projeto-Literario.png\" class=\"attachment-full size-full wp-post-image\" alt=\"\" srcset=\"https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2026\/07\/ethno-O-Projeto-Literario.png 1935w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2026\/07\/ethno-O-Projeto-Literario-300x126.png 300w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2026\/07\/ethno-O-Projeto-Literario-1024x430.png 1024w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2026\/07\/ethno-O-Projeto-Literario-768x322.png 768w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2026\/07\/ethno-O-Projeto-Literario-1536x645.png 1536w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2026\/07\/ethno-O-Projeto-Literario-500x210.png 500w\" sizes=\"(max-width: 1935px) 100vw, 1935px\" \/><div class=\"item-img-overlay valign\"><div class=\"overlay-info full-width\"><h5 data-splitting>O Projeto Liter\u00e1rio &#8211; Cr\u00f3nicas de J\u00falio Dinis em Ovar<\/h5><p>2023 \/ 2024<\/p>\n<\/div><\/div><\/a><\/div><\/div><div class=\"col-md-4 documentarios-criativos items wavo-project-id-2100\" data-project-id=\"2100\"><div class=\"item-img wow fadeInUp\"><div class=\"item-img-overlay-two wow2\"><\/div><a href=\"https:\/\/ethno.maisdigital.pt\/en\/portefolio\/imago\/\"><img decoding=\"async\" width=\"1600\" height=\"900\" src=\"https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/imago-hero.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"\" srcset=\"https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/imago-hero.jpg 1600w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/imago-hero-300x169.jpg 300w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/imago-hero-1024x576.jpg 1024w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/imago-hero-768x432.jpg 768w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/imago-hero-1536x864.jpg 1536w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/imago-hero-500x281.jpg 500w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><div class=\"item-img-overlay valign\"><div class=\"overlay-info full-width\"><h5 data-splitting>IMAGO<\/h5><p>2023 \/ 2024<\/p>\n<\/div><\/div><\/a><\/div><\/div><div class=\"col-md-4 documentarios-criativos items wavo-project-id-2098\" data-project-id=\"2098\"><div class=\"item-img wow fadeInUp\"><div class=\"item-img-overlay-two wow2\"><\/div><a href=\"https:\/\/ethno.maisdigital.pt\/en\/portefolio\/o-grito-da-raposa-na-noite-fria\/\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"900\" src=\"https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/o-grito-hero.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"\" srcset=\"https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/o-grito-hero.jpg 1600w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/o-grito-hero-300x169.jpg 300w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/o-grito-hero-1024x576.jpg 1024w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/o-grito-hero-768x432.jpg 768w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/o-grito-hero-1536x864.jpg 1536w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/o-grito-hero-500x281.jpg 500w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><div class=\"item-img-overlay valign\"><div class=\"overlay-info full-width\"><h5 data-splitting>O Grito da Raposa na Noite Fria<\/h5><p>2022<\/p>\n<\/div><\/div><\/a><\/div><\/div><div class=\"col-md-4 documentarios-criativos items wavo-project-id-2096\" data-project-id=\"2096\"><div class=\"item-img wow fadeInUp\"><div class=\"item-img-overlay-two wow2\"><\/div><a href=\"https:\/\/ethno.maisdigital.pt\/en\/portefolio\/agua-nas-guelras\/\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"900\" src=\"https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/agua-nas-guelras-hero.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"\" srcset=\"https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/agua-nas-guelras-hero.jpg 1600w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/agua-nas-guelras-hero-300x169.jpg 300w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/agua-nas-guelras-hero-1024x576.jpg 1024w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/agua-nas-guelras-hero-768x432.jpg 768w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/agua-nas-guelras-hero-1536x864.jpg 1536w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/agua-nas-guelras-hero-500x281.jpg 500w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><div class=\"item-img-overlay valign\"><div class=\"overlay-info full-width\"><h5 data-splitting>\u00c1gua nas Guelras<\/h5><p>2019 \/ 2020<\/p>\n<\/div><\/div><\/a><\/div><\/div><div class=\"col-md-4 documentarios-museograficos items wavo-project-id-2088\" data-project-id=\"2088\"><div class=\"item-img wow fadeInUp\"><div class=\"item-img-overlay-two wow2\"><\/div><a href=\"https:\/\/ethno.maisdigital.pt\/en\/portefolio\/o-caminho-romano\/\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"900\" src=\"https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/o-caminho-romano-hero.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"\" srcset=\"https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/o-caminho-romano-hero.jpg 1600w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/o-caminho-romano-hero-300x169.jpg 300w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/o-caminho-romano-hero-1024x576.jpg 1024w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/o-caminho-romano-hero-768x432.jpg 768w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/o-caminho-romano-hero-1536x864.jpg 1536w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/o-caminho-romano-hero-500x281.jpg 500w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><div class=\"item-img-overlay valign\"><div class=\"overlay-info full-width\"><h5 data-splitting>O Caminho Romano<\/h5><p>2022<\/p>\n<\/div><\/div><\/a><\/div><\/div><div class=\"col-md-4 documentarios-museograficos items wavo-project-id-2078\" data-project-id=\"2078\"><div class=\"item-img wow fadeInUp\"><div class=\"item-img-overlay-two wow2\"><\/div><a href=\"https:\/\/ethno.maisdigital.pt\/en\/portefolio\/os-enigmas-do-cabeco-da-mina\/\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"900\" src=\"https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/cabeco-da-mina-hero.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"\" srcset=\"https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/cabeco-da-mina-hero.jpg 1600w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/cabeco-da-mina-hero-300x169.jpg 300w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/cabeco-da-mina-hero-1024x576.jpg 1024w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/cabeco-da-mina-hero-768x432.jpg 768w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/cabeco-da-mina-hero-1536x864.jpg 1536w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/cabeco-da-mina-hero-500x281.jpg 500w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><div class=\"item-img-overlay valign\"><div class=\"overlay-info full-width\"><h5 data-splitting>Os Enigmas do Cabe\u00e7o da Mina<\/h5><p>2019<\/p>\n<\/div><\/div><\/a><\/div><\/div><div class=\"col-md-4 documentarios-museograficos items wavo-project-id-2076\" data-project-id=\"2076\"><div class=\"item-img wow fadeInUp\"><div class=\"item-img-overlay-two wow2\"><\/div><a href=\"https:\/\/ethno.maisdigital.pt\/en\/portefolio\/splendidissima-civitas\/\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"900\" src=\"https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/splendidissima-civitas-hero.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"\" srcset=\"https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/splendidissima-civitas-hero.jpg 1600w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/splendidissima-civitas-hero-300x169.jpg 300w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/splendidissima-civitas-hero-1024x576.jpg 1024w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/splendidissima-civitas-hero-768x432.jpg 768w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/splendidissima-civitas-hero-1536x864.jpg 1536w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/splendidissima-civitas-hero-500x281.jpg 500w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><div class=\"item-img-overlay valign\"><div class=\"overlay-info full-width\"><h5 data-splitting>Splendidissima Civitas<\/h5><p>2018<\/p>\n<\/div><\/div><\/a><\/div><\/div><div class=\"col-md-4 documentarios-museograficos items wavo-project-id-2074\" data-project-id=\"2074\"><div class=\"item-img wow fadeInUp\"><div class=\"item-img-overlay-two wow2\"><\/div><a href=\"https:\/\/ethno.maisdigital.pt\/en\/portefolio\/o-ouro-de-tresminas\/\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"1433\" src=\"https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/ethno-o-ouro-de-tresminas-scaled.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"\" srcset=\"https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/ethno-o-ouro-de-tresminas-scaled.jpg 2560w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/ethno-o-ouro-de-tresminas-300x168.jpg 300w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/ethno-o-ouro-de-tresminas-1024x573.jpg 1024w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/ethno-o-ouro-de-tresminas-768x430.jpg 768w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/ethno-o-ouro-de-tresminas-1536x860.jpg 1536w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/ethno-o-ouro-de-tresminas-2048x1146.jpg 2048w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/ethno-o-ouro-de-tresminas-500x280.jpg 500w\" sizes=\"(max-width: 2560px) 100vw, 2560px\" \/><div class=\"item-img-overlay valign\"><div class=\"overlay-info full-width\"><h5 data-splitting>O Ouro de Tresminas<\/h5><p>2015<\/p>\n<\/div><\/div><\/a><\/div><\/div><div class=\"col-md-4 multimedia items wavo-project-id-2072\" data-project-id=\"2072\"><div class=\"item-img wow fadeInUp\"><div class=\"item-img-overlay-two wow2\"><\/div><a href=\"https:\/\/ethno.maisdigital.pt\/en\/portefolio\/ota-instalacao-imersiva\/\"><img loading=\"lazy\" decoding=\"async\" width=\"2440\" height=\"1026\" src=\"https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/ETHNO-OTA-Instalacao-Imersiva.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"\" srcset=\"https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/ETHNO-OTA-Instalacao-Imersiva.jpg 2440w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/ETHNO-OTA-Instalacao-Imersiva-300x126.jpg 300w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/ETHNO-OTA-Instalacao-Imersiva-1024x431.jpg 1024w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/ETHNO-OTA-Instalacao-Imersiva-768x323.jpg 768w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/ETHNO-OTA-Instalacao-Imersiva-1536x646.jpg 1536w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/ETHNO-OTA-Instalacao-Imersiva-2048x861.jpg 2048w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/ETHNO-OTA-Instalacao-Imersiva-500x210.jpg 500w\" sizes=\"(max-width: 2440px) 100vw, 2440px\" \/><div class=\"item-img-overlay valign\"><div class=\"overlay-info full-width\"><h5 data-splitting>OTA &#8211; Instala\u00e7\u00e3o Imersiva<\/h5><p>2018<\/p>\n<\/div><\/div><\/a><\/div><\/div><div class=\"col-md-4 multimedia items wavo-project-id-2070\" data-project-id=\"2070\"><div class=\"item-img wow fadeInUp\"><div class=\"item-img-overlay-two wow2\"><\/div><a href=\"https:\/\/ethno.maisdigital.pt\/en\/portefolio\/instalacao-btl-feira-internacional-de-turismo-de-lisboa\/\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"900\" src=\"https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/instalacao-btl-hero.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"\" srcset=\"https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/instalacao-btl-hero.jpg 1600w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/instalacao-btl-hero-300x169.jpg 300w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/instalacao-btl-hero-1024x576.jpg 1024w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/instalacao-btl-hero-768x432.jpg 768w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/instalacao-btl-hero-1536x864.jpg 1536w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/instalacao-btl-hero-500x281.jpg 500w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><div class=\"item-img-overlay valign\"><div class=\"overlay-info full-width\"><h5 data-splitting>Instala\u00e7\u00e3o BTL &#8211; Feira Internacional de Turismo de Lisboa<\/h5><p>2014<\/p>\n<\/div><\/div><\/a><\/div><\/div><div class=\"col-md-4 filmes-institucionais items wavo-project-id-2068\" data-project-id=\"2068\"><div class=\"item-img wow fadeInUp\"><div class=\"item-img-overlay-two wow2\"><\/div><a href=\"https:\/\/ethno.maisdigital.pt\/en\/portefolio\/museu-da-1-a-demarcacao-real-companhia-velha\/\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"900\" src=\"https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/museu-primeira-demarcacao-hero.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"\" srcset=\"https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/museu-primeira-demarcacao-hero.jpg 1600w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/museu-primeira-demarcacao-hero-300x169.jpg 300w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/museu-primeira-demarcacao-hero-1024x576.jpg 1024w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/museu-primeira-demarcacao-hero-768x432.jpg 768w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/museu-primeira-demarcacao-hero-1536x864.jpg 1536w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/museu-primeira-demarcacao-hero-500x281.jpg 500w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><div class=\"item-img-overlay valign\"><div class=\"overlay-info full-width\"><h5 data-splitting>Museu da 1.\u00aa Demarca\u00e7\u00e3o \u2014 Real Companhia Velha<\/h5><p>2018<\/p>\n<\/div><\/div><\/a><\/div><\/div><div class=\"col-md-4 filmes-institucionais items wavo-project-id-2066\" data-project-id=\"2066\"><div class=\"item-img wow fadeInUp\"><div class=\"item-img-overlay-two wow2\"><\/div><a href=\"https:\/\/ethno.maisdigital.pt\/en\/portefolio\/enoteca-17%c2%b756-real-companhia-velha\/\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"900\" src=\"https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/enoteca-17-56-hero.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"\" srcset=\"https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/enoteca-17-56-hero.jpg 1600w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/enoteca-17-56-hero-300x169.jpg 300w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/enoteca-17-56-hero-1024x576.jpg 1024w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/enoteca-17-56-hero-768x432.jpg 768w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/enoteca-17-56-hero-1536x864.jpg 1536w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/enoteca-17-56-hero-500x281.jpg 500w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><div class=\"item-img-overlay valign\"><div class=\"overlay-info full-width\"><h5 data-splitting>Enoteca 17\u00b756 &#8211; Real Companhia Velha<\/h5><p>2018<\/p>\n<\/div><\/div><\/a><\/div><\/div><div class=\"col-md-4 filmes-institucionais items wavo-project-id-2064\" data-project-id=\"2064\"><div class=\"item-img wow fadeInUp\"><div class=\"item-img-overlay-two wow2\"><\/div><a href=\"https:\/\/ethno.maisdigital.pt\/en\/portefolio\/spot-carnaval-de-ovar\/\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"900\" src=\"https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/spot-carnaval-de-ovar-hero.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"\" srcset=\"https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/spot-carnaval-de-ovar-hero.jpg 1600w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/spot-carnaval-de-ovar-hero-300x169.jpg 300w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/spot-carnaval-de-ovar-hero-1024x576.jpg 1024w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/spot-carnaval-de-ovar-hero-768x432.jpg 768w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/spot-carnaval-de-ovar-hero-1536x864.jpg 1536w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/spot-carnaval-de-ovar-hero-500x281.jpg 500w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><div class=\"item-img-overlay valign\"><div class=\"overlay-info full-width\"><h5 data-splitting>Spot Carnaval de Ovar<\/h5><p>2016<\/p>\n<\/div><\/div><\/a><\/div><\/div><div class=\"col-md-4 filmes-institucionais items wavo-project-id-2049\" data-project-id=\"2049\"><div class=\"item-img wow fadeInUp\"><div class=\"item-img-overlay-two wow2\"><\/div><a href=\"https:\/\/ethno.maisdigital.pt\/en\/portefolio\/filme-institucional-ferneto\/\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"900\" src=\"https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/filme-institucional-ferneto-hero.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"\" srcset=\"https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/filme-institucional-ferneto-hero.jpg 1600w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/filme-institucional-ferneto-hero-300x169.jpg 300w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/filme-institucional-ferneto-hero-1024x576.jpg 1024w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/filme-institucional-ferneto-hero-768x432.jpg 768w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/filme-institucional-ferneto-hero-1536x864.jpg 1536w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/filme-institucional-ferneto-hero-500x281.jpg 500w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><div class=\"item-img-overlay valign\"><div class=\"overlay-info full-width\"><h5 data-splitting>Filme Institucional Ferneto<\/h5><p>2016<\/p>\n<\/div><\/div><\/a><\/div><\/div><div class=\"col-md-4 fotografia items wavo-project-id-2046\" data-project-id=\"2046\"><div class=\"item-img wow fadeInUp\"><div class=\"item-img-overlay-two wow2\"><\/div><a href=\"https:\/\/ethno.maisdigital.pt\/en\/portefolio\/douro-levantamento-patrimonial\/\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"900\" src=\"https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/douro-hero.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"\" srcset=\"https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/douro-hero.jpg 1600w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/douro-hero-300x169.jpg 300w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/douro-hero-1024x576.jpg 1024w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/douro-hero-768x432.jpg 768w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/douro-hero-1536x864.jpg 1536w, https:\/\/ethno.maisdigital.pt\/wp-content\/uploads\/2020\/04\/douro-hero-500x281.jpg 500w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><div class=\"item-img-overlay valign\"><div class=\"overlay-info full-width\"><h5 data-splitting>Douro &#8211; Levantamento Patrimonial<\/h5><p>2018<\/p>\n<\/div><\/div><\/a><\/div><\/div><\/div><\/div><\/div><\/div>\t\t\t\t<\/div>\n\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-9e5c146 e-con-full e-flex e-con e-child\" data-id=\"9e5c146\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-023d21a e-con-full e-flex e-con e-child\" data-id=\"023d21a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-33648d4 wavo-transform transform-type-translate elementor-widget elementor-widget-heading\" data-id=\"33648d4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<p class=\"elementor-heading-title elementor-size-default\">Tem um projeto em mente?<\/p>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f7e1e41 elementor-widget__width-initial ethno-arrow-link wavo-transform transform-type-translate elementor-widget elementor-widget-heading\" data-id=\"f7e1e41\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<p class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/ethno.maisdigital.pt\/contactos\/\">Contactar&nbsp;&nbsp;\u2192<\/a><\/p>\t\t\t\t<\/div>\n\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-c12ca91 e-flex e-con-boxed e-con e-parent\" data-id=\"c12ca91\" 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-f6f6959 elementor-widget elementor-widget-html\" data-id=\"f6f6959\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<script>\r\n(function ($) {\r\n    'use strict';\r\n\r\n    const widgetSelector = '.ethno-portfolio-gallery-v3';\r\n\r\n    \/*\r\n     * REST base da taxonomia dos projetos Wavo.\r\n     *\/\r\n    const taxonomyRestBase = 'projects_cat';\r\n\r\n    \/**\r\n     * Ordem pretendida para os filtros.\r\n     *\r\n     * Categorias adicionais que venham a existir ficam\r\n     * automaticamente no final.\r\n     *\/\r\n    const desiredFilterOrder = [\r\n        '*',\r\n        '.documentarios-criativos',\r\n        '.documentarios-museograficos',\r\n        '.filmes-institucionais',\r\n        '.multimedia',\r\n        '.fotografia'\r\n    ];\r\n\r\n    \/**\r\n     * Cria um slug provis\u00f3rio a partir do nome da categoria.\r\n     *\r\n     * Este valor \u00e9 aplicado imediatamente, antes de o JavaScript\r\n     * original do Wavo inicializar os filtros.\r\n     *\r\n     * Posteriormente, o slug \u00e9 confirmado atrav\u00e9s da REST API\r\n     * do WordPress usando o data-cat-id.\r\n     *\/\r\n    function createFallbackSlug(value) {\r\n        let slug = String(value || '').trim();\r\n\r\n        if (typeof slug.normalize === 'function') {\r\n            slug = slug.normalize('NFD');\r\n        }\r\n\r\n        return slug\r\n            .replace(\/[\\u0300-\\u036f]\/g, '')\r\n            .toLowerCase()\r\n            .replace(\/[^a-z0-9]+\/g, '-')\r\n            .replace(\/^-+|-+$\/g, '');\r\n    }\r\n\r\n    \/**\r\n     * Obt\u00e9m o endere\u00e7o-base da REST API do WordPress.\r\n     *\/\r\n    function getRestRoot() {\r\n        if (\r\n            window.wpApiSettings &&\r\n            window.wpApiSettings.root\r\n        ) {\r\n            return window.wpApiSettings.root;\r\n        }\r\n\r\n        const apiLink = document.querySelector(\r\n            'link[rel=\"https:\/\/api.w.org\/\"]'\r\n        );\r\n\r\n        if (apiLink && apiLink.href) {\r\n            return apiLink.href;\r\n        }\r\n\r\n        return window.location.origin + '\/wp-json\/';\r\n    }\r\n\r\n    \/**\r\n     * Aplica imediatamente slugs provis\u00f3rios sem acentos.\r\n     *\r\n     * Exemplo:\r\n     *\r\n     * Document\u00e1rios Criativos\r\n     * passa provisoriamente para:\r\n     * .documentarios-criativos\r\n     *\/\r\n    function applyFallbackFilters($widget) {\r\n        $widget\r\n            .find('.filtering span[data-filter]')\r\n            .each(function () {\r\n                const $filter = $(this);\r\n                const currentFilter = $filter.attr('data-filter');\r\n\r\n                \/*\r\n                 * O filtro geral \"*\" n\u00e3o deve ser alterado.\r\n                 *\/\r\n                if (\r\n                    !currentFilter ||\r\n                    currentFilter === '*'\r\n                ) {\r\n                    return;\r\n                }\r\n\r\n                const categoryName = $filter\r\n                    .text()\r\n                    .trim();\r\n\r\n                const fallbackSlug = createFallbackSlug(\r\n                    categoryName\r\n                );\r\n\r\n                if (fallbackSlug) {\r\n                    $filter.attr(\r\n                        'data-filter',\r\n                        '.' + fallbackSlug\r\n                    );\r\n                }\r\n            });\r\n    }\r\n\r\n    \/**\r\n     * Ordena visualmente os filtros.\r\n     *\r\n     * Ordem:\r\n     *\r\n     * 1. Todos\r\n     * 2. Document\u00e1rios Criativos\r\n     * 3. Document\u00e1rios Museogr\u00e1ficos\r\n     * 4. Filmes Institucionais\r\n     * 5. Multim\u00e9dia\r\n     * 6. Fotografia\r\n     *\/\r\n    function reorderFilters($widget) {\r\n        const filterContainer = $widget\r\n            .find('.filtering .filter')\r\n            .get(0);\r\n\r\n        if (!filterContainer) {\r\n            return;\r\n        }\r\n\r\n        const existingItems = Array.from(\r\n            filterContainer.children\r\n        );\r\n\r\n        const orderedItems = desiredFilterOrder\r\n            .map(function (filterValue) {\r\n                return existingItems.find(function (item) {\r\n                    return (\r\n                        item.getAttribute('data-filter') ===\r\n                        filterValue\r\n                    );\r\n                });\r\n            })\r\n            .filter(Boolean);\r\n\r\n        \/*\r\n         * Qualquer categoria que n\u00e3o esteja na ordem definida\r\n         * fica no final, preservando a sua ordem original.\r\n         *\/\r\n        const remainingItems = existingItems.filter(\r\n            function (item) {\r\n                return !orderedItems.includes(item);\r\n            }\r\n        );\r\n\r\n        [...orderedItems, ...remainingItems].forEach(\r\n            function (item) {\r\n                filterContainer.appendChild(item);\r\n            }\r\n        );\r\n    }\r\n\r\n    \/**\r\n     * Consulta os slugs reais das categorias atrav\u00e9s\r\n     * da REST API do WordPress.\r\n     *\r\n     * \u00c9 feita uma \u00fanica consulta para todas as categorias\r\n     * existentes no widget.\r\n     *\/\r\n    function syncFiltersWithWordPress($widget) {\r\n        const existingPromise = $widget.data(\r\n            'ethno-filter-sync-promise'\r\n        );\r\n\r\n        if (existingPromise) {\r\n            return existingPromise;\r\n        }\r\n\r\n        const filters = [];\r\n\r\n        $widget\r\n            .find('.filtering span[data-cat-id]')\r\n            .each(function () {\r\n                const $filter = $(this);\r\n\r\n                const categoryId = parseInt(\r\n                    $filter.attr('data-cat-id'),\r\n                    10\r\n                );\r\n\r\n                if (!categoryId) {\r\n                    return;\r\n                }\r\n\r\n                filters.push({\r\n                    id: categoryId,\r\n                    element: this\r\n                });\r\n            });\r\n\r\n        if (!filters.length) {\r\n            return Promise.resolve();\r\n        }\r\n\r\n        const categoryIds = [\r\n            ...new Set(\r\n                filters.map(function (filter) {\r\n                    return filter.id;\r\n                })\r\n            )\r\n        ];\r\n\r\n        const restRoot = getRestRoot().replace(\/\\\/?$\/, '\/');\r\n\r\n        const requestUrl =\r\n            restRoot +\r\n            'wp\/v2\/' +\r\n            taxonomyRestBase +\r\n            '?include=' +\r\n            encodeURIComponent(categoryIds.join(',')) +\r\n            '&per_page=100&_fields=id,slug';\r\n\r\n        const request = fetch(requestUrl, {\r\n            method: 'GET',\r\n            credentials: 'same-origin',\r\n            headers: {\r\n                Accept: 'application\/json'\r\n            }\r\n        })\r\n            .then(function (response) {\r\n                if (!response.ok) {\r\n                    throw new Error(\r\n                        'N\u00e3o foi poss\u00edvel obter as categorias.'\r\n                    );\r\n                }\r\n\r\n                return response.json();\r\n            })\r\n            .then(function (terms) {\r\n                if (!Array.isArray(terms)) {\r\n                    return;\r\n                }\r\n\r\n                const slugsById = {};\r\n\r\n                terms.forEach(function (term) {\r\n                    if (\r\n                        term &&\r\n                        term.id &&\r\n                        term.slug\r\n                    ) {\r\n                        slugsById[term.id] = term.slug;\r\n                    }\r\n                });\r\n\r\n                filters.forEach(function (filter) {\r\n                    const realSlug = slugsById[filter.id];\r\n\r\n                    if (!realSlug) {\r\n                        return;\r\n                    }\r\n\r\n                    $(filter.element).attr(\r\n                        'data-filter',\r\n                        '.' + realSlug\r\n                    );\r\n                });\r\n            })\r\n            .catch(function () {\r\n                \/*\r\n                 * Se a taxonomia n\u00e3o estiver dispon\u00edvel na REST API,\r\n                 * mant\u00eam-se os slugs provis\u00f3rios gerados a partir\r\n                 * dos nomes das categorias.\r\n                 *\/\r\n            });\r\n\r\n        $widget.data(\r\n            'ethno-filter-sync-promise',\r\n            request\r\n        );\r\n\r\n        return request;\r\n    }\r\n\r\n    \/**\r\n     * Obt\u00e9m a inst\u00e2ncia Isotope associada \u00e0 grelha.\r\n     *\/\r\n    function getIsotopeInstance(element) {\r\n        if (\r\n            window.Isotope &&\r\n            typeof window.Isotope.data === 'function'\r\n        ) {\r\n            const instance = window.Isotope.data(element);\r\n\r\n            if (instance) {\r\n                return instance;\r\n            }\r\n        }\r\n\r\n        return (\r\n            $.data(element, 'isotope') ||\r\n            $(element).data('isotope') ||\r\n            null\r\n        );\r\n    }\r\n\r\n    \/**\r\n     * Configura uma inst\u00e2ncia do portef\u00f3lio ETHNO.\r\n     *\/\r\n    function setupEthnoPortfolio(widget) {\r\n        const $widget = $(widget);\r\n\r\n        \/*\r\n         * Corrigir imediatamente os slugs provis\u00f3rios\r\n         * e ordenar os filtros.\r\n         *\/\r\n        applyFallbackFilters($widget);\r\n        reorderFilters($widget);\r\n\r\n        if ($widget.data('ethno-isotope-fix-ready')) {\r\n            return;\r\n        }\r\n\r\n        const $gallery = $widget\r\n            .find('.portfolio .gallery')\r\n            .first();\r\n\r\n        if (!$gallery.length) {\r\n            return;\r\n        }\r\n\r\n        $widget.data(\r\n            'ethno-isotope-fix-ready',\r\n            true\r\n        );\r\n\r\n        let resizeTimer = null;\r\n        let transitionTimer = null;\r\n\r\n        \/**\r\n         * Solicita ao Isotope um novo c\u00e1lculo da grelha.\r\n         *\/\r\n        function forceLayout() {\r\n            const galleryElement = $gallery.get(0);\r\n\r\n            if (\r\n                !galleryElement ||\r\n                !document.documentElement.contains(\r\n                    galleryElement\r\n                )\r\n            ) {\r\n                return;\r\n            }\r\n\r\n            const instance = getIsotopeInstance(\r\n                galleryElement\r\n            );\r\n\r\n            if (\r\n                instance &&\r\n                typeof instance.layout === 'function'\r\n            ) {\r\n                instance.layout();\r\n                return;\r\n            }\r\n\r\n            \/*\r\n             * Alternativa para vers\u00f5es em que a inst\u00e2ncia\r\n             * apenas est\u00e1 acess\u00edvel atrav\u00e9s do plugin jQuery.\r\n             *\/\r\n            if (typeof $.fn.isotope === 'function') {\r\n                try {\r\n                    $gallery.isotope('layout');\r\n                } catch (error) {\r\n                    \/*\r\n                     * O Wavo poder\u00e1 ainda n\u00e3o ter terminado\r\n                     * a inicializa\u00e7\u00e3o. As chamadas seguintes\r\n                     * voltar\u00e3o a tentar.\r\n                     *\/\r\n                }\r\n            }\r\n        }\r\n\r\n        \/**\r\n         * Executa v\u00e1rias recalcula\u00e7\u00f5es em momentos diferentes.\r\n         *\r\n         * Isto compensa altera\u00e7\u00f5es de dimens\u00e3o causadas por:\r\n         *\r\n         * - imagens;\r\n         * - fontes;\r\n         * - Splitting;\r\n         * - anima\u00e7\u00f5es do tema;\r\n         * - reorganiza\u00e7\u00e3o dos filtros.\r\n         *\/\r\n        function scheduleLayout() {\r\n            clearTimeout(transitionTimer);\r\n\r\n            $widget.addClass(\r\n                'ethno-isotope-arranging'\r\n            );\r\n\r\n            window.requestAnimationFrame(function () {\r\n                window.requestAnimationFrame(\r\n                    forceLayout\r\n                );\r\n            });\r\n\r\n            window.setTimeout(forceLayout, 60);\r\n            window.setTimeout(forceLayout, 180);\r\n            window.setTimeout(forceLayout, 420);\r\n\r\n            transitionTimer = window.setTimeout(\r\n                function () {\r\n                    $widget.removeClass(\r\n                        'ethno-isotope-arranging'\r\n                    );\r\n\r\n                    forceLayout();\r\n                },\r\n                520\r\n            );\r\n        }\r\n\r\n        \/**\r\n         * Depois de obter os slugs reais das categorias:\r\n         *\r\n         * - volta a ordenar os filtros;\r\n         * - recalcula a grelha.\r\n         *\/\r\n        syncFiltersWithWordPress($widget)\r\n            .then(function () {\r\n                reorderFilters($widget);\r\n                scheduleLayout();\r\n            });\r\n\r\n        \/**\r\n         * O Wavo continua respons\u00e1vel por mostrar e esconder\r\n         * os projetos.\r\n         *\r\n         * Este evento apenas recalcula a grelha depois\r\n         * da aplica\u00e7\u00e3o do filtro.\r\n         *\/\r\n        $widget.on(\r\n            'click.ethnoIsotopeFix',\r\n            '.filtering span[data-filter]',\r\n            function () {\r\n                scheduleLayout();\r\n            }\r\n        );\r\n\r\n        \/**\r\n         * Recalcular quando as imagens terminarem de carregar.\r\n         *\/\r\n        $widget.find('img').each(function () {\r\n            if (!this.complete) {\r\n                $(this).one(\r\n                    'load.ethnoIsotopeFix error.ethnoIsotopeFix',\r\n                    scheduleLayout\r\n                );\r\n            }\r\n        });\r\n\r\n        \/**\r\n         * Recalcular quando as fontes terminarem de carregar.\r\n         *\/\r\n        if (\r\n            document.fonts &&\r\n            document.fonts.ready\r\n        ) {\r\n            document.fonts.ready.then(\r\n                scheduleLayout\r\n            );\r\n        }\r\n\r\n        \/**\r\n         * Recalcular depois de altera\u00e7\u00f5es da largura da janela.\r\n         *\/\r\n        $(window).on(\r\n            'resize.ethnoIsotopeFix',\r\n            function () {\r\n                clearTimeout(resizeTimer);\r\n\r\n                resizeTimer = window.setTimeout(\r\n                    scheduleLayout,\r\n                    120\r\n                );\r\n            }\r\n        );\r\n\r\n        \/**\r\n         * Recalcular depois da inicializa\u00e7\u00e3o original do Wavo.\r\n         *\/\r\n        window.setTimeout(scheduleLayout, 0);\r\n        window.setTimeout(scheduleLayout, 300);\r\n        window.setTimeout(scheduleLayout, 800);\r\n    }\r\n\r\n    \/**\r\n     * Procura os portef\u00f3lios ETHNO dentro do \u00e2mbito indicado.\r\n     *\/\r\n    function scanEthnoPortfolios(scope) {\r\n        const $scope = scope\r\n            ? $(scope)\r\n            : $(document);\r\n\r\n        if ($scope.is(widgetSelector)) {\r\n            setupEthnoPortfolio(\r\n                $scope.get(0)\r\n            );\r\n        }\r\n\r\n        $scope\r\n            .find(widgetSelector)\r\n            .each(function () {\r\n                setupEthnoPortfolio(this);\r\n            });\r\n    }\r\n\r\n    \/*\r\n     * Executar imediatamente.\r\n     *\r\n     * O widget do portef\u00f3lio j\u00e1 est\u00e1 acima deste widget HTML,\r\n     * portanto os filtros podem ser corrigidos antes de os\r\n     * scripts do Wavo carregarem no rodap\u00e9.\r\n     *\/\r\n    scanEthnoPortfolios(document);\r\n\r\n    \/**\r\n     * Frontend normal.\r\n     *\/\r\n    $(function () {\r\n        scanEthnoPortfolios(document);\r\n    });\r\n\r\n    \/**\r\n     * Compatibilidade com Elementor e pr\u00e9-visualiza\u00e7\u00e3o.\r\n     *\/\r\n    $(window).on(\r\n        'elementor\/frontend\/init',\r\n        function () {\r\n            if (\r\n                window.elementorFrontend &&\r\n                elementorFrontend.hooks\r\n            ) {\r\n                elementorFrontend.hooks.addAction(\r\n                    'frontend\/element_ready\/wavo-projects-gallery.default',\r\n                    function ($scope) {\r\n                        scanEthnoPortfolios(\r\n                            $scope\r\n                        );\r\n                    }\r\n                );\r\n            }\r\n        }\r\n    );\r\n\r\n})(jQuery);\r\n<\/script>\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>Projetos Portef\u00f3lio Document\u00e1rios criativos, document\u00e1rios museogr\u00e1ficos, multim\u00e9dia, filmes institucionais e fotografia. TodosMultim\u00e9diaFotografiaFilmes InstitucionaisDocument\u00e1rios Museogr\u00e1ficosDocument\u00e1rios Criativos Filhos do Vosso Amor 2025 \/ 2026 O Projeto Liter\u00e1rio &#8211; Cr\u00f3nicas de J\u00falio Dinis em Ovar 2023 \/ 2024 IMAGO 2023 \/ 2024 O Grito da Raposa na Noite Fria 2022 \u00c1gua nas Guelras 2019 \/ 2020 O Caminho&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"wavo-elementor-page.php","meta":{"_acf_changed":false,"footnotes":"","_et_pb_custom_css":""},"class_list":["post-4652","page","type-page","status-publish","hentry","nt-post-class",""],"acf":[],"_et_pb_custom_css":"","_links":{"self":[{"href":"https:\/\/ethno.maisdigital.pt\/en\/wp-json\/wp\/v2\/pages\/4652","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ethno.maisdigital.pt\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ethno.maisdigital.pt\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ethno.maisdigital.pt\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ethno.maisdigital.pt\/en\/wp-json\/wp\/v2\/comments?post=4652"}],"version-history":[{"count":129,"href":"https:\/\/ethno.maisdigital.pt\/en\/wp-json\/wp\/v2\/pages\/4652\/revisions"}],"predecessor-version":[{"id":5738,"href":"https:\/\/ethno.maisdigital.pt\/en\/wp-json\/wp\/v2\/pages\/4652\/revisions\/5738"}],"wp:attachment":[{"href":"https:\/\/ethno.maisdigital.pt\/en\/wp-json\/wp\/v2\/media?parent=4652"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}