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              <h2 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:</h2> 
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              <h2 class="ssp-card-oferta-curso__sem-vaga-title"> 
3525                Estude com a gente na próxima turma! 
3526              </h2> 
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                      <p class="ssp-aviso-novas-turmas__title">Receba um aviso por e-mail se abrirem novas turmas.</p> 
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                      <button type="button" class="btn btn-primary btn-custom" id="btn-aviso-novas-turmas">Registrar interesse</button> 
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}&buscarUnidadesComOferta={buscarUnidadesComOferta}'; 
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    paramsUnidades.delete('buscarUnidadesComOferta') 
5885    urlUnidades.search = '?' + paramsUnidades.toString() 
5886    urlUnidades = urlUnidades.href 
5887 
5888    $.ajax({ 
5889      url: urlUnidades, 
5890      method:'get', 
5891      async: false 
5892    }).done(function(data){ 
5893      if(data.length > 0){ 
5894        const cursoInfo = JSON.parse(data); 
5895        const unidadesOfertantes = cursoInfo.unidadesOfertantes; 
5896         
5897        $.each(unidadesOfertantes, function(k,item){ 
5898          var unidade = {}; 
5899          unidade['categoryId'] = item['categoryId']; 
5900          unidade['codigoUnidade'] = item['codigoUnidade']; 
5901          unidade['nome'] = item['nomeUnidade']; 
5902          unidade['enderecoUnidade'] =item['enderecoUnidade']; 
5903          unidade['numero'] =item['numEnderecoUnidade']; 
5904          unidade['complemento'] = item['complementoEnderecoUnidade']; 
5905          unidade['bairro'] = item['bairroUnidade']; 
5906          unidade['googlemapsUnidade'] = item['googlemapsUnidade']; 
5907          unidade['friendlyURL'] = item['friendlyURL']; 
5908          unidade['selecionado'] = false; 
5909          unidade['selectSelecionado'] = ""; 
5910          unidade['ofertas'] = []; 
5911               
5912          if(!objsTela.unidadesRegistroInteresse.filter(uni => uni['categoryId'] == unidade['categoryId']).length) 
5913            objsTela.unidadesRegistroInteresse.push(unidade) 
5914          }); 
5915
5916    }); 
5917
5918   
5919   function loadUnidades(showOptions, unidadeValue){ 
5920     //Busca as unidades do curso 
5921     let buscarUnidadesComOferta = false; 
5922      
5923     if( !isEmed && ( !$('#chkInscricao').prop('checked') && !$('#chkBolsa').prop('checked'))) 
5924    	 buscarUnidadesComOferta = true; 
5925      
5926    const urlCursoInfo = urlSearchCursoInfo 
5927      .replace('\{groupId\}', groupId) 
5928      .replace('\{cursosInfo\}', $('[name="articleId"]').val()) 
5929      .replace('\{inscricaoAberta\}', $('#chkInscricao').prop('checked')) 
5930      .replace('\{bolsaAberta\}', $('#chkBolsa').prop('checked')) 
5931      .replace('\{buscarUnidadesComOferta\}', buscarUnidadesComOferta); 
5932 
5933      loadUnidadesRegistroInteresse(urlCursoInfo) 
5934 
5935      $.ajax({ 
5936          url:urlCursoInfo, 
5937          method:'get', 
5938          async: false, 
5939        beforeSend: function () { 
5940          loading('.oferta-slick-area'); 
5941
5942        }).done( 
5943          function(data){ 
5944             
5945            if(data.length > 0){ 
5946               
5947              const cursoInfo = JSON.parse(data); 
5948                                
5949              const unidades = buscarUnidadesComOferta ? cursoInfo.unidadesComOferta : cursoInfo.unidadesOfertantes; 
5950               
5951              if(!isAoVivo && (!buscarUnidadesComOferta || unidades.length > 0)) 
5952                $('.ssp-container-selecione-unidade').removeClass('d-none') 
5953 
5954              objsTela.unidades = [] 
5955              mapUnidadesIds = new Map(); 
5956               
5957              $.each(unidades, function(k,item){ 
5958                   
5959                  var unidade = cloneObj(item) 
5960                  unidade['nome'] = item['nomeUnidade']; 
5961                  unidade['numero'] =item['numEnderecoUnidade']; 
5962                  unidade['complemento'] = item['complementoEnderecoUnidade']; 
5963                  unidade['bairro'] = item['bairroUnidade']; 
5964                  unidade['ofertas'] = []; 
5965                       
5966                    objsTela.unidades.push(unidade); 
5967                       
5968                      mapUnidadesIds.set(unidade['categoryId'], unidade['codigoUnidade']); 
5969 
5970                    objsTela.unidades.forEach(unidade => unidadesToURL.filter(u => u.friendlyURL == unidade.friendlyURL).length ? '' : unidadesToURL.push(unidade)) 
5971                }); 
5972                       
5973                             
5974              populaSelectUnidades(undefined, showOptions, unidadeValue);  
5975    
5976
5977      }); 
5978       
5979
5980   
5981function getOfertaObjectFromJson(ofertaJSON,index){ 
5982   
5983 
5984  var oferta =  {}; 
5985        var xml =  $($.parseXML(ofertaJSON.content)); 
5986          oferta['ordenar'] = paramOrdem(xml); 
5987          oferta['vagasTotal'] = xml.find('[name="vagasTotal"]').text().trim(); 
5988          var dataInicio = xml.find('[name="dataInicioOferta"]').text().split('-'); 
5989          var dataFim =xml.find('[name="dataFimOferta"]').text().split('-'); 
5990          oferta['dataInicio'] = dataInicio[2].trim()+'/'+dataInicio[1].trim()+'/'+dataInicio[0].trim(); 
5991          oferta['dataFim'] = dataFim[2].trim()+'/'+dataFim[1].trim()+'/'+dataFim[0].trim(); 
5992          oferta['horaInicio'] = xml.find('[name="horaInicioOferta"]').text(); 
5993          oferta['codigoOferta'] = xml.find('[name="codigoOferta"]').text().trim(); 
5994          var dias = []; 
5995          oferta['horaFimOferta'] = xml.find('[name="horaFimOferta"]').text().trim(); 
5996          xml.find('[name="diasDaSemanaOferta"]').find('option').each(function(index,dia){ 
5997            dias.push($(dia).text()); 
5998          }); 
5999          oferta['diasDaSemanaOferta'] = dias; 
6000          oferta['periodoDiaOferta'] = xml.find('[name="periodoDiaOferta"]').text().trim(); 
6001          oferta['precoCheioOferta'] = xml.find('[name="precoCheioOferta"]').text().trim(); 
6002          oferta['precoVendaOferta'] = xml.find('[name="precoVendaOferta"]').text().trim(); 
6003          oferta['numeroMaxParcelasOferta'] = xml.find('[name="numeroMaxParcelasOferta"]').text().trim(); 
6004           
6005          oferta['textoCartoesAceitos'] =  pegarTextoCartoesAceitos(xml.find('[name="formaDePagamentoCartaoOferta"]').text().trim()); 
6006          oferta['numParcelaCartoes'] =  pegaNumParcela(xml.find('[name="formaDePagamentoCartaoOferta"]').text().trim()); 
6007          oferta['precoParcelaCartoes'] =  pegaValorParcela(xml.find('[name="formaDePagamentoCartaoOferta"]').text().trim()); 
6008          oferta['numParcelaBoleto'] =  pegaNumParcela(xml.find('[name="formaDePagamentoBoletoOferta"]').text().trim()); 
6009          oferta['precoParcelaBoleto'] =  pegaValorParcela(xml.find('[name="formaDePagamentoBoletoOferta"]').text().trim()); 
6010           
6011          oferta['precoVendaMaxParcelaOferta'] = xml.find('[name="precoVendaMaxParcelaOferta"]').text().trim(); 
6012          oferta['formaDePagamentoOferta'] = xml.find('[name="formaDePagamentoOferta"]').text().trim(); 
6013          oferta['botaoCompraOferta'] = xml.find('[name="botaoCompraOferta"]').text().trim(); 
6014          oferta['vagasParaCompraOferta'] = xml.find('[name="vagasParaCompraOferta"]').text().trim(); 
6015          oferta['botaoBolsaOferta'] = xml.find('[name="botaoBolsaOferta"]').text().trim(); 
6016          oferta['vagasBolsaOferta'] = xml.find('[name="vagasBolsaOferta"]').text().trim(); 
6017          oferta['dataAberturaBolsaOferta'] = xml.find('[name="dataAberturaBolsaOferta"]').text().trim(); 
6018          oferta['horaAberturaBolsaOferta'] = xml.find('[name="horaAberturaBolsaOferta"]').text().trim(); 
6019          oferta['espacoExterno'] = xml.find('[name="espacoExterno"]').text().trim(); 
6020          oferta['localEspacoExterno'] = xml.find('[name="localEspacoExterno"]').text().trim(); 
6021          oferta['ruaEspacoExterno'] = xml.find('[name="ruaEspacoExterno"]').text().trim(); 
6022          oferta['numeroEspacoExterno'] = xml.find('[name="numeroEspacoExterno"]').text().trim(); 
6023          oferta['complementoEspacoExterno'] = xml.find('[name="complementoEspacoExterno"]').text().trim(); 
6024          oferta['bairroEspacoExterno'] = xml.find('[name="bairroEspacoExterno"]').text().trim(); 
6025          oferta['cidadeEspacoExterno'] = xml.find('[name="cidadeEspacoExterno"]').text().trim(); 
6026          oferta['ufEspacoExterno'] = xml.find('[name="ufEspacoExterno"]').text().trim(); 
6027          oferta['cepEspacoExterno'] = xml.find('[name="cepEspacoExterno"]').text().trim(); 
6028          oferta['qtdeTotalVagas'] = xml.find('[name="qtdeTotalVagas"]').text().trim(); 
6029          oferta['qtdeTotalVagasPSG'] = xml.find('[name="qtdeTotalVagasPSG"]').text().trim(); 
6030          oferta['horariosAllOferta'] = xml.find('[name="horariosAllOferta"]').text().trim(); 
6031          oferta['formaDePagamentoCartaoOferta'] = xml.find('[name="formaDePagamentoCartaoOferta"]').text().trim(); 
6032          oferta['formaDePagamentoBoletoOferta'] = xml.find('[name="formaDePagamentoBoletoOferta"]').text().trim(); 
6033          oferta['dtLimiteMatricula'] = xml.find('[name="dtLimiteMatricula"]').text().trim(); 
6034          oferta['dataAberturaMatricula'] = xml.find('[name="dataAberturaMatricula"]').text().trim(); 
6035          oferta['etapa'] = xml.find('[name="etapa"]').text().trim(); 
6036          oferta['destinoCompra'] = xml.find('[name="destinoCompra"]').text().trim();  
6037          //adicao do destinoBolsa na oferta - 9546 - 11/07/2022 
6038          oferta['destinoBolsa'] = xml.find('[name="destinoBolsa"]').text().trim(); 
6039 
6040          	if(isEmed){ 
6041		  		//EMED utilizar data matricula para bolsa 
6042		  	  	oferta['dataAberturaBolsaOferta'] = oferta['dataAberturaMatricula'];  
6043 
6044
6045           
6046         return oferta;  
6047
6048   
6049  const getStatusEmed = (oferta) => { 
6050 
6051	    const urlStatusEsperaEmed = () => { 
6052	  		let url = (isAmbienteTeste()) ?  
6053		  		'https://hinscricao-educacional-backend.sp.senac.br/api/lista-espera/' 
6054			    : 'https://inscricao-educacional-ms.sp.senac.br/api/lista-espera/'; 
6055	  		 
6056  	  		return url + oferta.codigoOferta; 
6057
6058  	  	 
6059  	  const callTl = async () => { 
6060	  		if(getCookie('tl') == null){ 
6061	  			return await $.ajax({ 
6062	  				url: '/o/senac-content-services/geraTokenServicosSenac', 
6063	  				method: 'GET' 
6064	  			}); 
6065
6066	  		return getCookie('tl'); 
6067
6068 
6069      const callListaEspera = async () => { 
6070  	    	var tl = ''; 
6071	    	  try{ 
6072  	    		tl = await callTl(); 
6073  	    		if(getCookie('tl') == null){ 
6074  	    			tl = JSON.parse(tl).token; 
6075  	    			writeCookie('tl', tl, 6, ''); 
6076
6077  	    	}catch(err){ 
6078  	    		console.error(err); 
6079  	    		return {}; 
6080
6081  	    	 
6082  	    	return $.ajax({ 
6083              url: urlStatusEsperaEmed(), 
6084              method: 'GET', 
6085  	        	beforeSend: function (xhr) { 
6086  	        		xhr.setRequestHeader("Authorization", tl); 
6087
6088  			  }) 
6089
6090 
6091      return new Promise(async function (resolve, reject) { 
6092        const resp = await callListaEspera(); 
6093        if(typeof resp !== 'object') resp = JSON.parse(resp); 
6094        let status = resp.STATUS; 
6095        resolve(status); 
6096      }); 
6097	  	 
6098
6099   
6100 function getOfertasAoVivo(codigoFT, dataEfetivaOferta, categoryIds){ 
6101       
6102  if(categoryIds && categoryIds.length) { 
6103    var params = new URLSearchParams(); 
6104    params.set('codigoFTOferta',codigoFT) 
6105    params.set('dataEfetivaOferta',dataEfetivaOferta) 
6106    params.set('categoryIds',categoryIds) 
6107    params.set('start',startOfertaParam) 
6108    params.set('end',endOfertaParam) 
6109    params.set('inscricaoAberta', $('#chkInscricao').prop('checked')) 
6110    params.set('bolsaAberta', $('#chkBolsa').prop('checked')) 
6111    params.set('cursoArticleId', $('[name="articleId"]').val() || ''); 
6112 
6113    if($('#chkBolsa').prop('checked')){ 
6114    	params.set('considerarDataBolsaFutura', true) 
6115
6116    const url = urlSearchOferta + '?' + params.toString() 
6117       
6118    $.ajax({ 
6119      url:url, 
6120      method:'get', 
6121      dataType:'json', 
6122      async: false 
6123    }).done( 
6124      function(data){ 
6125         
6126        if(data.length > 0){ 
6127         $('#ssp-alternadores').show() 
6128         showedFilters = true 
6129   
6130         objsTela.ofertasAoVivoTodasUnidades = [] 
6131           
6132          data.forEach(function(ofertaJSON,index){ 
6133   
6134            var oferta = getOfertaObjectFromJson(ofertaJSON,index); 
6135             
6136            //guardo em um map a oferta e qual unidade é, para utilizar depois no populaOferta para o aoVivo                
6137            ofertaUnidadeMap.set(oferta['codigoOferta'],mapUnidadesIds.get(parseInt(ofertaJSON.unidadeCategoryIds)));                
6138            objsTela.ofertasAoVivoTodasUnidades.push(oferta); 
6139   
6140          }); 
6141        } else { 
6142         loadAlternadores(data) 
6143
6144   
6145        populaOfertas(objsTela.ofertasAoVivoTodasUnidades); 
6146        addEventBolsa() 
6147
6148    ).fail(function(e) { 
6149      console.error(e) 
6150      populaOfertas(objsTela.ofertasAoVivoTodasUnidades = []); 
6151    }) 
6152  } else { 
6153    loadAlternadores([]) 
6154    populaOfertas(objsTela.ofertasAoVivoTodasUnidades = []) 
6155
6156 
6157  if(isAoVivo) { 
6158     if(objsTela.ofertasAoVivoTodasUnidades && objsTela.ofertasAoVivoTodasUnidades.length) 
6159       hideCardSemTurmas(true) 
6160     else 
6161       hideCardSemTurmas(false) 
6162
6163
6164    
6165  function mudouToggleOferta(ofertas) { 
6166    const oferta = ofertas && ofertas[0] 
6167    if(!oferta) 
6168      return true 
6169 
6170    const selecaoInscricao = $('#chkInscricao').prop('checked') 
6171    const selecaoBolsa = $('#chkBolsa').prop('checked') 
6172 
6173    return oferta.selecaoInscricao != selecaoInscricao || oferta.selecaoBolsa != selecaoBolsa 
6174
6175 
6176  function loadAlternadores(ofertas) { 
6177    if(showedFilters) { 
6178      $('#ssp-alternadores').show() 
6179      return 
6180
6181 
6182    if($('#unidades-ofertas').is(":hidden") || $('#unidades-ofertas option').length <= 1) { 
6183      if(isAoVivo) { 
6184        if(ofertas && ofertas.length) 
6185          $('#ssp-alternadores').show() 
6186        else { 
6187          if(!$('#chkInscricao').prop('checked') && !$('#chkBolsa').prop('checked')) 
6188            $('#ssp-alternadores').hide() 
6189          else 
6190            $('#ssp-alternadores').show() 
6191
6192      } else { 
6193        if(!$('#chkInscricao').prop('checked') && !$('#chkBolsa').prop('checked')) 
6194          $('#ssp-alternadores').hide() 
6195        else 
6196          $('#ssp-alternadores').show() 
6197
6198    } else 
6199      $('#ssp-alternadores').show() 
6200 
6201    showedFilters = showedFilters || $('#ssp-alternadores').is(":visible") 
6202
6203 
6204  function getOfertas(codigoFT, dataEfetivaOferta, categoryId){ 
6205       
6206    var indiceUnidade = -1; 
6207    const selecaoInscricao = $('#chkInscricao').prop('checked') 
6208    const selecaoBolsa = $('#chkBolsa').prop('checked') 
6209      
6210     for(var i = 0; i < objsTela.unidades.length; i++) 
6211         if(objsTela.unidades[i].categoryId == categoryId) 
6212           indiceUnidade = i; 
6213      
6214    ultimaUnidade = indiceUnidade; 
6215           
6216     if( !objsTela.categoriesIds.includes(categoryId) || mudouToggleOferta(objsTela.unidades[indiceUnidade]['ofertas'])){ 
6217       objsTela.unidades[indiceUnidade]['ofertas'] = [] 
6218        
6219        var params = new URLSearchParams(); 
6220        params.set('codigoFTOferta',codigoFT) 
6221        params.set('dataEfetivaOferta',dataEfetivaOferta) 
6222        params.set('categoryIds',categoryId) 
6223        params.set('start',startOfertaParam) 
6224        params.set('end',endOfertaParam) 
6225        params.set('inscricaoAberta', $('#chkInscricao').prop('checked')) 
6226        params.set('bolsaAberta', $('#chkBolsa').prop('checked')) 
6227        params.set('cursoArticleId', $('[name="articleId"]').val() || ''); 
6228 
6229        if($('#chkBolsa').prop('checked')){ 
6230        	params.set('considerarDataBolsaFutura', true) 
6231
6232         
6233        const url = urlSearchOferta + '?' + params.toString() 
6234   
6235       $.ajax({ 
6236         url:url, 
6237         method:'get', 
6238         dataType:'json', 
6239         async: false 
6240       }).done( 
6241         function(data){ 
6242            
6243           if(data.length > 0){ 
6244             $('#ssp-alternadores').show() 
6245             showedFilters = true 
6246              
6247             $('.ssp-container-selecione-unidade').show(); 
6248             
6249             data.forEach(function(ofertaJSON,index){ 
6250   
6251               var oferta = getOfertaObjectFromJson(ofertaJSON,index); 
6252                
6253               //Preenche as ofertas da unidade              
6254               objsTela.unidades[indiceUnidade]['ofertas'].push(oferta); 
6255               objsTela.unidades[indiceUnidade]['ofertas'].forEach(o => { 
6256                 o.selecaoInscricao = selecaoInscricao 
6257                 o.selecaoBolsa = selecaoBolsa 
6258               }) 
6259   
6260             }); 
6261           } else { 
6262              loadAlternadores() 
6263
6264           objsTela.categoriesIds.push(categoryId); 
6265           populaOfertas(objsTela.unidades[indiceUnidade]['ofertas']); 
6266           addEventBolsa() 
6267
6268
6269   
6270       //Se estiver na cache, valida as ofertas 
6271     }else{ 
6272        
6273       populaOfertas(objsTela.unidades[indiceUnidade]['ofertas']); 
6274        
6275
6276
6277       
6278   function populaSelectUnidades(unidades, showOptions, unidadeValue){       
6279    var unidadePreSelecionada = false; 
6280    var categoryIdUnidadePreSelecionada = ''; 
6281     
6282    //Oredenacao 
6283    objsTela.unidades.sort(function (a, b) { 
6284    	return ordenar(a, b, 'nome'); 
6285    }); 
6286     
6287    objsTela.unidadesRegistroInteresse.sort(function (a, b) { 
6288    	return ordenar(a, b, 'nome'); 
6289      }); 
6290     
6291    //console.log(objsTela.unidades); 
6292     
6293    $.each(objsTela.unidades, function(k,item){ 
6294       
6295      if(getURLData().includes('/'+item.friendlyURL+'/')){ 
6296        unidadePreSelecionada= true; 
6297        categoryIdUnidadePreSelecionada = item['categoryId']; 
6298
6299    }); 
6300     
6301    //console.log('Unidade Pre '+unidadePreSelecionada); 
6302     
6303    if(objsTela.unidades.length == 0){ 
6304      if(!showOptions) 
6305        $('.ssp-container-selecione-unidade').addClass('d-none'); 
6306      $('.oferta-slick-area').empty(); 
6307      $('.prev-mobile').addClass('d-none'); 
6308      $('.next-mobile').addClass('d-none'); 
6309      //EMED remove msg registro interesse 
6310      //if(isEmed) $('.ssp-card-oferta-curso__sem-vaga-description').addClass('d-none'); 
6311
6312     
6313    if(isAoVivo){ 
6314       
6315        const codigoFT = $('[name="codigoFT"]').val(); 
6316    	const dataEfetivaOferta = $('[name="dataEfetivaSTR"]').val(); 
6317 
6318    	var unidadesCategoryAll = ''; 
6319     
6320    	$.each(objsTela.unidades, function(k,unidade){ 
6321      		unidadesCategoryAll += unidade['categoryId']+','; 
6322        }); 
6323       
6324    //tirando ultima virgula 
6325    unidadesCategoryAll = unidadesCategoryAll.substring(0,unidadesCategoryAll.length - 1); 
6326     
6327    getOfertasAoVivo(codigoFT, dataEfetivaOferta, unidadesCategoryAll);            
6328       
6329    }else{ 
6330      $('#unidades-ofertas').empty() 
6331 
6332      if(objsTela.unidades && objsTela.unidades.length){  
6333        if(isEmed) 
6334          $('#unidades-ofertas').append($('<option value="">Selecione uma unidade</option>')) 
6335        else 
6336          $('#unidades-ofertas').append($('<option value="">Clique na unidade de interesse</option>')) 
6337 
6338      } else 
6339        $('#unidades-ofertas').append($('<option value="">Nenhum resultado encontrado</option>')) 
6340 
6341      let unidadeFounded = criarOptionUnidadesPorRegiao(objsTela.unidades) 
6342       
6343      //Dispara o evento para primeira unidade ou pela friendlyURl da unidade 
6344      if(unidadeValue) { 
6345        $('#unidades-ofertas').val(unidadeValue); 
6346        $('#unidades-ofertas').change(); 
6347      } else if(unidadeFounded){	             
6348        $('#unidades-ofertas').val(unidadeFounded['categoryId']+"@"+unidadeFounded['codigoUnidade']); 
6349        $('#unidades-ofertas').change(); 
6350      } else if(!unidadePreSelecionada) { 
6351        $('#unidades-ofertas').change(); 
6352
6353       
6354      $('.ssp-card-registro-interesse__select.unidades').empty() 
6355      $('.ssp-card-registro-interesse__select.unidades').append('<option value="" disabled selected>Selecione uma unidade</option>') 
6356      $.each(objsTela.unidadesRegistroInteresse, function(k,unidade){ 
6357         
6358        $('.ssp-card-registro-interesse__select.unidades').append('<option value="'+unidade['codigoUnidade']+'">'+unidade['nome']+'</option>'); 
6359      }); 
6360
6361     
6362
6363 
6364   
6365   function mudarUnidade(ev){      
6366     startOfertaParam = 0; 
6367     endOfertaParam = 25; 
6368     carregouUltimaOferta = false; 
6369 
6370     var elem = $(ev.target); 
6371     var unidades = objsTela.unidades; 
6372      
6373     //verifica se selecionou alguma unidade 
6374     if(!elem.val()){ 
6375       $('#informe-novas-turmas, .ssp-ofertas-emed__section, .ssp-ofertas__box-endereco-unidade').addClass('d-none'); 
6376 
6377       if(isEmed) 
6378        $('#ssp-section-response').addClass('d-none') 
6379 
6380        hideCardSemTurmas($('#unidades-ofertas option').length > 1)        
6381 
6382        elem.val('') 
6383        habilitarRegistroInteresse(false) 
6384        //Zera variável que controla existência de ofertas com bolsa 
6385        ofertasComBolsa = false; 
6386        controlaPaginaBolsa(); 
6387        
6388       return; 
6389
6390      
6391     $('#informe-novas-turmas, .ssp-ofertas__box-endereco-unidade').removeClass('d-none'); 
6392     hideCardSemTurmas(true) 
6393     if(isEmed){ 
6394        $('.ssp-ofertas-emed__section').removeClass('d-none'); 
6395        $('#ssp-section-response').removeClass('d-none') 
6396        $('.ssp-card-oferta-curso__section-title').addClass('d-none'); 
6397        $('.prev-mobile, .next-mobile').addClass('d-none'); 
6398        var nomeUnidade = $('#unidades-ofertas option:selected').text(); 
6399        let tamScreen = $(window).width(); 
6400 
6401        if(tamScreen < 1024) 
6402	    	  $('#titulo-emed').text('Turmas ' + anoTurmaEmed ); 
6403        else 
6404        	$('#titulo-emed').text('Turmas ' + anoTurmaEmed + ' - ' + nomeUnidade); 
6405 
6406
6407      
6408     const codigoFT = $('[name="codigoFT"]').val(); 
6409     const dataEfetivaOferta = $('[name="dataEfetivaSTR"]').val(); 
6410      
6411     //colocamos dentro do option categoryId@codUnidade 
6412     splitted = elem.val().split("@"); 
6413     var categoryIdUnidade = splitted[0]; 
6414     var codUnidade = splitted[1]; 
6415           
6416     for(var i = 0; unidades.length > i ; i++){ 
6417        
6418       if(unidades[i].categoryId == categoryIdUnidade){ 
6419   
6420           var unidade = unidades[i]; 
6421            
6422           //Exibe o endereco da unidade 
6423           const urlBuscaUnidade = urlUnidadeInfoDetalhe 
6424         .replace('\{companyId\}',themeDisplay.getCompanyId()) 
6425         .replace('\{codigoUnidade\}', unidade.codigoUnidade); 
6426            
6427           $.ajax({ 
6428                 url :  urlBuscaUnidade, 
6429                 type : 'get', 
6430                 dataType: 'json', 
6431                 success: function( unidadeInfo ) { 
6432                   if(unidadeInfo != null && typeof unidadeInfo !== 'undefined'){ 
6433                       
6434                       var endereco = concatSTR(unidadeInfo.enderecoUnidade,unidadeInfo.numEnderecoUnidade,', '); 
6435                         endereco = concatSTR(endereco,unidadeInfo.complementoEnderecoUnidade, ' - '); 
6436                         endereco = concatSTR(endereco,unidadeInfo.bairroUnidade, ' - '); 
6437                 
6438                         $('.ssp-ofertas__endereco-unidade').text(endereco); 
6439                         $('.ssp-ofertas__endereco-unidade').attr('href',unidadeInfo.googlemapsUnidade); 
6440
6441                 }, 
6442                 error: function(data){ 
6443                   $('.ssp-ofertas__endereco-unidade').text(''); 
6444                   $('.ssp-ofertas__endereco-unidade').attr('href','#a'); 
6445                     console.log('Unidade não encontrada'); 
6446
6447             }) 
6448           
6449          getOfertas(codigoFT, dataEfetivaOferta, unidades[i].categoryId); 
6450            
6451          habilitarRegistroInteresse(!!(unidades && unidades.length)); 
6452            
6453
6454     }   
6455
6456     
6457   function pegarTextoCartoesAceitos(campo){ 
6458      indice = campo.indexOf(' em até '); 
6459      inicio = 0; 
6460      fim = indice; 
6461       
6462      return campo.substring(inicio, fim); 
6463
6464    
6465   function pegaNumParcela(campo){ 
6466    
6467      indice = campo.indexOf('até '); 
6468      inicio = indice + 4; 
6469      fim = indice +  6; 
6470       
6471      return campo.substring(inicio, fim); 
6472       
6473
6474    
6475   function pegaValorParcela(campo){ 
6476      
6477      indice = campo.indexOf('R$'); 
6478      inicio = indice+2;     
6479      valorAmericano = campo.substring(inicio) 
6480       
6481      return formataValor(valorAmericano); 
6482       
6483
6484    
6485   function montaHTMLOferta(oferta, index, codigoUnidade, posLoad){ 
6486	    
6487    var retornoDiasHorarios = processaDiasHorariosOferta(oferta.horariosAllOferta); 
6488    diasSemanaHTML = ""; 
6489	      
6490    for(var diaDaOferta of retornoDiasHorarios){ 
6491          diasSemanaHTML += htmlSlickAreaDiasSemana.replace('\{diasSemana\}',diaDaOferta.dias); 
6492          diasSemanaHTML = diasSemanaHTML.replace('\{horasSemana\}',diaDaOferta.horario) 
6493		      }    
6494		       
6495    var ofertaHTML = ""; 
6496		 
6497		if(isEmed){ 
6498			 
6499      ofertaHTML = htmlSlickAreaEmed(oferta); 
6500			$('[name="codUnidadeSelecionada"]').val(codigoUnidade); 
6501			 
6502			if(!posLoad) $('.ssp-slick-ofertas-emed').append(ofertaHTML) 
6503			else $('.ssp-slick-ofertas-emed').slick('slickAdd', ofertaHTML); 
6504		}else{ 
6505 
6506 
6507      ofertaHTML = htmlSlickArea(index, oferta, diasSemanaHTML, codigoUnidade) 
6508       
6509      if(!posLoad) 
6510        $('.oferta-slick-area').append(ofertaHTML); 
6511      else 
6512        $('.oferta-slick-area').slick('slickAdd', ofertaHTML); 
6513       
6514      ajustaTextoDiasHorarioOferta(oferta.codigoOferta); 
6515 
6516
6517 
6518    if(turmasIniciadas(oferta.dataInicio)) 
6519    	$("#aviso-turma-iniciada-"+index).show(); 
6520 
6521	//remove os botões/itens de compra/bolsa caso seja preciso 
6522    $('.oferta-slick-area').find('.d-none-btn').remove(); 
6523
6524 
6525 
6526  	//RECEBE A STRING DE HORARIOS E RETORNA UMA LISTA DE OBJETOS COM OS DIAS E HORARIOS FORMATADOS 
6527	//@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"  
6528	function processaDiasHorariosOferta(horariosAllOferta){ 
6529 
6530   		var dias = horariosAllOferta.trim().split(','); 
6531   		let arrayDiasSemana = [{"Seg":"Segunda"},{"Ter":"Terça"},{"Qua":"Quarta"},{"Qui":"Quinta"},{"Sex":"Sexta"},{"Sab":"Sábado"},{"Dom":"Domingo"}] 
6532 
6533   		var arrayDia = []; 
6534   	   	if(dias.length >= 1){ 
6535   		    for(var k=0; dias.length > k; k++){ 
6536   		 		var diasSplit = dias[k].trim().split(' '); 
6537   	          	var diasSemana = diasSplit.shift() 
6538   		      	var ultimaPos = diasSplit.length-1; 
6539   	          	var horasStr = diasSplit[0] + ' às ' + diasSplit[ultimaPos]  
6540   	         	arrayDia.push({horasStr,diasSemana}); 
6541
6542
6543 
6544   		arrayDia = groupByArray(arrayDia, 'horasStr','diasSemana'); 
6545   		arrayDia = orderByArray(arrayDia,arrayDiasSemana); 
6546   		 
6547   		var ret = diaHorarioOfertaFormatado(arrayDia,arrayDiasSemana); 
6548			return ret; 
6549
6550 
6551   //cria um array de objetos Agrupando de acordo ao campo informado como chave.  
6552   //@arr = Array multidimensional que tenha os campos key e valueAdd 
6553   //@key = campo que será chave nesse array 
6554   //@valueAdd = campo que será agrupado caso tenha a mesma informação passada no campo key 
6555   const groupByArray = (arr, key,valueAdd) => { 
6556   		const initialValue = []; 
6557   		const retornoValue = []; 
6558   		arr.forEach((acc, cval) => { 
6559   			const myAttribute = cval[key]; 
6560   			acc[key] in retornoValue ? retornoValue[acc[key]].push(acc[valueAdd]):retornoValue[acc[key]]=[acc[valueAdd]]; 
6561   			return acc; 
6562     		}, initialValue); 
6563   	return retornoValue; 
6564   }; 
6565 
6566 
6567   //Cria um array de objetos a partir do primeiro array inserido e ordenados de acordo a ordem do segundo array informado.  
6568   //@arrayOrdena = Array de objetos que tenha os campos que precisa ser ordenados 
6569   //@ordem = array com a sequencia que queira ordenar - ex: seg, ter, qua, qua 
6570   const orderByArray = (arrayOrdena, ordem) => { 
6571 
6572   	let diasSem = []; 
6573   	const arrayOrdenado = []; 
6574   	let controle; 
6575   	 
6576   	//percorre cada campo existente no ordem e busca o mesmo no arrayOrdena, encontrando insere no arrayOrdenado 
6577   	for(let campo of ordem){	 
6578   		Object.entries(arrayOrdena).forEach(([key, value]) => { 
6579   			for(let diaOferta of value){ 
6580   				if(diaOferta===Object.keys(campo)[0]){ 
6581   					arrayOrdenado[key]=arrayOrdena[key]; 
6582
6583
6584   	    }) 
6585
6586   	return arrayOrdenado; 
6587   }; 
6588 
6589   //retorna o valor de um objeto dentro de um array 
6590   //@objetoBusca = array de objetos que sera buscado o valor 
6591   //@keyBusca = nome do campo a ser buscada no objeto para pegar o seu valor 
6592   function findValueInObject(objetoBusca, keyBusca){ 
6593   	var retorno = ""; 
6594   	Object.entries(objetoBusca).forEach(([horario, dias]) => { 
6595   		Object.entries(dias).forEach(([key,val]) => { 
6596   			if(key.trim()==keyBusca.trim()){ 
6597   				retorno = val; 
6598
6599   		}); 
6600   	}); 
6601   	return retorno; 
6602
6603 
6604   //Recebe um objeto com valores dos dias da semana e define se sao dias seguidos ou alternados.  
6605   //@arrayComDiasDaSemana = array com os dias da semana a serem validados - exemplo ['Qua','Qui','Sex'] 
6606   //@keyBusca = nome do campo a ser buscada no objeto para pegar o seu valor 
6607   function diasSequenciaisOuAlternados(arrayComDiasDaSemana, arrayDiasDaSemana){ 
6608   	 
6609   	let arrayValidador = []; 
6610   	 
6611   	//cria um array com o index dos dias das semanas encontrados [0 = seg, 1 = ter ... 6 = dom] 
6612   	for(let diaOferta of arrayComDiasDaSemana){ 
6613   		for(let i = 0; i < arrayDiasDaSemana.length; i++){ 
6614   			if(diaOferta === Object.keys(arrayDiasDaSemana[i])[0]){ 
6615   				arrayValidador[i] = true; 
6616   			}				 
6617
6618
6619 
6620   	let keyCompair = 99; 
6621   	var sequencial = true; 
6622 
6623   	//verifica quais posições foram criadas no array, e se os valores delas estão em sequencia. 
6624   	for(let keyValidator of Object.keys(arrayValidador)){ 
6625   		keyValidator = parseInt(keyValidator); 
6626   		if(keyCompair!==99){ 
6627   			if(keyValidator===keyCompair){ 
6628   				sequencial = true; 
6629   			}else{ 
6630   				sequencial = false; 
6631   				break; 
6632
6633
6634   		keyCompair = keyValidator+1; 
6635
6636   	return sequencial; 
6637
6638 
6639 
6640   //Exibe as informações de dia e horario de oferta de acordo a sua estrutura 
6641   //Caso os dias sejam sequenciais exibe a primeiro e ultimo dia da semana ligados com a letra 'a' Ex: Segunda a Quinta  
6642   //Caso os dias Nao sejam sequenciais exibem todos os dias separados por virgula  Ex: Segunda, terça, sexta e domingo 
6643   //@arrayAgrupadoEOrdenado = array de objetos que sera exibido 
6644   //@arrayDiasDaSemana = array com os dias da semana, sendo chave a sigla da semana (ex: Qua) e o valor o nome esperado (ex: Quarta) 
6645   function diaHorarioOfertaFormatado(arrayAgrupadoEOrdenado, arrayDiasDaSemana){ 
6646 
6647   	var stringAux = "";		 
6648   	var listRetorno = []; 
6649   		 
6650   	Object.entries(arrayAgrupadoEOrdenado).forEach(([key, value]) => {		 
6651 
6652   		var sequencial = diasSequenciaisOuAlternados(value, arrayDiasDaSemana); 
6653   		var stringAux = "";		 
6654   		var diaOferta = {}; 
6655 
6656   		if(sequencial){ 
6657   			switch (value.length) { 
6658       			case 1: 
6659   					stringAux = stringAux+findValueInObject(arrayDiasDaSemana,value[0])+": "; 
6660   					diaOferta.dias = stringAux.charAt(0).toUpperCase() + stringAux.slice(1).toLowerCase(); // somente a primeira maiúscula 
6661   					diaOferta.horario = key; 
6662   				break; 
6663   				case 2: 
6664   					stringAux = stringAux+findValueInObject(arrayDiasDaSemana,value[0])+" e "+findValueInObject(arrayDiasDaSemana,value[value.length-1])+": "; 
6665   					diaOferta.dias = stringAux.charAt(0).toUpperCase() + stringAux.slice(1).toLowerCase(); // somente a primeira maiúscula 
6666   					diaOferta.horario = key; 
6667   				break; 
6668   				default: 
6669          				stringAux = stringAux+findValueInObject(arrayDiasDaSemana,value[0])+" a "+findValueInObject(arrayDiasDaSemana,value[value.length-1])+": "; 
6670   					 
6671   					diaOferta.dias =  stringAux.charAt(0).toUpperCase() + stringAux.slice(1).toLowerCase(); // somente a primeira maiúscula 
6672   					diaOferta.horario = key; 
6673   				break; 
6674   			}	 
6675   		}else{ 
6676   			switch (value.length) { 
6677       			case 2: 
6678   					stringAux = stringAux+findValueInObject(arrayDiasDaSemana,value[0])+" e "+findValueInObject(arrayDiasDaSemana,value[value.length-1])+": "; 
6679   					diaOferta.dias =  stringAux.charAt(0).toUpperCase() + stringAux.slice(1).toLowerCase(); // somente a primeira maiúscula 
6680   					diaOferta.horario = key; 
6681   				break; 
6682   				default: 
6683   					var ct = 0; 
6684   					var stringDias=""; 
6685   					for(let v of value){ 
6686       					ct++; 
6687   						ct==value.length ? stringDias=stringDias.substring(0,stringDias.length - 2)+" e "+findValueInObject(arrayDiasDaSemana,v) : stringDias+=findValueInObject(arrayDiasDaSemana,v)+", "; 
6688
6689          				stringAux = stringAux+stringDias+": "; 
6690   					diaOferta.dias = stringAux.charAt(0).toUpperCase() + stringAux.slice(1).toLowerCase(); // somente a primeira maiúscula 
6691   					diaOferta.horario = key; 
6692   				break; 
6693
6694
6695 
6696   		listRetorno.push(diaOferta); 
6697   	}) 
6698   	return listRetorno; 
6699   }; 
6700 
6701 
6702   //Distribui dia e horario com quebra de linha entre eles ou nao dependendo da resolução de tela e tamanho da string 
6703   function ajustaTextoDiasHorarioOferta(codOferta){ 
6704 
6705	   var classOferta = ".codigoOferta_"+codOferta;  
6706	   let oferta = $(classOferta); 
6707 
6708	   let ofertaDiasSemana = $(oferta).find('*[data-dia-hora="dias-semana"]'); 
6709 
6710	   let widthDevice = window.screen.width; 
6711	   let tamLimDesktop = 185; 
6712	 
6713	   if(widthDevice <= 1024){ 
6714	       tamLimDesktop = 180; 
6715
6716	  
6717	   ofertaDiasSemana.each(function(index){ 
6718 
6719		   		   	 
6720	       let widthDiaSemana = $(this).width(); 
6721	 
6722	       let contentDiaHora = $(this).parent().parent().parent(); 
6723	   	 
6724	       if(!(widthDiaSemana <= tamLimDesktop)){ 
6725			   $(this).css("display","block"); 
6726
6727	 
6728		   if(ofertaDiasSemana.length == parseInt(index+1)){ 
6729		       contentDiaHora.css("opacity","1"); 
6730
6731 
6732   		})  
6733
6734 
6735   function getObjBtnComprar(oferta){ 
6736      let obj = {}; 
6737      obj['dataEspacoEx'] = (oferta.espacoExterno == 'true' || (isHibrido && temTextoParaFormatoHibrido)) ? 'true' : 'false'; 
6738      if($('#manutencao-compra').val()){ 
6739        obj['classeBotao'] = 'disabled manutencao'; 
6740        obj['textoBotao'] = $('#manutencao-compra').val(); 
6741      }  
6742      else{ 
6743        obj['classeBotao'] = oferta.botaoCompraOferta == 'true' ? (oferta.vagasParaCompraOferta == 'true' ? '' : 'disabled') : 'd-none-btn'; 
6744        obj['textoBotao'] = oferta.vagasParaCompraOferta == 'true' ? 'COMPRAR' : 'Vagas esgotadas para compra'; 
6745
6746      return obj; 
6747
6748    
6749     function getObjFormaPagto(oferta,index,tipoCurso,codigoUnidade){ 
6750        
6751       var formaPagtoObj = {}; 
6752	    
6753	     var regNumMaxParce = new RegExp('\{numeroMaxParcelasOferta\}', 'g'); 
6754         var regPrecMaxParce = new RegExp('\{precoVendaMaxParcelaOferta\}', 'g') 
6755 
6756       formaPagtoObj['regIndex']  = index; 
6757       formaPagtoObj['precoCheioOferta'] = formataValor(oferta.precoCheioOferta); 
6758       formaPagtoObj['textoCartoesAceitos'] = oferta.textoCartoesAceitos; 
6759 
6760       formaPagtoObj['numParcelaCartoes'] = oferta.numParcelaCartoes; 
6761       formaPagtoObj['precoParcelaCartoes'] = oferta.precoParcelaCartoes; 
6762       formaPagtoObj['numParcelaBoleto'] = oferta.numParcelaBoleto; 
6763       formaPagtoObj['precoParcelaBoleto'] = oferta.precoParcelaBoleto; 
6764       formaPagtoObj['precoVendaOferta'] = formataValor(oferta.precoVendaOferta); 
6765        
6766       formaPagtoObj['economia'] = formataValor(parseFloat(oferta.precoCheioOferta).toFixed(2) - parseFloat(oferta.precoVendaOferta).toFixed(2)); 
6767       formaPagtoObj['espacoExterno'] = oferta.espacoExterno == 'true' ? 'true' : 'false'; 
6768       formaPagtoObj['dataUnidade'] = codigoUnidade; 
6769       formaPagtoObj['dataEvento'] = oferta.codigoOferta; 
6770       formaPagtoObj['destinoCompra '] = oferta.destinoCompra; 
6771        
6772       //EMED nao restringe o botao 
6773       if(isEmed){ 
6774          let manutencao = $('#manutencao-compra').val();  
6775          formaPagtoObj['textoBotaoComprar'] = manutencao || 'COMPRAR'; 
6776           formaPagtoObj['classeBotaoComprar'] = manutencao ? 'disabled manutencao' : ''; 
6777       }else{ 
6778          let btnComprar = getObjBtnComprar(oferta);  
6779          formaPagtoObj['textoBotaoComprar'] = btnComprar.textoBotao; 
6780           formaPagtoObj['classeBotaoComprar'] = btnComprar.classeBotao; 
6781
6782 
6783       formaPagtoObj['regNumMaxParce'] = oferta.numeroMaxParcelasOferta; 
6784       formaPagtoObj['regPrecMaxParce'] = formataValor(oferta.precoVendaMaxParcelaOferta); 
6785        
6786       //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  
6787       formaPagtoObj['precoAVistaPadraoExt'] = formataValor(oferta.precoVendaOferta); 
6788       var precoContribuinteExtensao = (parseFloat(oferta.precoVendaOferta).toFixed(2) * 0.80).toFixed(2); 
6789       formaPagtoObj['precoContrExt'] = formataValor(precoContribuinteExtensao); 
6790       formaPagtoObj['economiaExt'] = formataValor(parseFloat(oferta.precoVendaOferta).toFixed(2) - precoContribuinteExtensao); 
6791       formaPagtoObj['precoParcelaBoletoExt'] = formataValor( (precoContribuinteExtensao / oferta.numParcelaBoleto).toFixed(2)); 
6792       formaPagtoObj['precoParcelaCartoesExt'] = formataValor( (precoContribuinteExtensao / oferta.numParcelaCartoes).toFixed(2)); 
6793       formaPagtoObj['precoAVistaContrExt'] = formataValor( (precoContribuinteExtensao * 0.92).toFixed(2)); 
6794          
6795       return formaPagtoObj; 
6796
6797      
6798     function calculaPrecoAvista(precoVendaOferta){ 
6799      return (parseFloat(precoVendaOferta).toFixed(2) * 0.92).toFixed(2); 
6800
6801 
6802    function createModalFormaPagto(formaPagtoObj, oferta, index) { 
6803      let temDesconto = possuiCriteriosDesconto2022(oferta.dataInicio) 
6804      temDesconto = temDesconto && !possuiMensalidade99(oferta)       
6805       
6806      result = ` 
6807        <div id="modalFormaPagto" class="ssp-modal"> 
6808          <div class="ssp-card-modal-forma-pagamento ` + (temDesconto ? 'ssp-desconto-2022' : '') + `"> 
6809            <div class="ssp-card-modal-forma-pagamento__header" style="border: 0; margin-bottom: 0 !important;"> 
6810              <h6 class="ssp-card-modal-forma-pagamento__header-title font-weight-bold" style="color:#454F63">Descontos e ` + (temDesconto ? 'pagamento' : 'parcelamento') + `</h6> 
6811              <i class="ssp-card-modal-forma-pagamento__btn-close ssp-card-modal-forma-pagamento__btn-close_` + index + `"></i> 
6812            </div> 
6813
6814        + (temDesconto ? '' : '<div class="ssp-card-oferta-curso__line-divider mt-0 mb-5 mb-md-8"></div>') + 
6815
6816            <div class="ssp-card-modal-forma-pagamento__body">               
6817      `       
6818      if(temDesconto) { 
6819        result = result + ` 
6820             <div> 
6821                <p class="my-0"><strong>Valor com </strong> 
6822                  <span class="ssp-card-oferta-curso__valor-desconto mt-0 mb-0">50% de desconto*</span>                   
6823                </p> 
6824              </div> 
6825              <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>` 
6826               
6827        if($('[name="tipoCurso"]').val() == 'extensao') { 
6828          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>` 
6829        } else { 
6830          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>` 
6831
6832               
6833         
6834        result = result + ` 
6835              <div class="ssp-card-oferta-curso__line-divider mb-5 mb-md-2 mt-2"></div> 
6836              <p class="my-0"><strong>Valor:</strong></p> 
6837              <h6 class="ssp-card-oferta-curso__item-valor-investimento ` + (temDesconto ? 'ssp-desconto-2022' : '') + `"><span>` + oferta.numeroMaxParcelasOferta + `x</span>R$ ` + formataValor(oferta.precoVendaMaxParcelaOferta) + `</h6> 
6838              <p class="mt-0 mb-0"><strong>Valor Total: </strong> ` + formataValor(ajustarCasasDecimaisSemArredondar(strToFloat(oferta.precoVendaOferta), 2)) + `</p> 
6839              <div class="ssp-card-oferta-curso__line-divider mt-4 mb-md-3 mb-4"></div> 
6840              <p class="my-0"><strong>Parcele e garanta mais tempo para pagar:</strong></p> 
6841
6842      } else { 
6843        if(formaPagtoObj.precoCheioOferta == formaPagtoObj.precoVendaOferta) { 
6844          result = result + ` 
6845              <p class="ssp-card-modal-forma-pagamento__valor-desconto mt-n3">R$ <span class="precoVendaOferta">` + formaPagtoObj.precoVendaOferta + `</span></p> 
6846              <p class="txt-desconto-oito">Pague à vista e <span style="color:#FC7834;font-weight:bold"> ganhe mais 8% de desconto.</span></p> 
6847              <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> 
6848            </div> 
6849
6850        } else { 
6851          const textoDesc = temDesconto ? 'Valor com 30% de desconto:' : 'Valor com desconto:' 
6852           
6853          result = result + ` 
6854              <small class="ssp-card-oferta-curso__title-item font-weight-bold" style="margin:0;font-size:16px;">` + textoDesc + `</small> 
6855              <p class="ssp-card-modal-forma-pagamento__valor-cheio">R$ <span class="precoCheioOferta">` + formaPagtoObj.precoCheioOferta + `</span></p> 
6856              <p class="ssp-card-modal-forma-pagamento__valor-desconto">R$ <span class="precoVendaOferta">` + formaPagtoObj.precoVendaOferta + `</span></p> 
6857              <p class="ssp-card-modal-forma-pagamento__total-economia">Você economiza <span>R$ <span class="economia">` + formaPagtoObj.economia + `</span></span></p> 
6858              <p class="txt-desconto-oito">Pague à vista e <span style="color:#FC7834;font-weight:bold"> ganhe mais 8% de desconto.</span></p> 
6859              <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> 
6860            </div> 
6861
6862
6863
6864 
6865      let textoParcelaCartoes, textoParcelaBoleto       
6866      if(temDesconto) { 
6867        const precoParcelaCartoes = formataValor(ajustarCasasDecimaisSemArredondar(strToFloat(formaPagtoObj.precoParcelaCartoes)/2, 2)) 
6868        const precoParcelaBoleto = formataValor(ajustarCasasDecimaisSemArredondar(strToFloat(formaPagtoObj.precoParcelaBoleto)/2, 2)) 
6869 
6870        if(formaPagtoObj.numParcelaCartoes) 
6871          textoParcelaCartoes = `<p>Em até <span><span class="numParcelaCartoes">` + formaPagtoObj.numParcelaCartoes + `</span>x</span> sem juros</p>` 
6872 
6873        if(formaPagtoObj.numParcelaBoleto) 
6874          textoParcelaBoleto = `<p>Em até <span><span class="numParcelaBoleto">` + formaPagtoObj.numParcelaBoleto + `</span>x</span> sem juros</p>` 
6875      } else { 
6876        if(formaPagtoObj.numParcelaCartoes) 
6877          textoParcelaCartoes = `<p>Em até <span><span class="numParcelaCartoes">` + formaPagtoObj.numParcelaCartoes + `</span>x de R$ <span class="precoParcelaCartoes">` + formaPagtoObj.precoParcelaCartoes + `</span></span> sem juros</p>` 
6878         
6879        if(formaPagtoObj.numParcelaBoleto) 
6880          textoParcelaBoleto = `<p>Em até <span><span class="numParcelaBoleto">` + formaPagtoObj.numParcelaBoleto + `</span>x de R$ <span class="precoParcelaBoleto">` + formaPagtoObj.precoParcelaBoleto + `</span></span> sem juros</p>` 
6881
6882 
6883      if(temDesconto) {  
6884        result = result + ` 
6885              <div class="ssp-card-modal-forma-pagamento__tipos">` 
6886 
6887        if(textoParcelaBoleto) 
6888          result = result + ` 
6889                <div class="ssp-card-modal-forma-pagamento__tipos-content align-items-start"> 
6890                  <i class="ssp-card-modal-forma-pagamento__icon-boleto"></i> 
6891                  <div class="ssp-card-modal-forma-pagamento__info-cartao"> 
6892                      <p><strong>Boleto Bancário</strong></p>` 
6893                      + textoParcelaBoleto +    
6894                  `</div> 
6895                </div>` 
6896 
6897        if(textoParcelaCartoes) 
6898          result = result + ` 
6899                <div class="ssp-card-modal-forma-pagamento__tipos-content align-items-start mt-4"> 
6900                  <i class="ssp-card-modal-forma-pagamento__icon-credit-card"></i> 
6901                  <div class="ssp-card-modal-forma-pagamento__info-cartao"> 
6902                      <p><strong>Cartões</strong></p> 
6903                      <p>(<span class="textoCartoesAceitos">` + formaPagtoObj.textoCartoesAceitos + `</span>)</p>` 
6904                      + textoParcelaCartoes +    
6905                  `</div> 
6906                </div> 
6907              </div> 
6908
6909      } else { 
6910        result = result + ` 
6911              <div class="ssp-card-modal-forma-pagamento__tipos">` 
6912 
6913        if(textoParcelaCartoes) 
6914          result = result + ` 
6915                <div class="ssp-card-modal-forma-pagamento__tipos-content align-items-start"> 
6916                  <i class="ssp-card-modal-forma-pagamento__icon-credit-card"></i> 
6917                  <div class="ssp-card-modal-forma-pagamento__info-cartao"> 
6918                      <p><strong>Cartões</strong></p> 
6919                      <p>(<span class="textoCartoesAceitos">` + formaPagtoObj.textoCartoesAceitos + `</span>)</p>` 
6920                      + textoParcelaCartoes +    
6921                  `</div> 
6922                </div>` 
6923 
6924        if(textoParcelaBoleto) 
6925          result = result + ` 
6926                <div class="ssp-card-modal-forma-pagamento__tipos-content align-items-start mt-4"> 
6927                  <i class="ssp-card-modal-forma-pagamento__icon-boleto"></i> 
6928                  <div class="ssp-card-modal-forma-pagamento__info-cartao"> 
6929                      <p><strong>Boleto Bancário</strong></p>` 
6930                      + textoParcelaBoleto +    
6931                  `</div> 
6932                </div> 
6933              </div> 
6934
6935
6936 
6937      if(temDesconto) {  
6938        result = result + ` 
6939            <p class="txt-desconto-oito my-0">Pague à vista e ganhe <span style="color:#5ACC75;font-weight:bold">8% de desconto.</span></p> 
6940
6941
6942 
6943      result = result + ` 
6944            <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>` 
6945     
6946      if(temDesconto) {  
6947        result = result + ` 
6948            <a class="btn btn-primary modal-extensao-btn-conheca mt-3" href="/descontos-e-parcelamentos" target="_blank">Conheça os descontos</a> 
6949
6950
6951           
6952      result = result + ` 
6953         </div> 
6954        </div> 
6955
6956 
6957      return result; 
6958
6959      
6960     function montaHTMLModalFormaPgto(oferta, index, codigoUnidade){ 
6961        
6962       var tipoCurso = $('[name="tipoCurso"]').val(); 
6963        
6964       var formaPagtoObj = getObjFormaPagto(oferta,index,tipoCurso,codigoUnidade); 
6965        
6966       var modalFormaPagto 
6967       if(tipoCurso == 'extensao' && !possuiCriteriosDesconto2022(oferta.dataInicio)) { 
6968          modalFormaPagto = $('#modalFormaPagtoExt').clone(); 
6969 
6970          $.each(formaPagtoObj, function(k,v){ 
6971            if(modalFormaPagto.find('.'+k).length > 0) 
6972              modalFormaPagto.find('.'+k).text(v); 
6973          }) 
6974        } else if(isEmed) { 
6975          modalFormaPagto = $('#modalPagtoEmed').clone(); 
6976 
6977          $.each(formaPagtoObj, function(k,v){ 
6978            if(modalFormaPagto.find('.'+k).length > 0) 
6979              modalFormaPagto.find('.'+k).text(v); 
6980          }) 
6981        } else 
6982           modalFormaPagto = $(createModalFormaPagto(formaPagtoObj, oferta, index)); 
6983          
6984       modalFormaPagto.removeAttr('id'); 
6985       modalFormaPagto.removeClass('d-none'); 
6986       modalFormaPagto.attr('id','myModal_'+index); 
6987        
6988       if(tipoCurso == 'extensao' && !possuiCriteriosDesconto2022(oferta.dataInicio)){ 
6989          
6990         var botoaoCompraOk = modalFormaPagto.find('.modal-extensao-aluno__btn.ok'); 
6991         botoaoCompraOk.attr('id','btnComprarConhecaDescontoOk_'+index); 
6992          
6993         botoaoCompraOk.attr('data-espaco-ex', formaPagtoObj.espacoExterno); 
6994         botoaoCompraOk.attr('data-unidade', formaPagtoObj.dataUnidade); 
6995         botoaoCompraOk.attr('data-evento', formaPagtoObj.dataEvento); 
6996         botoaoCompraOk.attr('data-destino-compra', formaPagtoObj.destinoCompra); 
6997         botoaoCompraOk.attr('data-index', index); 
6998         botoaoCompraOk.addClass(formaPagtoObj.classeBotaoComprar); 
6999          
7000         var botoaoCompraNot =modalFormaPagto.find('.modal-extensao-aluno__btn.not'); 
7001         botoaoCompraNot.attr('id','btnComprarConhecaDescontoNot_'+index); 
7002          
7003         botoaoCompraNot.attr('data-espaco-ex', formaPagtoObj.espacoExterno); 
7004         botoaoCompraNot.attr('data-unidade', formaPagtoObj.dataUnidade); 
7005         botoaoCompraNot.attr('data-evento', formaPagtoObj.dataEvento); 
7006         botoaoCompraNot.attr('data-destino-compra', formaPagtoObj.destinoCompra); 
7007         botoaoCompraNot.attr('data-index', index); 
7008         botoaoCompraNot.addClass(formaPagtoObj.classeBotaoComprar); 
7009          
7010         modalFormaPagto.find('.modal-extensao-btn-aluno-sim-nao.sim').attr('id','btn-aluno-sim_'+index); 
7011         modalFormaPagto.find('.modal-extensao-btn-aluno-sim-nao.nao').attr('id','btn-aluno-nao_'+index); 
7012          
7013         modalFormaPagto.find('.modal-extensao-voltar-icon').addClass('ssp-card-modal-forma-pagamento__btn-close_'+index); 
7014          
7015         modalFormaPagto.find('.modal-extensao-btn-conheca').attr('id','btnModalExtConheca_'+index); 
7016          
7017         modalFormaPagto.find('.modal-pergunta-aluno-ext').attr('id','modalExtAluno_'+index); 
7018          
7019         modalFormaPagto.find('.msg-alunoSim').attr('id','msg-alunoSim_'+index); 
7020         modalFormaPagto.find('.msg-alunoNao').attr('id','msg-alunoNao_'+index); 
7021          
7022         var botaoCompra = modalFormaPagto.find('.modal-extensao__btn.mt-3');  
7023      
7024       }else{ 
7025   
7026         modalFormaPagto.find('.mt-4').attr('id','content_boleto_'+index); 
7027         modalFormaPagto.find('.ssp-card-modal-forma-pagamento__btn-close').addClass('ssp-card-modal-forma-pagamento__btn-close_'+index); 
7028          
7029         var botaoCompra = modalFormaPagto.find('.btn.w-100'); 
7030   
7031
7032        
7033       if(isEmed){ 
7034          
7035    	   	var elementoPai = modalFormaPagto.find('.ssp-card-modal-forma-pagamento'); 
7036	    		  
7037          //Cria botao inscreva-se ajustado ao modal 
7038          var dadosAbertura = calculaTempoAberturaBolsa(oferta.dataAberturaBolsaOferta, oferta.horaAberturaBolsaOferta); 
7039          if($('#manutencao-compra').val()){ 
7040            textoBotao = $('#manutencao-compra').val(); 
7041            classeBotao = 'disabled manutencao'; 
7042          }else{ 
7043            if(oferta.permiteListaEspera == statusEmed.ESPERA && dadosAbertura.bolsaJaAberta){ 
7044              textoBotao = 'Lista de espera'; 
7045              classeBotao = 'btn-emed-lista-espera'; 
7046            }else{ 
7047                if (dadosAbertura.bolsaJaAberta || !oferta.dataAberturaBolsaOferta || oferta.dataAberturaBolsaOferta == ''){ 
7048                  if(oferta.etapa == '0020' || oferta.etapa == '0030'){ 
7049                    textoBotao = 'Lista de espera'; 
7050                    classeBotao = 'btn-emed-lista-espera'; 
7051                  }else{ 
7052                    textoBotao = 'Fazer matrícula'; 
7053                    classeBotao = ''; 
7054
7055                }else{ 
7056                  textoBotao = 'Matrícula em '+formataDataAberturaBolsa(oferta.dataAberturaBolsaOferta, oferta.horaAberturaBolsaOferta); 
7057                  classeBotao = 'disabled'; 
7058
7059
7060
7061          criaBotaoInscreverEmedModal(oferta, textoBotao, classeBotao, 'btnComprarEmedModal_' + index, elementoPai, index); 
7062          preencheDadosEmedModal(oferta, modalFormaPagto); 
7063          
7064       }else{ 
7065	       botaoCompra.attr('id', "btnComprarFormaPgto_"+index); 
7066	       botaoCompra.attr('data-espaco-ex', formaPagtoObj.espacoExterno); 
7067	       botaoCompra.attr('data-unidade', formaPagtoObj.dataUnidade); 
7068	       botaoCompra.attr('data-evento', formaPagtoObj.dataEvento); 
7069	       botaoCompra.attr('data-destino-compra', formaPagtoObj.destinoCompra); 
7070	       botaoCompra.attr('data-index', index); 
7071		   botaoCompra.addClass(formaPagtoObj.classeBotaoComprar); 
7072
7073        
7074       $('.oferta-slick-area_modal').append(modalFormaPagto); 
7075       $('.oferta-slick-area_modal').find('.d-none-btn').remove(); 
7076        
7077       //Evita o erro de exibição de Nan 
7078       if(oferta.numParcelaBoleto.length == 0){ 
7079    	   $('#content_boleto_'+index).remove(); 
7080
7081
7082 
7083    
7084   function montaHTMLModalLocalRealizacao(oferta, index){ 
7085      
7086     var tituloLocalRealizacao = (localLivreOnline(oferta.localEspacoExterno) && !isHibrido) ? 
7087          '<i class="fas fa-wifi icon-wifi-title__modal"></i> <h6 class="title-idioma-online__modal"> Aulas Online - ao vivo</h6>' 
7088           : '<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>'; 
7089      
7090     if(textoFormatoHibrido.length>0 && oferta.espacoExterno=="true") 
7091             textoFormatoHibrido += '</br>'; 
7092                        
7093     var localRealizacaoHTMLModal = htmlModalLocalRealizacao 
7094         .replace('\{nomeUnidade\}',$('#unidades-ofertas option:selected').text()) 
7095         .replace('\{textoFormatoHibrido\}', textoFormatoHibrido ) 
7096         .replace('\{localEspacoExterno\}',  oferta.espacoExterno=="true"? oferta.localEspacoExterno: "" ) 
7097         .replace('\{classeTextoInfoLocalRealizacao\}', (oferta.ruaEspacoExterno != "" && !isHibrido) ? "" : "d-none") 
7098         .replace('\{classeEnderecoRealizacao\}',oferta.ruaEspacoExterno != "" ? "" : "d-none") 
7099         .replace('\{ruaEspacoExterno\}',oferta.ruaEspacoExterno) 
7100         .replace('\{numeroEspacoExterno\}',oferta.numeroEspacoExterno) 
7101         .replace('\{complementoEspacoExterno\}',oferta.complementoEspacoExterno) 
7102         .replace('\{classeBairroRealizacao\}', oferta.bairroEspacoExterno != "" && oferta.ruaEspacoExterno != "" ? "" : "d-none") 
7103         .replace('\{bairroEspacoExterno\}',oferta.bairroEspacoExterno) 
7104         .replace('\{classeCidadeRealizacao\}', oferta.cidadeEspacoExterno != "" && oferta.ruaEspacoExterno != "" ? "" : "d-none") 
7105         .replace('\{cidadeEspacoExterno\}',oferta.cidadeEspacoExterno) 
7106         .replace('\{classeCepRealizacao\}', oferta.cepEspacoExterno != "" && oferta.ruaEspacoExterno != "" ? "" : "d-none") 
7107         .replace('\{cepEspacoExterno\}',oferta.cepEspacoExterno) 
7108        .replace(regIndex, index) 
7109        .replace('\{tituloLocalRealizacao\}', tituloLocalRealizacao) 
7110        .replace('\{classeEntendi\}', (localLivreOnline(oferta.localEspacoExterno)) ? "btn-modal-entendi__idioma-online" : ""); 
7111 
7112        $('.oferta-slick-area_modal').append(localRealizacaoHTMLModal); 
7113        $('.oferta-slick-area_modal').find('.d-none-btn').remove(); 
7114 
7115        if(oferta.ruaEspacoExterno == "") 
7116           $('.localEspacoExternoTexto_'+index).removeClass('ssp-modal-local-realizacao__subtitle'); 
7117
7118    
7119   function  montaHTMLModalAntesCompra(oferta, index, codigoUnidade){ 
7120 
7121    if(isEmed){ 
7122              
7123      $('#modalAntesCompraEmed_' + oferta.indice).remove(); 
7124      const antesCompraHTMLModal = $('#modalAntesCompraEmed').clone(); 
7125      antesCompraHTMLModal.attr('id', 'modalAntesCompraEmed_' + oferta.indice); 
7126      antesCompraHTMLModal.find('.ssp-card-modal-antes-compra__btn-close').addClass('ssp-card-modal-antes-compra__btn-close_'+oferta.indice); 
7127      antesCompraHTMLModal.find('.ssp-card-modal-selecionar-outro__btn-close').addClass('ssp-card-modal-selecionar-outro__btn-close_'+oferta.indice); 
7128      antesCompraHTMLModal.insertAfter('#modalAntesCompraEmed'); 
7129       
7130      if(oferta.etapa == '0010'){ 
7131        if(oferta.permiteListaEspera == statusEmed.ESPERA){ 
7132          antesCompraHTMLModal.find('.textoEmedModalAntesCompra0010Espera').removeClass('d-none'); 
7133          antesCompraHTMLModal.find('#btnCompraLocalEmed').text('Ir para lista de espera'); 
7134        }else{ 
7135          antesCompraHTMLModal.find('.textoEmedModalAntesCompra0010').removeClass('d-none'); 
7136
7137      }else{ 
7138    	  antesCompraHTMLModal.find('.textoEmedModalAntesCompra0020e0030').removeClass('d-none'); 
7139
7140 
7141      const btnCompra = antesCompraHTMLModal.find('#btnCompraLocalEmed'); 
7142      btnCompra.attr('id', 'btnCompraLocalEmed_' + oferta.indice); 
7143      btnCompra.attr('offercode', oferta.codigoOferta); 
7144 
7145      btnCompra.on('click', function(ev){ 
7146        ev.preventDefault(); 
7147        execCompraEmed(oferta); 
7148      }); 
7149 
7150    }else{ 
7151    	 
7152   	 var dataEfetivaFormat = formataDataComBarra($('[name="dataEfetivaSTR"]').val()); 
7153 
7154   	 
7155     var antesCompraHTMLModal = htmlModalAntesCompra 
7156         .replace('\{nomeUnidade\}',$('#unidades-ofertas option:selected').text()) 
7157         .replace('\{textoFormatoHibrido\}', textoFormatoHibrido ) 
7158         .replace('\{localEspacoExterno\}', oferta.espacoExterno=="true"? oferta.localEspacoExterno:"" ) 
7159         .replace('\{classeTextoInfoLocalRealizacao\}', (oferta.ruaEspacoExterno != "" && !isHibrido) ? "" : "d-none") 
7160         .replace('\{classeEnderecoRealizacao\}', oferta.ruaEspacoExterno != ""  ? "" : "d-none") 
7161         .replace('\{ruaEspacoExterno\}',oferta.ruaEspacoExterno) 
7162         .replace('\{numeroEspacoExterno\}',oferta.numeroEspacoExterno) 
7163         .replace('\{complementoEspacoExterno\}',oferta.complementoEspacoExterno) 
7164         .replace('\{classeBairroRealizacao\}', oferta.bairroEspacoExterno != "" && oferta.ruaEspacoExterno != "" ? "" : "d-none") 
7165         .replace('\{bairroEspacoExterno\}',oferta.bairroEspacoExterno) 
7166         .replace('\{classeCidadeRealizacao\}', oferta.cidadeEspacoExterno != "" && oferta.ruaEspacoExterno != "" ? "" : "d-none") 
7167         .replace('\{cidadeEspacoExterno\}',oferta.cidadeEspacoExterno) 
7168         .replace('\{classeCepRealizacao\}', oferta.cepEspacoExterno != "" && oferta.ruaEspacoExterno != "" ? "" : "d-none") 
7169         .replace('\{cepEspacoExterno\}',oferta.cepEspacoExterno) 
7170         .replace('\{componentBuyConfirmation\}', componentBuyConfirmation(codigoUnidade, oferta, dataEfetivaFormat)) 
7171         .replace('\{linkBtnBolsa\}', linkBolsa(oferta)) 
7172        .replace(regIndex, index);   
7173 
7174        $('.oferta-slick-area_modal').append(antesCompraHTMLModal); 
7175        $('.oferta-slick-area_modal').find('.d-none-btn').remove(); 
7176
7177
7178    
7179   async function populaOfertas(ofertas){ 
7180     
7181     //Zera variável que controla existência de ofertas com bolsa 
7182    ofertasComBolsa = false; 
7183 
7184    objsTela.ofertas = ofertas; 
7185 
7186    if(ofertas && ofertas.length)  
7187      $('#ssp-h3-turmas').show() 
7188    else  
7189      $('#ssp-h3-turmas').hide() 
7190 
7191      if(ofertas && ofertas.length > 1){ 
7192        //remove dupl 
7193        const ofertasDistintas = []; 
7194        ofertas.forEach(oferta => { 
7195          if(ofertasDistintas.filter(dist => dist.codigoOferta == oferta.codigoOferta).length == 0){ 
7196            ofertasDistintas.push(oferta); 
7197
7198        }); 
7199        ofertas = ofertasDistintas; 
7200
7201        
7202     if(isEmed){ 
7203 
7204      $('.btn-filtro[value="0"]').attr('disabled',''); 
7205      $('.ssp-slick-ofertas-emed').empty(); 
7206      // executa a class do slick slider 
7207      $('.ssp-slick-ofertas-emed').removeClass('slick-initialized slick-slider slick-dotted'); 
7208      ofertas = filtraOfertasEtapa(getEtapaSelecionadaEmed(), ofertas); 
7209       
7210
7211 
7212     if(ofertas.length == 0){ 
7213        
7214      if($('#unidades-ofertas').val() || $('#chkInscricao').prop('checked') || $('#chkBolsa').prop('checked')) 
7215        hideCardSemTurmas(false) 
7216        
7217       $('.oferta-slick-area').empty(); 
7218       $('.prev-mobile, .next-mobile').addClass('d-none'); 
7219        
7220       //Mostrar section registro interesse quando nao tiver oferta 
7221       habilitarRegistroInteresse(true); 
7222 
7223        controlaPaginaBolsa() 
7224        if(isEmed) $('.btn-filtro[value="0"]').removeAttr('disabled'); 
7225       return; 
7226
7227      hideCardSemTurmas(true) 
7228      if(!isEmed) $('.prev-mobile, .next-mobile').removeClass('d-none'); 
7229      habilitarRegistroInteresse(false);     
7230     
7231     $('.oferta-slick-area').empty(); 
7232     $('.oferta-slick-area_modal').empty(); 
7233     ofertas = ofertas.sort(function(a, b){ 
7234       return ordenar(a, b, 'ordenar'); 
7235     }); 
7236     // executa a class do slick slider 
7237     $('.oferta-slick-area').removeClass('slick-initialized slick-slider slick-dotted'); 
7238      
7239     //busca o codigoUnidade para o link do ecommerce 
7240     if(!isAoVivo){ 
7241      var selectedUnidade = $('#unidades-ofertas').val().split('@')[0]; 
7242      for(var i=0;objsTela.unidades.length > i ;i++){ 
7243        if(selectedUnidade == objsTela.unidades[i].categoryId) 
7244          codigoUnidade = objsTela.unidades[i].codigoUnidade; 
7245
7246
7247      
7248    // Montar object push - google tag manager - 2 
7249    itensEcommerce = criaItensEcommerce(ofertas); 
7250    sendEventEcommerce("view_item_list", Array.from(itensEcommerce.values())); 
7251 
7252     for(var i=0;ofertas.length > i ;i++){ 
7253   
7254       var oferta = ofertas[i]; 
7255        
7256       //guardando a oferta no map para chamar ajax com infos de bolsa em tempo real 
7257       oferta['indice'] = i; 
7258       ofertasMap.set(oferta.codigoOferta, oferta); 
7259        
7260       if(isAoVivo) 
7261          codigoUnidade = ofertaUnidadeMap.get(oferta.codigoOferta); 
7262 
7263      if(isEmed && oferta.etapa == '0010'){ 
7264          try{ 
7265            let status = await getStatusEmed(oferta); 
7266            oferta['permiteListaEspera'] = status; 
7267          }catch(err){ 
7268            console.log(err); 
7269
7270
7271       montaHTMLOferta(oferta, i, codigoUnidade, false);  
7272       montaHTMLModalFormaPgto(oferta, i, codigoUnidade);  
7273       montaHTMLModalLocalRealizacao(oferta, i);  
7274       montaHTMLModalAntesCompra(oferta, i, codigoUnidade); 
7275       verificaBotaoBolsaSS(oferta); 
7276       verificaCursoAprendizagem(i); 
7277       verificaCursoTrampolim(i, oferta.codigoOferta); 
7278        
7279       associaEventoBtnFormaPagamento(i); 
7280       associaEventoBtnComprar(i);  
7281       associaEventoBtnComprarDentroFormaPgto(i); 
7282       associaEventoBtnLocalRealizacao(i); 
7283       associaEventosFecharModal(i); 
7284       
7285         if($('[name="tipoCurso"]').val() == 'extensao'){ 
7286             associaEventoBtnConheca(i);	 
7287             associaEventoBtnComprarConhecaDescontoOk(i); 
7288             associaEventoBtnComprarConhecaDescontoNot(i); 
7289             associaEventoBtnAlunoNao(i); 
7290             associaEventoBtnAlunoSim(i); 
7291
7292         
7293
7294   
7295     if(isEmed){ 
7296      sliderOfertasEmed(); 
7297      $('.btn-filtro[value="0"]').removeAttr('disabled'); 
7298
7299     else sliderOfertas(); 
7300 
7301     controlaPaginaBolsa() 
7302      
7303
7304 
7305   function hideCardSemTurmas(hide){ 
7306    if(!isEmed){ 
7307      if(hide) 
7308        $('.ssp-card-oferta-curso__sem-vaga').addClass('d-none'); 
7309      else 
7310        $('.ssp-card-oferta-curso__sem-vaga').removeClass('d-none'); 
7311    } else { 
7312      
7313 
7314      if(hide || getEtapaSelecionadaEmed() == "0"){ 
7315        $('.sem-vaga-emed').addClass('d-none'); 
7316      }else{ 
7317        $('.sem-vaga-emed').removeClass('d-none'); 
7318        if($('.sem-vaga-emed.emed-transferencias-space:not(.d-none)').length ) return; 
7319        var tamScreen = $(window).width(); 
7320        if(tamScreen < 768){ 
7321            $('.slick-area-emed').slick({ 
7322            slidesToShow: 2, 
7323            slidesToScroll: 2, 
7324            autoplay: false, 
7325            infinite: false, 
7326            dots: false, 
7327            arrows: false, 
7328            centerPadding: 0, 
7329                        centerMode: false, 
7330            responsive: [ 
7331
7332                    breakpoint: 768, 
7333                    settings: { 
7334                        slidesToShow: 1, 
7335                        slidesToScroll: 1, 
7336                        variableWidth: false, 
7337                        infinite: false, 
7338                        centerPadding: 0, 
7339                        centerMode: false, 
7340                        dots: true, 
7341
7342
7343
7344        }); 
7345
7346
7347
7348
7349    
7350   function verificaCursoAprendizagem(i){ 
7351 
7352      //Esconde elementsos quando o curso é aprendizagem 
7353      if($('[name="codigoFT"]').val() == codigoFTCursoAprendizagem){ 
7354         $('#btnComprar_'+i).remove(); 
7355         $('#container_investimento_'+i).remove(); 
7356         $('#container_forma_pgto_'+i).remove(); 
7357          
7358         var avisoAprendizagem = $('#aviso-curso-aprendizagem').clone(); 
7359         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>' 
7360         avisoAprendizagem.removeAttr('id'); 
7361         avisoAprendizagem.removeClass('d-none'); 
7362         $('.card_oferta_'+i+ ' .ssp-card-oferta-curso').append(avisoAprendizagem); 
7363         $('.card_oferta_'+i+ ' .ssp-card-oferta-curso').append(btnFormAprendizagem); 
7364
7365
7366    
7367   function verificaCursoTrampolim(i, codOferta){ 
7368     if(ehCursoTrampolim){ 
7369          $('#btnComprar_'+i).remove(); 
7370          $('#container_investimento_'+i).remove(); 
7371          $('#container_forma_pgto_'+i).remove(); 
7372          $('.ssp-card-oferta-curso .codigoOferta_'+codOferta).hide(); 
7373           
7374          var avisoTrampolim = $('#avisoTrampolim').clone(); 
7375          avisoTrampolim.removeAttr('id'); 
7376          avisoTrampolim.removeClass('d-none'); 
7377          $('.card_oferta_'+i+ ' .ssp-card-oferta-curso').append(avisoTrampolim); 
7378
7379
7380    
7381   function verificaBotoesEmed(dadosOferta, verificaBolsa){	            
7382          
7383       if(!verificaBolsa || !dadosOferta.dataAberturaBolsaOferta || dadosOferta.dataAberturaBolsaOferta == ''){ 
7384         dadosOferta.vagasBolsaOferta = false; 
7385         dadosOferta.botaoBolsaOferta = false; 
7386
7387 
7388       var elementoPai = $('.codigoOferta_'+dadosOferta.codigoOferta+' .ssp-ofertas-emed__card-info-investimento'); 
7389                  
7390            //calcula o tempo até abertura da bolsa, se houver (apenas depois das 08hrs) 
7391            var dadosAbertura = calculaTempoAberturaBolsa(dadosOferta.dataAberturaBolsaOferta, dadosOferta.horaAberturaBolsaOferta); 
7392              var textoBotao = 'Fazer matrícula'; 
7393              var textoBotaoBolsa = ''; 
7394              var classeBotao = ''; 
7395              var classeBotaoBolsa = ''; 
7396              var exibirBotaoBolsa = false; 
7397              var exibirContador = false; 
7398              var htmlBotaoBolsa = ''; 
7399              var htmlBotao = ''; 
7400                 
7401              //verifica se o botão de concorrer a bolsa deve aparecer 
7402              //Oferta EMED possui bolsa apenas no 1o ano 
7403              if(dadosOferta.etapa == '0010' && dadosOferta.botaoBolsaOferta && !dadosAbertura.exibirContador){ 
7404                exibirBotaoBolsa = true; 
7405                if($('#manutencao-bolsa').val()){ 
7406                  classeBotaoBolsa = 'disabled manutencao'; 
7407                  textoBotaoBolsa = $('#manutencao-bolsa').val(); 
7408                }else{ 
7409                  if(dadosOferta.vagasBolsaOferta){ 
7410                    classeBotaoBolsa = dadosAbertura.bolsaJaAberta ? '' : 'disabled'; 
7411                    textoBotaoBolsa = dadosAbertura.bolsaJaAberta ? 'Bolsa de estudo' : 'Bolsa em '+formataDataAberturaBolsa(dadosOferta.dataAberturaBolsaOferta, dadosOferta.horaAberturaBolsaOferta); 
7412                  }else{ 
7413                    classeBotaoBolsa = 'disabled'; 
7414                    textoBotaoBolsa = 'Bolsas de Estudo Esgotadas'; 
7415
7416
7417
7418                   
7419                  //Verifica se o botão do cronômetro deve aparecer 
7420                  if(dadosAbertura.exibirContador){ 
7421                    textoBotao = dadosAbertura.textoContador; 
7422                    textoBotaoBolsa = dadosAbertura.textoContador; 
7423                    exibirContador = true; 
7424                    exibirBotaoBolsa = false; 
7425                  }else{ 
7426                    if($('#manutencao-compra').val()){ 
7427                      textoBotao = $('#manutencao-compra').val(); 
7428                      classeBotao = 'disabled manutencao'; 
7429                    }else{ 
7430 
7431                      if(dadosOferta.permiteListaEspera == statusEmed.ESPERA && dadosAbertura.bolsaJaAberta){ 
7432                        textoBotao = 'Lista de espera'; 
7433                        classeBotao = 'btn-emed-lista-espera'; 
7434                      }else{ 
7435                        classeBotao = ''; 
7436                        if (dadosAbertura.bolsaJaAberta || !dadosOferta.dataAberturaBolsaOferta || dadosOferta.dataAberturaBolsaOferta == ''){ 
7437                          textoBotao = 'Fazer matrícula'; 
7438                           
7439                          if(dadosOferta.etapa == '0020' || dadosOferta.etapa == '0030'){ 
7440                            textoBotao = 'Lista de espera'; 
7441                            classeBotao = 'btn-emed-lista-espera'; 
7442
7443                           
7444                           
7445                        }else{ 
7446                          textoBotao = 'Matrícula em '+formataDataAberturaBolsa(dadosOferta.dataAberturaBolsaOferta, dadosOferta.horaAberturaBolsaOferta); 
7447
7448                        if(!dadosAbertura.bolsaJaAberta)  
7449                          classeBotao = 'disabled'; 
7450
7451                    }                                 
7452                     
7453                      criaBotaoInscreverEmed(dadosOferta, textoBotao, classeBotao, 'btnComprarEmed_' + dadosOferta.indice, elementoPai); 
7454
7455                 
7456              if(exibirBotaoBolsa){ 
7457                   
7458              if(!ofertasComBolsa) ofertasComBolsa = true; 
7459 
7460                criaBotaoBolsaEmed(dadosOferta, textoBotaoBolsa, classeBotaoBolsa); 
7461                     
7462              }else if(exibirContador){ 
7463 
7464                if(!ofertasComBolsa && dadosOferta.etapa == '0010') ofertasComBolsa = true; 
7465 
7466                //codigoOferta como index para usar o ofertasMap 
7467                htmlBotao = '<button id="btnContadorComprar_'+ dadosOferta.indice +'" data-index="'+ dadosOferta.codigoOferta +'" class="btn btn-card-investimento --inscreva-se">Matrícula em <span>'+textoBotao+'</span></button>'; 
7468                elementoPai.append(htmlBotao); 
7469                 
7470                if(dadosOferta.etapa == '0010' && dadosOferta.botaoBolsaOferta){ 
7471                    htmlBotao = '<button id="btnContadorBolsa_'+ dadosOferta.indice +'" data-index="'+ dadosOferta.codigoOferta +'" class="btn btn-card-investimento --bolsas">Bolsa em <span>'+textoBotaoBolsa+'</span></button>'; 
7472                    elementoPai.append(htmlBotao); 
7473
7474                   
7475
7476 
7477
7478    
7479   function criaBotaoInscreverEmedModal(oferta, textoBotao, classeBotao, idBotao, elementoPai, index){ 
7480     criaBotaoInscreverEmed(oferta, textoBotao, classeBotao, idBotao, elementoPai); 
7481     var btnInscr = elementoPai.find('#btnComprarEmedModal_' + index); 
7482     btnInscr.removeClass(btnInscr.classList); 
7483     btnInscr.addClass('btn btn-lg btn-success w-100'); 
7484     btnInscr.attr('style', 'margin-top: 20px;font-weight:600'); 
7485      
7486     //Reposiciona o botao voltar 
7487     var btnVoltar = elementoPai.find('.ssp-btn-emed__voltar-curso'); 
7488     elementoPai.find('.ssp-btn-emed__voltar-curso').remove(); 
7489     elementoPai.append(btnVoltar); 
7490     btnVoltar.addClass('ssp-btn-emed__voltar-curso_'+index); 
7491     btnVoltar.click(() => { 
7492    	 $('[id^="myModal_"]').each(function(index,modal){ 
7493			modal.style.display = "none"; 
7494		}) 
7495	}); 
7496
7497    
7498   function preencheDadosEmedModal(oferta,$modal){ 
7499	   const parcelaEntrada = 1; 
7500	   $modal.find('.numParcelaCartoesBoleto').text(oferta.numeroMaxParcelasOferta - parcelaEntrada); 
7501	   $modal.find('.precoParcelaCartoesBoleto').text(formataValor(oferta.precoVendaMaxParcelaOferta)); 
7502	   $modal.find('.numParcelaEmedModal').text(oferta.numeroMaxParcelasOferta - parcelaEntrada); 
7503	   $modal.find('.precoParcelaEmedModal').text(formataValor(oferta.precoVendaMaxParcelaOferta)); 
7504
7505 
7506    
7507   function criaBotaoInscreverEmed(oferta, textoBotao, classeBotao, idBotao, elementoPai){ 
7508      if(oferta.permiteListaEspera && oferta.permiteListaEspera == statusEmed.NAO_ENCONTRADA) return; 
7509       var htmlBotao = '<button id="'+ idBotao +'" data-index="'+ oferta.indice +'" class="btn btn-card-investimento --inscreva-se '+ classeBotao +'"><span>'+textoBotao+'</span></button>'; 
7510      elementoPai.append(htmlBotao); 
7511              
7512      if(!classeBotao.includes('disabled')){ 
7513       
7514        elementoPai.on("click", '#'+ idBotao, function(ev){ 
7515          ev.preventDefault(); 
7516          const _modal = $('#modalAntesCompraEmed_'+$(this).data('index')); 
7517          _modal.css('display','flex'); 
7518           
7519           
7520        }); 
7521         
7522
7523 
7524
7525    
7526   function criaBotaoBolsaEmed(oferta, textoBotaoBolsa, classeBotaoBolsa=""){ 
7527      
7528     var htmlBotao = '<a id="btnBolsa_'+ oferta.indice +'" data-index="'+ oferta.indice +'" class="btn btn-card-investimento --bolsas '+ classeBotaoBolsa +'">'+ textoBotaoBolsa +'</a>'; 
7529     $('.codigoOferta_'+oferta.codigoOferta+' .ssp-ofertas-emed__card-info-investimento').append(htmlBotao); 
7530       
7531     if(!classeBotaoBolsa.includes('disabled')){ 
7532       // Associa o evento de clique no botão de bolsa 
7533       $('#btnBolsa_'+oferta.indice).attr('href', linkBolsa(oferta)); 
7534       $('#btnBolsa_'+oferta.indice).attr('target', '_blank'); 
7535       //$('#btnBolsa_'+oferta.indice).attr('style', 'text-transform:uppercase;'); 
7536 
7537
7538
7539    
7540   function criaBotaoBolsa(oferta, textoBotaoBolsa, classeBotaoBolsa=""){ 
7541	    
7542	   const botao = $('<a>'+ textoBotaoBolsa +'</a>'); 
7543	   botao.attr('id', 'btnBolsa_' + oferta.indice); 
7544	   botao.attr('data-index', oferta.indice); 
7545	   botao.attr('class', 'btn btn-lg btn-info w-100 mt-3 ' + (classeBotaoBolsa || '')); 
7546	   botao.css('font-size', '14px'); 
7547	   botao.css('font-weight', '600'); 
7548	   botao.css('background-color', '#004EFF'); 
7549	   if(!classeBotaoBolsa.includes('disabled')){ 
7550		   if(oferta.espacoExterno == 'true' || (isHibrido && temTextoParaFormatoHibrido)){ 
7551			   botao.attr('data-espaco-ex', 'true'); 
7552			   botao.click((ev)=>{  
7553					 ev.preventDefault();  
7554			         $('#btnCompraLocal_'+oferta.indice).hide(); 
7555			         $('#btnBolsaLocal_'+oferta.indice).show(); 
7556			         const _modal = $('#modalAntesCompra_'+oferta.indice); 
7557			         _modal.css('display','flex'); 
7558				}); 
7559		   }else{ 
7560		   botao.attr('href', linkBolsa(oferta)); 
7561		   botao.attr('target', '_blank'); 
7562
7563
7564	    
7565	   return botao; 
7566    
7567
7568 
7569   function verificaBotaoBolsaSS(oferta, codigoUnidade){ 
7570 
7571      
7572     if(!isEmed && (!oferta.dataAberturaBolsaOferta || oferta.dataAberturaBolsaOferta == '') ) return; 
7573      
7574     if(!ehCursoTrampolim){ 
7575       $.ajax({ 
7576             url :  getUrlConsultaBolsa(oferta), 
7577             type : 'get', 
7578             dataType: 'json', 
7579             beforeSend: function (xhr) { 
7580             xhr.setRequestHeader ("Authorization", "KGG4KMW5s0CVowr7d6y6Ww=="); 
7581             }, 
7582         }) 
7583         .done(function(infosBolsa){ 
7584 
7585            
7586           if(infosBolsa != null && typeof infosBolsa !== 'undefined'){ 
7587        	    
7588             var codigoOfertaRetornoBolsa = infosBolsa.DATA[0].COD_EVENTO; 
7589             var retornoOfertaBolsaSenac = infosBolsa.DATA[0]; 
7590			  
7591			 //Sobrescreve as flags de bolsa com o retorno do serviço SS 
7592             ofertasMap.get(codigoOfertaRetornoBolsa).vagasBolsaOferta = retornoOfertaBolsaSenac.TEM_VAGA_BOLSA; 
7593             ofertasMap.get(codigoOfertaRetornoBolsa).botaoBolsaOferta = retornoOfertaBolsaSenac.BOTAO_BOLSA; 
7594			  
7595             var dadosOferta = ofertasMap.get(codigoOfertaRetornoBolsa); 
7596              
7597             //calcula o tempo até abertura da bolsa, se houver (apenas depois das 08hrs) 
7598             var dadosAberturaBolsa = calculaTempoAberturaBolsa(dadosOferta.dataAberturaBolsaOferta, dadosOferta.horaAberturaBolsaOferta, dadosOferta.botaoBolsaOferta); 
7599             var textoBotaoBolsa = ''; 
7600             var classeBotaoBolsa = ''; 
7601             var textoBotaoContadorBolsa = ''; 
7602             var exibirBotaoBolsa = false; 
7603             var exibirContadorBolsa = false; 
7604              
7605             //EMED 
7606           if(isEmed){ 
7607             verificaBotoesEmed(ofertasMap.get(codigoOfertaRetornoBolsa), true); 
7608             return; 
7609
7610              
7611             //Verifica o texto do botão de bolsa 
7612            if($('#manutencao-bolsa').val()) textoBotaoBolsa = $('#manutencao-bolsa').val(); 
7613            else{ 
7614 
7615              if(retornoOfertaBolsaSenac.TEM_VAGA_BOLSA){ 
7616                             
7617                if(dadosAberturaBolsa.bolsaJaAberta) 
7618                  textoBotaoBolsa = "Inscrever para bolsa de estudo"; 
7619                   
7620                else 
7621                  textoBotaoBolsa = "Inscrições para bolsas a partir de "+formataDataAberturaBolsa(dadosOferta.dataAberturaBolsaOferta, dadosOferta.horaAberturaBolsaOferta); 
7622 
7623                  if(!ofertasComBolsa){ ofertasComBolsa = true; 
7624
7625              }else 
7626                textoBotaoBolsa = "Vagas esgotadas para bolsas de estudo"; 
7627
7628                 
7629             //verifica se o botão de concorrer a bolsa deve aparecer 
7630             if(retornoOfertaBolsaSenac.BOTAO_BOLSA && !dadosAberturaBolsa.exibirContador){ 
7631                
7632               exibirBotaoBolsa = true; 
7633 
7634               if(!ofertasComBolsa) ofertasComBolsa = true; 
7635                
7636               if(retornoOfertaBolsaSenac.TEM_VAGA_BOLSA && dadosAberturaBolsa.bolsaJaAberta && !$('#manutencao-bolsa').val()){ 
7637                   classeBotaoBolsa = ''; 
7638               }else{ 
7639                   classeBotaoBolsa = 'disabled'; 
7640
7641
7642              
7643             //Verifica se o botão do cronômetro deve aparecer 
7644             if(dadosAberturaBolsa.exibirContador && !$('#manutencao-bolsa').val()){ 
7645               textoBotaoContadorBolsa = dadosAberturaBolsa.textoContador; 
7646               exibirContadorBolsa = true; 
7647
7648              
7649             if(exibirBotaoBolsa) 
7650                $('.codigoOferta_'+codigoOfertaRetornoBolsa+' .ssp-card-oferta-curso .ssp-container-botao-bolsa').append( criaBotaoBolsa(dadosOferta, textoBotaoBolsa, classeBotaoBolsa) ) 
7651             else if(exibirContadorBolsa) 
7652                $('.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>') 
7653             else { 
7654                $('.codigoOferta_'+codigoOfertaRetornoBolsa+'.content-btn-bolsa').hide() 
7655                $('.show-price-content.codigoOferta_'+oferta.codigoOferta + ' .ou-separator-desconto').hide() 
7656             }      
7657                                   
7658           }else{ 
7659             //EMED 
7660              if(isEmed){ 
7661                verificaBotoesEmed(oferta, false); 
7662
7663
7664 
7665           controlaPaginaBolsa() 
7666         }) 
7667         .fail(function(){  
7668           $('.content-btn-bolsa.codigoOferta_'+oferta.codigoOferta).hide() 
7669           $('.show-price-content.codigoOferta_'+oferta.codigoOferta + ' .ou-separator-desconto').hide() 
7670 
7671             //EMED 
7672           if(isEmed){ 
7673             verificaBotoesEmed(oferta, false); 
7674
7675         }); 
7676          
7677          
7678
7679      
7680
7681 
7682   function controlaPaginaBolsa(){ 
7683    if(ofertasComBolsa) 
7684      $("#ssp-abrir-pagina-bolsa").removeClass("d-none") 
7685    else 
7686      $("#ssp-abrir-pagina-bolsa").addClass("d-none") 
7687
7688 
7689   function associaEventoBtnFormaPagamento(i){ 
7690      var modal = document.getElementById("myModal_"+i); 
7691 
7692      var btn = document.getElementById("myBtn_"+i); 
7693 
7694      if(btn!=null){ 
7695         btn.onclick = function(ev) { 
7696             event.preventDefault() 
7697               
7698               $('#modalExtAluno_'+i).addClass('d-none'); 
7699                
7700             var elem = $(ev.target); 
7701             var _modal = document.getElementById( 
7702                 'myModal_'+elem.data('index')); 
7703             _modal.style.display = "block"; 
7704               $('#myModal_'+i).find('.modal-extensao_content:first-child').removeClass('d-none'); 
7705                
7706
7707
7708      
7709       
7710      
7711       
7712
7713    
7714  	    
7715   function actionBtnComprar(elem){ 
7716            
7717        // Montar object push - google tag manager - 3 
7718        ofertaSelecionada = itensEcommerce.get(elem.attr('data-evento')) 
7719        sendEventEcommerce("select_item", ofertaSelecionada); 
7720        sendEventEcommerce("view_item", ofertaSelecionada); 
7721                
7722               //Verifica se deve exibir o modal com a localização 
7723               if(elem.attr('data-espaco-ex') == 'true'){ 
7724         $('#btnCompraLocal_'+elem.data('index')).show(); 
7725 
7726         //Limpa onclicks para nao repetir execucao 
7727         $('#modalAntesCompra_'+elem.data('index')).off('click', '#btnCompraLocal_'+elem.data('index')) 
7728         $('#modalAntesCompra_'+elem.data('index')).on('click', '#btnCompraLocal_'+elem.data('index'), function () { 
7729          // Montar object push - google tag manager - 4 
7730          sendEventEcommerce("add_to_cart", ofertaSelecionada); 
7731          if( elem.attr('data-destino-compra') != '2' ) 
7732            sendEventEcommerce("begin_checkout", ofertaSelecionada); 
7733         }) 
7734         $('#btnBolsaLocal_'+elem.data('index')).hide(); 
7735         const _modal = $('#modalAntesCompra_'+elem.data('index')); 
7736         _modal.css('display','flex'); 
7737               }else{ 
7738                 var urlCompra  = linkBotaoCompra.replace('\{codigoUnidade\}', elem.attr('data-unidade')).replace('\{codigoOferta\}', elem.attr('data-evento')); 
7739     
7740                 if( elem.attr('data-destino-compra') == '2' ){ 
7741                	 var dataEfetivaFormat = formataDataComBarra($('[name="dataEfetivaSTR"]').val()); 
7742	                  	 
7743                	 addItemBackpack(elem.attr('data-evento'), '#' + elem.attr('id'),elem.attr('data-unidade'), dataEfetivaFormat);    
7744    
7745                 }else{ 
7746                	 window.open(urlCompra, '_blank'); 
7747
7748
7749 
7750        
7751                  
7752
7753    
7754   function associaEventoBtnComprar(i){ 
7755	   var btnComprar = document.getElementById("btnComprar_"+i); 
7756	    
7757	   if(btnComprar != null && !btnComprar.classList.contains('disabled')){ 
7758         btnComprar.onclick = function(ev) { 
7759            
7760               ev.preventDefault() 
7761               var elem = $(ev.target); 
7762               actionBtnComprar(elem); 
7763                
7764
7765
7766
7767    
7768   function associaEventoBtnComprarDentroFormaPgto(i){ 
7769	   var btnComprarFormaPgto = document.getElementById("btnComprarFormaPgto_"+i); 
7770	    
7771	   if(btnComprarFormaPgto != null && !btnComprarFormaPgto.classList.contains('disabled')){ 
7772         btnComprarFormaPgto.onclick = function(ev) { 
7773               event.preventDefault() 
7774                 var elem =  $('#btnComprarFormaPgto_'+i); 
7775               actionBtnComprar(elem); 
7776
7777
7778
7779      
7780     function associaEventoBtnComprarConhecaDescontoOk(i){ 
7781       var btnComprarConhecaDescontoOk = document.getElementById("btnComprarConhecaDescontoOk_"+i); 
7782        
7783       if(btnComprarConhecaDescontoOk != null){ 
7784         btnComprarConhecaDescontoOk.onclick = function(ev) { 
7785                 event.preventDefault() 
7786               var elem = $(ev.target); 
7787                 actionBtnComprar(elem); 
7788
7789
7790
7791    
7792     function associaEventoBtnComprarConhecaDescontoNot(i){ 
7793       var btnComprarConhecaDescontoNot = document.getElementById("btnComprarConhecaDescontoNot_"+i); 
7794        
7795       if(btnComprarConhecaDescontoNot != null){ 
7796         btnComprarConhecaDescontoNot.onclick = function(ev) { 
7797                 event.preventDefault() 
7798                 var elem =  $(ev.target); 
7799                 actionBtnComprar(elem); 
7800
7801
7802
7803      
7804     function associaEventoBtnAlunoNao(i){ 
7805       var btnAlunoNao = document.getElementById("btn-aluno-nao_"+i); 
7806        
7807       if(btnAlunoNao != null){ 
7808         btnAlunoNao.onclick = function(ev) { 
7809                 event.preventDefault() 
7810                 var elem =  $(ev.target); 
7811                 elem.addClass('modal-extensao-btn-aluno-sim-ativo'), 
7812                 elem.closest('.sim').removeClass('modal-extensao-btn-aluno-sim-ativo'); 
7813                 elem.parent().siblings().find('button').removeClass('modal-extensao-btn-aluno-sim-ativo') 
7814                 $('#msg-alunoNao_'+i).removeClass('d-none'); 
7815                 $('#msg-alunoSim_'+i).addClass('d-none');      
7816
7817
7818
7819        
7820     function associaEventoBtnAlunoSim(i){ 
7821       var btnAlunoSim = document.getElementById("btn-aluno-sim_"+i); 
7822        
7823       if(btnAlunoSim != null){ 
7824         btnAlunoSim.onclick = function(ev) { 
7825                 event.preventDefault() 
7826                 var elem =  $(ev.target); 
7827                 elem.addClass('modal-extensao-btn-aluno-sim-ativo'), 
7828                 elem.closest('.nao').removeClass('modal-extensao-btn-aluno-sim-ativo'); 
7829                 elem.parent().siblings().find('button').removeClass('modal-extensao-btn-aluno-sim-ativo') 
7830                 $('#msg-alunoSim_'+i).removeClass('d-none'); 
7831                 $('#msg-alunoNao_'+i).addClass('d-none');              
7832                  
7833
7834
7835     }	    
7836      
7837     function associaEventoBtnConheca(i){ 
7838       var btnModalExtConheca = document.getElementById("btnModalExtConheca_"+i); 
7839        
7840       if(btnModalExtConheca != null){ 
7841         btnModalExtConheca.onclick = function(ev) { 
7842                 event.preventDefault(); 
7843                 var elem =  $(ev.target); 
7844                 elem.closest('.modal-extensao_content').addClass('d-none'); 
7845                 $('#modalExtAluno_'+i).removeClass('d-none'); 
7846                 $('#msg-alunoSim_'+i).addClass('d-none'); 
7847                 $('#msg-alunoNao_'+i).addClass('d-none'); 
7848                 $('#btn-aluno-sim_'+i).removeClass('modal-extensao-btn-aluno-sim-ativo'); 
7849                 $('#btn-aluno-nao_'+i).removeClass('modal-extensao-btn-aluno-sim-ativo'); 
7850 
7851
7852
7853
7854      
7855   function associaEventoBtnLocalRealizacao(i){ 
7856	   var btnLocalRealizacao = document.getElementById("btnLocalRealizacao_"+i); 
7857	    
7858	   if(btnLocalRealizacao!=null){ 
7859         btnLocalRealizacao.onclick = function(ev) { 
7860                 event.preventDefault(); 
7861               var elem = $(ev.target); 
7862               var _modal = document.getElementById( 
7863                   'modalLocalRealizacao_'+elem.data('index')); 
7864               _modal.style.display = "flex"; 
7865
7866
7867
7868 
7869   function associaEventosFecharModal(i){ 
7870 
7871      var span = document.getElementsByClassName("ssp-card-modal-forma-pagamento__btn-close_"+i); 
7872      var closeModalLocalRealizacao = document.getElementsByClassName("ssp-card-modal-local-realizacao__btn-close_"+i)[0]; 
7873       var closeModalAntesCompra = document.getElementsByClassName("ssp-card-modal-antes-compra__btn-close_"+i)[0]; 
7874       var closeModalSelecionarOutro = document.getElementsByClassName("ssp-card-modal-selecionar-outro__btn-close_"+i)[0]; 
7875       var btnEntendiLocalRealizacao = document.getElementsByClassName("ssp-modal-local-realizacao__btn_"+i)[0]; 
7876       var closeModalBotaoBolsa = document.getElementById("btnBolsaLocal_"+i) 
7877 
7878       if(isEmed){ 
7879    	   var closeModalFormaPagamento = document.getElementsByClassName("ssp-btn-emed__voltar-curso_"+i); 
7880   	      for (const val of closeModalFormaPagamento) {  
7881 
7882   	    	  val.onclick = function() { 
7883   	        	 $('[id^="myModal_"]').each(function(index,modal){ 
7884   	           	 	modal.style.display = "none"; 
7885   	        	 }); 
7886
7887   	      }; 
7888
7889        
7890	  //event close modal 
7891      for (const val of span) {  
7892 
7893    	  val.onclick = function() { 
7894        	 $('[id^="myModal_"]').each(function(index,modal){ 
7895           	 	modal.style.display = "none"; 
7896        	 }); 
7897
7898      }; 
7899   
7900      closeModalLocalRealizacao.onclick = function() { 
7901   
7902           $('[id^="modalLocalRealizacao_"]').each(function(index,modal){ 
7903             modal.style.display = "none"; 
7904              
7905           }); 
7906
7907 
7908       closeModalAntesCompra.onclick = function() { 
7909          
7910           $('[id^="modalAntesCompra_"], [id^="modalAntesCompraEmed_"]').each(function(index,modal){ 
7911             modal.style.display = "none"; 
7912           }); 
7913
7914 
7915       closeModalSelecionarOutro.onclick = function() { 
7916          
7917      $('[id^="modalAntesCompra_"], [id^="modalAntesCompraEmed_"]').each(function(index,modal){ 
7918          modal.style.display = "none"; 
7919        }); 
7920
7921          
7922       btnEntendiLocalRealizacao.onclick = function() { 
7923          
7924           $('[id^="modalLocalRealizacao_"]').each(function(index,modal){ 
7925             modal.style.display = "none"; 
7926           }); 
7927
7928		 
7929       if(closeModalBotaoBolsa != null){ 
7930	       closeModalBotaoBolsa.onclick = function() { 
7931	          
7932	         $('[id^="modalAntesCompra_"], [id^="modalAntesCompraEmed_"]').each(function(index,modal){ 
7933	             modal.style.display = "none"; 
7934	           }); 
7935
7936
7937 
7938       // When the user clicks anywhere outside of the modal, close it 
7939       window.onclick = function(event) { 
7940   
7941         $('[id^="myModal_"]').each(function(index,_modal){ 
7942             if (event.target == _modal)  
7943              _modal.style.display = "none"; 
7944         }); 
7945         $('[id^="modalLocalRealizacao_"]').each(function(index,_modal){ 
7946             if (event.target == _modal)  
7947              _modal.style.display = "none"; 
7948         }); 
7949          
7950         $('[id^="modalAntesCompra_"], [id^="modalAntesCompraEmed_"]').each(function(index,_modal){ 
7951             if (event.target == _modal)  
7952              _modal.style.display = "none"; 
7953         }); 
7954
7955
7956    
7957   function turmasIniciadas(dataInicioCurso){ 
7958     
7959      var hoje = new Date();  
7960      var dataInicioPartes = dataInicioCurso.split('/');  
7961      var dataInicioCursoOferta = new Date(dataInicioPartes[2], dataInicioPartes[1] - 1, dataInicioPartes[0] , hoje.getHours(),hoje.getMinutes(),hoje.getSeconds(),hoje.getMilliseconds()); 
7962 
7963      return dataInicioCursoOferta.getTime() <= hoje.getTime(); 
7964
7965    
7966    
7967   function concatSTR(str1, str2, separador){ 
7968   
7969     if(str2){ 
7970   
7971       return str1+separador+str2; 
7972
7973     return str1; 
7974
7975    
7976   //Formata exibicao de datas conforme especificacao GCR 
7977   function formataPeriodo(dataInicio, dataFim){ 
7978     
7979      var dtInicioPartes = dataInicio.split('/'); 
7980      var dtFimPartes = dataFim.split('/'); 
7981       
7982      //Não exibir o número zero antes dos números e o dia 1 como 1º 
7983      var dInicioFormatada = (parseInt(dtInicioPartes[0].trim()) == 1 ? '1º' : parseInt(dtInicioPartes[0].trim())) +'/'+parseInt(dtInicioPartes[1].trim())+'/'+dtInicioPartes[2].trim(); 
7984      var dFimFormatada = (parseInt(dtFimPartes[0].trim()) == 1 ? '1º' : parseInt(dtFimPartes[0].trim())) +'/'+parseInt(dtFimPartes[1].trim())+'/'+dtFimPartes[2].trim(); 
7985     
7986      //Quando um curso inicia e finaliza dentro do mesmo ano: 17/2 a 25/4/2020 
7987      if(dtInicioPartes[2].trim() == dtFimPartes[2].trim()){ 
7988         
7989        dInicioFormatada = (parseInt(dtInicioPartes[0].trim()) == 1 ? '1º' : parseInt(dtInicioPartes[0].trim()))+'/'+parseInt(dtInicioPartes[1].trim()); 
7990         
7991        //Quando um curso inicia e finaliza dentro do mesmo mês: 5 a 30/4/2020 
7992        if(dtInicioPartes[1].trim() == dtFimPartes[1].trim()) 
7993          dInicioFormatada = (parseInt(dtInicioPartes[0].trim()) == 1 ? '1º' : parseInt(dtInicioPartes[0].trim())); 
7994
7995     
7996    return dInicioFormatada + ' a ' + dFimFormatada; 
7997
7998    
7999  //Decrementa os contadores de abertudas de bolsa 
8000   function atualizaTempoAberturasBolsas() { 
8001   
8002	  var btnsContador = (isEmed) ? $('[id^="btnContadorBolsa_"], [id^="btnContadorComprar_"]') : $('[id^="btnContadorBolsa_"]'); 
8003	   
8004    btnsContador.each(function() { 
8005       
8006      var index = $(this).data('index'); 
8007      var btnContent = $(this).parent('.ssp-btn-group__content'); 
8008       
8009      if(isEmed){ 
8010     		//EMED filtra ofertas e usa outra lista para referenciar as ofertas carregadas 
8011    	  var dadosAberturaBolsa = calculaTempoAberturaBolsa(ofertasMap.get('' +index).dataAberturaBolsaOferta, ofertasMap.get('' + index).horaAberturaBolsaOferta); 
8012      }else{ 
8013          	//calcula o tempo até abertura da bolsa, se houver (apenas depois das 08hrs) 
8014      var dadosAberturaBolsa = calculaTempoAberturaBolsa(objsTela.ofertas[index].dataAberturaBolsaOferta, objsTela.ofertas[index].horaAberturaBolsaOferta, objsTela.ofertas[index].botaoBolsaOferta); 
8015
8016       
8017      $(this).find('span').text(dadosAberturaBolsa.hours+':'+dadosAberturaBolsa.minutes+':'+dadosAberturaBolsa.seconds); 
8018       
8019      //Se esgotou o contador 
8020      if(dadosAberturaBolsa.hours == 0 && dadosAberturaBolsa.minutes == 0 && dadosAberturaBolsa.seconds == 0){ 
8021         
8022    	var elId = $(this).attr('id'); 
8023    	   
8024        //remove o contador 
8025        $(this).remove(); 
8026         
8027        //Habilitar inscrição EMED 
8028        if(isEmed){ 
8029          var ofertaEmed = ofertasMap.get('' +index); 
8030        var elementoPai = $('.codigoOferta_'+ofertaEmed.codigoOferta+' .ssp-ofertas-emed__card-info-investimento'); 
8031         
8032          if(elId.indexOf('btnContadorBolsa') >= 0){ 
8033              if($('#manutencao-bolsa').val())   
8034                criaBotaoBolsaEmed(ofertaEmed, $('#manutencao-bolsa').val(), 'disabled manutencao'); 
8035              else if(ofertaEmed.vagasBolsaOferta == true || ofertaEmed.vagasBolsaOferta == "true") 
8036                criaBotaoBolsaEmed(ofertaEmed, 'Bolsa de estudo', ''); 
8037              else 
8038                criaBotaoBolsaEmed(ofertaEmed, 'Bolsas de Estudo Esgotadas', 'disabled'); 
8039          }else if(elId.indexOf('btnContadorComprar') >= 0){ 
8040	       		 
8041        	  	var textoBotao, classeBotao; 
8042        	   
8043              textoBotao = $('#manutencao-compra').val() || 'Fazer matrícula'; 
8044              classeBotao = $('#manutencao-compra').val() ? 'disabled manutencao' : ''; 
8045             
8046 
8047            criaBotaoInscreverEmed(ofertaEmed, textoBotao, classeBotao, 'btnComprarEmed_' + ofertaEmed.indice, elementoPai); 
8048             
8049            //Altera o botao do modal de pagamento 
8050            var btnIndex = elId.slice(elId.indexOf('_')+1); 
8051            var modal = $('#myModal_' + btnIndex).find('.ssp-card-modal-forma-pagamento'); 
8052            var btnModal = modal.find('#btnComprarEmedModal_' + btnIndex); 
8053            if(btnModal){ 
8054              btnModal.remove();					   
8055              criaBotaoInscreverEmedModal(ofertaEmed, textoBotao, classeBotao, 'btnComprarEmedModal_' + btnIndex, modal, btnIndex); 
8056              preencheDadosEmedModal(ofertaEmed,modal); 
8057
8058 
8059 
8060          }	         
8061           
8062        }else{ 
8063         
8064	        //Checa as condições das vagas do botão de bolsa 
8065          var btnBolsaHTML = null; 
8066          if($('#manutencao-bolsa').val())   
8067            btnBolsaHTML = criaBotaoBolsa(objsTela.ofertas[index], $('#manutencao-bolsa').val(), 'disabled manutencao'); 
8068	        else if(objsTela.ofertas[index].vagasBolsaOferta == true || objsTela.ofertas[index].vagasBolsaOferta == "true") 
8069        	  btnBolsaHTML = criaBotaoBolsa(objsTela.ofertas[index], 'Inscrever para bolsa de estudo'); 
8070	        else 
8071        	  btnBolsaHTML = criaBotaoBolsa(objsTela.ofertas[index], 'Vagas esgotadas para bolsas de estudo', 'disabled'); 
8072	         
8073            $('.codigoOferta_'+ objsTela.ofertas[index].codigoOferta +'.ssp-container-botao-bolsa').append(btnBolsaHTML); 
8074	         
8075 
8076
8077
8078       
8079    }); 
8080    
8081
8082    
8083   // Retorna um objeto com o tempo de abertura da bolsa, em horas, minutos e segundos 
8084    function calculaTempoAberturaBolsa(dataAberturaBolsa, horaAberturaBolsa, botaoBolsa){ 
8085       
8086        var dadosAberturaBolsa = { 
8087              days : '', 
8088            hours : '', 
8089            minutes : '', 
8090            seconds : '', 
8091            bolsaJaAberta: false, 
8092            exibirContador: false, 
8093            textoContador: '' 
8094          }; 
8095       
8096      if(dataAberturaBolsa.length == 0 || horaAberturaBolsa.length == 0) 
8097         return dadosAberturaBolsa; 
8098       
8099      var now = todayG; 
8100      var dia = now.getDate(); 
8101      var horarioDia = now.getHours(); 
8102         
8103      var tempoRestante= tempoRestanteAberturaBolsa(dataAberturaBolsa, horaAberturaBolsa); 
8104       
8105      //console.log('tempo restante '+tempoRestante); 
8106       
8107      var diaAberturaBolsa = dataAberturaBolsa.split('-')[2]; 
8108     
8109      var delta = tempoRestante / 1000; 
8110       
8111      var days = Math.floor(delta / 86400); 
8112       
8113      delta -= days * 86400; 
8114       
8115      var hours = Math.floor(delta / 3600) % 24; 
8116      delta -= hours * 3600; 
8117       
8118      var minutes = Math.floor(delta / 60) % 60; 
8119      delta -= minutes * 60; 
8120       
8121      var seconds = Math.floor(delta % 60); 
8122       
8123      //Zerar contador para data que ja passou 
8124      if(days < 0){ 
8125          dadosAberturaBolsa.days = 0; 
8126          dadosAberturaBolsa.hours = '00'; 
8127          dadosAberturaBolsa.minutes = '00'; 
8128          dadosAberturaBolsa.seconds = '00'; 
8129      }else{ 
8130          dadosAberturaBolsa.days = days; 
8131          dadosAberturaBolsa.hours = hours < 10 ? '0'+hours : hours; 
8132          dadosAberturaBolsa.minutes = minutes < 10 ? '0'+minutes : minutes; 
8133          dadosAberturaBolsa.seconds = seconds < 10 ? '0'+seconds : seconds; 
8134
8135 
8136      dadosAberturaBolsa.bolsaAberta = days <= 0 && hours <= 0 && minutes <= 0 && seconds <= 0; 
8137      var horaExibeContador = 8; 
8138      if(!isEmed && botaoBolsa == false){ 
8139    	  dadosAberturaBolsa.exibirContador = false; 
8140      }else{ 
8141          dadosAberturaBolsa.exibirContador = days == 0 && horarioDia >= horaExibeContador && !dadosAberturaBolsa.bolsaAberta && (diaAberturaBolsa == dia); 
8142          dadosAberturaBolsa.textoContador = dadosAberturaBolsa.hours + ':' + dadosAberturaBolsa.minutes + ":"+ dadosAberturaBolsa.seconds; 
8143
8144      dadosAberturaBolsa.bolsaJaAberta = tempoRestante < 0; 
8145       
8146      return dadosAberturaBolsa; 
8147   
8148
8149    
8150   // Verifica se uma oferrta já chegou sua data de abertura 
8151   function tempoRestanteAberturaBolsa(dataAberturaBolsa, horaAberturaBolsa){ 
8152     // console.log(dataAberturaBolsa); 
8153     // console.log(horaAberturaBolsa); 
8154       
8155      //var today = new Date(); 
8156       
8157       
8158      //console.log( "TodayG "+ todayG); 
8159       
8160      //Precisa fazer formatação nos horários pois pode estar como 9h ou 9h30 
8161      var partesHora = horaAberturaBolsa.split('h'); 
8162       
8163      var partesHora = partesHora.filter(function (el) { 
8164        return el != ""; 
8165      }); 
8166       
8167      //formato 9h 
8168      if(partesHora.length == 1) 
8169        var aberturaBolsa = new Date(dataAberturaBolsa+'T'+horaAberturaBolsa.replace('h', '').trim()+":00"); 
8170   
8171      else{ 
8172         
8173        //format 9h3 
8174        if(partesHora[1].length == 1) 
8175          var aberturaBolsa = new Date(dataAberturaBolsa+'T'+partesHora[0].replace('h', '').trim()+':'+partesHora[1] +'0'); 
8176           
8177        //formato 9h30 
8178        else 
8179          var aberturaBolsa = new Date(dataAberturaBolsa+'T'+partesHora[0].replace('h', '').trim()+':'+partesHora[1]); 
8180
8181        
8182     // console.log(aberturaBolsa); 
8183      return aberturaBolsa - todayG; 
8184
8185    
8186   function formataDataAberturaBolsa(dataAberturaBolsa, horaAberturaBolsa){ 
8187      var dataPartes = dataAberturaBolsa.split('-'); 
8188       
8189      return dataPartes[2]+'/'+dataPartes[1]+ ' às '+horaAberturaBolsa.replace('h', '').trim()+' horas'; 
8190       
8191
8192   
8193   function formataValor(valor){ 
8194       
8195      if(!valor.toString().includes(".")){ 
8196        valor = parseFloat(valor).toLocaleString('pt-BR')+",00"; 
8197      }else{ 
8198         valor = parseFloat(valor).toLocaleString('pt-BR'); 
8199          
8200         if(valor.split(",").length == 2){ 
8201            
8202           if(valor.split(",")[1].length == 1) 
8203              valor += "0"; 
8204            
8205         }else 
8206           valor += ",00"; 
8207
8208       
8209      return valor; 
8210
8211 
8212  function ajustarCasasDecimaisSemArredondar(numero, casas) { 
8213    const str = numero + '' 
8214    const arr = str.split('.') 
8215    return parseFloat(arr[0].concat('.').concat(arr[1] ? arr[1].substring(0, casas) : '0')) 
8216
8217 
8218  function possuiCriteriosDesconto2022(dt) { 
8219    return dt.substring(dt.lastIndexOf('/') + 1) >= 2022 
8220      && ( 
8221        $('[name="tipoCurso"]').val() == 'livre' 
8222        || ($('[name="tipoCurso"]').val() == 'tecnico' && $('[name="modalidades"]').val() == 'espec.-tecnica-de-nivel-medio') 
8223        || $('[name="tipoCurso"]').val() == 'extensao' 
8224
8225
8226 
8227  function strToFloat(str) { 
8228    const separator = str.includes(',') ? ',' : '.' 
8229 
8230    const numArr = str.split(separator) 
8231    const inteiro = numArr[0].replaceAll('.', '').replaceAll(',', '.') 
8232    const decimal = numArr[1] ? numArr[1].replaceAll('.', '').replaceAll(',', '.') : '' 
8233    return parseFloat(inteiro.concat('.').concat(decimal ? decimal : '0')) 
8234
8235 
8236  function possuiMensalidade99(oferta) { 
8237    if(!oferta.precoVendaMaxParcelaOferta  
8238    || (oferta.precoVendaMaxParcelaOferta != 99 
8239    && parseFloat(oferta.precoParcelaCartoes.replace(',','.')) != 99 
8240    && parseFloat(oferta.precoParcelaBoleto.replace(',','.')) != 99)) 
8241      return false 
8242 
8243    if($('[name="modalidades"]').val() == 'hab.-tecnica-de-nivel-medio') 
8244      return true 
8245 
8246    if($('[name="modalidades"]').val() == 'espec.-tecnica-de-nivel-medio') 
8247      return true 
8248 
8249    if($('[name="modalidades"]').val() == 'qualificacao-profissional') 
8250      return true 
8251     
8252    return false 
8253
8254    
8255  function htmlSlickArea(index, oferta, diasSemanaHTML, codigoUnidade) { 
8256    let temDesconto = possuiCriteriosDesconto2022(oferta.dataInicio) 
8257    temDesconto = temDesconto && !possuiMensalidade99(oferta) 
8258     
8259    const btnLocalReal = function(oferta){ 
8260       
8261          var btn = `<div class="container-local-realizacao ` + ((oferta.espacoExterno == 'true'|| (isHibrido && temTextoParaFormatoHibrido))  ? '' : 'd-none-btn') + (localLivreOnline(oferta.localEspacoExterno) ? ' idioma-online' : '') + `">`; 
8262       
8263      btn += (localLivreOnline(oferta.localEspacoExterno)) ? 
8264            `<a id="btnLocalRealizacao_` + index + `" data-index="` + index + `" class="btn-idiomas__aula-online" href="#"> 
8265            <i class="fas fa-wifi"></i>Aulas Online - ao vivo</a>` 
8266            : `<a id="btnLocalRealizacao_` + index + `" data-index="` + index + `" class="ssp-card-oferta-curso__local-realizacao-content__title" href="#"> 
8267            <i class="fas fa-user"></i>Onde as aulas vão acontecer?</a>`; 
8268       
8269        btn += `</div>`; 
8270         
8271      return btn; 
8272     
8273
8274 
8275    // Card Oferta 
8276     
8277    let result = ` 
8278        <div class="slick-area__item card_oferta_` + index + ` codigoOferta_` + oferta.codigoOferta + ` ` + (temDesconto ? 'ssp-desconto-2022' : '') + `"> 
8279 
8280          <div class="ssp-card-oferta-curso"> 
8281 
8282            <div class="content-data-dias"> 
8283 
8284              <div class="ssp-card-oferta__info-turma-iniciada" id="aviso-turma-iniciada-` + index + `" style="display:none"> 
8285                <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> 
8286              </div> 
8287 
8288 
8289              <div> 
8290                <small class="ssp-card-oferta-curso__title-item">Período:</small> 
8291                <h6 class="ssp-card-oferta-curso__item-data-periodo item-data-periodo_` + index + `">` + formataPeriodo(oferta.dataInicio, oferta.dataFim) + `</h6> 
8292	          </div> 
8293	 
8294              <div class="content-horario-dias-semana"> 
8295	 
8296                <div class="horario"> 
8297                  <small class="ssp-card-oferta-curso__title-item">Horário e dias das aulas:</small> 
8298                </div> ` + 
8299	 
8300                `<div class="ssp-card-oferta-curso__dia-hora_content"> 
8301                  ` + diasSemanaHTML + ` 
8302	              </div> 
8303	 
8304	          </div> 
8305	 
8306      ` + btnLocalReal(oferta); 
8307 
8308      result = result + ` 
8309        </div> 
8310
8311      
8312      //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 
8313      //Adicionada a validação dos preços da oferta em 07/06/2022 - Tarefa 9498 
8314      const estaSemValorOferta =   oferta.botaoCompraOferta == ''  
8315                          || oferta.botaoCompraOferta == 'false'  
8316                          || !oferta.precoVendaOferta  
8317                          || !oferta.precoCheioOferta  
8318                          || !oferta.precoVendaMaxParcelaOferta 
8319                          || strToFloat(oferta.precoVendaOferta) == 0 
8320                          || strToFloat(oferta.precoCheioOferta)  == 0 
8321                          || strToFloat(oferta.precoVendaMaxParcelaOferta)  == 0 
8322      
8323      //Trecho inicial do Bolsa de estudo 
8324      result += `<div class="content-btn-bolsa codigoOferta_` + oferta.codigoOferta + (estaSemValorOferta ? ' pb-0' : '') + `"> 
8325                  <div class="ssp-card-oferta__info-turma-content"> 
8326                    <h6 class="ssp-card-oferta__info-turma mb-0">Bolsas de estudo</h6> 
8327                  </div> 
8328                  <div class="codigoOferta_` + oferta.codigoOferta + ` ssp-container-botao-bolsa"></div>    
8329                </div>                
8330
8331     
8332    if(estaSemValorOferta) { 
8333      result = result + ` 
8334      		<div class="content-buttons hide"> 
8335			  </div> 
8336
8337      return result; 
8338
8339 
8340	 
8341    //Trecho final do Bolsa de estudo e inclusao de botao de expansao do "Valores para compra" 
8342    result += ` <div class="show-price-content codigoOferta_` + oferta.codigoOferta + `"> 
8343                  <div class="ou-separator-desconto">Ou</div> 
8344                  <button type="button" class="btn-show-price"> 
8345                    <p>Saiba mais sobre:</p> 
8346                    <div onclick="togglePriceCard('codigoOferta_` + oferta.codigoOferta + `')"> 
8347                      <i class="fas fa-money-bill"></i> 
8348                      <span>Valores para compra</span> 
8349                    </div> 
8350                  </button> 
8351                </div> 
8352
8353 
8354    result = result + ` 
8355          <div class="content-valores-descontos hide-price codigoOferta_` + oferta.codigoOferta + `"> 
8356
8357         
8358    if( temDesconto && !ehCursoTrampolim ) { 
8359      result = result + ` 
8360            <div class="ssp-card-oferta__info-turma-content"> 
8361              <h6 class="ssp-card-oferta__info-turma">Valores para compra</h6> 
8362            </div> 
8363	 
8364            <div class="block-valor-desconto"> 
8365	          	 
8366            <div class="tag-label-desconto"> 
8367              <small class="ssp-card-oferta-curso__title-item">Valor com </small> 
8368              <span class="ssp-card-oferta-curso__valor-desconto">50% de desconto*</span> 
8369	      </div> 
8370	 
8371            <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> 
8372 
8373            <div class="ssp-card-oferta-curso__desconto-content"> 
8374              <p>De: <span class="ssp-card-oferta-curso__valor-antigo">R$ ` + formataValor(ajustarCasasDecimaisSemArredondar(strToFloat(oferta.precoVendaOferta), 2)) + `</span></p> 
8375              <p>Por: <span class="ssp-card-oferta-curso__valor-desconto">R$ ` + formataValor(ajustarCasasDecimaisSemArredondar(strToFloat(oferta.precoVendaOferta)/2, 2)) + `</span></p> 
8376            </div> 
8377
8378           
8379      if($('[name="tipoCurso"]').val() == 'extensao') { 
8380        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>` 
8381      } else { 
8382        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>` 
8383
8384   
8385      result = result + ` 
8386          <div class="ou-separator-desconto">Ou</div> 
8387       
8388          <div class="block-valor-total"> 
8389 
8390            <small class="ssp-card-oferta-curso__title-item">Valor sem desconto:</small> 
8391 
8392            <h6 class="ssp-card-oferta-curso__item-valor-investimento"><span>` + oferta.numeroMaxParcelasOferta + `x</span>R$ ` + formataValor(oferta.precoVendaMaxParcelaOferta) + `</h6> 
8393 
8394            <div class="ssp-card-oferta-curso__desconto-content"> 
8395              <p>Valor total: <strong>R$ ` + formataValor(strToFloat(oferta.precoVendaOferta)) + `</strong></p> 
8396            </div> 
8397             
8398          </div> 
8399
8400                 		 }else{ 
8401                 			 
8402      // itens que são diferentes entre técnico e livres comprado a extensão 
8403      if($('[name="tipoCurso"]').val() == 'extensao'){ 
8404        result = result + ` 
8405 
8406          <div class="block-valor-total"> 
8407 
8408            <div class="investimento" id="container_investimento_` + index + `"> 
8409 
8410              <small class="ssp-card-oferta-curso__title-item">Investimento:</small> 
8411 
8412              <h6 class="ssp-card-oferta-curso__item-valor-investimento"><span>` + oferta.numeroMaxParcelasOferta + `x</span>R$ ` + formataValor(ajustarCasasDecimaisSemArredondar(strToFloat(oferta.precoVendaMaxParcelaOferta))) + `</h6> 
8413 
8414              <div class="ssp-card-oferta-curso__desconto-content"> 
8415                <p>Ou: <span class="ssp-card-oferta-curso__valor-antigo text-decoration-none">R$ ` + formataValor(oferta.precoVendaOferta) + `</span> à vista</p> 
8416              </div> 
8417 
8418            </div>   
8419 
8420          </div> 
8421
8422      } else { 
8423        result = result + ` 
8424          <div class="block-valor-total"> 
8425            <div class="investimento" id="container_investimento_` + index + `"> 
8426
8427   
8428        // Não mostrar mensagem de 30% de desconto em casos especificos 
8429        if(temDesconto){ 
8430          result = result + ` 
8431              <small class="ssp-card-oferta-curso__title-item font-weight-bold">Valor com 30% de desconto:</small> 
8432
8433
8434   
8435        if(oferta.precoCheioOferta == oferta.precoVendaOferta) {        
8436          result = result + ` 
8437              <small class="ssp-card-oferta-curso__title-item">Valor do curso:</small> 
8438              <h6 class="ssp-card-oferta-curso__item-valor-investimento"><span>` + oferta.numeroMaxParcelasOferta + `x</span>R$ ` + formataValor(oferta.precoVendaMaxParcelaOferta) + `</h6> 
8439 
8440              <div class="ssp-card-oferta-curso__desconto-content"> 
8441                <p>Ou <span class="ssp-card-oferta-curso__valor-antigo text-decoration-none">R$ ` + formataValor(oferta.precoVendaOferta) + `</span></p> 
8442              </div> 
8443            </div> 
8444            </div> 
8445          `   
8446        } else { 
8447          result = result + ` 
8448              <small class="ssp-card-oferta-curso__title-item">Investimento:</small> 
8449              <h6 class="ssp-card-oferta-curso__item-valor-investimento"><span>` + oferta.numeroMaxParcelasOferta + `x</span>R$ ` + formataValor(oferta.precoVendaMaxParcelaOferta) + `</h6> 
8450 
8451              <div class="ssp-card-oferta-curso__desconto-content"> 
8452                <p>De: <span class="ssp-card-oferta-curso__valor-antigo">R$ ` + formataValor(oferta.precoCheioOferta) + `</span></p> 
8453                <p>Por: <span class="ssp-card-oferta-curso__valor-desconto">R$ ` + formataValor(oferta.precoVendaOferta) + `</span></p> 
8454              </div> 
8455            </div> 
8456            </div> 
8457          `    
8458
8459
8460
8461 
8462    let dataBtnComprar = getObjBtnComprar(oferta); 
8463     
8464    // itens que são diferentes entre técnico e livres comprado a extensão   
8465    result = result + ` 
8466 
8467              <div class="ssp-card-oferta-curso__formas-pagamento-content"  id="container_forma_pgto_` + index + `"> 
8468                 
8469                <span>Saiba mais sobre:</span> 
8470 
8471                <div> 
8472                  <i class="ssp-card-oferta-curso__formas-pagamento-content__icon-credit-card"></i> 
8473                  <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> 
8474                </div> 
8475 
8476              </div> 
8477 
8478            <div class="content-buttons"> 
8479 
8480              <div class="ssp-btn-group__content botoes-oferta-container_` + index + `"> 
8481 
8482				<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> 
8483 
8484              </div> 
8485 
8486            </div> 
8487 
8488          </div> 
8489 
8490        </div> 
8491
8492 
8493    return result 
8494
8495   
8496  var htmlModalLocalRealizacao = '<div id="modalLocalRealizacao_{index}" class="ssp-modal">' 
8497     htmlModalLocalRealizacao += '<div class="ssp-modal-local-realizacao">' 
8498     htmlModalLocalRealizacao += '<div class="ssp-modal-local-realizacao__title-content">' 
8499 
8500    htmlModalLocalRealizacao += '{tituloLocalRealizacao}' 
8501          
8502    htmlModalLocalRealizacao += '<i class="ssp-card-modal-local-realizacao__btn-close_{index} ssp-card-modal-forma-pagamento__btn-close"></i>' 
8503    htmlModalLocalRealizacao += '</div>' 
8504    htmlModalLocalRealizacao += '<div class="ssp-modal-local-realizacao__texto">' 
8505    htmlModalLocalRealizacao += '<p class="{classeTextoInfoLocalRealizacao}">A unidade {nomeUnidade} realizará as aulas em outro endereço, conforme informações abaixo:</p>' 
8506    htmlModalLocalRealizacao += '<p><span class="ssp-modal-local-realizacao__subtitle localEspacoExternoTexto_{index}">{textoFormatoHibrido}{localEspacoExterno}</span></p>' 
8507    htmlModalLocalRealizacao += '<address>' 
8508    htmlModalLocalRealizacao += '<span id="endereco_realizacao_{index}" class="{classeEnderecoRealizacao}">{ruaEspacoExterno}, {numeroEspacoExterno} {complementoEspacoExterno}<br></span>' 
8509    htmlModalLocalRealizacao += '<span id="bairro_realizacao_{index}" class="{classeBairroRealizacao}">Bairro: {bairroEspacoExterno}<br></span>' 
8510    htmlModalLocalRealizacao += '<span id="cidade_realizacao_{index}" class="{classeCidadeRealizacao}">Cidade: {cidadeEspacoExterno} - SP<br></span>' 
8511    htmlModalLocalRealizacao += '<span id="cep_realizacao_{index}" class="{classeCepRealizacao}">CEP: {cepEspacoExterno}</span>' 
8512    htmlModalLocalRealizacao += '</address>' 
8513    htmlModalLocalRealizacao += '<div class="btn ssp-modal-local-realizacao__btn-content">' 
8514    htmlModalLocalRealizacao += '<a class="btn ssp-modal-local-realizacao__btn {classeEntendi} ssp-modal-local-realizacao__btn_{index}" href="#a">Entendi</a>' 
8515    htmlModalLocalRealizacao +='</div>' 
8516    htmlModalLocalRealizacao +='</div>' 
8517    htmlModalLocalRealizacao +='</div>' 
8518    htmlModalLocalRealizacao +='</div>'; 
8519   
8520    var htmlModalAntesCompra = '<div id="modalAntesCompra_{index}" class="ssp-modal">' 
8521      htmlModalAntesCompra += '<div class="ssp-modal-local-realizacao">' 
8522    htmlModalAntesCompra += '<div class="ssp-modal-local-realizacao__title-content">' 
8523    htmlModalAntesCompra += '<h6 class="ssp-modal-local-realizacao__title"> LEMBRETE IMPORTANTE!</h6>' 
8524    htmlModalAntesCompra += '<i class="ssp-card-modal-antes-compra__btn-close_{index} ssp-card-modal-forma-pagamento__btn-close"></i>' 
8525    htmlModalAntesCompra += '</div>' 
8526    htmlModalAntesCompra += '<div class="ssp-modal-local-realizacao__texto">' 
8527    htmlModalAntesCompra += '<p class="{classeTextoInfoLocalRealizacao}">A unidade {nomeUnidade} realizará as aulas em outro endereço, conforme informações abaixo:</p>' 
8528    htmlModalAntesCompra += '<p><span class="ssp-modal-local-realizacao__subtitle localEspacoExternoTexto_{index}">{textoFormatoHibrido}{localEspacoExterno}</span></p>' 
8529    htmlModalAntesCompra += '<address>' 
8530    htmlModalAntesCompra += '<span id="endereco_realizacao_{index}" class="{classeEnderecoRealizacao}">{ruaEspacoExterno}, {numeroEspacoExterno} {complementoEspacoExterno}<br></span>' 
8531    htmlModalAntesCompra += '<span id="bairro_realizacao_{index}" class="{classeBairroRealizacao}">Bairro: {bairroEspacoExterno}<br></span>' 
8532    htmlModalAntesCompra += '<span id="cidade_realizacao_{index}" class="{classeCidadeRealizacao}">Cidade: {cidadeEspacoExterno} - SP<br></span>' 
8533    htmlModalAntesCompra += '<span id="cep_realizacao_{index}" class="{classeCepRealizacao}">CEP: {cepEspacoExterno}</span>' 
8534    htmlModalAntesCompra += '</address>' 
8535    htmlModalAntesCompra += '<div class="btn ssp-modal-local-realizacao__btn-content">' 
8536    htmlModalAntesCompra += '{componentBuyConfirmation}' 
8537    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>' 
8538    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>' 
8539    htmlModalAntesCompra +='</div>' 
8540    htmlModalAntesCompra +='</div>' 
8541    htmlModalAntesCompra +='</div>' 
8542    htmlModalAntesCompra +='</div>'; 
8543          
8544   var htmlSlickAreaDiasSemana = '<div class="ssp-card-oferta-curso__dia-hora-item">' 
8545   	 htmlSlickAreaDiasSemana +='<p class="ssp-card-oferta-curso__dia-hora-item__dia">'  
8546     htmlSlickAreaDiasSemana += '<span data-dia-hora="dias-semana">{diasSemana}</span>' 
8547     htmlSlickAreaDiasSemana += '<span data-dia-hora="horário">{horasSemana}</span>' 
8548     htmlSlickAreaDiasSemana += '</p>' 
8549   	 htmlSlickAreaDiasSemana += '</div>'; 
8550    	         
8551      
8552  //Montar object push - google tag manager - 5 
8553  function criaItensEcommerce(ofertas){ 
8554 
8555    let nomeUnidadeSelecionada = objsTela.unidades[ultimaUnidade].nome 
8556 
8557    let dadosCurso = { 
8558      //Pegar do freemarker  
8559        tituloComercial : $('[name="tituloComercial"]').val(), 
8560        tipoCurso : $('[name="nomeCategoriaTipoCurso"]').val(), 
8561        formato : $('[name="formato"]').data("formato") 
8562
8563 
8564    let ecommerceObject = { 
8565 
8566      item_id: "", //codOferta - oferta, 
8567			item_name: "", //Nome do curso - curso, 
8568			affiliation: "", //nome da unidade - oferta, 
8569			currency: "BRL", //Moeda - "BRL", 
8570			discount: "", //desconto - oferta, 
8571			index: "", //indice da lista - i, 
8572			item_brand: "Senac SP", //"Senac SP", 
8573			item_category: "", //categoria do curso - curso, 
8574			item_list_id: "", //"60", 
8575			item_list_name: "", //"São Carlos" - Oferta, 
8576			item_variant: "", //modalidade - curso, 
8577			price: "", //preco cheio - oferta, 
8578			quantity: 1 
8579 
8580
8581 
8582    let itensEcommerce = new Map(); 
8583 
8584    for(var i = 0; i < ofertas.length; i++){ 
8585 
8586      itensEcommerce.set(ofertas[i].codigoOferta, { 
8587 
8588            item_id: ofertas[i].codigoOferta, //codOferta - oferta, 
8589            item_name: dadosCurso.tituloComercial, //Nome do curso - curso, 
8590            affiliation: nomeUnidadeSelecionada, //nome da unidade - oferta, 
8591            currency: "BRL", //Moeda - "BRL", 
8592            discount: parseFloat(ofertas[i].precoCheioOferta - ofertas[i].precoVendaOferta).toFixed(2), //desconto - oferta, 
8593            index: i, //indice da lista - i, 
8594            item_brand: "Senac SP", //"Senac SP", 
8595            item_category: dadosCurso.tipoCurso, //categoria do curso - curso, 
8596            item_list_id: objsTela.unidades[ultimaUnidade].codigoUnidade, //"60", 
8597            item_list_name: nomeUnidadeSelecionada, //"São Carlos" - Oferta, 
8598            item_variant: dadosCurso.formato, //modalidade - curso, 
8599            price: parseFloat(ofertas[i].precoCheioOferta).toFixed(2), //preco cheio - oferta, 
8600            quantity: 1 
8601 
8602
8603
8604
8605 
8606    return itensEcommerce; 
8607
8608   
8609  //EMED - ELEMENTOS DINAMICOS 
8610  const htmlSlickAreaEmed = function(oferta){ 
8611    var btnid = 'myBtn_' + oferta.indice; 
8612    const diasHorarios = function(oferta){ 
8613      return oferta.diasDaSemanaOferta.join(', ').toLowerCase();  
8614       
8615
8616 
8617 
8618    return ` 
8619        <div class="ssp-ofertas-emed__card codigoOferta_`+ oferta.codigoOferta + `"> 
8620   
8621        <div class="ssp-ofertas-emed__card-info-turma"> 
8622   
8623            <div class="item-content"> 
8624                <i class="fas fa-calendar-alt calendar-icon-turma"></i> 
8625                <p class="title-turma">`+ oferta.titulo +`</p> 
8626                <span class="text-default" data-info="info-turma">Alunos na turma: <strong>até `+ oferta.qtdeTotalVagas +`</strong></span> 
8627            </div> 
8628   
8629            <div class="content-previsao-inicio-termino"> 
8630   
8631                <div class="item-content"> 
8632                    <span class="text-default">Previsão de início:</span> 
8633                    <span class="text-default-lg">`+ formatarDataEmed(oferta.dataInicio,oferta.etapa,false) +`</span> 
8634                </div> 
8635   
8636                <div class="item-divisor"></div> 
8637   
8638                <div class="item-content"> 
8639                    <span class="text-default">Previsão de término:</span> 
8640                    <span class="text-default-lg">`+ formatarDataEmed(oferta.dataFim,oferta.etapa,true) +`</span> 
8641                </div> 
8642   
8643            </div> 
8644   
8645   
8646            <div class="item-divisor"></div> 
8647   
8648            <div class="item-content"> 
8649                <span class="text-default">Dias e horários das aulas:</span> 
8650                <span class="text-default-lg" style="text-transform: capitalize;">`+ diasHorarios(oferta) +`</span> 
8651                <span class="text-default-lg">`+ oferta.horaInicio.replace(':', 'h') + ' às ' + oferta.horaFimOferta.replace(':', 'h') +`</span> 
8652            </div> 
8653             
8654        </div> 
8655   
8656        <div class="ssp-ofertas-emed__card-info-investimento"> 
8657            <p class="title-investimento">Investimento anual:</p> 
8658   
8659            <div class="item-content-investimento"> 
8660                <span class="txt-parcelas">Até `+ oferta.numeroMaxParcelasOferta +`x</span> 
8661                <span class="txt-valor-parcela">R$ `+ formataValor(oferta.precoVendaMaxParcelaOferta) +`</span> 
8662            </div> 
8663   
8664            <div class="item-content-investimento"> 
8665                <p class="txt-boleto-cartao">(boleto bancário ou cartão de crédito)</p> 
8666            </div> 
8667   
8668            <div class="item-content-investimento"> 
8669                <i class="fas fa-credit-card icon-cartao-credito"></i> 
8670                <a id="`+ btnid +`" data-index="`+ oferta.indice +`" href="#" class="link-descontos-parcelamentos">Descontos e Parcelamentos</a> 
8671            </div> 
8672               
8673        </div> 
8674   
8675    </div> 
8676 
8677    `; 
8678
8679   
8680    
8681   function loadCursosVocePodeGostar(){ 
8682       
8683    if(isEmed){ 
8684      var url = urlSearchCursosPodeGostarEmed 
8685        .replace('\{groupId\}', groupId) 
8686        .replace('\{tiposDeCurso\}',$('[name="idTipoCurso"]').val()) 
8687        .replace('\{limit\}', 12) 
8688        .replace('\{articleId\}', $('[name="articleId"]').val()); 
8689    }else{ 
8690      var url = urlSearchCursosPodeGostar 
8691        .replace('\{companyId\}',themeDisplay.getCompanyId()) 
8692        .replace('\{groupId\}', groupId) 
8693        .replace('\{userId\}',themeDisplay.getUserId()) 
8694        .replace('\{articleId\}',$('[name="articleId"]').val()) 
8695        .replace('\{limit\}', 12); 
8696
8697 
8698   
8699       $.ajax({ 
8700           url :  url, 
8701           type : 'get', 
8702           beforeSend: function(){ 
8703             loading('#slider-curso'); 
8704
8705       }) 
8706       .done(function(cursos){ 
8707          
8708         if(cursos.length > 0){ 
8709   
8710           cursos = JSON.parse(cursos); 
8711            
8712           if(isEmed) cursos = cursos['cursos']; 
8713            
8714           if(cursos.length > 0) $('#section-cursos-voce-pode-gostar').removeClass('d-none'); 
8715           else { 
8716             $('#section-cursos-voce-pode-gostar').addClass('d-none'); 
8717             return; 
8718
8719            
8720           var articles = []; 
8721            
8722            $.each(cursos, function(k, c){ 
8723             articles.push(c.articleId); 
8724            }); 
8725             
8726           //Verifica a situação dos botoes de inscrições e bolsa 
8727          $.ajax({ 
8728                url :  '/o/senac-content-services/verificaBotoesInscricaoEBolsa/'+groupId+'/'+articles.join(','), 
8729                type : 'get' 
8730            })  
8731            .done(function(infoBotoes){ 
8732               
8733              if(infoBotoes.length > 0) { 
8734                 
8735                  infoBotoes = JSON.parse(infoBotoes); 
8736                   
8737                  $('#slider-curso').empty(); 
8738   
8739                      $.each(cursos, function(k, c){ 
8740                    	  $('#slider-curso').append(buildCardCurso(c, infoBotoes)); 
8741         
8742                      }); 
8743         
8744                      $('#slider-curso').addClass( 
8745                      'slick-area slick-area--md-bleed slider-container slick-area-cursos-pode-gostar'); 
8746         
8747                      sliderCurso('.slick-area-cursos-pode-gostar'); 
8748
8749            }); 
8750
8751   
8752        }) 
8753        .fail(function(jqXHR, textStatus, msg){ 
8754            // alert(msg); 
8755        }); 
8756   
8757
8758   
8759   /* 
8760    * Armazena a navegação em cookies, se habilitado 
8761    */ 
8762  $(document).on("click", ".ck-curso", function() { 
8763      
8764  //Verifica se o cookie está habilitado 
8765   if(getCookie('portalSenacCookie') != null){ 
8766      
8767    var articleId = $(this).data('ck'); 
8768    manageCookieArray('ck-cursos', articleId); 
8769        
8770
8771   
8772   }); 
8773   
8774   
8775 
8776   
8777   
8778  $(function(){ 
8779   
8780   if($('#unidades-ofertas').find('option').length ==0){ 
8781   
8782     $('.ssp-container-selecione-unidade').addClass('d-none') 
8783   
8784
8785   
8786  }); 
8787   
8788     function avisoNovasTurmas(){ 
8789        
8790       
8791       window.event.preventDefault() 
8792         
8793       //var unidadeSelecionada = $('#select-registro-interesse').val(); 
8794       //este select tem 2 valores separados por @ -> categoryId@codUnidade 
8795      //  var unidadeSelecionada = $('#unidades-ofertas').val(); 
8796        
8797       //Código fixo quando Senac Ao Vivo 
8798       var codUnidadeSelectRegInt = (isAoVivo) ? codUnidadeSenacAoVivo : $('#unidades-ofertas').val().split("@")[1]; 
8799         
8800      //  if(codUnidadeSelectRegInt && codUnidadeSelectRegInt.length){ 
8801          
8802         //Se ja tiver logado , redireciona para o registro 
8803         if(getCookie('ticket') == null){ 
8804            
8805           //Abre modal login 
8806               $('#modal-login').removeClass('d-none'); 
8807            
8808         }else{ 
8809            
8810          abrirModalRegistroInteresse(codUnidadeSelectRegInt); 
8811                  
8812            verificaBtnEnviarRegistroInteresseAtivo(); 
8813
8814          
8815         window.onclick = function(event) { 
8816            $('[id="modal-registro-interesse"]').each(function(index,_modal){ 
8817                if (event.target == _modal) { 
8818                   $('#modal-registro-interesse').addClass('d-none'); 
8819                   $("body").removeClass("overflow-hidden") 
8820
8821            }); 
8822
8823              
8824      //  } 
8825
8826     function login(){ 
8827      var unidadeSelecionada 
8828      var codUnidadeSelectRegInt 
8829      doLogin({ 
8830        user: $('#login-email-modal').val(), 
8831        pass: $('#login-password-modal').val(), 
8832        btnLoadingSelector: '#btnLogin', 
8833        before: () => { 
8834          $('#mensagem-erro-login').addClass('d-none') 
8835           
8836          unidadeSelecionada = $('#unidades-ofertas').val(); 
8837          codUnidadeSelectRegInt = (isAoVivo) ? codUnidadeSenacAoVivo : $('#unidades-ofertas').val().split("@")[1]; 
8838        }, 
8839        done: (data) => { 
8840          var loginData = JSON.parse(data); 
8841           
8842          if(loginData.status == 200 || loginData.status == 201){				 
8843            //Após logar-se, exibe o modal p/registro de interesse 
8844            abrirModalRegistroInteresse(codUnidadeSelectRegInt); 
8845            verificaBtnEnviarRegistroInteresseAtivo(); 
8846            //esconde o modal de login 
8847            $('#modal-login').addClass('d-none'); 
8848          }  
8849        }, 
8850        errorMessageSelector: '#mensagem-erro-login', 
8851        error: (err) => console.error(err) 
8852      }) 
8853
8854   
8855  function registroSelecionaTodosDias(){ 
8856     
8857    if($(this).hasClass('ssp-week-day-active')){ 
8858      $(this).removeClass('ssp-week-day-active') 
8859       $('.ssp-week-day').removeClass('ssp-week-day-active') 
8860    }else{ 
8861      $(this).addClass('ssp-week-day-active') 
8862      $('.ssp-week-day').addClass('ssp-week-day-active') 
8863
8864        
8865    verificaBtnEnviarRegistroInteresseAtivo(); 
8866
8867   
8868  function registroSelecionaTodosPeriodos(){ 
8869     
8870    if($(this).is(':checked')){ 
8871      $('.ssp-card-registro-interesse__check-itens-content.periodos-registro-interesse input[type=checkbox]').prop('checked', true); 
8872    }else{ 
8873      $('.ssp-card-registro-interesse__check-itens-content.periodos-registro-interesse input[type=checkbox]').prop('checked', false); 
8874
8875     
8876    verificaBtnEnviarRegistroInteresseAtivo(); 
8877
8878  $('.turmas-registro-interesse input[type=checkbox]').on('click', function() { 
8879    var $selecionado = $(this); 
8880    if ($selecionado.is(":checked")) { 
8881      $('.turmas-registro-interesse input[type=checkbox]').prop("checked", false); 
8882      $selecionado.prop("checked", true); 
8883    } else { 
8884      $selecionado.prop("checked", false); 
8885
8886}); 
8887     function enviarRegistroInteresse(){ 
8888       
8889	  const codigoUsr = getCookie('codigo'); 
8890	   
8891	  if(codigoUsr == null){ 
8892		  //Sem o cookie refaz o login 
8893		  $('#modal-registro-interesse').addClass('d-none'); 
8894	      $('body').removeClass('overflow-hidden'); 
8895	      $('#modal-login').removeClass('d-none'); 
8896	      return; 
8897
8898	   
8899      var codigoFT = $('[name="codigoFT"]').val(); 
8900       
8901      var unidades = new Set(); 
8902       
8903      var diasSemana = ''; 
8904       
8905      //Senac ao vivo nao tem opçao de dias da semana nem unidades 
8906      if(isAoVivo){ 
8907        unidades.add(codUnidadeSenacAoVivo); 
8908      }else{ 
8909          $.each($('.ssp-week-day').not('#todosDias'), function(k, v){ 
8910              if($(this).hasClass('ssp-week-day-active')){ 
8911                diasSemana += $(this).text()+','; 
8912
8913          }); 
8914             
8915          if(diasSemana.length > 0) diasSemana = diasSemana.slice(0, -1); 
8916           
8917          $.each($('.ssp-card-registro-interesse__select'), function(k,item){ 
8918               
8919            unidades.add(item.value); 
8920          }); 
8921
8922 
8923       
8924      var periodos = ''; 
8925       
8926      $.each($('.periodos-registro-interesse input[type=checkbox]').not('#check-todos-periodos'), function(k,v){ 
8927        if($(this).is(':checked')){ 
8928          periodos += $(this).val()+','; 
8929
8930      }); 
8931 
8932      var turmas = ''; 
8933 
8934      $.each($('.turmas-registro-interesse input[type=checkbox]').not('#check-todos-periodos'), function(k, v) { 
8935          if ($(this).is(':checked')) { 
8936              turmas += $(this).val() + ','; 
8937
8938      }); 
8939 
8940      if (periodos.length > 0) periodos = periodos.slice(0, -1); 
8941      if (turmas.length > 0) turmas = turmas.slice(0, -1); 
8942 
8943      var usuarioNotificado = false; 
8944       
8945      loadingSubmitButton('#enviar-registro-interesse-btn'); 
8946 
8947      unidades.forEach(function(codigoUnidade) { 
8948          var data = { 
8949              codigoFT: codigoFT, 
8950              codigo: codigoUsr, 
8951              diasSemana: diasSemana, 
8952              periodos: periodos, 
8953              turmas, turmas, 
8954              codigoUnidade: codigoUnidade, 
8955              interesseBolsa: 'N', 
8956              isEmed: isEmed ? 'S' : 'N' 
8957          }; 
8958 
8959          const url = urlRegistroInteresse; 
8960 
8961          $.ajax({ 
8962              url: url, 
8963              method: 'POST', 
8964              data: JSON.stringify(data), 
8965              headers: { 
8966                  'Accept': 'application/json', 
8967                  'Content-Type': 'application/json' 
8968              }, 
8969          }).done( 
8970              function(retornoData) { 
8971 
8972                  var retornoData = JSON.stringify(retornoData); 
8973 
8974                  if (retornoData.length > 0) { 
8975             
8976                    cleanLoadingSubmitButton('#enviar-registro-interesse-btn'); 
8977                     
8978                      var retorno = JSON.parse(retornoData); 
8979 
8980                      if (retorno.status == 200 || retorno.status == 201) { 
8981               
8982                        //Evita que o usuário recebe um email para cada unidade de interesse 
8983                        if(usuarioNotificado) return; 
8984                         
8985                          //Mensagem de sucesso registro interesse 
8986                          $('#modal-registro-interesse-sucesso').removeClass('d-none'); 
8987 
8988                          var prefixUrl = themeDisplay.getLayoutRelativeURL(); 
8989 
8990                          if (prefixUrl.indexOf('staging/') > 1) 
8991                              prefixUrl = prefixUrl.substring(0, prefixUrl.lastIndexOf('staging/') + 8); 
8992                          else 
8993                              prefixUrl = HOST; 
8994 
8995                          $('#btn-voltar-home').attr('href', prefixUrl); 
8996 
8997                          //Busca os dados do nome do usuário logado 
8998                          var username = getCookie('name').split(' ')[0]; 
8999 
9000                          //Prioridade para nomeSocial 
9001                          if (getCookie('nome_social') != null) { 
9002                              var nomeSocial = getCookie('nome_social').replace(/['"]+/g, ''); 
9003 
9004                              if (nomeSocial.length > 0) username = getCookie('nome_social'); 
9005 
9006
9007 
9008                          username = username.replace(/['"]+/g, ''); 
9009						   
9010                          var unidadesSel = getUnidadesSelecionadasRI(); 
9011                           
9012                          //Disara um email para o usuário interessado              
9013                          var data = { 
9014                              emailInteressado: getCookie('email'), 
9015                              nomeInteressado: username, 
9016                              tituloCurso: $('.ssp-card-detalhe-curso__title').text(), 
9017                              unidades: unidadesSel.unidades, 
9018                              unidadesPrefix: unidadesSel.unidadesPrefix 
9019                          }; 
9020 
9021                          $.ajax({ 
9022                              url: urlRegistroInteresseEmailInteressado, 
9023                              method: 'POST', 
9024                              data: JSON.stringify(data), 
9025                              headers: { 
9026                                  'Accept': 'application/json', 
9027                                  'Content-Type': 'application/json' 
9028                              }, 
9029                          }).done(function(retornoData) {}); 
9030 
9031              				usuarioNotificado = true; 
9032               
9033                          window.onclick = function(event) { 
9034                              $('[id="modal-registro-interesse-sucesso"]').each(function(index, _modal) { 
9035                                  if (event.target == _modal){ 
9036                                    $('#modal-registro-interesse-sucesso').addClass('d-none'); 
9037                                    $('#modal-registro-interesse').addClass('d-none'); 
9038                                    $("body").removeClass("overflow-hidden"); 
9039
9040                              }); 
9041
9042 
9043                      } else { 
9044                          //Mensagem de erro registro interesse 
9045                          $('#modal-registro-interesse-erro').removeClass('d-none'); 
9046
9047                  } else { 
9048                      //Mensagem de erro registro interesse 
9049                      $('#modal-registro-interesse-erro').removeClass('d-none'); 
9050
9051              }).fail(function(){ 
9052				  cleanLoadingSubmitButton('#enviar-registro-interesse-btn'); 
9053				  $('#modal-registro-interesse-erro').removeClass('d-none'); 
9054			  }); 
9055      }); 
9056
9057   
9058  function verificaBtnEnviarRegistroInteresseAtivo(){ 
9059     
9060    var diasSemanaSelecionado = false; 
9061    var periodoSelecionado = false; 
9062    var turmaSelecionada = false; 
9063    var politicaPrivacidadeSelecionado = false; 
9064     
9065     
9066    $.each($('.periodos-registro-interesse input[type=checkbox]').not('#check-todos-periodos'), function(k,v){ 
9067      if($(this).is(':checked')) 
9068        periodoSelecionado = true; 
9069    }); 
9070 
9071    $.each($('.turmas-registro-interesse input[type=checkbox]').not('#check-todos-periodos'), function(k,v){ 
9072      if($(this).is(':checked')) 
9073        turmaSelecionada = true; 
9074    }); 
9075     
9076    if($('#check-politica-privacidade').is(':checked')) politicaPrivacidadeSelecionado = true; 
9077     
9078    var ativo = true 
9079     
9080    //Caso tenha algum dos selects de unidade sem uma opção válida selecionada 
9081    if(!isAoVivo) 
9082      ativo = ativo && !Array.from($('.ssp-card-registro-interesse__select.unidades')).filter(sel => !$(sel).val()).length 
9083     
9084    ativo = ativo && periodoSelecionado && politicaPrivacidadeSelecionado; 
9085     
9086    if(!isAoVivo && !isEmed){ 
9087       
9088        $.each($('.ssp-week-day').not('#todosDias'), function(k, v){ 
9089            if($(this).hasClass('ssp-week-day-active')) 
9090              diasSemanaSelecionado = true; 
9091          }); 
9092      ativo = ativo && diasSemanaSelecionado; 
9093       
9094
9095 
9096    if(isEmed) 
9097      ativo = ativo && turmaSelecionada; 
9098     
9099    if(ativo) 
9100        $('#enviar-registro-interesse-btn').attr("disabled", false); 
9101    else 
9102        $('#enviar-registro-interesse-btn').attr("disabled", true); 
9103
9104   
9105    function loadPlanoCurso(){ 
9106       
9107      const urlGetPlanoCurso = urlPlanoCurso 
9108											 
9109      .replace('\{codigoFT\}',  $('[name="codigoFT"]').val()) 
9110      .replace('\{dataEfetiva\}', $('[name="dataEfetivaSTR"]').val()); 
9111   
9112        $.ajax({ 
9113            url:urlGetPlanoCurso, 
9114            method:'get', 
9115            crossDomain: true, 
9116            dataType: 'html', 
9117            success: function( data ) { 
9118   
9119   
9120              //Atualiza o link com o plano de curso do servi¿o (ja retorna o texto) 
9121              $('#plano-curso').append('<br/>'+data);  
9122            }, 
9123            error: function(data){ 
9124               
9125              console.log('Não existe a URL do plano de curso'); 
9126								 
9127
9128         
9129          }); 
9130
9131     
9132  function checkCursoTrampolim(){ 
9133    return $('[name="codigoFT"]').val() == "24493";  
9134
9135   
9136  /*function verificaOfertaValida(oferta){ 
9137       
9138    if(oferta['precoCheioOferta'] == '' || oferta['precoVendaOferta'] == '' || oferta['numeroMaxParcelasOferta'] == '' || oferta['precoVendaMaxParcelaOferta']  == '') 
9139      return false; 
9140     
9141    var atual = new Date(); 
9142   
9143    var dataOfertaPartes = oferta['dataInicio'].split('/'); 
9144     
9145    var dataOferta = new Date(dataOfertaPartes[2], dataOfertaPartes[1] - 1, dataOfertaPartes[0]); 
9146     
9147    var dataLimiteMatriculaOfertaPartes = ""; 
9148    var dataLimiteMatriculaOferta = ""; 
9149     
9150    if(oferta['dtLimiteMatricula'] != ""){ 
9151    dataLimiteMatriculaOfertaPartes = oferta['dtLimiteMatricula'].split('-'); 
9152      dataLimiteMatriculaOferta = new Date(dataLimiteMatriculaOfertaPartes[0], dataLimiteMatriculaOfertaPartes[1] - 1, dataLimiteMatriculaOfertaPartes[2] ,atual.getHours(),atual.getMinutes(),atual.getSeconds(),atual.getMilliseconds());  
9153     
9154
9155     
9156     
9157    //Só deve aparecer ofertas D-1 . Se ela iniciou, aparece se o campo dtLimiteMatr estiver preenchido e com data até o dia de hoje  
9158    if(dataOferta <= atual) 
9159      if(dataLimiteMatriculaOferta == "" || (dataLimiteMatriculaOferta != "" &&  atual.getTime() > dataLimiteMatriculaOferta.getTime())) 
9160        return false; 
9161     
9162    return true; 
9163  }*/ 
9164   
9165   
9166  function loadServerDate(){ 
9167   
9168    $.ajax({ 
9169      url:urlGetServerT, 
9170      method:'get', 
9171      dataType: 'json', 
9172      cache: 'false', 
9173      headers: { 
9174      'Cache-Control': 'no-store, no-cache, max-age=0', 
9175      'Expires': '0', 
9176      'Pragma': 'no-cache' 
9177      }, 
9178      success: function( data ) { 
9179        todayG = new Date(data.year,(data.month - 1),data.day,(data.hour),data.minutes,data.seconds); 
9180        startTimer(); 
9181
9182    }); 
9183     
9184
9185   
9186   function handleVisibilityChange() { 
9187     
9188     if (!document[hidden] ){ 
9189      restartTimer(); 
9190
9191     
9192
9193   
9194  function restartTimer(){ 
9195     
9196    if(restartTimeout == null){ 
9197      loadServerDate(); 
9198      restartTimeout = setTimeout(function(){ 
9199        restartTimeout = null; 
9200      }, 5000); 
9201
9202     
9203
9204    
9205	 function startTimer(){ 
9206		 
9207		var mSeconds = todayG.getTime(); 
9208		if(interval01 != null){ 
9209			clearInterval(interval01); 
9210
9211		interval01 = setInterval(function(){ 
9212			todayG.setTime(todayG.getTime() + 1000); 
9213		}, 1000); 
9214		 
9215		if(interval15 != null){ 
9216			clearInterval(interval15); 
9217
9218		interval15 = setInterval(function(){ 
9219			mSeconds = mSeconds + 15000; 
9220			todayG.setTime(mSeconds); 
9221		}, 15000); 
9222		 
9223
9224   
9225  function checkIsAoVivo(){ 
9226    isAoVivo = $("input[name='formato']").attr("data-formato") == nomeFormatoAoVivoDxp; 
9227
9228   
9229   
9230  //Ao clicar na setinha next do slider, busca dinamicamente uma proxima oferta 
9231  function buscaProximaOferta(){ 
9232    //Zera variável que controla existência de ofertas com bolsa 
9233    //ofertasComBolsa = false; 
9234  	  
9235     //Verificamos se a ultima oferta já foi exibida, para evitar de fazer novas buscas 
9236     if(carregouUltimaOferta)  
9237        return; 
9238 
9239     //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.	 
9240     var totalOfertasSlick = $('#turmas-container .slick-area__item').length; 
9241     //Pegamos o índice da oferta do meio (central) 
9242     var currentSliderIndex = parseInt($('.slick-current').attr('data-slick-index')); 
9243 
9244     var totalOfertasADireita = totalOfertasSlick - currentSliderIndex; 
9245 
9246     //Se o total de ofertas à direita for maior a 2 não precisa realizar a busca 
9247     if(totalOfertasADireita > 2)  
9248        return; 
9249 
9250	 startOfertaParam = endOfertaParam; 
9251	 endOfertaParam += 16; 
9252	  
9253     const codigoFT = $('[name="codigoFT"]').val(); 
9254  	 const dataEfetivaOferta = $('[name="dataEfetivaSTR"]').val(); 
9255	 
9256  	 var unidadeCategoryId = ''; 
9257     var unidadeCodigoSelect = ''; 
9258  	 
9259  	if(isAoVivo){ 
9260  	   
9261  		$.each(objsTela.unidades, function(k,unidade){ 
9262  			unidadeCategoryId += unidade['categoryId']+','; 
9263      	}); 
9264  		 
9265  		//tirando ultima virgula 
9266  	    unidadeCategoryId = unidadeCategoryId.substring(0,unidadeCategoryId.length - 1); 
9267  	   
9268  	}else{ 
9269  		 var splitted = $('#unidades-ofertas').val().split("@"); 
9270  		 unidadeCategoryId = splitted[0]; 
9271       unidadeCodigoSelect = splitted[1]; 
9272
9273     
9274    var params = new URLSearchParams(); 
9275    params.set('codigoFTOferta',codigoFT) 
9276    params.set('dataEfetivaOferta',dataEfetivaOferta) 
9277    params.set('categoryIds',unidadeCategoryId) 
9278    params.set('start',startOfertaParam) 
9279    params.set('end',endOfertaParam) 
9280    params.set('inscricaoAberta', $('#chkInscricao').prop('checked')) 
9281    params.set('bolsaAberta', $('#chkBolsa').prop('checked')) 
9282    params.set('cursoArticleId', $('[name="articleId"]').val() || ''); 
9283 
9284    if($('#chkBolsa').prop('checked')){ 
9285    	params.set('considerarDataBolsaFutura', true) 
9286
9287     
9288    const url = urlSearchOferta + '?' + params.toString() 
9289 
9290    $.ajax({ 
9291      url:url, 
9292      method:'get', 
9293      dataType:'json' 
9294    }).done( 
9295      function(data){ 
9296         
9297        if(data.length > 0){ 
9298          var indiceOferta = startOfertaParam; 
9299 
9300        	for (var index = 0; index < data.length; index++) { 
9301        		 
9302				var ofertaJSON = data[index]; 
9303	            var oferta = getOfertaObjectFromJson(ofertaJSON,index); 
9304				             
9305	            //Verificamos se a oferta buscada já existe na tela (que ocorre quando chega na última oferta) 
9306	            if($('.codigoOferta_'+oferta.codigoOferta).length > 0){ 
9307	              console.log('Ja tem a oferta '+oferta.codigoOferta); 
9308	              carregouUltimaOferta = true; 
9309	              break; 
9310
9311	 
9312	            //guardo em um map a oferta e qual unidade é, para utilizar depois no populaOferta para o aoVivo                
9313	            ofertaUnidadeMap.set(oferta['codigoOferta'],mapUnidadesIds.get(parseInt(ofertaJSON.unidadeCategoryIds))); 
9314	      
9315	            ofertasMap.set(oferta.codigoOferta, oferta); 
9316	 
9317	            if(isAoVivo) 
9318	            	objsTela.ofertasAoVivoTodasUnidades.push(oferta); 
9319	 
9320	             //O indice é igual ao ultimo elemento buscado - 1 
9321	             var i = indiceOferta; 
9322	             oferta['indice'] = i; 
9323	 
9324	             if(isAoVivo) 
9325	                codigoUnidade = ofertaUnidadeMap.get(oferta.codigoOferta); 
9326	             else codigoUnidade = unidadeCodigoSelect; 
9327	 
9328	              
9329	             montaHTMLOferta(oferta, i, codigoUnidade, true);  
9330	             montaHTMLModalFormaPgto(oferta, i, codigoUnidade);  
9331 
9332	             montaHTMLModalLocalRealizacao(oferta, i);  
9333	             montaHTMLModalAntesCompra(oferta, i, codigoUnidade); 
9334	             verificaBotaoBolsaSS(oferta); 
9335	             verificaCursoAprendizagem(i); 
9336	             verificaCursoTrampolim(i); 
9337	              
9338	             associaEventoBtnFormaPagamento(i); 
9339	             associaEventoBtnComprar(i);  
9340	             associaEventoBtnComprarDentroFormaPgto(i); 
9341	             associaEventoBtnLocalRealizacao(i); 
9342	             associaEventosFecharModal(i); 
9343 
9344                 if($('[name="tipoCurso"]').val() == 'extensao'){ 
9345                   associaEventoBtnConheca(i); 
9346                   associaEventoBtnComprarConhecaDescontoOk(i); 
9347                   associaEventoBtnComprarConhecaDescontoNot(i); 
9348                   associaEventoBtnAlunoNao(i); 
9349                   associaEventoBtnAlunoSim(i); 
9350                    
9351
9352                  
9353               indiceOferta++; 
9354
9355           
9356          controlaPaginaBolsa(); 
9357
9358
9359    ); 
9360     
9361
9362 
9363  function setUrlParam(key, value) { 
9364    const url = new URL(window.location.href) 
9365 
9366    if(value) 
9367      url.searchParams.set(key, value); 
9368    else 
9369      url.searchParams.delete(key); 
9370 
9371    window.history.pushState({}, '', url.toString()) 
9372
9373   
9374   function selectFilter(paramkey, el) { 
9375    setUrlParam(paramkey, el.prop("checked")) 
9376    const currentUnidadeFriendlyURLSelected = $('#unidades-ofertas').find('option').filter(':selected').attr('data-unidade-friendly-url') 
9377    loadUnidades(!isAoVivo, $('[data-unidade-friendly-url="' + currentUnidadeFriendlyURLSelected + '"]').val()) 
9378 
9379    if($('#chkInscricao').prop("checked") || $('#chkBolsa').prop("checked")) $('#msgFiltroAplicado').show() 
9380    else $('#msgFiltroAplicado').hide() 
9381
9382    
9383  function defineCurrentUrl(ev) { 
9384    const currentUnidadeFriendlyURLSelected = $(ev.target).find('option').filter(':selected').attr('data-unidade-friendly-url') 
9385 
9386    const hasPathWeb = window.location.pathname.includes('/web') 
9387    const hasPathGuest = window.location.pathname.includes('/guest') 
9388 
9389    let currentPath = window.location.pathname 
9390    currentPath = hasPathWeb ? currentPath.substring(4) : currentPath 
9391    currentPath = hasPathGuest ? currentPath.substring(6) : currentPath 
9392 
9393    objsTela.unidadesRegistroInteresse.forEach(unidade => currentPath = currentPath.replace('/' + unidade.friendlyURL, '')) 
9394 
9395    currentPath = (currentUnidadeFriendlyURLSelected ? '/' + currentUnidadeFriendlyURLSelected : '') + currentPath 
9396    currentPath = hasPathGuest ? '/guest' + currentPath : currentPath 
9397    currentPath = hasPathWeb ? '/web' + currentPath : currentPath 
9398 
9399    if(keepURL()) 
9400    window.history.replaceState(window.history.state, '', currentPath + window.location.search) 
9401
9402   
9403  let isKeepURL = true   
9404  /** Verifica se é para manter a URL atual. Isso deve acontecer somente ao iniciar a página #9674 */ 
9405  function keepURL() { 
9406    const aux = isKeepURL 
9407    isKeepURL = false 
9408    return !aux 
9409
9410   
9411  loadServerDate(); 
9412  $(document).ready(function(){ 
9413 
9414    if("${normalizedCategoryName}" == "graduacao" || "${normalizedCategoryName}" == "pos-graduacao"){ 
9415      document.location.href = '/erro-404' 
9416
9417     
9418    ehCursoTrampolim = checkCursoTrampolim(); 
9419    checkIsAoVivo(); 
9420    loadPlanoCurso(); 
9421    loadCursosVocePodeGostar(); 
9422 
9423    if(!isAoVivo) { 
9424      $('#unidades-ofertas').change(ev => { 
9425        mudarUnidade(ev) 
9426        defineCurrentUrl(ev) 
9427      }); 
9428
9429 
9430    const urlParams = new URLSearchParams(window.location.search) 
9431    $('#chkInscricao').prop("checked", urlParams.get('inscricao') == 'true') 
9432    $('#chkInscricao').change(ev => selectFilter('inscricao', $('#chkInscricao')) ) 
9433     
9434    if($('#chkBolsa').length) { 
9435      $('#chkBolsa').prop("checked", urlParams.get('bolsa') == 'true') 
9436      $('#chkBolsa').change(ev => selectFilter('bolsa', $('#chkBolsa')) ) 
9437      loadUnidades(!isAoVivo); 
9438    } else { 
9439      selectFilter('bolsa', $('#chkBolsa')) 
9440
9441           
9442      //Função para Montar breadcrumb Mobile 
9443   
9444      function breadcrumbMobile(){ 
9445   
9446		const linkEl = $('.ssp-card-detalhe-curso__secunday-info-back-link');   	  
9447    	   
9448        if ( $.trim(linkEl.html()) === 'Técnico'){ 
9449   
9450        	linkEl.attr("href", "/cursos-tecnicos"); 
9451   
9452        } else if ( $.trim(linkEl.html()) === 'Livre'){ 
9453       
9454           if(isAoVivo){ 
9455        	   	linkEl.html('Senac Online<i class="fas fa-signal-stream icon-ao-vivo" aria-hidden="true"></i>ao vivo') 
9456             	linkEl.attr("href", "/cursos-livres-senac-online-ao-vivo"); 
9457           }else{ 
9458        	   	linkEl.attr("href", "/cursos-livres"); 
9459
9460        } else if ( $.trim(linkEl.html()) === 'Aprendizagem'){ 
9461   
9462        	linkEl.attr("href", "/jovem-aprendiz"); 
9463   
9464        }else if ( $.trim(linkEl.html()) === 'Extensão Universitária'){ 
9465   
9466        	linkEl.attr("href", "/extensao-universitaria"); 
9467         
9468        }else if ( $.trim(linkEl.html()) === 'Ensino Médio Técnico'){ 
9469        		   
9470            	linkEl.attr("href", "/ensino-medio-tecnico");	 
9471
9472   
9473
9474   
9475      breadcrumbMobile() 
9476       
9477    //Esconde elementos quando o curso é aprendizagem 
9478      if($('[name="codigoFT"]').val() == codigoFTCursoAprendizagem){ 
9479        $('.ssp-section-novas-turmas').remove(); 
9480        $("div[class^='botoes-oferta-container_']").remove(); 
9481
9482   
9483     //retira os itens de dentro do container 
9484      $('.bg-').css('background-color','#e4e4e4') 
9485     $('.container.py-3').removeClass('container py-3') 
9486     //ajuste para versao 7.4 
9487     $('.lfr-layout-structure-item-container.container-fluid.container-fluid-max-xl').removeClass() 
9488 
9489   
9490     //Fecha modal registro de interesse 
9491   
9492     $('#btn-close-Modal-registro-interesse').click(function(){ 
9493   
9494       $('#modal-registro-interesse').addClass('d-none') 
9495       $("body").removeClass("overflow-hidden") 
9496   
9497     }) 
9498   
9499      $( "#modal-registro-interesse" ).click( function(event) { 
9500   
9501         if(event.target.id==$('#modal-registro-interesse')[0].id){ 
9502               $(this).addClass('d-none') 
9503
9504   
9505      }); 
9506   
9507       
9508      //Aviso sobre interesse em turmas 
9509      $('.ssp-card-registro-interesse').on('click', '#enviar-registro-interesse-btn', enviarRegistroInteresse); 
9510      if(!isEmed){ 
9511        $('.ssp-aviso-novas-turmas__content').on('click', '#btn-aviso-novas-turmas', avisoNovasTurmas); 
9512        $('.ssp-card-registro-interesse').on('click', '#todosDias', registroSelecionaTodosDias); 
9513      } else { 
9514        $('.ssp-emed__card-slider-body').on('click', '#btnOptin', avisoNovasTurmas) 
9515      }  
9516      $('#div-campo-todos').on('change', 'input[type=checkbox]', registroSelecionaTodosPeriodos); 
9517   
9518      $('#btnLogin').click(function(){ 
9519        
9520        login() 
9521         
9522       }); 
9523       
9524       $('#btn-close-loginModal').click(function(){ 
9525           $('#modal-login').addClass('d-none') 
9526       }); 
9527        
9528       $('.ssp-week-day').not('#todosDias').click(function(){ 
9529   
9530           $(this).toggleClass('ssp-week-day-active'); 
9531           verificaBtnEnviarRegistroInteresseAtivo(); 
9532            
9533       }); 
9534        
9535       $('#add-unidade-regsitro-interesse').click(function(e){ 
9536           var element = $('.ssp-card-registro-interesse__select.unidades').first().clone(); 
9537           element.empty(); 
9538            element.append('<option value="" disabled selected>Selecione uma unidade</option>') 
9539                $.each(objsTela.unidadesRegistroInteresse, function(k,unidade){ 
9540 
9541                    if(!unidade['selecionado']){      
9542                        element.append('<option value="'+unidade['codigoUnidade']+'">'+unidade['nome']+'</option>'); 
9543
9544 
9545                }); 
9546            element.change(changeSelectUnidades) 
9547 
9548   
9549           element.css('margin-top', '10px'); 
9550            
9551           if(element.find("option").length > 1 && $('.ssp-card-registro-interesse__select.unidades').length < objsTela.unidadesRegistroInteresse.length){ 
9552              element.attr("id", "select_" + cntSelectUnidades++) 
9553              $('#select-unidades-registro-interesse').append(element); 
9554          }    
9555 
9556          if($('.ssp-card-registro-interesse__select.unidades').length == objsTela.unidadesRegistroInteresse.length){ 
9557              $('#add-unidade-regsitro-interesse').addClass("d-none") 
9558
9559   
9560           verificaBtnEnviarRegistroInteresseAtivo(); 
9561       }); 
9562        
9563       $('#remove-unidade-regsitro-interesse').click(function(e){ 
9564          
9565         if($('.ssp-card-registro-interesse__select').length > 1){ 
9566          
9567              var element = $('.ssp-card-registro-interesse__select').last(); 
9568     
9569              var valueSelecionado = element.val(); 
9570 
9571              $.each(objsTela.unidadesRegistroInteresse, function(k,unidade){ 
9572 
9573                  if(unidade['selecionado'] && unidade['codigoUnidade'] == valueSelecionado){ 
9574                      unidade['selecionado'] = false; 
9575                      unidade['selectSelecionado'] = ""; 
9576
9577 
9578              }); 
9579              element.val(""); 
9580              cntSelectUnidades--; 
9581              element.change() 
9582 
9583              element.remove(); 
9584
9585   
9586         if($('.ssp-card-registro-interesse__select.unidades').length < objsTela.unidadesRegistroInteresse.length){ 
9587              $('#add-unidade-regsitro-interesse').removeClass("d-none") 
9588
9589 
9590          verificaBtnEnviarRegistroInteresseAtivo(); 
9591       }) 
9592        
9593       $('.ssp-card-registro-interesse__check-item').on('change', 'input[type=checkbox]', function(){ 
9594         verificaBtnEnviarRegistroInteresseAtivo(); 
9595       }); 
9596   
9597       //Contador em ofertas de bolsas proximas 
9598       var cancel = setInterval(atualizaTempoAberturasBolsas, 1000); 
9599        
9600        // Manipua o breadcrumb para as regras do Senac 
9601          
9602        if($('ol.breadcrumb').find('li:first').text().trim() == "Cursos Pai") 
9603          $('ol.breadcrumb').find('li:first').remove(); 
9604         
9605        var li = $('ol.breadcrumb').find('li:first'); 
9606   
9607        if(li.text().trim() == 'Cursos'){ 
9608       
9609          var primeiro = li.clone(); 
9610          primeiro.html(htmlBreadcrumb('/', 'Cursos', 'Home')); 
9611          li.parent().prepend(primeiro); 
9612       
9613          var tipoCurso = $('.ssp-header-curso__tag-formato').text().trim(); 
9614          var tipoBreadcrumb = ''; 
9615           
9616          const isPresencialEad = (tipoCurso.toLowerCase().includes("presencial + ead")) 
9617           
9618          if(tipoCurso.includes("Cursos Livres")){ 
9619            if(isPresencialEad) { 
9620              tipoBreadcrumb =  htmlBreadcrumb('/presencial-ead#cursos-livres', tipoCurso); 
9621            } else { 
9622              tipoBreadcrumb = htmlBreadcrumb( 
9623                    isAoVivo ? '/cursos-livres-senac-online-ao-vivo' : '/cursos-livres',  
9624                  isAoVivo ? nomeFormatoAoVivoDxp : tipoCurso); 
9625            }         
9626          }else if(tipoCurso.includes("Extensão")){ 
9627            if(isPresencialEad) { 
9628              tipoBreadcrumb =  htmlBreadcrumb('/presencial-ead#extensao-universitaria', tipoCurso); 
9629            } else { 
9630        	  	tipoBreadcrumb =  htmlBreadcrumb('/extensao-universitaria', tipoCurso); 
9631            }           
9632          }else if(tipoCurso.includes("Ensino Médio Técnico")){ 
9633            if(isPresencialEad) { 
9634              tipoBreadcrumb =  htmlBreadcrumb('/presencial-ead#ensino-medio-tecnico', tipoCurso); 
9635            } else { 
9636              tipoBreadcrumb =  htmlBreadcrumb('/ensino-medio-tecnico', tipoCurso); 
9637
9638          }else if(tipoCurso.includes("Jovem Aprendiz")){ 
9639            if(isPresencialEad) { 
9640              tipoBreadcrumb =  htmlBreadcrumb('/presencial-ead#jovem-aprendiz', tipoCurso); 
9641            } else { 
9642              tipoBreadcrumb =  htmlBreadcrumb('/jovem-aprendiz', tipoCurso); 
9643
9644          }else{ 
9645            if(isPresencialEad) { 
9646              tipoBreadcrumb =  htmlBreadcrumb('/presencial-ead#cursos-tecnicos', tipoCurso); 
9647            } else { 
9648              tipoBreadcrumb =  htmlBreadcrumb('/cursos-tecnicos', tipoCurso); 
9649
9650
9651           
9652          li.html(tipoBreadcrumb); 
9653         
9654          if($('ol.breadcrumb').find('li').length == 4) $('ol.breadcrumb').find('li:last').remove(); 
9655        	 
9656
9657         
9658        $('#turmas-container').on('click', 'a.slick-next', function(e){ 
9659				 
9660        	 	e.preventDefault(); 
9661			    buscaProximaOferta(); 
9662			 
9663        }); 
9664 
9665        $('#turmas-container').on('click', 'button.slick-dots', function(){ 
9666 
9667             
9668       
9669        }); 
9670		 
9671        $(".next-mobile").on("click",function(e){  
9672        	 e.preventDefault();  
9673       	 	 
9674        	 acoesMobileSliderOfertas("left"); 
9675       	}); 
9676         
9677        $(".prev-mobile").on("click",function(e){  
9678        	e.preventDefault();  
9679	        
9680        	acoesMobileSliderOfertas("right");	 
9681      	}); 
9682         
9683        //ação de drag do card de ofertas no mobile 
9684        $('.oferta-slick-area').on('swipe', function(event, slick, direction){ 
9685           	acoesMobileSliderOfertas(direction); 
9686        }); 
9687         
9688        loadAlternadores() 
9689        let modalFormAprendizagem = document.querySelector('[data-modal="modal"]') 
9690        if(modalFormAprendizagem){ 
9691          // Create dinamic close buttom form 
9692          let btnCloseModalForm = document.querySelector('[data-modal="close-form-modal"]') 
9693         
9694          btnCloseModalForm.addEventListener('click',closeModalFormAprendizagem) 
9695         
9696
9697    
9698        $(".oferta-slick-area").on("click", ".btnModalAprendizagem", function (){ 
9699           openModalFormAprendizagem(); 
9700         }) 
9701         
9702     }); 
9703   
9704  function htmlBreadcrumb(link, title, display){ 
9705	   
9706	  return '<a class="breadcrumb-link" href="'+link+'" title="'+title+'"><span class="breadcrumb-text-truncate">'+(display || title)+'</span></a>'; 
9707	   
9708
9709   
9710  function acoesMobileSliderOfertas(direcao){ 
9711	   
9712       	if(direcao == "right"){ 
9713       		$("a.slick-prev").click();  
9714	       	 
9715        	if($('.slick-current').attr('data-slick-index') == "0") 
9716	       		 $('.prev-mobile').addClass('nextPrevOpacity'); 
9717	       	 
9718        	if($(".next-mobile").hasClass('nextPrevOpacity')) 
9719        		 $('.next-mobile').removeClass('nextPrevOpacity'); 
9720
9721       	 
9722       	 
9723		if(direcao == "left"){ 
9724	      	 $("a.slick-next").click(); 
9725	   	  
9726	   	  	if($(".prev-mobile").hasClass('nextPrevOpacity')) 
9727	     		 $('.prev-mobile').removeClass('nextPrevOpacity'); 
9728	   	   
9729	   	 	if(carregouUltimaOferta){ 
9730	   	 		var totalCardOfertas = $('#turmas-container .slick-area__item').length; 
9731	   	 		var currentSliderIndex = parseInt($('.slick-current').attr('data-slick-index'));   
9732	 
9733	   	 		//o card do meio é o último	 
9734				if(totalCardOfertas == (currentSliderIndex + 1)) 
9735					$('.next-mobile').addClass('nextPrevOpacity'); 
9736
9737
9738
9739   
9740  //habilitar/desabilitar registro de interesse 
9741  function habilitarRegistroInteresse(habilitar){ 
9742    var sectionRI = $('#section-registro-interesse') 
9743 
9744    if(isEmed) { 
9745      sectionRI.hide() 
9746      return; 
9747
9748 
9749    //Redmine #9309 - sempre irá mostrar 
9750    habilitar = true 
9751       
9752    if(habilitar) sectionRI.show() 
9753    else sectionRI.hide() 
9754
9755   
9756  function abrirModalRegistroInteresse(codUnidadeSelect){ 
9757	    $('#modal-registro-interesse').removeClass('d-none'); 
9758      $("body").addClass("overflow-hidden") 
9759      if(!isEmed){ 
9760	    $('.ssp-card-registro-interesse__nome-curso').text($('.ssp-card-detalhe-curso__title').text()); 
9761      } else { 
9762        $(".transferencia-emed-link").find('a').attr("href", "/ensino-medio-tecnico#onde-estudar") 
9763        $('.ssp-card-registro-interesse__title-modal').text($('.ssp-card-detalhe-curso__title').text()); 
9764
9765       
9766      $('.ssp-card-registro-interesse__select:not(#select_0)').remove(); 
9767      $.each(objsTela.unidadesRegistroInteresse, function(k,unidade){ 
9768        if(unidade['codigoUnidade'] == codUnidadeSelect){ 
9769            unidade['selecionado'] = true; 
9770            unidade['selectSelecionado'] = 'select_0'; 
9771        } else { 
9772            unidade['selecionado'] = false; 
9773            unidade['selectSelecionado'] = ""; 
9774
9775 
9776    }); 
9777    objsTela.unidadesRegistroInteresse.sort(function (a, b) { 
9778        return ordenar(a, b, 'nome'); 
9779    }); 
9780 
9781    $('#select_0').empty(); 
9782    $('#select_0').append('<option value="" disabled>Selecione uma unidade</option>') 
9783        $.each(objsTela.unidadesRegistroInteresse, function(k,unidade){ 
9784 
9785          $('#select_0').append('<option value="'+unidade['codigoUnidade']+'" >'+unidade['nome']+'</option>'); 
9786             
9787        }); 
9788    $('#select_0').val(codUnidadeSelect); 
9789 
9790	 	if(isAoVivo){ 
9791	 		$('#unidades-registro-interesse, #dias-registro-interesse').addClass('d-none'); 
9792
9793     if(objsTela.unidadesRegistroInteresse.length > 1) { 
9794        $('#add-unidade-regsitro-interesse').removeClass("d-none") 
9795        $('#add-unidade-regsitro-interesse').show() 
9796        $('#remove-unidade-regsitro-interesse').show() 
9797      } else { 
9798        $('#add-unidade-regsitro-interesse').hide() 
9799        $('#remove-unidade-regsitro-interesse').hide() 
9800
9801
9802 
9803  $('.ssp-card-registro-interesse__select.unidades').on('change', changeSelectUnidades) 
9804  
9805 function changeSelectUnidades() { 
9806   var codUnidadeSelecionada = $(this).val(); 
9807   var idSelectSelecionado = $(this).attr('id') 
9808   $.each(objsTela.unidadesRegistroInteresse, function(k,unidade){ 
9809        if(unidade['codigoUnidade'] == codUnidadeSelecionada){ 
9810            unidade['selecionado'] = true; 
9811            unidade['selectSelecionado'] = idSelectSelecionado; 
9812        } else if(unidade['selectSelecionado'] == idSelectSelecionado && unidade['selecionado']){ 
9813            unidade['selecionado'] = false; 
9814            unidade['selectSelecionado'] = ""; 
9815
9816 
9817    }); 
9818     
9819    objsTela.unidadesRegistroInteresse.sort(function (a, b) { 
9820        return ordenar(a, b, 'nome'); 
9821    }); 
9822 
9823    $('.ssp-card-registro-interesse__select.unidades:not(#'+idSelectSelecionado+')').each(function() { 
9824        var valueSelecionado = $(this).val(); 
9825        var idActualSelect = $(this).attr('id'); 
9826        $(this).empty(); 
9827        $(this).append('<option value="" disabled>Selecione uma unidade</option>') 
9828        $.each(objsTela.unidadesRegistroInteresse, function(k,unidade){ 
9829 
9830            if(unidade['selecionado'] && unidade['codigoUnidade'] == valueSelecionado){ 
9831                $("#"+idActualSelect).append('<option value="'+unidade['codigoUnidade']+'" >'+unidade['nome']+'</option>'); 
9832            }else if(!unidade['selecionado']){      
9833                $("#"+idActualSelect).append('<option value="'+unidade['codigoUnidade']+'">'+unidade['nome']+'</option>'); 
9834
9835 
9836        }); 
9837        $(this).val(valueSelecionado) 
9838    }); 
9839     
9840   verificaBtnEnviarRegistroInteresseAtivo(); 
9841
9842 
9843   
9844 function ordenar(objA, objB, nomeAtributo){ 
9845	 	let a = (nomeAtributo) ? objA[nomeAtributo] : objA; 
9846	 	let b = (nomeAtributo) ? objB[nomeAtributo] : objB; 
9847	 
9848	 	return a.toString().localeCompare(b.toString()); 
9849
9850  
9851 function paramOrdem(xml){ 
9852	 	if(isEmed){ 
9853	 		var ordemPeriodo = ['MA', 'TA', 'NO']; 
9854	 		return $.inArray(xml.find('[name="periodoDiaOferta"]').text().trim(), ordemPeriodo); 
9855	 	}else{ 
9856	 		return xml.find('[name="dataInicioOferta"]').text(); 
9857
9858
9859  
9860 function getEtapaSelecionadaEmed(){ 
9861		var btnEtapa = $('.ssp-ofertas-emed__filtro-content .btn--filtro-ativo'); 
9862		 if(!btnEtapa) return ''; 
9863		 return btnEtapa.val(); 
9864
9865  
9866 function filtraOfertasEtapa(etapa, ofertas){ 
9867    if(!etapa) return []; 
9868    var ofertasEtapa = []; 
9869    var turmas = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']; 
9870    var periodos = {['MA'] : 'Manhã', ['TA'] : 'Tarde', ['NO'] : 'Noite'}; 
9871    var ultimoPeriodo = null, indexPeriodo; 
9872    ofertas = ofertas.sort(function(a, b){ 
9873       return ordenar(a, b, 'periodoDiaOferta'); 
9874    }); 
9875 
9876    $.each(ofertas, async (index, oferta)=> { 
9877      if(oferta['etapa'] == etapa){ 
9878        if(oferta['periodoDiaOferta'] != ultimoPeriodo) indexPeriodo = 0; 
9879        ultimoPeriodo = oferta['periodoDiaOferta']; 
9880        oferta['titulo'] = 'Turma ' + turmas[indexPeriodo++] + ' - ' + (periodos[ultimoPeriodo] || ''); 
9881        ofertasEtapa.push(oferta); 
9882
9883    }); 
9884      
9885     return ofertasEtapa; 
9886
9887  
9888 function formatarDataEmed(data, etapa, isDataFim){ 
9889	  
9890 	try{ 
9891 
9892 		var splitdata = data.split('/'); 
9893 		var meses = ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro']; 
9894 	 	var mes = meses[parseInt(splitdata[1])-1]; 
9895 	 	 
9896 	 	var ano = splitdata[2]; 
9897 	 	 
9898 	 	if(isDataFim){ 
9899 	 		ano = parseInt(splitdata[2]); 
9900
9901 	 	 
9902 	 	return mes + '/' + ano; 
9903 	}catch(err){  
9904 		return data;  
9905
9906   
9907
9908  
9909 //EMED Mobile 
9910 function sliderOfertasEmed(){ 
9911	  
9912	 var tamScreen = $(window).width(); 
9913	 if(tamScreen < 1024){ 
9914	     $('.ssp-slick-ofertas-emed').slick({ 
9915	         slidesToShow: 1, 
9916	         slidesToScroll: 1, 
9917	         dots: false, 
9918	         infinite: false, 
9919	         adaptiveHeight: true, 
9920	         prevArrow:'<button class="btn slick-prev" type="button"><i class="fal fa-chevron-left"></i><span class="sr-only">Anterior</span></button>', 
9921	         nextArrow:'<button class="btn slick-next" type="button"><i class="fal fa-chevron-right"></i><span class="sr-only">Próximo</span></button>', 
9922	         responsive: [ 
9923	 
9924
9925	                 breakpoint: 1200, 
9926	                 settings: { 
9927	                     slidesToShow: 1, 
9928	                     slidesToScroll: 1, 
9929	                     prevArrow: '<button class="btn slick-prev ssp-slider-control-mobile__item-prev"><i class="fal fa-chevron-left mr-1"></i><span>Anterior</span></button>', 
9930	                     nextArrow: '<button class="btn slick-next ssp-slider-control-mobile__item-next"><span>Próximo</span><i class="fal fa-chevron-right ml-1"></i></button>', 
9931	 
9932
9933	             }, 
9934
9935	                 breakpoint: 768, 
9936	                 settings: { 
9937	                     slidesToShow: 1, 
9938	                     slidesToScroll: 1, 
9939	                     prevArrow: '<button class="btn slick-prev ssp-slider-control-mobile__item-prev"><i class="fal fa-chevron-left mr-1"></i><span>Anterior</span></button>', 
9940	                     nextArrow: '<button class="btn slick-next ssp-slider-control-mobile__item-next"><span>Próximo</span><i class="fal fa-chevron-right ml-1"></i></button>', 
9941
9942
9943	 
9944
9945	 
9946	     }); 
9947 
9948
9949 
9950
9951 
9952function addItemBackpack(codOferta, originElemSelector, codUnidade, dataEfetiva){ 
9953	 
9954	let backpackPostRequest = {}; 
9955	backpackPostRequest.codOferta = codOferta; 
9956	backpackPostRequest.codUnidade = codUnidade; 
9957	backpackPostRequest.dt_efetiva = dataEfetiva; 
9958 
9959	 
9960	mochila.requestAccess(function(backpackPostRequest){ 
9961		 
9962		let urlMochila = '/o/senac-backpack-services/backpack'; 
9963		 
9964		if(getCookie("codMochila") != null){ 
9965			backpackPostRequest.codMochila = getCookie("codMochila"); 
9966			urlMochila = '/o/senac-backpack-services/updateBackpack';	 
9967		}	 
9968		$.ajax({ 
9969		    type: 'POST', 
9970		    url: urlMochila, 
9971		    headers: { 
9972		        "Content-Type":"application/json" 
9973		    }, 
9974            beforeSend: function(xhr){ 
9975            	xhr.setRequestHeader("Authorization", "Bearer " + getCookie("tokenMochila")); 
9976            	loadingSubmitButton(originElemSelector); 
9977            	$(originElemSelector + ' .loading-icon-button').css('height', 'unset'); 
9978            	if($(window).width() < 1024){ 
9979            		$(originElemSelector + ' .loading-icon-button span').css('margin-left', '10%'); 
9980
9981            }, 
9982		    data : JSON.stringify(backpackPostRequest) 
9983		}).done(function(data) {  
9984			 
9985			let domain = ''; 
9986			if(getAmbiente() == 'hom' || getAmbiente() == 'prod') 
9987				domain = '.sp.senac.br'; 
9988			 
9989			writeCookie( 
9990					'codMochila',  
9991					(getCookie("codMochila") == null) ? data.backpackCode : JSON.parse(data).backpackCode,  
9992					24, 
9993					domain 
9994			); 
9995			addItemSuccessMochila(); 
9996			 
9997		}).fail(function(xhr, status, error) { 
9998			 
9999			$('#modal-backpack-error').removeClass('d-none'); 
10000			 
10001	 	}).always(function(){ 
10002	 		 
10003	 		cleanLoadingSubmitButton( 
10004	 				originElemSelector,  
10005	 				originElemSelector.indexOf('backpack') > 0 ? 'OK, desejo comprar' : 'COMPRAR' 
10006	 		); 
10007	 		$('[id^="modalAntesCompra_"]').each(function(index, modal) { 
10008	 			modal.style.display = "none"; 
10009	 		}); 
10010	 		 
10011	 	}); 
10012		 
10013	}, backpackPostRequest); 
10014	 
10015
10016 
10017function componentBuyConfirmation(codigoUnidade, oferta, dataEfetiva){ 
10018  
10019	var comp = null; 
10020		 
10021	if((oferta.destinoCompra !== null) && oferta.destinoCompra == "2"){ 
10022		 
10023		comp = $("<button>") 
10024		.addClass("btn btn-lg btn-success w-100 mt-3 btn-backpack") 
10025		.attr("offerCode",oferta.codigoOferta) 
10026		.attr("unitCode",codigoUnidade) 
10027		.attr("effectiveDate",dataEfetiva) 
10028		.text("OK, desejo comprar"); 
10029	 
10030	}else { 
10031	 
10032		comp = $("<a>") 
10033		.addClass("btn btn-lg btn-success w-100 mt-3") 
10034		.text("OK, desejo comprar") 
10035		.attr("href", linkBotaoCompra.replace('\{codigoUnidade\}', codigoUnidade).replace('\{codigoOferta\}', oferta.codigoOferta)) 
10036		.attr("target","_blank"); 
10037
10038	 
10039	comp.attr('id', 'btnCompraLocal_' + oferta.indice); 
10040	 
10041    return comp[0].outerHTML; 
10042     
10043
10044 
10045function getUnidadesSelecionadasRI(){ 
10046		var unidadesRI = []; 
10047		 
10048		try{ 
10049			 
10050			$('#select-unidades-registro-interesse').find('select').each((i,select) =>{ 
10051				var unidadeSel = select.selectedOptions[0].innerText; 
10052				if(!unidadesRI.includes(unidadeSel)) unidadesRI.push(unidadeSel); 
10053			}); 
10054			 
10055			var unidadesExt = unidadesRI.join(', '); 
10056			 
10057			const lastIndex = unidadesExt.lastIndexOf(','); 
10058			 
10059			if(lastIndex > 0) unidadesExt = unidadesExt.substring(0, lastIndex) + ' ou ' + unidadesExt.substring(lastIndex + 1); 
10060			 
10061			return { 
10062				'unidadesPrefix' : (unidadesRI.length > 1 ? ', nas unidades ' : (unidadesRI.length == 1 ? ', na unidade ' : '')), 
10063				'unidades' : unidadesExt 
10064			}; 
10065			 
10066		}catch(err){ 
10067			 
10068			return { 
10069				'unidadesPrefix' : '', 
10070				'unidades' : '' 
10071			}; 
10072			 
10073
10074		 
10075
10076 
10077 
10078 
10079 
10080function addItemSuccessMochila(){ 
10081	 
10082	mochila.check(); 
10083	$('#modal-backpack-success__nome-curso').html($('.ssp-card-detalhe-curso__title').text()); 
10084	$('#modal-backpack-success').removeClass('d-none'); 
10085	 
10086
10087 
10088$(document).on('click', '.btn-backpack', function(e){  
10089     
10090	addItemBackpack(event.target.getAttribute("offerCode"), '.btn-backpack',event.target.getAttribute("unitCode"),event.target.getAttribute("effectiveDate")); 
10091	 
10092}); 
10093 
10094$('#btn-voltar-modal-backpack-error').click(function () { 
10095    $('#modal-backpack-error').addClass('d-none'); 
10096}); 
10097 
10098$('#btn-voltar-modal-backpack-error').click(function () { 
10099    $('#modal-backpack-error').addClass('d-none'); 
10100}); 
10101 
10102$('.btn-mochila-continuar-site-success, .modal-btn-close').click(function () { 
10103    $('#modal-backpack-success').addClass('d-none'); 
10104}); 
10105 
10106$('.btn-mochila-finalizar-compra-success').click(function () { 
10107  // Montar object push - google tag manager - 6 
10108  sendEventEcommerce("begin_checkout", ofertaSelecionada); 
10109 
10110	mochila.verificaLogin(); 
10111	$('#modal-backpack-success').addClass('d-none'); 
10112	$('[id^="myModal_"]').each((i,modal)=>modal.style.display = "none"); 
10113}); 
10114 
10115   function closeModalFormAprendizagem(){ 
10116           let modal = document.querySelector('[data-modal="modal"]') 
10117            
10118       modal.classList.remove('open-modal-form') 
10119      
10120
10121      
10122      
10123   function openModalFormAprendizagem(){ 
10124           let modal = document.querySelector('[data-modal="modal"]') 
10125            
10126       modal.classList.add('open-modal-form') 
10127      
10128
10129 
10130  function addEventBolsa() { 
10131    // Mostra o preco 
10132    const btnShowPrices = document.querySelectorAll('.btn-show-price') 
10133 
10134    btnShowPrices.forEach(btnShowPrice => btnShowPrice.addEventListener('click',togglePriceCard)) 
10135     
10136    if(!$('#chkBolsa').prop('checked')) 
10137      togglePriceCard() 
10138
10139 
10140  function togglePriceCard(selector){ 
10141    if(selector instanceof PointerEvent) return 
10142 
10143    if(!selector) selector = '' 
10144    else selector = '.' + selector 
10145     
10146    const btnPrices = document.querySelectorAll('.show-price-content'+selector) 
10147    const contentPrices = document.querySelectorAll('.content-valores-descontos'+selector) 
10148    const contentBtnBolsas = document.querySelectorAll('.content-btn-bolsa'+selector) 
10149     
10150    btnPrices.forEach(btnPrice => btnPrice.classList.toggle('hide')) 
10151    contentBtnBolsas.forEach(contentBtnBolsa => contentBtnBolsa.classList.toggle('modifier-content-show')) 
10152    contentPrices.forEach(contentPrice => contentPrice.classList.toggle('hide-price'))       
10153
10154   
10155  function getRegiaoName(key) { 
10156	  switch (key) { 
10157	    case "C": 
10158	      return "Capital"; 
10159	    case "I":             
10160	      return "Interior"; 
10161	    case "GS": 
10162	      return "Grande São Paulo e Litoral"; 
10163	    default: 
10164	      return "Sem Região"; 
10165
10166
10167 
10168	function criarOptionUnidadesPorRegiao(unidades) { 
10169	  let regioes = {} 
10170	  let unidadeFounded 
10171 
10172	  unidades.forEach(unidade => { 
10173	    if(!regioes[unidade.codRegiaoUnidade || 'N']) 
10174	      regioes[unidade.codRegiaoUnidade || 'N'] = [] 
10175 
10176	    regioes[unidade.codRegiaoUnidade || 'N'].push(unidade) 
10177	  }) 
10178 
10179	  Array.from(['C', 'I', 'GS', 'N']) 
10180	  .filter(key => Object.keys(regioes).includes(key)) 
10181	  .forEach(key => { 
10182	    const unidadesDaRegiao = regioes[key] 
10183 
10184	    const optionDisabled = $('<option>') 
10185	    optionDisabled.attr('label', getRegiaoName(key)) 
10186	    optionDisabled.text(getRegiaoName(key)); 
10187	    optionDisabled.attr('disabled', true) 
10188	    optionDisabled.addClass('ssp-option-group') 
10189	    $('#unidades-ofertas').append(optionDisabled) 
10190 
10191	    $.each(unidadesDaRegiao, function(k,unidade){       
10192	      if($('#unidades-ofertas').find('[value="'+unidade['categoryId']+'"]').length == 0){         
10193	        var option = $('<option>'); 
10194	        option.val(unidade['categoryId']+"@"+unidade['codigoUnidade']); 
10195	        option.text(unidade['nome']); 
10196	        option.attr('data-unidade-friendly-url', unidade.friendlyURL) 
10197	        option.addClass('ssp-option') 
10198	   
10199	        $('#unidades-ofertas').append(option); 
10200	     
10201	        unidadeFounded = !unidadeFounded && getURLData().includes('/'+unidade.friendlyURL+'/') ? unidade : unidadeFounded	           
10202
10203	    }) 
10204	  }) 
10205 
10206	  return unidadeFounded 
10207
10208 
10209	function getURLData() { 
10210	  return URLGeral.replace(HOST, '') 
10211
10212 
10213	/** 
10214	* Copia um objeto JSON 
10215	*/ 
10216	function cloneObj(original) { 
10217	  return JSON.parse(JSON.stringify(original)); 
10218
10219 
10220  function getUrlConsultaBolsa(oferta){ 
10221   
10222    let url = ''; 
10223    if (isAmbienteTeste()) { 
10224      if(oferta.destinoBolsa=='1') { 
10225        url = 'https://hwse.sp.senac.br/rest/wss/cursos/bolsa/v1/?COD_EVENTO='+oferta.codigoOferta 
10226      } else { 
10227        url = 'https://hom-wse-bolsas.sp.senac.br/api/cursos/bolsa/v1/'+oferta.codigoOferta; 
10228
10229    }	else { 
10230      if(oferta.destinoBolsa=='1') { 
10231        url = 'https://wse.sp.senac.br/rest/wss/cursos/bolsa/v1/?COD_EVENTO='+oferta.codigoOferta 
10232      } else { 
10233        url = 'https://wse-bolsas.sp.senac.br/api/cursos/bolsa/v1/'+oferta.codigoOferta; 
10234
10235       
10236
10237     
10238    return url; 
10239
10240 
10241  function execCompraEmed(oferta){ 
10242 
10243    let linkInscricaoEmed, linkInscricaoEmedHml, acadProg; 
10244    if(oferta.etapa == '0010'){ 
10245      linkInscricaoEmed = 'https://www.sp.senac.br/login/Login?destino=https://inscricao-educacional-ms.sp.senac.br/?oferta={codOferta}'; 
10246      linkInscricaoEmedHml = 'https://gesportal.sp.senac.br/login/Login?destino=https://hinscricao-educacional-backend.sp.senac.br/?oferta={codOferta}'; 
10247      acadProg = null; 
10248    }else{ 
10249      linkInscricaoEmed = 'https://www.sp.senac.br/login/Login?destino=https://inscricao-emed.sp.senac.br?course={acad_prog}&unity={codUnidade}&shift={periodo}&step={etapa}&oferta={codOferta}'; 
10250      linkInscricaoEmedHml = 'https://gesportal.sp.senac.br/login/Login?destino=https://hinscricao-emed.sp.senac.br?course={acad_prog}&unity={codUnidade}&shift={periodo}&step={etapa}&oferta={codOferta}'; 
10251      acadProg = ()=>{ 
10252        //Codigo FT + Data Efetiva(ymd) : AcadProg 
10253        const acadProgMap = { 
10254          ['2478820220101'] : '08202', 
10255          ['2363020210101'] : '07325', 
10256          ['2362920210101'] : '07326', 
10257          ['2097420210101'] : '05918' 
10258        }	    
10259        var key = $('[name="codigoFT"]').val() + $('[name="dataEfetivaSTR"]').val().replace(/-/g, ''); 
10260        return acadProgMap[key] || ''; 
10261
10262
10263 
10264    var ambTeste = ['localhost', 'hom', 'dev']; 
10265      var link = linkInscricaoEmed; 
10266      $.each(ambTeste, function(i, a){ 
10267        if(location.hostname.indexOf(a) >= 0){ 
10268          link = linkInscricaoEmedHml; 
10269          return false; 
10270
10271      }); 
10272 
10273      // Montar object push - google tag manager - 3 
10274      ofertaSelecionada = itensEcommerce.get(oferta.codigoOferta) 
10275      sendEventEcommerce("select_item", ofertaSelecionada); 
10276      sendEventEcommerce("view_item", ofertaSelecionada); 
10277      sendEventEcommerce("add_to_cart", ofertaSelecionada); 
10278      sendEventEcommerce("begin_checkout", ofertaSelecionada); 
10279       
10280      var urlCompra  = link.replace('\{acad_prog\}', acadProg) 
10281        .replace('\{codUnidade\}', $('[name="codUnidadeSelecionada"]').val()) 
10282        .replace('\{periodo\}', (oferta.periodoDiaOferta == 'TA') ? 'V' :  oferta.periodoDiaOferta.slice(0, 1)) 
10283        .replace('\{etapa\}', oferta.etapa) 
10284        .replace('\{codOferta\}', oferta.codigoOferta); 
10285      window.open(urlCompra, '_blank'); 
10286 
10287
10288 
10289   function formataDataComBarra(dataInvertidaComTraco){ 
10290 		return dataInvertidaComTraco.split('-').reverse().join('/'); 
10291
10292 
10293    
10294    let ctrlPressed = false; 
10295    $(window).keydown(function (ev) { 
10296      if(ev.which == 17){ 
10297        ctrlPressed = true; 
10298        return false; 
10299      }    
10300      if(ev.which == 82 && ctrlPressed){ 
10301        return false; 
10302
10303      return (ev.which != 116); // F5  
10304    }).keyup(function(ev) { 
10305      if (ev.which == 17){ 
10306        ctrlPressed = false; 
10307
10308      return true; 
10309    }); 
10310 
10311 
10312   </script> 
10313 
10314</#if>