{"id":1945,"date":"2025-07-17T14:37:32","date_gmt":"2025-07-17T14:37:32","guid":{"rendered":"https:\/\/eticalgarve.kobudev.com\/contacts\/"},"modified":"2025-09-03T00:21:35","modified_gmt":"2025-09-03T00:21:35","slug":"contacts","status":"publish","type":"page","link":"https:\/\/eticalgarve.kobudev.com\/en\/contacts\/","title":{"rendered":"Contacts"},"content":{"rendered":"\n<div class=\"wp-block-group alignwide grid-wide-2-2_6-7_1 is-layout-grid wp-container-core-group-is-layout-baef362d wp-block-group-is-layout-grid\"><script type=\"text\/javascript\">\n\/* <![CDATA[ *\/\n\n\/\/----------------------------------------------------------\n\/\/------ JAVASCRIPT HOOK FUNCTIONS FOR GRAVITY FORMS -------\n\/\/----------------------------------------------------------\n\nif ( ! gform ) {\n\tdocument.addEventListener( 'gform_main_scripts_loaded', function() { gform.scriptsLoaded = true; } );\n\tdocument.addEventListener( 'gform\/theme\/scripts_loaded', function() { gform.themeScriptsLoaded = true; } );\n\twindow.addEventListener( 'DOMContentLoaded', function() { gform.domLoaded = true; } );\n\n\tvar gform = {\n\t\tdomLoaded: false,\n\t\tscriptsLoaded: false,\n\t\tthemeScriptsLoaded: false,\n\t\tisFormEditor: () => typeof InitializeEditor === 'function',\n\n\t\t\/**\n\t\t * @deprecated 2.9 the use of initializeOnLoaded in the form editor context is deprecated.\n\t\t * @remove-in 4.0 this function will not check for gform.isFormEditor().\n\t\t *\/\n\t\tcallIfLoaded: function ( fn ) {\n\t\t\tif ( gform.domLoaded && gform.scriptsLoaded && ( gform.themeScriptsLoaded || gform.isFormEditor() ) ) {\n\t\t\t\tif ( gform.isFormEditor() ) {\n\t\t\t\t\tconsole.warn( 'The use of gform.initializeOnLoaded() is deprecated in the form editor context and will be removed in Gravity Forms 3.1.' );\n\t\t\t\t}\n\t\t\t\tfn();\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\n\t\t\/**\n\t\t * Call a function when all scripts are loaded\n\t\t *\n\t\t * @param function fn the callback function to call when all scripts are loaded\n\t\t *\n\t\t * @returns void\n\t\t *\/\n\t\tinitializeOnLoaded: function( fn ) {\n\t\t\tif ( ! gform.callIfLoaded( fn ) ) {\n\t\t\t\tdocument.addEventListener( 'gform_main_scripts_loaded', () => { gform.scriptsLoaded = true; gform.callIfLoaded( fn ); } );\n\t\t\t\tdocument.addEventListener( 'gform\/theme\/scripts_loaded', () => { gform.themeScriptsLoaded = true; gform.callIfLoaded( fn ); } );\n\t\t\t\twindow.addEventListener( 'DOMContentLoaded', () => { gform.domLoaded = true; gform.callIfLoaded( fn ); } );\n\t\t\t}\n\t\t},\n\n\t\thooks: { action: {}, filter: {} },\n\t\taddAction: function( action, callable, priority, tag ) {\n\t\t\tgform.addHook( 'action', action, callable, priority, tag );\n\t\t},\n\t\taddFilter: function( action, callable, priority, tag ) {\n\t\t\tgform.addHook( 'filter', action, callable, priority, tag );\n\t\t},\n\t\tdoAction: function( action ) {\n\t\t\tgform.doHook( 'action', action, arguments );\n\t\t},\n\t\tapplyFilters: function( action ) {\n\t\t\treturn gform.doHook( 'filter', action, arguments );\n\t\t},\n\t\tremoveAction: function( action, tag ) {\n\t\t\tgform.removeHook( 'action', action, tag );\n\t\t},\n\t\tremoveFilter: function( action, priority, tag ) {\n\t\t\tgform.removeHook( 'filter', action, priority, tag );\n\t\t},\n\t\taddHook: function( hookType, action, callable, priority, tag ) {\n\t\t\tif ( undefined == gform.hooks[hookType][action] ) {\n\t\t\t\tgform.hooks[hookType][action] = [];\n\t\t\t}\n\t\t\tvar hooks = gform.hooks[hookType][action];\n\t\t\tif ( undefined == tag ) {\n\t\t\t\ttag = action + '_' + hooks.length;\n\t\t\t}\n\t\t\tif( priority == undefined ){\n\t\t\t\tpriority = 10;\n\t\t\t}\n\n\t\t\tgform.hooks[hookType][action].push( { tag:tag, callable:callable, priority:priority } );\n\t\t},\n\t\tdoHook: function( hookType, action, args ) {\n\n\t\t\t\/\/ splice args from object into array and remove first index which is the hook name\n\t\t\targs = Array.prototype.slice.call(args, 1);\n\n\t\t\tif ( undefined != gform.hooks[hookType][action] ) {\n\t\t\t\tvar hooks = gform.hooks[hookType][action], hook;\n\t\t\t\t\/\/sort by priority\n\t\t\t\thooks.sort(function(a,b){return a[\"priority\"]-b[\"priority\"]});\n\n\t\t\t\thooks.forEach( function( hookItem ) {\n\t\t\t\t\thook = hookItem.callable;\n\n\t\t\t\t\tif(typeof hook != 'function')\n\t\t\t\t\t\thook = window[hook];\n\t\t\t\t\tif ( 'action' == hookType ) {\n\t\t\t\t\t\thook.apply(null, args);\n\t\t\t\t\t} else {\n\t\t\t\t\t\targs[0] = hook.apply(null, args);\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t\tif ( 'filter'==hookType ) {\n\t\t\t\treturn args[0];\n\t\t\t}\n\t\t},\n\t\tremoveHook: function( hookType, action, priority, tag ) {\n\t\t\tif ( undefined != gform.hooks[hookType][action] ) {\n\t\t\t\tvar hooks = gform.hooks[hookType][action];\n\t\t\t\thooks = hooks.filter( function(hook, index, arr) {\n\t\t\t\t\tvar removeHook = (undefined==tag||tag==hook.tag) && (undefined==priority||priority==hook.priority);\n\t\t\t\t\treturn !removeHook;\n\t\t\t\t} );\n\t\t\t\tgform.hooks[hookType][action] = hooks;\n\t\t\t}\n\t\t}\n\t};\n}\n\n\/* ]]> *\/\n<\/script>\n\n                <div class='gf_browser_gecko gform_wrapper gravity-theme gform-theme--no-framework' data-form-theme='gravity-theme' data-form-index='0' id='gform_wrapper_1' ><div id='gf_1' class='gform_anchor' tabindex='-1'><\/div>\n                        <div class='gform_heading'>\n                            <p class='gform_description'><\/p>\n\t\t\t\t\t\t\t<p class='gform_required_legend'>&quot;<span class=\"gfield_required gfield_required_asterisk\">*<\/span>&quot; indicates required fields<\/p>\n                        <\/div><form method='post' enctype='multipart\/form-data' target='gform_ajax_frame_1' id='gform_1'  action='\/en\/wp-json\/wp\/v2\/pages\/1945#gf_1' data-formid='1' novalidate>\n                        <div class='gform-body gform_body'><div id='gform_fields_1' class='gform_fields top_label form_sublabel_below description_below validation_below'><fieldset id=\"field_1_1\" class=\"gfield gfield--type-name gfield--input-type-name gfield_contains_required field_sublabel_hidden_label gfield--no-description field_description_below field_validation_below gfield_visibility_visible\"  ><legend class='gfield_label gform-field-label gfield_label_before_complex' >Nome<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_asterisk\">*<\/span><\/span><\/legend><div class='ginput_complex ginput_container ginput_container--name no_prefix has_first_name no_middle_name no_last_name no_suffix gf_name_has_1 ginput_container_name gform-grid-row' id='input_1_1'>\n                            \n                            <span id='input_1_1_3_container' class='name_first gform-grid-col gform-grid-col--size-auto' >\n                                                    <input type='text' name='input_1.3' id='input_1_1_3' value=''   aria-required='true'   placeholder='Nome'  \/>\n                                                    <label for='input_1_1_3' class='gform-field-label gform-field-label--type-sub hidden_sub_label screen-reader-text'>First<\/label>\n                                                <\/span>\n                            \n                            \n                            \n                        <\/div><\/fieldset><div id=\"field_1_2\" class=\"gfield gfield--type-email gfield--input-type-email gfield_contains_required field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_1_2'>Email<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_asterisk\">*<\/span><\/span><\/label><div class='ginput_container ginput_container_email'>\n                            <input name='input_2' id='input_1_2' type='email' value='' class='large'   placeholder='Email' aria-required=\"true\" aria-invalid=\"false\"  \/>\n                        <\/div><\/div><div id=\"field_1_9\" class=\"gfield gfield--type-select gfield--input-type-select gfield--width-full gfield_contains_required field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_1_9'>Assunto<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_asterisk\">*<\/span><\/span><\/label><div class='ginput_container ginput_container_select'><select name='input_9' id='input_1_9' class='large gfield_select'    aria-required=\"true\" aria-invalid=\"false\" ><option value='' selected='selected' class='gf_placeholder'>Selecionar assunto<\/option><option value='Informa\u00e7\u00f5es sobre Cursos' >Informa\u00e7\u00f5es sobre Cursos<\/option><option value='Parcerias e Eventos' >Parcerias e Eventos<\/option><option value='Outros Assuntos \/ Apoio Geral' >Outros Assuntos \/ Apoio Geral<\/option><\/select><\/div><\/div><div id=\"field_1_10\" class=\"gfield gfield--type-textarea gfield--input-type-textarea gfield--width-full field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_1_10'>Mensagem<\/label><div class='ginput_container ginput_container_textarea'><textarea name='input_10' id='input_1_10' class='textarea large'    placeholder='Mensagem'  aria-invalid=\"false\"   rows='10' cols='50'><\/textarea><\/div><\/div><fieldset id=\"field_1_6\" class=\"gfield gfield--type-consent gfield--type-choice gfield--input-type-consent gfield--width-full field_sublabel_below gfield--no-description field_description_below hidden_label field_validation_below gfield_visibility_visible\"  ><legend class='gfield_label gform-field-label gfield_label_before_complex' >Consentimento<\/legend><div class='ginput_container ginput_container_consent'><input name='input_6.1' id='input_1_6_1' type='checkbox' value='1'    aria-invalid=\"false\"   \/> <label class=\"gform-field-label gform-field-label--type-inline gfield_consent_label\" for='input_1_6_1' >Concordas com os termos e condi\u00e7\u00f5es. Descobre que dados recolhemos e como os usamos na Pol\u00edtica de Privacidade.<\/label><input type='hidden' name='input_6.2' value='Concordas com os termos e condi\u00e7\u00f5es. Descobre que dados recolhemos e como os usamos na Pol\u00edtica de Privacidade.' class='gform_hidden' \/><input type='hidden' name='input_6.3' value='1' class='gform_hidden' \/><\/div><\/fieldset><\/div><\/div>\n        <div class='gform-footer gform_footer top_label'> <input type='submit' id='gform_submit_button_1' class='gform_button button' onclick='gform.submission.handleButtonClick(this);' data-submission-type='submit' value='Submeter'  \/> <input type='hidden' name='gform_ajax' value='form_id=1&amp;title=&amp;description=1&amp;tabindex=0&amp;theme=gravity-theme&amp;styles={&quot;theme&quot;:&quot;gravity-theme&quot;,&quot;inputPrimaryColor&quot;:&quot;#204ce5&quot;}&amp;hash=61dc3dc78226c686baf6a02b75d77034' \/>\n            <input type='hidden' class='gform_hidden' name='gform_submission_method' data-js='gform_submission_method_1' value='iframe' \/>\n            <input type='hidden' class='gform_hidden' name='gform_theme' data-js='gform_theme_1' id='gform_theme_1' value='gravity-theme' \/>\n            <input type='hidden' class='gform_hidden' name='gform_style_settings' data-js='gform_style_settings_1' id='gform_style_settings_1' value='{&quot;theme&quot;:&quot;gravity-theme&quot;,&quot;inputPrimaryColor&quot;:&quot;#204ce5&quot;}' \/>\n            <input type='hidden' class='gform_hidden' name='is_submit_1' value='1' \/>\n            <input type='hidden' class='gform_hidden' name='gform_submit' value='1' \/>\n            \n            <input type='hidden' class='gform_hidden' name='gform_currency' data-currency='EUR' value='NVg6PdFKkXBwVP0bslJdkN7WdZqClenflXqqHI7CdAfHPGb7IGEfuDQjBl7g29acXP7y5ufpz+FMPmaAJ2rJq0UVeUmo+64bmEpsUFzyJtDg+9E=' \/>\n            <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' \/>\n            <input type='hidden' class='gform_hidden' name='state_1' value='WyJ7XCI5XCI6W1wiNjlmYzE4MTE0YmQ3NmY0ZDllYWEzZmMyNjgzYmQ2YTZcIixcIjE0ZTMyYTY5NWQzMjExZWEzZTI5OWUzYTBhYzNjNTg0XCIsXCI3YWY2YzM1YTYzYmJhYjJjNmYxOWI1YmQyZjUwYjk5OVwiXSxcIjYuMVwiOlwiNWM3NjdkYTk0YTJmMGZjODFlYjEwZDVkYTYyNDNjYjBcIixcIjYuMlwiOlwiZjc5NDhiOGY5OGZmOWUxMTU3ZmYwNzUzYTMwZmYwYzRcIixcIjYuM1wiOlwiNWM3NjdkYTk0YTJmMGZjODFlYjEwZDVkYTYyNDNjYjBcIn0iLCI2NTc0YmZiODU4ODZkYWEwMzhkMjU5NzgxZTliNmVhMiJd' \/>\n            <input type='hidden' autocomplete='off' class='gform_hidden' name='gform_target_page_number_1' id='gform_target_page_number_1' value='0' \/>\n            <input type='hidden' autocomplete='off' class='gform_hidden' name='gform_source_page_number_1' id='gform_source_page_number_1' value='1' \/>\n            <input type='hidden' name='gform_field_values' value='' \/>\n            \n        <\/div>\n                        <\/form>\n                        <\/div>\n\t\t                <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_1' id='gform_ajax_frame_1' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'><\/iframe>\n\t\t                <script type=\"text\/javascript\">\n\/* <![CDATA[ *\/\n gform.initializeOnLoaded( function() {gformInitSpinner( 1, 'https:\/\/eticalgarve.kobudev.com\/files\/plugins\/gravityforms\/images\/spinner.svg', true );jQuery('#gform_ajax_frame_1').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_1');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_1').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_1').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_1').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_1').removeClass('gform_validation_error');}setTimeout( function() { \/* delay the scroll by 50 milliseconds to fix a bug in chrome *\/ jQuery(document).scrollTop(jQuery('#gform_wrapper_1').offset().top - mt); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_1').val();gformInitSpinner( 1, 'https:\/\/eticalgarve.kobudev.com\/files\/plugins\/gravityforms\/images\/spinner.svg', true );jQuery(document).trigger('gform_page_loaded', [1, current_page]);window['gf_submitting_1'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}jQuery('#gform_wrapper_1').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_1').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [1]);window['gf_submitting_1'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_1').text());}else{jQuery('#gform_1').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger(\"gform_pre_post_render\", [{ formId: \"1\", currentPage: \"current_page\", abort: function() { this.preventDefault(); } }]);        if (event && event.defaultPrevented) {                return;        }        const gformWrapperDiv = document.getElementById( \"gform_wrapper_1\" );        if ( gformWrapperDiv ) {            const visibilitySpan = document.createElement( \"span\" );            visibilitySpan.id = \"gform_visibility_test_1\";            gformWrapperDiv.insertAdjacentElement( \"afterend\", visibilitySpan );        }        const visibilityTestDiv = document.getElementById( \"gform_visibility_test_1\" );        let postRenderFired = false;        function triggerPostRender() {            if ( postRenderFired ) {                return;            }            postRenderFired = true;            gform.core.triggerPostRenderEvents( 1, current_page );            if ( visibilityTestDiv ) {                visibilityTestDiv.parentNode.removeChild( visibilityTestDiv );            }        }        function debounce( func, wait, immediate ) {            var timeout;            return function() {                var context = this, args = arguments;                var later = function() {                    timeout = null;                    if ( !immediate ) func.apply( context, args );                };                var callNow = immediate && !timeout;                clearTimeout( timeout );                timeout = setTimeout( later, wait );                if ( callNow ) func.apply( context, args );            };        }        const debouncedTriggerPostRender = debounce( function() {            triggerPostRender();        }, 200 );        if ( visibilityTestDiv && visibilityTestDiv.offsetParent === null ) {            const observer = new MutationObserver( ( mutations ) => {                mutations.forEach( ( mutation ) => {                    if ( mutation.type === 'attributes' && visibilityTestDiv.offsetParent !== null ) {                        debouncedTriggerPostRender();                        observer.disconnect();                    }                });            });            observer.observe( document.body, {                attributes: true,                childList: false,                subtree: true,                attributeFilter: [ 'style', 'class' ],            });        } else {            triggerPostRender();        }    } );} ); \n\/* ]]> *\/\n<\/script>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<p>Largo Dr. Francisco S\u00e1 Carneiro, Mercado Municipal de Faro, loja etic_algarve, 1\u00ba piso, cx. 77<br\/>8000-151 Faro, Portugal<\/p>\n\n\n\n<div class=\"wp-block-kobu-custom-blocks-responsive-spacer responsive-spacer size-custom\" data-small=\"40\" data-medium=\"40\" data-large=\"40\" style=\"height:40px\"><\/div><br>\n\n\n<noscript class=\"loading-lazy\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"830\" height=\"601\" src=\"https:\/\/eticalgarve.kobudev.com\/files\/uploads\/2025\/09\/contactos-mapa.webp\" alt=\"\" class=\"wp-image-2155\" srcset=\"https:\/\/eticalgarve.kobudev.com\/files\/uploads\/2025\/09\/contactos-mapa.webp 830w, https:\/\/eticalgarve.kobudev.com\/files\/uploads\/2025\/09\/contactos-mapa-300x217.webp 300w, https:\/\/eticalgarve.kobudev.com\/files\/uploads\/2025\/09\/contactos-mapa-768x556.webp 768w\" sizes=\"auto, (max-width: 830px) 100vw, 830px\" \/><\/figure><\/noscript>\n\n\n<div class=\"wp-block-kobu-custom-blocks-responsive-spacer responsive-spacer size-custom\" data-small=\"40\" data-medium=\"40\" data-large=\"40\" style=\"height:40px\"><\/div><br>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"no-margin-bottom\"><a href=\"tel:289823359\">289 823 359<\/a><\/p>\n\n\n\n<p class=\"has-extra-small-font-size\">chamada para rede fixa nacional<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"no-margin-bottom\"><a href=\"tel:960309550\">960 309 550<\/a><\/p>\n\n\n\n<p class=\"has-extra-small-font-size\">chamada para rede m\u00f3vel nacional<\/p>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-kobu-custom-blocks-responsive-spacer responsive-spacer size-custom\" data-small=\"40\" data-medium=\"40\" data-large=\"40\" style=\"height:40px\"><\/div><br>\n\n\n\n<p><a href=\"mailto:info@eticalgarve.com\">info@eticalgarve.com<\/a><\/p>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Largo Dr. Francisco S\u00e1 Carneiro, Mercado Municipal de Faro, loja etic_algarve, 1\u00ba piso, cx. 778000-151 Faro, Portugal 289 823 359 chamada para rede fixa nacional [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"templates\/contacts.php","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"class_list":["post-1945","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/eticalgarve.kobudev.com\/en\/wp-json\/wp\/v2\/pages\/1945","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/eticalgarve.kobudev.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/eticalgarve.kobudev.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/eticalgarve.kobudev.com\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/eticalgarve.kobudev.com\/en\/wp-json\/wp\/v2\/comments?post=1945"}],"version-history":[{"count":0,"href":"https:\/\/eticalgarve.kobudev.com\/en\/wp-json\/wp\/v2\/pages\/1945\/revisions"}],"wp:attachment":[{"href":"https:\/\/eticalgarve.kobudev.com\/en\/wp-json\/wp\/v2\/media?parent=1945"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}