Calendário
Calendário
Título da Página
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>