- Home
- Financiamento
- Conta
- Empréstimos - escondida
- LoginSemSAML
- Ofertas Públicas
- Abrir Aplicativo BV
- Promoções
- Para Empresas
- Política de Cookies
- Ouvidoria
- Termos de Uso
- Política de privacidade
- Saiba mais
- Portabilidade de Empréstimo
- Links Oficiais
- Asset
- Empréstimos BV
- Carta de Contestação
- Inovação
- Institucional
- Fenauto
- Veículos
- DTVM
- BV private
- Open Finance
- Revisauto
- App BV
- Cartões
- Seguros
- Seguro Proteção Financeira
- Seguros nao Comercializados
- Seguro Auto
- Seguro Garantia Mecanica
- Seguro Auto Responsabilidade Civil Facultativa - RCF
- Seguro Auto Darwin
- Seguro Auto Casco
- Seguro Auto Completo
- Seguro Auto Total Cadastro
- Seguro Parcial para Automóveis
- Assistencias
- Plano Odontológico
- Renda Protegida Premiada
- Seguro Cartão Protegido
- Seguro Acidentes Pessoais Premiado
- Seguro Residencial
- Documentos e Informações
- Seguro Placa Solar
- Proximo Passo
- Boleto
- Atendimento
- Para Você
- Produtos não comercializados
- Cobrança
- Open Finance
- Gestão Open Finance
- Minha BV
- Resultados de Pesquisa
- Home Recolher
- Home
- Financiamento
- Conta
- Empréstimos - escondida
- LoginSemSAML
- Ofertas Públicas
- Abrir Aplicativo BV
- Promoções
- Para Empresas
- Política de Cookies
- Ouvidoria
- Termos de Uso
- Política de privacidade
- Saiba mais
- Portabilidade de Empréstimo
- Links Oficiais
- Asset
- Empréstimos BV
- Carta de Contestação
- Inovação
- Institucional
- Fenauto
- Veículos
- DTVM
- BV private
- Open Finance
- Revisauto
- App BV
- Cartões
- Seguros
- Seguro Proteção Financeira
- Seguros nao Comercializados
- Seguro Auto
- Seguro Garantia Mecanica
- Seguro Auto Responsabilidade Civil Facultativa - RCF
- Seguro Auto Darwin
- Seguro Auto Casco
- Seguro Auto Completo
- Seguro Auto Total Cadastro
- Seguro Parcial para Automóveis
- Assistencias
- Plano Odontológico
- Renda Protegida Premiada
- Seguro Cartão Protegido
- Seguro Acidentes Pessoais Premiado
- Seguro Residencial
- Documentos e Informações
- Seguro Placa Solar
- Proximo Passo
- Boleto
- Atendimento
- Para Você
- Produtos não comercializados
- Cobrança
- Open Finance
- Gestão Open Finance
- Minha BV
- Resultados de Pesquisa
- Home Recolher
The following has evaluated to null or missing: ==> bulletPointLayoutSelect [in template "20097#20123#2977133" at line 23, column 16] ---- Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: layoutType = bulletPointLayoutSelect... [in template "20097#20123#2977133" at line 23, column 3] ----
1<#function formatText text>
2 <#assign cleanedText=text?lower_case cleanedText=cleanedText?replace("à|á|ã|â", "a" , 'r' )
3 cleanedText=cleanedText?replace("é|è|ê", "e" , 'r' ) cleanedText=cleanedText?replace("í|ì|î", "i" , 'r' )
4 cleanedText=cleanedText?replace("ó|ò|õ|ô", "o" , 'r' ) cleanedText=cleanedText?replace("ú|ù|û", "u" , 'r' )
5 cleanedText=cleanedText?replace("ç", "c" , 'r' ) cleanedText=cleanedText?replace("!", "" , 'r' )
6 cleanedText=cleanedText?replace("(?<=[0-9] )(?:ª|º)", "" , 'r' ) cleanedText=cleanedText?replace("\\s+", "-" , 'r'
7 )>
8 <#return cleanedText>
9</#function>
10
11<#assign instanceId="bullet-point-" + .vars["reserved-article-id"].data>
12<#assign title=bulletPointTitle.getData()
13 buttonText=bulletPointButtonText.getData()
14 buttonURL=bulletPointButtonURL.getData()
15 hasButtonText=buttonText?has_content
16 svgIcon=bulletPointSVGIcon.getData()
17 imageAlt = bulletPointImage.getAttribute("alt")!""
18 imageSrc = bulletPointImage.getData()!""
19 imageFileId = bulletPointImage.getAttribute("fileEntryId")!""
20 mobileImageAlt = bulletPointImageMobile.getAttribute("alt")!""
21 mobileImageSrc = bulletPointImageMobile.getData()!""
22 mobileImageFileId = bulletPointImageMobile.getAttribute("fileEntryId")!""
23 layoutType = bulletPointLayoutSelect.getData()
24 disclaimer = bulletPointDisclaimer.getData()!""
25/>
26
27<div class="js-card-bullet-component">
28<#if layoutType=="bulletPointSM">
29 <!--Layout desktop SM-->
30 <div class="d-none d-lg-block bullet-point-container" data-component-id="${instanceId}">
31 <h2 class="title title-size-1 col-6">
32 ${title}
33 </h2>
34 <div class="row mt-7 align-items-end">
35 <div class="col-4 bullet-point-main-img">
36 <img loading="lazy" alt="${imageAlt}" data-fileentryid="${imageFileId}" src="${imageSrc}" />
37 </div>
38 <div class="col-8 pl-8">
39 <#if bulletPointFieldSet.getSiblings()?has_content>
40 <div class="row">
41 <#list bulletPointFieldSet.getSiblings() as cur_bulletPointFieldSet>
42 <#if cur_bulletPointFieldSet_index % 2 == 0 && cur_bulletPointFieldSet_index != 0>
43 </div>
44 <div class="row">
45 </#if>
46 <div class="col-md-6 mb-6 pr-7">
47 <div>
48 ${cur_bulletPointFieldSet.bulletPointItemIcon.getData()}
49 </div>
50 <h3 class="mt-5 mb-2 text-surface-size-3 bullet-item-title d-flex align-items-center">
51 ${cur_bulletPointFieldSet.bulletPointItemTitle.getData()}
52 </h3>
53 <div>
54 ${cur_bulletPointFieldSet.bulletPointItemText.getData()}
55 <#if (cur_bulletPointFieldSet.bulletPointItemLinkText.getData())??>
56 <a class="text-nowrap link link-primary link-primary_normal" href="${cur_bulletPointFieldSet.bulletPointItemURL.getData()}" target="_blank">
57 ${cur_bulletPointFieldSet.bulletPointItemLinkText.getData()}
58 </a>
59 </#if>
60 </div>
61 </div>
62 </#list>
63 </div>
64 <#if hasButtonText>
65 <a
66 class="js-bullet-point-button mt-5 js-bullet-point-button-sideBar"
67 data-component="bullet-point"
68 data-title="${title}"
69 data-text="${buttonText}"
70 target="_blank"
71 href="${buttonURL}"
72 >
73 <button aria-label="${buttonText}" class="text-size-base bv-btn-2 bv-btn-2__primary">
74 ${buttonText}
75 </button>
76 </a>
77 </#if>
78 </#if>
79 </div>
80 </div>
81 <#if disclaimer?has_content>
82 <div class="pl-4 pl-lg-0">
83 <p class="text text-size-small margin-top_24">${disclaimer}</p>
84 </div>
85 </#if>
86 </div>
87
88<#elseif layoutType=="bulletPointLG">
89 <!--Layout desktop LG-->
90 <div class="bullet-item-altnernative-layout d-none d-lg-block bullet-point-container"
91 data-component-id="${instanceId}">
92 <div class="row mt-7">
93 <div class="col-4 d-flex flex-column justify-content-between">
94 <div class="bullet-point-sticky-header">
95 <h2 class="title title-size-1 mb-7">
96 ${title}
97 </h2>
98 <#if svgIcon?has_content>
99 ${svgIcon}
100 </#if>
101 </div>
102 <div class="bullet-point-alternative-img">
103 <img loading="lazy" alt="${imageAlt}" data-fileentryid="${imageFileId}" src="${imageSrc}" />
104 </div>
105 </div>
106 <div class="col-8">
107 <#if bulletPointFieldSet.getSiblings()?has_content>
108 <#list bulletPointFieldSet.getSiblings() as cur_bulletPointFieldSet>
109 <div class="row mb-3 bullet-item align-items-center">
110 <div class="col-1">
111 ${cur_bulletPointFieldSet.bulletPointItemIcon.getData()}
112 </div>
113 <h3 class="col-4 bullet-item-title text text-size-base pr-10">
114 ${cur_bulletPointFieldSet.bulletPointItemTitle.getData()}
115 </h3>
116 <div class="col-7">
117 <p class="text text-size-base">
118 ${cur_bulletPointFieldSet.bulletPointItemText.getData()}
119 <#if (cur_bulletPointFieldSet.bulletPointItemLinkText.getData())??>
120 <a class="text-nowrap link link-primary link-primary_normal" href="${cur_bulletPointFieldSet.bulletPointItemURL.getData()}" target="_blank">
121 ${cur_bulletPointFieldSet.bulletPointItemLinkText.getData()}
122 </a>
123 </#if>
124 </p>
125 </div>
126 </div>
127 </#list>
128 </#if>
129 </div>
130 </div>
131 <#if disclaimer?has_content>
132 <div class="pl-4 pl-lg-0">
133 <p class="text text-size-small margin-top_24">${disclaimer}</p>
134 </div>
135 </#if>
136 </div>
137
138 <#elseif layoutType=="bulletPointMD">
139 <!-- Layout MD-->
140 <div class="d-none d-lg-block bullet-point-md-layout bullet-point-container" data-component-id="${instanceId}">
141 <h2 class="title title-size-1 p-4">
142 ${title}
143 </h2>
144 <div class="col-12 mb-4">
145 <p class="text text-size-base">
146 <#if (bulletPointSectionText.getData())??>
147 ${bulletPointSectionText.getData()}
148 </#if>
149 </p>
150 </div>
151 <div class="bullet-point-component__md">
152 <#if bulletPointFieldSet.getSiblings()?has_content>
153 <div class="row">
154 <div class="col-12">
155 <div class="card-bullet-component__multiple">
156 <div class="card-bullet-component__wrapper js-card-bullet-component-desk-caroussel d-flex">
157 <#list bulletPointFieldSet.getSiblings() as cur_bulletPointFieldSet>
158 <div class="card-bullet-component__card card-bullet-component-md__card">
159 <div class="p-4 d-flex flex-column justify-content-start h-100">
160 <div class="mb-6">
161 ${cur_bulletPointFieldSet.bulletPointItemIcon.getData()}
162 </div>
163 <h3 class="title title-size-3 mb-2">
164 ${cur_bulletPointFieldSet.bulletPointItemTitle.getData()}
165 </h3>
166 <p class="text">
167 ${cur_bulletPointFieldSet.bulletPointItemText.getData()}
168 <#if (cur_bulletPointFieldSet.bulletPointItemLinkText.getData())??>
169 <a class="text-nowrap link link-primary link-primary_normal" href="${cur_bulletPointFieldSet.bulletPointItemURL.getData()}" target="_blank">
170 ${cur_bulletPointFieldSet.bulletPointItemLinkText.getData()}
171 </a>
172 </#if>
173 </p>
174 </div>
175 </div>
176 </#list>
177 </div>
178 </div>
179 </div>
180 </div>
181 </#if>
182 </div>
183 <!-- Carrossel buttons -->
184 <div class="d-flex justify-content-center align-items-center mt-10">
185 <button
186 aria-label="Slide anterior"
187 class="carousel-prev card-bullet-component__control-prev d-none d-lg-block"
188 type="button" disabled>
189 <span aria-hidden="true">
190 <svg
191 width="33"
192 height="33"
193 viewBox="0 0 33 33"
194 fill="none"
195 xmlns="http://www.w3.org/2000/svg">
196 <path
197 d="M4.93864 16.0306C4.95564 9.40321 10.342 4.04442 16.9694 4.06142C23.5968 4.07842 28.9556 9.46477 28.9386 16.0922C28.9216 22.7196 23.5352 28.0783 16.9078 28.0613C10.2804 28.0443 4.92164 22.658 4.93864 16.0306Z"
198 fill="#223AD2" />
199 <path
200 fill-rule="evenodd"
201 clip-rule="evenodd"
202 d="M20.3074 11.0444L19.3355 10.0675L13.8085 15.5662C13.5384 15.8349 13.5373 16.2704 13.806 16.5405L19.3047 22.0675L20.2816 21.0956L15.2689 16.0571L20.3074 11.0444Z"
203 fill="#EDEFFC" />
204 </svg>
205 </span>
206 <span class="sr-only">Anterior</span>
207 </button>
208 <ol class="card-bullet-component__navigation d-flex list-unstyled my-0 mx-8 card-bullet-component__size-${bulletPointFieldSet.getSiblings()?size}">
209 <#assign visibleCount=3>
210 <#assign bulletCount=((bulletPointFieldSet.getSiblings()?size + visibleCount - 1) / visibleCount)?ceiling>
211 <#list 0..(bulletCount - 1) as i>
212 <li class="slider-bullet <#if i == 0>active</#if>">
213 <button data-slide-index="${i}" aria-label="botão para trocar para o slide ${i}"></button>
214 </li>
215 </#list>
216 </ol>
217 <button
218 aria-label="Próximo Slide"
219 class="carousel-next card-bullet-component__control-next d-none d-lg-block"
220 type="button">
221 <span aria-hidden="true">
222 <svg
223 width="34"
224 height="34"
225 viewBox="0 0 34 34"
226 fill="none"
227 xmlns="http://www.w3.org/2000/svg">
228 <rect
229 x="4.96936"
230 y="5.12311"
231 width="24"
232 height="24"
233 rx="12"
234 transform="rotate(-0.293956 4.96936 5.12311)"
235 fill="#223AD2" />
236 <path
237 fill-rule="evenodd"
238 clip-rule="evenodd"
239 d="M13.7007 22.1041L14.68 23.0735L20.1645 17.5325C20.4325 17.2617 20.4303 16.8262 20.1595 16.5581L14.6185 11.0737L13.6491 12.053L18.7004 17.0528L13.7007 22.1041Z"
240 fill="#EDEFFC" />
241 </svg>
242 </span>
243 <span class="sr-only">Próximo</span>
244 </button>
245 </div>
246 <#if hasButtonText>
247 <div class="w-100 mt-4 p-3">
248 <a class="js-bullet-point-button mt-5 w-100" data-component="bullet-point" data-title="${title}"
249 data-text="${buttonText}" target="_blank" href="${buttonURL}">
250 <button aria-label="${buttonText}" class="text-size-base bv-btn-2 bv-btn-2__primary w-100">
251 ${buttonText}
252 </button>
253 </a>
254 </div>
255 </#if>
256 </div>
257 </#if>
258
259 <!--Layout mobile-->
260 <div class="d-block d-lg-none bullet-point-container" data-component-id="${instanceId}">
261 <h2 class="title title-size-1 p-4">
262 ${title}
263 </h2>
264 <#if (bulletPointSectionText.getData())??>
265 <div class="col-12 mb-4">
266 <p class="text text-size-base">
267 ${bulletPointSectionText.getData()}
268 </p>
269 </div>
270 </#if>
271 <div class="bullet-point-component__mobile">
272 <#if bulletPointFieldSet.getSiblings()?has_content>
273 <div class="row">
274 <div class="col-12">
275 <div class="overflow-hidden card-bullet-component__preview-mobile">
276 <div class="d-flex card-bullet-component__wrapper-mobile js-card-bullet-component-mobile-caroussel">
277 <#list bulletPointFieldSet.getSiblings() as cur_bulletPointFieldSet>
278 <div class="card-bullet-component__card-mobile">
279 <div class="p-4 d-flex flex-column justify-content-start h-100">
280 <div class="mb-6">
281 ${cur_bulletPointFieldSet.bulletPointItemIcon.getData()}
282 </div>
283 <h3 class="title title-size-4 mb-2">
284 ${cur_bulletPointFieldSet.bulletPointItemTitle.getData()}
285 </h3>
286 <p class="text">
287 ${cur_bulletPointFieldSet.bulletPointItemText.getData()}
288 </p>
289 </div>
290 </div>
291 </#list>
292 </div>
293 </div>
294 </div>
295 </div>
296 </#if>
297 </div>
298 <#if imageSrc?has_content>
299 <div class="mobile-bullet-point-image w-100">
300 <img loading="lazy" alt="${mobileImageAlt}" data-fileentryid="${mobileImageFileId}" src="${mobileImageSrc}" />
301 </div>
302 </#if>
303 <#if hasButtonText>
304 <div class="w-100 mt-4 p-3">
305 <a class="js-bullet-point-button mt-5 w-100" data-component="bullet-point" data-title="${title}"
306 data-text="${buttonText}" target="_blank" href="${buttonURL}">
307 <button aria-label="${buttonText}" class="text-size-base bv-btn-2 bv-btn-2__primary w-100">
308 ${buttonText}
309 </button>
310 </a>
311 </div>
312 </#if>
313 </div>
314</div>
315
316<style>
317 .bullet-point-main-img img,
318 .mobile-bullet-point-image img {
319 object-fit: cover;
320 object-position: center;
321 display: block;
322 width: 100%;
323 }
324
325 .bullet-point-main-img img {
326 border-radius: var(--spacer-4);
327 height: 400px;
328 width: 310px;
329 }
330
331 .mobile-bullet-point-image img {
332 border-bottom-left-radius: var(--spacer-6);
333 border-bottom-right-radius: var(--spacer-6);
334 height: 160px;
335 }
336
337 .bullet-point-alternative-img img {
338 width: 280px;
339 height: 280px;
340 }
341
342 .bullet-item-title {
343 font-weight: 500;
344 }
345
346 .bullet-item {
347 border-bottom: 1px solid var(--color-surface-high);
348 height: 105px;
349 }
350
351 .bullet-point-component__mobile .card-bullet-component__card-mobile {
352 scroll-snap-align: start;
353 flex: 0 0 80%;
354 max-width: 80%;
355 margin-right: 10px;
356 }
357
358 .bullet-point-md-layout {
359 background-color: var(--color-primary-low);
360 border-radius: var(--spacer-4);
361 padding: var(--spacer-7);
362 }
363
364 .card-bullet-component-md__card {
365 flex: 0 0 33% !important;
366 max-width: calc(33% - 16px);
367 margin-bottom: 0;
368 }
369</style>
370<script>
371 document.addEventListener("DOMContentLoaded", () => {
372 const btn = document.querySelector(".js-bullet-point-button");
373 const container = document.querySelector(".bullet-point-container");
374
375 btn.addEventListener("click", () => {
376 const title = formatText(btn.dataset.title);
377 const text = formatText(btn.dataset.text);
378 const componentId = container.dataset.componentId;
379 window.gaDatalayer.sendCtaClickEvent({
380 event: "button_click",
381 component: "button",
382 title,
383 text,
384 component_id: componentId,
385 });
386 });
387
388 const formatText = (text) => {
389 return text
390 .toLowerCase()
391 .replace(/[\u2028\u2029\u00A0]/g, " ")
392 .replace(new RegExp("[ÁÀÂÃ]", "gi"), "a")
393 .replace(new RegExp("[ÉÈÊ]", "gi"), "e")
394 .replace(new RegExp("[ÍÌÎ]", "gi"), "i")
395 .replace(new RegExp("[ÓÒÔÕ]", "gi"), "o")
396 .replace(new RegExp("[ÚÙÛ]", "gi"), "u")
397 .replace(new RegExp("[Ç]", "gi"), "c")
398 .replace(new RegExp("/<brs*[/]?>/", "gi"), "-")
399 .replace(new RegExp("[.,;!?]", "g"), "")
400 .replace(/[:?!@*+#$%^&]/g, "")
401 .trim()
402 .replace(/\s+/g, "-");
403 };
404 });
405
406 (() => {
407 const addEventOnButtonBanner = () => {
408 const buttonBannerList = document.querySelectorAll(
409 ".js-bullet-point-button-sideBar"
410 );
411 const appComponent = document.querySelector(
412 ".appBV-link-wrapper.appBV-sidebar-desktop"
413 );
414 buttonBannerList.forEach((buttonBanner) => {
415 buttonBanner.addEventListener("click", (e) => {
416 event.preventDefault();
417 appComponent.click();
418 });
419
420 });
421 };
422 document.addEventListener("DOMContentLoaded", addEventOnButtonBanner);
423 })();
424</script>
Aumente suas chances de ter seu crédito aprovado!

Aumente suas chances de ter seu crédito aprovado!

Tipos de financiamento solar
Leve o sol para sua casa, seu negócio ou até mesmo para o seu condomínio.

Financiamento solar
residencial
Energia solar em casa é um investimento duradouro, de alta qualidade e sem riscos. Com ela, você tem economia no bolso e valoriza seu imóvel.

Financiamento solar para
condomínios
Energia solar em condomínio reduz a conta das áreas comuns, valoriza o imóvel e não precisa de avalista

Financiamento solar em
empresas
O sistema de energia solar em empresas é ideal para economizar na conta de luz, no consumo dos equipamentos e traz mais modernidade para o negócio.

Financiamento em
bateria solar
Conte com uma fonte alternativa de energia para ter mais autonomia e fique livre de concessionárias e quedas na rede elétrica.

Financiamento de
inversor solar
Equipamento que transforma a energia dos painéis solares em energia elétrica. Garanta maior eficiência e performance ao seu sistema fotovoltaico.

Financiamento de
carregador veicular
Carregue seu veículo elétrico em casa com praticidade e segurança. Já para o seu negócio, você pode contar com estações de carregamento (eletroposto).

Financiamento solar
residencial
Energia solar em casa é um investimento duradouro, de alta qualidade e sem riscos. Com ela, você tem economia no bolso e valoriza seu imóvel.

Financiamento solar para
condomínios
Energia solar em condomínio reduz a conta das áreas comuns, valoriza o imóvel e não precisa de avalista

Financiamento solar em
empresas
O sistema de energia solar em empresas é ideal para economizar na conta de luz, no consumo dos equipamentos e traz mais modernidade para o negócio.

Financiamento em
bateria solar
Conte com uma fonte alternativa de energia para ter mais autonomia e fique livre de concessionárias e quedas na rede elétrica.

Financiamento de
inversor solar
Equipamento que transforma a energia dos painéis solares em energia elétrica. Garanta maior eficiência e performance ao seu sistema fotovoltaico.

Financiamento de
carregador veicular
Carregue seu veículo elétrico em casa com praticidade e segurança. Já para o seu negócio, você pode contar com estações de carregamento (eletroposto).
The following has evaluated to null or missing: ==> bulletPointLayoutSelect [in template "20097#20123#2977133" at line 23, column 16] ---- Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: layoutType = bulletPointLayoutSelect... [in template "20097#20123#2977133" at line 23, column 3] ----
1<#function formatText text>
2 <#assign cleanedText=text?lower_case cleanedText=cleanedText?replace("à|á|ã|â", "a" , 'r' )
3 cleanedText=cleanedText?replace("é|è|ê", "e" , 'r' ) cleanedText=cleanedText?replace("í|ì|î", "i" , 'r' )
4 cleanedText=cleanedText?replace("ó|ò|õ|ô", "o" , 'r' ) cleanedText=cleanedText?replace("ú|ù|û", "u" , 'r' )
5 cleanedText=cleanedText?replace("ç", "c" , 'r' ) cleanedText=cleanedText?replace("!", "" , 'r' )
6 cleanedText=cleanedText?replace("(?<=[0-9] )(?:ª|º)", "" , 'r' ) cleanedText=cleanedText?replace("\\s+", "-" , 'r'
7 )>
8 <#return cleanedText>
9</#function>
10
11<#assign instanceId="bullet-point-" + .vars["reserved-article-id"].data>
12<#assign title=bulletPointTitle.getData()
13 buttonText=bulletPointButtonText.getData()
14 buttonURL=bulletPointButtonURL.getData()
15 hasButtonText=buttonText?has_content
16 svgIcon=bulletPointSVGIcon.getData()
17 imageAlt = bulletPointImage.getAttribute("alt")!""
18 imageSrc = bulletPointImage.getData()!""
19 imageFileId = bulletPointImage.getAttribute("fileEntryId")!""
20 mobileImageAlt = bulletPointImageMobile.getAttribute("alt")!""
21 mobileImageSrc = bulletPointImageMobile.getData()!""
22 mobileImageFileId = bulletPointImageMobile.getAttribute("fileEntryId")!""
23 layoutType = bulletPointLayoutSelect.getData()
24 disclaimer = bulletPointDisclaimer.getData()!""
25/>
26
27<div class="js-card-bullet-component">
28<#if layoutType=="bulletPointSM">
29 <!--Layout desktop SM-->
30 <div class="d-none d-lg-block bullet-point-container" data-component-id="${instanceId}">
31 <h2 class="title title-size-1 col-6">
32 ${title}
33 </h2>
34 <div class="row mt-7 align-items-end">
35 <div class="col-4 bullet-point-main-img">
36 <img loading="lazy" alt="${imageAlt}" data-fileentryid="${imageFileId}" src="${imageSrc}" />
37 </div>
38 <div class="col-8 pl-8">
39 <#if bulletPointFieldSet.getSiblings()?has_content>
40 <div class="row">
41 <#list bulletPointFieldSet.getSiblings() as cur_bulletPointFieldSet>
42 <#if cur_bulletPointFieldSet_index % 2 == 0 && cur_bulletPointFieldSet_index != 0>
43 </div>
44 <div class="row">
45 </#if>
46 <div class="col-md-6 mb-6 pr-7">
47 <div>
48 ${cur_bulletPointFieldSet.bulletPointItemIcon.getData()}
49 </div>
50 <h3 class="mt-5 mb-2 text-surface-size-3 bullet-item-title d-flex align-items-center">
51 ${cur_bulletPointFieldSet.bulletPointItemTitle.getData()}
52 </h3>
53 <div>
54 ${cur_bulletPointFieldSet.bulletPointItemText.getData()}
55 <#if (cur_bulletPointFieldSet.bulletPointItemLinkText.getData())??>
56 <a class="text-nowrap link link-primary link-primary_normal" href="${cur_bulletPointFieldSet.bulletPointItemURL.getData()}" target="_blank">
57 ${cur_bulletPointFieldSet.bulletPointItemLinkText.getData()}
58 </a>
59 </#if>
60 </div>
61 </div>
62 </#list>
63 </div>
64 <#if hasButtonText>
65 <a
66 class="js-bullet-point-button mt-5 js-bullet-point-button-sideBar"
67 data-component="bullet-point"
68 data-title="${title}"
69 data-text="${buttonText}"
70 target="_blank"
71 href="${buttonURL}"
72 >
73 <button aria-label="${buttonText}" class="text-size-base bv-btn-2 bv-btn-2__primary">
74 ${buttonText}
75 </button>
76 </a>
77 </#if>
78 </#if>
79 </div>
80 </div>
81 <#if disclaimer?has_content>
82 <div class="pl-4 pl-lg-0">
83 <p class="text text-size-small margin-top_24">${disclaimer}</p>
84 </div>
85 </#if>
86 </div>
87
88<#elseif layoutType=="bulletPointLG">
89 <!--Layout desktop LG-->
90 <div class="bullet-item-altnernative-layout d-none d-lg-block bullet-point-container"
91 data-component-id="${instanceId}">
92 <div class="row mt-7">
93 <div class="col-4 d-flex flex-column justify-content-between">
94 <div class="bullet-point-sticky-header">
95 <h2 class="title title-size-1 mb-7">
96 ${title}
97 </h2>
98 <#if svgIcon?has_content>
99 ${svgIcon}
100 </#if>
101 </div>
102 <div class="bullet-point-alternative-img">
103 <img loading="lazy" alt="${imageAlt}" data-fileentryid="${imageFileId}" src="${imageSrc}" />
104 </div>
105 </div>
106 <div class="col-8">
107 <#if bulletPointFieldSet.getSiblings()?has_content>
108 <#list bulletPointFieldSet.getSiblings() as cur_bulletPointFieldSet>
109 <div class="row mb-3 bullet-item align-items-center">
110 <div class="col-1">
111 ${cur_bulletPointFieldSet.bulletPointItemIcon.getData()}
112 </div>
113 <h3 class="col-4 bullet-item-title text text-size-base pr-10">
114 ${cur_bulletPointFieldSet.bulletPointItemTitle.getData()}
115 </h3>
116 <div class="col-7">
117 <p class="text text-size-base">
118 ${cur_bulletPointFieldSet.bulletPointItemText.getData()}
119 <#if (cur_bulletPointFieldSet.bulletPointItemLinkText.getData())??>
120 <a class="text-nowrap link link-primary link-primary_normal" href="${cur_bulletPointFieldSet.bulletPointItemURL.getData()}" target="_blank">
121 ${cur_bulletPointFieldSet.bulletPointItemLinkText.getData()}
122 </a>
123 </#if>
124 </p>
125 </div>
126 </div>
127 </#list>
128 </#if>
129 </div>
130 </div>
131 <#if disclaimer?has_content>
132 <div class="pl-4 pl-lg-0">
133 <p class="text text-size-small margin-top_24">${disclaimer}</p>
134 </div>
135 </#if>
136 </div>
137
138 <#elseif layoutType=="bulletPointMD">
139 <!-- Layout MD-->
140 <div class="d-none d-lg-block bullet-point-md-layout bullet-point-container" data-component-id="${instanceId}">
141 <h2 class="title title-size-1 p-4">
142 ${title}
143 </h2>
144 <div class="col-12 mb-4">
145 <p class="text text-size-base">
146 <#if (bulletPointSectionText.getData())??>
147 ${bulletPointSectionText.getData()}
148 </#if>
149 </p>
150 </div>
151 <div class="bullet-point-component__md">
152 <#if bulletPointFieldSet.getSiblings()?has_content>
153 <div class="row">
154 <div class="col-12">
155 <div class="card-bullet-component__multiple">
156 <div class="card-bullet-component__wrapper js-card-bullet-component-desk-caroussel d-flex">
157 <#list bulletPointFieldSet.getSiblings() as cur_bulletPointFieldSet>
158 <div class="card-bullet-component__card card-bullet-component-md__card">
159 <div class="p-4 d-flex flex-column justify-content-start h-100">
160 <div class="mb-6">
161 ${cur_bulletPointFieldSet.bulletPointItemIcon.getData()}
162 </div>
163 <h3 class="title title-size-3 mb-2">
164 ${cur_bulletPointFieldSet.bulletPointItemTitle.getData()}
165 </h3>
166 <p class="text">
167 ${cur_bulletPointFieldSet.bulletPointItemText.getData()}
168 <#if (cur_bulletPointFieldSet.bulletPointItemLinkText.getData())??>
169 <a class="text-nowrap link link-primary link-primary_normal" href="${cur_bulletPointFieldSet.bulletPointItemURL.getData()}" target="_blank">
170 ${cur_bulletPointFieldSet.bulletPointItemLinkText.getData()}
171 </a>
172 </#if>
173 </p>
174 </div>
175 </div>
176 </#list>
177 </div>
178 </div>
179 </div>
180 </div>
181 </#if>
182 </div>
183 <!-- Carrossel buttons -->
184 <div class="d-flex justify-content-center align-items-center mt-10">
185 <button
186 aria-label="Slide anterior"
187 class="carousel-prev card-bullet-component__control-prev d-none d-lg-block"
188 type="button" disabled>
189 <span aria-hidden="true">
190 <svg
191 width="33"
192 height="33"
193 viewBox="0 0 33 33"
194 fill="none"
195 xmlns="http://www.w3.org/2000/svg">
196 <path
197 d="M4.93864 16.0306C4.95564 9.40321 10.342 4.04442 16.9694 4.06142C23.5968 4.07842 28.9556 9.46477 28.9386 16.0922C28.9216 22.7196 23.5352 28.0783 16.9078 28.0613C10.2804 28.0443 4.92164 22.658 4.93864 16.0306Z"
198 fill="#223AD2" />
199 <path
200 fill-rule="evenodd"
201 clip-rule="evenodd"
202 d="M20.3074 11.0444L19.3355 10.0675L13.8085 15.5662C13.5384 15.8349 13.5373 16.2704 13.806 16.5405L19.3047 22.0675L20.2816 21.0956L15.2689 16.0571L20.3074 11.0444Z"
203 fill="#EDEFFC" />
204 </svg>
205 </span>
206 <span class="sr-only">Anterior</span>
207 </button>
208 <ol class="card-bullet-component__navigation d-flex list-unstyled my-0 mx-8 card-bullet-component__size-${bulletPointFieldSet.getSiblings()?size}">
209 <#assign visibleCount=3>
210 <#assign bulletCount=((bulletPointFieldSet.getSiblings()?size + visibleCount - 1) / visibleCount)?ceiling>
211 <#list 0..(bulletCount - 1) as i>
212 <li class="slider-bullet <#if i == 0>active</#if>">
213 <button data-slide-index="${i}" aria-label="botão para trocar para o slide ${i}"></button>
214 </li>
215 </#list>
216 </ol>
217 <button
218 aria-label="Próximo Slide"
219 class="carousel-next card-bullet-component__control-next d-none d-lg-block"
220 type="button">
221 <span aria-hidden="true">
222 <svg
223 width="34"
224 height="34"
225 viewBox="0 0 34 34"
226 fill="none"
227 xmlns="http://www.w3.org/2000/svg">
228 <rect
229 x="4.96936"
230 y="5.12311"
231 width="24"
232 height="24"
233 rx="12"
234 transform="rotate(-0.293956 4.96936 5.12311)"
235 fill="#223AD2" />
236 <path
237 fill-rule="evenodd"
238 clip-rule="evenodd"
239 d="M13.7007 22.1041L14.68 23.0735L20.1645 17.5325C20.4325 17.2617 20.4303 16.8262 20.1595 16.5581L14.6185 11.0737L13.6491 12.053L18.7004 17.0528L13.7007 22.1041Z"
240 fill="#EDEFFC" />
241 </svg>
242 </span>
243 <span class="sr-only">Próximo</span>
244 </button>
245 </div>
246 <#if hasButtonText>
247 <div class="w-100 mt-4 p-3">
248 <a class="js-bullet-point-button mt-5 w-100" data-component="bullet-point" data-title="${title}"
249 data-text="${buttonText}" target="_blank" href="${buttonURL}">
250 <button aria-label="${buttonText}" class="text-size-base bv-btn-2 bv-btn-2__primary w-100">
251 ${buttonText}
252 </button>
253 </a>
254 </div>
255 </#if>
256 </div>
257 </#if>
258
259 <!--Layout mobile-->
260 <div class="d-block d-lg-none bullet-point-container" data-component-id="${instanceId}">
261 <h2 class="title title-size-1 p-4">
262 ${title}
263 </h2>
264 <#if (bulletPointSectionText.getData())??>
265 <div class="col-12 mb-4">
266 <p class="text text-size-base">
267 ${bulletPointSectionText.getData()}
268 </p>
269 </div>
270 </#if>
271 <div class="bullet-point-component__mobile">
272 <#if bulletPointFieldSet.getSiblings()?has_content>
273 <div class="row">
274 <div class="col-12">
275 <div class="overflow-hidden card-bullet-component__preview-mobile">
276 <div class="d-flex card-bullet-component__wrapper-mobile js-card-bullet-component-mobile-caroussel">
277 <#list bulletPointFieldSet.getSiblings() as cur_bulletPointFieldSet>
278 <div class="card-bullet-component__card-mobile">
279 <div class="p-4 d-flex flex-column justify-content-start h-100">
280 <div class="mb-6">
281 ${cur_bulletPointFieldSet.bulletPointItemIcon.getData()}
282 </div>
283 <h3 class="title title-size-4 mb-2">
284 ${cur_bulletPointFieldSet.bulletPointItemTitle.getData()}
285 </h3>
286 <p class="text">
287 ${cur_bulletPointFieldSet.bulletPointItemText.getData()}
288 </p>
289 </div>
290 </div>
291 </#list>
292 </div>
293 </div>
294 </div>
295 </div>
296 </#if>
297 </div>
298 <#if imageSrc?has_content>
299 <div class="mobile-bullet-point-image w-100">
300 <img loading="lazy" alt="${mobileImageAlt}" data-fileentryid="${mobileImageFileId}" src="${mobileImageSrc}" />
301 </div>
302 </#if>
303 <#if hasButtonText>
304 <div class="w-100 mt-4 p-3">
305 <a class="js-bullet-point-button mt-5 w-100" data-component="bullet-point" data-title="${title}"
306 data-text="${buttonText}" target="_blank" href="${buttonURL}">
307 <button aria-label="${buttonText}" class="text-size-base bv-btn-2 bv-btn-2__primary w-100">
308 ${buttonText}
309 </button>
310 </a>
311 </div>
312 </#if>
313 </div>
314</div>
315
316<style>
317 .bullet-point-main-img img,
318 .mobile-bullet-point-image img {
319 object-fit: cover;
320 object-position: center;
321 display: block;
322 width: 100%;
323 }
324
325 .bullet-point-main-img img {
326 border-radius: var(--spacer-4);
327 height: 400px;
328 width: 310px;
329 }
330
331 .mobile-bullet-point-image img {
332 border-bottom-left-radius: var(--spacer-6);
333 border-bottom-right-radius: var(--spacer-6);
334 height: 160px;
335 }
336
337 .bullet-point-alternative-img img {
338 width: 280px;
339 height: 280px;
340 }
341
342 .bullet-item-title {
343 font-weight: 500;
344 }
345
346 .bullet-item {
347 border-bottom: 1px solid var(--color-surface-high);
348 height: 105px;
349 }
350
351 .bullet-point-component__mobile .card-bullet-component__card-mobile {
352 scroll-snap-align: start;
353 flex: 0 0 80%;
354 max-width: 80%;
355 margin-right: 10px;
356 }
357
358 .bullet-point-md-layout {
359 background-color: var(--color-primary-low);
360 border-radius: var(--spacer-4);
361 padding: var(--spacer-7);
362 }
363
364 .card-bullet-component-md__card {
365 flex: 0 0 33% !important;
366 max-width: calc(33% - 16px);
367 margin-bottom: 0;
368 }
369</style>
370<script>
371 document.addEventListener("DOMContentLoaded", () => {
372 const btn = document.querySelector(".js-bullet-point-button");
373 const container = document.querySelector(".bullet-point-container");
374
375 btn.addEventListener("click", () => {
376 const title = formatText(btn.dataset.title);
377 const text = formatText(btn.dataset.text);
378 const componentId = container.dataset.componentId;
379 window.gaDatalayer.sendCtaClickEvent({
380 event: "button_click",
381 component: "button",
382 title,
383 text,
384 component_id: componentId,
385 });
386 });
387
388 const formatText = (text) => {
389 return text
390 .toLowerCase()
391 .replace(/[\u2028\u2029\u00A0]/g, " ")
392 .replace(new RegExp("[ÁÀÂÃ]", "gi"), "a")
393 .replace(new RegExp("[ÉÈÊ]", "gi"), "e")
394 .replace(new RegExp("[ÍÌÎ]", "gi"), "i")
395 .replace(new RegExp("[ÓÒÔÕ]", "gi"), "o")
396 .replace(new RegExp("[ÚÙÛ]", "gi"), "u")
397 .replace(new RegExp("[Ç]", "gi"), "c")
398 .replace(new RegExp("/<brs*[/]?>/", "gi"), "-")
399 .replace(new RegExp("[.,;!?]", "g"), "")
400 .replace(/[:?!@*+#$%^&]/g, "")
401 .trim()
402 .replace(/\s+/g, "-");
403 };
404 });
405
406 (() => {
407 const addEventOnButtonBanner = () => {
408 const buttonBannerList = document.querySelectorAll(
409 ".js-bullet-point-button-sideBar"
410 );
411 const appComponent = document.querySelector(
412 ".appBV-link-wrapper.appBV-sidebar-desktop"
413 );
414 buttonBannerList.forEach((buttonBanner) => {
415 buttonBanner.addEventListener("click", (e) => {
416 event.preventDefault();
417 appComponent.click();
418 });
419
420 });
421 };
422 document.addEventListener("DOMContentLoaded", addEventOnButtonBanner);
423 })();
424</script>
Para sua versão que quer economizar: financie energia solar com o BV
O processo é simples, 100% digital e sem burocracia! Saiba como contratar em 4 passos:
Simulação do Financiamento solar
Faça a simulação do seu financiamento solar e informe os dados necessários para a nossa análise.
Análise de crédito
Vamos analisar o seu crédito. Com a proposta aprovada, enviaremos o contrato.
Assinatura do contrato
Acompanhamos a assinatura do contrato, que é feita de forma digital, para o nosso parceiro iniciar o projeto de placa solar.
Receba suas placas solares
Tudo certo! Agora, é só aguardar a entrega e a instalação do seu sistema de energia solar pelo parceiro que escolheu.
Seguros BV
Seguros que você pode contratar
- Seguro Proteção Financeira
- Seguro Acidentes Pessoais Premiado
- Seguro Placa Solar


Conteúdos em alta
Conteúdos em alta
Perguntas frequentes
Energia solar é uma fonte renovável que utiliza a luz do sol para gerar eletricidade por meio de painéis fotovoltaicos. A energia gerada abastece o imóvel e reduz a conta de luz. É uma solução sustentável, econômica e acessível com o financiamento de energia solar BV.
Para explicar os tipos de sistema de instalação para placas solares, vamos a um exemplo prático. Em casos de queda de energia na rede de distribuição elétrica da cidade:
- Sistema On-grid: Você pode ficar sem luz, porque o inversor solar on-grid é conectado à rede de distribuição e não utiliza baterias para o armazenamento da energia.
- Sistema Off-grid: Você não ficará sem luz, já que o inversor solar off-grid tem um conjunto de baterias que armazenam energia para ser usada sem depender de uma concessionária. Inclusive, pode ser utilizado em locais remotos.
- Sistema Híbrido: Já no híbrido, você também não ficará sem energia, porque o sistema automaticamente utiliza a energia armazenada nas baterias, funcionando sem interrupção.
Nos modelos off-grid e híbrido, você precisa adquirir a bateria solar.
Sim. A geração compartilhada de energia solar é uma das modalidades que a ANEEL criou para a Geração Distribuída desse tipo de energia, e permite que dois ou mais imóveis possam usar a energia gerada por um único sistema fotovoltaico (desde que o inversor do seu projeto tenha mais que 7,5 kWh de potência). Para isso, basta que os dois imóveis estejam na mesma área de concessão ou tenham permissão da distribuidora de energia para microgeração ou minigeração distribuída onde essa energia será consumida.
A energia solar pode ser usada em residências, indústrias e condomínios. Basta ter espaço para instalar os painéis e boa incidência de sol. Com o financiamento solar BV, você instala seu sistema em qualquer região do Brasil, com parcelas que cabem no seu bolso.
Energia solar é uma fonte renovável que utiliza a luz do sol para gerar eletricidade por meio de painéis fotovoltaicos. A energia gerada abastece o imóvel e reduz a conta de luz. É uma solução sustentável, econômica e acessível com o financiamento de energia solar BV.
Para explicar os tipos de sistema de instalação para placas solares, vamos a um exemplo prático. Em casos de queda de energia na rede de distribuição elétrica da cidade:
- Sistema On-grid: Você pode ficar sem luz, porque o inversor solar on-grid é conectado à rede de distribuição e não utiliza baterias para o armazenamento da energia.
- Sistema Off-grid: Você não ficará sem luz, já que o inversor solar off-grid tem um conjunto de baterias que armazenam energia para ser usada sem depender de uma concessionária. Inclusive, pode ser utilizado em locais remotos.
- Sistema Híbrido: Já no híbrido, você também não ficará sem energia, porque o sistema automaticamente utiliza a energia armazenada nas baterias, funcionando sem interrupção.
Nos modelos off-grid e híbrido, você precisa adquirir a bateria solar.
Sim. A geração compartilhada de energia solar é uma das modalidades que a ANEEL criou para a Geração Distribuída desse tipo de energia, e permite que dois ou mais imóveis possam usar a energia gerada por um único sistema fotovoltaico (desde que o inversor do seu projeto tenha mais que 7,5 kWh de potência). Para isso, basta que os dois imóveis estejam na mesma área de concessão ou tenham permissão da distribuidora de energia para microgeração ou minigeração distribuída onde essa energia será consumida.
A energia solar pode ser usada em residências, indústrias e condomínios. Basta ter espaço para instalar os painéis e boa incidência de sol. Com o financiamento solar BV, você instala seu sistema em qualquer região do Brasil, com parcelas que cabem no seu bolso.
Informações legais
O Financiamento Solar BV pode ser contratado por qualquer pessoa maior de 18 anos, que tenha crédito aprovado e queira financiar painéis solares para seu imóvel.
Valor mínimo do financiamento | Prazo de pagamento | Renda necessária | |
Pessoa Física | De R$ 5 mil a R$ 500 mil | 12 a 96 meses | Até 30% da renda bruta mensal, considerando composição com cônjugê |
Pessoal Jurídica | De R$ 5 mil a R$ 3 milhões | 12 a 96 meses |
Pessoa Física
Valor mínimo do financiamento
De R$ 5 mil a R$ 500 mil
Prazo de pagamento
12 a 96 meses
Renda necessária
Até 30% da renda bruta mensal, considerando composição com cônjugê
Pessoa Jurídica
Valor mínimo do financiamento
De R$ 5 mil a R$ 3 milhões
Prazo de pagamento
12 a 96 meses
O Financiamento Solar BV pode ser contratado por qualquer pessoa maior de 18 anos, que tenha crédito aprovado e queira financiar painéis solares para seu imóvel.
Valor mínimo do financiamento | Prazo de pagamento | Renda necessária | |
Pessoa Física | De R$ 5 mil a R$ 500 mil | 12 a 96 meses | Até 30% da renda bruta mensal, considerando composição com cônjugê |
Pessoal Jurídica | De R$ 5 mil a R$ 3 milhões | 12 a 96 meses |
Pessoa Física
Valor mínimo do financiamento
De R$ 5 mil a R$ 500 mil
Prazo de pagamento
12 a 96 meses
Renda necessária
Até 30% da renda bruta mensal, considerando composição com cônjugê
Pessoa Jurídica
Valor mínimo do financiamento
De R$ 5 mil a R$ 3 milhões
Prazo de pagamento
12 a 96 meses
Sujeito a análise. O BV não se responsabiliza por prazo de entrega, qualidade, adequação, quantidade, vícios, instalação e/ou troca da placa solar, sendo de inteira responsabilidade do instalador/fornecedor escolhido por você. Use o crédito de forma consciente, antes de contratá-lo consulte os valores que compõe o Custo Efetivo Total (CET), como juros, tributos, tarifas, outras despesas financiadas e se o valor das parcelas cabe no seu bolso. Exemplo meramente ilustrativo (não configura oferta): valor do empréstimo de R$ 28.494,60 + taxa de cadastro de R$ 330,00 (quando aplicável) + IOF de R$ 953,33 = valor total de R$ 29.777,93. Total de 48 parcelas de R$ 866,76. Taxa de juros de 1,38% ao mês e 17,81% ao ano. CET da operação de 20,86% ao ano. As taxas reais serão apresentadas em tempo de proposta. Os seguros são opcionais. Nós nunca pedimos qualquer tipo de depósito ou dinheiro adiantado para liberação de crédito.