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