PluginProbe ʕ •ᴥ•ʔ
Appointment Booking Plugin – LatePoint | Calendar & Scheduling for WordPress / 5.6.8
Appointment Booking Plugin – LatePoint | Calendar & Scheduling for WordPress v5.6.8
5.6.8 5.6.7 5.6.6 5.6.5 5.6.4 5.6.3 5.6.2 5.6.1 5.6.0 5.5.2 5.5.1 5.5.0 5.4.2 trunk 5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.1.8 5.1.9 5.1.91 5.1.92 5.1.93 5.1.94 5.2.0 5.2.1 5.2.10 5.2.11 5.2.2 5.2.3 5.2.4 5.2.5 5.2.6 5.2.7 5.2.8 5.2.9 5.3.0 5.3.1 5.3.2 5.4.0 5.4.1
latepoint / lib / assets / stylesheets / admin / _calendars.scss
latepoint / lib / assets / stylesheets / admin Last commit date
_activities.scss 9 months ago _addons.scss 9 months ago _agents.scss 9 months ago _animations.scss 9 months ago _booking_form_preview.scss 9 months ago _bookings.scss 3 weeks ago _bundles.scss 9 months ago _buttons.scss 9 months ago _calendars.scss 9 months ago _categories.scss 9 months ago _customers.scss 9 months ago _dark.scss 9 months ago _daterangepicker.scss 9 months ago _elements.scss 1 month ago _forms.scss 9 months ago _grid.scss 1 year ago _grid_variables.scss 1 year ago _icons.scss 1 year ago _latecheckbox.scss 9 months ago _lateselect.scss 1 year ago _layout.scss 9 months ago _lightbox.scss 9 months ago _menu.scss 9 months ago _messages.scss 9 months ago _misc.scss 9 months ago _mixins.scss 9 months ago _notifications.scss 9 months ago _orders.scss 9 months ago _pickr.scss 1 year ago _processes.scss 1 month ago _quick_availability.scss 9 months ago _reminders.scss 1 year ago _responsive.scss 9 months ago _roles.scss 1 year ago _schedule.scss 3 months ago _services.scss 9 months ago _settings.scss 2 days ago _side-panel.scss 9 months ago _steps.scss 1 year ago _tables.scss 9 months ago _type.scss 1 year ago _updates.scss 9 months ago _utilities.scss 1 year ago _variables.scss 9 months ago _widgets.scss 9 months ago _wizard.scss 2 weeks ago
_calendars.scss
3509 lines
1 // DAILY CALENDAR STYLES
2 // --------------------
3
4
5 // CALENDAR WIDGET - FULL MONTH - SELECTABLE
6 .daily-agent-side {
7 padding-left: 40px;
8 }
9
10 .daily-agent-availability-w {
11 padding: 10px 0px 20px 0px;
12
13 h3 {
14 text-align: center;
15 margin-top: 0px;
16 margin-bottom: 15px;
17
18 span {
19 color: $brand-primary;
20 border-bottom: 1px dotted $brand-primary;
21 }
22 }
23 }
24
25 .cc-availability-toggler {
26 margin-right: 10px;
27
28 .os-form-group.os-form-toggler-group {
29 margin-bottom: 0px;
30 }
31
32 .os-form-group.os-form-toggler-group label {
33 padding: 7px 10px 7px 0px;
34 }
35
36 .os-form-group.os-form-toggler-group .os-toggler-label-w {
37 padding: 0px;
38 }
39 }
40
41 .calendar-view-wrapper {
42 position: relative;
43
44 &.os-loading {
45 opacity: 0.7;
46
47 &:before {
48 top: 20px;
49 }
50
51 .ch-filter, .ch-info, .ma-head-info {
52 position: relative;
53
54 span {
55 visibility: hidden;
56 }
57
58 &:before {
59 @include loading-circle($brand-primary, 25px);
60 }
61 }
62 }
63
64 .no-results-w {
65 }
66 }
67
68 .os-calendar-settings-extra {
69 display: none;
70 align-items: center;
71 gap: 10px;
72 padding: 15px 0;
73 border-top: 1px solid $border-color-lightest;
74 margin-left: auto;
75
76 .resource-filters-wrapper {
77 margin-left: auto;
78 display: flex;
79 align-items: center;
80 gap: 10px;
81 }
82
83 label {
84
85 }
86
87 .os-form-group.os-form-group-transparent {
88 margin: 0;
89 display: flex;
90 gap: 8px;
91 align-items: center;
92
93 label {
94 margin: 0;
95 font-size: $font-size-base;
96 }
97
98 select {
99 border-radius: $border-radius;
100 padding: 5px 15px 5px 10px !important;
101 height: auto;
102 min-height: initial;
103 }
104
105 }
106
107 .cc-availability-toggler-w {
108 display: flex;
109 align-items: center;
110 margin-right: auto;
111
112 .cc-availability-toggler {
113 border: 1px solid $border-color-light;
114 padding: 0 5px 0 8px;
115 border-radius: $border-radius;
116
117 &:hover {
118 border-color: darken($border-color-strong, 20%);
119 }
120
121 .os-form-group.os-form-toggler-group:hover {
122 box-shadow: none;
123 background-color: transparent;
124 }
125 }
126
127 .cc-service-availability-selector {
128 display: none;
129 }
130
131 &.show-availability-selector {
132 display: block;
133 }
134 }
135 }
136
137 .os-calendar-settings-form {
138 &.show-extra-settings {
139 .os-calendar-settings-extra {
140 display: flex;
141 }
142
143 .os-current-month-label-w .os-calendar-settings-toggler-wrapper .calendar-settings-toggler {
144 }
145 }
146 }
147
148 .os-calendar-settings-main {
149 padding-bottom: 15px;
150
151 .os-current-month-label-w {
152 display: flex;
153 justify-content: space-between;
154 align-items: flex-end;
155
156 .os-month-filters-buttons-w {
157 display: flex;
158 align-items: center;
159 }
160
161 select {
162 min-height: 34px;
163 font-size: $font-size-base;
164 }
165
166 .os-current-month-label {
167 font-size: $body-font-size-xxl;
168 margin: 0px;
169 margin-right: auto;
170 padding: 0px;
171 line-height: 1;
172 position: relative;
173 color: $headings-color;
174
175 .current-day {
176 z-index: 2;
177 }
178
179 .current-month {
180 z-index: 2;
181 position: relative;
182 font-weight: $body-font-weight-bold;
183 }
184
185 .current-year {
186 font-weight: $body-font-weight-black;
187 color: $calendar-year-color;
188 position: absolute;
189 font-size: 80px;
190 line-height: 79px;
191 bottom: -7px;
192 display: block;
193 margin: 0px;
194 left: -0px;
195 z-index: 1;
196 }
197 }
198
199 .latepoint-btn {
200 line-height: 1;
201 }
202
203 .os-month-service-selector {
204 margin-left: auto;
205 margin-right: 20px;
206 display: flex;
207 align-items: center;
208 padding-right: 20px;
209 border-right: 1px solid rgba(0, 0, 0, 0.1);
210
211 label {
212 margin-right: 5px;
213 display: block;
214 margin-left: auto;
215 color: $color-faded;
216 }
217
218 input {
219 display: block;
220 }
221 }
222
223 .os-calendar-settings-toggler-wrapper {
224
225 .calendar-settings-toggler {
226 text-decoration: none;
227 padding: 8px 8px;
228 font-size: 16px;
229 line-height: 16px;
230 color: $headings-color;
231 cursor: pointer;
232 border-radius: $border-radius;
233 border: 1px solid $border-color-main;
234 background-color: transparent;
235 display: block;
236
237 i {
238 display: block;
239 }
240
241 &:hover {
242 border-color: rgba(0,0,0,0.2);
243 }
244
245 &:focus {
246 box-shadow: none;
247 }
248 }
249 }
250
251
252 .os-month-control-buttons-w {
253 position: relative;
254 display: flex;
255 justify-content: space-between;
256 gap: 10px;
257 align-items: center;
258
259 .cc-action-prev, .cc-action-next {
260 position: relative;
261 bottom: auto;
262 top: auto;
263 left: auto;
264 right: auto;
265 transform: none;
266 padding: 3px 4px;
267 line-height: 1;
268 font-size: 20px;
269 color: $brand-primary;
270 }
271
272 .os-month-today-btn {
273 margin: 0px 15px;
274 }
275 }
276 }
277 }
278
279 .daily-availability-calendar-wrapper {
280 display: flex;
281 align-items: stretch;
282 margin-bottom: 20px;
283 border: 1px solid #ddd;
284 border-radius: $border-radius-lg;
285 margin-top: 10px;
286
287 .daily-calendar-action-navigation-btn {
288 padding: 10px 15px 10px 15px;
289 text-decoration: none;
290 color: $headings-color;
291 font-size: 16px;
292 display: flex;
293 align-items: center;
294
295 &:hover {
296 background-color: #fff;
297 }
298
299 &:focus {
300 outline: none;
301 box-shadow: none;
302 }
303
304 &:first-child {
305 border-radius: $border-radius-lg 0 0 $border-radius-lg;
306 }
307
308 &:last-child {
309 border-radius: 0 $border-radius-lg $border-radius-lg 0;
310 }
311 }
312 }
313
314 .daily-availability-calendar {
315 flex: 1;
316
317 .os-monthly-calendar-days {
318 }
319
320 .calendar-and-buttons-w {
321 display: flex;
322
323 button {
324 display: block;
325 border: none;
326 padding: 0 7px;
327 color: $headings-color;
328 cursor: pointer;
329 background-color: #fff;
330 padding-top: 28px;
331 font-size: 16px;
332 border: 1px solid rgba(0, 0, 0, 0.1);
333 }
334
335 .os-monthly-calendar-days-w {
336 flex: 1;
337 }
338 }
339
340 .os-weekdays {
341 display: flex;
342 align-items: center;
343 justify-content: space-between;
344
345 .weekday {
346 text-transform: uppercase;
347 font-size: $font-size-base * 0.7;
348 color: lighten($brand-primary, 20%);
349 font-weight: $body-font-weight-bold;
350 letter-spacing: 2px;
351 width: 14.2%;
352 text-align: center;
353 padding: 5px 0px;
354
355 &.weekday-6, &.weekday-7 {
356 color: #ccb63b;
357 background-color: #fffef2;
358 }
359 }
360 }
361
362 .os-current-month-label-w {
363 position: relative;
364
365 .cc-availability-toggler {
366 }
367
368 .cc-location-selector,
369 .cc-service-selector {
370 padding-right: 20px;
371 margin-right: 20px;
372 border-right: 1px solid rgba(0, 0, 0, 0.1);
373 }
374
375
376 .os-current-month-label {
377 text-align: center;
378 font-weight: $body-font-weight-bold;
379 font-size: $font-size-base * 1.1;
380 color: $headings-color;
381 margin-bottom: 15px;
382
383 .current-day {
384 display: inline-block;
385 vertical-align: middle;
386 }
387
388 .current-year {
389 display: inline-block;
390 vertical-align: middle;
391 color: rgba($headings-color, 0.4);
392 margin-left: 3px;
393 }
394
395 .current-month {
396 }
397 }
398 }
399
400
401 .os-monthly-calendar-days-w {
402 display: none;
403
404 &.active {
405 display: block;
406 }
407 }
408
409 .os-monthly-calendar-days {
410 display: grid;
411 grid-template-columns: repeat(16, 1fr);
412 grid-template-rows: repeat(2, 1fr);
413 gap: 1px;
414 background-color: #e6e5e5;
415
416 .os-day {
417 flex: 1;
418 padding: 2.3%;
419 text-align: left;
420 font-size: floor($font-size-base * 0.9);
421 font-weight: $body-font-weight-bold;
422 cursor: pointer;
423
424 &.week-day-6,
425 &.week-day-7 {
426 background-color: #fffef2;
427 }
428
429 &.os-day-next-month,
430 &.os-day-prev-month {
431 color: #B7BCCB;
432 background-color: #fff;
433 }
434
435 &.os-day-current {
436 .os-day-box {
437 }
438 }
439
440 &.os-day-passed {
441 .os-day-box {
442 background-color: #f5f6fb;
443
444 .os-day-number {
445 color: #B7BCCB;
446 }
447 }
448 }
449
450 &.os-today {
451 .os-day-box {
452 background-color: #fff6cb;
453 }
454 }
455
456 // MONTH SETTINGS
457 &.os-month-next,
458 &.os-month-prev {
459 .os-day-box {
460 opacity: 0.4;
461
462 &:hover {
463 opacity: 1;
464 }
465 }
466 }
467
468 .os-day-box {
469 padding-bottom: 100%;
470 border-radius: $border-radius;
471 position: relative;
472 overflow: hidden;
473 }
474
475 .os-day-number {
476 color: #525765;
477 white-space: nowrap;
478 }
479
480 &:hover, &.selected {
481 .os-day-box {
482 .os-day-number {
483 }
484
485 .os-day-status {
486 }
487 }
488 }
489
490
491 &.selected {
492 z-index: 2;
493 border-radius: 6px;
494 box-shadow: 0px 0px 0px 2px $brand-primary;
495
496 .os-day-box {
497
498 .os-day-status {
499 }
500
501 .os-day-status {
502 .day-available {
503 }
504 }
505 }
506 }
507 }
508 }
509
510
511 .os-day-status {
512 margin: 0px;
513 margin-top: 10px;
514 height: 4px;
515 border-radius: 2px;
516 overflow: hidden;
517 bottom: 3px;
518 left: 3px;
519 right: 3px;
520 transition: all 0.3s ease;
521 position: absolute;
522 background-color: #eee;
523
524 .day-available {
525 background-color: #8ad58d;
526 top: 0px;
527 bottom: 0px;
528 position: absolute;
529 z-index: 1;
530 min-width: 3px;
531 }
532 }
533
534 &.horizontal-calendar {
535 padding: 0px;
536 box-shadow: none;
537 background-color: transparent;
538 border-left: 1px solid #e6e5e5;
539 border-right: 1px solid #e6e5e5;
540
541 .os-available-slots-tooltip {
542 display: none;
543 }
544
545 .os-months {
546 border-bottom: none;
547 background-color: #fff;
548 border-radius: 0px;
549 }
550
551 .os-monthly-calendar-days .os-day.os-day-passed .os-day-box .os-day-number {
552 color: #525765;
553 }
554
555
556 .os-monthly-calendar-days {
557 flex-wrap: nowrap;
558
559 .os-day {
560 padding: 0px;
561 overflow: visible;
562 position: relative;
563 background-color: #f8f8f8;
564
565 &:last-child {
566 border-right: none;
567 }
568
569 &.os-not-available {
570 background-image: repeating-linear-gradient(-45deg, rgba(1, 0, 10, 0.05) 0px, rgba(1, 0, 10, 0.05) 1px, transparent 1px, transparent 4px);
571 background-color: #f5f5f5;
572 .os-day-status {
573 display: none;
574 }
575 }
576
577 &.os-today {
578 position: relative;
579
580 &:before {
581 content: "";
582 width: 6px;
583 height: 6px;
584 background-color: #f87373;
585 border-radius: 10px;
586 position: absolute;
587 top: 4px;
588 right: 4px;
589 }
590 }
591
592 .os-day-box {
593 padding: 0px 5px;
594 border-radius: 0px;
595 background-color: transparent;
596 overflow: visible;
597 text-align: center;
598 }
599
600 &:first-child {
601 .os-day-box {
602 }
603 }
604
605 .os-day-weekday {
606 color: #ddd;
607 font-weight: $body-font-weight-bold;
608 text-transform: uppercase;
609 letter-spacing: 1px;
610 font-size: 15px;
611 position: absolute;
612 top: 5px;
613 left: 8px;
614 right: 0;
615 overflow: hidden;
616
617 &:first-letter {
618 }
619 }
620
621 .os-day-status {
622 bottom: 5px;
623 margin: 0;
624 left: 5px;
625 right: 5px;
626 border-radius: 4px;
627 height: 8px;
628 transform-origin: bottom left;
629 transition: transform 0.1s ease;
630 }
631
632 .os-day-number {
633 font-size: $body-font-size-s;
634 padding: 35px 0 15px 2px;
635 text-align: left;
636 transition: transform 0.1s ease;
637 letter-spacing: -1px;
638 font-family: $mono-font-family;
639 }
640
641 &.week-day-6,
642 &.week-day-7 {
643 .os-day-weekday {
644 color: #dcdcdc;
645
646 &:first-letter {
647 }
648 }
649 }
650
651 &.week-day-7 {
652 }
653 }
654 }
655 }
656 }
657
658 .calendar-wrapper {
659 &[data-view="list"]="list""] {
660 .cc-actions, .cc-availability-toggler-w {
661 display: none;
662 }
663 }
664
665 &.os-loading {
666 .no-results-w {
667 .icon-w {
668 position: relative;
669
670 &:before {
671 @include loading-circle($brand-primary, 20px);
672 }
673
674 .latepoint-icon {
675 color: transparent;
676 }
677 }
678 }
679
680 .ch-filter {
681 .ch-filter-trigger {
682 display: none;
683 }
684
685 &:before {
686 @include loading-circle($brand-primary, 20px);
687 }
688 }
689 }
690
691 .calendar-hours {
692 position: relative;
693 }
694
695 .ch-filter {
696 border-right: none;
697 height: 50px;
698 margin-bottom: 20px;
699 position: relative;
700 text-align: center;
701 display: flex;
702 flex-direction: column;
703 align-items: center;
704
705 span {
706 color: transparent;
707 line-height: 1;
708 padding: 3px 0;
709 font-weight: $body-font-weight-bold;
710 font-size: floor($font-size-base * 0.7);
711
712 &:first-child {
713 margin-top: auto;
714 }
715
716 &:last-child {
717 margin-bottom: auto;
718 }
719 }
720
721 .ch-filter-trigger {
722 width: 5px;
723 top: 50%;
724 left: 50%;
725 background-color: rgba(0, 0, 0, 0.3);
726 height: 5px;
727 position: absolute;
728 transform: translate(-50%, -50%);
729 box-shadow: 8px 0px 0px rgba(0, 0, 0, 0.3), -8px 0px 0px rgba(0, 0, 0, 0.3);
730 border-radius: 1px;
731 }
732 }
733
734 .calendar-daily-agent-w {
735 }
736
737 .da-head-agents {
738 display: flex;
739 background-color: #fff;
740 height: 50px;
741 margin-bottom: 20px;
742 position: sticky;
743 top: 0;
744 z-index: 9999;
745 border-top-right-radius: $border-radius-lg;
746 }
747
748 .ch-agents {
749 flex: 1;
750 position: relative;
751
752 .day-action-trigger {
753 left: auto;
754 right: 20px;
755 }
756
757 }
758
759 .da-agents-bookings {
760 display: flex;
761
762 .da-agent-bookings {
763 }
764
765 .da-agent-bookings-and-periods {
766 flex: 1;
767 position: relative;
768
769 .day-action-trigger {
770 z-index: 1001;
771 left: 50%;
772 }
773
774 &:hover {
775 .day-action-trigger {
776 display: block;
777 }
778 }
779
780 &:last-child {
781 .ch-day-periods {
782 border-right: none;
783 }
784 }
785
786 &:first-child {
787 .ch-day-periods .chd-period {
788 &:before {
789 }
790
791 .chd-period-minutes-value {
792 }
793 }
794 }
795 }
796 }
797
798 .da-head-agent {
799 display: flex;
800 align-items: center;
801 padding: 10px 5px;
802 border-bottom: 1px solid $border-color-main;
803 border-right: 1px solid $border-color-lightest;
804 flex: 1;
805 background-color: transparent;
806 position: relative;
807
808 &:first-child:before {
809 content: "";
810 position: absolute;
811 bottom: -21px;
812 left: -1px;
813 height: 20px;
814 width: 1px;
815 background-color: rgba(0, 0, 0, 0.05);
816 }
817
818 &:after {
819 content: "";
820 position: absolute;
821 bottom: -21px;
822 right: -1px;
823 height: 20px;
824 width: 1px;
825 background-color: rgba(0, 0, 0, 0.05);
826 }
827
828 &:last-child {
829 border-top-right-radius: $border-radius-lg;
830 border-right-color: transparent;
831 }
832
833 .da-head-agent-avatar {
834 width: 30px;
835 height: 30px;
836 border-radius: 20px;
837 background-size: cover;
838 background-position: center center;
839 margin-right: 10px;
840 margin-left: auto;
841 }
842
843 .da-head-agent-name {
844 text-decoration: none;
845 color: $headings-color;
846 border-bottom: 1px dotted $headings-color;
847 font-weight: $body-font-weight-bold;
848 margin-right: auto;
849 white-space: nowrap;
850
851 &:hover {
852 color: $brand-primary;
853 }
854 }
855 }
856 }
857
858 .daily-agent-calendar-w {
859 position: relative;
860 background-color: #fff;
861 border: 1px solid $border-color-main;
862 border-radius: $border-radius-lg;
863 padding-bottom: 20px;
864
865 .current-time-indicator {
866 height: 3px;
867 background-color: #ff7c7c;
868 position: absolute;
869 top: 30%;
870 left: 0px;
871 right: 0px;
872 z-index: 998;
873
874 span {
875 position: absolute;
876 left: 0;
877 top: 50%;
878 transform: translateY(-50%);
879 background-color: #fc6262;
880 padding: 3px 8px;
881 border-radius: $border-radius-sm;
882 color: #fff;
883 font-weight: $body-font-weight-bold;
884 font-size: $body-font-size-xxs;
885 }
886 }
887
888 &.make-scrollable {
889 .ch-agents {
890 overflow: auto;
891 }
892
893 .da-head-agent {
894 flex: 0 0 240px;
895 }
896
897 .da-agents-bookings .da-agent-bookings-and-periods {
898 flex: 0 0 240px;
899 }
900
901 .da-agent-bookings-and-periods {
902 &:first-child {
903 .ch-day-periods .chd-period .chd-period-minutes-value {
904 left: auto;
905 right: 0px;
906 transform: translate(100%, -50%);
907 }
908 }
909 }
910 }
911 }
912
913 .calendar-wrapper .da-head-agent .da-head-agent-name {
914 max-width: 130px;
915 overflow: hidden;
916 }
917
918 .calendar-wrapper {
919
920 &.os-loading {
921 .daily-availability-calendar .os-monthly-calendar-days .os-day.selected .os-day-box {
922 position: relative;
923
924 .os-day-number {
925 }
926
927 &:after {
928 @include loading-circle(#fff);
929 top: 12px;
930 left: 12px;
931 }
932 }
933 }
934 }
935
936
937 .calendar-daily-head-w {
938 display: flex;
939 align-items: center;
940 margin-bottom: 20px;
941 padding-bottom: 10px;
942 border-bottom: 1px solid rgba(0, 0, 0, 0.05);
943
944 .calendar-daily-target-date {
945 color: $color-faded;
946 font-size: $font-size-base * 1.4;
947 font-weight: $body-font-weight-bold;
948 line-height: 1.43;
949
950 &.agent-has-day-off {
951 color: #ec7e70;
952 }
953 }
954
955 label {
956 margin-left: auto;
957 margin-right: 5px;
958 color: $color-faded;
959 }
960 }
961
962 .os-calendar-view-toggle {
963 padding: 10px;
964 border-radius: $border-radius-lg;
965 display: flex;
966 align-items: center;
967 gap: 5px;
968 border: 1px solid $border-color-main;
969 .os-calendar-view-option {
970 font-size: $body-font-size-s;
971 border-radius: $border-radius-sm;
972 padding: 3px 8px;
973 color: rgba(0,0,0,0.5);
974 cursor: pointer;
975 text-align: center;
976 position: relative;
977 border: 1px solid transparent;
978 &:hover:not(.os-selected) {
979 color: $headings-color;
980 background-color: #eee;
981 }
982 &.os-selected {
983 color: $headings-color;
984 border: 1px solid $headings-color;
985 }
986 }
987 }
988
989 .cc-panel {
990 display: flex;
991 align-items: center;
992 }
993
994 .cc-view {
995 margin-right: 15px;
996
997 .view-toggler {
998 display: flex;
999 align-items: center;
1000 border-radius: $border-radius;
1001 border: 1px solid $border-color-strong;
1002 line-height: 1;
1003 gap: 5px;
1004
1005 .os-form-select-group {
1006 display: none;
1007 }
1008
1009 .view-selector {
1010 padding: 6px 15px 8px;
1011 font-weight: $body-font-weight-bold;
1012 font-size: $font-size-base;
1013 display: block;
1014 text-decoration: none;
1015 color: $body-color;
1016 border-radius: $border-radius;
1017
1018 &:focus {
1019 outline: none;
1020 box-shadow: none;
1021 }
1022
1023 &.selected {
1024 box-shadow: 0 0 0 1px $brand-primary, inset 0 0 0 1px $brand-primary;
1025 color: $headings-color;
1026 }
1027 }
1028 }
1029
1030 .os-form-group.os-form-group-transparent.os-form-select-group {
1031 margin-bottom: 0;
1032
1033 select.os-form-control {
1034 font-size: 16px;
1035 line-height: 1.5;
1036 text-decoration: none;
1037 background-color: transparent;
1038 border-radius: $border-radius;
1039 padding: 4px 15px 4px 10px !important;
1040 height: auto;
1041 min-height: initial;
1042 &:hover {
1043 border-color: rgba(0,0,0,0.2);
1044 }
1045 }
1046 }
1047
1048 }
1049
1050 .cc-actions {
1051 display: flex;
1052 align-items: center;
1053 gap: 10px;
1054 margin-right: 15px;
1055 background-color: #f1f1f1;
1056 border-radius: $border-radius-lg;
1057 padding: 7px;
1058
1059 .cc-action-today {
1060 position: relative;
1061 line-height: 1.5;
1062 display: flex;
1063 align-items: center;
1064 font-size: $body-font-size-s;
1065 text-decoration: none;
1066 padding: 4px 14px 4px 10px;
1067 color: $headings-color;
1068 border-radius: $border-radius;
1069 border: 1px solid $border-color-main;
1070 background-color: #f8f7f7;
1071
1072 span {
1073 display: inline-block;
1074 }
1075
1076 &:before {
1077 content: "";
1078 background-color: #f87373;
1079 border-radius: 50%;
1080 width: 8px;
1081 height: 8px;
1082 display: block;
1083 margin-right: 10px;
1084 }
1085
1086 &:hover {
1087 border-color: rgba(0,0,0,0.2);
1088 }
1089 }
1090
1091 .cc-navigate-arrows {
1092 display: flex;
1093 gap: 5px;
1094 align-items: center;
1095 }
1096
1097 .cc-action-prev,
1098 .cc-action-next {
1099 font-size: 16px;
1100 box-shadow: none;
1101 outline: none;
1102 color: #111;
1103 margin: 0px;
1104 line-height: 1;
1105 vertical-align: middle;
1106 cursor: pointer;
1107 padding: 8px 8px;
1108 display: block;
1109 text-decoration: none;
1110 position: relative;
1111 border-radius: $border-radius;
1112 border: 1px solid $border-color-main;
1113 background-color: #f8f7f7;
1114
1115 i {
1116 display: block;
1117 }
1118
1119 &.os-loading {
1120 color: transparent !important;
1121
1122 span, i {
1123 line-height: 1;
1124 color: transparent !important;
1125 }
1126
1127 &:after {
1128 display: block;
1129 content: "";
1130 width: 14px;
1131 height: 14px;
1132 border-bottom: 2px solid $body-color;
1133 border-left: 2px solid $body-color;
1134 border-top: 2px solid $body-color;
1135 border-right: 2px solid rgba(0, 0, 0, 0);
1136 border-radius: 20px;
1137 position: absolute;
1138 top: 50%;
1139 left: 50%;
1140 transform: translate(-50%, -50%);
1141 animation: os-loading 700ms infinite linear;
1142 }
1143 }
1144
1145 &:hover {
1146 border-color: rgba(0,0,0,0.2);
1147 }
1148
1149 &.disabled {
1150 color: rgba(0, 0, 0, 0.1);
1151 }
1152 }
1153
1154 }
1155
1156
1157 .calendar-daily-agent-w {
1158 .calendar-hours {
1159 display: flex;
1160
1161 .ch-hours {
1162 flex: 0 0 61px;
1163 border-right: 1px solid #ddd;
1164
1165 .chh-period {
1166 height: $period_height;
1167 vertical-align: middle;
1168 text-align: right;
1169 line-height: $period_height;
1170 font-size: $body-font-size-xxs;
1171 color: rgba(0, 0, 0, 0.4);
1172 font-weight: $body-font-weight-bold;
1173
1174 &.last-period {
1175 height: 1px !important;
1176 span {
1177 }
1178 }
1179
1180 &.chh-period-minutes {
1181 position: relative;
1182
1183 span {
1184 display: none;
1185 }
1186
1187 &:before {
1188 content: "";
1189 height: 1px;
1190 width: 3px;
1191 background-color: rgba(0, 0, 0, 0.2);
1192 position: absolute;
1193 top: -1px;
1194 right: -2px;
1195 }
1196 }
1197
1198 &.chh-period-hour {
1199 position: relative;
1200 padding-right: 10px;
1201 white-space: nowrap;
1202 text-transform: uppercase;
1203
1204 span {
1205 transform: translateY(-50%);
1206 display: block;
1207 }
1208
1209 &:before {
1210 content: "";
1211 height: 1px;
1212 width: 5px;
1213 background-color: rgba(0, 0, 0, 0.6);
1214 position: absolute;
1215 top: 0px;
1216 right: -3px;
1217 }
1218 }
1219
1220 &.chh-period-disabled {
1221 background-color: rgba(0, 0, 0, 0.03);
1222 }
1223 }
1224 }
1225
1226 .ch-day-periods {
1227 flex: 1;
1228 border-right: 1px solid rgba(0, 0, 0, 0.05);
1229 position: relative;
1230
1231 .chd-period {
1232 height: $period_height;
1233 position: relative;
1234 cursor: copy;
1235
1236 &.chd-period-off {
1237 background-image: repeating-linear-gradient(-37deg, rgba(1, 0, 10, 0.1) 0px, rgba(1, 0, 10, 0.1) 1px, transparent 1px, transparent 4px);
1238
1239 &:hover {
1240 &:before {
1241 border-top-color: #E42806;
1242 }
1243
1244 .chd-period-minutes-value {
1245 @include minutes-label-not-available();
1246 }
1247 }
1248 }
1249
1250 &:before {
1251 content: "";
1252 height: 1px;
1253 top: -1px;
1254 position: absolute;
1255 left: 0px;
1256 right: 0px;
1257 border-top: 1px dotted transparent;
1258 z-index: 999;
1259 }
1260
1261 .chd-period-minutes-value {
1262 position: absolute;
1263 top: 0px;
1264 left: 0px;
1265 z-index: 9999;
1266 transform: translate(-100%, -50%);
1267 display: none;
1268 @include minutes-label();
1269 }
1270
1271 &.os-loading {
1272 .chd-period-minutes-value {
1273 color: transparent;
1274
1275 &:after {
1276 @include loading-circle(#fff);
1277 }
1278 }
1279 }
1280
1281 &:hover {
1282 .chd-period-minutes-value {
1283 display: block;
1284 }
1285
1286 &:before {
1287 border-top-color: #111;
1288 }
1289 }
1290
1291 &.last-period {
1292 height: 1px !important;
1293 }
1294
1295 &.chd-period-hour {
1296 border-top: 1px solid rgba(0, 0, 0, 0.05);
1297
1298 &:first-child {
1299 }
1300 }
1301
1302 &.chd-period-disabled {
1303 background-color: rgba(0, 0, 0, 0.03);
1304 }
1305 }
1306
1307 &.ch-day-tue,
1308 &.ch-day-thu {
1309 background-color: #fff;
1310 }
1311
1312 &.ch-day-6,
1313 &.ch-day-7 {
1314 }
1315 }
1316
1317
1318 .ch-day-booking {
1319 background-color: #1449ff;
1320 color: #fff;
1321 padding: 3px 6px;
1322 border: 1px solid #fff;
1323 position: absolute;
1324 left: 5px;
1325 right: 5px;
1326 text-align: left;
1327 z-index: 1000;
1328 cursor: pointer;
1329 transition: all 0.2s ease;
1330 border-radius: $border-radius;
1331
1332 &.status-pending {
1333 &:before {
1334 @include latepointfont_admin("\e94e");
1335 position: absolute;
1336 bottom: 5px;
1337 right: 5px;
1338 color: #fff;
1339 font-size: 16px;
1340 }
1341 }
1342
1343 &:hover {
1344 left: 0px;
1345 right: 0px;
1346 min-height: 60px;
1347
1348 .booking-time {
1349 color: rgba(255, 255, 255, 0.9);
1350 }
1351 }
1352
1353 .ch-day-buffer-before {
1354 position: absolute;
1355 border: 1px dashed rgba(0, 0, 0, 0.15);
1356 border-bottom: none;
1357 border-radius: $border-radius-sm $border-radius-sm 0px 0px;
1358 z-index: -1;
1359 left: 0px;
1360 right: 0px;
1361 top: 0px;
1362 transform: translateY(-100%);
1363 }
1364
1365 .ch-day-buffer-after {
1366 position: absolute;
1367 border: 1px dashed rgba(0, 0, 0, 0.15);
1368 border-top: none;
1369 border-radius: 0px 0px $border-radius-sm $border-radius-sm;
1370 z-index: -1;
1371 left: 0px;
1372 right: 0px;
1373 bottom: 0px;
1374 transform: translateY(100%);
1375 }
1376
1377 .ch-day-booking-i {
1378 }
1379
1380 .booked-percentage {
1381 width: 70px;
1382 background-color: rgba(255, 255, 255, 0.4);
1383 border-radius: 2px;
1384 margin: 0px auto;
1385 margin-top: 2px;
1386
1387 .booked-bar {
1388 background-color: #fff;
1389 border-radius: 8px;
1390 height: 5px;
1391 }
1392 }
1393
1394 .booking-attendees {
1395 font-size: floor($font-size-base * 0.65);
1396 color: rgba(255, 255, 255, 0.7);
1397 text-align: center;
1398 position: absolute;
1399 bottom: 5px;
1400 right: 5px;
1401 line-height: 1.2;
1402
1403 span {
1404 color: #fff;
1405 }
1406 }
1407
1408 .booking-service-name {
1409 color: #fff;
1410 font-size: $font-size-base * 1;
1411 font-weight: $body-font-weight-bold;
1412 white-space: nowrap;
1413 width: 100%;
1414 overflow: hidden;
1415 text-align: left;
1416 }
1417
1418 .booking-time {
1419 color: rgba(255, 255, 255, 0.7);
1420 font-weight: $body-font-weight-bold;
1421 font-size: $font-size-base * 0.75;
1422 line-height: 1.2;
1423 }
1424
1425 &.os-loading {
1426 &:after {
1427 @include loading-circle($brand-primary);
1428 left: -10px;
1429 }
1430
1431 animation: animate_appointment_small_box 0.8s ease infinite;
1432 }
1433 }
1434 }
1435 }
1436
1437
1438 // WEEKLY CALENDAR STYLES
1439 // -----------------------
1440
1441 .calendar-week-agent-w {
1442 border-radius: $border-radius-lg;
1443 background-color: #fff;
1444 border: 1px solid $border-color-main;
1445 padding-bottom: 20px;
1446 .agent-weekly-calendar {
1447 display: none;
1448
1449 &.selected {
1450 display: block;
1451 }
1452
1453 .current-time-indicator {
1454 height: 3px;
1455 background-color: #ff7c7c;
1456 position: absolute;
1457 top: 30%;
1458 left: 0px;
1459 right: 0px;
1460 z-index: 998;
1461
1462 &:before {
1463 position: absolute;
1464 content: "";
1465 display: block;
1466 left: 0px;
1467 top: 50%;
1468 transform: translateY(-50%);
1469 background-color: #fc6262;
1470 padding: 6px;
1471 border-radius: 50%;
1472 }
1473 }
1474 }
1475
1476 .cc-filters {
1477 display: flex;
1478 margin-left: auto;
1479 margin-right: 20px;
1480 padding-right: 20px;
1481 border-right: 1px solid rgba(0, 0, 0, 0.1);
1482
1483 select {
1484 font-size: $font-size-base;
1485 min-height: 34px;
1486 }
1487
1488 > div + div {
1489 margin-left: 10px;
1490 }
1491 }
1492
1493 .calendar-controls {
1494 display: flex;
1495 justify-content: space-between;
1496 align-items: flex-end;
1497 margin-bottom: 15px;
1498 padding-top: 30px;
1499 }
1500
1501 .cc-agent-selector {
1502
1503 }
1504
1505 .cc-date {
1506 font-size: floor($font-size-base * 2);
1507 line-height: 1;
1508 font-weight: $body-font-weight-bold;
1509 color: #c4cbe1;
1510 position: relative;
1511
1512 .cc-month {
1513 z-index: 2;
1514 position: relative;
1515 color: $brand-primary;
1516 }
1517
1518 .cc-year {
1519 font-weight: $body-font-weight-black;
1520 color: $calendar-year-color;
1521 position: absolute;
1522 font-size: 100px;
1523 line-height: 100px;
1524 bottom: -7px;
1525 display: block;
1526 margin: 0px;
1527 left: -0px;
1528 z-index: 1;
1529 }
1530 }
1531
1532
1533 .ch-day {
1534 background-color: #fff;
1535 font-size: $body-font-size-s;
1536 text-align: center;
1537 color: rgba(0,0,0,0.3);
1538 line-height: 1;
1539 padding: 16px 10px;
1540 z-index: 5;
1541 border-bottom: 1px solid $border-color-strong;
1542 border-right: 1px solid rgba(0, 0, 0, 0.05);
1543 position: sticky;
1544 top: 0;
1545
1546 span, strong {
1547 display: inline-block;
1548 }
1549
1550 strong {
1551 font-weight: $body-font-weight-bold;
1552 color: $body-color;
1553 margin-left: 5px;
1554 }
1555
1556 &.ch-day-tue,
1557 &.ch-day-thu {
1558 background-color: #F8F8F9;
1559 }
1560
1561 &.ch-day-6,
1562 &.ch-day-7 {
1563 background-color: #fff;
1564
1565 span {
1566 }
1567 }
1568
1569 &:last-child {
1570 border-right: none;
1571 }
1572
1573 &.is-today {
1574 &:before {
1575 content: "";
1576 background-color: #f87373;
1577 width: 8px;
1578 height: 8px;
1579 position: absolute;
1580 top: 10px;
1581 right: 10px;
1582 border-radius: 10px;
1583 }
1584 }
1585 }
1586
1587
1588 .calendar-hours {
1589 display: flex;
1590
1591 .ch-info {
1592 position: relative;
1593 background-color: #fff;
1594 border-bottom:none;
1595 border-right: none;
1596 padding: 10px 15px;
1597 line-height: 1;
1598 text-align: center;
1599 color: rgba(0,0,0,0.4);
1600 flex: 0 0 60px;
1601 font-weight: $body-font-weight-bold;
1602 font-size: floor($font-size-base * 0.7);
1603 border-radius: $border-radius-lg 0 0 0;
1604
1605 span {
1606 display: block;
1607 padding: 2px 0;
1608 color: transparent;
1609 }
1610
1611 span + span {
1612 }
1613
1614 & + .chh-period.chh-period-hour {
1615 span {
1616 }
1617
1618 &:before {
1619 top: -1px!important;
1620 }
1621 }
1622 }
1623
1624 .ch-hours {
1625 flex: 0 0 50px;
1626 border-right: 1px solid $border-color-strong;
1627
1628 .chh-period {
1629 height: $period_height;
1630 vertical-align: middle;
1631 text-align: right;
1632 line-height: $period_height;
1633 font-size: $body-font-size-xxs;
1634 color: rgba(0,0,0,0.4);
1635 font-weight: $body-font-weight-bold;
1636
1637 &.last-period {
1638 height: 1px !important;
1639 color: transparent;
1640 }
1641
1642 &.chh-period-minutes {
1643 position: relative;
1644 text-transform: uppercase;
1645
1646 span {
1647 display: none;
1648 }
1649
1650 &:before {
1651 content: "";
1652 height: 1px;
1653 width: 3px;
1654 background-color: rgba(0, 0, 0, 0.2);
1655 position: absolute;
1656 top: -1px;
1657 right: -2px;
1658 }
1659 }
1660
1661 &.chh-period-hour {
1662 position: relative;
1663 padding-right: 10px;
1664 text-transform: uppercase;
1665
1666 span {
1667 transform: translateY(-50%);
1668 display: block;
1669 }
1670
1671 &:before {
1672 content: "";
1673 height: 1px;
1674 width: 5px;
1675 background-color: rgba(0, 0, 0, 0.6);
1676 position: absolute;
1677 top: 0px;
1678 right: -3px;
1679 }
1680 }
1681
1682 &.chh-period-disabled {
1683 background-color: rgba(0, 0, 0, 0.03);
1684 }
1685 }
1686 }
1687
1688 .ch-day-periods-w {
1689 display: flex;
1690 flex: 1;
1691
1692 .ch-day-periods-i {
1693 flex: 1;
1694
1695 &:hover {
1696 .day-action-trigger {
1697 display: block;
1698 }
1699 }
1700
1701 &:last-child {
1702 .ch-day-periods {
1703 border-right: none;
1704 }
1705 .ch-day {
1706 border-top-right-radius: $border-radius-lg;
1707 border-right: none;
1708 }
1709 }
1710 }
1711 }
1712
1713 .ch-day-periods {
1714 border-right: 1px solid rgba(0, 0, 0, 0.05);
1715 position: relative;
1716
1717 .current-time-indicator + .chd-period {
1718 border-top: none!important;
1719 }
1720
1721 .chd-period {
1722 height: $period_height;
1723 position: relative;
1724 cursor: copy;
1725
1726 &:hover {
1727 z-index: 6;
1728 }
1729
1730 &.chd-period-off {
1731 //background-image: repeating-linear-gradient(90deg, #fff, #fff 2px, #cfcfcf 2px, #c2c2c2 3px);
1732 background-image: repeating-linear-gradient(-37deg, rgba(1, 0, 10, 0.08) 0px, rgba(1, 0, 10, 0.08) 1px, transparent 1px, transparent 4px);
1733
1734
1735 &:hover {
1736 &:before {
1737 border-top-color: #E42806;
1738 }
1739
1740 .chd-period-minutes-value {
1741 @include minutes-label-not-available();
1742 }
1743 }
1744 }
1745
1746 &:before {
1747 content: "";
1748 height: 1px;
1749 z-index: 3;
1750 top: -1px;
1751 position: absolute;
1752 left: 0px;
1753 right: 0px;
1754 border-top: 1px dotted transparent;
1755 }
1756
1757 .chd-period-minutes-value {
1758 position: absolute;
1759 top: 0px;
1760 left: 50%;
1761 z-index: 3;
1762 transform: translate(-50%, -50%);
1763 display: none;
1764 @include minutes-label();
1765 }
1766
1767 &.os-loading {
1768 .chd-period-minutes-value {
1769 color: transparent;
1770
1771 &:after {
1772 @include loading-circle(#fff);
1773 }
1774 }
1775 }
1776
1777 &:hover {
1778 .chd-period-minutes-value {
1779 display: block;
1780 }
1781
1782 &:before {
1783 border-top-color: #111;
1784 }
1785 }
1786
1787 &.last-period {
1788 height: 1px !important;
1789 }
1790
1791 &.chd-period-hour {
1792 border-top: 1px solid rgba(0, 0, 0, 0.05);
1793
1794 &:first-child {
1795 border-top: none;
1796 }
1797 }
1798
1799 &.chd-period-disabled {
1800 background-color: rgba(0, 0, 0, 0.03);
1801 }
1802 }
1803
1804 &.ch-day-tue,
1805 &.ch-day-thu {
1806 background-color: #fff;
1807 }
1808
1809 &.ch-day-6,
1810 &.ch-day-7 {
1811 background-color: #fff;
1812 }
1813 }
1814
1815 .ch-day-booking {
1816 background-color: #1449ff;
1817 color: #fff;
1818 padding: 3px 6px;
1819 border: 1px solid #fff;
1820 position: absolute;
1821 left: 5px;
1822 right: 5px;
1823 text-align: left;
1824 z-index: 4;
1825 cursor: pointer;
1826 transition: all 0.2s ease;
1827 overflow: hidden;
1828 border-radius: $border-radius;
1829
1830 &.status-pending {
1831 &:before {
1832 @include latepointfont_admin("\e94e");
1833 position: absolute;
1834 bottom: 5px;
1835 right: 5px;
1836 color: #fff;
1837 font-size: 18px;
1838 }
1839 }
1840
1841 &:hover {
1842 transform: translateY(-3px);
1843 min-height: 60px !important;
1844 left: 0px;
1845 right: 0px;
1846 z-index: 5;
1847
1848 .booking-time {
1849 color: rgba(255, 255, 255, 0.9);
1850 }
1851 }
1852
1853 .ch-day-buffer-before {
1854 position: absolute;
1855 border: 1px dashed rgba(0, 0, 0, 0.15);
1856 border-bottom: none;
1857 border-radius: $border-radius-sm $border-radius-sm 0px 0px;
1858 z-index: -1;
1859 left: 0px;
1860 right: 0px;
1861 top: 0px;
1862 transform: translateY(-100%);
1863 }
1864
1865 .ch-day-buffer-after {
1866 position: absolute;
1867 border: 1px dashed rgba(0, 0, 0, 0.15);
1868 border-top: none;
1869 border-radius: 0px 0px $border-radius-sm $border-radius-sm;
1870 z-index: -1;
1871 left: 0px;
1872 right: 0px;
1873 bottom: 0px;
1874 transform: translateY(100%);
1875 }
1876
1877 .ch-day-booking-i {
1878 }
1879
1880 .booked-percentage {
1881 width: 70px;
1882 background-color: rgba(255, 255, 255, 0.4);
1883 margin: 0px auto;
1884 margin-top: 2px;
1885 border-radius: 8px;
1886
1887 .booked-bar {
1888 background-color: #fff;
1889 height: 5px;
1890 border-radius: 8px;
1891 }
1892 }
1893
1894 .booking-attendees {
1895 font-size: $font-size-base * 0.65;
1896 color: rgba(255, 255, 255, 0.7);
1897 text-align: center;
1898 position: absolute;
1899 bottom: 5px;
1900 right: 5px;
1901 line-height: 1.2;
1902
1903 span {
1904 color: #fff;
1905 }
1906 }
1907
1908 .booking-service-name {
1909 color: #fff;
1910 font-size: floor($font-size-base * 0.95);
1911 font-weight: $body-font-weight-bold;
1912 white-space: nowrap;
1913 width: 100%;
1914 overflow: hidden;
1915 text-align: left;
1916 }
1917
1918 .booking-time {
1919 color: rgba(255, 255, 255, 0.7);
1920 font-size: floor($font-size-base * 0.8);
1921 white-space: nowrap;
1922 }
1923
1924 &.os-loading {
1925 &:after {
1926 @include loading-circle($brand-primary);
1927 left: -10px;
1928 }
1929
1930 animation: animate_appointment_small_box 0.8s ease infinite;
1931 }
1932 }
1933 }
1934 }
1935
1936
1937 // MONTHLY CALENDAR STYLES
1938 // -----------------------
1939
1940
1941 .calendar-month-agents-w {
1942 position: relative;
1943 $day-height: 35px;
1944 background-color: #fff;
1945 border-radius: $border-radius-lg 0 0 $border-radius-lg;
1946 margin-right: -$content-padding;
1947 border: 1px solid $border-color-main;
1948 overflow: clip;
1949
1950 &.os-loading {
1951 .ma-days-with-bookings-i {
1952 opacity: 0.5;
1953 }
1954
1955 &:after {
1956 @include loading-circle($brand-primary, 24px);
1957 top: 25px;
1958 left: 40px;
1959 z-index: 999;
1960 }
1961
1962 .ma-head-info {
1963 color: transparent;
1964
1965 span + span {
1966 border-top-color: transparent;
1967 }
1968 }
1969 }
1970
1971 .ma-head {
1972 display: flex;
1973 z-index: 2;
1974 position: sticky;
1975 top: 0;
1976 left: 80px;
1977 right: 0;
1978 }
1979
1980 .ma-head-info {
1981 padding: 12px 15px 5px 15px;
1982 text-align: center;
1983 color: $color-faded;
1984 width: 60px;
1985 height: 51px;
1986 font-weight: $body-font-weight-bold;
1987 font-size: $font-size-base * 0.7;
1988 border-bottom: 1px solid $border-color-strong;
1989 position: relative;
1990 background-color: #fff;
1991 border-top-left-radius: $border-radius-lg;
1992
1993
1994 span {
1995 display: none;
1996 }
1997
1998 span + span {
1999 border-top: 1px solid rgba(0, 0, 0, 0.1);
2000 }
2001 }
2002
2003 .ma-head-agent {
2004 display: flex;
2005 align-items: center;
2006 padding: 10px 20px;
2007 border-bottom: 1px solid $border-color-strong;
2008 border-right: 1px solid $border-color-lightest;
2009 flex: 0 0 249px;
2010 background-color: #fff;
2011
2012 .ma-head-agent-avatar {
2013 width: 30px;
2014 height: 30px;
2015 border-radius: 20px;
2016 background-size: cover;
2017 background-position: center center;
2018 margin-right: 10px;
2019 margin-left: auto;
2020 }
2021
2022 .ma-head-agent-name {
2023 font-weight: $body-font-weight-bold;
2024 margin-right: auto;
2025 white-space: nowrap;
2026 a {
2027 text-decoration: none;
2028 color: $headings-color;
2029 border-bottom: 1px dotted $headings-color;
2030 &:hover {
2031 color: $border-radius;
2032 }
2033 }
2034 }
2035 }
2036
2037 .ma-month-label {
2038 color: #fff;
2039 font-weight: $body-font-weight-bold;
2040 text-align: center;
2041 display: flex;
2042
2043 div {
2044 padding: 3px;
2045 background-color: $brand-primary;
2046 flex: 0 0 250px;
2047 color: $brand-primary;
2048 box-shadow: 0px -1px 0px $brand-primary, 0px 1px 0px $brand-primary;
2049 position: relative;
2050 z-index: 2;
2051 }
2052 }
2053
2054 .ma-floated-days-w {
2055 position: absolute;
2056 top: 0px;
2057 left: 0px;
2058 z-index: 3;
2059 border-right: 1px solid $border-color-strong;
2060
2061
2062 .ma-month-label {
2063 display: block;
2064
2065 div {
2066 flex: 1;
2067 color: #fff;
2068 }
2069 }
2070
2071 .ma-day {
2072 display: flex;
2073 height: $day-height;
2074 position: relative;
2075
2076 &.is-today {
2077 &:after {
2078 background-color: #FF0F42;
2079 position: absolute;
2080 top: 2px;
2081 left: 2px;
2082 width: 6px;
2083 height: 6px;
2084 border-radius: 50%;
2085 display: block;
2086 content: "";
2087 }
2088 }
2089
2090 .ma-day-info {
2091 display: flex;
2092 align-items: stretch;
2093 font-size: $font-size-base * 0.7;
2094 font-weight: $body-font-weight-bold;
2095 flex: 0 0 60px;
2096 background-color: #fff;
2097 font-family: $mono-font-family;
2098
2099 .ma-day-number {
2100 border-right: 1px solid $border-color-lightest;
2101 flex: 0 0 25px;
2102 line-height: $day-height;
2103 text-align: right;
2104 padding-right: 5px;
2105 border-bottom: 1px solid $border-color-lightest;
2106 }
2107
2108 .ma-day-weekday {
2109 text-transform: uppercase;
2110 letter-spacing: 1px;
2111 text-align: center;
2112 flex: 0 0 35px;
2113 color: $color-faded;
2114 line-height: $day-height;
2115 border-bottom: 1px solid $border-color-lightest;
2116 }
2117 }
2118 }
2119 }
2120
2121 .ma-days-with-bookings-w {
2122 padding-left: 60px;
2123 position: relative;
2124 overflow-x: auto;
2125
2126 .ma-days-with-bookings-i {
2127 }
2128
2129 .ma-day {
2130 display: flex;
2131 height: $day-height;
2132
2133 .ma-day-agent-bookings {
2134 flex: 0 0 249px;
2135 position: relative;
2136 box-shadow: inset -1px 0 0 0 #dbdbdb;
2137
2138 .ma-day-work-periods {
2139 display: flex;
2140 }
2141 .ma-day-work-periods-w {
2142 display: none;
2143 position: absolute;
2144 top: -5px;
2145 transform: translateY(-100%);
2146 left: -6px;
2147 right: -6px;
2148 background-color: #62bda4;
2149 color: #fff;
2150 padding: 6px 12px 4px 12px;
2151 font-size: $body-font-size-s;
2152 font-weight: $body-font-weight-bold;
2153 white-space: nowrap;
2154 border-radius: 12px 12px 0 0;
2155 &:before {
2156 content: "";
2157 z-index: -1;
2158 width: 40px;
2159 height: 40px;
2160 position: absolute;
2161 top: 5px;
2162 right: 5px;
2163 border-radius: 0 0 0 50px;
2164 background-image: radial-gradient(rgba(255,255,255,0.5) 1px, transparent 0);
2165 background-size: 12px 12px;
2166 background-position: top right;
2167 }
2168
2169 .ma-day-label {
2170 color: rgba(255, 255, 255, 0.4);
2171 margin-right: 3px;
2172 font-size: $body-font-size-l;
2173 line-height: 1;
2174 }
2175
2176 .ma-day-work-period {
2177 font-size: $body-font-size-xs;
2178 }
2179
2180 .ma-day-work-period + .ma-day-work-period {
2181 margin-left: 5px;
2182 border-left: 2px solid rgba(255, 255, 255, 0.3);
2183 padding-left: 5px;
2184 }
2185 }
2186
2187 cursor: copy;
2188
2189 &.is-day-off {
2190 cursor: not-allowed;
2191 }
2192
2193 &:hover {
2194 border-radius: 0 0 8px 8px;
2195 box-shadow: 0px 0px 0px 3px #fff, 0 0 0 6px #62bda4;
2196 z-index: 9999;
2197 position: relative;
2198 background-color: #fff !important;
2199 border-right-color: transparent;
2200
2201 .ma-day-work-periods-w {
2202 display: block;
2203 justify-content: space-between;
2204 align-items: center;
2205 }
2206
2207 &.is-day-off {
2208 box-shadow: 0px 0px 0px 3px #fff, 0 0 0 6px #bd7062;
2209 }
2210 }
2211
2212 .ma-day-off {
2213 top: 3px;
2214 bottom: 3px;
2215 left: 0px;
2216 right: 0px;
2217 position: absolute;
2218 background-image: repeating-linear-gradient(125deg, #fff, #fff 4px, #ccc 4px, #ccc 5px);
2219
2220 .ma-day-work-periods-w {
2221 background-color: #bd7062;
2222 }
2223
2224 &.ma-period-off {
2225 background-image: repeating-linear-gradient(125deg, #fff, #fff 4px, #d1958a 4px, #d1958a 5px);
2226 }
2227
2228 &.full:hover {
2229 }
2230 }
2231
2232 .ma-day-booking {
2233 top: 7px;
2234 bottom: 7px;
2235 position: absolute;
2236 cursor: pointer;
2237 box-shadow: inset -1px 0px 0px 0px #fff;
2238 border-radius: 8px;
2239 transition: all 0.1s ease;
2240
2241
2242 &:hover {
2243 }
2244
2245 &.os-loading {
2246 top: 10px;
2247 bottom: 10px;
2248
2249 &:after {
2250 @include loading-circle(#fff);
2251 }
2252 }
2253
2254 .appointment-box-small {
2255 position: absolute;
2256 top: 0px;
2257 left: 50%;
2258 transform: translate(-50%, -120%);
2259 visibility: hidden;
2260 opacity: 0;
2261 transition: all 0.2s ease;
2262 display: block;
2263 align-items: flex-start;
2264 z-index: 999;
2265
2266 .appointment-info {
2267 }
2268
2269 .customer-info-w {
2270 }
2271 }
2272
2273 &:hover {
2274 top: 0px;
2275 bottom: 0px;
2276
2277 .appointment-box-small {
2278 transform: translate(-50%, -105%);
2279 visibility: visible;
2280 opacity: 1;
2281 }
2282
2283 &:first-child {
2284 }
2285
2286 &:last-child {
2287 }
2288 }
2289 }
2290
2291 &:first-child {
2292 .appointment-box-small {
2293 left: 0px;
2294 transform: translate(0%, -120%);
2295 }
2296
2297 .ma-day-booking:hover {
2298 .appointment-box-small {
2299 transform: translate(0%, -105%);
2300 }
2301 }
2302 }
2303
2304 &:last-child {
2305 .appointment-box-small {
2306 left: auto;
2307 right: 0px;
2308 transform: translate(0%, -120%);
2309 }
2310
2311 .ma-day-booking:hover {
2312 .appointment-box-small {
2313 transform: translate(0%, -105%);
2314 }
2315 }
2316 }
2317 }
2318
2319 &:nth-child(1),
2320 &:nth-child(2),
2321 &:nth-child(3),
2322 &:nth-child(4),
2323 &:nth-child(5) {
2324 .ma-day-booking {
2325 .appointment-box-small {
2326 top: auto;
2327 bottom: 0px;
2328 transform: translate(-50%, 110%);
2329 }
2330
2331 &:hover {
2332 .appointment-box-small {
2333 transform: translate(-50%, 100%);
2334 }
2335 }
2336 }
2337
2338 .ma-day-agent-bookings {
2339 &:first-child {
2340 .appointment-box-small {
2341 left: 0px;
2342 top: auto;
2343 bottom: 0px;
2344 transform: translate(5%, 105%);
2345 }
2346
2347 .ma-day-booking:hover {
2348 .appointment-box-small {
2349 transform: translate(0%, 100%);
2350 }
2351 }
2352 }
2353
2354 &:last-child {
2355 .appointment-box-small {
2356 left: auto;
2357 right: 0px;
2358 top: auto;
2359 bottom: 0px;
2360 transform: translate(0%, 105%);
2361 }
2362
2363 .ma-day-booking:hover {
2364 .appointment-box-small {
2365 transform: translate(0%, 100%);
2366 }
2367 }
2368 }
2369 }
2370 }
2371 }
2372 }
2373
2374 .ma-floated-days-w,
2375 .ma-days-with-bookings-w {
2376 .ma-day-agent-bookings {
2377 border-bottom: 1px solid $border-color-lightest;
2378 }
2379 .ma-day {
2380
2381 &:nth-child(even) {
2382 .ma-day-agent-bookings {
2383 }
2384
2385 .ma-day-info {
2386 .ma-day-number {
2387 }
2388
2389 .ma-day-weekday {
2390 }
2391 }
2392 }
2393
2394 &.ma-day-number-5 {
2395 }
2396
2397 &.ma-day-number-6,
2398 &.ma-day-number-7 {
2399 .ma-day-info {
2400 background-color: #f9f9f9;
2401 }
2402
2403 .ma-day-agent-bookings {
2404 background-color: #f9f9f9;
2405 }
2406 }
2407
2408 &.ma-day-number-7 {
2409 border-bottom-color: $border-color-strong;
2410
2411 .ma-day-agent-bookings {
2412 }
2413
2414 .ma-day-info {
2415 }
2416
2417 &:hover {
2418 .ma-day-agent-bookings {
2419 }
2420 }
2421 }
2422
2423 &:last-child {
2424 border-bottom-color: $border-color-strong;
2425 }
2426 }
2427 }
2428
2429
2430 &.calendar-month-not-scrollable {
2431 border-radius: $border-radius-lg;
2432 margin-right: 0;
2433 overflow: clip;
2434 .ma-days-with-bookings-w {
2435 overflow: visible;
2436 }
2437
2438 .ma-head-agent {
2439 flex: 1;
2440 }
2441
2442 .ma-days-with-bookings-w .ma-day .ma-day-agent-bookings {
2443 flex: 1;
2444 }
2445 }
2446
2447 }
2448
2449
2450 .full-screen-year-calendar-w {
2451 position: fixed;
2452 top: 0px;
2453 right: 0px;
2454 bottom: 0px;
2455 left: 0px;
2456 background-color: #fff;
2457 z-index: 99999;
2458 overflow-y: auto;
2459 display: none;
2460
2461 .fsy-header {
2462 border-bottom: 1px solid rgba(0, 0, 0, 0.05);
2463 padding: 10px 40px;
2464
2465 h2 {
2466 margin: 0px;
2467 line-height: 1.2;
2468 font-size: floor($headings-font-size * 1.5);
2469 }
2470 }
2471
2472 .full-screen-year-calendar {
2473
2474 }
2475
2476 .full-screen-year-calendar-months {
2477 display: flex;
2478 flex-wrap: wrap;
2479 padding: 0px 20px;
2480
2481 .fsy-month {
2482 flex: 0 0 25%;
2483 padding: 15px 20px;
2484
2485 .fsy-month-name {
2486 font-size: floor($font-size-base);
2487 color: $headings-color;
2488 font-weight: $body-font-weight-bold;
2489 padding-bottom: 5px;
2490 border-bottom: 1px solid rgba(0, 0, 0, 0.05);
2491 margin-bottom: 5px;
2492 }
2493 }
2494 }
2495
2496 .os-monthly-calendar-days {
2497 display: flex;
2498 flex-wrap: wrap;
2499 justify-content: space-between;
2500
2501 .os-day {
2502 width: 14.2%;
2503 padding: 2.4%;
2504 text-align: center;
2505 font-size: floor($font-size-base * 0.85);
2506 font-weight: $body-font-weight-bold;
2507 cursor: pointer;
2508
2509 &.week-day-6,
2510 &.week-day-7 {
2511 .os-day-box {
2512 background-color: #fff3e2 !important;
2513 }
2514 }
2515
2516 &.os-day-next-month,
2517 &.os-day-prev-month {
2518 color: #B7BCCB;
2519 background-color: #fff;
2520 }
2521
2522 &.os-day-current {
2523 .os-day-box {
2524 background-color: #f5f6fb;
2525 }
2526 }
2527
2528 &.os-day-passed {
2529 .os-day-box {
2530 background-color: #eaedf5;
2531
2532 .os-day-number {
2533 color: rgb(178, 185, 204);
2534 }
2535 }
2536 }
2537
2538 &.os-today {
2539 .os-day-box {
2540 background-color: #fff6cb;
2541 }
2542 }
2543
2544 // MONTH SETTINGS
2545 &.os-month-next,
2546 &.os-month-prev {
2547 .os-day-box {
2548 opacity: 0.4;
2549
2550 &:hover {
2551 opacity: 1;
2552 }
2553 }
2554 }
2555
2556 .os-day-box {
2557 padding-bottom: 100%;
2558 border-radius: $border-radius;
2559 position: relative;
2560 overflow: hidden;
2561 }
2562
2563 .os-day-number {
2564 position: absolute;
2565 top: 50%;
2566 left: 50%;
2567 transform: translate(-50%, -50%);
2568 }
2569
2570 &:hover {
2571 .os-day-box {
2572 .os-day-number {
2573 font-size: floor($font-size-base * 0.9);
2574 color: $brand-primary;
2575 }
2576 }
2577 }
2578
2579 &.selected {
2580 .os-day-box {
2581 background-color: $brand-primary;
2582 color: #fff;
2583
2584 .os-day-number {
2585 }
2586
2587 .os-day-status {
2588 display: none;
2589 }
2590 }
2591 }
2592 }
2593 }
2594 }
2595
2596 .custom-day-calendar {
2597 &[data-period-type="range"]="range""] {
2598 .custom-day-settings-w .os-form-group.os-form-group-transparent select {
2599 width: 110px;
2600 }
2601 }
2602
2603 &[data-picking="start"]="start""] {
2604 .start-day-input-w .os-form-group.os-form-group-transparent.os-form-textfield-group label {
2605 color: $brand-primary;
2606 }
2607
2608 .start-day-input-w .os-form-group.os-form-group-transparent.os-form-textfield-group .os-form-control {
2609 border-bottom-color: $brand-primary;
2610 }
2611 }
2612
2613 &[data-picking="end"]="end""] {
2614 .end-day-input-w .os-form-group.os-form-group-transparent.os-form-textfield-group label {
2615 color: $brand-primary;
2616 }
2617
2618 .end-day-input-w .os-form-group.os-form-group-transparent.os-form-textfield-group .os-form-control {
2619 border-bottom-color: $brand-primary;
2620 }
2621 }
2622
2623 &[data-period-type="single"]="single""] {
2624 .custom-day-settings-w .os-form-group {
2625 flex: 1;
2626 }
2627
2628 .start-day-input-w,
2629 .end-day-input-w {
2630 display: none;
2631 }
2632 }
2633 }
2634
2635 .custom-day-settings-w {
2636 display: flex;
2637 margin-bottom: 10px;
2638 padding-bottom: 20px;
2639 border-bottom: 1px solid $border-color-lightest;
2640
2641 .os-form-group {
2642 margin-bottom: 0px!important;
2643
2644 select {
2645 transition: none;
2646 }
2647
2648 &.os-form-textfield-group {
2649 label {
2650 top: 2px;
2651 left: 0px;
2652 font-size: 13px;
2653 }
2654
2655 .os-form-control {
2656 &:focus {
2657 border-bottom-color: $brand-primary;
2658 }
2659 }
2660 }
2661 }
2662
2663 .start-day-input-w {
2664 margin-left: 10px;
2665 flex: 1;
2666 }
2667
2668 .end-day-input-w {
2669 margin-left: 10px;
2670 flex: 1;
2671 position: relative;
2672 }
2673 }
2674
2675 .custom-day-schedule-w {
2676 display: flex;
2677
2678 .custom-day-calendar {
2679 flex: 0 0 360px;
2680 padding-right: 30px;
2681 }
2682
2683 .custom-day-schedule {
2684 flex: 1;
2685 padding-left: 30px;
2686 border-left: 1px solid rgba(0, 0, 0, 0.05);
2687 animation: 0.5s cubic-bezier(.45, 1.1, .4, 1) 0s wizardWrapperAnimation;
2688 animation-fill-mode: both;
2689 max-height: 70vh;
2690 overflow: auto;
2691
2692 .custom-day-schedule-head {
2693 padding-bottom: 10px;
2694 border-bottom: 1px solid rgba(0, 0, 0, 0.05);
2695 margin-bottom: 10px;
2696 text-align: center;
2697
2698 h3 {
2699 margin: 0px;
2700 margin-right: auto;
2701 line-height: 2.1;
2702 }
2703 }
2704
2705 .weekday-schedule-form {
2706 padding-bottom: 0px;
2707 }
2708 }
2709
2710 .ws-period {
2711 margin-bottom: 10px;
2712 }
2713 }
2714
2715 .latepoint-lightbox-w {
2716 &.hide-schedule {
2717 .latepoint-lightbox-i {
2718 width: 400px !important;
2719 }
2720
2721 .custom-day-calendar {
2722 padding: 0px;
2723 flex: 1;
2724 }
2725
2726 .custom-day-schedule {
2727 display: none;
2728 }
2729 }
2730 }
2731
2732 .custom-day-calendar {
2733
2734 }
2735
2736 .custom-day-calendar-head {
2737 display: flex;
2738 justify-content: space-between;
2739 align-items: center;
2740 padding-bottom: 10px;
2741 border-bottom: 1px solid $border-color-lightest;
2742 margin-bottom: 10px;
2743
2744 .os-form-group {
2745 margin-bottom: 0px!important;
2746
2747 & + .os-form-group {
2748 margin-left: 5px;
2749 }
2750
2751 select {
2752 height: 18px;
2753 padding: 4px 20px 4px 8px !important;
2754 }
2755 }
2756
2757 h3 {
2758 margin: 0px;
2759 margin-right: auto;
2760 line-height: 1.1;
2761 }
2762 }
2763
2764 .custom-day-calendar-month {
2765 position: relative;
2766
2767 &.os-loading {
2768 &:after {
2769 @include loading-circle($brand-primary, 52px);
2770 }
2771
2772 animation: animate_appointment_small_box 0.8s ease infinite;
2773 }
2774
2775 .os-monthly-calendar-days {
2776 display: flex;
2777 flex-wrap: wrap;
2778 justify-content: space-between;
2779 margin: 0px -2%;
2780
2781 .os-day {
2782 width: 14.2%;
2783 padding: 2%;
2784 text-align: center;
2785 font-size: floor($font-size-base);
2786 font-weight: $body-font-weight-bold;
2787 cursor: pointer;
2788
2789 &.week-day-6,
2790 &.week-day-7 {
2791 .os-day-box {
2792 background-color: #fff3e2 !important;
2793 }
2794 }
2795
2796 &.os-day-next-month,
2797 &.os-day-prev-month {
2798 color: #B7BCCB;
2799 background-color: #fff;
2800 }
2801
2802 &.os-day-current {
2803 .os-day-box {
2804 background-color: #f5f6fb;
2805 }
2806 }
2807
2808 &.os-day-passed {
2809 .os-day-box {
2810 background-color: #eaedf5;
2811
2812 .os-day-number {
2813 color: rgb(178, 185, 204);
2814 }
2815 }
2816 }
2817
2818 &.os-today {
2819 .os-day-box {
2820 background-color: #fff6cb;
2821 }
2822 }
2823
2824 // MONTH SETTINGS
2825 &.os-month-next,
2826 &.os-month-prev {
2827 .os-day-box {
2828 opacity: 0.3;
2829
2830 &:hover {
2831 opacity: 1;
2832 }
2833 }
2834
2835 &.selected {
2836 .os-day-box {
2837 opacity: 1;
2838 }
2839 }
2840 }
2841
2842 .os-day-box {
2843 padding-bottom: 100%;
2844 border-radius: $border-radius;
2845 position: relative;
2846 overflow: hidden;
2847 }
2848
2849 .os-day-number {
2850 position: absolute;
2851 top: 50%;
2852 left: 50%;
2853 transform: translate(-50%, -50%);
2854 }
2855
2856 &:hover {
2857 .os-day-box {
2858 .os-day-number {
2859 font-size: floor($font-size-base * 1.3);
2860 color: $brand-primary;
2861 }
2862 }
2863 }
2864
2865 &.selected {
2866 .os-day-box {
2867 background-color: $brand-primary !important;
2868 color: #fff;
2869
2870 .os-day-number {
2871 font-size: floor($font-size-base * 1.3);
2872 color: #fff;
2873 }
2874
2875 .os-day-status {
2876 display: none;
2877 }
2878 }
2879 }
2880 }
2881 }
2882 }
2883
2884 .daily-calendar-stats-row {
2885 display: flex;
2886
2887 &:first-child {
2888 border-bottom: 1px solid rgba(0, 0, 0, 0.1);
2889 }
2890
2891 .os-info-tile.tile-centered {
2892 flex: 0 0 50%;
2893 margin: 0px;
2894 padding: 35px 15px;
2895
2896 & + .os-info-tile {
2897 border-left: 1px solid rgba(0, 0, 0, 0.1);
2898 }
2899 }
2900 }
2901
2902 .monthly-calendar-headers {
2903 display: flex;
2904 justify-content: space-between;
2905 padding-bottom: 10px;
2906
2907 .os-form-group.os-form-group-transparent {
2908 margin-bottom: 0px;
2909 }
2910
2911 .os-form-group + .os-form-group {
2912 margin-left: 5px;
2913 }
2914
2915 .monthly-calendar-date-selectors {
2916 display: flex;
2917 }
2918
2919 .monthly-calendar-request-selectors {
2920 display: flex;
2921 align-items: center;
2922
2923 .availability-label {
2924 font-weight: $body-font-weight-bold;
2925 color: $color-faded;
2926 margin-right: 5px;
2927 }
2928 }
2929 }
2930
2931
2932 .cc-availability-toggler {
2933 .os-form-group.os-form-toggler-group {
2934 margin-bottom: 0px;
2935 }
2936
2937
2938 .os-form-group.os-form-toggler-group label {
2939 padding: 7px 10px 7px 0px;
2940 }
2941 }
2942
2943 .calendar-self-w {
2944 .no-results-w {
2945 h2 {
2946 max-width: 500px;
2947 margin: 0px auto;
2948 margin-bottom: 20px;
2949 line-height: 1.4;
2950 }
2951 }
2952 }
2953
2954 // LIST VIEW
2955
2956 .list-upcoming-bookings-w {
2957 .upcoming-bookings-year {
2958 font-size: 80px;
2959 line-height: 82px;
2960 color: rgba(51, 76, 156, 0.07);
2961 font-weight: $body-font-weight-bold;
2962 margin-bottom: -60px;
2963 margin-top: 30px;
2964
2965 &:first-child {
2966 margin-top: -30px;
2967 }
2968 }
2969
2970 .upcoming-bookings-month {
2971 font-weight: $body-font-weight-bold;
2972 color: $brand-primary;
2973 font-size: floor($font-size-base * 2);
2974 margin-bottom: 10px;
2975 margin-top: 20px;
2976 }
2977
2978 .no-upcoming-bookings {
2979 padding: 20px;
2980 color: $color-faded;
2981 font-size: $font-size-base;
2982 margin-bottom: 10px;
2983 background-color: #f7f8fb;
2984 border-radius: 8px;
2985
2986 &:first-child {
2987 margin-top: 20px;
2988 }
2989 }
2990
2991 .upcoming-booking {
2992 margin-top: -1px;
2993 position: relative;
2994 cursor: pointer;
2995 transition: all 0.1s ease;
2996 z-index: 1;
2997 background-color: #fff;
2998 border: 1px solid #ddd;
2999 border-bottom-color: #ccc;
3000 border-radius: $border-radius;
3001
3002 &.is-new-day {
3003 margin-top: 20px;
3004
3005 &:first-child {
3006 margin-top: 0;
3007 }
3008 }
3009
3010 & + .upcoming-booking:not(.is-new-day) {
3011 }
3012
3013 &:hover {
3014 border-color: $brand-primary;
3015 box-shadow: inset 0 0 0 1px $brand-primary;
3016 z-index: 2;
3017
3018 .booking-color-elem {
3019 display: none;
3020 }
3021
3022 .booking-link {
3023 }
3024
3025 .booking-fancy-date .fancy-day {
3026 }
3027 }
3028
3029 .booking-main-info-i {
3030 display: flex;
3031 align-items: center;
3032 padding: 20px 20px;
3033 border-left: 1px solid $border-color-main;
3034 }
3035
3036 .booking-main-info {
3037 display: flex;
3038 align-items: center;
3039 padding: 1px;
3040 }
3041
3042 .booking-service-name {
3043 font-weight: $body-font-weight-bold;
3044 font-size: floor($font-size-base * 1.1);
3045 margin-bottom: 7px;
3046 }
3047
3048 .booking-link {
3049 opacity: 0;
3050 position: absolute;
3051 top: 50%;
3052 transform: translate3d(0px, -50%, 0);
3053 right: 20px;
3054 font-size: 16px;
3055 color: $brand-primary;
3056 transition: all 0.2s ease;
3057 }
3058
3059 .booking-fancy-date {
3060 padding: 15px;
3061 text-align: center;
3062 flex: 0 0 80px;
3063 position: relative;
3064
3065 .fancy-day {
3066 font-size: 32px;
3067 color: $headings-color;
3068 z-index: 2;
3069 position: relative;
3070 }
3071
3072 .fancy-month {
3073 color: $color-faded;
3074 fonts-size: 18px;
3075 z-index: 2;
3076 position: relative;
3077 }
3078 }
3079
3080 .booking-date-i {
3081 display: flex;
3082 align-items: center;
3083 gap: 3px;
3084
3085 .booking-date {
3086 .latepoint-icon {
3087 font-size: 13px;
3088 color: $brand-primary;
3089 margin-right: 5px;
3090 }
3091 }
3092
3093 .booking-time {
3094 color: $brand-primary;
3095 }
3096
3097 .booking-time-left {
3098 .time-left {
3099 font-weight: $body-font-weight-bold;
3100 }
3101 }
3102
3103 .booking-location, .booking-attendees {
3104 border-left: 1px solid $border-color-main;
3105 padding-left: 10px;
3106 margin-left: 10px;
3107
3108 .latepoint-icon {
3109 font-size: 13px;
3110 color: $brand-primary;
3111 margin-right: 5px;
3112 }
3113 }
3114
3115 .booking-attendees {
3116 display: flex;
3117 align-items: center;
3118
3119 .booked-count-label {
3120 }
3121
3122 .booked-percentage {
3123 background-color: #E6E6E6;
3124 border-radius: 2px;
3125 width: 70px;
3126 margin-left: 10px;
3127
3128 .booked-bar {
3129 border-radius: 8px;
3130 background-color: $brand-primary;
3131 height: 5px;
3132 }
3133 }
3134 }
3135
3136 .booking-attendee {
3137 display: flex;
3138 align-items: center;
3139 gap: 5px;
3140
3141 .avatar-w {
3142 width: 20px;
3143 height: 20px;
3144 margin: 0px;
3145 }
3146 }
3147
3148 }
3149
3150 .booking-color-elem {
3151 right: 5px;
3152 top: 5px;
3153 bottom: 5px;
3154 width: 4px;
3155 border-radius: 2px;
3156 position: absolute;
3157 transition: width 0.1s ease;
3158 z-index: 2;
3159 }
3160
3161 .avatar-w {
3162 width: 50px;
3163 height: 50px;
3164 background-size: cover;
3165 border-radius: 50%;
3166 margin-right: 15px;
3167
3168 .agent-info-tooltip {
3169 display: none;
3170
3171 }
3172 }
3173 }
3174 }
3175
3176 .mobile-calendar-actions-trigger {
3177 display: none;
3178 }
3179
3180 .weekly-calendar-agents-list {
3181 display: flex;
3182 align-items: center;
3183 overflow-x: auto;
3184 $tab-border-radius: $border-radius;
3185 margin-bottom: 15px;
3186 gap: 20px;
3187 box-shadow: inset 0 -1px 0 0 $border-color-lightest;
3188 padding-top: 20px;
3189 font-size: $body-font-size-m;
3190
3191 .wc-label {
3192 color: $color-faded;
3193 font-weight: $body-font-weight-bold;
3194 }
3195
3196 .weekly-calendar-agent-selector {
3197 position: relative;
3198 padding-bottom: 10px;
3199 display: flex;
3200 gap: 7px;
3201 align-items: center;
3202 cursor: pointer;
3203 flex: 0;
3204
3205 .agent-avatar {
3206 width: 30px;
3207 height: 30px;
3208 -webkit-background-size: cover;
3209 background-size: cover;
3210 background-repeat: no-repeat;
3211 background-position: center center;
3212 border-radius: 50%;
3213 display: none;
3214 }
3215
3216 .agent-name {
3217 font-weight: $body-font-weight-bold;
3218 white-space: nowrap;
3219 color: $color-faded;
3220 }
3221
3222 &.selected {
3223 &:after {
3224 content: "";
3225 height: 4px;
3226 border-radius: 4px;
3227 background-color: $headings-color;
3228 position: absolute;
3229 bottom: 0px;
3230 left: 0;
3231 right: 0;
3232 background-image: linear-gradient(45deg, #702fdb, #ffc390)
3233 }
3234
3235
3236 .agent-name {
3237 color: $headings-color;
3238 }
3239 }
3240 &:hover {
3241 .agent-name {
3242 color: $headings-color;
3243 }
3244 }
3245 }
3246 }
3247
3248 .quick-calendar-actions-buttons {
3249 display: flex;
3250 gap: 10px;
3251 }
3252
3253 .quick-calendar-action-toggler {
3254 display: flex;
3255 gap: 15px;
3256 margin-bottom: 20px;
3257
3258 .quick-calendar-action-toggle {
3259 padding: 8px 5px;
3260 border: 1px solid $border-color-strong;
3261 color: $color-faded;
3262 border-radius: $border-radius;
3263 flex: 1;
3264 text-align: center;
3265 cursor: pointer;
3266
3267 &.selected {
3268 color: $headings-color;
3269 border-color: $brand-primary;
3270 box-shadow: 0 0 0 1px $brand-primary;
3271 }
3272
3273 &:hover:not(.selected) {
3274 border-color: #111;
3275 }
3276 }
3277 }
3278
3279 .quick-calendar-actions-wrapper.showing-settings {
3280 .quick-calendar-actions {
3281 display: none;
3282 }
3283
3284 .quick-calendar-action-settings {
3285 display: block;
3286 }
3287 }
3288
3289 .quick-calendar-action-settings {
3290 display: none;
3291
3292 .ws-period {
3293 animation: none;
3294 }
3295
3296 &.setting-day-off {
3297 .slot-off-reason {
3298 display: none;
3299 }
3300
3301 .quick-calendar-action-settings-slot-off-title {
3302 display: none;
3303 }
3304
3305 .ws-period {
3306 display: none;
3307 }
3308 }
3309
3310 &.setting-slot-off {
3311 .quick-calendar-action-settings-day-off-title {
3312 display: none;
3313 }
3314 }
3315 }
3316
3317 .os-form-group.os-form-group-transparent {
3318 margin-bottom: 15px;
3319 }
3320
3321 .latepoint-message {
3322 font-size: $body-font-size-s;
3323 line-height: 1.4;
3324 }
3325
3326
3327 .quick-calendar-actions {
3328 .quick-calendar-action {
3329 padding: 15px;
3330 border-radius: $border-radius;
3331 font-size: $body-font-size-m;
3332 display: flex;
3333 gap: 15px;
3334 align-items: center;
3335 position: relative;
3336 color: $headings-color;
3337 border: 1px solid $border-color-main;
3338 border-bottom-color: darken($border-color-main, 10%);
3339 cursor: pointer;
3340
3341 &:hover {
3342 border-color: $brand-primary;
3343 box-shadow: 0 0 0 1px $brand-primary;
3344
3345 &:before {
3346 background-color: #eef5ff;
3347 }
3348
3349 &.quick-calendar-action-day-off {
3350 &:before {
3351 background-color: #ffe1e1;
3352 }
3353 }
3354
3355 i {
3356 color: $brand-primary;
3357 text-shadow: 2px -2px 0px #fff;
3358 transform: scale(1.1);
3359 }
3360
3361 span {
3362 transform: translateX(5px);
3363 }
3364 }
3365
3366 i {
3367 position: relative;
3368 font-size: 18px;
3369 color: $brand-primary;
3370
3371 &.latepoint-icon-cancel {
3372 color: #ea6161;
3373 }
3374 }
3375
3376 span {
3377 }
3378
3379 i, span {
3380 transition: transform 0.15s ease;
3381 display: block;
3382 }
3383
3384 &:before {
3385 content: "";
3386 width: 30px;
3387 height: 30px;
3388 position: absolute;
3389 left: 9px;
3390 top: 10px;
3391 border-radius: 50%;
3392 }
3393
3394 & + .quick-calendar-action {
3395 margin-top: 15px;
3396 }
3397 }
3398 }
3399
3400
3401 .day-action-trigger {
3402 display: none;
3403 width: 26px;
3404 height: 26px;
3405 position: absolute;
3406 top: 0px;
3407 left: 50%;
3408 transform: translate(-50%, -50%);
3409 background-color: #fff;
3410 border-radius: 50%;
3411 text-decoration: none;
3412 border: 1px solid $border-color-main;
3413 color: $headings-color;
3414
3415 &.os-loading {
3416 color: transparent;
3417 i {
3418 color: transparent;
3419 }
3420 &:after {
3421 display: none;
3422 }
3423
3424 &:before {
3425 width: auto;
3426 height: auto;
3427 @include loading-circle($headings-color, 12px);
3428 }
3429 }
3430
3431 i {
3432 color: $headings-color;
3433 line-height: 24px;
3434 text-decoration: none;
3435 text-align: center;
3436 display: block;
3437 font-size: 16px;
3438 }
3439
3440 &:hover {
3441 border-color: $headings-color;
3442
3443 &:before, &:after {
3444 background-color: #fff;
3445 }
3446 }
3447 }
3448
3449
3450 .ch-day-blocked-period {
3451 background-image: repeating-linear-gradient(-37deg, #ffadad 0px, #ffadad 1px, transparent 1px, transparent 4px);
3452 color: #fff;
3453 position: absolute;
3454 left: 0px;
3455 right: 0px;
3456 text-align: left;
3457 z-index: 3;
3458 cursor: pointer;
3459
3460 &.os-loading {
3461 &:before {
3462 @include loading-circle(#fff, 12px);
3463 left: auto;
3464 right: 0px;
3465 top: 10px;
3466 }
3467 }
3468
3469 .ch-day-blocked-period-i {
3470 visibility: hidden;
3471 background-color: #d54b3f;
3472 padding: 3px 6px;
3473 border-radius: $border-radius;
3474 }
3475
3476 .blocked-period-summary {
3477 color: #fff;
3478 }
3479
3480 .blocked-period-time {
3481 color: rgba(255, 255, 255, 0.8);
3482 }
3483
3484 &:hover {
3485 background-image: repeating-linear-gradient(-37deg, #ff8282 0px, #ff8282 1px, transparent 1px, transparent 4px);
3486 border-radius: $border-radius;
3487 box-shadow: 0 0 0 5px rgba(255, 130, 130, 0.2);
3488
3489 .ch-day-blocked-period-i {
3490 visibility: visible;
3491 }
3492 }
3493 }
3494
3495 .quick-calendar-locked-feature {
3496 text-align: center;
3497 padding: 25px;
3498 background: #fffce8;
3499 border-radius: 12px;
3500
3501 h3 {
3502 margin-bottom: 10px;
3503 }
3504
3505 div {
3506 margin-bottom: 20px;
3507 color: $color-faded;
3508 }
3509 }