CINXE.COM
V-Hub - Vodafone Business
<!DOCTYPE HTML> <html lang="pt" class="js"> <head> <link rel="apple-touch-icon" sizes="180x180" href="https://www.vodafone.pt/content/dam/favicon/apple-touch-icon.png"/> <link rel="icon" type="image/png" sizes="32x32" href="https://www.vodafone.pt/content/dam/favicon/favicon-32x32.png"/> <link rel="icon" type="image/png" sizes="16x16" href="https://www.vodafone.pt/content/dam/favicon/favicon-16x16.png"/> <link rel="icon" type="image/png" sizes="48x48" href="https://www.vodafone.pt/content/dam/favicon/favicon-48x48.png"/> <link rel="icon" type="image/png" sizes="96x96" href="https://www.vodafone.pt/content/dam/favicon/favicon-96x96.png"/> <link rel="icon" type="image/svg+xml" href="https://www.vodafone.pt/content/dam/favicon/favicon.svg"/> <link rel="manifest" href="https://www.vodafone.pt/content/dam/favicon/site.webmanifest"/> <meta name="msapplication-TileColor" content="#da532c"/> <meta name="theme-color" content="#ffffff"/> <title>V-Hub - Vodafone Business</title> <meta name="description" content="Reunimos a visão e experiência de empresários especialistas na era da transformação digital. Saiba mais sobre o V-Hub Business."/> <meta name="template" content="content-page1"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <meta http-equiv="x-ua-compatible" content="ie=edge"/> <meta name="robots" content="index, follow"/> <meta name="facebook-domain-verification" content="mlc10vfgj9nqugld6evszm4l2rkzwc"/> <link rel="canonical"/> <link rel="amphtml"/> <meta name="byside" content="vhub-organic"/> <meta property="og:title" content="V-Hub"/> <meta property="og:description" content="Reunimos a visão e experiência de empresários especialistas na era da transformação digital. Saiba mais sobre o V-Hub Business."/> <meta property="og:type" content="website"/> <meta property="og:site_name" content="Vodafone Portugal"/> <meta property="og:locale" content="pt_PT"/> <meta property="og:image" content="https://www.vodafone.pt/content/dam/digital-sites/outros/Vodafone-business-social-media-card-1200x630.png"/> <meta property="twitter:card" content="summary"/> <meta property="twitter:title" content="V-Hub"/> <meta property="twitter:description" content="Reunimos a visão e experiência de empresários especialistas na era da transformação digital. Saiba mais sobre o V-Hub Business."/> <meta property="twitter:image" content="https://www.vodafone.pt/content/dam/digital-sites/outros/Vodafone-business-social-media-card-1200x630.png"/> <script>var pagePath="/content/digital-sites/pt/business/v-hub";var canonicalUrl="";var canonicalPath='https://www.vodafone.pt';var eshopPath='https://loja.vodafone.pt';var imageTumbPath='https://www.vodafone.pt';if(pagePath.indexOf('digital-sites')>-1){if(pagePath.indexOf('particulares')>-1){if(pagePath.split('particulares')[1].length>1){canonicalPath+=pagePath.split("content/digital-sites/pt/particulares")[1]+'.html';imageTumbPath+=pagePath.split("content/digital-sites/pt/particulares")[1]+'.thumb.800.480.png';}else{imageTumbPath+='/particulares.thumb.800.480.png';}}else if(pagePath.indexOf('default')>-1){if(pagePath.split('default')[1].length>1){canonicalPath+=pagePath.split("content/digital-sites/pt/default")[1]+'.html';imageTumbPath+=pagePath.split("content/digital-sites/pt/default")[1]+'.thumb.800.480.png';}else{imageTumbPath+='/default.thumb.800.480.png';}}else if(pagePath.indexOf('ajuda/artigosTopico')>-1){var pagePathVanity=window.location.pathname;canonicalPath+=pagePathVanity.trim();if(pagePathVanity.indexOf('.html')>-1){imageTumbPath+=pagePathVanity.split('.html')[0].trim()+'.thumb.800.480.png';}else{imageTumbPath+=pagePathVanity+'.thumb.800.480.png';}}else if(pagePath.split('content/digital-sites/pt')[1]&&pagePath.split('content/digital-sites/pt')[1].length>1){canonicalPath+=pagePath.split("content/digital-sites/pt")[1]+'.html';imageTumbPath+=pagePath.split("content/digital-sites/pt")[1]+'.thumb.800.480.png';}}else if(pagePath.indexOf('digital-myvodafone')>-1){var van="";canonicalPath=van;imageTumbPath="";}else{canonicalPath+='/'+pagePath.split("/pt/")[1]+'.html';imageTumbPath+='/'+pagePath.split("/pt/")[1]+'.thumb.800.480.png';}document.querySelector("link[rel='canonical']").setAttribute('href',canonicalPath);if(document.querySelector("meta[property='og:url']")!=null&&document.querySelector("meta[property='og:url']").getAttribute('content')=="url_default"){document.querySelector("meta[property='og:url']").setAttribute('content',canonicalPath);document.querySelector("meta[property='og:url']").setAttribute('id','metaUrlId');}else if(document.querySelector("meta[property='og:url']")!=null){document.querySelector("meta[property='og:url']").setAttribute('id','metaUrlId');}if(document.querySelector("meta[property='og:image']")!=null&&document.querySelector("meta[property='og:image']").getAttribute('content')=="image_default"){document.querySelector("meta[property='og:image']").setAttribute('content',imageTumbPath);}if(canonicalUrl){document.querySelector("link[rel='canonical']").setAttribute('href',canonicalUrl);}</script> <link rel="preload" as="font" type="font/woff2" href="/apps/digital-commons/clientlibs/clientlib-site/resources/fonts/vodafone-light.woff2" crossorigin="anonymous"/> <link rel="preload" as="font" type="font/woff2" href="/apps/digital-commons/clientlibs/clientlib-site/resources/fonts/vodafone-regular.woff2" crossorigin="anonymous"/> <link rel="preload" as="font" type="font/woff2" href="/apps/digital-commons/clientlibs/clientlib-site/resources/fonts/vodafone-bold.woff2" crossorigin="anonymous"/> <link rel="stylesheet" href="/apps/digital-commons/clientlib-all-css.min.f97661e11f454bf5085b215153ddd6aa.css" type="text/css"> <script src="/etc.clientlibs/digital-commons/clientlibs/vendor/bodymovin.min.js"></script> <script src="/etc.clientlibs/clientlibs/granite/jquery.min.js"></script> <script src="/etc.clientlibs/digital-commons/clientlibs/vendor/crypto-js.min.js"></script> <script src="/apps/digital-commons/clientlib-all.min.js"></script> <script src="/etc.clientlibs/digital-commons/clientlibs/common/stores/basketStore.min.js"></script> <script src="/etc.clientlibs/digital-commons/clientlibs/common/stores/siteContextStore.min.js"></script> <script src="/etc.clientlibs/digital-commons/clientlibs/common/stores/navigationStore.min.js"></script> <!-- fix $CQ AEM 6.5 dependencies issue --> <script src="/etc.clientlibs/foundation/clientlibs/jquery.min.js"></script> <script src="/etc.clientlibs/foundation/clientlibs/shared.min.js"></script> <!-- fix $CQ AEM 6.5 dependencies issue --> <!--/ BYSIDE /--> <script src="/etc.clientlibs/digital-commons/components/content/hidden/vf_byside/clientlibs.min.js"></script> <script type="text/javascript">(function(){window.ContextHub=window.ContextHub||{};ContextHub.Paths=ContextHub.Paths||{};ContextHub.Paths.CONTEXTHUB_PATH="/etc/cloudsettings/default/contexthub";ContextHub.Paths.RESOURCE_PATH="\/content\/digital\u002Dsites\/pt\/business\/v\u002Dhub\/_jcr_content\/contexthub";ContextHub.Paths.SEGMENTATION_PATH="\/etc\/segmentation\/contexthub";ContextHub.Paths.CQ_CONTEXT_PATH="";ContextHub.Constants=ContextHub.Constants||{};ContextHub.Constants.ANONYMOUS_HOME="/home/users/D/De1Z7OJIIkUlKU0STVqF";ContextHub.Constants.MODE="no-ui";}());</script><script src="/etc/cloudsettings/default/contexthub.kernel.js" type="text/javascript"></script> <script src="https://tags.vodafone.pt/pt-universal/prod/utag.sync.js" defer></script> <!--SP-WIDGET--> <script src="https://cdn.sp-selfservice.com/cs/embed/107/sp-content-widget.js" type="text/javascript"></script> <script>var propertiesPath="/content/digital-sites/pt/business/v-hub";var tealiumBus=new Vue();var utag_data={page_name:this.navigation.methods.getAnalyticsPage(),page_section:this.navigation.methods.getAnalyticsSection()};var siteContext="default";var globalEnvironment="PRD";var isNotLocalEnvironment=globalEnvironment!=='LOCAL';</script> <div id="svgHtml"></div> <script src="/etc.clientlibs/digital-commons/clientlibs/vendor/svg-html.min.js"></script> </head> <body class="mouse-active preload window-scroll" data-js="_preload, _mouseActive, _docs, _windowScroll, _fixed"> <a href="#content" class="jumper">Skip to content</a> <!-- Click to Call Experience Fragment --> <div class="content" id="content"> <script src="/apps/digital-commons/clientlib-nvcmp.min.js"></script> <script src="/apps/digital-commons/clientlib-vcmp.min.js"></script> <!--<sly data-sly-resource="cookie"></sly>--> <div class="root responsivegrid"> <div class="aem-Grid aem-Grid--12 aem-Grid--default--12 "> <div class="vf_experienceFragment aem-GridColumn aem-GridColumn--default--12"> <div class="xfpage page basicpage"> <div class="xf-content-height"> <div class="aem-Grid aem-Grid--12 aem-Grid--default--12 "> <div class="vf_navigation aem-GridColumn aem-GridColumn--default--12"> <script>pageTitle="V-Hub";</script> <div class="vf"> <nav class="header"> <div class="section section--wild-sand flush--top flush--bottom"> <div class="spring"> <ul id="navigationLevelZero" class="menu-navigation__top no-gutter--all"> <input type="hidden" id="zeroLevelInput" data-zero="[{"text":"Particulares","linkURL":"https://www.vodafone.pt","target":"","paramOnClick":"","selected":false,"subEntries":false,"zeroLevelSubEntries":[]},{"text":"Business","linkURL":"","target":"","paramOnClick":"","selected":true,"subEntries":true,"zeroLevelSubEntries":[{"text":"Profissionais","linkURL":"/content/digital-sites/pt/business/profissionais.html","target":"","paramOnClick":"","context":"profissional","selected":false},{"text":"PME","linkURL":"/content/digital-sites/pt/business.html","target":"","paramOnClick":"","context":"pme","selected":false},{"text":"Corporate","linkURL":"/content/digital-sites/pt/business/corporate.html","target":"","paramOnClick":"","context":"corporate","selected":false}]},{"text":"A Vodafone","linkURL":"https://www.vodafone.pt/a-vodafone.html","target":"","paramOnClick":"","selected":false,"subEntries":false,"zeroLevelSubEntries":[]}]" data-first="{"text":"Estado da Rede","linkURL":"https://www.vodafone.pt/info/estado-da-rede.html","target":"","paramOnClick":""}" data-second="{"text":"Condições de Oferta de Serviços","linkURL":"https://www.vodafone.pt/info/termos-condicoes.html","target":"","paramOnClick":""}"/> <template v-for="(zero, z) in zeroLevel"> <li class="hide--sm hide--md" v-if="zero.text"> <a :href="zero.linkURL ? zero.linkURL : null" :target="zero.target ? zero.target : null" :onclick="zero.paramOnClick ? zero.paramOnClick : null" @click="headerTealiumRequest(upperLevelMenuActionId, zero.text)" class="menu-navigation__link--slim" :class="{'navigation__site--active': zero.selected}"> {{zero.text}} </a> <template v-if="zero.subEntries"> <template v-for="sub in zero.zeroLevelSubEntries"> <span class="menu-navigation__top--display"> <a :href="sub.linkURL ? sub.linkURL : null" :target="sub.target ? sub.target : null" :onclick="sub.paramOnClick ? sub.paramOnClick : null" @click="(toggleSubEntry(sub), headerTealiumRequest(upperLevelMenuActionId, sub.text))" class="menu-navigation__top--block" :class="{'menu-navigation__top--block-active': isSelected(sub) }"> {{sub.text}} </a> </span> </template> </template> </li> </template> <template v-if="firstEntry.text"> <li class="menu-navigation__context"> <span class="menu-navigation__top--section-right"> <svg focusable="false" aria-hidden="true" class="icon icon--extra-small"> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-network"> </use> </svg> <a role="button" :aria-label="firstEntry.text" :href="firstEntry.linkURL ? firstEntry.linkURL : null" :target="firstEntry.target ? firstEntry.target : null" :onclick="firstEntry.paramOnClick ? firstEntry.paramOnClick : null" @click="headerTealiumRequest(rightSideMenuActionId, firstEntry.text)"> {{firstEntry.text}} </a> </span> </li> </template> <template v-if="secondEntry.text"> <li class="hide--sm hide--md"> <span class="menu-navigation__top--section-right"> <svg viewBox="0 0 192 192" class="icon icon--extra-small"> <line id="afa0dea2-fdb5-4188-b127-0390bcfc2413" fill="none" stroke="#333" stroke-width="8" stroke-linecap="round" stroke-miterlimit="10" x1="124" y1="84" x2="92" y2="84"></line> <line id="fca2dd7d-8243-463f-9694-d76870f6b696" fill="none" stroke="333" stroke-width="8" stroke-linecap="round" stroke-miterlimit="10" x1="76" y1="84" x2="68" y2="84"></line> <line id="c0f6faeb-1130-48f3-b62a-bcd83c3abeaf" fill="none" stroke="#333" stroke-width="8" stroke-linecap="round" stroke-miterlimit="10" x1="124" y1="108" x2="92" y2="108"></line> <line id="_x39_f9d3ac1-3527-469f-b7cc-d7b4a8af09e5" fill="none" stroke="#333" stroke-width="8" stroke-linecap="round" stroke-miterlimit="10" x1="76" y1="108" x2="68" y2="108"></line> <line id="_x30_e845ff5-6eb9-4522-9631-9073c7db3199" fill="none" stroke="3333" stroke-width="8" stroke-linecap="round" stroke-miterlimit="10" x1="124" y1="132" x2="92" y2="132"></line> <line id="_x39_0b7f6c8-8095-43f3-848c-53ffec273712" fill="none" stroke="#333" stroke-width="8" stroke-linecap="round" stroke-miterlimit="10" x1="76" y1="132" x2="68" y2="132"></line> <path fill="none" stroke="#333" stroke-width="8" stroke-linejoin="round" d="M148,52l-32-32H56c-6.627,0-12,5.373-12,12v128 c0,6.627,5.373,12,12,12h80c6.627,0,12-5.373,12-12V52z"> </path> <polyline fill="none" stroke="#333" stroke-width="8" stroke-linejoin="round" points="116,20.23 116,52 148,52 "></polyline> </svg> <a role="button" :aria-label="secondEntry.text" :href="secondEntry.linkURL ? secondEntry.linkURL : null" :target="secondEntry.target ? secondEntry.target : null" :onclick="secondEntry.paramOnClick ? secondEntry.paramOnClick : null" @click="headerTealiumRequest(rightSideMenuActionId, secondEntry.text)"> {{secondEntry.text}} </a> </span> </li> </template> </ul> </div> </div> <div class="js-navigation-static navigation-static" style="height: 0px;"> </div> <div id="headerMenu" class="menu-navigation" data-js="_navigation"> <div class="spring menu-navigation__white"> <nav role="navigation"> <ul class="menu-navigation__list menu-navigation__spring"> <li class="menu-navigation__item menu-navigation__item--brand"> <div class="brand brand__logo"> <a role="button" href="https://www.vodafone.pt/business.html" target="_self"> <span class="icon icon--fill icon--large " style="width: ; height: ;"> <svg id="e52eb7e4-d5c9-48ac-9673-45b02cdb0493" data-name="55671e39-cefa-46bf-b0c9-8ca4a8831d80" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 192"><circle id="e59f7850-209c-49b6-932b-d92b9ddb2e2b" data-name="3b6eeea0-d9a3-4e8f-8337-993d6a52ca63" cx="96" cy="96" r="96" fill="#e60000"/><path id="b738ebc5-5ac0-4e37-a8a8-f1f8eceedf02" data-name="79849975-131f-4aec-9367-219fecbac6d4" d="M96.74,149.53c-26.37.1-53.82-22.37-53.93-58.57,0-23.91,12.83-46.92,29.32-60.59C88.22,17.1,110.24,8.51,130.22,8.44a23.94,23.94,0,0,1,6.9.77c-17.46,3.63-31.37,19.88-31.31,38.32a10.38,10.38,0,0,0,.12,1.57c29.24,7.06,42.5,24.73,42.58,49.16S129.33,149.43,96.74,149.53Z" fill="#fff"/></svg> </span> <span class="visually-hidden"></span> </a> </div> </li> <div id="navigation" class="menu-navigation__labels"> <navigation-menu json="/content/dam/digital-sites/ws10/navigation-ws10/business.json" zero-level="[{"text":"Particulares","linkURL":"https://www.vodafone.pt","target":"","paramOnClick":"","selected":false,"subEntries":false,"zeroLevelSubEntries":[]},{"text":"Business","linkURL":"","target":"","paramOnClick":"","selected":true,"subEntries":true,"zeroLevelSubEntries":[{"text":"Profissionais","linkURL":"/content/digital-sites/pt/business/profissionais.html","target":"","paramOnClick":"","context":"profissional","selected":false},{"text":"PME","linkURL":"/content/digital-sites/pt/business.html","target":"","paramOnClick":"","context":"pme","selected":false},{"text":"Corporate","linkURL":"/content/digital-sites/pt/business/corporate.html","target":"","paramOnClick":"","context":"corporate","selected":false}]},{"text":"A Vodafone","linkURL":"https://www.vodafone.pt/a-vodafone.html","target":"","paramOnClick":"","selected":false,"subEntries":false,"zeroLevelSubEntries":[]}]" second-entry="{"text":"Condições de Oferta de Serviços","linkURL":"https://www.vodafone.pt/info/termos-condicoes.html","target":"","paramOnClick":""}"> </navigation-menu> </div> <div class="menu-navigation__context"> <template> <div> The current path is: {{ currentPath }} </div> </template> <div id="login--header" class="menu-navigation__context" v-cloak> <div class="menu-navigation__context" style="display: inline-flex;"> <li class="menu-navigation__context--action mini-basket" :class="{'mini-basket--active': miniBasketVisible}"> <a v-if="showBasketIcon" class="menu-navigation__link menu-navigation__link--icon" :class="{'mini-basket__link': miniBasketVisible}" @click="(goToShoppingBasket(), headerTealiumRequest('Event Click Header Right Utility Menu', 'Carrinho'))"> <span class="visually-hidden">Carrinho de compras</span> <span class="menu-navigation__basket" v-if="showItems"> {{counter ? counter : itemsNumber}} <span class="visually-hidden">items</span> </span> <svg focusable="false" aria-hidden="true" class="icon icon--small menu-navigation__icon"> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-shopping-trolley"></use> </svg> </a> <a v-else id="basket-loading" class="menu-navigation__link menu-navigation__link--icon"></a> <small v-if="showBasketIcon" class="menu-navigation__context--label" @click="(goToShoppingBasket(), headerTealiumRequest('Event Click Header Right Utility Menu', 'Carrinho'))">Carrinho</small> <mini-basket v-if="isDigitalSites" ref="miniBasket" :visible="miniBasketVisible" :close="closeMiniBasketEvent" :set-items-number="setItemsNumber" :toggle-mini-basket="toggleMiniBasket"></mini-basket> <div :ref="CONSTANTS.NOTIFICATION_BASKET" class="mini-basket__prompt mini-basket__prompt--reminder hide"> <div class="mini-basket__header"> <div class="grid"> <div class="grid__item grid__item--1/6"> <a class="position--relative cursor__auto"> <span class="visually-hidden">Carrinho de compras</span> <span class="navigation__basket"> <span class="visually-hidden">produto</span> </span> <svg focusable="false" aria-hidden="true" class="icon icon--small navigation__icon"> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-shopping-trolley"></use> </svg> </a> </div> <div class="grid__item grid__item--5/6"> <div class="heading heading--5 heading--bold heading--trailing heading--leading"> <span class="mini-basket__notification--description align--middle"> {{i18nLabels.basketNotEmpty}} </span> </div> <p>{{i18nLabels.reminderDescription}}</p> <div class="cart__tooltip"> <a v-on:click="redirectNotEmptyBasket" class="button button--primary button--small mini-basket__footer__button no-gutter--bottom">{{i18nLabels.goToCart}}</a> </div> </div> </div> <div class="mini-basket__header__close"> <svg v-on:click="closeNotification()" focusable="false" aria-hidden="true" class="icon icon--extra-extra-small mini-basket__header__close--icon"> <use xlink:href="#icon-close"></use> </svg> </div> </div> </div> </li> <li class="menu-navigation__context--action"> <a class="menu-navigation__link menu-navigation__link--icon " @click="(openDialog(), headerTealiumRequest('Event Click Header Right Utility Menu', 'Pesquisa'))"> <span class="visually-hidden">Pesquisar</span> <svg focusable="false" aria-hidden="true" class="icon icon--small menu-navigation__icon"> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-search"></use> </svg> </a> <small class="menu-navigation__context--label" @click="(openDialog(), headerTealiumRequest('Event Click Header Right Utility Menu', 'Pesquisa'))">Pesquisa</small> <!--TODO:meter o link no context(ficheiros xml)--> </li> <li v-if="ativeLogin && typeof userFavorite === 'undefined'" class="menu-navigation__context--action login-nudge " :class="{'login-nudge--active' : showNudge && !hasInteractions && !scrolled}" v-click-outside="closeEvent"> <a atf_id="click--icon" class="menu-navigation__link menu-navigation__link--icon login-nudge__link" @click="(openLoginDialog(), headerTealiumRequest('Event Click Header Right Utility Menu', 'Login'))"> <span class="visually-hidden">My Vodafone Menu</span> <svg focusable="false" aria-hidden="true" class="icon icon--small menu-navigation__icon"> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-my-vodafone"/> </svg> </a> <small class="menu-navigation__context--label" @click="(openLoginDialog(), headerTealiumRequest('Event Click Header Right Utility Menu', 'Login'))">Login</small> <div v-if="showNudge" class="js-login-nudge-prompt login-nudge__prompt" :class="{'login-nudge--hide' : showNudge && (hasInteractions || scrolled)}"> <a class="button button--primary button--full-width login-nudge__login no-gutter--sm-bottom" @click="sayYes">{{i18nLabels.loginButton}}</a> <a class="link link--body small" @click="notOpenAgain">{{i18nLabels.notOpenAgainButton}}</a> </div> </li> <logged-user-menu v-if="!ativeLogin" ref="loggedUserMenu" links="{"linkTitle":"Homepage My Vodafone", "pathURL":"/home.html", "newTab":"false", "linkId":"homepage"},{"linkTitle":"Extratos e Consumos","pathURL":"/extratos-consumos.html","newTab":"false","newTab@Delete":"false","linkId":"extract-consumptions","linkSegments":"profile-extract-consumptions"},{"linkTitle":"Saldo e Carregamentos","pathURL":"/saldo-movimentos.html","newTab":"false","newTab@Delete":"false","linkId":"billing-prepaid","linkSegments":"profile-prepaid"},{"linkTitle":"Faturas e Pagamentos","pathURL":"/faturacao.html","newTab":"false","newTab@Delete":"false","linkId":"billing","linkSegments":"profile-pospaid"},{"linkTitle":"Meus Produtos e Serviços","pathURL":"/produtos-servicos.html","newTab":"false","newTab@Delete":"false","linkId":"my-products-and-services","linkSegments":""},{"linkTitle":"Gerir Cartão SIM","pathURL":"/definicoes/gerir-sim.html","newTab":"false","newTab@Delete":"false","linkId":"SIM","linkSegments":""},{"linkTitle":"Clube Viva","pathURL":"/content/digital-sites/pt/loja/clube-viva","newTab":"true","newTab@Delete":"","linkId":"ClubViva","linkSegments":"profile-consumer"},{"linkTitle":"Tarifários e Serviços","pathURL":"/tarifarios-servicos.html","newTab":"false","newTab@Delete":"false","linkId":"offers-and-extras","linkSegments":""},{"linkTitle":"Serviços Empresariais","pathURL":"/servicos-empresariais.html","newTab":"false","newTab@Delete":"false","linkId":"business-services","linkSegments":"profile-business-services"},{"linkTitle":"Relatórios","pathURL":"/relatorios.html","newTab":"false","newTab@Delete":"false","linkId":"download-center","linkSegments":"profile-account|profile-business|profile-consumer"},{"linkTitle":"Gestão de Acessos","pathURL":"/my/gestao-acessos","newTab":"true","newTab@Delete":"","linkId":"gestao-acessos","linkSegments":"profile-account"},{"linkTitle":"Definições","pathURL":"/definicoes.html","newTab":"false","newTab@Delete":"false","linkId":"Settings","linkSegments":""},{"linkTitle":"Logout", "pathURL":"/logout.html", "newTab":"false", "linkId":"logout"}" :user-favorite="userFavorite" :close-menu="closeMenu"></logged-user-menu> <generic-toaster-component></generic-toaster-component> </div> </div> <script id="miniBasket" type="text/x-template" xmlns:v-on="http://www.w3.org/1999/xhtml"> <div> <transition name="mini-basket__slide"> <div class="mini-basket__prompt" :class="[counter>=2 ? 'mini-basket__two-or-more': '', successProductAdded ? '' : 'mini-basket__resume']" v-if="visible"> <div class="mini-basket__header"> <div class="mini-basket__notification"> <div class="mini-basket__notification--content"> <span class="half-gutter--right align--middle mini-basket__notification--icon"> <svg height="25px" viewBox="0 0 196 196"> <circle stroke-width="8" stroke-linejoin="round" stroke-linecap="round" stroke="none" fill="#428600" r="92" cy="96" cx="96"></circle> <polyline points="133.46 73.45 84.91 122 60 97.09" fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="8"></polyline> </svg> </span> <span class="align--middle mini-basket__notification--description">{{ successProductAdded ? i18n.productAddedToCart : i18n.notEmptyBasketTitle}}</span> </div> </div> <div @click="closeMiniBasket" class="mini-basket__header__close"> <svg focusable="false" aria-hidden="true" class="icon icon--extra-small mini-basket__header__close--icon"> <use xlink:href="#icon-close"></use> </svg> </div> </div> <template v-if="isLoading"> <loading-spinner :small="true" /> </template> <div v-else> <div class="mini-basket__content"> <div class="mini-basket__content__empty" v-if="counter<=0"> <svg class="icon mini-basket__content__empty--icon" viewBox="0 0 192 192"> <symbol id="_x30_6979d89-d591-4b28-b7b6-a4fa49a13fc3" viewBox="-96 -96 192 192"><circle id="_x32_5a071e1-a24e-48d3-8ad1-944920ba0020_2_" fill="none" stroke="#E60000" stroke-width="4" stroke-linecap="round" stroke-miterlimit="10" cx="-8" cy="56" r="14"></circle><circle id="_x30_2280ee8-828f-4b27-8a31-3a4aa9e52c22_2_" fill="none" stroke="#E60000" stroke-width="4" stroke-linecap="round" stroke-miterlimit="10" cx="40" cy="56" r="14"></circle><polyline fill="none" stroke="#666666" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" points="-78,-70 -52,-70 -20,22 52,22 78,-50 -45.04,-50 "></polyline></symbol> <use xlink:href="#_x30_6979d89-d591-4b28-b7b6-a4fa49a13fc3" width="192" height="192" id="ffef29f4-6a23-451b-ac33-9ea1df639421" x="-96" y="-96" transform="matrix(1 0 0 1 96 96)" overflow="visible"></use> </svg> <div class="mini-basket__content__empty--big-label"> {{i18n.emptyBasketPrimaryMessage}} </div> <div class="mini-basket__content__empty--small-label"> {{i18n.emptyBasketSecondaryMessage}} </div> </div> <div class="scrollbar__gray" :class="[(basket.cartItems && basket.cartItems.length) > 2 ? 'mini-basket__scrollbar' : 'no-scrollbar']"> <div class="force-overflow"> <template v-if="product.eshopProductDTO" v-for="(product, index) in basket.cartItems"> <ul class="mini-basket__items"> <li :id="'item-'+product.id" class="mini-basket__item"> <div :id="'item-'+product.id+'-content'"> <a v-if="isAnyShippingMethodAvailable" class="mini-basket__item__delete half-gutter--left" @click="removeProductFromBasket(product)"> <svg focusable="false" aria-hidden="true" class="icon icon--extra-small mini-basket__item__delete--icon"> <use xlink:href="#icon-delete"></use> </svg> </a> <div class="mini-basket__item__content" :style="checkHasInsurance(product) ? 'border-bottom: none' : ''"> <a :href="product.eshopProductDTO.variants[0].pageLink" class="mini-basket__item__photo-wrapper"> <img v-if="product.eshopProductDTO.variants[0].imageSrc" :src="setRendition(product.eshopProductDTO.variants[0].imageSrc, CONSTANTS.IMG_RENDITION_140x100)" :alt="product.eshopProductDTO.variants[0].name" class="mini-basket__item__photo"> </a> <div class="mini-basket__item__inner-content"> <a :href="product.eshopProductDTO.variants[0].pageLink" class="mini-basket__item__title" v-html="getProductName(product.eshopProductDTO)"> </a> <ul class="mini-basket__item__specs"> <li class="mini-basket__item__spec" v-if="product.eshopProductDTO.variants[0].color && product.eshopProductDTO.variants[0].color!==''"> <div class="mini-basket__item__spec__title"> {{i18n.notEmptyBasketColor}} </div> <div class="mini-basket__item__spec__value"> {{product.eshopProductDTO.variants[0].color}} </div> </li> <li class="mini-basket__item__spec" v-if="product.eshopProductDTO.variants[0].storage && product.eshopProductDTO.variants[0].storage!==''"> <div class="mini-basket__item__spec__title"> {{i18n.notEmptyBasketStorage}} </div> <div class="mini-basket__item__spec__value"> {{product.eshopProductDTO.variants[0].storage}} </div> </li> <li class="mini-basket__item__spec"> <div class="mini-basket__item__spec__title"> {{i18n.notEmptyBasketQuantity}} </div> <div class="mini-basket__item__spec__value"> {{product.quantity}} </div> </li> </ul> </div> </div> </div> </li> <div v-if="checkHasInsurance(product)" class="mini-basket__item"> <a v-if="isAnyShippingMethodAvailable" class="mini-basket__item__delete half-gutter--left" @click="removeInsuranceFromBasket(product)"> <svg focusable="false" aria-hidden="true" class="icon icon--extra-small mini-basket__item__delete--icon"> <use xlink:href="#icon-delete"></use> </svg> </a> <div class="mini-basket__item__content"> <a class="mini-basket__item__photo-wrapper"> <svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M20.4 39.35L20.1885 38.8967L20.1764 38.9028L20.4 39.35ZM19.4 39.35L19.6237 38.9026L19.6114 38.8969L19.4 39.35ZM19.2 1.55L19.4616 1.97609L19.4696 1.9712L19.4774 1.96603L19.2 1.55ZM21 1.55L21.2833 1.13794L21.2773 1.13397L21 1.55ZM32 5.35L31.975 5.84938L31.9875 5.85H32V5.35ZM39 5.35H39.5V4.85H39V5.35ZM13.1536 17.7964C12.9583 17.6012 12.6417 17.6012 12.4464 17.7964C12.2512 17.9917 12.2512 18.3083 12.4464 18.5036L13.1536 17.7964ZM18.2 23.55L17.8464 23.9036C17.9402 23.9973 18.0674 24.05 18.2 24.05C18.3326 24.05 18.4598 23.9973 18.5536 23.9036L18.2 23.55ZM28.9536 13.5036C29.1488 13.3083 29.1488 12.9917 28.9536 12.7964C28.7583 12.6012 28.4417 12.6012 28.2464 12.7964L28.9536 13.5036ZM38.5 6.15C38.5 18.1318 34.6418 25.9683 30.4418 30.9788C26.235 35.9974 21.661 38.2098 20.1886 38.8969L20.6114 39.8031C22.139 39.0902 26.865 36.8026 31.2082 31.6212C35.5582 26.4317 39.5 18.3682 39.5 6.15H38.5ZM20.1764 38.9028C19.9992 38.9914 19.9332 39 19.9 39C19.8668 39 19.8008 38.9914 19.6236 38.9028L19.1764 39.7972C19.3992 39.9086 19.6332 40 19.9 40C20.1668 40 20.4008 39.9086 20.6236 39.7972L20.1764 38.9028ZM19.6114 38.8969C18.1413 38.2108 13.6172 35.9991 9.46004 30.981C5.3094 25.9708 1.5 18.1336 1.5 6.15H0.5C0.5 18.3664 4.3906 26.4292 8.68996 31.619C12.9828 36.8009 17.6587 39.0892 19.1886 39.8031L19.6114 38.8969ZM1.5 6.15C1.5 5.77171 1.589 5.6335 1.65544 5.57155C1.73601 5.49642 1.90286 5.41994 2.27312 5.39582C2.63699 5.37212 3.10545 5.40314 3.70887 5.45628C4.30002 5.50833 5.00529 5.57988 5.79704 5.62422C8.99634 5.80338 13.654 5.54216 19.4616 1.97609L18.9384 1.12391C13.346 4.55784 8.90366 4.79662 5.85296 4.62578C5.08221 4.58262 4.4031 4.51354 3.7966 4.46013C3.20236 4.4078 2.65988 4.36851 2.20813 4.39793C1.76277 4.42694 1.3093 4.52702 0.973465 4.84017C0.623504 5.1665 0.5 5.62829 0.5 6.15H1.5ZM19.4774 1.96603C19.712 1.80957 19.9172 1.75 20.1 1.75C20.2828 1.75 20.488 1.80957 20.7227 1.96603L21.2773 1.13397C20.912 0.890431 20.5172 0.75 20.1 0.75C19.6828 0.75 19.288 0.890431 18.9227 1.13397L19.4774 1.96603ZM20.7167 1.96202C23.9862 4.2098 27.8745 5.64435 31.975 5.84938L32.025 4.85062C28.1255 4.65565 24.4138 3.2902 21.2833 1.13798L20.7167 1.96202ZM32 5.85H39V4.85H32V5.85ZM38.5 5.35V6.15H39.5V5.35H38.5ZM12.4464 18.5036L17.8464 23.9036L18.5536 23.1964L13.1536 17.7964L12.4464 18.5036ZM18.5536 23.9036L28.9536 13.5036L28.2464 12.7964L17.8464 23.1964L18.5536 23.9036Z" fill="#0D0D0D"/> </svg> </a> <div class="mini-basket__item__inner-content"> <a class="mini-basket__item__title" v-html="insuranceProperty(product, 'name')"> </a> <ul class="mini-basket__item__specs"> <li class="mini-basket__item__spec"> <div class="mini-basket__item__spec__title"> {{i18n.notEmptyBasketQuantity}} </div> <div class="mini-basket__item__spec__value"> {{insuranceProperty(product, 'quantity')}} </div> </li> </ul> </div> </div> </div> </ul> </template> </div> </div> </div> <div class="mini-basket__footer" @click=""> <div v-if="counter>0"> <div class="mini-basket__footer__total-price"> <div class="grid"> <div class="grid__item grid__item--1/2"> <span class="heading heading--6 heading--regular no-gutter--top"> <b>{{i18n.notEmptyBasketTotal}}</b>{{CONSTANTS.SPACE + i18n.notEmptyBasketTotalComplement}} <label v-if="isBusinessContext" class="small">{{i18n.excludeVAT}}</label><br> <span class="small">{{counter}} <label v-if="counter === 1">{{i18n.notEmptyBasketProduct}}</label> <label v-else>{{i18n.notEmptyBasketProducts}}</label> </span> </span> </div> <label class="grid__item grid__item--1/2 align--right"> <span class="heading heading--6 heading--regular no-gutter--top"> <b>{{formatPrice(getCartTotalEURValueBasedOnSiteContext(basket.cartTotalPrice, isBusinessContext))}}</b> <label v-if="isCVBasket"> <br><b>{{i18n.notEmptyBasketPlus + CONSTANTS.SPACE}}{{getCartTotalPOINTSValue(basket.cartTotalPrice)}}</b> {{CONSTANTS.SPACE + i18n.notEmptyBasketPoints}} </label> </span> </label> </div> </div> <div class="cart__tooltip"> <!--div class="cart__tooltip--message"> Mensagem editável </div--> <a v-on:click="redirectNotEmptyBasket" class="button button--primary button--full-width mini-basket__footer__button" :class="{'button--disabled': !isAnyShippingMethodAvailable}"> {{i18n.notEmptyBasketButton}} </a> </div> <div class="grid half-gutter--top" v-if="!isAnyShippingMethodAvailable"> <div class="grid__item grid__item--1/11"> <span class="icon icon--fill icon--small"> <svg viewBox="0 0 192 192"><symbol id="ab60b1d0-e126-40d6-8297-93da8c0b8b6d" viewBox="-96 -96 192 192"><path id="ee1f5584-8941-4af1-9904-60ee2b8edcdf_2_" fill="none" stroke="#666666" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" d=" M74.34,41.49C82.92,56.7,75.9,70,58.74,70H-58.73c-17.16,0-24.19-13.3-15.6-28.51L-15.6-66.64c8.55-14.75,22.53-15.53,31.21,0 L74.34,41.49z"></path><line id="f0d8af6f-07b5-4e3d-ba5f-e8cb77db5008_2_" fill="none" stroke="#E60000" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" x1="0" y1="-38" x2="0" y2="22"></line><circle fill="none" stroke="#E60000" stroke-width="4" stroke-miterlimit="10" cx="0" cy="40" r="2"></circle></symbol><use xlink:href="#ab60b1d0-e126-40d6-8297-93da8c0b8b6d" width="192" height="192" id="ad8b8c14-7e84-4c26-b1d0-9131d9b15ca7" x="-96" y="-96" transform="matrix(1 0 0 1 96 96)" overflow="visible"></use></svg> </span> </div> <div class="grid__item grid__item--10/11 grid__item--gutter small"> <small>Estamos a melhorar a Loja Online. De momento não é possível continuar com a sua comprar, tente novamente mais tarde.</small> </div> </div> </div> <a v-else class="button button--primary button--full-width mini-basket__footer__button" v-on:click="redirectEmptyBasket">{{i18n.emptyBasketButton}}</a> </div> </div> </div> </transition> </div> </script> <script src="/etc.clientlibs/digital-eshop/components/content/commerce/vf_miniBasket/clientlibs.min.js"></script> <script id="loadingSpinner" type="text/x-template"> <div :class="['loading__spinner', {'loading__spinner--wide': wide, 'loading__spinner--mdwind': mdwind, 'loading__spinner--file-upload-container': fucont, 'loading__spinner--calendar-container': calcont}]"> <img :class="['loading__spinner--image', {'loading__spinner--small': small, 'loading__spinner--medium': medium, 'loading__spinner--tiny': tiny, 'loading__spinner--extra-tiny': exttiny, 'loading__spinner--tiny-center': tinyc, 'loading__spinner--comparator': comparator}]" src="/content/dam/digital-commons/loading-spinner.svg" /> </div> </script> <style scoped>.loading__spinner{height:300px;position:relative;width:300px}.loading__spinner--wide{width:100%}.loading__spinner--image{width:300px;height:300px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.loading__spinner--small{transform:scale(.8,.8);top:0;left:0}.loading__spinner--medium{transform:scale(.8,.8);top:0;left:70%}.loading__spinner--mdwind{height:192px;transform:translate(0,-23%)}.loading__spinner--tiny{transform:scale(.5,.5);top:0;left:70%}.loading__spinner--file-upload-container{height:74px;transform:translate(-50%,-164%)}.loading__spinner--extra-tiny{transform:scale(.17,.17);height:260px}.loading__spinner--tiny-center{transform:scale(.5,.5);top:0;left:0}.loading__spinner--calendar-container{height:100px;transform:translate(0,-100%)}.loading__spinner--comparator{transform:translate(-50%,-50%) scale(.5,.5);top:50%;left:50%;max-width:unset}</style> <script src="/etc.clientlibs/digital-commons/components/content/hidden/vf_loadingSpinner/clientlibs.min.js"></script> <script id="genericToasterCmp" type="text/x-template"> <div class="toaster alert-toaster" :class="toasterShow?'toaster--show':''"> <div class="spring"> <div style="position: relative"> <div class="alert validation__warning alert-toaster__warning" :class="toasterCssType"> <div class="alert-toaster__caption"> <span class="caption__media caption__media--top alert__media"> <svg focusable="false" aria-hidden="true" class="icon icon--small toaster__icon--small"> <use xmlns:xlink="http://www.w3.org/1999/xlink" v-bind="{'xlink:href':'#'+toasterIconType}"></use> </svg> </span> <span class="caption__text caption__text--top alert__text"> <p class="no-gutter--top"><strong class="validation__details js-validation-details">{{toasterTitle}}</strong></p> </span> <span class="alert-toaster__caption--close align--right" @click="closeToaster()"> <svg height="35px" id="close" data-name="ICON" viewBox="0 0 192 192"><line id="91c3244b-a44b-4462-ad78-3b291975bc24" data-name="<Pfad>" x1="48" y1="144" x2="144" y2="48" fill="none" stroke="#ffffff" stroke-linecap="round" stroke-linejoin="round" stroke-width="8"></line><line id="dcc09f5c-b82c-4d96-b38b-0540c6362512" data-name="<Pfad>" x1="144" y1="144" x2="48" y2="48" fill="none" stroke="#ffffff" stroke-linecap="round" stroke-linejoin="round" stroke-width="8"></line></svg> </span> <div class="alert-toaster__description" v-html="toasterMsg"></div> </div> </div> </div> </div> </div> </script> <script src="/etc.clientlibs/digital-commons/components/content/hidden/vf_genericToaster/clientlibs.min.js"></script> <script id="LoggedUserMenuCmp" type="text/x-template"> <li atf_id="portal_navigation" @click="goToMyAccount" class="menu-navigation__context--action user-menu"> <a id="logged--user--menu--photo" class="menu-navigation__link menu-navigation__link--icon"></a> <a v-if="userPhoto !== ''" class="menu-navigation__link menu-navigation__link--icon" aria-haspopup="true"> <span class="visually-hidden">My Vodafone Menu</span> <div v-if="!hasUserPhoto && !isMenuOpen && !isMenuPopUp && userPhoto !== ''" class="user-menu__image user-menu__image--icon"> <svg focusable="false" aria-hidden="true" class="icon icon--small"> <use v-bind="{'xlink:href':'#'+userPhoto}"/> </svg> </div> <!--Change to new classes--> <div v-if="hasUserPhoto && !isMenuOpen && !isMenuPopUp && userPhoto !== ''" class="navigation__icon navigation__toggle" > <img :src="'data:image/png;base64,' + userPhoto" class="user-menu__image"> </div> <div v-if="isMenuOpen || isMenuPopUp" class="navigation__icon--active navigation__user--close"> <svg focusable="false" aria-hidden="true" class="icon icon--small navigation__icon"> <use xlink:href="#icon-close"></use> </svg> </div> </a> <small v-if="userPhoto !== '' && !isMenuOpen && !isMenuPopUp" class="menu-navigation__context--label">A minha conta</small> </li> </script> <div id="search--overlay" class="js-dialog dialog js-dialog-display" :class="{ 'dialog--display': dialogSearch }"> <div class="spring dialog__close-spring"> <a role="button" aria-label="Close search dialog" class="js-dialog-close dialog__close" @click="dialogSearchClose"> <svg focusable="false" aria-hidden="true" class="icon icon--small dialog__icon"> <use xlink:href="#icon-close"></use> </svg> <span class="visually-hidden">Close dialog</span> </a> </div> <div class="js-dialog-content dialog__content" style="display: block;"> <div id="ajax" class="ajax"> <div class="section section--mine-shaft"> <p class="heading heading--4 heading--light heading--center heading--trailing"> {{searchOverlayHeading}} </p> <div class="search-snack"> <div action="" data-js="_sayt, _validation" class="align-center space--bottom sayt validation form js-dynamic-content-listener" novalidate="novalidate"> <div class="spring"> <div id="search-overlay"> <div class="col-md-12"> <div id="cludo-search-content-form" class="search-snack__input" role="search"> <div class="search-form-inner"> <div class="search-form-input"> <input name="searchrequest" id="cludo-search-content-form-input" type="search" :placeholder="searchOverlayMessage" value="" title="Type search term" autocomplete="off" aria-autocomplete="list" aria-haspopup="true" v-on:keydown.capture.enter="pressedEnter()"/> <button type="button" v-on:click.capture="clickSearch" title="Search" class="button button--primary button--primary--dark"> <label class="cludo-sr-only">Procurar</label> <img alt="Lupa de Pesquisa" src="https://customer.cludo.com/assets/1977/10229/img/icons/main_icn_Search.svg"/> </button> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <script src="/etc.clientlibs/digital-commons/components/content/structure/vf_search/clientlibs.min.js"></script> <script src="/etc.clientlibs/digital-commons/components/content/hidden/vf_captcha/clientlibs.min.js"></script> <div id="recaptchaV3Component"> <div id="recapctchaComponent" v-show="isLoaded" class="g-recaptcha" data-callback="onSubmit" data-size="invisible"></div> </div> <div id="login--login"> <div id="login--overlay" class="dialog" :class="{'dialog--display': dialogDisplayed}"> <div class="spring dialog__close-spring"> <a role="button" :aria-label="login_close_dialog_aria_label" class="dialog__close" @click="closeDialog"> <svg focusable="false" aria-hidden="true" class="icon icon--small dialog__icon"> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-close"></use> </svg> <span class="visually-hidden">{{login_close_dialog_span}}</span> </a> </div> <div class="dialog__content" style="display: block;"> <div id="ajax" class="ajax"> <h2 class="heading heading--light heading--2 heading--center">{{login_page_title}}</h2> <!-- TABS SECTION --> <div class="tabs tabs--dark tabs--full"> <div class="tabs__navigation-wrapper"> <nav class="tabs__navigation tabs__navigation--fixed" role="tablist"> <a @click="changeTab(1)" ref="loginTab" class="tabs__tab" :class="{'tabs__tab--active' : activeTab === 1}" role="tab">{{login_navigation_title}} </a> <a @click="changeTab(2)" ref="registerTab" class="tabs__tab" :class="{'tabs__tab--active' : activeTab === 2}" role="tab">{{register_navigation_title}} </a> </nav> </div> <div v-if="activeTab === 1" id="login-register-login" class="tabs__content"> <div class="spring spring--sm"> <div> <div class="login__framer"> <ul id="login-register-login-list" ref="loginComponentForm" class="list list--reset login__frames" :class="{'login__frames--first': recoverDisplayed,'login__frames--last': isInactiveEmail || lockedMessageDisplayed}"> <!-- Forgot your password --> <li class="login__frame login__frame--first"> <form role="form" class="form validation" :class="{'hide': formSubmitDisplayed}"> <fieldset> <legend class="heading heading--3 no-gutter--all"> {{forgot_password_question}} </legend> <p class="login__text" v-html="forgot_password_message"></p> <label class="form__row" for="login__name--reset"> <span class="form__label">{{login_name_reset_number}}</span> <alert-msg-component arrow="true" v-show="invalidUserRecoverName && !isRecoveryPhoneNumber" :error-messages="[login_form_invalid_username_msg]"></alert-msg-component> <alert-msg-component v-show="invalidUnavailableServices" :error-messages="[login_form_unavailable_services_msg1, login_form_unavailable_services_msg2]"></alert-msg-component> <alert-msg-component arrow="true" v-show="invalidSubmitEmptyRecover" :error-messages="[login_form_invalid_username_recover_empty_msg]"></alert-msg-component> <alert-msg-component arrow="true" v-show="isRecoveryPhoneNumber" :use-html="true" :error-messages="[forgot_password_alert_sms]"></alert-msg-component> <input type="text" id="login__name--reset" name="login__name" v-model="user.usernamerecover" @focusOut="validateInput('username-recover')" @input="validateFieldChange" :placeholder="login_name_reset_number_placeholder" class="form__input" :class="{'form__input--error': borderUsernameRecoverField}"/> </label> <div class="form__row form__row--medium"> <button-with-loader type="submit" button-id="recover--password--button" class="button button--primary button--primary--dark button--full-width" @click="handlerSubmitRecoverLogin" :button-text="forgot_password_next" :disabled="user.usernamerecover.length === 0 || invalidSubmitEmptyRecover" :loading="recoverPasswordButtonLoading"> </button-with-loader> </div> <div class="form__row form__row--slim"> <button type="reset" class="button button--secondary button--secondary--dark button--full-width" @click="handlerCancelRecoverLogin"> {{forgot_password_cancel}} </button> </div> </fieldset> </form> <!-- Recover Password Success --> <form role="form" class="form validation" :class="{'hide': formSuccessDisplayed}"> <fieldset> <legend class="heading heading--3 no-gutter--all"> {{forgot_password_second_title}} </legend> <p class="login__text" v-show="SMS">{{forgot_password_second_text_sms}}</p> <p class="login__text" v-show="EMAIL">{{forgot_password_second_text_email}}</p> <div class="form__row form__row--medium"> <button class="button button--primary button--primary--dark button--full-width" @click="recoverSuccessLogin">{{forgot_password_next}} </button> </div> </fieldset> </form> </li> <!-- Login --> <li class="login__frame"> <form method="post" role="form" class="form validation"> <fieldset> <legend class="visually-hidden">{{login_label}}</legend> <alert-msg-component v-show="isActivation && isSuccessfulActivation" :message-type="'alert--success'" :icon-type="'icon-tick-outline-light'" :error-title="login_form_activation_success_title_msg" :error-messages="[login_form_activation_success_content_msg]"></alert-msg-component> <alert-msg-component v-show="isResendActivation" :message-type="'alert--success'" :icon-type="'icon-tick-outline-light'" :error-title="login_form_resend_email_title_msg" :error-messages="[login_form_resend_email_content_msg]"></alert-msg-component> <alert-msg-component v-show="resetSuccessful" :message-type="'alert--success'" :icon-type="'icon-tick-outline-light'" :error-title="login_form_reset_success_title_msg" :error-messages="[login_form_reset_success_msg]"></alert-msg-component> <alert-msg-component v-show="invalidSubmit" :error-messages="[login_form_invalid_login_msg1, login_form_invalid_login_msg2]"></alert-msg-component> <alert-msg-component v-show="invalidUnavailableServices || decryptError" :error-messages="[login_form_unavailable_services_msg1, login_form_unavailable_services_msg2]"></alert-msg-component> <alert-msg-component v-show="invalidLinkChangeEmail" :error-messages="[login_form_reset_error_email_msg, login_form_reset_error_three_msg]"></alert-msg-component> <div v-show="!invalidLinkChangeEmail"> <label class="form__row form__row--leading" for="login__name"> <span class="form__label">{{login_form_name_label}}</span> <alert-msg-component arrow="true" v-show="invalidUserName" :error-messages="[login_form_invalid_username_msg]"></alert-msg-component> <input type="text" ref="formLoginName" id="login__name" name="login__name" v-model="user.username" @focusOut="validateInput('username')" @input="validateFieldChange" :placeholder="login_form_name_placeholder" required="" class="form__input" :class="{'form__input--error': borderUsernameField}"/> </label> <label class="form__row" for="login__password"> <span class="form__label">{{login_form_password_label}}</span> <alert-msg-component arrow="true" v-show="invalidPassword" :error-messages="[login_form_invalid_password_msg]"></alert-msg-component> <input type="password" ref="formLoginPassword" id="login__password" name="login__password" v-model="user.password" @focusOut="validateInput('password')" @input="validateFieldChange" :placeholder="login_form_password_placeholder" required="" class="form__input" :class="{'form__input--error': borderPasswordField}"/> </label> <div> <label class="form__row" for="login__remember-me" style="display:inline-block"/> <input type="checkbox" id="login__remember-me" v-model="checked" name="login__remember-me" class="form__checkbox"/> <span class="form__label form__label--checkable form__label--checkable--ruled">{{login_form_remember_me}}</span> </div> <div class="form__row form__row--medium gutter--bottom"> <button-with-loader type="submit" button-id="login--button" class="button button--primary button--primary--dark button--full-width" @click="clickLogin" :button-text="login_form_submit" :disabled="invalidUserNameField || !user.username || (!user.password && user.password.length < 1)" :loading="loginButtonLoading"> </button-with-loader> </div> <div class="login__controls"> <div class="align--center"> <a id="login-register-recover-button" role="button" :aria-label="login_form_recover_button_aria_label" class="link link--body link--body--dark" @click="recoverLogin">{{login_form_recover_button}} </a> <a ref="loginRegisterBlockButton" role="button" class="link link--body link--body--dark"></a> </div> </div> </div> <div v-show="invalidLinkChangeEmail"> <div class="form__row form__row--medium gutter--bottom"> <button type="submit" class="button button--secondary button--secondary--dark button--full-width" @click="backToLogin">{{login_form_back_to_login_button}} </button> </div> </div> </fieldset> </form> </li> <!-- Recover your password --> <li class="login__frame login__frame--last"> <div v-show="isInactiveEmail"> <form role="form" method="post" class="form validation"> <fieldset> <!-- Validation Message --> <alert-msg-component v-show="isFailedResend" :error-title="login_form_resend_email_failure_title_msg" :error-messages="[login_form_resend_email_failure_content_msg]"></alert-msg-component> <alert-msg-component v-show="!isFailedResend" :error-title="login_form_inactive_email_title_msg" :message-type="'alert--info'" :icon-type="'icon-info-circle-light'" :error-messages="[login_form_inactive_email_content_msg]"></alert-msg-component> <!-- END Validation Message --> <div class="form__row form__row--medium"> <button-with-loader type="reset" button-id="resend--inactive--email--button" class="button button--primary button--primary--dark button--full-width" @click="handleResendFromInactiveEmail" :button-text="login_form_activation_resend_button" :loading="resendInactiveEmailButtonLoading"> </button-with-loader> </div> <div class="form__row form__row--slim"> <button @click="handleBackToLoginFromInactiveEmail" type="reset" class="button button--secondary button--secondary--dark button--full-width"> {{login_form_activation_back_to_login_button}} </button> </div> </fieldset> </form> </div> <div v-show="!isInactiveEmail && lockedMessageDisplayed"> <form role="form" class="form validation"> <fieldset> <alert-msg-component :error-title="login_user_blocked_msg_title" :error-messages="[login_user_blocked_msg1, login_user_blocked_msg2]"></alert-msg-component> <div class="form__row"> <button class="button button--primary button--primary--dark button--full-width" @click="recoverLogin">{{login_recover_password}} </button> </div> </fieldset> </form> </div> </li> </ul> </div> </div> </div> </div> <div v-if="activeTab === 2" id="login-register-register" class="tabs__content"> <div class="spring spring--sm"> <div class="login__framer"> <ul class="list list--reset login__frames" :class="{'login__frames--first': !(isActivation && isFailedActivation) && !preventLoading, 'login__frames--last':register.onCreate}"> <li class="login__frame login__frame--first"> <form class="form validation"> <alert-msg-component v-show="!register.validEmail" :error-title="login_form_resend_email_failure_title_msg" :error-messages="[login_form_create_email_already_exists]"></alert-msg-component> <fieldset> <div class="form__row form__row--leading" atf_id="new--register--name"> <span class="form__label form__label--required">{{login_form_create_user_name}}</span> <div class="grid grid--half-gutter"> <div class="grid__item grid__item--half-gutter grid__item--1/2"> <input type="text" :placeholder="login_form_create_user_first_name" maxlength="50" @change="runCreateValidations" v-model="register.firstName" class="form__input"/> </div> <div class="grid__item grid__item--half-gutter grid__item--1/2"> <input type="text" :placeholder="login_form_create_user_last_name" maxlength="50" @change="runCreateValidations" v-model="register.lastName" class="form__input"/> </div> </div> </div> <div class="form__row" atf_id="new--register--date"> <date-component :initial-date="initialDate" v-model="register.birthDate" :years-options="yearsOptions" :allow-future-dates="false" :allow-today-dates="false" :label-description="edit_profile_birthday_day"></date-component> </div> <div class="form__row" atf_id="new--register--email"> <span class="form__label form__label--required">{{login_form_create_user_email}}</span> <alert-msg-component arrow="true" v-show="register.invalidEmail" :error-messages="[edit_profile_invalid_email]"></alert-msg-component> <input type="text" :placeholder="login_form_create_user_email_placehold" @change="runEmailValidation" class="form__input" v-model="register.email" :disabled="preRegister" :class="{'disabled' : preRegister}"/> <small>{{login_form_create_email_login_text}}</small> </div> <div v-if="!register.invalidEmail && register.validEmail && register.email.length > 0 && !preRegister" class="form__row" atf_id="new--register--email2"> <span class="form__label form__label--required">{{login_form_create_user_email_confirmation}}</span> <alert-msg-component arrow="true" v-show="register.invalidEmailConfirmation" :error-messages="[edit_profile_invalid_email_confirmation]"></alert-msg-component> <input type="text" :placeholder="login_form_create_user_email_confirmation_placehold" @change="runEmailConfirmationValidation" class="form__input" v-model="register.emailConfirmation"/> </div> <div class="form__row" atf_id="new--register--phone"> <span class="form__label form__label--required">{{login_form_create_user_phone_number}}</span> <alert-msg-component arrow="true" v-show="register.invalidServiceId" :error-messages="[login_form_create_serviceId_invalid_msg]"></alert-msg-component> <alert-msg-component arrow="true" v-show="register.unauthorizedService" :error-messages="[login_form_create_unauthorized_service_msg]"></alert-msg-component> <alert-msg-component arrow="true" v-show="register.notValidService" :error-messages="[login_form_create_not_valid_service_msg]"></alert-msg-component> <input :placeholder="login_form_create_user_phone_number_placehold" v-model="register.serviceId" @change="runServiceNumberValidation" maxlength="9" onkeypress='return ( event.charCode == 0 ) || ( event.charCode >= 48 && event.charCode <= 57)' class="form__input"/> </div> <div class="form__row" atf_id='new--register--password'> <span class="form__label form__label--required">{{login_form_create_user_password}}</span> <alert-msg-component arrow="true" v-show="register.invalidNewPassword" :error-messages="[login_form_reset_error_validate_field_invalid_char_msg]"></alert-msg-component> <alert-msg-component arrow="true" v-show="register.passwordToShort" :error-messages="[login_form_create_password_to_short]"></alert-msg-component> <input type="password" :placeholder="login_form_create_user_password_placehold" v-model="register.password" @change="matchPasswordOnCreate" class="form__input"/> <password-strenght-component :on-invalid-new-password="onInvalidNewPassword" :message-level-one="register.passwordLabelOne" :new-password="register.password"></password-strenght-component> </div> <div class="form__row" atf_id='new--register--password2'> <span class="form__label form__label--required">{{login_form_create_user_confirm_password}}</span> <alert-msg-component arrow="true" v-show="register.invalidConfirmationNewPassword" :error-messages="[login_form_create_password_match]"></alert-msg-component> <input type="password" :placeholder="login_form_create_user_confirm_password_placehold" v-model="register.passwordConfirmation" @change="matchPasswordOnCreate" class="form__input"/> </div> <div class="form__row"> {{login_form_create_user_confirm_label}} <a target="_blank" href="https://www.vodafone.pt/info/termos-condicoes/my-vodafone-no-pc.html"><u> {{login_form_create_user_terms_conditions}}</u> </a> {{login_form_create_user_vigentes}} </div> <div class="form__row" atf_id='new--register--confirm'> <button-with-loader type="submit" button-id="create--user--button" class="button button--primary button--primary--dark button--full-width" @click="createUser" :button-text="login_form_create_user_confirm_btn" :disabled="!readyToSearch" :loading="createUserButtonLoading"> </button-with-loader> </div> </fieldset> </form> </li> <li class="login__frame"> <form role="form" method="post" class="form validation"> <fieldset> <!-- Validation Message --> <alert-msg-component v-show="isFailedResend" :error-title="login_form_resend_email_failure_title_msg" :error-messages="[login_form_resend_email_failure_content_msg]"></alert-msg-component> <alert-msg-component v-show="!isFailedResend" :error-title="login_form_activation_failure_title_msg" :error-messages="[login_form_activation_failure_content_msg]"></alert-msg-component> <!-- Register User--> <alert-msg-component v-show="register.creationError" :error-title="login_form_activation_failure_title_msg" :error-messages="preRegister? [login_form_create_error_msg_preRegister] : [login_form_create_error_msg]"></alert-msg-component> <alert-msg-component v-show="register.creationSuccess" :error-title="login_form_create_success_title" :error-messages="[login_form_create_success_msg]"></alert-msg-component> <!-- END Validation Message --> <div class="form__row form__row--medium"> <button-with-loader type="reset" button-id="resend--activation--button" class="button button--primary button--primary--dark button--full-width" @click="handleResendFromActivationFailure" :button-text="login_form_activation_resend_button" :loading="resendActivationButtonLoading"> </button-with-loader> </div> <div class="form__row form__row--slim"> <button @click="handleBackToLoginFromActivationFailure" type="reset" class="button button--secondary button--secondary--dark button--full-width"> {{login_form_activation_back_to_login_button}} </button> </div> </fieldset> </form> </li> <li class="login__frame login__frame--last"> <form role="form" method="post" class="form validation"> <fieldset> <!-- Register User--> <alert-msg-component v-show="register.creationError" :error-title="login_form_activation_failure_title_msg" :error-messages="preRegister ? [login_form_create_error_msg_preRegister] : [login_form_create_error_msg]"></alert-msg-component> <alert-msg-component v-if="register.creationSuccess" :message-type="'alert--success'" :icon-type="'icon-tick-outline-light'" :error-title="login_form_create_success_title" :error-messages="[register.created_success]"></alert-msg-component> <alert-msg-component v-if="register.creationSuccessWithPorfolio" :message-type="'alert--success'" :icon-type="'icon-tick-outline-light'" :error-title="login_form_create_success_title" :error-messages="[register.created_success_with_portfolio]"></alert-msg-component> <!-- END Validation Message --> <div class="form__row form__row--slim"> <button @click="handleContinueOnCreate" type="reset" class="button button--primary button--primary--dark button--full-width"> {{login_form_create_continue_button}} </button> </div> </fieldset> </form> </li> </ul> </div> </div> </div> </div> </div> </div> </div> <!-- MyVodafone change password page --> <div class="dialog" :class="{'dialog--display': dialogResetDisplayed}"> <div class="spring dialog__close-spring"> <a role="button" :aria-label="login_close_dialog_aria_label" class="dialog__close" @click="closeResetDialog" :class="{'hide': resetButtonHidden}"> <svg focusable="false" aria-hidden="true" class="icon icon--small dialog__icon"> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-close"></use> </svg> <span class="visually-hidden">{{login_close_dialog_span}}</span> </a> </div> <div class="dialog__content"> <h2 class="heading heading--light heading--2 heading--center">{{login_form_reset_title}}</h2> <div class="dialog__change-pass"> <div class="spring spring--sm"> <form role="form" class="form validation" :class="{'hide': formResetHidden}"> <fieldset> <label class="form__row form__row--leading"> <alert-msg-component v-show="equalLastThree" :error-messages="[login_form_reset_information_one_msg]"></alert-msg-component> <span class="form__label">{{login_form_reset_first_field}}</span> <alert-msg-component arrow="true" v-show="invalidNewPassword" :error-messages="[login_form_reset_error_validate_field_invalid_char_msg]"></alert-msg-component> <input type="password" id="change-pass-password" name="change-pass-password" v-model="user.newpassword" @focusOut="matchPassword" class="form__input"/> <password-strenght-component :on-invalid-new-password="onInvalidNewPasswordReset" :new-password="user.newpassword"></password-strenght-component> </label> <label class="form__row"> <span class="form__label">{{login_form_reset_second_field}}</span> <alert-msg-component arrow="true" v-show="invalidConfirmNewPassword" :error-messages="[login_form_reset_error_match_msg]"></alert-msg-component> <input type="password" id="change-pass-confirm" name="change-pass-confirm" v-model="user.newconfirmpassword" @focusOut="matchPassword" class="form__input"/> </label> <div class="form__row form__row--medium gutter--bottom"> <button-with-loader type="submit" button-id="reset--password--continue--button" class="button button--primary button--primary--dark button--full-width" @click="resetPasswordFromBackoffice ? resetPasswordBackOffice($event) : resetPassword($event)" :button-text="login_form_reset_continue_button" :loading="resetPasswordContinueButtonLoading" :disabled="!(this.user.newpassword && this.user.newpassword.length >= 8 && this.user.newconfirmpassword && this.user.newconfirmpassword.length >= 8)"> </button-with-loader> </div> </fieldset> </form> <fieldset :class="{'hide': errorResetHidden}"> <label class="form__row" for="login__name--reset"> <alert-msg-component :error-title="login_form_reset_error_validate_field_invalid_email_key_msg_title" :error-messages="[login_form_reset_error_validate_field_invalid_email_key_msg_one, login_form_reset_error_validate_field_invalid_email_key_msg_two]"></alert-msg-component> </label> <div class="form__row form__row--medium"> <button type="submit" class="button button--primary button--primary--dark button--full-width" @click="toRecoverLogin"> {{login_form_reset_error_validate_field_invalid_key_recover_button}} </button> </div> <div class="form__row form__row--slim"> <button class="button button--secondary button--secondary--dark button--full-width" @click="toLogin">{{login_form_reset_error_validate_field_invalid_key_to_login_button}} </button> </div> </fieldset> </div> </div> </div> </div> </div> <script id="alertMessagesCmp" type="text/x-template"> <div role="alert" class="alert" :class="[{ 'alert--arrow': arrow }, defaultAlertClass]"> <div class="caption"> <div :class="'caption__media caption__media--'+iconPosition+' alert__media'"> <svg :class="'icon icon--small icon--'+iconColor"> <use xmlns:xlink="http://www.w3.org/1999/xlink" v-bind="{'xlink:href':'#'+iconType}"></use> </svg> </div> <div :class="'caption__text caption__text--'+textPosition+' alert__text'"> <p v-if="!notUsingTitle" class="validation__details js-validation-details heading heading--5 heading--bold heading--no-gutter"> {{defaultErrorTitle}} </p> <slot></slot> <div v-if="!defaultSlot"> <ul class="js-validation-listing list list--reset validation__listing" > <li class="list__item" v-for="msg in defaultErrorMessages">{{msg}}</li> </ul> </div> </div> </div> </div> </script> <!-- Define Template --> <script id="passwordStrenghtCmp" type="text/x-template"> <div class="password-checker" v-bind:class="passwordChecker"> {{messages.login_form_reset_security_field}} <div class="password-checker__bars"> <div class="password-checker__bar password-checker__bar--l0"></div> <div class="password-checker__bar password-checker__bar--l1"></div> <div class="password-checker__bar password-checker__bar--l2"></div> <div class="password-checker__bar password-checker__bar--l3"></div> <div class="password-checker__bar password-checker__bar--l4"></div> </div> {{messages.login_form_reset_information_one_msg}} {{messages.login_form_reset_information_two_msg}} </div> </script> <!-- Define Template --> <script id="date-component-template" type="text/x-template"> <div class="form__row form__label"> <span class="form__label">{{dateLabels.title}}</span> <alert-msg-component :background="alertMessageColor" arrow="true" v-show="!isValidDate" :error-messages="[dateLabels.invalidDateMessage]"></alert-msg-component> <div class="grid grid--half-gutter"> <div class="grid__item grid__item--half-gutter grid__item--1/3"> <days-autocomplete v-model="daySelected" :orderBy="'id'" :options="days" :label="'value'" :max-height="'300px'" :placeholder="'Dia'"></days-autocomplete> </div> <div class="grid__item grid__item--half-gutter grid__item--1/3"> <months-autocomplete v-model="monthSelected" :orderBy="'id'" :options="months" :label="'value'" :max-height="'300px'" :placeholder="'Mês'"></months-autocomplete> </div> <div class="grid__item grid__item--half-gutter grid__item--1/3"> <years-autocomplete v-model="yearSelected" :orderBy="'id'" :options="years" :label="'value'" :max-height="'300px'" :placeholder="'Ano'"></years-autocomplete> </div> </div> <small v-if="smallMessage !== ''">{{smallMessage}}</small> </div> </script> <!-- Define Template --> <script id="days-autocomplete-template" type="text/x-template"> <div :dir="dir" class="v-dropdown v-select" :class="dropdownClasses"> <div ref="toggle" @mousedown.prevent="toggleDropdown" :class="['dropdown-toggle', 'clearfix']"> <slot v-for="option in valueAsArray" name="selected-option-container" :option="option" :deselect="deselect" :multiple="multiple" :disabled="disabled"> <span class="selected-tag" :key="option.index"> <slot name="selected-option" v-bind="option">{{getOptionLabel(option)}}</slot> <button v-if="multiple" :disabled="disabled" @click="deselect(option)" type="button" class="close" aria-label="Remove option"> <span aria-hidden="true">×</span> </button> </span> </slot> <input ref="search" v-model="search" @keydown.delete="maybeDeleteValue" @keyup.esc="onEscape" @keydown.up.prevent="typeAheadUp" @keydown.down.prevent="typeAheadDown" @keydown.enter.prevent="onSearchBlur" @blur="onSearchBlur" @focus="onSearchFocus" type="search" class="form-control" autocomplete="false" :disabled="disabled" :placeholder="searchPlaceholder" :tabindex="tabindex" :readonly="!searchable" :style="{ width: isValueEmpty ? '100%' : 'auto' }" :id="inputId" aria-label="Search for option"> <i v-if="!noDrop" ref="openIndicator" role="presentation" class="open-indicator"></i> <slot name="spinner"> <div class="spinner" v-show="mutableLoading">Loading...</div> </slot> </div> <transition :name="transition"> <ul ref="dropdownMenu" v-if="dropdownOpen" class="dropdown-menu" :style="{ 'max-height': maxHeight }"> <li v-for="(option, index) in filteredOptions" :key="index" :class="{ active: isOptionSelected(option), highlight: index === typeAheadPointer }" @mouseover="typeAheadPointer = index"> <a @mousedown.prevent="select(option)"> <slot name="option" v-bind="option"> {{ getOptionLabel(option) }} </slot> </a> </li> </ul> </transition> </div> </script> <!-- Define Template --> <script id="months-autocomplete-template" type="text/x-template"> <div :dir="dir" class="v-dropdown v-select" :class="dropdownClasses"> <div ref="toggle" @mousedown.prevent="toggleDropdown" :class="['dropdown-toggle', 'clearfix']"> <slot v-for="option in valueAsArray" name="selected-option-container" :option="option" :deselect="deselect" :multiple="multiple" :disabled="disabled"> <span class="selected-tag" :key="option.index"> <slot name="selected-option" v-bind="option">{{getOptionLabel(option)}}</slot> <button v-if="multiple" :disabled="disabled" @click="deselect(option)" type="button" class="close" aria-label="Remove option"> <span aria-hidden="true">×</span> </button> </span> </slot> <input ref="search" v-model="search" @keydown.delete="maybeDeleteValue" @keyup.esc="onEscape" @keydown.up.prevent="typeAheadUp" @keydown.down.prevent="typeAheadDown" @keydown.enter.prevent="onSearchBlur" @blur="onSearchBlur" @focus="onSearchFocus" type="search" class="form-control" autocomplete="false" :disabled="disabled" :placeholder="searchPlaceholder" :tabindex="tabindex" :readonly="!searchable" :style="{ width: isValueEmpty ? '100%' : 'auto' }" :id="inputId" aria-label="Search for option"> <i v-if="!noDrop" ref="openIndicator" role="presentation" class="open-indicator"></i> <slot name="spinner"> <div class="spinner" v-show="mutableLoading">Loading...</div> </slot> </div> <transition :name="transition"> <ul ref="dropdownMenu" v-if="dropdownOpen" class="dropdown-menu" :style="{ 'max-height': maxHeight }"> <li v-for="(option, index) in filteredOptions" :key="index" :class="{ active: isOptionSelected(option), highlight: index === typeAheadPointer }" @mouseover="typeAheadPointer = index"> <a @mousedown.prevent="select(option)"> <slot name="option" v-bind="option"> {{ getOptionLabel(option) }} </slot> </a> </li> </ul> </transition> </div> </script> <!-- Define Template --> <script id="years-autocomplete-template" type="text/x-template"> <div :dir="dir" class="v-dropdown v-select" :class="dropdownClasses"> <div ref="toggle" @mousedown.prevent="toggleDropdown" :class="['dropdown-toggle', 'clearfix']"> <slot v-for="option in valueAsArray" name="selected-option-container" :option="option" :deselect="deselect" :multiple="multiple" :disabled="disabled"> <span class="selected-tag" :key="option.index"> <slot name="selected-option" v-bind="option">{{getOptionLabel(option)}}</slot> <button v-if="multiple" :disabled="disabled" @click="deselect(option)" type="button" class="close" aria-label="Remove option"> <span aria-hidden="true">×</span> </button> </span> </slot> <input ref="search" v-model="search" @keydown.delete="maybeDeleteValue" @keyup.esc="onEscape" @keydown.up.prevent="typeAheadUp" @keydown.down.prevent="typeAheadDown" @keydown.enter.prevent="onSearchBlur" @blur="onSearchBlur" @focus="onSearchFocus" type="search" class="form-control" autocomplete="false" :disabled="disabled" :placeholder="searchPlaceholder" :tabindex="tabindex" :readonly="!searchable" :style="{ width: isValueEmpty ? '100%' : 'auto' }" :id="inputId" aria-label="Search for option"> <i v-if="!noDrop" ref="openIndicator" role="presentation" class="open-indicator"></i> <slot name="spinner"> <div class="spinner" v-show="mutableLoading">Loading...</div> </slot> </div> <transition :name="transition"> <ul ref="dropdownMenu" v-if="dropdownOpen" class="dropdown-menu" :style="{ 'max-height': maxHeight }"> <li v-for="(option, index) in filteredOptions" :key="index" :class="{ active: isOptionSelected(option), highlight: index === typeAheadPointer }" @mouseover="typeAheadPointer = index"> <a @mousedown.prevent="select(option)"> <slot name="option" v-bind="option"> {{ getOptionLabel(option) }} </slot> </a> </li> </ul> </transition> </div> </script> <script id="buttonWithLoaderCmp" type="text/x-template"> <button v-if="e2eVbu" :id="innerButtonId" class="button" type="button" @click="$emit('click', $event)" :class="[{'button--loading': loading},{'button-disabled': disabled}, classes]" :disabled="disabled"> <span :class="{'no-visible': loading}">{{ buttonText }}</span> <slot></slot> </button> <button v-else :id="innerButtonId" class="button" type="button" @click="$emit('click', $event)" :class="[{'button--loading': loading},{'button--disabled': disabled}, classes]" :disabled="disabled"> <span :class="{'no-visible': loading}">{{ buttonText }}</span> <slot></slot> </button> </script> <script src="/etc.clientlibs/digital-commons/components/content/hidden/vf_buttonWithLoader/clientlibs.min.js"></script> <div id="choose-basket" class="dialog" xmlns:v-on="http://www.w3.org/1999/xhtml"> <div class="dialog__close dialog__content" v-if="visible" v-cloak> <div class="dialog dialog--flexible-transparency dialog--fadeIn"> <div class="spring dialog--position"> <div class="section section--white card--border"> <div class="spring dialog__close-spring"> <div v-on:click="closeDialog" class="js-tooltip-close tooltip--pop-up dialog__close cart-persistency__close"> <svg class="icon icon--small dialog__icon"> <use xlink:href="#icon-close"></use> </svg> <span class="visually-hidden">{{i18n.closeDialog}}</span> </div> </div> <div class="card__content"> <div class="network__content"> <h2 class="heading heading--2 align--center gutter--top"> <b>{{i18n.youHaveTwoCarts}}</b> </h2> <h3 class="heading heading--3 align--center gutter--top"> {{i18n.chooseOne}} </h3> <div class="spring cart-persistency__content"> <div class="grid"> <div class="grid__item grid__item--1/2 grid__item--sm-1/1 grid__item--gutter half-gutter--bottom" v-for="(basket, index) in data"> <div class="align--center"> <div class="cart-persistency section--wild-sand"> <div v-for="item in basket.cartItems"> <!-- PACK --> <div class="grid half-gutter--top" v-if="isPackItem(item)"> <div class="grid__item grid__item--1/1 align--left"> <span class="font-color--dusty-gray half-gutter--right">{{item.quantity}}{{CONSTANTS.TIMES}}</span> <span class="display--inline-block choose-basket-prod-name" v-html="item.eshopProductDTO.name ? item.eshopProductDTO.name : item.eshopProductDTO.title"></span> </div> <div v-for="product in item.eshopProductDTO.variants[0].packProducts"> <div class="grid__item grid__item--1/1 align--left"> <span class="cart-persistency__item--pack">{{product.name}}</span> </div> <div class="grid__item grid__item--4/7 align--left"> <span class="cart-persistency__item--characteristics" v-if="product.color">{{i18n.color}} {{CONSTANTS.SPACE}} {{product.color}}</span><br/> <span class="cart-persistency__item--characteristics" v-if="product.storage">{{i18n.storage}} {{CONSTANTS.SPACE}} {{product.storage}}</span> </div> <div class="grid__item grid__item--3/7 align--right"> <span class="cart-persistency__item--points">{{i18n.included}}</span> </div> </div> <div class="grid__item grid__item--1/1 align--right" v-if="isCVItem(item)"> <span class="cart-persistency__item--price">{{formatPrice(getItemEURValue(item))}}</span> {{CONSTANTS.SPACE}} {{CONSTANTS.PLUS}} {{CONSTANTS.SPACE}} {{getItemPOINTSValue(item)}} {{CONSTANTS.SPACE}} <span class="cart-persistency__item--points">{{CONSTANTS.SPACE}}{{i18n.points}}</span> </div> <div class="grid__item grid__item--1/1 align--right" v-else> <span class="cart-persistency__item--price">{{checkIfFreePrice(getItemEURValue(item),item.eshopProductDTO.variants[0].packProducts[0].productType)}}</span> </div> </div> <!-- ITEM --> <div class="grid half-gutter--top" v-else> <div class="grid__item grid__item--1/1 align--left"> <span class="font-color--dusty-gray half-gutter--right">{{item.quantity}}{{CONSTANTS.TIMES}}</span> <span class="display--inline-block choose-basket-prod-name" v-html="item.product.name ? item.product.name : item.eshopProductDTO?.title"></span> </div> <div class="grid__item grid__item--3/7 align--left"> <span class="cart-persistency__item--characteristics" v-if="item.eshopProductDTO?.variants?.[0]?.color"> {{i18n.color}} {{CONSTANTS.SPACE}} {{item.eshopProductDTO.variants[0].color}} </span><br/> <span class="cart-persistency__item--characteristics" v-if="item.eshopProductDTO?.variants?.[0]?.storage"> {{i18n.storage}} {{CONSTANTS.SPACE}} {{item.eshopProductDTO.variants[0].storage}} </span> </div> <div class="grid__item grid__item--4/7 align--right" v-if="isCVItem(item)"> <span class="cart-persistency__item--price">{{formatPrice(getItemEURValue(item))}}</span> {{CONSTANTS.SPACE}} {{CONSTANTS.PLUS}} {{CONSTANTS.SPACE}} {{getItemPOINTSValue(item)}} {{CONSTANTS.SPACE}} <span class="cart-persistency__item--points">{{CONSTANTS.SPACE}}{{i18n.points}}</span> </div> <div class="grid__item grid__item--4/7 align--right" v-else> <span class="cart-persistency__item--price" v-if="item.eshopProductDTO?.productType">{{checkIfFreePrice(getItemEURValue(item),item.eshopProductDTO.productType)}}</span> <span class="cart-persistency__item--price" v-else>{{formatPrice(getItemEURValue(item))}}</span> </div> </div> </div> <div class="grid gutter--top"> <button-with-loader :button-id="'chooseBtn'+index" class="button button--primary" @click="selectBasket(basket.id)" :button-text="i18n.selectCart" :loading="basket.isLoading"> </button-with-loader> </div> </div> </div> </div> </div> </div> <div class="spring align--center half-gutter--top cart-persistency__item--characteristics"> {{i18n.afterSelectionDesc}} </div> </div> </div> </div> </div> </div> </div> </div> <script id="buttonWithLoaderCmp" type="text/x-template"> <button v-if="e2eVbu" :id="innerButtonId" class="button" type="button" @click="$emit('click', $event)" :class="[{'button--loading': loading},{'button-disabled': disabled}, classes]" :disabled="disabled"> <span :class="{'no-visible': loading}">{{ buttonText }}</span> <slot></slot> </button> <button v-else :id="innerButtonId" class="button" type="button" @click="$emit('click', $event)" :class="[{'button--loading': loading},{'button--disabled': disabled}, classes]" :disabled="disabled"> <span :class="{'no-visible': loading}">{{ buttonText }}</span> <slot></slot> </button> </script> <script src="/etc.clientlibs/digital-commons/components/content/hidden/vf_chooseBasket/clientlibs.min.js"></script> </div> </ul> </nav> </div> </div> </nav> </div> <template id="navigationMenu"> <div> <div class="display--flex hide--sm hide--md position--relative" v-cloak> <template v-for="(first, i) in array"> <li class="menu-navigation__item--conditions align"> <div :class="{'menu-navigation__item--section' : first.beginNewSection}"></div> <a class="menu-navigation__link first-level" :class="{'menu-navigation__link--active': active.desktop.first === i}" aria-haspopup="true" :onclick="first.paramOnClick ? first.paramOnClick : null" @click="first.secondLevel ? openSecondLevel(i, first.text) : headerTealiumRequest(openSecondLevelActionId, first.text)" :href="first.linkTo && !first.secondLevel ? first.linkTo : null" :target="first.target && !first.secondLevel ? first.target : null" :title="first.title"> {{first.text}} <span class="visually-hidden">{{first.text}}</span> </a> </li> </template> <transition name="slide-fade"> <div v-if="active.desktop.first > -1" class="menu-navigation__level--second" :data-level="active.desktop.second != -1 ? 'menu-tertiary' : ''"> <template v-for="(first, i) in array"> <template v-if="active.desktop.first === i"> <ul class="menu-navigation__list menu-navigation__scrollable menu-navigation__container" role="navigation" v-if="first.secondLevel"> <li> <template v-for="(second, j) in first.secondLevel"> <a class="menu-navigation__level--second-content" v-if="validRule(second)" :onclick="performSecondOnClick(second)" @click="onAnchorClickHandler(second, 'linkTo', () => { second.thirdLevel ? openThirdLevel(j, second.text) : headerTealiumRequest(openThirdLevelActionId, second.text); },!second.thirdLevel)" :href="second.linkTo && !second.thirdLevel ? second.linkTo : null" :title="second.title"> <span class="menu-navigation__link" :class="{'menu-navigation__link--active': active.desktop.second === j}">{{second.text}}</span> <span class="visually-hidden">{{second.text}}</span> <svg v-if="second.thirdLevel && second.linkTo || second.rule" focusable="false" aria-hidden="true" class="icon icon--extra-small icon--mine-shaft"> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-chevron-right"> </use> </svg> </a> </template> </li> </ul> <transition name="slide-fade"> <div v-if="active.desktop.second > -1" class="menu-navigation__level--third menu-navigation__scrollable menu-navigation__scrollable--third menu-navigation__level--third-active"> <nav v-for="(second, j) in first.secondLevel"> <ul class="list--reset" v-if="second.thirdLevel && active.desktop.second === j"> <li class="half-gutter--bottom" v-if="second.TextForLinkOnThirdLevel"> <a :onclick="second.paramOnClick ? second.paramOnClick : 'event.preventDefault()'" @click="onAnchorClickHandler(second, 'linkTo', () => { headerTealiumRequest(thirdLevelActionId, second.TextForLinkOnThirdLevel); })" :title="second.title" :href="second.linkTo" class="font-color--red">{{second.TextForLinkOnThirdLevel}}</a> </li> <li v-for="(third, k) in second.thirdLevel" :class="{'flush--top flush--bottom': third.backgroundImagePath, 'border--bottom-silver': !third.backgroundImagePath && (k === second.thirdLevel.length - 1 || (second.thirdLevel.length > k+1 && !second.thirdLevel[k+1].backgroundImagePath))}"> <a :onclick="third.paramOnClick ? third.paramOnClick : 'event.preventDefault()'" @click="onAnchorClickHandler(third, 'linkTo', () => { this.headerTealiumRequest(openThirdLevelActionId, !third.backgroundImagePath ? third.text : `\:Highlight`); })" :href="third.linkTo" :title="third.title"> <template v-if="!third.backgroundImagePath"> <span v-html="third.text"></span> </template> <template v-else> <div class="hero menu-navigation__level--third-image"> <div class="background background--cover hero__background hero__background--no-tint"> <picture> <source :data-srcset="third.backgroundImagePath" :srcset="third.backgroundImagePath"/> <img :data-srcset="third.backgroundImagePath" alt="Image description" :srcset="third.backgroundImagePath" :src="third.backgroundImagePath" class="lazyloaded"/> </picture> <noscript> <img :src="third.backgroundImagePath" alt=""/> </noscript> </div> <div class="hero__band"> <h6 class="heading heading--6 heading--light hero__heading align--left gutter--left" v-html="third.text"> </h6> </div> </div> </template> </a> </li> </ul> </nav> </div> </transition> <a class="menu-navigation__level--second-closed" @click="closeAll()"> <svg focusable="false" aria-hidden="true" class="icon icon--white icon--extra-small icon--thick"> <use xlink:href="#icon-close"></use> </svg> <span class="visually-hidden">Close Menu</span> </a> </template> </template> <div class="menu-navigation__overlay" @click="closeAll()"></div> </div> </transition> </div> <li data-layout-type="mobile-menu" class="no-gutter--left menu-navigation__item hide--lg"> <a class="menu-navigation__link menu-navigation__link--nav" :class="{'menu-navigation__link--active': active.mobile.zero === 1}" @click="openHamburger()" aria-haspopup="true"> <svg focusable="false" aria-hidden="true" class="icon icon--small"> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-menu"></use> </svg> <small class="half-gutter--left align--middle">Menu</small> </a> <div class="mobile-menu" v-show="active.mobile.zero != -1"> <div class="menu-navigation__level--second" :class="{'menu-navigation__level--second-close': active.mobile.zero === 0}"> <nav> <ul class="menu-navigation__scrollable"> <div v-if="zeroLevelArrayActive" class="business-tabs__menu"> <li v-for="sub in zeroLevelArrayActive"> <a :onclick="sub.paramOnClick ? sub.paramOnClick : null" @click="onAnchorClickHandler(sub, 'linkURL', () => { toggleSubEntry(sub); headerLevelZeroTealiumRequest(upperLevelMenuActionId, sub.text); })" :class="selectedJson === sub.context ? 'business-tabs__menu active' : null"> {{sub.text}} </a> </li> </div> <template v-for="(first, i) in array"> <li class="menu-navigation__item"> <a class="menu-navigation__link" :onclick="first.paramOnClick ? first.paramOnClick : 'event.preventDefault()'" @click="onAnchorClickHandler(first, 'linkTo', () => { first.secondLevel ? openSecondLevelMobile(i, first.text) : headerTealiumRequest(openSecondLevelActionId, first.text) }, !first.secondLevel)" :title="first.title" :href="first.linkTo" :class="{'menu-navigation__link--subnav': first.linkTo}" aria-expanded="false" aria-selected="false" tabindex="0" role="tab" aria-haspopup="false">{{first.text}} <span class="visually-hidden">{{first.text}}</span> <svg v-if="first.secondLevel && first.linkTo" focusable="false" aria-hidden="true" class="icon icon--extra-small icon--red icon--thick float--right"> <use xlink:href="#icon-chevron-right"></use> </svg> </a> <section v-if="first.secondLevel" class="menu-navigation__level--third" :class="{'menu-navigation__level--third-active': active.mobile.first === i}"> <nav> <ul class="menu-navigation__scrollable"> <li> <a @click="returnTo(1)"> <svg focusable="false" aria-hidden="true" class="icon icon--small icon--thick"> <use xlink:href="#icon-arrow-left"></use> </svg> <span class="half-gutter--left align--middle">{{first.text}}</span> </a> </li> <template v-for="(second, j) in first.secondLevel"> <li v-if="validRule(second)"> <a :onclick="performSecondOnClick(second)" @click="onAnchorClickHandler(second, 'linkTo', () => { second.thirdLevel ? openThirdLevelMobile(j, second.text) : headerTealiumRequest(openThirdLevelActionId, second.text) }, !second.thirdLevel)" :href="second.linkTo && !second.thirdLevel ? second.linkTo : null" :title="second.title"> {{second.text}} <svg v-if="second.thirdLevel && second.linkTo || second.rule" focusable="false" aria-hidden="true" class="icon icon--extra-small icon--red icon--thick float--right"> <use xlink:href="#icon-chevron-right"></use> </svg> </a> <section v-if="second.thirdLevel && active.mobile.second === j" class="menu-navigation__level--fourth menu-navigation__level--fourth-active"> <nav> <ul class="list--reset"> <li> <a @click="returnTo(2)"> <svg focusable="false" aria-hidden="true" class="icon icon--small icon--thick"> <use xlink:href="#icon-arrow-left"></use> </svg> <span class="half-gutter--left align--middle">{{second.text}}</span> </a> </li> <li v-if="second.TextForLinkOnThirdLevel"> <a :onclick="second.paramOnClick ? second.paramOnClick : 'event.preventDefault()'" @click="onAnchorClickHandler(second, 'linkTo', () => { headerTealiumRequest(thirdLevelActionId, second.TextForLinkOnThirdLevel) })" :title="second.title" :href="second.linkTo" class="font-color--red">{{second.TextForLinkOnThirdLevel}}</a> </li> <li v-for="(third, k) in second.thirdLevel" :class="{'flush--top flush--bottom': third.backgroundImagePath, 'border--bottom-silver': !third.backgroundImagePath && (k === second.thirdLevel.length - 1 || (second.thirdLevel.length > k+1 && !second.thirdLevel[k+1].backgroundImagePath))}"> <a :onclick="third.paramOnClick ? third.paramOnClick : 'event.preventDefault()'" @click="onAnchorClickHandler(third, 'linkTo', () => { headerTealiumRequest(thirdLevelActionId, third.text) })" :href="third.linkTo" :title="third.title"> <template v-if="!third.backgroundImagePath"> <span v-html="third.text"></span> </template> <template v-else> <div class="hero menu-navigation__level--fourth-image"> <div class="background background--cover hero__background hero__background--no-tint"> <picture> <source v-if="third.backgroundImagePath" :data-srcset="third.backgroundImagePath" :srcset="third.backgroundImagePath" media="(min-width: 970px)"/> <source v-if="third.backgroundImagePathTablet" :data-srcset="third.backgroundImagePathTablet" :srcset="third.backgroundImagePathTablet" media="(min-width: 640px)"/> <source v-if="third.backgroundImagePathMobile" :data-srcset="third.backgroundImagePathMobile" :srcset="third.backgroundImagePathMobile"/> <img :data-srcset="third.backgroundImagePath" alt="Image description" :src="third.backgroundImagePath" class="lazyloaded width--100"/> </picture> <noscript> <img :src="third.backgroundImagePath" alt=""/> </noscript> </div> <div class="hero__band"> <h6 class="heading heading--6 heading--light hero__heading align--left gutter--left" v-html="third.text"> </h6> </div> </div> </template> </a> </li> </ul> </nav> </section> </li> </template> </ul> </nav> </section> </li> </template> <template v-for="(zero, z) in zeroLevelArrayInactive"> <li class="menu-navigation__global--options" :class="{'gutter--top': z === 0, 'border--bottom-silver': z === zeroLevelArrayInactive.length - 1}"> <a :onclick="zero.paramOnClick ? zero.paramOnClick : null" @click="onAnchorClickHandler(zero, 'linkURL', () => { headerLevelZeroTealiumRequest(upperLevelMenuActionId, zero.text) })"> Ir para {{zero.text}} </a> </li> </template> <li class="half-gutter--top"> <div> <svg viewBox="0 0 192 192" class="icon icon--small icon--sub menu-navigation__global--icon"> <line id="afa0dea2-fdb5-4188-b127-0390bcfc2413" fill="none" stroke="#333333" stroke-width="8" stroke-linecap="round" stroke-miterlimit="10" x1="124" y1="84" x2="92" y2="84"></line> <line id="fca2dd7d-8243-463f-9694-d76870f6b696" fill="none" stroke="#333333" stroke-width="8" stroke-linecap="round" stroke-miterlimit="10" x1="76" y1="84" x2="68" y2="84"></line> <line id="c0f6faeb-1130-48f3-b62a-bcd83c3abeaf" fill="none" stroke="#333333" stroke-width="8" stroke-linecap="round" stroke-miterlimit="10" x1="124" y1="108" x2="92" y2="108"></line> <line id="_x39_f9d3ac1-3527-469f-b7cc-d7b4a8af09e5" fill="none" stroke="#333333" stroke-width="8" stroke-linecap="round" stroke-miterlimit="10" x1="76" y1="108" x2="68" y2="108"></line> <line id="_x30_e845ff5-6eb9-4522-9631-9073c7db3199" fill="none" stroke="#333333" stroke-width="8" stroke-linecap="round" stroke-miterlimit="10" x1="124" y1="132" x2="92" y2="132"></line> <line id="_x39_0b7f6c8-8095-43f3-848c-53ffec273712" fill="none" stroke="#333333" stroke-width="8" stroke-linecap="round" stroke-miterlimit="10" x1="76" y1="132" x2="68" y2="132"></line> <path fill="none" stroke="#333333" stroke-width="8" stroke-linejoin="round" d="M148,52l-32-32H56c-6.627,0-12,5.373-12,12v128 c0,6.627,5.373,12,12,12h80c6.627,0,12-5.373,12-12V52z"> </path> <polyline fill="none" stroke="#333333" stroke-width="8" stroke-linejoin="round" points="116,20.23 116,52 148,52 "></polyline> </svg> <a class="menu-navigation__global--sub" :onclick="secondEntryObject.paramOnClick ? secondEntryObject.paramOnClick : null" @click="onAnchorClickHandler(secondEntryObject, 'linkURL', () => { headerLevelZeroTealiumRequest(rightSideMenuActionId, secondEntryObject.text) })" role="button" :aria-label="secondEntryObject.text"> {{secondEntryObject.text}} </a> </div> </li> </ul> </nav> <a @click="closeAllMobile()" class="menu-navigation__level--second-closed"> <svg focusable="false" aria-hidden="true" class="icon icon--white icon--extra-small icon--thick"> <use xlink:href="#icon-close"></use> </svg> <span class="visually-hidden">Close Menu</span> </a> <div class="menu-navigation__overlay" @click="closeAllMobile()"></div> </div> </div> </li> </div> </template> <script src="/etc.clientlibs/digital-commons/components/content/structure/ws10/vf_navigation/vf_headerMenu/clientlibs.min.js"></script> <script src="/etc.clientlibs/digital-commons/components/content/structure/ws10/vf_navigation/clientlibs.min.js"></script> </div> </div> </div></div> </div> <div class="responsivegrid aem-GridColumn--default--none aem-GridColumn aem-GridColumn--default--12 aem-GridColumn--offset--default--0"> <div class="aem-Grid aem-Grid--12 aem-Grid--default--12 "> <div class="vf_heroBanner parbase aem-GridColumn aem-GridColumn--default--12"> <div class="cq-placeholder" data-emptytext="Hero Banner"></div> <div class="hello "> <div class="background background--cover hello__background--static"> <div class="background__image lazyload" data-bgset="/content/dam/digital-sites/empresarial/observatorio/outros-observatorio-banner-hb1.jpg/jcr:content/renditions/cq5dam.web.1920.1000.jpeg [(max-width: 1920px)] | /content/dam/digital-sites/empresarial/observatorio/outros-observatorio-banner-hb1.jpg/jcr:content/renditions/cq5dam.web.1920.1000.jpeg"> </div> <noscript> <div class="background__image" style="background-image: url(/content/digital-sites/pt/business/v-hub/jcr:content/root/responsivegrid/vf_herobanner_copy_c.img.jpg/1619538705615.jpg)"></div> </noscript> </div> <div class="hello__band hello__band--static "> <div class="section section__level--two"> <div> <div class="vf_heading vf_parent_component"> <div class="section section__flush flush--bottom section__gutter--half--top " style="background-color: ; color : #FFFFFF; border-radius: px;"> <div class="spring "> <h1 class="heading heading--1 heading--light no-gutter--all" style="color : ;"> <span class="chevron chevron--inline chevron--inline--wrap"> <span class="chevron__text"> V-Hub Business </span> </span> </h1> </div> </div> <script src="/etc.clientlibs/digital-myvodafone/components/content/authored/vf_parent_component/clientlibs.min.js"></script> <script src="/etc.clientlibs/digital-commons/components/content/vf_parent_component/clientlibs.min.js"></script> </div> <div class="cmp cmp-text"> <div class="section section__flush flush--top flush--bottom " style="background-color: ; color : #FFFFFF; border-radius: px;"> <div class="desktopText"> <h2 class="heading heading--5 heading--light no-gutter--all">A nova plataforma de conteúdos especializados para o seu negócio.</h2> </div> </div> </div> </div> </div> </div> </div> </div> <div class="vf_breadcrumb aem-GridColumn aem-GridColumn--default--12"><div id="breadcrumb"> <nav class="breadcrumbs breadcrumbs--dark breadcrumbs_borders "> <div class="spring"> <p class="visually-hidden">Breadcrumbs</p> <ol class="breadcrumbs__list hide--sm hide--md"> <li class="breadcrumbs__item"> <a href="/business.html" role="button" aria-label="Início" class="breadcrumbs__crumb breadcrumbs__crumb--first"> Início </a> <svg focusable="false" aria-hidden="true" class="icon icon--extra-extra-small" v-if="!isLast('0','2')"> <use xlink:href="#icon-chevron-right"/> </svg> </li> <li class="breadcrumbs__item"> V-Hub </li> </ol> <ul class="breadcrumbs__list hide--lg" v-cloak> <li v-if="isPreviousToLast('0','2')"> <div> <a href="/business.html" class="breadcrumbs__chevron"> <svg focusable="false" aria-hidden="true" class="icon icon--small"> <use xlink:href="#icon-chevron-right"/> </svg> </a> <a href="/business.html" class="breadcrumbs__crumb"> Início </a> </div> </li> <li v-if="isPreviousToLast('1','2')"> <div> <a href="/business/v-hub.html" class="breadcrumbs__chevron"> <svg focusable="false" aria-hidden="true" class="icon icon--small"> <use xlink:href="#icon-chevron-right"/> </svg> </a> <a href="/business/v-hub.html" class="breadcrumbs__crumb"> V-Hub </a> </div> </li> </ul> </div> </nav> </div> <div> <script src="/etc.clientlibs/digital-commons/components/content/structure/vf_breadcrumb/clientlibs.min.js"></script> </div></div> <div class="vf_html vf_parent_component aem-GridColumn aem-GridColumn--default--12"> <div class="section section--mine-shaft " style="border-radius: 0px"> <div class="vf_simpleTabs vf_parent_component aem-GridColumn aem-GridColumn--default--12"> <div class="section section__flush flush--top flush--bottom "> <div> <div> <section class="section" id="vhub"> <div> <div id="container-vhub" class="js-tabs tabs js-dynamic-content-listener"> <div class="tabs__navigation-wrapper"> <nav id="nav-vhub" class="js-tabs-navigation tabs__navigation tabs__navigation--fixed " role="tablist" style="background: inherit; border-bottom: #7d7d7d 1px solid;"> <a id="destaques" class="js-tabs-tab tabs__tab font-color--white tabs__tab--active" href="/business/v-hub.html" onclick="checkEqualHeightsSimpleT('destaques');" aria-controls="destaques" role="tab" aria-selected="false"> Destaques </a> <a id="explorar" class="js-tabs-tab tabs__tab font-color--white" href="/business/v-hub/explorar.html" onclick="checkEqualHeightsSimpleT('explorar'); " aria-controls="explorar" role="tab" aria-selected="false"> Explorar </a> <a id="observatorio" class="js-tabs-tab tabs__tab font-color--white" href="/business/v-hub/observatorio-empresas.html" onclick="checkEqualHeightsSimpleT('observatorio'); " aria-controls="observatorio" role="tab" aria-selected="false"> Observatório </a> <a id="estudos" class="js-tabs-tab tabs__tab font-color--white" href="/business/v-hub/estudos.html" onclick="checkEqualHeightsSimpleT('estudos'); " aria-controls="estudos" role="tab" aria-selected="false"> Estudos </a> <a id="casos-sucesso" href="/business/v-hub/casos-sucesso.html" class="js-tabs-tab tabs__tab font-color--white" onclick="checkEqualHeightsSimpleT('casos-sucesso'); " aria-controls="casos-sucesso" role="tab" aria-selected="false"> Casos de Sucesso </a> <a id="formacao" href="/business/v-hub/formacao.html" class="js-tabs-tab tabs__tab font-color--white" onclick="checkEqualHeightsSimpleT('formacao'); " aria-controls="formacao" role="tab" aria-selected="false"> Formação </a> </nav> </div> </div> </div> </section> </div> </div> </div> </div> <div class="clear"></div> </div> </div> <div class="vf_heading vf_parent_component aem-GridColumn aem-GridColumn--default--12"> <div class="section section--mine-shaft flush--half " style="border-radius: px"> <div class="spring grid__item--align-center "> <h2 class="heading heading--2 heading--light no-gutter--all" style="color : rgb(255,255,255);"> <span class="chevron chevron--inline chevron--inline--wrap"> <span class="chevron__text"> <span class="heading heading--3 heading no-gutter--all">Tendências, ideias e dicas para o ajudar a impulsionar o seu negócio.</span> </span> </span> </h2> </div> </div> </div> <div class="vf_grid vf_parent_component aem-GridColumn aem-GridColumn--default--12"> <div class="section section--mine-shaft flush--top flush--bottom " style="border-radius: px"> <div class="spring "> <div class="grid "> <div class="grid__item grid__item--top grid__item--align-left grid__item--sm-1/1 grid__item--md-1/1 grid__item--1/1"> <div class="vf_video vf_parent_component"> <div class="section section--transparent flush--top flush--bottom " style="border-radius: 0px"> <div id="video--" class="video-stream--fix"> <div class="video-stream video-stream--paused"> <div id="youtubeplayer-thumbnail-xt9XJ4taq7g"> <img id="ytThumbId" alt="Cristina Rodrigues CEO Capgemini Portugal" onload="setSizeYt('xt9XJ4taq7g', '90%px', '100%px');" class="js-video-stream-video video-stream__video" onclick="playPauseYoutube('xt9XJ4taq7g', 'https://www.youtube-nocookie.com/embed/xt9XJ4taq7g?rel=0&controls=1&showinfo=0&autoplay=0&enablejsapi=1', 'true');;" role="application" aria-label="video" src="/content/dam/digital-sites/empresarial/observatorio/v-hub-thumbnail-capgemini-800x480.jpg"/> <button class="js-video-stream-toggle video-stream__toggle video-stream__toggle--red" onclick="playPauseYoutube('xt9XJ4taq7g', 'https://www.youtube-nocookie.com/embed/xt9XJ4taq7g?rel=0&controls=1&showinfo=0&autoplay=0&enablejsapi=1', 'true');;" aria-label="Play"> <svg focusable="false" aria-hidden="true" class="icon icon--small video-stream__toggle-icon video-stream__toggle-icon--play font-color--white"> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-play"></use> </svg> <svg focusable="false" aria-hidden="true" class="icon icon--small video-stream__toggle-icon video-stream__toggle-icon--pause font-color--white"> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-pause"></use> </svg> </button> </div> <div id="youtube-player-div-xt9XJ4taq7g" class="video-stream__container video-stream__container--wide" style="display:none;"> </div> </div> </div> </div> </div> <div class="vf_heading vf_parent_component"> <div class="section section--mine-shaft flush--bottom " style="border-radius: 0px"> <h3 class="heading heading--3 heading--light no-gutter--all" style="color : ;"> <a onclick=";" href="/business/v-hub/explorar/inovacao/industrias-mais-inteligentes-com-5g.html" target="_blank"> <span class="chevron chevron--inline chevron--inline--wrap"> <span class="chevron__text"> Indústrias mais inteligentes com o 5G </span> <span class="chevron__container"> <svg focusable="false" aria-hidden="true" class="icon icon--small chevron__icon font-color--red"> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-chevron-right"></use> </svg> </span> </span> </a> </h3> </div> </div> <div class="cmp cmp-text"> <div class="section section--mine-shaft flush--top flush--bottom display--sm-none" style="border-radius: px"> <div class="desktopText"> <p>Que transformações traz o 5G para o processo de digitalização das empresas? Descubra como a Capgemini, uma empresa do setor tecnológico, está a contribuir para impulsionar a transformação digital dos negócios, através da inovação tecnológica e do 5G.</p> </div> </div> </div> <div class="cmp cmp-text"> <div class="section section--mine-shaft flush--top " style="border-radius: px"> <div class="desktopText"> <p><i><b>Cristina Rodrigues </b></i><br/> CEO Capgemini Portugal</p> </div> </div> </div> </div> </div> </div> </div> </div> <div class="vf_experienceFragment aem-GridColumn aem-GridColumn--default--12"> <div class="xfpage page basicpage"> <div class="xf-content-height"> <div class="aem-Grid aem-Grid--12 aem-Grid--default--12 "> <div class="vf_html vf_parent_component aem-GridColumn aem-GridColumn--default--12"> <div class="section section__flush flush--top flush--bottom " style="border-radius: 0px;"> <script>const articles={mobilidade:[{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/v-hub-trabalhe-forma-mais-eficiente-tecnologia-iot.jpg",altText:"mulher a utilizar o computador na rua",imageTitle:"Regime de trabalho híbrido",label:"Cultura da Empresa",filters:["mobilidade"],title:"Três formas de manter a cultura da sua empresa num regime de trabalho híbrido",bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/mobilidade/formas-de-manter-a-cultura-nas-empresas-com-regime-de-trabalho-hibrido.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/v-hub-explorar-mobilidade-pontos-fortes-trabalho-remoto-640x500-m.png",altText:"mulher em videochamada com os colegas de trabalho",imageTitle:"Pontos fortes do trabalho remoto",label:"Trabalho Remoto",filters:[],title:"Pontos fortes do trabalho remoto",bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/mobilidade/pontos-fortes-do-trabalho-remoto.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/vhub-trabalhe-forma-mais-eficiente-m.jpg",altText:"Homem com tablet no meio de uma plantação",imageTitle:"Homem com tablet",label:"Tecnologia IoT",filters:["mobilidade"],title:"Trabalhe de forma mais eficiente com a tecnologia IoT",bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/mobilidade/trabalhe-de-forma-mais-eficiente-com-a-tecnologia-iot.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/vhub-trabalho-remoto-m.jpg",altText:"Mulher sentada em frente ao computador",imageTitle:"Trabalho Remoto",label:"Trabalho Remoto",filters:["mobilidade","v-hub"],title:"Trabalho remoto a longo prazo",bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/mobilidade/trabalho-remoto-a-longo-prazo.html",customOrder:10,},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/vhub-produtividade-colaboradores-m.jpg",altText:"Homem sentado a olhar para o tablet",imageTitle:"Produtividade",label:"Produtividade",filters:["mobilidade","v-hub"],title:"Manter a produtividade com os colaboradores a trabalhar remotamente",bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/mobilidade/manter-a-produtividade-com-colaboradores-a-trabalhar-remotamente.html",customOrder:9,},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-robot-vegebot-m.jpg",altText:"Robô a recolher alimentos",imageTitle:"Vegebot",label:"Robôs Agrícolas",filters:[""],title:"Porque é que os robôs irão colher frutas e vegetais delicados em breve",bio:"Nell Lewis, CNN Business",link:"/content/digital-sites/pt/business/v-hub/explorar/mobilidade/robos-irao-colher-frutas-e-vegetais.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-wing-drone-m.jpg",altText:"Drone a voar em céu azul",imageTitle:"Drones",label:"Distribuição com Drones",filters:[""],title:"Wing recebe aprovação da FAA com vista à distribuição com drones",bio:"Matt McFarland, CNN Business",link:"/content/digital-sites/pt/business/v-hub/explorar/mobilidade/distribuicao-drones.html",}],presenca_digital:[{"imageUrl":"/content/dam/digital-sites/empresarial/v-hub/empresarial-vhub-software-CRM-m.jpg","altText":"Desenho de um homem a mexer num ecrã gigante com dados e gráficos","imageTitle":" Cativar clientes através do software CRM","label":"CRM","filters":["presenca-digital"],"title":"Capte os seus clientes através do software CRM","bio":"","link":"/content/digital-sites/pt/business/v-hub/explorar/presenca-digital/cativar-mais-clientes-com-a-ajuda-do-software-CRM.html"},{"imageUrl":"/content/dam/digital-sites/empresarial/v-hub/v-hub-quatro-passos-para-melhorar-otimizacao-motores-busca-640x500.jpg","altText":"Duas pessoas sentadas a reunir e a discutir a informação que se encontra no computador","imageTitle":"Passos para melhorar o seu site nos motores de busca","label":"SEO","filters":["presenca-digital"],"title":"Quatro passos para Otimizar os Motores de Busca","bio":"","link":"/content/digital-sites/pt/business/v-hub/explorar/presenca-digital/quatro-passos-para-melhorar-a-otimizacao-dos-motores-de-busca.html"},{"imageUrl":"/content/dam/digital-sites/empresarial/v-hub/v-hub-como-a-optimizacao-de-motores-de-busca-m.jpg","altText":"Duas pessoas sentadas a reunir e a discutir a informação que se encontra no computador","imageTitle":"Otimização de Motores de Busca no seu site","label":"SEO","filters":["presenca-digital"],"title":"Como a Otimização de Motores de Busca (SEO) pode ajudar clientes a encontrar o seu site","bio":"","link":"/content/digital-sites/pt/business/v-hub/explorar/presenca-digital/otimizacao-motores-de-busca-para-encontrar-o-seu-site.html"},{"imageUrl":"/content/dam/digital-sites/empresarial/v-hub/v-hub-comecar-com-um-website-e-a-chave-para-o-sucesso.jpg","altText":"Porque é que começar com um website é a chave para o sucesso do negócio?","imageTitle":"Website para o seu negócio","label":"Transformação Digital","filters":["presenca-digital"],"title":"Porque é que começar com um website é a chave para o sucesso do negócio?","bio":"","link":"/content/digital-sites/pt/business/v-hub/explorar/presenca-digital/comecar-um-website-e-a-chave-para-o-sucesso-do-negocio.html"},{"imageUrl":"/content/dam/digital-sites/empresarial/observatorio/v-hub-tres-novas-regras-m.jpg","altText":"Mulher sentada em frente a monitor","imageTitle":"Serviço ao cliente","label":"Serviço ao cliente","filters":["presenca-digital"],"title":"Três novas regras no serviço ao cliente em 2021","bio":"","link":"/content/digital-sites/pt/business/v-hub/explorar/presenca-digital/tres-novas-regras-no-servico-ao-cliente.html"},{"imageUrl":"/content/dam/digital-sites/empresarial/observatorio/v-hub-mantenha-sintonia-com-os-clientes-m.jpg","altText":"Homem a utilizar um microfone para gravar publicidade em formato de áudio","imageTitle":"Publicidade em áudio","label":"Spotify","filters":["presenca-digital"],"title":"Mantenha-se em sintonia com os seus clientes e chegue até eles com Sarah Kiefer do Spotify","bio":"","link":"/content/digital-sites/pt/business/v-hub/explorar/presenca-digital/mantenha-se-em-sintonia-com-os-seus-clientes.html"},{"imageUrl":"/content/dam/digital-sites/empresarial/observatorio/v-hub-como-tirar-partido-da-publicidade-em-audio-640x500.jpg","altText":"Homem a utilizar um microfone para gravar publicidade em formato de áudio","imageTitle":"Publicidade em áudio","label":"Marketing Digital","filters":["presenca-digital"],"title":"Como tirar partido da publicidade em áudio","bio":"","link":"/content/digital-sites/pt/business/v-hub/explorar/presenca-digital/como-tirar-partido-da-pubicidade-em-audio.html"},{"imageUrl":"/content/dam/digital-sites/empresarial/observatorio/empresarial-v-hub-viagem-transformacao-m.jpg","altText":"mulher a desenhar e a utilizar um portátil numa secretária","imageTitle":"Viagem de transformação digital","label":"Tecnologia","filters":["presenca-digital"],"title":"Inspire-se para iniciar a sua viagem de transformação digital","bio":"","link":"/content/digital-sites/pt/business/v-hub/explorar/presenca-digital/iniciar-a-viagem-de-transformacao-digital.html"},{"imageUrl":"/content/dam/digital-sites/empresarial/observatorio/vhub-redes-sociais-m.jpg","altText":"Mulher em frente a computador portátil com telemóvel na mão. ","imageTitle":"Redes sociais","label":"Plataformas Digitais","filters":["presenca-digital"],"title":"Como tirar o maior partido do seu website","bio":"","link":"/content/digital-sites/pt/business/v-hub/explorar/presenca-digital/como-tirar-o-maior-partido-do-seu-website.html"},{"imageUrl":"/content/dam/digital-sites/empresarial/observatorio/vhub-criar-website-m.jpg","altText":"Mulher no escritório","imageTitle":"Website","label":"Plataformas Digitais","filters":["presenca-digital","v-hub"],"title":"Três passos para criar o seu <br class=\"hide--sm hide--md\"> website","bio":"","link":"/content/digital-sites/pt/business/v-hub/explorar/presenca-digital/tres-passos-para-criar-o-seu-website.html","customOrder":12},{"imageUrl":"/content/dam/digital-sites/empresarial/observatorio/vhub-faca-se-ouvir-m.jpg","altText":"Homem a trabalhar no computador portátil","imageTitle":"Faça-se ouvir","label":"Marketing Digital","filters":["presenca-digital"],"title":"Faça-se ouvir acima do ruído","bio":"","link":"/content/digital-sites/pt/business/v-hub/explorar/presenca-digital/faca-se-ouvir-acima-do-ruido.html"},{"imageUrl":"/content/dam/digital-sites/empresarial/observatorio/vhub-construir-presenca-digital-m.jpg","altText":"Consultar o tablet","imageTitle":"Tablet","label":"Presença","filters":["presenca-digital","v-hub"],"title":"Construir a sua presença digital","bio":"","link":"/content/digital-sites/pt/business/v-hub/explorar/presenca-digital/construir-a-sua-presenca-digital.html","customOrder":13},{"imageUrl":"/content/dam/digital-sites/empresarial/observatorio/vhub-como-a-tecnologia-pode-ajudar-m.jpg","altText":"Mulher a utilizar tablet no sofá","imageTitle":"Tecnologia","label":"Marketing Digital","filters":["presenca-digital"],"title":"Como a tecnologia pode ajudar as empresas a manterem-se mais próximas dos seus clientes","bio":"","link":"/content/digital-sites/pt/business/v-hub/explorar/presenca-digital/como-a-tecnologia-pode-ajudar-as-empresas-a-manterem-se-mais-pro.html"},{"imageUrl":"/content/dam/digital-sites/empresarial/observatorio/vhub-organizar-workshop-virtual-m.jpg","altText":"Mulher a utilizar portátil","imageTitle":"Workshop Virtual","label":"Workshop Virtual","filters":["presenca-digital"],"title":"Como organizar um workshop virtual","bio":"","link":"/content/digital-sites/pt/business/v-hub/explorar/presenca-digital/como-organizar-um-workshop-virtual.html"},{"imageUrl":"/content/dam/digital-sites/empresarial/observatorio/vhub-realizar-evento-virtual-m.jpg","altText":"Mulher a utilizar dispositivo de realidade virtual aumentada","imageTitle":"Realidade virtual","label":"Evento Virtual","filters":["presenca-digital"],"title":"Como realizar um evento virtual de sucesso","bio":"","link":"/content/digital-sites/pt/business/v-hub/explorar/presenca-digital/como-realizar-um-evento-virtual-de-sucesso.html"},{"imageUrl":"/content/dam/digital-sites/empresarial/observatorio/observatorio-castelbel-m.jpg","altText":"Fotografia de Américo Dias Pinheiro","imageTitle":"Américo Dias Pinheiro","label":"Digitalização","filters":["presenca-digital"],"title":"A digitalização para o crescimento do negócio","bio":"Américo Dias Pinheiro","link":"/content/digital-sites/pt/business/v-hub/explorar/presenca-digital/digitalizacao-para-o-crescimento-do-negocio.html"},{"imageUrl":"/content/dam/digital-sites/empresarial/observatorio/observatorio-lucas-aisa-m.jpg","altText":"fotografia de Lucas Aísa","imageTitle":"Lucas Aísa","label":"Marketing e Estratégia","filters":["presenca-digital"],"title":"Como e quando criar uma imagem de marca","bio":"Lucas Aísa","link":"/content/digital-sites/pt/business/v-hub/explorar/presenca-digital/como-e-quando-criar-uma-imagem-de-marca.html"},{"imageUrl":"/content/dam/digital-sites/empresarial/observatorio/observatorio-deborah-fernandez-m.jpg","altText":"Fotografia de Déborah Fernández","imageTitle":"Déborah Fernández","label":"Analytics","filters":["presenca-digital"],"title":"Manual de Google Analytics para otimizar a sua presença digital","bio":"Déborah Fernández","link":"/content/digital-sites/pt/business/v-hub/explorar/presenca-digital/manual-de-google-analytics-para-otimizar-a-sua-presenca-digital.html"},{"imageUrl":"/content/dam/digital-sites/empresarial/observatorio/observatorio-anant-agarwal-m.jpg","altText":"Fotografia de Anant Agarwal","imageTitle":"Anant Agarwal","label":"Educação","filters":["presenca-digital"],"title":"A plataforma de cursos online com apenas 9% de desistências","bio":"Anant Agarwal","link":"/content/digital-sites/pt/business/v-hub/explorar/presenca-digital/a-plataforma-de-cursos-online-com-apenas-9-por-cento-de-desistencias.html"},{"imageUrl":"/content/dam/digital-sites/empresarial/observatorio/observatorio-saavedra-m.jpg","altText":"Fotografia de Javier Fernández Saavedra","imageTitle":"Javier Fernández Saavedra","label":"Clientes","filters":["presenca-digital"],"title":"Um website para mobile capta os clientes, uma app fideliza-os","bio":"Javier Fernández Saavedra","link":"/content/digital-sites/pt/business/v-hub/explorar/presenca-digital/um-website-para-mobile-capta-os-clientes-uma-app-fideliza-os.html"},{"imageUrl":"/content/dam/digital-sites/empresarial/observatorio/observatorio-luis-marques-m.jpg","altText":"Fotografia de Luis Marqués Defoin","imageTitle":"Luis Marqués Defoin","label":"Redes Sociais","filters":["presenca-digital"],"title":"A publicidade no Youtube deve ser emocionante, criativa e <br class=\"hide--sm hide--md\"> pertinente","bio":"Luis Marqués Defoin","link":"/content/digital-sites/pt/business/v-hub/explorar/presenca-digital/a-publicidade-no-youtube-deve-ser-emocionante-criativa-e-pertinente.html"},{"imageUrl":"/content/dam/digital-sites/empresarial/observatorio/observatorio-ramon-puchades-m.jpg","altText":"Fotografia de Ramón Puchades","imageTitle":"Ramón Puchades","label":"E-Commerce","filters":["presenca-digital"],"title":"Sou empresário em nome individual, por onde começo na internet?","bio":"Ramón Puchades","link":"/content/digital-sites/pt/business/v-hub/explorar/presenca-digital/sou-empresario-em-nome-individual-por-onde-comeco-na-internet.html"}],seguranca:[{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/v-hub-ciberseguranca-phishing-destaque-m.jpg",altText:"Mulher sentada com telemóvel na mão",imageTitle:"senhora a usar o telemóvel que está protegido com soluções de cibersegurança",label:"Cibersegurança",filters:["seguranca"],title:'Proteja os seus colaboradores contra o phishing',bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/seguranca/proteja-os-seus-colaboradores-contra-o-phishing.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/vhub-como-manter-a-seguranca-no-teletrabalho-m.jpg",altText:"Mulher sentada com telemóvel na mão",imageTitle:"Cibersegurança em casa",label:"Cibersegurança",filters:["seguranca"],title:'Cibersegurança em casa',bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/seguranca/como-manter-a-seguranca-no-teletrabalho.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/v-hub-como-deve-responder-em-caso-de-violacao-de-dados-m.jpg",altText:"Mulher a utilizar tablet",imageTitle:"Resposta a violação de dados",label:"Cibersegurança",filters:["seguranca"],title:'Como deve responder em caso de violação de dados',bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/seguranca/como-responder-em-caso-de-violacao-de-dados.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/v-hub-como-evitar-spyware-m.jpg",altText:"Mulher a ensinar homem através do computador",imageTitle:"Spyware",label:"Cibersegurança",filters:["seguranca"],title:'Spyware: O que é e como <br class="hide--sm hide--md"> evitá-lo',bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/seguranca/como-evitar-spyware.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/v-hub-proteger-contra-spoofing-destaque-m.jpg",altText:"Pessoa a utilizar o telemóvel",imageTitle:"Spoofing",label:"Cibersegurança",filters:["seguranca"],title:"Proteja a sua empresa contra o spoofing de e-mail",bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/seguranca/proteja-a-sua-empresa-contra-spoofing-de-email.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/v-hub-proteger-contra-phishing-movel-destaque-m.jpg",altText:"Pessoa a utilizar o telemóvel",imageTitle:"Phishing móvel",label:"Cibersegurança",filters:["seguranca"],title:"A sua empresa está protegida contra o phishing móvel?",bio:"Chris Hazelton, Lookout",link:"/content/digital-sites/pt/business/v-hub/explorar/seguranca/protega-a-sua-empresa-contra-phishing-movel.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/v-hub-proteger-a-sua-empresa-destaque-m.jpg",altText:"Consulta de valores de ações",imageTitle:"Segurança",label:"Cibersegurança",filters:["seguranca"],title:"Proteger a sua empresa dos riscos cibernéticos e fraude",bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/seguranca/proteger-a-sua-empresa-de-riscos-ciberneticos-e-fraude.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/vhub-consulta-valores-acoes-m.jpg",altText:"Consulta de valores de ações",imageTitle:"Segurança",label:"Cibersegurança",filters:[],title:"Proteger a sua empresa de riscos cibernéticos e fraude",bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/seguranca/proteger-a-sua-empresa-de-riscos-ciberneticos-e-fraude.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/vhub-base-dados-m.jpg",altText:"Base de dados a recolher informação",imageTitle:"Base de dados",label:"Cibersegurança",filters:["seguranca","v-hub"],title:"Quais as ameaças à segurança mais comuns da atualidade?",bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/seguranca/quais-as-ameacas-a-seguranca-mais-comuns-da-atualidade.html",customOrder:18,},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-atualidade-bosch-driver-monitoring-phone-m.jpg",altText:"Mulher sentada ao volante",imageTitle:"Inteligência Artificial",label:"Inteligência Artificial",filters:[""],title:"Sistema de câmara do carro pode ajudar os condutores a manterem-se acordados ao volante",bio:"Nell Lewis, CNN Business",link:"/content/digital-sites/pt/business/v-hub/explorar/seguranca/sistema-camara-carro.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-ai-shoplifting-m.jpg",altText:"Homem com casaco preto numa loja de conveniência e alertas digitais",imageTitle:"Crimes cibernéticos",label:"Inteligência Artificial",filters:[""],title:"A IA deve ser usada para apanhar ladrões?",bio:"Nell Lewis, CNN Business",link:"/content/digital-sites/pt/business/v-hub/explorar/seguranca/inteligencia-artificial-para-apanhar-ladroes.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-driveless-car-m.jpg",altText:"Veículo Autónomo",imageTitle:"Veículo Autónomo",label:"Veículos Autónomos",filters:[""],title:"Quais os desafios das seguradoras na era dos veículos autónomos?",bio:"Emma Kennedyld",link:"/content/digital-sites/pt/business/v-hub/explorar/seguranca/desafios-seguradoras-veiculos-autonomos.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-abelhas-5g-m.jpg",altText:"Abelhas na colmeia a produzir mel",imageTitle:"Colmeia de abelhas",label:"5G",filters:["",""],title:"Como é que o 5G vai melhorar o nosso dia a dia?",bio:"Laila Worrel",link:"/content/digital-sites/pt/business/v-hub/explorar/seguranca/5g-melhorar-dia-a-dia.html",customOrder:17,},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-atualidade-bombeiros-thumb-m.jpg",altText:"Bombeiro a olhar para um fogo",imageTitle:"Realidade Virtual",label:"Realidade Virtual",filters:[""],title:"A Realidade Virtual poderia formar a próxima geração de bombeiros",bio:"Nell Lewis, CNN Business",link:"/content/digital-sites/pt/business/v-hub/explorar/seguranca/realidade-virtual-geracao-bombeiros.html",},],ecommerce:[{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/vhub-aumentar-vendas-epoca-festiva-m.jpg",altText:"Senhora com mesa em frente com vários objetos como um saco, um espelho e uns óculos.",imageTitle:"Aumentar as vendas online durante as épocas festivas",label:"Vendas",filters:["e-commerce","v-hub"],title:"Como aumentar as vendas online durante as épocas festivas",bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/e-commerce/aumente-as-suas-vendas-online-nas-epocas-festivas.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/vhub-colocar-seu-negocio-online-m.jpg",altText:"Mulher com camisola vermelha e headphones ao pescoço",imageTitle:"Mulher com headphones",label:"Tecnologia",filters:[],title:"Como colocar o seu negócio online",bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/e-commerce/como-colocar-o-seu-negocio-online.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/v-hub-dicas-para-tirar-partido-das-opinioes-dos-clientes-online-m.jpg",altText:"Mulher sentada num tapete no chão em frente a computador",imageTitle:"Dicas",label:"E-Commerce",filters:["e-commerce"],title:"Dicas para tirar o máximo partido das opiniões dos clientes online",bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/e-commerce/dicas-para-tirar-partido-das-opinioes-dos-clientes-online.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/vhub-criar-loja-online-m.jpg",altText:"mulher a mostrar algo no telemóvel a outra pessoa",imageTitle:"Loja Online",label:"E-Commerce",filters:["e-commerce","v-hub"],title:"Três passos para criar a sua loja online",bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/e-commerce/tres-passos-para-criar-a-sua-loja-online.html",customOrder:15,},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/vhub-como-maximizar-vendas-online-m.jpg",altText:"Mulher cloira a trabalho no escritório",imageTitle:"Maximizar Vendas",label:"E-Commerce",filters:["e-commerce"],title:"Como maximizar as suas vendas online",bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/e-commerce/como-maximizar-as-suas-vendas-online.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-manolo-vidal-m.jpg",altText:"Fotografia de Manolo Vidal",imageTitle:"Vendas",label:"Vendas",filters:["e-commerce"],title:'O que são "inside sales" e como podem impulsionar as suas vendas',bio:"Manolo Vidal",link:"/content/digital-sites/pt/business/v-hub/explorar/e-commerce/o-que-insides-sales-e-podem-impulsionar-as-suas-vendas.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-daniel-pastrana-m.jpg",altText:"Fotografia de Daniel Pastrana",imageTitle:"Daniel Pastrana",label:"E-Commerce",filters:["e-commerce"],title:"Como a logística prevê onde fazer entregas, antes de receber pedidos",bio:"Daniel Pastrana",link:"/content/digital-sites/pt/business/v-hub/explorar/e-commerce/como-a-logistica-preve-onde-fazer-entregas-antes-de-receber-pedidos.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-jaime-garrastazu-m.jpg",altText:"Fotografia de Jaime Garrastazu",imageTitle:"Jaime Garrastazu",label:"E-Commerce",filters:["e-commerce","v-hub"],title:"Como começar a vender antes de produzir?",bio:"Jaime Garrastazu",link:"/content/digital-sites/pt/business/v-hub/explorar/e-commerce/como-comecar-a-vender-antes-de-produzir.html",customOrder:21,},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-trevor-chapman-m.jpg",altText:"Fotografia de Trevor Chapman",imageTitle:"Trevor Chapman",label:"E-Commerce",filters:["e-commerce"],title:"É preciso vender ecrã a ecrã, tal como se fazia porta em porta",bio:"Trevor Chapman",link:"/content/digital-sites/pt/business/v-hub/explorar/e-commerce/e-preciso-vender-ecra-a-ecra-tal-como-se-fazia-porta-em-porta.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-davenport-m.jpg",altText:"Fotografia de Thomas Davenport",imageTitle:"Thomas Davenport",label:"Big Data",filters:["e-commerce"],title:"Como é que as PMEs podem tirar proveito do Big Data?",bio:"Thomas Davenport",link:"/content/digital-sites/pt/business/v-hub/explorar/e-commerce/como-e-que-as-pme-podem-tirar-proveito-do-big-data.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-albornoz-m.jpg",altText:"Fotografia de Hugo Albornoz",imageTitle:"Hugo Albornoz",label:"Marketing Digital",filters:["e-commerce"],title:"Como vender 17000 bilhetes para um concerto usando apenas o Facebook?",bio:"Hugo Albornoz",link:"/content/digital-sites/pt/business/v-hub/explorar/e-commerce/como-vender-17000-bilhetes-para-um-concerto-usando-apenas-o-facebook.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-cristina-crawley-m.jpg",altText:"Fotografia de Christina Crawley",imageTitle:"Christina Crawley",label:"E-Commerce",filters:["e-commerce"],title:"Seis conselhos básicos e concretos para criar a sua loja online",bio:"Christina Crawley",link:"/content/digital-sites/pt/business/v-hub/explorar/e-commerce/seis-conselhos-basicos-e-concretos-para-criar-a-sua-loja-online.html",}],inovacao:[{imageUrl:"/content/dam/digital-sites/empresarial/v-hub/v-hub-comportamento-consumidores.jpg",altText:"Preparar o negócio para o sucesso em três pontos",imageTitle:"Preparar o negócio para o sucesso em três pontos",label:"Comportamento dos consumidores",filters:["inovacao"],title:'Prepare o seu negócio para o sucesso',bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/inovacao/prepare-o-seu-negocio-para-o-sucesso.html",},{imageUrl:"/content/dam/digital-sites/empresarial/v-hub/v-hub-inovacao-clientes-sao-fieis-m-640x500.jpg",altText:"Pessoa a escrever num computador e icons de satisfação com estrelas de um a cinco.",imageTitle:"Incentivar os clientes a regressar à marca e torná-los fiéis",label:"Estratégia",filters:["inovacao"],title:'Os seus clientes são fiéis à sua marca?',bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/inovacao/os-seus-clientes-sao-fieis-a-sua-marca.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/v-hub-observatorio-teresa-mendes.jpg",altText:"Teresa Mendes",imageTitle:"Teresa Mendes",label:"Empreendedorismo",filters:["inovacao"],title:'O caminho para futuros empreendedores',bio:"Teresa Mendes",link:"/content/digital-sites/pt/business/v-hub/explorar/inovacao/caminho-para-futuros-empreendedores.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/v-hub-primeiro-passo-da-inovacao.jpg",altText:"Carlos Barbosa",imageTitle:"Carlos Barbosa",label:"Tecnologia",filters:["v-hub","inovacao"],title:'Arriscar é o primeiro passo da inovação',bio:"Carlos Barbosa",link:"/content/digital-sites/pt/business/v-hub/explorar/inovacao/arriscar-e-o-primeiro-passo-da-inovacao.html",customOrder:1,},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/empresarial-vhub-SIBS-m.jpg",altText:"CEO SIBS",imageTitle:"Madalena Cascais Tomé",label:"Pagamentos eletrónicos",filters:["inovacao"],title:"Transações cada vez mais digitais",bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/inovacao/transacoes-cada-vez-mais-digitais.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/v-hub-inovacao-criar-uma-grande-marca-m.jpg",altText:"Mulher com telemóvel na mão a tirar fotografia",imageTitle:"Marca",label:"Marca",filters:["inovacao"],title:"Como criar uma grande marca que pode ajudar a sua pequena empresa a crescer?",bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/inovacao/criar-uma-grande-marca-pode-ajudar-a-sua-empresa-a-crescer.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/v-hub-lideres-m.jpg",altText:"Pessoas sentadas à volta de uma mesa",imageTitle:"Inspiração de líderes",label:"ThoseWhoDare",filters:["inovacao"],title:"A opinião dos gestores de topo: inspiração de líderes que ousam ser diferentes",bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/inovacao/lideres-que-ousam-ser-diferentes.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/v-hub-flexibilidade-e-importante--um-conselho-para-empresarios-640x500.jpg",altText:"Homem feliz a ouvir música nos auriculares",imageTitle:"rumo ao sucesso",label:"Shazam",filters:["inovacao"],title:"A flexibilidade é importante: um conselho para empresários do cofundador do Shazam, Dhiraj Mukherjee",bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/inovacao/a-flexibilidade-e-importante-um-conselho-para-empresarios.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/v-hub-5-aspectos-sobre-habito-consumo-pos-covida-m.jpg",altText:"Homem a utilizar um computador portátil",imageTitle:"Hábitos de consumo",label:"Comportamento dos Consumidores",filters:["inovacao"],title:"Cinco aspetos que o Google nos pode ensinar sobre hábitos de consumo pós-Covid",bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/inovacao/cinco-aspetos-sobre-o-habito-de-consumo-pos-covid.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/v-hub-website-mobile-capta-clientes-m.jpg",altText:"CEO Hubel Verde",imageTitle:"Tiago Andrade",label:"Sustentabilidade",filters:["inovacao","v-hub"],title:'Como promover uma agricultura mais sustentável com a <br class="hide--sm hide--md"> tecnologia',bio:"Tiago Andrade",link:"/content/digital-sites/pt/business/v-hub/explorar/inovacao/como-promover-uma-agricultura-mais-sustentavel-com-a-tecnologia.html",customOrder:4,},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/vhub-reabrir-seu-negocio-m.jpg",altText:"Mulher a realizar um pagamento contactless através do telemóvel",imageTitle:"Pagamento com telemóvel",label:"Segurança",filters:["inovacao"],title:"Preparar-se para reabrir o seu negócio",bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/inovacao/preparar-se-para-reabrir-o-seu-negocio.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-mireia-badia-m.jpg",altText:"Fotografia de Mireia Badía",imageTitle:"Mireia Badía",label:"Startups",filters:["inovacao"],title:"O que a banca pode aprender com uma startup de crédito para PMEs",bio:"Mireia Badía",link:"/content/digital-sites/pt/business/v-hub/explorar/inovacao/o-que-a-banca-pode-aprender-com-uma-startup-de-credito-para-pmes.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-jhon-hagel-m.jpg",altText:"Fotografia de John Hagel",imageTitle:"John Hagel",label:"Estratégia",filters:["inovacao"],title:"O método de Silicon Valley para detetar oportunidades de negócio",bio:"John Hagel",link:"/content/digital-sites/pt/business/v-hub/explorar/inovacao/metodo-de-silicon-valley-para-detetar-oportunidades-de-negocio.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-carlo-van-de-weijer-m.jpg",altText:"Fotografia de Carlo Van de Weijer",imageTitle:"Carlo Van de Weijer",label:"Digitalização",filters:["inovacao","v-hub"],title:"Como reinventar um negócio através do digital",bio:"Carlo Van de Weijer",link:"/content/digital-sites/pt/business/v-hub/explorar/inovacao/como-reinventar-um-negocio-atraves-do-digital.html",customOrder:14,},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-gabriela-orille-m.jpg",altText:"Fotografia de Gabriela Orille",imageTitle:"Gabriela Orille",label:"Clientes",filters:["inovacao"],title:"A inovação nos negócios centrada no cliente",bio:"Gabriela Orille",link:"/content/digital-sites/pt/business/v-hub/explorar/inovacao/a-inovacao-nos-negocios-centrada-no-cliente.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/vhub-realidade-aumentada-rotational-m.jpg",altText:"Fotografia de Miguel Martins",imageTitle:"Miguel martins",label:"Inovação",filters:["inovacao"],title:"A Realidade Aumentada pode tornar as empresas mais produtivas?",bio:"Miguel Martins",link:"/content/digital-sites/pt/business/v-hub/explorar/inovacao/realidade-aumentada-pode-tornar-empresas-mais-competitivas.html"},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-bushnell-m.jpg",altText:"Fotografia de Nolan Bushnell",imageTitle:"Nolan Bushnell",label:"Start-ups",filters:["inovacao"],title:"Conselhos muito concretos para empreendedores",bio:"Nolan Bushnell",link:"/content/digital-sites/pt/business/v-hub/explorar/inovacao/conselhos-muito-concretos-para-empreendedores.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-anna-tryti-m.jpg",altText:"Fotografia de Anna Elisa Tryti",imageTitle:"Anna Elisa Tryti e Kolbjorn Akervold",label:"Smart Cities",filters:["inovacao"],title:"Noruega: quanto mais lixo produzes, mais impostos",bio:"Anna Elisa Tryti e Kolbjorn Akervold",link:"/content/digital-sites/pt/business/v-hub/explorar/inovacao/noruega-quanto-mais-lixo-produzes-mais-impostos-pagas.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-bonchek-jonker-m.jpg",altText:"Fotografia de Willem Jonker",imageTitle:"Mark Bonchek e Willem Jonker",label:"Plataformas Digitais",filters:["inovacao"],title:"Porque é que plataformas como a Uber ou o AirBnB são tão bem sucedidas?",bio:"Mark Bonchek e Willem Jonker",link:"/content/digital-sites/pt/business/v-hub/explorar/inovacao/porque-e-que-plataformas-como-a-uber-ou-o-airbnb-sao-tao-bem-sucedidas.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-melanie-mohr-y-myriam-younes-m.jpg",altText:"Fotografia de Myriam Younes",imageTitle:"Melanie Mohr e Myriam Younes",label:"Marketing Digital",filters:["inovacao"],title:"Quais os hábitos de consumo da Geração Z",bio:"Melanie Mohr e Myriam Younes",link:"/content/digital-sites/pt/business/v-hub/explorar/inovacao/quais-os-habitos-de-consumo-da-geracao-z.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-william-eggers-m.jpg",altText:"Fotografia de William Eggers",imageTitle:"William Eggers",label:"Digitalização",filters:["inovacao"],title:"Governos (quase) tão eficientes quanto a Amazon são possíveis",bio:"William Eggers",link:"/content/digital-sites/pt/business/v-hub/explorar/inovacao/governos-quase-tao-eficientes-quanto-a-amazon-sao-possiveis.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-artigo-casalegno-m.jpg",altText:"Fotografia de Federico Casalegno",imageTitle:"Federico Casalegno",label:"Millennials",filters:["inovacao"],title:"A nova lógica de consumo dos millennials",bio:"Federico Casalegno",link:"/content/digital-sites/pt/business/v-hub/explorar/inovacao/a-nova-logica-de-consumo-dos-millennials.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-ari-popper-m.jpg",altText:"Fotografia de Ari Popper",imageTitle:"Ari Popper",label:"Gamificação",filters:["inovacao"],title:"Repensar produtos com a ajuda de autores de ficção cientifica",bio:"Ari Popper",link:"/content/digital-sites/pt/business/v-hub/explorar/inovacao/repensar-produtos-com-a-ajuda-de-autores-de-ficcao-cientifica.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-empresarial-dawar-m.jpg",altText:"Fotografia de Niraj Dawar",imageTitle:"Niraj Dawar",label:"E-Commerce",filters:["inovacao"],title:"O importante é como se vende e não o que se vende",bio:"Niraj Dawar",link:"/content/digital-sites/pt/business/v-hub/explorar/inovacao/o-importante-e-como-se-vende-e-nao-o-que-se-vende.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-atualidade-chris-brauer-m.jpg",altText:"Fotografia de Chris Brauer",imageTitle:"Chris Brauer",label:"Inteligência Artificial",filters:["inovacao"],title:"Inteligência artificial para fidelizar clientes à marca",bio:"Chris Brauer",link:"/content/digital-sites/pt/business/v-hub/explorar/inovacao/inteligencia-artificial-para-fidelizar-clientes-a-marca.html",},],tecnologia:[{imageUrl:"/content/dam/digital-sites/empresarial/v-hub/v-hub-seis-cursos-para-ajudar-interpretar-compreender-aproveitar-as-informações-dados.jpg",altText:"Quatro pessoas com tablets e smartphones nas mãos e a mexerem e verem os dados e gráficos",imageTitle:"Crescimento da sua empresa através dos dados",label:"Análise de Dados",filters:["tecnologia"],title:'Seis cursos para o ajudar a interpretar os dados e fazer a sua empresa crescer',bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/seis-cursos-para-o-ajudar-a-interpretar-os-dados-e-fazer-a-sua-empresa-crescer.html",},{imageUrl:"/content/dam/digital-sites/empresarial/v-hub/v-hub-gerir-as-financas-da-sua-empresa-640x500.jpg",altText:"pessoa a utilizar computador portátil",imageTitle:"ferramentas para gerir as finanças",label:"Tecnologia",filters:["tecnologia"],title:'Quatro ferramentas para o ajudar a gerir as finanças da sua empresa',bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/ferramentas-para-ajudar-a-gerir-as-financas-da-empresa.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/v-hub-tecnologia-automatizacao-na-empresa-640x500.jpg",altText:"Homens a falar com máquina de perto",imageTitle:"Automatização nas empresas",label:"Tecnologia",filters:["tecnologia"],title:'Como introduzir a automatização na sua empresa',bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/como-introduzir-a-automatizacao-na-sua-empresa.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/v-hub-tecnologia-educacao-acessivel-640x500.jpg",altText:"Rapariga sentada em frente a computador",imageTitle:"Educação acessível",label:"Tecnologia",filters:["tecnologia"],title:'Como a tecnologia está a tornar a educação mais acessível',bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/como-a-tecnologia-esta-a-tornar-a-educacao-mais-acessivel.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/v-hub-tecnologia-mulheres-mudam-mundo-640x500.jpg",altText:"Seis mulheres em pé à volta de uma mesa",imageTitle:"Mulheres empresárias",label:"Tecnologia",filters:["tecnologia"],title:'Como é que as mulheres empresárias estão a mudar o mundo?',bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/mulheres-empresarias-estao-a-mudar-o-mundo.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/v-hub-tres-licoes-lideres-empresariais-m.jpg",altText:"Rapaz sentado em frente a computador portátil",imageTitle:"Três Lições",label:"Tecnologia",filters:["tecnologia"],title:'Três lições de líderes empresariais durante o confinamento',bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/tres-licoes-de-lideres-empresariais-durante-confinamento.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/empresarial-v-hub-tecnologia-sustentabilidade-negocio-m.jpg",altText:"Homem e mulher junto dos painéis solares",imageTitle:"sustentabilidade do seu negócio",label:"Sustentabilidade",filters:["tecnologia"],title:'Como é que a tecnologia pode contribuir para a sustentabilidade do seu negócio?',bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/como-a-tecnologia-pode-contribuir-para-a-sustentabilidade-do-seu-negocio.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/v-hub-tendencias-tecnologicas-que-todas-as-empresas-devem-conhecer-640x500.jpg",altText:"Homem a utilizar computador portátil num banco",imageTitle:"Tendências tecnológicas",label:"Tendências",filters:["tecnologia"],title:'Tendências tecnológicas que todas as pequenas empresas devem conhecer',bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/tendencias-tecnologicas-que-todas-as-empresas-devem-conhecer.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/v-hub-tecnologia-robo-que-mata-ervas-daninhas-m.png",altText:"Tom e Dick",imageTitle:"Dois robôs numa plantação",label:"Tecnologia Inteligente",filters:[],title:"Um robô que mata ervas daninhas com eletricidade",bio:"Stephanie Bailey, CNN Business",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/robo-que-mata-ervas-daninhas-com-eletricidade.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/vhub-carbons-cows-m.jpg",altText:"Duas mãos a segurar o suplemento em forma de granulado",imageTitle:"Suplemento",label:"Tecnologia Inteligente",filters:[],title:"Este suplemento pode reduzir as emissões de metano nas vacas e gerar lucro para os agricultores",bio:"Nell Lewis, CNN Business",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/suplemento-pode-reduzir-emissoes-de-metano.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/vhub-explorar-tecnologia-eskin-m.jpg",altText:"Mão com um tecido transparente a medir os sinais vitais",imageTitle:"Mão",label:"Tecnologia Inteligente",filters:[""],title:"e-skin: A pele eletrónica que pode monitorizar a sua saúde",bio:"Hazel Pfeifer, CNN Business",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/pele-eletronica-pode-monitorizar-a-sua-saude.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/v-hub-explorar-tecnologia-iot-pode-ajudar-o-seu-negocio-m.jpg",altText:"Pessoa a utilizar o telemóvel",imageTitle:"IoT pode ajudar o seu negócio",label:"Tecnologia IoT",filters:["tecnologia"],title:"Quer perceber de que forma a IoT pode ajudar o seu negócio?",bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/quer-perceber-de-que-forma-iot-pode-ajudar-o-seu-negocio.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/vhub-explorar-tecnologia-carros-eletricos-pequenos-electrameccanica-solo-m.jpg",altText:"Carro pequeno vermelho",imageTitle:"ElectraMeccanica Solo",label:"Tecnologia Inteligente",filters:[""],title:"Estes fabricantes de automóveis acreditam que os carros elétricos pequenos são a próxima grande tendência",bio:"Peter Valdes-Dapena, CNN Business",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/carros-eletricos-pequenos-sao-a-proxima-tendencia.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/vhub-emocoes-criancas-ia-destaque-m.jpg",altText:"Criança a sorrir",imageTitle:"Rosto",label:"Tecnologia Inteligente",filters:["",""],title:"Inteligência Artificial lê as emoções das crianças ao aprender",bio:"Milly Chan, CNN Business",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/inteligencia-artificial-le-emocoes-das-criancas.html",customOrder:16,},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/v-hub-destaque-paincheck-m.jpg",altText:"Homem a ser filmado por telemóvel",imageTitle:"PainChek",label:"Tecnologia Inteligente",filters:[""],title:"Uma app que mede a dor pode ajudar as pessoas com demência",bio:"Stephanie Bailey, CNN Business",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/app-que-ajuda-pessoas-com-demencia.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/vhub-optimizar-ligacao-internet-m.jpg",altText:"Mulher a olhar para ecrã de computador com caneta na mão",imageTitle:"Conetividade",label:"Conetividade",filters:["tecnologia"],title:"Como otimizar a sua ligação à internet",bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/como-otimizar-a-sua-ligacao-a-internet.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/vhub-germano-sousa-m.jpg",altText:"Germano de Sousa",imageTitle:"Germano de Sousa",label:"Tecnologia",filters:["tecnologia","v-hub"],title:"A tecnologia ao serviço da simplificação e aceleração do negócio",bio:"Germano de Sousa",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/tecnologia-ao-servico-da-simplificacao-e-aceleracao-do-negocio.html",customOrder:11,},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-carlos-becker-m.jpg",altText:"Fotografia de Carlos Becker",imageTitle:"Carlos Becker",label:"5G",filters:["tecnologia"],title:"Os setores que mais beneficiam do 5G",bio:"Carlos Becker",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/os-setores-que-mais-beneficiam-do-5g.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-Andrea-Siviero-m.jpg",altText:"Fotografia de Andrea Siviero",imageTitle:"Andrea Siviero",label:"IoT",filters:["tecnologia"],title:"As oportunidades que a IoT traz para as PMEs europeias",bio:"Andrea Siviero",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/as-oportunidades-que-a-iot-traz-para-as-pmes-europeias.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-paula-carioca-m.jpg",altText:"Fotografia de Paula Carioca",imageTitle:"Paula Carioca",label:"IoT",filters:["tecnologia"],title:"A IoT na transformação digital das empresas",bio:"Paula Carioca",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/a-iot-na-transformacao-digital-das-empresas.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-hernandez-m.jpg",altText:"Fotografia de Isaac Hernández",imageTitle:"Isaac Hernández",label:"Cloud",filters:["tecnologia"],title:"A cloud não é apenas um armazém, é um centro de inteligência de negócio",bio:"Isaac Hernández",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/a-cloud-nao-e-apenas-um-armazem-e-um-centro-de-inteligencia-de-negocio.html"},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-martin-brynskov-m.jpg",altText:"Fotografia de Martin Brynskov",imageTitle:"Martin Brynskov",label:"Smart Cities",filters:["tecnologia"],title:"Oito cidades espanholas que querem melhorar a saúde e o trânsito através do 5G",bio:"Martin Brynskov",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/oito-cidades-espanholas-que-querem-melhorar-a-saude-e-o-transito-atraves-do-5G.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-aurelio-mario-m.jpg",altText:"Fotografia de Aurelio Jiménez",imageTitle:"Aurelio Jiménez e Mario Rondán",label:"Inteligência Artificial",filters:["tecnologia"],title:"Reunir o conhecimento dos colaboradores com inteligência artificial",bio:"Aurelio Jiménez e Mario Rondán",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/reunir-o-conhecimento-dos-colaboradores-com-inteligencia-artificial.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-rufino-perez-m.jpg",altText:"Fotografia de Rufino Pérez",imageTitle:"Rufino Pérez",label:"Transformação Digital",filters:["tecnologia"],title:"Como entrar e sair de um hotel sem passar pela receção",bio:"Rufino Pérez",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/como-entrar-e-sair-de-um-hotel-sem-passar-pela-rececao.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-matthias-winkenbach-m.jpg",altText:"Fotografia de Matthias Winkenbach",imageTitle:"Matthias Winkenbach",label:"Big Data",filters:["tecnologia"],title:'Big data para dar resposta ao desafio da "distribuição na última milha"',bio:"Matthias Winkenbach",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/big-data-para-dar-resposta-ao-desafio-da-distribuicao-na-ultima-milha.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-sara-pastor-m.jpg",altText:"Fotografia de Sara Pastor",imageTitle:"Sara Pastor",label:"Big Data",filters:["tecnologia"],title:"Como uma PME de turismo pode usar big data para anunciar melhor",bio:"Sara Pastor",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/como-uma-pme-de-turismo-pode-usar-big-data-para-anunciar-melhor.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/vhub-calcas-ganga-airbag-colete-alta-tecnologia-m.jpg",altText:"Homem com colete vestido atrás de uma moto",imageTitle:"Coletes",label:"Tecnologia Inteligente",filters:[""],title:"Como as calças de ganga airbag e os coletes de alta tecnologia podem tornar as motos mais seguras",bio:"Katy Scott, CNN Business",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/calcas-ganga-airbag-e-coletes-alta-tecnologia.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/vhub-article-robo-pode-reparar-condutas-m.jpg",altText:"Robô semelhante a uma cobra com design modular",imageTitle:"Eelume",label:"Tecnologia Inteligente",filters:[""],title:"Esta “cobra robô” pode reparar condutas no fundo do oceano",bio:"Por Adrian Lydon, CNN Business",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/robo-pode-reparar-condutas-no-fundo-do-oceano.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-tecnologia-espacial-m.jpg",altText:"Homem equipamento com fato astronauta.",imageTitle:"Astronauta",label:"Tecnologia Espacial",filters:[""],title:"Como a tecnologia espacial está a beneficiar a Terra",bio:"Ana Moreno, CNN Business",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/como-a-tecnologia-espacial-esta-a-beneficiar-a-terra.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-henry-and-chris-cnn-m.jpg",altText:"Dois homens lado a lado a olhar para uma amostra de material.",imageTitle:"Henry Snaith e Christopher Case",label:"Tecnologia Inteligente",filters:[""],title:"Esqueça o silício. Este material pode revolucionar a energia solar",bio:"Adrian Lydon, CNN Business",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/revolucionar-a-energia-solar.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-atualidade-tecnologia-abelhas-m.jpg",altText:"Homem com fato apicultor",imageTitle:"Apicultura",label:"Tecnologia Inteligente",filters:[""],title:"Como a tecnologia inteligente pode ajudar a salvar as abelhas melíferas do mundo",bio:"Adrian Lydon, CNN Business",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/tecnologia-inteligente-ajuda-a-salvar-abelhas-meliferas.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-atualidade-moda-thumb-m.jpg",altText:'Homem numa praia com uma t-shirt com o texto "Sustainable"',imageTitle:"Tecnologia na moda",label:"Tecnologia na moda",filters:[""],title:"Como a tecnologia pode salvar a indústria da moda",bio:"Nell Lewis e Max Burnell, CNN Business",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/industria-de-moda.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/atualidade-observatorio-copenhagen-m.jpg",altText:"Vista de cidade",imageTitle:"Smart Cities",label:"Smart Cities",filters:[""],title:"Como é que as cidades estão a usar a tecnologia para resolverem os seus problemas de resíduos",bio:"Nell Lewis, CNN Business",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/tecnologia-para-resolverem-os-seus-problemas-de-residuos.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-atualidade-food-tech-m.jpg",altText:"Prato com comida",imageTitle:"Tecnologia alimentar",label:"Tecnologia alimentar",filters:[""],title:"O que está a impulsionar o crescimento da tecnologia alimentar?",bio:"Nell Lewis, CNN Business",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/tecnologia-alimentar.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-atualidade-destaques-smart-shorts-m.jpg",altText:"Estes calções inteligentes dizem-lhe como melhorar o seu treino",imageTitle:"Tecnologia wearable",label:"Tecnologia wearable",filters:[""],title:"Estes calções inteligentes dizem-lhe como melhorar o seu treino",bio:"Anna Fletcher e Jenny Marc, CNN Business",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/calcoes-inteligentes.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-atualidade-drugs-ball-m.jpg",altText:"Realidade Virtual está a ajudar cientistas",imageTitle:"Realidade Virtual está a ajudar cientistas",label:"Realidade Virtual",filters:[""],title:"A Realidade Virtual está a ajudar cientistas na descoberta de novos medicamentos",bio:"Nell Lewis, CNN Business",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/realidade-virtual-esta-a-ajudar-cientistas.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-cnn-laboratorio-vivo-m.jpg",altText:"Laboratório vivo”: um bairro de casas inteligentes",imageTitle:"“Laboratório vivo”: um bairro de casas inteligentes",label:"Casas Inteligentes",filters:[""],title:"Laboratório vivo”: um bairro de casas inteligentes",bio:"Nell Lewis, CNN Business",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/bairro-de-casas-inteligentes.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-atualidade-algoritmo-healthcare-google-m.jpg",altText:'Olho humano azul a refletir a palavra "Google"',imageTitle:"Olho humano",label:"Inteligência Artifical",filters:[""],title:"Confiaria num algoritmo para diagnosticar uma doença?",bio:"Nell Lewis, CNN Business",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/algoritmo-para-diagnosticar-uma-doenca.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-atualidade-blockchain-chain-m.jpg",altText:"Blockchain e compra ética",imageTitle:"Blockchain e compra ética",label:"Blockchain",filters:[""],title:"Poderá a Blockchain ajudá-lo a comprar de uma forma mais ética?",bio:"Nell Lewis, CNN Business",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/blockchain-compra-etica.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/atualidade-observatorio-assistive-tech-wheelchair-640x500.jpg",altText:"Homem em cadeira de rodas a descer as escadas",imageTitle:"Mobilidade reduzida",label:"Mobilidade reduzida",filters:[""],title:"A tecnologia como impulsionador da mobilidade de cidadãos com deficiência?",bio:"Ed Scott-Clarke e Nell Lewis, CNN Business",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/tecnologia-como-impulsionador-da-mobilidade.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-ai-regulations-m.jpg",altText:"Robô - Inteligência Artificial",imageTitle:"Inteligência Artificial",label:"Inteligência Artificial",filters:[""],title:"A Europa está a criar regras para a IA de forma a evitar uma nova crise tecnológica",bio:"Ivana Kottasová, CNN Business",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/inteligencia-artificial-guidelines-ue.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-5g-cow-m.jpg",altText:"5G muda o futuro da agricultura",imageTitle:"5G muda o futuro da agricultura",label:"5G",filters:[""],title:"5G muda o futuro da agricultura",bio:"Duncan Forbes",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/5g-futuro-agricultura.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-smart-cities-m.jpg",altText:"Kalasatama, uma cidade inteligente na Finlândia",imageTitle:"Smart Cities",label:"Smart Cities",filters:[""],title:"As cidades pequenas são as mais inteligentes?",bio:"Nell Lewis, Carla Howe w Jenny Marc",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/cidades-pequenas-mais-inteligentes.html",},],gestao_recursos:[{imageUrl:"/content/dam/digital-sites/empresarial/v-hub/v-hub-porque-e-que-os-dados-devem-ser-importantes-para-si-e-para-a-sua-empresa-640x500.jpg",altText:"Homem com tablet na mão a visualizar num ecrã digital números e informações digitais",imageTitle:"A importância dos dados",label:"Dados",filters:["gestao-de-recursos"],title:"Porque é que os dados devem ser importantes para si e para a sua empresa",bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/gestao-de-recursos/porque-e-que-os-dados-devem-ser-importantes-para-si-e-para-a-sua-empresa.html",},{imageUrl:"/content/dam/digital-sites/empresarial/v-hub/v-hub-cinco-ferramentas-artigo-640x500.jpg",altText:"mulher a falar ao telemóvel e a utilizar o computador portátil",imageTitle:"ferramentas para colaborar",label:"Trabalho remoto",filters:["gestao-de-recursos"],title:"Cinco ferramentas para manter as equipas a colaborar e prosperar, independentemente de onde estejam",bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/gestao-de-recursos/cinco-ferramentas-para-manter-as-equipas-a-colaborar-e-prosperar.html",},{imageUrl:"/content/dam/digital-sites/empresarial/v-hub/v-hub-recursos-saude-mental-640x500.jpg",altText:"senhor a ler para duas pessoas",imageTitle:"3 recursos",label:"Saúde Mental",filters:["gestao-de-recursos"],title:"3 recursos de saúde mental úteis para proprietários de pequenas empresas",bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/gestao-de-recursos/3-recursos-uteis-de-saude-mental-para-pequenas-empresas.html",},{imageUrl:"/content/dam/digital-sites/empresarial/v-hub/v-hub-impulsionar-o-sucesso-empresarial-m.jpg",altText:"Homens a falar com máquina de perto",imageTitle:"2 pessoas a falarem no trabalho",label:"Tecnologia",filters:["gestao-de-recursos"],title:'Impulsionar o sucesso empresarial: como criar experiências excecionais',bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/gestao-de-recursos/impulsionar-o-sucesso-empresarial.html",},{imageUrl:"/content/dam/digital-sites/empresarial/v-hub/v-hub-custo-de-vida-empresas-m.jpg",altText:"pessoa a trabalhar com computador ao lado",imageTitle:"Custo de Vida",label:"Negócio",filters:["gestao-de-recursos"],title:"O que significa o aumento do custo de vida para as grandes e pequenas empresas?",bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/gestao-de-recursos/o-que-significa-o-aumento-do-custo-de-vida-para-as-empresas.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/v-hub-saude-mental-para-lideres-empresariais-m.jpg",altText:"mulher a escrever num diário",imageTitle:"saúde mental para líderes empresariais",label:"Saúde Mental",filters:["gestao-de-recursos"],title:"Por que razão a saúde mental é importante para os líderes empresariais?",bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/gestao-de-recursos/razao-para-a-saude-mental-ser-importante-para-os-lideres-empresariais.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/v-hub-observatorio-sustentabilidade-pedro-castro-640x500.jpg",altText:"CEO AMBAR",imageTitle:"Pedro Castro",label:"Sustentabilidade",filters:["gestao-de-recursos"],title:"A transformação do papel e a sustentabilidade",bio:"Pedro Castro",link:"/content/digital-sites/pt/business/v-hub/explorar/gestao-de-recursos/transformacao-do-papel-e-a-sustentabilidade.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/v-hub-responsabilidade-social-m.jpg",altText:"Alexandra Mendes Gonçalves",imageTitle:"Alexandra Mendes Gonçalves",label:"Responsabilidade Social",filters:["v-hub","gestao-de-recursos"],title:'A responsabilidade social na estratégia das empresas',bio:"Alexandra Mendes Gonçalves",link:"/content/digital-sites/pt/business/v-hub/explorar/gestao-de-recursos/responsabilidade-social-na-estrategia-das-empresas.html",customOrder:3,},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/v-hub-sustentabilidade-m.jpg",altText:"Mulher com ramo de rosas na mão",imageTitle:"Sustentabilidade nas empresas",label:"Sustentabilidade",filters:["gestao-de-recursos"],title:'Sustentabilidade nas empresas - o que significa?',bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/gestao-de-recursos/sustentabilidade-nas-empresas-o-que-significa.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/praticas-sustentaveis-m.jpg",altText:"Mulher a mexer numa palhinha reutilizável ",imageTitle:"Práticas Sustentáveis",label:"Sustentabilidade",filters:["gestao-de-recursos"],title:'Porque é que as práticas sustentáveis podem ajudar o mundo e a sua empresa',bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/gestao-de-recursos/praticas-sustentaveis-podem-ajudar-o-mundo-e-empresas.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-cinco-conselhos-para-as-empresas-m.jpg",altText:"Mulher a segurar duas caixas de papel",imageTitle:"Aumento de custos",label:"Tecnologia",filters:["gestao-de-recursos"],title:'Cinco conselhos para as empresas lidarem com o aumento dos custos',bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/gestao-de-recursos/cinco-conselhos-para-empresas-lidarem-com-aumento-dos-custos.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-lacuna-competencias-digitais-m.jpg",altText:"Grupo de pessoas sentados à mesa",imageTitle:"Competências digitais",label:"Competências digitais",filters:["gestao-de-recursos"],title:'Colmatar a lacuna de competências digitais',bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/gestao-de-recursos/colmatar-lacuna-competencias-digitais.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/empresarial-v-hub-quiz-empresa-bem-maior-m.jpg",altText:"bicicleta laranja e no fundo um homem com uma mochila às costas",imageTitle:"quiz para empresas",label:"Quiz",filters:["gestao-de-recursos"],title:'A sua empresa contribui para um “bem maior”?',bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/gestao-de-recursos/quiz-a-sua-empresa-contribui-para-um-bem-maior.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/empresarial-v-hub-dados-potenciar-empresa-m.jpg",altText:"mulher a ensinar homem sobre informação num computador",imageTitle:"dados para potenciar empresas",label:"Análise de Dados",filters:["gestao-de-recursos"],title:'Como usar os dados para potenciar a sua empresa',bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/gestao-de-recursos/como-usar-os-dados-para-potenciar-a-sua-empresa.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/v-hub-6-passos-garantir-continuidade-negocios-m.jpg",altText:"5 mulheres a reunir numa sala de escritório",imageTitle:"continuidade dos negócios",label:"Continuidade dos Negócios",filters:["gestao-de-recursos"],title:'Seis passos para garantir a continuidade dos negócios',bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/gestao-de-recursos/seis-passos-para-garantir-a-continuidade-dos-negocios.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/v-hub-website-mobile-capta-clientes-m.jpg",altText:"CEO Hubel Verde",imageTitle:"Tiago Andrade",label:"Sustentabilidade",filters:["gestao-de-recursos"],title:'Como promover uma agricultura mais sustentável com a <br class="hide--sm hide--md"> tecnologia',bio:"Tiago Andrade",link:"/content/digital-sites/pt/business/v-hub/explorar/inovacao/como-promover-uma-agricultura-mais-sustentavel-com-a-tecnologia.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/v-hub-programa-diversidade-inclusao.jpg",altText:"várias pessoas a reunir num escritório e a utilizarem computadores",imageTitle:"Programa de diversidade e inclusão",label:"Diversidade e Inclusão",filters:["gestao-de-recursos"],title:'Como desenvolver um programa de diversidade e inclusão para a sua empresa',bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/gestao-de-recursos/desenvolver-programa-de-diversidade-e-inclusao.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/v-hub-gerir-sua-empresa-forma-sustentavel.jpg",altText:"Homem a caminhar num campo",imageTitle:"Gerir empresa de forma sustentável",label:"Sustentabilidade",filters:["gestao-de-recursos"],title:'Seis dicas úteis sobre como gerir a sua empresa de forma mais sustentável',bio:"",link:"/content/digital-sites/pt/business/v-hub/explorar/gestao-de-recursos/gerir-a-sua-empresa-de-forma-mais-sustentavel.html",},],observatorio_empresas:[{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/v-hub-observatorio-teresa-mendes.jpg",altText:"Presidente Instituto Pedro Nunes",imageTitle:"Teresa Mendes",label:"Empreendedorismo",filters:["observatorio-empresas"],title:'O caminho para futuros empreendedores',bio:"Teresa Mendes",link:"/content/digital-sites/pt/business/v-hub/explorar/inovacao/caminho-para-futuros-empreendedores.html ",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/v-hub-responsabilidade-social-m.jpg",altText:"Alexandra Mendes Gonçalves",imageTitle:"Alexandra Mendes Gonçalves",label:"Responsabilidade Social",filters:["observatorio-empresas"],title:'A responsabilidade social na estratégia das empresas',bio:"Alexandra Mendes Gonçalves",link:"/content/digital-sites/pt/business/v-hub/explorar/gestao-de-recursos/responsabilidade-social-na-estrategia-das-empresas.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/v-hub-primeiro-passo-da-inovacao.jpg",altText:"Carlos Barbosa",imageTitle:"Carlos Barbosa",label:"Tecnologia",filters:["observatorio-empresas"],title:'Arriscar é o primeiro passo da inovação',bio:"Carlos Barbosa",link:"/content/digital-sites/pt/business/v-hub/explorar/inovacao/arriscar-e-o-primeiro-passo-da-inovacao.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/v-hub-observatorio-sustentabilidade-pedro-castro-640x500.jpg",altText:"CEO AMBAR",imageTitle:"Pedro Castro",label:"Sustentabilidade",filters:["observatorio-empresas","v-hub"],title:"A transformação do papel e a sustentabilidade",bio:"Pedro Castro",link:"/content/digital-sites/pt/business/v-hub/explorar/gestao-de-recursos/transformacao-do-papel-e-a-sustentabilidade.html",customOrder:1,},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/v-hub-iot-fiamma-640x500.jpg",altText:"CEO do Grupo Casais",imageTitle:"Pedro Serra",label:"IoT",filters:["observatorio-empresas","v-hub"],title:"A reinvenção do Serviço ao Cliente",bio:"Pedro Serra",link:"/content/digital-sites/pt/business/v-hub/casos-sucesso/fiamma.html",customOrder:4,},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/v-hub-observatorio-grupocasais-m.jpg",altText:"CEO do Grupo Casais",imageTitle:"António Carlos Rodrigues",label:"Sustentabilidade",filters:["observatorio-empresas","v-hub"],title:"Promover a sustentabilidade no setor da construção recorrendo à tecnologia",bio:"António Carlos Rodrigues",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/construcao-na-era-digital.html",customOrder:5,},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/empresarial-inovacao-vhub-SIBS-m.jpg",altText:"CEO SIBS",imageTitle:"Madalena Cascais Tomé",label:"Pagamentos Eletrónicos",filters:["v-hub","observatorio-empresas"],title:'Transações cada vez mais <br class="hide--md hide--sm"> digitais',bio:"Madalena Cascais Tomé",link:"/content/digital-sites/pt/business/v-hub/explorar/inovacao/transacoes-cada-vez-mais-digitais.html",customOrder:6,},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/v-hub-website-mobile-capta-clientes-m.jpg",altText:"CEO Hubel Verde",imageTitle:"Tiago Andrade",label:"Sustentabilidade",filters:["observatorio-empresas"],title:'Como promover uma agricultura mais sustentável com a <br class="hide--sm hide--md"> tecnologia',bio:"Tiago Andrade",link:"/content/digital-sites/pt/business/v-hub/explorar/inovacao/como-promover-uma-agricultura-mais-sustentavel-com-a-tecnologia.html"},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-isabel-costa-m.jpg",altText:"Digitalização para o crescimento do negócio.",imageTitle:"Isabel Costa",label:"Marketing Digital",filters:["v-hub","observatorio-empresas"],title:"Pode a tecnologia dar uma nova vida ao seu negócio? ",bio:"Isabel Costa",link:"/content/digital-sites/pt/business/v-hub/explorar/presenca-digital/pode-a-tecnologia-dar-uma-nova-vida-ao-negocio.html",customOrder:7,},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/vhub-realidade-aumentada-rotational-m.jpg",altText:"Fotografia de Miguel Martins",imageTitle:"Miguel martins",label:"Inovação",filters:["observatorio-empresas","v-hub"],title:"A Realidade Aumentada pode tornar as empresas mais produtivas?",bio:"Miguel Martins",link:"/content/digital-sites/pt/business/v-hub/explorar/inovacao/realidade-aumentada-pode-tornar-empresas-mais-competitivas.html",customOrder:8,},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/vhub-germano-sousa-m.jpg",altText:"Germano de Sousa",imageTitle:"Germano de Sousa",label:"Tecnologia",filters:["observatorio-empresas"],title:"A tecnologia ao serviço da simplificação e aceleração do negócio",bio:"Germano de Sousa",link:"/content/digital-sites/pt/business/v-hub/explorar/tecnologia/tecnologia-ao-servico-da-simplificacao-e-aceleracao-do-negocio.html",},{imageUrl:"/content/dam/digital-sites/empresarial/observatorio/observatorio-castelbel-m.jpg",altText:"Fotografia de Américo Dias Pinheiro",imageTitle:"Américo Dias Pinheiro",label:"Digitalização",filters:["observatorio-empresas"],title:"A digitalização para o crescimento do negócio",bio:"Américo Dias Pinheiro",link:"/content/digital-sites/pt/business/v-hub/explorar/presenca-digital/digitalizacao-para-o-crescimento-do-negocio.html",}],};const numberOfArticlesToShow=6;const filterByUrl=true;const customOrderPageName="v-hub";const articlesGroups=[articles.mobilidade,articles.inovacao,articles.presenca_digital,articles.seguranca,articles.tecnologia,articles.ecommerce,articles.gestao_recursos,articles.observatorio_empresas,];</script> <div class="clear"></div> </div> </div> </div> </div></div> </div> <div class="vf_experienceFragment aem-GridColumn aem-GridColumn--default--12"> <div class="xfpage page basicpage"> <div class="xf-content-height"> <div class="aem-Grid aem-Grid--12 aem-Grid--default--12 "> <div class="vf_html vf_parent_component aem-GridColumn aem-GridColumn--default--12"> <div class="section section--mine-shaft flush--top flush--bottom " style="border-radius: px"> <style>.section--mine-shaft{padding:30px 0}.show-more__content{padding:0}.grid__item--gutter{padding-bottom:20px}@media only screen and (max-width:639px){.show-more__content{padding:0}}</style> <div class="clear"></div> </div> </div> <div class="vf_html vf_parent_component aem-GridColumn aem-GridColumn--default--12"> <div class="section section__flush flush--top flush--bottom " style="border-radius: 0px;"> <script> $(document).ready(function () { const getCategoryNameByUrl = (path) => { let filename = path.substr(path.lastIndexOf("/") + 1); filename = filename.substring(0, filename.lastIndexOf(".")); return filename; }; const filterToApply = (arr, filterName) => { return arr.find( (elem) => elem.toLowerCase() === filterName.toLowerCase() ); }; const filterExists = (arr, filterName) => { for (let keyIndex = 0; keyIndex < arr.length; ++keyIndex) { for ( let articleIndex = 0; articleIndex < arr[keyIndex].length; ++articleIndex ) { if ( filterName && filterName.toLowerCase() === filterToApply(arr[keyIndex][articleIndex].filters, filterName) ) { return true; } } } return false; }; const getFilteredArticles = (arr, filterName) => { let filteredArr = []; arr.map((key) => { key.map((article) => { if ( !filterName || filterName.toLowerCase() === filterToApply(article.filters, filterName) ) { filteredArr.push(article); } }); }); return filteredArr; }; const vHubSort = (a, b) => (a.customOrder > b.customOrder ? 1 : -1); const initComponent = ( articles, numberOfArticlesToShow = 6, filterByUrl = true, customOrderPageName = "v-hub" ) => { let filter = ""; // Empty string will show all articles let filteredArticles = []; if (filterByUrl) { filter = getCategoryNameByUrl(window.location.href); if (!filterExists(articles, filter)) { filter = ""; } } filteredArticles = getFilteredArticles(articles, filter); if (filter === customOrderPageName) { filteredArticles.sort(vHubSort); } filteredArticles.map((article, index) => { const htmlContent = `<div class="grid__item grid__item--gutter grid__item--top grid__item--align-left grid__item--sm-1/1 grid__item--md-1/3 grid__item--1/3" > <div class="vf_image vf_parent_component"> <div class="section section__flush flush--top flush--bottom"> <a href="${article.link}" role="button" aria-label="${article.imageTitle}" > <div class="segmentation--container"> <picture> <source data-srcset="${article.imageUrl}/jcr:content/renditions/cq5dam.web.320.1000.jpeg" media="(max-width: 320px)" srcset="${article.imageUrl}/jcr:content/renditions/cq5dam.web.320.1000.jpeg"> <source data-srcset="${article.imageUrl}/jcr:content/renditions/cq5dam.web.400.1000.jpeg" media="(max-width: 400px)" srcset="${article.imageUrl}/jcr:content/renditions/cq5dam.web.400.1000.jpeg"> <source data-srcset="${article.imageUrl}/jcr:content/renditions/cq5dam.web.640.1000.jpeg" media="(max-width: 640px)" srcset="${article.imageUrl}/jcr:content/renditions/cq5dam.web.640.1000.jpeg"> <source data-srcset="${article.imageUrl}/jcr:content/renditions/cq5dam.web.950.1000.jpeg" media="(max-width: 950px)" srcset="${article.imageUrl}/jcr:content/renditions/cq5dam.web.950.1000.jpeg"> <source data-srcset="${article.imageUrl}/jcr:content/renditions/cq5dam.web.1200.1000.jpeg" media="(max-width: 1200px)" srcset="${article.imageUrl}/jcr:content/renditions/cq5dam.web.1200.1000.jpeg"> <img data-srcset="${article.imageUrl}/jcr:content/renditions/cq5dam.web.1920.1000.jpeg" alt="${article.altText}" title="${article.imageTitle}" class="segmentation__image segmentation__image--resize lazyloaded" srcset="${article.imageUrl}/jcr:content/renditions/cq5dam.web.1920.1000.jpeg"> </picture> <noscript> <img src="${article.imageUrl}" alt="${article.altText}" title="${article.imageTitle}"/> </noscript> </div> </a> </div> </div> <div class="cmp cmp-text"> <div class="section section--transparent flush--top flush--bottom section__gutter--half--top" > <p class="font-color--red no-gutter--all"><b>${article.label}</b></p> </div> </div> <div class="vf_heading vf_parent_component"> <div class="section section--mine-shaft flush--top flush--bottom"> <h4 class="heading heading--4 heading--light no-gutter--all" > <span> <a href="${article.link}" target="_self" > <span class="chevron chevron--inline chevron--inline--wrap"> <span class="chevron__text"> ${article.title} </span> <span class="chevron__container"> <svg focusable="false" aria-hidden="true" class="icon icon--small chevron__icon font-color--red" > <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-chevron-right" ></use> </svg> </span> </span> </a> </span> </h4> </div> </div> <div class="cmp cmp-text"> <div class="section section--mine-shaft flush--top"> <p> <i><b>${article.bio}</b></i> </p> </div> </div> </div>`; if (index < numberOfArticlesToShow) { $(".ob-articles-container").append(htmlContent); } else { $(".ob-articles-showmore-container").append(htmlContent); } }); if (filteredArticles.length <= numberOfArticlesToShow) { $(".vf_showMore").addClass("hide"); } }; try { // Component initialize here initComponent( articlesGroups, numberOfArticlesToShow, filterByUrl, customOrderPageName ); } catch (error) { console.log("Database error: " + error.message); } }); </script> <div class="vf_grid vf_parent_component aem-GridColumn aem-GridColumn--default--12"> <div class="section section--mine-shaft flush--half"> <div class="spring"> <div class="ob-articles-container grid grid--gutter"></div> </div> </div> </div> <div class="vf_showMore vf_parent_component aem-GridColumn aem-GridColumn--default--12"> <div class="section section--mine-shaft flush--top flush--bottom"> <div class="js-accordion show-more" data-js="_accordion" data-classes="active=show-more__heading--active" xmlns:v-bind="http://www.w3.org/1999/xhtml"> <div class="js-accordion-content show-more__content show-more__content--collapse"> <div class="vf_grid vf_parent_component"> <div class="section section--mine-shaft flush--half"> <div class="spring"> <div class="ob-articles-showmore-container grid grid--gutter"></div> </div> </div> </div> </div> <button class="button button--reset js-accordion-heading show-more__heading" onclick="checkEqualHeightsShowM(this)" aria-expanded="false" aria-selected="false" tabindex="0" role="tab"> <span class="show-more__heading-text"> <span class="show-more__heading-more" style="color: white">Ver mais </span> <span class="show-more__heading-less" style="color: white">Ver menos </span> </span> <span class="js-accordion-chevron show-more__heading-chevron"> <svg focusable="false" aria-labelledby="svg-title" aria-hidden="true" class="icon icon--small" style="color: font-color--red"> <title id="svg-title">Seta para baixo</title> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-chevron-down"></use> </svg> </span> </button> </div> </div> </div> <div class="clear"></div> </div> </div> </div> </div></div> </div> <div class="vf_dropdownSearch vf_parent_component aem-GridColumn aem-GridColumn--default--12"> <div class="section section__flush flush--top flush--bottom " style="border-radius: px;"> <script>dropdownSearchID="dropdown-necessidades";dropdownSearch={};dropdownSearch.dropdownTitle="Explorar por tema";dropdownSearch.titleColor="";dropdownSearch.dropdownLabel="Escolha aqui";dropdownSearch.buttonLabel="Ver artigos";dropdownSearch.buttonCssClass="button--primary";dropdownSearch.backgroundColor="undefined";dropdownSearch.image="/content/dam/digital-sites/equipamentos/acessorios/background-red-generic_bg.jpg";</script> <div id="dropdownSearch-dropdown-necessidades"> <input type="hidden" ref="dropdown" data-options="{"option":"Mobilidade","pathURL":"/content/digital-sites/pt/business/v-hub/explorar/mobilidade.html"},{"option":"Presença Digital","pathURL":"/content/digital-sites/pt/business/v-hub/explorar/presenca-digital.html"},{"option":"Segurança","pathURL":"/content/digital-sites/pt/business/v-hub/explorar/seguranca.html"},{"option":"E-Commerce","pathURL":"/content/digital-sites/pt/business/v-hub/explorar/e-commerce.html"},{"option":"Inovação","pathURL":"/content/digital-sites/pt/business/v-hub/explorar/inovacao.html"},{"option":"Tecnologia","pathURL":"/content/digital-sites/pt/business/v-hub/explorar/tecnologia.html"},{"option":"Gestão de Recursos","pathURL":"/content/digital-sites/pt/business/v-hub/explorar/gestao-de-recursos.html"}"/> <div class="dropdown-itens"> <div id="backgroundImage" class="dropdown-itens__left" :style="{ 'background-image': 'url(' + imagePath + ')', 'background-color': backgroundColor }"> <div class="dropdown-itens__left--content"> <div class="cmp cmp-text"> <div class="section section__flush flush--half " style="border-radius: px;"> <div class="desktopText"> <h2 class="heading heading--3 heading--regular no-gutter--all">Reinvente o seu negócio</h2> <p>Veja mais artigos que podem ajudar o seu negócio</p> </div> </div> </div> </div> </div> <div class="dropdown-itens__right"> <p :style="{ 'color': titleColor }">{{ dropdownTitle !== '' ? dropdownTitle : i18nLabels.dropdownTitle }}</p> <div id="dropdownOptions-dropdown-necessidades" class="dropdown-itens__options cursor__pointer"> <div class="dropdown-itens__options__label"> <div class="dropdown-itens__options__title">{{ optionSelected !== '' ? optionSelected : dropdownLabel }}</div> <div> <svg focusable="false" aria-hidden="true" class="icon icon--small chevron__icon" :class="{ 'dropdown-itens__options__isActive' : !isDropdownOpened }"> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-chevron-up"></use> </svg> </div> </div> <ul v-if="isDropdownOpened" :style="{ 'overflow-y': dropdownOptionsToShow.length > 3 ? 'scroll' : 'none' }"> <li v-for="item in dropdownOptionsToShow" @click="handleOptionSelected(item, $event)"> {{item.option}} </li> </ul> </div> <a v-if="!isDropdownOpened" href="#" type="button"> <div class="button" :class="[ optionSelected === '' ? 'button--disabled disabled' : buttonStyle ]" @click="submitOption">{{ buttonLabel !== '' ? buttonLabel : i18nLabels.buttonLabel }}</div> </a> </div> </div> </div> <script type="text/javascript" src="/etc.clientlibs/digital-commons/components/content/authored/vf_dropdownSearch/clientlibs.7a179412079e77cf5a07a9b2b2bb2b43.js"></script> </div> </div> <div class="vf_heading vf_parent_component aem-GridColumn aem-GridColumn--default--12"> <div class="section section--wild-sand flush--top flush--bottom " style="border-radius: px"> <div class="spring grid__item--align-center "> <h2 class="heading heading--2 heading--light " style="color : ;"> <span class="chevron chevron--inline chevron--inline--wrap"> <span class="chevron__text"> Formação </span> </span> </h2> </div> </div> </div> <div class="vf_grid vf_parent_component aem-GridColumn aem-GridColumn--default--12"> <div class="section section--wild-sand flush--top flush--bottom " style="border-radius: px"> <div class="spring "> <div id="destaques-grid" class="grid grid--gutter equalrows" data-equal=".destaque-description"> <div class="grid__item grid__item--gutter grid__item--top grid__item--align-left grid__item--sm-1/1 grid__item--md-1/1 grid__item--1/2"> <div class="vf_theDiscoveryCard vf_parent_component_coral3"> <div class="section section__flush flush--top flush--bottom "> <div id="discoveryCardCmp-destaque-outros-1"> <div> <div class="discovery-card__grid gutter--bottom"> <a class="discovery-card discovery-card__small-tile section--white" href="/business/v-hub/formacao/centro-de-formacao-online-udemy.html"> <div class="discovery-card__small-tile-image"> <div class="section section__flush flush--top flush--bottom " style="border-radius: px;"> <div class="segmentation--container"> <picture> <source srcset="/content/dam/digital-sites/empresarial/outros/v-hub-udemy-xs.png" media="(max-width: 320px)"/> <source srcset="/content/dam/digital-sites/empresarial/outros/v-hub-udemy-xs.png" media="(max-width: 640px)"/> <img data-srcset="/content/dam/digital-sites/empresarial/outros/v-hub-udemy-s.png/jcr:content/renditions/cq5dam.web.1920.1000.png" alt="Udemy" title="Udemy" class=" segmentation__image--resize lazyload" style="border-radius: ;"/> </picture> <noscript> <img src="/content/dam/digital-sites/empresarial/outros/v-hub-udemy-s.png" alt="Udemy" title="Udemy" style="border-radius: ;"/> </noscript> </div> </div> </div> <div class="discovery-card__small-tile-body"> <div class="discovery-card__small-tile-body-heading"> <div class="section section__flush flush--top flush--bottom " style="border-radius: px;"> <h4 class="heading heading--4 heading--bold no-gutter--all" style="color : ;"> <span class="chevron chevron--inline chevron--inline--wrap"> <span class="chevron__text"> Udemy </span> </span> </h4> </div> </div> <div class="discovery-card__small-tile-body-copy"> A Vodafone, em parceria com a Udemy, disponibiliza uma diversidade de recursos de formação online. </div> <div class="discovery-card__link font-color--red"> <span>Ir para Udemy</span> <div class="icon icon--small discovery-card__link-svg"> <svg viewBox="0 0 192 192"> <polyline id="_x32_59e14f8-3d8b-4ae1-b945-69f9c598b490" fill="none" stroke-width="8" stroke-linecap="round" stroke-linejoin="round" points=" 62,28 130,96 62,164 "></polyline> </svg> </div> </div> </div> </a> </div> </div> </div> </div> <script src="/etc.clientlibs/digital-commons/components/content/vf_parent_component_coral3/clientlibs.min.js"></script> </div> </div> <div class="grid__item grid__item--gutter grid__item--top grid__item--align-left grid__item--sm-1/1 grid__item--md-1/1 grid__item--1/2"> <div class="vf_theDiscoveryCard vf_parent_component_coral3"> <div class="section section__flush flush--top flush--bottom "> <div id="discoveryCardCmp-destaque-outros-2"> <div> <div class="discovery-card__grid gutter--bottom"> <a class="discovery-card discovery-card__small-tile section--white" href="/business/v-hub/formacao/impulsionar-esforcos-de-marketing-digital-com-o-facebook-blueprint.html"> <div class="discovery-card__small-tile-image"> <div class="section section__flush flush--top flush--bottom " style="border-radius: px;"> <div class="segmentation--container"> <picture> <source srcset="/content/dam/digital-sites/empresarial/outros/v-hub-blueprint-xs.png" media="(max-width: 320px)"/> <source srcset="/content/dam/digital-sites/empresarial/outros/v-hub-blueprint-xs.png" media="(max-width: 640px)"/> <img data-srcset="/content/dam/digital-sites/empresarial/outros/v-hub-blueprint-s.png/jcr:content/renditions/cq5dam.web.1920.1000.png" alt="Facebook Blueprint" title="Facebook Blueprint" class=" segmentation__image--resize lazyload" style="border-radius: ;"/> </picture> <noscript> <img src="/content/dam/digital-sites/empresarial/outros/v-hub-blueprint-s.png" alt="Facebook Blueprint" title="Facebook Blueprint" style="border-radius: ;"/> </noscript> </div> </div> </div> <div class="discovery-card__small-tile-body"> <div class="discovery-card__small-tile-body-heading"> <div class="section section__flush flush--top flush--bottom " style="border-radius: px;"> <h4 class="heading heading--4 heading--bold no-gutter--all" style="color : ;"> <span class="chevron chevron--inline chevron--inline--wrap"> <span class="chevron__text"> Facebook Blueprint </span> </span> </h4> </div> </div> <div class="discovery-card__small-tile-body-copy"> Veja a lista de cursos de e-learning que disponibilizamos em colaboração com o Facebook Blueprint. </div> <div class="discovery-card__link font-color--red"> <span>Ir para Blueprint</span> <div class="icon icon--small discovery-card__link-svg"> <svg viewBox="0 0 192 192"> <polyline id="_x32_59e14f8-3d8b-4ae1-b945-69f9c598b490" fill="none" stroke-width="8" stroke-linecap="round" stroke-linejoin="round" points=" 62,28 130,96 62,164 "></polyline> </svg> </div> </div> </div> </a> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="vf_heading vf_parent_component aem-GridColumn aem-GridColumn--default--12"> <div class="section section--mine-shaft flush--top flush--bottom " style="border-radius: px"> <div class="spring grid__item--align-center "> <h2 class="heading heading--2 heading--light " style="color : ;"> <span class="chevron chevron--inline chevron--inline--wrap"> <span class="chevron__text"> Casos de Sucesso </span> </span> </h2> </div> </div> </div> <div class="vf_grid vf_parent_component aem-GridColumn aem-GridColumn--default--12"> <div class="section section--mine-shaft flush--top flush--bottom " style="border-radius: px"> <div class="spring "> <div class="grid grid--gutter equalrows" data-equal=".description"> <div class="grid__item grid__item--gutter grid__item--top grid__item--align-left grid__item--sm-1/1 grid__item--md-1/3 grid__item--1/3"> <div class="vf_tiles vf_parent_component"> <div class="section section__flush flush--top flush--bottom " style="border-radius: px;"> <div id="tile-f399bda1-a811-466b-b5e4-704e04" class="tiles "> <div onclick="; goTo('/content/digital-sites/pt/business/v-hub/casos-sucesso/laso.html', '_self', event);" class="icon--cursor"> <div class="tiles__item tiles__item--1/1-auto tiles-WS10__container section--white "> <div class="tiles__content flex--row flush--all " onmouseenter="shadowHover(this, false, true)" onmouseleave="shadowHover(this, false, false)"> <div class="tiles__item tiles__eq tiles__item--sm-1/1-auto tiles__item--1/1-auto tiles_first_content"> <div class="tiles__content flush--all" style="padding: px px !important;"> <div class="vf_image vf_parent_component"> <div class="section section__flush flush--top flush--bottom " style="border-radius: px;"> <div class="segmentation--container"> <picture> <source data-srcset="/content/dam/digital-sites/empresarial/casos-sucesso/observatorio-casos-sucesso-laso-destaque-m.jpg/jcr:content/renditions/cq5dam.web.320.1000.jpeg" media="(max-width: 320px)"/> <source data-srcset="/content/dam/digital-sites/empresarial/casos-sucesso/observatorio-casos-sucesso-laso-destaque-m.jpg/jcr:content/renditions/cq5dam.web.400.1000.jpeg" media="(max-width: 400px)"/> <source data-srcset="/content/dam/digital-sites/empresarial/casos-sucesso/observatorio-casos-sucesso-laso-destaque-m.jpg/jcr:content/renditions/cq5dam.web.640.1000.jpeg" media="(max-width: 640px)"/> <source data-srcset="/content/dam/digital-sites/empresarial/casos-sucesso/observatorio-casos-sucesso-laso-destaque-m.jpg/jcr:content/renditions/cq5dam.web.950.1000.jpeg" media="(max-width: 950px)"/> <source data-srcset="/content/dam/digital-sites/empresarial/casos-sucesso/observatorio-casos-sucesso-laso-destaque-m.jpg/jcr:content/renditions/cq5dam.web.1200.1000.jpeg" media="(max-width: 1200px)"/> <img data-srcset="/content/dam/digital-sites/empresarial/casos-sucesso/observatorio-casos-sucesso-laso-destaque-m.jpg/jcr:content/renditions/cq5dam.web.1920.1000.jpeg" alt="Homem a segurar o telemóvel" title="LASO" class=" segmentation__image--resize lazyload" style="border-radius: ;"/> </picture> <noscript> <img src="/content/dam/digital-sites/empresarial/casos-sucesso/observatorio-casos-sucesso-laso-destaque-m.jpg" alt="Homem a segurar o telemóvel" title="LASO" style="border-radius: ;"/> </noscript> </div> </div> </div> <div class="vf_heading vf_parent_component"> <div class="section section__flush flush--top flush--bottom section__gutter--half--top " style="border-radius: px;"> <h3 class="heading heading--3 heading--light no-gutter--all" style="color : ;"> <span class="chevron chevron--inline chevron--inline--wrap"> <span class="chevron__text"> <span class="heading heading--4 heading--regular no-gutter--all">LASO</span> </span> </span> </h3> </div> </div> <div class="cmp cmp-text"> <div class="desktopText"> <p class="description">Com o serviço de Gestão de Frotas, a Laso construiu um sistema de informação centralizado de raiz que lhe permite ser cada vez mais eficiente.</p> </div> </div> </div> </div> <div class="tiles__item tiles__eq tiles__item--sm-1/1-auto tiles__item--1/1-auto verify__sons tiles_second_content"> <div class="tiles__content top_corner flush--all" style="padding: px px !important;"> </div> <div class="tiles__content second_content flush--all" style="padding: px px !important;"> </div> <div class="tiles__content bot_corner flush--all" style="padding: px px !important;"> </div> </div> </div> </div> </div> </div> <script>document.addEventListener('DOMContentLoaded',function(){hideShowMediaLayoutContent("","tile-f399bda1-a811-466b-b5e4-704e04");loadSvgProperties("tile-f399bda1-a811-466b-b5e4-704e04","","","",);setMobileDesign("tile-f399bda1-a811-466b-b5e4-704e04","");});</script> </div> </div> </div> <div class="grid__item grid__item--gutter grid__item--top grid__item--align-left grid__item--sm-1/1 grid__item--md-1/3 grid__item--1/3"> <div class="vf_tiles vf_parent_component"> <div class="section section__flush flush--top flush--bottom " style="border-radius: px;"> <div id="tile-dea5ae69-fae3-4841-a608-847ec0" class="tiles "> <div onclick="; goTo('/content/digital-sites/pt/business/v-hub/casos-sucesso/ccb.html', '_self', event);" class="icon--cursor"> <div class="tiles__item tiles__item--1/1-auto tiles-WS10__container section--white "> <div class="tiles__content flex--row flush--all " onmouseenter="shadowHover(this, false, true)" onmouseleave="shadowHover(this, false, false)"> <div class="tiles__item tiles__eq tiles__item--sm-1/1-auto tiles__item--1/1-auto tiles_first_content"> <div class="tiles__content flush--all" style="padding: px px !important;"> <div class="vf_image vf_parent_component"> <div class="section section__flush flush--top flush--bottom " style="border-radius: px;"> <div class="segmentation--container"> <picture> <source data-srcset="/content/dam/digital-sites/empresarial/casos-sucesso/casos-sucesso-ccb-listagem-m.jpg/jcr:content/renditions/cq5dam.web.320.1000.jpeg" media="(max-width: 320px)"/> <source data-srcset="/content/dam/digital-sites/empresarial/casos-sucesso/casos-sucesso-ccb-listagem-m.jpg/jcr:content/renditions/cq5dam.web.400.1000.jpeg" media="(max-width: 400px)"/> <source data-srcset="/content/dam/digital-sites/empresarial/casos-sucesso/casos-sucesso-ccb-listagem-m.jpg/jcr:content/renditions/cq5dam.web.640.1000.jpeg" media="(max-width: 640px)"/> <source data-srcset="/content/dam/digital-sites/empresarial/casos-sucesso/casos-sucesso-ccb-listagem-m.jpg/jcr:content/renditions/cq5dam.web.950.1000.jpeg" media="(max-width: 950px)"/> <source data-srcset="/content/dam/digital-sites/empresarial/casos-sucesso/casos-sucesso-ccb-listagem-m.jpg/jcr:content/renditions/cq5dam.web.1200.1000.jpeg" media="(max-width: 1200px)"/> <img data-srcset="/content/dam/digital-sites/empresarial/casos-sucesso/casos-sucesso-ccb-listagem-m.jpg/jcr:content/renditions/cq5dam.web.1920.1000.jpeg" alt="mulher a segurar telemóvel" title="CCB" class=" segmentation__image--resize lazyload" style="border-radius: ;"/> </picture> <noscript> <img src="/content/dam/digital-sites/empresarial/casos-sucesso/casos-sucesso-ccb-listagem-m.jpg" alt="mulher a segurar telemóvel" title="CCB" style="border-radius: ;"/> </noscript> </div> </div> </div> <div class="vf_heading vf_parent_component"> <div class="section section__flush flush--top flush--bottom section__gutter--half--top " style="border-radius: px;"> <h3 class="heading heading--3 heading--light no-gutter--all" style="color : ;"> <span class="chevron chevron--inline chevron--inline--wrap"> <span class="chevron__text"> <span class="heading heading--4 heading--regular no-gutter--all">CCB</span> </span> </span> </h3> </div> </div> <div class="cmp cmp-text"> <div class="desktopText"> <p class="description">Com o Digital Screen, o CCB consegue atualizar a sua agenda cultural, ao minuto e remotamente.</p> </div> </div> </div> </div> <div class="tiles__item tiles__eq tiles__item--sm-1/1-auto tiles__item--1/1-auto verify__sons tiles_second_content"> <div class="tiles__content top_corner flush--all" style="padding: px px !important;"> </div> <div class="tiles__content second_content flush--all" style="padding: px px !important;"> </div> <div class="tiles__content bot_corner flush--all" style="padding: px px !important;"> </div> </div> </div> </div> </div> </div> <script>document.addEventListener('DOMContentLoaded',function(){hideShowMediaLayoutContent("","tile-dea5ae69-fae3-4841-a608-847ec0");loadSvgProperties("tile-dea5ae69-fae3-4841-a608-847ec0","","","",);setMobileDesign("tile-dea5ae69-fae3-4841-a608-847ec0","");});</script> </div> </div> </div> <div class="grid__item grid__item--gutter grid__item--top grid__item--align-left grid__item--sm-1/1 grid__item--md-1/3 grid__item--1/3"> <div class="vf_tiles vf_parent_component"> <div class="section section__flush flush--top flush--bottom " style="border-radius: px;"> <div id="tile-75626d11-a4ac-4291-9742-57fc1c" class="tiles "> <div onclick="; goTo('/content/digital-sites/pt/business/v-hub/casos-sucesso/flymaster.html', '_self', event);" class="icon--cursor"> <div class="tiles__item tiles__item--1/1-auto tiles-WS10__container section--white "> <div class="tiles__content flex--row flush--all " onmouseenter="shadowHover(this, false, true)" onmouseleave="shadowHover(this, false, false)"> <div class="tiles__item tiles__eq tiles__item--sm-1/1-auto tiles__item--1/1-auto tiles_first_content"> <div class="tiles__content flush--all" style="padding: px px !important;"> <div class="vf_image vf_parent_component"> <div class="section section__flush flush--top flush--bottom " style="border-radius: px;"> <div class="segmentation--container"> <picture> <source data-srcset="/content/dam/digital-sites/empresarial/casos-sucesso/empresarial-casos-sucesso-Flymaster-m.jpg/jcr:content/renditions/cq5dam.web.320.1000.jpeg" media="(max-width: 320px)"/> <source data-srcset="/content/dam/digital-sites/empresarial/casos-sucesso/empresarial-casos-sucesso-Flymaster-m.jpg/jcr:content/renditions/cq5dam.web.400.1000.jpeg" media="(max-width: 400px)"/> <source data-srcset="/content/dam/digital-sites/empresarial/casos-sucesso/empresarial-casos-sucesso-Flymaster-m.jpg/jcr:content/renditions/cq5dam.web.640.1000.jpeg" media="(max-width: 640px)"/> <source data-srcset="/content/dam/digital-sites/empresarial/casos-sucesso/empresarial-casos-sucesso-Flymaster-m.jpg/jcr:content/renditions/cq5dam.web.950.1000.jpeg" media="(max-width: 950px)"/> <source data-srcset="/content/dam/digital-sites/empresarial/casos-sucesso/empresarial-casos-sucesso-Flymaster-m.jpg/jcr:content/renditions/cq5dam.web.1200.1000.jpeg" media="(max-width: 1200px)"/> <img data-srcset="/content/dam/digital-sites/empresarial/casos-sucesso/empresarial-casos-sucesso-Flymaster-m.jpg/jcr:content/renditions/cq5dam.web.1920.1000.jpeg" alt="homem com mochila às costas e a segurar o telemóvel" title="Flymaster" class=" segmentation__image--resize lazyload" style="border-radius: ;"/> </picture> <noscript> <img src="/content/dam/digital-sites/empresarial/casos-sucesso/empresarial-casos-sucesso-Flymaster-m.jpg" alt="homem com mochila às costas e a segurar o telemóvel" title="Flymaster" style="border-radius: ;"/> </noscript> </div> </div> </div> <div class="vf_heading vf_parent_component"> <div class="section section__flush flush--top flush--bottom section__gutter--half--top " style="border-radius: px;"> <h3 class="heading heading--3 heading--light no-gutter--all" style="color : ;"> <span class="chevron chevron--inline chevron--inline--wrap"> <span class="chevron__text"> <span class="heading heading--4 heading--regular no-gutter--all">Flymaster</span> </span> </span> </h3> </div> </div> <div class="cmp cmp-text"> <div class="desktopText"> <p class="description">Inovar com IoT é poder voar em parapente ou ultraleve, sem fronteiras e com toda a segurança.</p> </div> </div> </div> </div> <div class="tiles__item tiles__eq tiles__item--sm-1/1-auto tiles__item--1/1-auto verify__sons tiles_second_content"> <div class="tiles__content top_corner flush--all" style="padding: px px !important;"> </div> <div class="tiles__content second_content flush--all" style="padding: px px !important;"> </div> <div class="tiles__content bot_corner flush--all" style="padding: px px !important;"> </div> </div> </div> </div> </div> </div> <script>document.addEventListener('DOMContentLoaded',function(){hideShowMediaLayoutContent("","tile-75626d11-a4ac-4291-9742-57fc1c");loadSvgProperties("tile-75626d11-a4ac-4291-9742-57fc1c","","","",);setMobileDesign("tile-75626d11-a4ac-4291-9742-57fc1c","");});</script> </div> </div> </div> </div> </div> </div> </div> <div class="vf_grid vf_parent_component aem-GridColumn aem-GridColumn--default--12"> <div class="section section--mine-shaft " style="border-radius: px"> <div class="spring "> <div class="grid "> <div class="grid__item grid__item--top grid__item--align-center grid__item--sm-1/1 grid__item--md-1/1 grid__item--1/1"> <div class="vf_button vf_parent_component"> <div class="section section--mine-shaft flush--top " style="border-radius: px"> <script>buttonId="button-20768";button="";</script> <div id="button-20768" button="{"type":"button","title":"Ver mais casos de sucesso","titleMobile":"","target":"_self","url":"/content/digital-sites/pt/business/v-hub/casos-sucesso/todos.html","param":"undefined","fullWidth":"false","buttonStyles":"class","buttonCssClass":"button--primary","buttonBorder":"undefined","borderStylePicker":"none","borderWidthPicker":"0","buttonBackgroundColor":"undefined","buttonSize":"medium","opacitySelect":"undefined","anchorLink":"undefined","buttonInlineSvg":false,"svgPosition":"undefined","boldClass":"","borderClass":"button--border","fullWidthClass":"","tealiumClick":"falseTealium","sizeClass":"button","mobileBorderClass":"button--border"}"></div> <script type="text/javascript" src="/etc.clientlibs/digital-commons/components/content/authored/vf_button/clientlibs.b1f44d92e21dc5840b660580e38d469c.js"></script> </div> </div> </div> </div> </div> </div> </div> <div class="vf_grid vf_parent_component aem-GridColumn aem-GridColumn--default--12"> <div class="section section--white flush--half " style="border-radius: px"> <div class="spring "> <div class="grid "> <div class="grid__item grid__item--top grid__item--align-center grid__item--sm-1/1 grid__item--md-1/1 grid__item--1/1"> <div class="vf_grid vf_parent_component"> <div class="section section__flush flush--half " style="border-radius: px;"> <div class="spring " style="color : #333333;"> <div class="grid "> <div class="grid__item grid__item--middle grid__item--align-center grid__item--sm-1/1 grid__item--md-1/5 grid__item--1/5"> <div class="vf_svg"> <span class="icon icon--fill 12 " style="width: 100px; height: 100px;"> <svg viewBox="0 0 192 192"><path fill="#e60000" d="M174.2,62.6c-1.079-9.439-8.473-16.916-17.9-18.1c-40.032-5.2-80.568-5.2-120.6,0 c-9.405,1.192-16.765,8.677-17.8,18.1c-2.5,22.23-2.5,44.67,0,66.9c1.035,9.423,8.395,16.908,17.8,18.1 c20.028,2.6,40.204,3.902,60.4,3.9c20.163,0.002,40.305-1.3,60.3-3.9c9.405-1.192,16.765-8.677,17.8-18.1 c1.284-11.12,1.918-22.306,1.9-33.5C176.118,84.839,175.484,73.687,174.2,62.6z M119.3,99.2l-32.8,23.1 c-1.3,0.901-3.083,0.589-4-0.7c-0.359-0.491-0.536-1.092-0.5-1.7V72c-0.011-1.568,1.233-2.856,2.8-2.9 c0.601,0.012,1.188,0.185,1.7,0.5l32.8,23.1c1.761,1.231,2.191,3.656,0.96,5.417c-0.02,0.028-0.039,0.056-0.06,0.083 C119.98,98.597,119.672,98.939,119.3,99.2z"></path><path d="M119.3,92.7,86.5,69.6a3.3,3.3,0,0,0-1.7-.5A2.88,2.88,0,0,0,82,72v47.9a2.58,2.58,0,0,0,.5,1.7,2.89,2.89,0,0,0,4,.7l32.8-23.1a3,3,0,0,0,.9-1l.06-.08A3.9,3.9,0,0,0,119.3,92.7Z" fill="#fff"></path></svg> </span> <span class="visually-hidden"></span> </div> </div> <div class="grid__item grid__item--middle grid__item--align-left grid__item--sm-1/1 grid__item--md-3/5 grid__item--3/5"> <div class="cmp cmp-text"> <div class="section section__flush flush--top flush--bottom " style="border-radius: px;"> <div class="desktopText"> <p><span class="heading--4 heading--light heading--no-gutter">Descubra as novas tendências tecnológicas e as nossas soluções no nosso canal de Youtube.</span></p> </div> </div> </div> </div> <div class="grid__item grid__item--middle grid__item--align-center grid__item--sm-1/1 grid__item--md-1/5 grid__item--1/5"> <div class="vf_button vf_parent_component"> <div class="section section__flush flush--top flush--bottom " style="border-radius: px;"> <script>buttonId="button-1334";button="";</script> <div id="button-1334" button="{"type":"button","title":"Ver canal","titleMobile":"","target":"_self","url":"https://www.youtube.com/channel/UCVHW7d9ti7TuMFunGiU6fbg?view_as=subscriber","param":"undefined","fullWidth":"false","buttonStyles":"class","buttonCssClass":"button--primary","buttonBorder":"undefined","borderStylePicker":"none","borderWidthPicker":"0","buttonBackgroundColor":"undefined","buttonSize":"medium","opacitySelect":"undefined","anchorLink":"undefined","buttonInlineSvg":false,"svgPosition":"undefined","boldClass":"","borderClass":"button--border","fullWidthClass":"","tealiumClick":"falseTealium","sizeClass":"button","mobileBorderClass":"button--border"}"></div> <script type="text/javascript" src="/etc.clientlibs/digital-commons/components/content/authored/vf_button/clientlibs.b1f44d92e21dc5840b660580e38d469c.js"></script> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="vf_publicationModification aem-GridColumn aem-GridColumn--default--12"></div> <div class="vf_experienceFragment aem-GridColumn aem-GridColumn--default--12"> <div class="xfpage page basicpage"> <div class="xf-content-height"> <div class="aem-Grid aem-Grid--12 aem-Grid--default--12 "> <div class="vf_socialMedia vf_parent_component aem-GridColumn aem-GridColumn--default--12"> </div> </div> </div></div> </div> <div class="vf_experienceFragment aem-GridColumn aem-GridColumn--default--12"> <div class="xfpage page basicpage"> <div class="xf-content-height"> <div class="aem-Grid aem-Grid--12 aem-Grid--default--12 "> <div class="vf_footer_ws10 aem-GridColumn aem-GridColumn--default--12"><div class="vf"> <footer> <div class="footer-ws10"> <div class="spring"> <div class="footer-ws10__navigation"> <div class="no-gutter--sm-bottom"> <div class="grid"> <div class="grid__item grid__item--1/4 grid__item--md-1/2 grid__item--sm-2/3"> <h2 class="visually-hidden">Follow us</h2> <span class="footer-ws10__title">Siga-nos</span> <ul class="list list--reset social__list"> <li class="footer-ws10__social"> <div> <a role="button" href="https://www.facebook.com/vodafonePT" target="_self" onclick="tealium_ws10_svg.methods.handleClickSVGEntry('Event Click Footer Social Media Menu','Facebook')"> <span class="icon icon--fill 13 " style="width: 23px; height: 23px;"> <svg viewBox="0 0 160 160"><path d="M128.17,11.18H31.83A20.71,20.71,0,0,0,11.18,31.83v96.34a20.71,20.71,0,0,0,20.65,20.65H84.3V91.18h-12V71.4h12V59.85c0-15.89,6.26-25.44,24.85-25.44h16.44V54.19h-9.67c-7.14,0-7.53,2.35-7.53,7.54V71.4H125l-2.09,19.78H108.39v57.64h19.78a20.71,20.71,0,0,0,20.65-20.65V31.83A20.71,20.71,0,0,0,128.17,11.18Z" fill="#ffffff" stroke="none"></path></svg> </span> <span class="visually-hidden"></span> </a> </div> </li> <li class="footer-ws10__social"> <div> <a role="button" href="https://twitter.com/vodafonept" target="_self" onclick="tealium_ws10_svg.methods.handleClickSVGEntry('Event Click Footer Social Media Menu','Twitter')"> <span class="icon icon--fill 13 " style="width: 23px; height: 23px;"> <svg width="20" height="20" viewBox="0 0 1200 1227" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M714.163 519.284L1160.89 0H1055.03L667.137 450.887L357.328 0H0L468.492 681.821L0 1226.37H105.866L515.491 750.218L842.672 1226.37H1200L714.137 519.284H714.163ZM569.165 687.828L521.697 619.934L144.011 79.6944H306.615L611.412 515.685L658.88 583.579L1055.08 1150.3H892.476L569.165 687.854V687.828Z" fill="white"/> </svg> </span> <span class="visually-hidden"></span> </a> </div> </li> <li class="footer-ws10__social"> <div> <a role="button" href="https://www.youtube.com/vodafonept" target="_self"> <span class="icon icon--fill 11 " style="width: 23px; height: 23px;"> <svg viewBox="0 0 160.08 160"><path d="M158.14,46.55a20.59,20.59,0,0,0-17.9-18.1,468.12,468.12,0,0,0-120.6,0,20.49,20.49,0,0,0-17.8,18.1,299.31,299.31,0,0,0,0,66.9,20.49,20.49,0,0,0,17.8,18.1,469.15,469.15,0,0,0,60.4,3.9,467.72,467.72,0,0,0,60.3-3.9,20.51,20.51,0,0,0,17.8-18.1A290.74,290.74,0,0,0,160,80,289,289,0,0,0,158.14,46.55Zm-54.9,36.6-32.8,23.1a2.89,2.89,0,0,1-4-.7,2.58,2.58,0,0,1-.5-1.7V56a2.88,2.88,0,0,1,2.8-2.9,3.3,3.3,0,0,1,1.7.5l32.8,23.1a3.9,3.9,0,0,1,1,5.42l-.06.08A3.1,3.1,0,0,1,103.24,83.15Z" transform="translate(0.04)" fill="#ffffff" stroke="none"></path></svg> </span> <span class="visually-hidden"></span> </a> </div> </li> <li class="footer-ws10__social"> <div> <a role="button" href="https://www.instagram.com/vodafonept/?hl=pt" target="_self"> <span class="icon icon--fill 11 " style="width: 23px; height: 23px;"> <svg viewBox="0 0 192 192"><path d="M96,34.09c20.16,0,22.55.08,30.51.44,7.37.34,11.37,1.57,14,2.6a25,25,0,0,1,14.33,14.33c1,2.66,2.26,6.66,2.6,14,.36,8,.44,10.35.44,30.51s-.08,22.55-.44,30.51c-.34,7.37-1.57,11.37-2.6,14a25,25,0,0,1-14.33,14.33c-2.66,1-6.66,2.26-14,2.6-8,.36-10.35.44-30.51.44s-22.55-.08-30.51-.44c-7.37-.34-11.37-1.57-14-2.6a25,25,0,0,1-14.33-14.33c-1-2.66-2.26-6.66-2.6-14-.36-8-.44-10.35-.44-30.51s.08-22.55.44-30.51c.34-7.37,1.57-11.37,2.6-14A25,25,0,0,1,51.46,37.13c2.66-1,6.66-2.26,14-2.6,8-.36,10.35-.44,30.51-.44m0-13.61c-20.51,0-23.08.09-31.13.46s-13.53,1.64-18.34,3.51A38.64,38.64,0,0,0,24.45,46.53c-1.87,4.81-3.14,10.3-3.51,18.34S20.48,75.49,20.48,96s.09,23.08.46,31.13,1.64,13.53,3.51,18.34a38.64,38.64,0,0,0,22.08,22.08c4.81,1.87,10.3,3.14,18.34,3.51s10.62.46,31.13.46,23.08-.09,31.13-.46,13.53-1.64,18.34-3.51a38.64,38.64,0,0,0,22.08-22.08c1.87-4.81,3.14-10.3,3.51-18.34s.46-10.62.46-31.13-.09-23.08-.46-31.13-1.64-13.53-3.51-18.34a38.64,38.64,0,0,0-22.08-22.08c-4.81-1.87-10.3-3.14-18.34-3.51s-10.62-.46-31.13-.46Z" fill="#ffffff" stroke="none"></path><path d="M96,57.22A38.78,38.78,0,1,0,134.78,96,38.78,38.78,0,0,0,96,57.22Zm0,64A25.17,25.17,0,1,1,121.17,96,25.17,25.17,0,0,1,96,121.17Z" fill="#ffffff" stroke="none"></path><circle cx="136.31" cy="55.69" r="9.06" fill="#ffffff" stroke="none"></circle></svg> </span> <span class="visually-hidden"></span> </a> </div> </li> </ul> </div> <!-- Logo and bar if Mobile INIT --> <div class="hide--lg grid__item grid__item--md-1/2 grid__item--sm-1/3 footer-ws10__logo"> <div> <span class="icon icon--fill icon--extra-large " style="width: ; height: ;"> <svg viewBox="0 0 192 192"><path fill="#ffffff" stroke="none" stroke-width="8" stroke-linecap="round" stroke-linejoin="round" d="M128.52,26.92 c-13.77,3.06-24.7,15.92-24.7,30.53c-0.028,0.408,0.016,0.818,0.13,1.21c23.19,5.66,33.84,19.68,33.84,39.09 s-15.24,40.71-41.12,40.85c-21,0-42.86-17.93-43-46.64C53.67,73,63.92,54.61,77,43.7c12.81-10.52,30.33-17.39,46.24-17.39 c1.615-0.028,3.229,0.099,4.82,0.38C88.906,7.691,41.764,24.029,22.764,63.183s-2.661,86.296,36.493,105.296 s86.296,2.661,105.296-36.493c18.91-38.97,2.821-85.897-36.023-105.066H128.52z"></path></svg> </span> <span class="visually-hidden"></span> </div> </div> <hr class="hide--lg footer-ws10__hr"/> <!-- Logo and bar if Mobile END --> <div class="grid__item grid__item--2/3 grid__item--md-1/1 grid__item--sm-1/1"> <span class="footer-ws10__title">Contacte-nos</span> <div class="footer-ws10__community"> <div class="grid__item grid__item--1/5 grid__item--sm-1/3 footer-ws10__communitySection"> <div class="footer-ws10__chat"> <a role="button" href="https://tobi.vodafone.pt" target="_self"> <span class="icon icon--fill 11 " style="width: 32px; height: 32px;"> <svg viewBox="0 0 48 48"><g id="a3ad0527-d87d-4252-91a5-a23f0f9fd104" data-name="Icons+Indicators-/-TOBi-Emojis-/-default"><g id="aa4dbbc3-0d2a-4bb1-98d5-03a3a6805b7e" data-name="03-Component-/-Tobi-/-Expression-/-Template"><g id="b9273ff3-7632-49ea-a694-7e4ecfb8c627" data-name="Tobi/Template"><g id="e82050a6-6e54-4484-a7b3-6c3d1c671767" data-name="Group"><path id="a52c1791-a583-4b25-a431-129e60ebee52" data-name="Fill" d="M38.9,20.8h-.16l-.37.27A14.59,14.59,0,0,1,35,22.67a29.55,29.55,0,0,1-4.41,1.07,42,42,0,0,1-6.63.53,42,42,0,0,1-6.63-.53,19.39,19.39,0,0,1-8.13-3,2.4,2.4,0,0,0-1.93.91,3.91,3.91,0,0,0-.76,1.67v5.92c0,.31,0,.62,0,.91a17.46,17.46,0,0,0,34.81,0c0-.31,0-.6,0-.91v-5.9a5,5,0,0,0-.75-1.67A2.48,2.48,0,0,0,38.9,20.8Z" fill="#ebebeb" fill-rule="evenodd"></path><path id="ef6258c0-6fb7-4e4e-8024-fe3260b36eb8" data-name="Fill" d="M2.34,29.3h0A5.18,5.18,0,0,1,2,27.54V29.3a5.58,5.58,0,0,0,5.57,5.57,15.16,15.16,0,0,1-.65-2.21,5.09,5.09,0,0,1-4.6-3.36" fill="#900" fill-rule="evenodd"></path><path id="b5b39572-5bff-4b94-88e1-1a1b302ab2d0" data-name="Fill" d="M45.49,29.3h0A5.07,5.07,0,0,1,41,32.66a18.39,18.39,0,0,1-.64,2.21,5.54,5.54,0,0,0,5.5-5.57V27.54a4.74,4.74,0,0,1-.33,1.76" fill="#900" fill-rule="evenodd"></path><path id="fbe8bc78-1c10-4e5b-a7ca-18a3a7bec325" data-name="Fill" d="M2,23.09c0,.14,0,.25,0,.38v4.1a5.12,5.12,0,0,0,4.9,5.11,18.21,18.21,0,0,1-.38-2.44c0-.31,0-.6,0-.92a1.51,1.51,0,0,1,0-.48V23.41a4.08,4.08,0,0,1,.75-1.67,2.35,2.35,0,0,1,1.94-.92,19.62,19.62,0,0,0,8.12,3,40.81,40.81,0,0,0,6.63.54,40.9,40.9,0,0,0,6.63-.54,29.57,29.57,0,0,0,4.39-1.06,14.62,14.62,0,0,0,3.36-1.61c.13-.09.27-.17.38-.26h.15a2.32,2.32,0,0,1,1.78.91,3.91,3.91,0,0,1,.76,1.67v5.92c0,.31,0,.62,0,.91A18.35,18.35,0,0,1,41,32.71a5.17,5.17,0,0,0,4.56-3.34,5.23,5.23,0,0,0,.31-1.74V25.21a13,13,0,0,0,0-1.43A21.93,21.93,0,0,0,2,23.09Z" fill="#e60000" fill-rule="evenodd"></path><path id="bb2e5e74-6879-4dde-a8b8-193a7e669475" data-name="Fill" d="M28.44,15.59a4.46,4.46,0,0,1-1.31,1.58,4.93,4.93,0,0,1-4.41.85,5.24,5.24,0,0,1-2.91-2.18,5.74,5.74,0,0,1-.67-1.47s0-.07,0-.11a4,4,0,0,1-.16-.89,7.34,7.34,0,0,1,0-.94v-.09a6.38,6.38,0,0,1,.2-1.31A7.9,7.9,0,0,1,21.7,6.94a8.44,8.44,0,0,1,2.49-1.47c.25-.09.51-.18.76-.25l.46-.13a8.78,8.78,0,0,1,1.16-.2,4.5,4.5,0,0,1,1.16,0,.48.48,0,0,1,.18,0,3.76,3.76,0,0,0-3,3.65V8.7a5.79,5.79,0,0,1,1.93.73,4.41,4.41,0,0,1,1.27,1.16l.07.11a4.26,4.26,0,0,1,.55,1.18A5.3,5.3,0,0,1,29,13.19v.18a5.28,5.28,0,0,1-.56,2.22M24,4a9.13,9.13,0,1,0,9.12,9.13A9.13,9.13,0,0,0,24,4" fill="#fff" fill-rule="evenodd"></path></g></g></g><g id="ab7553bc-3ad2-4546-bba5-f1487e8311fb" data-name="Mouth"><path id="f9f20c66-550d-48d7-b912-b9dca9046d0e" data-name="Fill" d="M33.52,36.87a.83.83,0,0,0-1.2,0,11.77,11.77,0,0,1-16.83,0,.83.83,0,0,0-1.2,0,.88.88,0,0,0,0,1.22l0,0a13.46,13.46,0,0,0,19.23,0,.9.9,0,0,0,0-1.24" fill="#4a4d4e" fill-rule="evenodd"></path></g><g id="a303a073-6090-4810-be93-9117ab65d604" data-name="Eyes"><path id="f7bc4ef8-9e67-4b6f-b050-23f39478a749" data-name="Fill" d="M14.13,29.62h0a2.74,2.74,0,1,0,0-1.37,4.08,4.08,0,0,0-.09.69v0a3.29,3.29,0,0,0,.09.64" fill="#4a4d4e" fill-rule="evenodd"></path><path id="e0e19617-5e7c-4cd3-b4bd-fadc98b4df93" data-name="Fill" d="M28.42,29.64a2.74,2.74,0,0,0,5.3,0,1.63,1.63,0,0,0,.07-.5V29a2.75,2.75,0,0,0-5.49-.09,2.22,2.22,0,0,0,.12.77" fill="#4a4d4e" fill-rule="evenodd"></path></g></g></svg> </span> <span class="visually-hidden"></span> </a> <a href="https://tobi.vodafone.pt"> <span class="footer-ws10__chat--text">Chat TOBi</span> </a> </div> </div> <div class="grid__item grid__item--1/5 grid__item--sm-1/3 footer-ws10__communitySection"> <div class="footer-ws10__chat"> <a role="button" href="https://api.whatsapp.com/send/?phone=351910070707&app_absent=0" target="_blank"> <span class="icon icon--fill icon--large " style="width: 32px; height: 32px;"> <svg viewBox="0 0 24 24"><path id="Whatsapp" fill-rule="evenodd" clip-rule="evenodd" fill="#FFFFFF" d="M7.971,18.145l0.272,0.161 c1.144,0.676,2.455,1.033,3.791,1.033h0.003c4.105,0,7.448-3.326,7.449-7.414c0.001-1.981-0.774-3.844-2.18-5.245 S14.03,4.507,12.04,4.506c-4.109,0-7.45,3.326-7.452,7.413c-0.001,1.401,0.393,2.765,1.139,3.945l0.177,0.28l-0.753,2.736 L7.971,18.145z M3,21l1.271-4.622c-0.784-1.353-1.197-2.887-1.196-4.459C3.077,7.001,7.098,3,12.038,3 c2.397,0.001,4.648,0.93,6.34,2.616c1.692,1.686,2.623,3.927,2.623,6.31c-0.002,4.918-4.023,8.92-8.962,8.92l0,0h-0.004 c-1.5-0.001-2.974-0.375-4.283-1.086L3,21z M9.797,8.19C9.616,7.755,9.431,7.814,9.293,7.808C9.163,7.801,9.014,7.8,8.865,7.8 c-0.15,0-0.392,0.056-0.597,0.279C8.062,8.302,7.484,8.841,7.484,9.938s0.802,2.157,0.914,2.306c0.112,0.148,1.579,2.4,3.825,3.365 c0.535,0.229,0.952,0.367,1.277,0.47c0.536,0.169,1.024,0.146,1.41,0.088c0.431-0.064,1.325-0.539,1.511-1.06 c0.187-0.521,0.187-0.967,0.131-1.06c-0.056-0.093-0.206-0.149-0.429-0.26c-0.224-0.111-1.325-0.651-1.53-0.725 c-0.206-0.074-0.355-0.111-0.504,0.111c-0.149,0.223-0.579,0.725-0.709,0.874c-0.131,0.148-0.261,0.167-0.485,0.056 c-0.224-0.111-0.945-0.347-1.801-1.106c-0.666-0.591-1.115-1.321-1.246-1.543c-0.131-0.223-0.014-0.344,0.098-0.455 c0.101-0.1,0.224-0.26,0.336-0.39c0.112-0.13,0.149-0.223,0.224-0.372c0.075-0.149,0.037-0.279-0.019-0.39 C10.432,9.733,9.984,8.636,9.797,8.19"></path></svg> </span> <span class="visually-hidden"></span> </a> <a href="https://api.whatsapp.com/send/?phone=351910070707&app_absent=0"> <span class="footer-ws10__chat--text">WhatsApp</span> </a> </div> </div> <div class="grid__item grid__item--1/5 grid__item--sm-1/3 footer-ws10__communitySection"> <div class="footer-ws10__chat"> <a role="button" href="https://www.livroreclamacoes.pt/inicio" target="_self" onclick="var visitor_login_status = 'Logged In' || 'Logged Out'; utag.link({ 'event_action' : 'Footer Click', 'event_category' : 'Footer', 'event' : ['event_instance'], 'event_label' : 'Livro de Reclamações', 'event_value' : '1', 'page_name_next' : 'Livro de Reclamações', 'visitor_login_status' : visitor_login_status });"> <span class="icon icon--fill 12 " style="width: 32px; height: 32px;"> <svg viewBox="0 0 24 24"><path style="fill: none; stroke-width: 8; stroke-linecap: round; stroke-linejoin: miter; stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-miterlimit: 4;" d="M 94.09375 42.5625 C 94.0625 38.9375 97 36 100.625 36 L 166.625 36 L 166.625 72.28125 C 166.65625 73.9375 166 75.5625 164.8125 76.75 C 163.65625 77.96875 162.0625 78.65625 160.375 78.65625 L 123.96875 78.65625 " transform="matrix(0.125,0,0,0.125,0,0)"></path><path style="fill: none; stroke-width: 8; stroke-linecap: round; stroke-linejoin: round; stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-miterlimit: 4;" d="M 123.9375 78.65625 L 106.875 95.71875 L 106.875 78.65625 L 100.46875 78.65625 C 97 78.71875 94.125 75.90625 94.09375 72.40625 L 94.09375 42.5625 " transform="matrix(0.125,0,0,0.125,0,0)"></path><path style="fill: none; stroke-width: 8; stroke-linecap: round; stroke-linejoin: round; stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-miterlimit: 4;" d="M 25.40625 156 C 29.21875 138.21875 42.625 125.125 58.5625 125.125 C 74.53125 125.125 87.9375 138.21875 91.71875 156 " transform="matrix(0.125,0,0,0.125,0,0)"></path><path style="fill: none; stroke-width: 8; stroke-linecap: butt; stroke-linejoin: miter; stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-miterlimit: 4;" d="M 77.875 103.875 C 77.875 114.5625 69.25 123.1875 58.5625 123.1875 C 47.90625 123.1875 39.25 114.5625 39.25 103.875 C 39.25 93.21875 47.90625 84.5625 58.5625 84.5625 L 77.875 84.5625 Z M 77.875 103.875 " transform="matrix(0.125,0,0,0.125,0,0)"></path></svg> </span> <span class="visually-hidden"></span> </a> <a href="https://www.vodafone.pt/fale-connosco.html"> <span class="footer-ws10__chat--text">Fale connosco</span> </a> </div> </div> <div class="grid__item grid__item--1/5 grid__item--sm-1/3 footer-ws10__communitySection"> <div class="footer-ws10__chat"> <a role="button" href="https://www.livroreclamacoes.pt/inicio" target="_self" onclick="var visitor_login_status = 'Logged In' || 'Logged Out'; utag.link({ 'event_action' : 'Footer Click', 'event_category' : 'Footer', 'event' : ['event_instance'], 'event_label' : 'Livro de Reclamações', 'event_value' : '1', 'page_name_next' : 'Livro de Reclamações', 'visitor_login_status' : visitor_login_status });"> <span class="icon icon--fill 10 " style="width: ; height: ;"> <svg viewBox="0 0 161.9 68.5" enable-background="new 0 0 161.9 68.5" xml:space="preserve" height="32px"> <g> <circle fill="#FFFFFF" cx="33.8" cy="33.6" r="32.9"></circle> <g> <g> <path fill="#333333" d="M6.6,28h1.3v9h4.3v1.1H6.6V28z"></path> <path fill="#333333" d="M15,28v10.1h-1.3V28H15z"></path> <path fill="#333333" d="M19.5,38.1L16.2,28h1.4l1.6,5c0.4,1.4,0.8,2.6,1.1,3.8h0c0.3-1.2,0.7-2.4,1.2-3.8l1.7-5h1.4l-3.6,10.1 H19.5z"></path> <path fill="#333333" d="M25.6,28.1c0.7-0.1,1.6-0.2,2.5-0.2c1.4,0,2.3,0.3,2.9,0.8c0.5,0.4,0.8,1.1,0.8,1.9 c0,1.3-0.8,2.2-1.9,2.6v0c0.8,0.3,1.2,1,1.5,2c0.3,1.4,0.6,2.4,0.8,2.8h-1.3c-0.2-0.3-0.4-1.2-0.7-2.4c-0.3-1.4-0.8-1.9-2-2h-1.2 v4.4h-1.3V28.1z M26.9,32.7h1.3c1.4,0,2.3-0.8,2.3-1.9c0-1.3-0.9-1.9-2.3-1.9c-0.6,0-1.1,0.1-1.3,0.1V32.7z"></path> <path fill="#333333" d="M42.4,33c0,3.5-2.1,5.3-4.7,5.3c-2.7,0-4.5-2.1-4.5-5.1c0-3.2,2-5.3,4.7-5.3C40.6,27.8,42.4,30,42.4,33z M34.5,33.1c0,2.2,1.2,4.1,3.2,4.1c2.1,0,3.2-1.9,3.2-4.2c0-2-1-4.1-3.2-4.1C35.6,28.9,34.5,30.9,34.5,33.1z"></path> <path fill="#333333" d="M47.2,28.1C48,28,49,27.9,50,27.9c1.9,0,3.2,0.4,4.1,1.3c0.9,0.8,1.4,2,1.4,3.6c0,1.6-0.5,3-1.5,3.9 c-0.9,0.9-2.5,1.5-4.5,1.5c-0.9,0-1.7,0-2.4-0.1V28.1z M48.5,37.1c0.3,0.1,0.8,0.1,1.3,0.1c2.8,0,4.3-1.6,4.3-4.3 c0-2.4-1.3-3.9-4.1-3.9c-0.7,0-1.2,0.1-1.5,0.1V37.1z"></path> <path fill="#333333" d="M62.4,33.4h-3.9V37h4.4v1.1h-5.7V28h5.5v1.1h-4.1v3.2h3.9V33.4z"></path> <path fill="#FFFFFF" d="M67.8,28.1c0.7-0.1,1.6-0.2,2.5-0.2c1.4,0,2.3,0.3,2.9,0.8c0.5,0.4,0.8,1.1,0.8,1.9 c0,1.3-0.8,2.2-1.9,2.6v0c0.8,0.3,1.2,1,1.5,2c0.3,1.4,0.6,2.4,0.8,2.8H73c-0.2-0.3-0.4-1.2-0.7-2.4c-0.3-1.4-0.8-1.9-2-2h-1.2 v4.4h-1.3V28.1z M69.1,32.7h1.3c1.4,0,2.3-0.8,2.3-1.9c0-1.3-0.9-1.9-2.3-1.9c-0.6,0-1.1,0.1-1.3,0.1V32.7z"></path> <path fill="#FFFFFF" d="M81,33.4h-3.9V37h4.4v1.1h-5.7V28h5.5v1.1h-4.1v3.2H81V33.4z"></path> <path fill="#FFFFFF" d="M90.2,37.8c-0.5,0.2-1.4,0.5-2.7,0.5c-2.8,0-5-1.8-5-5.1c0-3.2,2.1-5.3,5.3-5.3c1.3,0,2.1,0.3,2.4,0.4 l-0.3,1.1c-0.5-0.2-1.2-0.4-2-0.4c-2.4,0-3.9,1.5-3.9,4.2c0,2.5,1.4,4.1,3.9,4.1c0.8,0,1.6-0.2,2.1-0.4L90.2,37.8z"></path> <path fill="#FFFFFF" d="M91.9,28h1.3v9h4.3v1.1h-5.6V28z"></path> <path fill="#FFFFFF" d="M100.6,34.9l-1,3.2h-1.3l3.4-10.1h1.6l3.4,10.1h-1.4l-1.1-3.2H100.6z M103.9,33.9l-1-2.9 c-0.2-0.7-0.4-1.3-0.5-1.8h0c-0.1,0.6-0.3,1.2-0.5,1.8l-1,2.9H103.9z"></path> <path fill="#FFFFFF" d="M116.6,33.7c-0.1-1.4-0.2-3.1-0.1-4.4h0c-0.3,1.2-0.8,2.4-1.3,3.8l-1.8,4.9h-1l-1.6-4.8 c-0.5-1.4-0.9-2.7-1.2-3.9h0c0,1.3-0.1,2.9-0.2,4.5l-0.3,4.3h-1.2l0.7-10.1h1.7l1.7,4.9c0.4,1.2,0.8,2.4,1,3.4h0 c0.3-1,0.6-2.1,1.1-3.4l1.8-4.9h1.7l0.6,10.1h-1.3L116.6,33.7z"></path> <path fill="#FFFFFF" d="M121.6,34.9l-1,3.2h-1.3l3.4-10.1h1.6l3.4,10.1h-1.4l-1.1-3.2H121.6z M124.9,33.9l-1-2.9 c-0.2-0.7-0.4-1.3-0.5-1.8h0c-0.1,0.6-0.3,1.2-0.5,1.8l-1,2.9H124.9z"></path> <path fill="#FFFFFF" d="M135.9,37.8c-0.5,0.2-1.4,0.5-2.7,0.5l-0.3,0.6c0.6,0.1,1,0.5,1,1.1c0,0.9-0.8,1.2-1.5,1.2 c-0.4,0-0.8-0.1-1.1-0.3l0.2-0.7c0.2,0.1,0.5,0.2,0.8,0.2c0.3,0,0.6-0.1,0.6-0.5c0-0.4-0.5-0.6-1.2-0.6l0.6-1.2 c-2.5-0.3-4.2-2.1-4.2-5.1c0-3.2,2.1-5.3,5.3-5.3c1.3,0,2.1,0.3,2.4,0.4l-0.3,1.1c-0.5-0.2-1.2-0.4-2-0.4c-2.4,0-3.9,1.5-3.9,4.2 c0,2.5,1.4,4.1,3.9,4.1c0.8,0,1.6-0.2,2.1-0.4L135.9,37.8z"></path> <path fill="#FFFFFF" d="M145.9,33c0,3.5-2.1,5.3-4.7,5.3c-2.7,0-4.5-2.1-4.5-5.1c0-3.2,2-5.3,4.7-5.3 C144.1,27.8,145.9,30,145.9,33z M138.1,33.1c0,2.2,1.2,4.1,3.2,4.1c2.1,0,3.2-1.9,3.2-4.2c0-2-1-4.1-3.2-4.1 C139.1,28.9,138.1,30.9,138.1,33.1z M139.4,27.4c0-0.9,0.4-1.5,1-1.5c0.3,0,0.6,0.1,0.9,0.3c0.2,0.1,0.5,0.3,0.7,0.3 c0.2,0,0.4-0.1,0.4-0.6h0.7c0,0.9-0.3,1.5-1,1.5c-0.3,0-0.6-0.1-0.9-0.3c-0.3-0.1-0.5-0.3-0.7-0.3c-0.2,0-0.4,0.3-0.4,0.7H139.4z "></path> <path fill="#FFFFFF" d="M152.8,33.4h-3.9V37h4.4v1.1h-5.7V28h5.5v1.1h-4.1v3.2h3.9V33.4z"></path> <path fill="#FFFFFF" d="M154.8,36.5c0.6,0.4,1.4,0.7,2.3,0.7c1.3,0,2.1-0.7,2.1-1.7c0-0.9-0.5-1.5-1.9-2 c-1.6-0.6-2.7-1.4-2.7-2.9c0-1.6,1.3-2.7,3.3-2.7c1,0,1.8,0.2,2.2,0.5l-0.4,1.1c-0.3-0.2-1-0.5-1.9-0.5c-1.4,0-1.9,0.8-1.9,1.5 c0,0.9,0.6,1.4,2,1.9c1.7,0.7,2.6,1.5,2.6,3c0,1.6-1.2,2.9-3.5,2.9c-1,0-2-0.3-2.6-0.6L154.8,36.5z"></path> </g> </g> </g> </svg> </span> <span class="visually-hidden"></span> </a> </div> </div> </div> </div> <div class="grid__item grid__item--2/6 footer-ws10__logo hide--md hide--sm"> <div> <span class="icon icon--fill icon--extra-large " style="width: ; height: ;"> <svg viewBox="0 0 192 192"><path fill="#ffffff" stroke="none" stroke-width="8" stroke-linecap="round" stroke-linejoin="round" d="M128.52,26.92 c-13.77,3.06-24.7,15.92-24.7,30.53c-0.028,0.408,0.016,0.818,0.13,1.21c23.19,5.66,33.84,19.68,33.84,39.09 s-15.24,40.71-41.12,40.85c-21,0-42.86-17.93-43-46.64C53.67,73,63.92,54.61,77,43.7c12.81-10.52,30.33-17.39,46.24-17.39 c1.615-0.028,3.229,0.099,4.82,0.38C88.906,7.691,41.764,24.029,22.764,63.183s-2.661,86.296,36.493,105.296 s86.296,2.661,105.296-36.493c18.91-38.97,2.821-85.897-36.023-105.066H128.52z"></path></svg> </span> <span class="visually-hidden"></span> </div> </div> <hr class="footer-ws10__hr hide--md hide--sm"/> <h2 class="visually-hidden">Site map</h2> <div class="grid__item grid__item--1/1 hide--sm hide--md footer-ws10__sitemap"> <ul class="grid heading--leading heading--trailing"> <li class="grid__item grid__item--1/4"> <div> <span class="footer-ws10__title " onclick="; tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu', 'Sobre a Vodafone')"> Sobre a Vodafone </span> <ul class="list--reset"> <li class="list__item footer-ws10__item footer-ws10__item-first"> <a href="https://www.vodafone.pt/a-vodafone.html" onclick=";footerTealiumRequest('A Vodafone',''); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu', 'Sobre a Vodafone:A Vodafone')"> A Vodafone </a> </li> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/business/5g.html" onclick=";footerTealiumRequest('Rede 5G',''); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu', 'Sobre a Vodafone:Rede 5G')"> Rede 5G </a> </li> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/press-releases.html" onclick=";footerTealiumRequest('Press Releases',''); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu', 'Sobre a Vodafone:Press Releases')"> Press Releases </a> </li> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/a-vodafone/responsabilidade-social.html" onclick=";footerTealiumRequest('Responsabilidade Social',''); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu', 'Sobre a Vodafone:Responsabilidade Social')"> Responsabilidade Social </a> </li> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/a-vodafone/fundacao.html" onclick=";footerTealiumRequest('Fundação Vodafone',''); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu', 'Sobre a Vodafone:Fundação Vodafone')"> Fundação Vodafone </a> </li> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/a-vodafone/recrutamento.html" onclick=";footerTealiumRequest('Trabalhar na Vodafone',''); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu', 'Sobre a Vodafone:Trabalhar na Vodafone')"> Trabalhar na Vodafone </a> </li> <li class="list__item footer-ws10__item "> <a href="http://powerlab.vodafone.pt/" onclick=";footerTealiumRequest('Vodafone Power Lab',''); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu', 'Sobre a Vodafone:Vodafone Power Lab')"> Vodafone Power Lab </a> </li> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/business/v-hub.html" onclick=";footerTealiumRequest('V-HUB Business',''); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu', 'Sobre a Vodafone:V-HUB Business')"> V-HUB Business </a> </li> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/telemoveis/rede-movel-vodafone/descontinuacao-3g.html" onclick=";footerTealiumRequest('Descontinuação 3G',''); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu', 'Sobre a Vodafone:Descontinuação 3G')"> Descontinuação 3G </a> </li> </ul> </div> </li> <li class="grid__item grid__item--1/4"> <div> <span class="footer-ws10__title " onclick="; tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu', 'Serviços e Soluções')"> Serviços e Soluções </span> <ul class="list--reset"> <li class="list__item footer-ws10__item footer-ws10__item-first"> <a href="https://www.vodafone.pt/business/comunicacoes/pacotes-empresas.html" onclick=";footerTealiumRequest('Pacotes para empresas',''); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu', 'Serviços e Soluções:Pacotes para empresas')"> Pacotes para empresas </a> </li> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/business/comunicacoes/voz/movel.html" onclick=";footerTealiumRequest('Tarifários',''); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu', 'Serviços e Soluções:Tarifários')"> Tarifários </a> </li> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/business/comunicacoes/central/one-net.html" onclick=";footerTealiumRequest('One Net',''); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu', 'Serviços e Soluções:One Net')"> One Net </a> </li> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/business/solucoes/seguranca-e-cloud.html" onclick=";footerTealiumRequest('Segurança e Cloud',''); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu', 'Serviços e Soluções:Segurança e Cloud')"> Segurança e Cloud </a> </li> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/business/solucoes/negocio-digital.html" onclick=";footerTealiumRequest('Negócio Digital',''); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu', 'Serviços e Soluções:Negócio Digital')"> Negócio Digital </a> </li> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/business/solucoes/gestao-e-eficiencia.html" onclick=";footerTealiumRequest('Gestão e Eficiência',''); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu', 'Serviços e Soluções:Gestão e Eficiência')"> Gestão e Eficiência </a> </li> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/business/setores.html" onclick=";footerTealiumRequest('Setores',''); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu', 'Serviços e Soluções:Setores')"> Setores </a> </li> </ul> </div> </li> <li class="grid__item grid__item--1/4"> <div> <span class="footer-ws10__title " onclick="; tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu', 'Loja Online')"> Loja Online </span> <ul class="list--reset"> <li class="list__item footer-ws10__item footer-ws10__item-first"> <a href="https://www.vodafone.pt/loja/telemoveis.html?segment=business" onclick=";footerTealiumRequest('Telemóveis',''); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu', 'Loja Online:Telemóveis')"> Telemóveis </a> </li> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/loja/clube-viva.html?segment=business" onclick=";footerTealiumRequest('Clube Viva',''); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu', 'Loja Online:Clube Viva')"> Clube Viva </a> </li> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/loja/telemoveis.html?segment=business&highlight=Promo%C3%A7%C3%B5es" onclick=";footerTealiumRequest('Promoções',''); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu', 'Loja Online:Promoções')"> Promoções </a> </li> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/loja/internet-movel.html?segment=business" onclick=";footerTealiumRequest('Routers e Tablets',''); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu', 'Loja Online:Routers e Tablets')"> Routers e Tablets </a> </li> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/loja/acessorios.html?segment=business" onclick=";footerTealiumRequest('Acessórios',''); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu', 'Loja Online:Acessórios')"> Acessórios </a> </li> </ul> </div> </li> <li class="grid__item grid__item--1/4"> <div> <span class="footer-ws10__title " onclick="; tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu', 'Mais suporte')"> Mais suporte </span> <ul class="list--reset"> <li class="list__item footer-ws10__item footer-ws10__item-first"> <a href="https://www.vodafone.pt/content/digitalhelp/pt/ajuda.html?tab=voz-internet#empresarial" onclick=";footerTealiumRequest('Ajuda',''); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu', 'Mais suporte:Ajuda')"> Ajuda </a> </li> <li class="list__item footer-ws10__item "> <a href="https://r2x56.app.goo.gl/faturacao" onclick=";footerTealiumRequest('Ver Fatura',''); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu', 'Mais suporte:Ver Fatura')"> Ver Fatura </a> </li> <li class="list__item footer-ws10__item "> <a href="http://www.vodafone.pt/lojas.html" onclick=";footerTealiumRequest('Lojas',''); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu', 'Mais suporte:Lojas')"> Lojas </a> </li> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/content/digitalhelp/pt/ajuda/contactos.html?passo=1" onclick=";footerTealiumRequest('Contactos',''); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu', 'Mais suporte:Contactos')"> Contactos </a> </li> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/downloads.html" onclick=";footerTealiumRequest('Download Centre',''); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu', 'Mais suporte:Download Centre')"> Download Centre </a> </li> <li class="list__item footer-ws10__item "> <a href="https://forum.vodafone.pt/" onclick=";footerTealiumRequest('Comunidade Vodafone',''); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu', 'Mais suporte:Comunidade Vodafone')"> Comunidade Vodafone </a> </li> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/loja/estado-encomenda.html" onclick=";footerTealiumRequest('Estado da encomenda',''); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu', 'Mais suporte:Estado da encomenda')"> Estado da encomenda </a> </li> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/campanhas/happy-summer.html" onclick=";footerTealiumRequest('Happy Summer',''); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu', 'Mais suporte:Happy Summer')"> Happy Summer </a> </li> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/alertas-e-seguranca.html" onclick=";footerTealiumRequest('Alertas e Segurança',''); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu', 'Mais suporte:Alertas e Segurança')"> Alertas e Segurança </a> </li> <li class="list__item footer-ws10__item "> <a href="#" onclick="setTimeout(function(){typeof KAMPYLE_ONSITE_SDK !== 'undefined' && KAMPYLE_ONSITE_SDK.showForm('16738');}, 200);;footerTealiumRequest('Feedback',''); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu', 'Mais suporte:Feedback')"> Feedback </a> </li> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/en/about-us.html" onclick=";footerTealiumRequest('English',''); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu', 'Mais suporte:English')"> English </a> </li> </ul> </div> </li> </ul> </div> <div class="hide--lg"> <div class="js-accordion footer-ws10__accordion" data-js="_accordion" style="letter-spacing: normal;"> <div class="js-accordion-item footer-ws10-accordion__item " onClick="tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu Dropdown', 'Sobre a Vodafone')"> <h3 class="js-accordion-heading footer-ws10-accordion__heading footer-ws10-accordion__heading--active"> <span class="chevron"> <span class="chevron__text">Sobre a Vodafone</span> <span class="js-accordion-chevron chevron__container accordion__chevron"> <svg focusable="false" aria-hidden="true" class="icon icon--small chevron__icon chevron__icon--white"> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-chevron-down"></use> </svg> </span> </span> </h3> <div class="js-accordion-content footer-ws10-accordion__content footer-ws10-accordion__content--collapse"> <ul class="list list--reset"> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/a-vodafone.html" onclick="event.stopPropagation(); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu','Sobre a Vodafone:A Vodafone');"> A Vodafone </a> </li> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/business/5g.html" onclick="event.stopPropagation(); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu','Sobre a Vodafone:Rede 5G');"> Rede 5G </a> </li> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/press-releases.html" onclick="event.stopPropagation(); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu','Sobre a Vodafone:Press Releases');"> Press Releases </a> </li> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/a-vodafone/responsabilidade-social.html" onclick="event.stopPropagation(); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu','Sobre a Vodafone:Responsabilidade Social');"> Responsabilidade Social </a> </li> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/a-vodafone/fundacao.html" onclick="event.stopPropagation(); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu','Sobre a Vodafone:Fundação Vodafone');"> Fundação Vodafone </a> </li> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/a-vodafone/recrutamento.html" onclick="event.stopPropagation(); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu','Sobre a Vodafone:Trabalhar na Vodafone');"> Trabalhar na Vodafone </a> </li> <li class="list__item footer-ws10__item "> <a href="http://powerlab.vodafone.pt/" onclick="event.stopPropagation(); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu','Sobre a Vodafone:Vodafone Power Lab');"> Vodafone Power Lab </a> </li> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/business/v-hub.html" onclick="event.stopPropagation(); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu','Sobre a Vodafone:V-HUB Business');"> V-HUB Business </a> </li> <li class="list__item footer-ws10__item footer-ws10__item-last"> <a href="https://www.vodafone.pt/telemoveis/rede-movel-vodafone/descontinuacao-3g.html" onclick="event.stopPropagation(); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu','Sobre a Vodafone:Descontinuação 3G');"> Descontinuação 3G </a> </li> </ul> </div> </div> <div class="js-accordion-item footer-ws10-accordion__item " onClick="tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu Dropdown', 'Serviços e Soluções')"> <h3 class="js-accordion-heading footer-ws10-accordion__heading footer-ws10-accordion__heading--active"> <span class="chevron"> <span class="chevron__text">Serviços e Soluções</span> <span class="js-accordion-chevron chevron__container accordion__chevron"> <svg focusable="false" aria-hidden="true" class="icon icon--small chevron__icon chevron__icon--white"> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-chevron-down"></use> </svg> </span> </span> </h3> <div class="js-accordion-content footer-ws10-accordion__content footer-ws10-accordion__content--collapse"> <ul class="list list--reset"> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/business/comunicacoes/pacotes-empresas.html" onclick="event.stopPropagation(); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu','Serviços e Soluções:Pacotes para empresas');"> Pacotes para empresas </a> </li> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/business/comunicacoes/voz/movel.html" onclick="event.stopPropagation(); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu','Serviços e Soluções:Tarifários');"> Tarifários </a> </li> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/business/comunicacoes/central/one-net.html" onclick="event.stopPropagation(); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu','Serviços e Soluções:One Net');"> One Net </a> </li> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/business/solucoes/seguranca-e-cloud.html" onclick="event.stopPropagation(); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu','Serviços e Soluções:Segurança e Cloud');"> Segurança e Cloud </a> </li> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/business/solucoes/negocio-digital.html" onclick="event.stopPropagation(); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu','Serviços e Soluções:Negócio Digital');"> Negócio Digital </a> </li> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/business/solucoes/gestao-e-eficiencia.html" onclick="event.stopPropagation(); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu','Serviços e Soluções:Gestão e Eficiência');"> Gestão e Eficiência </a> </li> <li class="list__item footer-ws10__item footer-ws10__item-last"> <a href="https://www.vodafone.pt/business/setores.html" onclick="event.stopPropagation(); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu','Serviços e Soluções:Setores');"> Setores </a> </li> </ul> </div> </div> <div class="js-accordion-item footer-ws10-accordion__item " onClick="tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu Dropdown', 'Mais suporte')"> <h3 class="js-accordion-heading footer-ws10-accordion__heading footer-ws10-accordion__heading--active"> <span class="chevron"> <span class="chevron__text">Mais suporte</span> <span class="js-accordion-chevron chevron__container accordion__chevron"> <svg focusable="false" aria-hidden="true" class="icon icon--small chevron__icon chevron__icon--white"> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-chevron-down"></use> </svg> </span> </span> </h3> <div class="js-accordion-content footer-ws10-accordion__content footer-ws10-accordion__content--collapse"> <ul class="list list--reset"> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/content/digitalhelp/pt/ajuda.html?tab=voz-internet#empresarial" onclick="event.stopPropagation(); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu','Mais suporte:Ajuda');"> Ajuda </a> </li> <li class="list__item footer-ws10__item "> <a href="https://r2x56.app.goo.gl/faturacao" onclick="event.stopPropagation(); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu','Mais suporte:Ver Fatura');"> Ver Fatura </a> </li> <li class="list__item footer-ws10__item "> <a href="http://www.vodafone.pt/lojas.html" onclick="event.stopPropagation(); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu','Mais suporte:Lojas');"> Lojas </a> </li> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/content/digitalhelp/pt/ajuda/contactos.html?passo=1" onclick="event.stopPropagation(); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu','Mais suporte:Contactos');"> Contactos </a> </li> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/downloads.html" onclick="event.stopPropagation(); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu','Mais suporte:Download Centre');"> Download Centre </a> </li> <li class="list__item footer-ws10__item "> <a href="https://forum.vodafone.pt/" onclick="event.stopPropagation(); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu','Mais suporte:Comunidade Vodafone');"> Comunidade Vodafone </a> </li> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/loja/estado-encomenda.html" onclick="event.stopPropagation(); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu','Mais suporte:Estado da encomenda');"> Estado da encomenda </a> </li> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/campanhas/happy-summer.html" onclick="event.stopPropagation(); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu','Mais suporte:Happy Summer');"> Happy Summer </a> </li> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/alertas-e-seguranca.html" onclick="event.stopPropagation(); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu','Mais suporte:Alertas e Segurança');"> Alertas e Segurança </a> </li> <li class="list__item footer-ws10__item "> <a href="#" onclick="event.stopPropagation(); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu','Mais suporte:Feedback');"> Feedback </a> </li> <li class="list__item footer-ws10__item footer-ws10__item-last"> <a href="https://www.vodafone.pt/en/about-us.html" onclick="event.stopPropagation(); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu','Mais suporte:English');"> English </a> </li> </ul> </div> </div> <div class="js-accordion-item footer-ws10-accordion__item footer__heading--last" onClick="tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu Dropdown', 'Loja Online')"> <h3 class="js-accordion-heading footer-ws10-accordion__heading footer-ws10-accordion__heading--active"> <span class="chevron"> <span class="chevron__text">Loja Online</span> <span class="js-accordion-chevron chevron__container accordion__chevron"> <svg focusable="false" aria-hidden="true" class="icon icon--small chevron__icon chevron__icon--white"> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-chevron-down"></use> </svg> </span> </span> </h3> <div class="js-accordion-content footer-ws10-accordion__content footer-ws10-accordion__content--collapse"> <ul class="list list--reset"> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/loja/telemoveis.html?segment=business" onclick="event.stopPropagation(); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu','Loja Online:Telemóveis');"> Telemóveis </a> </li> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/loja/clube-viva.html?segment=business" onclick="event.stopPropagation(); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu','Loja Online:Clube Viva');"> Clube Viva </a> </li> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/loja/telemoveis.html?segment=business&highlight=Promo%C3%A7%C3%B5es" onclick="event.stopPropagation(); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu','Loja Online:Promoções');"> Promoções </a> </li> <li class="list__item footer-ws10__item "> <a href="https://www.vodafone.pt/loja/internet-movel.html?segment=business" onclick="event.stopPropagation(); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu','Loja Online:Routers e Tablets');"> Routers e Tablets </a> </li> <li class="list__item footer-ws10__item footer-ws10__item-last"> <a href="https://www.vodafone.pt/loja/acessorios.html?segment=business" onclick="event.stopPropagation(); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Main Menu','Loja Online:Acessórios');"> Acessórios </a> </li> </ul> </div> </div> </div> </div> <script src="/etc.clientlibs/digital-commons/components/content/structure/vf_footer_ws10/vf_footer_ws10_siteMap/clientlibs.min.js"></script> <div> <div class="footer-ws10__aside grid__item--md-1/1"> <div> <ul class="list list--reset no-gutter--md-bottom no-gutter--lg-bottom footer-ws10__contracts grid__item"> <li class="list__item footer-ws10__contract footer-ws10__contract--first"> <a href="https://www.vodafone.pt/business/atualizacao-precos.html" onclick="; tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Legal Menu', 'Condições 2025')"> Condições 2025 </a> </li> </ul> <ul class="list list--reset no-gutter--md-bottom no-gutter--lg-bottom footer-ws10__contracts grid__item"> <li class="list__item footer-ws10__contract "> <a href="https://www.vodafone.pt/portalprivacidade.html" onclick="; tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Legal Menu', 'Privacidade')"> Privacidade </a> </li> </ul> <ul class="list list--reset no-gutter--md-bottom no-gutter--lg-bottom footer-ws10__contracts grid__item"> <li class="list__item footer-ws10__contract "> <a href="/beneficios.html" onclick="; tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Legal Menu', 'Benefícios Vodafone')"> Benefícios Vodafone </a> </li> </ul> <ul class="list list--reset no-gutter--md-bottom no-gutter--lg-bottom footer-ws10__contracts grid__item"> <li class="list__item footer-ws10__contract "> <a href="https://www.vodafone.pt/info/termos-condicoes/servicosdigitais.html" onclick="; tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Legal Menu', 'Serviços Digitais')"> Serviços Digitais </a> </li> </ul> <ul class="list list--reset no-gutter--md-bottom no-gutter--lg-bottom footer-ws10__contracts grid__item"> <li class="list__item footer-ws10__contract "> <a href="https://www.vodafone.pt/continuidade-negocio.html" onclick="; tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Legal Menu', 'Continuidade de Negócio')"> Continuidade de Negócio </a> </li> </ul> <ul class="list list--reset no-gutter--md-bottom no-gutter--lg-bottom footer-ws10__contracts grid__item"> <li class="list__item footer-ws10__contract "> <a href="#" target="_self" onclick="window.vfptShowDialog(); tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Legal Menu', 'Configuração de Cookies')"> Configuração de Cookies </a> </li> </ul> <ul class="list list--reset no-gutter--md-bottom no-gutter--lg-bottom footer-ws10__contracts grid__item"> <li class="list__item footer-ws10__contract "> <a href="https://www.vodafone.pt/business/wholesale.html" onclick="; tealium_footerWS10.methods.handleFooterWS10Click('Event Click Footer Legal Menu', 'Ofertas Wholesale')"> Ofertas Wholesale </a> </li> </ul> </div> <div id="getYear" class="footer-ws10__copyright grid__item">© {{year}} {{footerText}}</div> </div></div> </div> </div> </div> </div> </div> </footer> </div> <script src="/etc.clientlibs/digital-commons/components/content/structure/vf_footer_ws10/clientlibs.min.js"></script> </div> </div> </div></div> </div> </div> </div> <div id="ttc" class="tooltip__main" xmlns:v-if="http://www.w3.org/1999/xhtml" style="display:none"> <span> <div v-if="defaultSide" class="caption"> <div class="caption__media caption__media--top tooltip__main--media tooltip__main--right"> <svg class="icon icon--small alert__icon" style=""> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-info-circle-light"></use> </svg> </div> <div class="caption__text caption__text--top alert__text tooltip__main--text tooltip__main--left" style="max-width: 320px;" id="tooltip_text"> {{title}} </div> </div> <div v-else class="caption"> <div class="caption__text caption__text--top alert__text tooltip__main--text tooltip__main--right" style="max-width: 320px;"> {{title}} </div> <div class="caption__media caption__media--top tooltip__main--media tooltip__main--left" style=""> <svg class="icon icon--small alert__icon" style="tooltipComponent"> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-info-circle-light"></use> </svg> </div> </div> </span> </div> <script src="/etc.clientlibs/digital-commons/components/content/hidden/vf_tooltip/clientlibs.min.js"></script> </div> <script src="/etc.clientlibs/digital-commons/clientlibs/clientlib-site.min.js"></script> <!--[if lte IE 9]> <script src="https://api.cludo.com/scripts/xdomain.js" slave="https://api.cludo.com/proxy.html"></script> <![endif]--> <script type="text/javascript" src="https://customer.cludo.com/scripts/bundles/search-script.min.js"></script> <script type="text/javascript" src="https://customer.cludo.com/assets/1977/10229/cludo-search.min.js"></script> <script src="/etc.clientlibs/digital-commons/clientlibs/vendor/cludo.min.js"></script> <script type="text/javascript" defer>(function(a,b,c,d){a='https://tags.vodafone.pt/pt-universal/prod/utag.js';b=document;c='script';d=b.createElement(c);d.src=a;d.type='text/java'+c;d.async=true;d.addEventListener('load',function(){tealiumBus.$emit('utag-loaded')},false);a=b.getElementsByTagName(c)[0];a.parentNode.insertBefore(d,a);})();</script> <script>if(propertiesPath.indexOf('digital-sites')>-1){var hasBreadcrumb=window.breadcrumb!=null&&window.breadcrumb!=undefined;if(hasBreadcrumb){var pagePathArray="";if(breadcrumb.$el&&breadcrumb.$el.children[0]&&breadcrumb.$el.children[0].children[0]){if(breadcrumb.$el.children[0].children[0].className==="visually-hidden")pagePathArray=breadcrumb.$el.children[0].children[1]?breadcrumb.$el.children[0].children[1].children:"";else if(breadcrumb.$el.children[0].children[0].className==="spring")pagePathArray=breadcrumb.$el.children[0].children[0].children[1]?breadcrumb.$el.children[0].children[0].children[1].children:"";}var pagePath="";var i;for(i=0;i<pagePathArray.length;i++){var innerText=pagePathArray[i].innerText.trim();if(i!=pagePathArray.length-1||(innerText!=""&&innerText!=document.title&&innerText!="")){pagePath+=innerText+":";}}pagePath=pagePath.slice(0,-1);}var pageName="EBU VHUB";var pageSection="";var pagePropsEvent=""?"":"page_view";var productName="";const actionId="";var productCategory="";utag_data.event=pagePropsEvent.replace(/\s/g,'').split(',');utag_data.page_name=pageName?pageName:document.title;utag_data.page_section=pageSection?pageSection:hasBreadcrumb?pagePath:"";if(actionId){utag_data.action_id=actionId;delete utag_data.page_name;delete utag_data.page_section;}if(productName)utag_data.product_name=productName;if(productCategory)utag_data.product_category=productCategory;if(utag_data.product_name&&utag_data.product_category){if(!utag_data.event){utag_data.event=[];}utag_data.event.push("product_view");}utils.methods.sessionUtils().isLoggedIn();if(urlUtils.methods.isEshop()||urlUtils.methods.isHelpAndSupport()){if(SFUrl){SFUrl.sru=window.location.href;}}}</script> <!--<sly data-sly-include="/apps/digital-local/clientlibs/clientlib-local/svg/sprite.html"></sly>--> <div id="mask"></div> <script type="text/javascript" src="/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1598449815" async></script></body> </html>