Um erro ocorreu enquanto processava o modelo.
Java method "com.sun.proxy.$Proxy743.getArticle(long, String)" threw an exception when invoked on com.sun.proxy.$Proxy743 object [freemarker.core._DelayedJQuote.toString() failed: com.liferay.portal.kernel.exception.SystemException: javax.persistence.PersistenceException: org.hibernate.exception.ConstraintViolationException: could not execute batch]; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign journalArticle = JournalArtic...  [in template "20098#20124#125333" at line 99, column 7]
----
1<#assign CPDefinitionLocalService=serviceLocator.findService("com.liferay.commerce.product.service.CPDefinitionLocalService") /> 
2<#assign CommercePriceListService=serviceLocator.findService("com.liferay.commerce.price.list.service.CommercePriceListLocalService") /> 
3<#assign CPInstanceLocalService=serviceLocator.findService("com.liferay.commerce.product.service.CPInstanceLocalService") /> 
4<#assign  
5  CPDefinitionSpecificationOptionValueLocalService=serviceLocator.findService("com.liferay.commerce.product.service.CPDefinitionSpecificationOptionValueLocalService") 
6  JournalArticleLocalService=serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")  
7  commerceContext=renderRequest.getAttribute("COMMERCE_CONTEXT")  
8  commerceChannelId=commerceContext.getCommerceChannelId()  
9  commerceAccount=commerceContext.getCommerceAccount()  
10  commerceAccountId=commerceAccount.getCommerceAccountId()  
11  commerceOrder=commerceContext.getCommerceOrder()!"" 
12  CommercePriceListLocalService=serviceLocator.findService("com.liferay.commerce.price.list.service.CommercePriceListLocalService") 
13  CommercePriceEntryLocalService=serviceLocator.findService("com.liferay.commerce.price.list.service.CommercePriceEntryLocalService") 
14  AssetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") 
15  AssetVocabularyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService") 
16 
17  orderType = request.getAttribute("tipo_pedido")!"pf" 
18/> 
19 
20<#setting locale="pt_BR"> 
21<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> 
22 
23 
24<#function getCategoryFromCPDefinition cPDefinitionId vocabularyName> 
25  <#assign 
26    vocabularies = AssetVocabularyLocalService.getCompanyVocabularies(companyId) 
27    categories = AssetEntryLocalService.fetchEntry("com.liferay.commerce.product.model.CPDefinition",entry.getCPDefinitionId()).getCategories() 
28  /> 
29 
30  <#list vocabularies as tempVocabulary> 
31    <#if tempVocabulary.getName() == vocabularyName> 
32      <#assign vocabulary = tempVocabulary> 
33    </#if> 
34  </#list> 
35 
36  <#list categories as category> 
37    <#if category.getVocabularyId() == vocabulary.getVocabularyId()> 
38      <#return category > 
39    </#if> 
40  </#list> 
41</#function> 
42 
43<#function listCategoriesFromCPDefinition cPDefinitionId > 
44  <#assign result = [] /> 
45  <#assign 
46    vocabularies = AssetVocabularyLocalService.getCompanyVocabularies(companyId) 
47    categories = AssetEntryLocalService.fetchEntry("com.liferay.commerce.product.model.CPDefinition",cPDefinitionId).getCategories() 
48  /> 
49 
50  <#list categories as category> 
51    <#list vocabularies as vocabulary> 
52      <#if category.getVocabularyId() == vocabulary.getVocabularyId()> 
53        <#assign result+=[ {"name":category.getName(), "vocabulary":vocabulary.getName()}] />		 
54      </#if> 
55	  </#list> 
56  </#list> 
57 
58  <#return result /> 
59</#function> 
60 
61<div class="detalhes-de-produto-fiep"> 
62  <#if entries?has_content> 
63    <#list entries as entry> 
64      <#if !entry??> 
65        <#continue /> 
66      </#if> 
67 
68      <#assign  
69        image=cpContentHelper.getDefaultImageFileURL(commerceAccountId, entry.getCPDefinitionId())  
70        friendlyURL=cpContentHelper.getFriendlyURL(entry, themeDisplay)  
71        name=entry.getName()  
72        itemID=entry.CPDefinitionId  
73        cpSkus=entry.getCPSkus()  
74        cpSku=cpSkus?first  
75        cpInstanceId=cpSku.getCPInstanceId()  
76        group_id=commerceContext.getCommerceChannelGroupId()  
77        publicFriendlyURL=themeDisplay.getPortalURL() + themeDisplay.getPathFriendlyURLPublic() + themeDisplay.getSiteGroup().getFriendlyURL()  
78        user=themeDisplay.getUser()  
79        languageId=themeDisplay.getLanguageId()  
80      /> 
81       
82      <#list cpContentHelper.getCPDefinitionSpecificationOptionValues(entry.getCPDefinitionId()) as specs> 
83        <#if specs.getCPSpecificationOption().getTitle(languageId)=="web-content"> 
84          <#assign webContent=specs.getValueCurrentValue() /> 
85        </#if> 
86 
87        <#if specs.getCPSpecificationOption().getTitle(languageId)=="json"> 
88          <#assign 
89            json = jsonFactoryUtil.createJSONObject(specs.getValueCurrentValue()) 
90            dataUltimaAtualizacao = json.getString("data_ultima_atualizacao") 
91            cursoDisponivel = false 
92            cursoDisponivel = dataUltimaAtualizacao?contains("2024-08") 
93          /> 
94        </#if> 
95 
96        <#assign ultimaatt=specs.getModifiedDate() />         
97      </#list> 
98   
99      <#assign journalArticle=JournalArticleLocalService.getArticle(themeDisplay.getSiteGroupId(),webContent) />     
100  
101      <div class="container-fluid pl-0 pl-lg-10 breadcrumb-container"> 
102        <ol class="breadcrumb breadcrumb-produto"> 
103          <button class="mr-4" onclick="history.back()"> 
104            <svg class="lexicon-icon lexicon-icon-angle-left" viewBox="0 0 512 512"><path d="m136.8 272.8 201.7 202.1c23.5 23.1 60-11.6 36.1-35.2L191.7 256l183-183.9c23.9-23.2-12.5-58.1-36-35.1L136.8 239.2c-9.3 9.3-10.2 23.6 0 33.6z" class="lexicon-icon-outline"/></svg> 
105 
106            <span class="d-none d-lg-inline" >voltar</span> 
107          </button> 
108 
109          <li class="breadcrumb-item breadcrumb-item1"> 
110            <a class="breadcrumb-link link-pag-inicial" href="${(orderType == 'pf')?then('../home', '../home-para-sua-empresa')}" title="Página Inicial">  
111              <span class="breadcrumb-text-truncate">Página Inicial</span> 
112            </a> 
113          </li> 
114 
115          <#if getCategoryFromCPDefinition(entry.getCPDefinitionId(),"tipo de curso").getName()?has_content> 
116            <#assign CategoriaTipoCurso = getCategoryFromCPDefinition(entry.getCPDefinitionId(),"tipo de curso").getName() /> 
117 
118            <li class="breadcrumb-item"> 
119              <a class="breadcrumb-link" href="${(CategoriaTipoCurso == 'Rápido')?then('../cursos-praticos', '')}" title="Página Inicial">  
120                <span class="breadcrumb-text-truncate"> 
121                  Cursos ${(CategoriaTipoCurso == 'Rápido')?then('Práticos', '${CategoriaTipoCurso}')} 
122                </span> 
123              </a> 
124            </li> 
125          </#if> 
126 
127          <#if getCategoryFromCPDefinition(entry.getCPDefinitionId(),"area de conhecimento").getName()?has_content> 
128            <#assign CategoriaArea = getCategoryFromCPDefinition(entry.getCPDefinitionId(),"area de conhecimento").getName() /> 
129 
130            <li class="breadcrumb-item"> 
131              <span class="breadcrumb-text-truncate"> 
132                <!-- Conforme alinhado com a FIEP no dia 26/09 no grupo "[Plataforma de Venda] Alinhamento Front e Conteúdo" --> 
133                  <#if CategoriaArea == "Ciências naturais, matemática e estatística"> 
134                  Ciências Naturais e Exatas 
135                <#else> 
136                  <#if CategoriaArea == "Computação e Tecnologias da Informação e Comunicação (TIC)"> 
137                    Tecnologias da Informação e Comunicação 
138                  <#else> 
139                    <#if CategoriaArea == "Negócios, administração e direito"> 
140                      Negócios 
141                    <#else> 
142                      <#if CategoriaArea == "Ciências sociais, comunicação e informação"> 
143                        Ciências sociais 
144                      <#else> 
145                        <#if CategoriaArea == "Engenharia, produção e construção"> 
146                          Engenharia e Produção 
147                        <#else> 
148                          ${CategoriaArea} 
149                        </#if> 
150                      </#if> 
151                    </#if> 
152                  </#if> 
153                </#if> 
154              </span> 
155            </li> 
156          </#if> 
157 
158          <li class="breadcrumb-item"> 
159            <span class="breadcrumb-text-truncate">${cpCatalogEntry.getName()}</span> 
160          </li> 
161        </ol> 
162      </div> 
163	      
164      <div class="bg-blue"> 
165        <div class="container-fluid  produtos-web-content"> 
166          <div class="flex-lg-row-reverse g-5 py-5 d-flex-between"> 
167            <div class="col-md-6"> 
168              <div class="video-wrapper embed-responsive embed-responsive-16by9"> 
169                <@liferay_journal["journal-article"] 
170                  articleId=journalArticle.getArticleId() 
171                  ddmTemplateKey="306139" 
172                  groupId=journalArticle.getGroupId() 
173                /> 
174              </div> 
175            </div> 
176 
177            <div class="col-md-5 info_cursos"> 
178              <h1 class="display-5 fw-bold lh-1 mb-1">${cpCatalogEntry.getName()}</h1> 
179 
180              <div class="tags"> 
181                <#if getCategoryFromCPDefinition(entry.getCPDefinitionId(),"instituicao").getName()?has_content> 
182                  <div class="tag-instituicao"> 
183                    Curso ${getCategoryFromCPDefinition(entry.getCPDefinitionId(),"instituicao").getName()} 
184                  </div> 
185 
186                  <div class="tag-area"> 
187                    <#if CategoriaArea == "Ciências naturais, matemática e estatística"> 
188                      Ciências Naturais e Exatas 
189                    <#else> 
190                      <#if CategoriaArea == "Computação e Tecnologias da Informação e Comunicação (TIC)"> 
191                        Tecnologias da Informação e Comunicação 
192                      <#else> 
193                        <#if CategoriaArea == "Negócios, administração e direito"> 
194                          Negócios 
195                        <#else> 
196                          <#if CategoriaArea == "Ciências sociais, comunicação e informação"> 
197                            Ciências sociais 
198                          <#else> 
199                            <#if CategoriaArea == "Engenharia, produção e construção"> 
200                              Engenharia e Produção 
201                            <#else> 
202                              ${CategoriaArea} 
203                            </#if> 
204                          </#if> 
205                        </#if> 
206                      </#if> 
207                    </#if> 
208                  </div> 
209                </#if> 
210              </div> 
211               
212              <h2>${cpCatalogEntry.getShortDescription()}</h2> 
213 
214              <div class="d-grid gap-2 d-md-flex justify-content-md-start mb-4"> 
215                <div class="align-middle"> 
216                  <svg xmlns="http://www.w3.org/2000/svg" width="18.92" height="18"><path fill="#ffbd4b" d="m18.92 8.996-2.1-2.391.292-3.165-3.1-.705L12.384 0 9.46 1.256 6.536 0 4.911 2.735l-3.1.7.289 3.161-2.1 2.4 2.1 2.394-.294 3.17 3.1.705L6.536 18l2.924-1.264 2.924 1.254 1.625-2.735 3.1-.705-.287-3.16Zm-8.6 4.3H8.6v-1.72h1.72Zm0-3.44H8.6v-5.16h1.72Z"/></svg> 
217 
218                  <span class="align-middle">Última atualização em ${ultimaatt?string("dd/MM/yyyy")}</span> 
219                </div> 
220              </div> 
221               
222              <div class="d-flex mb-0 periodo-text"> 
223                Período das inscrições: 
224                <@liferay_journal["journal-article"] articleId=journalArticle.getArticleId() ddmTemplateKey="142170" groupId=journalArticle.getGroupId() /> 
225              </div> 
226            </div> 
227          </div> 
228        </div> 
229      </div> 
230         
231      <div class="container-fluid bg-gray"> 
232        <div class="row produtos-web-content flex-column-reverse flex-lg-row"> 
233          <div class="col-md-8 "> 
234            <div class="timer"> 
235              <div class="row d-flex justify-content-left mt-4"> 
236                <#if getCategoryFromCPDefinition(entry.getCPDefinitionId(),"modalidade").getName()?has_content> 
237                  <#assign CategoriaModalidade = getCategoryFromCPDefinition(entry.getCPDefinitionId(),"modalidade").getName() /> 
238 
239                  <div class="col-auto"> 
240                    <span class="card-title">Modalidade</span> 
241 
242                    <div class="card-text d-flex align-items-center"> 
243                      <svg xmlns="http://www.w3.org/2000/svg" width="26.914" height="21.2"><g fill="none" stroke="#04050c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.2" opacity=".5"><g data-name="Grupo 6111"><path d="M20.6 2.029A1.428 1.428 0 0 0 19.172.6H2.029A1.428 1.428 0 0 0 .6 2.029v11.429a1.428 1.428 0 0 0 1.429 1.429h11.428" data-name="Caminho 10613"/><g data-name="Grupo 6110"><path d="M10.6 14.886V20.6" data-name="Linha 204"/><path d="M7.743 20.6h5.714" data-name="Linha 205"/></g></g><g data-name="Grupo 6112" transform="translate(17.743 6.314)"><rect width="8.571" height="14.286" data-name="Retângulo 1408" rx="2"/><path d="M4.286 4.286h0" data-name="Linha 206"/></g></g></svg> 
244 
245                      <span class="categoriaModalidade"> 
246                        <#if CategoriaModalidade = "Educação a Distância"> 
247                          EaD 
248                        <#else> 
249                          ${CategoriaModalidade} 
250                        </#if> 
251                      </span>  
252                    </div> 
253 
254                    <div class="circle-svg"></div> 
255                  </div> 
256                </#if> 
257 
258                <#attempt> 
259                  <@liferay_journal["journal-article"] articleId=journalArticle.getArticleId() ddmTemplateKey="372880" groupId=journalArticle.getGroupId() /> 
260                <#recover> 
261                </#attempt> 
262              </div> 
263            </div> 
264             
265            <#attempt> 
266              <@liferay_journal["journal-article"] articleId=journalArticle.getArticleId() ddmTemplateKey="135414" groupId=journalArticle.getGroupId() /> 
267            <#recover> 
268            </#attempt> 
269           
270            <div id="module-descricao-produto" class="mb-5"> 
271              <h2 class="titulo-margin-bottom">Descrição</h2> 
272 
273              <div class="inner-descricao-produto"> 
274                <div class="collapse" id="collapseExample" aria-expanded="false"> 
275                  <#if getCategoryFromCPDefinition(entry.getCPDefinitionId(),"instituicao").getName()?has_content> 
276                    <#assign CategoriaAreaDescription = getCategoryFromCPDefinition(entry.getCPDefinitionId(),"instituicao").getName() /> 
277 
278                    <#if CategoriaAreaDescription == "SENAI"> 
279                      <#attempt> 
280                        <@liferay_journal["journal-article"] articleId=journalArticle.getArticleId() ddmTemplateKey="525451" groupId=journalArticle.getGroupId() /> 
281                      <#recover> 
282                      </#attempt> 
283                      <#else> 
284                        ${cpCatalogEntry.getDescription()} 
285                    </#if> 
286                  </#if> 
287                </div> 
288 
289                <a role="button" class="collapsed pt-2" data-toggle="collapse" href="#collapseExample" aria-expanded="false" aria-controls="collapseExample"></a> 
290              </div> 
291            </div> 
292							 
293		        <div id="carouselExampleIndicators" class="carousel slide showshow" data-ride="carousel"> 
294				      <div class=" diferenciais-produto"> 
295					      <h2>Diferenciais</h2> 
296 
297					      <div class="d-flex"> 
298						      <div class="carousel-inner"> 
299							      <div class="carousel-item active"> 
300								      <div class="col-11"> 
301									      <div class="cards-diferenciais"> 
302										      <div class="row"> 
303											      <div class="col-auto svg-star"> 
304                              <@StarIcon /> 
305											      </div> 
306 
307											      <div class="col"> 
308                              <span> 
309                                Faz parte da trilha de FrontEnd Design 
310                              </span> 
311											      </div> 
312										      </div> 
313									      </div> 
314								      </div> 
315							      </div> 
316 
317                    <div class="carousel-item"> 
318                      <div class="col-11"> 
319                        <div class="cards-diferenciais"> 
320                          <div class="row"> 
321                            <div class="col-auto svg-star"> 
322                              <@StarIcon /> 
323                            </div> 
324 
325                            <div class="col"> 
326                              <span> 
327                                Formato 100% online 
328                              </span> 
329                            </div> 
330                          </div> 
331                        </div> 
332                      </div> 
333                    </div> 
334 
335                    <div class="carousel-item"> 
336                      <div class="col-11"> 
337                        <div class="cards-diferenciais"> 
338                          <div class="row"> 
339                            <div class="col-auto svg-star"> 
340                              <@StarIcon /> 
341                            </div> 
342 
343                            <div class="col"> 
344                              <span> 
345                                Possível convalidar com cursos de pós-graduação 
346                              </span> 
347                            </div> 
348                          </div> 
349                        </div> 
350                      </div> 
351                    </div> 
352 
353                    <div class="carousel-item"> 
354                      <div class="col-11"> 
355                        <div class="cards-diferenciais"> 
356                          <div class="row"> 
357                            <div class="col-auto svg-star"> 
358                              <@StarIcon /> 
359                            </div> 
360 
361                            <div class="col"> 
362                              <span> 
363                                Acesso via dispositivos móveis 
364                              </span> 
365                            </div> 
366                          </div> 
367                        </div> 
368                      </div> 
369                    </div> 
370 
371                    <div class="carousel-item"> 
372                      <div class="col-11"> 
373                        <div class="cards-diferenciais"> 
374                          <div class="row"> 
375                            <div class="col-auto svg-star"> 
376                              <@StarIcon /> 
377                            </div> 
378 
379                            <div class="col"> 
380                              <span> 
381                                Certificado de conclusão 
382                              </span> 
383                            </div> 
384                          </div> 
385                        </div> 
386                      </div> 
387                    </div> 
388 
389                    <div class="carousel-item"> 
390                      <div class="col-11"> 
391                        <div class="cards-diferenciais"> 
392                          <div class="row"> 
393                            <div class="col-auto svg-star"> 
394                              <@StarIcon /> 
395                            </div> 
396                             
397                            <div class="col"> 
398                              <span> 
399                                Acesso por 1 ano 
400                              </span> 
401                            </div> 
402                          </div> 
403                        </div> 
404                      </div>                  
405                    </div> 
406    		          </div> 
407		            </div> 
408 
409                <div> 
410                  <a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next"> 
411                    <span class="carousel-control-next-icon" aria-hidden="true"></span> 
412 
413                    <span class="sr-only">Next</span> 
414                  </a> 
415                </div> 
416              </div> 
417 
418              <ol class="carousel-indicators"> 
419                <li data-target="#carouselExampleIndicators" data-slide-to="0" class="active"></li> 
420                <li data-target="#carouselExampleIndicators" data-slide-to="1"></li> 
421                <li data-target="#carouselExampleIndicators" data-slide-to="2"></li> 
422                <li data-target="#carouselExampleIndicators" data-slide-to="3"></li> 
423                <li data-target="#carouselExampleIndicators" data-slide-to="4"></li> 
424                <li data-target="#carouselExampleIndicators" data-slide-to="5"></li> 
425              </ol> 
426            </div> 
427 
428            <div class="hidehide"> 
429              <div class="diferenciais-produto">  
430                <h2>Diferenciais</h2> 
431 
432                <div class="row pl-md-5">  
433                  <div class="col-md-4 mb-2">  
434                    <div class="cards-diferenciais">  
435                      <div class="row">  
436                        <div class="col-auto svg-star">  
437                          <@StarIcon />  
438                        </div> 
439 
440                        <div class="col">  
441                          <span> Faz parte da trilha de FrontEnd Design </span>  
442                        </div>  
443                      </div>  
444                    </div>  
445                  </div>  
446 
447                  <div class="col-md-4 mb-2">  
448                    <div class="cards-diferenciais">  
449                      <div class="row">  
450                        <div class="col-auto svg-star">  
451                          <@StarIcon />  
452                        </div> 
453 
454                        <div class="col">  
455                          <span> Formato 100% online </span>  
456                        </div>  
457                      </div>  
458                    </div>  
459                  </div>  
460 
461                  <div class="col-md-4 mb-2">  
462                    <div class="cards-diferenciais">  
463                      <div class="row">  
464                        <div class="col-auto svg-star">  
465                          <@StarIcon /> 
466                        </div>  
467 
468                        <div class="col">  
469                          <span> Possível convalidar com cursos de pós-graduação </span>  
470                        </div>  
471                      </div>  
472                    </div>  
473                  </div>  
474                </div>  
475                     
476                <div class="row pl-md-5">  
477                  <div class="col-md-4 mb-2">  
478                    <div class="cards-diferenciais">  
479                      <div class="row">  
480                        <div class="col-auto svg-star">  
481                          <@StarIcon /> 
482                        </div>  
483 
484                        <div class="col">  
485                          <span> Acesso via dispositivos móveis </span>  
486                        </div>  
487                      </div>  
488                    </div>  
489                  </div>  
490 
491                  <div class="col-md-4 mb-2">  
492                    <div class="cards-diferenciais">  
493                      <div class="row">  
494                        <div class="col-auto svg-star">  
495                          <@StarIcon />  
496                        </div>  
497 
498                        <div class="col">  
499                          <span> Certificado de conclusão </span>  
500                        </div>  
501                      </div>  
502                    </div>  
503                  </div>  
504 
505                  <div class="col-md-4 mb-2">  
506                    <div class="cards-diferenciais">  
507                      <div class="row">  
508                        <div class="col-auto svg-star">  
509                          <@StarIcon />  
510                        </div>  
511                        <div class="col">  
512                          <span> Acesso por 1 ano </span>  
513                        </div>  
514                      </div>  
515                    </div>  
516                  </div>  
517                </div>  
518              </div> 
519            </div> 
520		 
521          <#assign document = saxReaderUtil.read(journalArticle.getContent()) /> 
522          <#assign RichText25052337 = document.selectSingleNode("/root/dynamic-element[@name='RichText25052337']/dynamic-content") /> 
523 
524          <#if RichText25052337?? && RichText25052337.getText() != ""> 
525            <div class="requisitos-produto"> 
526              <h2>Requisitos</h2> 
527 
528              <ul> 
529                <li> 
530                  ${RichText25052337.getText()} 
531                </li> 
532              </ul> 
533            </div> 
534          </#if> 
535 
536          <div class="d-none"> 
537            <#attempt> 
538              <@liferay_journal["journal-article"] articleId=journalArticle.getArticleId() ddmTemplateKey="135437" groupId=journalArticle.getGroupId() /> 
539            <#recover> 
540            </#attempt> 
541          </div> 
542 
543          <div class="d-none"> 
544            <@liferay_journal["journal-article"] articleId=journalArticle.getArticleId() ddmTemplateKey="135444" groupId=journalArticle.getGroupId() /> 
545          </div> 
546        </div> 
547 
548        <div class="col-md-4 col-sm-6"> 
549          <div class="box-conversao"> 
550            <form style="margin: -80px 0px 26px;"> 
551              <div class="comprar-produtos"> 
552                <#list cpCatalogEntry.getCPSkus() as SkuList> 
553                  <#assign priceEntryReferenceCode = SkuList.getSku() + "_" + orderType /> 
554                  <#assign Promoprice = 0 /> 
555 
556                  <#attempt> 
557                    <#if CommercePriceEntryLocalService.getCommercePriceEntryByExternalReferenceCode(companyId, priceEntryReferenceCode)?has_content> 
558                      <#assign priceEntry = CommercePriceEntryLocalService.getCommercePriceEntryByExternalReferenceCode(companyId, priceEntryReferenceCode) /> 
559                    <#else> 
560                      <#assign cpInstance = CPInstanceLocalService.getCPInstance(cpCatalogEntry.getCPDefinitionId() , SkuList.getSku()).getCPInstanceUuid() /> 
561                      <#assign commercePriceListId = CommercePriceListService.fetchByExternalReferenceCode("price-list-" + orderType, companyId).getCommercePriceListId() /> 
562                      <#assign priceEntry = CommercePriceEntryLocalService.fetchCommercePriceEntry(commercePriceListId, cpInstance) /> 
563                    </#if> 
564                       
565                    <#assign price = priceEntry.getPrice() /> 
566 
567                    <#if priceEntry.getPromoPrice()?has_content && (priceEntry.getPromoPrice() > 0)> 
568                      <#assign Promoprice = priceEntry.getPromoPrice() /> 
569                    <#elseif SkuList.getPromoPrice()?has_content && (SkuList.getPromoPrice() > 0)> 
570                      <#assign Promoprice = SkuList.getPromoPrice() /> 
571                    </#if> 
572                  <#recover> 
573                    <#assign price = SkuList.getPrice() /> 
574 
575                    <#if SkuList.getPromoPrice()?has_content && (SkuList.getPromoPrice() > 0)> 
576                      <#assign Promoprice = SkuList.getPromoPrice() /> 
577                    </#if> 
578                  </#attempt> 
579           
580                  <div class="price-container row option-selector value-selector-${SkuList.getCPInstanceId()}${SkuList?counter}"> 
581                    <#if (Promoprice > 0) && (Promoprice != price)> 
582                      <p style="text-decoration: line-through; color: var(--neutral-2); font-weight: 500;">${price?string.currency}</p> 
583                    </#if> 
584 
585                    <div class="col-12 row justify-content-center align-items-center"> 
586											<svg xmlns="http://www.w3.org/2000/svg" width="13.805" height="13.805"><path fill="#ffb73a" d="M0 6.8V1.3A1.294 1.294 0 0 1 1.294 0H6.8a1.294 1.294 0 0 1 .915.379l5.713 5.713a1.294 1.294 0 0 1 0 1.83l-5.5 5.5a1.294 1.294 0 0 1-1.83 0L.379 7.713A1.294 1.294 0 0 1 0 6.8Zm3.02-5.074A1.294 1.294 0 1 0 4.314 3.02 1.294 1.294 0 0 0 3.02 1.726Z" data-name="Icon awesome-tag"/></svg> 
587 
588                      <span class="sifrao-preco">R$</span> 
589                        <span class="price-value"> 
590                          ${(Promoprice > 0)?then(Promoprice?string.currency, price?string.currency)} 
591                        </span> 
592                    </div> 
593                  </div> 
594                </#list> 
595					   
596                <#attempt> 
597                    <#assign listCategories = listCategoriesFromCPDefinition(entry.getCPDefinitionId()) /> 
598                    <#assign finalprice = (Promoprice?has_content)?then('${Promoprice?string.currency}', '${price?string.currency}') />					   
599                    <#assign productDetail = {"name":cpCatalogEntry.getName(), "externalReferenceCode": journalArticle.getTitle(locale) , "value":price?string.currency, "price": finalprice, "categories":listCategories} /> 
600                <#recover> 
601                    <#assign productDetail = {} />  
602                </#attempt>   
603					   
604                <p class="parcela-minima">Até 3X, parcela mínima R$ 100</p> 
605 
606                <div class="direito-desconto ${(orderType == 'pf')?then('d-none', '')}"> 
607                  <div> 
608                    <button type="button" data-toggle="modal" data-target="#modalpoliticadeprivacidade">Tenho direito a descontos?</button> 
609                  </div> 
610 
611                  <div  
612                    aria-labelledby="modalpoliticadeprivacidadeLabel"  
613                    class="fade modal"  
614                    id="modalpoliticadeprivacidade"  
615                    role="dialog"  
616                    tabindex="-1" 
617                    style="display: none;" 
618
619                    <div class="modal-dialog modal-lg"> 
620                      <div class="modal-dialog" role="document"> 
621                        <div class="modal-content"> 
622                          <div class="modal-header"> 
623                            <div class="modal-title" id="modalpoliticadeprivacidadeLabel"> 
624                              <h2 class="pb-0">Política de descontos do Sistema Fiep</h2> 
625                            </div> 
626 
627                            <button aria-labelledby="Close" class="close mb-0" data-dismiss="modal" role="button" type="button" style="border:none;"> 
628                              <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-x-lg"><path d="M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8 2.146 2.854Z"/></svg> 
629                            </button> 
630                          </div> 
631 
632                          <div class="modal-body"> 
633                            <div class="taxa-de-desconto"> 
634                              <ul> 
635                                <li>5% - Empresa Parceira (mediante termo de parceria)</li> 
636                                <li>10% - Indústria Não Contribuinte</li> 
637                                <li>15% - Indústria ou Empresa Contribuinte</li> 
638                                <li>20% - Sindicato ou Indústria Associada</li> 
639                              </ul> 
640 
641                              <p>Ao informar o CNPJ da Empresa Pagadora <strong>será verificado automaticamente</strong> o direito ao desconto e, se confirmado o vínculo, o desconto será aplicado para finalização do pagamento. * Caso: (1) a empresa se enquadre em mais de um tipo de desconto, será concedido o de maior percentual <strong>limitado a 20%</strong>; (2) a empresa se enquadre nas políticas mencionadas e o desconto não for concedido <strong>automaticamente</strong>, o comprador poderá entrar em contato com nosso atendimento através do <strong>WhatsApp</strong>.</p> 
642                            </div> 
643                          </div> 
644                        </div> 
645                      </div> 
646                    </div> 
647                  </div> 
648                </div> 
649 
650                <div class="quantidade-participante text-center"> 
651                  <div class="form-group"> 
652                    <select class="form-control d-none" id="selectturma" disable> 
653                      <#list cpCatalogEntry.getCPSkus() as SkuList> 
654                        <option value="value-selector-${SkuList.getCPInstanceId()}${SkuList?counter}">${SkuList.getSku()}</option> 
655                      </#list> 
656                    </select> 
657                  </div> 
658 
659                  <span class="quantidade">Quantidade</span> 
660 
661                  <a data-toggle="tooltip" data-placement="top" title="Após a finalização da compra você poderá cadastrar o(s) aluno(s).">  
662                    <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="currentColor" class="bi bi-info-circle" viewBox="0 0 16 16"><path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z"/><path d="m8.93 6.588-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533L8.93 6.588zM9 4.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0z"/></svg> 
663                  </a> 
664 
665                  <div class="d-flex align-content-center justify-content-center position-relative"> 
666                    <button type="button" class="btn--commerce btn-minus" data-commerce-action="decrease"> 
667                      <span> _ </span> 
668                    </button> 
669 
670                    <input max="" min="1" step="" data-commerce-action="quantity" class="form-control form-control-md quantity-selector" type="number" value="1" /> 
671 
672                    <button type="button" class="btn--commerce btn-plus" data-commerce-action="increase"> 
673                      <span>+</span> 
674                    </button> 
675                  </div> 
676                </div> 
677 
678                <#list cpCatalogEntry.getCPSkus() as SkuList> 
679                  <div class="btns-de-compra option-selector value-selector-${SkuList.getCPInstanceId()}${SkuList?counter}"> 
680                    <div style="<#if !cursoDisponivel>margin-top: 50px;<#else>margin-top: 100px;</#if> margin-bottom: 19px;"> 
681                      <button type="button" id="botaoagora" class="btn-agora" data-commerce-action="comprar-agora" data-sku-id="${SkuList.getCPInstanceId()}" <#if !cursoDisponivel>disabled style="background-color: #adadad; width: 300px; right: 5px; cursor: not-allowed;"</#if>> 
682                        <#if cursoDisponivel> 
683                          Comprar Agora 
684                        <#else> 
685                          Curso indisponível 
686                        </#if> 
687                      </button> 
688                    </div> 
689                     
690                    <#if cursoDisponivel> 
691                      <div class="btn-adicionar-carrinho" id="btn-carrinho">											 
692                        <@AdicionarAoCarrinho SkuList.getCPInstanceId() /> 
693                      </div> 
694                    </#if> 
695                     
696                    <div class="add-to-card-fixed showshow"> 
697                      <div class="btn-comprar-agora d-flex-content" > 
698                        <span class="price-value"> 
699                          ${(Promoprice > 0)?then(Promoprice?string.currency, price?string.currency)} 
700                        </span> 
701 
702                        <#if cursoDisponivel> 
703                          <@AdicionarAoCarrinho SkuList.getCPInstanceId() /> 
704                        <#else> 
705                          <div style="color: #fff; font-size: 14px; text-align: right;">Curso indisponível</div> 
706                        </#if> 
707                      </div> 
708                    </div> 
709                  </div> 
710                </#list>										 
711              </div> 
712            </form> 
713 
714            <div> 
715              <!-- redes sociais --> 
716              <div class="redes-sociais-titulo"> 
717                <p><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-share"><path d="M13.5 1a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zM11 2.5a2.5 2.5 0 1 1 .603 1.628l-6.718 3.12a2.499 2.499 0 0 1 0 1.504l6.718 3.12a2.5 2.5 0 1 1-.488.876l-6.718-3.12a2.5 2.5 0 1 1 0-3.256l6.718-3.12A2.5 2.5 0 0 1 11 2.5zm-8.5 4a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zm11 5.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3z"/></svg> Compartilhar este curso</p> 
718              </div> 
719 
720              <div class="redes-sociais"> 
721                <a target="_blank" href="https://web.whatsapp.com/send?text=${themeDisplay.getPortalURL()}${themeDisplay.getURLCurrent()}"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-whatsapp"><path d="M13.601 2.326A7.854 7.854 0 0 0 7.994 0C3.627 0 .068 3.558.064 7.926c0 1.399.366 2.76 1.057 3.965L0 16l4.204-1.102a7.933 7.933 0 0 0 3.79.965h.004c4.368 0 7.926-3.558 7.93-7.93A7.898 7.898 0 0 0 13.6 2.326zM7.994 14.521a6.573 6.573 0 0 1-3.356-.92l-.24-.144-2.494.654.666-2.433-.156-.251a6.56 6.56 0 0 1-1.007-3.505c0-3.626 2.957-6.584 6.591-6.584a6.56 6.56 0 0 1 4.66 1.931 6.557 6.557 0 0 1 1.928 4.66c-.004 3.639-2.961 6.592-6.592 6.592zm3.615-4.934c-.197-.099-1.17-.578-1.353-.646-.182-.065-.315-.099-.445.099-.133.197-.513.646-.627.775-.114.133-.232.148-.43.05-.197-.1-.836-.308-1.592-.985-.59-.525-.985-1.175-1.103-1.372-.114-.198-.011-.304.088-.403.087-.088.197-.232.296-.346.1-.114.133-.198.198-.33.065-.134.034-.248-.015-.347-.05-.099-.445-1.076-.612-1.47-.16-.389-.323-.335-.445-.34-.114-.007-.247-.007-.38-.007a.729.729 0 0 0-.529.247c-.182.198-.691.677-.691 1.654 0 .977.71 1.916.81 2.049.098.133 1.394 2.132 3.383 2.992.47.205.84.326 1.129.418.475.152.904.129 1.246.08.38-.058 1.171-.48 1.338-.943.164-.464.164-.86.114-.943-.049-.084-.182-.133-.38-.232z"/></svg></a> 
722                 
723                <a target="_blank" href="https://www.linkedin.com/shareArticle?mini=true&url=${themeDisplay.getPortalURL()}${themeDisplay.getURLCurrent()}"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-linkedin"><path d="M0 1.146C0 .513.526 0 1.175 0h13.65C15.474 0 16 .513 16 1.146v13.708c0 .633-.526 1.146-1.175 1.146H1.175C.526 16 0 15.487 0 14.854V1.146zm4.943 12.248V6.169H2.542v7.225h2.401zm-1.2-8.212c.837 0 1.358-.554 1.358-1.248-.015-.709-.52-1.248-1.342-1.248-.822 0-1.359.54-1.359 1.248 0 .694.521 1.248 1.327 1.248h.016zm4.908 8.212V9.359c0-.216.016-.432.08-.586.173-.431.568-.878 1.232-.878.869 0 1.216.662 1.216 1.634v3.865h2.401V9.25c0-2.22-1.184-3.252-2.764-3.252-1.274 0-1.845.7-2.165 1.193v.025h-.016a5.54 5.54 0 0 1 .016-.025V6.169h-2.4c.03.678 0 7.225 0 7.225h2.4z"/></svg></a> 
724                 
725                <a target="_blank" href="https://www.facebook.com/sharer.php?u=${themeDisplay.getPortalURL()}${themeDisplay.getURLCurrent()}"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-facebook"><path d="M16 8.049c0-4.446-3.582-8.05-8-8.05C3.58 0-.002 3.603-.002 8.05c0 4.017 2.926 7.347 6.75 7.951v-5.625h-2.03V8.05H6.75V6.275c0-2.017 1.195-3.131 3.022-3.131.876 0 1.791.157 1.791.157v1.98h-1.009c-.993 0-1.303.621-1.303 1.258v1.51h2.218l-.354 2.326H9.25V16c3.824-.604 6.75-3.934 6.75-7.951z"/></svg></a> 
726                 
727                <a target="_blank" href="http://twitter.com/intent/tweet?url=${themeDisplay.getPortalURL()}${themeDisplay.getURLCurrent()}"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-twitter"><path d="M5.026 15c6.038 0 9.341-5.003 9.341-9.334 0-.14 0-.282-.006-.422A6.685 6.685 0 0 0 16 3.542a6.658 6.658 0 0 1-1.889.518 3.301 3.301 0 0 0 1.447-1.817 6.533 6.533 0 0 1-2.087.793A3.286 3.286 0 0 0 7.875 6.03a9.325 9.325 0 0 1-6.767-3.429 3.289 3.289 0 0 0 1.018 4.382A3.323 3.323 0 0 1 .64 6.575v.045a3.288 3.288 0 0 0 2.632 3.218 3.203 3.203 0 0 1-.865.115 3.23 3.23 0 0 1-.614-.057 3.283 3.283 0 0 0 3.067 2.277A6.588 6.588 0 0 1 .78 13.58a6.32 6.32 0 0 1-.78-.045A9.344 9.344 0 0 0 5.026 15z"/></svg></a> 
728              </div> 
729 
730              <div class="redes-sociais-online"> 
731                <a target="_blank" href="https://signupforservices.com/whatsapp/optin/?bId=1b85ae5d-d56e-4124-8151-383e38523698&bName=SISTEMAFIEPSM&s=URL&lang=pt_BR"><svg xmlns="http://www.w3.org/2000/svg" width="23" height="23" fill="#29C5A5" class="bi bi-whatsapp" viewBox="0 0 16 16"><path d="M13.601 2.326A7.854 7.854 0 0 0 7.994 0C3.627 0 .068 3.558.064 7.926c0 1.399.366 2.76 1.057 3.965L0 16l4.204-1.102a7.933 7.933 0 0 0 3.79.965h.004c4.368 0 7.926-3.558 7.93-7.93A7.898 7.898 0 0 0 13.6 2.326zM7.994 14.521a6.573 6.573 0 0 1-3.356-.92l-.24-.144-2.494.654.666-2.433-.156-.251a6.56 6.56 0 0 1-1.007-3.505c0-3.626 2.957-6.584 6.591-6.584a6.56 6.56 0 0 1 4.66 1.931 6.557 6.557 0 0 1 1.928 4.66c-.004 3.639-2.961 6.592-6.592 6.592zm3.615-4.934c-.197-.099-1.17-.578-1.353-.646-.182-.065-.315-.099-.445.099-.133.197-.513.646-.627.775-.114.133-.232.148-.43.05-.197-.1-.836-.308-1.592-.985-.59-.525-.985-1.175-1.103-1.372-.114-.198-.011-.304.088-.403.087-.088.197-.232.296-.346.1-.114.133-.198.198-.33.065-.134.034-.248-.015-.347-.05-.099-.445-1.076-.612-1.47-.16-.389-.323-.335-.445-.34-.114-.007-.247-.007-.38-.007a.729.729 0 0 0-.529.247c-.182.198-.691.677-.691 1.654 0 .977.71 1.916.81 2.049.098.133 1.394 2.132 3.383 2.992.47.205.84.326 1.129.418.475.152.904.129 1.246.08.38-.058 1.171-.48 1.338-.943.164-.464.164-.86.114-.943-.049-.084-.182-.133-.38-.232z"/></svg>Atendimento online</a> 
732              </div> 
733            </div> 
734          </div> 
735        </div> 
736      </div> 
737    </#list> 
738  </#if> 
739</div> 
740 
741<#macro StarIcon> 
742  <svg xmlns="http://www.w3.org/2000/svg" width="19.851" height="19"><path fill="#31d195" d="M8.859.661 6.438 5.574l-5.421.79A1.188 1.188 0 0 0 .359 8.39l3.922 3.822-.928 5.4a1.187 1.187 0 0 0 1.722 1.25l4.85-2.549 4.85 2.549a1.188 1.188 0 0 0 1.722-1.25l-.928-5.4 3.922-3.822a1.188 1.188 0 0 0-.657-2.026l-5.421-.79L10.991.661a1.188 1.188 0 0 0-2.13 0Z"/></svg> 
743</#macro> 
744 
745<#macro AdicionarAoCarrinho cpInstanceId> 
746  <div class="add-to-cart mb-2 lfr-tooltip-scope"> 
747    <div class="add-to-cart-wrapper align-items-center d-flex justify-content-center"> 
748      <button class="mt-3 btn-md btn-add-to-cart btn btn-primary" type="button" data-commerce-action="adicionar-carrinho" data-sku-id="${cpInstanceId}"> 
749        <span class="text-truncate-inline"> 
750          <span class="text-truncate">Adicionar ao Carrinho</span> 
751        </span> 
752         
753        <span class="cart-icon"> 
754          <svg class="lexicon-icon lexicon-icon-shopping-cart" role="presentation"><use xlink:href="https://webserver-fiep-uat.lfr.cloud/o/marketplace-fiep-theme/images/clay/icons.svg#shopping-cart"></use></svg> 
755        </span> 
756      </button> 
757    </div> 
758  </div> 
759</#macro> 
760 
761<script> 
762  function actionButtonsListeners() { 
763    document.querySelector('[data-commerce-action="increase"]').addEventListener('click', function() { 
764      const input = document.querySelector('[data-commerce-action="quantity"]') 
765      input.value = Number(input.value) + 1 
766    }) 
767         
768    document.querySelector('[data-commerce-action="decrease"]').addEventListener('click', function() { 
769      const input = document.querySelector('[data-commerce-action="quantity"]') 
770      input.value = Number(input.value) === 0 ? 1 : Number(input.value) - 1 
771    }) 
772 
773    document.querySelector('[data-commerce-action="comprar-agora"]') 
774    ?.addEventListener('click', (e) => onClickCommerce(e, "${commerceOrderHttpHelper.getCommerceCheckoutPortletURL(request)}", true)) 
775 
776    document.querySelectorAll('[data-commerce-action="adicionar-carrinho"]') 
777      .forEach(item => item.addEventListener('click', (e) => onClickCommerce(e))) 
778
779 
780  Liferay.on('allPortletsReady', actionButtonsListeners) 
781 
782  var CART_BASE_URL = '/o/headless-commerce-delivery-cart/v1.0' 
783  var cartHeaders = { 
784    'accept': 'application/json', 
785    'Content-Type': 'application/json' 
786
787 
788  function setDisableButton(button) { 
789    button.setAttribute('disabled','') 
790
791 
792  async function getCartId() { 
793    const cartIdLocalStorage = localStorage.getItem('cartId') 
794		 
795    if(cartIdLocalStorage && cartIdLocalStorage !== "-1") { 
796      return cartIdLocalStorage 
797
798
799 
800  async function onClickCommerce({ currentTarget }, redirect = '', isDisabled = false) { 
801    try { 
802      isDisabled && setDisableButton(currentTarget) 
803 
804      const { skuId } = currentTarget.dataset 
805      const cartInputQuantity = Number(document.querySelector('[data-commerce-action="quantity"]')?.value) 
806      const cartId = await getCartId() 
807      if(cartId) { 
808        await addCartItem({ cartId, skuId, quantity: cartInputQuantity }) 
809 
810        redirect && redirectToPage(redirect) 
811        return 
812
813 
814      const cart = await createCart({ quantity: cartInputQuantity, skuId }) 
815      document.cookie = "com.liferay.commerce.model.CommerceOrder#${commerceContext.getCommerceChannelGroupId()} = " + cart.orderUUID + "; path=/"; 
816 
817      redirect && redirectToPage(redirect) 
818    } catch(err) { 
819      console.error('onClickComprarAgora', err) 
820
821
822 
823  async function createCart({ quantity, skuId }) { 
824    try { 
825      const response = await Liferay.Util.fetch(CART_BASE_URL + '/channels/${commerceChannelId}/carts?nestedFields=cartItems', { 
826          headers: cartHeaders, 
827          method: "POST", 
828          body: JSON.stringify({ 
829            accountId: +"${commerceAccountId}", 
830            currencyCode: "BRL", 
831            cartItems: [{ options: "[]", quantity, skuId: +skuId }] 
832          }) 
833      }) 
834 
835      if(!response.ok) throw Error("Não foi possível criar o carrinho.") 
836 
837      return await response.json() 
838    } catch(err) { 
839      console.error('createCart', err) 
840
841
842 
843  async function addCartItem({ cartId, skuId, quantity }) { 
844    console.log({ cartId, skuId, quantity }) 
845    try { 
846      const response = await Liferay.Util.fetch(CART_BASE_URL + '/carts/' + cartId + '/items', { 
847        method: 'POST', 
848        headers: cartHeaders, 
849        body: JSON.stringify({ 
850            quantity, 
851            skuId, 
852            options:"[]" 
853        }) 
854      }) 
855 
856      if(!response.ok) throw Error("Não foi possível adicionar o item ao carrinho") 
857      console.log("Item adicionado ao carrinho com sucesso!") 
858      return await response.json() 
859    } catch(error) { 
860      console.error('addCartItem', error) 
861
862
863 
864  function redirectToPage(page) { 
865    location = page 
866
867 
868</script> 
869 
870<style> 
871  #botao-adicionar-carrinho > div > div > button{ 
872	display: none; 
873
874	 
875	.lexicon-icon .lexicon-icon-shopping-cart { 
876		color: #7F8BBC; 
877
878 
879  .breadcrumb-container{ 
880    height: 40px;  
881    box-shadow: 0px 2px 2px #00000029;  
882    overflow: auto; 
883    width: 100%; 
884
885  .breadcrumb { 
886  flex-wrap: nowrap; 
887
888  .breadcrumb-produto .breadcrumb-item + .breadcrumb-item::before{ 
889    background-image:none; 
890    content:"/"; 
891    top: 35%; 
892    font-size: 11px; 
893
894  .breadcrumb-produto { 
895    margin-bottom: -11px; 
896    padding: 0px; 
897
898  .breadcrumb-produto .breadcrumb-text-truncate{ 
899    font-size: 11px;  
900    vertical-align: sub; 
901    color: #666666; 
902    max-width: unset; 
903
904  .breadcrumb-produto button { 
905    width: 70px; 
906    height: 40px; 
907    background-color: #F3F3F3; 
908    border: none; 
909    font-size: 12px;  
910
911  .breadcrumb-produto button svg{ 
912    font-size: 13px; 
913
914  .breadcrumb-produto .breadcrumb-item {   
915    display: flex; 
916    flex-wrap: wrap; 
917    align-content: center; 
918
919 
920  .quantidade-participante a{ 
921    color: var(--black); 
922
923 
924  .quantidade-participante .quantidade { 
925    font-size: 14px; 
926    color: #999999; 
927
928   
929 
930  .parcela-minima{ 
931    margin-bottom: 30px !important; 
932    font-size: 13px; 
933    color: var(--neutral-1); 
934
935  #botao-adicionar-carrinho .quantity-selector{ 
936    transform: translateY(-140px); 
937    margin-bottom: -40px; 
938    border-radius: 9px; 
939    border: 1px solid #666666; 
940
941   
942  button.btn.btn-secondary:hover { 
943    background: none; 
944
945   
946  button.btn.btn-secondary { 
947    margin: 0 auto; 
948    border: none; 
949    color: #666; 
950
951   
952  .add-to-card-fixed .quantity-selector{ 
953    display: none !important; 
954
955   
956  .custom-tooltip { 
957    background: #000; 
958    color: #fff; 
959
960   
961  .comprar-produtos .form-group { 
962    text-align: center; 
963    margin-top: 20px; 
964    margin-bottom: 30px; 
965
966	 
967	.comprar-produtos .favoritos { 
968	    display: flex; 
969    	justify-content: flex-end; 
970
971	 
972  #botao-comprar-agora{ 
973    text-align: center; 
974    width: 100%; 
975    display: block; 
976    margin: 0px !important; 
977    padding-top: 15.5px; 
978    padding-bottom: 15.5px; 
979
980   
981  .comprar-produtos .form-group { 
982    text-align: center; 
983    margin-top: 20px; 
984    margin-bottom: 30px; 
985
986 
987  .direito-desconto h2 { 
988      font-size: 18px; 
989      color: #333333; 
990      font-weight: bold; 
991      padding-bottom: 30px; 
992
993 
994  .desconto-aplicado { 
995      font-weight: 600; 
996      text-align: left !important; 
997      padding-bottom: 10px; 
998
999 
1000  .nao-aplicado { 
1001      color: #FF2C35; 
1002      padding-left: 20px; 
1003      text-align: left !important; 
1004      padding-bottom: 30px; 
1005
1006 
1007  .direito-desconto h3 { 
1008      font-size: 16px; 
1009      color: #333333; 
1010      font-weight: bold; 
1011      border-bottom: 1px solid #d2d2d2; 
1012      padding-bottom: 10px; 
1013      margin-bottom: 20px; 
1014
1015 
1016  .taxa-de-desconto ul { 
1017      padding: 0 20px; 
1018
1019 
1020  .taxa-de-desconto p { 
1021      text-align: left !important; 
1022      margin-bottom: 0px !important; 
1023
1024 
1025  .casos-desconto { 
1026      text-align: left !important; 
1027
1028 
1029  .comprar-produtos .price-value { 
1030      padding-right: 20px; 
1031			color: #454F75; 
1032
1033 
1034  .comprar-produtos .price-value-inactive { 
1035      z-index: 3; 
1036      font-size: 16px !important; 
1037      text-align: center; 
1038      padding-left: 20px; 
1039      margin-bottom: -10px; 
1040
1041 
1042  .comprar-produtos .price { 
1043      display: flex; 
1044      flex-direction: column; 
1045
1046 
1047  .comprar-produtos .sifrao-preco { 
1048      color: #454F75; 
1049      font-size: 21px; 
1050      margin-right: -36px; 
1051      z-index: 2; 
1052      background-color: white; 
1053      display: flex; 
1054      align-items: flex-end; 
1055      font-weight: bold; 
1056      padding-left: 10px; 
1057      padding-bottom: 3px; 
1058
1059	 
1060	  .comprar-produtos .tag-preco { 
1061      padding-top: 10px; 
1062			width: 14px; 
1063
1064 
1065  .comprar-produtos .promo-preco .price-value{ 
1066    color: var(--neutral-2); 
1067    font-size:16px; 
1068    font-weight: normal; 
1069    text-decoration: line-through; 
1070
1071 
1072  .comprar-produtos .btn-comprar-agora:hover { 
1073      background: #29C5A5 0% 0% no-repeat padding-box; 
1074
1075 
1076  .direito-desconto button { 
1077      border: none; 
1078      background: none; 
1079      border-bottom: 1px solid #333333; 
1080      color: #333333; 
1081      margin-left: auto; 
1082      margin-right: auto; 
1083      margin-bottom: 30px; 
1084
1085 
1086  .btn-adicionar-carrinho .btn-add-to-cart { 
1087      margin-top: 0px !important; 
1088      padding-top: 15px; 
1089      padding-bottom: 15px; 
1090      width: 290px; 
1091      display: flex; 
1092      justify-content: center; 
1093
1094 
1095  .btn-comprar-agora .btn-add-to-cart { 
1096      margin-top: 8.5px !important; 
1097      margin-bottom: 8.5px !important; 
1098
1099 
1100  .data-incricoes { 
1101      font-size: 14px; 
1102      color: var(--white); 
1103      font-weight: normal; 
1104			padding-left: 5px; 
1105
1106 
1107  .price-container { 
1108      height: 70px; 
1109      display: flex; 
1110      justify-content: center; 
1111
1112 
1113  .price-value { 
1114      color: var(--neutral-1); 
1115      font-size: 30px; 
1116      font-weight: bold; 
1117
1118 
1119  .detalhes-de-produto-fiep .btn-comprar-agora .add-to-cart .add-to-cart-wrapper .btn-add-to-cart>span::before { 
1120      content: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='23' height='23' fill='#454F75' class='bi bi-cart-fill' viewBox='0 0 16 16'%3e%3cpath d='M0 1.5A.5.5 0 0 1 .5 1H2a.5.5 0 0 1 .485.379L2.89 3H14.5a.5.5 0 0 1 .491.592l-1.5 8A.5.5 0 0 1 13 12H4a.5.5 0 0 1-.491-.408L2.01 3.607 1.61 2H.5a.5.5 0 0 1-.5-.5zM5 12a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm7 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm-7 1a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm7 0a1 1 0 1 1 0 2 1 1 0 0 1 0-2z'/%3e%3c/svg%3e"); 
1121
1122 
1123  .comprar-produtos .btn-comprar-agora .btn-add-to-cart { 
1124      background-color: #ffffff00 !important; 
1125      display: flex; 
1126      border: none !important; 
1127
1128 
1129  .comprar-produtos .btn-comprar-agora .text-truncate { 
1130      visibility: hidden; 
1131      position: relative; 
1132
1133 
1134  .comprar-produtos .btn-comprar-agora .text-truncate:after { 
1135      visibility: visible; 
1136      position: absolute; 
1137      top: 0; 
1138      left: 5%; 
1139      content: "Adicionar ao carrinho"; 
1140      font-size: 19px; 
1141      font-weight: bold; 
1142      color: #454F75; 
1143
1144 
1145  .comprar-produtos .btn-comprar-agora { 
1146      width: 395px; 
1147      background: #29C5A5 0% 0% no-repeat padding-box; 
1148      color: black; 
1149      margin-left: -52px; 
1150      font-size: 20px; 
1151      font-weight: bold; 
1152      margin-bottom: 19px; 
1153      margin-top: 80px !important; 
1154
1155	 
1156	.comprar-produtos .btn-agora { 
1157			background: #29C5A5 0% 0% no-repeat padding-box; 
1158			font-size: 19px; 
1159			font-weight: bold; 
1160			text-align: center; 
1161			padding: 15px 0px; 
1162			cursor: pointer; 
1163			color: #FFFFFF; 
1164			border-radius: 5px; 
1165			position: relative; 
1166    	width: 395px; 
1167    	right: 53px; 
1168      border: none; 
1169 
1170
1171	.comprar-produtos .btn-agora:hover{ 
1172			background: #29C5A5 0% 0% no-repeat padding-box; 
1173
1174 
1175  .direito-desconto .modal-dialog { 
1176      margin: 1.75rem auto; 
1177      max-width: 800px; 
1178
1179 
1180  .direito-desconto .modal-content { 
1181      border-radius: 8px; 
1182
1183 
1184  .direito-desconto .modal-body { 
1185      padding: 40px 50px; 
1186
1187 
1188  .detalhes-de-produto-fiep .add-to-cart .add-to-cart-wrapper .btn-add-to-cart>span::before { 
1189      content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='currentColor' class='bi bi-cart2' viewBox='0 0 16 16'%3E%3Cpath d='M0 2.5A.5.5 0 0 1 .5 2H2a.5.5 0 0 1 .485.379L2.89 4H14.5a.5.5 0 0 1 .485.621l-1.5 6A.5.5 0 0 1 13 11H4a.5.5 0 0 1-.485-.379L1.61 3H.5a.5.5 0 0 1-.5-.5zM3.14 5l1.25 5h8.22l1.25-5H3.14zM5 13a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm-2 1a2 2 0 1 1 4 0 2 2 0 0 1-4 0zm9-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm-2 1a2 2 0 1 1 4 0 2 2 0 0 1-4 0z'/%3E%3C/svg%3E"); 
1190      padding-right: 8px; 
1191
1192 
1193  .detalhes-de-produto-fiep .add-to-cart .add-to-cart-wrapper .btn-add-to-cart .text-truncate { 
1194      color: #454F75; 
1195      font-size: 16px; 
1196      height: 26px; 
1197      overflow: inherit; 
1198
1199 
1200  .detalhes-de-produto-fiep .add-to-cart .add-to-cart-wrapper .btn-add-to-cart .cart-icon, 
1201  .detalhes-de-produto-fiep .add-to-cart .add-to-cart-wrapper { 
1202      display: none; 
1203
1204 
1205  .detalhes-de-produto-fiep .add-to-cart .add-to-cart-wrapper .btn-add-to-cart { 
1206      background: var(--white) 0% 0% no-repeat padding-box; 
1207      border: 2px solid #29C5A5; 
1208      border: 2px solid #29C5A5; 
1209      border-radius: 6px; 
1210      color: #454F75; 
1211      text-align: left; 
1212      font: normal normal medium 15px/12px Open Sans; 
1213      width: 280px; 
1214
1215 
1216  .video-wrapper { 
1217      position: relative; 
1218
1219 
1220  .video-wrapper>video { 
1221      width: 100%; 
1222      vertical-align: middle; 
1223
1224 
1225  .video-wrapper>video.has-media-controls-hidden::-webkit-media-controls { 
1226      display: none; 
1227
1228 
1229  .video-wrapper { 
1230      position: relative; 
1231      max-width: 564px !important; 
1232      max-height: 267px !important; 
1233
1234 
1235  .video-overlay-play-button { 
1236      box-sizing: border-box; 
1237      width: 100%; 
1238      height: 100%; 
1239      padding: 10px calc(50% - 50px); 
1240      position: absolute; 
1241      top: 0; 
1242      left: 0; 
1243      display: block; 
1244      cursor: pointer; 
1245      background-color: #6377b880; 
1246      transition: opacity 150ms; 
1247      padding-top: 5%; 
1248
1249 
1250  .video-overlay-play-button polygon { 
1251      transform: translateX(30px); 
1252
1253 
1254  .video-overlay-play-button:hover { 
1255      opacity: 1; 
1256
1257 
1258  .video-overlay-play-button.is-hidden { 
1259      display: none; 
1260
1261 
1262  .card-title { 
1263      height: 18px; 
1264      font-size: 13px; 
1265      color: #666666; 
1266      margin-left: 50px; 
1267      font-weight: 400; 
1268
1269 
1270  .circle-svg { 
1271      position: relative; 
1272      z-index: 1; 
1273      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='81.737' height='81.737' viewBox='0 0 81.737 81.737'%3e%3cg id='graph-info-produto' transform='translate(-751.044 -431.96)'%3e%3cpath id='Caminho_10823' data-name='Caminho 10823' d='M823.3,479.337a24.877,24.877,0,1,1-24.877-24.877v24.877Z' transform='translate(-6.508 -6.508)' fill='%23fff'/%3e%3cpath id='Caminho_10824' data-name='Caminho 10824' d='M816.789,472.829a24.877,24.877,0,1,1-24.877-24.877V431.96a40.869,40.869,0,1,0,40.869,40.869Z' transform='translate(0 0)' fill='%23b0e5de' opacity='0.3'/%3e%3cpath id='Caminho_10825' data-name='Caminho 10825' d='M818.959,475a24.877,24.877,0,1,1-24.877-24.877V439.46A35.538,35.538,0,1,0,829.62,475Z' transform='translate(-2.169 -2.169)' fill='%23b0e5de' opacity='0.5'/%3e%3cpath id='Caminho_10826' data-name='Caminho 10826' d='M821.128,477.167a24.877,24.877,0,1,1-24.877-24.877V446.96a30.207,30.207,0,1,0,30.207,30.207Z' transform='translate(-4.339 -4.339)' fill='%23b0e5de'/%3e%3c/g%3e%3c/svg%3e"); 
1274      content: ""; 
1275      height: 82px; 
1276      width: 190px; 
1277      background-repeat: no-repeat; 
1278      transform: translateY(-65px); 
1279
1280 
1281  .redes-sociais-titulo p { 
1282      color: #3A4D8B; 
1283      padding: 0px; 
1284      margin: 5px; 
1285
1286 
1287  .redes-sociais-online { 
1288      text-align: center; 
1289      padding: 26px 10px; 
1290
1291 
1292  .card-text { 
1293      width: 190px; 
1294      height: 50px; 
1295      box-shadow: 0px 2px 5px #00000029; 
1296      border-radius: 26px; 
1297      z-index: 10; 
1298      position: relative; 
1299      background-color: white; 
1300      margin-left: 16px; 
1301      padding-left: 16px; 
1302
1303 
1304  .card-text span { 
1305      font-size: 15px; 
1306      font-weight: 600; 
1307      letter-spacing: 0px; 
1308      color: #04050C; 
1309      padding-left: 11px; 
1310
1311 
1312  .bg-blue { 
1313      background-color: #7C88B9; 
1314      padding-top: 40px; 
1315
1316 
1317  .bg-blue .periodo-text { 
1318      color: #FFFFFF; 
1319      font-size: 13px; 
1320      padding-top: 0; 
1321
1322 
1323  .bg-blue h1 { 
1324      color: #FFFFFF; 
1325      font-size: 30px; 
1326      font-weight: bold; 
1327
1328 
1329  .bg-blue h2 { 
1330      color: #FFFFFF; 
1331      font-size: 15px; 
1332      line-height: 24px; 
1333      margin-bottom: 17px !important; 
1334			margin-top: 30px; 
1335
1336 
1337  .bg-blue span { 
1338      font-size: 14px; 
1339      color: #FFFFFF; 
1340
1341	 
1342	 .bg-blue .checked { 
1343      color: #FFB73A; 
1344
1345 
1346  c { 
1347      font-size: 22px; 
1348      font-weight: bold; 
1349      color: var(--primary); 
1350      margin-bottom: 23px; 
1351      border-bottom: 1px solid #E9E9E9; 
1352
1353 
1354  #module-descricao-produto h3 { 
1355      font-size: 18px; 
1356      font-weight: bold; 
1357      color: var(--neutral-1); 
1358      margin-bottom: 18px; 
1359
1360 
1361  #module-descricao-produto p { 
1362      font-size: 15px; 
1363      line-height: 24px; 
1364			color: #454F75; 
1365
1366	 
1367	 #module-descricao-produto .container-fluid { 
1368      padding: 0; 
1369
1370 
1371 
1372  #module-descricao-produto .inner-descricao-produto { 
1373      margin-left: 48px; 
1374
1375 
1376  #module-descricao-produto #collapseExample.collapse:not(.show) { 
1377      display: block; 
1378      height: 140px; 
1379      overflow: hidden; 
1380
1381 
1382  #module-descricao-produto #collapseExample.collapsing { 
1383      height: 140px; 
1384
1385 
1386  #module-descricao-produto a.collapsed:after { 
1387      content: 'Mostrar mais'; 
1388      margin-left: 45%; 
1389      border-bottom: 2px solid #29C5A5; 
1390      font-size: 13px; 
1391      font-weight: 600; 
1392      padding-bottom: 5px; 
1393      color: #454F75; 
1394      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-chevron-down' viewBox='0 0 16 16'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); 
1395      background-repeat: no-repeat; 
1396      padding-right: 14px; 
1397      background-position-x: 100%; 
1398      background-size: 12px; 
1399      background-position-y: 40%; 
1400
1401 
1402  #module-descricao-produto a:not(.collapsed):after { 
1403      content: 'Mostrar menos'; 
1404      margin-left: 45%; 
1405      border-bottom: 2px solid #29C5A5; 
1406      font-size: 13px; 
1407      font-weight: 600; 
1408      padding-bottom: 5px; 
1409      color: #454F75; 
1410      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-chevron-up' viewBox='0 0 16 16'%3e%3cpath fill-rule='evenodd' d='M7.646 4.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1-.708.708L8 5.707l-5.646 5.647a.5.5 0 0 1-.708-.708l6-6z'/%3e%3c/svg%3e"); 
1411      background-repeat: no-repeat; 
1412      padding-right: 14px; 
1413      background-position-x: 100%; 
1414      background-size: 12px; 
1415      background-position-y: 40%; 
1416
1417 
1418  .d-flex-between { 
1419    display: flex; 
1420    justify-content: space-between; 
1421    padding-top: 0px !important; 
1422
1423 
1424  .produtos-web-content { 
1425      max-width: 1184px; 
1426      margin: auto; 
1427			padding-bottom: 50px; 
1428
1429	 
1430	.bg-gray { 
1431		background-color: #EEF0F2; 
1432
1433 
1434  .comprar-produtos .add-to-cart .add-to-cart-wrapper .btn-add-to-cart { 
1435      background: var(--white) 0% 0% no-repeat padding-box; 
1436      border: 2px solid #29C5A5; 
1437      border: 2px solid #29C5A5; 
1438      border-radius: 5px; 
1439      color: #454F75; 
1440      text-align: left; 
1441
1442 
1443  .comprar-produtos { 
1444      background: var(--white) 0% 0% no-repeat padding-box; 
1445      box-shadow: 3px 0px 20px #0000001F; 
1446      border: 1px solid #DCDCDC; 
1447      border-radius: 10px; 
1448      padding-left: 42px; 
1449      padding-right: 42px; 
1450      padding-top: 28px; 
1451      padding-bottom: 10px; 
1452      width: 376px; 
1453
1454 
1455  .comprar-produtos p { 
1456      text-align: center; 
1457      margin-bottom: 0px; 
1458
1459 
1460  .comprar-produtos .form-group { 
1461      text-align: center; 
1462      margin-top: 30px; 
1463      margin-bottom: 30px; 
1464
1465 
1466  .comprar-produtos .form-control { 
1467      display: block; 
1468      width: 60px; 
1469			text-align: center; 
1470      padding: 0; 
1471      font-size: 1rem; 
1472      line-height: 1.5; 
1473      color: #495057; 
1474      background-color: #fff; 
1475      background-clip: padding-box; 
1476      transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out; 
1477      border: 1px solid #D7DAE8; 
1478      border-radius: 8px; 
1479      height: 50px; 
1480			position: relative; 
1481      z-index:1; 
1482			top: 6px; 
1483			box-shadow: 0px 0px 10px #00000029; 
1484
1485	 
1486	input[type=number].quantity-selector::-webkit-inner-spin-button {  
1487    -webkit-appearance: none; 
1488     
1489
1490	input[type=number].quantity-selector {  
1491   	-moz-appearance: textfield; 
1492   	appearance: textfield; 
1493	 	padding: 0; 
1494	 	color: #7F8BBC 
1495
1496 
1497  .btn--commerce { 
1498    top: 12px; 
1499    display: flex; 
1500    justify-content: center; 
1501    height: 40px; 
1502    background-color: #E7E9F0; 
1503    border-radius: 20px; 
1504    color: #454F75; 
1505    border: none; 
1506    position: absolute; 
1507    width: 50px; 
1508    font-size: 25px; 
1509    align-items: center; 
1510
1511	 
1512	.btn--commerce.btn-minus { 
1513    margin-right: 80px; 
1514    padding-right: 15px; 
1515
1516	 
1517	.btn--commerce.btn-minus span { 
1518		color: #454F75; 
1519		padding-bottom: 23px; 
1520
1521	 
1522	.btn-plus { 
1523    margin-left: 80px; 
1524		padding-left: 15px; 
1525
1526 
1527  .area-de-estatisticas { 
1528      background-color: var(--accent-1); 
1529
1530 
1531  .area-de-estatisticas .estatisticas { 
1532      display: grid; 
1533      justify-items: center; 
1534
1535 
1536  .area-de-estatisticas .estatisticas:last-child:after { 
1537      background-color: var(--accent-1); 
1538
1539 
1540  .area-de-estatisticas .estatisticas::after { 
1541      content: ""; 
1542      position: absolute; 
1543      background-color: #FFFFFF80; 
1544      width: 1px; 
1545      height: 62px; 
1546      bottom: 30%; 
1547      right: -1px; 
1548
1549 
1550  .area-de-estatisticas h3 { 
1551      font-size: 20px; 
1552      color: #fff; 
1553      font-weight: bold; 
1554      color: var(--white); 
1555
1556 
1557  .area-de-estatisticas .descricao-statistic { 
1558      color: var(--white); 
1559      font-size: 16px; 
1560      font-weight: bold; 
1561
1562 
1563  .area-de-estatisticas .title-statistic { 
1564      color: var(--white); 
1565      font-size: 38px; 
1566      font-weight: bold; 
1567
1568 
1569  .area-de-estatisticas .plus-sign { 
1570      font-size: 22px; 
1571      font-weight: bold; 
1572      color: var(--white); 
1573
1574 
1575  .area-de-estatisticas .title-box { 
1576      display: flex; 
1577      align-items: center; 
1578      padding-right: 10px; 
1579
1580 
1581  .veja-como-e-facil-produto p { 
1582      width: 200px; 
1583      margin: auto; 
1584      padding: 6px 0; 
1585      color: var(--neutral-2); 
1586      font-size: 15px; 
1587
1588 
1589  .veja-como-e-facil-produto h2 { 
1590      font-size: 22px; 
1591      font-weight: bold; 
1592      color: var(--primary); 
1593      margin-bottom: 30px; 
1594      margin-top: 30px; 
1595      text-align: center; 
1596
1597 
1598  .corpo-docente-produto h2 { 
1599      font-size: 22px; 
1600      font-weight: bold; 
1601      color: #7F8BBC; 
1602      margin-bottom: 35px; 
1603      margin-top: 30px; 
1604
1605 
1606  .corpo-docente-produto h3 { 
1607      color: #454F75; 
1608      font-size: 18px; 
1609      font-weight: bold; 
1610      margin-bottom: 4px; 
1611
1612 
1613  .corpo-docente-produto h4 { 
1614      color: #666666; 
1615      font-size: 15px; 
1616      margin-bottom: 19px; 
1617      font-weight: 600; 
1618
1619 
1620  .corpo-docente-produto p { 
1621      color: #666666; 
1622      font-size: 14px; 
1623
1624	 
1625	.corpo-docente-produto img { 
1626      width: 99px; 
1627			height: 99px; 
1628			border-radius: 50%; 
1629			margin-top: 10px; 
1630
1631 
1632  .grade-curricular-produto .panel { 
1633      margin-bottom: 14px; 
1634
1635 
1636  .grade-curricular-produto .panel button { 
1637      border: 1px solid #D2D2D2; 
1638      border-bottom-left-radius: 3px !important; 
1639      border-bottom-right-radius: 3px !important; 
1640      border-top-left-radius: 3px !important; 
1641      border-top-right-radius: 3px !important; 
1642			background-color: white; 
1643
1644 
1645  .grade-curricular-produto svg { 
1646      color: var(--action-secondary); 
1647      width: 16px; 
1648
1649 
1650  .grade-curricular-produto .panel-title { 
1651      color: #454F75; 
1652      font-size: 15px; 
1653      text-transform: none; 
1654
1655 
1656  .grade-curricular-produto h2 { 
1657      font-size: 22px; 
1658      font-weight: bold; 
1659      color: #7F8BBC; 
1660      margin-bottom: 20px; 
1661      margin-top: 30px; 
1662
1663 
1664  .requisitos-produto h2 { 
1665      font-size: 22px; 
1666      font-weight: bold; 
1667      color: #7F8BBC; 
1668      margin: 30px 0; 
1669
1670 
1671  .titulo-margin-bottom, 
1672  .diferenciais-produto h2 { 
1673      font-size: 22px; 
1674      font-weight: bold; 
1675      color: #7F8BBC; 
1676      margin-bottom: 20px; 
1677      border-bottom: 1px solid #D6D6D6; 
1678      margin-top: 30px; 
1679      padding-bottom: 5px; 
1680
1681 
1682  .diferenciais-produto .cards-diferenciais { 
1683      border: 1px solid #D6D6D6; 
1684      border-radius: 10px; 
1685      padding: 15px; 
1686      width: 226px; 
1687      margin-top: 14px; 
1688      height: 100%; 
1689
1690 
1691  .diferenciais-produto .cards-diferenciais span { 
1692      font-size: 15px; 
1693      color: #666666; 
1694
1695 
1696  .diferenciais-produto .col-md-4 { 
1697      padding-left: 5px !important; 
1698      padding-right: 5px !important; 
1699
1700 
1701  .diferenciais-produto .cards-diferenciais .svg-star { 
1702      width: 30px; 
1703
1704 
1705  .requisitos-produto li { 
1706      color: #454F75; 
1707      line-height: 25px; 
1708      font-size: 15px; 
1709      padding-bottom: 10px; 
1710
1711 
1712  .o-que-ira-aprender-fiep p { 
1713      color: #454F75; 
1714      font-size: 15px; 
1715      margin-bottom: 20px; 
1716
1717 
1718  .o-que-ira-aprender-fiep { 
1719      border: 1px solid #FFFFFF; 
1720      padding-top: 25px; 
1721      padding-bottom: 40px; 
1722      padding-left: 48px; 
1723      padding-right: 48px; 
1724			border-radius: 10px; 
1725
1726 
1727  .o-que-ira-aprender-fiep h2 { 
1728      padding-bottom: 18px; 
1729      color: #7F8BBC; 
1730      font-size: 22px; 
1731      font-weight: bold; 
1732      margin: 0px; 
1733
1734 
1735  .o-que-ira-aprender-fiep .col-auto { 
1736      margin-right: -10px; 
1737
1738 
1739  .redes-sociais a { 
1740      margin: 3px; 
1741
1742 
1743  .showshow { 
1744      display: none; 
1745
1746 
1747  .hidehide { 
1748      display: block; 
1749
1750 
1751  .redes-sociais { 
1752      text-align: center; 
1753
1754 
1755  svg.bi.bi-whatsapp { 
1756      color: #fff; 
1757      background: #4DC247; 
1758      padding: 5px; 
1759
1760 
1761  svg.bi.bi-linkedin { 
1762      background: #0077B5; 
1763      padding: 5px; 
1764      color: #fff; 
1765
1766 
1767  svg.bi.bi-facebook { 
1768      background: #3B5998; 
1769      color: #fff; 
1770      padding: 5px; 
1771
1772 
1773  svg.bi.bi-twitter { 
1774      color: #fff; 
1775      padding: 5px; 
1776      background: #1DA1F2; 
1777
1778 
1779  svg.bi.bi-plus-square-fill { 
1780      background: #FF6550; 
1781      padding: 5px; 
1782      color: #fff; 
1783
1784 
1785  .redes-sociais-online svg.bi.bi-whatsapp { 
1786      color: #00E676; 
1787      background: none; 
1788      padding: inherit; 
1789      margin-right: 5px; 
1790
1791 
1792  .redes-sociais-online a { 
1793      color: #454F75; 
1794      border-bottom: 1px solid #29C5A5; 
1795      padding-bottom: 4px; 
1796
1797 
1798  .redes-sociais *, 
1799  *::before, 
1800  *::after { 
1801      box-sizing: initial; 
1802
1803 
1804  .redes-sociais-titulo { 
1805      text-align: center; 
1806
1807 
1808  .tag-industria{ 
1809      background: var(--accent-1); 
1810      padding: 3px; 
1811      max-width: 173px; 
1812      font-size: 11px; 
1813      text-align: center; 
1814      color: #fff; 
1815      border-radius: 15px; 
1816
1817	 
1818	.tags { 
1819			display: flex; 
1820
1821	 
1822  .tag-instituicao { 
1823      background: var(--white); 
1824      padding: 5px 10px; 
1825			max-width: 120px; 
1826      font-size: 13px; 
1827      text-align: center; 
1828      color: #454F75; 
1829      border-radius: 13px 0px 0px 13px; 
1830			margin-bottom: 10px; 
1831
1832	 
1833	 .tag-area { 
1834      background: #D7DAE8; 
1835      padding: 5px 10px; 
1836			max-width: 350px; 
1837      font-size: 13px; 
1838      text-align: center; 
1839      color: #454F75; 
1840      border-radius: 0px 13px 13px 0px; 
1841			margin-bottom: 10px; 
1842
1843 
1844 
1845 
1846  @media (max-width: 575.98px) { 
1847  	.comprar-produtos .btn-agora { 
1848      width: 290px; 
1849      margin: auto; 
1850			display: flex; 
1851      justify-content: center; 
1852			right:0; 
1853
1854    .breadcrumb-container{ 
1855      display:grid; 
1856      align-items: baseline; 
1857
1858    .breadcrumb-produto{ 
1859      padding-bottom: 9px; 
1860
1861    .breadcrumb { 
1862      flex-wrap: nowrap; 
1863      overflow-x: auto; 
1864      overflow-y: hidden; 
1865
1866    .breadcrumb::-webkit-scrollbar { 
1867      display: none; 
1868
1869    .breadcrumb button { 
1870      position: absolute; 
1871      z-index: 99; 
1872      width: 40px; 
1873
1874    .breadcrumb .breadcrumb-item1 { 
1875      padding-left: 50px; 
1876
1877    .breadcrumb .breadcrumb-item { 
1878      padding-top: 10px; 
1879
1880     
1881    .breadcrumb-produto .breadcrumb-item + .breadcrumb-item::before{ 
1882      background-image:none; 
1883      content:"/"; 
1884      top: 50%; 
1885      font-size: 11px; 
1886
1887 
1888    #botao-adicionar-carrinho .quantity-selector{ 
1889      transform: translateY(0px); 
1890      margin-bottom: 20px; 
1891
1892 
1893    .diferenciais-produto .carousel-control-next { 
1894      right: -15px; 
1895
1896 
1897    .d-flex-between{ 
1898      display: block; 
1899
1900 
1901    .d-flex { 
1902        display: flex !important; 
1903        align-items: center; 
1904
1905 
1906    .d-flex-content { 
1907        display: flex !important; 
1908        align-items: center; 
1909        justify-content: space-evenly; 
1910
1911 
1912    .detalhes-de-produto-fiep .py-5, 
1913    .col-md-6 { 
1914        padding: 0px 0px 30px !important; 
1915
1916 
1917    .detalhes-de-produto-fiep .info_cursos { 
1918        padding: 0px 30px 
1919
1920 
1921    .bg-blue h1 { 
1922        font-size: 25px; 
1923        margin-bottom: 12px !important; 
1924				color: white; 
1925
1926 
1927    .add-to-card-fixed { 
1928        background: var(--primary) 0% 0% no-repeat padding-box; 
1929        width: 100%; 
1930        margin: 0px; 
1931        position: fixed; 
1932        bottom: 0px; 
1933        z-index: 9999; 
1934        right: 0; 
1935        padding-top: 10px; 
1936
1937 
1938    .timer .col-auto { 
1939        flex: 0 0 auto; 
1940        max-width: 100%; 
1941        width: auto; 
1942        margin-top: -30px; 
1943
1944 
1945    .diferenciais-produto .carousel-control-next .carousel-control-next-icon { 
1946        background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='orange' class='bi bi-chevron-right' viewBox='0 0 16 16'%3e%3cpath fill-rule='evenodd' d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e") !important; 
1947
1948 
1949    .add-to-card-fixed .btn-add-to-cart.btn.btn-primary { 
1950        background: var(--action-default) 0% 0% no-repeat padding-box !important; 
1951
1952 
1953    .area-de-estatisticas .d-flex .control-next .carousel-control-next-icon { 
1954        background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-chevron-right' viewBox='0 0 16 16'%3e%3cpath fill-rule='evenodd' d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e") !important; 
1955
1956 
1957    .area-de-estatisticas .d-flex .control-prev .carousel-control-prev-icon { 
1958        background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-chevron-left' viewBox='0 0 16 16'%3e%3cpath fill-rule='evenodd' d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e") !important; 
1959
1960 
1961    .detalhes-de-produto-fiep .btn-comprar-agora .add-to-cart .add-to-cart-wrapper .btn-add-to-cart>span::before { 
1962        display: none; 
1963
1964 
1965    .comprar-produtos .btn-comprar-agora:hover { 
1966        background: none; 
1967
1968 
1969    .comprar-produtos .btn-comprar-agora { 
1970        background: none; 
1971        width: initial; 
1972        margin: initial; 
1973        margin-top: 0px !important; 
1974
1975 
1976    .add-to-card-fixed .price-value { 
1977        color: #fff; 
1978        font-size: 24px; 
1979
1980 
1981    .price-value.price-value-inactive { 
1982        display: none; 
1983
1984     
1985    .quantidade-participante p:after{ 
1986      content: "info" 
1987
1988 
1989    .carousel-indicators li { 
1990        background-color: #D6D6D6; 
1991        width: 8px; 
1992        height: 8px; 
1993        border-radius: 50%; 
1994        margin: 5px 8px; 
1995
1996 
1997    .carousel-indicators .active { 
1998        background-color: #FFB73A; 
1999
2000 
2001    .carousel-indicators { 
2002        position: initial; 
2003        margin-left: initial; 
2004
2005 
2006    .col-11 { 
2007        padding-left: initial; 
2008
2009 
2010    a.carousel-control-next { 
2011        top: 20px; 
2012
2013 
2014    .requisitos-produto ul { 
2015        padding-left: var(--spacer-5, 3rem) !important; 
2016
2017
2018 
2019    .requisitos-produto li { 
2020        line-height: 25px; 
2021        color: #454F75; 
2022        margin: 15px 0; 
2023
2024 
2025    .showshow { 
2026        display: block !important; 
2027
2028 
2029    .hidehide { 
2030        display: none !important; 
2031
2032 
2033    #module-descricao-produto h2, 
2034    .titulo-margin-bottom { 
2035        border-bottom: none; 
2036        font-size: 22px; 
2037        padding-bottom: 4px; 
2038        font-weight: bold; 
2039        color: var(--primary); 
2040        margin-bottom: 20px; 
2041
2042 
2043    .diferenciais-produto .cards-diferenciais { 
2044        height: initial; 
2045
2046 
2047    .area-de-estatisticas .estatisticas { 
2048        margin: auto; 
2049
2050 
2051    .area-de-estatisticas .row { 
2052        display: block; 
2053
2054 
2055    .area-de-estatisticas .estatisticas::after { 
2056        display: none; 
2057
2058 
2059    .produtos-web-content { 
2060        width: 100%; 
2061
2062 
2063    .comprar-produtos { 
2064        width: 100%; 
2065        padding-left: 20px; 
2066        padding-right: 20px; 
2067
2068 
2069    .btn-adicionar-carrinho .btn-add-to-cart { 
2070        width: 100%; 
2071
2072 
2073    #module-descricao-produto a.collapsed:after { 
2074        margin-left: 30%; 
2075
2076 
2077    #module-descricao-produto a:not(.collapsed):after { 
2078        margin-left: 30%; 
2079
2080 
2081    .diferenciais-produto .cards-diferenciais { 
2082        width: 100%; 
2083
2084 
2085    #module-descricao-produto .inner-descricao-produto { 
2086        margin-left: 0px; 
2087
2088
2089 
2090  @media (max-width:576px){ 
2091 
2092    .add-to-card-fixed .btn-add-to-cart.btn.btn-primary, 
2093    .comprar-produtos .add-to-cart .add-to-cart-wrapper .btn-add-to-cart { 
2094          background: white !important; 
2095          opacity: 1; 
2096          justify-content: center; 
2097          max-width: 230px; 
2098          margin: 0 !important; 
2099          padding: 5px 0; 
2100
2101 
2102    .detalhes-de-produto-fiep .add-to-cart .add-to-cart-wrapper .btn-add-to-cart .text-truncate{ 
2103        display:block; 
2104        width: 100%; 
2105        min-width: 100%; 
2106
2107 
2108    .comprar-produtos .btn-comprar-agora .text-truncate:after{ 
2109        text-align: center; 
2110        display: block; 
2111        font-size: 16px; 
2112        width: 100%; 
2113        left: 0; 
2114
2115    .comprar-produtos{ 
2116        padding-bottom: 30px !important; 
2117
2118    .add-to-card-fixed .price-value{ 
2119        font-size: 20px; 
2120
2121    .add-to-card-fixed .add-to-cart{ 
2122        max-width: 230px; 
2123        margin: 0 !important; 
2124
2125    .add-to-card-fixed{ 
2126        padding: 15px 0; 
2127
2128
2129    /* ---- */ 
2130 
2131 
2132    /* 	div.o-que-ira-aprender-fiep  */ 
2133    @media (max-width:576px){ 
2134    .o-que-ira-aprender-fiep { 
2135        padding: 20px; 
2136
2137    .o-que-ira-aprender-fiep > .row { 
2138        max-width:100%; 
2139        margin: 0; 
2140
2141    .o-que-ira-aprender-fiep > .row > div{ 
2142        height:auto; 
2143        margin:0; 
2144        padding: 0 !important; 
2145
2146 
2147
2148    /* ---- */ 
2149 
2150 
2151 
2152    /* div.timer */ 
2153    @media (max-width:576px){ 
2154        .timer .circle-svg, 
2155        .timer .card-text{ 
2156            width: auto !important;  
2157            padding-right:20px 
2158
2159        .timer .card-text span{ 
2160            font-size:14px; 
2161
2162    }/* ---- */ 
2163 
2164 
2165 
2166</style> 
2167<script> 
2168  var productDetail = ${jsonFactoryUtil.looseSerializeDeep(productDetail)};  
2169  
2170 
2171  $(".quantity-selector").on("change",function() { $(".quantity-selector").val($(this).val()); }); 
2172	 
2173  $(document).ready(function(){ 
2174    $('[data-toggle="tooltip"]').tooltip()		 
2175  }); 
2176		 
2177		Liferay.once("current-order-updated",function(){ 
2178        console.log("current-order-updated"); 
2179       /*window.location = "${commerceOrderHttpHelper.getCommerceCartPortletURL(request)}";*/ 
2180    }); 
2181 
2182		$(document).ready(function(){ 
2183			$("#selectturma").change(function(){ 
2184					$(this).find("option:selected").each(function(){ 
2185							var optionValue = $(this).attr("value"); 
2186							if(optionValue){ 
2187									$(".option-selector").not("." + optionValue).hide(); 
2188									$("." + optionValue).show(); 
2189							} else{ 
2190									$(".option-selector").hide(); 
2191
2192					}); 
2193			}).change(); 
2194		}); 
2195 
2196  //Invoke the play button on load 
2197  var videoPlayButton, 
2198    videoWrapper = document.getElementsByClassName('video-wrapper')[0], 
2199    video = document.getElementsByTagName('video')[0], 
2200    imagem = document.getElementsByClassName('image-wrapper')[0], 
2201    iframe = document.getElementsByClassName('youtube-iframe')[0], 
2202    videoMethods = { 
2203    renderVideoPlayButton: function() { 
2204  if (videoWrapper.contains(video)) { 
2205    this.formatVideoPlayButton() 
2206    video.classList.add('has-media-controls-hidden') 
2207    videoPlayButton = document.getElementsByClassName('video-overlay-play-button')[0] 
2208    videoPlayButton.addEventListener('click', this.hideVideoPlayButton) 
2209
2210  else if (videoWrapper.contains(iframe)) { 
2211    this.formatVideoPlayButton() 
2212    videoPlayButton = document.getElementsByClassName('video-overlay-play-button')[0] 
2213    videoPlayButton.addEventListener('click', this.hideVideoPlayButton2) 
2214
2215  }, 
2216  formatVideoPlayButton: function() { 
2217    videoWrapper.insertAdjacentHTML('beforeend', '\ 
2218    <svg class="video-overlay-play-button" viewBox="0 0 300 300" alt="Play video">\ 
2219    <circle cx="130" cy="100" r="120" fill="none" stroke-width="8px" stroke="#fff"/>\ 
2220    <polygon points="70, 55 70, 145 145, 100" fill="transparent" stroke="#fff" stroke-width="8px"/>\ 
2221    </svg>\ 
2222    ') 
2223  }, 
2224  hideVideoPlayButton: function() { 
2225      video.play() 
2226      videoPlayButton.classList.add('is-hidden') 
2227      imagem.classList.add('d-none') 
2228      video.classList.remove('has-media-controls-hidden') 
2229      video.classList.remove('d-none') 
2230      video.setAttribute('controls', 'controls') 
2231    }, 
2232  hideVideoPlayButton2: function() { 
2233      videoPlayButton.classList.add('is-hidden') 
2234      imagem.classList.add('d-none') 
2235      iframe.classList.remove('d-none') 
2236
2237
2238  videoMethods.renderVideoPlayButton() 
2239</script> 

Veja como é fácil adquirir o seu curso

Escolha os cursos de sua preferência e adicione ao carrinho de compras
Cadastre-se, insira o cupom de desconto (caso necessário) e finalize a compra
Na área do usuário, cadastre os dados de cada aluno para efetivar a matrícula
Pronto, você receberá por e-mail o acesso à plataforma dos cursos. Bons estudos!

Confira porque somos a melhor escolha:

+

140

Cursos práticos ofertados

40.000

Alunos no último ano

+

79

Anos de experiência no mercado

+

6.400

Horas de conteúdo

Confira porque somos a melhor escolha:

Confira porque somos a melhor escolha:

+ 150
Cursos práticos ofertados
+ 5.000
Empresas atendidas no último ano
+ 79
Anos de experiência no mercado
+ 20
Áreas do Conhecimento

Confira porque somos a melhor escolha: