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               
4138                <p class="ssp-card-registro-interesse__card-politica-title"> 
4139                  <strong>Política de Privacidade do Senac São Paulo </strong> 
4140              </p> 
4141           
4142              <p>Data de publicação 06/08/2024</p> 
4143           
4144              <p class="ssp-card-registro-interesse__card-politica-text"> 
4145                  O Serviço Nacional de Aprendizagem Comercial - Senac, 
4146                  Administração no Estado de São Paulo (Senac SP) zela pela privacidade e proteção dos dados pessoais de todos aqueles 
4147                  com quem se relaciona. 
4148              </p> 
4149               
4150              <p class="ssp-card-registro-interesse__card-politica-text"> 
4151           
4152                  A presente Política de Privacidade tem o objetivo de informar sobre quais dados pessoais a seu respeito são 
4153                  coletados; por qual motivo os coletamos; com quem os compartilhamos; por quanto tempo os mantemos conosco; quais as 
4154                  medidas de segurança que adotamos; e quais os direitos que você tem. 
4155                  <br><br> 
4156                  É importante que você leia esta Política com atenção, bem como a consulte periodicamente para verificar possíveis 
4157                  alterações no que diz respeito ao tratamento de seus dados pessoais. 
4158                  <br><br> 
4159                  Em caso de dúvidas, entre em contato via e-mail indicado no final deste documento. 
4160                  <br><br> 
4161                  <b>1. Quem somos nós?</b><br> 
4162                  O Senac SP é a Administração Regional do Senac no Estado de São Paulo. O Senac SP está inscrito no CNPJ sob o nº 
4163                  03.709.814/0001-98 e tem sede à Rua Dr. Vila Nova, 228, 7º andar, na cidade de São Paulo, Estado de São Paulo. Para 
4164                  fins da Lei Geral de Proteção de Dados Pessoais (Lei nº 13.709/2018, LGPD) e desta Política, o Senac SP é 
4165                  controlador dos dados pessoais. 
4166                  <br><br> 
4167                  <b>2. O que você precisa saber antes de ler esta política?</b> 
4168                  <br> 
4169                  Dados pessoais são todas as informações que identificam ou permitam a sua identificação. Por exemplo, seu nome, CPF, 
4170                  e-mail, endereço, dados de contato, dados de conta bancária, entre outros. Incluem-se nesse conceito os dados 
4171                  pessoais sensíveis, conforme definição a seguir: 
4172                  <br><br> 
4173                  Dados pessoais sensíveis são as informações que revelam ou cujo tratamento venha revelar origem racial ou étnica, 
4174                  convicção religiosa, opinião política, filiação à sindicato ou à organização de caráter religioso, filosófico ou 
4175                  político, dados de saúde ou sobre a vida sexual, dado genético ou biométrico. 
4176                  <br><br> 
4177                  Encarregado é o seu canal de contato sobre assuntos relacionados à privacidade e à proteção de dados pessoais. Se 
4178                  você tiver qualquer dúvida sobre como os seus dados pessoais ou de seus dependentes/beneficiários são tratados por 
4179                  nós, é ele quem vai ajudar. 
4180                  <br><br> 
4181                  Titular é a pessoa física a quem se referem os dados pessoais objeto do tratamento. 
4182                  <br><br> 
4183                  Tratamento significa qualquer operação realizada com dados pessoais, tais como coleta, produção, classificação, 
4184                  utilização, acesso, processamento, armazenamento, eliminação, modificação, compartilhamento, transferência, entre 
4185                  outros. 
4186                  <br><br> 
4187                  Sempre que houver menção aos "Termos de Uso do Senac SP", "Nós" ou "Nossos", estaremos nos referindo à instituição 
4188                  descrita no tópico "Quem somos nós". Da mesma forma, toda vez que mencionarmos "você", "seu" ou "sua", estamos nos 
4189                  referindo a você, titular de dados pessoais, que possui relação com o Senac SP na qualidade de pessoa interessada, 
4190                  candidato a aluno, aluno e/ou ex-aluno, terceiros relacionados a candidatos ou alunos usuário de nossa rede wi-fi. 
4191                  <br><br> 
4192                  <b>3. Quais dados pessoais são tratados e por quê?</b> 
4193                  <br> 
4194                  O Senac SP realiza, a depender de sua relação conosco, o tratamento dos dados pessoais a seguir identificados para 
4195                  atendimento às finalidades ora descritas, conforme aplicável: 
4196                  <br><br> 
4197                  <b>Visitante / Interessado</b> 
4198                  <br> 
4199                  <b>Atividade: Navegação</b> 
4200                  <br> 
4201                  Dados pessoais: Endereço de IP com data e hora, informações sobre o dispositivo utilizado para a navegação e tipo de 
4202                  navegador utilizado, localização do dispositivo, sequência de cliques, termos pesquisados no Portal Senac SP, origem 
4203                  do tráfego. 
4204                  <br><br> 
4205                  Finalidade: Os dados pessoais são utilizados para permitir a análise do tráfego do Portal Senac SP; viabilizar o 
4206                  envio de anúncios, ofertas e/ou informações sobre cursos, eventos e/ou benefícios de acordo com seus interesses; 
4207                  aprimorar as funcionalidades do Portal Senac SP; monitorar fraudes e segurança, inclusive detectando e prevenindo 
4208                  ataques cibernéticos ou tentativas de roubo de identidade; atender exigências legais. 
4209                  <br><br> 
4210              </p> 
4211           
4212              <hr> 
4213           
4214              <p class="ssp-card-registro-interesse__card-politica-text"> 
4215                  <br> 
4216                  <b>Atividade: Cadastro</b><br> 
4217                  Dados pessoais: Nome, nome social, CPF, data de nascimento, sexo, documento de identificação civil, endereço, 
4218                  telefone. 
4219                  <br><br> 
4220                  Finalidade: Os dados pessoais são utilizados para cadastro na base de dados do Senac SP, havendo validação do 
4221                  cadastro por duplo fator de autenticação. 
4222                  <br> 
4223              </p> 
4224           
4225              <hr> 
4226           
4227              <p class="ssp-card-registro-interesse__card-politica-text">     
4228                  <br> 
4229                  <b>Atividade: Inscrição em eventos</b><br> 
4230                  Dados pessoais: Nome, nome social/afetivo, estado civil, RG, CPF, e-mail, telefone, endereço, raça, evento 
4231                  pretendido, dado sobre deficiência, formação acadêmica, e situação profissional. 
4232                  <br><br> 
4233                  Finalidade: Os dados pessoais são utilizados para viabilizar sua inscrição e participação em eventos promovidos pelo 
4234                  Senac SP que não tenham participação restrita a alunos matriculados em nossos cursos. 
4235                  <br> 
4236              </p> 
4237           
4238              <hr> 
4239           
4240              <p class="ssp-card-registro-interesse__card-politica-text"> 
4241                  <br> 
4242                  <b>Atividade: Comunicação e Marketing</b><br> 
4243                  Dados pessoais: Nome, telefone, e-mail, empresa para qual trabalha, cidade, informações fornecidas voluntariamente 
4244                  em mensagens nos nossos canais de atendimento e redes sociais. 
4245                  <br><br> 
4246                  Finalidade: Os dados pessoais são utilizados para responder perguntas, dúvidas, sugestões, elogios ou reclamações; 
4247                  realizar estudos para entender demandas e necessidades relacionadas aos nossos cursos/eventos; viabilizar o envio de 
4248                  anúncios, ofertas e/ou informações sobre cursos, eventos e/ou benefícios de acordo com seus interesses. 
4249                  <br> 
4250              </p> 
4251           
4252              <hr> 
4253               
4254              <p class="ssp-card-registro-interesse__card-politica-text"> 
4255                  <br> 
4256                  <b>Candidato a aluno</b><br> 
4257                  <b>Atividade: Processo seletivo</b><br> 
4258                  Dados pessoais: Nome, nome social/afetivo, telefone, e-mail, endereço, nacionalidade, data de nascimento, sexo, 
4259                  número de inscrição, RG/RNE/Passaporte, CPF, filiação, formação acadêmica, experiência profissional, informação 
4260                  sobre deficiência, resultados de provas, dados tornados manifestamente públicos em plataformas como LinkedIn e 
4261                  Lattes, dentre outros, conforme exigido a depender do processo seletivo. 
4262                  <br><br> 
4263                  Podem, ainda, ser coletados dados, por exemplo, de nome e CPF de responsáveis legais em caso de candidato a aluno 
4264                  menor de idade. 
4265                  <br><br> 
4266                  Finalidade: Os dados pessoais são utilizados, conforme necessário para cada processo seletivo, para fins de 
4267                  viabilizar sua inscrição e participação em processos seletivos; permitir a seleção de alunos conforme critérios 
4268                  previamente informados em editais e exigido em leis/normas setoriais aplicáveis; enviar informações sobre o processo 
4269                  seletivo, inclusive lembrete da proximidade da data de realização de provas; disponibilizar lista de classificação; 
4270                  responder perguntas, dúvidas, sugestões, elogios ou reclamações; enviar anúncios, ofertas e/ou informações sobre 
4271                  cursos, eventos e/ou benefícios de acordo com seus interesses. 
4272                  <br> 
4273              </p> 
4274           
4275                  <hr> 
4276               
4277              <p class="ssp-card-registro-interesse__card-politica-text"> 
4278                  <br> 
4279                  <b>Atividade: Bolsas de estudo</b><br> 
4280                  Dados pessoais: Nome, nome social/afetivo, estado civil, RG, CPF, e-mail, telefone, endereço, raça, curso 
4281                  pretendido, dado sobre deficiência, formação acadêmica, e situação profissional, familiar e domiciliar (incluindo 
4282                  renda bruta de pessoas do mesmo grupo familiar identificadas pelo nome). 
4283                  <br><br> 
4284                  Finalidade: Os dados pessoais são utilizados para selecionar candidatos para o recebimento de bolsas de estudo, em 
4285                  particular do Programa Senac de Gratuidade (PSG). 
4286                  <br> 
4287              </p> 
4288           
4289              <hr> 
4290           
4291              <p class="ssp-card-registro-interesse__card-politica-text"> 
4292                  <br> 
4293                  <b>Aluno</b><br> 
4294                  <b>Atividade: Matrícula</b><br> 
4295                  Dados pessoais: Instituições de ensino possuem diferentes vínculos com os alunos, relativos a variadas modalidades 
4296                  de ensino, exigindo, consequentemente, o tratamento de distintos tipos de dados pessoais como, por exemplo, nome, 
4297                  nome social/afetivo, telefone, e-mail, endereço, nacionalidade, data de nascimento, sexo, RG/RNE/Passaporte, CPF, 
4298                  número de matrícula, filiação, formação acadêmica, experiência profissional, informação sobre deficiência, 
4299                  resultados de provas, histórico acadêmico, fotos e gravações de imagem e voz, informações de pagamento (dados de 
4300                  cartão, endereço de cobrança, entre outros), atestados médicos, curso, condição socioeconômica, empresa na qual 
4301                  trabalha, cargo, desempenho em estágio e outros programas, informações de dispositivos eletrônicos, dentre outros, 
4302                  constantes em acervo acadêmico ou decorrentes da sua relação com o Senac SP. 
4303                  <br><br> 
4304                  Podem, ainda, ser coletados dados, por exemplo, de nome e CPF de responsável financeiro pelo aluno e/ou dos 
4305                  responsáveis legais do aluno se menor de idade. 
4306                  <br><br> 
4307                  Finalidade: Os dados pessoais são utilizados para viabilizar a celebração de contrato com você e, consequentemente, 
4308                  a prestação dos serviços contratados; liberar acesso a sistemas e áreas restritas; cobrar valores decorrentes do seu 
4309                  contrato conosco; e outras finalidades relacionadas. 
4310                  <br> 
4311              </p> 
4312           
4313              <hr> 
4314           
4315              <p class="ssp-card-registro-interesse__card-politica-text"> 
4316                  <br> 
4317               
4318                  <b>Atividade: Jornada Acadêmica</b><br> 
4319                  Dados pessoais: Instituições de ensino possuem diferentes vínculos com os alunos, relativos a variadas modalidades 
4320                  de ensino, exigindo, consequentemente, o tratamento de distintos tipos de dados pessoais como, por exemplo, nome, 
4321                  nome social/afetivo, telefone, e-mail, endereço, nacionalidade, data de nascimento, sexo, RG/RNE/Passaporte, CPF, 
4322                  número de matrícula, filiação, formação acadêmica, experiência profissional, informação sobre deficiência, 
4323                  resultados de provas, histórico acadêmico, fotos e gravações de imagem e voz, informações de pagamento (dados de 
4324                  cartão, endereço de cobrança, entre outros), atestados médicos, curso, condição socioeconômica, empresa na qual 
4325                  trabalha, cargo, desempenho em estágio e outros programas, informações de dispositivos eletrônicos, dentre outros, 
4326                  constantes em acervo acadêmico ou decorrentes da sua relação com o Senac SP. 
4327                  <br><br> 
4328                  Podem, ainda, ser coletados dados, por exemplo, de nome e CPF de responsável financeiro pelo aluno e/ou dos 
4329                  responsáveis legais do aluno se menor de idade. 
4330                  <br><br> 
4331                  Finalidade: Os dados pessoais são utilizados para registrar e acompanhar o desenvolvimento acadêmico e profissional 
4332                  do aluno; permitir o contato do Senac SP, por qualquer meio; viabilizar apoio pedagógico e psicopedagógico; 
4333                  responder suas perguntas, dúvidas, sugestões, elogios ou reclamações; enviar comunicações administrativas como, por 
4334                  exemplo, sobre alterações em nossas políticas; monitorar o desenvolvimento de atividades de estágio; permitir a 
4335                  realização de intercâmbio acadêmico. 
4336                  <br> 
4337              </p> 
4338               
4339              <hr> 
4340           
4341              <p class="ssp-card-registro-interesse__card-politica-text"> 
4342                  <br> 
4343                  <b>Atividade: Bolsas de estudo</b><br> 
4344                  Dados pessoais: Instituições de ensino possuem diferentes vínculos com os alunos, relativos a variadas modalidades 
4345                  de ensino, exigindo, consequentemente, o tratamento de distintos tipos de dados pessoais como, por exemplo, nome, 
4346                  nome social/afetivo, telefone, e-mail, endereço, nacionalidade, data de nascimento, sexo, RG/RNE/Passaporte, CPF, 
4347                  número de matrícula, filiação, formação acadêmica, experiência profissional, informação sobre deficiência, 
4348                  resultados de provas, histórico acadêmico, fotos e gravações de imagem e voz, informações de pagamento (dados de 
4349                  cartão, endereço de cobrança, entre outros), atestados médicos, curso, condição socioeconômica, empresa na qual 
4350                  trabalha, cargo, desempenho em estágio e outros programas, informações de dispositivos eletrônicos, dentre outros, 
4351                  constantes em acervo acadêmico ou decorrentes da sua relação com o Senac SP. 
4352                  <br><br> 
4353                  Podem, ainda, ser coletados dados, por exemplo, de nome e CPF de responsável financeiro pelo aluno e/ou dos 
4354                  responsáveis legais do aluno se menor de idade. 
4355                  <br><br> 
4356                  Finalidade: Os dados pessoais são utilizados para avaliar e monitorar o cumprimento de requisitos para o 
4357                  fornecimento de bolsas de estudo. 
4358                  <br> 
4359              </p> 
4360           
4361              <hr> 
4362           
4363              <p class="ssp-card-registro-interesse__card-politica-text"> 
4364                  <br> 
4365               
4366               
4367                  <b>Atividade: Benefícios</b><br> 
4368                  Dados pessoais: Instituições de ensino possuem diferentes vínculos com os alunos, relativos a variadas modalidades 
4369                  de ensino, exigindo, consequentemente, o tratamento de distintos tipos de dados pessoais como, por exemplo, nome, 
4370                  nome social/afetivo, telefone, e-mail, endereço, nacionalidade, data de nascimento, sexo, RG/RNE/Passaporte, CPF, 
4371                  número de matrícula, filiação, formação acadêmica, experiência profissional, informação sobre deficiência, 
4372                  resultados de provas, histórico acadêmico, fotos e gravações de imagem e voz, informações de pagamento (dados de 
4373                  cartão, endereço de cobrança, entre outros), atestados médicos, curso, condição socioeconômica, empresa na qual 
4374                  trabalha, cargo, desempenho em estágio e outros programas, informações de dispositivos eletrônicos, dentre outros, 
4375                  constantes em acervo acadêmico ou decorrentes da sua relação com o Senac SP. 
4376                  <br><br> 
4377                  Podem, ainda, ser coletados dados, por exemplo, de nome e CPF de responsável financeiro pelo aluno e/ou dos 
4378                  responsáveis legais do aluno se menor de idade. 
4379                  <br><br> 
4380                  Finalidade: Os dados pessoais são utilizados para fins de oferecer benefícios ligados ao objeto do seu contrato 
4381                  educacional com o Senac SP, como, por exemplo, o download gratuito de programas de computador devidamente 
4382                  licenciados, descontos em serviços prestados por nossos parceiros ou para aquisição de obras da Editora Senac, entre 
4383                  outros; enviar anúncios, ofertas e/ou informações sobre cursos, eventos e/ou benefícios de acordo com seus 
4384                  interesses; viabilizar análises e estudos relacionados ao interesse por e utilização de determinados benefícios, 
4385                  inclusive para aperfeiçoamento das nossas parcerias comerciais. 
4386                  <br> 
4387              </p> 
4388               
4389              <hr> 
4390               
4391              <p class="ssp-card-registro-interesse__card-politica-text"> 
4392                  <br> 
4393                  <b>Atividade: Procedimentos internos</b><br> 
4394                  Finalidade: Os dados pessoais são utilizados para fins de gestão da oferta, qualidade e aprimoramento dos serviços 
4395                  prestados pelo Senac SP, inclusive por meio do envio de pesquisas; viabilizar estratégia de aprendizagem remota e 
4396                  presencial; fornecer serviços de suporte; realizar estudos para entender demandas e necessidades relacionadas aos 
4397                  nossos produtos/serviços; preparar e disponibilizar relatórios de auditoria e gerenciais; fornecer segunda via e/ou 
4398                  cópia de documentos como diploma e histórico escolar; criar grupos de representantes de alunos para facilitar o 
4399                  diálogo e endereçamento de demandas; informar sobre a possibilidade de participação em processos acadêmicos e de 
4400                  pesquisa. 
4401                  <br> 
4402              </p> 
4403           
4404              <hr> 
4405           
4406              <p class="ssp-card-registro-interesse__card-politica-text"> 
4407                  <br> 
4408               
4409               
4410                  <b>Atividade: Obrigações legais e exercícios de direito</b><br> 
4411                  Finalidade: Os dados pessoais são utilizados para atender políticas públicas, como as assistenciais e de transporte 
4412                  escolar; viabilizar a condução do censo escolar; realizar as divulgações exigidas por normas legais ou de interesse 
4413                  do Senac SP, como lista de aprovados e conquistas obtidas; enviar dados ao MEC; inscrever estudantes para, por 
4414                  exemplo, realizar o Exame Nacional de Desempenho de Estudantes (Enade); colaborar com o cumprimento de ordem 
4415                  judicial, de autoridade competente ou de órgão fiscalizador. 
4416                  <br> 
4417              </p> 
4418           
4419              <hr> 
4420           
4421              <p class="ssp-card-registro-interesse__card-politica-text"> 
4422                  <br> 
4423               
4424                  <b>Atividade: Pesquisas e desenvolvimento</b><br> 
4425                  Finalidade: Os dados pessoais poderão ser utilizados para entrar em contato e conduzir pesquisas para identificar 
4426                  pontos de melhoria nos produtos e serviços, permitir a mensuração de qualidade dos cursos, permitir a execução do 
4427                  programa de trabalho do Senac SP, bem como para conduzir pesquisas que decorram de lei e/ou regulamento ao qual o 
4428                  Senac SP está sujeito. 
4429                  <br> 
4430              </p> 
4431               
4432              <hr> 
4433           
4434              <p class="ssp-card-registro-interesse__card-politica-text"> 
4435                  <br> 
4436               
4437                  <b>Atividade: Monitoramento</b><br> 
4438                  Finalidade: Os dados pessoais são utilizados para fins de monitorar a segurança dos ambientes de ensino e 
4439                  aprendizagem; prevenir fraudes, prática de condutas ilícitas e incidentes de segurança; cumprir exigências, por 
4440                  exemplo, de registro de acesso às aplicações estabelecidas no Marco Civil da Internet - Lei nº 12.965/2014. 
4441                  <br> 
4442              </p> 
4443               
4444              <hr> 
4445           
4446              <p class="ssp-card-registro-interesse__card-politica-text"> 
4447                  <br> 
4448               
4449                  <b>Ex-aluno</b><br> 
4450                  <b>Atividade: Relacionamento, pesquisa, obrigações legais e exercício de direitos</b><br> 
4451                  Dados pessoais: Nome, telefone, e-mail, endereço, CPF, número de matrícula, formação acadêmica, histórico acadêmico, 
4452                  fotos, dentre outros, a depender da modalidade de ensino realizada no Senac SP. 
4453                  <br><br> 
4454                  Finalidade: Os dados pessoais são utilizados para atender obrigações do Senac SP de manutenção de registros 
4455                  escolares; acompanhar o seu desenvolvimento (por exemplo, com a análise da sua empregabilidade em decorrência da 
4456                  formação recebida); responder perguntas, dúvidas, sugestões, elogios ou reclamações; enviar anúncios, ofertas e/ou 
4457                  informações sobre cursos, eventos e/ou benefícios de acordo com seus interesses; entrar em contato e conduzir 
4458                  pesquisas com fins de identificar motivação para realização de cursos e inserção produtiva no mercado, bem como para 
4459                  conduzir pesquisas que decorram de lei e/ou regulamento ao qual o Senac SP está sujeito; garantir o cumprimento de 
4460                  obrigação legal ou regulatória e/ou o exercício de direitos do Senac SP, inclusive em processos judiciais, 
4461                  administrativos e arbitrais; atender consulta de terceiros acerca do seu relacionamento com o Senac SP; colaborar 
4462                  com o cumprimento de ordem judicial, de autoridade competente, órgão fiscalizador ou com pedido de entidade de 
4463                  fornecimento de dados sobre você no caso de, por exemplo, concursos públicos. 
4464                  <br> 
4465              </p> 
4466           
4467              <hr> 
4468           
4469              <p class="ssp-card-registro-interesse__card-politica-text"> 
4470                  <br> 
4471                  <b>Terceiros relacionados a candidatos e/ou alunos</b><br> 
4472                  <b>Atividade: Atuação de responsável legal e pagamento pelo responsável financeiro. Seleção de bolsistas</b><br> 
4473                  Dados pessoais: Nome, estado civil, RG, CPF, e-mail, telefone, endereço, renda bruta, grau de parentesco com 
4474                  aluno/candidato a aluno, dados de pagamento, dados de utilização de portais do Senac SP (endereço de IP, login). 
4475                  <br><br> 
4476                  Finalidade: Os dados pessoais são utilizados para permitir a celebração de contratos com menores e a gestão da vida 
4477                  escolar por responsável legal; viabilizar operações de pagamento, pelo responsável financeiro; permitir a seleção de 
4478                  candidatos para oferta de bolsas de estudos; atender requisições de autoridades e exercício regular de direito pelo 
4479                  Senac SP. 
4480                  <br> 
4481              </p> 
4482           
4483                  <hr> 
4484               
4485              <p class="ssp-card-registro-interesse__card-politica-text"> 
4486                  <br><br> 
4487                  <b>Usuário Wi-Fi</b><br> 
4488                  <b>Atividade: Uso da rede wi-fi CONECTA SENAC</b><br> 
4489                  Dados pessoais: Nome, e-mail, CPF, endereço de IP com data e hora, informações sobre o dispositivo utilizado para a 
4490                  navegação e tipo de navegador utilizado (inclusive endereço MAC), localização do dispositivo. 
4491                  <br><br> 
4492                  Finalidade: Os dados pessoais são utilizados para viabilizar o uso da rede wi-fi "Conecta_Senac"; atender leis e 
4493                  outros normativos aplicáveis, bem como ordem de autoridades, em particular em casos de investigação; avaliar 
4494                  desempenho da rede e realizar diagnóstico de problemas, solucionando-os; comunicar sobre manutenção da rede e/ou 
4495                  outras informações relevantes; proteger você, terceiros e o Senac. 
4496                  <br><br> 
4497               
4498               
4499                  Os dados pessoais acima elencados podem ser coletados primordialmente das seguintes fontes: (a) diretamente de você 
4500                  ou da pessoa autorizada por você; (b) fornecedores do Senac SP, como empresas prestadoras de serviços; (c) sistemas 
4501                  de monitoramento de ambientes Senac SP; (d) autoridades públicas, judiciais e administrativas. Você é a única pessoa 
4502                  responsável pela exatidão, veracidade e autenticidade das informações fornecidas diretamente fornecidas. 
4503                  <br><br> 
4504                  Trataremos os dados pessoais conforme hipóteses autorizadoras listadas na LGPD, notadamente: (i) cumprimento de 
4505                  obrigação legal ou regulatória, (ii) execução de contrato, (iii) exercício regular de direitos, e (iv) legítimo 
4506                  interesse do Senac SP ou de terceiros. Para os casos em que a lei exija a obtenção de seu consentimento e/ou de seu 
4507                  responsável legal, atuaremos de modo a garantir que você seja devidamente informado acerca da necessidade da 
4508                  autorização e consequências da sua recusa, para que você possa manifestar livremente a sua decisão. 
4509                  <br><br> 
4510                  O Senac SP utilizará os seus dados pessoais para finalidades compatíveis com as informadas nesta Política e sempre 
4511                  que entender haver base legal para o tratamento posterior nos termos da LGPD. 
4512                  <br><br> 
4513               
4514               
4515                  <b>4. Com quem compartilhamos os seus dados pessoais?</b><br> 
4516                  Poderemos compartilhar os seus dados pessoais com entidades que compõem a nossa estrutura organizacional 
4517                  (Administração Nacional e as demais Administrações Regionais), com empresas com as quais mantemos algum tipo de 
4518                  relação comercial, com seu responsável legal e/ou financeiro ou, ainda, com órgãos públicos, tais como parceiros 
4519                  comerciais, instituições bancárias, escritórios de advocacia, empresas de suporte aos nossos sistemas, bureaus de 
4520                  crédito, consultorias contábeis, órgãos públicos e o Poder Judiciário. Os seus dados pessoais podem ser 
4521                  compartilhados para finalidades legítimas da seguinte maneira: 
4522                  <br><br> 
4523                  - Para condução das atividades de tratamento de dados pessoais descritas nesta Política e/ou decorrentes de seu 
4524                  relacionamento e contrato de prestação de serviços conosco; 
4525                  <br><br> 
4526                  - Para permitir que terceiros forneçam serviços para o Senac SP e/ou acompanhem a prestação de serviços contratada, 
4527                  conforme aplicável; 
4528                  <br><br> 
4529                  - Para obedecer as nossas obrigações legais, regulatórias ou contratuais, ou responder a um processo judicial ou 
4530                  administrativo, auditoria ou solicitações legais por autoridades competentes, quando entendermos que estamos 
4531                  legalmente obrigados a fazê-lo ou, ainda, para fins de atendimento a ofícios relacionados a processos seletivos e/ou 
4532                  concursos públicos dos quais você participa. As categorias de destinatários incluem, por exemplo, contrapartes em 
4533                  contratos, órgãos judiciais e governamentais; 
4534                  <br><br> 
4535                  - Para exercício legítimo de direito em processo judicial, administrativo ou arbitral, inclusive prevenindo lesão ou 
4536                  ameaça a direito; 
4537                  <br><br> 
4538                  - Quando for necessário para proteger você, o Senac SP e seus interesses legítimos e/ou terceiros; 
4539                  <br><br> 
4540                  - Como parte de due diligence corporativa e/ou due diligence relativa à fusão, aquisição, alteração societária, ou 
4541                  em casos de recuperação judicial ou falência, nós podemos divulgar os seus dados pessoais ao potencial vendedor ou 
4542                  comprador, novo prestador de serviços e respectivos assessores, na medida do quanto necessário e adequado para o 
4543                  atingimento da aludida finalidade; 
4544                  <br><br> 
4545                  - Com o seu consentimento legalmente obtido, isto é dado de forma voluntária e sem que você sofra qualquer 
4546                  consequência adversa de sua decisão que negar ou revogar o seu consentimento. 
4547                  <br><br> 
4548               
4549               
4550                  Informações agregadas e anonimizadas poderão ser livremente compartilhadas. 
4551                  <br><br> 
4552                  Para resguardar a sua privacidade, utilizamos instrumentos contratuais e auditorias para assegurar que os terceiros 
4553                  que recebam os seus dados pessoais confiram a ele a mesma proteção que nós proporcionamos. 
4554                  <br><br> 
4555                  Atualmente, apenas compartilhamos os seus dados pessoais em território nacional. Caso haja transferência dos seus 
4556                  dados pessoais para fora do Brasil, nos certificaremos de que essa transferência ocorra em observância à legislação 
4557                  brasileira e que você seja informado de tal compartilhamento, sempre que exigido pela legislação aplicável. 
4558                  <br><br> 
4559                  Você pode ter mais informações sobre os terceiros com quem compartilhamos os seus dados pessoais por meio de 
4560                  requisição específica, conforme indicado no tópico que trata sobre os seus direitos. 
4561                  <br><br> 
4562               
4563               
4564                  <b>5. Por quanto tempo tratamos os seus dados pessoais?</b><br> 
4565                  Os seus dados pessoais serão tratados pelo tempo que for necessário para cumprir a finalidade para a qual eles foram 
4566                  coletados, a menos que um período de retenção mais longo seja necessário para cumprir obrigações legais, resolver 
4567                  disputas, proteger nossos ativos ou cumprir acordos judiciais/extrajudiciais. 
4568                  <br><br> 
4569                  Para determinar o período de retenção de seus dados pessoais, além do critério acima indicado, baseamo-nos nos 
4570                  seguintes critérios: 
4571                  <br><br> 
4572                  - Existência de uma obrigação legal ou contratual de reter os dados pessoais; 
4573                  <br><br> 
4574                  - Necessidade dos dados pessoais para investigação, auditoria ou exercício regular de nossos direitos em processos 
4575                  judiciais, administrativos ou arbitrais; 
4576                  <br><br> 
4577                  - Utilidade dos dados pessoais para fins de manutenção de registros precisos, especialmente financeiros e 
4578                  educacionais. 
4579                  <br><br> 
4580                  Podemos manter os seus dados pessoais, de forma anonimizada, ou seja, que não mais se refere a você pessoalmente, 
4581                  para fins estatísticos, sem limite de tempo, na medida em que tenhamos interesse legítimo e respaldo legal. 
4582                  <br><br> 
4583               
4584               
4585                  <b>6. Como mantemos seus dados pessoais seguros?</b><br> 
4586                  Adotamos medidas administrativas e técnicas, continuamente monitoradas e revisadas, de acordo com os avanços 
4587                  tecnológicos, aptas a manter os seus dados pessoais sob nossa responsabilidade protegidos de acessos não autorizados 
4588                  e de situações acidentais ou ilícitas de destruição, perda, alteração, comunicação ou qualquer outra forma de 
4589                  tratamento inadequado ou ilícito. 
4590                  <br><br> 
4591                  Nossos sistemas eletrônicos e arquivos físicos atendem aos padrões de segurança da informação adequados, tais como: 
4592                  <br><br> 
4593                  - Controle restrito de acesso interno; 
4594                  <br><br> 
4595                  - Proteção contra acessos não autorizados com a utilização de instrumentos de dupla autenticação, senha e chaves; 
4596                  <br><br> 
4597                  - Manutenção de inventário dos acessos, com o momento, a duração, a identificação do responsável pelo acesso e dados 
4598                  acessados. 
4599                  <br><br> 
4600                  Quaisquer comunicações legalmente exigidas sobre eventuais incidentes de segurança que possam acarretar perdas de 
4601                  disponibilidade, confidencialidade ou integridade dos dados pessoais sob nossa responsabilidade serão notificadas 
4602                  adequadamente às autoridades competentes e aos titulares afetados. 
4603                  <br><br> 
4604               
4605               
4606                  <b>7. Quais são os seus direitos?</b><br> 
4607                  Você, enquanto titular de dados pessoais, possui os seguintes direitos relativos aos seus dados pessoais: 
4608                  <br><br> 
4609                  <b>Direito X Explicação</b><br> 
4610                  1. Confirmação da existência de tratamento de seus dados pessoais<br> 
4611                  Esse direito permite que você solicite a confirmação acerca da existência de tratamento dos seus dados pessoais. 
4612                  <br><br> 
4613                  2. Acesso aos dados pessoais<br> 
4614                  Esse direito permite que você solicite uma cópia dos seus dados pessoais. 
4615                  <br><br> 
4616                  3. Correção de dados pessoais incompletos, inexatos ou desatualizados<br> 
4617                  Esse direito permite que você solicite a correção e/ou retificação dos seus dados pessoais, caso identifique que 
4618                  estão incompletos, inexatos ou desatualizados. 
4619                  <br><br> 
4620                  4. Anonimização, bloqueio ou eliminação de dados pessoais<br> 
4621                  Esse direito permite que você solicite a anonimização, o bloqueio ou a eliminação dos seus dados pessoais, se 
4622                  desnecessários, excessivos ou tratados de forma incorreta. 
4623                  <br><br> 
4624                  É possível, ainda, que você solicitea eliminação dos dados pessoais tratados com o seu consentimento e desde que 
4625                  ausente outra finalidade legitimadora de sua conservação, como a existência de obrigação legal ou regulatória a ser 
4626                  por nós atendida. 
4627                  <br><br> 
4628                  <br><br> 
4629                  O exercício desse direito também dependerá da nossa possibilidade técnica de atender o pedido. 
4630                  <br><br> 
4631                  <b>5. Portabilidade dos dados pessoais</b><br> 
4632                  Esse direito permite que você solicite o envio de seus dados pessoais para outras entidades, desde que não haja 
4633                  violação da nossa propriedade intelectual. 
4634                  <br><br> 
4635                  A requisição de exercício desse direito não implica na eliminação de dados pessoais. 
4636                  <br><br> 
4637                  <b>6. Não fornecimento ou revogação do consentimento</b><br> 
4638                  Esse direito permite que você não forneça ou revogue o seu consentimento, o que não afetará a legalidade de qualquer 
4639                  tratamento de dados pessoais anteriormente. 
4640                  <br><br> 
4641                  Você possui, ainda, os direitos de; (i) obter informações completas sobre as entidades públicas ou privadas com as 
4642                  quais compartilhamos seus dados pessoais; (ii) opor-se ao tratamento de dados pessoais ante ao não cumprimento da 
4643                  legislação aplicável; (iii) solicitar a revisão de decisão baseada no tratamento automatizado de dados pessoais e; 
4644                  (iv) reclamar uma possível violação de seus dados pessoais para a Autoridade Nacional de Proteção de Dados Pessoais 
4645                  (ANPD). 
4646                  <br><br> 
4647                  Para exercer quaisquer dos direitos acima listados, você deverá entrar em contato conosco aqui. 
4648                  <br><br> 
4649                  Envidaremos nossos melhores esforços para atender o seu pedido de forma clara, célere e segura. 
4650                  <br><br> 
4651               
4652               
4653                  <b>8. Políticas de terceiros e atualizações desta política</b><br> 
4654                  Não somos responsáveis pelas práticas de privacidade de terceiros. Portanto, sempre quando você for direcionado a 
4655                  outro domínio que não o Portal Senac SP e/ou tenha acesso, em decorrência de sua relação conosco, a serviços de 
4656                  terceiros por nós não controlados, recomendamos que você analise as suas respectivas declarações de privacidade, 
4657                  entrando diretamente em contato com o terceiro responsável em caso de dúvidas. 
4658                  <br><br> 
4659                  Poderemos, ocasionalmente, atualizar a presente Política. Sempre quando ocorrer alguma alteração material 
4660                  significativa, como sobre a finalidade para a qual tratamos os seus dados pessoais, bem como a forma e duração do 
4661                  tratamento, utilizaremos esforços razoáveis para que você tenha ciência das modificações. 
4662                  <br><br> 
4663               
4664               
4665                  <b>9. Dúvidas?</b><br> 
4666                  Se você tiver quaisquer dúvidas sobre esta Política ou como tratamos os seus dados pessoais, entre em contato pelo 
4667                  e-mail privacidade@sp.senac.br. 
4668                  <br><br> 
4669                  <b>Encarregado de Dados do Senac (DPO):</b><br> 
4670                  Fernando Sátiro Pereira<br> 
4671                  Gerente de Tecnologia da Informação do Senac São Paulo<br> 
4672                  Contato: privacidade@sp.senac.br 
4673                  <br><br> 
4674                  <a href="https://www.sp.senac.br/documents/d/guest/politica_de_privacidade_senac_sp_julho2020_site" target="_blank">Confira a versão anterior da nossa política</a> 
4675                  <br><br> 
4676               
4677              </p> 
4678                   
4679 
4680              </div> 
4681 
4682              <div class="ssp-card-registro-interesse__check-item"> 
4683                  <input type="checkbox" name="" value="" id="check-politica-privacidade"> 
4684                  <label for="check-politica-privacidade">Aceito a Política de Privacidade</label> 
4685              </div> 
4686 
4687              <div class="text-center mt-5"> 
4688 
4689                  <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> 
4690 
4691                  <p class="ssp-card-registro-interesse__aviso"><strong>Importante:</strong> O registro de interesse não garante a vaga.</p> 
4692 
4693              </div> 
4694 
4695          </div>     
4696   
4697        <#else> 
4698 
4699            <div class="ssp-card-registro-interesse emed"> 
4700 
4701              <i id="btn-close-Modal-registro-interesse" class="fas fa-times btn-close__modal-login"></i> 
4702 
4703              <p class="ssp-card-registro-interesse__label-curso-selecionado">Curso selecionado:</p> 
4704 
4705              <div class="emed-select-group"> 
4706 
4707                  <h3 class="ssp-card-registro-interesse__title-modal"></h3> 
4708                   
4709                  <div id="unidades-registro-interesse"> 
4710       
4711                      <h4 class="ssp-card-registro-interesse__title-section-itens">Escolha uma unidade</h4> 
4712             
4713                      <div id="select-unidades-registro-interesse"> 
4714                        <select class="ssp-card-registro-interesse__select unidades" id="select_0"><option value="" disabled="" selected="">Selecione uma unidade</option></select> 
4715                      </div> 
4716       
4717                      <div class="ssp-card-registro-interesse__add-mais"> 
4718                          <a class="" id="add-unidade-regsitro-interesse" href="#a"><i class="fas fa-plus mr-1"></i>Adicionar unidade</a> 
4719                           
4720                          &nbsp; 
4721                           
4722                          <a class="" id="remove-unidade-regsitro-interesse" href="#a"><i class="fas fa-times mr-1"></i>Remover unidade</a> 
4723                      </div> 
4724       
4725                  </div> 
4726 
4727              </div> 
4728 
4729               
4730              <div id="periodo-registro-interesse"> 
4731 
4732                  <p class="ssp-card-registro-interesse__title-section-itens">Período:</p> 
4733 
4734                  <div class="ssp-card-registro-interesse__check-itens-content periodos-registro-interesse">                   
4735                      <div class="ssp-card-registro-interesse__check-item"> 
4736                          <input type="checkbox" name="" value="M" id="periodo-m"> 
4737                          <label for="periodo-m">Manhã</label> 
4738                      </div> 
4739                       
4740                      <div class="ssp-card-registro-interesse__check-item"> 
4741                          <input type="checkbox" name="" value="T" id="periodo-t"> 
4742                          <label for="periodo-t">Tarde</label> 
4743                      </div> 
4744                       
4745                      <div class="ssp-card-registro-interesse__check-item" id="div-campo-todos"> 
4746                          <input type="checkbox" name="" value="" id="check-todos-periodos"> 
4747                          <label for="check-todos-periodos">Todos</label> 
4748                      </div> 
4749 
4750                  </div> 
4751 
4752              </div> 
4753 
4754              <div id="turmas-registro-interesse"> 
4755 
4756                  <p class="ssp-card-registro-interesse__title-section-itens">Turma:</p> 
4757 
4758                  <div class="ssp-card-registro-interesse__check-itens-content turmas-registro-interesse">  
4759 
4760                      <div class="ssp-card-registro-interesse__check-item"> 
4761                          <input type="checkbox" name="" value="1" id="primeiro"> 
4762                          <label for="primeiro">1º ano</label> 
4763                      </div> 
4764 
4765                      <div class="ssp-card-registro-interesse__check-item"> 
4766                          <input type="checkbox" name="" value="2" id="segundo"> 
4767                          <label for="segundo">2º ano</label> 
4768                      </div> 
4769 
4770                      <div class="ssp-card-registro-interesse__check-item"> 
4771                          <input type="checkbox" name="" value="3" id="terceiro"> 
4772                          <label for="terceiro">3º ano</label> 
4773                      </div> 
4774 
4775                  </div> 
4776 
4777              </div> 
4778 
4779              <div id="msg-transferencia-emed"> 
4780 
4781                  <div class="transferencia-emed-title"> 
4782                      <i class="fas fa-comment-exclamation"></i> 
4783                      <p>Quer se transferir de escola?</p> 
4784                  </div> 
4785 
4786                  <div class="transferencia-emed-link"> 
4787                      <a href="#">Fale direto com a unidade de interesse.</a> 
4788                  </div> 
4789 
4790              </div> 
4791 
4792              <div class="ssp-card-registro-interesse__card-politica"> 
4793 
4794                <p class="ssp-card-registro-interesse__card-politica-title"> 
4795                  <strong>Política de Privacidade do Senac São Paulo </strong> 
4796              </p> 
4797           
4798              <p>Data de publicação 06/08/2024</p> 
4799           
4800              <p class="ssp-card-registro-interesse__card-politica-text"> 
4801                  O Serviço Nacional de Aprendizagem Comercial - Senac, 
4802                  Administração no Estado de São Paulo (Senac SP) zela pela privacidade e proteção dos dados pessoais de todos aqueles 
4803                  com quem se relaciona. 
4804              </p> 
4805               
4806              <p class="ssp-card-registro-interesse__card-politica-text"> 
4807           
4808                  A presente Política de Privacidade tem o objetivo de informar sobre quais dados pessoais a seu respeito são 
4809                  coletados; por qual motivo os coletamos; com quem os compartilhamos; por quanto tempo os mantemos conosco; quais as 
4810                  medidas de segurança que adotamos; e quais os direitos que você tem. 
4811                  <br><br> 
4812                  É importante que você leia esta Política com atenção, bem como a consulte periodicamente para verificar possíveis 
4813                  alterações no que diz respeito ao tratamento de seus dados pessoais. 
4814                  <br><br> 
4815                  Em caso de dúvidas, entre em contato via e-mail indicado no final deste documento. 
4816                  <br><br> 
4817                  <b>1. Quem somos nós?</b><br> 
4818                  O Senac SP é a Administração Regional do Senac no Estado de São Paulo. O Senac SP está inscrito no CNPJ sob o nº 
4819                  03.709.814/0001-98 e tem sede à Rua Dr. Vila Nova, 228, 7º andar, na cidade de São Paulo, Estado de São Paulo. Para 
4820                  fins da Lei Geral de Proteção de Dados Pessoais (Lei nº 13.709/2018, LGPD) e desta Política, o Senac SP é 
4821                  controlador dos dados pessoais. 
4822                  <br><br> 
4823                  <b>2. O que você precisa saber antes de ler esta política?</b> 
4824                  <br> 
4825                  Dados pessoais são todas as informações que identificam ou permitam a sua identificação. Por exemplo, seu nome, CPF, 
4826                  e-mail, endereço, dados de contato, dados de conta bancária, entre outros. Incluem-se nesse conceito os dados 
4827                  pessoais sensíveis, conforme definição a seguir: 
4828                  <br><br> 
4829                  Dados pessoais sensíveis são as informações que revelam ou cujo tratamento venha revelar origem racial ou étnica, 
4830                  convicção religiosa, opinião política, filiação à sindicato ou à organização de caráter religioso, filosófico ou 
4831                  político, dados de saúde ou sobre a vida sexual, dado genético ou biométrico. 
4832                  <br><br> 
4833                  Encarregado é o seu canal de contato sobre assuntos relacionados à privacidade e à proteção de dados pessoais. Se 
4834                  você tiver qualquer dúvida sobre como os seus dados pessoais ou de seus dependentes/beneficiários são tratados por 
4835                  nós, é ele quem vai ajudar. 
4836                  <br><br> 
4837                  Titular é a pessoa física a quem se referem os dados pessoais objeto do tratamento. 
4838                  <br><br> 
4839                  Tratamento significa qualquer operação realizada com dados pessoais, tais como coleta, produção, classificação, 
4840                  utilização, acesso, processamento, armazenamento, eliminação, modificação, compartilhamento, transferência, entre 
4841                  outros. 
4842                  <br><br> 
4843                  Sempre que houver menção aos "Termos de Uso do Senac SP", "Nós" ou "Nossos", estaremos nos referindo à instituição 
4844                  descrita no tópico "Quem somos nós". Da mesma forma, toda vez que mencionarmos "você", "seu" ou "sua", estamos nos 
4845                  referindo a você, titular de dados pessoais, que possui relação com o Senac SP na qualidade de pessoa interessada, 
4846                  candidato a aluno, aluno e/ou ex-aluno, terceiros relacionados a candidatos ou alunos usuário de nossa rede wi-fi. 
4847                  <br><br> 
4848                  <b>3. Quais dados pessoais são tratados e por quê?</b> 
4849                  <br> 
4850                  O Senac SP realiza, a depender de sua relação conosco, o tratamento dos dados pessoais a seguir identificados para 
4851                  atendimento às finalidades ora descritas, conforme aplicável: 
4852                  <br><br> 
4853                  <b>Visitante / Interessado</b> 
4854                  <br> 
4855                  <b>Atividade: Navegação</b> 
4856                  <br> 
4857                  Dados pessoais: Endereço de IP com data e hora, informações sobre o dispositivo utilizado para a navegação e tipo de 
4858                  navegador utilizado, localização do dispositivo, sequência de cliques, termos pesquisados no Portal Senac SP, origem 
4859                  do tráfego. 
4860                  <br><br> 
4861                  Finalidade: Os dados pessoais são utilizados para permitir a análise do tráfego do Portal Senac SP; viabilizar o 
4862                  envio de anúncios, ofertas e/ou informações sobre cursos, eventos e/ou benefícios de acordo com seus interesses; 
4863                  aprimorar as funcionalidades do Portal Senac SP; monitorar fraudes e segurança, inclusive detectando e prevenindo 
4864                  ataques cibernéticos ou tentativas de roubo de identidade; atender exigências legais. 
4865                  <br><br> 
4866              </p> 
4867           
4868              <hr> 
4869           
4870              <p class="ssp-card-registro-interesse__card-politica-text"> 
4871                  <br> 
4872                  <b>Atividade: Cadastro</b><br> 
4873                  Dados pessoais: Nome, nome social, CPF, data de nascimento, sexo, documento de identificação civil, endereço, 
4874                  telefone. 
4875                  <br><br> 
4876                  Finalidade: Os dados pessoais são utilizados para cadastro na base de dados do Senac SP, havendo validação do 
4877                  cadastro por duplo fator de autenticação. 
4878                  <br> 
4879              </p> 
4880           
4881              <hr> 
4882           
4883              <p class="ssp-card-registro-interesse__card-politica-text">     
4884                  <br> 
4885                  <b>Atividade: Inscrição em eventos</b><br> 
4886                  Dados pessoais: Nome, nome social/afetivo, estado civil, RG, CPF, e-mail, telefone, endereço, raça, evento 
4887                  pretendido, dado sobre deficiência, formação acadêmica, e situação profissional. 
4888                  <br><br> 
4889                  Finalidade: Os dados pessoais são utilizados para viabilizar sua inscrição e participação em eventos promovidos pelo 
4890                  Senac SP que não tenham participação restrita a alunos matriculados em nossos cursos. 
4891                  <br> 
4892              </p> 
4893           
4894              <hr> 
4895           
4896              <p class="ssp-card-registro-interesse__card-politica-text"> 
4897                  <br> 
4898                  <b>Atividade: Comunicação e Marketing</b><br> 
4899                  Dados pessoais: Nome, telefone, e-mail, empresa para qual trabalha, cidade, informações fornecidas voluntariamente 
4900                  em mensagens nos nossos canais de atendimento e redes sociais. 
4901                  <br><br> 
4902                  Finalidade: Os dados pessoais são utilizados para responder perguntas, dúvidas, sugestões, elogios ou reclamações; 
4903                  realizar estudos para entender demandas e necessidades relacionadas aos nossos cursos/eventos; viabilizar o envio de 
4904                  anúncios, ofertas e/ou informações sobre cursos, eventos e/ou benefícios de acordo com seus interesses. 
4905                  <br> 
4906              </p> 
4907           
4908              <hr> 
4909               
4910              <p class="ssp-card-registro-interesse__card-politica-text"> 
4911                  <br> 
4912                  <b>Candidato a aluno</b><br> 
4913                  <b>Atividade: Processo seletivo</b><br> 
4914                  Dados pessoais: Nome, nome social/afetivo, telefone, e-mail, endereço, nacionalidade, data de nascimento, sexo, 
4915                  número de inscrição, RG/RNE/Passaporte, CPF, filiação, formação acadêmica, experiência profissional, informação 
4916                  sobre deficiência, resultados de provas, dados tornados manifestamente públicos em plataformas como LinkedIn e 
4917                  Lattes, dentre outros, conforme exigido a depender do processo seletivo. 
4918                  <br><br> 
4919                  Podem, ainda, ser coletados dados, por exemplo, de nome e CPF de responsáveis legais em caso de candidato a aluno 
4920                  menor de idade. 
4921                  <br><br> 
4922                  Finalidade: Os dados pessoais são utilizados, conforme necessário para cada processo seletivo, para fins de 
4923                  viabilizar sua inscrição e participação em processos seletivos; permitir a seleção de alunos conforme critérios 
4924                  previamente informados em editais e exigido em leis/normas setoriais aplicáveis; enviar informações sobre o processo 
4925                  seletivo, inclusive lembrete da proximidade da data de realização de provas; disponibilizar lista de classificação; 
4926                  responder perguntas, dúvidas, sugestões, elogios ou reclamações; enviar anúncios, ofertas e/ou informações sobre 
4927                  cursos, eventos e/ou benefícios de acordo com seus interesses. 
4928                  <br> 
4929              </p> 
4930           
4931                  <hr> 
4932               
4933              <p class="ssp-card-registro-interesse__card-politica-text"> 
4934                  <br> 
4935                  <b>Atividade: Bolsas de estudo</b><br> 
4936                  Dados pessoais: Nome, nome social/afetivo, estado civil, RG, CPF, e-mail, telefone, endereço, raça, curso 
4937                  pretendido, dado sobre deficiência, formação acadêmica, e situação profissional, familiar e domiciliar (incluindo 
4938                  renda bruta de pessoas do mesmo grupo familiar identificadas pelo nome). 
4939                  <br><br> 
4940                  Finalidade: Os dados pessoais são utilizados para selecionar candidatos para o recebimento de bolsas de estudo, em 
4941                  particular do Programa Senac de Gratuidade (PSG). 
4942                  <br> 
4943              </p> 
4944           
4945              <hr> 
4946           
4947              <p class="ssp-card-registro-interesse__card-politica-text"> 
4948                  <br> 
4949                  <b>Aluno</b><br> 
4950                  <b>Atividade: Matrícula</b><br> 
4951                  Dados pessoais: Instituições de ensino possuem diferentes vínculos com os alunos, relativos a variadas modalidades 
4952                  de ensino, exigindo, consequentemente, o tratamento de distintos tipos de dados pessoais como, por exemplo, nome, 
4953                  nome social/afetivo, telefone, e-mail, endereço, nacionalidade, data de nascimento, sexo, RG/RNE/Passaporte, CPF, 
4954                  número de matrícula, filiação, formação acadêmica, experiência profissional, informação sobre deficiência, 
4955                  resultados de provas, histórico acadêmico, fotos e gravações de imagem e voz, informações de pagamento (dados de 
4956                  cartão, endereço de cobrança, entre outros), atestados médicos, curso, condição socioeconômica, empresa na qual 
4957                  trabalha, cargo, desempenho em estágio e outros programas, informações de dispositivos eletrônicos, dentre outros, 
4958                  constantes em acervo acadêmico ou decorrentes da sua relação com o Senac SP. 
4959                  <br><br> 
4960                  Podem, ainda, ser coletados dados, por exemplo, de nome e CPF de responsável financeiro pelo aluno e/ou dos 
4961                  responsáveis legais do aluno se menor de idade. 
4962                  <br><br> 
4963                  Finalidade: Os dados pessoais são utilizados para viabilizar a celebração de contrato com você e, consequentemente, 
4964                  a prestação dos serviços contratados; liberar acesso a sistemas e áreas restritas; cobrar valores decorrentes do seu 
4965                  contrato conosco; e outras finalidades relacionadas. 
4966                  <br> 
4967              </p> 
4968           
4969              <hr> 
4970           
4971              <p class="ssp-card-registro-interesse__card-politica-text"> 
4972                  <br> 
4973               
4974                  <b>Atividade: Jornada Acadêmica</b><br> 
4975                  Dados pessoais: Instituições de ensino possuem diferentes vínculos com os alunos, relativos a variadas modalidades 
4976                  de ensino, exigindo, consequentemente, o tratamento de distintos tipos de dados pessoais como, por exemplo, nome, 
4977                  nome social/afetivo, telefone, e-mail, endereço, nacionalidade, data de nascimento, sexo, RG/RNE/Passaporte, CPF, 
4978                  número de matrícula, filiação, formação acadêmica, experiência profissional, informação sobre deficiência, 
4979                  resultados de provas, histórico acadêmico, fotos e gravações de imagem e voz, informações de pagamento (dados de 
4980                  cartão, endereço de cobrança, entre outros), atestados médicos, curso, condição socioeconômica, empresa na qual 
4981                  trabalha, cargo, desempenho em estágio e outros programas, informações de dispositivos eletrônicos, dentre outros, 
4982                  constantes em acervo acadêmico ou decorrentes da sua relação com o Senac SP. 
4983                  <br><br> 
4984                  Podem, ainda, ser coletados dados, por exemplo, de nome e CPF de responsável financeiro pelo aluno e/ou dos 
4985                  responsáveis legais do aluno se menor de idade. 
4986                  <br><br> 
4987                  Finalidade: Os dados pessoais são utilizados para registrar e acompanhar o desenvolvimento acadêmico e profissional 
4988                  do aluno; permitir o contato do Senac SP, por qualquer meio; viabilizar apoio pedagógico e psicopedagógico; 
4989                  responder suas perguntas, dúvidas, sugestões, elogios ou reclamações; enviar comunicações administrativas como, por 
4990                  exemplo, sobre alterações em nossas políticas; monitorar o desenvolvimento de atividades de estágio; permitir a 
4991                  realização de intercâmbio acadêmico. 
4992                  <br> 
4993              </p> 
4994               
4995              <hr> 
4996           
4997              <p class="ssp-card-registro-interesse__card-politica-text"> 
4998                  <br> 
4999                  <b>Atividade: Bolsas de estudo</b><br> 
5000                  Dados pessoais: Instituições de ensino possuem diferentes vínculos com os alunos, relativos a variadas modalidades 
5001                  de ensino, exigindo, consequentemente, o tratamento de distintos tipos de dados pessoais como, por exemplo, nome, 
5002                  nome social/afetivo, telefone, e-mail, endereço, nacionalidade, data de nascimento, sexo, RG/RNE/Passaporte, CPF, 
5003                  número de matrícula, filiação, formação acadêmica, experiência profissional, informação sobre deficiência, 
5004                  resultados de provas, histórico acadêmico, fotos e gravações de imagem e voz, informações de pagamento (dados de 
5005                  cartão, endereço de cobrança, entre outros), atestados médicos, curso, condição socioeconômica, empresa na qual 
5006                  trabalha, cargo, desempenho em estágio e outros programas, informações de dispositivos eletrônicos, dentre outros, 
5007                  constantes em acervo acadêmico ou decorrentes da sua relação com o Senac SP. 
5008                  <br><br> 
5009                  Podem, ainda, ser coletados dados, por exemplo, de nome e CPF de responsável financeiro pelo aluno e/ou dos 
5010                  responsáveis legais do aluno se menor de idade. 
5011                  <br><br> 
5012                  Finalidade: Os dados pessoais são utilizados para avaliar e monitorar o cumprimento de requisitos para o 
5013                  fornecimento de bolsas de estudo. 
5014                  <br> 
5015              </p> 
5016           
5017              <hr> 
5018           
5019              <p class="ssp-card-registro-interesse__card-politica-text"> 
5020                  <br> 
5021               
5022               
5023                  <b>Atividade: Benefícios</b><br> 
5024                  Dados pessoais: Instituições de ensino possuem diferentes vínculos com os alunos, relativos a variadas modalidades 
5025                  de ensino, exigindo, consequentemente, o tratamento de distintos tipos de dados pessoais como, por exemplo, nome, 
5026                  nome social/afetivo, telefone, e-mail, endereço, nacionalidade, data de nascimento, sexo, RG/RNE/Passaporte, CPF, 
5027                  número de matrícula, filiação, formação acadêmica, experiência profissional, informação sobre deficiência, 
5028                  resultados de provas, histórico acadêmico, fotos e gravações de imagem e voz, informações de pagamento (dados de 
5029                  cartão, endereço de cobrança, entre outros), atestados médicos, curso, condição socioeconômica, empresa na qual 
5030                  trabalha, cargo, desempenho em estágio e outros programas, informações de dispositivos eletrônicos, dentre outros, 
5031                  constantes em acervo acadêmico ou decorrentes da sua relação com o Senac SP. 
5032                  <br><br> 
5033                  Podem, ainda, ser coletados dados, por exemplo, de nome e CPF de responsável financeiro pelo aluno e/ou dos 
5034                  responsáveis legais do aluno se menor de idade. 
5035                  <br><br> 
5036                  Finalidade: Os dados pessoais são utilizados para fins de oferecer benefícios ligados ao objeto do seu contrato 
5037                  educacional com o Senac SP, como, por exemplo, o download gratuito de programas de computador devidamente 
5038                  licenciados, descontos em serviços prestados por nossos parceiros ou para aquisição de obras da Editora Senac, entre 
5039                  outros; enviar anúncios, ofertas e/ou informações sobre cursos, eventos e/ou benefícios de acordo com seus 
5040                  interesses; viabilizar análises e estudos relacionados ao interesse por e utilização de determinados benefícios, 
5041                  inclusive para aperfeiçoamento das nossas parcerias comerciais. 
5042                  <br> 
5043              </p> 
5044               
5045              <hr> 
5046               
5047              <p class="ssp-card-registro-interesse__card-politica-text"> 
5048                  <br> 
5049                  <b>Atividade: Procedimentos internos</b><br> 
5050                  Finalidade: Os dados pessoais são utilizados para fins de gestão da oferta, qualidade e aprimoramento dos serviços 
5051                  prestados pelo Senac SP, inclusive por meio do envio de pesquisas; viabilizar estratégia de aprendizagem remota e 
5052                  presencial; fornecer serviços de suporte; realizar estudos para entender demandas e necessidades relacionadas aos 
5053                  nossos produtos/serviços; preparar e disponibilizar relatórios de auditoria e gerenciais; fornecer segunda via e/ou 
5054                  cópia de documentos como diploma e histórico escolar; criar grupos de representantes de alunos para facilitar o 
5055                  diálogo e endereçamento de demandas; informar sobre a possibilidade de participação em processos acadêmicos e de 
5056                  pesquisa. 
5057                  <br> 
5058              </p> 
5059           
5060              <hr> 
5061           
5062              <p class="ssp-card-registro-interesse__card-politica-text"> 
5063                  <br> 
5064               
5065               
5066                  <b>Atividade: Obrigações legais e exercícios de direito</b><br> 
5067                  Finalidade: Os dados pessoais são utilizados para atender políticas públicas, como as assistenciais e de transporte 
5068                  escolar; viabilizar a condução do censo escolar; realizar as divulgações exigidas por normas legais ou de interesse 
5069                  do Senac SP, como lista de aprovados e conquistas obtidas; enviar dados ao MEC; inscrever estudantes para, por 
5070                  exemplo, realizar o Exame Nacional de Desempenho de Estudantes (Enade); colaborar com o cumprimento de ordem 
5071                  judicial, de autoridade competente ou de órgão fiscalizador. 
5072                  <br> 
5073              </p> 
5074           
5075              <hr> 
5076           
5077              <p class="ssp-card-registro-interesse__card-politica-text"> 
5078                  <br> 
5079               
5080                  <b>Atividade: Pesquisas e desenvolvimento</b><br> 
5081                  Finalidade: Os dados pessoais poderão ser utilizados para entrar em contato e conduzir pesquisas para identificar 
5082                  pontos de melhoria nos produtos e serviços, permitir a mensuração de qualidade dos cursos, permitir a execução do 
5083                  programa de trabalho do Senac SP, bem como para conduzir pesquisas que decorram de lei e/ou regulamento ao qual o 
5084                  Senac SP está sujeito. 
5085                  <br> 
5086              </p> 
5087               
5088              <hr> 
5089           
5090              <p class="ssp-card-registro-interesse__card-politica-text"> 
5091                  <br> 
5092               
5093                  <b>Atividade: Monitoramento</b><br> 
5094                  Finalidade: Os dados pessoais são utilizados para fins de monitorar a segurança dos ambientes de ensino e 
5095                  aprendizagem; prevenir fraudes, prática de condutas ilícitas e incidentes de segurança; cumprir exigências, por 
5096                  exemplo, de registro de acesso às aplicações estabelecidas no Marco Civil da Internet - Lei nº 12.965/2014. 
5097                  <br> 
5098              </p> 
5099               
5100              <hr> 
5101           
5102              <p class="ssp-card-registro-interesse__card-politica-text"> 
5103                  <br> 
5104               
5105                  <b>Ex-aluno</b><br> 
5106                  <b>Atividade: Relacionamento, pesquisa, obrigações legais e exercício de direitos</b><br> 
5107                  Dados pessoais: Nome, telefone, e-mail, endereço, CPF, número de matrícula, formação acadêmica, histórico acadêmico, 
5108                  fotos, dentre outros, a depender da modalidade de ensino realizada no Senac SP. 
5109                  <br><br> 
5110                  Finalidade: Os dados pessoais são utilizados para atender obrigações do Senac SP de manutenção de registros 
5111                  escolares; acompanhar o seu desenvolvimento (por exemplo, com a análise da sua empregabilidade em decorrência da 
5112                  formação recebida); responder perguntas, dúvidas, sugestões, elogios ou reclamações; enviar anúncios, ofertas e/ou 
5113                  informações sobre cursos, eventos e/ou benefícios de acordo com seus interesses; entrar em contato e conduzir 
5114                  pesquisas com fins de identificar motivação para realização de cursos e inserção produtiva no mercado, bem como para 
5115                  conduzir pesquisas que decorram de lei e/ou regulamento ao qual o Senac SP está sujeito; garantir o cumprimento de 
5116                  obrigação legal ou regulatória e/ou o exercício de direitos do Senac SP, inclusive em processos judiciais, 
5117                  administrativos e arbitrais; atender consulta de terceiros acerca do seu relacionamento com o Senac SP; colaborar 
5118                  com o cumprimento de ordem judicial, de autoridade competente, órgão fiscalizador ou com pedido de entidade de 
5119                  fornecimento de dados sobre você no caso de, por exemplo, concursos públicos. 
5120                  <br> 
5121              </p> 
5122           
5123              <hr> 
5124           
5125              <p class="ssp-card-registro-interesse__card-politica-text"> 
5126                  <br> 
5127                  <b>Terceiros relacionados a candidatos e/ou alunos</b><br> 
5128                  <b>Atividade: Atuação de responsável legal e pagamento pelo responsável financeiro. Seleção de bolsistas</b><br> 
5129                  Dados pessoais: Nome, estado civil, RG, CPF, e-mail, telefone, endereço, renda bruta, grau de parentesco com 
5130                  aluno/candidato a aluno, dados de pagamento, dados de utilização de portais do Senac SP (endereço de IP, login). 
5131                  <br><br> 
5132                  Finalidade: Os dados pessoais são utilizados para permitir a celebração de contratos com menores e a gestão da vida 
5133                  escolar por responsável legal; viabilizar operações de pagamento, pelo responsável financeiro; permitir a seleção de 
5134                  candidatos para oferta de bolsas de estudos; atender requisições de autoridades e exercício regular de direito pelo 
5135                  Senac SP. 
5136                  <br> 
5137              </p> 
5138           
5139                  <hr> 
5140               
5141              <p class="ssp-card-registro-interesse__card-politica-text"> 
5142                  <br><br> 
5143                  <b>Usuário Wi-Fi</b><br> 
5144                  <b>Atividade: Uso da rede wi-fi CONECTA SENAC</b><br> 
5145                  Dados pessoais: Nome, e-mail, CPF, endereço de IP com data e hora, informações sobre o dispositivo utilizado para a 
5146                  navegação e tipo de navegador utilizado (inclusive endereço MAC), localização do dispositivo. 
5147                  <br><br> 
5148                  Finalidade: Os dados pessoais são utilizados para viabilizar o uso da rede wi-fi "Conecta_Senac"; atender leis e 
5149                  outros normativos aplicáveis, bem como ordem de autoridades, em particular em casos de investigação; avaliar 
5150                  desempenho da rede e realizar diagnóstico de problemas, solucionando-os; comunicar sobre manutenção da rede e/ou 
5151                  outras informações relevantes; proteger você, terceiros e o Senac. 
5152                  <br><br> 
5153               
5154               
5155                  Os dados pessoais acima elencados podem ser coletados primordialmente das seguintes fontes: (a) diretamente de você 
5156                  ou da pessoa autorizada por você; (b) fornecedores do Senac SP, como empresas prestadoras de serviços; (c) sistemas 
5157                  de monitoramento de ambientes Senac SP; (d) autoridades públicas, judiciais e administrativas. Você é a única pessoa 
5158                  responsável pela exatidão, veracidade e autenticidade das informações fornecidas diretamente fornecidas. 
5159                  <br><br> 
5160                  Trataremos os dados pessoais conforme hipóteses autorizadoras listadas na LGPD, notadamente: (i) cumprimento de 
5161                  obrigação legal ou regulatória, (ii) execução de contrato, (iii) exercício regular de direitos, e (iv) legítimo 
5162                  interesse do Senac SP ou de terceiros. Para os casos em que a lei exija a obtenção de seu consentimento e/ou de seu 
5163                  responsável legal, atuaremos de modo a garantir que você seja devidamente informado acerca da necessidade da 
5164                  autorização e consequências da sua recusa, para que você possa manifestar livremente a sua decisão. 
5165                  <br><br> 
5166                  O Senac SP utilizará os seus dados pessoais para finalidades compatíveis com as informadas nesta Política e sempre 
5167                  que entender haver base legal para o tratamento posterior nos termos da LGPD. 
5168                  <br><br> 
5169               
5170               
5171                  <b>4. Com quem compartilhamos os seus dados pessoais?</b><br> 
5172                  Poderemos compartilhar os seus dados pessoais com entidades que compõem a nossa estrutura organizacional 
5173                  (Administração Nacional e as demais Administrações Regionais), com empresas com as quais mantemos algum tipo de 
5174                  relação comercial, com seu responsável legal e/ou financeiro ou, ainda, com órgãos públicos, tais como parceiros 
5175                  comerciais, instituições bancárias, escritórios de advocacia, empresas de suporte aos nossos sistemas, bureaus de 
5176                  crédito, consultorias contábeis, órgãos públicos e o Poder Judiciário. Os seus dados pessoais podem ser 
5177                  compartilhados para finalidades legítimas da seguinte maneira: 
5178                  <br><br> 
5179                  - Para condução das atividades de tratamento de dados pessoais descritas nesta Política e/ou decorrentes de seu 
5180                  relacionamento e contrato de prestação de serviços conosco; 
5181                  <br><br> 
5182                  - Para permitir que terceiros forneçam serviços para o Senac SP e/ou acompanhem a prestação de serviços contratada, 
5183                  conforme aplicável; 
5184                  <br><br> 
5185                  - Para obedecer as nossas obrigações legais, regulatórias ou contratuais, ou responder a um processo judicial ou 
5186                  administrativo, auditoria ou solicitações legais por autoridades competentes, quando entendermos que estamos 
5187                  legalmente obrigados a fazê-lo ou, ainda, para fins de atendimento a ofícios relacionados a processos seletivos e/ou 
5188                  concursos públicos dos quais você participa. As categorias de destinatários incluem, por exemplo, contrapartes em 
5189                  contratos, órgãos judiciais e governamentais; 
5190                  <br><br> 
5191                  - Para exercício legítimo de direito em processo judicial, administrativo ou arbitral, inclusive prevenindo lesão ou 
5192                  ameaça a direito; 
5193                  <br><br> 
5194                  - Quando for necessário para proteger você, o Senac SP e seus interesses legítimos e/ou terceiros; 
5195                  <br><br> 
5196                  - Como parte de due diligence corporativa e/ou due diligence relativa à fusão, aquisição, alteração societária, ou 
5197                  em casos de recuperação judicial ou falência, nós podemos divulgar os seus dados pessoais ao potencial vendedor ou 
5198                  comprador, novo prestador de serviços e respectivos assessores, na medida do quanto necessário e adequado para o 
5199                  atingimento da aludida finalidade; 
5200                  <br><br> 
5201                  - Com o seu consentimento legalmente obtido, isto é dado de forma voluntária e sem que você sofra qualquer 
5202                  consequência adversa de sua decisão que negar ou revogar o seu consentimento. 
5203                  <br><br> 
5204               
5205               
5206                  Informações agregadas e anonimizadas poderão ser livremente compartilhadas. 
5207                  <br><br> 
5208                  Para resguardar a sua privacidade, utilizamos instrumentos contratuais e auditorias para assegurar que os terceiros 
5209                  que recebam os seus dados pessoais confiram a ele a mesma proteção que nós proporcionamos. 
5210                  <br><br> 
5211                  Atualmente, apenas compartilhamos os seus dados pessoais em território nacional. Caso haja transferência dos seus 
5212                  dados pessoais para fora do Brasil, nos certificaremos de que essa transferência ocorra em observância à legislação 
5213                  brasileira e que você seja informado de tal compartilhamento, sempre que exigido pela legislação aplicável. 
5214                  <br><br> 
5215                  Você pode ter mais informações sobre os terceiros com quem compartilhamos os seus dados pessoais por meio de 
5216                  requisição específica, conforme indicado no tópico que trata sobre os seus direitos. 
5217                  <br><br> 
5218               
5219               
5220                  <b>5. Por quanto tempo tratamos os seus dados pessoais?</b><br> 
5221                  Os seus dados pessoais serão tratados pelo tempo que for necessário para cumprir a finalidade para a qual eles foram 
5222                  coletados, a menos que um período de retenção mais longo seja necessário para cumprir obrigações legais, resolver 
5223                  disputas, proteger nossos ativos ou cumprir acordos judiciais/extrajudiciais. 
5224                  <br><br> 
5225                  Para determinar o período de retenção de seus dados pessoais, além do critério acima indicado, baseamo-nos nos 
5226                  seguintes critérios: 
5227                  <br><br> 
5228                  - Existência de uma obrigação legal ou contratual de reter os dados pessoais; 
5229                  <br><br> 
5230                  - Necessidade dos dados pessoais para investigação, auditoria ou exercício regular de nossos direitos em processos 
5231                  judiciais, administrativos ou arbitrais; 
5232                  <br><br> 
5233                  - Utilidade dos dados pessoais para fins de manutenção de registros precisos, especialmente financeiros e 
5234                  educacionais. 
5235                  <br><br> 
5236                  Podemos manter os seus dados pessoais, de forma anonimizada, ou seja, que não mais se refere a você pessoalmente, 
5237                  para fins estatísticos, sem limite de tempo, na medida em que tenhamos interesse legítimo e respaldo legal. 
5238                  <br><br> 
5239               
5240               
5241                  <b>6. Como mantemos seus dados pessoais seguros?</b><br> 
5242                  Adotamos medidas administrativas e técnicas, continuamente monitoradas e revisadas, de acordo com os avanços 
5243                  tecnológicos, aptas a manter os seus dados pessoais sob nossa responsabilidade protegidos de acessos não autorizados 
5244                  e de situações acidentais ou ilícitas de destruição, perda, alteração, comunicação ou qualquer outra forma de 
5245                  tratamento inadequado ou ilícito. 
5246                  <br><br> 
5247                  Nossos sistemas eletrônicos e arquivos físicos atendem aos padrões de segurança da informação adequados, tais como: 
5248                  <br><br> 
5249                  - Controle restrito de acesso interno; 
5250                  <br><br> 
5251                  - Proteção contra acessos não autorizados com a utilização de instrumentos de dupla autenticação, senha e chaves; 
5252                  <br><br> 
5253                  - Manutenção de inventário dos acessos, com o momento, a duração, a identificação do responsável pelo acesso e dados 
5254                  acessados. 
5255                  <br><br> 
5256                  Quaisquer comunicações legalmente exigidas sobre eventuais incidentes de segurança que possam acarretar perdas de 
5257                  disponibilidade, confidencialidade ou integridade dos dados pessoais sob nossa responsabilidade serão notificadas 
5258                  adequadamente às autoridades competentes e aos titulares afetados. 
5259                  <br><br> 
5260               
5261               
5262                  <b>7. Quais são os seus direitos?</b><br> 
5263                  Você, enquanto titular de dados pessoais, possui os seguintes direitos relativos aos seus dados pessoais: 
5264                  <br><br> 
5265                  <b>Direito X Explicação</b><br> 
5266                  1. Confirmação da existência de tratamento de seus dados pessoais<br> 
5267                  Esse direito permite que você solicite a confirmação acerca da existência de tratamento dos seus dados pessoais. 
5268                  <br><br> 
5269                  2. Acesso aos dados pessoais<br> 
5270                  Esse direito permite que você solicite uma cópia dos seus dados pessoais. 
5271                  <br><br> 
5272                  3. Correção de dados pessoais incompletos, inexatos ou desatualizados<br> 
5273                  Esse direito permite que você solicite a correção e/ou retificação dos seus dados pessoais, caso identifique que 
5274                  estão incompletos, inexatos ou desatualizados. 
5275                  <br><br> 
5276                  4. Anonimização, bloqueio ou eliminação de dados pessoais<br> 
5277                  Esse direito permite que você solicite a anonimização, o bloqueio ou a eliminação dos seus dados pessoais, se 
5278                  desnecessários, excessivos ou tratados de forma incorreta. 
5279                  <br><br> 
5280                  É possível, ainda, que você solicitea eliminação dos dados pessoais tratados com o seu consentimento e desde que 
5281                  ausente outra finalidade legitimadora de sua conservação, como a existência de obrigação legal ou regulatória a ser 
5282                  por nós atendida. 
5283                  <br><br> 
5284                  <br><br> 
5285                  O exercício desse direito também dependerá da nossa possibilidade técnica de atender o pedido. 
5286                  <br><br> 
5287                  <b>5. Portabilidade dos dados pessoais</b><br> 
5288                  Esse direito permite que você solicite o envio de seus dados pessoais para outras entidades, desde que não haja 
5289                  violação da nossa propriedade intelectual. 
5290                  <br><br> 
5291                  A requisição de exercício desse direito não implica na eliminação de dados pessoais. 
5292                  <br><br> 
5293                  <b>6. Não fornecimento ou revogação do consentimento</b><br> 
5294                  Esse direito permite que você não forneça ou revogue o seu consentimento, o que não afetará a legalidade de qualquer 
5295                  tratamento de dados pessoais anteriormente. 
5296                  <br><br> 
5297                  Você possui, ainda, os direitos de; (i) obter informações completas sobre as entidades públicas ou privadas com as 
5298                  quais compartilhamos seus dados pessoais; (ii) opor-se ao tratamento de dados pessoais ante ao não cumprimento da 
5299                  legislação aplicável; (iii) solicitar a revisão de decisão baseada no tratamento automatizado de dados pessoais e; 
5300                  (iv) reclamar uma possível violação de seus dados pessoais para a Autoridade Nacional de Proteção de Dados Pessoais 
5301                  (ANPD). 
5302                  <br><br> 
5303                  Para exercer quaisquer dos direitos acima listados, você deverá entrar em contato conosco aqui. 
5304                  <br><br> 
5305                  Envidaremos nossos melhores esforços para atender o seu pedido de forma clara, célere e segura. 
5306                  <br><br> 
5307               
5308               
5309                  <b>8. Políticas de terceiros e atualizações desta política</b><br> 
5310                  Não somos responsáveis pelas práticas de privacidade de terceiros. Portanto, sempre quando você for direcionado a 
5311                  outro domínio que não o Portal Senac SP e/ou tenha acesso, em decorrência de sua relação conosco, a serviços de 
5312                  terceiros por nós não controlados, recomendamos que você analise as suas respectivas declarações de privacidade, 
5313                  entrando diretamente em contato com o terceiro responsável em caso de dúvidas. 
5314                  <br><br> 
5315                  Poderemos, ocasionalmente, atualizar a presente Política. Sempre quando ocorrer alguma alteração material 
5316                  significativa, como sobre a finalidade para a qual tratamos os seus dados pessoais, bem como a forma e duração do 
5317                  tratamento, utilizaremos esforços razoáveis para que você tenha ciência das modificações. 
5318                  <br><br> 
5319               
5320               
5321                  <b>9. Dúvidas?</b><br> 
5322                  Se você tiver quaisquer dúvidas sobre esta Política ou como tratamos os seus dados pessoais, entre em contato pelo 
5323                  e-mail privacidade@sp.senac.br. 
5324                  <br><br> 
5325                  <b>Encarregado de Dados do Senac (DPO):</b><br> 
5326                  Fernando Sátiro Pereira<br> 
5327                  Gerente de Tecnologia da Informação do Senac São Paulo<br> 
5328                  Contato: privacidade@sp.senac.br 
5329                  <br><br> 
5330                  <a href="https://www.sp.senac.br/documents/d/guest/politica_de_privacidade_senac_sp_julho2020_site" target="_blank">Confira a versão anterior da nossa política</a> 
5331                  <br><br> 
5332               
5333              </p> 
5334 
5335              </div> 
5336 
5337              <div class="ssp-card-registro-interesse__check-item"> 
5338                  <input type="checkbox" name="" value="" id="check-politica-privacidade"> 
5339                  <label for="check-politica-privacidade">Aceito a Política de Privacidade</label> 
5340              </div> 
5341 
5342              <div class="text-center mt-5"> 
5343 
5344                  <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> 
5345 
5346                  <p class="ssp-card-registro-interesse__aviso"><strong>Importante:</strong> O registro de interesse não garante a vaga.</p> 
5347 
5348              </div> 
5349 
5350            </div>    
5351 
5352        </#if> 
5353      </section> 
5354 
5355      <section id="modal-registro-interesse-sucesso" class="ssp-modal-registro-interesse d-none"> 
5356   
5357          <div class="ssp-card-msg-sucesso"> 
5358   
5359              <div class="ssp-card-msg-sucesso__content"> 
5360                  <i class="fas fa-exclamation-circle"></i> 
5361                  <p>Obrigado por registrar seu interesse!</p> 
5362                  <p>Acompanhe seu e-mail para ficar por dentro das novidades!</p> 
5363              </div> 
5364   
5365              <div> 
5366                  <a class="btn btn-nivel ssp-card-msg-sucesso__btn" href="#" id="btn-voltar-home">Voltar para a home</a> 
5367              </div> 
5368   
5369          </div> 
5370   
5371      </section> 
5372   
5373    <section id="modal-registro-interesse-erro" class="ssp-modal-registro-interesse d-none"> 
5374   
5375          <div class="ssp-card-msg-erro"> 
5376   
5377              <div class="ssp-card-msg-sucesso__content"> 
5378                  <i class="fas fa-exclamation-circle" style="color: #ec3a3a;"></i> 
5379                  <p>Houve um erro ao registrar seu interesse!</p> 
5380                  <p>Por favor, tente novamente!</p> 
5381              </div> 
5382   
5383              <div> 
5384                  <a class="btn btn-nivel ssp-card-msg-sucesso__btn" href="#">Voltar para a home</a> 
5385              </div> 
5386   
5387          </div> 
5388   
5389      </section> 
5390       
5391      <!-- Aviso para curso de aprendizagem --> 
5392   
5393    <div id="aviso-curso-aprendizagem" class="ssp-bolsa-formulario__card-aviso-atencao d-none" style="width: 100%;"> 
5394                     
5395        <i class="fas fa-exclamation-circle ssp-bolsa-formulario__card-aviso-atencao-icon" aria-hidden="true"></i> 
5396     
5397        <div class="ssp-bolsa-formulario__card-aviso-texto"> 
5398          <p>Para contratar aprendiz, preencha o formulário e entraremos em contato.</p> 
5399        </div> 
5400     
5401     </div> 
5402 
5403     <!-- modal form de aprendizagem --> 
5404 
5405    <#if isAprendizagem> 
5406     
5407      <#assign formId = 48097883 /> 
5408      <!-- formInstanceId é variável de acordo com o ID do formulário --> 
5409      <#assign formPreferences = {"displayDepth": "1", "portletSetupPortletDecoratorId": "barebone", "formInstanceId": "formId"}/> 
5410 
5411      <section data-lfr-background-image-id="bg-programe-form" class="ssp-section ssp-section-lg-bottom" data-modal="modal"> 
5412     
5413        <div class="container ssp_ct_form_programe"> 
5414 
5415          <button type="button" data-modal="close-form-modal"> 
5416            fechar 
5417            <i class="fas fa-times"></i> 
5418          </button> 
5419         
5420          <@liferay_portlet["runtime"] 
5421            portletName="com_liferay_dynamic_data_mapping_form_web_portlet_DDMFormPortlet" 
5422            defaultPreferences=freeMarkerPortletPreferences.getPreferences(formPreferences) 
5423          />   
5424               
5425        </div>    
5426 
5427      </section> 
5428 
5429    </#if> 
5430   
5431    <div id="avisoTrampolim" class="ssp-bolsa-formulario__card-aviso-atencao container text-left d-none" style="width: 100%;">                   
5432         <i class="fas fa-exclamation-circle ssp-bolsa-formulario__card-aviso-atencao-icon" aria-hidden="true"></i>   
5433         <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> 
5434         </div> 
5435 
5436       </div> 
5437          
5438         
5439         <!--modal forma pagto extensao-->   
5440        <section id="modalFormaPagtoExt" class="modal-extensao ssp-modal"> 
5441         <div class="modal-extensao_content"> 
5442            <i class="fas fa-undo modal-extensao-voltar-icon"><span class="modal-extensao-voltar-txticon">Voltar</span></i> 
5443            <h1 class="modal-extensao-condicoes__title">Descontos e Parcelamento</h1> 
5444            <div class="row"> 
5445   
5446              <!-- <button class="btn-preco-padrao d-xs-flex d-sm-flex d-lg-none d-xl-none"> 
5447                Preço Padrão 
5448                <i class="fas fa-chevron-right custom-icon-right"></i> 
5449              </button> --> 
5450   
5451             <div class="col-lg-6 col-sm-12 col-xs-12"> 
5452   
5453                <h2 class="modal-extensao_subtitle">Investimento</h2> 
5454   
5455                <span class="modal-extensao_preco">R$ <span class="precoVendaOferta"></span></span> 
5456                <span class="modal-extensao_txteconomiza">.<b class="modal-extensao_txtverde"></b></span> 
5457                <div class="modal-extensao_ctboleto pt-2 pb-2 mb-3"> 
5458                   <i class="fas fa-barcode" aria-hidden="true"></i>   
5459                   <span class="modal-extensao_txtPag">Boleto Bancário</span>   
5460                   <span class="modal-extensao_txtParcela"><b><span class="numParcelaBoleto"></span>x de R$ <span class="precoParcelaBoleto"></span></b></span>         
5461                   <span class="modal-extensao_txtParcela">sem juros</span> 
5462                </div> 
5463                <div class="modal-extensao_ctcard pt-2 pb-2 mb-3"> 
5464                   <i class="far fa-credit-card" aria-hidden="true"></i> 
5465                   <span class="modal-extensao_txtPag">Cartão de Crédito</span> 
5466                   <span class="modal-extensao_txtParcela"><b><span class="numParcelaCartoes"></span>x de R$ <span class="precoParcelaCartoes"></span></b></span>         
5467                   <span class="modal-extensao_txtParcela">sem juros</span> 
5468                </div> 
5469                <p class="modal-extensao_txtParcela pt-5"><b>À vista:</b> R$ <span class="precoAVistaPadraoExt"></span> <span class="modal-extensao_txtporcent">(-8%)</span></p> 
5470             </div> 
5471   
5472             <!-- <hr class="ssp-divisor d-xs-block d-sm-block d-lg-none d-xl-none"> --> 
5473   
5474             <!-- <button class="btn-preco-ex-aluno d-xs-flex d-sm-flex d-lg-none d-xl-none"> 
5475              Preço para Contribuintes,<br>alunos e ex-alunos* 
5476              <i class="fas fa-chevron-right custom-icon-right"></i> 
5477            </button> --> 
5478   
5479             <div class="col-lg-6 col-sm-12 col-xs-12"> 
5480                <h2 class="modal-extensao_subtitle mt-4">Valor com 20% de desconto para alunos, ex-alunos e contribuintes Senac</h2> 
5481                <span class="modal-extensao_preco">R$ <span class="precoContrExt"></span></span> 
5482                <span class="modal-extensao_txteconomiza">Você economiza <b class="modal-extensao_txtverde">R$ <span class="economiaExt"></span> (-20%)</b></span> 
5483                <div class="modal-extensao_ctboleto pt-2 pb-2 mb-3"> 
5484                   <i class="fas fa-barcode" aria-hidden="true"></i>   
5485                   <span class="modal-extensao_txtPag">Boleto Bancário</span>   
5486                   <span class="modal-extensao_txtParcela"><b><span class="numParcelaBoleto"></span>x de R$ <span class="precoParcelaBoletoExt"></span></b></span>         
5487                   <span class="modal-extensao_txtParcela">sem juros</span>     
5488                </div> 
5489                <div class="modal-extensao_ctcard pt-2 pb-2 mb-3"> 
5490                   <i class="far fa-credit-card" aria-hidden="true"></i> 
5491                   <span class="modal-extensao_txtPag">Cartão de Crédito</span> 
5492                   <span class="modal-extensao_txtParcela"><b><span class="numParcelaCartoes"></span>x de R$ <span class="precoParcelaCartoesExt"></span></b></span>         
5493                   <span class="modal-extensao_txtParcela">sem juros</span> 
5494                </div> 
5495                <p class="modal-extensao_txtParcela pt-5"><b>À vista:</b> R$ <span class="precoAVistaContrExt"></span> <span class="modal-extensao_txtporcent">(-8%)</span></p> 
5496             </div> 
5497             <div class="col-lg-6 col-sm-12 col-xs-12"> 
5498                <a target="_blank" href="#"> 
5499                <button class="btn modal-extensao__btn mt-3 text-uppercase">Comprar</button> 
5500                </a> 
5501             </div> 
5502             <div class="col-lg-6 col-sm-12 col-xs-12"> 
5503                <button class="btn btn-primary modal-extensao-btn-conheca mt-3" >Conheça os descontos</button> 
5504             </div> 
5505          </div> 
5506         </div> 
5507 
5508         <div class="modal-extensao_content modal-pergunta-aluno-ext d-none"> 
5509            
5510            <i class="fal fa-times modal-extensao-voltar-icon" style="font-size:25px;"></i> 
5511            <h1 class="modal-extensao-condicoes__title">Você é nosso aluno?</h1> 
5512            <div class="row"> 
5513               <div class="col-6 text-right"> 
5514                   
5515                  <button class="btn btn-primary modal-extensao-btn-aluno-sim-nao sim mt-3">Sim</button> 
5516           
5517	</div> 
5518               <div class="col-6 text-left"> 
5519                   
5520                  <button class="btn btn-primary modal-extensao-btn-aluno-sim-nao nao mt-3">Não</button> 
5521                   
5522               </div> 
5523            </div> 
5524            <div class="row d-none msg-alunoSim"> 
5525               <div class="col-12 text-center mt-10"> 
5526                  <i class="fas fa-check-circle modal-extensao-ico-check"></i> 
5527                  <h2 class="modal-extensao-condicoes__subtitle">Boa notícia!</h2> 
5528                  <p class="modal-extensao-aluno_txtcontent">Você tem 20% de desconto neste curso.<br> Faça seu login e preencha os dados solicitados.</p> 
5529                  <p class="mb-0"> 
5530                     <a target="_blank" href="#"> 
5531                     <button class="btn modal-extensao-aluno__btn ok mt-3">Fazer Inscrição</button> 
5532                     </a> 
5533                  </p> 
5534                  <p class="mt-0"> 
5535                     <a href="https://www.sp.senac.br/descontos-e-parcelamentos/pos-e-extensao-universitaria"> 
5536                     <button class="btn btn-primary modal-extensao-btn-conferir mt-3" id="btn-conferir-regras">Conferir Regras</button> 
5537                     </a> 
5538                  </p> 
5539               </div> 
5540            </div> 
5541            <div class="row d-none msg-alunoNao"> 
5542               <div class="col-12 text-center mt-10"> 
5543                  <i class="fas fa-percentage modal-extensao-ico-percent"></i> 
5544                  <h2 class="modal-extensao-condicoes__subtitle">Poxa! Não fique triste...</h2> 
5545                  <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> 
5546                  <p class="mb-0"> 
5547                     <a target="_blank" href="#"> 
5548                     <button class="btn modal-extensao-aluno__btn not mt-3">Fazer Inscrição</button> 
5549                     </a> 
5550                  </p> 
5551                  <p class="mt-0"> 
5552                     <a href="https://www.sp.senac.br/descontos-e-parcelamentos/pos-e-extensao-universitaria"> 
5553                     <button class="btn btn-primary modal-extensao-btn-conferir mt-3" id="btn-conferir-regras">Conferir Regras</button> 
5554                     </a> 
5555                  </p> 
5556               </div> 
5557            </div> 
5558         </div> 
5559      </section> 
5560     	 
5561	 
5562	<!-- Modal Descontos e Parcelamento EMED --> 
5563	<div id="modalPagtoEmed" class="ssp-modal"> 
5564	 
5565	        <div class="ssp-card-modal-forma-pagamento"> 
5566 
5567            <div class="ssp-card-modal-forma-pagamento__header"> 
5568               <h6 class="ssp-card-modal-forma-pagamento__header-title font-weight-bold text-center" style="color:#454F63">Descontos e parcelamentos</h6> 
5569               <div class="ssp-modal-emed-btfechar"> 
5570               <i class="ssp-card-modal-forma-pagamento__btn-close ssp-card-modal-forma-pagamento__btn-close_0"></i> 
5571               <span>Fechar</span> 
5572              </div> 
5573            </div> 
5574 
5575            <div class="ssp-card-modal-forma-pagamento__body"> 
5576 
5577              <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>          
5578 
5579               <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> 
5580                <span class="ssp-card-modal-emed-ano">/ano</span></p> 
5581 
5582               <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> 
5583               <div class="ssp-card-modal-emed-lineou"><span>ou</span></div> 
5584 
5585               <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> 
5586 
5587               <div class="ssp-card-modal-forma-pagamento__tipos"> 
5588                
5589               <div class="ssp-card-modal-forma-pagamento__tipos-content align-items-start ssp-card-modal-emed-centralizaPagtos" style="margin:0 auto" > 
5590                     <i class="ssp-card-modal-forma-pagamento__icon-boleto-cartao"></i> 
5591                     <div class="ssp-card-modal-forma-pagamento__info-cartao"> 
5592                        <p><strong>Cartão de Crédito +</strong></p> 
5593                        <p><strong>Boleto Bancário</strong></p> 
5594                        <!-- <p>1ª parcela em <span>até 4x de R$ <span class="valorParcelaEntradaCartoesBoleto">265,50</span></span> sem juros no cartão</p> --> 
5595                        <p>1ª parcela no cartão</p> 
5596                        <p>Valor restante em <span>até <span class="numParcelaCartoesBoleto"></span>x de <br>R$ <span class="precoParcelaCartoesBoleto"></span></span> sem juros no boleto</p>                        
5597                     </div> 
5598                  </div> 
5599                
5600 
5601                  <div class="ssp-card-modal-forma-pagamento__tipos-content align-items-start ssp-card-modal-emed-centralizaPagtos" style="margin:0 auto" > 
5602                     <i class="ssp-card-modal-forma-pagamento__icon-credit-card"></i> 
5603                     <div class="ssp-card-modal-forma-pagamento__info-cartao"> 
5604                        <p><strong>Cartão de Crédito</strong></p> 
5605                        <p>(<span class="textoCartoesAceitos">Mastercard, Visa, Elo, American Express, Hipercard</span>)</p> 
5606                        <p>Em até <span><span class="numParcelaCartoes">12</span>x de R$ <span class="precoParcelaCartoes">34,53</span></span> sem juros</p> 
5607                     </div> 
5608                  </div> 
5609 
5610                  <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"> 
5611                     <i class="ssp-card-modal-forma-pagamento__icon-boleto"></i> 
5612                     <div class="ssp-card-modal-forma-pagamento__info-cartao"> 
5613                        <p><strong>Boleto Bancário</strong></p> 
5614                        <p>Em até <span><span class="numParcelaBoleto">12</span>x de R$ <span class="precoParcelaBoleto">34,53</span></span> sem juros</p> 
5615                     </div> 
5616                  </div> 
5617                   
5618                  <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> 
5619 
5620                  <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> 
5621                    - Estuda ou estudou no Senac<br>  
5622                    - É dependente de quem trabalha em empresa contribuinte do Senac<br>  
5623                    - Estuda ou estudou na rede pública de ensino 
5624                </p> 
5625 
5626               </div> 
5627 
5628            </div> 
5629             
5630 
5631            <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> 
5632 
5633             
5634             
5635    </div> 
5636  </div> 
5637 
5638  <#if isEMED> 
5639    <div id="modalAntesCompraEmed" class="ssp-modal"> 
5640      <div class="ssp-modal-local-realizacao"> 
5641        <div class="ssp-modal-local-realizacao__title-content"> 
5642          <h6 class="ssp-modal-local-realizacao__title" style="padding-left:10%;">IMPORTANTE!</h6> 
5643            <i class="ssp-card-modal-antes-compra__btn-close ssp-card-modal-forma-pagamento__btn-close"></i> 
5644        </div> 
5645        <div class="ssp-modal-local-realizacao__texto"> 
5646          <p class="texto-modal-emed textoEmedModalAntesCompra0010 d-none"> 
5647           
5648            Esta matrícula é válida apenas para a compra do curso de acordo com a escola e o horário já selecionados.<br/> 
5649           
5650          </p> 
5651          <p class="texto-modal-emed textoEmedModalAntesCompra0010Espera d-none"> 
5652           
5653            Saiba como funciona a inscrição para a lista de espera:<br/><br/> 
5654            - É válida somente para a <b>compra do curso</b><br/> 
5655            - Não garante vaga para o estudante<br/> 
5656            - É válida apenas para o curso, horário e escola selecionados<br/> 
5657            - Caso surjam vagas, você receberá um e-mail para fazer a matrícula<br/> 
5658           
5659          </p> 
5660          <p class="texto-modal-emed textoEmedModalAntesCompra0020e0030 d-none"> 
5661                       
5662            - 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/> 
5663            - A inscrição só pode ser solicitada para quem deseja estudar no Senac realizando a compra do curso<br/><br/> 
5664            - 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 
5665                       
5666          </p> 
5667          <div class="btn ssp-modal-local-realizacao__btn-content"> 
5668            <button class="btn btn-lg btn-success w-100 mt-3" offercode="" id="btnCompraLocalEmed">Continuar para compra</button> 
5669            <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> 
5670          </div> 
5671        </div> 
5672      </div> 
5673    </div> 
5674         
5675  </#if> 
5676 
5677   
5678   
5679           
5680   <script> 
5681     let showedFilters = false 
5682     var groupId = themeDisplay.getScopeGroupId(); 
5683 
5684   var urlSearchCursosPorCategory = '/o/senac-curso-services/cursosPorCategoryIds/{groupId}?categoryIds={categoryId}&start=0&end={limit}'; 
5685    
5686   var urlSearchOferta = '/o/senac-oferta-services/ofertasPorCategoryIds/' + groupId 
5687 
5688   var urlSearchUnidade = '/o/senacsearch/Unidade/{companyId}/{groupId}/{userId}?q=codigoUnidade_pt_BR:{codigoUnidade}'; 
5689   var urlUnidadeInfoDetalhe = '/o/senac-content-services/unidadeInfoDetalhe/{companyId}/{codigoUnidade}'; 
5690   var urlSearchCursosPodeGostar = '/o/senac-content-services/cursosVocePodeGostar/{companyId}/{groupId}/{userId}/{articleId}/{limit}'; 
5691   var urlSearchCursoInfo = '/o/senac-content-services/cursosInfoDetalhe/{groupId}/{cursosInfo}?inscricaoAberta={inscricaoAberta}&bolsaAberta={bolsaAberta}'; 
5692   var urlRegistroInteresse = '/o/senac-content-services/registroInteresse/'; 
5693   var urlRegistroInteresseEmailInteressado = '/o/senac-content-services/envioEmailRegistroInteresse/'; 
5694   var cntSelectUnidades = 1; 
5695   var urlPlanoCurso = 'https://www.sp.senac.br/jsp/includeMatdid.jsp?file=/ha1shared/projects/matdid/{codigoFT}-{dataEfetiva}.html'; 
5696   var urlGetServerT = '/o/senac-content-services/getServerTime';  
5697   var urlSearchCursosPodeGostarEmed = '/o/senac-curso-services/cursosPorCategoryIdsFilterAndOr/{groupId}/?categoryIdsOr={tiposDeCurso}&start=0&end={limit}&articleId={articleId}'; 
5698   var todayG = ''; 
5699   var codigoFTCursoAprendizagem = 18984; 
5700   var globalGroupId = Liferay.ThemeDisplay.getCompanyGroupId(); 
5701   var isAoVivo = 0; 
5702   var nomeFormatoAoVivoDxp = 'Senac Online - ao vivo'; 
5703   var ofertaUnidadeMap = new Map(); 
5704   var ultimaUnidade = 0; 
5705   var regIndex = new RegExp('\{index\}', 'g'); 
5706   var linkBotaoCompra = 'http://www.sp.senac.br/login/Login?destino=/ecommerceFrontEnd/?vcw_unidade={codigoUnidade}&vcw_evento={codigoOferta}'; 
5707   var carregouUltimaOferta = false; 
5708   var ofertasMap = new Map(); 
5709   var codUnidadeSenacAoVivo = '108'; 
5710   var ofertasComBolsa = false; 
5711 
5712    //funcao para pegar host do ambiente, se eh teste ou prod (utilizado no servico da bolsa)- 9546 
5713    function getServiceEnvironmentHost(){ 
5714      if(!isAmbienteTeste()) 
5715        return window.location.origin 
5716      else 
5717        return 'https://gesportal.sp.senac.br' 
5718
5719 
5720    var hostBolsa = getServiceEnvironmentHost() 
5721 
5722   // Montar object push - google tag manager - 1 
5723   let itensEcommerce = null;  
5724   let ofertaSelecionada = null; 
5725 
5726   const today = new Date; 
5727    
5728   //categoryId -> cod unidade 
5729   var mapUnidadesIds = new Map(); 
5730   var objsTela = { 
5731     unidades: [], 
5732     unidadesRegistroInteresse: [], 
5733     categoriesIds:[], 
5734     ofertasAoVivoTodasUnidades: [], 
5735     primeiroChange: true 
5736   }; 
5737   var startOfertaParam = 0; 
5738   var endOfertaParam = 25; 
5739    
5740   var ehCursoTrampolim = false; 
5741    
5742   const isHibrido = $('input[name="formato"]').data('formato') === 'Presencial + EAD'; 
5743   
5744   var textoFormatoHibrido = ""; 
5745   var temTextoParaFormatoHibrido = false; 
5746   
5747   //Validar se o campo textoFormatoHibrido existe e se não está vazio 
5748   if(isHibrido){ 
5749                textoFormatoHibrido = $('input[name="textoFormatoHibrido"]').val(); 
5750                if(typeof textoFormatoHibrido !== 'undefined'){ 
5751                           if (textoFormatoHibrido.trim() !== '' ) { 
5752                                temTextoParaFormatoHibrido = true; 
5753                                textoFormatoHibrido += '<br>'; 
5754
5755
5756
5757    
5758   const HOST = window.location.origin; 
5759   const URLGeral = window.location.href; 
5760    
5761   //EMED 
5762   const anoTurmaEmed = '2025'; 
5763 
5764   const tipoCursoNome = function(){ return $('.ssp-header-curso__tag-formato').text().trim(); } 
5765    
5766   const isEmed = (tipoCursoNome().indexOf('Ensino Médio Técnico') > -1); 
5767 
5768   const statusEmed = Object.freeze({ 
5769		NAO_ENCONTRADA: 0, 
5770    INSCRICAO: 1, 
5771		ESPERA: 2, 
5772		ESGOTADO: 3 
5773	}); 
5774    
5775   let unidadesToURL = [] 
5776    
5777   const localLivreOnline = function(textoLocal){  
5778     textoLocal = textoLocal || '' 
5779     textoLocal = textoLocal.replaceAll('online', 'on-line') 
5780 
5781     const textoOnline = 'Nesta turma, todas as aulas serão on-line e ao vivo pela plataforma digital Microsoft Teams'; 
5782      
5783     return textoLocal.toUpperCase().includes(textoOnline.toUpperCase()); 
5784
5785    
5786   const linkBolsa = function(oferta){ 
5787	    
5788      let tiposCurso = new Map(); 
5789      tiposCurso.set('livre', 'L'); 
5790      tiposCurso.set('tecnico', 'T'); 
5791      tiposCurso.set('aprendizagem', 'A'); 
5792      let letraTipoCurso = tiposCurso.get($('[name="tipoCurso"]').val()) || ''; 
5793  
5794      // verifica o campo destinoBolsa da oferta - 9546 
5795      var destinoBolsa = "" 
5796      if(oferta.destinoBolsa){ 
5797        destinoBolsa = parseInt(oferta.destinoBolsa,10)  
5798
5799      	 
5800      return hostBolsa+'/login/Login?origem=bolsas&destino=/jsp/default.jsp?template=2464.dwt&testeira=1540&idcourse='+ 
5801	      $('[name="codigoFT"]').val()+ 
5802	      '&cod_evento='+ 
5803	      oferta.codigoOferta+ 
5804	      '&cod_u='+ 
5805	      codigoUnidade+ 
5806	      '&nvg='+ 
5807	      oferta.qtdeTotalVagasPSG+ 
5808	      '&type='+ 
5809	      letraTipoCurso+ 
5810	      '&sel_unit=&ft=y'+ 
5811	      (destinoBolsa ? '&destino='+destinoBolsa : '');      
5812
5813    
5814    
5815   $('.ssp-ofertas-emed__filtro-content .btn').on('click', function(){ 
5816      
5817     var classAtivo = 'btn--filtro-ativo'; 
5818      
5819     if(!$(this).hasClass(classAtivo)){ 
5820      
5821       $(this).siblings().removeClass(classAtivo); 
5822        
5823       $(this).addClass(classAtivo); 
5824 
5825       const $cardTransferencias = $('.card-transferencias-emed'); 
5826        
5827       if($(this).val() == '0'){ 
5828        hideCardSemTurmas(true); 
5829        $('.ssp-slick-ofertas-emed').empty(); 
5830        if(!$('.ssp-slick-ofertas-emed').hasClass('d-none')) $('.ssp-slick-ofertas-emed').addClass('d-none'); 
5831        $('.prev-mobile, .next-mobile').addClass('d-none'); 
5832        $cardTransferencias.removeClass('d-none'); 
5833       } else{ 
5834        if(!$cardTransferencias.hasClass('d-none')) $cardTransferencias.addClass('d-none'); 
5835        $('.ssp-slick-ofertas-emed').removeClass('d-none'); 
5836        populaOfertas(objsTela.ofertas); 
5837
5838        
5839
5840      
5841   }); 
5842    
5843   //Cronometro 
5844	var hidden, visibilityChange; 
5845	var restartTimeout = null; 
5846	var interval01, interval15; 
5847	 
5848	if (typeof document.hidden !== "undefined") { // Opera 12.10 and Firefox 18 and later support 
5849		hidden = "hidden"; 
5850		visibilityChange = "visibilitychange"; 
5851	} else if (typeof document.msHidden !== "undefined") { 
5852		hidden = "msHidden"; 
5853		visibilityChange = "msvisibilitychange"; 
5854	} else if (typeof document.webkitHidden !== "undefined") { 
5855		hidden = "webkitHidden"; 
5856		visibilityChange = "webkitvisibilitychange"; 
5857
5858	 
5859	// Verifica suporte a Visibility API 
5860	if (typeof document.addEventListener === "undefined" || hidden === undefined) { 
5861		console.log("Navegador incompativel com page visibility api"); 
5862	} else { 
5863		// Evento para quando a visibilidade da pagina mudar 
5864		document.addEventListener(visibilityChange, handleVisibilityChange, false); 
5865
5866    
5867   $(".ssp-saiba-mais-curso-accordion").on("click", ".ssp-saiba-mais-curso-accordion__heading", function() { 
5868   
5869       $(this).toggleClass("active").next().slideToggle(); 
5870   
5871       $(".sp-saiba-mais-curso-accordion__contents").not($(this).next()).slideUp(300); 
5872   
5873       $(this).siblings().removeClass("active"); 
5874   }); 
5875   
5876  function loadUnidadesRegistroInteresse(urlCursoInfo) { 
5877    if(objsTela.unidadesRegistroInteresse && objsTela.unidadesRegistroInteresse.length) 
5878      return 
5879 
5880    let urlUnidades = new URL(window.location.origin + urlCursoInfo) 
5881    let paramsUnidades = new URLSearchParams(urlUnidades.search) 
5882    paramsUnidades.delete('inscricaoAberta') 
5883    paramsUnidades.delete('bolsaAberta') 
5884    urlUnidades.search = '?' + paramsUnidades.toString() 
5885    urlUnidades = urlUnidades.href 
5886 
5887    $.ajax({ 
5888      url: urlUnidades, 
5889      method:'get', 
5890      async: false 
5891    }).done(function(data){ 
5892      if(data.length > 0){ 
5893        const cursoInfo = JSON.parse(data); 
5894        const unidadesOfertantes = cursoInfo.unidadesOfertantes; 
5895         
5896        $.each(unidadesOfertantes, function(k,item){ 
5897          var unidade = {}; 
5898          unidade['categoryId'] = item['categoryId']; 
5899          unidade['codigoUnidade'] = item['codigoUnidade']; 
5900          unidade['nome'] = item['nomeUnidade']; 
5901          unidade['enderecoUnidade'] =item['enderecoUnidade']; 
5902          unidade['numero'] =item['numEnderecoUnidade']; 
5903          unidade['complemento'] = item['complementoEnderecoUnidade']; 
5904          unidade['bairro'] = item['bairroUnidade']; 
5905          unidade['googlemapsUnidade'] = item['googlemapsUnidade']; 
5906          unidade['friendlyURL'] = item['friendlyURL']; 
5907          unidade['selecionado'] = false; 
5908          unidade['selectSelecionado'] = ""; 
5909          unidade['ofertas'] = []; 
5910               
5911          if(!objsTela.unidadesRegistroInteresse.filter(uni => uni['categoryId'] == unidade['categoryId']).length) 
5912            objsTela.unidadesRegistroInteresse.push(unidade) 
5913          }); 
5914
5915    }); 
5916
5917   
5918   function loadUnidades(showOptions, unidadeValue){ 
5919     //Busca as unidades do curso 
5920      
5921    const urlCursoInfo = urlSearchCursoInfo 
5922      .replace('\{groupId\}', groupId) 
5923      .replace('\{cursosInfo\}', $('[name="articleId"]').val()) 
5924      .replace('\{inscricaoAberta\}', $('#chkInscricao').prop('checked')) 
5925      .replace('\{bolsaAberta\}', $('#chkBolsa').prop('checked')); 
5926 
5927      loadUnidadesRegistroInteresse(urlCursoInfo) 
5928 
5929      $.ajax({ 
5930          url:urlCursoInfo, 
5931          method:'get', 
5932          async: false, 
5933        beforeSend: function () { 
5934          loading('.oferta-slick-area'); 
5935
5936        }).done( 
5937          function(data){ 
5938             
5939            if(data.length > 0){ 
5940               
5941              if(!isAoVivo) 
5942                $('.ssp-container-selecione-unidade').removeClass('d-none') 
5943               
5944              const cursoInfo = JSON.parse(data); 
5945               
5946                                       
5947              //GCR pediu para voltarmos no combo as unidades vinculadas e não somente as que possuem ofertas 
5948              //const unidades = cursoInfo.unidadesComOferta; 
5949              const unidades = cursoInfo.unidadesOfertantes; 
5950               
5951              objsTela.unidades = [] 
5952              mapUnidadesIds = new Map(); 
5953               
5954              $.each(unidades, function(k,item){ 
5955                   
5956                  var unidade = cloneObj(item) 
5957                  unidade['nome'] = item['nomeUnidade']; 
5958                  unidade['numero'] =item['numEnderecoUnidade']; 
5959                  unidade['complemento'] = item['complementoEnderecoUnidade']; 
5960                  unidade['bairro'] = item['bairroUnidade']; 
5961                  unidade['ofertas'] = []; 
5962                       
5963                    objsTela.unidades.push(unidade); 
5964                       
5965                      mapUnidadesIds.set(unidade['categoryId'], unidade['codigoUnidade']); 
5966 
5967                    objsTela.unidades.forEach(unidade => unidadesToURL.filter(u => u.friendlyURL == unidade.friendlyURL).length ? '' : unidadesToURL.push(unidade)) 
5968                }); 
5969                       
5970                             
5971              populaSelectUnidades(undefined, showOptions, unidadeValue);  
5972    
5973
5974      }); 
5975       
5976
5977   
5978function getOfertaObjectFromJson(ofertaJSON,index){ 
5979   
5980 
5981  var oferta =  {}; 
5982        var xml =  $($.parseXML(ofertaJSON.content)); 
5983          oferta['ordenar'] = paramOrdem(xml); 
5984          oferta['vagasTotal'] = xml.find('[name="vagasTotal"]').text().trim(); 
5985          var dataInicio = xml.find('[name="dataInicioOferta"]').text().split('-'); 
5986          var dataFim =xml.find('[name="dataFimOferta"]').text().split('-'); 
5987          oferta['dataInicio'] = dataInicio[2].trim()+'/'+dataInicio[1].trim()+'/'+dataInicio[0].trim(); 
5988          oferta['dataFim'] = dataFim[2].trim()+'/'+dataFim[1].trim()+'/'+dataFim[0].trim(); 
5989          oferta['horaInicio'] = xml.find('[name="horaInicioOferta"]').text(); 
5990          oferta['codigoOferta'] = xml.find('[name="codigoOferta"]').text().trim(); 
5991          var dias = []; 
5992          oferta['horaFimOferta'] = xml.find('[name="horaFimOferta"]').text().trim(); 
5993          xml.find('[name="diasDaSemanaOferta"]').find('option').each(function(index,dia){ 
5994            dias.push($(dia).text()); 
5995          }); 
5996          oferta['diasDaSemanaOferta'] = dias; 
5997          oferta['periodoDiaOferta'] = xml.find('[name="periodoDiaOferta"]').text().trim(); 
5998          oferta['precoCheioOferta'] = xml.find('[name="precoCheioOferta"]').text().trim(); 
5999          oferta['precoVendaOferta'] = xml.find('[name="precoVendaOferta"]').text().trim(); 
6000          oferta['numeroMaxParcelasOferta'] = xml.find('[name="numeroMaxParcelasOferta"]').text().trim(); 
6001           
6002          oferta['textoCartoesAceitos'] =  pegarTextoCartoesAceitos(xml.find('[name="formaDePagamentoCartaoOferta"]').text().trim()); 
6003          oferta['numParcelaCartoes'] =  pegaNumParcela(xml.find('[name="formaDePagamentoCartaoOferta"]').text().trim()); 
6004          oferta['precoParcelaCartoes'] =  pegaValorParcela(xml.find('[name="formaDePagamentoCartaoOferta"]').text().trim()); 
6005          oferta['numParcelaBoleto'] =  pegaNumParcela(xml.find('[name="formaDePagamentoBoletoOferta"]').text().trim()); 
6006          oferta['precoParcelaBoleto'] =  pegaValorParcela(xml.find('[name="formaDePagamentoBoletoOferta"]').text().trim()); 
6007           
6008          oferta['precoVendaMaxParcelaOferta'] = xml.find('[name="precoVendaMaxParcelaOferta"]').text().trim(); 
6009          oferta['formaDePagamentoOferta'] = xml.find('[name="formaDePagamentoOferta"]').text().trim(); 
6010          oferta['botaoCompraOferta'] = xml.find('[name="botaoCompraOferta"]').text().trim(); 
6011          oferta['vagasParaCompraOferta'] = xml.find('[name="vagasParaCompraOferta"]').text().trim(); 
6012          oferta['botaoBolsaOferta'] = xml.find('[name="botaoBolsaOferta"]').text().trim(); 
6013          oferta['vagasBolsaOferta'] = xml.find('[name="vagasBolsaOferta"]').text().trim(); 
6014          oferta['dataAberturaBolsaOferta'] = xml.find('[name="dataAberturaBolsaOferta"]').text().trim(); 
6015          oferta['horaAberturaBolsaOferta'] = xml.find('[name="horaAberturaBolsaOferta"]').text().trim(); 
6016          oferta['espacoExterno'] = xml.find('[name="espacoExterno"]').text().trim(); 
6017          oferta['localEspacoExterno'] = xml.find('[name="localEspacoExterno"]').text().trim(); 
6018          oferta['ruaEspacoExterno'] = xml.find('[name="ruaEspacoExterno"]').text().trim(); 
6019          oferta['numeroEspacoExterno'] = xml.find('[name="numeroEspacoExterno"]').text().trim(); 
6020          oferta['complementoEspacoExterno'] = xml.find('[name="complementoEspacoExterno"]').text().trim(); 
6021          oferta['bairroEspacoExterno'] = xml.find('[name="bairroEspacoExterno"]').text().trim(); 
6022          oferta['cidadeEspacoExterno'] = xml.find('[name="cidadeEspacoExterno"]').text().trim(); 
6023          oferta['ufEspacoExterno'] = xml.find('[name="ufEspacoExterno"]').text().trim(); 
6024          oferta['cepEspacoExterno'] = xml.find('[name="cepEspacoExterno"]').text().trim(); 
6025          oferta['qtdeTotalVagas'] = xml.find('[name="qtdeTotalVagas"]').text().trim(); 
6026          oferta['qtdeTotalVagasPSG'] = xml.find('[name="qtdeTotalVagasPSG"]').text().trim(); 
6027          oferta['horariosAllOferta'] = xml.find('[name="horariosAllOferta"]').text().trim(); 
6028          oferta['formaDePagamentoCartaoOferta'] = xml.find('[name="formaDePagamentoCartaoOferta"]').text().trim(); 
6029          oferta['formaDePagamentoBoletoOferta'] = xml.find('[name="formaDePagamentoBoletoOferta"]').text().trim(); 
6030          oferta['dtLimiteMatricula'] = xml.find('[name="dtLimiteMatricula"]').text().trim(); 
6031          oferta['dataAberturaMatricula'] = xml.find('[name="dataAberturaMatricula"]').text().trim(); 
6032          oferta['etapa'] = xml.find('[name="etapa"]').text().trim(); 
6033          oferta['destinoCompra'] = xml.find('[name="destinoCompra"]').text().trim();  
6034          //adicao do destinoBolsa na oferta - 9546 - 11/07/2022 
6035          oferta['destinoBolsa'] = xml.find('[name="destinoBolsa"]').text().trim(); 
6036 
6037          	if(isEmed){ 
6038		  		//EMED utilizar data matricula para bolsa 
6039		  	  	oferta['dataAberturaBolsaOferta'] = oferta['dataAberturaMatricula'];  
6040 
6041
6042           
6043         return oferta;  
6044
6045   
6046  const getStatusEmed = (oferta) => { 
6047 
6048	    const urlStatusEsperaEmed = () => { 
6049	  		let url = (isAmbienteTeste()) ?  
6050		  		'https://hinscricao-educacional-backend.sp.senac.br/api/lista-espera/' 
6051			    : 'https://inscricao-educacional-ms.sp.senac.br/api/lista-espera/'; 
6052	  		 
6053  	  		return url + oferta.codigoOferta; 
6054
6055  	  	 
6056  	  const callTl = async () => { 
6057	  		if(getCookie('tl') == null){ 
6058	  			return await $.ajax({ 
6059	  				url: '/o/senac-content-services/geraTokenServicosSenac', 
6060	  				method: 'GET' 
6061	  			}); 
6062
6063	  		return getCookie('tl'); 
6064
6065 
6066      const callListaEspera = async () => { 
6067  	    	var tl = ''; 
6068	    	  try{ 
6069  	    		tl = await callTl(); 
6070  	    		if(getCookie('tl') == null){ 
6071  	    			tl = JSON.parse(tl).token; 
6072  	    			writeCookie('tl', tl, 6, ''); 
6073
6074  	    	}catch(err){ 
6075  	    		console.error(err); 
6076  	    		return {}; 
6077
6078  	    	 
6079  	    	return $.ajax({ 
6080              url: urlStatusEsperaEmed(), 
6081              method: 'GET', 
6082  	        	beforeSend: function (xhr) { 
6083  	        		xhr.setRequestHeader("Authorization", tl); 
6084
6085  			  }) 
6086
6087 
6088      return new Promise(async function (resolve, reject) { 
6089        const resp = await callListaEspera(); 
6090        if(typeof resp !== 'object') resp = JSON.parse(resp); 
6091        let status = resp.STATUS; 
6092        resolve(status); 
6093      }); 
6094	  	 
6095
6096   
6097 function getOfertasAoVivo(codigoFT, dataEfetivaOferta, categoryIds){ 
6098       
6099  if(categoryIds && categoryIds.length) { 
6100    var params = new URLSearchParams(); 
6101    params.set('codigoFTOferta',codigoFT) 
6102    params.set('dataEfetivaOferta',dataEfetivaOferta) 
6103    params.set('categoryIds',categoryIds) 
6104    params.set('start',startOfertaParam) 
6105    params.set('end',endOfertaParam) 
6106    params.set('inscricaoAberta', $('#chkInscricao').prop('checked')) 
6107    params.set('bolsaAberta', $('#chkBolsa').prop('checked')) 
6108    params.set('cursoArticleId', $('[name="articleId"]').val() || ''); 
6109 
6110    if($('#chkBolsa').prop('checked')){ 
6111    	params.set('considerarDataBolsaFutura', true) 
6112
6113    const url = urlSearchOferta + '?' + params.toString() 
6114       
6115    $.ajax({ 
6116      url:url, 
6117      method:'get', 
6118      dataType:'json', 
6119      async: false 
6120    }).done( 
6121      function(data){ 
6122         
6123        if(data.length > 0){ 
6124         $('#ssp-alternadores').show() 
6125         showedFilters = true 
6126   
6127         objsTela.ofertasAoVivoTodasUnidades = [] 
6128           
6129          data.forEach(function(ofertaJSON,index){ 
6130   
6131            var oferta = getOfertaObjectFromJson(ofertaJSON,index); 
6132             
6133            //guardo em um map a oferta e qual unidade é, para utilizar depois no populaOferta para o aoVivo                
6134            ofertaUnidadeMap.set(oferta['codigoOferta'],mapUnidadesIds.get(parseInt(ofertaJSON.unidadeCategoryIds)));                
6135            objsTela.ofertasAoVivoTodasUnidades.push(oferta); 
6136   
6137          }); 
6138        } else { 
6139         loadAlternadores(data) 
6140
6141   
6142        populaOfertas(objsTela.ofertasAoVivoTodasUnidades); 
6143        addEventBolsa() 
6144
6145    ).fail(function(e) { 
6146      console.error(e) 
6147      populaOfertas(objsTela.ofertasAoVivoTodasUnidades = []); 
6148    }) 
6149  } else { 
6150    loadAlternadores([]) 
6151    populaOfertas(objsTela.ofertasAoVivoTodasUnidades = []) 
6152
6153 
6154  if(isAoVivo) { 
6155     if(objsTela.ofertasAoVivoTodasUnidades && objsTela.ofertasAoVivoTodasUnidades.length) 
6156       hideCardSemTurmas(true) 
6157     else 
6158       hideCardSemTurmas(false) 
6159
6160
6161    
6162  function mudouToggleOferta(ofertas) { 
6163    const oferta = ofertas && ofertas[0] 
6164    if(!oferta) 
6165      return true 
6166 
6167    const selecaoInscricao = $('#chkInscricao').prop('checked') 
6168    const selecaoBolsa = $('#chkBolsa').prop('checked') 
6169 
6170    return oferta.selecaoInscricao != selecaoInscricao || oferta.selecaoBolsa != selecaoBolsa 
6171
6172 
6173  function loadAlternadores(ofertas) { 
6174    if(showedFilters) { 
6175      $('#ssp-alternadores').show() 
6176      return 
6177
6178 
6179    if($('#unidades-ofertas').is(":hidden") || $('#unidades-ofertas option').length <= 1) { 
6180      if(isAoVivo) { 
6181        if(ofertas && ofertas.length) 
6182          $('#ssp-alternadores').show() 
6183        else { 
6184          if(!$('#chkInscricao').prop('checked') && !$('#chkBolsa').prop('checked')) 
6185            $('#ssp-alternadores').hide() 
6186          else 
6187            $('#ssp-alternadores').show() 
6188
6189      } else { 
6190        if(!$('#chkInscricao').prop('checked') && !$('#chkBolsa').prop('checked')) 
6191          $('#ssp-alternadores').hide() 
6192        else 
6193          $('#ssp-alternadores').show() 
6194
6195    } else 
6196      $('#ssp-alternadores').show() 
6197 
6198    showedFilters = showedFilters || $('#ssp-alternadores').is(":visible") 
6199
6200 
6201  function getOfertas(codigoFT, dataEfetivaOferta, categoryId){ 
6202       
6203    var indiceUnidade = -1; 
6204    const selecaoInscricao = $('#chkInscricao').prop('checked') 
6205    const selecaoBolsa = $('#chkBolsa').prop('checked') 
6206      
6207     for(var i = 0; i < objsTela.unidades.length; i++) 
6208         if(objsTela.unidades[i].categoryId == categoryId) 
6209           indiceUnidade = i; 
6210      
6211    ultimaUnidade = indiceUnidade; 
6212           
6213     if( !objsTela.categoriesIds.includes(categoryId) || mudouToggleOferta(objsTela.unidades[indiceUnidade]['ofertas'])){ 
6214       objsTela.unidades[indiceUnidade]['ofertas'] = [] 
6215        
6216        var params = new URLSearchParams(); 
6217        params.set('codigoFTOferta',codigoFT) 
6218        params.set('dataEfetivaOferta',dataEfetivaOferta) 
6219        params.set('categoryIds',categoryId) 
6220        params.set('start',startOfertaParam) 
6221        params.set('end',endOfertaParam) 
6222        params.set('inscricaoAberta', $('#chkInscricao').prop('checked')) 
6223        params.set('bolsaAberta', $('#chkBolsa').prop('checked')) 
6224        params.set('cursoArticleId', $('[name="articleId"]').val() || ''); 
6225 
6226        if($('#chkBolsa').prop('checked')){ 
6227        	params.set('considerarDataBolsaFutura', true) 
6228
6229         
6230        const url = urlSearchOferta + '?' + params.toString() 
6231   
6232       $.ajax({ 
6233         url:url, 
6234         method:'get', 
6235         dataType:'json', 
6236         async: false 
6237       }).done( 
6238         function(data){ 
6239            
6240           if(data.length > 0){ 
6241             $('#ssp-alternadores').show() 
6242             showedFilters = true 
6243              
6244             $('.ssp-container-selecione-unidade').show(); 
6245             
6246             data.forEach(function(ofertaJSON,index){ 
6247   
6248               var oferta = getOfertaObjectFromJson(ofertaJSON,index); 
6249                
6250               //Preenche as ofertas da unidade              
6251               objsTela.unidades[indiceUnidade]['ofertas'].push(oferta); 
6252               objsTela.unidades[indiceUnidade]['ofertas'].forEach(o => { 
6253                 o.selecaoInscricao = selecaoInscricao 
6254                 o.selecaoBolsa = selecaoBolsa 
6255               }) 
6256   
6257             }); 
6258           } else { 
6259              loadAlternadores() 
6260
6261           objsTela.categoriesIds.push(categoryId); 
6262           populaOfertas(objsTela.unidades[indiceUnidade]['ofertas']); 
6263           addEventBolsa() 
6264
6265
6266   
6267       //Se estiver na cache, valida as ofertas 
6268     }else{ 
6269        
6270       populaOfertas(objsTela.unidades[indiceUnidade]['ofertas']); 
6271        
6272
6273
6274       
6275   function populaSelectUnidades(unidades, showOptions, unidadeValue){       
6276    var unidadePreSelecionada = false; 
6277    var categoryIdUnidadePreSelecionada = ''; 
6278     
6279    //Oredenacao 
6280    objsTela.unidades.sort(function (a, b) { 
6281    	return ordenar(a, b, 'nome'); 
6282    }); 
6283     
6284    objsTela.unidadesRegistroInteresse.sort(function (a, b) { 
6285    	return ordenar(a, b, 'nome'); 
6286      }); 
6287     
6288    //console.log(objsTela.unidades); 
6289     
6290    $.each(objsTela.unidades, function(k,item){ 
6291       
6292      if(getURLData().includes('/'+item.friendlyURL+'/')){ 
6293        unidadePreSelecionada= true; 
6294        categoryIdUnidadePreSelecionada = item['categoryId']; 
6295
6296    }); 
6297     
6298    //console.log('Unidade Pre '+unidadePreSelecionada); 
6299     
6300    if(objsTela.unidades.length == 0){ 
6301      if(!showOptions) 
6302        $('.ssp-container-selecione-unidade').addClass('d-none'); 
6303      $('.oferta-slick-area').empty(); 
6304      $('.prev-mobile').addClass('d-none'); 
6305      $('.next-mobile').addClass('d-none'); 
6306      //EMED remove msg registro interesse 
6307      //if(isEmed) $('.ssp-card-oferta-curso__sem-vaga-description').addClass('d-none'); 
6308
6309     
6310    if(isAoVivo){ 
6311       
6312        const codigoFT = $('[name="codigoFT"]').val(); 
6313    	const dataEfetivaOferta = $('[name="dataEfetivaSTR"]').val(); 
6314 
6315    	var unidadesCategoryAll = ''; 
6316     
6317    	$.each(objsTela.unidades, function(k,unidade){ 
6318      		unidadesCategoryAll += unidade['categoryId']+','; 
6319        }); 
6320       
6321    //tirando ultima virgula 
6322    unidadesCategoryAll = unidadesCategoryAll.substring(0,unidadesCategoryAll.length - 1); 
6323     
6324    getOfertasAoVivo(codigoFT, dataEfetivaOferta, unidadesCategoryAll);            
6325       
6326    }else{ 
6327      $('#unidades-ofertas').empty() 
6328 
6329      if(objsTela.unidades && objsTela.unidades.length){  
6330        if(isEmed) 
6331          $('#unidades-ofertas').append($('<option value="">Selecione uma unidade</option>')) 
6332        else 
6333          $('#unidades-ofertas').append($('<option value="">Clique na unidade de interesse</option>')) 
6334 
6335      } else 
6336        $('#unidades-ofertas').append($('<option value="">Nenhum resultado encontrado</option>')) 
6337 
6338      let unidadeFounded = criarOptionUnidadesPorRegiao(objsTela.unidades) 
6339       
6340      //Dispara o evento para primeira unidade ou pela friendlyURl da unidade 
6341      if(unidadeValue) { 
6342        $('#unidades-ofertas').val(unidadeValue); 
6343        $('#unidades-ofertas').change(); 
6344      } else if(unidadeFounded){	             
6345        $('#unidades-ofertas').val(unidadeFounded['categoryId']+"@"+unidadeFounded['codigoUnidade']); 
6346        $('#unidades-ofertas').change(); 
6347      } else if(!unidadePreSelecionada) { 
6348        $('#unidades-ofertas').change(); 
6349
6350       
6351      $('.ssp-card-registro-interesse__select.unidades').empty() 
6352      $('.ssp-card-registro-interesse__select.unidades').append('<option value="" disabled selected>Selecione uma unidade</option>') 
6353      $.each(objsTela.unidadesRegistroInteresse, function(k,unidade){ 
6354         
6355        $('.ssp-card-registro-interesse__select.unidades').append('<option value="'+unidade['codigoUnidade']+'">'+unidade['nome']+'</option>'); 
6356      }); 
6357
6358     
6359
6360 
6361   
6362   function mudarUnidade(ev){      
6363     startOfertaParam = 0; 
6364     endOfertaParam = 25; 
6365     carregouUltimaOferta = false; 
6366 
6367     var elem = $(ev.target); 
6368     var unidades = objsTela.unidades; 
6369      
6370     //verifica se selecionou alguma unidade 
6371     if(!elem.val()){ 
6372       $('#informe-novas-turmas, .ssp-ofertas-emed__section, .ssp-ofertas__box-endereco-unidade').addClass('d-none'); 
6373 
6374       if(isEmed) 
6375        $('#ssp-section-response').addClass('d-none') 
6376 
6377        hideCardSemTurmas($('#unidades-ofertas option').length > 1)        
6378 
6379        elem.val('') 
6380        habilitarRegistroInteresse(false) 
6381        //Zera variável que controla existência de ofertas com bolsa 
6382        ofertasComBolsa = false; 
6383        controlaPaginaBolsa(); 
6384        
6385       return; 
6386
6387      
6388     $('#informe-novas-turmas, .ssp-ofertas__box-endereco-unidade').removeClass('d-none'); 
6389     hideCardSemTurmas(true) 
6390     if(isEmed){ 
6391        $('.ssp-ofertas-emed__section').removeClass('d-none'); 
6392        $('#ssp-section-response').removeClass('d-none') 
6393        $('.ssp-card-oferta-curso__section-title').addClass('d-none'); 
6394        $('.prev-mobile, .next-mobile').addClass('d-none'); 
6395        var nomeUnidade = $('#unidades-ofertas option:selected').text(); 
6396        let tamScreen = $(window).width(); 
6397 
6398        if(tamScreen < 1024) 
6399	    	  $('#titulo-emed').text('Turmas ' + anoTurmaEmed ); 
6400        else 
6401        	$('#titulo-emed').text('Turmas ' + anoTurmaEmed + ' - ' + nomeUnidade); 
6402 
6403
6404      
6405     const codigoFT = $('[name="codigoFT"]').val(); 
6406     const dataEfetivaOferta = $('[name="dataEfetivaSTR"]').val(); 
6407      
6408     //colocamos dentro do option categoryId@codUnidade 
6409     splitted = elem.val().split("@"); 
6410     var categoryIdUnidade = splitted[0]; 
6411     var codUnidade = splitted[1]; 
6412           
6413     for(var i = 0; unidades.length > i ; i++){ 
6414        
6415       if(unidades[i].categoryId == categoryIdUnidade){ 
6416   
6417           var unidade = unidades[i]; 
6418            
6419           //Exibe o endereco da unidade 
6420           const urlBuscaUnidade = urlUnidadeInfoDetalhe 
6421         .replace('\{companyId\}',themeDisplay.getCompanyId()) 
6422         .replace('\{codigoUnidade\}', unidade.codigoUnidade); 
6423            
6424           $.ajax({ 
6425                 url :  urlBuscaUnidade, 
6426                 type : 'get', 
6427                 dataType: 'json', 
6428                 success: function( unidadeInfo ) { 
6429                   if(unidadeInfo != null && typeof unidadeInfo !== 'undefined'){ 
6430                       
6431                       var endereco = concatSTR(unidadeInfo.enderecoUnidade,unidadeInfo.numEnderecoUnidade,', '); 
6432                         endereco = concatSTR(endereco,unidadeInfo.complementoEnderecoUnidade, ' - '); 
6433                         endereco = concatSTR(endereco,unidadeInfo.bairroUnidade, ' - '); 
6434                 
6435                         $('.ssp-ofertas__endereco-unidade').text(endereco); 
6436                         $('.ssp-ofertas__endereco-unidade').attr('href',unidadeInfo.googlemapsUnidade); 
6437
6438                 }, 
6439                 error: function(data){ 
6440                   $('.ssp-ofertas__endereco-unidade').text(''); 
6441                   $('.ssp-ofertas__endereco-unidade').attr('href','#a'); 
6442                     console.log('Unidade não encontrada'); 
6443
6444             }) 
6445           
6446          getOfertas(codigoFT, dataEfetivaOferta, unidades[i].categoryId); 
6447            
6448          habilitarRegistroInteresse(!!(unidades && unidades.length)); 
6449            
6450
6451     }   
6452
6453     
6454   function pegarTextoCartoesAceitos(campo){ 
6455      indice = campo.indexOf(' em até '); 
6456      inicio = 0; 
6457      fim = indice; 
6458       
6459      return campo.substring(inicio, fim); 
6460
6461    
6462   function pegaNumParcela(campo){ 
6463    
6464      indice = campo.indexOf('até '); 
6465      inicio = indice + 4; 
6466      fim = indice +  6; 
6467       
6468      return campo.substring(inicio, fim); 
6469       
6470
6471    
6472   function pegaValorParcela(campo){ 
6473      
6474      indice = campo.indexOf('R$'); 
6475      inicio = indice+2;     
6476      valorAmericano = campo.substring(inicio) 
6477       
6478      return formataValor(valorAmericano); 
6479       
6480
6481    
6482   function montaHTMLOferta(oferta, index, codigoUnidade, posLoad){ 
6483	    
6484    var retornoDiasHorarios = processaDiasHorariosOferta(oferta.horariosAllOferta); 
6485    diasSemanaHTML = ""; 
6486	      
6487    for(var diaDaOferta of retornoDiasHorarios){ 
6488          diasSemanaHTML += htmlSlickAreaDiasSemana.replace('\{diasSemana\}',diaDaOferta.dias); 
6489          diasSemanaHTML = diasSemanaHTML.replace('\{horasSemana\}',diaDaOferta.horario) 
6490		      }    
6491		       
6492    var ofertaHTML = ""; 
6493		 
6494		if(isEmed){ 
6495			 
6496      ofertaHTML = htmlSlickAreaEmed(oferta); 
6497			$('[name="codUnidadeSelecionada"]').val(codigoUnidade); 
6498			 
6499			if(!posLoad) $('.ssp-slick-ofertas-emed').append(ofertaHTML) 
6500			else $('.ssp-slick-ofertas-emed').slick('slickAdd', ofertaHTML); 
6501		}else{ 
6502 
6503 
6504      ofertaHTML = htmlSlickArea(index, oferta, diasSemanaHTML, codigoUnidade) 
6505       
6506      if(!posLoad) 
6507        $('.oferta-slick-area').append(ofertaHTML); 
6508      else 
6509        $('.oferta-slick-area').slick('slickAdd', ofertaHTML); 
6510       
6511      ajustaTextoDiasHorarioOferta(oferta.codigoOferta); 
6512 
6513
6514 
6515    if(turmasIniciadas(oferta.dataInicio)) 
6516    	$("#aviso-turma-iniciada-"+index).show(); 
6517 
6518	//remove os botões/itens de compra/bolsa caso seja preciso 
6519    $('.oferta-slick-area').find('.d-none-btn').remove(); 
6520
6521 
6522 
6523  	//RECEBE A STRING DE HORARIOS E RETORNA UMA LISTA DE OBJETOS COM OS DIAS E HORARIOS FORMATADOS 
6524	//@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"  
6525	function processaDiasHorariosOferta(horariosAllOferta){ 
6526 
6527   		var dias = horariosAllOferta.trim().split(','); 
6528   		let arrayDiasSemana = [{"Seg":"Segunda"},{"Ter":"Terça"},{"Qua":"Quarta"},{"Qui":"Quinta"},{"Sex":"Sexta"},{"Sab":"Sábado"},{"Dom":"Domingo"}] 
6529 
6530   		var arrayDia = []; 
6531   	   	if(dias.length >= 1){ 
6532   		    for(var k=0; dias.length > k; k++){ 
6533   		 		var diasSplit = dias[k].trim().split(' '); 
6534   	          	var diasSemana = diasSplit.shift() 
6535   		      	var ultimaPos = diasSplit.length-1; 
6536   	          	var horasStr = diasSplit[0] + ' às ' + diasSplit[ultimaPos]  
6537   	         	arrayDia.push({horasStr,diasSemana}); 
6538
6539
6540 
6541   		arrayDia = groupByArray(arrayDia, 'horasStr','diasSemana'); 
6542   		arrayDia = orderByArray(arrayDia,arrayDiasSemana); 
6543   		 
6544   		var ret = diaHorarioOfertaFormatado(arrayDia,arrayDiasSemana); 
6545			return ret; 
6546
6547 
6548   //cria um array de objetos Agrupando de acordo ao campo informado como chave.  
6549   //@arr = Array multidimensional que tenha os campos key e valueAdd 
6550   //@key = campo que será chave nesse array 
6551   //@valueAdd = campo que será agrupado caso tenha a mesma informação passada no campo key 
6552   const groupByArray = (arr, key,valueAdd) => { 
6553   		const initialValue = []; 
6554   		const retornoValue = []; 
6555   		arr.forEach((acc, cval) => { 
6556   			const myAttribute = cval[key]; 
6557   			acc[key] in retornoValue ? retornoValue[acc[key]].push(acc[valueAdd]):retornoValue[acc[key]]=[acc[valueAdd]]; 
6558   			return acc; 
6559     		}, initialValue); 
6560   	return retornoValue; 
6561   }; 
6562 
6563 
6564   //Cria um array de objetos a partir do primeiro array inserido e ordenados de acordo a ordem do segundo array informado.  
6565   //@arrayOrdena = Array de objetos que tenha os campos que precisa ser ordenados 
6566   //@ordem = array com a sequencia que queira ordenar - ex: seg, ter, qua, qua 
6567   const orderByArray = (arrayOrdena, ordem) => { 
6568 
6569   	let diasSem = []; 
6570   	const arrayOrdenado = []; 
6571   	let controle; 
6572   	 
6573   	//percorre cada campo existente no ordem e busca o mesmo no arrayOrdena, encontrando insere no arrayOrdenado 
6574   	for(let campo of ordem){	 
6575   		Object.entries(arrayOrdena).forEach(([key, value]) => { 
6576   			for(let diaOferta of value){ 
6577   				if(diaOferta===Object.keys(campo)[0]){ 
6578   					arrayOrdenado[key]=arrayOrdena[key]; 
6579
6580
6581   	    }) 
6582
6583   	return arrayOrdenado; 
6584   }; 
6585 
6586   //retorna o valor de um objeto dentro de um array 
6587   //@objetoBusca = array de objetos que sera buscado o valor 
6588   //@keyBusca = nome do campo a ser buscada no objeto para pegar o seu valor 
6589   function findValueInObject(objetoBusca, keyBusca){ 
6590   	var retorno = ""; 
6591   	Object.entries(objetoBusca).forEach(([horario, dias]) => { 
6592   		Object.entries(dias).forEach(([key,val]) => { 
6593   			if(key.trim()==keyBusca.trim()){ 
6594   				retorno = val; 
6595
6596   		}); 
6597   	}); 
6598   	return retorno; 
6599
6600 
6601   //Recebe um objeto com valores dos dias da semana e define se sao dias seguidos ou alternados.  
6602   //@arrayComDiasDaSemana = array com os dias da semana a serem validados - exemplo ['Qua','Qui','Sex'] 
6603   //@keyBusca = nome do campo a ser buscada no objeto para pegar o seu valor 
6604   function diasSequenciaisOuAlternados(arrayComDiasDaSemana, arrayDiasDaSemana){ 
6605   	 
6606   	let arrayValidador = []; 
6607   	 
6608   	//cria um array com o index dos dias das semanas encontrados [0 = seg, 1 = ter ... 6 = dom] 
6609   	for(let diaOferta of arrayComDiasDaSemana){ 
6610   		for(let i = 0; i < arrayDiasDaSemana.length; i++){ 
6611   			if(diaOferta === Object.keys(arrayDiasDaSemana[i])[0]){ 
6612   				arrayValidador[i] = true; 
6613   			}				 
6614
6615
6616 
6617   	let keyCompair = 99; 
6618   	var sequencial = true; 
6619 
6620   	//verifica quais posições foram criadas no array, e se os valores delas estão em sequencia. 
6621   	for(let keyValidator of Object.keys(arrayValidador)){ 
6622   		keyValidator = parseInt(keyValidator); 
6623   		if(keyCompair!==99){ 
6624   			if(keyValidator===keyCompair){ 
6625   				sequencial = true; 
6626   			}else{ 
6627   				sequencial = false; 
6628   				break; 
6629
6630
6631   		keyCompair = keyValidator+1; 
6632
6633   	return sequencial; 
6634
6635 
6636 
6637   //Exibe as informações de dia e horario de oferta de acordo a sua estrutura 
6638   //Caso os dias sejam sequenciais exibe a primeiro e ultimo dia da semana ligados com a letra 'a' Ex: Segunda a Quinta  
6639   //Caso os dias Nao sejam sequenciais exibem todos os dias separados por virgula  Ex: Segunda, terça, sexta e domingo 
6640   //@arrayAgrupadoEOrdenado = array de objetos que sera exibido 
6641   //@arrayDiasDaSemana = array com os dias da semana, sendo chave a sigla da semana (ex: Qua) e o valor o nome esperado (ex: Quarta) 
6642   function diaHorarioOfertaFormatado(arrayAgrupadoEOrdenado, arrayDiasDaSemana){ 
6643 
6644   	var stringAux = "";		 
6645   	var listRetorno = []; 
6646   		 
6647   	Object.entries(arrayAgrupadoEOrdenado).forEach(([key, value]) => {		 
6648 
6649   		var sequencial = diasSequenciaisOuAlternados(value, arrayDiasDaSemana); 
6650   		var stringAux = "";		 
6651   		var diaOferta = {}; 
6652 
6653   		if(sequencial){ 
6654   			switch (value.length) { 
6655       			case 1: 
6656   					stringAux = stringAux+findValueInObject(arrayDiasDaSemana,value[0])+": "; 
6657   					diaOferta.dias = stringAux.charAt(0).toUpperCase() + stringAux.slice(1).toLowerCase(); // somente a primeira maiúscula 
6658   					diaOferta.horario = key; 
6659   				break; 
6660   				case 2: 
6661   					stringAux = stringAux+findValueInObject(arrayDiasDaSemana,value[0])+" e "+findValueInObject(arrayDiasDaSemana,value[value.length-1])+": "; 
6662   					diaOferta.dias = stringAux.charAt(0).toUpperCase() + stringAux.slice(1).toLowerCase(); // somente a primeira maiúscula 
6663   					diaOferta.horario = key; 
6664   				break; 
6665   				default: 
6666          				stringAux = stringAux+findValueInObject(arrayDiasDaSemana,value[0])+" a "+findValueInObject(arrayDiasDaSemana,value[value.length-1])+": "; 
6667   					 
6668   					diaOferta.dias =  stringAux.charAt(0).toUpperCase() + stringAux.slice(1).toLowerCase(); // somente a primeira maiúscula 
6669   					diaOferta.horario = key; 
6670   				break; 
6671   			}	 
6672   		}else{ 
6673   			switch (value.length) { 
6674       			case 2: 
6675   					stringAux = stringAux+findValueInObject(arrayDiasDaSemana,value[0])+" e "+findValueInObject(arrayDiasDaSemana,value[value.length-1])+": "; 
6676   					diaOferta.dias =  stringAux.charAt(0).toUpperCase() + stringAux.slice(1).toLowerCase(); // somente a primeira maiúscula 
6677   					diaOferta.horario = key; 
6678   				break; 
6679   				default: 
6680   					var ct = 0; 
6681   					var stringDias=""; 
6682   					for(let v of value){ 
6683       					ct++; 
6684   						ct==value.length ? stringDias=stringDias.substring(0,stringDias.length - 2)+" e "+findValueInObject(arrayDiasDaSemana,v) : stringDias+=findValueInObject(arrayDiasDaSemana,v)+", "; 
6685
6686          				stringAux = stringAux+stringDias+": "; 
6687   					diaOferta.dias = stringAux.charAt(0).toUpperCase() + stringAux.slice(1).toLowerCase(); // somente a primeira maiúscula 
6688   					diaOferta.horario = key; 
6689   				break; 
6690
6691
6692 
6693   		listRetorno.push(diaOferta); 
6694   	}) 
6695   	return listRetorno; 
6696   }; 
6697 
6698 
6699   //Distribui dia e horario com quebra de linha entre eles ou nao dependendo da resolução de tela e tamanho da string 
6700   function ajustaTextoDiasHorarioOferta(codOferta){ 
6701 
6702	   var classOferta = ".codigoOferta_"+codOferta;  
6703	   let oferta = $(classOferta); 
6704 
6705	   let ofertaDiasSemana = $(oferta).find('*[data-dia-hora="dias-semana"]'); 
6706 
6707	   let widthDevice = window.screen.width; 
6708	   let tamLimDesktop = 185; 
6709	 
6710	   if(widthDevice <= 1024){ 
6711	       tamLimDesktop = 180; 
6712
6713	  
6714	   ofertaDiasSemana.each(function(index){ 
6715 
6716		   		   	 
6717	       let widthDiaSemana = $(this).width(); 
6718	 
6719	       let contentDiaHora = $(this).parent().parent().parent(); 
6720	   	 
6721	       if(!(widthDiaSemana <= tamLimDesktop)){ 
6722			   $(this).css("display","block"); 
6723
6724	 
6725		   if(ofertaDiasSemana.length == parseInt(index+1)){ 
6726		       contentDiaHora.css("opacity","1"); 
6727
6728 
6729   		})  
6730
6731 
6732   function getObjBtnComprar(oferta){ 
6733      let obj = {}; 
6734      obj['dataEspacoEx'] = (oferta.espacoExterno == 'true' || (isHibrido && temTextoParaFormatoHibrido)) ? 'true' : 'false'; 
6735      if($('#manutencao-compra').val()){ 
6736        obj['classeBotao'] = 'disabled manutencao'; 
6737        obj['textoBotao'] = $('#manutencao-compra').val(); 
6738      }  
6739      else{ 
6740        obj['classeBotao'] = oferta.botaoCompraOferta == 'true' ? (oferta.vagasParaCompraOferta == 'true' ? '' : 'disabled') : 'd-none-btn'; 
6741        obj['textoBotao'] = oferta.vagasParaCompraOferta == 'true' ? 'COMPRAR' : 'Vagas esgotadas para compra'; 
6742
6743      return obj; 
6744
6745    
6746     function getObjFormaPagto(oferta,index,tipoCurso,codigoUnidade){ 
6747        
6748       var formaPagtoObj = {}; 
6749	    
6750	     var regNumMaxParce = new RegExp('\{numeroMaxParcelasOferta\}', 'g'); 
6751         var regPrecMaxParce = new RegExp('\{precoVendaMaxParcelaOferta\}', 'g') 
6752 
6753       formaPagtoObj['regIndex']  = index; 
6754       formaPagtoObj['precoCheioOferta'] = formataValor(oferta.precoCheioOferta); 
6755       formaPagtoObj['textoCartoesAceitos'] = oferta.textoCartoesAceitos; 
6756 
6757       formaPagtoObj['numParcelaCartoes'] = oferta.numParcelaCartoes; 
6758       formaPagtoObj['precoParcelaCartoes'] = oferta.precoParcelaCartoes; 
6759       formaPagtoObj['numParcelaBoleto'] = oferta.numParcelaBoleto; 
6760       formaPagtoObj['precoParcelaBoleto'] = oferta.precoParcelaBoleto; 
6761       formaPagtoObj['precoVendaOferta'] = formataValor(oferta.precoVendaOferta); 
6762        
6763       formaPagtoObj['economia'] = formataValor(parseFloat(oferta.precoCheioOferta).toFixed(2) - parseFloat(oferta.precoVendaOferta).toFixed(2)); 
6764       formaPagtoObj['espacoExterno'] = oferta.espacoExterno == 'true' ? 'true' : 'false'; 
6765       formaPagtoObj['dataUnidade'] = codigoUnidade; 
6766       formaPagtoObj['dataEvento'] = oferta.codigoOferta; 
6767       formaPagtoObj['destinoCompra '] = oferta.destinoCompra; 
6768        
6769       //EMED nao restringe o botao 
6770       if(isEmed){ 
6771          let manutencao = $('#manutencao-compra').val();  
6772          formaPagtoObj['textoBotaoComprar'] = manutencao || 'COMPRAR'; 
6773           formaPagtoObj['classeBotaoComprar'] = manutencao ? 'disabled manutencao' : ''; 
6774       }else{ 
6775          let btnComprar = getObjBtnComprar(oferta);  
6776          formaPagtoObj['textoBotaoComprar'] = btnComprar.textoBotao; 
6777           formaPagtoObj['classeBotaoComprar'] = btnComprar.classeBotao; 
6778
6779 
6780       formaPagtoObj['regNumMaxParce'] = oferta.numeroMaxParcelasOferta; 
6781       formaPagtoObj['regPrecMaxParce'] = formataValor(oferta.precoVendaMaxParcelaOferta); 
6782        
6783       //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  
6784       formaPagtoObj['precoAVistaPadraoExt'] = formataValor(oferta.precoVendaOferta); 
6785       var precoContribuinteExtensao = (parseFloat(oferta.precoVendaOferta).toFixed(2) * 0.80).toFixed(2); 
6786       formaPagtoObj['precoContrExt'] = formataValor(precoContribuinteExtensao); 
6787       formaPagtoObj['economiaExt'] = formataValor(parseFloat(oferta.precoVendaOferta).toFixed(2) - precoContribuinteExtensao); 
6788       formaPagtoObj['precoParcelaBoletoExt'] = formataValor( (precoContribuinteExtensao / oferta.numParcelaBoleto).toFixed(2)); 
6789       formaPagtoObj['precoParcelaCartoesExt'] = formataValor( (precoContribuinteExtensao / oferta.numParcelaCartoes).toFixed(2)); 
6790       formaPagtoObj['precoAVistaContrExt'] = formataValor( (precoContribuinteExtensao * 0.92).toFixed(2)); 
6791          
6792       return formaPagtoObj; 
6793
6794      
6795     function calculaPrecoAvista(precoVendaOferta){ 
6796      return (parseFloat(precoVendaOferta).toFixed(2) * 0.92).toFixed(2); 
6797
6798 
6799    function createModalFormaPagto(formaPagtoObj, oferta, index) { 
6800      let temDesconto = possuiCriteriosDesconto2022(oferta.dataInicio) 
6801      temDesconto = temDesconto && !possuiMensalidade99(oferta)       
6802       
6803      result = ` 
6804        <div id="modalFormaPagto" class="ssp-modal"> 
6805          <div class="ssp-card-modal-forma-pagamento ` + (temDesconto ? 'ssp-desconto-2022' : '') + `"> 
6806            <div class="ssp-card-modal-forma-pagamento__header" style="border: 0; margin-bottom: 0 !important;"> 
6807              <h6 class="ssp-card-modal-forma-pagamento__header-title font-weight-bold" style="color:#454F63">Descontos e ` + (temDesconto ? 'pagamento' : 'parcelamento') + `</h6> 
6808              <i class="ssp-card-modal-forma-pagamento__btn-close ssp-card-modal-forma-pagamento__btn-close_` + index + `"></i> 
6809            </div> 
6810
6811        + (temDesconto ? '' : '<div class="ssp-card-oferta-curso__line-divider mt-0 mb-5 mb-md-8"></div>') + 
6812
6813            <div class="ssp-card-modal-forma-pagamento__body">               
6814      `       
6815      if(temDesconto) { 
6816        result = result + ` 
6817             <div> 
6818                <p class="my-0"><strong>Valor com </strong> 
6819                  <span class="ssp-card-oferta-curso__valor-desconto mt-0 mb-0">50% de desconto*</span>                   
6820                </p> 
6821              </div> 
6822              <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>` 
6823               
6824        if($('[name="tipoCurso"]').val() == 'extensao') { 
6825          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>` 
6826        } else { 
6827          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>` 
6828
6829               
6830         
6831        result = result + ` 
6832              <div class="ssp-card-oferta-curso__line-divider mb-5 mb-md-2 mt-2"></div> 
6833              <p class="my-0"><strong>Valor:</strong></p> 
6834              <h6 class="ssp-card-oferta-curso__item-valor-investimento ` + (temDesconto ? 'ssp-desconto-2022' : '') + `"><span>` + oferta.numeroMaxParcelasOferta + `x</span>R$ ` + formataValor(oferta.precoVendaMaxParcelaOferta) + `</h6> 
6835              <p class="mt-0 mb-0"><strong>Valor Total: </strong> ` + formataValor(ajustarCasasDecimaisSemArredondar(strToFloat(oferta.precoVendaOferta), 2)) + `</p> 
6836              <div class="ssp-card-oferta-curso__line-divider mt-4 mb-md-3 mb-4"></div> 
6837              <p class="my-0"><strong>Parcele e garanta mais tempo para pagar:</strong></p> 
6838
6839      } else { 
6840        if(formaPagtoObj.precoCheioOferta == formaPagtoObj.precoVendaOferta) { 
6841          result = result + ` 
6842              <p class="ssp-card-modal-forma-pagamento__valor-desconto mt-n3">R$ <span class="precoVendaOferta">` + formaPagtoObj.precoVendaOferta + `</span></p> 
6843              <p class="txt-desconto-oito">Pague à vista e <span style="color:#FC7834;font-weight:bold"> ganhe mais 8% de desconto.</span></p> 
6844              <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> 
6845            </div> 
6846
6847        } else { 
6848          const textoDesc = temDesconto ? 'Valor com 30% de desconto:' : 'Valor com desconto:' 
6849           
6850          result = result + ` 
6851              <small class="ssp-card-oferta-curso__title-item font-weight-bold" style="margin:0;font-size:16px;">` + textoDesc + `</small> 
6852              <p class="ssp-card-modal-forma-pagamento__valor-cheio">R$ <span class="precoCheioOferta">` + formaPagtoObj.precoCheioOferta + `</span></p> 
6853              <p class="ssp-card-modal-forma-pagamento__valor-desconto">R$ <span class="precoVendaOferta">` + formaPagtoObj.precoVendaOferta + `</span></p> 
6854              <p class="ssp-card-modal-forma-pagamento__total-economia">Você economiza <span>R$ <span class="economia">` + formaPagtoObj.economia + `</span></span></p> 
6855              <p class="txt-desconto-oito">Pague à vista e <span style="color:#FC7834;font-weight:bold"> ganhe mais 8% de desconto.</span></p> 
6856              <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> 
6857            </div> 
6858
6859
6860
6861 
6862      let textoParcelaCartoes, textoParcelaBoleto       
6863      if(temDesconto) { 
6864        const precoParcelaCartoes = formataValor(ajustarCasasDecimaisSemArredondar(strToFloat(formaPagtoObj.precoParcelaCartoes)/2, 2)) 
6865        const precoParcelaBoleto = formataValor(ajustarCasasDecimaisSemArredondar(strToFloat(formaPagtoObj.precoParcelaBoleto)/2, 2)) 
6866 
6867        if(formaPagtoObj.numParcelaCartoes) 
6868          textoParcelaCartoes = `<p>Em até <span><span class="numParcelaCartoes">` + formaPagtoObj.numParcelaCartoes + `</span>x</span> sem juros</p>` 
6869 
6870        if(formaPagtoObj.numParcelaBoleto) 
6871          textoParcelaBoleto = `<p>Em até <span><span class="numParcelaBoleto">` + formaPagtoObj.numParcelaBoleto + `</span>x</span> sem juros</p>` 
6872      } else { 
6873        if(formaPagtoObj.numParcelaCartoes) 
6874          textoParcelaCartoes = `<p>Em até <span><span class="numParcelaCartoes">` + formaPagtoObj.numParcelaCartoes + `</span>x de R$ <span class="precoParcelaCartoes">` + formaPagtoObj.precoParcelaCartoes + `</span></span> sem juros</p>` 
6875         
6876        if(formaPagtoObj.numParcelaBoleto) 
6877          textoParcelaBoleto = `<p>Em até <span><span class="numParcelaBoleto">` + formaPagtoObj.numParcelaBoleto + `</span>x de R$ <span class="precoParcelaBoleto">` + formaPagtoObj.precoParcelaBoleto + `</span></span> sem juros</p>` 
6878
6879 
6880      if(temDesconto) {  
6881        result = result + ` 
6882              <div class="ssp-card-modal-forma-pagamento__tipos">` 
6883 
6884        if(textoParcelaBoleto) 
6885          result = result + ` 
6886                <div class="ssp-card-modal-forma-pagamento__tipos-content align-items-start"> 
6887                  <i class="ssp-card-modal-forma-pagamento__icon-boleto"></i> 
6888                  <div class="ssp-card-modal-forma-pagamento__info-cartao"> 
6889                      <p><strong>Boleto Bancário</strong></p>` 
6890                      + textoParcelaBoleto +    
6891                  `</div> 
6892                </div>` 
6893 
6894        if(textoParcelaCartoes) 
6895          result = result + ` 
6896                <div class="ssp-card-modal-forma-pagamento__tipos-content align-items-start mt-4"> 
6897                  <i class="ssp-card-modal-forma-pagamento__icon-credit-card"></i> 
6898                  <div class="ssp-card-modal-forma-pagamento__info-cartao"> 
6899                      <p><strong>Cartões</strong></p> 
6900                      <p>(<span class="textoCartoesAceitos">` + formaPagtoObj.textoCartoesAceitos + `</span>)</p>` 
6901                      + textoParcelaCartoes +    
6902                  `</div> 
6903                </div> 
6904              </div> 
6905
6906      } else { 
6907        result = result + ` 
6908              <div class="ssp-card-modal-forma-pagamento__tipos">` 
6909 
6910        if(textoParcelaCartoes) 
6911          result = result + ` 
6912                <div class="ssp-card-modal-forma-pagamento__tipos-content align-items-start"> 
6913                  <i class="ssp-card-modal-forma-pagamento__icon-credit-card"></i> 
6914                  <div class="ssp-card-modal-forma-pagamento__info-cartao"> 
6915                      <p><strong>Cartões</strong></p> 
6916                      <p>(<span class="textoCartoesAceitos">` + formaPagtoObj.textoCartoesAceitos + `</span>)</p>` 
6917                      + textoParcelaCartoes +    
6918                  `</div> 
6919                </div>` 
6920 
6921        if(textoParcelaBoleto) 
6922          result = result + ` 
6923                <div class="ssp-card-modal-forma-pagamento__tipos-content align-items-start mt-4"> 
6924                  <i class="ssp-card-modal-forma-pagamento__icon-boleto"></i> 
6925                  <div class="ssp-card-modal-forma-pagamento__info-cartao"> 
6926                      <p><strong>Boleto Bancário</strong></p>` 
6927                      + textoParcelaBoleto +    
6928                  `</div> 
6929                </div> 
6930              </div> 
6931
6932
6933 
6934      if(temDesconto) {  
6935        result = result + ` 
6936            <p class="txt-desconto-oito my-0">Pague à vista e ganhe <span style="color:#5ACC75;font-weight:bold">8% de desconto.</span></p> 
6937
6938
6939 
6940      result = result + ` 
6941            <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>` 
6942     
6943      if(temDesconto) {  
6944        result = result + ` 
6945            <a class="btn btn-primary modal-extensao-btn-conheca mt-3" href="/descontos-e-parcelamentos" target="_blank">Conheça os descontos</a> 
6946
6947
6948           
6949      result = result + ` 
6950         </div> 
6951        </div> 
6952
6953 
6954      return result; 
6955
6956      
6957     function montaHTMLModalFormaPgto(oferta, index, codigoUnidade){ 
6958        
6959       var tipoCurso = $('[name="tipoCurso"]').val(); 
6960        
6961       var formaPagtoObj = getObjFormaPagto(oferta,index,tipoCurso,codigoUnidade); 
6962        
6963       var modalFormaPagto 
6964       if(tipoCurso == 'extensao' && !possuiCriteriosDesconto2022(oferta.dataInicio)) { 
6965          modalFormaPagto = $('#modalFormaPagtoExt').clone(); 
6966 
6967          $.each(formaPagtoObj, function(k,v){ 
6968            if(modalFormaPagto.find('.'+k).length > 0) 
6969              modalFormaPagto.find('.'+k).text(v); 
6970          }) 
6971        } else if(isEmed) { 
6972          modalFormaPagto = $('#modalPagtoEmed').clone(); 
6973 
6974          $.each(formaPagtoObj, function(k,v){ 
6975            if(modalFormaPagto.find('.'+k).length > 0) 
6976              modalFormaPagto.find('.'+k).text(v); 
6977          }) 
6978        } else 
6979           modalFormaPagto = $(createModalFormaPagto(formaPagtoObj, oferta, index)); 
6980          
6981       modalFormaPagto.removeAttr('id'); 
6982       modalFormaPagto.removeClass('d-none'); 
6983       modalFormaPagto.attr('id','myModal_'+index); 
6984        
6985       if(tipoCurso == 'extensao' && !possuiCriteriosDesconto2022(oferta.dataInicio)){ 
6986          
6987         var botoaoCompraOk = modalFormaPagto.find('.modal-extensao-aluno__btn.ok'); 
6988         botoaoCompraOk.attr('id','btnComprarConhecaDescontoOk_'+index); 
6989          
6990         botoaoCompraOk.attr('data-espaco-ex', formaPagtoObj.espacoExterno); 
6991         botoaoCompraOk.attr('data-unidade', formaPagtoObj.dataUnidade); 
6992         botoaoCompraOk.attr('data-evento', formaPagtoObj.dataEvento); 
6993         botoaoCompraOk.attr('data-destino-compra', formaPagtoObj.destinoCompra); 
6994         botoaoCompraOk.attr('data-index', index); 
6995         botoaoCompraOk.addClass(formaPagtoObj.classeBotaoComprar); 
6996          
6997         var botoaoCompraNot =modalFormaPagto.find('.modal-extensao-aluno__btn.not'); 
6998         botoaoCompraNot.attr('id','btnComprarConhecaDescontoNot_'+index); 
6999          
7000         botoaoCompraNot.attr('data-espaco-ex', formaPagtoObj.espacoExterno); 
7001         botoaoCompraNot.attr('data-unidade', formaPagtoObj.dataUnidade); 
7002         botoaoCompraNot.attr('data-evento', formaPagtoObj.dataEvento); 
7003         botoaoCompraNot.attr('data-destino-compra', formaPagtoObj.destinoCompra); 
7004         botoaoCompraNot.attr('data-index', index); 
7005         botoaoCompraNot.addClass(formaPagtoObj.classeBotaoComprar); 
7006          
7007         modalFormaPagto.find('.modal-extensao-btn-aluno-sim-nao.sim').attr('id','btn-aluno-sim_'+index); 
7008         modalFormaPagto.find('.modal-extensao-btn-aluno-sim-nao.nao').attr('id','btn-aluno-nao_'+index); 
7009          
7010         modalFormaPagto.find('.modal-extensao-voltar-icon').addClass('ssp-card-modal-forma-pagamento__btn-close_'+index); 
7011          
7012         modalFormaPagto.find('.modal-extensao-btn-conheca').attr('id','btnModalExtConheca_'+index); 
7013          
7014         modalFormaPagto.find('.modal-pergunta-aluno-ext').attr('id','modalExtAluno_'+index); 
7015          
7016         modalFormaPagto.find('.msg-alunoSim').attr('id','msg-alunoSim_'+index); 
7017         modalFormaPagto.find('.msg-alunoNao').attr('id','msg-alunoNao_'+index); 
7018          
7019         var botaoCompra = modalFormaPagto.find('.modal-extensao__btn.mt-3');  
7020      
7021       }else{ 
7022   
7023         modalFormaPagto.find('.mt-4').attr('id','content_boleto_'+index); 
7024         modalFormaPagto.find('.ssp-card-modal-forma-pagamento__btn-close').addClass('ssp-card-modal-forma-pagamento__btn-close_'+index); 
7025          
7026         var botaoCompra = modalFormaPagto.find('.btn.w-100'); 
7027   
7028
7029        
7030       if(isEmed){ 
7031          
7032    	   	var elementoPai = modalFormaPagto.find('.ssp-card-modal-forma-pagamento'); 
7033	    		  
7034          //Cria botao inscreva-se ajustado ao modal 
7035          var dadosAbertura = calculaTempoAberturaBolsa(oferta.dataAberturaBolsaOferta, oferta.horaAberturaBolsaOferta); 
7036          if($('#manutencao-compra').val()){ 
7037            textoBotao = $('#manutencao-compra').val(); 
7038            classeBotao = 'disabled manutencao'; 
7039          }else{ 
7040            if(oferta.permiteListaEspera == statusEmed.ESPERA && dadosAbertura.bolsaJaAberta){ 
7041              textoBotao = 'Lista de espera'; 
7042              classeBotao = 'btn-emed-lista-espera'; 
7043            }else{ 
7044                if (dadosAbertura.bolsaJaAberta || !oferta.dataAberturaBolsaOferta || oferta.dataAberturaBolsaOferta == ''){ 
7045                  if(oferta.etapa == '0020' || oferta.etapa == '0030'){ 
7046                    textoBotao = 'Lista de espera'; 
7047                    classeBotao = 'btn-emed-lista-espera'; 
7048                  }else{ 
7049                    textoBotao = 'Fazer matrícula'; 
7050                    classeBotao = ''; 
7051
7052                }else{ 
7053                  textoBotao = 'Matrícula em '+formataDataAberturaBolsa(oferta.dataAberturaBolsaOferta, oferta.horaAberturaBolsaOferta); 
7054                  classeBotao = 'disabled'; 
7055
7056
7057
7058          criaBotaoInscreverEmedModal(oferta, textoBotao, classeBotao, 'btnComprarEmedModal_' + index, elementoPai, index); 
7059          preencheDadosEmedModal(oferta, modalFormaPagto); 
7060          
7061       }else{ 
7062	       botaoCompra.attr('id', "btnComprarFormaPgto_"+index); 
7063	       botaoCompra.attr('data-espaco-ex', formaPagtoObj.espacoExterno); 
7064	       botaoCompra.attr('data-unidade', formaPagtoObj.dataUnidade); 
7065	       botaoCompra.attr('data-evento', formaPagtoObj.dataEvento); 
7066	       botaoCompra.attr('data-destino-compra', formaPagtoObj.destinoCompra); 
7067	       botaoCompra.attr('data-index', index); 
7068		   botaoCompra.addClass(formaPagtoObj.classeBotaoComprar); 
7069
7070        
7071       $('.oferta-slick-area_modal').append(modalFormaPagto); 
7072       $('.oferta-slick-area_modal').find('.d-none-btn').remove(); 
7073        
7074       //Evita o erro de exibição de Nan 
7075       if(oferta.numParcelaBoleto.length == 0){ 
7076    	   $('#content_boleto_'+index).remove(); 
7077
7078
7079 
7080    
7081   function montaHTMLModalLocalRealizacao(oferta, index){ 
7082      
7083     var tituloLocalRealizacao = (localLivreOnline(oferta.localEspacoExterno) && !isHibrido) ? 
7084          '<i class="fas fa-wifi icon-wifi-title__modal"></i> <h6 class="title-idioma-online__modal"> Aulas Online - ao vivo</h6>' 
7085           : '<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>'; 
7086      
7087     if(textoFormatoHibrido.length>0 && oferta.espacoExterno=="true") 
7088             textoFormatoHibrido += '</br>'; 
7089                        
7090     var localRealizacaoHTMLModal = htmlModalLocalRealizacao 
7091         .replace('\{nomeUnidade\}',$('#unidades-ofertas option:selected').text()) 
7092         .replace('\{textoFormatoHibrido\}', textoFormatoHibrido ) 
7093         .replace('\{localEspacoExterno\}',  oferta.espacoExterno=="true"? oferta.localEspacoExterno: "" ) 
7094         .replace('\{classeTextoInfoLocalRealizacao\}', (oferta.ruaEspacoExterno != "" && !isHibrido) ? "" : "d-none") 
7095         .replace('\{classeEnderecoRealizacao\}',oferta.ruaEspacoExterno != "" ? "" : "d-none") 
7096         .replace('\{ruaEspacoExterno\}',oferta.ruaEspacoExterno) 
7097         .replace('\{numeroEspacoExterno\}',oferta.numeroEspacoExterno) 
7098         .replace('\{complementoEspacoExterno\}',oferta.complementoEspacoExterno) 
7099         .replace('\{classeBairroRealizacao\}', oferta.bairroEspacoExterno != "" && oferta.ruaEspacoExterno != "" ? "" : "d-none") 
7100         .replace('\{bairroEspacoExterno\}',oferta.bairroEspacoExterno) 
7101         .replace('\{classeCidadeRealizacao\}', oferta.cidadeEspacoExterno != "" && oferta.ruaEspacoExterno != "" ? "" : "d-none") 
7102         .replace('\{cidadeEspacoExterno\}',oferta.cidadeEspacoExterno) 
7103         .replace('\{classeCepRealizacao\}', oferta.cepEspacoExterno != "" && oferta.ruaEspacoExterno != "" ? "" : "d-none") 
7104         .replace('\{cepEspacoExterno\}',oferta.cepEspacoExterno) 
7105        .replace(regIndex, index) 
7106        .replace('\{tituloLocalRealizacao\}', tituloLocalRealizacao) 
7107        .replace('\{classeEntendi\}', (localLivreOnline(oferta.localEspacoExterno)) ? "btn-modal-entendi__idioma-online" : ""); 
7108 
7109        $('.oferta-slick-area_modal').append(localRealizacaoHTMLModal); 
7110        $('.oferta-slick-area_modal').find('.d-none-btn').remove(); 
7111 
7112        if(oferta.ruaEspacoExterno == "") 
7113           $('.localEspacoExternoTexto_'+index).removeClass('ssp-modal-local-realizacao__subtitle'); 
7114
7115    
7116   function  montaHTMLModalAntesCompra(oferta, index, codigoUnidade){ 
7117 
7118    if(isEmed){ 
7119              
7120      $('#modalAntesCompraEmed_' + oferta.indice).remove(); 
7121      const antesCompraHTMLModal = $('#modalAntesCompraEmed').clone(); 
7122      antesCompraHTMLModal.attr('id', 'modalAntesCompraEmed_' + oferta.indice); 
7123      antesCompraHTMLModal.find('.ssp-card-modal-antes-compra__btn-close').addClass('ssp-card-modal-antes-compra__btn-close_'+oferta.indice); 
7124      antesCompraHTMLModal.find('.ssp-card-modal-selecionar-outro__btn-close').addClass('ssp-card-modal-selecionar-outro__btn-close_'+oferta.indice); 
7125      antesCompraHTMLModal.insertAfter('#modalAntesCompraEmed'); 
7126       
7127      if(oferta.etapa == '0010'){ 
7128        if(oferta.permiteListaEspera == statusEmed.ESPERA){ 
7129          antesCompraHTMLModal.find('.textoEmedModalAntesCompra0010Espera').removeClass('d-none'); 
7130          antesCompraHTMLModal.find('#btnCompraLocalEmed').text('Ir para lista de espera'); 
7131        }else{ 
7132          antesCompraHTMLModal.find('.textoEmedModalAntesCompra0010').removeClass('d-none'); 
7133
7134      }else{ 
7135    	  antesCompraHTMLModal.find('.textoEmedModalAntesCompra0020e0030').removeClass('d-none'); 
7136
7137 
7138      const btnCompra = antesCompraHTMLModal.find('#btnCompraLocalEmed'); 
7139      btnCompra.attr('id', 'btnCompraLocalEmed_' + oferta.indice); 
7140      btnCompra.attr('offercode', oferta.codigoOferta); 
7141 
7142      btnCompra.on('click', function(ev){ 
7143        ev.preventDefault(); 
7144        execCompraEmed(oferta); 
7145      }); 
7146 
7147    }else{ 
7148    	 
7149   	 var dataEfetivaFormat = formataDataComBarra($('[name="dataEfetivaSTR"]').val()); 
7150 
7151   	 
7152     var antesCompraHTMLModal = htmlModalAntesCompra 
7153         .replace('\{nomeUnidade\}',$('#unidades-ofertas option:selected').text()) 
7154         .replace('\{textoFormatoHibrido\}', textoFormatoHibrido ) 
7155         .replace('\{localEspacoExterno\}', oferta.espacoExterno=="true"? oferta.localEspacoExterno:"" ) 
7156         .replace('\{classeTextoInfoLocalRealizacao\}', (oferta.ruaEspacoExterno != "" && !isHibrido) ? "" : "d-none") 
7157         .replace('\{classeEnderecoRealizacao\}', oferta.ruaEspacoExterno != ""  ? "" : "d-none") 
7158         .replace('\{ruaEspacoExterno\}',oferta.ruaEspacoExterno) 
7159         .replace('\{numeroEspacoExterno\}',oferta.numeroEspacoExterno) 
7160         .replace('\{complementoEspacoExterno\}',oferta.complementoEspacoExterno) 
7161         .replace('\{classeBairroRealizacao\}', oferta.bairroEspacoExterno != "" && oferta.ruaEspacoExterno != "" ? "" : "d-none") 
7162         .replace('\{bairroEspacoExterno\}',oferta.bairroEspacoExterno) 
7163         .replace('\{classeCidadeRealizacao\}', oferta.cidadeEspacoExterno != "" && oferta.ruaEspacoExterno != "" ? "" : "d-none") 
7164         .replace('\{cidadeEspacoExterno\}',oferta.cidadeEspacoExterno) 
7165         .replace('\{classeCepRealizacao\}', oferta.cepEspacoExterno != "" && oferta.ruaEspacoExterno != "" ? "" : "d-none") 
7166         .replace('\{cepEspacoExterno\}',oferta.cepEspacoExterno) 
7167         .replace('\{componentBuyConfirmation\}', componentBuyConfirmation(codigoUnidade, oferta, dataEfetivaFormat)) 
7168         .replace('\{linkBtnBolsa\}', linkBolsa(oferta)) 
7169        .replace(regIndex, index);   
7170 
7171        $('.oferta-slick-area_modal').append(antesCompraHTMLModal); 
7172        $('.oferta-slick-area_modal').find('.d-none-btn').remove(); 
7173
7174
7175    
7176   async function populaOfertas(ofertas){ 
7177     
7178     //Zera variável que controla existência de ofertas com bolsa 
7179    ofertasComBolsa = false; 
7180 
7181    objsTela.ofertas = ofertas; 
7182 
7183    if(ofertas && ofertas.length)  
7184      $('#ssp-h3-turmas').show() 
7185    else  
7186      $('#ssp-h3-turmas').hide() 
7187 
7188      if(ofertas && ofertas.length > 1){ 
7189        //remove dupl 
7190        const ofertasDistintas = []; 
7191        ofertas.forEach(oferta => { 
7192          if(ofertasDistintas.filter(dist => dist.codigoOferta == oferta.codigoOferta).length == 0){ 
7193            ofertasDistintas.push(oferta); 
7194
7195        }); 
7196        ofertas = ofertasDistintas; 
7197
7198        
7199     if(isEmed){ 
7200 
7201      $('.btn-filtro[value="0"]').attr('disabled',''); 
7202      $('.ssp-slick-ofertas-emed').empty(); 
7203      // executa a class do slick slider 
7204      $('.ssp-slick-ofertas-emed').removeClass('slick-initialized slick-slider slick-dotted'); 
7205      ofertas = filtraOfertasEtapa(getEtapaSelecionadaEmed(), ofertas); 
7206       
7207
7208 
7209     if(ofertas.length == 0){ 
7210        
7211      if($('#unidades-ofertas').val() || $('#chkInscricao').prop('checked') || $('#chkBolsa').prop('checked')) 
7212        hideCardSemTurmas(false) 
7213        
7214       $('.oferta-slick-area').empty(); 
7215       $('.prev-mobile, .next-mobile').addClass('d-none'); 
7216        
7217       //Mostrar section registro interesse quando nao tiver oferta 
7218       habilitarRegistroInteresse(true); 
7219 
7220        controlaPaginaBolsa() 
7221        if(isEmed) $('.btn-filtro[value="0"]').removeAttr('disabled'); 
7222       return; 
7223
7224      hideCardSemTurmas(true) 
7225      if(!isEmed) $('.prev-mobile, .next-mobile').removeClass('d-none'); 
7226      habilitarRegistroInteresse(false);     
7227     
7228     $('.oferta-slick-area').empty(); 
7229     $('.oferta-slick-area_modal').empty(); 
7230     ofertas = ofertas.sort(function(a, b){ 
7231       return ordenar(a, b, 'ordenar'); 
7232     }); 
7233     // executa a class do slick slider 
7234     $('.oferta-slick-area').removeClass('slick-initialized slick-slider slick-dotted'); 
7235      
7236     //busca o codigoUnidade para o link do ecommerce 
7237     if(!isAoVivo){ 
7238      var selectedUnidade = $('#unidades-ofertas').val().split('@')[0]; 
7239      for(var i=0;objsTela.unidades.length > i ;i++){ 
7240        if(selectedUnidade == objsTela.unidades[i].categoryId) 
7241          codigoUnidade = objsTela.unidades[i].codigoUnidade; 
7242
7243
7244      
7245    // Montar object push - google tag manager - 2 
7246    itensEcommerce = criaItensEcommerce(ofertas); 
7247    sendEventEcommerce("view_item_list", Array.from(itensEcommerce.values())); 
7248 
7249     for(var i=0;ofertas.length > i ;i++){ 
7250   
7251       var oferta = ofertas[i]; 
7252        
7253       //guardando a oferta no map para chamar ajax com infos de bolsa em tempo real 
7254       oferta['indice'] = i; 
7255       ofertasMap.set(oferta.codigoOferta, oferta); 
7256        
7257       if(isAoVivo) 
7258          codigoUnidade = ofertaUnidadeMap.get(oferta.codigoOferta); 
7259 
7260      if(isEmed && oferta.etapa == '0010'){ 
7261          try{ 
7262            let status = await getStatusEmed(oferta); 
7263            oferta['permiteListaEspera'] = status; 
7264          }catch(err){ 
7265            console.log(err); 
7266
7267
7268       montaHTMLOferta(oferta, i, codigoUnidade, false);  
7269       montaHTMLModalFormaPgto(oferta, i, codigoUnidade);  
7270       montaHTMLModalLocalRealizacao(oferta, i);  
7271       montaHTMLModalAntesCompra(oferta, i, codigoUnidade); 
7272       verificaBotaoBolsaSS(oferta); 
7273       verificaCursoAprendizagem(i); 
7274       verificaCursoTrampolim(i, oferta.codigoOferta); 
7275        
7276       associaEventoBtnFormaPagamento(i); 
7277       associaEventoBtnComprar(i);  
7278       associaEventoBtnComprarDentroFormaPgto(i); 
7279       associaEventoBtnLocalRealizacao(i); 
7280       associaEventosFecharModal(i); 
7281       
7282         if($('[name="tipoCurso"]').val() == 'extensao'){ 
7283             associaEventoBtnConheca(i);	 
7284             associaEventoBtnComprarConhecaDescontoOk(i); 
7285             associaEventoBtnComprarConhecaDescontoNot(i); 
7286             associaEventoBtnAlunoNao(i); 
7287             associaEventoBtnAlunoSim(i); 
7288
7289         
7290
7291   
7292     if(isEmed){ 
7293      sliderOfertasEmed(); 
7294      $('.btn-filtro[value="0"]').removeAttr('disabled'); 
7295
7296     else sliderOfertas(); 
7297 
7298     controlaPaginaBolsa() 
7299      
7300
7301 
7302   function hideCardSemTurmas(hide){ 
7303    if(!isEmed){ 
7304      if(hide) 
7305        $('.ssp-card-oferta-curso__sem-vaga').addClass('d-none'); 
7306      else 
7307        $('.ssp-card-oferta-curso__sem-vaga').removeClass('d-none'); 
7308    } else { 
7309      
7310 
7311      if(hide || getEtapaSelecionadaEmed() == "0"){ 
7312        $('.sem-vaga-emed').addClass('d-none'); 
7313      }else{ 
7314        $('.sem-vaga-emed').removeClass('d-none'); 
7315        if($('.sem-vaga-emed.emed-transferencias-space:not(.d-none)').length ) return; 
7316        var tamScreen = $(window).width(); 
7317        if(tamScreen < 768){ 
7318            $('.slick-area-emed').slick({ 
7319            slidesToShow: 2, 
7320            slidesToScroll: 2, 
7321            autoplay: false, 
7322            infinite: false, 
7323            dots: false, 
7324            arrows: false, 
7325            centerPadding: 0, 
7326                        centerMode: false, 
7327            responsive: [ 
7328
7329                    breakpoint: 768, 
7330                    settings: { 
7331                        slidesToShow: 1, 
7332                        slidesToScroll: 1, 
7333                        variableWidth: false, 
7334                        infinite: false, 
7335                        centerPadding: 0, 
7336                        centerMode: false, 
7337                        dots: true, 
7338
7339
7340
7341        }); 
7342
7343
7344
7345
7346    
7347   function verificaCursoAprendizagem(i){ 
7348 
7349      //Esconde elementsos quando o curso é aprendizagem 
7350      if($('[name="codigoFT"]').val() == codigoFTCursoAprendizagem){ 
7351         $('#btnComprar_'+i).remove(); 
7352         $('#container_investimento_'+i).remove(); 
7353         $('#container_forma_pgto_'+i).remove(); 
7354          
7355         var avisoAprendizagem = $('#aviso-curso-aprendizagem').clone(); 
7356         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>' 
7357         avisoAprendizagem.removeAttr('id'); 
7358         avisoAprendizagem.removeClass('d-none'); 
7359         $('.card_oferta_'+i+ ' .ssp-card-oferta-curso').append(avisoAprendizagem); 
7360         $('.card_oferta_'+i+ ' .ssp-card-oferta-curso').append(btnFormAprendizagem); 
7361
7362
7363    
7364   function verificaCursoTrampolim(i, codOferta){ 
7365     if(ehCursoTrampolim){ 
7366          $('#btnComprar_'+i).remove(); 
7367          $('#container_investimento_'+i).remove(); 
7368          $('#container_forma_pgto_'+i).remove(); 
7369          $('.ssp-card-oferta-curso .codigoOferta_'+codOferta).hide(); 
7370           
7371          var avisoTrampolim = $('#avisoTrampolim').clone(); 
7372          avisoTrampolim.removeAttr('id'); 
7373          avisoTrampolim.removeClass('d-none'); 
7374          $('.card_oferta_'+i+ ' .ssp-card-oferta-curso').append(avisoTrampolim); 
7375
7376
7377    
7378   function verificaBotoesEmed(dadosOferta, verificaBolsa){	            
7379          
7380       if(!verificaBolsa || !dadosOferta.dataAberturaBolsaOferta || dadosOferta.dataAberturaBolsaOferta == ''){ 
7381         dadosOferta.vagasBolsaOferta = false; 
7382         dadosOferta.botaoBolsaOferta = false; 
7383
7384 
7385       var elementoPai = $('.codigoOferta_'+dadosOferta.codigoOferta+' .ssp-ofertas-emed__card-info-investimento'); 
7386                  
7387            //calcula o tempo até abertura da bolsa, se houver (apenas depois das 08hrs) 
7388            var dadosAbertura = calculaTempoAberturaBolsa(dadosOferta.dataAberturaBolsaOferta, dadosOferta.horaAberturaBolsaOferta); 
7389              var textoBotao = 'Fazer matrícula'; 
7390              var textoBotaoBolsa = ''; 
7391              var classeBotao = ''; 
7392              var classeBotaoBolsa = ''; 
7393              var exibirBotaoBolsa = false; 
7394              var exibirContador = false; 
7395              var htmlBotaoBolsa = ''; 
7396              var htmlBotao = ''; 
7397                 
7398              //verifica se o botão de concorrer a bolsa deve aparecer 
7399              //Oferta EMED possui bolsa apenas no 1o ano 
7400              if(dadosOferta.etapa == '0010' && dadosOferta.botaoBolsaOferta && !dadosAbertura.exibirContador){ 
7401                exibirBotaoBolsa = true; 
7402                if($('#manutencao-bolsa').val()){ 
7403                  classeBotaoBolsa = 'disabled manutencao'; 
7404                  textoBotaoBolsa = $('#manutencao-bolsa').val(); 
7405                }else{ 
7406                  if(dadosOferta.vagasBolsaOferta){ 
7407                    classeBotaoBolsa = dadosAbertura.bolsaJaAberta ? '' : 'disabled'; 
7408                    textoBotaoBolsa = dadosAbertura.bolsaJaAberta ? 'Bolsa de estudo' : 'Bolsa em '+formataDataAberturaBolsa(dadosOferta.dataAberturaBolsaOferta, dadosOferta.horaAberturaBolsaOferta); 
7409                  }else{ 
7410                    classeBotaoBolsa = 'disabled'; 
7411                    textoBotaoBolsa = 'Bolsas de Estudo Esgotadas'; 
7412
7413
7414
7415                   
7416                  //Verifica se o botão do cronômetro deve aparecer 
7417                  if(dadosAbertura.exibirContador){ 
7418                    textoBotao = dadosAbertura.textoContador; 
7419                    textoBotaoBolsa = dadosAbertura.textoContador; 
7420                    exibirContador = true; 
7421                    exibirBotaoBolsa = false; 
7422                  }else{ 
7423                    if($('#manutencao-compra').val()){ 
7424                      textoBotao = $('#manutencao-compra').val(); 
7425                      classeBotao = 'disabled manutencao'; 
7426                    }else{ 
7427 
7428                      if(dadosOferta.permiteListaEspera == statusEmed.ESPERA && dadosAbertura.bolsaJaAberta){ 
7429                        textoBotao = 'Lista de espera'; 
7430                        classeBotao = 'btn-emed-lista-espera'; 
7431                      }else{ 
7432                        classeBotao = ''; 
7433                        if (dadosAbertura.bolsaJaAberta || !dadosOferta.dataAberturaBolsaOferta || dadosOferta.dataAberturaBolsaOferta == ''){ 
7434                          textoBotao = 'Fazer matrícula'; 
7435                           
7436                          if(dadosOferta.etapa == '0020' || dadosOferta.etapa == '0030'){ 
7437                            textoBotao = 'Lista de espera'; 
7438                            classeBotao = 'btn-emed-lista-espera'; 
7439
7440                           
7441                           
7442                        }else{ 
7443                          textoBotao = 'Matrícula em '+formataDataAberturaBolsa(dadosOferta.dataAberturaBolsaOferta, dadosOferta.horaAberturaBolsaOferta); 
7444
7445                        if(!dadosAbertura.bolsaJaAberta)  
7446                          classeBotao = 'disabled'; 
7447
7448                    }                                 
7449                     
7450                      criaBotaoInscreverEmed(dadosOferta, textoBotao, classeBotao, 'btnComprarEmed_' + dadosOferta.indice, elementoPai); 
7451
7452                 
7453              if(exibirBotaoBolsa){ 
7454                   
7455              if(!ofertasComBolsa) ofertasComBolsa = true; 
7456 
7457                criaBotaoBolsaEmed(dadosOferta, textoBotaoBolsa, classeBotaoBolsa); 
7458                     
7459              }else if(exibirContador){ 
7460 
7461                if(!ofertasComBolsa && dadosOferta.etapa == '0010') ofertasComBolsa = true; 
7462 
7463                //codigoOferta como index para usar o ofertasMap 
7464                htmlBotao = '<button id="btnContadorComprar_'+ dadosOferta.indice +'" data-index="'+ dadosOferta.codigoOferta +'" class="btn btn-card-investimento --inscreva-se">Matrícula em <span>'+textoBotao+'</span></button>'; 
7465                elementoPai.append(htmlBotao); 
7466                 
7467                if(dadosOferta.etapa == '0010' && dadosOferta.botaoBolsaOferta){ 
7468                    htmlBotao = '<button id="btnContadorBolsa_'+ dadosOferta.indice +'" data-index="'+ dadosOferta.codigoOferta +'" class="btn btn-card-investimento --bolsas">Bolsa em <span>'+textoBotaoBolsa+'</span></button>'; 
7469                    elementoPai.append(htmlBotao); 
7470
7471                   
7472
7473 
7474
7475    
7476   function criaBotaoInscreverEmedModal(oferta, textoBotao, classeBotao, idBotao, elementoPai, index){ 
7477     criaBotaoInscreverEmed(oferta, textoBotao, classeBotao, idBotao, elementoPai); 
7478     var btnInscr = elementoPai.find('#btnComprarEmedModal_' + index); 
7479     btnInscr.removeClass(btnInscr.classList); 
7480     btnInscr.addClass('btn btn-lg btn-success w-100'); 
7481     btnInscr.attr('style', 'margin-top: 20px;font-weight:600'); 
7482      
7483     //Reposiciona o botao voltar 
7484     var btnVoltar = elementoPai.find('.ssp-btn-emed__voltar-curso'); 
7485     elementoPai.find('.ssp-btn-emed__voltar-curso').remove(); 
7486     elementoPai.append(btnVoltar); 
7487     btnVoltar.addClass('ssp-btn-emed__voltar-curso_'+index); 
7488     btnVoltar.click(() => { 
7489    	 $('[id^="myModal_"]').each(function(index,modal){ 
7490			modal.style.display = "none"; 
7491		}) 
7492	}); 
7493
7494    
7495   function preencheDadosEmedModal(oferta,$modal){ 
7496	   const parcelaEntrada = 1; 
7497	   $modal.find('.numParcelaCartoesBoleto').text(oferta.numeroMaxParcelasOferta - parcelaEntrada); 
7498	   $modal.find('.precoParcelaCartoesBoleto').text(formataValor(oferta.precoVendaMaxParcelaOferta)); 
7499	   $modal.find('.numParcelaEmedModal').text(oferta.numeroMaxParcelasOferta - parcelaEntrada); 
7500	   $modal.find('.precoParcelaEmedModal').text(formataValor(oferta.precoVendaMaxParcelaOferta)); 
7501
7502 
7503    
7504   function criaBotaoInscreverEmed(oferta, textoBotao, classeBotao, idBotao, elementoPai){ 
7505      if(oferta.permiteListaEspera && oferta.permiteListaEspera == statusEmed.NAO_ENCONTRADA) return; 
7506       var htmlBotao = '<button id="'+ idBotao +'" data-index="'+ oferta.indice +'" class="btn btn-card-investimento --inscreva-se '+ classeBotao +'"><span>'+textoBotao+'</span></button>'; 
7507      elementoPai.append(htmlBotao); 
7508              
7509      if(!classeBotao.includes('disabled')){ 
7510       
7511        elementoPai.on("click", '#'+ idBotao, function(ev){ 
7512          ev.preventDefault(); 
7513          const _modal = $('#modalAntesCompraEmed_'+$(this).data('index')); 
7514          _modal.css('display','flex'); 
7515           
7516           
7517        }); 
7518         
7519
7520 
7521
7522    
7523   function criaBotaoBolsaEmed(oferta, textoBotaoBolsa, classeBotaoBolsa=""){ 
7524      
7525     var htmlBotao = '<a id="btnBolsa_'+ oferta.indice +'" data-index="'+ oferta.indice +'" class="btn btn-card-investimento --bolsas '+ classeBotaoBolsa +'">'+ textoBotaoBolsa +'</a>'; 
7526     $('.codigoOferta_'+oferta.codigoOferta+' .ssp-ofertas-emed__card-info-investimento').append(htmlBotao); 
7527       
7528     if(!classeBotaoBolsa.includes('disabled')){ 
7529       // Associa o evento de clique no botão de bolsa 
7530       $('#btnBolsa_'+oferta.indice).attr('href', linkBolsa(oferta)); 
7531       $('#btnBolsa_'+oferta.indice).attr('target', '_blank'); 
7532       //$('#btnBolsa_'+oferta.indice).attr('style', 'text-transform:uppercase;'); 
7533 
7534
7535
7536    
7537   function criaBotaoBolsa(oferta, textoBotaoBolsa, classeBotaoBolsa=""){ 
7538	    
7539	   const botao = $('<a>'+ textoBotaoBolsa +'</a>'); 
7540	   botao.attr('id', 'btnBolsa_' + oferta.indice); 
7541	   botao.attr('data-index', oferta.indice); 
7542	   botao.attr('class', 'btn btn-lg btn-info w-100 mt-3 ' + (classeBotaoBolsa || '')); 
7543	   botao.css('font-size', '14px'); 
7544	   botao.css('font-weight', '600'); 
7545	   botao.css('background-color', '#004EFF'); 
7546	   if(!classeBotaoBolsa.includes('disabled')){ 
7547		   if(oferta.espacoExterno == 'true' || (isHibrido && temTextoParaFormatoHibrido)){ 
7548			   botao.attr('data-espaco-ex', 'true'); 
7549			   botao.click((ev)=>{  
7550					 ev.preventDefault();  
7551			         $('#btnCompraLocal_'+oferta.indice).hide(); 
7552			         $('#btnBolsaLocal_'+oferta.indice).show(); 
7553			         const _modal = $('#modalAntesCompra_'+oferta.indice); 
7554			         _modal.css('display','flex'); 
7555				}); 
7556		   }else{ 
7557		   botao.attr('href', linkBolsa(oferta)); 
7558		   botao.attr('target', '_blank'); 
7559
7560
7561	    
7562	   return botao; 
7563    
7564
7565 
7566   function verificaBotaoBolsaSS(oferta, codigoUnidade){ 
7567 
7568      
7569     if(!isEmed && (!oferta.dataAberturaBolsaOferta || oferta.dataAberturaBolsaOferta == '') ) return; 
7570      
7571     if(!ehCursoTrampolim){ 
7572       $.ajax({ 
7573             url :  getUrlConsultaBolsa(oferta), 
7574             type : 'get', 
7575             dataType: 'json', 
7576             beforeSend: function (xhr) { 
7577             xhr.setRequestHeader ("Authorization", "KGG4KMW5s0CVowr7d6y6Ww=="); 
7578             }, 
7579         }) 
7580         .done(function(infosBolsa){ 
7581 
7582            
7583           if(infosBolsa != null && typeof infosBolsa !== 'undefined'){ 
7584        	    
7585             var codigoOfertaRetornoBolsa = infosBolsa.DATA[0].COD_EVENTO; 
7586             var retornoOfertaBolsaSenac = infosBolsa.DATA[0]; 
7587			  
7588			 //Sobrescreve as flags de bolsa com o retorno do serviço SS 
7589             ofertasMap.get(codigoOfertaRetornoBolsa).vagasBolsaOferta = retornoOfertaBolsaSenac.TEM_VAGA_BOLSA; 
7590             ofertasMap.get(codigoOfertaRetornoBolsa).botaoBolsaOferta = retornoOfertaBolsaSenac.BOTAO_BOLSA; 
7591			  
7592             var dadosOferta = ofertasMap.get(codigoOfertaRetornoBolsa); 
7593              
7594             //calcula o tempo até abertura da bolsa, se houver (apenas depois das 08hrs) 
7595             var dadosAberturaBolsa = calculaTempoAberturaBolsa(dadosOferta.dataAberturaBolsaOferta, dadosOferta.horaAberturaBolsaOferta, dadosOferta.botaoBolsaOferta); 
7596             var textoBotaoBolsa = ''; 
7597             var classeBotaoBolsa = ''; 
7598             var textoBotaoContadorBolsa = ''; 
7599             var exibirBotaoBolsa = false; 
7600             var exibirContadorBolsa = false; 
7601              
7602             //EMED 
7603           if(isEmed){ 
7604             verificaBotoesEmed(ofertasMap.get(codigoOfertaRetornoBolsa), true); 
7605             return; 
7606
7607              
7608             //Verifica o texto do botão de bolsa 
7609            if($('#manutencao-bolsa').val()) textoBotaoBolsa = $('#manutencao-bolsa').val(); 
7610            else{ 
7611 
7612              if(retornoOfertaBolsaSenac.TEM_VAGA_BOLSA){ 
7613                             
7614                if(dadosAberturaBolsa.bolsaJaAberta) 
7615                  textoBotaoBolsa = "Inscrever para bolsa de estudo"; 
7616                   
7617                else 
7618                  textoBotaoBolsa = "Inscrições para bolsas a partir de "+formataDataAberturaBolsa(dadosOferta.dataAberturaBolsaOferta, dadosOferta.horaAberturaBolsaOferta); 
7619 
7620                  if(!ofertasComBolsa){ ofertasComBolsa = true; 
7621
7622              }else 
7623                textoBotaoBolsa = "Vagas esgotadas para bolsas de estudo"; 
7624
7625                 
7626             //verifica se o botão de concorrer a bolsa deve aparecer 
7627             if(retornoOfertaBolsaSenac.BOTAO_BOLSA && !dadosAberturaBolsa.exibirContador){ 
7628                
7629               exibirBotaoBolsa = true; 
7630 
7631               if(!ofertasComBolsa) ofertasComBolsa = true; 
7632                
7633               if(retornoOfertaBolsaSenac.TEM_VAGA_BOLSA && dadosAberturaBolsa.bolsaJaAberta && !$('#manutencao-bolsa').val()){ 
7634                   classeBotaoBolsa = ''; 
7635               }else{ 
7636                   classeBotaoBolsa = 'disabled'; 
7637
7638
7639              
7640             //Verifica se o botão do cronômetro deve aparecer 
7641             if(dadosAberturaBolsa.exibirContador && !$('#manutencao-bolsa').val()){ 
7642               textoBotaoContadorBolsa = dadosAberturaBolsa.textoContador; 
7643               exibirContadorBolsa = true; 
7644
7645              
7646             if(exibirBotaoBolsa) 
7647                $('.codigoOferta_'+codigoOfertaRetornoBolsa+' .ssp-card-oferta-curso .ssp-container-botao-bolsa').append( criaBotaoBolsa(dadosOferta, textoBotaoBolsa, classeBotaoBolsa) ) 
7648             else if(exibirContadorBolsa) 
7649                $('.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>') 
7650             else { 
7651                $('.codigoOferta_'+codigoOfertaRetornoBolsa+'.content-btn-bolsa').hide() 
7652                $('.show-price-content.codigoOferta_'+oferta.codigoOferta + ' .ou-separator-desconto').hide() 
7653             }      
7654                                   
7655           }else{ 
7656             //EMED 
7657              if(isEmed){ 
7658                verificaBotoesEmed(oferta, false); 
7659
7660
7661 
7662           controlaPaginaBolsa() 
7663         }) 
7664         .fail(function(){  
7665           $('.content-btn-bolsa.codigoOferta_'+oferta.codigoOferta).hide() 
7666           $('.show-price-content.codigoOferta_'+oferta.codigoOferta + ' .ou-separator-desconto').hide() 
7667 
7668             //EMED 
7669           if(isEmed){ 
7670             verificaBotoesEmed(oferta, false); 
7671
7672         }); 
7673          
7674          
7675
7676      
7677
7678 
7679   function controlaPaginaBolsa(){ 
7680    if(ofertasComBolsa) 
7681      $("#ssp-abrir-pagina-bolsa").removeClass("d-none") 
7682    else 
7683      $("#ssp-abrir-pagina-bolsa").addClass("d-none") 
7684
7685 
7686   function associaEventoBtnFormaPagamento(i){ 
7687      var modal = document.getElementById("myModal_"+i); 
7688 
7689      var btn = document.getElementById("myBtn_"+i); 
7690 
7691      if(btn!=null){ 
7692         btn.onclick = function(ev) { 
7693             event.preventDefault() 
7694               
7695               $('#modalExtAluno_'+i).addClass('d-none'); 
7696                
7697             var elem = $(ev.target); 
7698             var _modal = document.getElementById( 
7699                 'myModal_'+elem.data('index')); 
7700             _modal.style.display = "block"; 
7701               $('#myModal_'+i).find('.modal-extensao_content:first-child').removeClass('d-none'); 
7702                
7703
7704
7705      
7706       
7707      
7708       
7709
7710    
7711  	    
7712   function actionBtnComprar(elem){ 
7713            
7714        // Montar object push - google tag manager - 3 
7715        ofertaSelecionada = itensEcommerce.get(elem.attr('data-evento')) 
7716        sendEventEcommerce("select_item", ofertaSelecionada); 
7717        sendEventEcommerce("view_item", ofertaSelecionada); 
7718                
7719               //Verifica se deve exibir o modal com a localização 
7720               if(elem.attr('data-espaco-ex') == 'true'){ 
7721         $('#btnCompraLocal_'+elem.data('index')).show(); 
7722 
7723         //Limpa onclicks para nao repetir execucao 
7724         $('#modalAntesCompra_'+elem.data('index')).off('click', '#btnCompraLocal_'+elem.data('index')) 
7725         $('#modalAntesCompra_'+elem.data('index')).on('click', '#btnCompraLocal_'+elem.data('index'), function () { 
7726          // Montar object push - google tag manager - 4 
7727          sendEventEcommerce("add_to_cart", ofertaSelecionada); 
7728          if( elem.attr('data-destino-compra') != '2' ) 
7729            sendEventEcommerce("begin_checkout", ofertaSelecionada); 
7730         }) 
7731         $('#btnBolsaLocal_'+elem.data('index')).hide(); 
7732         const _modal = $('#modalAntesCompra_'+elem.data('index')); 
7733         _modal.css('display','flex'); 
7734               }else{ 
7735                 var urlCompra  = linkBotaoCompra.replace('\{codigoUnidade\}', elem.attr('data-unidade')).replace('\{codigoOferta\}', elem.attr('data-evento')); 
7736     
7737                 if( elem.attr('data-destino-compra') == '2' ){ 
7738                	 var dataEfetivaFormat = formataDataComBarra($('[name="dataEfetivaSTR"]').val()); 
7739	                  	 
7740                	 addItemBackpack(elem.attr('data-evento'), '#' + elem.attr('id'),elem.attr('data-unidade'), dataEfetivaFormat);    
7741    
7742                 }else{ 
7743                	 window.open(urlCompra, '_blank'); 
7744
7745
7746 
7747        
7748                  
7749
7750    
7751   function associaEventoBtnComprar(i){ 
7752	   var btnComprar = document.getElementById("btnComprar_"+i); 
7753	    
7754	   if(btnComprar != null && !btnComprar.classList.contains('disabled')){ 
7755         btnComprar.onclick = function(ev) { 
7756            
7757               ev.preventDefault() 
7758               var elem = $(ev.target); 
7759               actionBtnComprar(elem); 
7760                
7761
7762
7763
7764    
7765   function associaEventoBtnComprarDentroFormaPgto(i){ 
7766	   var btnComprarFormaPgto = document.getElementById("btnComprarFormaPgto_"+i); 
7767	    
7768	   if(btnComprarFormaPgto != null && !btnComprarFormaPgto.classList.contains('disabled')){ 
7769         btnComprarFormaPgto.onclick = function(ev) { 
7770               event.preventDefault() 
7771                 var elem =  $('#btnComprarFormaPgto_'+i); 
7772               actionBtnComprar(elem); 
7773
7774
7775
7776      
7777     function associaEventoBtnComprarConhecaDescontoOk(i){ 
7778       var btnComprarConhecaDescontoOk = document.getElementById("btnComprarConhecaDescontoOk_"+i); 
7779        
7780       if(btnComprarConhecaDescontoOk != null){ 
7781         btnComprarConhecaDescontoOk.onclick = function(ev) { 
7782                 event.preventDefault() 
7783               var elem = $(ev.target); 
7784                 actionBtnComprar(elem); 
7785
7786
7787
7788    
7789     function associaEventoBtnComprarConhecaDescontoNot(i){ 
7790       var btnComprarConhecaDescontoNot = document.getElementById("btnComprarConhecaDescontoNot_"+i); 
7791        
7792       if(btnComprarConhecaDescontoNot != null){ 
7793         btnComprarConhecaDescontoNot.onclick = function(ev) { 
7794                 event.preventDefault() 
7795                 var elem =  $(ev.target); 
7796                 actionBtnComprar(elem); 
7797
7798
7799
7800      
7801     function associaEventoBtnAlunoNao(i){ 
7802       var btnAlunoNao = document.getElementById("btn-aluno-nao_"+i); 
7803        
7804       if(btnAlunoNao != null){ 
7805         btnAlunoNao.onclick = function(ev) { 
7806                 event.preventDefault() 
7807                 var elem =  $(ev.target); 
7808                 elem.addClass('modal-extensao-btn-aluno-sim-ativo'), 
7809                 elem.closest('.sim').removeClass('modal-extensao-btn-aluno-sim-ativo'); 
7810                 elem.parent().siblings().find('button').removeClass('modal-extensao-btn-aluno-sim-ativo') 
7811                 $('#msg-alunoNao_'+i).removeClass('d-none'); 
7812                 $('#msg-alunoSim_'+i).addClass('d-none');      
7813
7814
7815
7816        
7817     function associaEventoBtnAlunoSim(i){ 
7818       var btnAlunoSim = document.getElementById("btn-aluno-sim_"+i); 
7819        
7820       if(btnAlunoSim != null){ 
7821         btnAlunoSim.onclick = function(ev) { 
7822                 event.preventDefault() 
7823                 var elem =  $(ev.target); 
7824                 elem.addClass('modal-extensao-btn-aluno-sim-ativo'), 
7825                 elem.closest('.nao').removeClass('modal-extensao-btn-aluno-sim-ativo'); 
7826                 elem.parent().siblings().find('button').removeClass('modal-extensao-btn-aluno-sim-ativo') 
7827                 $('#msg-alunoSim_'+i).removeClass('d-none'); 
7828                 $('#msg-alunoNao_'+i).addClass('d-none');              
7829                  
7830
7831
7832     }	    
7833      
7834     function associaEventoBtnConheca(i){ 
7835       var btnModalExtConheca = document.getElementById("btnModalExtConheca_"+i); 
7836        
7837       if(btnModalExtConheca != null){ 
7838         btnModalExtConheca.onclick = function(ev) { 
7839                 event.preventDefault(); 
7840                 var elem =  $(ev.target); 
7841                 elem.closest('.modal-extensao_content').addClass('d-none'); 
7842                 $('#modalExtAluno_'+i).removeClass('d-none'); 
7843                 $('#msg-alunoSim_'+i).addClass('d-none'); 
7844                 $('#msg-alunoNao_'+i).addClass('d-none'); 
7845                 $('#btn-aluno-sim_'+i).removeClass('modal-extensao-btn-aluno-sim-ativo'); 
7846                 $('#btn-aluno-nao_'+i).removeClass('modal-extensao-btn-aluno-sim-ativo'); 
7847 
7848
7849
7850
7851      
7852   function associaEventoBtnLocalRealizacao(i){ 
7853	   var btnLocalRealizacao = document.getElementById("btnLocalRealizacao_"+i); 
7854	    
7855	   if(btnLocalRealizacao!=null){ 
7856         btnLocalRealizacao.onclick = function(ev) { 
7857                 event.preventDefault(); 
7858               var elem = $(ev.target); 
7859               var _modal = document.getElementById( 
7860                   'modalLocalRealizacao_'+elem.data('index')); 
7861               _modal.style.display = "flex"; 
7862
7863
7864
7865 
7866   function associaEventosFecharModal(i){ 
7867 
7868      var span = document.getElementsByClassName("ssp-card-modal-forma-pagamento__btn-close_"+i); 
7869      var closeModalLocalRealizacao = document.getElementsByClassName("ssp-card-modal-local-realizacao__btn-close_"+i)[0]; 
7870       var closeModalAntesCompra = document.getElementsByClassName("ssp-card-modal-antes-compra__btn-close_"+i)[0]; 
7871       var closeModalSelecionarOutro = document.getElementsByClassName("ssp-card-modal-selecionar-outro__btn-close_"+i)[0]; 
7872       var btnEntendiLocalRealizacao = document.getElementsByClassName("ssp-modal-local-realizacao__btn_"+i)[0]; 
7873       var closeModalBotaoBolsa = document.getElementById("btnBolsaLocal_"+i) 
7874 
7875       if(isEmed){ 
7876    	   var closeModalFormaPagamento = document.getElementsByClassName("ssp-btn-emed__voltar-curso_"+i); 
7877   	      for (const val of closeModalFormaPagamento) {  
7878 
7879   	    	  val.onclick = function() { 
7880   	        	 $('[id^="myModal_"]').each(function(index,modal){ 
7881   	           	 	modal.style.display = "none"; 
7882   	        	 }); 
7883
7884   	      }; 
7885
7886        
7887	  //event close modal 
7888      for (const val of span) {  
7889 
7890    	  val.onclick = function() { 
7891        	 $('[id^="myModal_"]').each(function(index,modal){ 
7892           	 	modal.style.display = "none"; 
7893        	 }); 
7894
7895      }; 
7896   
7897      closeModalLocalRealizacao.onclick = function() { 
7898   
7899           $('[id^="modalLocalRealizacao_"]').each(function(index,modal){ 
7900             modal.style.display = "none"; 
7901              
7902           }); 
7903
7904 
7905       closeModalAntesCompra.onclick = function() { 
7906          
7907           $('[id^="modalAntesCompra_"], [id^="modalAntesCompraEmed_"]').each(function(index,modal){ 
7908             modal.style.display = "none"; 
7909           }); 
7910
7911 
7912       closeModalSelecionarOutro.onclick = function() { 
7913          
7914      $('[id^="modalAntesCompra_"], [id^="modalAntesCompraEmed_"]').each(function(index,modal){ 
7915          modal.style.display = "none"; 
7916        }); 
7917
7918          
7919       btnEntendiLocalRealizacao.onclick = function() { 
7920          
7921           $('[id^="modalLocalRealizacao_"]').each(function(index,modal){ 
7922             modal.style.display = "none"; 
7923           }); 
7924
7925		 
7926       if(closeModalBotaoBolsa != null){ 
7927	       closeModalBotaoBolsa.onclick = function() { 
7928	          
7929	         $('[id^="modalAntesCompra_"], [id^="modalAntesCompraEmed_"]').each(function(index,modal){ 
7930	             modal.style.display = "none"; 
7931	           }); 
7932
7933
7934 
7935       // When the user clicks anywhere outside of the modal, close it 
7936       window.onclick = function(event) { 
7937   
7938         $('[id^="myModal_"]').each(function(index,_modal){ 
7939             if (event.target == _modal)  
7940              _modal.style.display = "none"; 
7941         }); 
7942         $('[id^="modalLocalRealizacao_"]').each(function(index,_modal){ 
7943             if (event.target == _modal)  
7944              _modal.style.display = "none"; 
7945         }); 
7946          
7947         $('[id^="modalAntesCompra_"], [id^="modalAntesCompraEmed_"]').each(function(index,_modal){ 
7948             if (event.target == _modal)  
7949              _modal.style.display = "none"; 
7950         }); 
7951
7952
7953    
7954   function turmasIniciadas(dataInicioCurso){ 
7955     
7956      var hoje = new Date();  
7957      var dataInicioPartes = dataInicioCurso.split('/');  
7958      var dataInicioCursoOferta = new Date(dataInicioPartes[2], dataInicioPartes[1] - 1, dataInicioPartes[0] , hoje.getHours(),hoje.getMinutes(),hoje.getSeconds(),hoje.getMilliseconds()); 
7959 
7960      return dataInicioCursoOferta.getTime() <= hoje.getTime(); 
7961
7962    
7963    
7964   function concatSTR(str1, str2, separador){ 
7965   
7966     if(str2){ 
7967   
7968       return str1+separador+str2; 
7969
7970     return str1; 
7971
7972    
7973   //Formata exibicao de datas conforme especificacao GCR 
7974   function formataPeriodo(dataInicio, dataFim){ 
7975     
7976      var dtInicioPartes = dataInicio.split('/'); 
7977      var dtFimPartes = dataFim.split('/'); 
7978       
7979      //Não exibir o número zero antes dos números e o dia 1 como 1º 
7980      var dInicioFormatada = (parseInt(dtInicioPartes[0].trim()) == 1 ? '1º' : parseInt(dtInicioPartes[0].trim())) +'/'+parseInt(dtInicioPartes[1].trim())+'/'+dtInicioPartes[2].trim(); 
7981      var dFimFormatada = (parseInt(dtFimPartes[0].trim()) == 1 ? '1º' : parseInt(dtFimPartes[0].trim())) +'/'+parseInt(dtFimPartes[1].trim())+'/'+dtFimPartes[2].trim(); 
7982     
7983      //Quando um curso inicia e finaliza dentro do mesmo ano: 17/2 a 25/4/2020 
7984      if(dtInicioPartes[2].trim() == dtFimPartes[2].trim()){ 
7985         
7986        dInicioFormatada = (parseInt(dtInicioPartes[0].trim()) == 1 ? '1º' : parseInt(dtInicioPartes[0].trim()))+'/'+parseInt(dtInicioPartes[1].trim()); 
7987         
7988        //Quando um curso inicia e finaliza dentro do mesmo mês: 5 a 30/4/2020 
7989        if(dtInicioPartes[1].trim() == dtFimPartes[1].trim()) 
7990          dInicioFormatada = (parseInt(dtInicioPartes[0].trim()) == 1 ? '1º' : parseInt(dtInicioPartes[0].trim())); 
7991
7992     
7993    return dInicioFormatada + ' a ' + dFimFormatada; 
7994
7995    
7996  //Decrementa os contadores de abertudas de bolsa 
7997   function atualizaTempoAberturasBolsas() { 
7998   
7999	  var btnsContador = (isEmed) ? $('[id^="btnContadorBolsa_"], [id^="btnContadorComprar_"]') : $('[id^="btnContadorBolsa_"]'); 
8000	   
8001    btnsContador.each(function() { 
8002       
8003      var index = $(this).data('index'); 
8004      var btnContent = $(this).parent('.ssp-btn-group__content'); 
8005       
8006      if(isEmed){ 
8007     		//EMED filtra ofertas e usa outra lista para referenciar as ofertas carregadas 
8008    	  var dadosAberturaBolsa = calculaTempoAberturaBolsa(ofertasMap.get('' +index).dataAberturaBolsaOferta, ofertasMap.get('' + index).horaAberturaBolsaOferta); 
8009      }else{ 
8010          	//calcula o tempo até abertura da bolsa, se houver (apenas depois das 08hrs) 
8011      var dadosAberturaBolsa = calculaTempoAberturaBolsa(objsTela.ofertas[index].dataAberturaBolsaOferta, objsTela.ofertas[index].horaAberturaBolsaOferta, objsTela.ofertas[index].botaoBolsaOferta); 
8012
8013       
8014      $(this).find('span').text(dadosAberturaBolsa.hours+':'+dadosAberturaBolsa.minutes+':'+dadosAberturaBolsa.seconds); 
8015       
8016      //Se esgotou o contador 
8017      if(dadosAberturaBolsa.hours == 0 && dadosAberturaBolsa.minutes == 0 && dadosAberturaBolsa.seconds == 0){ 
8018         
8019    	var elId = $(this).attr('id'); 
8020    	   
8021        //remove o contador 
8022        $(this).remove(); 
8023         
8024        //Habilitar inscrição EMED 
8025        if(isEmed){ 
8026          var ofertaEmed = ofertasMap.get('' +index); 
8027        var elementoPai = $('.codigoOferta_'+ofertaEmed.codigoOferta+' .ssp-ofertas-emed__card-info-investimento'); 
8028         
8029          if(elId.indexOf('btnContadorBolsa') >= 0){ 
8030              if($('#manutencao-bolsa').val())   
8031                criaBotaoBolsaEmed(ofertaEmed, $('#manutencao-bolsa').val(), 'disabled manutencao'); 
8032              else if(ofertaEmed.vagasBolsaOferta == true || ofertaEmed.vagasBolsaOferta == "true") 
8033                criaBotaoBolsaEmed(ofertaEmed, 'Bolsa de estudo', ''); 
8034              else 
8035                criaBotaoBolsaEmed(ofertaEmed, 'Bolsas de Estudo Esgotadas', 'disabled'); 
8036          }else if(elId.indexOf('btnContadorComprar') >= 0){ 
8037	       		 
8038        	  	var textoBotao, classeBotao; 
8039        	   
8040              textoBotao = $('#manutencao-compra').val() || 'Fazer matrícula'; 
8041              classeBotao = $('#manutencao-compra').val() ? 'disabled manutencao' : ''; 
8042             
8043 
8044            criaBotaoInscreverEmed(ofertaEmed, textoBotao, classeBotao, 'btnComprarEmed_' + ofertaEmed.indice, elementoPai); 
8045             
8046            //Altera o botao do modal de pagamento 
8047            var btnIndex = elId.slice(elId.indexOf('_')+1); 
8048            var modal = $('#myModal_' + btnIndex).find('.ssp-card-modal-forma-pagamento'); 
8049            var btnModal = modal.find('#btnComprarEmedModal_' + btnIndex); 
8050            if(btnModal){ 
8051              btnModal.remove();					   
8052              criaBotaoInscreverEmedModal(ofertaEmed, textoBotao, classeBotao, 'btnComprarEmedModal_' + btnIndex, modal, btnIndex); 
8053              preencheDadosEmedModal(ofertaEmed,modal); 
8054
8055 
8056 
8057          }	         
8058           
8059        }else{ 
8060         
8061	        //Checa as condições das vagas do botão de bolsa 
8062          var btnBolsaHTML = null; 
8063          if($('#manutencao-bolsa').val())   
8064            btnBolsaHTML = criaBotaoBolsa(objsTela.ofertas[index], $('#manutencao-bolsa').val(), 'disabled manutencao'); 
8065	        else if(objsTela.ofertas[index].vagasBolsaOferta == true || objsTela.ofertas[index].vagasBolsaOferta == "true") 
8066        	  btnBolsaHTML = criaBotaoBolsa(objsTela.ofertas[index], 'Inscrever para bolsa de estudo'); 
8067	        else 
8068        	  btnBolsaHTML = criaBotaoBolsa(objsTela.ofertas[index], 'Vagas esgotadas para bolsas de estudo', 'disabled'); 
8069	         
8070            $('.codigoOferta_'+ objsTela.ofertas[index].codigoOferta +'.ssp-container-botao-bolsa').append(btnBolsaHTML); 
8071	         
8072 
8073
8074
8075       
8076    }); 
8077    
8078
8079    
8080   // Retorna um objeto com o tempo de abertura da bolsa, em horas, minutos e segundos 
8081    function calculaTempoAberturaBolsa(dataAberturaBolsa, horaAberturaBolsa, botaoBolsa){ 
8082       
8083        var dadosAberturaBolsa = { 
8084              days : '', 
8085            hours : '', 
8086            minutes : '', 
8087            seconds : '', 
8088            bolsaJaAberta: false, 
8089            exibirContador: false, 
8090            textoContador: '' 
8091          }; 
8092       
8093      if(dataAberturaBolsa.length == 0 || horaAberturaBolsa.length == 0) 
8094         return dadosAberturaBolsa; 
8095       
8096      var now = todayG; 
8097      var dia = now.getDate(); 
8098      var horarioDia = now.getHours(); 
8099         
8100      var tempoRestante= tempoRestanteAberturaBolsa(dataAberturaBolsa, horaAberturaBolsa); 
8101       
8102      //console.log('tempo restante '+tempoRestante); 
8103       
8104      var diaAberturaBolsa = dataAberturaBolsa.split('-')[2]; 
8105     
8106      var delta = tempoRestante / 1000; 
8107       
8108      var days = Math.floor(delta / 86400); 
8109       
8110      delta -= days * 86400; 
8111       
8112      var hours = Math.floor(delta / 3600) % 24; 
8113      delta -= hours * 3600; 
8114       
8115      var minutes = Math.floor(delta / 60) % 60; 
8116      delta -= minutes * 60; 
8117       
8118      var seconds = Math.floor(delta % 60); 
8119       
8120      //Zerar contador para data que ja passou 
8121      if(days < 0){ 
8122          dadosAberturaBolsa.days = 0; 
8123          dadosAberturaBolsa.hours = '00'; 
8124          dadosAberturaBolsa.minutes = '00'; 
8125          dadosAberturaBolsa.seconds = '00'; 
8126      }else{ 
8127          dadosAberturaBolsa.days = days; 
8128          dadosAberturaBolsa.hours = hours < 10 ? '0'+hours : hours; 
8129          dadosAberturaBolsa.minutes = minutes < 10 ? '0'+minutes : minutes; 
8130          dadosAberturaBolsa.seconds = seconds < 10 ? '0'+seconds : seconds; 
8131
8132 
8133      dadosAberturaBolsa.bolsaAberta = days <= 0 && hours <= 0 && minutes <= 0 && seconds <= 0; 
8134      var horaExibeContador = 8; 
8135      if(!isEmed && botaoBolsa == false){ 
8136    	  dadosAberturaBolsa.exibirContador = false; 
8137      }else{ 
8138          dadosAberturaBolsa.exibirContador = days == 0 && horarioDia >= horaExibeContador && !dadosAberturaBolsa.bolsaAberta && (diaAberturaBolsa == dia); 
8139          dadosAberturaBolsa.textoContador = dadosAberturaBolsa.hours + ':' + dadosAberturaBolsa.minutes + ":"+ dadosAberturaBolsa.seconds; 
8140
8141      dadosAberturaBolsa.bolsaJaAberta = tempoRestante < 0; 
8142       
8143      return dadosAberturaBolsa; 
8144   
8145
8146    
8147   // Verifica se uma oferrta já chegou sua data de abertura 
8148   function tempoRestanteAberturaBolsa(dataAberturaBolsa, horaAberturaBolsa){ 
8149     // console.log(dataAberturaBolsa); 
8150     // console.log(horaAberturaBolsa); 
8151       
8152      //var today = new Date(); 
8153       
8154       
8155      //console.log( "TodayG "+ todayG); 
8156       
8157      //Precisa fazer formatação nos horários pois pode estar como 9h ou 9h30 
8158      var partesHora = horaAberturaBolsa.split('h'); 
8159       
8160      var partesHora = partesHora.filter(function (el) { 
8161        return el != ""; 
8162      }); 
8163       
8164      //formato 9h 
8165      if(partesHora.length == 1) 
8166        var aberturaBolsa = new Date(dataAberturaBolsa+'T'+horaAberturaBolsa.replace('h', '').trim()+":00"); 
8167   
8168      else{ 
8169         
8170        //format 9h3 
8171        if(partesHora[1].length == 1) 
8172          var aberturaBolsa = new Date(dataAberturaBolsa+'T'+partesHora[0].replace('h', '').trim()+':'+partesHora[1] +'0'); 
8173           
8174        //formato 9h30 
8175        else 
8176          var aberturaBolsa = new Date(dataAberturaBolsa+'T'+partesHora[0].replace('h', '').trim()+':'+partesHora[1]); 
8177
8178        
8179     // console.log(aberturaBolsa); 
8180      return aberturaBolsa - todayG; 
8181
8182    
8183   function formataDataAberturaBolsa(dataAberturaBolsa, horaAberturaBolsa){ 
8184      var dataPartes = dataAberturaBolsa.split('-'); 
8185       
8186      return dataPartes[2]+'/'+dataPartes[1]+ ' às '+horaAberturaBolsa.replace('h', '').trim()+' horas'; 
8187       
8188
8189   
8190   function formataValor(valor){ 
8191       
8192      if(!valor.toString().includes(".")){ 
8193        valor = parseFloat(valor).toLocaleString('pt-BR')+",00"; 
8194      }else{ 
8195         valor = parseFloat(valor).toLocaleString('pt-BR'); 
8196          
8197         if(valor.split(",").length == 2){ 
8198            
8199           if(valor.split(",")[1].length == 1) 
8200              valor += "0"; 
8201            
8202         }else 
8203           valor += ",00"; 
8204
8205       
8206      return valor; 
8207
8208 
8209  function ajustarCasasDecimaisSemArredondar(numero, casas) { 
8210    const str = numero + '' 
8211    const arr = str.split('.') 
8212    return parseFloat(arr[0].concat('.').concat(arr[1] ? arr[1].substring(0, casas) : '0')) 
8213
8214 
8215  function possuiCriteriosDesconto2022(dt) { 
8216    return dt.substring(dt.lastIndexOf('/') + 1) >= 2022 
8217      && ( 
8218        $('[name="tipoCurso"]').val() == 'livre' 
8219        || ($('[name="tipoCurso"]').val() == 'tecnico' && $('[name="modalidades"]').val() == 'espec.-tecnica-de-nivel-medio') 
8220        || $('[name="tipoCurso"]').val() == 'extensao' 
8221
8222
8223 
8224  function strToFloat(str) { 
8225    const separator = str.includes(',') ? ',' : '.' 
8226 
8227    const numArr = str.split(separator) 
8228    const inteiro = numArr[0].replaceAll('.', '').replaceAll(',', '.') 
8229    const decimal = numArr[1] ? numArr[1].replaceAll('.', '').replaceAll(',', '.') : '' 
8230    return parseFloat(inteiro.concat('.').concat(decimal ? decimal : '0')) 
8231
8232 
8233  function possuiMensalidade99(oferta) { 
8234    if(!oferta.precoVendaMaxParcelaOferta  
8235    || (oferta.precoVendaMaxParcelaOferta != 99 
8236    && parseFloat(oferta.precoParcelaCartoes.replace(',','.')) != 99 
8237    && parseFloat(oferta.precoParcelaBoleto.replace(',','.')) != 99)) 
8238      return false 
8239 
8240    if($('[name="modalidades"]').val() == 'hab.-tecnica-de-nivel-medio') 
8241      return true 
8242 
8243    if($('[name="modalidades"]').val() == 'espec.-tecnica-de-nivel-medio') 
8244      return true 
8245 
8246    if($('[name="modalidades"]').val() == 'qualificacao-profissional') 
8247      return true 
8248     
8249    return false 
8250
8251    
8252  function htmlSlickArea(index, oferta, diasSemanaHTML, codigoUnidade) { 
8253    let temDesconto = possuiCriteriosDesconto2022(oferta.dataInicio) 
8254    temDesconto = temDesconto && !possuiMensalidade99(oferta) 
8255     
8256    const btnLocalReal = function(oferta){ 
8257       
8258          var btn = `<div class="container-local-realizacao ` + ((oferta.espacoExterno == 'true'|| (isHibrido && temTextoParaFormatoHibrido))  ? '' : 'd-none-btn') + (localLivreOnline(oferta.localEspacoExterno) ? ' idioma-online' : '') + `">`; 
8259       
8260      btn += (localLivreOnline(oferta.localEspacoExterno)) ? 
8261            `<a id="btnLocalRealizacao_` + index + `" data-index="` + index + `" class="btn-idiomas__aula-online" href="#"> 
8262            <i class="fas fa-wifi"></i>Aulas Online - ao vivo</a>` 
8263            : `<a id="btnLocalRealizacao_` + index + `" data-index="` + index + `" class="ssp-card-oferta-curso__local-realizacao-content__title" href="#"> 
8264            <i class="fas fa-user"></i>Onde as aulas vão acontecer?</a>`; 
8265       
8266        btn += `</div>`; 
8267         
8268      return btn; 
8269     
8270
8271 
8272    // Card Oferta 
8273     
8274    let result = ` 
8275        <div class="slick-area__item card_oferta_` + index + ` codigoOferta_` + oferta.codigoOferta + ` ` + (temDesconto ? 'ssp-desconto-2022' : '') + `"> 
8276 
8277          <div class="ssp-card-oferta-curso"> 
8278 
8279            <div class="content-data-dias"> 
8280 
8281              <div class="ssp-card-oferta__info-turma-iniciada" id="aviso-turma-iniciada-` + index + `" style="display:none"> 
8282                <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> 
8283              </div> 
8284 
8285 
8286              <div> 
8287                <small class="ssp-card-oferta-curso__title-item">Período:</small> 
8288                <h6 class="ssp-card-oferta-curso__item-data-periodo item-data-periodo_` + index + `">` + formataPeriodo(oferta.dataInicio, oferta.dataFim) + `</h6> 
8289	          </div> 
8290	 
8291              <div class="content-horario-dias-semana"> 
8292	 
8293                <div class="horario"> 
8294                  <small class="ssp-card-oferta-curso__title-item">Horário e dias das aulas:</small> 
8295                </div> ` + 
8296	 
8297                `<div class="ssp-card-oferta-curso__dia-hora_content"> 
8298                  ` + diasSemanaHTML + ` 
8299	              </div> 
8300	 
8301	          </div> 
8302	 
8303      ` + btnLocalReal(oferta); 
8304 
8305      result = result + ` 
8306        </div> 
8307
8308      
8309      //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 
8310      //Adicionada a validação dos preços da oferta em 07/06/2022 - Tarefa 9498 
8311      const estaSemValorOferta =   oferta.botaoCompraOferta == ''  
8312                          || oferta.botaoCompraOferta == 'false'  
8313                          || !oferta.precoVendaOferta  
8314                          || !oferta.precoCheioOferta  
8315                          || !oferta.precoVendaMaxParcelaOferta 
8316                          || strToFloat(oferta.precoVendaOferta) == 0 
8317                          || strToFloat(oferta.precoCheioOferta)  == 0 
8318                          || strToFloat(oferta.precoVendaMaxParcelaOferta)  == 0 
8319      
8320      //Trecho inicial do Bolsa de estudo 
8321      result += `<div class="content-btn-bolsa codigoOferta_` + oferta.codigoOferta + (estaSemValorOferta ? ' pb-0' : '') + `"> 
8322                  <div class="ssp-card-oferta__info-turma-content"> 
8323                    <h6 class="ssp-card-oferta__info-turma mb-0">Bolsas de estudo</h6> 
8324                  </div> 
8325                  <div class="codigoOferta_` + oferta.codigoOferta + ` ssp-container-botao-bolsa"></div>    
8326                </div>                
8327
8328     
8329    if(estaSemValorOferta) { 
8330      result = result + ` 
8331      		<div class="content-buttons hide"> 
8332			  </div> 
8333
8334      return result; 
8335
8336 
8337	 
8338    //Trecho final do Bolsa de estudo e inclusao de botao de expansao do "Valores para compra" 
8339    result += ` <div class="show-price-content codigoOferta_` + oferta.codigoOferta + `"> 
8340                  <div class="ou-separator-desconto">Ou</div> 
8341                  <button type="button" class="btn-show-price"> 
8342                    <p>Saiba mais sobre:</p> 
8343                    <div onclick="togglePriceCard('codigoOferta_` + oferta.codigoOferta + `')"> 
8344                      <i class="fas fa-money-bill"></i> 
8345                      <span>Valores para compra</span> 
8346                    </div> 
8347                  </button> 
8348                </div> 
8349
8350 
8351    result = result + ` 
8352          <div class="content-valores-descontos hide-price codigoOferta_` + oferta.codigoOferta + `"> 
8353
8354         
8355    if( temDesconto && !ehCursoTrampolim ) { 
8356      result = result + ` 
8357            <div class="ssp-card-oferta__info-turma-content"> 
8358              <h6 class="ssp-card-oferta__info-turma">Valores para compra</h6> 
8359            </div> 
8360	 
8361            <div class="block-valor-desconto"> 
8362	          	 
8363            <div class="tag-label-desconto"> 
8364              <small class="ssp-card-oferta-curso__title-item">Valor com </small> 
8365              <span class="ssp-card-oferta-curso__valor-desconto">50% de desconto*</span> 
8366	      </div> 
8367	 
8368            <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> 
8369 
8370            <div class="ssp-card-oferta-curso__desconto-content"> 
8371              <p>De: <span class="ssp-card-oferta-curso__valor-antigo">R$ ` + formataValor(ajustarCasasDecimaisSemArredondar(strToFloat(oferta.precoVendaOferta), 2)) + `</span></p> 
8372              <p>Por: <span class="ssp-card-oferta-curso__valor-desconto">R$ ` + formataValor(ajustarCasasDecimaisSemArredondar(strToFloat(oferta.precoVendaOferta)/2, 2)) + `</span></p> 
8373            </div> 
8374
8375           
8376      if($('[name="tipoCurso"]').val() == 'extensao') { 
8377        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>` 
8378      } else { 
8379        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>` 
8380
8381   
8382      result = result + ` 
8383          <div class="ou-separator-desconto">Ou</div> 
8384       
8385          <div class="block-valor-total"> 
8386 
8387            <small class="ssp-card-oferta-curso__title-item">Valor sem desconto:</small> 
8388 
8389            <h6 class="ssp-card-oferta-curso__item-valor-investimento"><span>` + oferta.numeroMaxParcelasOferta + `x</span>R$ ` + formataValor(oferta.precoVendaMaxParcelaOferta) + `</h6> 
8390 
8391            <div class="ssp-card-oferta-curso__desconto-content"> 
8392              <p>Valor total: <strong>R$ ` + formataValor(strToFloat(oferta.precoVendaOferta)) + `</strong></p> 
8393            </div> 
8394             
8395          </div> 
8396
8397                 		 }else{ 
8398                 			 
8399      // itens que são diferentes entre técnico e livres comprado a extensão 
8400      if($('[name="tipoCurso"]').val() == 'extensao'){ 
8401        result = result + ` 
8402 
8403          <div class="block-valor-total"> 
8404 
8405            <div class="investimento" id="container_investimento_` + index + `"> 
8406 
8407              <small class="ssp-card-oferta-curso__title-item">Investimento:</small> 
8408 
8409              <h6 class="ssp-card-oferta-curso__item-valor-investimento"><span>` + oferta.numeroMaxParcelasOferta + `x</span>R$ ` + formataValor(ajustarCasasDecimaisSemArredondar(strToFloat(oferta.precoVendaMaxParcelaOferta))) + `</h6> 
8410 
8411              <div class="ssp-card-oferta-curso__desconto-content"> 
8412                <p>Ou: <span class="ssp-card-oferta-curso__valor-antigo text-decoration-none">R$ ` + formataValor(oferta.precoVendaOferta) + `</span> à vista</p> 
8413              </div> 
8414 
8415            </div>   
8416 
8417          </div> 
8418
8419      } else { 
8420        result = result + ` 
8421          <div class="block-valor-total"> 
8422            <div class="investimento" id="container_investimento_` + index + `"> 
8423
8424   
8425        // Não mostrar mensagem de 30% de desconto em casos especificos 
8426        if(temDesconto){ 
8427          result = result + ` 
8428              <small class="ssp-card-oferta-curso__title-item font-weight-bold">Valor com 30% de desconto:</small> 
8429
8430
8431   
8432        if(oferta.precoCheioOferta == oferta.precoVendaOferta) {        
8433          result = result + ` 
8434              <small class="ssp-card-oferta-curso__title-item">Valor do curso:</small> 
8435              <h6 class="ssp-card-oferta-curso__item-valor-investimento"><span>` + oferta.numeroMaxParcelasOferta + `x</span>R$ ` + formataValor(oferta.precoVendaMaxParcelaOferta) + `</h6> 
8436 
8437              <div class="ssp-card-oferta-curso__desconto-content"> 
8438                <p>Ou <span class="ssp-card-oferta-curso__valor-antigo text-decoration-none">R$ ` + formataValor(oferta.precoVendaOferta) + `</span></p> 
8439              </div> 
8440            </div> 
8441            </div> 
8442          `   
8443        } else { 
8444          result = result + ` 
8445              <small class="ssp-card-oferta-curso__title-item">Investimento:</small> 
8446              <h6 class="ssp-card-oferta-curso__item-valor-investimento"><span>` + oferta.numeroMaxParcelasOferta + `x</span>R$ ` + formataValor(oferta.precoVendaMaxParcelaOferta) + `</h6> 
8447 
8448              <div class="ssp-card-oferta-curso__desconto-content"> 
8449                <p>De: <span class="ssp-card-oferta-curso__valor-antigo">R$ ` + formataValor(oferta.precoCheioOferta) + `</span></p> 
8450                <p>Por: <span class="ssp-card-oferta-curso__valor-desconto">R$ ` + formataValor(oferta.precoVendaOferta) + `</span></p> 
8451              </div> 
8452            </div> 
8453            </div> 
8454          `    
8455
8456
8457
8458 
8459    let dataBtnComprar = getObjBtnComprar(oferta); 
8460     
8461    // itens que são diferentes entre técnico e livres comprado a extensão   
8462    result = result + ` 
8463 
8464              <div class="ssp-card-oferta-curso__formas-pagamento-content"  id="container_forma_pgto_` + index + `"> 
8465                 
8466                <span>Saiba mais sobre:</span> 
8467 
8468                <div> 
8469                  <i class="ssp-card-oferta-curso__formas-pagamento-content__icon-credit-card"></i> 
8470                  <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> 
8471                </div> 
8472 
8473              </div> 
8474 
8475            <div class="content-buttons"> 
8476 
8477              <div class="ssp-btn-group__content botoes-oferta-container_` + index + `"> 
8478 
8479				<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> 
8480 
8481              </div> 
8482 
8483            </div> 
8484 
8485          </div> 
8486 
8487        </div> 
8488
8489 
8490    return result 
8491
8492   
8493  var htmlModalLocalRealizacao = '<div id="modalLocalRealizacao_{index}" class="ssp-modal">' 
8494     htmlModalLocalRealizacao += '<div class="ssp-modal-local-realizacao">' 
8495     htmlModalLocalRealizacao += '<div class="ssp-modal-local-realizacao__title-content">' 
8496 
8497    htmlModalLocalRealizacao += '{tituloLocalRealizacao}' 
8498          
8499    htmlModalLocalRealizacao += '<i class="ssp-card-modal-local-realizacao__btn-close_{index} ssp-card-modal-forma-pagamento__btn-close"></i>' 
8500    htmlModalLocalRealizacao += '</div>' 
8501    htmlModalLocalRealizacao += '<div class="ssp-modal-local-realizacao__texto">' 
8502    htmlModalLocalRealizacao += '<p class="{classeTextoInfoLocalRealizacao}">A unidade {nomeUnidade} realizará as aulas em outro endereço, conforme informações abaixo:</p>' 
8503    htmlModalLocalRealizacao += '<p><span class="ssp-modal-local-realizacao__subtitle localEspacoExternoTexto_{index}">{textoFormatoHibrido}{localEspacoExterno}</span></p>' 
8504    htmlModalLocalRealizacao += '<address>' 
8505    htmlModalLocalRealizacao += '<span id="endereco_realizacao_{index}" class="{classeEnderecoRealizacao}">{ruaEspacoExterno}, {numeroEspacoExterno} {complementoEspacoExterno}<br></span>' 
8506    htmlModalLocalRealizacao += '<span id="bairro_realizacao_{index}" class="{classeBairroRealizacao}">Bairro: {bairroEspacoExterno}<br></span>' 
8507    htmlModalLocalRealizacao += '<span id="cidade_realizacao_{index}" class="{classeCidadeRealizacao}">Cidade: {cidadeEspacoExterno} - SP<br></span>' 
8508    htmlModalLocalRealizacao += '<span id="cep_realizacao_{index}" class="{classeCepRealizacao}">CEP: {cepEspacoExterno}</span>' 
8509    htmlModalLocalRealizacao += '</address>' 
8510    htmlModalLocalRealizacao += '<div class="btn ssp-modal-local-realizacao__btn-content">' 
8511    htmlModalLocalRealizacao += '<a class="btn ssp-modal-local-realizacao__btn {classeEntendi} ssp-modal-local-realizacao__btn_{index}" href="#a">Entendi</a>' 
8512    htmlModalLocalRealizacao +='</div>' 
8513    htmlModalLocalRealizacao +='</div>' 
8514    htmlModalLocalRealizacao +='</div>' 
8515    htmlModalLocalRealizacao +='</div>'; 
8516   
8517    var htmlModalAntesCompra = '<div id="modalAntesCompra_{index}" class="ssp-modal">' 
8518      htmlModalAntesCompra += '<div class="ssp-modal-local-realizacao">' 
8519    htmlModalAntesCompra += '<div class="ssp-modal-local-realizacao__title-content">' 
8520    htmlModalAntesCompra += '<h6 class="ssp-modal-local-realizacao__title"> LEMBRETE IMPORTANTE!</h6>' 
8521    htmlModalAntesCompra += '<i class="ssp-card-modal-antes-compra__btn-close_{index} ssp-card-modal-forma-pagamento__btn-close"></i>' 
8522    htmlModalAntesCompra += '</div>' 
8523    htmlModalAntesCompra += '<div class="ssp-modal-local-realizacao__texto">' 
8524    htmlModalAntesCompra += '<p class="{classeTextoInfoLocalRealizacao}">A unidade {nomeUnidade} realizará as aulas em outro endereço, conforme informações abaixo:</p>' 
8525    htmlModalAntesCompra += '<p><span class="ssp-modal-local-realizacao__subtitle localEspacoExternoTexto_{index}">{textoFormatoHibrido}{localEspacoExterno}</span></p>' 
8526    htmlModalAntesCompra += '<address>' 
8527    htmlModalAntesCompra += '<span id="endereco_realizacao_{index}" class="{classeEnderecoRealizacao}">{ruaEspacoExterno}, {numeroEspacoExterno} {complementoEspacoExterno}<br></span>' 
8528    htmlModalAntesCompra += '<span id="bairro_realizacao_{index}" class="{classeBairroRealizacao}">Bairro: {bairroEspacoExterno}<br></span>' 
8529    htmlModalAntesCompra += '<span id="cidade_realizacao_{index}" class="{classeCidadeRealizacao}">Cidade: {cidadeEspacoExterno} - SP<br></span>' 
8530    htmlModalAntesCompra += '<span id="cep_realizacao_{index}" class="{classeCepRealizacao}">CEP: {cepEspacoExterno}</span>' 
8531    htmlModalAntesCompra += '</address>' 
8532    htmlModalAntesCompra += '<div class="btn ssp-modal-local-realizacao__btn-content">' 
8533    htmlModalAntesCompra += '{componentBuyConfirmation}' 
8534    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>' 
8535    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>' 
8536    htmlModalAntesCompra +='</div>' 
8537    htmlModalAntesCompra +='</div>' 
8538    htmlModalAntesCompra +='</div>' 
8539    htmlModalAntesCompra +='</div>'; 
8540          
8541   var htmlSlickAreaDiasSemana = '<div class="ssp-card-oferta-curso__dia-hora-item">' 
8542   	 htmlSlickAreaDiasSemana +='<p class="ssp-card-oferta-curso__dia-hora-item__dia">'  
8543     htmlSlickAreaDiasSemana += '<span data-dia-hora="dias-semana">{diasSemana}</span>' 
8544     htmlSlickAreaDiasSemana += '<span data-dia-hora="horário">{horasSemana}</span>' 
8545     htmlSlickAreaDiasSemana += '</p>' 
8546   	 htmlSlickAreaDiasSemana += '</div>'; 
8547    	         
8548      
8549  //Montar object push - google tag manager - 5 
8550  function criaItensEcommerce(ofertas){ 
8551 
8552    let nomeUnidadeSelecionada = objsTela.unidades[ultimaUnidade].nome 
8553 
8554    let dadosCurso = { 
8555      //Pegar do freemarker  
8556        tituloComercial : $('[name="tituloComercial"]').val(), 
8557        tipoCurso : $('[name="nomeCategoriaTipoCurso"]').val(), 
8558        formato : $('[name="formato"]').data("formato") 
8559
8560 
8561    let ecommerceObject = { 
8562 
8563      item_id: "", //codOferta - oferta, 
8564			item_name: "", //Nome do curso - curso, 
8565			affiliation: "", //nome da unidade - oferta, 
8566			currency: "BRL", //Moeda - "BRL", 
8567			discount: "", //desconto - oferta, 
8568			index: "", //indice da lista - i, 
8569			item_brand: "Senac SP", //"Senac SP", 
8570			item_category: "", //categoria do curso - curso, 
8571			item_list_id: "", //"60", 
8572			item_list_name: "", //"São Carlos" - Oferta, 
8573			item_variant: "", //modalidade - curso, 
8574			price: "", //preco cheio - oferta, 
8575			quantity: 1 
8576 
8577
8578 
8579    let itensEcommerce = new Map(); 
8580 
8581    for(var i = 0; i < ofertas.length; i++){ 
8582 
8583      itensEcommerce.set(ofertas[i].codigoOferta, { 
8584 
8585            item_id: ofertas[i].codigoOferta, //codOferta - oferta, 
8586            item_name: dadosCurso.tituloComercial, //Nome do curso - curso, 
8587            affiliation: nomeUnidadeSelecionada, //nome da unidade - oferta, 
8588            currency: "BRL", //Moeda - "BRL", 
8589            discount: parseFloat(ofertas[i].precoCheioOferta - ofertas[i].precoVendaOferta).toFixed(2), //desconto - oferta, 
8590            index: i, //indice da lista - i, 
8591            item_brand: "Senac SP", //"Senac SP", 
8592            item_category: dadosCurso.tipoCurso, //categoria do curso - curso, 
8593            item_list_id: objsTela.unidades[ultimaUnidade].codigoUnidade, //"60", 
8594            item_list_name: nomeUnidadeSelecionada, //"São Carlos" - Oferta, 
8595            item_variant: dadosCurso.formato, //modalidade - curso, 
8596            price: parseFloat(ofertas[i].precoCheioOferta).toFixed(2), //preco cheio - oferta, 
8597            quantity: 1 
8598 
8599
8600
8601
8602 
8603    return itensEcommerce; 
8604
8605   
8606  //EMED - ELEMENTOS DINAMICOS 
8607  const htmlSlickAreaEmed = function(oferta){ 
8608    var btnid = 'myBtn_' + oferta.indice; 
8609    const diasHorarios = function(oferta){ 
8610      return oferta.diasDaSemanaOferta.join(', ').toLowerCase();  
8611       
8612
8613 
8614 
8615    return ` 
8616        <div class="ssp-ofertas-emed__card codigoOferta_`+ oferta.codigoOferta + `"> 
8617   
8618        <div class="ssp-ofertas-emed__card-info-turma"> 
8619   
8620            <div class="item-content"> 
8621                <i class="fas fa-calendar-alt calendar-icon-turma"></i> 
8622                <p class="title-turma">`+ oferta.titulo +`</p> 
8623                <span class="text-default" data-info="info-turma">Alunos na turma: <strong>até `+ oferta.qtdeTotalVagas +`</strong></span> 
8624            </div> 
8625   
8626            <div class="content-previsao-inicio-termino"> 
8627   
8628                <div class="item-content"> 
8629                    <span class="text-default">Previsão de início:</span> 
8630                    <span class="text-default-lg">`+ formatarDataEmed(oferta.dataInicio,oferta.etapa,false) +`</span> 
8631                </div> 
8632   
8633                <div class="item-divisor"></div> 
8634   
8635                <div class="item-content"> 
8636                    <span class="text-default">Previsão de término:</span> 
8637                    <span class="text-default-lg">`+ formatarDataEmed(oferta.dataFim,oferta.etapa,true) +`</span> 
8638                </div> 
8639   
8640            </div> 
8641   
8642   
8643            <div class="item-divisor"></div> 
8644   
8645            <div class="item-content"> 
8646                <span class="text-default">Dias e horários das aulas:</span> 
8647                <span class="text-default-lg" style="text-transform: capitalize;">`+ diasHorarios(oferta) +`</span> 
8648                <span class="text-default-lg">`+ oferta.horaInicio.replace(':', 'h') + ' às ' + oferta.horaFimOferta.replace(':', 'h') +`</span> 
8649            </div> 
8650             
8651        </div> 
8652   
8653        <div class="ssp-ofertas-emed__card-info-investimento"> 
8654            <p class="title-investimento">Investimento anual:</p> 
8655   
8656            <div class="item-content-investimento"> 
8657                <span class="txt-parcelas">Até `+ oferta.numeroMaxParcelasOferta +`x</span> 
8658                <span class="txt-valor-parcela">R$ `+ formataValor(oferta.precoVendaMaxParcelaOferta) +`</span> 
8659            </div> 
8660   
8661            <div class="item-content-investimento"> 
8662                <p class="txt-boleto-cartao">(boleto bancário ou cartão de crédito)</p> 
8663            </div> 
8664   
8665            <div class="item-content-investimento"> 
8666                <i class="fas fa-credit-card icon-cartao-credito"></i> 
8667                <a id="`+ btnid +`" data-index="`+ oferta.indice +`" href="#" class="link-descontos-parcelamentos">Descontos e Parcelamentos</a> 
8668            </div> 
8669               
8670        </div> 
8671   
8672    </div> 
8673 
8674    `; 
8675
8676   
8677    
8678   function loadCursosVocePodeGostar(){ 
8679       
8680    if(isEmed){ 
8681      var url = urlSearchCursosPodeGostarEmed 
8682        .replace('\{groupId\}', groupId) 
8683        .replace('\{tiposDeCurso\}',$('[name="idTipoCurso"]').val()) 
8684        .replace('\{limit\}', 12) 
8685        .replace('\{articleId\}', $('[name="articleId"]').val()); 
8686    }else{ 
8687      var url = urlSearchCursosPodeGostar 
8688        .replace('\{companyId\}',themeDisplay.getCompanyId()) 
8689        .replace('\{groupId\}', groupId) 
8690        .replace('\{userId\}',themeDisplay.getUserId()) 
8691        .replace('\{articleId\}',$('[name="articleId"]').val()) 
8692        .replace('\{limit\}', 12); 
8693
8694 
8695   
8696       $.ajax({ 
8697           url :  url, 
8698           type : 'get', 
8699           beforeSend: function(){ 
8700             loading('#slider-curso'); 
8701
8702       }) 
8703       .done(function(cursos){ 
8704          
8705         if(cursos.length > 0){ 
8706   
8707           cursos = JSON.parse(cursos); 
8708            
8709           if(isEmed) cursos = cursos['cursos']; 
8710            
8711           if(cursos.length > 0) $('#section-cursos-voce-pode-gostar').removeClass('d-none'); 
8712           else { 
8713             $('#section-cursos-voce-pode-gostar').addClass('d-none'); 
8714             return; 
8715
8716            
8717           var articles = []; 
8718            
8719            $.each(cursos, function(k, c){ 
8720             articles.push(c.articleId); 
8721            }); 
8722             
8723           //Verifica a situação dos botoes de inscrições e bolsa 
8724          $.ajax({ 
8725                url :  '/o/senac-content-services/verificaBotoesInscricaoEBolsa/'+groupId+'/'+articles.join(','), 
8726                type : 'get' 
8727            })  
8728            .done(function(infoBotoes){ 
8729               
8730              if(infoBotoes.length > 0) { 
8731                 
8732                  infoBotoes = JSON.parse(infoBotoes); 
8733                   
8734                  $('#slider-curso').empty(); 
8735   
8736                      $.each(cursos, function(k, c){ 
8737                    	  $('#slider-curso').append(buildCardCurso(c, infoBotoes)); 
8738         
8739                      }); 
8740         
8741                      $('#slider-curso').addClass( 
8742                      'slick-area slick-area--md-bleed slider-container slick-area-cursos-pode-gostar'); 
8743         
8744                      sliderCurso('.slick-area-cursos-pode-gostar'); 
8745
8746            }); 
8747
8748   
8749        }) 
8750        .fail(function(jqXHR, textStatus, msg){ 
8751            // alert(msg); 
8752        }); 
8753   
8754
8755   
8756   /* 
8757    * Armazena a navegação em cookies, se habilitado 
8758    */ 
8759  $(document).on("click", ".ck-curso", function() { 
8760      
8761  //Verifica se o cookie está habilitado 
8762   if(getCookie('portalSenacCookie') != null){ 
8763      
8764    var articleId = $(this).data('ck'); 
8765    manageCookieArray('ck-cursos', articleId); 
8766        
8767
8768   
8769   }); 
8770   
8771   
8772 
8773   
8774   
8775  $(function(){ 
8776   
8777   if($('#unidades-ofertas').find('option').length ==0){ 
8778   
8779     $('.ssp-container-selecione-unidade').addClass('d-none') 
8780   
8781
8782   
8783  }); 
8784   
8785     function avisoNovasTurmas(){ 
8786        
8787       
8788       window.event.preventDefault() 
8789         
8790       //var unidadeSelecionada = $('#select-registro-interesse').val(); 
8791       //este select tem 2 valores separados por @ -> categoryId@codUnidade 
8792      //  var unidadeSelecionada = $('#unidades-ofertas').val(); 
8793        
8794       //Código fixo quando Senac Ao Vivo 
8795       var codUnidadeSelectRegInt = (isAoVivo) ? codUnidadeSenacAoVivo : $('#unidades-ofertas').val().split("@")[1]; 
8796         
8797      //  if(codUnidadeSelectRegInt && codUnidadeSelectRegInt.length){ 
8798          
8799         //Se ja tiver logado , redireciona para o registro 
8800         if(getCookie('ticket') == null){ 
8801            
8802           //Abre modal login 
8803               $('#modal-login').removeClass('d-none'); 
8804            
8805         }else{ 
8806            
8807          abrirModalRegistroInteresse(codUnidadeSelectRegInt); 
8808                  
8809            verificaBtnEnviarRegistroInteresseAtivo(); 
8810
8811          
8812         window.onclick = function(event) { 
8813            $('[id="modal-registro-interesse"]').each(function(index,_modal){ 
8814                if (event.target == _modal) { 
8815                   $('#modal-registro-interesse').addClass('d-none'); 
8816                   $("body").removeClass("overflow-hidden") 
8817
8818            }); 
8819
8820              
8821      //  } 
8822
8823     function login(){ 
8824      var unidadeSelecionada 
8825      var codUnidadeSelectRegInt 
8826      doLogin({ 
8827        user: $('#login-email-modal').val(), 
8828        pass: $('#login-password-modal').val(), 
8829        btnLoadingSelector: '#btnLogin', 
8830        before: () => { 
8831          $('#mensagem-erro-login').addClass('d-none') 
8832           
8833          unidadeSelecionada = $('#unidades-ofertas').val(); 
8834          codUnidadeSelectRegInt = (isAoVivo) ? codUnidadeSenacAoVivo : $('#unidades-ofertas').val().split("@")[1]; 
8835        }, 
8836        done: (data) => { 
8837          var loginData = JSON.parse(data); 
8838           
8839          if(loginData.status == 200 || loginData.status == 201){				 
8840            //Após logar-se, exibe o modal p/registro de interesse 
8841            abrirModalRegistroInteresse(codUnidadeSelectRegInt); 
8842            verificaBtnEnviarRegistroInteresseAtivo(); 
8843            //esconde o modal de login 
8844            $('#modal-login').addClass('d-none'); 
8845          }  
8846        }, 
8847        errorMessageSelector: '#mensagem-erro-login', 
8848        error: (err) => console.error(err) 
8849      }) 
8850
8851   
8852  function registroSelecionaTodosDias(){ 
8853     
8854    if($(this).hasClass('ssp-week-day-active')){ 
8855      $(this).removeClass('ssp-week-day-active') 
8856       $('.ssp-week-day').removeClass('ssp-week-day-active') 
8857    }else{ 
8858      $(this).addClass('ssp-week-day-active') 
8859      $('.ssp-week-day').addClass('ssp-week-day-active') 
8860
8861        
8862    verificaBtnEnviarRegistroInteresseAtivo(); 
8863
8864   
8865  function registroSelecionaTodosPeriodos(){ 
8866     
8867    if($(this).is(':checked')){ 
8868      $('.ssp-card-registro-interesse__check-itens-content.periodos-registro-interesse input[type=checkbox]').prop('checked', true); 
8869    }else{ 
8870      $('.ssp-card-registro-interesse__check-itens-content.periodos-registro-interesse input[type=checkbox]').prop('checked', false); 
8871
8872     
8873    verificaBtnEnviarRegistroInteresseAtivo(); 
8874
8875  $('.turmas-registro-interesse input[type=checkbox]').on('click', function() { 
8876    var $selecionado = $(this); 
8877    if ($selecionado.is(":checked")) { 
8878      $('.turmas-registro-interesse input[type=checkbox]').prop("checked", false); 
8879      $selecionado.prop("checked", true); 
8880    } else { 
8881      $selecionado.prop("checked", false); 
8882
8883}); 
8884     function enviarRegistroInteresse(){ 
8885       
8886	  const codigoUsr = getCookie('codigo'); 
8887	   
8888	  if(codigoUsr == null){ 
8889		  //Sem o cookie refaz o login 
8890		  $('#modal-registro-interesse').addClass('d-none'); 
8891	      $('body').removeClass('overflow-hidden'); 
8892	      $('#modal-login').removeClass('d-none'); 
8893	      return; 
8894
8895	   
8896      var codigoFT = $('[name="codigoFT"]').val(); 
8897       
8898      var unidades = new Set(); 
8899       
8900      var diasSemana = ''; 
8901       
8902      //Senac ao vivo nao tem opçao de dias da semana nem unidades 
8903      if(isAoVivo){ 
8904        unidades.add(codUnidadeSenacAoVivo); 
8905      }else{ 
8906          $.each($('.ssp-week-day').not('#todosDias'), function(k, v){ 
8907              if($(this).hasClass('ssp-week-day-active')){ 
8908                diasSemana += $(this).text()+','; 
8909
8910          }); 
8911             
8912          if(diasSemana.length > 0) diasSemana = diasSemana.slice(0, -1); 
8913           
8914          $.each($('.ssp-card-registro-interesse__select'), function(k,item){ 
8915               
8916            unidades.add(item.value); 
8917          }); 
8918
8919 
8920       
8921      var periodos = ''; 
8922       
8923      $.each($('.periodos-registro-interesse input[type=checkbox]').not('#check-todos-periodos'), function(k,v){ 
8924        if($(this).is(':checked')){ 
8925          periodos += $(this).val()+','; 
8926
8927      }); 
8928 
8929      var turmas = ''; 
8930 
8931      $.each($('.turmas-registro-interesse input[type=checkbox]').not('#check-todos-periodos'), function(k, v) { 
8932          if ($(this).is(':checked')) { 
8933              turmas += $(this).val() + ','; 
8934
8935      }); 
8936 
8937      if (periodos.length > 0) periodos = periodos.slice(0, -1); 
8938      if (turmas.length > 0) turmas = turmas.slice(0, -1); 
8939 
8940      var usuarioNotificado = false; 
8941       
8942      loadingSubmitButton('#enviar-registro-interesse-btn'); 
8943 
8944      unidades.forEach(function(codigoUnidade) { 
8945          var data = { 
8946              codigoFT: codigoFT, 
8947              codigo: codigoUsr, 
8948              diasSemana: diasSemana, 
8949              periodos: periodos, 
8950              turmas, turmas, 
8951              codigoUnidade: codigoUnidade, 
8952              interesseBolsa: 'N', 
8953              isEmed: isEmed ? 'S' : 'N' 
8954          }; 
8955 
8956          const url = urlRegistroInteresse; 
8957 
8958          $.ajax({ 
8959              url: url, 
8960              method: 'POST', 
8961              data: JSON.stringify(data), 
8962              headers: { 
8963                  'Accept': 'application/json', 
8964                  'Content-Type': 'application/json' 
8965              }, 
8966          }).done( 
8967              function(retornoData) { 
8968 
8969                  var retornoData = JSON.stringify(retornoData); 
8970 
8971                  if (retornoData.length > 0) { 
8972             
8973                    cleanLoadingSubmitButton('#enviar-registro-interesse-btn'); 
8974                     
8975                      var retorno = JSON.parse(retornoData); 
8976 
8977                      if (retorno.status == 200 || retorno.status == 201) { 
8978               
8979                        //Evita que o usuário recebe um email para cada unidade de interesse 
8980                        if(usuarioNotificado) return; 
8981                         
8982                          //Mensagem de sucesso registro interesse 
8983                          $('#modal-registro-interesse-sucesso').removeClass('d-none'); 
8984 
8985                          var prefixUrl = themeDisplay.getLayoutRelativeURL(); 
8986 
8987                          if (prefixUrl.indexOf('staging/') > 1) 
8988                              prefixUrl = prefixUrl.substring(0, prefixUrl.lastIndexOf('staging/') + 8); 
8989                          else 
8990                              prefixUrl = HOST; 
8991 
8992                          $('#btn-voltar-home').attr('href', prefixUrl); 
8993 
8994                          //Busca os dados do nome do usuário logado 
8995                          var username = getCookie('name').split(' ')[0]; 
8996 
8997                          //Prioridade para nomeSocial 
8998                          if (getCookie('nome_social') != null) { 
8999                              var nomeSocial = getCookie('nome_social').replace(/['"]+/g, ''); 
9000 
9001                              if (nomeSocial.length > 0) username = getCookie('nome_social'); 
9002 
9003
9004 
9005                          username = username.replace(/['"]+/g, ''); 
9006						   
9007                          var unidadesSel = getUnidadesSelecionadasRI(); 
9008                           
9009                          //Disara um email para o usuário interessado              
9010                          var data = { 
9011                              emailInteressado: getCookie('email'), 
9012                              nomeInteressado: username, 
9013                              tituloCurso: $('.ssp-card-detalhe-curso__title').text(), 
9014                              unidades: unidadesSel.unidades, 
9015                              unidadesPrefix: unidadesSel.unidadesPrefix 
9016                          }; 
9017 
9018                          $.ajax({ 
9019                              url: urlRegistroInteresseEmailInteressado, 
9020                              method: 'POST', 
9021                              data: JSON.stringify(data), 
9022                              headers: { 
9023                                  'Accept': 'application/json', 
9024                                  'Content-Type': 'application/json' 
9025                              }, 
9026                          }).done(function(retornoData) {}); 
9027 
9028              				usuarioNotificado = true; 
9029               
9030                          window.onclick = function(event) { 
9031                              $('[id="modal-registro-interesse-sucesso"]').each(function(index, _modal) { 
9032                                  if (event.target == _modal) { 
9033                                      $('#modal-registro-interesse-sucesso').addClass('d-none'); 
9034                                      $('#modal-registro-interesse').addClass('d-none'); 
9035                                      $("body").removeClass("overflow-hidden") 
9036
9037                              }); 
9038
9039 
9040                      } else { 
9041                          //Mensagem de erro registro interesse 
9042                          $('#modal-registro-interesse-erro').removeClass('d-none'); 
9043
9044                  } else { 
9045                      //Mensagem de erro registro interesse 
9046                      $('#modal-registro-interesse-erro').removeClass('d-none'); 
9047
9048              }).fail(function(){ 
9049				  cleanLoadingSubmitButton('#enviar-registro-interesse-btn'); 
9050				  $('#modal-registro-interesse-erro').removeClass('d-none'); 
9051			  }); 
9052      }); 
9053
9054   
9055  function verificaBtnEnviarRegistroInteresseAtivo(){ 
9056     
9057    var diasSemanaSelecionado = false; 
9058    var periodoSelecionado = false; 
9059    var turmaSelecionada = false; 
9060    var politicaPrivacidadeSelecionado = false; 
9061     
9062     
9063    $.each($('.periodos-registro-interesse input[type=checkbox]').not('#check-todos-periodos'), function(k,v){ 
9064      if($(this).is(':checked')) 
9065        periodoSelecionado = true; 
9066    }); 
9067 
9068    $.each($('.turmas-registro-interesse input[type=checkbox]').not('#check-todos-periodos'), function(k,v){ 
9069      if($(this).is(':checked')) 
9070        turmaSelecionada = true; 
9071    }); 
9072     
9073    if($('#check-politica-privacidade').is(':checked')) politicaPrivacidadeSelecionado = true; 
9074     
9075    var ativo = true 
9076     
9077    //Caso tenha algum dos selects de unidade sem uma opção válida selecionada 
9078    if(!isAoVivo) 
9079      ativo = ativo && !Array.from($('.ssp-card-registro-interesse__select.unidades')).filter(sel => !$(sel).val()).length 
9080     
9081    ativo = ativo && periodoSelecionado && politicaPrivacidadeSelecionado; 
9082     
9083    if(!isAoVivo && !isEmed){ 
9084       
9085        $.each($('.ssp-week-day').not('#todosDias'), function(k, v){ 
9086            if($(this).hasClass('ssp-week-day-active')) 
9087              diasSemanaSelecionado = true; 
9088          }); 
9089      ativo = ativo && diasSemanaSelecionado; 
9090       
9091
9092 
9093    if(isEmed) 
9094      ativo = ativo && turmaSelecionada; 
9095     
9096    if(ativo) 
9097        $('#enviar-registro-interesse-btn').attr("disabled", false); 
9098    else 
9099        $('#enviar-registro-interesse-btn').attr("disabled", true); 
9100
9101   
9102    function loadPlanoCurso(){ 
9103       
9104      const urlGetPlanoCurso = urlPlanoCurso 
9105											 
9106      .replace('\{codigoFT\}',  $('[name="codigoFT"]').val()) 
9107      .replace('\{dataEfetiva\}', $('[name="dataEfetivaSTR"]').val()); 
9108   
9109        $.ajax({ 
9110            url:urlGetPlanoCurso, 
9111            method:'get', 
9112            crossDomain: true, 
9113            dataType: 'html', 
9114            success: function( data ) { 
9115   
9116   
9117              //Atualiza o link com o plano de curso do servi¿o (ja retorna o texto) 
9118              $('#plano-curso').append('<br/>'+data);  
9119            }, 
9120            error: function(data){ 
9121               
9122              console.log('Não existe a URL do plano de curso'); 
9123								 
9124
9125         
9126          }); 
9127
9128     
9129  function checkCursoTrampolim(){ 
9130    return $('[name="codigoFT"]').val() == "24493";  
9131
9132   
9133  /*function verificaOfertaValida(oferta){ 
9134       
9135    if(oferta['precoCheioOferta'] == '' || oferta['precoVendaOferta'] == '' || oferta['numeroMaxParcelasOferta'] == '' || oferta['precoVendaMaxParcelaOferta']  == '') 
9136      return false; 
9137     
9138    var atual = new Date(); 
9139   
9140    var dataOfertaPartes = oferta['dataInicio'].split('/'); 
9141     
9142    var dataOferta = new Date(dataOfertaPartes[2], dataOfertaPartes[1] - 1, dataOfertaPartes[0]); 
9143     
9144    var dataLimiteMatriculaOfertaPartes = ""; 
9145    var dataLimiteMatriculaOferta = ""; 
9146     
9147    if(oferta['dtLimiteMatricula'] != ""){ 
9148    dataLimiteMatriculaOfertaPartes = oferta['dtLimiteMatricula'].split('-'); 
9149      dataLimiteMatriculaOferta = new Date(dataLimiteMatriculaOfertaPartes[0], dataLimiteMatriculaOfertaPartes[1] - 1, dataLimiteMatriculaOfertaPartes[2] ,atual.getHours(),atual.getMinutes(),atual.getSeconds(),atual.getMilliseconds());  
9150     
9151
9152     
9153     
9154    //Só deve aparecer ofertas D-1 . Se ela iniciou, aparece se o campo dtLimiteMatr estiver preenchido e com data até o dia de hoje  
9155    if(dataOferta <= atual) 
9156      if(dataLimiteMatriculaOferta == "" || (dataLimiteMatriculaOferta != "" &&  atual.getTime() > dataLimiteMatriculaOferta.getTime())) 
9157        return false; 
9158     
9159    return true; 
9160  }*/ 
9161   
9162   
9163  function loadServerDate(){ 
9164   
9165    $.ajax({ 
9166      url:urlGetServerT, 
9167      method:'get', 
9168      dataType: 'json', 
9169      cache: 'false', 
9170      headers: { 
9171      'Cache-Control': 'no-store, no-cache, max-age=0', 
9172      'Expires': '0', 
9173      'Pragma': 'no-cache' 
9174      }, 
9175      success: function( data ) { 
9176        todayG = new Date(data.year,(data.month - 1),data.day,(data.hour),data.minutes,data.seconds); 
9177        startTimer(); 
9178
9179    }); 
9180     
9181
9182   
9183   function handleVisibilityChange() { 
9184     
9185     if (!document[hidden] ){ 
9186      restartTimer(); 
9187
9188     
9189
9190   
9191  function restartTimer(){ 
9192     
9193    if(restartTimeout == null){ 
9194      loadServerDate(); 
9195      restartTimeout = setTimeout(function(){ 
9196        restartTimeout = null; 
9197      }, 5000); 
9198
9199     
9200
9201    
9202	 function startTimer(){ 
9203		 
9204		var mSeconds = todayG.getTime(); 
9205		if(interval01 != null){ 
9206			clearInterval(interval01); 
9207
9208		interval01 = setInterval(function(){ 
9209			todayG.setTime(todayG.getTime() + 1000); 
9210		}, 1000); 
9211		 
9212		if(interval15 != null){ 
9213			clearInterval(interval15); 
9214
9215		interval15 = setInterval(function(){ 
9216			mSeconds = mSeconds + 15000; 
9217			todayG.setTime(mSeconds); 
9218		}, 15000); 
9219		 
9220
9221   
9222  function checkIsAoVivo(){ 
9223    isAoVivo = $("input[name='formato']").attr("data-formato") == nomeFormatoAoVivoDxp; 
9224
9225   
9226   
9227  //Ao clicar na setinha next do slider, busca dinamicamente uma proxima oferta 
9228  function buscaProximaOferta(){ 
9229    //Zera variável que controla existência de ofertas com bolsa 
9230    //ofertasComBolsa = false; 
9231  	  
9232     //Verificamos se a ultima oferta já foi exibida, para evitar de fazer novas buscas 
9233     if(carregouUltimaOferta)  
9234        return; 
9235 
9236     //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.	 
9237     var totalOfertasSlick = $('#turmas-container .slick-area__item').length; 
9238     //Pegamos o índice da oferta do meio (central) 
9239     var currentSliderIndex = parseInt($('.slick-current').attr('data-slick-index')); 
9240 
9241     var totalOfertasADireita = totalOfertasSlick - currentSliderIndex; 
9242 
9243     //Se o total de ofertas à direita for maior a 2 não precisa realizar a busca 
9244     if(totalOfertasADireita > 2)  
9245        return; 
9246 
9247	 startOfertaParam = endOfertaParam; 
9248	 endOfertaParam += 16; 
9249	  
9250     const codigoFT = $('[name="codigoFT"]').val(); 
9251  	 const dataEfetivaOferta = $('[name="dataEfetivaSTR"]').val(); 
9252	 
9253  	 var unidadeCategoryId = ''; 
9254     var unidadeCodigoSelect = ''; 
9255  	 
9256  	if(isAoVivo){ 
9257  	   
9258  		$.each(objsTela.unidades, function(k,unidade){ 
9259  			unidadeCategoryId += unidade['categoryId']+','; 
9260      	}); 
9261  		 
9262  		//tirando ultima virgula 
9263  	    unidadeCategoryId = unidadeCategoryId.substring(0,unidadeCategoryId.length - 1); 
9264  	   
9265  	}else{ 
9266  		 var splitted = $('#unidades-ofertas').val().split("@"); 
9267  		 unidadeCategoryId = splitted[0]; 
9268       unidadeCodigoSelect = splitted[1]; 
9269
9270     
9271    var params = new URLSearchParams(); 
9272    params.set('codigoFTOferta',codigoFT) 
9273    params.set('dataEfetivaOferta',dataEfetivaOferta) 
9274    params.set('categoryIds',unidadeCategoryId) 
9275    params.set('start',startOfertaParam) 
9276    params.set('end',endOfertaParam) 
9277    params.set('inscricaoAberta', $('#chkInscricao').prop('checked')) 
9278    params.set('bolsaAberta', $('#chkBolsa').prop('checked')) 
9279    params.set('cursoArticleId', $('[name="articleId"]').val() || ''); 
9280 
9281    if($('#chkBolsa').prop('checked')){ 
9282    	params.set('considerarDataBolsaFutura', true) 
9283
9284     
9285    const url = urlSearchOferta + '?' + params.toString() 
9286 
9287    $.ajax({ 
9288      url:url, 
9289      method:'get', 
9290      dataType:'json' 
9291    }).done( 
9292      function(data){ 
9293         
9294        if(data.length > 0){ 
9295          var indiceOferta = startOfertaParam; 
9296 
9297        	for (var index = 0; index < data.length; index++) { 
9298        		 
9299				var ofertaJSON = data[index]; 
9300	            var oferta = getOfertaObjectFromJson(ofertaJSON,index); 
9301				             
9302	            //Verificamos se a oferta buscada já existe na tela (que ocorre quando chega na última oferta) 
9303	            if($('.codigoOferta_'+oferta.codigoOferta).length > 0){ 
9304	              console.log('Ja tem a oferta '+oferta.codigoOferta); 
9305	              carregouUltimaOferta = true; 
9306	              break; 
9307
9308	 
9309	            //guardo em um map a oferta e qual unidade é, para utilizar depois no populaOferta para o aoVivo                
9310	            ofertaUnidadeMap.set(oferta['codigoOferta'],mapUnidadesIds.get(parseInt(ofertaJSON.unidadeCategoryIds))); 
9311	      
9312	            ofertasMap.set(oferta.codigoOferta, oferta); 
9313	 
9314	            if(isAoVivo) 
9315	            	objsTela.ofertasAoVivoTodasUnidades.push(oferta); 
9316	 
9317	             //O indice é igual ao ultimo elemento buscado - 1 
9318	             var i = indiceOferta; 
9319	             oferta['indice'] = i; 
9320	 
9321	             if(isAoVivo) 
9322	                codigoUnidade = ofertaUnidadeMap.get(oferta.codigoOferta); 
9323	             else codigoUnidade = unidadeCodigoSelect; 
9324	 
9325	              
9326	             montaHTMLOferta(oferta, i, codigoUnidade, true);  
9327	             montaHTMLModalFormaPgto(oferta, i, codigoUnidade);  
9328 
9329	             montaHTMLModalLocalRealizacao(oferta, i);  
9330	             montaHTMLModalAntesCompra(oferta, i, codigoUnidade); 
9331	             verificaBotaoBolsaSS(oferta); 
9332	             verificaCursoAprendizagem(i); 
9333	             verificaCursoTrampolim(i); 
9334	              
9335	             associaEventoBtnFormaPagamento(i); 
9336	             associaEventoBtnComprar(i);  
9337	             associaEventoBtnComprarDentroFormaPgto(i); 
9338	             associaEventoBtnLocalRealizacao(i); 
9339	             associaEventosFecharModal(i); 
9340 
9341                 if($('[name="tipoCurso"]').val() == 'extensao'){ 
9342                   associaEventoBtnConheca(i); 
9343                   associaEventoBtnComprarConhecaDescontoOk(i); 
9344                   associaEventoBtnComprarConhecaDescontoNot(i); 
9345                   associaEventoBtnAlunoNao(i); 
9346                   associaEventoBtnAlunoSim(i); 
9347                    
9348
9349                  
9350               indiceOferta++; 
9351
9352           
9353          controlaPaginaBolsa(); 
9354
9355
9356    ); 
9357     
9358
9359 
9360  function setUrlParam(key, value) { 
9361    const url = new URL(window.location.href) 
9362 
9363    if(value) 
9364      url.searchParams.set(key, value); 
9365    else 
9366      url.searchParams.delete(key); 
9367 
9368    window.history.pushState({}, '', url.toString()) 
9369
9370   
9371   function selectFilter(paramkey, el) { 
9372    setUrlParam(paramkey, el.prop("checked")) 
9373    const currentUnidadeFriendlyURLSelected = $('#unidades-ofertas').find('option').filter(':selected').attr('data-unidade-friendly-url') 
9374    loadUnidades(!isAoVivo, $('[data-unidade-friendly-url="' + currentUnidadeFriendlyURLSelected + '"]').val()) 
9375 
9376    if($('#chkInscricao').prop("checked") || $('#chkBolsa').prop("checked")) $('#msgFiltroAplicado').show() 
9377    else $('#msgFiltroAplicado').hide() 
9378
9379    
9380  function defineCurrentUrl(ev) { 
9381    const currentUnidadeFriendlyURLSelected = $(ev.target).find('option').filter(':selected').attr('data-unidade-friendly-url') 
9382 
9383    const hasPathWeb = window.location.pathname.includes('/web') 
9384    const hasPathGuest = window.location.pathname.includes('/guest') 
9385 
9386    let currentPath = window.location.pathname 
9387    currentPath = hasPathWeb ? currentPath.substring(4) : currentPath 
9388    currentPath = hasPathGuest ? currentPath.substring(6) : currentPath 
9389 
9390    objsTela.unidadesRegistroInteresse.forEach(unidade => currentPath = currentPath.replace('/' + unidade.friendlyURL, '')) 
9391 
9392    currentPath = (currentUnidadeFriendlyURLSelected ? '/' + currentUnidadeFriendlyURLSelected : '') + currentPath 
9393    currentPath = hasPathGuest ? '/guest' + currentPath : currentPath 
9394    currentPath = hasPathWeb ? '/web' + currentPath : currentPath 
9395 
9396    if(keepURL()) 
9397    window.history.replaceState(window.history.state, '', currentPath + window.location.search) 
9398
9399   
9400  let isKeepURL = true   
9401  /** Verifica se é para manter a URL atual. Isso deve acontecer somente ao iniciar a página #9674 */ 
9402  function keepURL() { 
9403    const aux = isKeepURL 
9404    isKeepURL = false 
9405    return !aux 
9406
9407   
9408  loadServerDate(); 
9409  $(document).ready(function(){ 
9410 
9411    if("${normalizedCategoryName}" == "graduacao" || "${normalizedCategoryName}" == "pos-graduacao"){ 
9412      document.location.href = '/erro-404' 
9413
9414     
9415    ehCursoTrampolim = checkCursoTrampolim(); 
9416    checkIsAoVivo(); 
9417    loadPlanoCurso(); 
9418    loadCursosVocePodeGostar(); 
9419 
9420    if(!isAoVivo) { 
9421      $('#unidades-ofertas').change(ev => { 
9422        mudarUnidade(ev) 
9423        defineCurrentUrl(ev) 
9424      }); 
9425
9426 
9427    const urlParams = new URLSearchParams(window.location.search) 
9428    $('#chkInscricao').prop("checked", urlParams.get('inscricao') == 'true') 
9429    $('#chkInscricao').change(ev => selectFilter('inscricao', $('#chkInscricao')) ) 
9430     
9431    if($('#chkBolsa').length) { 
9432      $('#chkBolsa').prop("checked", urlParams.get('bolsa') == 'true') 
9433      $('#chkBolsa').change(ev => selectFilter('bolsa', $('#chkBolsa')) ) 
9434      loadUnidades(!isAoVivo); 
9435    } else { 
9436      selectFilter('bolsa', $('#chkBolsa')) 
9437
9438           
9439      //Função para Montar breadcrumb Mobile 
9440   
9441      function breadcrumbMobile(){ 
9442   
9443		const linkEl = $('.ssp-card-detalhe-curso__secunday-info-back-link');   	  
9444    	   
9445        if ( $.trim(linkEl.html()) === 'Técnico'){ 
9446   
9447        	linkEl.attr("href", "/cursos-tecnicos"); 
9448   
9449        } else if ( $.trim(linkEl.html()) === 'Livre'){ 
9450       
9451           if(isAoVivo){ 
9452        	   	linkEl.html('Senac Online<i class="fas fa-signal-stream icon-ao-vivo" aria-hidden="true"></i>ao vivo') 
9453             	linkEl.attr("href", "/cursos-livres-senac-online-ao-vivo"); 
9454           }else{ 
9455        	   	linkEl.attr("href", "/cursos-livres"); 
9456
9457        } else if ( $.trim(linkEl.html()) === 'Aprendizagem'){ 
9458   
9459        	linkEl.attr("href", "/jovem-aprendiz"); 
9460   
9461        }else if ( $.trim(linkEl.html()) === 'Extensão Universitária'){ 
9462   
9463        	linkEl.attr("href", "/extensao-universitaria"); 
9464         
9465        }else if ( $.trim(linkEl.html()) === 'Ensino Médio Técnico'){ 
9466        		   
9467            	linkEl.attr("href", "/ensino-medio-tecnico");	 
9468
9469   
9470
9471   
9472      breadcrumbMobile() 
9473       
9474    //Esconde elementos quando o curso é aprendizagem 
9475      if($('[name="codigoFT"]').val() == codigoFTCursoAprendizagem){ 
9476        $('.ssp-section-novas-turmas').remove(); 
9477        $("div[class^='botoes-oferta-container_']").remove(); 
9478
9479   
9480     //retira os itens de dentro do container 
9481      $('.bg-').css('background-color','#e4e4e4') 
9482     $('.container.py-3').removeClass('container py-3') 
9483     //ajuste para versao 7.4 
9484     $('.lfr-layout-structure-item-container.container-fluid.container-fluid-max-xl').removeClass() 
9485 
9486   
9487     //Fecha modal registro de interesse 
9488   
9489     $('#btn-close-Modal-registro-interesse').click(function(){ 
9490   
9491       $('#modal-registro-interesse').addClass('d-none') 
9492       $("body").removeClass("overflow-hidden") 
9493   
9494     }) 
9495   
9496      $( "#modal-registro-interesse" ).click( function(event) { 
9497   
9498          
9499   
9500         if(event.target.id==$('#modal-registro-interesse')[0].id){ 
9501               $(this).addClass('d-none') 
9502
9503   
9504      }); 
9505   
9506       
9507      //Aviso sobre interesse em turmas 
9508      $('.ssp-card-registro-interesse').on('click', '#enviar-registro-interesse-btn', enviarRegistroInteresse); 
9509      if(!isEmed){ 
9510        $('.ssp-aviso-novas-turmas__content').on('click', '#btn-aviso-novas-turmas', avisoNovasTurmas); 
9511        $('.ssp-card-registro-interesse').on('click', '#todosDias', registroSelecionaTodosDias); 
9512      } else { 
9513        $('.ssp-emed__card-slider-body').on('click', '#btnOptin', avisoNovasTurmas) 
9514      }  
9515      $('#div-campo-todos').on('change', 'input[type=checkbox]', registroSelecionaTodosPeriodos); 
9516   
9517      $('#btnLogin').click(function(){ 
9518        
9519        login() 
9520         
9521       }); 
9522       
9523       $('#btn-close-loginModal').click(function(){ 
9524           $('#modal-login').addClass('d-none') 
9525       }); 
9526        
9527       $('.ssp-week-day').not('#todosDias').click(function(){ 
9528   
9529           $(this).toggleClass('ssp-week-day-active'); 
9530           verificaBtnEnviarRegistroInteresseAtivo(); 
9531            
9532       }); 
9533        
9534       $('#add-unidade-regsitro-interesse').click(function(e){ 
9535           var element = $('.ssp-card-registro-interesse__select.unidades').first().clone(); 
9536           element.empty(); 
9537            element.append('<option value="" disabled selected>Selecione uma unidade</option>') 
9538                $.each(objsTela.unidadesRegistroInteresse, function(k,unidade){ 
9539 
9540                    if(!unidade['selecionado']){      
9541                        element.append('<option value="'+unidade['codigoUnidade']+'">'+unidade['nome']+'</option>'); 
9542
9543 
9544                }); 
9545            element.change(changeSelectUnidades) 
9546 
9547   
9548           element.css('margin-top', '10px'); 
9549            
9550           if(element.find("option").length > 1 && $('.ssp-card-registro-interesse__select.unidades').length < objsTela.unidadesRegistroInteresse.length){ 
9551              element.attr("id", "select_" + cntSelectUnidades++) 
9552              $('#select-unidades-registro-interesse').append(element); 
9553          }    
9554 
9555          if($('.ssp-card-registro-interesse__select.unidades').length == objsTela.unidadesRegistroInteresse.length){ 
9556              $('#add-unidade-regsitro-interesse').addClass("d-none") 
9557
9558   
9559           verificaBtnEnviarRegistroInteresseAtivo(); 
9560       }); 
9561        
9562       $('#remove-unidade-regsitro-interesse').click(function(e){ 
9563          
9564         if($('.ssp-card-registro-interesse__select').length > 1){ 
9565          
9566              var element = $('.ssp-card-registro-interesse__select').last(); 
9567     
9568              var valueSelecionado = element.val(); 
9569 
9570              $.each(objsTela.unidadesRegistroInteresse, function(k,unidade){ 
9571 
9572                  if(unidade['selecionado'] && unidade['codigoUnidade'] == valueSelecionado){ 
9573                      unidade['selecionado'] = false; 
9574                      unidade['selectSelecionado'] = ""; 
9575
9576 
9577              }); 
9578              element.val(""); 
9579              cntSelectUnidades--; 
9580              element.change() 
9581 
9582              element.remove(); 
9583
9584   
9585         if($('.ssp-card-registro-interesse__select.unidades').length < objsTela.unidadesRegistroInteresse.length){ 
9586              $('#add-unidade-regsitro-interesse').removeClass("d-none") 
9587
9588 
9589          verificaBtnEnviarRegistroInteresseAtivo(); 
9590       }) 
9591        
9592       $('.ssp-card-registro-interesse__check-item').on('change', 'input[type=checkbox]', function(){ 
9593         verificaBtnEnviarRegistroInteresseAtivo(); 
9594       }); 
9595   
9596       //Contador em ofertas de bolsas proximas 
9597       var cancel = setInterval(atualizaTempoAberturasBolsas, 1000); 
9598        
9599        // Manipua o breadcrumb para as regras do Senac 
9600          
9601        if($('ol.breadcrumb').find('li:first').text().trim() == "Cursos Pai") 
9602          $('ol.breadcrumb').find('li:first').remove(); 
9603         
9604        var li = $('ol.breadcrumb').find('li:first'); 
9605   
9606        if(li.text().trim() == 'Cursos'){ 
9607       
9608          var primeiro = li.clone(); 
9609          primeiro.html(htmlBreadcrumb('/', 'Cursos', 'Home')); 
9610          li.parent().prepend(primeiro); 
9611       
9612          var tipoCurso = $('.ssp-header-curso__tag-formato').text().trim(); 
9613          var tipoBreadcrumb = ''; 
9614           
9615          const isPresencialEad = (tipoCurso.toLowerCase().includes("presencial + ead")) 
9616           
9617          if(tipoCurso.includes("Cursos Livres")){ 
9618            if(isPresencialEad) { 
9619              tipoBreadcrumb =  htmlBreadcrumb('/presencial-ead#cursos-livres', tipoCurso); 
9620            } else { 
9621              tipoBreadcrumb = htmlBreadcrumb( 
9622                    isAoVivo ? '/cursos-livres-senac-online-ao-vivo' : '/cursos-livres',  
9623                  isAoVivo ? nomeFormatoAoVivoDxp : tipoCurso); 
9624            }         
9625          }else if(tipoCurso.includes("Extensão")){ 
9626            if(isPresencialEad) { 
9627              tipoBreadcrumb =  htmlBreadcrumb('/presencial-ead#extensao-universitaria', tipoCurso); 
9628            } else { 
9629        	  	tipoBreadcrumb =  htmlBreadcrumb('/extensao-universitaria', tipoCurso); 
9630            }           
9631          }else if(tipoCurso.includes("Ensino Médio Técnico")){ 
9632            if(isPresencialEad) { 
9633              tipoBreadcrumb =  htmlBreadcrumb('/presencial-ead#ensino-medio-tecnico', tipoCurso); 
9634            } else { 
9635              tipoBreadcrumb =  htmlBreadcrumb('/ensino-medio-tecnico', tipoCurso); 
9636
9637          }else if(tipoCurso.includes("Jovem Aprendiz")){ 
9638            if(isPresencialEad) { 
9639              tipoBreadcrumb =  htmlBreadcrumb('/presencial-ead#jovem-aprendiz', tipoCurso); 
9640            } else { 
9641              tipoBreadcrumb =  htmlBreadcrumb('/jovem-aprendiz', tipoCurso); 
9642
9643          }else{ 
9644            if(isPresencialEad) { 
9645              tipoBreadcrumb =  htmlBreadcrumb('/presencial-ead#cursos-tecnicos', tipoCurso); 
9646            } else { 
9647              tipoBreadcrumb =  htmlBreadcrumb('/cursos-tecnicos', tipoCurso); 
9648
9649
9650           
9651          li.html(tipoBreadcrumb); 
9652         
9653          if($('ol.breadcrumb').find('li').length == 4) $('ol.breadcrumb').find('li:last').remove(); 
9654        	 
9655
9656         
9657        $('#turmas-container').on('click', 'a.slick-next', function(e){ 
9658				 
9659        	 	e.preventDefault(); 
9660			    buscaProximaOferta(); 
9661			 
9662        }); 
9663 
9664        $('#turmas-container').on('click', 'button.slick-dots', function(){ 
9665 
9666             
9667       
9668        }); 
9669		 
9670        $(".next-mobile").on("click",function(e){  
9671        	 e.preventDefault();  
9672       	 	 
9673        	 acoesMobileSliderOfertas("left"); 
9674       	}); 
9675         
9676        $(".prev-mobile").on("click",function(e){  
9677        	e.preventDefault();  
9678	        
9679        	acoesMobileSliderOfertas("right");	 
9680      	}); 
9681         
9682        //ação de drag do card de ofertas no mobile 
9683        $('.oferta-slick-area').on('swipe', function(event, slick, direction){ 
9684           	acoesMobileSliderOfertas(direction); 
9685        }); 
9686         
9687        loadAlternadores() 
9688        let modalFormAprendizagem = document.querySelector('[data-modal="modal"]') 
9689        if(modalFormAprendizagem){ 
9690          // Create dinamic close buttom form 
9691          let btnCloseModalForm = document.querySelector('[data-modal="close-form-modal"]') 
9692         
9693          btnCloseModalForm.addEventListener('click',closeModalFormAprendizagem) 
9694         
9695
9696    
9697        $(".oferta-slick-area").on("click", ".btnModalAprendizagem", function (){ 
9698           openModalFormAprendizagem(); 
9699         }) 
9700         
9701     }); 
9702   
9703  function htmlBreadcrumb(link, title, display){ 
9704	   
9705	  return '<a class="breadcrumb-link" href="'+link+'" title="'+title+'"><span class="breadcrumb-text-truncate">'+(display || title)+'</span></a>'; 
9706	   
9707
9708   
9709  function acoesMobileSliderOfertas(direcao){ 
9710	   
9711       	if(direcao == "right"){ 
9712       		$("a.slick-prev").click();  
9713	       	 
9714        	if($('.slick-current').attr('data-slick-index') == "0") 
9715	       		 $('.prev-mobile').addClass('nextPrevOpacity'); 
9716	       	 
9717        	if($(".next-mobile").hasClass('nextPrevOpacity')) 
9718        		 $('.next-mobile').removeClass('nextPrevOpacity'); 
9719
9720       	 
9721       	 
9722		if(direcao == "left"){ 
9723	      	 $("a.slick-next").click(); 
9724	   	  
9725	   	  	if($(".prev-mobile").hasClass('nextPrevOpacity')) 
9726	     		 $('.prev-mobile').removeClass('nextPrevOpacity'); 
9727	   	   
9728	   	 	if(carregouUltimaOferta){ 
9729	   	 		var totalCardOfertas = $('#turmas-container .slick-area__item').length; 
9730	   	 		var currentSliderIndex = parseInt($('.slick-current').attr('data-slick-index'));   
9731	 
9732	   	 		//o card do meio é o último	 
9733				if(totalCardOfertas == (currentSliderIndex + 1)) 
9734					$('.next-mobile').addClass('nextPrevOpacity'); 
9735
9736
9737
9738   
9739  //habilitar/desabilitar registro de interesse 
9740  function habilitarRegistroInteresse(habilitar){ 
9741    var sectionRI = $('#section-registro-interesse') 
9742 
9743    if(isEmed) { 
9744      sectionRI.hide() 
9745      return; 
9746
9747 
9748    //Redmine #9309 - sempre irá mostrar 
9749    habilitar = true 
9750       
9751    if(habilitar) sectionRI.show() 
9752    else sectionRI.hide() 
9753
9754   
9755  function abrirModalRegistroInteresse(codUnidadeSelect){ 
9756	    $('#modal-registro-interesse').removeClass('d-none'); 
9757      $("body").addClass("overflow-hidden") 
9758      if(!isEmed){ 
9759	    $('.ssp-card-registro-interesse__nome-curso').text($('.ssp-card-detalhe-curso__title').text()); 
9760      } else { 
9761        $(".transferencia-emed-link").find('a').attr("href", "/ensino-medio-tecnico#onde-estudar") 
9762        $('.ssp-card-registro-interesse__title-modal').text($('.ssp-card-detalhe-curso__title').text()); 
9763
9764       
9765      $('.ssp-card-registro-interesse__select:not(#select_0)').remove(); 
9766      $.each(objsTela.unidadesRegistroInteresse, function(k,unidade){ 
9767        if(unidade['codigoUnidade'] == codUnidadeSelect){ 
9768            unidade['selecionado'] = true; 
9769            unidade['selectSelecionado'] = 'select_0'; 
9770        } else { 
9771            unidade['selecionado'] = false; 
9772            unidade['selectSelecionado'] = ""; 
9773
9774 
9775    }); 
9776    objsTela.unidadesRegistroInteresse.sort(function (a, b) { 
9777        return ordenar(a, b, 'nome'); 
9778    }); 
9779 
9780    $('#select_0').empty(); 
9781    $('#select_0').append('<option value="" disabled>Selecione uma unidade</option>') 
9782        $.each(objsTela.unidadesRegistroInteresse, function(k,unidade){ 
9783 
9784          $('#select_0').append('<option value="'+unidade['codigoUnidade']+'" >'+unidade['nome']+'</option>'); 
9785             
9786        }); 
9787    $('#select_0').val(codUnidadeSelect); 
9788    console.dir(objsTela.unidadesRegistroInteresse) 
9789	 	if(isAoVivo){ 
9790	 		$('#unidades-registro-interesse, #dias-registro-interesse').addClass('d-none'); 
9791
9792     if(objsTela.unidadesRegistroInteresse.length > 1) { 
9793        $('#add-unidade-regsitro-interesse').removeClass("d-none") 
9794        $('#add-unidade-regsitro-interesse').show() 
9795        $('#remove-unidade-regsitro-interesse').show() 
9796      } else { 
9797        $('#add-unidade-regsitro-interesse').hide() 
9798        $('#remove-unidade-regsitro-interesse').hide() 
9799
9800
9801 
9802  $('.ssp-card-registro-interesse__select.unidades').on('change', changeSelectUnidades) 
9803  
9804 function changeSelectUnidades() { 
9805   var codUnidadeSelecionada = $(this).val(); 
9806   var idSelectSelecionado = $(this).attr('id') 
9807   $.each(objsTela.unidadesRegistroInteresse, function(k,unidade){ 
9808        if(unidade['codigoUnidade'] == codUnidadeSelecionada){ 
9809            unidade['selecionado'] = true; 
9810            unidade['selectSelecionado'] = idSelectSelecionado; 
9811        } else if(unidade['selectSelecionado'] == idSelectSelecionado && unidade['selecionado']){ 
9812            unidade['selecionado'] = false; 
9813            unidade['selectSelecionado'] = ""; 
9814
9815 
9816    }); 
9817     
9818    objsTela.unidadesRegistroInteresse.sort(function (a, b) { 
9819        return ordenar(a, b, 'nome'); 
9820    }); 
9821 
9822    $('.ssp-card-registro-interesse__select.unidades:not(#'+idSelectSelecionado+')').each(function() { 
9823        var valueSelecionado = $(this).val(); 
9824        var idActualSelect = $(this).attr('id'); 
9825        $(this).empty(); 
9826        $(this).append('<option value="" disabled>Selecione uma unidade</option>') 
9827        $.each(objsTela.unidadesRegistroInteresse, function(k,unidade){ 
9828 
9829            if(unidade['selecionado'] && unidade['codigoUnidade'] == valueSelecionado){ 
9830                $("#"+idActualSelect).append('<option value="'+unidade['codigoUnidade']+'" >'+unidade['nome']+'</option>'); 
9831            }else if(!unidade['selecionado']){      
9832                $("#"+idActualSelect).append('<option value="'+unidade['codigoUnidade']+'">'+unidade['nome']+'</option>'); 
9833
9834 
9835        }); 
9836        $(this).val(valueSelecionado) 
9837    }); 
9838     
9839   verificaBtnEnviarRegistroInteresseAtivo(); 
9840
9841 
9842   
9843 function ordenar(objA, objB, nomeAtributo){ 
9844	 	let a = (nomeAtributo) ? objA[nomeAtributo] : objA; 
9845	 	let b = (nomeAtributo) ? objB[nomeAtributo] : objB; 
9846	 
9847	 	return a.toString().localeCompare(b.toString()); 
9848
9849  
9850 function paramOrdem(xml){ 
9851	 	if(isEmed){ 
9852	 		var ordemPeriodo = ['MA', 'TA', 'NO']; 
9853	 		return $.inArray(xml.find('[name="periodoDiaOferta"]').text().trim(), ordemPeriodo); 
9854	 	}else{ 
9855	 		return xml.find('[name="dataInicioOferta"]').text(); 
9856
9857
9858  
9859 function getEtapaSelecionadaEmed(){ 
9860		var btnEtapa = $('.ssp-ofertas-emed__filtro-content .btn--filtro-ativo'); 
9861		 if(!btnEtapa) return ''; 
9862		 return btnEtapa.val(); 
9863
9864  
9865 function filtraOfertasEtapa(etapa, ofertas){ 
9866    if(!etapa) return []; 
9867    var ofertasEtapa = []; 
9868    var turmas = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']; 
9869    var periodos = {['MA'] : 'Manhã', ['TA'] : 'Tarde', ['NO'] : 'Noite'}; 
9870    var ultimoPeriodo = null, indexPeriodo; 
9871    ofertas = ofertas.sort(function(a, b){ 
9872       return ordenar(a, b, 'periodoDiaOferta'); 
9873    }); 
9874 
9875    $.each(ofertas, async (index, oferta)=> { 
9876      if(oferta['etapa'] == etapa){ 
9877        if(oferta['periodoDiaOferta'] != ultimoPeriodo) indexPeriodo = 0; 
9878        ultimoPeriodo = oferta['periodoDiaOferta']; 
9879        oferta['titulo'] = 'Turma ' + turmas[indexPeriodo++] + ' - ' + (periodos[ultimoPeriodo] || ''); 
9880        ofertasEtapa.push(oferta); 
9881
9882    }); 
9883      
9884     return ofertasEtapa; 
9885
9886  
9887 function formatarDataEmed(data, etapa, isDataFim){ 
9888	  
9889 	try{ 
9890 
9891 		var splitdata = data.split('/'); 
9892 		var meses = ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro']; 
9893 	 	var mes = meses[parseInt(splitdata[1])-1]; 
9894 	 	 
9895 	 	var ano = splitdata[2]; 
9896 	 	 
9897 	 	if(isDataFim){ 
9898 	 		ano = parseInt(splitdata[2]); 
9899
9900 	 	 
9901 	 	return mes + '/' + ano; 
9902 	}catch(err){  
9903 		return data;  
9904
9905   
9906
99