Publicador de Conteúdos e Mídias

Um erro ocorreu enquanto processava o modelo.
The following has evaluated to null or missing:
==> isEMED  [in template "20102#20129#438394" at line 4056, column 15]

----
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: #if !isEMED  [in template "20102#20129#438394" at line 4056, column 9]
----
1<#assign 
2  isEditMode = themeDisplay.getURLCurrent()?contains('p_l_mode=edit') 
3/> 
4<!-- Essa verificação é necessária para que não encaminhe erros de freemarker ao KIBANA ao acessar a página de edição dos componentes --> 
5<#if isEditMode > 
6  <h3>Modo de edição identificado</h3> 
7<#else> 
8 
9<style> 
10 
11  .ssp:not(.liferay-instance) .ssp-como-me-matricular__passo-passo-card { 
12      background: white; 
13      width: 100%; 
14      padding: 32px 52px; 
15      box-shadow: 2px 5px 12px #00000040; 
16      border-radius: 20px; 
17      display: flex; 
18      flex-wrap: nowrap; 
19      justify-content: space-between; 
20      align-items: center; 
21
22 
23  .ssp:not(.liferay-instance) .ssp-como-me-matricular__passo-passo-card .item-passo-icone { 
24      max-width: 100%; 
25      height: 72px; 
26      margin-bottom: 10px; 
27
28 
29  .ssp:not(.liferay-instance) .ssp-como-me-matricular__section { 
30      background: #472247; 
31      border-top: 18px solid #792F7A; 
32      text-align: center; 
33      padding-bottom: 60px; 
34
35 
36  .ssp:not(.liferay-instance) .ssp-como-me-matricular__section .title-section-white::after { 
37       
38      
39      display: none; 
40      
41       
42
43   
44  .ssp:not(.liferay-instance) .ssp-como-me-matricular__section .title-section-white { 
45      color: white; 
46      font-size: 44px !important; 
47      margin-bottom: 32px !important; 
48      text-align:unset; 
49
50   
51  .ssp:not(.liferay-instance) .ssp-como-me-matricular__passo-passo-card .item-passo-title { 
52      font-size: 28px; 
53      color: #B767C2; 
54      font-weight: bold; 
55      line-height: 28px; 
56      margin: 0; 
57      margin-bottom:.5rem; 
58
59   
60 
61.ssp:not(.liferay-instance) .ssp-card-modal-forma-pagamento__icon-credit-card::after { 
62     
63  font-size: 18px; 
64     
65
66 
67.ssp:not(.liferay-instance) .ssp-card-modal-forma-pagamento__icon-boleto::after { 
68    
69  font-size: 18px; 
70   
71
72 
73.ssp:not(.liferay-instance) .ssp-card-modal-forma-pagamento__header { 
74  align-items:center; 
75  color:#454F63; 
76
77 
78.ssp:not(.liferay-instance) .ssp-card-modal-forma-pagamento__btn-close::after { 
79    font-family: "Font Awesome 6 Pro"; 
80    font-weight: normal; 
81    content: "\f00d"; 
82    font-style: normal; 
83    font-size:30px; 
84    cursor: pointer; 
85
86 
87.ssp:not(.liferay-instance) .ssp-card-modal-forma-pagamento__body { 
88     
89  padding:0 15px; 
90
91 
92.ssp-card-modal-forma-pagamento__tipos-content p { 
93 
94  color: #454F63!important; 
95  font-size: 14px!important; 
96
97 
98.ssp-card-modal-forma-pagamento__tipos-content strong { 
99 
100  font-weight: bold!important; 
101
102 
103.txt-desconto-oito{ 
104 
105  font-weight: 600!important; 
106  border: 1px solid #f2f2f2; 
107  border-right: 0; 
108  border-left: 0; 
109  padding: 10px 0; 
110
111 
112.next-mobile{ 
113    color: white; 
114    display: flex; 
115    align-items: center; 
116    text-decoration: none!important; 
117
118 
119.next-mobile:hover{ 
120    color: white; 
121    font-weight: normal!important; 
122
123 
124.next-mobile::before{ 
125    font-family: "Montserrat", sans-serif; 
126    content: "Próxima"; 
127    font-size: 14px; 
128    font-weight: 600; 
129    display: block; 
130    margin-right: 9px; 
131    color: white; 
132
133 
134.next-mobile.slick-arrow.slick-disabled{ 
135    opacity: 0.4; 
136
137 
138 
139/* Prev Mobile button */ 
140 
141 
142.prev-mobile{ 
143    color: white; 
144    display: flex; 
145    align-items: center; 
146    text-decoration: none; 
147    text-decoration: none!important; 
148
149 
150.prev-mobile:hover{ 
151    color: white; 
152    font-weight: normal!important; 
153
154 
155.prev-mobile::after{ 
156    font-family: "Montserrat", sans-serif; 
157    content: "Anterior"; 
158    font-weight: 600; 
159    font-size: 14px; 
160    display: block; 
161    margin-left: 9px; 
162    color: white; 
163
164 
165.prev-mobile.slick-arrow.slick-disabled{ 
166    opacity: 0.4; 
167
168 
169 
170.icon-ao-vivo{ 
171  font-size: 15px!important; 
172  margin: 0 3px; 
173
174 
175.ssp-card-detalhe-curso__tag-ao-vivo{ 
176  font-family: "Montserrat"; 
177  font-size: 19px; 
178  letter-spacing: 0px; 
179  color: #F77A3B; 
180
181 
182.selecione-unidade-title-custom{ 
183     
184  width:100%!important; 
185 
186
187 
188.recalcular{ 
189  background:#F6921E!important; 
190  border: solid 1px #F6921E!important; 
191
192 
193.ssp-card-detalhe-curso__description{ 
194 
195  font-family: "Montserrat"; 
196  max-width: 800px; 
197  font-size: 20px; 
198  font-weight: 500; 
199  font-stretch: normal; 
200  font-style: normal; 
201  line-height: 1.23; 
202  letter-spacing: normal; 
203  margin: 10px 0; 
204  text-align: left; 
205  color: #4f596f; 
206 
207
208 
209/* nova formatação para registro de interesse */ 
210.ssp:not(.liferay-instance) .ssp-aviso-novas-turmas__content { 
211    display: flex; 
212    flex-wrap: nowrap; 
213    justify-content: center; 
214    align-items: center; 
215    padding: 10px 0; 
216
217 
218/* Novas tags para formato de curso */ 
219 
220.ssp-card-detalhe-curso__tag-formato{ 
221   
222  font-size:18px; 
223  font-weight:600; 
224   
225
226 
227.icon-formato{ 
228  margin-right:7px; 
229
230 
231.online-aovivo{ 
232  position:relative; 
233   
234
235 
236.icon-small-wifi { 
237    font-size: 13px; 
238    position: absolute; 
239    left: -12px; 
240    top: -5px; 
241
242 
243.ssp-desconto-2022 .modal-extensao_txteconomiza { 
244  font-size: 14px !important; 
245  font-weight: 100 !important; 
246
247.ssp-desconto-2022 .ssp-card-oferta-curso__desconto-content .ssp-card-oferta-curso__valor-desconto { 
248  font-weight: 100 !important; 
249
250.ssp-desconto-2022 .modal-extensao-btn-conheca { 
251  border: 1px solid #474F61 !important; 
252  border-radius: 4px; 
253  color: #474F61 !important; 
254  font-size: 15px; 
255  height: 50px; 
256  margin-left: 0; 
257  display: flex; 
258  align-items: center; 
259  justify-content: center; 
260
261 
262.ssp-card-modal-forma-pagamento.ssp-desconto-2022 { 
263  color: #454F63; 
264
265.ssp-card-oferta-curso__item-valor-investimento.ssp-desconto-2022 { 
266  font-size: 22px !important; 
267
268.ssp-card-oferta-curso__item-valor-investimento.ssp-desconto-2022 span { 
269  font-size: 13px !important; 
270
271.ssp-desconto-2022 span { 
272  padding: 0 !important; 
273
274 
275.ssp:not(.liferay-instance) .ssp-card-registro-interesse__select { 
276  appearance: none !important; 
277  -webkit-appearance: none !important; 
278  -moz-appearance: none !important; 
279 
280  background-size: 25px 25px !important; 
281  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOTIgNTEyIj48IS0tIEZvbnQgQXdlc29tZSBQcm8gNS4xNS40IGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlIChDb21tZXJjaWFsIExpY2Vuc2UpIC0tPjxwYXRoIGQ9Ik0xODcuOCAyNjQuNUw0MSA0MTIuNWMtNC43IDQuNy0xMi4zIDQuNy0xNyAwTDQuMiAzOTIuN2MtNC43LTQuNy00LjctMTIuMyAwLTE3TDEyMi43IDI1NiA0LjIgMTM2LjNjLTQuNy00LjctNC43LTEyLjMgMC0xN0wyNCA5OS41YzQuNy00LjcgMTIuMy00LjcgMTcgMGwxNDYuOCAxNDhjNC43IDQuNyA0LjcgMTIuMyAwIDE3eiIvPjwvc3ZnPg==); 
282  background-repeat: no-repeat !important; 
283  background-position-x: 99% !important; 
284  background-position-y: 50% !important; 
285
286 
287@media only screen and (max-width: 768px){ 
288 
289  .ssp-card-detalhe-curso__tag-ao-vivo{ 
290    font-size: 14px; 
291    display: none; 
292
293  .ssp:not(.liferay-instance) .ssp-aviso-novas-turmas__content { 
294     
295    flex-wrap: wrap!important; 
296     
297
298.ssp-card-modal-forma-pagamento__tipos-content p { 
299   
300  font-size: 12px!important; 
301
302     
303  
304  .ssp:not(.liferay-instance) .ssp-section-selecione-unidade { 
305      padding: 30px 0!important; 
306      padding-bottom: 30px !important; 
307      background-color: #2a2e43; 
308
309   
310  .ssp:not(.liferay-instance) .ssp-aviso-novas-turmas__title { 
311      padding-bottom: 1.25rem !important; 
312
313 
314  .selecione-unidade-title-custom{ 
315    width:100%!important; 
316 
317  }  
318   
319  .ssp-card-detalhe-curso__description{ 
320    width: 100%; 
321    font-size: 15px; 
322 
323
324  .ssp-como-me-matricular__passo-passo-card {     
325    padding: 30px 24px!important; 
326     
327
328 
329  .emed-select-group { 
330        box-shadow: none!important; 
331        border: none !important; 
332        border-bottom: 1px solid #6E6E6E!important; 
333        border-radius: 0 !important; 
334        padding: 0 !important; 
335        margin: 1rem 0 !important; 
336
337 
338    .emed .ssp-card-registro-interesse__title-modal{ 
339      font-size: 20px!important; 
340
341    .emed .ssp-card-registro-interesse__title-section-itens { 
342      font-size: 15px!important; 
343      margin-top: 0px!important; 
344      margin-bottom: 0px!important; 
345      color: #2a2e43; 
346
347    .ssp-card-registro-interesse.emed [type="checkbox"] { 
348        transform: scale(0.6); 
349        margin-left: 2px; 
350
351 
352    .ssp-card-registro-interesse.emed label { 
353      margin-left: 0px; 
354      margin-right: 3px; 
355
356
357 
358.ssp-card-oferta-curso__local-realizacao-content__title { 
359  font-family: "Open Sans", sans-serif; 
360    font-size: 10pt; 
361    font-weight: normal; 
362    color: #00488c; 
363    font-weight: bold; 
364    text-decoration: none!important; 
365    padding-left: 10px; 
366
367 
368 @media screen and (min-width: 767px){ 
369   
370  .ssp-modal-local-realizacao{ 
371      width: 480px!important; 
372
373   .ssp-card-modal-forma-pagamento__header {     
374    margin-bottom: 20px; 
375
376    
377   .ssp-modal-local-realizacao__title{ 
378    color:#01488C !important; 
379    text-align: center!important; 
380        margin-left: -23px!important; 
381
382   
383  .ssp:not(.liferay-instance) .ssp-modal-local-realizacao__title { 
384      font-size: 14pt; 
385
386  .ssp:not(.liferay-instance) [data-info="data-para-matricula"] { 
387    font-size: 14px !important; 
388    text-align: left;    
389
390  .ssp-modal-emed-txt-desconto-oito { 
391    padding: 10px 0 0px!important; 
392
393  .ssp:not(.liferay-instance) .ssp-modal-emed-info-valor-matricula { 
394    color: #4F596F; 
395    font-size: 15px!important; 
396    text-align: center; 
397    font-weight: 500!important; 
398
399
400  
401@media screen and (max-width: 767px){ 
402  .ssp:not(.liferay-instance) .ssp-modal-local-realizacao { 
403      width: 347px; 
404      padding: 22px; 
405
406  .ssp-modal {     
407    padding-top: 72px!important; 
408  }   
409  .ssp-card-modal-forma-pagamento { 
410    max-width: 335px!important; 
411
412  .ssp-card-modal-forma-pagamento__body { 
413    padding: 0px!important; 
414
415  .ssp-modal-emed-txt-desconto-oito { 
416    font-size: 12px !important; 
417
418  .ssp-card-modal-forma-pagamento__header { 
419    margin-bottom: 20px!important; 
420
421  .txt-desconto-oito i { 
422    font-size: 12px!important; 
423    padding-top: 3px; 
424
425  .txt-pague-vista { 
426    font-size: 12px!important; 
427
428  .txt-ganhe-mais { 
429    font-size: 12px!important; 
430
431  .ssp-modal-emed-info-valor-matricula { 
432    color: #2A2E43!important; 
433    font-size: 12px!important; 
434    font-weight: 500!important; 
435  }   
436  .ssp:not(.liferay-instance) [data-info="data-para-matricula"] { 
437    font-size: 12px !important; 
438    line-height: 1.5; 
439    text-align: left; 
440
441   
442  .ssp-desconto-2022 .txt-desconto-oito { 
443    font-size: 14px !important; 
444
445
446 
447@media screen and (max-width: 767px){ 
448  .ssp:not(.liferay-instance) .ssp-modal-local-realizacao__title { 
449      font-size: 16pt; 
450
451
452 
453.container-local-realizacao{ 
454  padding: 6px; 
455    border: 0.5pt solid #cdd0d8; 
456    border-radius: 5px; 
457    width: 260px; 
458    margin: 10px auto; 
459    box-shadow: 1px 1px 1px #0000000F; 
460
461 
462.idioma-online{ 
463  border:0!important; 
464  box-shadow:none!important; 
465
466 
467.btn-idiomas__aula-online .fa-wifi{ 
468  margin-right: 7px 
469
470 
471.ssp-modal-local-realizacao__title{ 
472  color:#01488C !important; 
473  text-align: center!important; 
474
475 
476h6.ssp-modal-local-realizacao__title::after { 
477    content: ""; 
478    display: block; 
479    width: 20%; 
480    padding-top: 10px; 
481    border-bottom: 1px solid #01488C; 
482    transition: .5s; 
483    margin:auto; 
484
485 
486.ssp:not(.liferay-instance) .ssp-card-oferta-curso__local-realizacao-content__icon-wifi::after { 
487  font-family: "Font Awesome 5 Free"; 
488    content: '\f1eb'; 
489    font-weight: 600; 
490    color: #00488c; 
491    font-size: 8px; 
492    font-style: normal; 
493    margin-left: 2px; 
494
495 
496.ssp:not(.liferay-instance) .ssp-card-oferta-curso__local-realizacao-content__icon-chalkboard-teacher::after { 
497    font-family: "Font Awesome 5 Free"; 
498    content: '\f51c'; 
499    font-weight: 600; 
500    color: #00488c; 
501    font-size: 13px; 
502    font-style: normal; 
503
504 
505.ssp-card-oferta-curso__local-realizacao-content__icon-wifi{ 
506    display: flex; 
507    margin-top: 0px; 
508    margin-bottom: -10px; 
509
510 
511.ssp:not(.liferay-instance) .ssp-modal__local-realizacao-content__icon-wifi::after { 
512  font-family: "Font Awesome 5 Free"; 
513    content: '\f1eb'; 
514    font-weight: 600; 
515    color: #00488c; 
516    font-size: 9pt; 
517    font-style: normal; 
518    margin-right: 10px; 
519
520 
521.ssp:not(.liferay-instance) .ssp-modal__local-realizacao-content__icon-chalkboard-teacher::after { 
522    font-family: "Font Awesome 5 Free"; 
523    content: '\f51c'; 
524    font-weight: 600; 
525    color: #00488c; 
526    font-size: 16pt; 
527    font-style: normal; 
528    margin-left: -16px; 
529
530 
531.ssp-modal__local-realizacao-content__icon-wifi{ 
532    display: flex; 
533    margin-right: 2px 
534
535 
536.ssp-modal-local-realizacao__texto{ 
537  text-align:center!important; 
538
539 
540.texto-modal-emed{ 
541	text-align:left; 
542
543 
544.nextPrevOpacity{ 
545  opacity: 0.3; 
546
547 
548   
549   .modal-extensao { 
550              display: block; 
551              position: fixed; 
552              z-index: 2000; 
553              padding-top: 100px; 
554              left: 0; 
555              top: 0; 
556              width: 100%; 
557              height: 100%; 
558              overflow: auto; 
559              background-color: black; 
560              background-color: rgba(0, 0, 0, 0.6); 
561              font-family: Montserrat; 
562
563          .modal-extensao_content { 
564              max-width: 700px; 
565              width: 100%; 
566              background: white; 
567              border-radius: 12px; 
568              padding: 30px 60px; 
569              position: relative; 
570              text-align: center; 
571              margin: auto; 
572              -webkit-animation-name: animatetop; 
573              -webkit-animation-duration: 0.4s; 
574              animation-name: animatetop; 
575              animation-duration: 0.4s; 
576          }     
577          .modal-extensao-condicoes__title { 
578              color: #000!important; 
579              text-transform: uppercase!important; 
580              font-size: 18px!important; 
581   
582
583          .modal-extensao-condicoes__subtitle { 
584              color: #000!important;             
585              font-size: 18px!important; 
586              margin-bottom: 0px!important; 
587   
588
589          .modal-extensao__btn { 
590              background-color: #5ACC75!important; 
591              font-size: 14px; 
592              float: right; 
593              color: #ffffff; 
594              min-width: 165px; 
595
596          .modal-extensao__btn:hover { 
597              background-color: #3fb25c!important; 
598              border-color: transparent; 
599              color: #ffffff; 
600          }     
601          .modal-extensao_subtitle { 
602              font-size: 13.7px!important; 
603              color: #2A2E43!important; 
604              font-family: Montserrat, semi-bold!important; 
605              font-weight: 600!important; 
606
607          .modal-extensao_subtitle::after { 
608              content: " "; 
609              display: block; 
610              width: 126px; 
611              height: 2px; 
612              background: #707070; 
613              margin: 0 auto; 
614              margin-top: 5px;  
615
616          .modal-extensao_preco { 
617              color: #454F63; 
618              font-size: 25px; 
619              font-family: Montserrat;             
620              font-weight: bold; 
621
622          .modal-extensao_ctboleto { 
623              width: 50%; 
624              float: left; 
625              border-color: #D7D7DB; 
626              border-style: solid; 
627              border-width: 1px; 
628              border-left: none; 
629              font-size: 21px; 
630              color: #454F63 
631                               
632
633          .modal-extensao_ctcard { 
634              width: 50%; 
635              float: left; 
636              border-color: #D7D7DB; 
637              border-style: solid; 
638              border-width: 1px; 
639              border-right: none;  
640              border-left: none; 
641              font-size: 21px;   
642              color: #454F63; 
643          }  
644          
645          .modal-extensao_txtPag { 
646              color:#2A2E43;   
647              font-size: 9px;  
648              font-family: Montserrat; 
649              font-weight: 600; 
650              display: block; 
651
652          .modal-extensao_txteconomiza { 
653              display: block; 
654              font-size: 12px; 
655
656          .modal-extensao_txtverde { 
657              color: #5ACC75; 
658
659          .modal-extensao_txtParcela { 
660              color:#2A2E43;   
661              font-size: 12px;  
662              font-family: Montserrat; 
663              font-weight: normal; 
664              display: block; 
665
666          .modal-extensao_txtporcent{ 
667              font-size: 9px; 
668              color: #5ACC75; 
669              font-weight: 600; 
670
671          .modal-extensao-btn-conheca { 
672              color: #2967F4 !important; 
673              background-color: transparent; 
674              border-color: #2967F4 !important; 
675              box-shadow: none !important; 
676              font-size: 14px !important; 
677              margin-left: 10px; 
678              transition: 0.3s; 
679              float: left; 
680
681           .modal-extensao-btn-conferir { 
682              color: #2967F4 !important; 
683              background-color: transparent; 
684              border-color: #2967F4 !important; 
685              box-shadow: none !important; 
686              font-size: 14px !important; 
687              margin-left: 10px; 
688              transition: 0.3s; 
689              min-width: 330px; 
690              min-height: 50px;             
691
692            .modal-extensao-btn-conferir:hover { 
693              color: #ffffff!important; 
694
695             
696           .modal-extensao-btn-conheca:hover, .modal-extensao-btn-conheca:focus { 
697              color: #ffffff!important; 
698           }  
699           .modal-extensao-btn-aluno-sim-nao { 
700              color: #000000; 
701              background-color: transparent; 
702              border-color: #000000 !important; 
703              box-shadow: none !important; 
704              font-size: 14px !important; 
705              margin-left: 10px; 
706              transition: 0.3s;  
707              min-width: 95px;            
708
709           .modal-extensao-btn-aluno-sim-ativo { 
710              color: #ffffff!important; 
711              background-color: #3969EB!important; 
712              border-color: #3969EB !important; 
713           }  
714           .modal-extensao-btn-aluno-sim-nao:hover { 
715              background-color: transparent; 
716              border-color: #3969EB !important; 
717              color: #3969EB!important;         }    
718           .modal-extensao-voltar-icon,.modal-extensao-fechar { 
719              font-size: 13px; 
720              position: absolute; 
721              top: 30px; 
722              right: 20px; 
723              cursor: pointer; 
724              color: #000; 
725
726  
727           .modal-extensao-voltar-txticon { 
728              color: #000; 
729              font-size: 9px; 
730              font-family: Montserrat; 
731              font-weight: 600; 
732              padding-left: 5px; 
733
734           .modal-extensao-ico-check { 
735              color: #5ACC75; 
736              font-size: 65px; 
737
738           .modal-extensao-aluno_txtcontent { 
739              font-size: 18px!important; 
740              color: #000; 
741
742           .modal-extensao-aluno__btn { 
743              background-color: #5ACC75!important; 
744              font-size: 14px;             
745              color: #ffffff; 
746              min-width: 330px; 
747              text-transform: uppercase; 
748              min-height: 50px; 
749           }  
750           .modal-extensao-aluno__btn:hover { 
751              color: #fff; 
752              background-color: #3fb25c!important; 
753              border-color: transparent; 
754              color: #ffffff;     
755
756           .modal-extensao-ico-percent { 
757              background-color: blue; 
758              color: #fff; 
759              font-size: 48px; 
760              border-radius: 50%; 
761              padding: 10px 18px;      
762
763   
764          .btn-preco-ex-aluno,.btn-preco-padrao{ 
765   
766            background:none; 
767            border: none; 
768            width: 100%; 
769            display: flex; 
770            align-items: center; 
771            justify-content: space-between; 
772            text-align: left; 
773            font-size: 14px; 
774
775   
776          .custom-icon-right{ 
777            transform: rotate(0); 
778            transition: all 0.5s; 
779
780   
781          .custom-icon-right-active{ 
782          transform: rotate(90deg);             
783
784   
785          .ssp-divisor{ 
786            width: 100%; 
787            color: #D7D7DB; 
788            margin: 15px 0; 
789
790   
791   
792          @media only screen and (max-width: 768px){ 
793   
794              .modal-extensao_content{ 
795                width:336px; 
796                padding: 60px 20px 20px 20px; 
797
798   
799              .modal-extensao__btn{ 
800                width: 100%; 
801
802   
803              .modal-extensao-modal-extensao__btn { 
804                  float: initial; 
805                  width: 234px; 
806
807              .modal-extensao-btn-conheca { 
808                  float: initial; 
809                  width: 100%; 
810                  margin-left: 0px; 
811
812              .modal-extensao-aluno__btn { 
813                  min-width: 234px; 
814
815              .modal-extensao-btn-conferir{ 
816                  min-width: 234px; 
817                  margin-left: 0px; 
818
819          }     
820 
821 
822/* Emed */ 
823.ssp-btn-emed__voltar-curso { 
824  border: 1px solid #474F61; 
825  color: #474F61; 
826  max-width: 372px; 
827  margin-left: 60px; 
828  height: 50px; 
829  padding: 12px!important; 
830
831 
832@media (max-width: 768px) { 
833  .ssp-btn-emed__voltar-curso { 
834    font-size: 14px; 
835    margin-left: 0px!important; 
836
837
838 
839@media only screen and (max-width: 767px){ 
840  .ssp:not(.liferay-instance) .ssp-emed-visita-text { 
841      margin: 0; 
842      transform: none; 
843      margin-left: 10px; 
844
845
846 
847.ssp:not(.liferay-instance) .icon-map-adress::after { 
848  padding: 0 8px 0 0; 
849
850 
851.ssp:not(.liferay-instance) .ssp-card-oferta-curso__mensagem-legal { 
852    margin: 5px 0; 
853
854 
855.ssp:not(.liferay-instance) .ssp-ofertas-emed__card-info-investimento .btn-card-investimento { 
856    width: 100%; 
857    color: white !important; 
858    font-size: 15px; 
859    font-weight: 600; 
860    margin: 10px 0; 
861
862 
863.ssp-modal-emed-info-txt-matricula { 
864  display: inline-block; 
865
866.ssp:not(.liferay-instance) .btn-card-investimento.--inscreva-se.disabled, .ssp:not(.liferay-instance) a.btn.btn-success.disabled.manutencao { 
867    background: #BFC3C9 !important; 
868    color: #454F63!important; 
869    opacity: 1!important; 
870    font-size: 14px; 
871    border:none; 
872
873 
874.ssp:not(.liferay-instance) .ssp-ofertas-emed__card-info-investimento .btn-card-investimento.--bolsas.disabled { 
875    background: #E5E8ED; 
876    color: #454F63!important; 
877    opacity: 1; 
878    font-size: 14px; 
879
880 
881.ssp:not(.liferay-instance) .ssp-ofertas-emed__card-info-investimento .btn-card-investimento.--inscreva-se { 
882    background-color: #5acc75; 
883    text-transform: none; 
884
885 
886.ssp:not(.liferay-instance) .ssp-ofertas-emed__card-info-investimento .link-descontos-parcelamentos { 
887    font-weight: 600; 
888
889 
890.ssp:not(.liferay-instance) .ssp-card-oferta-curso__sem-vaga-title { 
891    margin: 0; 
892
893 
894.ssp:not(.liferay-instance) .ssp-ofertas-emed__card-container { 
895 
896  padding: 0; 
897 
898
899 
900.ssp:not(.liferay-instance) .ssp-ofertas-emed__filtro-content { 
901    padding: 40px 0; 
902
903 
904.ssp:not(.liferay-instance) .ssp-ofertas-emed__card-info-investimento .txt-boleto-cartao { 
905    text-align: center; 
906
907.ssp-card-modal-emed-lineou { 
908height: 1px; 
909    background-color: #FC7834; 
910    text-align: center;     
911    width: 50%;     
912    margin: 0px auto; 
913    margin-bottom: 15px; 
914
915.ssp-card-modal-emed-lineou span { 
916background-color: white; 
917    position: relative; 
918    top: -0.8em; 
919    padding: 0 19px; 
920    font-weight: bold; 
921    color: #2A2E43; 
922    font-size: 15px; 
923
924.ssp-modal-emed-txtValor { 
925    font-size: 16px; 
926    color: #04488C; 
927    font-weight: bold; 
928
929.ssp-card-modal-emed-centralizaPagtos{ 
930max-width: 285px;margin:0 auto; margin-top: 18px!important; 
931
932.ssp-card-modal-forma-pagamento__tipos-content p { 
933  font-weight: 500!important; 
934
935.textoCartoesAceitos { 
936  font-weight: 500!important; 
937
938.ssp-card-modal-emed-valorObs { 
939    color: #004A8C; 
940    display: flex;     
941    justify-content: center; 
942    font-weight: 500; 
943    padding-top: 11px; 
944    font-size: 14px; 
945
946.ssp-card-modal-emed-boxDesconto{ 
947    border: 0!important; 
948    font-weight: 500!important; 
949    background-color: #F7F7F7; 
950    border-radius: 13px; 
951    padding: 20px 40px!important; 
952    margin-bottom: 0!important; 
953
954.ssp-modal-emed-boxoito { 
955    padding: 5px 45px!important; 
956    text-align: center;  
957    border-bottom: 0px!important; 
958
959.ssp-modal-emed-btfechar { 
960    position: absolute; 
961    right: 0; 
962    display: flex; 
963    flex-direction: column; 
964    text-align: center; 
965    line-height: 0.9; 
966    top: -48px; 
967    color: #E4E8F0; 
968    font-weight: 500; 
969    font-size: 14px; 
970
971.ssp-card-modal-forma-pagamento__btn-close:hover { 
972    opacity: .6; 
973
974.ssp-card-modal-emed-ano { 
975    font-weight: 500; 
976    font-size: 22px; 
977    color: #454F63; 
978}  
979.ssp:not(.liferay-instance) [data-info="msg-20-desconto"] {  
980    font-weight: 500!important; 
981 
982}  
983.ssp-card-modal-emed-valorObs i { 
984    padding-top: 2px; 
985    padding-right: 3px; 
986}   
987button[id^="btnComprarEmedModal_"] { 
988    height: 50px; 
989    font-weight: 600; 
990    max-width: 372px; 
991    width: 100%;     
992    margin: 0 auto; 
993    /* margin-left: 60px; */ 
994    display: block; 
995    height: 50px; 
996    padding: 12px !important; 
997 
998
999.obsspan { 
1000    justify-content: left; 
1001    padding-bottom: 10px; 
1002
1003 
1004 
1005 
1006 
1007@media only screen and (max-width: 767px){ 
1008 
1009    .ssp:not(.liferay-instance) .ssp-card-oferta-curso__mensagem-legal { 
1010      width: 100%; 
1011
1012 
1013    .ssp-card-modal-emed-valorObs { 
1014      font-size: 12px; 
1015    }  
1016    .obsspan { 
1017    justify-content: left; 
1018    margin-left: -14px!important; 
1019
1020    .ssp-modal-emed-boxoito { 
1021    padding: 5px 0px!important; 
1022
1023    .ssp-modal-emed-info-txt-matricula { 
1024    display: inherit; 
1025
1026    .ssp-card-modal-emed-boxDesconto{ 
1027      padding: 20px 20px!important; 
1028      font-size: 12px!important; 
1029   }   
1030   .ssp:not(.liferay-instance) [data-info="msg-20-desconto"] { 
1031    font-size: 12px !important; 
1032    font-weight: 500!important; 
1033  }  
1034  .ssp-modal-emed-btfechar { 
1035    font-size: 12px; 
1036 
1037  }   
1038  button[id^="btnComprarEmedModal_"] { 
1039    height: 50px;     
1040    padding: 10px; 
1041    border-radius: 4px; 
1042    margin-left: 0px!important 
1043
1044  button[id^="btnComprarEmedModal_"] span { 
1045    font-size: 15px; 
1046    font-weight: 600; 
1047
1048  .ssp-btn-emed__voltar-curso_0 { 
1049    font-weight: 600!important; 
1050    height: 50px; 
1051    border-radius: 4px!important; 
1052    padding: 14px!important; 
1053
1054     
1055 
1056}   
1057 
1058@media screen and (min-width: 1200px){ 
1059  .ssp-col-lg-without { 
1060    flex: unset; 
1061    width: unset; 
1062
1063
1064@media screen and (max-width: 1199px){ 
1065  .ssp-desconto-2022 .modal-extensao_txteconomiza { 
1066    font-size: 12px !important; 
1067
1068  .ssp-filters-px { 
1069    padding: 0 !important; 
1070
1071  .ssp-switch-label { 
1072    margin: auto 0 !important; 
1073
1074  .ssp-switch-label-message { 
1075    margin-top: 10px; 
1076    margin-bottom: 10px; 
1077    padding-right: 0 !important; 
1078    padding-left: 0 !important; 
1079
1080  .ssp-container-selecione-unidade [name="unidades-ofertas"] { 
1081    max-width: 316px!important; 
1082
1083  .ssp-detalhe-curso-titulo-filter { 
1084    font-size: 16px !important; 
1085
1086
1087 
1088 
1089.ssp-filters-px { 
1090  padding: 0 80px; 
1091
1092/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */ 
1093/* !!!!!!! CSS Destinado ao switch(toggle) !!!!!!! */ 
1094/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */ 
1095.ssp-switch { 
1096  position: relative; 
1097  display: inline-block; 
1098  width: 63px; 
1099  height: 32px; 
1100
1101 
1102.ssp-switch input {  
1103  opacity: 0; 
1104  width: 0; 
1105  height: 0; 
1106
1107 
1108.ssp-switch-label { 
1109  margin: auto 15px; 
1110  font: normal normal 600 16px/19px Montserrat; 
1111  letter-spacing: 0px; 
1112  color: #FFFFFF; 
1113  white-space: nowrap; 
1114
1115 
1116.ssp-switch-label-section { 
1117  font: normal normal 600 18px/22px Montserrat; 
1118  margin-bottom: 11px; 
1119
1120 
1121.ssp-switch-label-message { 
1122  font: normal normal medium 16px/19px Montserrat !important; 
1123  letter-spacing: 0px; 
1124  color: #FFFFFF; 
1125  margin-top: 16px; 
1126  padding-left: 25px; 
1127  padding-right: 25px; 
1128
1129 
1130.ssp-switch-divider { 
1131  border-bottom: 1px solid #4a4d5f; 
1132  width: 100%; 
1133
1134 
1135.ssp:not(.liferay-instance) .ssp-detalhe-curso-titulo-filter.ssp-detalhe-curso-titulo-filter { 
1136  font-size: 21px; 
1137
1138 
1139.ssp-switch-slider { 
1140  position: absolute; 
1141  cursor: pointer; 
1142  top: 0; 
1143  left: 0; 
1144  right: 0; 
1145  bottom: 0; 
1146  background-color: #00000000; 
1147  border: 1px solid #FFFFFF; 
1148  -webkit-transition: .4s; 
1149  transition: .4s; 
1150
1151 
1152.ssp-switch-slider:before { 
1153  position: absolute; 
1154  content: ""; 
1155  height: 21px; 
1156  width: 21px; 
1157  left: 4px; 
1158  bottom: 4px; 
1159  background-color: white; 
1160  -webkit-transition: .4s; 
1161  transition: .4s; 
1162
1163 
1164input:checked + .ssp-switch-slider { 
1165  background-color: #5ACC75; 
1166  border: 1px solid #5ACC75; 
1167
1168input:checked + .ssp-switch-slider-secondary { 
1169  background-color: #2967F4; 
1170  border: 1px solid #2967F4; 
1171
1172 
1173input:focus + .ssp-switch-slider { 
1174  box-shadow: 0 0 1px #5ACC75; 
1175
1176input:focus + .ssp-switch-slider-secondary { 
1177  box-shadow: 0 0 1px #2967F4; 
1178
1179 
1180input:checked + .ssp-switch-slider:before { 
1181  -webkit-transform: translateX(33px); 
1182  -ms-transform: translateX(33px); 
1183  transform: translateX(33px); 
1184
1185 
1186/* Rounded sliders */ 
1187.ssp-switch-slider.round { 
1188  border-radius: 34px; 
1189
1190 
1191.ssp-switch-slider.round:before { 
1192  border-radius: 50%; 
1193
1194 
1195/*Utilizado no modal de registro de interesse #9309*/ 
1196option[value=""][disabled] { 
1197  display: none; 
1198
1199/* Css para botao de idiomas online */ 
1200 
1201.btn-idiomas__aula-online{ 
1202  background:#5382FF; 
1203  color:white!important; 
1204  text-decoration:none!important; 
1205  padding:11px 14px; 
1206  border-radius:4px; 
1207  font-size:13px; 
1208  font-weight:600; 
1209  transition:.3s; 
1210
1211 
1212.btn-idiomas__aula-online:hover{ 
1213  background:#5275D1; 
1214  font-weight:600!important; 
1215
1216 
1217.title-idioma-online__modal,.icon-wifi-title__modal{ 
1218  color:#5382FF!important; 
1219  font-size:25px!important; 
1220  margin:0!important; 
1221  margin-right:5px!important; 
1222
1223 
1224.btn-modal-entendi__idioma-online{ 
1225  font-size:16px!important; 
1226  font-weight:600!important; 
1227  color:#5382FF!important; 
1228  border:#5382FF 1px solid!important; 
1229  padding:15px 142px; 
1230  width:auto!important; 
1231
1232 
1233.btn-modal-entendi__idioma-online:hover{ 
1234  font-size:16px!important; 
1235  font-weight:600!important; 
1236  color:#5382FF!important; 
1237  border:#5382FF 1px solid!important; 
1238  background:white!important; 
1239
1240 
1241@media only screen and (max-width: 768px){ 
1242   
1243  .title-idioma-online__modal,.icon-wifi-title__modal{ 
1244    color:#5382FF!important; 
1245    font-size:21px!important; 
1246    margin:0!important; 
1247    margin-right:5px!important; 
1248
1249   
1250  .btn-modal-entendi__idioma-online{ 
1251    font-size:16px!important; 
1252    font-weight:600!important; 
1253    color:#5382FF!important; 
1254    border:#5382FF 1px solid!important; 
1255    padding:12px 30%; 
1256    width:auto!important; 
1257
1258     
1259
1260 
1261.btn-emed-lista-espera{ 
1262  background-color:#C560C7!important; 
1263
1264 
1265.ssp:not(.liferay-instance) .ssp-container__form-select { 
1266    max-width: 430px; 
1267    width:100%; 
1268
1269 
1270 
1271@media (max-width: 768px){ 
1272  .ssp:not(.liferay-instance) .ssp-ofertas-emed__card { 
1273    margin: 10px 20px; 
1274    max-width: 335px; 
1275
1276
1277 
1278/* css EMED Registro de interesse */ 
1279 
1280.emed #periodo-registro-interesse,.emed #turmas-registro-interesse{ 
1281 
1282  display: flex; 
1283  align-items: center; 
1284  padding: 0.625rem 0; 
1285  width: 85%; 
1286  justify-content: space-between; 
1287  margin: 0 auto; 
1288 
1289
1290 
1291.ssp-card-registro-interesse__title-section-itens{ 
1292  margin: 10px 0 11.5px 0 !important; 
1293  font-size: 20px; 
1294  flex-basis: 120px; 
1295
1296 
1297.ssp-card-registro-interesse__check-itens-content { 
1298  display: flex!important; 
1299  justify-content: center!important; 
1300  flex: 0 1 90%!important; 
1301
1302.ssp-card-registro-interesse__check-item { 
1303  display: flex; 
1304  align-items: center; 
1305  flex-basis: 100px; 
1306
1307 
1308.ssp-card-registro-interesse label { 
1309  margin-right: 0!important; 
1310
1311 
1312.ssp-card-registro-interesse [type="checkbox"] { 
1313box-shadow: 0px 0px 6px #00000029; 
1314
1315 
1316#cursos-registro-interesse,#unidades-registro-interesse{ 
1317padding: 10px 0; 
1318
1319 
1320.emed-select-group{ 
1321 
1322box-shadow: 0px 0px 12px #00000010; 
1323border: 1px solid #6E6E6E; 
1324border-radius: 4px; 
1325padding: 1.0rem 1.125rem; 
1326margin: 1rem 0; 
1327 
1328
1329 
1330.ssp:not(.liferay-instance) .ssp-card-registro-interesse__add-mais > a { 
1331      color: #457eff !important; 
1332
1333 
1334.emed .ssp-card-registro-interesse__btn-enviar { 
1335background-color: #C560C7 !important; 
1336
1337 
1338.ssp-card-registro-interesse__title-modal{ 
1339color:#C560C7 !important; 
1340font-size: 35px !important; 
1341font-weight: bold !important; 
1342margin: 0 !important; 
1343
1344 
1345#msg-transferencia-emed{ 
1346display: flex; 
1347justify-content: center; 
1348flex: wrap; 
1349flex-direction: column; 
1350align-items: center; 
1351padding: 1rem 0; 
1352
1353 
1354.transferencia-emed-title { 
1355  color: #d266d4; 
1356  display: flex; 
1357  gap: 10px; 
1358  font-size: 16px; 
1359  font-weight: bold; 
1360  align-items:center; 
1361
1362 
1363.transferencia-emed-title p { 
1364  margin: 0 !important; 
1365  font-weight: bold !important; 
1366  font-size: 16px!important; 
1367
1368 
1369.transferencia-emed-link a{ 
1370  font-size: 15px; 
1371  font-weight: 500!important; 
1372  color: #792F7A; 
1373  display: block; 
1374  text-align: center; 
1375
1376 
1377.transferencia-emed-link a:hover { 
1378  font-weight: 500!important; 
1379  color: #792F7A; 
1380
1381 
1382.emed .ssp-card-registro-interesse__label-curso-selecionado{ 
1383color:#2A2E43!important; 
1384font-weight: bold!important; 
1385font-size: 28px; 
1386
1387 
1388 
1389/* css para registro de interesse atual */ 
1390 
1391#periodo-registro-interesse,#dias-registro-interesse{ 
1392padding: .625rem 0; 
1393
1394 
1395/* css card sem turma e registro de interesse emed*/ 
1396 
1397.slick-area-emed { 
1398    display: -webkit-box !important; 
1399    display: -ms-flexbox !important; 
1400    display: flex !important; 
1401    -webkit-box-align: center; 
1402    -ms-flex-align: center; 
1403    align-items: center; 
1404    -webkit-box-pack: center; 
1405        -ms-flex-pack: center; 
1406            justify-content: center; 
1407    font-size: 0; 
1408    -ms-flex-wrap: nowrap; 
1409        flex-wrap: nowrap; 
1410
1411   
1412  .slick-area-emed .slick-track, .slick-area-emed .slick-list { 
1413    width: 100%; 
1414
1415 
1416  @media only screen and (max-width: 1199px) and (min-width: 768px) { 
1417    .slick-area-emed--md-bleed { 
1418      width: 100vw; 
1419      left: calc(-1 * calc(50vw - (740px / 2) + 37px))!important; 
1420
1421    .slick-area-emed--md-bleed .slick-list { 
1422      padding-left: calc(calc(50vw - (768px / 2) + 37px)); 
1423      padding-right: calc(calc(50vw - (768px / 2) + 37px)); 
1424
1425    .slick-area-emed--md-bleed .slick-arrow { 
1426      display: none !important; 
1427
1428
1429   
1430  @media only screen and (min-width: 376px) and (max-width: 1024px) { 
1431    .slick-area-emed--md-bleed { 
1432      width: 100vw; 
1433      left: calc(-1 * (calc(100vw / 2) - calc(310px / 2) - 3px)); 
1434
1435    .slick-area-emed--md-bleed .slick-list { 
1436      padding-left: 2px; 
1437
1438    .slick-area-emed--md-bleed .slick-arrow { 
1439      display: none !important; 
1440
1441
1442   
1443  @media only screen and (max-width: 375px) { 
1444     
1445    .ssp-emed__card-slider-body { 
1446    padding: 25px 30px; 
1447
1448    
1449     
1450    .slick-area-emed--md-bleed { 
1451      width: 100vw; 
1452      left: calc(-1 * (calc(100vw / 2) - calc(310px / 2) - 3px)); 
1453
1454    /* .slick-area-emed--md-bleed .slick-list { 
1455      padding-left: 20px; 
1456 
1457    } */ 
1458    .slick-area-emed--md-bleed .slick-arrow { 
1459      display: none !important; 
1460
1461
1462 
1463  .slick-area__item { 
1464    display: flex; 
1465    flex-basis: auto; 
1466
1467 
1468  .ssp-emed__section__textCard { 
1469  margin: 20px 0 0 0; 
1470
1471 
1472  .ssp-emed__card-slider-body { 
1473    padding: 25px 50px; 
1474    min-height: 350px; 
1475    display: flex; 
1476    flex-direction: column; 
1477
1478 
1479  .slick-area__item { 
1480    display: flex; 
1481    flex-basis: auto; 
1482
1483 
1484  .ssp-emed__card-slider-body a { 
1485    text-decoration: none!important; 
1486    font-weight: normal; 
1487    color: #78849E 
1488
1489 
1490  .ssp-emed__card-slider-body a:hover {   
1491    font-weight: bold!important; 
1492    color: #2a2e43 
1493
1494 
1495  .ssp-emed__card-slider { 
1496      border-radius: 12px; 
1497      background: transparent; 
1498      -webkit-box-shadow: 0 0 12px 0 rgb(0 0 0 / 16%); 
1499      box-shadow: 0 0 12px 0 rgb(0 0 0 / 16%); 
1500      margin: 12px; 
1501      position: relative; 
1502      overflow: hidden; 
1503      color: #ffffff!important; 
1504      border: 1px solid #fff; 
1505      min-height: 350px; 
1506
1507 
1508  .slick-initialized .slick-track { 
1509      display: flex; 
1510
1511 
1512    .slick-initialized .slick-slide { 
1513      height: inherit!important; 
1514      display: flex; 
1515
1516 
1517  .ssp-emed__section__titleCard { 
1518  font-size: 28px !important; 
1519  color: #ffffff !important; 
1520  margin: 0 !important; 
1521  display: flex !important; 
1522  justify-content: flex-start !important; 
1523  flex-direction: row !important; 
1524  align-items: start !important; 
1525  flex-basis: 60px; 
1526
1527 
1528.ssp-emed__section__titleCard i { 
1529  font-size: 28px; 
1530  color: #ffffff; 
1531  margin: 0 0.85rem 0 0; 
1532  line-height: 30px; 
1533
1534 
1535.ssp-emed__section__titleCard i.fa-envelope { 
1536  margin-top: 0px;   
1537
1538 
1539.ssp-emed__section__titleCard i.fa-users-class { 
1540  margin-top:2px; 
1541
1542 
1543.ssp-emed__section__titleCard div { 
1544  text-decoration: underline; 
1545  font-size: 28px !important; 
1546  font-weight: bold; 
1547  margin: 0!important; 
1548  transform:translateY(-2px) 
1549
1550 
1551  .ssp-emed__section__introCard { 
1552    display: block; 
1553    font: 28px/30px 'Montserrat'; 
1554    font-weight: 600; 
1555    margin: 20px 0; 
1556    color: #ffffff;  
1557
1558 
1559  .ssp-emed__section__introCardCTA { 
1560    font: 34px/36px 'Montserrat'; 
1561    font-weight: bold; 
1562    display: block; 
1563    margin: 20px 0; 
1564    color: #ffffff;  
1565
1566 
1567  .ssp-emed__section__textCard { 
1568    font: 22px/30px 'Montserrat'; 
1569    color: #ffffff;  
1570    display: block; 
1571    margin: 20px 0 0 0; 
1572    position: relative; 
1573
1574 
1575  .ssp-emed__iconWrapper { 
1576    display: inline-block; 
1577    width: 50px; 
1578    color: #B053B2; 
1579    position: absolute; 
1580    bottom: 0; 
1581    right: 0; 
1582
1583 
1584  .ssp-emed__btn { 
1585    background-color: #B053B2 ; 
1586      color: #fff!important; 
1587      font: normal normal 600 18px/22px Montserrat; 
1588      box-shadow: 0px 4px 16px #455B6314; 
1589      width: 100%; 
1590      transition: .3s; 
1591      padding:10px!important; 
1592
1593 
1594  .ssp-emed__btn:hover { 
1595      opacity: 0.7; 
1596  }     
1597 
1598  /*mobile emed*/ 
1599  @media only screen and (max-width: 1024px) { 
1600    .slick-area-emed .slick-dots li.slick-active button:before { 
1601      opacity: .75; 
1602      color: #707070; 
1603
1604   
1605    .slick-area-emed .slick-dots li button:before { 
1606      color: blue; 
1607
1608 
1609    .ssp-card-detalhe-curso__secundary-info-carga-horaria { 
1610      min-width: 35%; 
1611      text-align: end; 
1612
1613
1614   
1615  @media only screen and (max-width: 1199px) and (min-width: 768px) { 
1616    .slick-area-emed--md-bleed { 
1617      width: 100vw; 
1618      left: calc(-1 * calc(50vw - (740px / 2) + 37px))!important; 
1619
1620    .slick-area-emed--md-bleed .slick-list { 
1621      padding-left: calc(calc(50vw - (768px / 2) + 37px)); 
1622      padding-right: calc(calc(50vw - (768px / 2) + 37px)); 
1623
1624    .slick-area-emed--md-bleed .slick-arrow { 
1625      display: none !important; 
1626
1627
1628   
1629  @media only screen and (min-width: 375px) and (max-width: 1024px) { 
1630      .slick-area-emed--md-bleed { 
1631        width: 100vw; 
1632        left: calc(-1 * (calc(100vw / 2) - calc(310px / 2) - 3px)); 
1633
1634      .slick-area-emed--md-bleed .slick-list { 
1635        padding-left: 2px; 
1636
1637      .slick-area-emed--md-bleed .slick-arrow { 
1638        display: none !important; 
1639
1640      .ssp-emed__section__titleCard { 
1641      align-items: start !important; 
1642
1643 
1644    .ssp-emed__section__titleCard div { 
1645      font-weight: bold !important; 
1646
1647 
1648    .ssp-emed__section__titleCard i { 
1649      font-weight: 300 !important; 
1650      font-size: 28px !important; 
1651      margin: 3px 0.85rem 0 0; 
1652
1653 
1654    .transferencia-emed-title { 
1655      font-size: 12px; 
1656
1657 
1658    .ssp:not(.liferay-instance) .ssp-card-registro-interesse__select { 
1659      background-size: 15px 15px !important; 
1660      padding: 0 10px; 
1661
1662
1663   
1664  @media only screen and (max-width: 550px) { 
1665 
1666    .ssp-emed__section__introCardCTA{ 
1667      font-size: 28px; 
1668
1669 
1670    #msg-transferencia-emed{ 
1671    gap:12px; 
1672
1673     
1674    
1675     
1676    .ssp-emed__card-slider { 
1677      width:335px; 
1678      min-height: 440px; 
1679
1680 
1681    .slick-initialized .slick-track { 
1682      display: flex; 
1683
1684 
1685    .slick-initialized .slick-slide { 
1686      height: inherit!important; 
1687      display: flex; 
1688      min-height: 440px; 
1689
1690 
1691  .ssp-emed__card-slider-body { 
1692    padding: 25px 30px; 
1693
1694 
1695  .ssp-emed__section__titleCard div { 
1696      transform: translateY(-5%); 
1697      font-size: 24px!important; 
1698
1699     
1700    .slick-area-emed--md-bleed { 
1701      width: 100vw; 
1702      left: calc(-1 * (calc(100vw / 2) - calc(310px / 2) - 3px)); 
1703
1704    .slick-area-emed--md-bleed .slick-list { 
1705      padding-left: 20px; 
1706
1707    .slick-area-emed--md-bleed .slick-arrow { 
1708      display: none !important; 
1709
1710 
1711    .ssp-card-registro-interesse__title-section-itens { 
1712    flex-basis: 80px; 
1713
1714 
1715  .emed #periodo-registro-interesse, .emed #turmas-registro-interesse { 
1716    width: 95%; 
1717
1718 
1719  .emed .ssp:not(.liferay-instance) .ssp-card-registro-interesse label { 
1720    margin: 0!important; 
1721
1722 
1723  .emed .ssp-card-registro-interesse.emed [type="checkbox"] { 
1724    margin-left: 0!important; 
1725
1726 
1727  .emed .ssp-card-registro-interesse__check-item { 
1728    flex-basis: 100px; 
1729
1730
1731 
1732  .emed-select-group { 
1733    box-shadow: 0px 0px 12px #00000010; 
1734    border: 1px solid #6E6E6E; 
1735    border-radius: 4px; 
1736    margin: 1rem 0; 
1737
1738 
1739.emed-select-group h4 { 
1740    margin: 15px 0 10px 0; 
1741
1742.ssp-emed__section__textCard { 
1743  margin: 20px 0 0 0; 
1744
1745 
1746.ssp-card-msg-sucesso__btn{ 
1747  font-size: 20px; 
1748
1749 
1750.ssp:not(.liferay-instance) .ssp-card-oferta-curso { 
1751  height:fit-content; 
1752
1753 
1754.ssp-card-duvida__bolsa-estudo{ 
1755 
1756background:#DCE8FF; 
1757padding: 30px; 
1758max-width: 683px; 
1759width: 100%; 
1760border-radius: 14px; 
1761display:flex; 
1762justify-content:center; 
1763align-items: center; 
1764gap: 20px;  
1765margin: 1rem auto; 
1766 
1767
1768 
1769.ssp-card-duvida__bolsa-estudo p{ 
1770 
1771font-size: 16px!important; 
1772font-weight: bold!important; 
1773color: #2967F4!important; 
1774margin: 0!important;; 
1775 
1776
1777 
1778.ssp-card-duvida__bolsa-estudo a{ 
1779 
1780border:1px solid #2967F4!important; 
1781font-size: 14px!important; 
1782font-weight: 600; 
1783text-decoration: none!important; 
1784color: #2967F4!important; 
1785padding:14px 27px; 
1786border-radius:6px; 
1787transition: .3s; 
1788 
1789
1790 
1791.ssp:not(.liferay-instance) .ssp-card-duvida__bolsa-estudo a:hover{ 
1792 
1793font-size: 14px!important; 
1794font-weight: 600!important; 
1795background: #2967F4!important; 
1796color:white !important; 
1797opacity:1!important; 
1798 
1799
1800 
1801@media only screen and (max-width: 768px){ 
1802 
1803.ssp-card-duvida__bolsa-estudo{ 
1804 
1805    background:#DCE8FF; 
1806    padding: 20px; 
1807    flex-flow: column; 
1808    width:90%; 
1809 
1810
1811 
1812.ssp-card-duvida__bolsa-estudo p{ 
1813 
1814    max-width:200px; 
1815    text-align: center; 
1816 
1817
1818 
1819.ssp-card-duvida__bolsa-estudo a{ 
1820 
1821    padding:16px 27px;          
1822 
1823
1824 
1825
1826 
1827/* Novo Card de Oferta */ 
1828 
1829  /* ajustes no card existente */ 
1830 
1831  .ssp:not(.liferay-instance) .ssp-card-oferta__info-turma{ 
1832    margin-bottom: 30px; 
1833
1834 
1835  .ssp:not(.liferay-instance) .ssp-card-oferta__info-turma-content { 
1836      margin-bottom: 5px; 
1837
1838 
1839  .ssp:not(.liferay-instance) .ssp-card-oferta-curso__item-data-periodo{ 
1840    margin: 5px 0 10px 0; 
1841
1842 
1843  .ssp:not(.liferay-instance) .ssp-card-oferta-curso__dia-hora-item { 
1844      border-radius: 0; 
1845      background-color: unset; 
1846      padding: 0; 
1847      max-width: 100%; 
1848      width: 100%; 
1849      margin: 0; 
1850
1851 
1852  .ssp:not(.liferay-instance) .ssp-card-oferta-curso__dia-hora_content{ 
1853      margin:0; 
1854      opacity: 0; 
1855      transition: 0.3s; 
1856
1857 
1858  .ssp:not(.liferay-instance) .ssp-card-oferta-curso__dia-hora-item__dia { 
1859      margin: 0; 
1860      font-size: 17px; 
1861      font-weight: bold; 
1862      font-stretch: normal; 
1863      font-style: normal; 
1864      line-height: 1.23; 
1865      letter-spacing: normal; 
1866      text-align: center; 
1867
1868 
1869  .ssp:not(.liferay-instance) .ssp-card-oferta-curso__dia-hora-item__hora { 
1870      margin: 0; 
1871      font-size: 17px; 
1872      font-weight: bold; 
1873      font-stretch: normal; 
1874      font-style: normal; 
1875      line-height: 1.3; 
1876      letter-spacing: normal; 
1877      text-align: center; 
1878
1879 
1880  .modal-extensao_txteconomiza{ 
1881      font-size: 14px; 
1882      color: #454F63; 
1883      font-weight: 400; 
1884
1885 
1886  .btn.btn-lg { 
1887      padding:.7rem; 
1888 
1889
1890 
1891  .ssp:not(.liferay-instance) .ssp-card-oferta-curso__desconto-content p{ 
1892    font-size: 17px; 
1893
1894 
1895  .ssp-card-oferta-curso__item-valor-investimento{ 
1896    font-size: 38px; 
1897
1898 
1899  .ssp:not(.liferay-instance) .ssp-card-oferta-curso__formas-pagamento-content .ssp-card-oferta-curso__formas-pagamento-content__title{ 
1900    color: #454F63; 
1901    font-weight: bold!important; 
1902    font-size: 14px; 
1903
1904 
1905.ssp:not(.liferay-instance) .ssp-card-oferta-curso__formas-pagamento-content .ssp-card-oferta-curso__formas-pagamento-content__icon-credit-card::after{ 
1906    color: #454F63!important; 
1907    font-size: 14px; 
1908
1909 
1910 
1911.ssp:not(.liferay-instance) .ssp-card-oferta-curso__formas-pagamento-content span{ 
1912    color:#454F63; 
1913    font-size: 14px; 
1914    font-weight: 400; 
1915
1916 
1917.ssp:not(.liferay-instance) .ssp-card-oferta-curso__formas-pagamento-content { 
1918    padding-bottom: 0; 
1919
1920 
1921  /* local realizacao */ 
1922 
1923  .ssp:not(.liferay-instance) .ssp-card-oferta-curso__local-realizacao-content__title { 
1924    font-size: 13px; 
1925    color: #00488C; 
1926    font-weight: 600; 
1927    text-decoration: none!important; 
1928    border: 1px solid #00488C; 
1929    padding: 11px 14px; 
1930    transition:.3s; 
1931    border-radius: 4px; 
1932    display: flex; 
1933    gap: 5px; 
1934    align-items: center; 
1935
1936   
1937  .ssp:not(.liferay-instance) .ssp-card-oferta-curso__local-realizacao-content__title:hover { 
1938      color: white; 
1939      font-weight: 600!important; 
1940      background: #08488C; 
1941  }  
1942     
1943  .container-local-realizacao { 
1944      padding:0; 
1945      border:0; 
1946      border-radius: unset; 
1947      width: 100%; 
1948      margin: 10px 0 0 0; 
1949      box-shadow: none; 
1950      display: flex; 
1951      justify-content:center; 
1952      align-items: flex-end; 
1953
1954 
1955  .icon-local-realizacao{ 
1956      color: #00488C; 
1957      font-size: 13px; 
1958  }  
1959   
1960   
1961  @media only screen and (max-width: 768px){ 
1962 
1963    .ssp:not(.liferay-instance) .ssp-card-oferta-curso__dia-hora-item__dia {  
1964        font-size: 16px; 
1965
1966 
1967    .ssp:not(.liferay-instance) .ssp-card-oferta-curso__title-item { 
1968        font-size: 14px!important; 
1969
1970 
1971    .ssp:not(.liferay-instance) .ssp-card-oferta-curso__valor-desconto{ 
1972        font-size: 15px; 
1973
1974 
1975    .ssp:not(.liferay-instance) .ssp-card-oferta-curso__item-valor-investimento { 
1976      font-size: 33px; 
1977
1978 
1979    .icon-local-realizacao { 
1980        font-size: 12px; 
1981
1982 
1983    .modal-extensao_txteconomiza { 
1984        font-size: 12px; 
1985
1986 
1987    .content-valores-descontos { 
1988        padding-bottom: 8px!important; 
1989
1990 
1991    .ssp:not(.liferay-instance) .ssp-card-oferta-curso__desconto-content p{ 
1992        font-size: 14px!important; 
1993
1994 
1995 
1996
1997 
1998     
1999     
2000 
2001/* final ajustes no card existente */ 
2002 
2003 
2004/* Novos elementos */ 
2005 
2006.content-data-dias{ 
2007    padding:20px; 
2008    padding-top:0; 
2009    border-bottom: none !important; 
2010
2011 
2012.content-valores-descontos{ 
2013    padding:20px 0 0 0; 
2014    opacity: 1; 
2015    height:auto; 
2016    transition: 0.3s; 
2017    overflow: hidden; 
2018    border-top: 1px #E4E8F0 solid;     
2019
2020 
2021.content-valores-descontos.hide-price{ 
2022     
2023    padding:0; 
2024    opacity: 0; 
2025    height:0; 
2026     
2027
2028 
2029.content-btn-bolsa{ 
2030 
2031    border-top: 1px #E4E8F0 solid; 
2032    padding-top:20px;     
2033 
2034
2035 
2036.content-btn-bolsa.modifier-content-show{ 
2037 
2038    padding-bottom: 20px; 
2039 
2040
2041 
2042.content-btn-bolsa.modifier-content-show .ou-separator-desconto{ 
2043    display:none; 
2044
2045 
2046.content-btn-bolsa.modifier-content-show .btn-show-price{ 
2047    display:none; 
2048
2049 
2050.content-buttons{ 
2051 
2052    padding:20px 0 0 0; 
2053 
2054
2055 
2056.block-valor-desconto{ 
2057 
2058  background-color:#F2F6FF; 
2059  padding: 30px 10px 15px 10px; 
2060  border-radius:12px; 
2061  position: relative; 
2062 
2063
2064 
2065.block-valor-desconto .ssp-card-oferta-curso__item-valor-investimento span { 
2066  font-size: 18px; 
2067
2068 
2069.block-valor-total{ 
2070 
2071  background-color:#F2F6FF; 
2072  padding:15px 10px; 
2073  border-radius:12px; 
2074  position: relative; 
2075 
2076
2077 
2078.block-valor-total .ssp-card-oferta-curso__title-item{ 
2079  font-size: 16px!important; 
2080  color: #454F63!important; 
2081  font-weight:500!important; 
2082
2083 
2084.block-valor-total .ssp-card-oferta-curso__item-valor-investimento{ 
2085  font-size:22px; 
2086
2087 
2088.block-valor-total .ssp-card-oferta-curso__item-valor-investimento span{ 
2089    font-size:11px; 
2090
2091 
2092.block-valor-total .ssp-card-oferta-curso__desconto-content p{ 
2093    font-size:14px; 
2094    font-weight: 500; 
2095
2096 
2097.tag-label-desconto{ 
2098 
2099background-color:#B6FDCF; 
2100border-radius: 15px; 
2101padding:5px; 
2102margin: -50px 20px 10px 20px; 
2103 
2104
2105 
2106.tag-label-desconto span, .tag-label-desconto small{ 
2107font-size: 16px!important; 
2108font-weight: bold!important; 
2109color: #454F63!important; 
2110
2111 
2112 
2113 
2114.ou-separator-desconto{ 
2115    font-size: 16px; 
2116    color: #454F63; 
2117    font-weight: bold; 
2118    display:flex; 
2119    flex-wrap: nowrap; 
2120    align-items: center; 
2121    justify-content:space-between; 
2122    gap: 15px; 
2123    padding:20px 0; 
2124
2125 
2126.ou-separator-desconto::after{ 
2127    content: ""; 
2128    height:2px; 
2129    background-color:#E4E8F0; 
2130    width: 100%; 
2131    display: block; 
2132
2133 
2134.ou-separator-desconto::before{ 
2135  content: ""; 
2136  height:2px; 
2137  background-color:#E4E8F0; 
2138  width: 100%; 
2139  display: block; 
2140
2141 
2142.btn-show-price{ 
2143 
2144  background: unset; 
2145  border: 0; 
2146  font-size: 14px!important; 
2147  color: #454F63!important; 
2148 
2149
2150 
2151.btn-show-price p{ 
2152  margin: 0 !important; 
2153
2154 
2155.btn-show-price span{ 
2156  text-decoration: underline; 
2157  font-weight: bold; 
2158
2159 
2160@media only screen and (max-width: 768px){ 
2161 
2162  .content-data-dias{ 
2163 
2164    padding:20px 0; 
2165 
2166
2167 
2168  .ssp-card-oferta-curso__local-realizacao-content__title { 
2169 
2170      font-size: 14px; 
2171      display:flex; 
2172      align-items: center; 
2173      gap: 5px; 
2174      padding: 10px 13px; 
2175
2176 
2177  .ssp-card-oferta-curso__local-realizacao-content__title i{ 
2178 
2179      font-size: 11px; 
2180
2181 
2182  .tag-label-desconto span, .tag-label-desconto small { 
2183      font-size: 13px!important; 
2184
2185 
2186  .tag-label-desconto { 
2187      padding: 5px; 
2188      margin: -50px 12px 10px 12px; 
2189
2190 
2191  .block-valor-desconto .ssp-card-oferta-curso__item-valor-investimento span { 
2192      font-size: 18px; 
2193
2194 
2195  .content-buttons { 
2196      padding: 10px 0 0 0; 
2197
2198 
2199 
2200
2201 
2202/*final Novo card de ofertas*/ 
2203 
2204/* form aprendizagem */ 
2205 
2206[data-modal="modal"]{ 
2207  background-color: rgba(0,0,0,0.7); 
2208  backdrop-filter: blur(10px); 
2209  display:none; 
2210
2211 
2212[data-modal="close-form-modal"]{ 
2213   
2214  font-size: 22px; 
2215  background: unset!important; 
2216  color: white!important; 
2217  display: flex; 
2218  align-items: center; 
2219  margin: 0; 
2220  padding: 0; 
2221  position:absolute; 
2222  right:0; 
2223  border:0; 
2224  gap:5px; 
2225  right: 2%; 
2226  top: -2%; 
2227   
2228
2229 
2230[data-modal="close-form-modal"] i{ 
2231   
2232  font-size:43px; 
2233  height:fit-content; 
2234   
2235
2236 
2237.open-modal-form{ 
2238  position: fixed; 
2239  top: 0; 
2240  width: 100%; 
2241  height: 100%; 
2242  z-index: 100; 
2243  display: flex; 
2244  justify-content: center; 
2245  align-items: center; 
2246  overflow:auto; 
2247 
2248
2249 
2250.open-modal-form .ssp_ct_form_programe{ 
2251    animation-name: animatetop; 
2252    animation-duration: .4s; 
2253    position:relative; 
2254
2255 
2256label .reference-mark { 
2257color:#78849e; 
2258
2259.lexicon-icon-asterisk { 
2260  color:#78849e; 
2261
2262.lexicon-icon-reload { 
2263  margin-left:10px; 
2264
2265.ssp_title_form_programe{ 
2266    font-size: 42px!important; 
2267    color: #ffffff!important; 
2268    font-family: "Montserrat",sans-serif; 
2269    font-weight:600; 
2270    text-align:left; 
2271
2272.ssp_subtitle_form_programe { 
2273  margin-top:0px!important; 
2274   
2275
2276.ssp_subtitle_form_programe{ 
2277  font-size: 20px!important; 
2278    color: #ffffff!important; 
2279    font-family: "Montserrat",sans-serif; 
2280    font-weight:600; 
2281    text-align:left; 
2282
2283.lfr-ddm-form-page { 
2284background-color: #fff; 
2285border-radius: 12px 12px 0px 0px; 
2286padding: 35px 15px!important; 
2287
2288.ssp:not(.liferay-instance) .form-group label { 
2289 color: #78849E; 
2290 font: normal normal 600 16px/19px Montserrat; 
2291 padding-bottom: 10px; 
2292
2293.lfr-ddm-form-page-description {  
2294display: none!important; 
2295
2296.lfr-ddm-form-page-title { 
2297display: none!important; 
2298
2299.lfr-ddm-form-submit { 
2300background-color: #0380F0; 
2301    text-align: center; 
2302    float: none!important; 
2303    border: 1px solid #0380F0; 
2304    border-radius: 6px; 
2305    font-size: 16px; 
2306    width: 245px; 
2307    height: 50px; 
2308
2309.lfr-ddm-form-pagination-controls { 
2310background-color: #fff; 
2311    text-align: center; 
2312    border-radius: 0px 0px 12px 12px; 
2313    padding-bottom: 25px; 
2314
2315.ddm-form-name { 
2316display: none!important; 
2317
2318.ddm-form-description { 
2319display: none!important; 
2320
2321.ddm-form-builder-app { 
2322margin-top:35px; 
2323
2324.taglib-captcha { 
2325  display: flex; 
2326
2327.input-text-wrapper { 
2328  left: 20px; 
2329
2330.lfr-ddm-form-pagination-controls { 
2331  padding-top:0px!important; 
2332  display:flex; 
2333  justify-content:center; 
2334  align-items: center; 
2335  flex-flow:column; 
2336
2337@media only screen and (max-width: 1024px) { 
2338   
2339.open-modal-form{ 
2340   
2341  align-items: flex-start; 
2342   
2343}   
2344 
2345.ddm-form-builder-app { 
2346    margin-top: 15px; 
2347
2348   
2349.ssp_title_form_programe{ 
2350font-size: 34px!important; 
2351line-height: 1.2!important; 
2352
2353.ssp_subtitle_form_programe{ 
2354font-size:18px!important; 
2355
2356.taglib-captcha { 
2357  display:block; 
2358
2359.input-text-wrapper { 
2360  left:0; 
2361
2362.ssp_ct_form_programe { 
2363  padding:0px; 
2364  max-width:100%; 
2365  padding:40px 20px; 
2366
2367 
2368[data-modal="close-form-modal"]{ 
2369   
2370  right: 20px; 
2371  top: 0; 
2372   
2373
2374 
2375
2376 
2377.ssp:not(.liferay-instance) a.btn.btn-success.disabled{ 
2378	pointer-events: none; 
2379	opacity: 0.5 !important; 
2380	color: #FFF !important; 
2381	background-color: #4CBF69 !important; 
2382	cursor: not-allowed; 
2383	border: none !important; 
2384	font-size: 0.9rem !important; 
2385
2386 
2387.slick-list.draggable { 
2388  height: auto !important; 
2389
2390 
2391.ssp:not(.liferay-instance) .ssp-image-opacity { 
2392 
2393  opacity: 1; 
2394  object-fit: cover; 
2395  object-position: center; 
2396 
2397
2398 
2399.ssp-option-group { 
2400  text-align: left; 
2401  font: normal normal 600 15px/19px Montserrat; 
2402  letter-spacing: 0px; 
2403  color: #004A8C; 
2404
2405.ssp-option { 
2406  text-align: left; 
2407  font: normal normal normal 15px/19px Montserrat; 
2408  letter-spacing: 0px; 
2409  color: #656565; 
2410
2411@media only screen and (max-width: 768px){ 
2412  .ssp-option-group { 
2413    font: normal normal 600 15px/19px Montserrat; 
2414
2415  .ssp-option { 
2416    font: normal normal normal 15px/19px Montserrat; 
2417
2418
2419 
2420.open-modal-form.lfr-ddm__default-page-header{ 
2421    display:none; 
2422
2423 
2424/* css para funcionalidade de híbrido */ 
2425 
2426.ssp-emed__vantagens-content.livre span{ 
2427  color: #FF9057!important; 
2428
2429.ssp-emed__vantagens-content.livre a:hover { 
2430    color: white; 
2431    background-color: #FF9057!important;; 
2432    border: 1px solid #FF9057!important;; 
2433
2434.ssp-emed__vantagens-content.tecnico span{ 
2435  color: #F7BD23!important; 
2436
2437.ssp-emed__vantagens-content.tecnico a:hover { 
2438    color: white; 
2439    background-color: #F7BD23!important;; 
2440    border: 1px solid #F7BD23!important;; 
2441
2442.ssp-emed__vantagens-content.ensino-medio-tecnico span{ 
2443  color: #C761CB!important; 
2444
2445.ssp-emed__vantagens-content.ensino-medio-tecnico a:hover{ 
2446    color: white; 
2447    background-color: #C761CB!important;; 
2448    border: 1px solid #C761CB!important;; 
2449
2450.ssp-emed__vantagens-content.extensao span{ 
2451  color: #3ECCA6!important; 
2452
2453.ssp-emed__vantagens-content.extensao a:hover{ 
2454    color: white; 
2455    background-color: #3ECCA6!important; 
2456    border: 1px solid #3ECCA6!important; 
2457
2458 
2459/* Transferencias EMED */ 
2460 
2461.emed-transferencias-space{ 
2462  max-width: 772px; 
2463
2464 
2465.card-transferencias-emed { 
2466  text-align: left; 
2467
2468 
2469.card-transferencias-emed .ssp-emed__card-slider-body{ 
2470  padding: 30px; 
2471
2472 
2473.card-pre-inscricao { 
2474  text-align: center; 
2475
2476 
2477.card-pre-inscricao .ssp-emed__card-slider-body{ 
2478  justify-content: space-evenly; 
2479
2480 
2481.footer-card-card-pre-inscricao{ 
2482      margin-top: 48px; 
2483
2484 
2485.card-transferencias-emed, .card-pre-inscricao{ 
2486  span, strong{ 
2487    font-size: 24px; 
2488
2489  span{ 
2490    font-weight: 500; 
2491
2492  strong{ 
2493    font-weight: 700; 
2494
2495  .transferencias-emed-rodape{ 
2496    margin-top:25px; 
2497    span{ 
2498      font-size:0.9rem; 
2499      font-weight: 400; 
2500
2501
2502
2503 
2504@media only screen and (max-width: 768px){ 
2505  .card-pre-inscricao { 
2506    text-align: left; 
2507
2508 
2509  .footer-card-card-pre-inscricao{ 
2510      margin-top: 24px; 
2511
2512 
2513  .footer-card-card-pre-inscricao strong{ 
2514      margin-top: 24px; 
2515      font-size: 24px!important; 
2516
2517 
2518  .card-pre-inscricao .ssp-emed__card-slider { 
2519        width: 100%; 
2520        max-width: 329px; 
2521        min-height: 390px; 
2522        margin: 0; 
2523
2524 
2525  .card-pre-inscricao .ssp-emed__card-slider:nth-child(n+2){ 
2526        margin: 12px; 
2527
2528 
2529  .card-transferencias-emed, .card-pre-inscricao{ 
2530    span, strong{ 
2531      font-size: 16px; 
2532
2533    .ssp-emed__section__titleCard{ 
2534      flex-basis: 0; 
2535      margin-bottom: 24px!important; 
2536      align-items: center!important; 
2537    }  
2538 
2539    .ssp-emed__section__titleCard i{ 
2540      font-size: 24px!important; 
2541
2542 
2543    .ssp-emed__section__titleCard div{ 
2544      font-size: 20px !important; 
2545
2546
2547 
2548  .slick-area__item.card-pre-inscricao{ 
2549    min-height: 390px!important; 
2550
2551 
2552  .card-transferencias-emed .ssp-emed__card-slider{ 
2553    margin: 0; 
2554
2555 
2556  .card-transferencias-emed .ssp-emed__card-slider{ 
2557    margin: 0; 
2558    min-height: 300px; 
2559
2560 
2561  .card-transferencias-emed .col-md-12{ 
2562    padding: 0; 
2563
2564 
2565  .card-transferencias-emed .transferencias-emed-rodape span{ 
2566    font-size: 12px; 
2567
2568 
2569  .ssp-ofertas-emed__filtro-content .btn-filtro{ 
2570    width:156px !important; 
2571    font-size:14px !important; 
2572
2573 
2574  #titulo-emed{ 
2575    text-transform: uppercase; 
2576
2577 
2578  .emed-transferencias-space div:nth-child(n+2){ 
2579    padding-left:0; 
2580
2581 
2582  .emed-transferencias-space .slick-area-emed--md-bleed{ 
2583    position: inherit; 
2584
2585 
2586
2587 
2588</style> 
2589                
2590	 
2591  <#assign 
2592     
2593    prefix = "ssp" 
2594    nomeVocabularioTipoCurso = 'tipo-de-curso' 
2595     
2596   
2597    nomeVocabularioUnidades = 'unidades' 
2598     
2599    nomeVocabularioFormato = 'formato' 
2600     
2601    nomeFormato = ""   
2602    nomeVocabularioModalidade = 'modalidade' 
2603     
2604    nomeModalidade = ""   
2605     
2606    normalizer = serviceLocator.findService("com.liferay.portal.kernel.util.FriendlyURLNormalizer") 
2607   
2608    journalArticle = getJournalArticle() 
2609  /> 
2610   
2611  <#if journalArticle?contains("#erro#")> 
2612    erro 
2613  <#else> 
2614   
2615    <#assign 
2616   
2617      categories = getCategorias(journalArticle.getResourcePrimKey()) 
2618  
2619      document = saxReaderUtil.read(journalArticle.getContent()).getRootElement() 
2620   
2621      xPathSelector = saxReaderUtil.createXPath("dynamic-element[@field-reference='dataEfetivaFTFieldSet']") 
2622			dataEfetivaFTFieldSet	= xPathSelector.selectSingleNode(document) 
2623        
2624		  xPathSelector = saxReaderUtil.createXPath("//dynamic-element[@field-reference='dataEfetivaFT']") 
2625			dataEfetiva = xPathSelector.selectSingleNode(document) 
2626						  
2627			dataEfetivaSTR = dataEfetiva.elementText("dynamic-content")?string 
2628   
2629      articleId = journalArticle.getArticleId() 
2630   
2631      codigoFT = getStringValue(document,'codigoFT') 
2632   
2633      tituloComercial = journalArticle.getTitle() 
2634   
2635      objetivo = getStringValue(dataEfetivaFTFieldSet, 'objetivoComercial') 
2636       
2637      cargaHoraria = getStringValue(dataEfetivaFTFieldSet, 'cargaHorariaTotalFT') 
2638   
2639      oQueVouAprenderComercial = getStringValue(dataEfetivaFTFieldSet, 'oQueVouAprenderComercial') 
2640   
2641      comoVouAprenderComercial = getStringValue(dataEfetivaFTFieldSet, 'comoVouAprenderComercial') 
2642			 
2643			possoFazerEsteCursoComercial = getStringValue(dataEfetivaFTFieldSet, 'possoFazerEsteCursoComercial') 
2644						  
2645      tereiCertificadoComercial = getStringValue(dataEfetivaFTFieldSet, 'tereiCertificadoComercial') 
2646   
2647      tereiDiplomaComercial = getStringValue(dataEfetivaFTFieldSet, 'tereiDiplomaComercial') 
2648   
2649      precisoEstagiarComercial = getStringValue(dataEfetivaFTFieldSet, 'precisoEstagiarComercial') 
2650   
2651      comoMeMatricularComercial = getStringValue(dataEfetivaFTFieldSet, 'comoMeMatricularComercial') 
2652   
2653      oQueMaisPrecisoSaberComercial = getStringValue(dataEfetivaFTFieldSet, 'oQueMaisPrecisoSaberComercial') 
2654       
2655      normalizedModalidadeName  = "" 
2656   
2657    /> 
2658	 
2659    <div style="display: none;">ElasticSearchNaoRetornarFiltro </div> 
2660    <input type="hidden" name="codigoFT" value="${codigoFT}" /> 
2661    <input type="hidden" name="articleId" value="${articleId}" /> 
2662   
2663    <input type="hidden" name="dataEfetivaSTR" value="${dataEfetivaSTR}" /> 
2664     
2665    <input type="hidden" name="codUnidadeSelecionada" value="" /> 
2666   
2667    <#list categories as category> 
2668       
2669      <#assign 
2670        vocabulary = getVocabulary(category.getVocabularyId()) 
2671      /> 
2672   
2673      <#if normalizer.normalize(vocabulary.getName()) == nomeVocabularioTipoCurso> 
2674   
2675        <#assign 
2676          categoriaTipoCurso = category 
2677          normalizedCategoryName = normalizer.normalize(category.getName()) 
2678        /> 
2679         
2680        <input type="hidden" name="tipoCurso" value="${normalizedCategoryName}" /> 
2681         
2682      <#elseif normalizer.normalize(vocabulary.getName()) == nomeVocabularioUnidades> 
2683   
2684        <input type="hidden" name="unidades" value="${category.getCategoryId()}" data-unidade="${category.getName()}" /> 
2685       
2686      <#elseif normalizer.normalize(vocabulary.getName()) == nomeVocabularioModalidade> 
2687     
2688      <#assign 
2689          categoriaModalidade = category 
2690          normalizedModalidadeName = normalizer.normalize(category.getName()) 
2691           
2692        /> 
2693         
2694        <input type="hidden" name="modalidades" value="${normalizedModalidadeName}" /> 
2695         
2696      <#elseif normalizer.normalize(vocabulary.getName()) == nomeVocabularioFormato> 
2697      <#assign 
2698        nomeFormato = category.getName() 
2699      /> 
2700        
2701        
2702       <#assign idFormato = category.getCategoryId() /> 
2703        <#if nomeFormato == "Presencial + EAD" > 
2704            <input type="hidden" name="formato" value="${category.getCategoryId()}" data-formato="Presencial + EAD" /> 
2705        <#else> 
2706        	<input type="hidden" name="formato" value="${category.getCategoryId()}" data-formato="${category.getName()}" /> 
2707        </#if> 
2708      </#if> 
2709    </#list> 
2710   
2711    <#assign xPathSelector = saxReaderUtil.createXPath("//dynamic-element[@field-reference='imagemComercial']")> 
2712   
2713    <#if xPathSelector.selectSingleNode(dataEfetivaFTFieldSet)?? > 
2714   
2715      <#assign imagemStr = xPathSelector.selectSingleNode(dataEfetivaFTFieldSet).getStringValue()> 
2716      <#if imagemStr?contains("{") > 
2717        <#assign 
2718          imagemJson = jsonFactoryUtil.createJSONObject(imagemStr) 
2719          imagemId = getterUtil.getInteger(imagemJson.get('fileEntryId')) 
2720          dl = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppService") 
2721          dlURLHelper = serviceLocator.findService("com.liferay.document.library.util.DLURLHelper") 
2722          fileEntry = dl.getFileEntry(imagemId) 
2723          imagemAlt = imagemJson.get('alt') 
2724          imagemUrl = dlURLHelper.getDownloadURL(fileEntry, fileEntry.getFileVersion(), themeDisplay,null) 
2725        /> 
2726      <#else> 
2727        <#assign imagemUrl = ""> 
2728      </#if>   
2729   
2730    <#else> 
2731      <#assign imagemUrl = ""> 
2732    </#if> 
2733    
2734    
2735    <#assign  
2736          
2737        URLCodec = staticUtil["com.liferay.portal.kernel.util.URLCodec"]  
2738        HtmlUtil = staticUtil["com.liferay.portal.kernel.util.HtmlUtil"]  
2739       StringPool = staticUtil["com.liferay.petra.string.StringPool"]  
2740       dlFileEntryLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")  
2741        
2742         xPathSelector = saxReaderUtil.createXPath("//dynamic-element[@field-reference='quaisMateriaisComercial']") 
2743         quaisMateriaisComercialPDFStr = xPathSelector.selectSingleNode(dataEfetivaFTFieldSet).getStringValue() 
2744     /> 
2745	 
2746    <#if quaisMateriaisComercialPDFStr?contains('classPK') > 
2747     
2748      <#assign  
2749         
2750       PDFJson = jsonFactoryUtil.createJSONObject(quaisMateriaisComercialPDFStr) 
2751       classPKNumber = PDFJson.classPK?number 
2752       fileEntry = dlFileEntryLocalService.getDLFileEntry(classPKNumber) 
2753       folderId = fileEntry.getFolderId() 
2754       title = fileEntry.getTitle() 
2755        
2756       quaisMateriaisComercialPDFUrl = themeDisplay.getPortalURL() + themeDisplay.getPathContext() + "/documents/" + themeDisplay.getScopeGroupId() + StringPool.SLASH + folderId +  StringPool.SLASH + URLCodec.encodeURL(HtmlUtil.unescape(title)) 
2757       /> 
2758     
2759    <#else> 
2760      <#assign quaisMateriaisComercialPDFUrl = ""> 
2761    </#if> 
2762     
2763    <#function getFirstArticleStructure categoryId structureName> 
2764                <#attempt> 
2765                        <#assign searchImpl = serviceLocator.findService("br.senac.search.api.Search")> 
2766                        <#assign companyId = themeDisplay.getCompanyId()> 
2767                        <#assign groupId = themeDisplay.getScopeGroupId()> 
2768                        <#assign articles = searchImpl.findArticlesByCategoryIds(companyId, groupId, structureName, (categoryId gt 0)?then([categoryId],[]), true, 0, 1)> 
2769                        <#if articles?size gt 0> 
2770                                <#return articles?first> 
2771                        </#if> 
2772                        <#return ''> 
2773                <#recover> 
2774                                <#return ''> 
2775                </#attempt> 
2776        </#function> 
2777 
2778  
2779  <#assign  
2780    nomeTipoCurso = categoriaTipoCurso.getName() 
2781    nomeCategoriaTipoCurso = categoriaTipoCurso.getName() 
2782    idTipoCurso = categoriaTipoCurso.getCategoryId() 
2783         /> 
2784         <input type="hidden" name="nomeCategoriaTipoCurso" value="${nomeCategoriaTipoCurso}" /> 
2785 
2786      <#if nomeTipoCurso?contains("Ensino Médio Técnico")> 
2787 
2788        <#assign  
2789        nomeTipoCurso = categoriaTipoCurso.getName() 
2790        />  
2791         
2792        <input type="hidden" name="idTipoCurso" value="${idTipoCurso}" /> 
2793 
2794        <#elseif (nomeTipoCurso?contains("cnico") && !nomeTipoCurso?contains("EAD") ) || nomeTipoCurso?contains("Livre") > 
2795 
2796        <#assign  
2797         nomeTipoCurso = "Cursos "+ categoriaTipoCurso.getName() + "s" 
2798        /> 
2799 
2800      <#else> 
2801          <#assign  
2802              nomeTipoCurso = categoriaTipoCurso.getName() 
2803          />  
2804        <#assign nomeTipoCurso = categoriaTipoCurso.getName()/>  
2805    
2806    </#if> 
2807     
2808    <#--  Caso o curso seja do formato hibrido, busca o webcontent da pasta Onde as aulas vão acontecer - hibrido  --> 
2809    <#if nomeFormato == "Presencial + EAD"> 
2810        <#assign 
2811                hibridoStructure = getFirstArticleStructure(idFormato,"formato-hibrido") 
2812                documentHibrido = saxReaderUtil.read(hibridoStructure.getContent()) 
2813                rootElement = documentHibrido.getRootElement() 
2814                xPathSelector = saxReaderUtil.createXPath("dynamic-element[@field-reference='textoFormatoHibrido']") 
2815        /> 
2816        <#if xPathSelector.selectSingleNode(rootElement)?? > 
2817              <#assign txtHibrido = xPathSelector.selectSingleNode(rootElement).getStringValue()?trim /> 
2818              <input type="hidden" name="textoFormatoHibrido" value="${txtHibrido}"/> 
2819        </#if>               
2820  	</#if>               
2821     
2822     
2823    <#--  dados de compartilhamento  --> 
2824    <@liferay_util["html-top"]> 
2825        <meta name="image" property="og:image" content="${imagemUrl}"> 
2826        <meta property="og:image:width" content="1024"> 
2827    </@> 
2828    <#--  dados de compartilhamento  --> 
2829       
2830     
2831    <#assign  
2832      webContentServiceUtil = serviceLocator.findService("br.senac.services.service.WebContentServiceUtil") 
2833 
2834      temasMercadologicos = webContentServiceUtil.getTemasPorArticleId(themeDisplay.getScopeGroupId(), journalArticle) 
2835      categoriesIdiomas = temasMercadologicos?filter(c -> c.getName()?lower_case?contains("idioma")) 
2836      hasIdiomas = categoriesIdiomas?has_content 
2837      hasEMED = normalizedModalidadeName?contains("ensino-medio") 
2838    /> 
2839 
2840    <#function getManutencao> 
2841 
2842      <#assign manutencaoStructure = getFirstArticleStructure(idTipoCurso,"manutencoes") /> 
2843      <#if manutencaoStructure == ""> 
2844        <#return {"bolsa":"", "compra":"", "rodape":""} /> 
2845      </#if> 
2846      <#assign  
2847        txtBolsa = "" 
2848        txtCompra = "" 
2849        txtRodape = "" 
2850        content = saxReaderUtil.read(manutencaoStructure.getContent()) 
2851        rootElement = content.getRootElement() 
2852      /> 
2853      <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@field-reference='chkManutencaoBolsa']") /> 
2854      <#if xPathSelector.selectSingleNode(rootElement).getStringValue()?trim == "true" > 
2855        <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@field-reference='txtManutencaoBolsa']") /> 
2856        <#assign txtBolsa = xPathSelector.selectSingleNode(rootElement).getStringValue()?trim /> 
2857      </#if> 
2858      <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@field-reference='chkManutencaoCompra']") /> 
2859      <#if xPathSelector.selectSingleNode(rootElement).getStringValue()?trim == "true" > 
2860        <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@field-reference='txtManutencaoCompra']") /> 
2861        <#assign txtCompra = xPathSelector.selectSingleNode(rootElement).getStringValue()?trim /> 
2862      </#if> 
2863      <#if txtCompra != "" || txtBolsa != ""> 
2864        <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@field-reference='txtManutencaoRodape']") />   
2865        <#assign txtRodape = xPathSelector.selectSingleNode(rootElement).getStringValue()?trim /> 
2866      </#if> 
2867 
2868      <#return {"bolsa": txtBolsa, "compra": txtCompra, "rodape": txtRodape} /> 
2869 
2870    </#function> 
2871 
2872    <#assign manutencao = getManutencao() /> 
2873    <input type="hidden" id="manutencao-compra" value="${manutencao.compra}" /> 
2874    <input type="hidden" id="manutencao-bolsa" value="${manutencao.bolsa}" /> 
2875     
2876    <div class="${prefix}-header-curso__image"> 
2877      <img class="ssp-image-opacity" src="${imagemUrl}" <#if imagemAlt?length != 0> alt="${imagemAlt}"</#if> loading="lazy"> 
2878      <div class="${prefix}-header-curso__tag-formato bg-nivel-${normalizedCategoryName}"> 
2879        <#if hasIdiomas> 
2880          <span>${nomeTipoCurso}</span> 
2881        <#else> 
2882          <span>${nomeTipoCurso} | ${nomeFormato}</span> 
2883        </#if> 
2884      </div> 
2885    </div> 
2886   
2887    <section id="curso-info"> 
2888      <div class="ssp-card-detalhe-curso__container"> 
2889   
2890          <div class="ssp-card-detalhe-curso"> 
2891   
2892          <div class="ssp-card-detalhe-curso__tag-color-tipo bg-nivel-${normalizedCategoryName}"></div> 
2893   
2894            <div class="container"> 
2895            
2896              <#if nomeFormato?contains("ao-vivo") > 
2897                  <span class="ssp-card-detalhe-curso__tag-ao-vivo">Senac Online<i class="fas fa-signal-stream icon-ao-vivo" aria-hidden="true"></i>ao vivo</span> 
2898                   
2899              </#if> 
2900 
2901              <div class="ssp-card-detalhe-curso__content"> 
2902                <div> 
2903 
2904                    <!-- <#if nomeTipoCurso?contains("Ensino Médio Técnico")> 
2905 
2906                     <p class="ssp-txt-emed__inscricoes-aberta">Inscrições abertas</p> 
2907 
2908                    </#if> --> 
2909 
2910                    <!-- rever a lógica da chama de inscricoes abertas --> 
2911 
2912                    <h1 class="ssp-card-detalhe-curso__title">${tituloComercial}</h1> 
2913                    <input type="hidden" name="tituloComercial" value="${tituloComercial}" /> 
2914 
2915                    <div class="ssp-card-detalhe-curso__description">${objetivo}</div> 
2916                </div> 
2917                <div class="ssp-card-detalhe-curso__secunday-info-content"> 
2918 
2919                  <#if nomeFormato?contains("ao-vivo") > 
2920                    <span class="d-md-none"> 
2921                      <a class="ssp-card-detalhe-curso__secunday-info-back-link" href="#" style="color: #ff9057;">${categoriaTipoCurso.getName()}</a> 
2922                      <#if !hasIdiomas> 
2923                        <span> | ${nomeFormato}</span> 
2924                      </#if> 
2925                    </span> 
2926 
2927                  <#else> 
2928                    <span class="d-md-none"> 
2929                      <a class="ssp-card-detalhe-curso__secunday-info-back-link" href="#">${categoriaTipoCurso.getName()}</a>  
2930                      <#if !hasIdiomas> 
2931                        <span> | ${nomeFormato}</span> 
2932                      </#if> 
2933                    </span> 
2934 
2935                  </#if> 
2936 
2937                  <p class="ssp-card-detalhe-curso__secundary-info-carga-horaria">${cargaHoraria} horas</p> 
2938                </div> 
2939              </div> 
2940              <div class="ssp-saiba-mais-curso-accordion"> 
2941   
2942                  <#if (possoFazerEsteCursoComercial?length > 0)> 
2943                    <div class="ssp-saiba-mais-curso-accordion__body"> 
2944                        <div class="ssp-saiba-mais-curso-accordion__heading" role="button">Posso fazer este curso?</div> 
2945                        <div class="ssp-saiba-mais-curso-accordion__contents">${possoFazerEsteCursoComercial}</div> 
2946                    </div> 
2947									 
2948                  </#if> 
2949   
2950                   <#if (oQueVouAprenderComercial?length > 0) > 
2951                    <div class="ssp-saiba-mais-curso-accordion__body"> 
2952                        <div class="ssp-saiba-mais-curso-accordion__heading" role="button">O que vou aprender?</div> 
2953                        <div class="ssp-saiba-mais-curso-accordion__contents" id="plano-curso">${oQueVouAprenderComercial}</div> 
2954                    </div> 
2955                  </#if> 
2956   
2957                  <#if (comoVouAprenderComercial?length > 0)> 
2958                    <div class="ssp-saiba-mais-curso-accordion__body"> 
2959                        <div class="ssp-saiba-mais-curso-accordion__heading" role="button">Como vou aprender?</div> 
2960                        <div class="ssp-saiba-mais-curso-accordion__contents">${comoVouAprenderComercial}</div> 
2961                    </div> 
2962                  </#if> 
2963                   
2964                                  
2965                  <div class="ssp-saiba-mais-curso-accordion__body"> 
2966                      <div class="ssp-saiba-mais-curso-accordion__heading" role="button">Quais materiais vou precisar?</div> 
2967                      <#if nomeTipoCurso?contains("Ensino Médio Técnico") > 
2968                        <div class="ssp-saiba-mais-curso-accordion__contents"> 
2969                          Desenvolvemos os materiais e disponibilizamos tudo para você!<br/><br/>Também temos bibliotecas físicas e virtuais, além de parceria com a Microsoft, que garante acesso à plataforma Teams para conferir aulas, avisos e materiais da sua turma. 
2970                        </div> 
2971                      <#else> 
2972                        <#if (quaisMateriaisComercialPDFUrl?length > 0)> 
2973                          <div class="ssp-saiba-mais-curso-accordion__contents"> 
2974                            <a href="${quaisMateriaisComercialPDFUrl}" target="_blank"><i class="fa fa-download" aria-hidden="true"></i> Confira os materiais que você precisará.</a> 
2975                          </div> 
2976                        <#else> 
2977                          <div class="ssp-saiba-mais-curso-accordion__contents">Inicialmente, não há lista de materiais para este curso. Mas confirme em aula se será necessário comprar algum item.</div> 
2978                        </#if> 
2979                    </#if> 
2980                  </div> 
2981   
2982                  <#if (tereiDiplomaComercial?length > 0)> 
2983                    <div class="ssp-saiba-mais-curso-accordion__body"> 
2984                        <div class="ssp-saiba-mais-curso-accordion__heading" role="button">Terei diploma?</div> 
2985                        <div class="ssp-saiba-mais-curso-accordion__contents">${tereiDiplomaComercial}</div> 
2986                    </div> 
2987                  </#if> 
2988                   
2989                  <#if (tereiCertificadoComercial?length > 0)> 
2990                    <div class="ssp-saiba-mais-curso-accordion__body"> 
2991                        <div class="ssp-saiba-mais-curso-accordion__heading" role="button">Terei certificado?</div> 
2992                        <div class="ssp-saiba-mais-curso-accordion__contents">${tereiCertificadoComercial}</div> 
2993                    </div> 
2994                  </#if> 
2995   
2996                  <#if (comoMeMatricularComercial?length > 0)> 
2997                    <div class="ssp-saiba-mais-curso-accordion__body"> 
2998                        <div class="ssp-saiba-mais-curso-accordion__heading" role="button">Como me matricular?</div> 
2999                        <div class="ssp-saiba-mais-curso-accordion__contents">${comoMeMatricularComercial}</div> 
3000                    </div> 
3001                  </#if> 
3002   
3003                  <#if (precisoEstagiarComercial?length > 0)> 
3004                    <div class="ssp-saiba-mais-curso-accordion__body"> 
3005                        <div class="ssp-saiba-mais-curso-accordion__heading" role="button">Preciso estagiar?</div> 
3006                        <div class="ssp-saiba-mais-curso-accordion__contents">${precisoEstagiarComercial}</div> 
3007                    </div> 
3008                  </#if> 
3009   
3010   
3011                  <#if (oQueMaisPrecisoSaberComercial?length > 0)> 
3012                    <div class="ssp-saiba-mais-curso-accordion__body"> 
3013                    <#if nomeTipoCurso?contains("Ensino Médio Técnico") > 
3014                        <div class="ssp-saiba-mais-curso-accordion__heading" role="button">Estudo em outra escola, como funciona a transferência?</div> 
3015                    <#else> 
3016                      <div class="ssp-saiba-mais-curso-accordion__heading" role="button">O que mais preciso saber?</div> 
3017                    </#if> 
3018                        <div class="ssp-saiba-mais-curso-accordion__contents">${oQueMaisPrecisoSaberComercial}</div> 
3019                    </div> 
3020                  </#if> 
3021 
3022                  <!-- Info para EMED --> 
3023 
3024                  <#if nomeTipoCurso?contains("Ensino Médio Técnico") > 
3025 
3026                    <div class="ssp-emed__vantagens-content"> 
3027                                                                                                         
3028                      <p>Conheça <span>mais vantagens</span> do Ensino Médio Técnico no Senac.</p> 
3029                      <a href="/ensino-medio-tecnico" class="btn">Saiba mais</a> 
3030                   
3031                    </div> 
3032   
3033                  <#elseif nomeFormato?contains("Presencial") && nomeFormato?contains("EAD") && !nomeTipoCurso?contains("Idioma")> 
3034   
3035                    <!-- Info para híbrido --> 
3036   
3037                    <div class="ssp-emed__vantagens-content ${normalizedCategoryName}"> 
3038                                                                                                         
3039                      <p>Quer saber mais sobre nossos <span>cursos com aulas presenciais e a distância</span>?</p> 
3040                      <a href="/presencial-ead" class="btn">Saiba mais</a> 
3041                   
3042                    </div> 
3043                     
3044                  <#else> 
3045                     
3046                    <!-- <div class="ssp-emed__vantagens-content ${normalizedCategoryName}"> 
3047                                                                                                         
3048                      <p>Conheça <span>mais vantagens</span>?</p> 
3049                      <a href="#" class="btn">Saiba mais</a> 
3050                   
3051                    </div> --> 
3052                     
3053                  </#if> 
3054                                    
3055   
3056                  <!-- Slider para cursos de Cozinheiro e Garçom --> 
3057       
3058                  <#if codigoFT=="14125"> 
3059       
3060                    <div> 
3061   
3062                      <h6 style="font-family: Montserrat;font-size: 20px;font-weight: 600;color: #2a2e43;padding: 15px;border-top: 1px solid #e7e7e7;">Quer participar do processo seletivo? Confira todas as etapas:</h6> 
3063   
3064           
3065                      <div class="slider-passo-passo__cursos-cozinha"> 
3066           
3067                          <div class="ssp-passo-passo-cozinheiro_card"> 
3068                           
3069                              <div> 
3070   
3071                                  <h6 class="ssp-passo-passo-cozinheiro_card-title">Abertura do processo</h6> 
3072   
3073                                  <p class="ssp-passo-passo-cozinheiro_card-txt">Primeiro, confirme se você atende aos pré-requisitos para se inscrever em <a class="ssp-passo-passo-cozinheiro_card-link" href="/bolsas-de-estudo">bolsas de estudo</a>. Depois, confira no campo "Como me matricular?" o cronograma de abertura das inscrições do processo seletivo. </p> 
3074               
3075                              </div> 
3076                             
3077               
3078                          </div> 
3079               
3080                          <div class="ssp-passo-passo-cozinheiro_card"> 
3081               
3082                              <div> 
3083               
3084                                  <h6 class="ssp-passo-passo-cozinheiro_card-title">Inscrições</h6> 
3085               
3086                                  <p class="ssp-passo-passo-cozinheiro_card-txt">Quando o processo seletivo abrir, faça login no site, acesse a página do curso, selecione a unidade e realize a inscrição, que é gratuita. As inscrições podem ser encerradas antes da data divulgada, quando alcançarmos 10 inscrições por vaga.</p> 
3087               
3088                              </div> 
3089                                   
3090                          </div> 
3091           
3092                          <div class="ssp-passo-passo-cozinheiro_card"> 
3093               
3094                              <div> 
3095               
3096                                  <h6 class="ssp-passo-passo-cozinheiro_card-title">Convocação para entrevista</h6> 
3097               
3098                                  <p class="ssp-passo-passo-cozinheiro_card-txt"> 
3099                                    Ao finalizar sua inscrição no processo seletivo, você receberá uma confirmação no e-mail que cadastrou no nosso site. Também vamos enviar para o seu e-mail o convite para a entrevista e as orientações sobre envio dos documentos necessários. 
3100                                  </p> 
3101                                 
3102               
3103                              </div> 
3104                                   
3105                          </div> 
3106   
3107                          <div class="ssp-passo-passo-cozinheiro_card"> 
3108               
3109                            <div> 
3110             
3111                                <h6 class="ssp-passo-passo-cozinheiro_card-title">Entrevista</h6> 
3112             
3113                                <p class="ssp-passo-passo-cozinheiro_card-txt">A entrevista será realizada presencialmente nos hotéis-escola Senac. Se você não participar, sua inscrição é cancelada automaticamente. Lembre-se: antes da entrevista, envie por e-mail os documentos necessários. 
3114                                    </p> 
3115                               
3116             
3117                            </div> 
3118                                 
3119                        </div> 
3120           
3121                          <div class="ssp-passo-passo-cozinheiro_card"> 
3122               
3123                              <div> 
3124               
3125                                  <h6 class="ssp-passo-passo-cozinheiro_card-title">Resultado</h6> 
3126               
3127                                  <p class="ssp-passo-passo-cozinheiro_card-txt"> 
3128                                    Até 7 dias depois de ter feito a entrevista, você receberá a resposta por e-mail sobre o resultado do processo seletivo.  
3129                                  </p> 
3130               
3131                              </div> 
3132                                   
3133                          </div> 
3134               
3135                          <div class="ssp-passo-passo-cozinheiro_card"> 
3136               
3137                              <div> 
3138               
3139                                  <h6 class="ssp-passo-passo-cozinheiro_card-title">Matrícula</h6> 
3140               
3141                                  <p class="ssp-passo-passo-cozinheiro_card-txt"> 
3142                                    Se receber a aprovação, a próxima etapa é fazer a matrícula. Lembre-se de enviar os documentos, inclusive os exames solicitados no e-mail.                            
3143                                  </p> 
3144               
3145                              </div> 
3146                                   
3147                          </div> 
3148           
3149                          <div class="ssp-passo-passo-cozinheiro_card"> 
3150               
3151                              <div> 
3152               
3153                                  <h6 class="ssp-passo-passo-cozinheiro_card-title">Início do curso!</h6> 
3154               
3155                                  <p class="ssp-passo-passo-cozinheiro_card-txt"> 
3156                                    Teve aprovação em todas as etapas? Parabéns! 
3157   
3158                                    Sua jornada de transformação profissional 
3159                                     
3160                                    começará com o início das aulas. Mas se não 
3161                                     
3162                                    conseguiu dessa vez, não desanime. Sempre estamos com 
3163                                     
3164                                    vagas abertas para diversos cursos.                                                           
3165                                  </p> 
3166               
3167                              </div> 
3168                                   
3169                          </div> 
3170               
3171                           
3172                      </div> 
3173           
3174                    </div> 
3175   
3176                    <#elseif codigoFT=="15390" > 
3177   
3178                    <div> 
3179   
3180                      <h6 style="font-family: Montserrat;font-size: 20px;font-weight: 600;color: #2a2e43;padding: 15px;border-top: 1px solid #e7e7e7;">Quer participar do processo seletivo? Confira todas as etapas:</h6> 
3181           
3182                      <div class="slider-passo-passo__cursos-cozinha"> 
3183           
3184                        <div class="ssp-passo-passo-cozinheiro_card"> 
3185                         
3186                          <div> 
3187   
3188                                  <h6 class="ssp-passo-passo-cozinheiro_card-title">Abertura do processo</h6> 
3189   
3190                                  <p class="ssp-passo-passo-cozinheiro_card-txt">Primeiro, confirme se você atende aos pré-requisitos para se inscrever em <a class="ssp-passo-passo-cozinheiro_card-link" href="/bolsas-de-estudo">bolsas de estudo</a>. Depois, confira no campo "Como me matricular?" o cronograma de abertura das inscrições do processo seletivo. </p> 
3191               
3192                              </div> 
3193                           
3194             
3195                        </div> 
3196             
3197                        <div class="ssp-passo-passo-cozinheiro_card"> 
3198             
3199                              <div> 
3200               
3201                                  <h6 class="ssp-passo-passo-cozinheiro_card-title">Inscrições</h6> 
3202               
3203                                  <p class="ssp-passo-passo-cozinheiro_card-txt">Quando o processo seletivo abrir, faça login no site, acesse a página do curso, selecione a unidade e realize a inscrição, que é gratuita. As inscrições podem ser encerradas antes da data divulgada, quando alcançarmos 10 inscrições por vaga.</p> 
3204               
3205                              </div> 
3206                                 
3207                        </div> 
3208         
3209                        <div class="ssp-passo-passo-cozinheiro_card"> 
3210             
3211                              <div> 
3212               
3213                                  <h6 class="ssp-passo-passo-cozinheiro_card-title">Convocação para entrevista</h6> 
3214               
3215                                  <p class="ssp-passo-passo-cozinheiro_card-txt"> 
3216                                    Ao finalizar sua inscrição no processo seletivo, você receberá uma confirmação no e-mail que cadastrou no nosso site. Também vamos enviar para o seu e-mail o convite para a entrevista e as orientações sobre envio dos documentos necessários. 
3217                                  </p> 
3218                                 
3219               
3220                              </div> 
3221                                 
3222                        </div> 
3223   
3224                        <div class="ssp-passo-passo-cozinheiro_card"> 
3225             
3226                            <div> 
3227             
3228                                <h6 class="ssp-passo-passo-cozinheiro_card-title">Entrevista</h6> 
3229             
3230                                <p class="ssp-passo-passo-cozinheiro_card-txt">A entrevista será realizada presencialmente nos hotéis-escola Senac. Se você não participar, sua inscrição é cancelada automaticamente. Lembre-se: antes da entrevista, envie por e-mail os documentos necessários. 
3231                                    </p> 
3232                               
3233             
3234                            </div> 
3235                               
3236                      </div> 
3237         
3238                        <div class="ssp-passo-passo-cozinheiro_card"> 
3239             
3240                            <div> 
3241             
3242                                <h6 class="ssp-passo-passo-cozinheiro_card-title">Resultado</h6> 
3243             
3244                                <p class="ssp-passo-passo-cozinheiro_card-txt"> 
3245                                  Até 7 dias depois de ter feito a entrevista, você receberá a resposta por e-mail sobre o resultado do processo seletivo.  
3246                                </p> 
3247             
3248                            </div> 
3249                                 
3250                        </div> 
3251             
3252                        <div class="ssp-passo-passo-cozinheiro_card"> 
3253             
3254                            <div> 
3255             
3256                                <h6 class="ssp-passo-passo-cozinheiro_card-title">Matrícula</h6> 
3257             
3258                                <p class="ssp-passo-passo-cozinheiro_card-txt"> 
3259                                  Se receber a aprovação, a próxima etapa é fazer a matrícula. Lembre-se de enviar os documentos, inclusive os exames solicitados no e-mail.                            
3260                                </p> 
3261             
3262                            </div> 
3263                                 
3264                        </div> 
3265         
3266                        <div class="ssp-passo-passo-cozinheiro_card"> 
3267             
3268                            <div> 
3269             
3270                                <h6 class="ssp-passo-passo-cozinheiro_card-title">Início do curso!</h6> 
3271             
3272                                <p class="ssp-passo-passo-cozinheiro_card-txt"> 
3273                                  Teve aprovação em todas as etapas? Parabéns! 
3274   
3275                                  Sua jornada de transformação profissional 
3276                                   
3277                                  começará com o início das aulas. Mas se não 
3278                                   
3279                                  conseguiu dessa vez, não desanime. Sempre estamos com 
3280                                   
3281                                  vagas abertas para diversos cursos.                                                           
3282                                </p> 
3283             
3284                            </div> 
3285                                 
3286                        </div> 
3287             
3288                         
3289                    </div> 
3290   
3291                  </div> 
3292   
3293                  </#if> 
3294                   
3295                  <!-- Final Slider para cursos de Cozinheiro e Garçom --> 
3296   
3297              </div> 
3298            </div> 
3299          </div> 
3300      </div> 
3301    </section> 
3302  <#assign  
3303    dNoneSelectUnidade = ''  
3304    mostrarUnidades = !nomeFormato?contains("ao-vivo") 
3305    isEMED = normalizedCategoryName?contains("ensino-medio-tecnico") 
3306    isAprendizagem = normalizedCategoryName?contains("jovem-aprendiz") 
3307  /> 
3308 
3309  <#if nomeFormato?contains("ao-vivo") > 
3310     <#assign dNoneSelectUnidade = 'd-none' /> 
3311  </#if> 
3312 
3313  <#-- Obter data matricula emed --> 
3314  <#if isEMED> 
3315    <#function getMatriculaEMED > 
3316      <#assign emedTags = getFirstArticleStructure(0,"emed-tags") 
3317        document = saxReaderUtil.read(emedTags.getContent()) 
3318        rootElement = document.getRootElement() 
3319        xPathSelector = saxReaderUtil.createXPath("dynamic-element[@field-reference='dataInicioPeriodoMatricula']") /> 
3320      <#if xPathSelector.selectSingleNode(rootElement)?? > 
3321        <#assign dataInicio = xPathSelector.selectSingleNode(rootElement).getStringValue()?trim /> 
3322      </#if> 
3323      <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@field-reference='horaInicioMatricula']") /> 
3324      <#if xPathSelector.selectSingleNode(rootElement)?? > 
3325        <#assign horaInicio = xPathSelector.selectSingleNode(rootElement).getStringValue()?trim /> 
3326      </#if> 
3327 
3328      <#setting time_zone="America/Sao_Paulo"> 
3329      <#assign today = .now?datetime /> 
3330      <#assign emeddatetime = (dataInicio + " " + horaInicio)?datetime["yyyy-MM-dd HH:mm"] /> 
3331      <#assign matriculaAberta = today gt emeddatetime />     
3332 
3333      <#return {"dataInicio" : dataInicio, "horaInicio" : horaInicio, "aberta" : matriculaAberta}> 
3334    </#function> 
3335 
3336    <#assign matriculaEMED = getMatriculaEMED() /> 
3337 
3338  </#if> 
3339 
3340  <#if isEMED || isAprendizagem> 
3341    <section class="ssp-section-selecione-unidade ssp-section ${dNoneSelectUnidade}" style="background:#2B2E41"> 
3342      <div class="container"> 
3343 
3344        <div class="ssp-container-selecione-unidade" style="max-width: 815px; margin: auto;"> 
3345          <div class="ssp-container_ofertas__title"> 
3346            <h3 class="ssp-aviso-novas-turmas__title selecione-unidade-title-custom"> 
3347               
3348              Selecione uma unidade para conhecer as próximas turmas: 
3349 
3350            </h3> 
3351          </div> 
3352 
3353          <div class="ssp-container__form-select"> 
3354            <select id="unidades-ofertas" class="form-control" name="unidades-ofertas"> 
3355              <option value="">Selecione uma unidade</option> 
3356            </select> 
3357          </div> 
3358 
3359        </div> 
3360 
3361        <div class="ssp-ofertas__box-endereco-unidade"> 
3362          <i class="icon-map-adress"></i> 
3363          <a href="" target="_blank" class="ssp-ofertas__endereco-unidade"></a> 
3364        </div> 
3365 
3366      </div> 
3367 
3368    </section> 
3369  <#else> 
3370    <section class="ssp-section-selecione-unidade ssp-section" style="background:#2B2E41"> 
3371        <div class="container"> 
3372          <div class="ssp-container-selecione-unidade ${dNoneSelectUnidade} row no-gutters mb-lg-8"> 
3373            <div class="ssp-container_ofertas__title"> 
3374              <h3 class="ssp-aviso-novas-turmas__title selecione-unidade-title-custom ssp-detalhe-curso-titulo-filter">Escolha a unidade e conheça as turmas disponíveis:</h3> 
3375            </div> 
3376          </div> 
3377          <div class="row ssp-filters-px justify-content-center"> 
3378            <div class="col-12 col-lg ${dNoneSelectUnidade} px-md-0 order-1"> 
3379              <div class="ssp-container-selecione-unidade row no-gutters"> 
3380                <div class="col-12"> 
3381                  <div class="ssp-container__form-select mx-auto"> 
3382                    <label for="unidades-ofertas" class="ssp-switch-label ssp-switch-label-section mx-0 d-none d-lg-block">Selecione uma unidade:</label>   
3383                    <select id="unidades-ofertas" class="form-control" name="unidades-ofertas"></select> 
3384                  </div> 
3385                </div> 
3386              </div> 
3387            </div> 
3388             
3389            <div id="ssp-alternadores" class="col mt-5 mt-lg-0 ${(isEMED || isAprendizagem)?then('d-none', '')} px-md-0 order-3 order-lg-2" style="max-width: 480px; display: none;"> 
3390              <div class="row no-gutters ssp-switch-label ssp-switch-label-section mx-0">Filtre por:</div> 
3391              <div class="row no-gutters mt-4"> 
3392                <#assign 
3393                  mostrarFiltroInscricao = (nomeTipoCurso?contains("Técnico") && !nomeTipoCurso?contains("Ensino Médio")) || nomeTipoCurso?contains("Livre") || nomeTipoCurso?contains("Extensão") 
3394                  mostrarFiltroBolsa = (nomeTipoCurso?contains("Técnico") && !nomeTipoCurso?contains("Ensino Médio")) || nomeTipoCurso?contains("Livre") 
3395                /> 
3396                 
3397                 
3398                <#if mostrarFiltroInscricao && mostrarFiltroBolsa> 
3399                  <div class="ssp-switch-divider d-md-none my-4"></div> 
3400                </#if> 
3401                 
3402                <#if mostrarFiltroInscricao> 
3403                  <div class="col-12 col-lg"> 
3404                    <div class="d-flex justify-content-between justify-content-lg-start"> 
3405                      <label class="ssp-switch order-2 order-lg-1"> 
3406                        <input type="checkbox" id="chkInscricao"> 
3407                        <span class="ssp-switch-slider round"></span> 
3408                      </label> 
3409                      <label for="chkInscricao" class="ssp-switch-label order-1 order-lg-2">Comprar agora</label>   
3410                    </div> 
3411                  </div> 
3412                </#if> 
3413                 
3414 
3415                <#if mostrarFiltroBolsa> 
3416                  <div class="col-12 col-lg"> 
3417                    <div class="d-flex justify-content-between justify-content-lg-start"> 
3418                      <label class="ssp-switch order-2 order-lg-1">             
3419                        <input type="checkbox" id="chkBolsa"> 
3420                        <span class="ssp-switch-slider ssp-switch-slider-secondary round"></span> 
3421                      </label> 
3422                      <label for="chkBolsa" class="ssp-switch-label order-1 order-lg-2">Bolsas de estudo</label> 
3423                    </div> 
3424                  </div> 
3425                </#if> 
3426              </div> 
3427            </div> 
3428 
3429            <div class="col-12 order-2 order-lg-3"> 
3430              <div class="row ${mostrarUnidades?then('text-center text-lg-left', 'text-center')}"> 
3431                <div id="msgFiltroAplicado" class="col-12 ssp-switch-label-message" style="display: none;"> 
3432                  <div class="row no-gutters"> 
3433                    <span class="col-12 ssp-col-lg-without ${mostrarUnidades?then('', 'ml-auto')}">Filtro aplicado com sucesso.&nbsp;</span> 
3434                    <span class="col-12 ssp-col-lg-without ${mostrarUnidades?then('', 'mr-auto')}">Confira o resultado.</span> 
3435                  </div> 
3436                </div> 
3437              </div> 
3438            </div> 
3439          </div>      
3440             
3441          <div class="ssp-ofertas__box-endereco-unidade ${dNoneSelectUnidade}"> 
3442            <i class="icon-map-adress"></i> 
3443            <a href="" target="_blank" class="ssp-ofertas__endereco-unidade"></a> 
3444          </div> 
3445     
3446        </div> 
3447     
3448      </section> 
3449    </#if> 
3450   
3451     
3452      <!--  EMED	 --> 
3453      <section class="ssp-ofertas-emed__section d-none"> 
3454 
3455        <h2 class="title-section-white" id="titulo-emed"></h2> 
3456 
3457        <div class="ssp-ofertas-emed__filtro-content container"> 
3458 
3459            <button type="button" value="0010" class="btn btn-filtro btn--filtro-ativo">Turmas - 1º ano</button> 
3460 
3461            <button type="button" value="0" class="btn btn-filtro">Transferências</button> 
3462 
3463        </div> 
3464         
3465        <div class="ssp-ofertas-emed__card-container"> 
3466 
3467          <div class="ssp-slick-ofertas-emed"> 
3468           
3469          </div> 
3470         
3471        </div> 
3472       
3473      </section> 
3474       
3475      <!-- FIM EMED -->	 
3476   
3477    <section id="ssp-section-response" class="ssp-section" style="background: #2a2e43; position: relative;"> 
3478   
3479      <div id="turmas-container" class="container"> 
3480   
3481        <div id="informe-novas-turmas"> 
3482          <div style="display: flex; flex-wrap: nowrap;"> 
3483   
3484            <a class="prev-mobile d-lg-none d-xl-none nextPrevOpacity" href="#" > 
3485              <i class="fas fa-chevron-left"></i> 
3486            </a> 
3487   
3488            <h2 id="ssp-h3-turmas" class="ssp-section-title ssp-card-oferta-curso__section-title text-capitalize" style="font-weight: bold;text-transform: uppercase; display: none;">Turmas</h2> 
3489   
3490            <a href="#" class="next-mobile d-lg-none d-xl-none" > 
3491              <i class="fas fa-chevron-right"></i> 
3492            </a> 
3493   
3494          </div> 
3495           
3496       
3497          <div  class="oferta-slick-area oferta-slick-area--md-bleed slider-container"> 
3498     
3499          </div> 
3500        </div> 
3501          
3502        <#if !isEMED> 
3503            <div class="ssp-card-oferta-curso__sem-vaga d-none" style="margin: auto;"> 
3504       
3505              <h3 class="ssp-card-oferta-curso__sem-vaga-title"> 
3506                Estude com a gente na próxima turma! 
3507              </h3> 
3508           
3509              <p class="ssp-card-oferta-curso__sem-vaga-description"> 
3510                Registre seu interesse e avisaremos você quando surgirem novas vagas. 
3511              </p> 
3512            </div> 
3513        <#else> 
3514 
3515          <div class="card-transferencias-emed container p-0 d-none emed-transferencias-space"> 
3516            <div> 
3517              <div class="col-md-12 col-xs-12 pb-10"> 
3518                <div> 
3519                  <div class="slick-area__item"> 
3520           
3521                    <div class="ssp-emed__card-slider"> 
3522       
3523                      <div class="ssp-emed__card-slider-body"> 
3524                        <h2 class="ssp-emed__section__titleCard"> 
3525                          <i class="fal fa-users-class"></i> 
3526                          <div><lfr-editable type="rich-text">Turmas</lfr-editable></div> 
3527                        </h2> 
3528                        <lfr-editable type="rich-text"> 
3529                          <div> 
3530                            <strong>Transferências: estudantes de outras escolas e estudantes Senac</strong> 
3531                            <div style="display:grid;gap:20px;"> 
3532                              <span></span> 
3533                              <span>1º e 2º ano: a partir de 2025</span> 
3534                              <span></span> 
3535                            </div> 
3536                          </div> 
3537 
3538                          <div class="transferencias-emed-rodape"> 
3539                            <span>As vagas serão abertas mediante disponibilidade e as datas para transferências divulgadas em breve.</span> 
3540                          </div> 
3541                         
3542                        </lfr-editable> 
3543                        </a> 
3544                      </div> 
3545       
3546                    </div> 
3547       
3548                  </div> 
3549                </div> 
3550              </div> 
3551            </div> 
3552          </div> 
3553 
3554          <#if matriculaEMED.aberta> <div class="sem-vaga-emed container p-0 d-none"> 
3555          <#else> <div class="sem-vaga-emed container p-0 d-none emed-transferencias-space"> 
3556          </#if> 
3557              <div> 
3558                <div class="col-md-12 col-xs-12 pb-10"> 
3559         
3560                  <!--slick slider--> 
3561                  <div class="slick-area-emed slick-area-emed--md-bleed"> 
3562                     
3563                    <#if matriculaEMED.aberta> 
3564                      <div class="slick-area__item"> 
3565           
3566                        <div class="ssp-emed__card-slider"> 
3567           
3568                          <div class="ssp-emed__card-slider-body"> 
3569                            <h2 class="ssp-emed__section__titleCard"> 
3570                              <i class="fal fa-users-class"></i> 
3571                              <div><lfr-editable type="rich-text">Turmas</lfr-editable></div> 
3572                            </h2> 
3573                            <lfr-editable type="rich-text"> 
3574                              <div class="ssp-emed__section__introCard"><strong>Estude com a gente na próxima turma!</strong></div> 
3575                              <div class="ssp-emed__section__textCard"> 
3576                                <span class="texto"> 
3577                                  Registre seu interesse e avisaremos você sobre a abertura das inscrições para o próximo ano. 
3578                                </span> 
3579                                <span class="ssp-emed__iconWrapper animate__animated animate__fadeOutRight animate__infinite"><i 
3580                                    class="fas fa-chevron-right"></i></span> 
3581                              </div> 
3582                            </lfr-editable> 
3583                            </a> 
3584                          </div> 
3585           
3586                        </div> 
3587           
3588                      </div> 
3589         
3590                      <div class="slick-area__item"> 
3591           
3592                        <div class="ssp-emed__card-slider"> 
3593                          <div class="ssp-emed__card-slider-body"> 
3594           
3595                            <h2 class="ssp-emed__section__titleCard"> 
3596                              <i class="far fa-envelope"></i> 
3597                              <div><lfr-editable id="emed-precos-title" type="rich-text">Registro de Interesse</lfr-editable></div> 
3598                            </h2> 
3599                            <lfr-editable id="txt_emed_boleto" type="rich-text"> 
3600                              <div class="ssp-emed__section__introCardCTA"> 
3601                                Quer receber um aviso sobre as turmas do próximo ano? 
3602                              </div> 
3603                            </lfr-editable> 
3604                            </a> 
3605                            <a class="ssp-emed__btn btn btn-lg w-100 mt-3 ssp-card-modal-selecionar-outro__btn-close_10" 
3606                              id="btnOptin" href="javascript:;">Sim, me avise.</a> 
3607                          </div> 
3608                        </div> 
3609                      </div> 
3610                    <#else> 
3611                      <#-- pre inscricao emed --> 
3612                      <div class="slick-area__item card-pre-inscricao"> 
3613           
3614                        <div class="ssp-emed__card-slider"> 
3615           
3616                          <div class="ssp-emed__card-slider-body"> 
3617                            <h2 class="ssp-emed__section__titleCard"> 
3618                              <i class="fal fa-users-class"></i> 
3619                              <div><lfr-editable id="emed-aulas-title" type="rich-text">Turmas</lfr-editable></div> 
3620                            </h2> 
3621                            <lfr-editable id="txt_emed_aulas" type="rich-text"> 
3622                              <div> 
3623                                <strong>Matrículas e inscrições para bolsas de estudo:</strong><br/> 
3624                                <span style="font-weight: 400;"> 
3625                                  a partir de ${matriculaEMED.dataInicio?split("-")?reverse?join("/")}, às ${matriculaEMED.horaInicio?split(":")?first} horas 
3626                                  <#if matriculaEMED.horaInicio?split(":")?last != "00"> 
3627                                    e ${matriculaEMED.horaInicio?split(":")?last} minutos 
3628                                  </#if> 
3629                                </span> 
3630                              </div> 
3631 
3632                              <div class="footer-card-card-pre-inscricao"> 
3633                                <strong> 
3634                                  Estude com a gente na próxima turma!<br/> 
3635                                  Esperamos por você! 
3636                                </strong> 
3637                              </div> 
3638                            </lfr-editable> 
3639                            </a> 
3640                          </div> 
3641           
3642                        </div> 
3643           
3644                      </div> 
3645 
3646                    </#if> 
3647         
3648                  </div> 
3649                  <!--/slick slider--> 
3650         
3651                </div> 
3652              </div> 
3653            </div> 
3654        </#if> 
3655        <div class="oferta-slick-area_modal"> 
3656        </div> 
3657         
3658        <#if manutencao.rodape != ""> 
3659          <p class="ssp-card-oferta-curso__mensagem-legal">${manutencao.rodape}</p> 
3660        <#else> 
3661            <#if isEMED> 
3662              <p class="ssp-card-oferta-curso__mensagem-legal">O Senac reserva-se o direito de alterar o número de vagas, datas, horários ou cancelar o programa.</p> 
3663            <#else> 
3664              <p class="ssp-card-oferta-curso__mensagem-legal">A turma pode ser cancelada ou ter alterações do número de vagas, datas e horários.</p> 
3665            </#if> 
3666        </#if> 
3667   
3668      </div> 
3669   
3670      <div id="ssp-abrir-pagina-bolsa" class="ssp-card-duvida__bolsa-estudo d-none" style="margin-top: 44px;"> 
3671 
3672        <p>Tem dúvidas sobre bolsas de estudo?</p> 
3673        <a href="/bolsas-de-estudo/como-funciona">Saiba como funciona</a> 
3674						 
3675    </div> 
3676                       
3677   
3678      </section> 
3679 
3680      <section id="section-registro-interesse" class="ssp-section-novas-turmas"> 
3681   
3682          <div class="container"> 
3683   
3684              <div class="ssp-aviso-novas-turmas__content"> 
3685   
3686                  <!-- <div class="pb-sm-5 pb-md-5" > --> 
3687                  <div> 
3688   
3689                      <h6 class="ssp-aviso-novas-turmas__title">Quer receber um aviso por e-mail sobre novas turmas?</h6> 
3690                      <!-- p class="ssp-aviso-novas-turmas__description">Selecione a unidade e registre seu interesse.</p --> 
3691   
3692                  </div> 
3693   
3694          <!--  
3695                  <div class="ssp-container__form-select"> 
3696   
3697                      <select class="form-control select-large select-registro-interesse" id="select-registro-interesse"> 
3698                          <option value="">Selecione uma unidade</option> 
3699                      </select> 
3700   
3701                  </div> 
3702          --> 
3703                  <div class="ssp-btn-group__content-teste"> 
3704   
3705                      <a class="btn btn-primary btn-custom" id="btn-aviso-novas-turmas">Sim, me avise</a> 
3706   
3707                  </div> 
3708   
3709   
3710   
3711              </div> 
3712   
3713   
3714          </div> 
3715   
3716   
3717      </section> 
3718       
3719      <section id="modal-backpack-error" class="ssp-modal-registro-interesse d-none"> 
3720   
3721          <div class="ssp-card-msg-erro"> 
3722   
3723              <div class="ssp-card-msg-sucesso__content"> 
3724                  <i class="fas fa-exclamation-circle" style="color: #ec3a3a;"></i> 
3725                   <p>Houve um erro ao inserir curso na mochila!</p> 
3726                   <p>Por favor, tente novamente!</p> 
3727              </div> 
3728   
3729              <div> 
3730                  <button id="btn-voltar-modal-backpack-error" class="btn btn-nivel ssp-card-msg-sucesso__btn">Voltar</button> 
3731              </div> 
3732   
3733          </div> 
3734   
3735      </section> 
3736       
3737	<section id="modal-backpack-success" class="ssp-modal-registro-interesse d-none"> 
3738	 
3739		<div class="ssp-modal-mochila-curso"> 
3740	 
3741			<div class="ssp-modal-mochila-curso__header"> 
3742	 
3743				<button class="modal-btn-close" type="button"> 
3744	 
3745					<i class="fal fa-times"></i> 
3746	 
3747				</button> 
3748	 
3749				<h2 class="modal-title">Curso adicionado à mochila!</h2> 
3750				<p class="modal-subtitle">Você incluiu na sua mochila de compras o curso 
3751					<span id="modal-backpack-success__nome-curso"></span> 
3752				</p> 
3753	 
3754			</div> 
3755	 
3756			<div class="ssp-modal-mochila-curso__body"> 
3757	 
3758				<p>A sua vaga só é garantida nesta turma quando você finaliza a 
3759					compra. Deseja concluir agora?</p> 
3760	 
3761			</div> 
3762	 
3763			<div class="ssp-modal-mochila-curso__block-btn-items block-btn-items"> 
3764 
3765				<a class="btn-finalizar-compra btn-mochila-finalizar-compra-success" href="#"> 
3766                    Finalizar compra 
3767                </a> 
3768	 
3769				<button class="btn-continuar-site btn-mochila-continuar-site-success"> 
3770					Continuar no site 
3771				</button>				 
3772	 
3773			</div> 
3774	 
3775	 
3776		</div> 
3777	 
3778	</section> 
3779      
3780</#if> 
3781 
3782<#if nomeTipoCurso?has_content && nomeTipoCurso?contains("Ensino Médio Técnico") > 
3783  <!-- Agende a sua visita -->     
3784  <#assign searchImpl = serviceLocator.findService("br.senac.search.api.Search") /> 
3785  <#assign articles = searchImpl.search("EMED - Agende sua visita", {}, themeDisplay.getCompanyId(), themeDisplay.getScopeGroupId(), themeDisplay.getUserId(), false) /> 
3786 
3787  <section id="ssp-emed-visita-sector"> 
3788    <div class="container py-5 pt-lg-0" style="display:none;"> 
3789      <div data-emed="ssp-emed-visita-wrapper" class="ssp-emed-visita-wrapper"> 
3790        <#list articles![] as article> 
3791          <#assign document = saxReaderUtil.read(article.getContent()) /> 
3792          <#assign rootElement = document.getRootElement() /> 
3793 
3794          <#assign 
3795              xPathSelector = saxReaderUtil.createXPath("dynamic-element[@field-reference='textoDoBotao']") 
3796              textoDoBotao = xPathSelector.selectSingleNode(rootElement).getStringValue() 
3797                 
3798              xPathSelector = saxReaderUtil.createXPath("dynamic-element[@field-reference='linkBotao']") 
3799              linkBotao = xPathSelector.selectSingleNode(rootElement).getStringValue() 
3800 
3801              xPathSelector = saxReaderUtil.createXPath("dynamic-element[@field-reference='ativarBotao']") 
3802              ativarBotao = xPathSelector.selectSingleNode(rootElement).getStringValue()                 
3803          /> 
3804 
3805          <#if ativarBotao?trim == "true"> 
3806            <script>$('#ssp-emed-visita-sector').children().show()</script> 
3807            <div data-emed="ssp-emed-visita-text" class="ssp-emed-visita-text"> 
3808                 
3809                <a href="${linkBotao}">${textoDoBotao}</a> 
3810                 
3811            </div> 
3812            <div class="ssp-emed-visita-icon"> 
3813                <i class="fas fa-route"></i> 
3814            </div> 
3815          </#if> 
3816        </#list> 
3817      </div> 
3818    </div> 
3819  </section> 
3820 
3821 
3822    <!-- Como me matricular EMED --> 
3823 
3824    <section class="ssp-como-me-matricular__section"> 
3825 
3826      <h2 class="title-section-white">Como me matricular?</h2> 
3827 
3828      <div class="container"> 
3829 
3830          <div class="ssp-como-me-matricular__passo-passo-card"> 
3831 
3832              <div class="item-passo"> 
3833                  <img class="item-passo-icone" src="/o/senac-theme/images/icon-escolha-curso.svg" alt=""> 
3834                  <p class="item-passo-title">Escolha o curso</p> 
3835                  <span>Selecione o curso, a unidade do seu interesse e confira as turmas disponíveis.</span> 
3836              </div> 
3837 
3838              <img class="item-passo-icone-seta" src="/o/senac-theme/images/icon-seta-passo.svg" alt=""> 
3839 
3840              <div class="item-passo"> 
3841                  <img class="item-passo-icone" src="/o/senac-theme/images/icon-realize-inscricao.svg" alt=""> 
3842                  <p class="item-passo-title">Adicione à Mochila</p> 
3843                  <span>Faça login ou crie uma conta em nosso site e continue a compra.</span> 
3844              </div> 
3845 
3846              <img class="item-passo-icone-seta" src="/o/senac-theme/images/icon-seta-passo.svg" alt=""> 
3847 
3848              <div class="item-passo"> 
3849                  <img class="item-passo-icone" src="/o/senac-theme/images/icon-aguarde-contato.svg" alt=""> 
3850                  <p class="item-passo-title">Faça a matrícula</p> 
3851                  <span>Todas as etapas são on-line. Para garantir a vaga, preencha todas as informações.</span> 
3852              </div> 
3853 
3854          </div> 
3855 
3856 
3857      </div> 
3858 
3859    </section> 
3860 
3861  </#if> 
3862 
3863   
3864  <div class="ssp-section ssp-section-lg-bottom-slider d-none" id="section-cursos-voce-pode-gostar" style="background-color: #f2f2f2"> 
3865    <div class="container"> 
3866        <h2 class="ssp-section-title"> 
3867          <lfr-editable id="cursos-voce-pode-gostar-title" type="rich-text"> 
3868              Cursos que você pode gostar 
3869          </lfr-editable> 
3870        </h2> 
3871 
3872        <div id="slider-curso"> 
3873 
3874        </div> 
3875 
3876    </div> 
3877  </div> 
3878 
3879 
3880   
3881   
3882  <#-- Section para o item de curso--> 
3883  <div id="curso-item-template"  class="d-none slick-area__item"> 
3884   
3885    <div class="ssp-card-curso" style="height: 288px;"> 
3886   
3887      <a class="ssp-absolute-link ck-curso" href="#a"></a> 
3888   
3889      <div class="ssp-card-curso__image"> 
3890   
3891        <div class="ssp-image-container"> 
3892            <img src="" /> 
3893   
3894        </div> 
3895   
3896      </div> 
3897   
3898      <div class="ssp-card-curso__body"> 
3899   
3900        <div class="ssp-card-curso__color-tag-modalidade"></div> 
3901   
3902        <div class="ssp-card-curso__tags"> 
3903   
3904          <span class="ssp-card-curso__tag-formato-title"></span> 
3905           
3906          <span class="tag-modalidade-title__senac-online d-none">Senac Online - ao vivo</span> 
3907   
3908        </div> 
3909   
3910        <h6 class="ssp-card-curso__title"> 
3911   
3912        </h6> 
3913   
3914        <div class="ssp-card-curso__info"> 
3915   
3916          <span class="ssp-tag bg-white border-nivel-extensao text-nivel-extensao mr-1 btn-inscricoes-abertas">Inscrições abertas</span> 
3917          <span class="ssp-tag bg-white border-primary text-primary btn-bolsas">Bolsas</span> 
3918   
3919        </div> 
3920   
3921      </div> 
3922   
3923    </div> 
3924   
3925  </div> 
3926   
3927  <#function getJournalArticle> 
3928   
3929     
3930    <#assign journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 
3931    <#assign friendlyURL = themeDisplay.getURLCurrent()?split("/")?last?split("?")?first> 
3932    <#assign groupId = themeDisplay.getSiteGroupId()> 
3933    <#attempt> 
3934   
3935      <#if !friendlyURL?contains("fragment_collections") > 
3936         
3937        <#return journalArticleService.getArticleByUrlTitle(groupId,friendlyURL)> 
3938      <#else> 
3939         
3940        <#return '#erro#'> 
3941      </#if> 
3942       
3943    <#recover> 
3944         
3945      <#return '#erro#'> 
3946    </#attempt> 
3947  </#function> 
3948   
3949  <#function getCategorias primaryKey> 
3950   
3951    <#assign categoryService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") /> 
3952    <#attempt> 
3953   
3954        <#return categoryService.getCategories("com.liferay.journal.model.JournalArticle", primaryKey)> 
3955   
3956    <#recover> 
3957       
3958      <#return '#erro#'> 
3959    </#attempt> 
3960  </#function> 
3961   
3962  <#function getVocabulary vocabularyId> 
3963   
3964    <#assign vocabularyService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyService") /> 
3965    <#attempt> 
3966   
3967        <#return vocabularyService.getVocabulary(vocabularyId)> 
3968   
3969    <#recover> 
3970       
3971      <#return '#erro#'> 
3972    </#attempt> 
3973  </#function> 
3974   
3975  <#function getStringValue dom name> 
3976    <#assign 
3977      seletorSTR = "dynamic-element[@field-reference='"+name+"']" 
3978      xPathSelector = saxReaderUtil.createXPath(seletorSTR) 
3979    /> 
3980    <#if xPathSelector.selectSingleNode(dom)?? > 
3981      <#assign 
3982        valueSTR = xPathSelector.selectSingleNode(dom).getStringValue()?trim 
3983      /> 
3984      <#return valueSTR> 
3985    </#if> 
3986    <#return ''> 
3987  </#function> 
3988   
3989      <!--Modal de Login --> 
3990           
3991      <section id="modal-login" class="ssp-modal-registro-interesse d-none"> 
3992   
3993          <div class="dropdown-menu-modal dropdown-menu-right" id="js-login-dropdown-menu-2" style="width: 340px; max-width: 340px; display: block;"> 
3994   
3995              <div class="px-5"> 
3996                  <i id="btn-close-loginModal" class="fas fa-times btn-close__modal-login"></i> 
3997                  <div class="text-darker-gray py-3">Faça login na sua conta</div> 
3998              </div> 
3999         
4000              <div class="dropdown-divider"></div> 
4001   
4002              <div class="dropdown-menu-arrow"></div> 
4003   
4004              <form id="login_form" class="px-5 py-4" method="post"> 
4005               
4006              <div class="alert alert-danger py-3 d-none" id="mensagem-erro-login" style="background:#f8d7da;border-color:#f5c6cb; color:#a94442"></div> 
4007         
4008                  <div class="form-group"> 
4009                       
4010                      <label for="login-email">E-mail</label> 
4011                      <div class="input-group mb-2"> 
4012                          <div class="input-group-prepend"> 
4013                              <span class="input-group-text"><i class="icon-envelope"></i></span> 
4014                          </div> 
4015                          <input type="text" class="form-control" id="login-email-modal" name="_com_liferay_login_web_portlet_LoginPortlet_login" placeholder="Digite seu e-mail" aria-label="Email" aria-describedby="login-email"> 
4016                      </div> 
4017   
4018                  </div> 
4019   
4020                  <div class="form-group"> 
4021   
4022                      <label for="login-password">Senha</label> 
4023                      <div class="input-group mb-2"> 
4024                          <div class="input-group-prepend"> 
4025                              <span class="input-group-text"><i class="icon-key"></i></span> 
4026                          </div> 
4027                          <input type="password" class="form-control" id="login-password-modal" name="_com_liferay_login_web_portlet_LoginPortlet_password" placeholder="Digite sua senha" aria-label="Password" aria-describedby="login-password"> 
4028                      </div> 
4029   
4030                  </div> 
4031                   
4032                  <div class="pt-1 pb-3"> 
4033                  <small><a href="http://www.sp.senac.br/login-unico/SendPassword" target="_blank">Esqueceu sua senha?</a></small> 
4034                  </div> 
4035                 
4036                  <button type="button" class="btn btn-primary w-100" id="btnLogin" data-login="btnLogin">Entrar</button> 
4037              </form> 
4038               
4039              <div class="dropdown-divider"></div> 
4040   
4041              <div class="px-5 pb-4"> 
4042                  <div class="text-darker-gray py-3">Não tem cadastro?</div> 
4043                  <a href="https://www.sp.senac.br/usuario-unico/InsertUser?destino=${themeDisplay.getPortalURL()+themeDisplay.getURLCurrent()}" target="_blank" class="btn bg-btn-cadastre btn-nivel-livre text-white w-100 ">Cadastre-se</a> 
4044              </div> 
4045   
4046               
4047          </div> 
4048   
4049      </section> 
4050   
4051    <!-- modal registro interesse --> 
4052   
4053 
4054      <section id="modal-registro-interesse" class="ssp-modal-registro-interesse d-none"> 
4055         
4056        <#if !isEMED> 
4057            <div class="ssp-card-registro-interesse"> 
4058       
4059              <i id="btn-close-Modal-registro-interesse" class="fas fa-times btn-close__modal-login"></i> 
4060 
4061              <p class="ssp-card-registro-interesse__label-curso-selecionado">Curso selecionado:</p> 
4062              <h3 class="ssp-card-registro-interesse__nome-curso"></h3> 
4063 
4064              <div id="unidades-registro-interesse"> 
4065 
4066                  <h4 class="ssp-card-registro-interesse__title-section-itens">Unidade:</h4> 
4067         
4068            <div id="select-unidades-registro-interesse"> 
4069                    <select class="ssp-card-registro-interesse__select unidades" id="select_0"><option value="" disabled="" selected="">Selecione uma unidade</option></select> 
4070                  </div> 
4071 
4072                  <div class="ssp-card-registro-interesse__add-mais"> 
4073                      <a class="" id="add-unidade-regsitro-interesse" href="#a"><i class="fas fa-plus mr-1"></i>Adicionar unidade</a> 
4074                       
4075                      &nbsp; 
4076                       
4077                      <a class="" id="remove-unidade-regsitro-interesse" href="#a"><i class="fas fa-times mr-1"></i>Remover unidade</a> 
4078                  </div> 
4079 
4080              </div> 
4081 
4082              <div id="dias-registro-interesse"> 
4083                  <h4 class="ssp-card-registro-interesse__title-section-itens text-center">Dias da Semana</h4> 
4084 
4085                  <div class="ssp-card-registro-interesse__week-content"> 
4086                      <span id="todosDias" class="ssp-week-day">Todos</span> 
4087                      <span class="ssp-week-day">Seg</span> 
4088                      <span class="ssp-week-day">Ter</span> 
4089                      <span class="ssp-week-day">Qua</span> 
4090                      <span class="ssp-week-day">Qui</span> 
4091                      <span class="ssp-week-day">Sex</span> 
4092                      <span class="ssp-week-day">Sab</span> 
4093                  </div> 
4094 
4095              </div> 
4096 
4097              <div id="periodo-registro-interesse"> 
4098 
4099                  <h4 class="ssp-card-registro-interesse__title-section-itens text-center">Período:</h4> 
4100 
4101                  <div class="ssp-card-registro-interesse__check-itens-content periodos-registro-interesse">  
4102 
4103                      <div class="ssp-card-registro-interesse__check-item" id="div-campo-todos"> 
4104                          <input type="checkbox" name="" value="" id="check-todos-periodos"> 
4105                          <label for="check-todos-periodos">Todos</label> 
4106                      </div> 
4107 
4108                      <div class="ssp-card-registro-interesse__check-item"> 
4109                          <input type="checkbox" name="" value="M" id="periodo-m"> 
4110                          <label for="periodo-m">Manhã</label> 
4111                      </div> 
4112 
4113                      <div class="ssp-card-registro-interesse__check-item"> 
4114                          <input type="checkbox" name="" value="T" id="periodo-t"> 
4115                          <label for="periodo-t">Tarde</label> 
4116                      </div> 
4117 
4118                      <div class="ssp-card-registro-interesse__check-item"> 
4119                          <input type="checkbox" name="" value="N" id="periodo-n"> 
4120                          <label for="periodo-n" "="">Noite</label> 
4121                      </div> 
4122 
4123 
4124                  </div> 
4125 
4126              </div> 
4127 
4128              <div class="ssp-card-registro-interesse__card-politica"> 
4129 
4130                  <p class="ssp-card-registro-interesse__card-politica-title"><strong>Política de Privacidade</strong></p> 
4131 
4132                  <p class="ssp-card-registro-interesse__card-politica-text">O Serviço Nacional de Aprendizagem Comercial - Senac, Administração Regional no Estado de São Paulo, inscrito no CNPJ sob nº 03.709.814/0001-98, com sede na Rua Dr. Vila Nova, 228, 7º andar, na cidade de São Paulo, Estado de São Paulo ("Senac São Paulo") atua de maneira transparente e responsável para garantir a proteção dos seus dados pessoais. Por isso, é muito importante para nós que você conheça nossa Política de Privacidade. </p> 
4133 
4134 
4135                  <p class="ssp-card-registro-interesse__card-politica-text"> 
4136                  <b>1. O que é a Política de Privacidade do Senac São Paulo? </b><br> 
4137 
4138                  É o documento que apresenta informações sobre a maneira como coletamos, utilizamos e compartilhamos seus dados pessoais, bem como descreve o conjunto de regras e procedimentos adotados pelo Senac São Paulo para garantir a proteção desses dados. Os seus dados pessoais são coletados quando você se cadastra em nosso site (www.sp.senac.br) para registrar interesse em cursos, participar de eventos, fazer sua matrícula ou se inscrever em bolsas de estudo.  
4139                   
4140                  Nossa Política de Privacidade é pautada pela Lei Geral de Proteção de Dados Pessoais (LGPD), nº 13.709/2018. Comprometemo-nos a cumprir estritamente seus termos assim que ela entrar em vigor. Caso queria saber mais sobre a LGPD, confira.  
4141                  <br><br> 
4142                  <b>2. Como o Senac coleta meus dados pessoais?</b><br> 
4143                   
4144                  Por meio de cadastro em nosso site ou em nossas unidades. Para realizá-lo, você notará que algumas informações são obrigatórias, pois atendem padrões estabelecidos por órgãos da administração pública, como o Ministério da Educação. Além desses dados, as outras informações solicitadas nos ajudam a entender melhor seus interesses e personalizar, ainda mais, seu atendimento.  
4145                  <br><br> 
4146                  <b>3. É possível acessar este site sem fornecer meus dados pessoais?</b><br> 
4147                   
4148                  Sim. Neste caso, podemos coletar dados técnicos da sua navegação como endereço de Protocolo de Internet (endereço IP), registro de acesso, geolocalização do endereço IP, tipo do navegador utilizado, versão do sistema operacional, modelo e características do aparelho utilizado para o acesso, banda de internet, operadora, comportamento de pageview e páginas visitadas, de acordo com cookies liberados ou não por você. (<a href="https://www.sp.senac.br/politica-de-cookies">Conhecer nossa Política de Cookies.</a>) 
4149                  <br><br> 
4150                  <b>4. No caso de acesso com cadastro, quais informações o Senac poderá solicitar? </b><br> 
4151                   
4152                  Nossa coleta de dados pessoais varia de acordo com o tipo de interação que você terá em nosso site, quais produtos ou serviços está procurando.  
4153                   
4154                  Para você saber, relacionamos a seguir os dados  pessoais que podem ser solicitados por nós:  <br> 
4155                   
4156                      - Dados sobre identificação: nome civil, nome social, filiação, nacionalidade, naturalidade, data de nascimento, sexo, estado civil, número e cópia do documento de identificação (CPF, RG/RNE ou outro)<br> 
4157                      - Dados sobre contato: endereço postal, endereço de e-mail, número de telefone<br> 
4158                      - Dados acadêmicos: estabelecimentos de ensino anteriores, certificados e diplomas acadêmicos, histórico escolar, nota do ENEM<br> 
4159                      - Dados profissionais: emprego atual, profissão<br> 
4160                      - Dados de pagamento: nome do titular da conta e número do cartão de crédito<br> 
4161                      - Dados de responsáveis: nome, telefone e número de documento de identidade do responsável legal (em casos de estudante menor de idade) e/ou financeiro <br> 
4162                      - Dados de saúde: informação sobre deficiência física e atestados médicos<br> 
4163                      - Dados de imagem: foto<br> 
4164                      - Dados de renda familiar: situação de emprego e salário de membros da mesma família<br> 
4165                      - Dados técnicos da sua navegação: endereço de Protocolo de Internet (endereço IP), registro de acesso, geolocalização do endereço IP, tipo do navegador utilizado, versão do sistema operacional, modelo e características do aparelho utilizado para o acesso, banda de internet, operadora, comportamento de pageview e páginas visitadas, de acordo com cookies liberados ou não por você. (<a href="https://www.sp.senac.br/politica-de-cookies">Conhecer nossa Política de Cookies</a>)<br> 
4166                   
4167                  <br><br> 
4168                  <b>5. Quantos e quais tipos de cadastros podem ser realizados?</b><br> 
4169                   
4170                  São três tipos de cadastro realizado. Como já comentamos (pergunta 4), eles variam de acordo com a sua experiência e o seu objetivo em nosso site. Por exemplo, se seu objetivo agora é apenas registrar interesse em algum curso livre, você terá que preencher seus dados de identificação e contato, caso queira fazer sua matrícula, deverá preencher também informações sobre pagamento, mas, se optar por se inscrever para bolsa de estudo, terá que fornecer outros documentos específicos, como comprovantes de renda. Confira:<br> 
4171                   
4172                      - Cadastro simples: poderemos coletar dados de identificação e de contato.<br> 
4173                      - Cadastro e inscrição em cursos e outros eventos:  quando você se inscreve em nossos cursos, eventos e até mesmo para participar do nosso vestibular e efetivar a sua matrícula em cursos livres, técnicos, de formação continuada ou superior, por exemplo, poderemos coletar dados dos responsáveis, de identificação, de contato, dados acadêmicos, profissionais, de saúde, de pagamento e de imagem.<br> 
4174                      Importante: também poderemos solicitar o envio de cópia de documentos, de acordo com o curso escolhido por você.<br> 
4175                      - Cadastro e inscrição para bolsas de estudos: poderemos coletar dados de identificação, contato e renda familiar.<br> 
4176                      Importante: também poderemos solicitar o envio de cópia de documentos para comprovar as informações fornecidas.<br> 
4177                   
4178                  <br><br> 
4179                  <b>6. Para quais finalidades meus dados podem ser utilizados?</b><br> 
4180                   
4181                      - Em procedimentos internos relacionados aos nossos serviços e produtos para que você tenha uma experiência positiva durante sua jornada no Senac. Afinal, você precisa ter informações sobre nossos serviços, ter acesso a nossa infraestrutura, ou, por exemplo, poder emprestar livros nas nossas bibliotecas,  realizar pagamentos, enviar reclamações, sugestões, pedidos, entre outros. <br> 
4182                      - Para cumprir obrigações legais a que estamos sujeitos, por exemplo: o pagamento de impostos, fazer o gerenciamento de matrícula, providenciar o reconhecimento de equivalências e de documentos que conferem graus e títulos acadêmicos, emitir certificados e diplomas, realizar o controle de assiduidade e registro de informações acadêmicas.<br> 
4183                      - Para permitir a realização de auditoria de órgãos da administração pública<br> 
4184                      - Em investigações sobre possíveis violações de leis ou de nossas políticas internas<br> 
4185                      - Para estabelecer rede de conexões entre ex-estudantes<br> 
4186                      - Para melhorar sua experiência com o Senac São Paulo, como, por exemplo, disponibilizar intérpretes, fornecer melhores ferramentas ou aprimorar nossos ambientes<br> 
4187                      - Para defender direitos em conflitos judiciais ou extrajudiciais e para proteger nossos direitos e de terceiros e, ainda, para outras finalidades que exijam o seu consentimento, que será solicitado nos termos da legislação vigente. <br> 
4188                   
4189                   
4190                  <b>Importante:</b> usaremos seus dados pessoais somente para atender aos objetivos descritos nesta Política. Se necessário, seus dados poderão ser usados para outras finalidades não conflitantes às finalidades apresentadas nesta Política.  
4191                  <br><br> 
4192                  <b>7. Com quem o Senac pode compartilhar meus dados?</b><br> 
4193                   
4194                      - Com órgãos da administração pública (Ministério da Educação, Secretaria Estadual da Educação, Tribunal de Contas da União, Controladoria Geral da União e demais órgãos relacionados a esses) para cumprimento de obrigações legais e regulatórias.<br> 
4195                      - Com instituições do setor bancário e seguradoras, para gestão e processamento de pagamentos.<br> 
4196                      - Com empresas que tenhamos contratos, parceria e/ou acordos de cooperação, por exemplo, gráficas, para a emissão de cartões e provas.<br> 
4197                      - Com instituições de ensino para validar a autenticidade de documentos.<br> 
4198                      Importante: informaremos você quando houver o compartilhamento de dados para outras finalidades que possam ser incompatíveis com o descrito nesta Política, sempre que exigido pela legislação. 
4199                   
4200                  <br><br> 
4201                  <b>8. Por quanto tempo meus dados serão armazenados?</b> <br> 
4202                   
4203                  Pelo período necessário para que você tenha uma experiência positiva dentro da instituição, atendendo seus interesses e solicitações.  
4204                   
4205                  <b>Importante:</b> poderemos preservar os seus dados por um período superior sempre que exista uma obrigação legal, por exemplo, em relação aos dados utilizados na gestão acadêmica, ou se existirem razões de interesse público (arquivo, investigação científica e histórica, ou para censos educacionais). Nessas ocasiões, sempre que possível, seus dados serão tratados de forma que seja possível manter o seu anonimato.  
4206                  <br><br> 
4207                  <b>9. Quais são as medidas de segurança utilizadas para garantir a proteção dos meus dados pessoais?</b><br> 
4208                   
4209                  Atuamos de maneira transparente e responsável, por meio de padrões de segurança e prevenção confiáveis. Adotamos medidas administrativas, técnicas e físicas para proteger dados pessoais contra perda, roubo, uso indevido, bem como, contra acesso não autorizado, divulgação, alteração e destruição de informações.  
4210                   
4211                  Confira nossas medidas de segurança da informação que buscam garantir a confidencialidade, a integridade e a disponibilidade dos dados coletados: <br> 
4212                   
4213                      - Controlar o acesso a informações, considerando a necessidade de nossos funcionários obterem determinado dado<br> 
4214                      - Proteger infraestruturas tecnológicas contra acessos não autorizados<br> 
4215                      - Monitorar constantemente toda nossa infraestrutura tecnológica <br> 
4216                      - Política de troca de senhas<br> 
4217                      - Política de confidencialidade com funcionários e terceiros<br> 
4218                   
4219                  <br><br> 
4220                  <b>10. É possível que meus dados sejam transferidos para fora do país?</b><br> 
4221                   
4222                  Sim, pois temos parcerias em nível global. Portanto, dados pessoais talvez precisem ser transferidos para outros países, seja em razão dessas parcerias (por exemplo, em caso de intercâmbio de estudantes) ou pela necessidade de armazenamento de dados em servidores estrangeiros, por meio da utilização de servidores em nuvem (cloud). 
4223                   
4224                  Caso seus dados pessoais sejam transferidos para fora do Brasil, adotaremos todos os cuidados para assegurar que essa transferência obedeça às normas e preserve o sigilo de todas as informações coletadas.  
4225                  <br><br> 
4226                  <b>11. Quais são os meus direitos em relação aos dados pessoais fornecidos?</b><br> 
4227                   
4228                  Agora que você já sabe como coletamos, utilizamos e compartilhamos seus dados, é igualmente importante para nós que você conheça quais são os direitos que possui quando nos fornece seus dados pessoais. Caso queira, você poderá: 
4229                   
4230                      - Corrigir seus dados pessoais que estejam incompletos, inexatos ou desatualizados<br> 
4231                      Caso você identifique algum erro em relação aos dados fornecidos, basta solicitar a alteração para nossa equipe. Isso é importante para que as informações sejam utilizadas da maneira correta e seu cadastro fique sempre atualizado. <br> 
4232                      - Cancelar ou revogar o seu consentimento de utilização de dados <br> 
4233                      Você poderá cancelar, a qualquer momento, o consentimento em relação ao uso, pelo Senac São Paulo, dos seus dados pessoais. <br> 
4234                   
4235                   
4236                  <b>Importante:</b> deixaremos de usar seus dados pessoais quando a revogação do seu consentimento for concluída. Sendo assim, qualquer utilização de seus dados pessoais antes da efetivação do cancelamento/revogação é entendido por nós como legal, verdadeiro e autorizado por você.  
4237                   
4238                  Caso queira fazer algum pedido referente a este campo, você deve entrar em contato via e-mail pelo privacidade@sp.senac.br. Poderemos solicitar informações para confirmar sua identidade e seu direito de acesso aos dados solicitados. 
4239                   
4240                  Tenha certeza, trabalharemos sempre de maneira ágil e responsável para atender suas solicitações o mais breve possível, sendo que observaremos os prazos legais quando da vigência da LGPD.  
4241                  <br><br> 
4242                  <b>12. E se essa Política for atualizada?</b><br> 
4243                   
4244                  Caso existam alterações significativas, iremos avisar você o mais breve possível, ou, antes que a nova política entre em vigor. Por isso, recomendamos que consulte este documento sempre que possível e verifique a data da sua última atualização, informada no rodapé desta página.  
4245                  <br><br> 
4246                  <b>13. Como posso tirar minhas dúvidas sobre esta Política?</b><br> 
4247                   
4248                  Fique à vontade para nos enviar qualquer tipo de dúvida sobre esta Política, em privacidade@sp.senac.br. Será um prazer falar com você! 
4249                   
4250                  <br><br> 
4251                   
4252                  <b>Encarregado de Dados do Senac (DPO):</b> 
4253                   
4254                  <br><br> 
4255                  <b>Fernando Sátiro Pereira </b>| Gerente de Tecnologia da Informação do Senac São Paulo 
4256                   
4257                  <br> 
4258                  <b>Contato: privacidade@sp.senac.br</b> 
4259              </p> 
4260                   
4261 
4262              </div> 
4263 
4264              <div class="ssp-card-registro-interesse__check-item"> 
4265                  <input type="checkbox" name="" value="" id="check-politica-privacidade"> 
4266                  <label for="check-politica-privacidade">Aceito a Política de Privacidade</label> 
4267              </div> 
4268 
4269              <div class="text-center mt-5"> 
4270 
4271                  <button class="btn btn-nivel ssp-card-registro-interesse__btn-enviar btn-with-loading" href="#a" id="enviar-registro-interesse-btn" disabled="disabled">Enviar</button> 
4272 
4273                  <p class="ssp-card-registro-interesse__aviso"><strong>Importante:</strong> O registro de interesse não garante a vaga.</p> 
4274 
4275              </div> 
4276 
4277          </div>     
4278   
4279        <#else> 
4280 
4281            <div class="ssp-card-registro-interesse emed"> 
4282 
4283              <i id="btn-close-Modal-registro-interesse" class="fas fa-times btn-close__modal-login"></i> 
4284 
4285              <p class="ssp-card-registro-interesse__label-curso-selecionado">Curso selecionado:</p> 
4286 
4287              <div class="emed-select-group"> 
4288 
4289                  <h3 class="ssp-card-registro-interesse__title-modal"></h3> 
4290                   
4291                  <div id="unidades-registro-interesse"> 
4292       
4293                      <h4 class="ssp-card-registro-interesse__title-section-itens">Escolha uma unidade</h4> 
4294             
4295                      <div id="select-unidades-registro-interesse"> 
4296                        <select class="ssp-card-registro-interesse__select unidades" id="select_0"><option value="" disabled="" selected="">Selecione uma unidade</option></select> 
4297                      </div> 
4298       
4299                      <div class="ssp-card-registro-interesse__add-mais"> 
4300                          <a class="" id="add-unidade-regsitro-interesse" href="#a"><i class="fas fa-plus mr-1"></i>Adicionar unidade</a> 
4301                           
4302                          &nbsp; 
4303                           
4304                          <a class="" id="remove-unidade-regsitro-interesse" href="#a"><i class="fas fa-times mr-1"></i>Remover unidade</a> 
4305                      </div> 
4306       
4307                  </div> 
4308 
4309              </div> 
4310 
4311               
4312              <div id="periodo-registro-interesse"> 
4313 
4314                  <p class="ssp-card-registro-interesse__title-section-itens">Período:</p> 
4315 
4316                  <div class="ssp-card-registro-interesse__check-itens-content periodos-registro-interesse">                   
4317                      <div class="ssp-card-registro-interesse__check-item"> 
4318                          <input type="checkbox" name="" value="M" id="periodo-m"> 
4319                          <label for="periodo-m">Manhã</label> 
4320                      </div> 
4321                       
4322                      <div class="ssp-card-registro-interesse__check-item"> 
4323                          <input type="checkbox" name="" value="T" id="periodo-t"> 
4324                          <label for="periodo-t">Tarde</label> 
4325                      </div> 
4326                       
4327                      <div class="ssp-card-registro-interesse__check-item" id="div-campo-todos"> 
4328                          <input type="checkbox" name="" value="" id="check-todos-periodos"> 
4329                          <label for="check-todos-periodos">Todos</label> 
4330                      </div> 
4331 
4332                  </div> 
4333 
4334              </div> 
4335 
4336              <div id="turmas-registro-interesse"> 
4337 
4338                  <p class="ssp-card-registro-interesse__title-section-itens">Turma:</p> 
4339 
4340                  <div class="ssp-card-registro-interesse__check-itens-content turmas-registro-interesse">  
4341 
4342                      <div class="ssp-card-registro-interesse__check-item"> 
4343                          <input type="checkbox" name="" value="1" id="primeiro"> 
4344                          <label for="primeiro">1º ano</label> 
4345                      </div> 
4346 
4347                      <div class="ssp-card-registro-interesse__check-item"> 
4348                          <input type="checkbox" name="" value="2" id="segundo"> 
4349                          <label for="segundo">2º ano</label> 
4350                      </div> 
4351 
4352                      <div class="ssp-card-registro-interesse__check-item"> 
4353                          <input type="checkbox" name="" value="3" id="terceiro"> 
4354                          <label for="terceiro">3º ano</label> 
4355                      </div> 
4356 
4357                  </div> 
4358 
4359              </div> 
4360 
4361              <div id="msg-transferencia-emed"> 
4362 
4363                  <div class="transferencia-emed-title"> 
4364                      <i class="fas fa-comment-exclamation"></i> 
4365                      <p>Quer se transferir de escola?</p> 
4366                  </div> 
4367 
4368                  <div class="transferencia-emed-link"> 
4369                      <a href="#">Fale direto com a unidade de interesse.</a> 
4370                  </div> 
4371 
4372              </div> 
4373 
4374              <div class="ssp-card-registro-interesse__card-politica"> 
4375 
4376                  <p class="ssp-card-registro-interesse__card-politica-title"><strong>Política de Privacidade</strong></p> 
4377 
4378                  <p class="ssp-card-registro-interesse__card-politica-text">O Serviço Nacional de Aprendizagem Comercial - Senac, Administração Regional no Estado de São Paulo, inscrito no CNPJ sob nº 03.709.814/0001-98, com sede na Rua Dr. Vila Nova, 228, 7º andar, na cidade de São Paulo, Estado de São Paulo ("Senac São Paulo") atua de maneira transparente e responsável para garantir a proteção dos seus dados pessoais. Por isso, é muito importante para nós que você conheça nossa Política de Privacidade. </p> 
4379 
4380                  <p class="ssp-card-registro-interesse__card-politica-text"> 
4381 
4382                      <b>1. O que é a Política de Privacidade do Senac São Paulo? </b><br> 
4383 
4384                      É o documento que apresenta informações sobre a maneira como coletamos, utilizamos e compartilhamos seus dados pessoais, bem como descreve o conjunto de regras e procedimentos adotados pelo Senac São Paulo para garantir a proteção desses dados. Os seus dados pessoais são coletados quando você se cadastra em nosso site (www.sp.senac.br) para registrar interesse em cursos, participar de eventos, fazer sua matrícula ou se inscrever em bolsas de estudo.  
4385 
4386                      Nossa Política de Privacidade é pautada pela Lei Geral de Proteção de Dados Pessoais (LGPD), nº 13.709/2018. Comprometemo-nos a cumprir estritamente seus termos assim que ela entrar em vigor. Caso queria saber mais sobre a LGPD, confira.  
4387                      <br><br> 
4388                      <b>2. Como o Senac coleta meus dados pessoais?</b><br> 
4389                       
4390                      Por meio de cadastro em nosso site ou em nossas unidades. Para realizá-lo, você notará que algumas informações são obrigatórias, pois atendem padrões estabelecidos por órgãos da administração pública, como o Ministério da Educação. Além desses dados, as outras informações solicitadas nos ajudam a entender melhor seus interesses e personalizar, ainda mais, seu atendimento.  
4391                      <br><br> 
4392                      <b>3. É possível acessar este site sem fornecer meus dados pessoais?</b><br> 
4393                       
4394                      Sim. Neste caso, podemos coletar dados técnicos da sua navegação como endereço de Protocolo de Internet (endereço IP), registro de acesso, geolocalização do endereço IP, tipo do navegador utilizado, versão do sistema operacional, modelo e características do aparelho utilizado para o acesso, banda de internet, operadora, comportamento de pageview e páginas visitadas, de acordo com cookies liberados ou não por você. (<a href="https://www.sp.senac.br/politica-de-cookies">Conhecer nossa Política de Cookies.</a>) 
4395                      <br><br> 
4396                      <b>4. No caso de acesso com cadastro, quais informações o Senac poderá solicitar? </b><br> 
4397                       
4398                      Nossa coleta de dados pessoais varia de acordo com o tipo de interação que você terá em nosso site, quais produtos ou serviços está procurando.  
4399                       
4400                      Para você saber, relacionamos a seguir os dados  pessoais que podem ser solicitados por nós:  <br> 
4401                       
4402                          - Dados sobre identificação: nome civil, nome social, filiação, nacionalidade, naturalidade, data de nascimento, sexo, estado civil, número e cópia do documento de identificação (CPF, RG/RNE ou outro)<br> 
4403                          - Dados sobre contato: endereço postal, endereço de e-mail, número de telefone<br> 
4404                          - Dados acadêmicos: estabelecimentos de ensino anteriores, certificados e diplomas acadêmicos, histórico escolar, nota do ENEM<br> 
4405                          - Dados profissionais: emprego atual, profissão<br> 
4406                          - Dados de pagamento: nome do titular da conta e número do cartão de crédito<br> 
4407                          - Dados de responsáveis: nome, telefone e número de documento de identidade do responsável legal (em casos de estudante menor de idade) e/ou financeiro <br> 
4408                          - Dados de saúde: informação sobre deficiência física e atestados médicos<br> 
4409                          - Dados de imagem: foto<br> 
4410                          - Dados de renda familiar: situação de emprego e salário de membros da mesma família<br> 
4411                          - Dados técnicos da sua navegação: endereço de Protocolo de Internet (endereço IP), registro de acesso, geolocalização do endereço IP, tipo do navegador utilizado, versão do sistema operacional, modelo e características do aparelho utilizado para o acesso, banda de internet, operadora, comportamento de pageview e páginas visitadas, de acordo com cookies liberados ou não por você. (<a href="https://www.sp.senac.br/politica-de-cookies">Conhecer nossa Política de Cookies</a>)<br> 
4412                       
4413                      <br><br> 
4414                      <b>5. Quantos e quais tipos de cadastros podem ser realizados?</b><br> 
4415                       
4416                      São três tipos de cadastro realizado. Como já comentamos (pergunta 4), eles variam de acordo com a sua experiência e o seu objetivo em nosso site. Por exemplo, se seu objetivo agora é apenas registrar interesse em algum curso livre, você terá que preencher seus dados de identificação e contato, caso queira fazer sua matrícula, deverá preencher também informações sobre pagamento, mas, se optar por se inscrever para bolsa de estudo, terá que fornecer outros documentos específicos, como comprovantes de renda. Confira:<br> 
4417                       
4418                          - Cadastro simples: poderemos coletar dados de identificação e de contato.<br> 
4419                          - Cadastro e inscrição em cursos e outros eventos:  quando você se inscreve em nossos cursos, eventos e até mesmo para participar do nosso vestibular e efetivar a sua matrícula em cursos livres, técnicos, de formação continuada ou superior, por exemplo, poderemos coletar dados dos responsáveis, de identificação, de contato, dados acadêmicos, profissionais, de saúde, de pagamento e de imagem.<br> 
4420                          Importante: também poderemos solicitar o envio de cópia de documentos, de acordo com o curso escolhido por você.<br> 
4421                          - Cadastro e inscrição para bolsas de estudos: poderemos coletar dados de identificação, contato e renda familiar.<br> 
4422                          Importante: também poderemos solicitar o envio de cópia de documentos para comprovar as informações fornecidas.<br> 
4423                       
4424                      <br><br> 
4425                      <b>6. Para quais finalidades meus dados podem ser utilizados?</b><br> 
4426                       
4427                          - Em procedimentos internos relacionados aos nossos serviços e produtos para que você tenha uma experiência positiva durante sua jornada no Senac. Afinal, você precisa ter informações sobre nossos serviços, ter acesso a nossa infraestrutura, ou, por exemplo, poder emprestar livros nas nossas bibliotecas,  realizar pagamentos, enviar reclamações, sugestões, pedidos, entre outros. <br> 
4428                          - Para cumprir obrigações legais a que estamos sujeitos, por exemplo: o pagamento de impostos, fazer o gerenciamento de matrícula, providenciar o reconhecimento de equivalências e de documentos que conferem graus e títulos acadêmicos, emitir certificados e diplomas, realizar o controle de assiduidade e registro de informações acadêmicas.<br> 
4429                          - Para permitir a realização de auditoria de órgãos da administração pública<br> 
4430                          - Em investigações sobre possíveis violações de leis ou de nossas políticas internas<br> 
4431                          - Para estabelecer rede de conexões entre ex-estudantes<br> 
4432                          - Para melhorar sua experiência com o Senac São Paulo, como, por exemplo, disponibilizar intérpretes, fornecer melhores ferramentas ou aprimorar nossos ambientes<br> 
4433                          - Para defender direitos em conflitos judiciais ou extrajudiciais e para proteger nossos direitos e de terceiros e, ainda, para outras finalidades que exijam o seu consentimento, que será solicitado nos termos da legislação vigente. <br> 
4434                       
4435                       
4436                      <b>Importante:</b> usaremos seus dados pessoais somente para atender aos objetivos descritos nesta Política. Se necessário, seus dados poderão ser usados para outras finalidades não conflitantes às finalidades apresentadas nesta Política.  
4437                      <br><br> 
4438                      <b>7. Com quem o Senac pode compartilhar meus dados?</b><br> 
4439                       
4440                          - Com órgãos da administração pública (Ministério da Educação, Secretaria Estadual da Educação, Tribunal de Contas da União, Controladoria Geral da União e demais órgãos relacionados a esses) para cumprimento de obrigações legais e regulatórias.<br> 
4441                          - Com instituições do setor bancário e seguradoras, para gestão e processamento de pagamentos.<br> 
4442                          - Com empresas que tenhamos contratos, parceria e/ou acordos de cooperação, por exemplo, gráficas, para a emissão de cartões e provas.<br> 
4443                          - Com instituições de ensino para validar a autenticidade de documentos.<br> 
4444                          Importante: informaremos você quando houver o compartilhamento de dados para outras finalidades que possam ser incompatíveis com o descrito nesta Política, sempre que exigido pela legislação. 
4445                       
4446                      <br><br> 
4447                      <b>8. Por quanto tempo meus dados serão armazenados?</b> <br> 
4448                       
4449                      Pelo período necessário para que você tenha uma experiência positiva dentro da instituição, atendendo seus interesses e solicitações.  
4450                       
4451                      <b>Importante:</b> poderemos preservar os seus dados por um período superior sempre que exista uma obrigação legal, por exemplo, em relação aos dados utilizados na gestão acadêmica, ou se existirem razões de interesse público (arquivo, investigação científica e histórica, ou para censos educacionais). Nessas ocasiões, sempre que possível, seus dados serão tratados de forma que seja possível manter o seu anonimato.  
4452                      <br><br> 
4453                      <b>9. Quais são as medidas de segurança utilizadas para garantir a proteção dos meus dados pessoais?</b><br> 
4454                       
4455                      Atuamos de maneira transparente e responsável, por meio de padrões de segurança e prevenção confiáveis. Adotamos medidas administrativas, técnicas e físicas para proteger dados pessoais contra perda, roubo, uso indevido, bem como, contra acesso não autorizado, divulgação, alteração e destruição de informações.  
4456                       
4457                      Confira nossas medidas de segurança da informação que buscam garantir a confidencialidade, a integridade e a disponibilidade dos dados coletados: <br> 
4458                       
4459                          - Controlar o acesso a informações, considerando a necessidade de nossos funcionários obterem determinado dado<br> 
4460                          - Proteger infraestruturas tecnológicas contra acessos não autorizados<br> 
4461                          - Monitorar constantemente toda nossa infraestrutura tecnológica <br> 
4462                          - Política de troca de senhas<br> 
4463                          - Política de confidencialidade com funcionários e terceiros<br> 
4464                       
4465                      <br><br> 
4466                      <b>10. É possível que meus dados sejam transferidos para fora do país?</b><br> 
4467                       
4468                      Sim, pois temos parcerias em nível global. Portanto, dados pessoais talvez precisem ser transferidos para outros países, seja em razão dessas parcerias (por exemplo, em caso de intercâmbio de estudantes) ou pela necessidade de armazenamento de dados em servidores estrangeiros, por meio da utilização de servidores em nuvem (cloud). 
4469                       
4470                      Caso seus dados pessoais sejam transferidos para fora do Brasil, adotaremos todos os cuidados para assegurar que essa transferência obedeça às normas e preserve o sigilo de todas as informações coletadas.  
4471                      <br><br> 
4472                      <b>11. Quais são os meus direitos em relação aos dados pessoais fornecidos?</b><br> 
4473                       
4474                      Agora que você já sabe como coletamos, utilizamos e compartilhamos seus dados, é igualmente importante para nós que você conheça quais são os direitos que possui quando nos fornece seus dados pessoais. Caso queira, você poderá: 
4475                       
4476                          - Corrigir seus dados pessoais que estejam incompletos, inexatos ou desatualizados<br> 
4477                          Caso você identifique algum erro em relação aos dados fornecidos, basta solicitar a alteração para nossa equipe. Isso é importante para que as informações sejam utilizadas da maneira correta e seu cadastro fique sempre atualizado. <br> 
4478                          - Cancelar ou revogar o seu consentimento de utilização de dados <br> 
4479                          Você poderá cancelar, a qualquer momento, o consentimento em relação ao uso, pelo Senac São Paulo, dos seus dados pessoais. <br> 
4480                       
4481                       
4482                      <b>Importante:</b> deixaremos de usar seus dados pessoais quando a revogação do seu consentimento for concluída. Sendo assim, qualquer utilização de seus dados pessoais antes da efetivação do cancelamento/revogação é entendido por nós como legal, verdadeiro e autorizado por você.  
4483                       
4484                      Caso queira fazer algum pedido referente a este campo, você deve entrar em contato via e-mail pelo privacidade@sp.senac.br. Poderemos solicitar informações para confirmar sua identidade e seu direito de acesso aos dados solicitados. 
4485                       
4486                      Tenha certeza, trabalharemos sempre de maneira ágil e responsável para atender suas solicitações o mais breve possível, sendo que observaremos os prazos legais quando da vigência da LGPD.  
4487                      <br><br> 
4488                      <b>12. E se essa Política for atualizada?</b><br> 
4489                       
4490                      Caso existam alterações significativas, iremos avisar você o mais breve possível, ou, antes que a nova política entre em vigor. Por isso, recomendamos que consulte este documento sempre que possível e verifique a data da sua última atualização, informada no rodapé desta página.  
4491                      <br><br> 
4492                      <b>13. Como posso tirar minhas dúvidas sobre esta Política?</b><br> 
4493                       
4494                      Fique à vontade para nos enviar qualquer tipo de dúvida sobre esta Política, em privacidade@sp.senac.br. Será um prazer falar com você! 
4495                       
4496                      <br><br> 
4497                       
4498                      <b>Encarregado de Dados do Senac (DPO):</b> 
4499                       
4500                      <br><br> 
4501                      <b>Fernando Sátiro Pereira </b>| Gerente de Tecnologia da Informação do Senac São Paulo 
4502                       
4503                      <br> 
4504                      <b>Contato: privacidade@sp.senac.br</b> 
4505 
4506                  </p> 
4507 
4508              </div> 
4509 
4510              <div class="ssp-card-registro-interesse__check-item"> 
4511                  <input type="checkbox" name="" value="" id="check-politica-privacidade"> 
4512                  <label for="check-politica-privacidade">Aceito a Política de Privacidade</label> 
4513              </div> 
4514 
4515              <div class="text-center mt-5"> 
4516 
4517                  <button class="btn btn-nivel ssp-card-registro-interesse__btn-enviar btn-with-loading" href="#a" id="enviar-registro-interesse-btn" disabled="disabled">Enviar</button> 
4518 
4519                  <p class="ssp-card-registro-interesse__aviso"><strong>Importante:</strong> O registro de interesse não garante a vaga.</p> 
4520 
4521              </div> 
4522 
4523            </div>    
4524 
4525        </#if> 
4526      </section> 
4527 
4528      <section id="modal-registro-interesse-sucesso" class="ssp-modal-registro-interesse d-none"> 
4529   
4530          <div class="ssp-card-msg-sucesso"> 
4531   
4532              <div class="ssp-card-msg-sucesso__content"> 
4533                  <i class="fas fa-exclamation-circle"></i> 
4534                  <p>Obrigado por registrar seu interesse!</p> 
4535                  <p>Acompanhe seu e-mail para ficar por dentro das novidades!</p> 
4536              </div> 
4537   
4538              <div> 
4539                  <a class="btn btn-nivel ssp-card-msg-sucesso__btn" href="#" id="btn-voltar-home">Voltar para a home</a> 
4540              </div> 
4541   
4542          </div> 
4543   
4544      </section> 
4545   
4546    <section id="modal-registro-interesse-erro" class="ssp-modal-registro-interesse d-none"> 
4547   
4548          <div class="ssp-card-msg-erro"> 
4549   
4550              <div class="ssp-card-msg-sucesso__content"> 
4551                  <i class="fas fa-exclamation-circle" style="color: #ec3a3a;"></i> 
4552                  <p>Houve um erro ao registrar seu interesse!</p> 
4553                  <p>Por favor, tente novamente!</p> 
4554              </div> 
4555   
4556              <div> 
4557                  <a class="btn btn-nivel ssp-card-msg-sucesso__btn" href="#">Voltar para a home</a> 
4558              </div> 
4559   
4560          </div> 
4561   
4562      </section> 
4563       
4564      <!-- Aviso para curso de aprendizagem --> 
4565   
4566    <div id="aviso-curso-aprendizagem" class="ssp-bolsa-formulario__card-aviso-atencao d-none" style="width: 100%;"> 
4567                     
4568        <i class="fas fa-exclamation-circle ssp-bolsa-formulario__card-aviso-atencao-icon" aria-hidden="true"></i> 
4569     
4570        <div class="ssp-bolsa-formulario__card-aviso-texto"> 
4571          <p>O programa é gratuito para empresas contribuintes do Senac.</p>  
4572          <p>Para contratar aprendiz, preencha o formulário e entraremos em contato.</p> 
4573        </div> 
4574     
4575     </div> 
4576 
4577     <!-- modal form de aprendizagem --> 
4578 
4579    <#if isAprendizagem> 
4580     
4581      <#assign formId = 48097883 /> 
4582      <!-- formInstanceId é variável de acordo com o ID do formulário --> 
4583      <#assign formPreferences = {"displayDepth": "1", "portletSetupPortletDecoratorId": "barebone", "formInstanceId": "formId"}/> 
4584 
4585      <section data-lfr-background-image-id="bg-programe-form" class="ssp-section ssp-section-lg-bottom" data-modal="modal"> 
4586     
4587        <div class="container ssp_ct_form_programe"> 
4588 
4589          <button type="button" data-modal="close-form-modal"> 
4590            fechar 
4591            <i class="fas fa-times"></i> 
4592          </button> 
4593         
4594          <@liferay_portlet["runtime"] 
4595            portletName="com_liferay_dynamic_data_mapping_form_web_portlet_DDMFormPortlet" 
4596            defaultPreferences=freeMarkerPortletPreferences.getPreferences(formPreferences) 
4597          />   
4598               
4599        </div>    
4600 
4601      </section> 
4602 
4603    </#if> 
4604   
4605    <div id="avisoTrampolim" class="ssp-bolsa-formulario__card-aviso-atencao container text-left d-none" style="width: 100%;">                   
4606         <i class="fas fa-exclamation-circle ssp-bolsa-formulario__card-aviso-atencao-icon" aria-hidden="true"></i>   
4607         <div class="ssp-bolsa-formulario__card-aviso-texto"><p>Para informações sobre preço do curso e matrícula, entre em contato a unidade.</p> 
4608         </div> 
4609 
4610       </div> 
4611          
4612         
4613         <!--modal forma pagto extensao-->   
4614        <section id="modalFormaPagtoExt" class="modal-extensao ssp-modal"> 
4615         <div class="modal-extensao_content"> 
4616            <i class="fas fa-undo modal-extensao-voltar-icon"><span class="modal-extensao-voltar-txticon">Voltar</span></i> 
4617            <h1 class="modal-extensao-condicoes__title">Descontos e Parcelamento</h1> 
4618            <div class="row"> 
4619   
4620              <!-- <button class="btn-preco-padrao d-xs-flex d-sm-flex d-lg-none d-xl-none"> 
4621                Preço Padrão 
4622                <i class="fas fa-chevron-right custom-icon-right"></i> 
4623              </button> --> 
4624   
4625             <div class="col-lg-6 col-sm-12 col-xs-12"> 
4626   
4627                <h2 class="modal-extensao_subtitle">Investimento</h2> 
4628   
4629                <span class="modal-extensao_preco">R$ <span class="precoVendaOferta"></span></span> 
4630                <span class="modal-extensao_txteconomiza">.<b class="modal-extensao_txtverde"></b></span> 
4631                <div class="modal-extensao_ctboleto pt-2 pb-2 mb-3"> 
4632                   <i class="fas fa-barcode" aria-hidden="true"></i>   
4633                   <span class="modal-extensao_txtPag">Boleto Bancário</span>   
4634                   <span class="modal-extensao_txtParcela"><b><span class="numParcelaBoleto"></span>x de R$ <span class="precoParcelaBoleto"></span></b></span>         
4635                   <span class="modal-extensao_txtParcela">sem juros</span> 
4636                </div> 
4637                <div class="modal-extensao_ctcard pt-2 pb-2 mb-3"> 
4638                   <i class="far fa-credit-card" aria-hidden="true"></i> 
4639                   <span class="modal-extensao_txtPag">Cartão de Crédito</span> 
4640                   <span class="modal-extensao_txtParcela"><b><span class="numParcelaCartoes"></span>x de R$ <span class="precoParcelaCartoes"></span></b></span>         
4641                   <span class="modal-extensao_txtParcela">sem juros</span> 
4642                </div> 
4643                <p class="modal-extensao_txtParcela pt-5"><b>À vista:</b> R$ <span class="precoAVistaPadraoExt"></span> <span class="modal-extensao_txtporcent">(-8%)</span></p> 
4644             </div> 
4645   
4646             <!-- <hr class="ssp-divisor d-xs-block d-sm-block d-lg-none d-xl-none"> --> 
4647   
4648             <!-- <button class="btn-preco-ex-aluno d-xs-flex d-sm-flex d-lg-none d-xl-none"> 
4649              Preço para Contribuintes,<br>alunos e ex-alunos* 
4650              <i class="fas fa-chevron-right custom-icon-right"></i> 
4651            </button> --> 
4652   
4653             <div class="col-lg-6 col-sm-12 col-xs-12"> 
4654                <h2 class="modal-extensao_subtitle mt-4">Valor com 20% de desconto para alunos, ex-alunos e contribuintes Senac</h2> 
4655                <span class="modal-extensao_preco">R$ <span class="precoContrExt"></span></span> 
4656                <span class="modal-extensao_txteconomiza">Você economiza <b class="modal-extensao_txtverde">R$ <span class="economiaExt"></span> (-20%)</b></span> 
4657                <div class="modal-extensao_ctboleto pt-2 pb-2 mb-3"> 
4658                   <i class="fas fa-barcode" aria-hidden="true"></i>   
4659                   <span class="modal-extensao_txtPag">Boleto Bancário</span>   
4660                   <span class="modal-extensao_txtParcela"><b><span class="numParcelaBoleto"></span>x de R$ <span class="precoParcelaBoletoExt"></span></b></span>         
4661                   <span class="modal-extensao_txtParcela">sem juros</span>     
4662                </div> 
4663                <div class="modal-extensao_ctcard pt-2 pb-2 mb-3"> 
4664                   <i class="far fa-credit-card" aria-hidden="true"></i> 
4665                   <span class="modal-extensao_txtPag">Cartão de Crédito</span> 
4666                   <span class="modal-extensao_txtParcela"><b><span class="numParcelaCartoes"></span>x de R$ <span class="precoParcelaCartoesExt"></span></b></span>         
4667                   <span class="modal-extensao_txtParcela">sem juros</span> 
4668                </div> 
4669                <p class="modal-extensao_txtParcela pt-5"><b>À vista:</b> R$ <span class="precoAVistaContrExt"></span> <span class="modal-extensao_txtporcent">(-8%)</span></p> 
4670             </div> 
4671             <div class="col-lg-6 col-sm-12 col-xs-12"> 
4672                <a target="_blank" href="#"> 
4673                <button class="btn modal-extensao__btn mt-3 text-uppercase">Comprar</button> 
4674                </a> 
4675             </div> 
4676             <div class="col-lg-6 col-sm-12 col-xs-12"> 
4677                <button class="btn btn-primary modal-extensao-btn-conheca mt-3" >Conheça os descontos</button> 
4678             </div> 
4679          </div> 
4680         </div> 
4681 
4682         <div class="modal-extensao_content modal-pergunta-aluno-ext d-none"> 
4683            
4684            <i class="fal fa-times modal-extensao-voltar-icon" style="font-size:25px;"></i> 
4685            <h1 class="modal-extensao-condicoes__title">Você é nosso aluno?</h1> 
4686            <div class="row"> 
4687               <div class="col-6 text-right"> 
4688                   
4689                  <button class="btn btn-primary modal-extensao-btn-aluno-sim-nao sim mt-3">Sim</button> 
4690           
4691	</div> 
4692               <div class="col-6 text-left"> 
4693                   
4694                  <button class="btn btn-primary modal-extensao-btn-aluno-sim-nao nao mt-3">Não</button> 
4695                   
4696               </div> 
4697            </div> 
4698            <div class="row d-none msg-alunoSim"> 
4699               <div class="col-12 text-center mt-10"> 
4700                  <i class="fas fa-check-circle modal-extensao-ico-check"></i> 
4701                  <h2 class="modal-extensao-condicoes__subtitle">Boa notícia!</h2> 
4702                  <p class="modal-extensao-aluno_txtcontent">Você tem 20% de desconto neste curso.<br> Faça seu login e preencha os dados solicitados.</p> 
4703                  <p class="mb-0"> 
4704                     <a target="_blank" href="#"> 
4705                     <button class="btn modal-extensao-aluno__btn ok mt-3">Fazer Inscrição</button> 
4706                     </a> 
4707                  </p> 
4708                  <p class="mt-0"> 
4709                     <a href="https://www.sp.senac.br/descontos-e-parcelamentos/pos-e-extensao-universitaria"> 
4710                     <button class="btn btn-primary modal-extensao-btn-conferir mt-3" id="btn-conferir-regras">Conferir Regras</button> 
4711                     </a> 
4712                  </p> 
4713               </div> 
4714            </div> 
4715            <div class="row d-none msg-alunoNao"> 
4716               <div class="col-12 text-center mt-10"> 
4717                  <i class="fas fa-percentage modal-extensao-ico-percent"></i> 
4718                  <h2 class="modal-extensao-condicoes__subtitle">Poxa! Não fique triste...</h2> 
4719                  <p class="modal-extensao-aluno_txtcontent">Você não tem direito ao desconto de 20% neste curso. Mas você tem direito ao desconto de pontualidade (melhorar texto)</p> 
4720                  <p class="mb-0"> 
4721                     <a target="_blank" href="#"> 
4722                     <button class="btn modal-extensao-aluno__btn not mt-3">Fazer Inscrição</button> 
4723                     </a> 
4724                  </p> 
4725                  <p class="mt-0"> 
4726                     <a href="https://www.sp.senac.br/descontos-e-parcelamentos/pos-e-extensao-universitaria"> 
4727                     <button class="btn btn-primary modal-extensao-btn-conferir mt-3" id="btn-conferir-regras">Conferir Regras</button> 
4728                     </a> 
4729                  </p> 
4730               </div> 
4731            </div> 
4732         </div> 
4733      </section> 
4734     	 
4735	 
4736	<!-- Modal Descontos e Parcelamento EMED --> 
4737	<div id="modalPagtoEmed" class="ssp-modal"> 
4738	 
4739	        <div class="ssp-card-modal-forma-pagamento"> 
4740 
4741            <div class="ssp-card-modal-forma-pagamento__header"> 
4742               <h6 class="ssp-card-modal-forma-pagamento__header-title font-weight-bold text-center" style="color:#454F63">Descontos e parcelamentos</h6> 
4743               <div class="ssp-modal-emed-btfechar"> 
4744               <i class="ssp-card-modal-forma-pagamento__btn-close ssp-card-modal-forma-pagamento__btn-close_0"></i> 
4745               <span>Fechar</span> 
4746              </div> 
4747            </div> 
4748 
4749            <div class="ssp-card-modal-forma-pagamento__body"> 
4750 
4751              <p class="ssp-modal-emed-info-valor-matricula"><span class="ssp-modal-emed-info-txt-matricula">1ª parcela de R$ <span class="precoParcelaEmedModal"></span> <span>+ <span class="numParcelaEmedModal"></span> mensalidades de R$ <span class="precoParcelaEmedModal"></span></span></p>          
4752 
4753               <p class="ssp-card-modal-forma-pagamento__valor-desconto ssp-modal-emed-valor-total-txt"> <span class="ssp-modal-emed-txtValor">Valor total:</span> <span class="precoVendaOferta ssp-modal-emed-valor-total">R$ 414,40</span> 
4754                <span class="ssp-card-modal-emed-ano">/ano</span></p> 
4755 
4756               <p class="txt-desconto-oito ssp-modal-emed-txt-desconto-oito text-center" style="border-bottom: 0px;"><i class="fas fa-badge-percent"></i> <span class="txt-pague-vista">Pague à vista e</span> <span class="txt-ganhe-mais" style="color:#FC7834;font-weight:bold"> ganhe mais 8% de desconto.</span></p> 
4757               <div class="ssp-card-modal-emed-lineou"><span>ou</span></div> 
4758 
4759               <small class="ssp-card-oferta-curso__title-item font-weight-bold" style="margin:0;font-size:14px;text-align: center;">Ganhe fôlego: parcele seu curso!</small> 
4760 
4761               <div class="ssp-card-modal-forma-pagamento__tipos"> 
4762                
4763               <div class="ssp-card-modal-forma-pagamento__tipos-content align-items-start ssp-card-modal-emed-centralizaPagtos" style="margin:0 auto" > 
4764                     <i class="ssp-card-modal-forma-pagamento__icon-boleto-cartao"></i> 
4765                     <div class="ssp-card-modal-forma-pagamento__info-cartao"> 
4766                        <p><strong>Cartão de Crédito +</strong></p> 
4767                        <p><strong>Boleto Bancário</strong></p> 
4768                        <!-- <p>1ª parcela em <span>até 4x de R$ <span class="valorParcelaEntradaCartoesBoleto">265,50</span></span> sem juros no cartão</p> --> 
4769                        <p>1ª parcela no cartão</p> 
4770                        <p>Valor restante em <span>até <span class="numParcelaCartoesBoleto"></span>x de <br>R$ <span class="precoParcelaCartoesBoleto"></span></span> sem juros no boleto</p>                        
4771                     </div> 
4772                  </div> 
4773                
4774 
4775                  <div class="ssp-card-modal-forma-pagamento__tipos-content align-items-start ssp-card-modal-emed-centralizaPagtos" style="margin:0 auto" > 
4776                     <i class="ssp-card-modal-forma-pagamento__icon-credit-card"></i> 
4777                     <div class="ssp-card-modal-forma-pagamento__info-cartao"> 
4778                        <p><strong>Cartão de Crédito</strong></p> 
4779                        <p>(<span class="textoCartoesAceitos">Mastercard, Visa, Elo, American Express, Hipercard</span>)</p> 
4780                        <p>Em até <span><span class="numParcelaCartoes">12</span>x de R$ <span class="precoParcelaCartoes">34,53</span></span> sem juros</p> 
4781                     </div> 
4782                  </div> 
4783 
4784                  <div class="ssp-card-modal-forma-pagamento__tipos-content align-items-start mt-4 ssp-card-modal-emed-centralizaPagtos" style="margin:0 auto" id="content_boleto_0"> 
4785                     <i class="ssp-card-modal-forma-pagamento__icon-boleto"></i> 
4786                     <div class="ssp-card-modal-forma-pagamento__info-cartao"> 
4787                        <p><strong>Boleto Bancário</strong></p> 
4788                        <p>Em até <span><span class="numParcelaBoleto">12</span>x de R$ <span class="precoParcelaBoleto">34,53</span></span> sem juros</p> 
4789                     </div> 
4790                  </div> 
4791                   
4792                  <p class="txt-desconto-oito ssp-modal-emed-txt-desconto-oito ssp-modal-emed-boxoito" data-info="data-para-matricula"><span class="ssp-card-modal-emed-valorObs obsspan"><i class="fas fa-exclamation-circle"></i>As vagas são limitadas e por ordem de chegada!</span>Garanta seu lugar! Matricule-se agora.</p> 
4793 
4794                  <p class="txt-desconto-oito ssp-modal-emed-txt-desconto-oito ssp-card-modal-emed-boxDesconto" data-info="msg-20-desconto"><strong>E você ainda tem</strong><span style="color:#FC7834;font-weight:bold"> 20% desconto na mensalidade se:</span><br> 
4795                    - Estuda ou estudou no Senac<br>  
4796                    - É dependente de quem trabalha em empresa contribuinte do Senac<br>  
4797                    - Estuda ou estudou na rede pública de ensino 
4798                </p> 
4799 
4800               </div> 
4801 
4802            </div> 
4803             
4804 
4805            <a href="#a" class="btn btn-lg w-100 ssp-btn-emed__voltar-curso" style="margin-top: 20px;font-weight:600" id="" data-espaco-ex="true" data-unidade="" data-evento="" data-destino-compra="" data-index=""><span class="">Voltar para página do curso</span></a> 
4806 
4807             
4808             
4809    </div> 
4810  </div> 
4811 
4812  <#if isEMED> 
4813    <div id="modalAntesCompraEmed" class="ssp-modal"> 
4814      <div class="ssp-modal-local-realizacao"> 
4815        <div class="ssp-modal-local-realizacao__title-content"> 
4816          <h6 class="ssp-modal-local-realizacao__title" style="padding-left:10%;">IMPORTANTE!</h6> 
4817            <i class="ssp-card-modal-antes-compra__btn-close ssp-card-modal-forma-pagamento__btn-close"></i> 
4818        </div> 
4819        <div class="ssp-modal-local-realizacao__texto"> 
4820          <p class="texto-modal-emed textoEmedModalAntesCompra0010 d-none"> 
4821           
4822            Esta matrícula é válida apenas para a compra do curso de acordo com a escola e o horário já selecionados.<br/> 
4823           
4824          </p> 
4825          <p class="texto-modal-emed textoEmedModalAntesCompra0010Espera d-none"> 
4826           
4827            Saiba como funciona a inscrição para a lista de espera:<br/><br/> 
4828            - É válida somente para a <b>compra do curso</b><br/> 
4829            - Não garante vaga para o estudante<br/> 
4830            - É válida apenas para o curso, horário e escola selecionados<br/> 
4831            - Caso surjam vagas, você receberá um e-mail para fazer a matrícula<br/> 
4832           
4833          </p> 
4834          <p class="texto-modal-emed textoEmedModalAntesCompra0020e0030 d-none"> 
4835                       
4836            - Essa inscrição é para uma lista de espera de transferência para 2º ou 3º ano do Ensino Médio Técnico, por isso, ao realizá-la não garantimos a vaga<br/><br/> 
4837            - A inscrição só pode ser solicitada para quem deseja estudar no Senac realizando a compra do curso<br/><br/> 
4838            - Se a turma escolhida tiver vagas, você receberá um e-mail com orientações sobre a entrega de documentos e as formas de pagamento para efetivar a transferência 
4839                       
4840          </p> 
4841          <div class="btn ssp-modal-local-realizacao__btn-content"> 
4842            <button class="btn btn-lg btn-success w-100 mt-3" offercode="" id="btnCompraLocalEmed">Continuar para compra</button> 
4843            <a class="ssp-modal-local-realizacao__btn btn btn-lg w-100 mt-3 ssp-card-modal-selecionar-outro__btn-close" href="#a">Voltar para o curso</a> 
4844          </div> 
4845        </div> 
4846      </div> 
4847    </div> 
4848         
4849  </#if> 
4850 
4851   
4852   
4853           
4854   <script> 
4855     let showedFilters = false 
4856     var groupId = themeDisplay.getScopeGroupId(); 
4857 
4858   var urlSearchCursosPorCategory = '/o/senac-curso-services/cursosPorCategoryIds/{groupId}?categoryIds={categoryId}&start=0&end={limit}'; 
4859    
4860   var urlSearchOferta = '/o/senac-oferta-services/ofertasPorCategoryIds/' + groupId 
4861 
4862   var urlSearchUnidade = '/o/senacsearch/Unidade/{companyId}/{groupId}/{userId}?q=codigoUnidade_pt_BR:{codigoUnidade}'; 
4863   var urlUnidadeInfoDetalhe = '/o/senac-content-services/unidadeInfoDetalhe/{companyId}/{codigoUnidade}'; 
4864   var urlSearchCursosPodeGostar = '/o/senac-content-services/cursosVocePodeGostar/{companyId}/{groupId}/{userId}/{articleId}/{limit}'; 
4865   var urlSearchCursoInfo = '/o/senac-content-services/cursosInfoDetalhe/{groupId}/{cursosInfo}?inscricaoAberta={inscricaoAberta}&bolsaAberta={bolsaAberta}'; 
4866   var urlRegistroInteresse = '/o/senac-content-services/registroInteresse/'; 
4867   var urlRegistroInteresseEmailInteressado = '/o/senac-content-services/envioEmailRegistroInteresse/'; 
4868   var cntSelectUnidades = 1; 
4869   var urlPlanoCurso = 'https://www.sp.senac.br/jsp/includeMatdid.jsp?file=/ha1shared/projects/matdid/{codigoFT}-{dataEfetiva}.html'; 
4870   var urlGetServerT = '/o/senac-content-services/getServerTime';  
4871   var urlSearchCursosPodeGostarEmed = '/o/senac-curso-services/cursosPorCategoryIdsFilterAndOr/{groupId}/?categoryIdsOr={tiposDeCurso}&start=0&end={limit}&articleId={articleId}'; 
4872   var todayG = ''; 
4873   var codigoFTCursoAprendizagem = 18984; 
4874   var globalGroupId = Liferay.ThemeDisplay.getCompanyGroupId(); 
4875   var isAoVivo = 0; 
4876   var nomeFormatoAoVivoDxp = 'Senac Online - ao vivo'; 
4877   var ofertaUnidadeMap = new Map(); 
4878   var ultimaUnidade = 0; 
4879   var regIndex = new RegExp('\{index\}', 'g'); 
4880   var linkBotaoCompra = 'http://www.sp.senac.br/login/Login?destino=/ecommerceFrontEnd/?vcw_unidade={codigoUnidade}&vcw_evento={codigoOferta}'; 
4881   var carregouUltimaOferta = false; 
4882   var ofertasMap = new Map(); 
4883   var codUnidadeSenacAoVivo = '108'; 
4884   var ofertasComBolsa = false; 
4885 
4886    //funcao para pegar host do ambiente, se eh teste ou prod (utilizado no servico da bolsa)- 9546 
4887    function getServiceEnvironmentHost(){ 
4888      if(!isAmbienteTeste()) 
4889        return window.location.origin 
4890      else 
4891        return 'https://gesportal.sp.senac.br' 
4892
4893 
4894    var hostBolsa = getServiceEnvironmentHost() 
4895 
4896   // Montar object push - google tag manager - 1 
4897   let itensEcommerce = null;  
4898   let ofertaSelecionada = null; 
4899 
4900   const today = new Date; 
4901    
4902   //categoryId -> cod unidade 
4903   var mapUnidadesIds = new Map(); 
4904   var objsTela = { 
4905     unidades: [], 
4906     unidadesRegistroInteresse: [], 
4907     categoriesIds:[], 
4908     ofertasAoVivoTodasUnidades: [], 
4909     primeiroChange: true 
4910   }; 
4911   var startOfertaParam = 0; 
4912   var endOfertaParam = 25; 
4913    
4914   var ehCursoTrampolim = false; 
4915    
4916   const isHibrido = $('input[name="formato"]').data('formato') === 'Presencial + EAD'; 
4917   
4918   var textoFormatoHibrido = ""; 
4919   var temTextoParaFormatoHibrido = false; 
4920   
4921   //Validar se o campo textoFormatoHibrido existe e se não está vazio 
4922   if(isHibrido){ 
4923                textoFormatoHibrido = $('input[name="textoFormatoHibrido"]').val(); 
4924                if(typeof textoFormatoHibrido !== 'undefined'){ 
4925                           if (textoFormatoHibrido.trim() !== '' ) { 
4926                                temTextoParaFormatoHibrido = true; 
4927                                textoFormatoHibrido += '<br>'; 
4928
4929
4930
4931    
4932   const HOST = window.location.origin; 
4933   const URLGeral = window.location.href; 
4934    
4935   //EMED 
4936   const anoTurmaEmed = '2025'; 
4937 
4938   const tipoCursoNome = function(){ return $('.ssp-header-curso__tag-formato').text().trim(); } 
4939    
4940   const isEmed = (tipoCursoNome().indexOf('Ensino Médio Técnico') > -1); 
4941 
4942   const statusEmed = Object.freeze({ 
4943		NAO_ENCONTRADA: 0, 
4944    INSCRICAO: 1, 
4945		ESPERA: 2, 
4946		ESGOTADO: 3 
4947	}); 
4948    
4949   let unidadesToURL = [] 
4950    
4951   const localLivreOnline = function(textoLocal){  
4952     textoLocal = textoLocal || '' 
4953     textoLocal = textoLocal.replaceAll('online', 'on-line') 
4954 
4955     const textoOnline = 'Nesta turma, todas as aulas serão on-line e ao vivo pela plataforma digital Microsoft Teams'; 
4956      
4957     return textoLocal.toUpperCase().includes(textoOnline.toUpperCase()); 
4958
4959    
4960   const linkBolsa = function(oferta){ 
4961	    
4962      let tiposCurso = new Map(); 
4963      tiposCurso.set('livre', 'L'); 
4964      tiposCurso.set('tecnico', 'T'); 
4965      tiposCurso.set('aprendizagem', 'A'); 
4966      let letraTipoCurso = tiposCurso.get($('[name="tipoCurso"]').val()) || ''; 
4967  
4968      // verifica o campo destinoBolsa da oferta - 9546 
4969      var destinoBolsa = "" 
4970      if(oferta.destinoBolsa){ 
4971        destinoBolsa = parseInt(oferta.destinoBolsa,10)  
4972
4973      	 
4974      return hostBolsa+'/login/Login?origem=bolsas&destino=/jsp/default.jsp?template=2464.dwt&testeira=1540&idcourse='+ 
4975	      $('[name="codigoFT"]').val()+ 
4976	      '&cod_evento='+ 
4977	      oferta.codigoOferta+ 
4978	      '&cod_u='+ 
4979	      codigoUnidade+ 
4980	      '&nvg='+ 
4981	      oferta.qtdeTotalVagasPSG+ 
4982	      '&type='+ 
4983	      letraTipoCurso+ 
4984	      '&sel_unit=&ft=y'+ 
4985	      (destinoBolsa ? '&destino='+destinoBolsa : '');      
4986
4987    
4988    
4989   $('.ssp-ofertas-emed__filtro-content .btn').on('click', function(){ 
4990      
4991     var classAtivo = 'btn--filtro-ativo'; 
4992      
4993     if(!$(this).hasClass(classAtivo)){ 
4994      
4995       $(this).siblings().removeClass(classAtivo); 
4996        
4997       $(this).addClass(classAtivo); 
4998 
4999       const $cardTransferencias = $('.card-transferencias-emed'); 
5000        
5001       if($(this).val() == '0'){ 
5002        hideCardSemTurmas(true); 
5003        $('.ssp-slick-ofertas-emed').empty(); 
5004        if(!$('.ssp-slick-ofertas-emed').hasClass('d-none')) $('.ssp-slick-ofertas-emed').addClass('d-none'); 
5005        $('.prev-mobile, .next-mobile').addClass('d-none'); 
5006        $cardTransferencias.removeClass('d-none'); 
5007       } else{ 
5008        if(!$cardTransferencias.hasClass('d-none')) $cardTransferencias.addClass('d-none'); 
5009        $('.ssp-slick-ofertas-emed').removeClass('d-none'); 
5010        populaOfertas(objsTela.ofertas); 
5011
5012        
5013
5014      
5015   }); 
5016    
5017   //Cronometro 
5018	var hidden, visibilityChange; 
5019	var restartTimeout = null; 
5020	var interval01, interval15; 
5021	 
5022	if (typeof document.hidden !== "undefined") { // Opera 12.10 and Firefox 18 and later support 
5023		hidden = "hidden"; 
5024		visibilityChange = "visibilitychange"; 
5025	} else if (typeof document.msHidden !== "undefined") { 
5026		hidden = "msHidden"; 
5027		visibilityChange = "msvisibilitychange"; 
5028	} else if (typeof document.webkitHidden !== "undefined") { 
5029		hidden = "webkitHidden"; 
5030		visibilityChange = "webkitvisibilitychange"; 
5031
5032	 
5033	// Verifica suporte a Visibility API 
5034	if (typeof document.addEventListener === "undefined" || hidden === undefined) { 
5035		console.log("Navegador incompativel com page visibility api"); 
5036	} else { 
5037		// Evento para quando a visibilidade da pagina mudar 
5038		document.addEventListener(visibilityChange, handleVisibilityChange, false); 
5039
5040    
5041   $(".ssp-saiba-mais-curso-accordion").on("click", ".ssp-saiba-mais-curso-accordion__heading", function() { 
5042   
5043       $(this).toggleClass("active").next().slideToggle(); 
5044   
5045       $(".sp-saiba-mais-curso-accordion__contents").not($(this).next()).slideUp(300); 
5046   
5047       $(this).siblings().removeClass("active"); 
5048   }); 
5049   
5050  function loadUnidadesRegistroInteresse(urlCursoInfo) { 
5051    if(objsTela.unidadesRegistroInteresse && objsTela.unidadesRegistroInteresse.length) 
5052      return 
5053 
5054    let urlUnidades = new URL(window.location.origin + urlCursoInfo) 
5055    let paramsUnidades = new URLSearchParams(urlUnidades.search) 
5056    paramsUnidades.delete('inscricaoAberta') 
5057    paramsUnidades.delete('bolsaAberta') 
5058    urlUnidades.search = '?' + paramsUnidades.toString() 
5059    urlUnidades = urlUnidades.href 
5060 
5061    $.ajax({ 
5062      url: urlUnidades, 
5063      method:'get', 
5064      async: false 
5065    }).done(function(data){ 
5066      if(data.length > 0){ 
5067        const cursoInfo = JSON.parse(data); 
5068        const unidadesOfertantes = cursoInfo.unidadesOfertantes; 
5069         
5070        $.each(unidadesOfertantes, function(k,item){ 
5071          var unidade = {}; 
5072          unidade['categoryId'] = item['categoryId']; 
5073          unidade['codigoUnidade'] = item['codigoUnidade']; 
5074          unidade['nome'] = item['nomeUnidade']; 
5075          unidade['enderecoUnidade'] =item['enderecoUnidade']; 
5076          unidade['numero'] =item['numEnderecoUnidade']; 
5077          unidade['complemento'] = item['complementoEnderecoUnidade']; 
5078          unidade['bairro'] = item['bairroUnidade']; 
5079          unidade['googlemapsUnidade'] = item['googlemapsUnidade']; 
5080          unidade['friendlyURL'] = item['friendlyURL']; 
5081          unidade['selecionado'] = false; 
5082          unidade['selectSelecionado'] = ""; 
5083          unidade['ofertas'] = []; 
5084               
5085          if(!objsTela.unidadesRegistroInteresse.filter(uni => uni['categoryId'] == unidade['categoryId']).length) 
5086            objsTela.unidadesRegistroInteresse.push(unidade) 
5087          }); 
5088
5089    }); 
5090
5091   
5092   function loadUnidades(showOptions, unidadeValue){ 
5093     //Busca as unidades do curso 
5094      
5095    const urlCursoInfo = urlSearchCursoInfo 
5096      .replace('\{groupId\}', groupId) 
5097      .replace('\{cursosInfo\}', $('[name="articleId"]').val()) 
5098      .replace('\{inscricaoAberta\}', $('#chkInscricao').prop('checked')) 
5099      .replace('\{bolsaAberta\}', $('#chkBolsa').prop('checked')); 
5100 
5101      loadUnidadesRegistroInteresse(urlCursoInfo) 
5102 
5103      $.ajax({ 
5104          url:urlCursoInfo, 
5105          method:'get', 
5106          async: false, 
5107        beforeSend: function () { 
5108          loading('.oferta-slick-area'); 
5109
5110        }).done( 
5111          function(data){ 
5112             
5113            if(data.length > 0){ 
5114               
5115              if(!isAoVivo) 
5116                $('.ssp-container-selecione-unidade').removeClass('d-none') 
5117               
5118              const cursoInfo = JSON.parse(data); 
5119               
5120                                       
5121              //GCR pediu para voltarmos no combo as unidades vinculadas e não somente as que possuem ofertas 
5122              //const unidades = cursoInfo.unidadesComOferta; 
5123              const unidades = cursoInfo.unidadesOfertantes; 
5124               
5125              objsTela.unidades = [] 
5126              mapUnidadesIds = new Map(); 
5127               
5128              $.each(unidades, function(k,item){ 
5129                   
5130                  var unidade = cloneObj(item) 
5131                  unidade['nome'] = item['nomeUnidade']; 
5132                  unidade['numero'] =item['numEnderecoUnidade']; 
5133                  unidade['complemento'] = item['complementoEnderecoUnidade']; 
5134                  unidade['bairro'] = item['bairroUnidade']; 
5135                  unidade['ofertas'] = []; 
5136                       
5137                    objsTela.unidades.push(unidade); 
5138                       
5139                      mapUnidadesIds.set(unidade['categoryId'], unidade['codigoUnidade']); 
5140 
5141                    objsTela.unidades.forEach(unidade => unidadesToURL.filter(u => u.friendlyURL == unidade.friendlyURL).length ? '' : unidadesToURL.push(unidade)) 
5142                }); 
5143                       
5144                             
5145              populaSelectUnidades(undefined, showOptions, unidadeValue);  
5146    
5147
5148      }); 
5149       
5150
5151   
5152function getOfertaObjectFromJson(ofertaJSON,index){ 
5153   
5154 
5155  var oferta =  {}; 
5156        var xml =  $($.parseXML(ofertaJSON.content)); 
5157          oferta['ordenar'] = paramOrdem(xml); 
5158          oferta['vagasTotal'] = xml.find('[name="vagasTotal"]').text().trim(); 
5159          var dataInicio = xml.find('[name="dataInicioOferta"]').text().split('-'); 
5160          var dataFim =xml.find('[name="dataFimOferta"]').text().split('-'); 
5161          oferta['dataInicio'] = dataInicio[2].trim()+'/'+dataInicio[1].trim()+'/'+dataInicio[0].trim(); 
5162          oferta['dataFim'] = dataFim[2].trim()+'/'+dataFim[1].trim()+'/'+dataFim[0].trim(); 
5163          oferta['horaInicio'] = xml.find('[name="horaInicioOferta"]').text(); 
5164          oferta['codigoOferta'] = xml.find('[name="codigoOferta"]').text().trim(); 
5165          var dias = []; 
5166          oferta['horaFimOferta'] = xml.find('[name="horaFimOferta"]').text().trim(); 
5167          xml.find('[name="diasDaSemanaOferta"]').find('option').each(function(index,dia){ 
5168            dias.push($(dia).text()); 
5169          }); 
5170          oferta['diasDaSemanaOferta'] = dias; 
5171          oferta['periodoDiaOferta'] = xml.find('[name="periodoDiaOferta"]').text().trim(); 
5172          oferta['precoCheioOferta'] = xml.find('[name="precoCheioOferta"]').text().trim(); 
5173          oferta['precoVendaOferta'] = xml.find('[name="precoVendaOferta"]').text().trim(); 
5174          oferta['numeroMaxParcelasOferta'] = xml.find('[name="numeroMaxParcelasOferta"]').text().trim(); 
5175           
5176          oferta['textoCartoesAceitos'] =  pegarTextoCartoesAceitos(xml.find('[name="formaDePagamentoCartaoOferta"]').text().trim()); 
5177          oferta['numParcelaCartoes'] =  pegaNumParcela(xml.find('[name="formaDePagamentoCartaoOferta"]').text().trim()); 
5178          oferta['precoParcelaCartoes'] =  pegaValorParcela(xml.find('[name="formaDePagamentoCartaoOferta"]').text().trim()); 
5179          oferta['numParcelaBoleto'] =  pegaNumParcela(xml.find('[name="formaDePagamentoBoletoOferta"]').text().trim()); 
5180          oferta['precoParcelaBoleto'] =  pegaValorParcela(xml.find('[name="formaDePagamentoBoletoOferta"]').text().trim()); 
5181           
5182          oferta['precoVendaMaxParcelaOferta'] = xml.find('[name="precoVendaMaxParcelaOferta"]').text().trim(); 
5183          oferta['formaDePagamentoOferta'] = xml.find('[name="formaDePagamentoOferta"]').text().trim(); 
5184          oferta['botaoCompraOferta'] = xml.find('[name="botaoCompraOferta"]').text().trim(); 
5185          oferta['vagasParaCompraOferta'] = xml.find('[name="vagasParaCompraOferta"]').text().trim(); 
5186          oferta['botaoBolsaOferta'] = xml.find('[name="botaoBolsaOferta"]').text().trim(); 
5187          oferta['vagasBolsaOferta'] = xml.find('[name="vagasBolsaOferta"]').text().trim(); 
5188          oferta['dataAberturaBolsaOferta'] = xml.find('[name="dataAberturaBolsaOferta"]').text().trim(); 
5189          oferta['horaAberturaBolsaOferta'] = xml.find('[name="horaAberturaBolsaOferta"]').text().trim(); 
5190          oferta['espacoExterno'] = xml.find('[name="espacoExterno"]').text().trim(); 
5191          oferta['localEspacoExterno'] = xml.find('[name="localEspacoExterno"]').text().trim(); 
5192          oferta['ruaEspacoExterno'] = xml.find('[name="ruaEspacoExterno"]').text().trim(); 
5193          oferta['numeroEspacoExterno'] = xml.find('[name="numeroEspacoExterno"]').text().trim(); 
5194          oferta['complementoEspacoExterno'] = xml.find('[name="complementoEspacoExterno"]').text().trim(); 
5195          oferta['bairroEspacoExterno'] = xml.find('[name="bairroEspacoExterno"]').text().trim(); 
5196          oferta['cidadeEspacoExterno'] = xml.find('[name="cidadeEspacoExterno"]').text().trim(); 
5197          oferta['ufEspacoExterno'] = xml.find('[name="ufEspacoExterno"]').text().trim(); 
5198          oferta['cepEspacoExterno'] = xml.find('[name="cepEspacoExterno"]').text().trim(); 
5199          oferta['qtdeTotalVagas'] = xml.find('[name="qtdeTotalVagas"]').text().trim(); 
5200          oferta['qtdeTotalVagasPSG'] = xml.find('[name="qtdeTotalVagasPSG"]').text().trim(); 
5201          oferta['horariosAllOferta'] = xml.find('[name="horariosAllOferta"]').text().trim(); 
5202          oferta['formaDePagamentoCartaoOferta'] = xml.find('[name="formaDePagamentoCartaoOferta"]').text().trim(); 
5203          oferta['formaDePagamentoBoletoOferta'] = xml.find('[name="formaDePagamentoBoletoOferta"]').text().trim(); 
5204          oferta['dtLimiteMatricula'] = xml.find('[name="dtLimiteMatricula"]').text().trim(); 
5205          oferta['dataAberturaMatricula'] = xml.find('[name="dataAberturaMatricula"]').text().trim(); 
5206          oferta['etapa'] = xml.find('[name="etapa"]').text().trim(); 
5207          oferta['destinoCompra'] = xml.find('[name="destinoCompra"]').text().trim();  
5208          //adicao do destinoBolsa na oferta - 9546 - 11/07/2022 
5209          oferta['destinoBolsa'] = xml.find('[name="destinoBolsa"]').text().trim(); 
5210 
5211          	if(isEmed){ 
5212		  		//EMED utilizar data matricula para bolsa 
5213		  	  	oferta['dataAberturaBolsaOferta'] = oferta['dataAberturaMatricula'];  
5214 
5215
5216           
5217         return oferta;  
5218
5219   
5220  const getStatusEmed = (oferta) => { 
5221 
5222	    const urlStatusEsperaEmed = () => { 
5223	  		let url = (isAmbienteTeste()) ?  
5224		  		'https://hinscricao-educacional-backend.sp.senac.br/api/lista-espera/' 
5225			    : 'https://inscricao-educacional-ms.sp.senac.br/api/lista-espera/'; 
5226	  		 
5227  	  		return url + oferta.codigoOferta; 
5228
5229  	  	 
5230  	  const callTl = async () => { 
5231	  		if(getCookie('tl') == null){ 
5232	  			return await $.ajax({ 
5233	  				url: '/o/senac-content-services/geraTokenServicosSenac', 
5234	  				method: 'GET' 
5235	  			}); 
5236
5237	  		return getCookie('tl'); 
5238
5239 
5240      const callListaEspera = async () => { 
5241  	    	var tl = ''; 
5242	    	  try{ 
5243  	    		tl = await callTl(); 
5244  	    		if(getCookie('tl') == null){ 
5245  	    			tl = JSON.parse(tl).token; 
5246  	    			writeCookie('tl', tl, 6, ''); 
5247
5248  	    	}catch(err){ 
5249  	    		console.error(err); 
5250  	    		return {}; 
5251
5252  	    	 
5253  	    	return $.ajax({ 
5254              url: urlStatusEsperaEmed(), 
5255              method: 'GET', 
5256  	        	beforeSend: function (xhr) { 
5257  	        		xhr.setRequestHeader("Authorization", tl); 
5258
5259  			  }) 
5260
5261 
5262      return new Promise(async function (resolve, reject) { 
5263        const resp = await callListaEspera(); 
5264        if(typeof resp !== 'object') resp = JSON.parse(resp); 
5265        let status = resp.STATUS; 
5266        resolve(status); 
5267      }); 
5268	  	 
5269
5270   
5271 function getOfertasAoVivo(codigoFT, dataEfetivaOferta, categoryIds){ 
5272       
5273  if(categoryIds && categoryIds.length) { 
5274    var params = new URLSearchParams(); 
5275    params.set('codigoFTOferta',codigoFT) 
5276    params.set('dataEfetivaOferta',dataEfetivaOferta) 
5277    params.set('categoryIds',categoryIds) 
5278    params.set('start',startOfertaParam) 
5279    params.set('end',endOfertaParam) 
5280    params.set('inscricaoAberta', $('#chkInscricao').prop('checked')) 
5281    params.set('bolsaAberta', $('#chkBolsa').prop('checked')) 
5282    params.set('cursoArticleId', $('[name="articleId"]').val() || ''); 
5283 
5284    if($('#chkBolsa').prop('checked')){ 
5285    	params.set('considerarDataBolsaFutura', true) 
5286
5287    const url = urlSearchOferta + '?' + params.toString() 
5288       
5289    $.ajax({ 
5290      url:url, 
5291      method:'get', 
5292      dataType:'json', 
5293      async: false 
5294    }).done( 
5295      function(data){ 
5296         
5297        if(data.length > 0){ 
5298         $('#ssp-alternadores').show() 
5299         showedFilters = true 
5300   
5301         objsTela.ofertasAoVivoTodasUnidades = [] 
5302           
5303          data.forEach(function(ofertaJSON,index){ 
5304   
5305            var oferta = getOfertaObjectFromJson(ofertaJSON,index); 
5306             
5307            //guardo em um map a oferta e qual unidade é, para utilizar depois no populaOferta para o aoVivo                
5308            ofertaUnidadeMap.set(oferta['codigoOferta'],mapUnidadesIds.get(parseInt(ofertaJSON.unidadeCategoryIds)));                
5309            objsTela.ofertasAoVivoTodasUnidades.push(oferta); 
5310   
5311          }); 
5312        } else { 
5313         loadAlternadores(data) 
5314
5315   
5316        populaOfertas(objsTela.ofertasAoVivoTodasUnidades); 
5317        addEventBolsa() 
5318
5319    ).fail(function(e) { 
5320      console.error(e) 
5321      populaOfertas(objsTela.ofertasAoVivoTodasUnidades = []); 
5322    }) 
5323  } else { 
5324    loadAlternadores([]) 
5325    populaOfertas(objsTela.ofertasAoVivoTodasUnidades = []) 
5326
5327 
5328  if(isAoVivo) { 
5329     if(objsTela.ofertasAoVivoTodasUnidades && objsTela.ofertasAoVivoTodasUnidades.length) 
5330       hideCardSemTurmas(true) 
5331     else 
5332       hideCardSemTurmas(false) 
5333
5334
5335    
5336  function mudouToggleOferta(ofertas) { 
5337    const oferta = ofertas && ofertas[0] 
5338    if(!oferta) 
5339      return true 
5340 
5341    const selecaoInscricao = $('#chkInscricao').prop('checked') 
5342    const selecaoBolsa = $('#chkBolsa').prop('checked') 
5343 
5344    return oferta.selecaoInscricao != selecaoInscricao || oferta.selecaoBolsa != selecaoBolsa 
5345
5346 
5347  function loadAlternadores(ofertas) { 
5348    if(showedFilters) { 
5349      $('#ssp-alternadores').show() 
5350      return 
5351
5352 
5353    if($('#unidades-ofertas').is(":hidden") || $('#unidades-ofertas option').length <= 1) { 
5354      if(isAoVivo) { 
5355        if(ofertas && ofertas.length) 
5356          $('#ssp-alternadores').show() 
5357        else { 
5358          if(!$('#chkInscricao').prop('checked') && !$('#chkBolsa').prop('checked')) 
5359            $('#ssp-alternadores').hide() 
5360          else 
5361            $('#ssp-alternadores').show() 
5362
5363      } else { 
5364        if(!$('#chkInscricao').prop('checked') && !$('#chkBolsa').prop('checked')) 
5365          $('#ssp-alternadores').hide() 
5366        else 
5367          $('#ssp-alternadores').show() 
5368
5369    } else 
5370      $('#ssp-alternadores').show() 
5371 
5372    showedFilters = showedFilters || $('#ssp-alternadores').is(":visible") 
5373
5374 
5375  function getOfertas(codigoFT, dataEfetivaOferta, categoryId){ 
5376       
5377    var indiceUnidade = -1; 
5378    const selecaoInscricao = $('#chkInscricao').prop('checked') 
5379    const selecaoBolsa = $('#chkBolsa').prop('checked') 
5380      
5381     for(var i = 0; i < objsTela.unidades.length; i++) 
5382         if(objsTela.unidades[i].categoryId == categoryId) 
5383           indiceUnidade = i; 
5384      
5385    ultimaUnidade = indiceUnidade; 
5386           
5387     if( !objsTela.categoriesIds.includes(categoryId) || mudouToggleOferta(objsTela.unidades[indiceUnidade]['ofertas'])){ 
5388       objsTela.unidades[indiceUnidade]['ofertas'] = [] 
5389        
5390        var params = new URLSearchParams(); 
5391        params.set('codigoFTOferta',codigoFT) 
5392        params.set('dataEfetivaOferta',dataEfetivaOferta) 
5393        params.set('categoryIds',categoryId) 
5394        params.set('start',startOfertaParam) 
5395        params.set('end',endOfertaParam) 
5396        params.set('inscricaoAberta', $('#chkInscricao').prop('checked')) 
5397        params.set('bolsaAberta', $('#chkBolsa').prop('checked')) 
5398        params.set('cursoArticleId', $('[name="articleId"]').val() || ''); 
5399 
5400        if($('#chkBolsa').prop('checked')){ 
5401        	params.set('considerarDataBolsaFutura', true) 
5402
5403         
5404        const url = urlSearchOferta + '?' + params.toString() 
5405   
5406       $.ajax({ 
5407         url:url, 
5408         method:'get', 
5409         dataType:'json', 
5410         async: false 
5411       }).done( 
5412         function(data){ 
5413            
5414           if(data.length > 0){ 
5415             $('#ssp-alternadores').show() 
5416             showedFilters = true 
5417              
5418             $('.ssp-container-selecione-unidade').show(); 
5419             
5420             data.forEach(function(ofertaJSON,index){ 
5421   
5422               var oferta = getOfertaObjectFromJson(ofertaJSON,index); 
5423                
5424               //Preenche as ofertas da unidade              
5425               objsTela.unidades[indiceUnidade]['ofertas'].push(oferta); 
5426               objsTela.unidades[indiceUnidade]['ofertas'].forEach(o => { 
5427                 o.selecaoInscricao = selecaoInscricao 
5428                 o.selecaoBolsa = selecaoBolsa 
5429               }) 
5430   
5431             }); 
5432           } else { 
5433              loadAlternadores() 
5434
5435           objsTela.categoriesIds.push(categoryId); 
5436           populaOfertas(objsTela.unidades[indiceUnidade]['ofertas']); 
5437           addEventBolsa() 
5438
5439
5440   
5441       //Se estiver na cache, valida as ofertas 
5442     }else{ 
5443        
5444       populaOfertas(objsTela.unidades[indiceUnidade]['ofertas']); 
5445        
5446
5447
5448       
5449   function populaSelectUnidades(unidades, showOptions, unidadeValue){       
5450    var unidadePreSelecionada = false; 
5451    var categoryIdUnidadePreSelecionada = ''; 
5452     
5453    //Oredenacao 
5454    objsTela.unidades.sort(function (a, b) { 
5455    	return ordenar(a, b, 'nome'); 
5456    }); 
5457     
5458    objsTela.unidadesRegistroInteresse.sort(function (a, b) { 
5459    	return ordenar(a, b, 'nome'); 
5460      }); 
5461     
5462    //console.log(objsTela.unidades); 
5463     
5464    $.each(objsTela.unidades, function(k,item){ 
5465       
5466      if(getURLData().includes('/'+item.friendlyURL+'/')){ 
5467        unidadePreSelecionada= true; 
5468        categoryIdUnidadePreSelecionada = item['categoryId']; 
5469
5470    }); 
5471     
5472    //console.log('Unidade Pre '+unidadePreSelecionada); 
5473     
5474    if(objsTela.unidades.length == 0){ 
5475      if(!showOptions) 
5476        $('.ssp-container-selecione-unidade').addClass('d-none'); 
5477      $('.oferta-slick-area').empty(); 
5478      $('.prev-mobile').addClass('d-none'); 
5479      $('.next-mobile').addClass('d-none'); 
5480      //EMED remove msg registro interesse 
5481      //if(isEmed) $('.ssp-card-oferta-curso__sem-vaga-description').addClass('d-none'); 
5482
5483     
5484    if(isAoVivo){ 
5485       
5486        const codigoFT = $('[name="codigoFT"]').val(); 
5487    	const dataEfetivaOferta = $('[name="dataEfetivaSTR"]').val(); 
5488 
5489    	var unidadesCategoryAll = ''; 
5490     
5491    	$.each(objsTela.unidades, function(k,unidade){ 
5492      		unidadesCategoryAll += unidade['categoryId']+','; 
5493        }); 
5494       
5495    //tirando ultima virgula 
5496    unidadesCategoryAll = unidadesCategoryAll.substring(0,unidadesCategoryAll.length - 1); 
5497     
5498    getOfertasAoVivo(codigoFT, dataEfetivaOferta, unidadesCategoryAll);            
5499       
5500    }else{ 
5501      $('#unidades-ofertas').empty() 
5502 
5503      if(objsTela.unidades && objsTela.unidades.length){  
5504        if(isEmed) 
5505          $('#unidades-ofertas').append($('<option value="">Selecione uma unidade</option>')) 
5506        else 
5507          $('#unidades-ofertas').append($('<option value="">Clique na unidade de interesse</option>')) 
5508 
5509      } else 
5510        $('#unidades-ofertas').append($('<option value="">Nenhum resultado encontrado</option>')) 
5511 
5512      let unidadeFounded = criarOptionUnidadesPorRegiao(objsTela.unidades) 
5513       
5514      //Dispara o evento para primeira unidade ou pela friendlyURl da unidade 
5515      if(unidadeValue) { 
5516        $('#unidades-ofertas').val(unidadeValue); 
5517        $('#unidades-ofertas').change(); 
5518      } else if(unidadeFounded){	             
5519        $('#unidades-ofertas').val(unidadeFounded['categoryId']+"@"+unidadeFounded['codigoUnidade']); 
5520        $('#unidades-ofertas').change(); 
5521      } else if(!unidadePreSelecionada) { 
5522        $('#unidades-ofertas').change(); 
5523
5524       
5525      $('.ssp-card-registro-interesse__select.unidades').empty() 
5526      $('.ssp-card-registro-interesse__select.unidades').append('<option value="" disabled selected>Selecione uma unidade</option>') 
5527      $.each(objsTela.unidadesRegistroInteresse, function(k,unidade){ 
5528         
5529        $('.ssp-card-registro-interesse__select.unidades').append('<option value="'+unidade['codigoUnidade']+'">'+unidade['nome']+'</option>'); 
5530      }); 
5531
5532     
5533
5534 
5535   
5536   function mudarUnidade(ev){      
5537     startOfertaParam = 0; 
5538     endOfertaParam = 25; 
5539     carregouUltimaOferta = false; 
5540 
5541     var elem = $(ev.target); 
5542     var unidades = objsTela.unidades; 
5543      
5544     //verifica se selecionou alguma unidade 
5545     if(!elem.val()){ 
5546       $('#informe-novas-turmas, .ssp-ofertas-emed__section, .ssp-ofertas__box-endereco-unidade').addClass('d-none'); 
5547 
5548       if(isEmed) 
5549        $('#ssp-section-response').addClass('d-none') 
5550 
5551        hideCardSemTurmas($('#unidades-ofertas option').length > 1)        
5552 
5553        elem.val('') 
5554        habilitarRegistroInteresse(false) 
5555        //Zera variável que controla existência de ofertas com bolsa 
5556        ofertasComBolsa = false; 
5557        controlaPaginaBolsa(); 
5558        
5559       return; 
5560
5561      
5562     $('#informe-novas-turmas, .ssp-ofertas__box-endereco-unidade').removeClass('d-none'); 
5563     hideCardSemTurmas(true) 
5564     if(isEmed){ 
5565        $('.ssp-ofertas-emed__section').removeClass('d-none'); 
5566        $('#ssp-section-response').removeClass('d-none') 
5567        $('.ssp-card-oferta-curso__section-title').addClass('d-none'); 
5568        $('.prev-mobile, .next-mobile').addClass('d-none'); 
5569        var nomeUnidade = $('#unidades-ofertas option:selected').text(); 
5570        let tamScreen = $(window).width(); 
5571 
5572        if(tamScreen < 1024) 
5573	    	  $('#titulo-emed').text('Turmas ' + anoTurmaEmed ); 
5574        else 
5575        	$('#titulo-emed').text('Turmas ' + anoTurmaEmed + ' - ' + nomeUnidade); 
5576 
5577
5578      
5579     const codigoFT = $('[name="codigoFT"]').val(); 
5580     const dataEfetivaOferta = $('[name="dataEfetivaSTR"]').val(); 
5581      
5582     //colocamos dentro do option categoryId@codUnidade 
5583     splitted = elem.val().split("@"); 
5584     var categoryIdUnidade = splitted[0]; 
5585     var codUnidade = splitted[1]; 
5586           
5587     for(var i = 0; unidades.length > i ; i++){ 
5588        
5589       if(unidades[i].categoryId == categoryIdUnidade){ 
5590   
5591           var unidade = unidades[i]; 
5592            
5593           //Exibe o endereco da unidade 
5594           const urlBuscaUnidade = urlUnidadeInfoDetalhe 
5595         .replace('\{companyId\}',themeDisplay.getCompanyId()) 
5596         .replace('\{codigoUnidade\}', unidade.codigoUnidade); 
5597            
5598           $.ajax({ 
5599                 url :  urlBuscaUnidade, 
5600                 type : 'get', 
5601                 dataType: 'json', 
5602                 success: function( unidadeInfo ) { 
5603                   if(unidadeInfo != null && typeof unidadeInfo !== 'undefined'){ 
5604                       
5605                       var endereco = concatSTR(unidadeInfo.enderecoUnidade,unidadeInfo.numEnderecoUnidade,', '); 
5606                         endereco = concatSTR(endereco,unidadeInfo.complementoEnderecoUnidade, ' - '); 
5607                         endereco = concatSTR(endereco,unidadeInfo.bairroUnidade, ' - '); 
5608                 
5609                         $('.ssp-ofertas__endereco-unidade').text(endereco); 
5610                         $('.ssp-ofertas__endereco-unidade').attr('href',unidadeInfo.googlemapsUnidade); 
5611
5612                 }, 
5613                 error: function(data){ 
5614                   $('.ssp-ofertas__endereco-unidade').text(''); 
5615                   $('.ssp-ofertas__endereco-unidade').attr('href','#a'); 
5616                     console.log('Unidade não encontrada'); 
5617
5618             }) 
5619           
5620          getOfertas(codigoFT, dataEfetivaOferta, unidades[i].categoryId); 
5621            
5622          habilitarRegistroInteresse(!!(unidades && unidades.length)); 
5623            
5624
5625     }   
5626
5627     
5628   function pegarTextoCartoesAceitos(campo){ 
5629      indice = campo.indexOf(' em até '); 
5630      inicio = 0; 
5631      fim = indice; 
5632       
5633      return campo.substring(inicio, fim); 
5634
5635    
5636   function pegaNumParcela(campo){ 
5637    
5638      indice = campo.indexOf('até '); 
5639      inicio = indice + 4; 
5640      fim = indice +  6; 
5641       
5642      return campo.substring(inicio, fim); 
5643       
5644
5645    
5646   function pegaValorParcela(campo){ 
5647      
5648      indice = campo.indexOf('R$'); 
5649      inicio = indice+2;     
5650      valorAmericano = campo.substring(inicio) 
5651       
5652      return formataValor(valorAmericano); 
5653       
5654
5655    
5656   function montaHTMLOferta(oferta, index, codigoUnidade, posLoad){ 
5657	    
5658    var retornoDiasHorarios = processaDiasHorariosOferta(oferta.horariosAllOferta); 
5659    diasSemanaHTML = ""; 
5660	      
5661    for(var diaDaOferta of retornoDiasHorarios){ 
5662          diasSemanaHTML += htmlSlickAreaDiasSemana.replace('\{diasSemana\}',diaDaOferta.dias); 
5663          diasSemanaHTML = diasSemanaHTML.replace('\{horasSemana\}',diaDaOferta.horario) 
5664		      }    
5665		       
5666    var ofertaHTML = ""; 
5667		 
5668		if(isEmed){ 
5669			 
5670      ofertaHTML = htmlSlickAreaEmed(oferta); 
5671			$('[name="codUnidadeSelecionada"]').val(codigoUnidade); 
5672			 
5673			if(!posLoad) $('.ssp-slick-ofertas-emed').append(ofertaHTML) 
5674			else $('.ssp-slick-ofertas-emed').slick('slickAdd', ofertaHTML); 
5675		}else{ 
5676 
5677 
5678      ofertaHTML = htmlSlickArea(index, oferta, diasSemanaHTML, codigoUnidade) 
5679       
5680      if(!posLoad) 
5681        $('.oferta-slick-area').append(ofertaHTML); 
5682      else 
5683        $('.oferta-slick-area').slick('slickAdd', ofertaHTML); 
5684       
5685      ajustaTextoDiasHorarioOferta(oferta.codigoOferta); 
5686 
5687
5688 
5689    if(turmasIniciadas(oferta.dataInicio)) 
5690    	$("#aviso-turma-iniciada-"+index).show(); 
5691 
5692	//remove os botões/itens de compra/bolsa caso seja preciso 
5693    $('.oferta-slick-area').find('.d-none-btn').remove(); 
5694
5695 
5696 
5697  	//RECEBE A STRING DE HORARIOS E RETORNA UMA LISTA DE OBJETOS COM OS DIAS E HORARIOS FORMATADOS 
5698	//@horariosAllOferta String com os dias da semana em sigla seguido do horario da aula e separados por virgula EX: "Qui 12h às 13, Sex 12h às 13h"  
5699	function processaDiasHorariosOferta(horariosAllOferta){ 
5700 
5701   		var dias = horariosAllOferta.trim().split(','); 
5702   		let arrayDiasSemana = [{"Seg":"Segunda"},{"Ter":"Terça"},{"Qua":"Quarta"},{"Qui":"Quinta"},{"Sex":"Sexta"},{"Sab":"Sábado"},{"Dom":"Domingo"}] 
5703 
5704   		var arrayDia = []; 
5705   	   	if(dias.length >= 1){ 
5706   		    for(var k=0; dias.length > k; k++){ 
5707   		 		var diasSplit = dias[k].trim().split(' '); 
5708   	          	var diasSemana = diasSplit.shift() 
5709   		      	var ultimaPos = diasSplit.length-1; 
5710   	          	var horasStr = diasSplit[0] + ' às ' + diasSplit[ultimaPos]  
5711   	         	arrayDia.push({horasStr,diasSemana}); 
5712
5713
5714 
5715   		arrayDia = groupByArray(arrayDia, 'horasStr','diasSemana'); 
5716   		arrayDia = orderByArray(arrayDia,arrayDiasSemana); 
5717   		 
5718   		var ret = diaHorarioOfertaFormatado(arrayDia,arrayDiasSemana); 
5719			return ret; 
5720
5721 
5722   //cria um array de objetos Agrupando de acordo ao campo informado como chave.  
5723   //@arr = Array multidimensional que tenha os campos key e valueAdd 
5724   //@key = campo que será chave nesse array 
5725   //@valueAdd = campo que será agrupado caso tenha a mesma informação passada no campo key 
5726   const groupByArray = (arr, key,valueAdd) => { 
5727   		const initialValue = []; 
5728   		const retornoValue = []; 
5729   		arr.forEach((acc, cval) => { 
5730   			const myAttribute = cval[key]; 
5731   			acc[key] in retornoValue ? retornoValue[acc[key]].push(acc[valueAdd]):retornoValue[acc[key]]=[acc[valueAdd]]; 
5732   			return acc; 
5733     		}, initialValue); 
5734   	return retornoValue; 
5735   }; 
5736 
5737 
5738   //Cria um array de objetos a partir do primeiro array inserido e ordenados de acordo a ordem do segundo array informado.  
5739   //@arrayOrdena = Array de objetos que tenha os campos que precisa ser ordenados 
5740   //@ordem = array com a sequencia que queira ordenar - ex: seg, ter, qua, qua 
5741   const orderByArray = (arrayOrdena, ordem) => { 
5742 
5743   	let diasSem = []; 
5744   	const arrayOrdenado = []; 
5745   	let controle; 
5746   	 
5747   	//percorre cada campo existente no ordem e busca o mesmo no arrayOrdena, encontrando insere no arrayOrdenado 
5748   	for(let campo of ordem){	 
5749   		Object.entries(arrayOrdena).forEach(([key, value]) => { 
5750   			for(let diaOferta of value){ 
5751   				if(diaOferta===Object.keys(campo)[0]){ 
5752   					arrayOrdenado[key]=arrayOrdena[key]; 
5753
5754
5755   	    }) 
5756
5757   	return arrayOrdenado; 
5758   }; 
5759 
5760   //retorna o valor de um objeto dentro de um array 
5761   //@objetoBusca = array de objetos que sera buscado o valor 
5762   //@keyBusca = nome do campo a ser buscada no objeto para pegar o seu valor 
5763   function findValueInObject(objetoBusca, keyBusca){ 
5764   	var retorno = ""; 
5765   	Object.entries(objetoBusca).forEach(([horario, dias]) => { 
5766   		Object.entries(dias).forEach(([key,val]) => { 
5767   			if(key.trim()==keyBusca.trim()){ 
5768   				retorno = val; 
5769
5770   		}); 
5771   	}); 
5772   	return retorno; 
5773
5774 
5775   //Recebe um objeto com valores dos dias da semana e define se sao dias seguidos ou alternados.  
5776   //@arrayComDiasDaSemana = array com os dias da semana a serem validados - exemplo ['Qua','Qui','Sex'] 
5777   //@keyBusca = nome do campo a ser buscada no objeto para pegar o seu valor 
5778   function diasSequenciaisOuAlternados(arrayComDiasDaSemana, arrayDiasDaSemana){ 
5779   	 
5780   	let arrayValidador = []; 
5781   	 
5782   	//cria um array com o index dos dias das semanas encontrados [0 = seg, 1 = ter ... 6 = dom] 
5783   	for(let diaOferta of arrayComDiasDaSemana){ 
5784   		for(let i = 0; i < arrayDiasDaSemana.length; i++){ 
5785   			if(diaOferta === Object.keys(arrayDiasDaSemana[i])[0]){ 
5786   				arrayValidador[i] = true; 
5787   			}				 
5788
5789
5790 
5791   	let keyCompair = 99; 
5792   	var sequencial = true; 
5793 
5794   	//verifica quais posições foram criadas no array, e se os valores delas estão em sequencia. 
5795   	for(let keyValidator of Object.keys(arrayValidador)){ 
5796   		keyValidator = parseInt(keyValidator); 
5797   		if(keyCompair!==99){ 
5798   			if(keyValidator===keyCompair){ 
5799   				sequencial = true; 
5800   			}else{ 
5801   				sequencial = false; 
5802   				break; 
5803
5804
5805   		keyCompair = keyValidator+1; 
5806
5807   	return sequencial; 
5808
5809 
5810 
5811   //Exibe as informações de dia e horario de oferta de acordo a sua estrutura 
5812   //Caso os dias sejam sequenciais exibe a primeiro e ultimo dia da semana ligados com a letra 'a' Ex: Segunda a Quinta  
5813   //Caso os dias Nao sejam sequenciais exibem todos os dias separados por virgula  Ex: Segunda, terça, sexta e domingo 
5814   //@arrayAgrupadoEOrdenado = array de objetos que sera exibido 
5815   //@arrayDiasDaSemana = array com os dias da semana, sendo chave a sigla da semana (ex: Qua) e o valor o nome esperado (ex: Quarta) 
5816   function diaHorarioOfertaFormatado(arrayAgrupadoEOrdenado, arrayDiasDaSemana){ 
5817 
5818   	var stringAux = "";		 
5819   	var listRetorno = []; 
5820   		 
5821   	Object.entries(arrayAgrupadoEOrdenado).forEach(([key, value]) => {		 
5822 
5823   		var sequencial = diasSequenciaisOuAlternados(value, arrayDiasDaSemana); 
5824   		var stringAux = "";		 
5825   		var diaOferta = {}; 
5826 
5827   		if(sequencial){ 
5828   			switch (value.length) { 
5829       			case 1: 
5830   					stringAux = stringAux+findValueInObject(arrayDiasDaSemana,value[0])+": "; 
5831   					diaOferta.dias = stringAux.charAt(0).toUpperCase() + stringAux.slice(1).toLowerCase(); // somente a primeira maiúscula 
5832   					diaOferta.horario = key; 
5833   				break; 
5834   				case 2: 
5835   					stringAux = stringAux+findValueInObject(arrayDiasDaSemana,value[0])+" e "+findValueInObject(arrayDiasDaSemana,value[value.length-1])+": "; 
5836   					diaOferta.dias = stringAux.charAt(0).toUpperCase() + stringAux.slice(1).toLowerCase(); // somente a primeira maiúscula 
5837   					diaOferta.horario = key; 
5838   				break; 
5839   				default: 
5840          				stringAux = stringAux+findValueInObject(arrayDiasDaSemana,value[0])+" a "+findValueInObject(arrayDiasDaSemana,value[value.length-1])+": "; 
5841   					 
5842   					diaOferta.dias =  stringAux.charAt(0).toUpperCase() + stringAux.slice(1).toLowerCase(); // somente a primeira maiúscula 
5843   					diaOferta.horario = key; 
5844   				break; 
5845   			}	 
5846   		}else{ 
5847   			switch (value.length) { 
5848       			case 2: 
5849   					stringAux = stringAux+findValueInObject(arrayDiasDaSemana,value[0])+" e "+findValueInObject(arrayDiasDaSemana,value[value.length-1])+": "; 
5850   					diaOferta.dias =  stringAux.charAt(0).toUpperCase() + stringAux.slice(1).toLowerCase(); // somente a primeira maiúscula 
5851   					diaOferta.horario = key; 
5852   				break; 
5853   				default: 
5854   					var ct = 0; 
5855   					var stringDias=""; 
5856   					for(let v of value){ 
5857       					ct++; 
5858   						ct==value.length ? stringDias=stringDias.substring(0,stringDias.length - 2)+" e "+findValueInObject(arrayDiasDaSemana,v) : stringDias+=findValueInObject(arrayDiasDaSemana,v)+", "; 
5859
5860          				stringAux = stringAux+stringDias+": "; 
5861   					diaOferta.dias = stringAux.charAt(0).toUpperCase() + stringAux.slice(1).toLowerCase(); // somente a primeira maiúscula 
5862   					diaOferta.horario = key; 
5863   				break; 
5864
5865
5866 
5867   		listRetorno.push(diaOferta); 
5868   	}) 
5869   	return listRetorno; 
5870   }; 
5871 
5872 
5873   //Distribui dia e horario com quebra de linha entre eles ou nao dependendo da resolução de tela e tamanho da string 
5874   function ajustaTextoDiasHorarioOferta(codOferta){ 
5875 
5876	   var classOferta = ".codigoOferta_"+codOferta;  
5877	   let oferta = $(classOferta); 
5878 
5879	   let ofertaDiasSemana = $(oferta).find('*[data-dia-hora="dias-semana"]'); 
5880 
5881	   let widthDevice = window.screen.width; 
5882	   let tamLimDesktop = 185; 
5883	 
5884	   if(widthDevice <= 1024){ 
5885	       tamLimDesktop = 180; 
5886
5887	  
5888	   ofertaDiasSemana.each(function(index){ 
5889 
5890		   		   	 
5891	       let widthDiaSemana = $(this).width(); 
5892	 
5893	       let contentDiaHora = $(this).parent().parent().parent(); 
5894	   	 
5895	       if(!(widthDiaSemana <= tamLimDesktop)){ 
5896			   $(this).css("display","block"); 
5897
5898	 
5899		   if(ofertaDiasSemana.length == parseInt(index+1)){ 
5900		       contentDiaHora.css("opacity","1"); 
5901
5902 
5903   		})  
5904
5905 
5906   function getObjBtnComprar(oferta){ 
5907      let obj = {}; 
5908      obj['dataEspacoEx'] = (oferta.espacoExterno == 'true' || (isHibrido && temTextoParaFormatoHibrido)) ? 'true' : 'false'; 
5909      if($('#manutencao-compra').val()){ 
5910        obj['classeBotao'] = 'disabled manutencao'; 
5911        obj['textoBotao'] = $('#manutencao-compra').val(); 
5912      }  
5913      else{ 
5914        obj['classeBotao'] = oferta.botaoCompraOferta == 'true' ? (oferta.vagasParaCompraOferta == 'true' ? '' : 'disabled') : 'd-none-btn'; 
5915        obj['textoBotao'] = oferta.vagasParaCompraOferta == 'true' ? 'COMPRAR' : 'Vagas esgotadas para compra'; 
5916
5917      return obj; 
5918
5919    
5920     function getObjFormaPagto(oferta,index,tipoCurso,codigoUnidade){ 
5921        
5922       var formaPagtoObj = {}; 
5923	    
5924	     var regNumMaxParce = new RegExp('\{numeroMaxParcelasOferta\}', 'g'); 
5925         var regPrecMaxParce = new RegExp('\{precoVendaMaxParcelaOferta\}', 'g') 
5926 
5927       formaPagtoObj['regIndex']  = index; 
5928       formaPagtoObj['precoCheioOferta'] = formataValor(oferta.precoCheioOferta); 
5929       formaPagtoObj['textoCartoesAceitos'] = oferta.textoCartoesAceitos; 
5930 
5931       formaPagtoObj['numParcelaCartoes'] = oferta.numParcelaCartoes; 
5932       formaPagtoObj['precoParcelaCartoes'] = oferta.precoParcelaCartoes; 
5933       formaPagtoObj['numParcelaBoleto'] = oferta.numParcelaBoleto; 
5934       formaPagtoObj['precoParcelaBoleto'] = oferta.precoParcelaBoleto; 
5935       formaPagtoObj['precoVendaOferta'] = formataValor(oferta.precoVendaOferta); 
5936        
5937       formaPagtoObj['economia'] = formataValor(parseFloat(oferta.precoCheioOferta).toFixed(2) - parseFloat(oferta.precoVendaOferta).toFixed(2)); 
5938       formaPagtoObj['espacoExterno'] = oferta.espacoExterno == 'true' ? 'true' : 'false'; 
5939       formaPagtoObj['dataUnidade'] = codigoUnidade; 
5940       formaPagtoObj['dataEvento'] = oferta.codigoOferta; 
5941       formaPagtoObj['destinoCompra '] = oferta.destinoCompra; 
5942        
5943       //EMED nao restringe o botao 
5944       if(isEmed){ 
5945          let manutencao = $('#manutencao-compra').val();  
5946          formaPagtoObj['textoBotaoComprar'] = manutencao || 'COMPRAR'; 
5947           formaPagtoObj['classeBotaoComprar'] = manutencao ? 'disabled manutencao' : ''; 
5948       }else{ 
5949          let btnComprar = getObjBtnComprar(oferta);  
5950          formaPagtoObj['textoBotaoComprar'] = btnComprar.textoBotao; 
5951           formaPagtoObj['classeBotaoComprar'] = btnComprar.classeBotao; 
5952
5953 
5954       formaPagtoObj['regNumMaxParce'] = oferta.numeroMaxParcelasOferta; 
5955       formaPagtoObj['regPrecMaxParce'] = formataValor(oferta.precoVendaMaxParcelaOferta); 
5956        
5957       //valores extensao - como o modal de livre e tec nao tem as classes especificas de extensao, nao há problema criar os valores abaixo para qualquer tipo de curso  
5958       formaPagtoObj['precoAVistaPadraoExt'] = formataValor(oferta.precoVendaOferta); 
5959       var precoContribuinteExtensao = (parseFloat(oferta.precoVendaOferta).toFixed(2) * 0.80).toFixed(2); 
5960       formaPagtoObj['precoContrExt'] = formataValor(precoContribuinteExtensao); 
5961       formaPagtoObj['economiaExt'] = formataValor(parseFloat(oferta.precoVendaOferta).toFixed(2) - precoContribuinteExtensao); 
5962       formaPagtoObj['precoParcelaBoletoExt'] = formataValor( (precoContribuinteExtensao / oferta.numParcelaBoleto).toFixed(2)); 
5963       formaPagtoObj['precoParcelaCartoesExt'] = formataValor( (precoContribuinteExtensao / oferta.numParcelaCartoes).toFixed(2)); 
5964       formaPagtoObj['precoAVistaContrExt'] = formataValor( (precoContribuinteExtensao * 0.92).toFixed(2)); 
5965          
5966       return formaPagtoObj; 
5967
5968      
5969     function calculaPrecoAvista(precoVendaOferta){ 
5970      return (parseFloat(precoVendaOferta).toFixed(2) * 0.92).toFixed(2); 
5971
5972 
5973    function createModalFormaPagto(formaPagtoObj, oferta, index) { 
5974      let temDesconto = possuiCriteriosDesconto2022(oferta.dataInicio) 
5975      temDesconto = temDesconto && !possuiMensalidade99(oferta)       
5976       
5977      result = ` 
5978        <div id="modalFormaPagto" class="ssp-modal"> 
5979          <div class="ssp-card-modal-forma-pagamento ` + (temDesconto ? 'ssp-desconto-2022' : '') + `"> 
5980            <div class="ssp-card-modal-forma-pagamento__header" style="border: 0; margin-bottom: 0 !important;"> 
5981              <h6 class="ssp-card-modal-forma-pagamento__header-title font-weight-bold" style="color:#454F63">Descontos e ` + (temDesconto ? 'pagamento' : 'parcelamento') + `</h6> 
5982              <i class="ssp-card-modal-forma-pagamento__btn-close ssp-card-modal-forma-pagamento__btn-close_` + index + `"></i> 
5983            </div> 
5984
5985        + (temDesconto ? '' : '<div class="ssp-card-oferta-curso__line-divider mt-0 mb-5 mb-md-8"></div>') + 
5986
5987            <div class="ssp-card-modal-forma-pagamento__body">               
5988      `       
5989      if(temDesconto) { 
5990        result = result + ` 
5991             <div> 
5992                <p class="my-0"><strong>Valor com </strong> 
5993                  <span class="ssp-card-oferta-curso__valor-desconto mt-0 mb-0">50% de desconto*</span>                   
5994                </p> 
5995              </div> 
5996              <h6 class="ssp-card-oferta-curso__item-valor-investimento"><span>` + oferta.numeroMaxParcelasOferta + `x</span>R$ ` + formataValor(ajustarCasasDecimaisSemArredondar((strToFloat(oferta.precoVendaOferta)/strToFloat(oferta.numeroMaxParcelasOferta))/2, 2)) + `*</h6>` 
5997               
5998        if($('[name="tipoCurso"]').val() == 'extensao') { 
5999          result = result + `<p class="modal-extensao_txteconomiza my-0">*Desconto válido para quem tem ou trabalha em empresa do setor de comércio e serviços, estudantes ou ex-estudantes de cursos técnicos no Senac ou para quem já finalizou o Ensino Médio Técnico no Senac.</p>` 
6000        } else { 
6001          result = result + `<p class="modal-extensao_txteconomiza my-0">*Desconto válido para quem tem ou trabalha em empresa do setor de comércio e serviços.</p>` 
6002
6003               
6004         
6005        result = result + ` 
6006              <div class="ssp-card-oferta-curso__line-divider mb-5 mb-md-2 mt-2"></div> 
6007              <p class="my-0"><strong>Valor:</strong></p> 
6008              <h6 class="ssp-card-oferta-curso__item-valor-investimento ` + (temDesconto ? 'ssp-desconto-2022' : '') + `"><span>` + oferta.numeroMaxParcelasOferta + `x</span>R$ ` + formataValor(oferta.precoVendaMaxParcelaOferta) + `</h6> 
6009              <p class="mt-0 mb-0"><strong>Valor Total: </strong> ` + formataValor(ajustarCasasDecimaisSemArredondar(strToFloat(oferta.precoVendaOferta), 2)) + `</p> 
6010              <div class="ssp-card-oferta-curso__line-divider mt-4 mb-md-3 mb-4"></div> 
6011              <p class="my-0"><strong>Parcele e garanta mais tempo para pagar:</strong></p> 
6012
6013      } else { 
6014        if(formaPagtoObj.precoCheioOferta == formaPagtoObj.precoVendaOferta) { 
6015          result = result + ` 
6016              <p class="ssp-card-modal-forma-pagamento__valor-desconto mt-n3">R$ <span class="precoVendaOferta">` + formaPagtoObj.precoVendaOferta + `</span></p> 
6017              <p class="txt-desconto-oito">Pague à vista e <span style="color:#FC7834;font-weight:bold"> ganhe mais 8% de desconto.</span></p> 
6018              <small class="ssp-card-oferta-curso__title-item font-weight-bold" style="margin:0;font-size:16px">Se preferir, parcele e garanta muito mais tempo para pagar:</small> 
6019            </div> 
6020
6021        } else { 
6022          const textoDesc = temDesconto ? 'Valor com 30% de desconto:' : 'Valor com desconto:' 
6023           
6024          result = result + ` 
6025              <small class="ssp-card-oferta-curso__title-item font-weight-bold" style="margin:0;font-size:16px;">` + textoDesc + `</small> 
6026              <p class="ssp-card-modal-forma-pagamento__valor-cheio">R$ <span class="precoCheioOferta">` + formaPagtoObj.precoCheioOferta + `</span></p> 
6027              <p class="ssp-card-modal-forma-pagamento__valor-desconto">R$ <span class="precoVendaOferta">` + formaPagtoObj.precoVendaOferta + `</span></p> 
6028              <p class="ssp-card-modal-forma-pagamento__total-economia">Você economiza <span>R$ <span class="economia">` + formaPagtoObj.economia + `</span></span></p> 
6029              <p class="txt-desconto-oito">Pague à vista e <span style="color:#FC7834;font-weight:bold"> ganhe mais 8% de desconto.</span></p> 
6030              <small class="ssp-card-oferta-curso__title-item font-weight-bold" style="margin:0;font-size:16px">Se preferir, parcele e garanta muito mais tempo para pagar:</small> 
6031            </div> 
6032
6033
6034
6035 
6036      let textoParcelaCartoes, textoParcelaBoleto       
6037      if(temDesconto) { 
6038        const precoParcelaCartoes = formataValor(ajustarCasasDecimaisSemArredondar(strToFloat(formaPagtoObj.precoParcelaCartoes)/2, 2)) 
6039        const precoParcelaBoleto = formataValor(ajustarCasasDecimaisSemArredondar(strToFloat(formaPagtoObj.precoParcelaBoleto)/2, 2)) 
6040 
6041        if(formaPagtoObj.numParcelaCartoes) 
6042          textoParcelaCartoes = `<p>Em até <span><span class="numParcelaCartoes">` + formaPagtoObj.numParcelaCartoes + `</span>x</span> sem juros</p>` 
6043 
6044        if(formaPagtoObj.numParcelaBoleto) 
6045          textoParcelaBoleto = `<p>Em até <span><span class="numParcelaBoleto">` + formaPagtoObj.numParcelaBoleto + `</span>x</span> sem juros</p>` 
6046      } else { 
6047        if(formaPagtoObj.numParcelaCartoes) 
6048          textoParcelaCartoes = `<p>Em até <span><span class="numParcelaCartoes">` + formaPagtoObj.numParcelaCartoes + `</span>x de R$ <span class="precoParcelaCartoes">` + formaPagtoObj.precoParcelaCartoes + `</span></span> sem juros</p>` 
6049         
6050        if(formaPagtoObj.numParcelaBoleto) 
6051          textoParcelaBoleto = `<p>Em até <span><span class="numParcelaBoleto">` + formaPagtoObj.numParcelaBoleto + `</span>x de R$ <span class="precoParcelaBoleto">` + formaPagtoObj.precoParcelaBoleto + `</span></span> sem juros</p>` 
6052
6053 
6054      if(temDesconto) {  
6055        result = result + ` 
6056              <div class="ssp-card-modal-forma-pagamento__tipos">` 
6057 
6058        if(textoParcelaBoleto) 
6059          result = result + ` 
6060                <div class="ssp-card-modal-forma-pagamento__tipos-content align-items-start"> 
6061                  <i class="ssp-card-modal-forma-pagamento__icon-boleto"></i> 
6062                  <div class="ssp-card-modal-forma-pagamento__info-cartao"> 
6063                      <p><strong>Boleto Bancário</strong></p>` 
6064                      + textoParcelaBoleto +    
6065                  `</div> 
6066                </div>` 
6067 
6068        if(textoParcelaCartoes) 
6069          result = result + ` 
6070                <div class="ssp-card-modal-forma-pagamento__tipos-content align-items-start mt-4"> 
6071                  <i class="ssp-card-modal-forma-pagamento__icon-credit-card"></i> 
6072                  <div class="ssp-card-modal-forma-pagamento__info-cartao"> 
6073                      <p><strong>Cartões</strong></p> 
6074                      <p>(<span class="textoCartoesAceitos">` + formaPagtoObj.textoCartoesAceitos + `</span>)</p>` 
6075                      + textoParcelaCartoes +    
6076                  `</div> 
6077                </div> 
6078              </div> 
6079
6080      } else { 
6081        result = result + ` 
6082              <div class="ssp-card-modal-forma-pagamento__tipos">` 
6083 
6084        if(textoParcelaCartoes) 
6085          result = result + ` 
6086                <div class="ssp-card-modal-forma-pagamento__tipos-content align-items-start"> 
6087                  <i class="ssp-card-modal-forma-pagamento__icon-credit-card"></i> 
6088                  <div class="ssp-card-modal-forma-pagamento__info-cartao"> 
6089                      <p><strong>Cartões</strong></p> 
6090                      <p>(<span class="textoCartoesAceitos">` + formaPagtoObj.textoCartoesAceitos + `</span>)</p>` 
6091                      + textoParcelaCartoes +    
6092                  `</div> 
6093                </div>` 
6094 
6095        if(textoParcelaBoleto) 
6096          result = result + ` 
6097                <div class="ssp-card-modal-forma-pagamento__tipos-content align-items-start mt-4"> 
6098                  <i class="ssp-card-modal-forma-pagamento__icon-boleto"></i> 
6099                  <div class="ssp-card-modal-forma-pagamento__info-cartao"> 
6100                      <p><strong>Boleto Bancário</strong></p>` 
6101                      + textoParcelaBoleto +    
6102                  `</div> 
6103                </div> 
6104              </div> 
6105
6106
6107 
6108      if(temDesconto) {  
6109        result = result + ` 
6110            <p class="txt-desconto-oito my-0">Pague à vista e ganhe <span style="color:#5ACC75;font-weight:bold">8% de desconto.</span></p> 
6111
6112
6113 
6114      result = result + ` 
6115            <a href="#a" class="btn btn-lg btn-success w-100" style="margin-top: 20px;font-weight:600"><span class="textoBotaoComprar">` + formaPagtoObj.textoBotaoComprar + `</span></a>` 
6116     
6117      if(temDesconto) {  
6118        result = result + ` 
6119            <a class="btn btn-primary modal-extensao-btn-conheca mt-3" href="/descontos-e-parcelamentos" target="_blank">Conheça os descontos</a> 
6120
6121
6122           
6123      result = result + ` 
6124         </div> 
6125        </div> 
6126
6127 
6128      return result; 
6129
6130      
6131     function montaHTMLModalFormaPgto(oferta, index, codigoUnidade){ 
6132        
6133       var tipoCurso = $('[name="tipoCurso"]').val(); 
6134        
6135       var formaPagtoObj = getObjFormaPagto(oferta,index,tipoCurso,codigoUnidade); 
6136        
6137       var modalFormaPagto 
6138       if(tipoCurso == 'extensao' && !possuiCriteriosDesconto2022(oferta.dataInicio)) { 
6139          modalFormaPagto = $('#modalFormaPagtoExt').clone(); 
6140 
6141          $.each(formaPagtoObj, function(k,v){ 
6142            if(modalFormaPagto.find('.'+k).length > 0) 
6143              modalFormaPagto.find('.'+k).text(v); 
6144          }) 
6145        } else if(isEmed) { 
6146          modalFormaPagto = $('#modalPagtoEmed').clone(); 
6147 
6148          $.each(formaPagtoObj, function(k,v){ 
6149            if(modalFormaPagto.find('.'+k).length > 0) 
6150              modalFormaPagto.find('.'+k).text(v); 
6151          }) 
6152        } else 
6153           modalFormaPagto = $(createModalFormaPagto(formaPagtoObj, oferta, index)); 
6154          
6155       modalFormaPagto.removeAttr('id'); 
6156       modalFormaPagto.removeClass('d-none'); 
6157       modalFormaPagto.attr('id','myModal_'+index); 
6158        
6159       if(tipoCurso == 'extensao' && !possuiCriteriosDesconto2022(oferta.dataInicio)){ 
6160          
6161         var botoaoCompraOk = modalFormaPagto.find('.modal-extensao-aluno__btn.ok'); 
6162         botoaoCompraOk.attr('id','btnComprarConhecaDescontoOk_'+index); 
6163          
6164         botoaoCompraOk.attr('data-espaco-ex', formaPagtoObj.espacoExterno); 
6165         botoaoCompraOk.attr('data-unidade', formaPagtoObj.dataUnidade); 
6166         botoaoCompraOk.attr('data-evento', formaPagtoObj.dataEvento); 
6167         botoaoCompraOk.attr('data-destino-compra', formaPagtoObj.destinoCompra); 
6168         botoaoCompraOk.attr('data-index', index); 
6169         botoaoCompraOk.addClass(formaPagtoObj.classeBotaoComprar); 
6170          
6171         var botoaoCompraNot =modalFormaPagto.find('.modal-extensao-aluno__btn.not'); 
6172         botoaoCompraNot.attr('id','btnComprarConhecaDescontoNot_'+index); 
6173          
6174         botoaoCompraNot.attr('data-espaco-ex', formaPagtoObj.espacoExterno); 
6175         botoaoCompraNot.attr('data-unidade', formaPagtoObj.dataUnidade); 
6176         botoaoCompraNot.attr('data-evento', formaPagtoObj.dataEvento); 
6177         botoaoCompraNot.attr('data-destino-compra', formaPagtoObj.destinoCompra); 
6178         botoaoCompraNot.attr('data-index', index); 
6179         botoaoCompraNot.addClass(formaPagtoObj.classeBotaoComprar); 
6180          
6181         modalFormaPagto.find('.modal-extensao-btn-aluno-sim-nao.sim').attr('id','btn-aluno-sim_'+index); 
6182         modalFormaPagto.find('.modal-extensao-btn-aluno-sim-nao.nao').attr('id','btn-aluno-nao_'+index); 
6183          
6184         modalFormaPagto.find('.modal-extensao-voltar-icon').addClass('ssp-card-modal-forma-pagamento__btn-close_'+index); 
6185          
6186         modalFormaPagto.find('.modal-extensao-btn-conheca').attr('id','btnModalExtConheca_'+index); 
6187          
6188         modalFormaPagto.find('.modal-pergunta-aluno-ext').attr('id','modalExtAluno_'+index); 
6189          
6190         modalFormaPagto.find('.msg-alunoSim').attr('id','msg-alunoSim_'+index); 
6191         modalFormaPagto.find('.msg-alunoNao').attr('id','msg-alunoNao_'+index); 
6192          
6193         var botaoCompra = modalFormaPagto.find('.modal-extensao__btn.mt-3');  
6194      
6195       }else{ 
6196   
6197         modalFormaPagto.find('.mt-4').attr('id','content_boleto_'+index); 
6198         modalFormaPagto.find('.ssp-card-modal-forma-pagamento__btn-close').addClass('ssp-card-modal-forma-pagamento__btn-close_'+index); 
6199          
6200         var botaoCompra = modalFormaPagto.find('.btn.w-100'); 
6201   
6202
6203        
6204       if(isEmed){ 
6205          
6206    	   	var elementoPai = modalFormaPagto.find('.ssp-card-modal-forma-pagamento'); 
6207	    		  
6208          //Cria botao inscreva-se ajustado ao modal 
6209          var dadosAbertura = calculaTempoAberturaBolsa(oferta.dataAberturaBolsaOferta, oferta.horaAberturaBolsaOferta); 
6210          if($('#manutencao-compra').val()){ 
6211            textoBotao = $('#manutencao-compra').val(); 
6212            classeBotao = 'disabled manutencao'; 
6213          }else{ 
6214            if(oferta.permiteListaEspera == statusEmed.ESPERA && dadosAbertura.bolsaJaAberta){ 
6215              textoBotao = 'Lista de espera'; 
6216              classeBotao = 'btn-emed-lista-espera'; 
6217            }else{ 
6218                if (dadosAbertura.bolsaJaAberta || !oferta.dataAberturaBolsaOferta || oferta.dataAberturaBolsaOferta == ''){ 
6219                  if(oferta.etapa == '0020' || oferta.etapa == '0030'){ 
6220                    textoBotao = 'Lista de espera'; 
6221                    classeBotao = 'btn-emed-lista-espera'; 
6222                  }else{ 
6223                    textoBotao = 'Fazer matrícula'; 
6224                    classeBotao = ''; 
6225
6226                }else{ 
6227                  textoBotao = 'Matrícula em '+formataDataAberturaBolsa(oferta.dataAberturaBolsaOferta, oferta.horaAberturaBolsaOferta); 
6228                  classeBotao = 'disabled'; 
6229
6230
6231
6232          criaBotaoInscreverEmedModal(oferta, textoBotao, classeBotao, 'btnComprarEmedModal_' + index, elementoPai, index); 
6233          preencheDadosEmedModal(oferta, modalFormaPagto); 
6234          
6235       }else{ 
6236	       botaoCompra.attr('id', "btnComprarFormaPgto_"+index); 
6237	       botaoCompra.attr('data-espaco-ex', formaPagtoObj.espacoExterno); 
6238	       botaoCompra.attr('data-unidade', formaPagtoObj.dataUnidade); 
6239	       botaoCompra.attr('data-evento', formaPagtoObj.dataEvento); 
6240	       botaoCompra.attr('data-destino-compra', formaPagtoObj.destinoCompra); 
6241	       botaoCompra.attr('data-index', index); 
6242		   botaoCompra.addClass(formaPagtoObj.classeBotaoComprar); 
6243
6244        
6245       $('.oferta-slick-area_modal').append(modalFormaPagto); 
6246       $('.oferta-slick-area_modal').find('.d-none-btn').remove(); 
6247        
6248       //Evita o erro de exibição de Nan 
6249       if(oferta.numParcelaBoleto.length == 0){ 
6250    	   $('#content_boleto_'+index).remove(); 
6251
6252
6253 
6254    
6255   function montaHTMLModalLocalRealizacao(oferta, index){ 
6256      
6257     var tituloLocalRealizacao = (localLivreOnline(oferta.localEspacoExterno) && !isHibrido) ? 
6258          '<i class="fas fa-wifi icon-wifi-title__modal"></i> <h6 class="title-idioma-online__modal"> Aulas Online - ao vivo</h6>' 
6259           : '<i class="ssp-modal__local-realizacao-content__icon-wifi"></i> <i class="ssp-modal__local-realizacao-content__icon-chalkboard-teacher"></i> <h6 class="ssp-modal-local-realizacao__title"> ONDE AS AULAS VÃO ACONTECER?</h6>'; 
6260      
6261     if(textoFormatoHibrido.length>0 && oferta.espacoExterno=="true") 
6262             textoFormatoHibrido += '</br>'; 
6263                        
6264     var localRealizacaoHTMLModal = htmlModalLocalRealizacao 
6265         .replace('\{nomeUnidade\}',$('#unidades-ofertas option:selected').text()) 
6266         .replace('\{textoFormatoHibrido\}', textoFormatoHibrido ) 
6267         .replace('\{localEspacoExterno\}',  oferta.espacoExterno=="true"? oferta.localEspacoExterno: "" ) 
6268         .replace('\{classeTextoInfoLocalRealizacao\}', (oferta.ruaEspacoExterno != "" && !isHibrido) ? "" : "d-none") 
6269         .replace('\{classeEnderecoRealizacao\}',oferta.ruaEspacoExterno != "" ? "" : "d-none") 
6270         .replace('\{ruaEspacoExterno\}',oferta.ruaEspacoExterno) 
6271         .replace('\{numeroEspacoExterno\}',oferta.numeroEspacoExterno) 
6272         .replace('\{complementoEspacoExterno\}',oferta.complementoEspacoExterno) 
6273         .replace('\{classeBairroRealizacao\}', oferta.bairroEspacoExterno != "" && oferta.ruaEspacoExterno != "" ? "" : "d-none") 
6274         .replace('\{bairroEspacoExterno\}',oferta.bairroEspacoExterno) 
6275         .replace('\{classeCidadeRealizacao\}', oferta.cidadeEspacoExterno != "" && oferta.ruaEspacoExterno != "" ? "" : "d-none") 
6276         .replace('\{cidadeEspacoExterno\}',oferta.cidadeEspacoExterno) 
6277         .replace('\{classeCepRealizacao\}', oferta.cepEspacoExterno != "" && oferta.ruaEspacoExterno != "" ? "" : "d-none") 
6278         .replace('\{cepEspacoExterno\}',oferta.cepEspacoExterno) 
6279        .replace(regIndex, index) 
6280        .replace('\{tituloLocalRealizacao\}', tituloLocalRealizacao) 
6281        .replace('\{classeEntendi\}', (localLivreOnline(oferta.localEspacoExterno)) ? "btn-modal-entendi__idioma-online" : ""); 
6282 
6283        $('.oferta-slick-area_modal').append(localRealizacaoHTMLModal); 
6284        $('.oferta-slick-area_modal').find('.d-none-btn').remove(); 
6285 
6286        if(oferta.ruaEspacoExterno == "") 
6287           $('.localEspacoExternoTexto_'+index).removeClass('ssp-modal-local-realizacao__subtitle'); 
6288
6289    
6290   function  montaHTMLModalAntesCompra(oferta, index, codigoUnidade){ 
6291 
6292    if(isEmed){ 
6293              
6294      $('#modalAntesCompraEmed_' + oferta.indice).remove(); 
6295      const antesCompraHTMLModal = $('#modalAntesCompraEmed').clone(); 
6296      antesCompraHTMLModal.attr('id', 'modalAntesCompraEmed_' + oferta.indice); 
6297      antesCompraHTMLModal.find('.ssp-card-modal-antes-compra__btn-close').addClass('ssp-card-modal-antes-compra__btn-close_'+oferta.indice); 
6298      antesCompraHTMLModal.find('.ssp-card-modal-selecionar-outro__btn-close').addClass('ssp-card-modal-selecionar-outro__btn-close_'+oferta.indice); 
6299      antesCompraHTMLModal.insertAfter('#modalAntesCompraEmed'); 
6300       
6301      if(oferta.etapa == '0010'){ 
6302        if(oferta.permiteListaEspera == statusEmed.ESPERA){ 
6303          antesCompraHTMLModal.find('.textoEmedModalAntesCompra0010Espera').removeClass('d-none'); 
6304          antesCompraHTMLModal.find('#btnCompraLocalEmed').text('Ir para lista de espera'); 
6305        }else{ 
6306          antesCompraHTMLModal.find('.textoEmedModalAntesCompra0010').removeClass('d-none'); 
6307
6308      }else{ 
6309    	  antesCompraHTMLModal.find('.textoEmedModalAntesCompra0020e0030').removeClass('d-none'); 
6310
6311 
6312      const btnCompra = antesCompraHTMLModal.find('#btnCompraLocalEmed'); 
6313      btnCompra.attr('id', 'btnCompraLocalEmed_' + oferta.indice); 
6314      btnCompra.attr('offercode', oferta.codigoOferta); 
6315 
6316      btnCompra.on('click', function(ev){ 
6317        ev.preventDefault(); 
6318        execCompraEmed(oferta); 
6319      }); 
6320 
6321    }else{ 
6322    	 
6323   	 var dataEfetivaFormat = formataDataComBarra($('[name="dataEfetivaSTR"]').val()); 
6324 
6325   	 
6326     var antesCompraHTMLModal = htmlModalAntesCompra 
6327         .replace('\{nomeUnidade\}',$('#unidades-ofertas option:selected').text()) 
6328         .replace('\{textoFormatoHibrido\}', textoFormatoHibrido ) 
6329         .replace('\{localEspacoExterno\}', oferta.espacoExterno=="true"? oferta.localEspacoExterno:"" ) 
6330         .replace('\{classeTextoInfoLocalRealizacao\}', (oferta.ruaEspacoExterno != "" && !isHibrido) ? "" : "d-none") 
6331         .replace('\{classeEnderecoRealizacao\}', oferta.ruaEspacoExterno != ""  ? "" : "d-none") 
6332         .replace('\{ruaEspacoExterno\}',oferta.ruaEspacoExterno) 
6333         .replace('\{numeroEspacoExterno\}',oferta.numeroEspacoExterno) 
6334         .replace('\{complementoEspacoExterno\}',oferta.complementoEspacoExterno) 
6335         .replace('\{classeBairroRealizacao\}', oferta.bairroEspacoExterno != "" && oferta.ruaEspacoExterno != "" ? "" : "d-none") 
6336         .replace('\{bairroEspacoExterno\}',oferta.bairroEspacoExterno) 
6337         .replace('\{classeCidadeRealizacao\}', oferta.cidadeEspacoExterno != "" && oferta.ruaEspacoExterno != "" ? "" : "d-none") 
6338         .replace('\{cidadeEspacoExterno\}',oferta.cidadeEspacoExterno) 
6339         .replace('\{classeCepRealizacao\}', oferta.cepEspacoExterno != "" && oferta.ruaEspacoExterno != "" ? "" : "d-none") 
6340         .replace('\{cepEspacoExterno\}',oferta.cepEspacoExterno) 
6341         .replace('\{componentBuyConfirmation\}', componentBuyConfirmation(codigoUnidade, oferta, dataEfetivaFormat)) 
6342         .replace('\{linkBtnBolsa\}', linkBolsa(oferta)) 
6343        .replace(regIndex, index);   
6344 
6345        $('.oferta-slick-area_modal').append(antesCompraHTMLModal); 
6346        $('.oferta-slick-area_modal').find('.d-none-btn').remove(); 
6347
6348
6349    
6350   async function populaOfertas(ofertas){ 
6351     
6352     //Zera variável que controla existência de ofertas com bolsa 
6353    ofertasComBolsa = false; 
6354 
6355    objsTela.ofertas = ofertas; 
6356 
6357    if(ofertas && ofertas.length)  
6358      $('#ssp-h3-turmas').show() 
6359    else  
6360      $('#ssp-h3-turmas').hide() 
6361        
6362     if(isEmed){ 
6363 
6364      $('.btn-filtro[value="0"]').attr('disabled',''); 
6365      $('.ssp-slick-ofertas-emed').empty(); 
6366      // executa a class do slick slider 
6367      $('.ssp-slick-ofertas-emed').removeClass('slick-initialized slick-slider slick-dotted'); 
6368      ofertas = filtraOfertasEtapa(getEtapaSelecionadaEmed(), ofertas); 
6369       
6370
6371 
6372     if(ofertas.length == 0){ 
6373        
6374      if($('#unidades-ofertas').val() || $('#chkInscricao').prop('checked') || $('#chkBolsa').prop('checked')) 
6375        hideCardSemTurmas(false) 
6376        
6377       $('.oferta-slick-area').empty(); 
6378       $('.prev-mobile, .next-mobile').addClass('d-none'); 
6379        
6380       //Mostrar section registro interesse quando nao tiver oferta 
6381       habilitarRegistroInteresse(true); 
6382 
6383        controlaPaginaBolsa() 
6384        if(isEmed) $('.btn-filtro[value="0"]').removeAttr('disabled'); 
6385       return; 
6386     }else{ 
6387           hideCardSemTurmas(true) 
6388          if(!isEmed) $('.prev-mobile, .next-mobile').removeClass('d-none'); 
6389          habilitarRegistroInteresse(false); 
6390
6391     
6392     
6393     $('.oferta-slick-area').empty(); 
6394     $('.oferta-slick-area_modal').empty(); 
6395     ofertas = ofertas.sort(function(a, b){ 
6396       return ordenar(a, b, 'ordenar'); 
6397     }); 
6398     // executa a class do slick slider 
6399     $('.oferta-slick-area').removeClass('slick-initialized slick-slider slick-dotted'); 
6400      
6401     //busca o codigoUnidade para o link do ecommerce 
6402     if(!isAoVivo){ 
6403      var selectedUnidade = $('#unidades-ofertas').val().split('@')[0]; 
6404      for(var i=0;objsTela.unidades.length > i ;i++){ 
6405        if(selectedUnidade == objsTela.unidades[i].categoryId) 
6406          codigoUnidade = objsTela.unidades[i].codigoUnidade; 
6407
6408
6409      
6410    // Montar object push - google tag manager - 2 
6411    itensEcommerce = criaItensEcommerce(ofertas); 
6412    sendEventEcommerce("view_item_list", Array.from(itensEcommerce.values())); 
6413 
6414     for(var i=0;ofertas.length > i ;i++){ 
6415   
6416       var oferta = ofertas[i]; 
6417        
6418       //guardando a oferta no map para chamar ajax com infos de bolsa em tempo real 
6419       oferta['indice'] = i; 
6420       ofertasMap.set(oferta.codigoOferta, oferta); 
6421        
6422       if(isAoVivo) 
6423          codigoUnidade = ofertaUnidadeMap.get(oferta.codigoOferta); 
6424 
6425      if(isEmed && oferta.etapa == '0010'){ 
6426          try{ 
6427            let status = await getStatusEmed(oferta); 
6428            oferta['permiteListaEspera'] = status; 
6429          }catch(err){ 
6430            console.log(err); 
6431
6432
6433       montaHTMLOferta(oferta, i, codigoUnidade, false);  
6434       montaHTMLModalFormaPgto(oferta, i, codigoUnidade);  
6435       montaHTMLModalLocalRealizacao(oferta, i);  
6436       montaHTMLModalAntesCompra(oferta, i, codigoUnidade); 
6437       verificaBotaoBolsaSS(oferta); 
6438       verificaCursoAprendizagem(i); 
6439       verificaCursoTrampolim(i, oferta.codigoOferta); 
6440        
6441       associaEventoBtnFormaPagamento(i); 
6442       associaEventoBtnComprar(i);  
6443       associaEventoBtnComprarDentroFormaPgto(i); 
6444       associaEventoBtnLocalRealizacao(i); 
6445       associaEventosFecharModal(i); 
6446       
6447         if($('[name="tipoCurso"]').val() == 'extensao'){ 
6448             associaEventoBtnConheca(i);	 
6449             associaEventoBtnComprarConhecaDescontoOk(i); 
6450             associaEventoBtnComprarConhecaDescontoNot(i); 
6451             associaEventoBtnAlunoNao(i); 
6452             associaEventoBtnAlunoSim(i); 
6453
6454         
6455
6456   
6457     if(isEmed){ 
6458      sliderOfertasEmed(); 
6459      $('.btn-filtro[value="0"]').removeAttr('disabled'); 
6460
6461     else sliderOfertas(); 
6462 
6463     controlaPaginaBolsa() 
6464      
6465
6466 
6467   function hideCardSemTurmas(hide){ 
6468    if(!isEmed){ 
6469      if(hide) 
6470        $('.ssp-card-oferta-curso__sem-vaga').addClass('d-none'); 
6471      else 
6472        $('.ssp-card-oferta-curso__sem-vaga').removeClass('d-none'); 
6473    } else { 
6474      
6475 
6476      if(hide || getEtapaSelecionadaEmed() == "0"){ 
6477        $('.sem-vaga-emed').addClass('d-none'); 
6478      }else{ 
6479        $('.sem-vaga-emed').removeClass('d-none'); 
6480        if($('.sem-vaga-emed.emed-transferencias-space:not(.d-none)').length ) return; 
6481        var tamScreen = $(window).width(); 
6482        if(tamScreen < 768){ 
6483            $('.slick-area-emed').slick({ 
6484            slidesToShow: 2, 
6485            slidesToScroll: 2, 
6486            autoplay: false, 
6487            infinite: false, 
6488            dots: false, 
6489            arrows: false, 
6490            centerPadding: 0, 
6491                        centerMode: false, 
6492            responsive: [ 
6493
6494                    breakpoint: 768, 
6495                    settings: { 
6496                        slidesToShow: 1, 
6497                        slidesToScroll: 1, 
6498                        variableWidth: false, 
6499                        infinite: false, 
6500                        centerPadding: 0, 
6501                        centerMode: false, 
6502                        dots: true, 
6503
6504
6505
6506        }); 
6507
6508
6509
6510
6511    
6512   function verificaCursoAprendizagem(i){ 
6513 
6514      //Esconde elementsos quando o curso é aprendizagem 
6515      if($('[name="codigoFT"]').val() == codigoFTCursoAprendizagem){ 
6516         $('#btnComprar_'+i).remove(); 
6517         $('#container_investimento_'+i).remove(); 
6518         $('#container_forma_pgto_'+i).remove(); 
6519          
6520         var avisoAprendizagem = $('#aviso-curso-aprendizagem').clone(); 
6521         let btnFormAprendizagem = '<button class="btn btn-lg btn-success w-100 mt-3 btnModalAprendizagem" data-modal="open-modal" style="font-size:16px;background:#1FC923;font-weight: 600;">Preencher formulário</button>' 
6522         avisoAprendizagem.removeAttr('id'); 
6523         avisoAprendizagem.removeClass('d-none'); 
6524         $('.card_oferta_'+i+ ' .ssp-card-oferta-curso').append(avisoAprendizagem); 
6525         $('.card_oferta_'+i+ ' .ssp-card-oferta-curso').append(btnFormAprendizagem); 
6526
6527
6528    
6529   function verificaCursoTrampolim(i, codOferta){ 
6530     if(ehCursoTrampolim){ 
6531          $('#btnComprar_'+i).remove(); 
6532          $('#container_investimento_'+i).remove(); 
6533          $('#container_forma_pgto_'+i).remove(); 
6534          $('.ssp-card-oferta-curso .codigoOferta_'+codOferta).hide(); 
6535           
6536          var avisoTrampolim = $('#avisoTrampolim').clone(); 
6537          avisoTrampolim.removeAttr('id'); 
6538          avisoTrampolim.removeClass('d-none'); 
6539          $('.card_oferta_'+i+ ' .ssp-card-oferta-curso').append(avisoTrampolim); 
6540
6541
6542    
6543   function verificaBotoesEmed(dadosOferta, verificaBolsa){	            
6544          
6545       if(!verificaBolsa || !dadosOferta.dataAberturaBolsaOferta || dadosOferta.dataAberturaBolsaOferta == ''){ 
6546         dadosOferta.vagasBolsaOferta = false; 
6547         dadosOferta.botaoBolsaOferta = false; 
6548
6549 
6550       var elementoPai = $('.codigoOferta_'+dadosOferta.codigoOferta+' .ssp-ofertas-emed__card-info-investimento'); 
6551                  
6552            //calcula o tempo até abertura da bolsa, se houver (apenas depois das 08hrs) 
6553            var dadosAbertura = calculaTempoAberturaBolsa(dadosOferta.dataAberturaBolsaOferta, dadosOferta.horaAberturaBolsaOferta); 
6554              var textoBotao = 'Fazer matrícula'; 
6555              var textoBotaoBolsa = ''; 
6556              var classeBotao = ''; 
6557              var classeBotaoBolsa = ''; 
6558              var exibirBotaoBolsa = false; 
6559              var exibirContador = false; 
6560              var htmlBotaoBolsa = ''; 
6561              var htmlBotao = ''; 
6562                 
6563              //verifica se o botão de concorrer a bolsa deve aparecer 
6564              //Oferta EMED possui bolsa apenas no 1o ano 
6565              if(dadosOferta.etapa == '0010' && dadosOferta.botaoBolsaOferta && !dadosAbertura.exibirContador){ 
6566                exibirBotaoBolsa = true; 
6567                if($('#manutencao-bolsa').val()){ 
6568                  classeBotaoBolsa = 'disabled manutencao'; 
6569                  textoBotaoBolsa = $('#manutencao-bolsa').val(); 
6570                }else{ 
6571                  if(dadosOferta.vagasBolsaOferta){ 
6572                    classeBotaoBolsa = dadosAbertura.bolsaJaAberta ? '' : 'disabled'; 
6573                    textoBotaoBolsa = dadosAbertura.bolsaJaAberta ? 'Bolsa de estudo' : 'Bolsa em '+formataDataAberturaBolsa(dadosOferta.dataAberturaBolsaOferta, dadosOferta.horaAberturaBolsaOferta); 
6574                  }else{ 
6575                    classeBotaoBolsa = 'disabled'; 
6576                    textoBotaoBolsa = 'Bolsas de Estudo Esgotadas'; 
6577
6578
6579
6580                   
6581                  //Verifica se o botão do cronômetro deve aparecer 
6582                  if(dadosAbertura.exibirContador){ 
6583                    textoBotao = dadosAbertura.textoContador; 
6584                    textoBotaoBolsa = dadosAbertura.textoContador; 
6585                    exibirContador = true; 
6586                    exibirBotaoBolsa = false; 
6587                  }else{ 
6588                    if($('#manutencao-compra').val()){ 
6589                      textoBotao = $('#manutencao-compra').val(); 
6590                      classeBotao = 'disabled manutencao'; 
6591                    }else{ 
6592 
6593                      if(dadosOferta.permiteListaEspera == statusEmed.ESPERA && dadosAbertura.bolsaJaAberta){ 
6594                        textoBotao = 'Lista de espera'; 
6595                        classeBotao = 'btn-emed-lista-espera'; 
6596                      }else{ 
6597                        classeBotao = ''; 
6598                        if (dadosAbertura.bolsaJaAberta || !dadosOferta.dataAberturaBolsaOferta || dadosOferta.dataAberturaBolsaOferta == ''){ 
6599                          textoBotao = 'Fazer matrícula'; 
6600                           
6601                          if(dadosOferta.etapa == '0020' || dadosOferta.etapa == '0030'){ 
6602                            textoBotao = 'Lista de espera'; 
6603                            classeBotao = 'btn-emed-lista-espera'; 
6604
6605                           
6606                           
6607                        }else{ 
6608                          textoBotao = 'Matrícula em '+formataDataAberturaBolsa(dadosOferta.dataAberturaBolsaOferta, dadosOferta.horaAberturaBolsaOferta); 
6609
6610                        if(!dadosAbertura.bolsaJaAberta)  
6611                          classeBotao = 'disabled'; 
6612
6613                    }                                 
6614                     
6615                      criaBotaoInscreverEmed(dadosOferta, textoBotao, classeBotao, 'btnComprarEmed_' + dadosOferta.indice, elementoPai); 
6616
6617                 
6618              if(exibirBotaoBolsa){ 
6619                   
6620              if(!ofertasComBolsa) ofertasComBolsa = true; 
6621 
6622                criaBotaoBolsaEmed(dadosOferta, textoBotaoBolsa, classeBotaoBolsa); 
6623                     
6624              }else if(exibirContador){ 
6625 
6626                if(!ofertasComBolsa && dadosOferta.etapa == '0010') ofertasComBolsa = true; 
6627 
6628                //codigoOferta como index para usar o ofertasMap 
6629                htmlBotao = '<button id="btnContadorComprar_'+ dadosOferta.indice +'" data-index="'+ dadosOferta.codigoOferta +'" class="btn btn-card-investimento --inscreva-se">Matrícula em <span>'+textoBotao+'</span></button>'; 
6630                elementoPai.append(htmlBotao); 
6631                 
6632                if(dadosOferta.etapa == '0010' && dadosOferta.botaoBolsaOferta){ 
6633                    htmlBotao = '<button id="btnContadorBolsa_'+ dadosOferta.indice +'" data-index="'+ dadosOferta.codigoOferta +'" class="btn btn-card-investimento --bolsas">Bolsa em <span>'+textoBotaoBolsa+'</span></button>'; 
6634                    elementoPai.append(htmlBotao); 
6635
6636                   
6637
6638 
6639
6640    
6641   function criaBotaoInscreverEmedModal(oferta, textoBotao, classeBotao, idBotao, elementoPai, index){ 
6642     criaBotaoInscreverEmed(oferta, textoBotao, classeBotao, idBotao, elementoPai); 
6643     var btnInscr = elementoPai.find('#btnComprarEmedModal_' + index); 
6644     btnInscr.removeClass(btnInscr.classList); 
6645     btnInscr.addClass('btn btn-lg btn-success w-100'); 
6646     btnInscr.attr('style', 'margin-top: 20px;font-weight:600'); 
6647      
6648     //Reposiciona o botao voltar 
6649     var btnVoltar = elementoPai.find('.ssp-btn-emed__voltar-curso'); 
6650     elementoPai.find('.ssp-btn-emed__voltar-curso').remove(); 
6651     elementoPai.append(btnVoltar); 
6652     btnVoltar.addClass('ssp-btn-emed__voltar-curso_'+index); 
6653     btnVoltar.click(() => { 
6654    	 $('[id^="myModal_"]').each(function(index,modal){ 
6655			modal.style.display = "none"; 
6656		}) 
6657	}); 
6658
6659    
6660   function preencheDadosEmedModal(oferta,$modal){ 
6661	   const parcelaEntrada = 1; 
6662	   $modal.find('.numParcelaCartoesBoleto').text(oferta.numeroMaxParcelasOferta - parcelaEntrada); 
6663	   $modal.find('.precoParcelaCartoesBoleto').text(formataValor(oferta.precoVendaMaxParcelaOferta)); 
6664	   $modal.find('.numParcelaEmedModal').text(oferta.numeroMaxParcelasOferta - parcelaEntrada); 
6665	   $modal.find('.precoParcelaEmedModal').text(formataValor(oferta.precoVendaMaxParcelaOferta)); 
6666
6667 
6668    
6669   function criaBotaoInscreverEmed(oferta, textoBotao, classeBotao, idBotao, elementoPai){ 
6670      if(oferta.permiteListaEspera && oferta.permiteListaEspera == statusEmed.NAO_ENCONTRADA) return; 
6671       var htmlBotao = '<button id="'+ idBotao +'" data-index="'+ oferta.indice +'" class="btn btn-card-investimento --inscreva-se '+ classeBotao +'"><span>'+textoBotao+'</span></button>'; 
6672      elementoPai.append(htmlBotao); 
6673              
6674      if(!classeBotao.includes('disabled')){ 
6675       
6676        elementoPai.on("click", '#'+ idBotao, function(ev){ 
6677          ev.preventDefault(); 
6678          const _modal = $('#modalAntesCompraEmed_'+$(this).data('index')); 
6679          _modal.css('display','flex'); 
6680           
6681           
6682        }); 
6683         
6684
6685 
6686
6687    
6688   function criaBotaoBolsaEmed(oferta, textoBotaoBolsa, classeBotaoBolsa=""){ 
6689      
6690     var htmlBotao = '<a id="btnBolsa_'+ oferta.indice +'" data-index="'+ oferta.indice +'" class="btn btn-card-investimento --bolsas '+ classeBotaoBolsa +'">'+ textoBotaoBolsa +'</a>'; 
6691     $('.codigoOferta_'+oferta.codigoOferta+' .ssp-ofertas-emed__card-info-investimento').append(htmlBotao); 
6692       
6693     if(!classeBotaoBolsa.includes('disabled')){ 
6694       // Associa o evento de clique no botão de bolsa 
6695       $('#btnBolsa_'+oferta.indice).attr('href', linkBolsa(oferta)); 
6696       $('#btnBolsa_'+oferta.indice).attr('target', '_blank'); 
6697       //$('#btnBolsa_'+oferta.indice).attr('style', 'text-transform:uppercase;'); 
6698 
6699
6700
6701    
6702   function criaBotaoBolsa(oferta, textoBotaoBolsa, classeBotaoBolsa=""){ 
6703	    
6704	   const botao = $('<a>'+ textoBotaoBolsa +'</a>'); 
6705	   botao.attr('id', 'btnBolsa_' + oferta.indice); 
6706	   botao.attr('data-index', oferta.indice); 
6707	   botao.attr('class', 'btn btn-lg btn-info w-100 mt-3 ' + (classeBotaoBolsa || '')); 
6708	   botao.css('font-size', '14px'); 
6709	   botao.css('font-weight', '600'); 
6710	   botao.css('background-color', '#004EFF'); 
6711	   if(!classeBotaoBolsa.includes('disabled')){ 
6712		   if(oferta.espacoExterno == 'true' || (isHibrido && temTextoParaFormatoHibrido)){ 
6713			   botao.attr('data-espaco-ex', 'true'); 
6714			   botao.click((ev)=>{  
6715					 ev.preventDefault();  
6716			         $('#btnCompraLocal_'+oferta.indice).hide(); 
6717			         $('#btnBolsaLocal_'+oferta.indice).show(); 
6718			         const _modal = $('#modalAntesCompra_'+oferta.indice); 
6719			         _modal.css('display','flex'); 
6720				}); 
6721		   }else{ 
6722		   botao.attr('href', linkBolsa(oferta)); 
6723		   botao.attr('target', '_blank'); 
6724
6725
6726	    
6727	   return botao; 
6728    
6729
6730 
6731   function verificaBotaoBolsaSS(oferta, codigoUnidade){ 
6732 
6733      
6734     if(!isEmed && (!oferta.dataAberturaBolsaOferta || oferta.dataAberturaBolsaOferta == '') ) return; 
6735      
6736     if(!ehCursoTrampolim){ 
6737       $.ajax({ 
6738             url :  getUrlConsultaBolsa(oferta), 
6739             type : 'get', 
6740             dataType: 'json', 
6741             beforeSend: function (xhr) { 
6742             xhr.setRequestHeader ("Authorization", "KGG4KMW5s0CVowr7d6y6Ww=="); 
6743             }, 
6744         }) 
6745         .done(function(infosBolsa){ 
6746 
6747            
6748           if(infosBolsa != null && typeof infosBolsa !== 'undefined'){ 
6749        	    
6750             var codigoOfertaRetornoBolsa = infosBolsa.DATA[0].COD_EVENTO; 
6751             var retornoOfertaBolsaSenac = infosBolsa.DATA[0]; 
6752			  
6753			 //Sobrescreve as flags de bolsa com o retorno do serviço SS 
6754             ofertasMap.get(codigoOfertaRetornoBolsa).vagasBolsaOferta = retornoOfertaBolsaSenac.TEM_VAGA_BOLSA; 
6755             ofertasMap.get(codigoOfertaRetornoBolsa).botaoBolsaOferta = retornoOfertaBolsaSenac.BOTAO_BOLSA; 
6756			  
6757             var dadosOferta = ofertasMap.get(codigoOfertaRetornoBolsa); 
6758              
6759             //calcula o tempo até abertura da bolsa, se houver (apenas depois das 08hrs) 
6760             var dadosAberturaBolsa = calculaTempoAberturaBolsa(dadosOferta.dataAberturaBolsaOferta, dadosOferta.horaAberturaBolsaOferta, dadosOferta.botaoBolsaOferta); 
6761             var textoBotaoBolsa = ''; 
6762             var classeBotaoBolsa = ''; 
6763             var textoBotaoContadorBolsa = ''; 
6764             var exibirBotaoBolsa = false; 
6765             var exibirContadorBolsa = false; 
6766              
6767             //EMED 
6768           if(isEmed){ 
6769             verificaBotoesEmed(ofertasMap.get(codigoOfertaRetornoBolsa), true); 
6770             return; 
6771
6772              
6773             //Verifica o texto do botão de bolsa 
6774            if($('#manutencao-bolsa').val()) textoBotaoBolsa = $('#manutencao-bolsa').val(); 
6775            else{ 
6776 
6777              if(retornoOfertaBolsaSenac.TEM_VAGA_BOLSA){ 
6778                             
6779                if(dadosAberturaBolsa.bolsaJaAberta) 
6780                  textoBotaoBolsa = "Inscrever para bolsa de estudo"; 
6781                   
6782                else 
6783                  textoBotaoBolsa = "Inscrições para bolsas a partir de "+formataDataAberturaBolsa(dadosOferta.dataAberturaBolsaOferta, dadosOferta.horaAberturaBolsaOferta); 
6784 
6785                  if(!ofertasComBolsa){ ofertasComBolsa = true; 
6786
6787              }else 
6788                textoBotaoBolsa = "Vagas esgotadas para bolsas de estudo"; 
6789
6790                 
6791             //verifica se o botão de concorrer a bolsa deve aparecer 
6792             if(retornoOfertaBolsaSenac.BOTAO_BOLSA && !dadosAberturaBolsa.exibirContador){ 
6793                
6794               exibirBotaoBolsa = true; 
6795 
6796               if(!ofertasComBolsa) ofertasComBolsa = true; 
6797                
6798               if(retornoOfertaBolsaSenac.TEM_VAGA_BOLSA && dadosAberturaBolsa.bolsaJaAberta && !$('#manutencao-bolsa').val()){ 
6799                   classeBotaoBolsa = ''; 
6800               }else{ 
6801                   classeBotaoBolsa = 'disabled'; 
6802
6803
6804              
6805             //Verifica se o botão do cronômetro deve aparecer 
6806             if(dadosAberturaBolsa.exibirContador && !$('#manutencao-bolsa').val()){ 
6807               textoBotaoContadorBolsa = dadosAberturaBolsa.textoContador; 
6808               exibirContadorBolsa = true; 
6809
6810              
6811             if(exibirBotaoBolsa) 
6812                $('.codigoOferta_'+codigoOfertaRetornoBolsa+' .ssp-card-oferta-curso .ssp-container-botao-bolsa').append( criaBotaoBolsa(dadosOferta, textoBotaoBolsa, classeBotaoBolsa) ) 
6813             else if(exibirContadorBolsa) 
6814                $('.codigoOferta_'+codigoOfertaRetornoBolsa+' .ssp-card-oferta-curso .ssp-container-botao-bolsa').append('<a id="btnContadorBolsa_'+dadosOferta.indice+'" data-index="'+dadosOferta.indice+'"  class="btn btn-lg btn-info w-100 mt-3" >Você poderá se inscrever para bolsa em <span>'+textoBotaoContadorBolsa+'</span></a>') 
6815             else { 
6816                $('.codigoOferta_'+codigoOfertaRetornoBolsa+'.content-btn-bolsa').hide() 
6817                $('.show-price-content.codigoOferta_'+oferta.codigoOferta + ' .ou-separator-desconto').hide() 
6818             }      
6819                                   
6820           }else{ 
6821             //EMED 
6822              if(isEmed){ 
6823                verificaBotoesEmed(oferta, false); 
6824
6825
6826 
6827           controlaPaginaBolsa() 
6828         }) 
6829         .fail(function(){  
6830           $('.content-btn-bolsa.codigoOferta_'+oferta.codigoOferta).hide() 
6831           $('.show-price-content.codigoOferta_'+oferta.codigoOferta + ' .ou-separator-desconto').hide() 
6832 
6833             //EMED 
6834           if(isEmed){ 
6835             verificaBotoesEmed(oferta, false); 
6836
6837         }); 
6838          
6839          
6840
6841      
6842
6843 
6844   function controlaPaginaBolsa(){ 
6845    if(ofertasComBolsa) 
6846      $("#ssp-abrir-pagina-bolsa").removeClass("d-none") 
6847    else 
6848      $("#ssp-abrir-pagina-bolsa").addClass("d-none") 
6849
6850 
6851   function associaEventoBtnFormaPagamento(i){ 
6852      var modal = document.getElementById("myModal_"+i); 
6853 
6854      var btn = document.getElementById("myBtn_"+i); 
6855 
6856      if(btn!=null){ 
6857         btn.onclick = function(ev) { 
6858             event.preventDefault() 
6859               
6860               $('#modalExtAluno_'+i).addClass('d-none'); 
6861                
6862             var elem = $(ev.target); 
6863             var _modal = document.getElementById( 
6864                 'myModal_'+elem.data('index')); 
6865             _modal.style.display = "block"; 
6866               $('#myModal_'+i).find('.modal-extensao_content:first-child').removeClass('d-none'); 
6867                
6868
6869
6870      
6871       
6872      
6873       
6874
6875    
6876  	    
6877   function actionBtnComprar(elem){ 
6878            
6879        // Montar object push - google tag manager - 3 
6880        ofertaSelecionada = itensEcommerce.get(elem.attr('data-evento')) 
6881        sendEventEcommerce("select_item", ofertaSelecionada); 
6882        sendEventEcommerce("view_item", ofertaSelecionada); 
6883                
6884               //Verifica se deve exibir o modal com a localização 
6885               if(elem.attr('data-espaco-ex') == 'true'){ 
6886         $('#btnCompraLocal_'+elem.data('index')).show(); 
6887 
6888         //Limpa onclicks para nao repetir execucao 
6889         $('#modalAntesCompra_'+elem.data('index')).off('click', '#btnCompraLocal_'+elem.data('index')) 
6890         $('#modalAntesCompra_'+elem.data('index')).on('click', '#btnCompraLocal_'+elem.data('index'), function () { 
6891          // Montar object push - google tag manager - 4 
6892          sendEventEcommerce("add_to_cart", ofertaSelecionada); 
6893          if( elem.attr('data-destino-compra') != '2' ) 
6894            sendEventEcommerce("begin_checkout", ofertaSelecionada); 
6895         }) 
6896         $('#btnBolsaLocal_'+elem.data('index')).hide(); 
6897         const _modal = $('#modalAntesCompra_'+elem.data('index')); 
6898         _modal.css('display','flex'); 
6899               }else{ 
6900                 var urlCompra  = linkBotaoCompra.replace('\{codigoUnidade\}', elem.attr('data-unidade')).replace('\{codigoOferta\}', elem.attr('data-evento')); 
6901     
6902                 if( elem.attr('data-destino-compra') == '2' ){ 
6903                	 var dataEfetivaFormat = formataDataComBarra($('[name="dataEfetivaSTR"]').val()); 
6904	                  	 
6905                	 addItemBackpack(elem.attr('data-evento'), '#' + elem.attr('id'),elem.attr('data-unidade'), dataEfetivaFormat);    
6906    
6907                 }else{ 
6908                	 window.open(urlCompra, '_blank'); 
6909
6910
6911 
6912        
6913                  
6914
6915    
6916   function associaEventoBtnComprar(i){ 
6917	   var btnComprar = document.getElementById("btnComprar_"+i); 
6918	    
6919	   if(btnComprar != null && !btnComprar.classList.contains('disabled')){ 
6920         btnComprar.onclick = function(ev) { 
6921            
6922               ev.preventDefault() 
6923               var elem = $(ev.target); 
6924               actionBtnComprar(elem); 
6925                
6926
6927
6928
6929    
6930   function associaEventoBtnComprarDentroFormaPgto(i){ 
6931	   var btnComprarFormaPgto = document.getElementById("btnComprarFormaPgto_"+i); 
6932	    
6933	   if(btnComprarFormaPgto != null && !btnComprarFormaPgto.classList.contains('disabled')){ 
6934         btnComprarFormaPgto.onclick = function(ev) { 
6935               event.preventDefault() 
6936                 var elem =  $('#btnComprarFormaPgto_'+i); 
6937               actionBtnComprar(elem); 
6938
6939
6940
6941      
6942     function associaEventoBtnComprarConhecaDescontoOk(i){ 
6943       var btnComprarConhecaDescontoOk = document.getElementById("btnComprarConhecaDescontoOk_"+i); 
6944        
6945       if(btnComprarConhecaDescontoOk != null){ 
6946         btnComprarConhecaDescontoOk.onclick = function(ev) { 
6947                 event.preventDefault() 
6948               var elem = $(ev.target); 
6949                 actionBtnComprar(elem); 
6950
6951
6952
6953    
6954     function associaEventoBtnComprarConhecaDescontoNot(i){ 
6955       var btnComprarConhecaDescontoNot = document.getElementById("btnComprarConhecaDescontoNot_"+i); 
6956        
6957       if(btnComprarConhecaDescontoNot != null){ 
6958         btnComprarConhecaDescontoNot.onclick = function(ev) { 
6959                 event.preventDefault() 
6960                 var elem =  $(ev.target); 
6961                 actionBtnComprar(elem); 
6962
6963
6964
6965      
6966     function associaEventoBtnAlunoNao(i){ 
6967       var btnAlunoNao = document.getElementById("btn-aluno-nao_"+i); 
6968        
6969       if(btnAlunoNao != null){ 
6970         btnAlunoNao.onclick = function(ev) { 
6971                 event.preventDefault() 
6972                 var elem =  $(ev.target); 
6973                 elem.addClass('modal-extensao-btn-aluno-sim-ativo'), 
6974                 elem.closest('.sim').removeClass('modal-extensao-btn-aluno-sim-ativo'); 
6975                 elem.parent().siblings().find('button').removeClass('modal-extensao-btn-aluno-sim-ativo') 
6976                 $('#msg-alunoNao_'+i).removeClass('d-none'); 
6977                 $('#msg-alunoSim_'+i).addClass('d-none');      
6978
6979
6980
6981        
6982     function associaEventoBtnAlunoSim(i){ 
6983       var btnAlunoSim = document.getElementById("btn-aluno-sim_"+i); 
6984        
6985       if(btnAlunoSim != null){ 
6986         btnAlunoSim.onclick = function(ev) { 
6987                 event.preventDefault() 
6988                 var elem =  $(ev.target); 
6989                 elem.addClass('modal-extensao-btn-aluno-sim-ativo'), 
6990                 elem.closest('.nao').removeClass('modal-extensao-btn-aluno-sim-ativo'); 
6991                 elem.parent().siblings().find('button').removeClass('modal-extensao-btn-aluno-sim-ativo') 
6992                 $('#msg-alunoSim_'+i).removeClass('d-none'); 
6993                 $('#msg-alunoNao_'+i).addClass('d-none');              
6994                  
6995
6996
6997     }	    
6998      
6999     function associaEventoBtnConheca(i){ 
7000       var btnModalExtConheca = document.getElementById("btnModalExtConheca_"+i); 
7001        
7002       if(btnModalExtConheca != null){ 
7003         btnModalExtConheca.onclick = function(ev) { 
7004                 event.preventDefault(); 
7005                 var elem =  $(ev.target); 
7006                 elem.closest('.modal-extensao_content').addClass('d-none'); 
7007                 $('#modalExtAluno_'+i).removeClass('d-none'); 
7008                 $('#msg-alunoSim_'+i).addClass('d-none'); 
7009                 $('#msg-alunoNao_'+i).addClass('d-none'); 
7010                 $('#btn-aluno-sim_'+i).removeClass('modal-extensao-btn-aluno-sim-ativo'); 
7011                 $('#btn-aluno-nao_'+i).removeClass('modal-extensao-btn-aluno-sim-ativo'); 
7012 
7013
7014
7015
7016      
7017   function associaEventoBtnLocalRealizacao(i){ 
7018	   var btnLocalRealizacao = document.getElementById("btnLocalRealizacao_"+i); 
7019	    
7020	   if(btnLocalRealizacao!=null){ 
7021         btnLocalRealizacao.onclick = function(ev) { 
7022                 event.preventDefault(); 
7023               var elem = $(ev.target); 
7024               var _modal = document.getElementById( 
7025                   'modalLocalRealizacao_'+elem.data('index')); 
7026               _modal.style.display = "flex"; 
7027
7028
7029
7030 
7031   function associaEventosFecharModal(i){ 
7032 
7033      var span = document.getElementsByClassName("ssp-card-modal-forma-pagamento__btn-close_"+i); 
7034      var closeModalLocalRealizacao = document.getElementsByClassName("ssp-card-modal-local-realizacao__btn-close_"+i)[0]; 
7035       var closeModalAntesCompra = document.getElementsByClassName("ssp-card-modal-antes-compra__btn-close_"+i)[0]; 
7036       var closeModalSelecionarOutro = document.getElementsByClassName("ssp-card-modal-selecionar-outro__btn-close_"+i)[0]; 
7037       var btnEntendiLocalRealizacao = document.getElementsByClassName("ssp-modal-local-realizacao__btn_"+i)[0]; 
7038       var closeModalBotaoBolsa = document.getElementById("btnBolsaLocal_"+i) 
7039 
7040       if(isEmed){ 
7041    	   var closeModalFormaPagamento = document.getElementsByClassName("ssp-btn-emed__voltar-curso_"+i); 
7042   	      for (const val of closeModalFormaPagamento) {  
7043 
7044   	    	  val.onclick = function() { 
7045   	        	 $('[id^="myModal_"]').each(function(index,modal){ 
7046   	           	 	modal.style.display = "none"; 
7047   	        	 }); 
7048
7049   	      }; 
7050
7051        
7052	  //event close modal 
7053      for (const val of span) {  
7054 
7055    	  val.onclick = function() { 
7056        	 $('[id^="myModal_"]').each(function(index,modal){ 
7057           	 	modal.style.display = "none"; 
7058        	 }); 
7059
7060      }; 
7061   
7062      closeModalLocalRealizacao.onclick = function() { 
7063   
7064           $('[id^="modalLocalRealizacao_"]').each(function(index,modal){ 
7065             modal.style.display = "none"; 
7066              
7067           }); 
7068
7069 
7070       closeModalAntesCompra.onclick = function() { 
7071          
7072           $('[id^="modalAntesCompra_"], [id^="modalAntesCompraEmed_"]').each(function(index,modal){ 
7073             modal.style.display = "none"; 
7074           }); 
7075
7076 
7077       closeModalSelecionarOutro.onclick = function() { 
7078          
7079      $('[id^="modalAntesCompra_"], [id^="modalAntesCompraEmed_"]').each(function(index,modal){ 
7080          modal.style.display = "none"; 
7081        }); 
7082
7083          
7084       btnEntendiLocalRealizacao.onclick = function() { 
7085          
7086           $('[id^="modalLocalRealizacao_"]').each(function(index,modal){ 
7087             modal.style.display = "none"; 
7088           }); 
7089
7090		 
7091       if(closeModalBotaoBolsa != null){ 
7092	       closeModalBotaoBolsa.onclick = function() { 
7093	          
7094	         $('[id^="modalAntesCompra_"], [id^="modalAntesCompraEmed_"]').each(function(index,modal){ 
7095	             modal.style.display = "none"; 
7096	           }); 
7097
7098
7099 
7100       // When the user clicks anywhere outside of the modal, close it 
7101       window.onclick = function(event) { 
7102   
7103         $('[id^="myModal_"]').each(function(index,_modal){ 
7104             if (event.target == _modal)  
7105              _modal.style.display = "none"; 
7106         }); 
7107         $('[id^="modalLocalRealizacao_"]').each(function(index,_modal){ 
7108             if (event.target == _modal)  
7109              _modal.style.display = "none"; 
7110         }); 
7111          
7112         $('[id^="modalAntesCompra_"], [id^="modalAntesCompraEmed_"]').each(function(index,_modal){ 
7113             if (event.target == _modal)  
7114              _modal.style.display = "none"; 
7115         }); 
7116
7117
7118    
7119   function turmasIniciadas(dataInicioCurso){ 
7120     
7121      var hoje = new Date();  
7122      var dataInicioPartes = dataInicioCurso.split('/');  
7123      var dataInicioCursoOferta = new Date(dataInicioPartes[2], dataInicioPartes[1] - 1, dataInicioPartes[0] , hoje.getHours(),hoje.getMinutes(),hoje.getSeconds(),hoje.getMilliseconds()); 
7124 
7125      return dataInicioCursoOferta.getTime() <= hoje.getTime(); 
7126
7127    
7128    
7129   function concatSTR(str1, str2, separador){ 
7130   
7131     if(str2){ 
7132   
7133       return str1+separador+str2; 
7134
7135     return str1; 
7136
7137    
7138   //Formata exibicao de datas conforme especificacao GCR 
7139   function formataPeriodo(dataInicio, dataFim){ 
7140     
7141      var dtInicioPartes = dataInicio.split('/'); 
7142      var dtFimPartes = dataFim.split('/'); 
7143       
7144      //Não exibir o número zero antes dos números e o dia 1 como 1º 
7145      var dInicioFormatada = (parseInt(dtInicioPartes[0].trim()) == 1 ? '1º' : parseInt(dtInicioPartes[0].trim())) +'/'+parseInt(dtInicioPartes[1].trim())+'/'+dtInicioPartes[2].trim(); 
7146      var dFimFormatada = (parseInt(dtFimPartes[0].trim()) == 1 ? '1º' : parseInt(dtFimPartes[0].trim())) +'/'+parseInt(dtFimPartes[1].trim())+'/'+dtFimPartes[2].trim(); 
7147     
7148      //Quando um curso inicia e finaliza dentro do mesmo ano: 17/2 a 25/4/2020 
7149      if(dtInicioPartes[2].trim() == dtFimPartes[2].trim()){ 
7150         
7151        dInicioFormatada = (parseInt(dtInicioPartes[0].trim()) == 1 ? '1º' : parseInt(dtInicioPartes[0].trim()))+'/'+parseInt(dtInicioPartes[1].trim()); 
7152         
7153        //Quando um curso inicia e finaliza dentro do mesmo mês: 5 a 30/4/2020 
7154        if(dtInicioPartes[1].trim() == dtFimPartes[1].trim()) 
7155          dInicioFormatada = (parseInt(dtInicioPartes[0].trim()) == 1 ? '1º' : parseInt(dtInicioPartes[0].trim())); 
7156
7157     
7158    return dInicioFormatada + ' a ' + dFimFormatada; 
7159
7160    
7161  //Decrementa os contadores de abertudas de bolsa 
7162   function atualizaTempoAberturasBolsas() { 
7163   
7164	  var btnsContador = (isEmed) ? $('[id^="btnContadorBolsa_"], [id^="btnContadorComprar_"]') : $('[id^="btnContadorBolsa_"]'); 
7165	   
7166    btnsContador.each(function() { 
7167       
7168      var index = $(this).data('index'); 
7169      var btnContent = $(this).parent('.ssp-btn-group__content'); 
7170       
7171      if(isEmed){ 
7172     		//EMED filtra ofertas e usa outra lista para referenciar as ofertas carregadas 
7173    	  var dadosAberturaBolsa = calculaTempoAberturaBolsa(ofertasMap.get('' +index).dataAberturaBolsaOferta, ofertasMap.get('' + index).horaAberturaBolsaOferta); 
7174      }else{ 
7175          	//calcula o tempo até abertura da bolsa, se houver (apenas depois das 08hrs) 
7176      var dadosAberturaBolsa = calculaTempoAberturaBolsa(objsTela.ofertas[index].dataAberturaBolsaOferta, objsTela.ofertas[index].horaAberturaBolsaOferta, objsTela.ofertas[index].botaoBolsaOferta); 
7177
7178       
7179      $(this).find('span').text(dadosAberturaBolsa.hours+':'+dadosAberturaBolsa.minutes+':'+dadosAberturaBolsa.seconds); 
7180       
7181      //Se esgotou o contador 
7182      if(dadosAberturaBolsa.hours == 0 && dadosAberturaBolsa.minutes == 0 && dadosAberturaBolsa.seconds == 0){ 
7183         
7184    	var elId = $(this).attr('id'); 
7185    	   
7186        //remove o contador 
7187        $(this).remove(); 
7188         
7189        //Habilitar inscrição EMED 
7190        if(isEmed){ 
7191          var ofertaEmed = ofertasMap.get('' +index); 
7192        var elementoPai = $('.codigoOferta_'+ofertaEmed.codigoOferta+' .ssp-ofertas-emed__card-info-investimento'); 
7193         
7194          if(elId.indexOf('btnContadorBolsa') >= 0){ 
7195              if($('#manutencao-bolsa').val())   
7196                criaBotaoBolsaEmed(ofertaEmed, $('#manutencao-bolsa').val(), 'disabled manutencao'); 
7197              else if(ofertaEmed.vagasBolsaOferta == true || ofertaEmed.vagasBolsaOferta == "true") 
7198                criaBotaoBolsaEmed(ofertaEmed, 'Bolsa de estudo', ''); 
7199              else 
7200                criaBotaoBolsaEmed(ofertaEmed, 'Bolsas de Estudo Esgotadas', 'disabled'); 
7201          }else if(elId.indexOf('btnContadorComprar') >= 0){ 
7202	       		 
7203        	  	var textoBotao, classeBotao; 
7204        	   
7205              textoBotao = $('#manutencao-compra').val() || 'Fazer matrícula'; 
7206              classeBotao = $('#manutencao-compra').val() ? 'disabled manutencao' : ''; 
7207             
7208 
7209            criaBotaoInscreverEmed(ofertaEmed, textoBotao, classeBotao, 'btnComprarEmed_' + ofertaEmed.indice, elementoPai); 
7210             
7211            //Altera o botao do modal de pagamento 
7212            var btnIndex = elId.slice(elId.indexOf('_')+1); 
7213            var modal = $('#myModal_' + btnIndex).find('.ssp-card-modal-forma-pagamento'); 
7214            var btnModal = modal.find('#btnComprarEmedModal_' + btnIndex); 
7215            if(btnModal){ 
7216              btnModal.remove();					   
7217              criaBotaoInscreverEmedModal(ofertaEmed, textoBotao, classeBotao, 'btnComprarEmedModal_' + btnIndex, modal, btnIndex); 
7218              preencheDadosEmedModal(ofertaEmed,modal); 
7219
7220 
7221 
7222          }	         
7223           
7224        }else{ 
7225         
7226	        //Checa as condições das vagas do botão de bolsa 
7227          var btnBolsaHTML = null; 
7228          if($('#manutencao-bolsa').val())   
7229            btnBolsaHTML = criaBotaoBolsa(objsTela.ofertas[index], $('#manutencao-bolsa').val(), 'disabled manutencao'); 
7230	        else if(objsTela.ofertas[index].vagasBolsaOferta == true || objsTela.ofertas[index].vagasBolsaOferta == "true") 
7231        	  btnBolsaHTML = criaBotaoBolsa(objsTela.ofertas[index], 'Inscrever para bolsa de estudo'); 
7232	        else 
7233        	  btnBolsaHTML = criaBotaoBolsa(objsTela.ofertas[index], 'Vagas esgotadas para bolsas de estudo', 'disabled'); 
7234	         
7235            $('.codigoOferta_'+ objsTela.ofertas[index].codigoOferta +'.ssp-container-botao-bolsa').append(btnBolsaHTML); 
7236	         
7237 
7238
7239
7240       
7241    }); 
7242    
7243
7244    
7245   // Retorna um objeto com o tempo de abertura da bolsa, em horas, minutos e segundos 
7246    function calculaTempoAberturaBolsa(dataAberturaBolsa, horaAberturaBolsa, botaoBolsa){ 
7247       
7248        var dadosAberturaBolsa = { 
7249              days : '', 
7250            hours : '', 
7251            minutes : '', 
7252            seconds : '', 
7253            bolsaJaAberta: false, 
7254            exibirContador: false, 
7255            textoContador: '' 
7256          }; 
7257       
7258      if(dataAberturaBolsa.length == 0 || horaAberturaBolsa.length == 0) 
7259         return dadosAberturaBolsa; 
7260       
7261      var now = todayG; 
7262      var dia = now.getDate(); 
7263      var horarioDia = now.getHours(); 
7264         
7265      var tempoRestante= tempoRestanteAberturaBolsa(dataAberturaBolsa, horaAberturaBolsa); 
7266       
7267      //console.log('tempo restante '+tempoRestante); 
7268       
7269      var diaAberturaBolsa = dataAberturaBolsa.split('-')[2]; 
7270     
7271      var delta = tempoRestante / 1000; 
7272       
7273      var days = Math.floor(delta / 86400); 
7274       
7275      delta -= days * 86400; 
7276       
7277      var hours = Math.floor(delta / 3600) % 24; 
7278      delta -= hours * 3600; 
7279       
7280      var minutes = Math.floor(delta / 60) % 60; 
7281      delta -= minutes * 60; 
7282       
7283      var seconds = Math.floor(delta % 60); 
7284       
7285      //Zerar contador para data que ja passou 
7286      if(days < 0){ 
7287          dadosAberturaBolsa.days = 0; 
7288          dadosAberturaBolsa.hours = '00'; 
7289          dadosAberturaBolsa.minutes = '00'; 
7290          dadosAberturaBolsa.seconds = '00'; 
7291      }else{ 
7292          dadosAberturaBolsa.days = days; 
7293          dadosAberturaBolsa.hours = hours < 10 ? '0'+hours : hours; 
7294          dadosAberturaBolsa.minutes = minutes < 10 ? '0'+minutes : minutes; 
7295          dadosAberturaBolsa.seconds = seconds < 10 ? '0'+seconds : seconds; 
7296
7297 
7298      dadosAberturaBolsa.bolsaAberta = days <= 0 && hours <= 0 && minutes <= 0 && seconds <= 0; 
7299      var horaExibeContador = 8; 
7300      if(!isEmed && botaoBolsa == false){ 
7301    	  dadosAberturaBolsa.exibirContador = false; 
7302      }else{ 
7303          dadosAberturaBolsa.exibirContador = days == 0 && horarioDia >= horaExibeContador && !dadosAberturaBolsa.bolsaAberta && (diaAberturaBolsa == dia); 
7304          dadosAberturaBolsa.textoContador = dadosAberturaBolsa.hours + ':' + dadosAberturaBolsa.minutes + ":"+ dadosAberturaBolsa.seconds; 
7305
7306      dadosAberturaBolsa.bolsaJaAberta = tempoRestante < 0; 
7307       
7308      return dadosAberturaBolsa; 
7309   
7310
7311    
7312   // Verifica se uma oferrta já chegou sua data de abertura 
7313   function tempoRestanteAberturaBolsa(dataAberturaBolsa, horaAberturaBolsa){ 
7314     // console.log(dataAberturaBolsa); 
7315     // console.log(horaAberturaBolsa); 
7316       
7317      //var today = new Date(); 
7318       
7319       
7320      //console.log( "TodayG "+ todayG); 
7321       
7322      //Precisa fazer formatação nos horários pois pode estar como 9h ou 9h30 
7323      var partesHora = horaAberturaBolsa.split('h'); 
7324       
7325      var partesHora = partesHora.filter(function (el) { 
7326        return el != ""; 
7327      }); 
7328       
7329      //formato 9h 
7330      if(partesHora.length == 1) 
7331        var aberturaBolsa = new Date(dataAberturaBolsa+'T'+horaAberturaBolsa.replace('h', '').trim()+":00"); 
7332   
7333      else{ 
7334         
7335        //format 9h3 
7336        if(partesHora[1].length == 1) 
7337          var aberturaBolsa = new Date(dataAberturaBolsa+'T'+partesHora[0].replace('h', '').trim()+':'+partesHora[1] +'0'); 
7338           
7339        //formato 9h30 
7340        else 
7341          var aberturaBolsa = new Date(dataAberturaBolsa+'T'+partesHora[0].replace('h', '').trim()+':'+partesHora[1]); 
7342
7343        
7344     // console.log(aberturaBolsa); 
7345      return aberturaBolsa - todayG; 
7346
7347    
7348   function formataDataAberturaBolsa(dataAberturaBolsa, horaAberturaBolsa){ 
7349      var dataPartes = dataAberturaBolsa.split('-'); 
7350       
7351      return dataPartes[2]+'/'+dataPartes[1]+ ' às '+horaAberturaBolsa.replace('h', '').trim()+' horas'; 
7352       
7353
7354   
7355   function formataValor(valor){ 
7356       
7357      if(!valor.toString().includes(".")){ 
7358        valor = parseFloat(valor).toLocaleString('pt-BR')+",00"; 
7359      }else{ 
7360         valor = parseFloat(valor).toLocaleString('pt-BR'); 
7361          
7362         if(valor.split(",").length == 2){ 
7363            
7364           if(valor.split(",")[1].length == 1) 
7365              valor += "0"; 
7366            
7367         }else 
7368           valor += ",00"; 
7369
7370       
7371      return valor; 
7372
7373 
7374  function ajustarCasasDecimaisSemArredondar(numero, casas) { 
7375    const str = numero + '' 
7376    const arr = str.split('.') 
7377    return parseFloat(arr[0].concat('.').concat(arr[1] ? arr[1].substring(0, casas) : '0')) 
7378
7379 
7380  function possuiCriteriosDesconto2022(dt) { 
7381    return dt.substring(dt.lastIndexOf('/') + 1) >= 2022 
7382      && ( 
7383        $('[name="tipoCurso"]').val() == 'livre' 
7384        || ($('[name="tipoCurso"]').val() == 'tecnico' && $('[name="modalidades"]').val() == 'espec.-tecnica-de-nivel-medio') 
7385        || $('[name="tipoCurso"]').val() == 'extensao' 
7386
7387
7388 
7389  function strToFloat(str) { 
7390    const separator = str.includes(',') ? ',' : '.' 
7391 
7392    const numArr = str.split(separator) 
7393    const inteiro = numArr[0].replaceAll('.', '').replaceAll(',', '.') 
7394    const decimal = numArr[1] ? numArr[1].replaceAll('.', '').replaceAll(',', '.') : '' 
7395    return parseFloat(inteiro.concat('.').concat(decimal ? decimal : '0')) 
7396
7397 
7398  function possuiMensalidade99(oferta) { 
7399    if(!oferta.precoVendaMaxParcelaOferta  
7400    || (oferta.precoVendaMaxParcelaOferta != 99 
7401    && parseFloat(oferta.precoParcelaCartoes.replace(',','.')) != 99 
7402    && parseFloat(oferta.precoParcelaBoleto.replace(',','.')) != 99)) 
7403      return false 
7404 
7405    if($('[name="modalidades"]').val() == 'hab.-tecnica-de-nivel-medio') 
7406      return true 
7407 
7408    if($('[name="modalidades"]').val() == 'espec.-tecnica-de-nivel-medio') 
7409      return true 
7410 
7411    if($('[name="modalidades"]').val() == 'qualificacao-profissional') 
7412      return true 
7413     
7414    return false 
7415
7416    
7417  function htmlSlickArea(index, oferta, diasSemanaHTML, codigoUnidade) { 
7418    let temDesconto = possuiCriteriosDesconto2022(oferta.dataInicio) 
7419    temDesconto = temDesconto && !possuiMensalidade99(oferta) 
7420     
7421    const btnLocalReal = function(oferta){ 
7422       
7423      var btn = `<div class="container-local-realizacao ` + ((oferta.espacoExterno == 'true'|| (isHibrido && temTextoParaFormatoHibrido))  ? '' : 'd-none-btn') + (localLivreOnline(oferta.localEspacoExterno) ? ' idioma-online' : '') + `">`; 
7424       
7425      btn += (localLivreOnline(oferta.localEspacoExterno)) ? 
7426            `<a id="btnLocalRealizacao_` + index + `" data-index="` + index + `" class="btn-idiomas__aula-online" href="#"> 
7427            <i class="fas fa-wifi"></i>Aulas Online - ao vivo</a>` 
7428            : `<a id="btnLocalRealizacao_` + index + `" data-index="` + index + `" class="ssp-card-oferta-curso__local-realizacao-content__title" href="#"><i class="fas fa-user"></i>Onde as aulas vão acontecer?</a>`; 
7429       
7430        btn += `</div>`; 
7431         
7432      return btn; 
7433     
7434
7435 
7436    // Card Oferta 
7437     
7438    let result = ` 
7439        <div class="slick-area__item card_oferta_` + index + ` codigoOferta_` + oferta.codigoOferta + ` ` + (temDesconto ? 'ssp-desconto-2022' : '') + `"> 
7440 
7441          <div class="ssp-card-oferta-curso"> 
7442 
7443            <div class="content-data-dias"> 
7444 
7445              <div class="ssp-card-oferta__info-turma-iniciada" id="aviso-turma-iniciada-` + index + `" style="display:none"> 
7446                <h6 style="color:white;background-color:#ff7157;border-radius: 5px;padding: 8px 0px;width: 60%;font-size: 12px;margin-top: 0;"><strong>Turma iniciada, comece já!</strong></h6> 
7447              </div> 
7448 
7449 
7450              <div> 
7451                <small class="ssp-card-oferta-curso__title-item">Período:</small> 
7452                <h6 class="ssp-card-oferta-curso__item-data-periodo item-data-periodo_` + index + `">` + formataPeriodo(oferta.dataInicio, oferta.dataFim) + `</h6> 
7453	          </div> 
7454	 
7455              <div class="content-horario-dias-semana"> 
7456	 
7457                <div class="horario"> 
7458                  <small class="ssp-card-oferta-curso__title-item">Horário e dias das aulas:</small> 
7459                </div> ` + 
7460	 
7461                `<div class="ssp-card-oferta-curso__dia-hora_content"> 
7462                  ` + diasSemanaHTML + ` 
7463	              </div> 
7464	 
7465	          </div> 
7466	 
7467      ` + btnLocalReal(oferta); 
7468 
7469      result = result + ` 
7470        </div> 
7471
7472      
7473      //Regra adicionada em 04/01/22 devido aos cursos de Garçon e Cozinheiro. Definimos como regra geral que caso botaoCompra seja falso, não faz sentido mostrar os valores 
7474      //Adicionada a validação dos preços da oferta em 07/06/2022 - Tarefa 9498 
7475      const estaSemValorOferta =   oferta.botaoCompraOferta == ''  
7476                          || oferta.botaoCompraOferta == 'false'  
7477                          || !oferta.precoVendaOferta  
7478                          || !oferta.precoCheioOferta  
7479                          || !oferta.precoVendaMaxParcelaOferta 
7480                          || strToFloat(oferta.precoVendaOferta) == 0 
7481                          || strToFloat(oferta.precoCheioOferta)  == 0 
7482                          || strToFloat(oferta.precoVendaMaxParcelaOferta)  == 0 
7483      
7484      //Trecho inicial do Bolsa de estudo 
7485      result += `<div class="content-btn-bolsa codigoOferta_` + oferta.codigoOferta + (estaSemValorOferta ? ' pb-0' : '') + `"> 
7486                  <div class="ssp-card-oferta__info-turma-content"> 
7487                    <h6 class="ssp-card-oferta__info-turma mb-0">Bolsas de estudo</h6> 
7488                  </div> 
7489                  <div class="codigoOferta_` + oferta.codigoOferta + ` ssp-container-botao-bolsa"></div>    
7490                </div>                
7491
7492     
7493    if(estaSemValorOferta) { 
7494      result = result + ` 
7495      		<div class="content-buttons hide"> 
7496			  </div> 
7497
7498      return result; 
7499
7500 
7501	 
7502    //Trecho final do Bolsa de estudo e inclusao de botao de expansao do "Valores para compra" 
7503    result += ` <div class="show-price-content codigoOferta_` + oferta.codigoOferta + `"> 
7504                  <div class="ou-separator-desconto">Ou</div> 
7505                  <button type="button" class="btn-show-price"> 
7506                    <p>Saiba mais sobre:</p> 
7507                    <div onclick="togglePriceCard('codigoOferta_` + oferta.codigoOferta + `')"> 
7508                      <i class="fas fa-money-bill"></i> 
7509                      <span>Valores para compra</span> 
7510                    </div> 
7511                  </button> 
7512                </div> 
7513
7514 
7515    result = result + ` 
7516          <div class="content-valores-descontos hide-price codigoOferta_` + oferta.codigoOferta + `"> 
7517
7518         
7519    if( temDesconto && !ehCursoTrampolim ) { 
7520      result = result + ` 
7521            <div class="ssp-card-oferta__info-turma-content"> 
7522              <h6 class="ssp-card-oferta__info-turma">Valores para compra</h6> 
7523            </div> 
7524	 
7525            <div class="block-valor-desconto"> 
7526	          	 
7527            <div class="tag-label-desconto"> 
7528              <small class="ssp-card-oferta-curso__title-item">Valor com </small> 
7529              <span class="ssp-card-oferta-curso__valor-desconto">50% de desconto*</span> 
7530	      </div> 
7531	 
7532            <h6 class="ssp-card-oferta-curso__item-valor-investimento"><span>` + oferta.numeroMaxParcelasOferta + `x</span>R$ ` + formataValor(ajustarCasasDecimaisSemArredondar((strToFloat(oferta.precoVendaOferta)/strToFloat(oferta.numeroMaxParcelasOferta))/2, 2)) + `</h6> 
7533 
7534            <div class="ssp-card-oferta-curso__desconto-content"> 
7535              <p>De: <span class="ssp-card-oferta-curso__valor-antigo">R$ ` + formataValor(ajustarCasasDecimaisSemArredondar(strToFloat(oferta.precoVendaOferta), 2)) + `</span></p> 
7536              <p>Por: <span class="ssp-card-oferta-curso__valor-desconto">R$ ` + formataValor(ajustarCasasDecimaisSemArredondar(strToFloat(oferta.precoVendaOferta)/2, 2)) + `</span></p> 
7537            </div> 
7538
7539           
7540      if($('[name="tipoCurso"]').val() == 'extensao') { 
7541        result = result + `<p class="modal-extensao_txteconomiza my-2">* Válido para quem trabalha ou tem sua própria empresa no setor de comércio e serviços, estudantes ou ex-estudantes de cursos técnicos no Senac ou para quem já finalizou o Ensino Médio Técnico no Senac.</p></div>` 
7542      } else { 
7543        result = result + `<p class="modal-extensao_txteconomiza my-2">*Válido para quem trabalha ou tem sua própria empresa no setor de comércio e serviços.</p></div>` 
7544
7545   
7546      result = result + ` 
7547          <div class="ou-separator-desconto">Ou</div> 
7548       
7549          <div class="block-valor-total"> 
7550 
7551            <small class="ssp-card-oferta-curso__title-item">Valor sem desconto:</small> 
7552 
7553            <h6 class="ssp-card-oferta-curso__item-valor-investimento"><span>` + oferta.numeroMaxParcelasOferta + `x</span>R$ ` + formataValor(oferta.precoVendaMaxParcelaOferta) + `</h6> 
7554 
7555            <div class="ssp-card-oferta-curso__desconto-content"> 
7556              <p>Valor total: <strong>R$ ` + formataValor(strToFloat(oferta.precoVendaOferta)) + `</strong></p> 
7557            </div> 
7558             
7559          </div> 
7560
7561                 		 }else{ 
7562                 			 
7563      // itens que são diferentes entre técnico e livres comprado a extensão 
7564      if($('[name="tipoCurso"]').val() == 'extensao'){ 
7565        result = result + ` 
7566 
7567          <div class="block-valor-total"> 
7568 
7569            <div class="investimento" id="container_investimento_` + index + `"> 
7570 
7571              <small class="ssp-card-oferta-curso__title-item">Investimento:</small> 
7572 
7573              <h6 class="ssp-card-oferta-curso__item-valor-investimento"><span>` + oferta.numeroMaxParcelasOferta + `x</span>R$ ` + formataValor(ajustarCasasDecimaisSemArredondar(strToFloat(oferta.precoVendaMaxParcelaOferta))) + `</h6> 
7574 
7575              <div class="ssp-card-oferta-curso__desconto-content"> 
7576                <p>Ou: <span class="ssp-card-oferta-curso__valor-antigo text-decoration-none">R$ ` + formataValor(oferta.precoVendaOferta) + `</span> à vista</p> 
7577              </div> 
7578 
7579            </div>   
7580 
7581          </div> 
7582
7583      } else { 
7584        result = result + ` 
7585          <div class="block-valor-total"> 
7586            <div class="investimento" id="container_investimento_` + index + `"> 
7587
7588   
7589        // Não mostrar mensagem de 30% de desconto em casos especificos 
7590        if(temDesconto){ 
7591          result = result + ` 
7592              <small class="ssp-card-oferta-curso__title-item font-weight-bold">Valor com 30% de desconto:</small> 
7593
7594
7595   
7596        if(oferta.precoCheioOferta == oferta.precoVendaOferta) {        
7597          result = result + ` 
7598              <small class="ssp-card-oferta-curso__title-item">Valor do curso:</small> 
7599              <h6 class="ssp-card-oferta-curso__item-valor-investimento"><span>` + oferta.numeroMaxParcelasOferta + `x</span>R$ ` + formataValor(oferta.precoVendaMaxParcelaOferta) + `</h6> 
7600 
7601              <div class="ssp-card-oferta-curso__desconto-content"> 
7602                <p>Ou <span class="ssp-card-oferta-curso__valor-antigo text-decoration-none">R$ ` + formataValor(oferta.precoVendaOferta) + `</span></p> 
7603              </div> 
7604            </div> 
7605            </div> 
7606          `   
7607        } else { 
7608          result = result + ` 
7609              <small class="ssp-card-oferta-curso__title-item">Investimento:</small> 
7610              <h6 class="ssp-card-oferta-curso__item-valor-investimento"><span>` + oferta.numeroMaxParcelasOferta + `x</span>R$ ` + formataValor(oferta.precoVendaMaxParcelaOferta) + `</h6> 
7611 
7612              <div class="ssp-card-oferta-curso__desconto-content"> 
7613                <p>De: <span class="ssp-card-oferta-curso__valor-antigo">R$ ` + formataValor(oferta.precoCheioOferta) + `</span></p> 
7614                <p>Por: <span class="ssp-card-oferta-curso__valor-desconto">R$ ` + formataValor(oferta.precoVendaOferta) + `</span></p> 
7615              </div> 
7616            </div> 
7617            </div> 
7618          `    
7619
7620
7621
7622 
7623    let dataBtnComprar = getObjBtnComprar(oferta); 
7624     
7625    // itens que são diferentes entre técnico e livres comprado a extensão   
7626    result = result + ` 
7627 
7628              <div class="ssp-card-oferta-curso__formas-pagamento-content"  id="container_forma_pgto_` + index + `"> 
7629                 
7630                <span>Saiba mais sobre:</span> 
7631 
7632                <div> 
7633                  <i class="ssp-card-oferta-curso__formas-pagamento-content__icon-credit-card"></i> 
7634                  <a id="myBtn_` + index + `" data-index="` + index + `" class="ssp-card-oferta-curso__formas-pagamento-content__title" style="font-weight: 600;" href="#">` + (temDesconto ? 'Descontos e pagamento' : 'Descontos e parcelamento') + `</a> 
7635                </div> 
7636 
7637              </div> 
7638 
7639            <div class="content-buttons"> 
7640 
7641              <div class="ssp-btn-group__content botoes-oferta-container_` + index + `"> 
7642 
7643                <a href="#a" id="btnComprar_` + index + `" data-espaco-ex="` + dataBtnComprar.dataEspacoEx + `" data-unidade="` + codigoUnidade + `" data-evento="` + oferta.codigoOferta + `" data-destino-compra="` + oferta.destinoCompra + `" data-index="` + index + `"  class="btn btn-lg btn-success w-100 mt-3 ` + dataBtnComprar.classeBotao + `" style="font-size:16px;font-weight: 600;">` + dataBtnComprar.textoBotao + `</a> 
7644 
7645              </div> 
7646 
7647            </div> 
7648 
7649          </div> 
7650 
7651        </div> 
7652
7653 
7654    return result 
7655
7656   
7657  var htmlModalLocalRealizacao = '<div id="modalLocalRealizacao_{index}" class="ssp-modal">' 
7658     htmlModalLocalRealizacao += '<div class="ssp-modal-local-realizacao">' 
7659     htmlModalLocalRealizacao += '<div class="ssp-modal-local-realizacao__title-content">' 
7660 
7661    htmlModalLocalRealizacao += '{tituloLocalRealizacao}' 
7662          
7663    htmlModalLocalRealizacao += '<i class="ssp-card-modal-local-realizacao__btn-close_{index} ssp-card-modal-forma-pagamento__btn-close"></i>' 
7664    htmlModalLocalRealizacao += '</div>' 
7665    htmlModalLocalRealizacao += '<div class="ssp-modal-local-realizacao__texto">' 
7666    htmlModalLocalRealizacao += '<p class="{classeTextoInfoLocalRealizacao}">A unidade {nomeUnidade} realizará as aulas em outro endereço, conforme informações abaixo:</p>' 
7667    htmlModalLocalRealizacao += '<p><span class="ssp-modal-local-realizacao__subtitle localEspacoExternoTexto_{index}">{textoFormatoHibrido}{localEspacoExterno}</span></p>' 
7668    htmlModalLocalRealizacao += '<address>' 
7669    htmlModalLocalRealizacao += '<span id="endereco_realizacao_{index}" class="{classeEnderecoRealizacao}">{ruaEspacoExterno}, {numeroEspacoExterno} {complementoEspacoExterno}<br></span>' 
7670    htmlModalLocalRealizacao += '<span id="bairro_realizacao_{index}" class="{classeBairroRealizacao}">Bairro: {bairroEspacoExterno}<br></span>' 
7671    htmlModalLocalRealizacao += '<span id="cidade_realizacao_{index}" class="{classeCidadeRealizacao}">Cidade: {cidadeEspacoExterno} - SP<br></span>' 
7672    htmlModalLocalRealizacao += '<span id="cep_realizacao_{index}" class="{classeCepRealizacao}">CEP: {cepEspacoExterno}</span>' 
7673    htmlModalLocalRealizacao += '</address>' 
7674    htmlModalLocalRealizacao += '<div class="btn ssp-modal-local-realizacao__btn-content">' 
7675    htmlModalLocalRealizacao += '<a class="btn ssp-modal-local-realizacao__btn {classeEntendi} ssp-modal-local-realizacao__btn_{index}" href="#a">Entendi</a>' 
7676    htmlModalLocalRealizacao +='</div>' 
7677    htmlModalLocalRealizacao +='</div>' 
7678    htmlModalLocalRealizacao +='</div>' 
7679    htmlModalLocalRealizacao +='</div>'; 
7680   
7681    var htmlModalAntesCompra = '<div id="modalAntesCompra_{index}" class="ssp-modal">' 
7682      htmlModalAntesCompra += '<div class="ssp-modal-local-realizacao">' 
7683    htmlModalAntesCompra += '<div class="ssp-modal-local-realizacao__title-content">' 
7684    htmlModalAntesCompra += '<h6 class="ssp-modal-local-realizacao__title"> LEMBRETE IMPORTANTE!</h6>' 
7685    htmlModalAntesCompra += '<i class="ssp-card-modal-antes-compra__btn-close_{index} ssp-card-modal-forma-pagamento__btn-close"></i>' 
7686    htmlModalAntesCompra += '</div>' 
7687    htmlModalAntesCompra += '<div class="ssp-modal-local-realizacao__texto">' 
7688    htmlModalAntesCompra += '<p class="{classeTextoInfoLocalRealizacao}">A unidade {nomeUnidade} realizará as aulas em outro endereço, conforme informações abaixo:</p>' 
7689    htmlModalAntesCompra += '<p><span class="ssp-modal-local-realizacao__subtitle localEspacoExternoTexto_{index}">{textoFormatoHibrido}{localEspacoExterno}</span></p>' 
7690    htmlModalAntesCompra += '<address>' 
7691    htmlModalAntesCompra += '<span id="endereco_realizacao_{index}" class="{classeEnderecoRealizacao}">{ruaEspacoExterno}, {numeroEspacoExterno} {complementoEspacoExterno}<br></span>' 
7692    htmlModalAntesCompra += '<span id="bairro_realizacao_{index}" class="{classeBairroRealizacao}">Bairro: {bairroEspacoExterno}<br></span>' 
7693    htmlModalAntesCompra += '<span id="cidade_realizacao_{index}" class="{classeCidadeRealizacao}">Cidade: {cidadeEspacoExterno} - SP<br></span>' 
7694    htmlModalAntesCompra += '<span id="cep_realizacao_{index}" class="{classeCepRealizacao}">CEP: {cepEspacoExterno}</span>' 
7695    htmlModalAntesCompra += '</address>' 
7696    htmlModalAntesCompra += '<div class="btn ssp-modal-local-realizacao__btn-content">' 
7697    htmlModalAntesCompra += '{componentBuyConfirmation}' 
7698    htmlModalAntesCompra += '<a id="btnBolsaLocal_{index}" class="btn btn-lg btn-info w-100 mt-3" href="{linkBtnBolsa}" target="_blank" style="display:none;">OK, inscrever para bolsa</a>' 
7699    htmlModalAntesCompra += '<a class="ssp-modal-local-realizacao__btn btn btn-lg w-100 mt-3 ssp-card-modal-selecionar-outro__btn-close_{index}" href="#a" >Selecionar outra turma</a>' 
7700    htmlModalAntesCompra +='</div>' 
7701    htmlModalAntesCompra +='</div>' 
7702    htmlModalAntesCompra +='</div>' 
7703    htmlModalAntesCompra +='</div>'; 
7704          
7705   var htmlSlickAreaDiasSemana = '<div class="ssp-card-oferta-curso__dia-hora-item">' 
7706   	 htmlSlickAreaDiasSemana +='<p class="ssp-card-oferta-curso__dia-hora-item__dia">'  
7707     htmlSlickAreaDiasSemana += '<span data-dia-hora="dias-semana">{diasSemana}</span>' 
7708     htmlSlickAreaDiasSemana += '<span data-dia-hora="horário">{horasSemana}</span>' 
7709     htmlSlickAreaDiasSemana += '</p>' 
7710   	 htmlSlickAreaDiasSemana += '</div>'; 
7711    	         
7712      
7713  //Montar object push - google tag manager - 5 
7714  function criaItensEcommerce(ofertas){ 
7715 
7716    let nomeUnidadeSelecionada = objsTela.unidades[ultimaUnidade].nome 
7717 
7718    let dadosCurso = { 
7719      //Pegar do freemarker  
7720        tituloComercial : $('[name="tituloComercial"]').val(), 
7721        tipoCurso : $('[name="nomeCategoriaTipoCurso"]').val(), 
7722        formato : $('[name="formato"]').data("formato") 
7723
7724 
7725    let ecommerceObject = { 
7726 
7727      item_id: "", //codOferta - oferta, 
7728			item_name: "", //Nome do curso - curso, 
7729			affiliation: "", //nome da unidade - oferta, 
7730			currency: "BRL", //Moeda - "BRL", 
7731			discount: "", //desconto - oferta, 
7732			index: "", //indice da lista - i, 
7733			item_brand: "Senac SP", //"Senac SP", 
7734			item_category: "", //categoria do curso - curso, 
7735			item_list_id: "", //"60", 
7736			item_list_name: "", //"São Carlos" - Oferta, 
7737			item_variant: "", //modalidade - curso, 
7738			price: "", //preco cheio - oferta, 
7739			quantity: 1 
7740 
7741
7742 
7743    let itensEcommerce = new Map(); 
7744 
7745    for(var i = 0; i < ofertas.length; i++){ 
7746 
7747      itensEcommerce.set(ofertas[i].codigoOferta, { 
7748 
7749            item_id: ofertas[i].codigoOferta, //codOferta - oferta, 
7750            item_name: dadosCurso.tituloComercial, //Nome do curso - curso, 
7751            affiliation: nomeUnidadeSelecionada, //nome da unidade - oferta, 
7752            currency: "BRL", //Moeda - "BRL", 
7753            discount: parseFloat(ofertas[i].precoCheioOferta - ofertas[i].precoVendaOferta).toFixed(2), //desconto - oferta, 
7754            index: i, //indice da lista - i, 
7755            item_brand: "Senac SP", //"Senac SP", 
7756            item_category: dadosCurso.tipoCurso, //categoria do curso - curso, 
7757            item_list_id: objsTela.unidades[ultimaUnidade].codigoUnidade, //"60", 
7758            item_list_name: nomeUnidadeSelecionada, //"São Carlos" - Oferta, 
7759            item_variant: dadosCurso.formato, //modalidade - curso, 
7760            price: parseFloat(ofertas[i].precoCheioOferta).toFixed(2), //preco cheio - oferta, 
7761            quantity: 1 
7762 
7763
7764
7765
7766 
7767    return itensEcommerce; 
7768
7769   
7770  //EMED - ELEMENTOS DINAMICOS 
7771  const htmlSlickAreaEmed = function(oferta){ 
7772    var btnid = 'myBtn_' + oferta.indice; 
7773    const diasHorarios = function(oferta){ 
7774      return oferta.diasDaSemanaOferta.join(', ').toLowerCase();  
7775       
7776
7777 
7778 
7779    return ` 
7780        <div class="ssp-ofertas-emed__card codigoOferta_`+ oferta.codigoOferta + `"> 
7781   
7782        <div class="ssp-ofertas-emed__card-info-turma"> 
7783   
7784            <div class="item-content"> 
7785                <i class="fas fa-calendar-alt calendar-icon-turma"></i> 
7786                <p class="title-turma">`+ oferta.titulo +`</p> 
7787                <span class="text-default" data-info="info-turma">Alunos na turma: <strong>até `+ oferta.qtdeTotalVagas +`</strong></span> 
7788            </div> 
7789   
7790            <div class="content-previsao-inicio-termino"> 
7791   
7792                <div class="item-content"> 
7793                    <span class="text-default">Previsão de início:</span> 
7794                    <span class="text-default-lg">`+ formatarDataEmed(oferta.dataInicio,oferta.etapa,false) +`</span> 
7795                </div> 
7796   
7797                <div class="item-divisor"></div> 
7798   
7799                <div class="item-content"> 
7800                    <span class="text-default">Previsão de término:</span> 
7801                    <span class="text-default-lg">`+ formatarDataEmed(oferta.dataFim,oferta.etapa,true) +`</span> 
7802                </div> 
7803   
7804            </div> 
7805   
7806   
7807            <div class="item-divisor"></div> 
7808   
7809            <div class="item-content"> 
7810                <span class="text-default">Dias e horários das aulas:</span> 
7811                <span class="text-default-lg" style="text-transform: capitalize;">`+ diasHorarios(oferta) +`</span> 
7812                <span class="text-default-lg">`+ oferta.horaInicio.replace(':', 'h') + ' às ' + oferta.horaFimOferta.replace(':', 'h') +`</span> 
7813            </div> 
7814             
7815        </div> 
7816   
7817        <div class="ssp-ofertas-emed__card-info-investimento"> 
7818            <p class="title-investimento">Investimento anual:</p> 
7819   
7820            <div class="item-content-investimento"> 
7821                <span class="txt-parcelas">Até `+ oferta.numeroMaxParcelasOferta +`x</span> 
7822                <span class="txt-valor-parcela">R$ `+ formataValor(oferta.precoVendaMaxParcelaOferta) +`</span> 
7823            </div> 
7824   
7825            <div class="item-content-investimento"> 
7826                <p class="txt-boleto-cartao">(boleto bancário ou cartão de crédito)</p> 
7827            </div> 
7828   
7829            <div class="item-content-investimento"> 
7830                <i class="fas fa-credit-card icon-cartao-credito"></i> 
7831                <a id="`+ btnid +`" data-index="`+ oferta.indice +`" href="#" class="link-descontos-parcelamentos">Descontos e Parcelamentos</a> 
7832            </div> 
7833               
7834        </div> 
7835   
7836    </div> 
7837 
7838    `; 
7839
7840   
7841    
7842   function loadCursosVocePodeGostar(){ 
7843       
7844    if(isEmed){ 
7845      var url = urlSearchCursosPodeGostarEmed 
7846        .replace('\{groupId\}', groupId) 
7847        .replace('\{tiposDeCurso\}',$('[name="idTipoCurso"]').val()) 
7848        .replace('\{limit\}', 12) 
7849        .replace('\{articleId\}', $('[name="articleId"]').val()); 
7850    }else{ 
7851      var url = urlSearchCursosPodeGostar 
7852        .replace('\{companyId\}',themeDisplay.getCompanyId()) 
7853        .replace('\{groupId\}', groupId) 
7854        .replace('\{userId\}',themeDisplay.getUserId()) 
7855        .replace('\{articleId\}',$('[name="articleId"]').val()) 
7856        .replace('\{limit\}', 12); 
7857
7858 
7859   
7860       $.ajax({ 
7861           url :  url, 
7862           type : 'get', 
7863           beforeSend: function(){ 
7864             loading('#slider-curso'); 
7865
7866       }) 
7867       .done(function(cursos){ 
7868          
7869         if(cursos.length > 0){ 
7870   
7871           cursos = JSON.parse(cursos); 
7872            
7873           if(isEmed) cursos = cursos['cursos']; 
7874            
7875           if(cursos.length > 0) $('#section-cursos-voce-pode-gostar').removeClass('d-none'); 
7876           else { 
7877             $('#section-cursos-voce-pode-gostar').addClass('d-none'); 
7878             return; 
7879
7880            
7881           var articles = []; 
7882            
7883            $.each(cursos, function(k, c){ 
7884             articles.push(c.articleId); 
7885            }); 
7886             
7887           //Verifica a situação dos botoes de inscrições e bolsa 
7888          $.ajax({ 
7889                url :  '/o/senac-content-services/verificaBotoesInscricaoEBolsa/'+groupId+'/'+articles.join(','), 
7890                type : 'get' 
7891            })  
7892            .done(function(infoBotoes){ 
7893               
7894              if(infoBotoes.length > 0) { 
7895                 
7896                  infoBotoes = JSON.parse(infoBotoes); 
7897                   
7898                  $('#slider-curso').empty(); 
7899   
7900                      $.each(cursos, function(k, c){ 
7901                    	  $('#slider-curso').append(buildCardCurso(c, infoBotoes)); 
7902         
7903                      }); 
7904         
7905                      $('#slider-curso').addClass( 
7906                      'slick-area slick-area--md-bleed slider-container slick-area-cursos-pode-gostar'); 
7907         
7908                      sliderCurso('.slick-area-cursos-pode-gostar'); 
7909
7910            }); 
7911
7912   
7913        }) 
7914        .fail(function(jqXHR, textStatus, msg){ 
7915            // alert(msg); 
7916        }); 
7917   
7918
7919   
7920   /* 
7921    * Armazena a navegação em cookies, se habilitado 
7922    */ 
7923  $(document).on("click", ".ck-curso", function() { 
7924      
7925  //Verifica se o cookie está habilitado 
7926   if(getCookie('portalSenacCookie') != null){ 
7927      
7928    var articleId = $(this).data('ck'); 
7929    manageCookieArray('ck-cursos', articleId); 
7930        
7931
7932   
7933   }); 
7934   
7935   
7936 
7937   
7938   
7939  $(function(){ 
7940   
7941   if($('#unidades-ofertas').find('option').length ==0){ 
7942   
7943     $('.ssp-container-selecione-unidade').addClass('d-none') 
7944   
7945
7946   
7947  }); 
7948   
7949     function avisoNovasTurmas(){ 
7950        
7951       
7952       window.event.preventDefault() 
7953         
7954       //var unidadeSelecionada = $('#select-registro-interesse').val(); 
7955       //este select tem 2 valores separados por @ -> categoryId@codUnidade 
7956      //  var unidadeSelecionada = $('#unidades-ofertas').val(); 
7957        
7958       //Código fixo quando Senac Ao Vivo 
7959       var codUnidadeSelectRegInt = (isAoVivo) ? codUnidadeSenacAoVivo : $('#unidades-ofertas').val().split("@")[1]; 
7960         
7961      //  if(codUnidadeSelectRegInt && codUnidadeSelectRegInt.length){ 
7962          
7963         //Se ja tiver logado , redireciona para o registro 
7964         if(getCookie('ticket') == null){ 
7965            
7966           //Abre modal login 
7967               $('#modal-login').removeClass('d-none'); 
7968            
7969         }else{ 
7970            
7971          abrirModalRegistroInteresse(codUnidadeSelectRegInt); 
7972                  
7973            verificaBtnEnviarRegistroInteresseAtivo(); 
7974
7975          
7976         window.onclick = function(event) { 
7977            $('[id="modal-registro-interesse"]').each(function(index,_modal){ 
7978                if (event.target == _modal) { 
7979                   $('#modal-registro-interesse').addClass('d-none'); 
7980                   $("body").removeClass("overflow-hidden") 
7981
7982            }); 
7983
7984              
7985      //  } 
7986
7987     function login(){ 
7988      var unidadeSelecionada 
7989      var codUnidadeSelectRegInt 
7990      doLogin({ 
7991        user: $('#login-email-modal').val(), 
7992        pass: $('#login-password-modal').val(), 
7993        btnLoadingSelector: '#btnLogin', 
7994        before: () => { 
7995          $('#mensagem-erro-login').addClass('d-none') 
7996           
7997          unidadeSelecionada = $('#unidades-ofertas').val(); 
7998          codUnidadeSelectRegInt = (isAoVivo) ? codUnidadeSenacAoVivo : $('#unidades-ofertas').val().split("@")[1]; 
7999        }, 
8000        done: (data) => { 
8001          var loginData = JSON.parse(data); 
8002           
8003          if(loginData.status == 200 || loginData.status == 201){				 
8004            //Após logar-se, exibe o modal p/registro de interesse 
8005            abrirModalRegistroInteresse(codUnidadeSelectRegInt); 
8006            verificaBtnEnviarRegistroInteresseAtivo(); 
8007            //esconde o modal de login 
8008            $('#modal-login').addClass('d-none'); 
8009          }  
8010        }, 
8011        errorMessageSelector: '#mensagem-erro-login', 
8012        error: (err) => console.error(err) 
8013      }) 
8014
8015   
8016  function registroSelecionaTodosDias(){ 
8017     
8018    if($(this).hasClass('ssp-week-day-active')){ 
8019      $(this).removeClass('ssp-week-day-active') 
8020       $('.ssp-week-day').removeClass('ssp-week-day-active') 
8021    }else{ 
8022      $(this).addClass('ssp-week-day-active') 
8023      $('.ssp-week-day').addClass('ssp-week-day-active') 
8024
8025        
8026    verificaBtnEnviarRegistroInteresseAtivo(); 
8027
8028   
8029  function registroSelecionaTodosPeriodos(){ 
8030     
8031    if($(this).is(':checked')){ 
8032      $('.ssp-card-registro-interesse__check-itens-content.periodos-registro-interesse input[type=checkbox]').prop('checked', true); 
8033    }else{ 
8034      $('.ssp-card-registro-interesse__check-itens-content.periodos-registro-interesse input[type=checkbox]').prop('checked', false); 
8035
8036     
8037    verificaBtnEnviarRegistroInteresseAtivo(); 
8038
8039  $('.turmas-registro-interesse input[type=checkbox]').on('click', function() { 
8040    var $selecionado = $(this); 
8041    if ($selecionado.is(":checked")) { 
8042      $('.turmas-registro-interesse input[type=checkbox]').prop("checked", false); 
8043      $selecionado.prop("checked", true); 
8044    } else { 
8045      $selecionado.prop("checked", false); 
8046
8047}); 
8048     function enviarRegistroInteresse(){ 
8049       
8050	  const codigoUsr = getCookie('codigo'); 
8051	   
8052	  if(codigoUsr == null){ 
8053		  //Sem o cookie refaz o login 
8054		  $('#modal-registro-interesse').addClass('d-none'); 
8055	      $('body').removeClass('overflow-hidden'); 
8056	      $('#modal-login').removeClass('d-none'); 
8057	      return; 
8058
8059	   
8060      var codigoFT = $('[name="codigoFT"]').val(); 
8061       
8062      var unidades = new Set(); 
8063       
8064      var diasSemana = ''; 
8065       
8066      //Senac ao vivo nao tem opçao de dias da semana nem unidades 
8067      if(isAoVivo){ 
8068        unidades.add(codUnidadeSenacAoVivo); 
8069      }else{ 
8070          $.each($('.ssp-week-day').not('#todosDias'), function(k, v){ 
8071              if($(this).hasClass('ssp-week-day-active')){ 
8072                diasSemana += $(this).text()+','; 
8073
8074          }); 
8075             
8076          if(diasSemana.length > 0) diasSemana = diasSemana.slice(0, -1); 
8077           
8078          $.each($('.ssp-card-registro-interesse__select'), function(k,item){ 
8079               
8080            unidades.add(item.value); 
8081          }); 
8082
8083 
8084       
8085      var periodos = ''; 
8086       
8087      $.each($('.periodos-registro-interesse input[type=checkbox]').not('#check-todos-periodos'), function(k,v){ 
8088        if($(this).is(':checked')){ 
8089          periodos += $(this).val()+','; 
8090
8091      }); 
8092 
8093      var turmas = ''; 
8094 
8095      $.each($('.turmas-registro-interesse input[type=checkbox]').not('#check-todos-periodos'), function(k, v) { 
8096          if ($(this).is(':checked')) { 
8097              turmas += $(this).val() + ','; 
8098
8099      }); 
8100 
8101      if (periodos.length > 0) periodos = periodos.slice(0, -1); 
8102      if (turmas.length > 0) turmas = turmas.slice(0, -1); 
8103 
8104      var usuarioNotificado = false; 
8105       
8106      loadingSubmitButton('#enviar-registro-interesse-btn'); 
8107 
8108      unidades.forEach(function(codigoUnidade) { 
8109          var data = { 
8110              codigoFT: codigoFT, 
8111              codigo: codigoUsr, 
8112              diasSemana: diasSemana, 
8113              periodos: periodos, 
8114              turmas, turmas, 
8115              codigoUnidade: codigoUnidade, 
8116              interesseBolsa: 'N', 
8117              isEmed: isEmed ? 'S' : 'N' 
8118          }; 
8119 
8120          const url = urlRegistroInteresse; 
8121 
8122          $.ajax({ 
8123              url: url, 
8124              method: 'POST', 
8125              data: JSON.stringify(data), 
8126              headers: { 
8127                  'Accept': 'application/json', 
8128                  'Content-Type': 'application/json' 
8129              }, 
8130          }).done( 
8131              function(retornoData) { 
8132 
8133                  var retornoData = JSON.stringify(retornoData); 
8134 
8135                  if (retornoData.length > 0) { 
8136             
8137                    cleanLoadingSubmitButton('#enviar-registro-interesse-btn'); 
8138                     
8139                      var retorno = JSON.parse(retornoData); 
8140 
8141                      if (retorno.status == 200 || retorno.status == 201) { 
8142               
8143                        //Evita que o usuário recebe um email para cada unidade de interesse 
8144                        if(usuarioNotificado) return; 
8145                         
8146                          //Mensagem de sucesso registro interesse 
8147                          $('#modal-registro-interesse-sucesso').removeClass('d-none'); 
8148 
8149                          var prefixUrl = themeDisplay.getLayoutRelativeURL(); 
8150 
8151                          if (prefixUrl.indexOf('staging/') > 1) 
8152                              prefixUrl = prefixUrl.substring(0, prefixUrl.lastIndexOf('staging/') + 8); 
8153                          else 
8154                              prefixUrl = HOST; 
8155 
8156                          $('#btn-voltar-home').attr('href', prefixUrl); 
8157 
8158                          //Busca os dados do nome do usuário logado 
8159                          var username = getCookie('name').split(' ')[0]; 
8160 
8161                          //Prioridade para nomeSocial 
8162                          if (getCookie('nome_social') != null) { 
8163                              var nomeSocial = getCookie('nome_social').replace(/['"]+/g, ''); 
8164 
8165                              if (nomeSocial.length > 0) username = getCookie('nome_social'); 
8166 
8167
8168 
8169                          username = username.replace(/['"]+/g, ''); 
8170						   
8171                          var unidadesSel = getUnidadesSelecionadasRI(); 
8172                           
8173                          //Disara um email para o usuário interessado              
8174                          var data = { 
8175                              emailInteressado: getCookie('email'), 
8176                              nomeInteressado: username, 
8177                              tituloCurso: $('.ssp-card-detalhe-curso__title').text(), 
8178                              unidades: unidadesSel.unidades, 
8179                              unidadesPrefix: unidadesSel.unidadesPrefix 
8180                          }; 
8181 
8182                          $.ajax({ 
8183                              url: urlRegistroInteresseEmailInteressado, 
8184                              method: 'POST', 
8185                              data: JSON.stringify(data), 
8186                              headers: { 
8187                                  'Accept': 'application/json', 
8188                                  'Content-Type': 'application/json' 
8189                              }, 
8190                          }).done(function(retornoData) {}); 
8191 
8192              				usuarioNotificado = true; 
8193               
8194                          window.onclick = function(event) { 
8195                              $('[id="modal-registro-interesse-sucesso"]').each(function(index, _modal) { 
8196                                  if (event.target == _modal) { 
8197                                      $('#modal-registro-interesse-sucesso').addClass('d-none'); 
8198                                      $('#modal-registro-interesse').addClass('d-none'); 
8199                                      $("body").removeClass("overflow-hidden") 
8200
8201                              }); 
8202
8203 
8204                      } else { 
8205                          //Mensagem de erro registro interesse 
8206                          $('#modal-registro-interesse-erro').removeClass('d-none'); 
8207
8208                  } else { 
8209                      //Mensagem de erro registro interesse 
8210                      $('#modal-registro-interesse-erro').removeClass('d-none'); 
8211
8212              }).fail(function(){ 
8213				  cleanLoadingSubmitButton('#enviar-registro-interesse-btn'); 
8214				  $('#modal-registro-interesse-erro').removeClass('d-none'); 
8215			  }); 
8216      }); 
8217
8218   
8219  function verificaBtnEnviarRegistroInteresseAtivo(){ 
8220     
8221    var diasSemanaSelecionado = false; 
8222    var periodoSelecionado = false; 
8223    var turmaSelecionada = false; 
8224    var politicaPrivacidadeSelecionado = false; 
8225     
8226     
8227    $.each($('.periodos-registro-interesse input[type=checkbox]').not('#check-todos-periodos'), function(k,v){ 
8228      if($(this).is(':checked')) 
8229        periodoSelecionado = true; 
8230    }); 
8231 
8232    $.each($('.turmas-registro-interesse input[type=checkbox]').not('#check-todos-periodos'), function(k,v){ 
8233      if($(this).is(':checked')) 
8234        turmaSelecionada = true; 
8235    }); 
8236     
8237    if($('#check-politica-privacidade').is(':checked')) politicaPrivacidadeSelecionado = true; 
8238     
8239    var ativo = true 
8240     
8241    //Caso tenha algum dos selects de unidade sem uma opção válida selecionada 
8242    if(!isAoVivo) 
8243      ativo = ativo && !Array.from($('.ssp-card-registro-interesse__select.unidades')).filter(sel => !$(sel).val()).length 
8244     
8245    ativo = ativo && periodoSelecionado && politicaPrivacidadeSelecionado; 
8246     
8247    if(!isAoVivo && !isEmed){ 
8248       
8249        $.each($('.ssp-week-day').not('#todosDias'), function(k, v){ 
8250            if($(this).hasClass('ssp-week-day-active')) 
8251              diasSemanaSelecionado = true; 
8252          }); 
8253      ativo = ativo && diasSemanaSelecionado; 
8254       
8255
8256 
8257    if(isEmed) 
8258      ativo = ativo && turmaSelecionada; 
8259     
8260    if(ativo) 
8261        $('#enviar-registro-interesse-btn').attr("disabled", false); 
8262    else 
8263        $('#enviar-registro-interesse-btn').attr("disabled", true); 
8264
8265   
8266    function loadPlanoCurso(){ 
8267       
8268      const urlGetPlanoCurso = urlPlanoCurso 
8269											 
8270      .replace('\{codigoFT\}',  $('[name="codigoFT"]').val()) 
8271      .replace('\{dataEfetiva\}', $('[name="dataEfetivaSTR"]').val()); 
8272   
8273        $.ajax({ 
8274            url:urlGetPlanoCurso, 
8275            method:'get', 
8276            crossDomain: true, 
8277            dataType: 'html', 
8278            success: function( data ) { 
8279   
8280   
8281              //Atualiza o link com o plano de curso do servi¿o (ja retorna o texto) 
8282              $('#plano-curso').append('<br/>'+data);  
8283            }, 
8284            error: function(data){ 
8285               
8286              console.log('Não existe a URL do plano de curso'); 
8287								 
8288
8289         
8290          }); 
8291
8292     
8293  function checkCursoTrampolim(){ 
8294    return $('[name="codigoFT"]').val() == "24493";  
8295
8296   
8297  /*function verificaOfertaValida(oferta){ 
8298       
8299    if(oferta['precoCheioOferta'] == '' || oferta['precoVendaOferta'] == '' || oferta['numeroMaxParcelasOferta'] == '' || oferta['precoVendaMaxParcelaOferta']  == '') 
8300      return false; 
8301     
8302    var atual = new Date(); 
8303   
8304    var dataOfertaPartes = oferta['dataInicio'].split('/'); 
8305     
8306    var dataOferta = new Date(dataOfertaPartes[2], dataOfertaPartes[1] - 1, dataOfertaPartes[0]); 
8307     
8308    var dataLimiteMatriculaOfertaPartes = ""; 
8309    var dataLimiteMatriculaOferta = ""; 
8310     
8311    if(oferta['dtLimiteMatricula'] != ""){ 
8312    dataLimiteMatriculaOfertaPartes = oferta['dtLimiteMatricula'].split('-'); 
8313      dataLimiteMatriculaOferta = new Date(dataLimiteMatriculaOfertaPartes[0], dataLimiteMatriculaOfertaPartes[1] - 1, dataLimiteMatriculaOfertaPartes[2] ,atual.getHours(),atual.getMinutes(),atual.getSeconds(),atual.getMilliseconds());  
8314     
8315
8316     
8317     
8318    //Só deve aparecer ofertas D-1 . Se ela iniciou, aparece se o campo dtLimiteMatr estiver preenchido e com data até o dia de hoje  
8319    if(dataOferta <= atual) 
8320      if(dataLimiteMatriculaOferta == "" || (dataLimiteMatriculaOferta != "" &&  atual.getTime() > dataLimiteMatriculaOferta.getTime())) 
8321        return false; 
8322     
8323    return true; 
8324  }*/ 
8325   
8326   
8327  function loadServerDate(){ 
8328   
8329    $.ajax({ 
8330      url:urlGetServerT, 
8331      method:'get', 
8332      dataType: 'json', 
8333      cache: 'false', 
8334      headers: { 
8335      'Cache-Control': 'no-store, no-cache, max-age=0', 
8336      'Expires': '0', 
8337      'Pragma': 'no-cache' 
8338      }, 
8339      success: function( data ) { 
8340        todayG = new Date(data.year,(data.month - 1),data.day,(data.hour),data.minutes,data.seconds); 
8341        startTimer(); 
8342
8343    }); 
8344     
8345
8346   
8347   function handleVisibilityChange() { 
8348     
8349     if (!document[hidden] ){ 
8350      restartTimer(); 
8351
8352     
8353
8354   
8355  function restartTimer(){ 
8356     
8357    if(restartTimeout == null){ 
8358      loadServerDate(); 
8359      restartTimeout = setTimeout(function(){ 
8360        restartTimeout = null; 
8361      }, 5000); 
8362
8363     
8364
8365    
8366	 function startTimer(){ 
8367		 
8368		var mSeconds = todayG.getTime(); 
8369		if(interval01 != null){ 
8370			clearInterval(interval01); 
8371
8372		interval01 = setInterval(function(){ 
8373			todayG.setTime(todayG.getTime() + 1000); 
8374		}, 1000); 
8375		 
8376		if(interval15 != null){ 
8377			clearInterval(interval15); 
8378
8379		interval15 = setInterval(function(){ 
8380			mSeconds = mSeconds + 15000; 
8381			todayG.setTime(mSeconds); 
8382		}, 15000); 
8383		 
8384
8385   
8386  function checkIsAoVivo(){ 
8387    isAoVivo = $("input[name='formato']").attr("data-formato") == nomeFormatoAoVivoDxp; 
8388
8389   
8390   
8391  //Ao clicar na setinha next do slider, busca dinamicamente uma proxima oferta 
8392  function buscaProximaOferta(){ 
8393    //Zera variável que controla existência de ofertas com bolsa 
8394    //ofertasComBolsa = false; 
8395  	  
8396     //Verificamos se a ultima oferta já foi exibida, para evitar de fazer novas buscas 
8397     if(carregouUltimaOferta)  
8398        return; 
8399 
8400     //Fazemos o cálculo do que está sendo exibido, para verificar se existe apenas um card 'escondido'. Caso tenha apenas um, a busca deve ser executada, caso contrário não.	 
8401     var totalOfertasSlick = $('#turmas-container .slick-area__item').length; 
8402     //Pegamos o índice da oferta do meio (central) 
8403     var currentSliderIndex = parseInt($('.slick-current').attr('data-slick-index')); 
8404 
8405     var totalOfertasADireita = totalOfertasSlick - currentSliderIndex; 
8406 
8407     //Se o total de ofertas à direita for maior a 2 não precisa realizar a busca 
8408     if(totalOfertasADireita > 2)  
8409        return; 
8410 
8411	 startOfertaParam = endOfertaParam; 
8412	 endOfertaParam += 16; 
8413	  
8414     const codigoFT = $('[name="codigoFT"]').val(); 
8415  	 const dataEfetivaOferta = $('[name="dataEfetivaSTR"]').val(); 
8416	 
8417  	 var unidadeCategoryId = ''; 
8418     var unidadeCodigoSelect = ''; 
8419  	 
8420  	if(isAoVivo){ 
8421  	   
8422  		$.each(objsTela.unidades, function(k,unidade){ 
8423  			unidadeCategoryId += unidade['categoryId']+','; 
8424      	}); 
8425  		 
8426  		//tirando ultima virgula 
8427  	    unidadeCategoryId = unidadeCategoryId.substring(0,unidadeCategoryId.length - 1); 
8428  	   
8429  	}else{ 
8430  		 var splitted = $('#unidades-ofertas').val().split("@"); 
8431  		 unidadeCategoryId = splitted[0]; 
8432       unidadeCodigoSelect = splitted[1]; 
8433
8434     
8435    var params = new URLSearchParams(); 
8436    params.set('codigoFTOferta',codigoFT) 
8437    params.set('dataEfetivaOferta',dataEfetivaOferta) 
8438    params.set('categoryIds',unidadeCategoryId) 
8439    params.set('start',startOfertaParam) 
8440    params.set('end',endOfertaParam) 
8441    params.set('inscricaoAberta', $('#chkInscricao').prop('checked')) 
8442    params.set('bolsaAberta', $('#chkBolsa').prop('checked')) 
8443    params.set('cursoArticleId', $('[name="articleId"]').val() || ''); 
8444 
8445    if($('#chkBolsa').prop('checked')){ 
8446    	params.set('considerarDataBolsaFutura', true) 
8447
8448     
8449    const url = urlSearchOferta + '?' + params.toString() 
8450 
8451    $.ajax({ 
8452      url:url, 
8453      method:'get', 
8454      dataType:'json' 
8455    }).done( 
8456      function(data){ 
8457         
8458        if(data.length > 0){ 
8459          var indiceOferta = startOfertaParam; 
8460 
8461        	for (var index = 0; index < data.length; index++) { 
8462        		 
8463				var ofertaJSON = data[index]; 
8464	            var oferta = getOfertaObjectFromJson(ofertaJSON,index); 
8465				             
8466	            //Verificamos se a oferta buscada já existe na tela (que ocorre quando chega na última oferta) 
8467	            if($('.codigoOferta_'+oferta.codigoOferta).length > 0){ 
8468	              console.log('Ja tem a oferta '+oferta.codigoOferta); 
8469	              carregouUltimaOferta = true; 
8470	              break; 
8471
8472	 
8473	            //guardo em um map a oferta e qual unidade é, para utilizar depois no populaOferta para o aoVivo                
8474	            ofertaUnidadeMap.set(oferta['codigoOferta'],mapUnidadesIds.get(parseInt(ofertaJSON.unidadeCategoryIds))); 
8475	      
8476	            ofertasMap.set(oferta.codigoOferta, oferta); 
8477	 
8478	            if(isAoVivo) 
8479	            	objsTela.ofertasAoVivoTodasUnidades.push(oferta); 
8480	 
8481	             //O indice é igual ao ultimo elemento buscado - 1 
8482	             var i = indiceOferta; 
8483	             oferta['indice'] = i; 
8484	 
8485	             if(isAoVivo) 
8486	                codigoUnidade = ofertaUnidadeMap.get(oferta.codigoOferta); 
8487	             else codigoUnidade = unidadeCodigoSelect; 
8488	 
8489	              
8490	             montaHTMLOferta(oferta, i, codigoUnidade, true);  
8491	             montaHTMLModalFormaPgto(oferta, i, codigoUnidade);  
8492 
8493	             montaHTMLModalLocalRealizacao(oferta, i);  
8494	             montaHTMLModalAntesCompra(oferta, i, codigoUnidade); 
8495	             verificaBotaoBolsaSS(oferta); 
8496	             verificaCursoAprendizagem(i); 
8497	             verificaCursoTrampolim(i); 
8498	              
8499	             associaEventoBtnFormaPagamento(i); 
8500	             associaEventoBtnComprar(i);  
8501	             associaEventoBtnComprarDentroFormaPgto(i); 
8502	             associaEventoBtnLocalRealizacao(i); 
8503	             associaEventosFecharModal(i); 
8504 
8505                 if($('[name="tipoCurso"]').val() == 'extensao'){ 
8506                   associaEventoBtnConheca(i); 
8507                   associaEventoBtnComprarConhecaDescontoOk(i); 
8508                   associaEventoBtnComprarConhecaDescontoNot(i); 
8509                   associaEventoBtnAlunoNao(i); 
8510                   associaEventoBtnAlunoSim(i); 
8511                    
8512
8513                  
8514               indiceOferta++; 
8515
8516           
8517          controlaPaginaBolsa(); 
8518
8519
8520    ); 
8521     
8522
8523 
8524  function setUrlParam(key, value) { 
8525    const url = new URL(window.location.href) 
8526 
8527    if(value) 
8528      url.searchParams.set(key, value); 
8529    else 
8530      url.searchParams.delete(key); 
8531 
8532    window.history.pushState({}, '', url.toString()) 
8533
8534   
8535   function selectFilter(paramkey, el) { 
8536    setUrlParam(paramkey, el.prop("checked")) 
8537    const currentUnidadeFriendlyURLSelected = $('#unidades-ofertas').find('option').filter(':selected').attr('data-unidade-friendly-url') 
8538    loadUnidades(!isAoVivo, $('[data-unidade-friendly-url="' + currentUnidadeFriendlyURLSelected + '"]').val()) 
8539 
8540    if($('#chkInscricao').prop("checked") || $('#chkBolsa').prop("checked")) $('#msgFiltroAplicado').show() 
8541    else $('#msgFiltroAplicado').hide() 
8542
8543    
8544  function defineCurrentUrl(ev) { 
8545    const currentUnidadeFriendlyURLSelected = $(ev.target).find('option').filter(':selected').attr('data-unidade-friendly-url') 
8546 
8547    const hasPathWeb = window.location.pathname.includes('/web') 
8548    const hasPathGuest = window.location.pathname.includes('/guest') 
8549 
8550    let currentPath = window.location.pathname 
8551    currentPath = hasPathWeb ? currentPath.substring(4) : currentPath 
8552    currentPath = hasPathGuest ? currentPath.substring(6) : currentPath 
8553 
8554    objsTela.unidadesRegistroInteresse.forEach(unidade => currentPath = currentPath.replace('/' + unidade.friendlyURL, '')) 
8555 
8556    currentPath = (currentUnidadeFriendlyURLSelected ? '/' + currentUnidadeFriendlyURLSelected : '') + currentPath 
8557    currentPath = hasPathGuest ? '/guest' + currentPath : currentPath 
8558    currentPath = hasPathWeb ? '/web' + currentPath : currentPath 
8559 
8560    if(keepURL()) 
8561    window.history.replaceState(window.history.state, '', currentPath + window.location.search) 
8562
8563   
8564  let isKeepURL = true   
8565  /** Verifica se é para manter a URL atual. Isso deve acontecer somente ao iniciar a página #9674 */ 
8566  function keepURL() { 
8567    const aux = isKeepURL 
8568    isKeepURL = false 
8569    return !aux 
8570
8571   
8572  loadServerDate(); 
8573  $(document).ready(function(){ 
8574 
8575    if("${normalizedCategoryName}" == "graduacao" || "${normalizedCategoryName}" == "pos-graduacao"){ 
8576      document.location.href = '/erro-404' 
8577
8578     
8579    ehCursoTrampolim = checkCursoTrampolim(); 
8580    checkIsAoVivo(); 
8581    loadPlanoCurso(); 
8582    loadCursosVocePodeGostar(); 
8583 
8584    if(!isAoVivo) { 
8585      $('#unidades-ofertas').change(ev => { 
8586        mudarUnidade(ev) 
8587        defineCurrentUrl(ev) 
8588      }); 
8589
8590 
8591    const urlParams = new URLSearchParams(window.location.search) 
8592    $('#chkInscricao').prop("checked", urlParams.get('inscricao') == 'true') 
8593    $('#chkInscricao').change(ev => selectFilter('inscricao', $('#chkInscricao')) ) 
8594     
8595    if($('#chkBolsa').length) { 
8596      $('#chkBolsa').prop("checked", urlParams.get('bolsa') == 'true') 
8597      $('#chkBolsa').change(ev => selectFilter('bolsa', $('#chkBolsa')) ) 
8598      loadUnidades(!isAoVivo); 
8599    } else { 
8600      selectFilter('bolsa', $('#chkBolsa')) 
8601
8602           
8603      //Função para Montar breadcrumb Mobile 
8604   
8605      function breadcrumbMobile(){ 
8606   
8607		const linkEl = $('.ssp-card-detalhe-curso__secunday-info-back-link');   	  
8608    	   
8609        if ( $.trim(linkEl.html()) === 'Técnico'){ 
8610   
8611        	linkEl.attr("href", "/cursos-tecnicos"); 
8612   
8613        } else if ( $.trim(linkEl.html()) === 'Livre'){ 
8614       
8615           if(isAoVivo){ 
8616        	   	linkEl.html('Senac Online<i class="fas fa-signal-stream icon-ao-vivo" aria-hidden="true"></i>ao vivo') 
8617             	linkEl.attr("href", "/cursos-livres-senac-online-ao-vivo"); 
8618           }else{ 
8619        	   	linkEl.attr("href", "/cursos-livres"); 
8620
8621        } else if ( $.trim(linkEl.html()) === 'Aprendizagem'){ 
8622   
8623        	linkEl.attr("href", "/jovem-aprendiz"); 
8624   
8625        }else if ( $.trim(linkEl.html()) === 'Extensão Universitária'){ 
8626   
8627        	linkEl.attr("href", "/extensao-universitaria"); 
8628         
8629        }else if ( $.trim(linkEl.html()) === 'Ensino Médio Técnico'){ 
8630        		   
8631            	linkEl.attr("href", "/ensino-medio-tecnico");	 
8632
8633   
8634
8635   
8636      breadcrumbMobile() 
8637       
8638    //Esconde elementos quando o curso é aprendizagem 
8639      if($('[name="codigoFT"]').val() == codigoFTCursoAprendizagem){ 
8640        $('.ssp-section-novas-turmas').remove(); 
8641        $("div[class^='botoes-oferta-container_']").remove(); 
8642
8643   
8644     //retira os itens de dentro do container 
8645      $('.bg-').css('background-color','#e4e4e4') 
8646     $('.container.py-3').removeClass('container py-3') 
8647     //ajuste para versao 7.4 
8648     $('.lfr-layout-structure-item-container.container-fluid.container-fluid-max-xl').removeClass() 
8649 
8650   
8651     //Fecha modal registro de interesse 
8652   
8653     $('#btn-close-Modal-registro-interesse').click(function(){ 
8654   
8655       $('#modal-registro-interesse').addClass('d-none') 
8656       $("body").removeClass("overflow-hidden") 
8657   
8658     }) 
8659   
8660      $( "#modal-registro-interesse" ).click( function(event) { 
8661   
8662          
8663   
8664         if(event.target.id==$('#modal-registro-interesse')[0].id){ 
8665               $(this).addClass('d-none') 
8666
8667   
8668      }); 
8669   
8670       
8671      //Aviso sobre interesse em turmas 
8672      $('.ssp-card-registro-interesse').on('click', '#enviar-registro-interesse-btn', enviarRegistroInteresse); 
8673      if(!isEmed){ 
8674        $('.ssp-aviso-novas-turmas__content').on('click', '#btn-aviso-novas-turmas', avisoNovasTurmas); 
8675        $('.ssp-card-registro-interesse').on('click', '#todosDias', registroSelecionaTodosDias); 
8676      } else { 
8677        $('.ssp-emed__card-slider-body').on('click', '#btnOptin', avisoNovasTurmas) 
8678      }  
8679      $('#div-campo-todos').on('change', 'input[type=checkbox]', registroSelecionaTodosPeriodos); 
8680   
8681      $('#btnLogin').click(function(){ 
8682        
8683        login() 
8684         
8685       }); 
8686       
8687       $('#btn-close-loginModal').click(function(){ 
8688           $('#modal-login').addClass('d-none') 
8689       }); 
8690        
8691       $('.ssp-week-day').not('#todosDias').click(function(){ 
8692   
8693           $(this).toggleClass('ssp-week-day-active'); 
8694           verificaBtnEnviarRegistroInteresseAtivo(); 
8695            
8696       }); 
8697        
8698       $('#add-unidade-regsitro-interesse').click(function(e){ 
8699           var element = $('.ssp-card-registro-interesse__select.unidades').first().clone(); 
8700           element.empty(); 
8701            element.append('<option value="" disabled selected>Selecione uma unidade</option>') 
8702                $.each(objsTela.unidadesRegistroInteresse, function(k,unidade){ 
8703 
8704                    if(!unidade['selecionado']){      
8705                        element.append('<option value="'+unidade['codigoUnidade']+'">'+unidade['nome']+'</option>'); 
8706
8707 
8708                }); 
8709            element.change(changeSelectUnidades) 
8710 
8711   
8712           element.css('margin-top', '10px'); 
8713            
8714           if(element.find("option").length > 1 && $('.ssp-card-registro-interesse__select.unidades').length < objsTela.unidadesRegistroInteresse.length){ 
8715              element.attr("id", "select_" + cntSelectUnidades++) 
8716              $('#select-unidades-registro-interesse').append(element); 
8717          }    
8718 
8719          if($('.ssp-card-registro-interesse__select.unidades').length == objsTela.unidadesRegistroInteresse.length){ 
8720              $('#add-unidade-regsitro-interesse').addClass("d-none") 
8721
8722   
8723           verificaBtnEnviarRegistroInteresseAtivo(); 
8724       }); 
8725        
8726       $('#remove-unidade-regsitro-interesse').click(function(e){ 
8727          
8728         if($('.ssp-card-registro-interesse__select').length > 1){ 
8729          
8730              var element = $('.ssp-card-registro-interesse__select').last(); 
8731     
8732              var valueSelecionado = element.val(); 
8733 
8734              $.each(objsTela.unidadesRegistroInteresse, function(k,unidade){ 
8735 
8736                  if(unidade['selecionado'] && unidade['codigoUnidade'] == valueSelecionado){ 
8737                      unidade['selecionado'] = false; 
8738                      unidade['selectSelecionado'] = ""; 
8739
8740 
8741              }); 
8742              element.val(""); 
8743              cntSelectUnidades--; 
8744              element.change() 
8745 
8746              element.remove(); 
8747
8748   
8749         if($('.ssp-card-registro-interesse__select.unidades').length < objsTela.unidadesRegistroInteresse.length){ 
8750              $('#add-unidade-regsitro-interesse').removeClass("d-none") 
8751
8752 
8753          verificaBtnEnviarRegistroInteresseAtivo(); 
8754       }) 
8755        
8756       $('.ssp-card-registro-interesse__check-item').on('change', 'input[type=checkbox]', function(){ 
8757         verificaBtnEnviarRegistroInteresseAtivo(); 
8758       }); 
8759   
8760       //Contador em ofertas de bolsas proximas 
8761       var cancel = setInterval(atualizaTempoAberturasBolsas, 1000); 
8762        
8763        // Manipua o breadcrumb para as regras do Senac 
8764          
8765        if($('ol.breadcrumb').find('li:first').text().trim() == "Cursos Pai") 
8766          $('ol.breadcrumb').find('li:first').remove(); 
8767         
8768        var li = $('ol.breadcrumb').find('li:first'); 
8769   
8770        if(li.text().trim() == 'Cursos'){ 
8771       
8772          var primeiro = li.clone(); 
8773          primeiro.html(htmlBreadcrumb('/', 'Cursos', 'Home')); 
8774          li.parent().prepend(primeiro); 
8775       
8776          var tipoCurso = $('.ssp-header-curso__tag-formato').text().trim(); 
8777          var tipoBreadcrumb = ''; 
8778           
8779          const isPresencialEad = (tipoCurso.toLowerCase().includes("presencial + ead")) 
8780           
8781          if(tipoCurso.includes("Cursos Livres")){ 
8782            if(isPresencialEad) { 
8783              tipoBreadcrumb =  htmlBreadcrumb('/presencial-ead#cursos-livres', tipoCurso); 
8784            } else { 
8785              tipoBreadcrumb = htmlBreadcrumb( 
8786                    isAoVivo ? '/cursos-livres-senac-online-ao-vivo' : '/cursos-livres',  
8787                  isAoVivo ? nomeFormatoAoVivoDxp : tipoCurso); 
8788            }         
8789          }else if(tipoCurso.includes("Extensão")){ 
8790            if(isPresencialEad) { 
8791              tipoBreadcrumb =  htmlBreadcrumb('/presencial-ead#extensao-universitaria', tipoCurso); 
8792            } else { 
8793        	  	tipoBreadcrumb =  htmlBreadcrumb('/extensao-universitaria', tipoCurso); 
8794            }           
8795          }else if(tipoCurso.includes("Ensino Médio Técnico")){ 
8796            if(isPresencialEad) { 
8797              tipoBreadcrumb =  htmlBreadcrumb('/presencial-ead#ensino-medio-tecnico', tipoCurso); 
8798            } else { 
8799              tipoBreadcrumb =  htmlBreadcrumb('/ensino-medio-tecnico', tipoCurso); 
8800
8801          }else if(tipoCurso.includes("Jovem Aprendiz")){ 
8802            if(isPresencialEad) { 
8803              tipoBreadcrumb =  htmlBreadcrumb('/presencial-ead#jovem-aprendiz', tipoCurso); 
8804            } else { 
8805              tipoBreadcrumb =  htmlBreadcrumb('/jovem-aprendiz', tipoCurso); 
8806
8807          }else{ 
8808            if(isPresencialEad) { 
8809              tipoBreadcrumb =  htmlBreadcrumb('/presencial-ead#cursos-tecnicos', tipoCurso); 
8810            } else { 
8811              tipoBreadcrumb =  htmlBreadcrumb('/cursos-tecnicos', tipoCurso); 
8812
8813
8814           
8815          li.html(tipoBreadcrumb); 
8816         
8817          if($('ol.breadcrumb').find('li').length == 4) $('ol.breadcrumb').find('li:last').remove(); 
8818        	 
8819
8820         
8821        $('#turmas-container').on('click', 'a.slick-next', function(e){ 
8822				 
8823        	 	e.preventDefault(); 
8824			    buscaProximaOferta(); 
8825			 
8826        }); 
8827 
8828        $('#turmas-container').on('click', 'button.slick-dots', function(){ 
8829 
8830             
8831       
8832        }); 
8833		 
8834        $(".next-mobile").on("click",function(e){  
8835        	 e.preventDefault();  
8836       	 	 
8837        	 acoesMobileSliderOfertas("left"); 
8838       	}); 
8839         
8840        $(".prev-mobile").on("click",function(e){  
8841        	e.preventDefault();  
8842	        
8843        	acoesMobileSliderOfertas("right");	 
8844      	}); 
8845         
8846        //ação de drag do card de ofertas no mobile 
8847        $('.oferta-slick-area').on('swipe', function(event, slick, direction){ 
8848           	acoesMobileSliderOfertas(direction); 
8849        }); 
8850         
8851        loadAlternadores() 
8852        let modalFormAprendizagem = document.querySelector('[data-modal="modal"]') 
8853        if(modalFormAprendizagem){ 
8854          // Create dinamic close buttom form 
8855          let btnCloseModalForm = document.querySelector('[data-modal="close-form-modal"]') 
8856         
8857          btnCloseModalForm.addEventListener('click',closeModalFormAprendizagem) 
8858         
8859
8860    
8861        $(".oferta-slick-area").on("click", ".btnModalAprendizagem", function (){ 
8862           openModalFormAprendizagem(); 
8863         }) 
8864         
8865     }); 
8866   
8867  function htmlBreadcrumb(link, title, display){ 
8868	   
8869	  return '<a class="breadcrumb-link" href="'+link+'" title="'+title+'"><span class="breadcrumb-text-truncate">'+(display || title)+'</span></a>'; 
8870	   
8871
8872   
8873  function acoesMobileSliderOfertas(direcao){ 
8874	   
8875       	if(direcao == "right"){ 
8876       		$("a.slick-prev").click();  
8877	       	 
8878        	if($('.slick-current').attr('data-slick-index') == "0") 
8879	       		 $('.prev-mobile').addClass('nextPrevOpacity'); 
8880	       	 
8881        	if($(".next-mobile").hasClass('nextPrevOpacity')) 
8882        		 $('.next-mobile').removeClass('nextPrevOpacity'); 
8883
8884       	 
8885       	 
8886		if(direcao == "left"){ 
8887	      	 $("a.slick-next").click(); 
8888	   	  
8889	   	  	if($(".prev-mobile").hasClass('nextPrevOpacity')) 
8890	     		 $('.prev-mobile').removeClass('nextPrevOpacity'); 
8891	   	   
8892	   	 	if(carregouUltimaOferta){ 
8893	   	 		var totalCardOfertas = $('#turmas-container .slick-area__item').length; 
8894	   	 		var currentSliderIndex = parseInt($('.slick-current').attr('data-slick-index'));   
8895	 
8896	   	 		//o card do meio é o último	 
8897				if(totalCardOfertas == (currentSliderIndex + 1)) 
8898					$('.next-mobile').addClass('nextPrevOpacity'); 
8899
8900
8901
8902   
8903  //habilitar/desabilitar registro de interesse 
8904  function habilitarRegistroInteresse(habilitar){ 
8905    var sectionRI = $('#section-registro-interesse') 
8906 
8907    if(isEmed) { 
8908      sectionRI.hide() 
8909      return; 
8910
8911 
8912    //Redmine #9309 - sempre irá mostrar 
8913    habilitar = true 
8914       
8915    if(habilitar) sectionRI.show() 
8916    else sectionRI.hide() 
8917
8918   
8919  function abrirModalRegistroInteresse(codUnidadeSelect){ 
8920	    $('#modal-registro-interesse').removeClass('d-none'); 
8921      $("body").addClass("overflow-hidden") 
8922      if(!isEmed){ 
8923	    $('.ssp-card-registro-interesse__nome-curso').text($('.ssp-card-detalhe-curso__title').text()); 
8924      } else { 
8925        $(".transferencia-emed-link").find('a').attr("href", "/ensino-medio-tecnico#onde-estudar") 
8926        $('.ssp-card-registro-interesse__title-modal').text($('.ssp-card-detalhe-curso__title').text()); 
8927
8928       
8929      $('.ssp-card-registro-interesse__select:not(#select_0)').remove(); 
8930      $.each(objsTela.unidadesRegistroInteresse, function(k,unidade){ 
8931        if(unidade['codigoUnidade'] == codUnidadeSelect){ 
8932            unidade['selecionado'] = true; 
8933            unidade['selectSelecionado'] = 'select_0'; 
8934        } else { 
8935            unidade['selecionado'] = false; 
8936            unidade['selectSelecionado'] = ""; 
8937
8938 
8939    }); 
8940    objsTela.unidadesRegistroInteresse.sort(function (a, b) { 
8941        return ordenar(a, b, 'nome'); 
8942    }); 
8943 
8944    $('#select_0').empty(); 
8945    $('#select_0').append('<option value="" disabled>Selecione uma unidade</option>') 
8946        $.each(objsTela.unidadesRegistroInteresse, function(k,unidade){ 
8947 
8948          $('#select_0').append('<option value="'+unidade['codigoUnidade']+'" >'+unidade['nome']+'</option>'); 
8949             
8950        }); 
8951    $('#select_0').val(codUnidadeSelect); 
8952    console.dir(objsTela.unidadesRegistroInteresse) 
8953	 	if(isAoVivo){ 
8954	 		$('#unidades-registro-interesse, #dias-registro-interesse').addClass('d-none'); 
8955
8956     if(objsTela.unidadesRegistroInteresse.length > 1) { 
8957        $('#add-unidade-regsitro-interesse').removeClass("d-none") 
8958        $('#add-unidade-regsitro-interesse').show() 
8959        $('#remove-unidade-regsitro-interesse').show() 
8960      } else { 
8961        $('#add-unidade-regsitro-interesse').hide() 
8962        $('#remove-unidade-regsitro-interesse').hide() 
8963
8964
8965 
8966  $('.ssp-card-registro-interesse__select.unidades').on('change', changeSelectUnidades) 
8967  
8968 function changeSelectUnidades() { 
8969   var codUnidadeSelecionada = $(this).val(); 
8970   var idSelectSelecionado = $(this).attr('id') 
8971   $.each(objsTela.unidadesRegistroInteresse, function(k,unidade){ 
8972        if(unidade['codigoUnidade'] == codUnidadeSelecionada){ 
8973            unidade['selecionado'] = true; 
8974            unidade['selectSelecionado'] = idSelectSelecionado; 
8975        } else if(unidade['selectSelecionado'] == idSelectSelecionado && unidade['selecionado']){ 
8976            unidade['selecionado'] = false; 
8977            unidade['selectSelecionado'] = ""; 
8978
8979 
8980    }); 
8981     
8982    objsTela.unidadesRegistroInteresse.sort(function (a, b) { 
8983        return ordenar(a, b, 'nome'); 
8984    }); 
8985 
8986    $('.ssp-card-registro-interesse__select.unidades:not(#'+idSelectSelecionado+')').each(function() { 
8987        var valueSelecionado = $(this).val(); 
8988        var idActualSelect = $(this).attr('id'); 
8989        $(this).empty(); 
8990        $(this).append('<option value="" disabled>Selecione uma unidade</option>') 
8991        $.each(objsTela.unidadesRegistroInteresse, function(k,unidade){ 
8992 
8993            if(unidade['selecionado'] && unidade['codigoUnidade'] == valueSelecionado){ 
8994                $("#"+idActualSelect).append('<option value="'+unidade['codigoUnidade']+'" >'+unidade['nome']+'</option>'); 
8995            }else if(!unidade['selecionado']){      
8996                $("#"+idActualSelect).append('<option value="'+unidade['codigoUnidade']+'">'+unidade['nome']+'</option>'); 
8997
8998 
8999        }); 
9000        $(this).val(valueSelecionado) 
9001    }); 
9002     
9003   verificaBtnEnviarRegistroInteresseAtivo(); 
9004
9005 
9006   
9007 function ordenar(objA, objB, nomeAtributo){ 
9008	 	let a = (nomeAtributo) ? objA[nomeAtributo] : objA; 
9009	 	let b = (nomeAtributo) ? objB[nomeAtributo] : objB; 
9010	 
9011	 	return a.toString().localeCompare(b.toString()); 
9012
9013  
9014 function paramOrdem(xml){ 
9015	 	if(isEmed){ 
9016	 		var ordemPeriodo = ['MA', 'TA', 'NO']; 
9017	 		return $.inArray(xml.find('[name="periodoDiaOferta"]').text().trim(), ordemPeriodo); 
9018	 	}else{ 
9019	 		return xml.find('[name="dataInicioOferta"]').text(); 
9020
9021
9022  
9023 function getEtapaSelecionadaEmed(){ 
9024		var btnEtapa = $('.ssp-ofertas-emed__filtro-content .btn--filtro-ativo'); 
9025		 if(!btnEtapa) return ''; 
9026		 return btnEtapa.val(); 
9027
9028  
9029 function filtraOfertasEtapa(etapa, ofertas){ 
9030    if(!etapa) return []; 
9031    var ofertasEtapa = []; 
9032    var turmas = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']; 
9033    var periodos = {['MA'] : 'Manhã', ['TA'] : 'Tarde', ['NO'] : 'Noite'}; 
9034    var ultimoPeriodo = null, indexPeriodo; 
9035    ofertas = ofertas.sort(function(a, b){ 
9036       return ordenar(a, b, 'periodoDiaOferta'); 
9037    }); 
9038 
9039    $.each(ofertas, async (index, oferta)=> { 
9040      if(oferta['etapa'] == etapa){ 
9041        if(oferta['periodoDiaOferta'] != ultimoPeriodo) indexPeriodo = 0; 
9042        ultimoPeriodo = oferta['periodoDiaOferta']; 
9043        oferta['titulo'] = 'Turma ' + turmas[indexPeriodo++] + ' - ' + (periodos[ultimoPeriodo] || ''); 
9044        ofertasEtapa.push(oferta); 
9045
9046    }); 
9047      
9048     return ofertasEtapa; 
9049
9050  
9051 function formatarDataEmed(data, etapa, isDataFim){ 
9052	  
9053 	try{ 
9054 
9055 		var splitdata = data.split('/'); 
9056 		var meses = ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro']; 
9057 	 	var mes = meses[parseInt(splitdata[1])-1]; 
9058 	 	 
9059 	 	var ano = splitdata[2]; 
9060 	 	 
9061 	 	if(isDataFim){ 
9062 	 		ano = parseInt(splitdata[2]); 
9063
9064 	 	 
9065 	 	return mes + '/' + ano; 
9066 	}catch(err){  
9067 		return data;  
9068
9069   
9070
9071  
9072 //EMED Mobile 
9073 function sliderOfertasEmed(){ 
9074	  
9075	 var tamScreen = $(window).width(); 
9076	 if(tamScreen < 1024){ 
9077	     $('.ssp-slick-ofertas-emed').slick({ 
9078	         slidesToShow: 1, 
9079	         slidesToScroll: 1, 
9080	         dots: false, 
9081	         infinite: false, 
9082	         adaptiveHeight: true, 
9083	         prevArrow:'<button class="btn slick-prev" type="button"><i class="fal fa-chevron-left"></i><span class="sr-only">Anterior</span></button>', 
9084	         nextArrow:'<button class="btn slick-next" type="button"><i class="fal fa-chevron-right"></i><span class="sr-only">Próximo</span></button>', 
9085	         responsive: [ 
9086	 
9087
9088	                 breakpoint: 1200, 
9089	                 settings: { 
9090	                     slidesToShow: 1, 
9091	                     slidesToScroll: 1, 
9092	                     prevArrow: '<button class="btn slick-prev ssp-slider-control-mobile__item-prev"><i class="fal fa-chevron-left mr-1"></i><span>Anterior</span></button>', 
9093	                     nextArrow: '<button class="btn slick-next ssp-slider-control-mobile__item-next"><span>Próximo</span><i class="fal fa-chevron-right ml-1"></i></button>', 
9094	 
9095
9096	             }, 
9097
9098	                 breakpoint: 768, 
9099	                 settings: { 
9100	                     slidesToShow: 1, 
9101	                     slidesToScroll: 1, 
9102	                     prevArrow: '<button class="btn slick-prev ssp-slider-control-mobile__item-prev"><i class="fal fa-chevron-left mr-1"></i><span>Anterior</span></button>', 
9103	                     nextArrow: '<button class="btn slick-next ssp-slider-control-mobile__item-next"><span>Próximo</span><i class="fal fa-chevron-right ml-1"></i></button>', 
9104
9105
9106	 
9107
9108	 
9109	     }); 
9110 
9111
9112 
9113
9114 
9115function addItemBackpack(codOferta, originElemSelector, codUnidade, dataEfetiva){ 
9116	 
9117	let backpackPostRequest = {}; 
9118	backpackPostRequest.codOferta = codOferta; 
9119	backpackPostRequest.codUnidade = codUnidade; 
9120	backpackPostRequest.dt_efetiva = dataEfetiva; 
9121 
9122	 
9123	mochila.requestAccess(function(backpackPostRequest){ 
9124		 
9125		let urlMochila = '/o/senac-backpack-services/backpack'; 
9126		 
9127		if(getCookie("codMochila") != null){ 
9128			backpackPostRequest.codMochila = getCookie("codMochila"); 
9129			urlMochila = '/o/senac-backpack-services/updateBackpack';	 
9130		}	 
9131		$.ajax({ 
9132		    type: 'POST', 
9133		    url: urlMochila, 
9134		    headers: { 
9135		        "Content-Type":"application/json" 
9136		    }, 
9137            beforeSend: function(xhr){ 
9138            	xhr.setRequestHeader("Authorization", "Bearer " + getCookie("tokenMochila")); 
9139            	loadingSubmitButton(originElemSelector); 
9140            	$(originElemSelector + ' .loading-icon-button').css('height', 'unset'); 
9141            	if($(window).width() < 1024){ 
9142            		$(originElemSelector + ' .loading-icon-button span').css('margin-left', '10%'); 
9143
9144            }, 
9145		    data : JSON.stringify(backpackPostRequest) 
9146		}).done(function(data) {  
9147			 
9148			let domain = ''; 
9149			if(getAmbiente() == 'hom' || getAmbiente() == 'prod') 
9150				domain = '.sp.senac.br'; 
9151			 
9152			writeCookie( 
9153					'codMochila',  
9154					(getCookie("codMochila") == null) ? data.backpackCode : JSON.parse(data).backpackCode,  
9155					24, 
9156					domain 
9157			); 
9158			addItemSuccessMochila(); 
9159			 
9160		}).fail(function(xhr, status, error) { 
9161			 
9162			$('#modal-backpack-error').removeClass('d-none'); 
9163			 
9164	 	}).always(function(){ 
9165	 		 
9166	 		cleanLoadingSubmitButton( 
9167	 				originElemSelector,  
9168	 				originElemSelector.indexOf('backpack') > 0 ? 'OK, desejo comprar' : 'COMPRAR' 
9169	 		); 
9170	 		$('[id^="modalAntesCompra_"]').each(function(index, modal) { 
9171	 			modal.style.display = "none"; 
9172	 		}); 
9173	 		 
9174	 	}); 
9175		 
9176	}, backpackPostRequest); 
9177	 
9178
9179 
9180function componentBuyConfirmation(codigoUnidade, oferta, dataEfetiva){ 
9181  
9182	var comp = null; 
9183		 
9184	if((oferta.destinoCompra !== null) && oferta.destinoCompra == "2"){ 
9185		 
9186		comp = $("<button>") 
9187		.addClass("btn btn-lg btn-success w-100 mt-3 btn-backpack") 
9188		.attr("offerCode",oferta.codigoOferta) 
9189		.attr("unitCode",codigoUnidade) 
9190		.attr("effectiveDate",dataEfetiva) 
9191		.text("OK, desejo comprar"); 
9192	 
9193	}else { 
9194	 
9195		comp = $("<a>") 
9196		.addClass("btn btn-lg btn-success w-100 mt-3") 
9197		.text("OK, desejo comprar") 
9198		.attr("href", linkBotaoCompra.replace('\{codigoUnidade\}', codigoUnidade).replace('\{codigoOferta\}', oferta.codigoOferta)) 
9199		.attr("target","_blank"); 
9200
9201	 
9202	comp.attr('id', 'btnCompraLocal_' + oferta.indice); 
9203	 
9204    return comp[0].outerHTML; 
9205     
9206
9207 
9208function getUnidadesSelecionadasRI(){ 
9209		var unidadesRI = []; 
9210		 
9211		try{ 
9212			 
9213			$('#select-unidades-registro-interesse').find('select').each((i,select) =>{ 
9214				var unidadeSel = select.selectedOptions[0].innerText; 
9215				if(!unidadesRI.includes(unidadeSel)) unidadesRI.push(unidadeSel); 
9216			}); 
9217			 
9218			var unidadesExt = unidadesRI.join(', '); 
9219			 
9220			const lastIndex = unidadesExt.lastIndexOf(','); 
9221			 
9222			if(lastIndex > 0) unidadesExt = unidadesExt.substring(0, lastIndex) + ' ou ' + unidadesExt.substring(lastIndex + 1); 
9223			 
9224			return { 
9225				'unidadesPrefix' : (unidadesRI.length > 1 ? ', nas unidades ' : (unidadesRI.length == 1 ? ', na unidade ' : '')), 
9226				'unidades' : unidadesExt 
9227			}; 
9228			 
9229		}catch(err){ 
9230			 
9231			return { 
9232				'unidadesPrefix' : '', 
9233				'unidades' : '' 
9234			}; 
9235			 
9236
9237		 
9238
9239 
9240 
9241 
9242 
9243function addItemSuccessMochila(){ 
9244	 
9245	mochila.check(); 
9246	$('#modal-backpack-success__nome-curso').html($('.ssp-card-detalhe-curso__title').text()); 
9247	$('#modal-backpack-success').removeClass('d-none'); 
9248	 
9249
9250 
9251$(document).on('click', '.btn-backpack', function(e){  
9252     
9253	addItemBackpack(event.target.getAttribute("offerCode"), '.btn-backpack',event.target.getAttribute("unitCode"),event.target.getAttribute("effectiveDate")); 
9254	 
9255}); 
9256 
9257$('#btn-voltar-modal-backpack-error').click(function () { 
9258    $('#modal-backpack-error').addClass('d-none'); 
9259}); 
9260 
9261$('#btn-voltar-modal-backpack-error').click(function () { 
9262    $('#modal-backpack-error').addClass('d-none'); 
9263}); 
9264 
9265$('.btn-mochila-continuar-site-success, .modal-btn-close').click(function () { 
9266    $('#modal-backpack-success').addClass('d-none'); 
9267}); 
9268 
9269$('.btn-mochila-finalizar-compra-success').click(function () { 
9270  // Montar object push - google tag manager - 6 
9271  sendEventEcommerce("begin_checkout", ofertaSelecionada); 
9272 
9273	mochila.verificaLogin(); 
9274	$('#modal-backpack-success').addClass('d-none'); 
9275	$('[id^="myModal_"]').each((i,modal)=>modal.style.display = "none"); 
9276}); 
9277 
9278   function closeModalFormAprendizagem(){ 
9279           let modal = document.querySelector('[data-modal="modal"]') 
9280            
9281       modal.classList.remove('open-modal-form') 
9282      
9283
9284      
9285      
9286   function openModalFormAprendizagem(){ 
9287           let modal = document.querySelector('[data-modal="modal"]') 
9288            
9289       modal.classList.add('open-modal-form') 
9290      
9291
9292 
9293  function addEventBolsa() { 
9294    // Mostra o preco 
9295    const btnShowPrices = document.querySelectorAll('.btn-show-price') 
9296 
9297    btnShowPrices.forEach(btnShowPrice => btnShowPrice.addEventListener('click',togglePriceCard)) 
9298     
9299    if(!$('#chkBolsa').prop('checked')) 
9300      togglePriceCard() 
9301
9302 
9303  function togglePriceCard(selector){ 
9304    if(selector instanceof PointerEvent) return 
9305 
9306    if(!selector) selector = '' 
9307    else selector = '.' + selector 
9308     
9309    const btnPrices = document.querySelectorAll('.show-price-content'+selector) 
9310    const contentPrices = document.querySelectorAll('.content-valores-descontos'+selector) 
9311    const contentBtnBolsas = document.querySelectorAll('.content-btn-bolsa'+selector) 
9312     
9313    btnPrices.forEach(btnPrice => btnPrice.classList.toggle('hide')) 
9314    contentBtnBolsas.forEach(contentBtnBolsa => contentBtnBolsa.classList.toggle('modifier-content-show')) 
9315    contentPrices.forEach(contentPrice => contentPrice.classList.toggle('hide-price'))       
9316
9317   
9318  function getRegiaoName(key) { 
9319	  switch (key) { 
9320	    case "C": 
9321	      return "Capital"; 
9322	    case "I":             
9323	      return "Interior"; 
9324	    case "GS": 
9325	      return "Grande São Paulo e Litoral"; 
9326	    default: 
9327	      return "Sem Região"; 
9328
9329
9330 
9331	function criarOptionUnidadesPorRegiao(unidades) { 
9332	  let regioes = {} 
9333	  let unidadeFounded 
9334 
9335	  unidades.forEach(unidade => { 
9336	    if(!regioes[unidade.codRegiaoUnidade || 'N']) 
9337	      regioes[unidade.codRegiaoUnidade || 'N'] = [] 
9338 
9339	    regioes[unidade.codRegiaoUnidade || 'N'].push(unidade) 
9340	  }) 
9341 
9342	  Array.from(['C', 'I', 'GS', 'N']) 
9343	  .filter(key => Object.keys(regioes).includes(key)) 
9344	  .forEach(key => { 
9345	    const unidadesDaRegiao = regioes[key] 
9346 
9347	    const optionDisabled = $('<option>') 
9348	    optionDisabled.attr('label', getRegiaoName(key)) 
9349	    optionDisabled.text(getRegiaoName(key)); 
9350	    optionDisabled.attr('disabled', true) 
9351	    optionDisabled.addClass('ssp-option-group') 
9352	    $('#unidades-ofertas').append(optionDisabled) 
9353 
9354	    $.each(unidadesDaRegiao, function(k,unidade){       
9355	      if($('#unidades-ofertas').find('[value="'+unidade['categoryId']+'"]').length == 0){         
9356	        var option = $('<option>'); 
9357	        option.val(unidade['categoryId']+"@"+unidade['codigoUnidade']); 
9358	        option.text(unidade['nome']); 
9359	        option.attr('data-unidade-friendly-url', unidade.friendlyURL) 
9360	        option.addClass('ssp-option') 
9361	   
9362	        $('#unidades-ofertas').append(option); 
9363	     
9364	        unidadeFounded = !unidadeFounded && getURLData().includes('/'+unidade.friendlyURL+'/') ? unidade : unidadeFounded	           
9365
9366	    }) 
9367	  }) 
9368 
9369	  return unidadeFounded 
9370
9371 
9372	function getURLData() { 
9373	  return URLGeral.replace(HOST, '') 
9374
9375 
9376	/** 
9377	* Copia um objeto JSON 
9378	*/ 
9379	function cloneObj(original) { 
9380	  return JSON.parse(JSON.stringify(original)); 
9381
9382 
9383  function getUrlConsultaBolsa(oferta){ 
9384   
9385    let url = ''; 
9386    if (isAmbienteTeste()) { 
9387      if(oferta.destinoBolsa=='1') { 
9388        url = 'https://hwse.sp.senac.br/rest/wss/cursos/bolsa/v1/?COD_EVENTO='+oferta.codigoOferta 
9389      } else { 
9390        url = 'https://hom-wse-bolsas.sp.senac.br/api/cursos/bolsa/v1/'+oferta.codigoOferta; 
9391
9392    }	else { 
9393      if(oferta.destinoBolsa=='1') { 
9394        url = 'https://wse.sp.senac.br/rest/wss/cursos/bolsa/v1/?COD_EVENTO='+oferta.codigoOferta 
9395      } else { 
9396        url = 'https://wse-bolsas.sp.senac.br/api/cursos/bolsa/v1/'+oferta.codigoOferta; 
9397
9398       
9399
9400     
9401    return url; 
9402
9403 
9404  function execCompraEmed(oferta){ 
9405 
9406    let linkInscricaoEmed, linkInscricaoEmedHml, acadProg; 
9407    if(oferta.etapa == '0010'){ 
9408      linkInscricaoEmed = 'https://www.sp.senac.br/login/Login?destino=https://inscricao-educacional-ms.sp.senac.br/?oferta={codOferta}'; 
9409      linkInscricaoEmedHml = 'https://gesportal.sp.senac.br/login/Login?destino=https://hinscricao-educacional-backend.sp.senac.br/?oferta={codOferta}'; 
9410      acadProg = null; 
9411    }else{ 
9412      linkInscricaoEmed = 'https://www.sp.senac.br/login/Login?destino=https://inscricao-emed.sp.senac.br?course={acad_prog}&unity={codUnidade}&shift={periodo}&step={etapa}&oferta={codOferta}'; 
9413      linkInscricaoEmedHml = 'https://gesportal.sp.senac.br/login/Login?destino=https://hinscricao-emed.sp.senac.br?course={acad_prog}&unity={codUnidade}&shift={periodo}&step={etapa}&oferta={codOferta}'; 
9414      acadProg = ()=>{ 
9415        //Codigo FT + Data Efetiva(ymd) : AcadProg 
9416        const acadProgMap = { 
9417          ['2478820220101'] : '08202', 
9418          ['2363020210101'] : '07325', 
9419          ['2362920210101'] : '07326', 
9420          ['2097420210101'] : '05918' 
9421        }	    
9422        var key = $('[name="codigoFT"]').val() + $('[name="dataEfetivaSTR"]').val().replace(/-/g, ''); 
9423        return acadProgMap[key] || ''; 
9424
9425
9426 
9427    var ambTeste = ['localhost', 'hom', 'dev']; 
9428      var link = linkInscricaoEmed; 
9429      $.each(ambTeste, function(i, a){ 
9430        if(location.hostname.indexOf(a) >= 0){ 
9431          link = linkInscricaoEmedHml; 
9432          return false; 
9433
9434      }); 
9435 
9436      // Montar object push - google tag manager - 3 
9437      ofertaSelecionada = itensEcommerce.get(oferta.codigoOferta) 
9438      sendEventEcommerce("select_item", ofertaSelecionada); 
9439      sendEventEcommerce("view_item", ofertaSelecionada); 
9440      sendEventEcommerce("add_to_cart", ofertaSelecionada); 
9441      sendEventEcommerce("begin_checkout", ofertaSelecionada); 
9442       
9443      var urlCompra  = link.replace('\{acad_prog\}', acadProg) 
9444        .replace('\{codUnidade\}', $('[name="codUnidadeSelecionada"]').val()) 
9445        .replace('\{periodo\}', (oferta.periodoDiaOferta == 'TA') ? 'V' :  oferta.periodoDiaOferta.slice(0, 1)) 
9446        .replace('\{etapa\}', oferta.etapa) 
9447        .replace('\{codOferta\}', oferta.codigoOferta); 
9448      window.open(urlCompra, '_blank'); 
9449 
9450
9451 
9452   function formataDataComBarra(dataInvertidaComTraco){ 
9453 		return dataInvertidaComTraco.split('-').reverse().join('/'); 
9454
9455 
9456 
9457   </script> 
9458 
9459</#if>