Nav Bar do usuário deslogado.

Calendário

Título da Página

Calendários de portaldebioeconomia.hml.opikode.com
Tipo
Um erro ocorreu enquanto processava o modelo.
The following has evaluated to null or missing:
==> until  [in template "34764#34807#149826" at line 179, column 182]

----
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: ${until}  [in template "34764#34807#149826" at line 179, column 180]
----
1<!-- id do calendário Global: 148126 --> 
2<!-- id do calendário CcB: 149498 --> 
3 
4<!--  
5IDs de URL / Filtragem: 
6 Café = 149781 
7 Geral = 149778 
8 
9 Online = 149768 
10 Presencial = 149771 
11 
12 Rio de Janeiro = 149761 
13 São Paulo = 149764 
14 Brasília = 149736 
15--> 
16 
17<#setting time_zone="America/Sao_Paulo"> 
18	<#setting locale="pt_BR"> 
19 
20 
21		<#assign  
22						 calEventLocalService = serviceLocator.findService("com.liferay.calendar.service.CalendarBookingLocalService")  
23						 AssetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") 
24						 AssetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") 
25
26 
27			<#if themeDisplay.getURLCurrent()?contains("deletarEvento")> 
28				<script>console.log("${themeDisplay.getURLCurrent()?keep_after('?deletarEvento=')}")</script> 
29 
30				<#assign   
31								 idDoDeletado = themeDisplay.getURLCurrent()?keep_after('?deletarEvento=')?number 
32 
33
34					<script> 
35 
36 
37					</script> 
38					</#if> 
39 
40				<script src='https://cdn.jsdelivr.net/npm/fullcalendar@6.1.8/index.global.min.js'></script> 
41 
42				<#assign   
43								 tdsCal = [] 
44								 /> 
45 
46				<#list entries as entry> 
47					<#assign calendarBooking = calEventLocalService.getCalendarBooking(entry.getClassPK()) /> 
48					<#assign tdsCal += [calendarBooking] /> 
49					</#list> 
50 
51				<#if permissionChecker.isOmniadmin() || permissionChecker.isCompanyAdmin()> 
52					<#assign isAdmin = 0 /> 
53					<#else> 
54						<#assign isAdmin = 1 /> 
55						</#if> 
56 
57 
58					<div class="fragment_12465"> 
59						<div class="filterBox"> 
60							<div class="titleFilter">Filtros</div>		 
61 
62							<fieldset> 
63 
64								<legend>Visualizar calendário</legend>		 
65								<span class="tagButtons tagCafe <#if themeDisplay.getURLCurrent()?contains('149781')> tagActive </#if>" navto="149781"> 
66									<input onclick="return false;" class="form-check-input" type="checkbox" "<#if themeDisplay.getURLCurrent()?contains('149781')> checked </#if>" id="tagCafe">	 
67									<a class="form-check-label" for="tagCafe">Café com Bioeconomia</a></span> 
68								<span class="tagButtons tagGeral <#if themeDisplay.getURLCurrent()?contains('149778')> tagActive </#if>" navto="149778"> 
69									<input onclick="return false;" class="form-check-input" type="checkbox" "<#if themeDisplay.getURLCurrent()?contains('149778')> checked </#if>" id="tagGetal">	 
70									<a class="form-check-label" for="tagGeral">Geral</a></span> 
71 
72							</fieldset><fieldset> 
73							<legend>Localização</legend>		 
74							<span class="tagButtons tagDF <#if themeDisplay.getURLCurrent()?contains('149736')> tagActive </#if>" navto="149736"> 
75								<input onclick="return false;" class="form-check-input" type="checkbox" "<#if themeDisplay.getURLCurrent()?contains('149736')> checked </#if>" id="tagGetal">	 
76								<a class="form-check-label" for="tagDF">Brasília</a></span> 
77							<span class="tagButtons tagRJ <#if themeDisplay.getURLCurrent()?contains('149761')> tagActive </#if>" navto="149761"> 
78								<input onclick="return false;" class="form-check-input" type="checkbox" "<#if themeDisplay.getURLCurrent()?contains('149761')> checked </#if>" id="tagCafe">	 
79								<a class="form-check-label" for="tagRJ">Rio de Janeiro</a></span> 
80							<span class="tagButtons tagSP <#if themeDisplay.getURLCurrent()?contains('149764')> tagActive </#if>" navto="149764"> 
81								<input onclick="return false;" class="form-check-input" type="checkbox" "<#if themeDisplay.getURLCurrent()?contains('149764')> checked </#if>" id="tagGetal">	 
82								<a class="form-check-label" for="tagSP">São Paulo</a></span> 
83 
84							</fieldset><fieldset> 
85							<legend>Formato</legend>		 
86							<span class="tagButtons tagOn <#if themeDisplay.getURLCurrent()?contains('149768')> tagActive </#if>" navto="149768"> 
87								<input onclick="return false;" class="form-check-input" type="checkbox" "<#if themeDisplay.getURLCurrent()?contains('149768')> checked </#if>" id="tagCafe">	 
88								<a class="form-check-label" for="tagOn">Online</a></span> 
89							<span class="tagButtons tagPres <#if themeDisplay.getURLCurrent()?contains('149771')> tagActive </#if>" navto="149771"> 
90								<input onclick="return false;" class="form-check-input" type="checkbox" "<#if themeDisplay.getURLCurrent()?contains('149771')> checked </#if>" id="tagGetal">	 
91								<a class="form-check-label" for="tagPres">Presencial</a></span> 
92 
93							</fieldset> 
94						</div> 
95 
96						<div class="mb-6"> 
97							<div id="calendarioFull"></div> 
98							<h3 id="dateSelected"></h3> 
99							<div id="eventoLista" class="eventoLista"></div> 
100						</div> 
101					</div>	 
102 
103					<script> 
104 
105						 
106						document.addEventListener('DOMContentLoaded', function() { 
107							var calendarEl = document.querySelector('.fragment_12465 #calendarioFull'); 
108							var calendar = new FullCalendar.Calendar(calendarEl, { 
109								initialView: 'dayGridMonth', 
110 
111								events: [	 
112									<#list tdsCal as evento> 
113									<#assign  
114									id = evento.getUuid() 
115								descricao = evento.getDescription("pt-br", true) 
116							diaInicio = evento.getStartTime()?number_to_datetime?string["yyyy-MM-dd HH:mm:ss"] 
117							diaFinal = evento.getEndTime()?number_to_datetime?string["yyyy-MM-dd HH:mm:ss"] 
118							nomeEvento = evento.getTitle("pt-br") 
119							link = evento.getLocation() 
120							criadoPor = evento.getUserName() 
121							calParent = evento.getCalendarId() 
122							corEvento = '#3788d8'  
123							dateCompare = evento.getStartTime()?number_to_datetime?string["MM/dd/yyyy"] 
124							cbID = evento.getCalendarBookingId()       
125							groupId = evento.recurringCalendarBookingId 
126							recur = evento.getRecurrence() 
127							dtstart = evento.getStartTime()?number_to_datetime?string.iso_m_nz 
128							/> 
129 
130								<#if calParent = 149498 || nomeEvento?contains('Café com Bioeconomia')> 
131								<#assign  
132							corEvento = '#4ECD66'  
133							/>	 
134						</#if> 
135 
136								<#if evento.recurrence?starts_with("RRULE")> 
137									<#list recur?split(";") as x> 
138										<#if x?keep_before("=") = "UNTIL"> 
139											<#assign until = x?keep_after("=") /> 
140						</#if> 
141 
142							<#if x?keep_before("=") = "BYDAY"> 
143								<#assign byday = x?keep_after("=") /> 
144									<#assign weekDay = ['SU','MO','TU','WE','TH','FR','SA'] /> 
145										<#assign daysRec = [] />														 
146											<#list byday?split(",") as dayRec>		 
147												<#list weekDay as week>	 
148												<#if dayRec == week> 
149												<#assign recDay = week?index /> 
150												<#assign daySec += recDay + ", "/>																		 
151						</#if> 
152						</#list> 
153						</#list> 
154						</#if> 
155 
156						</#list>	 
157												<#else> 
158												<#assign  
159											until = ""									 
160											daySec = "" 
161											/> 
162						</#if> 
163										 
164											 
165
166											id: "${id}", 
167												className: "parent-${calParent}", 
168													 
169													description:"${descricao?replace('<[^>]+>','','r')?replace('\\s+', ' ', 'r')	}", 
170														title: "${nomeEvento}",  
171															start: "${diaInicio}",  
172																end: "${diaFinal}", 
173																	backgroundColor: "${corEvento}", 
174																		borderColor: "${corEvento}", 
175																			groupId: "${groupId}", 
176 
177																				<#if evento.recurrence?starts_with("RRULE")> 
178																					startRecur: "${dtstart}", 
179																					endRecur: "${until}", 
180																						allDay:false, 
181																							daysOfWeek: [${daySec}], 
182																					</#if> 
183																			 
184																			extendedProps: { 
185																			link: "${link}", 
186																			user: "${criadoPor}", 
187																			dateComp: "${dateCompare}", 
188																			cbID: "${cbID}"															 
189
190
191							,                         
192						</#list>															 
193						], 
194							buttonIcons: { 
195								prev: 'chevron-left', 
196									next: 'chevron-right',	 
197							}, 
198 
199								customButtons: { 
200									admBtnAdd: { 
201										text: 'ADICIONAR', 
202											click: function() { 
203												document.getElementsByClassName('btn btn-primary calendar-add-event-btn').item(0).click();														 
204
205									},  
206 
207										userBtnAdd: { 
208											text: 'ADICIONAR', 
209												click: function() { 
210													document.getElementById('formCalendar').style.display = "block"; 
211													document.getElementById('formCalendar').scrollIntoView({behavior: "smooth", block: "start", inline: "start"}); 
212 
213
214
215 
216								}, 
217 
218									headerToolbar:{ 
219										left: 'prev,title,next',  
220											center: '', 
221												right: 'today userBtnAdd admBtnAdd'  
222									}, 
223 
224										locale:"pt-br", 
225 
226											buttonText: { 
227												today: "HOJE" 
228											}, 
229 
230												dayHeaderFormat: { 
231													weekday: 'short' 
232												}, 
233 
234													eventDidMount: function(info) {  
235														info.el.title = info.event.title;  
236													}, 
237 
238														eventClick: function(info){ 
239 
240															var admtester = 0; 
241															if (admtester == ${isAdmin})  { 
242																if (confirm('Deseja excluir evento?') == true) { 
243																	Liferay.Service( 
244																		'/calendar.calendarbooking/move-calendar-booking-to-trash',{ 
245																			calendarBookingId: info.event.extendedProps.cbID 
246																		}, 
247																		function(obj) { 
248																			console.log(obj); 
249
250																	); 
251																	window.location.reload()													 
252
253															}else { 
254																console.log("Cancelado."); 
255
256 
257														}, 
258 
259															dateClick: function(info) { 
260																var events = calendar.getEvents(); 
261																var clickedDate = new Date(info.date.getFullYear(), info.date.getMonth(), info.date.getDate()); 
262																var eventsOnDate = events.filter(event => { 
263																	var eventDate = new Date(event.start.getFullYear(), event.start.getMonth(), event.start.getDate()); 
264																	return eventDate.getTime() === clickedDate.getTime();					 
265																}); 
266 
267																var monthName = [ 
268																	"JANEIRO", "FEVEREIRO", "MARÇO", "ABRIL", "MAIO", "JUNHO", "JULHO", 
269																	"AGOSTO", "SETEMBRO", "OUTUBRO", "NOVEMBRO", "DEZEMBRO" 
270																]; 
271 
272																var docId = document.getElementById("eventoLista"); 
273																document.getElementById('dateSelected').innerHTML = ""; 
274																docId.innerHTML = ""; 
275																//inicio do loop 
276																eventsOnDate.forEach(function(evento) { 
277																	var div = document.createElement("div"); 
278																	div.classList.add("eventoListaItem"); 
279																	div.classList.add("container"); 
280																	div.setAttribute("id", evento.id); 
281																	docId.appendChild(div); 
282																	document.getElementById('dateSelected').innerHTML = evento.start.getDate() + " DE " + monthName[evento.start.getMonth()] + " DE " + evento.start.getFullYear(); 
283																	div.innerHTML = "\ 
284<div class='col-sm-2 eventoListaItemTempo'>\ 
285<i class='fa-solid fa-clock' style='color: #5b5c61;'></i>\ 
286<p>" + evento.start.getHours() + "h" + (evento.start.getMinutes() < 10 ? "0" : "") + evento.start.getMinutes() + " - " + evento.end.getHours() + "h" + (evento.end.getMinutes() < 10 ? "0" : "") + evento.end.getMinutes() + "</p>\ 
287						</div>\ 
288<div class='col-sm-8 eventoListaItemInfo'>\ 
289<p class='titleEvento'>"+evento.title+"</p>\ 
290<div class='adressEvent'><i class='fa-solid fa-location-dot' style='color: #5b5c61;'></i> "+evento.extendedProps.description+"</div>\ 
291						</div>\ 
292<div class='col-sm-2 eventoListaLink'>\ 
293<a target='_blank' href="+(evento.extendedProps.link)+">Saiba Mais</a>\ 
294<p>Criado por:</p>\ 
295<p>"+evento.extendedProps.user+"</p>\ 
296						</div>"; 
297																	document.getElementById('eventoLista').scrollIntoView({behavior: "smooth", block: "start", inline: "start"});					 
298																}); 
299																//fim do loop 
300															}, 
301 
302																viewClassNames: function(info){ 
303																	var usertester = 1; 
304																	var admtester = 0; 
305																	calendarEl.querySelectorAll('.fc-admBtnAdd-button').forEach((button)  => { 
306																		if (usertester == ${isAdmin})  { 
307																			button.remove(); 
308
309																	});		 
310 
311																	calendarEl.querySelectorAll('.fc-userBtnAdd-button').forEach((button)  => {																	 
312																		/*button.dataset.toggle = "modal"; 
313																	button.dataset.target = "#modalAddEvent";*/ 
314																		if (admtester == ${isAdmin})  { 
315																			button.remove(); 
316
317																	});		 
318 
319																}, 
320 
321						}); 
322 
323 
324						calendar.render(); 
325 
326						document.getElementsByClassName("filterBox")[0].style.opacity = '1'; 
327 
328						function calFilter(tabTo) { 
329							const url = new URL(window.location.href); 
330							const params = new URLSearchParams(url.search); 
331							var check = document.querySelectorAll("span[navto='"+tabTo+"']")[0].classList.contains('tagActive'); 
332							var paramArray = params.getAll("category"); 
333 
334							if (check == true){ 
335								var index = paramArray.indexOf(tabTo); 
336								if (index > -1) {  
337									paramArray.splice(index, 1);  
338
339								params.delete('category') 
340								paramArray.forEach((value) => params.append("category", value)); 
341 
342							} else { 
343								paramArray.push(tabTo); 
344								params.append("category", tabTo); 
345
346 
347							const newUrl = window.location.origin + window.location.pathname + "?" + params.toString(); 
348							if(window.location.href != newUrl) { 
349								window.location.href = newUrl; 
350								return; 
351
352 
353
354 
355						const navItems = document.querySelectorAll(".tagButtons"); 
356						navItems.forEach( navItem => { 
357							navItem.addEventListener("click", () => (calFilter(navItem.attributes["navto"].value))); 
358						}); 
359 
360						}); 
361 
362 
363						/*Reorganizar modal de adição*/ 
364						var idPer = document.getElementById('_com_liferay_calendar_web_portlet_CalendarPortlet_INSTANCE_yemfassets_inputPermissionsShowOptions'); 
365 
366						var content = document.getElementsByClassName('filterBox').item(0); 
367						var dt = document.getElementById('dateSelected'); 
368						var pai = dt.parentNode; 
369						var calF = document.getElementsByClassName('mb-6').item(0); 
370						var pai2 = calF.parentNode; 
371						var titleF = document.getElementsByClassName('titleFilter').item(0); 
372 
373						function mobSize (){ 
374							if (window.innerWidth < 561){			 
375								pai.insertBefore(content, dt); 
376								titleF.innerHTML = 'Configurações Avançadas <i class="fa-solid fa-chevron-down"></i>'; 
377 
378								titleF.addEventListener("click", function(){ 
379									if (content.classList.contains('openBox')){ 
380										content.classList.remove('openBox');    
381										titleF.innerHTML = 'Configurações Avançadas <i class="fa-solid fa-chevron-down"></i>'; 
382
383									else{ 
384										content.classList.add('openBox'); 
385										titleF.innerHTML = 'Configurações Avançadas <i class="fa-solid fa-chevron-up"></i>'; 
386
387									titleF.style.pointerEvents = 'auto'; 
388								}); 
389
390							else { 
391								pai2.insertBefore(content, calF); 
392								titleF.innerHTML = 'Filtros'; 
393								titleF.style.pointerEvents = 'none'; 
394
395
396 
397 
398						window.onload = mobSize; 
399						window.onresize = mobSize; 
400 
401					</script> 
402 
403					<style> 
404						.fragment_12465 { 
405							display: flex; 
406							gap: 0; 
407							justify-content: center; 
408							scroll-behavior: smooth; 
409							flex-direction: row; 
410							max-width: 1415px; 
411							margin: auto; 
412							padding: 0 20px; 
413
414						.fragment_12465 .inlineBlock {display: inline-block;} 
415						.fragment_12465 .dNone {display:none;} 
416 
417						.fragment_12465 .mb-6, .fragment_12465 .my-6 { 
418							margin-bottom: 4.5rem !important; 
419							display: flex; 
420							flex-direction: column; 
421							align-items: center; 
422							margin: 40px 0; 
423							font-family: roboto; 
424							width: 100%; 
425
426						.fragment_12465 .filterBox { 
427							width: 256px; 
428							max-width: 256px; 
429							min-width: 256px; 
430							height: 350px; 
431							margin: 160px 0; 
432							opacity: 0; 
433							display: inline-flex; 
434							flex-direction: column; 
435							align-items: flex-start; 
436							gap: 24px; 
437 
438
439						.fragment_12465 .filterBox .titleFilter { 
440							font-family: Roboto; 
441							height: 45.5px; 
442							font-size: 16px; 
443							font-style: normal; 
444							font-weight: 400; 
445							background: var(--black-4); 
446							width: 100%; 
447							border: 1px solid var(--fc-border-color); 
448							border-right: 1px solid transparent; 
449							color: #fff; 
450							display: flex; 
451							align-items: center; 
452							padding: 12px; 
453							cursor: auto; 
454
455 
456						.fragment_12465 .filterBox legend, #catTree .text-truncate-inline .text-truncate{ 
457							font-family: 'Roboto'; 
458							font-size: 16px; 
459							font-weight: 700; 
460
461						#catTree .custom-control-label-text { 
462							padding-left: 10px; 
463							font-family: Roboto; 
464							font-size: 14px; 
465							margin: 0; 
466
467						.fragment_12465 .filterBox input { 
468							font-family: 'Roboto'; 
469							font-size: 16px; 
470							font-weight: 700; 
471							font-weight: 400; 
472							margin-right: 8px; 
473
474						.fragment_12465 .filterBox .filterBox label { 
475							margin: 0; 
476							word-wrap: inherit; 
477
478						.ddm-form-pagination.position-relative.wizard-mode { 
479							display: none; 
480
481						.ddm__radio{ 
482							margin-top: 20px; 
483
484						.fragment_12465 .filterBox fieldset { 
485							display: flex; 
486							flex-direction: column; 
487							justify-content: left; 
488							align-items: start; 
489							padding: 0 20px; 
490
491						.fragment_12465 #calendarioFull{ 
492							max-width: 1224px; 
493							width: 100%; 
494
495 
496						.fragment_12465 #eventoLista{ 
497							scroll-margin-top: 180px; 
498
499						.fragment_12465 .eventoLista{ 
500							display: flex; 
501							flex-direction: column; 
502							gap: 24px; 
503							max-width: 1200px; 
504							width: 100%; 
505 
506
507 
508						.fragment_12465 .eventoListaItem{ 
509							border: 1px solid #E8ECEF; 
510							padding: 20px 10px; 
511							display: flex; 
512							align-items: center; 
513							height:142px; 
514
515 
516						.fragment_12465 .fc-header-toolbar > div > div{ 
517							display: flex; 
518							gap: 52px; 
519							align-items: center; 
520
521 
522						.fragment_12465 .fc-header-toolbar > div > div .fc-toolbar-title{ 
523							height: fit-content; 
524							min-width: 210px; 
525							text-align: center; 
526							text-transform: uppercase; 
527							font-weight: 600; 
528							color: #5B5C61; 
529
530 
531						.fragment_12465 .fc-header-toolbar > div > div .fc-button-primary{ 
532							background-color: transparent; 
533							color: #595A5F; 
534							font-size: 1.75em; 
535							border: none; 
536							margin: 25px 0; 
537							transition: 250ms; 
538							padding: 5px; 
539
540 
541						.fragment_12465 .fc-header-toolbar > div > div .fc-button-primary:hover{ 
542							background-color: #BEBEBE; 
543							color: white; 
544
545 
546						.fragment_12465 .fc-header-toolbar > div > div .fc-button-primary:focus{ 
547							background-color: transparent; 
548							border: none; 
549							color: #595A5F; 
550							box-shadow: none; 
551
552 
553						.fragment_12465 .fc-header-toolbar > div > div .fc-button-primary:active{ 
554							background-color: transparent; 
555							border: none; 
556							color: #595A5F; 
557
558 
559						.fragment_12465 .fc-header-toolbar{ 
560							background-color: #E8ECEF; 
561
562 
563						.fragment_12465 .fc .fc-toolbar.fc-header-toolbar{ 
564							padding: 0px 40px 0px 24px; 
565							margin-left: -256px; 
566
567 
568						.fragment_12465 .fc-today-button{ 
569							background-color: #4ECD66; 
570							padding: 10px 24px 8px; 
571							border: none; 
572							color: #333244; 
573							font-weight: 700; 
574							transition: 500ms; 
575
576						.fragment_12465 .fc-admBtnAdd-button, .fragment_12465 .fc-userBtnAdd-button { 
577							background-color: #4ECD66; 
578							padding: 10px 24px 8px; 
579							border: none; 
580							color: #333244; 
581							font-weight: 700; 
582							transition: 500ms; 
583
584						.fragment_12465 .fc-today-button:disabled{ 
585							cursor: default; 
586
587 
588						.fragment_12465 .fc-today-button:disabled:hover{ 
589							background-color: #2c3e50; 
590							color: white; 
591
592						.fragment_12465 .fc-today-button:hover, .fragment_12465 .fc-admBtnAdd-button:hover, .fragment_12465 .fc-userBtnAdd-button:hover{ 
593							background-color: #4ECD66; 
594							color: white; 
595
596						.fragment_12465 .tagButtons input[type=checkbox] {  
597							accent-color: #1f9f37; 
598							margin-right: 6px; 
599
600 
601						.fragment_12465 th .fc-scrollgrid-sync-inner{ 
602							padding: 8px 28px; 
603							background-color: #333244; 
604							color: #FFFFFF; 
605
606 
607						.fragment_12465 th .fc-scrollgrid-sync-inner a{ 
608							text-transform: uppercase; 
609							color: #FFFFFF; 
610							cursor: default; 
611							font-size: 16px; 
612							font-weight: 400; 
613
614 
615						.fragment_12465 th .fc-scrollgrid-sync-inner a:hover, .fragment_12302 .fc-daygrid-day-top a:hover{ 
616							text-decoration: none; 
617
618 
619						.fragment_12465 .fc-daygrid-day-top a{ 
620							font-size: 16px; 
621							font-weight: 400; 
622							color: #5B5C61; 
623							cursor: default; 
624
625						.fragment_12465 .cal-956779 .fc-h-event{ 
626							background-color: #4ECD66; 
627
628						.fragment_12465 p { 
629							margin-bottom: 0; 
630
631						.fragment_12465 .col-sm-8.eventoListaItemInfo { 
632							padding-left: 24px; 
633
634						.fragment_12465 .col-sm-2.eventoListaItemTempo { 
635							text-align: center; 
636							max-width: 12%; 
637							border-right: 1px solid #E8ECEF; 
638							padding: 20px 14px 20px 0; 
639							font-size: 14px; 
640							line-height: 25px; 
641
642						.fragment_12465 .col-sm-2.eventoListaLink { 
643							flex: 0 0 25%; 
644							max-width: 22.4%; 
645							display: flex; 
646							flex-flow: column; 
647							align-items: center; 
648							justify-content: center; 
649							border-left: 1px solid #E8ECEF; 
650							padding: 10px 0; 
651
652						.fragment_12465 h3 { 
653							text-align: left; 
654							width: 100%; 
655							padding: 40px; 
656							max-width: 1200px; 
657							color: #667585; 
658							font-size: 24px; 
659							text-transform: uppercase; 
660							font-weight: 400; 
661							margin-top: 20px; 
662
663						.fragment_12465 p.titleEvento { 
664							font-size: 20px; 
665							font-style: normal; 
666							font-weight: 700; 
667							color: #5B5C61; 
668							line-height: 150%; 
669
670						.fragment_12465 .adressEvent p { 
671							font-family: Roboto; 
672							font-size: 14px; 
673							font-style: normal; 
674							font-weight: 300; 
675							color: #5B5C61; 
676							line-height: 150%; 
677
678						.fragment_12465 .adressEvent { 
679							display: flex; 
680							gap: 12px; 
681							align-items: center; 
682							margin-top: 5px; 
683
684						.fragment_12465 .eventoListaLink p{ 
685							font-family: Roboto; 
686							font-size: 14px; 
687							font-style: normal; 
688							font-weight: 300; 
689							line-height:120%; 
690
691						.fragment_12465 .eventoListaLink a { 
692							font-style: normal; 
693							font-weight: 700; 
694							font-size: 16px; 
695							line-height: 150%; 
696							color: #333244; 
697							padding: 8px 24px; 
698							border: 1px solid #4ECD66; 
699							background-color: transparent; 
700							border-radius: 8px; 
701							text-decoration: none; 
702							white-space: nowrap; 
703							margin-bottom: 10px; 
704							text-transform: uppercase; 
705
706						.fragment_12465 .eventoListaLink a:hover{ 
707							text-decoration: underline; 
708
709						.fragment_12465 .fc .fc-daygrid-day.fc-day-today { 
710							background-color: #E8ECEF; 
711
712						.fragment_12465 .fc-daygrid-event-dot{ 
713							margin: 0px 5px 0px 7px; 
714
715						.fragment_12465 .fc-daygrid-day-events { 
716							font-family: 'Roboto'; 
717							font-size: 16px; 
718							font-style: normal; 
719
720						.fragment_12465 .fc-daygrid-day-events a { 
721							color: #5B5C61; 
722
723						.dropdown-menu.date-picker-dropdown-menu.show { 
724							z-index: 1050 !important; 
725
726						.fragment_12465 .fc-direction-ltr .fc-daygrid-event .fc-event-time { 
727							font-weight: 700; 
728
729						.fragment_12465 .fc-daygrid-dot-event .fc-event-title { 
730							font-weight: 300; 
731
732						.fragment_12465 .fc .fc-daygrid-day-frame, .fragment_12465 .fc .fc-daygrid-day-top a{ 
733							cursor: pointer; 
734
735						.fragment_12465 .filterBox a.collapse-icon.panel-header.panel-header-link { 
736							display: none; 
737
738						#catTree .panel-body{ 
739							padding:0px; 
740
741 
742						#calendarBookingDetailsPanelContainer #calendarBookingInvitationPanel { 
743							display: none; 
744
745 
746						@media (max-width:485px){ 
747							/*caixa calendario*/ 
748							.fragment_12465 .mb-6, .my-6 { 
749								width: 90vw; 
750
751							.fragment_12465 #calendarioFull { 
752								max-width: 90vw; 
753								width: 100%; 
754
755							.fragment_12465 { 
756								flex-direction: column-reverse; 
757								align-items: center; 
758
759							.fragment_12465 .fc .fc-toolbar.fc-header-toolbar { 
760								padding: 20px 0; 
761								margin-left: -20px; 
762								width: calc(100% + 40px); 
763								justify-content: center; 
764								gap: 5px; 
765								margin-top: -40px; 
766								flex-direction: column; 
767
768							.fragment_12465 .fc-header-toolbar > div > div .fc-toolbar-title { 
769								min-width: 130px; 
770
771							.fragment_12465 .fc-header-toolbar > div > div .fc-button-primary { 
772								margin: 5px 0; 
773
774							.fragment_12465 .fc-header-toolbar > div > div{ 
775								gap:0; 
776
777							/*dias da semana*/ 
778							.fragment_12465 table.fc-col-header{ 
779								width: 100% !important; 
780
781							.fragment_12465 th .fc-scrollgrid-sync-inner { 
782								padding: 8px 0; 
783
784							.fragment_12465 .fc-scroller{ 
785								overflow: hidden!important; 
786
787							.fragment_12465 .fc-view-harness.fc-view-harness-active{ 
788								height: 444px !important; 
789
790							.fragment_12465 .fc .fc-toolbar { 
791								justify-content: unset; 
792
793							.fragment_12465 .fc-daygrid-body.fc-daygrid-body-unbalanced { 
794								width: 100% !important; 
795
796							.fc-daygrid-day-events { 
797								display: flex; 
798								flex-flow: wrap; 
799								padding: 0 3px; 
800
801							.fc-event-time, .fc-event-title { 
802								display: none; 
803
804							.fragment_12465 .fc-daygrid-event-dot{ 
805								margin: 0 1px; 
806
807							.fragment_12465 .eventoListaItem{ 
808								height: auto; 
809								flex-direction: column; 
810
811							.fragment_12465 .col-sm-2.eventoListaItemTempo { 
812								max-width: 100%; 
813								border-right: none; 
814								border-bottom: 1px solid #E8ECEF; 
815								display: flex; 
816								align-items: center; 
817								justify-content: center; 
818								gap: 20px; 
819								padding: 0 10px 10px; 
820								margin-top: -5px; 
821
822							.fragment_12465 .col-sm-2.eventoListaItemTempo  p{ 
823								font-size: 16px; 
824
825							.fragment_12465 .col-sm-8.eventoListaItemInfo { 
826								text-align: center; 
827								padding: 10px; 
828
829							.fragment_12465 .adressEvent p{ 
830								text-align: justify; 
831
832							.fragment_12465 .adressEvent{ 
833								padding: 5px 0; 
834
835							.fragment_12465 .col-sm-2.eventoListaLink { 
836								max-width: 100%; 
837								border-left: none; 
838								border-top: 1px solid #E8ECEF; 
839								padding: 20px 0 0; 
840								flex-flow: wrap; 
841								gap: 5px; 
842								display: flex; 
843								align-items: center; 
844								justify-content: center; 
845
846							.fragment_12465 .eventoListaLink a{ 
847								margin: 0 50% 15px 
848
849							.fragment_12465 #eventoLista p { 
850								color: #5B5C61; 
851
852							.fragment_12465 .filterBox { 
853								margin: 30px 0 0; 
854								width: 100%; 
855								border: 1px solid #E8ECEF; 
856								height: 45px; 
857								padding: 0 0 30px; 
858								overflow: hidden; 
859								transition: 250ms; 
860								max-width: 100%; 
861
862							.fragment_12465 .filterBox .titleFilter { 
863								background: transparent; 
864								color: #5B5C61; 
865								justify-content: center; 
866								border: none; 
867								gap: 10px; 
868								cursor: pointer; 
869
870							.fragment_12465 .filterBox .titleFilter i { 
871								font-size: 11px; 
872
873							.fragment_12465 .filterBox.openBox { 
874								height:100%; 
875								transition: 250ms; 
876
877							.fragment_12465 .fc-theme-standard td, .fc-theme-standard th { 
878								border: 1px solid #E8ECEF; 
879
880							.fragment_12465 .fc-theme-standard .fc-scrollgrid{ 
881								border: none; 
882
883
884					</style> 
Categoria