PluginProbe ʕ •ᴥ•ʔ
Appointment Booking Plugin – LatePoint | Calendar & Scheduling for WordPress / 5.2.1
Appointment Booking Plugin – LatePoint | Calendar & Scheduling for WordPress v5.2.1
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 / _widgets.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 1 year 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 1 year ago _daterangepicker.scss 9 months ago _elements.scss 9 months 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 9 months ago _quick_availability.scss 9 months ago _reminders.scss 1 year ago _responsive.scss 9 months ago _roles.scss 1 year ago _schedule.scss 9 months ago _services.scss 9 months ago _settings.scss 9 months 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 1 year ago
_widgets.scss
2198 lines
1 .os-widget {
2 margin-bottom: $content-padding;
3 position: relative;
4 background-color: #fff;
5 border-radius: $border-radius-lg;
6 @include white-box();
7
8 &.os-loading {
9 &:after {
10 @include loading-circle($brand-primary);
11 }
12 animation:animate_appointment_small_box 0.8s ease infinite;
13 }
14 &.os-widget-transparent {
15 background-color: transparent;
16 border: none;
17 padding: 0px;
18 box-shadow: none;
19 .os-widget-header {
20 padding: 9px 10px 10px 37px;
21 border: none;
22 &:before {
23 display: none;
24 }
25 }
26 .os-widget-content {
27 padding: 0px;
28 }
29 }
30
31 .os-widget-header {
32 font-size: floor($font-size-base * 1.2);
33 border-bottom: 1px solid $border-color-lightest;
34 color: $headings-color;
35 margin-top: 0px;
36 line-height: 1.2;
37 padding: $widget-padding $widget-padding calc($widget-padding/2) $widget-padding;
38 position: relative;
39 &:before {
40 content: "";
41 z-index: -1;
42 width: 60px;
43 height: 60px;
44 position: absolute;
45 top: 5px;
46 right: 5px;
47 border-radius: 0 30px 0 50px;
48 background-image: radial-gradient(#d6d6d6 1px, transparent 0);
49 background-size: 12px 12px;
50 background-position: top right;
51 }
52 &.centered {
53 text-align: center;
54 }
55 h3 {
56 font-size: floor($headings-font-size * 0.95);
57 padding: 0;
58 margin: 0px;
59 line-height: 1;
60 color: $headings-color;
61 }
62 &.with-actions {
63 .os-widget-header-text {
64 position: relative;
65 padding: 0px;
66 margin-bottom: 15px;
67 vertical-align: middle;
68 }
69 .os-widget-header-actions-trigger {
70 display: none;
71 font-size: 20px;
72 }
73 .os-widget-header-actions {
74 margin-left: auto;
75 text-align: right;
76 display: flex;
77 gap: 8px;
78 align-items: center;
79 select, .os-date-range-picker {
80 display: block;
81 white-space: nowrap;
82 line-height: 1.2;
83 &:last-child {
84 margin-right: 0px;
85 }
86 }
87 .os-date-range-picker {
88 cursor: pointer;
89 border-radius: $border-radius;
90 background-color: #fff;
91 border: 1px solid $border-color-strong;
92 box-shadow: none;
93 min-height: 26px;
94 font-size: floor($font-size-base * 0.95);
95 padding: 8px 6px 8px 12px;
96 display: flex;
97 gap: 5px;
98 align-items: center;
99 vertical-align: middle;
100 line-height: 1.2;
101 i,span {
102 display: inline-block;
103 vertical-align: middle;
104 }
105 i {
106 font-size: 12px;
107 }
108 span {
109 color: $body-color;
110 }
111
112
113 &:hover {
114 background-color: #fff;
115 }
116
117 }
118 }
119 select {
120 max-width: 130px;
121 min-height: 26px;
122 color: $body-color;
123 background-color: #fff;
124 border: 1px solid $border-color-strong;
125 box-shadow: none;
126 border-radius: $border-radius;
127 font-size: floor($font-size-base * 0.95);
128 padding: 8px 18px 8px 12px;
129 }
130 }
131 &:before {
132 // $size: 4px;
133 // content: "";
134 // width: $size;
135 // height: $size;
136 // background-color: rgba($brand-primary, 1);
137 // box-shadow: ($size * 2) ($size * 2) 0px rgba($brand-primary, 0.6),
138 // 0px ($size * 2) 0px rgba($brand-primary, 0.6),
139 // 0px ($size * 4) 0px rgba($brand-primary, 0.3),
140 // ($size * 2) ($size * 6) 0px rgba($brand-primary, 0.7),
141 // ($size * 2) ($size * 4) 0px rgba($brand-primary, 0.4);
142 // position: absolute;
143 // top: 11px;
144 // left: 12px;
145 }
146 }
147
148 .os-widget-content {
149 padding: calc($widget-padding/2) $widget-padding $widget-padding $widget-padding;
150 &.no-padding {
151 padding: 0;
152 }
153 }
154
155 &.os-widget-boxed {
156 background-color: #fff;
157 box-shadow: $box-shadow;
158 padding: 15px;
159 border-radius: $border-radius-xs;
160 .os-widget-header {
161 padding-top: 0px;
162 border-bottom: none;
163 }
164 }
165 }
166
167
168 .agent-stats-box {
169 display: flex;
170 align-items: center;
171 text-decoration: none;
172 color: $body-color;
173 transition: all 0.2s ease;
174 &:hover {
175 .agent-stats .agent-stats-chart .ac-progress-value {
176 }
177 }
178 & + .agent-stats-box {
179 }
180 .agent-info {
181 text-align: center;
182 text-decoration: none;
183 color: $headings-color;
184 flex: 0;
185 padding: 20px;
186 padding-left: 0px;
187 margin: auto;
188 position: relative;
189 &:hover {
190 .agent-name {
191 display: block;
192 }
193 .avatar-w {
194 }
195 }
196 .avatar-w {
197 @include avatar(45px);
198 margin: 0px auto;
199 }
200 .agent-name {
201 @include tooltip();
202 }
203 }
204 .agent-stats {
205 flex: 1;
206 .agent-stats-values {
207 display: flex;
208 align-items: flex-start;
209 }
210 .agent-stats-value {
211 flex: 0;
212 padding: 10px 20px 0px 0px;
213 color: $color-faded;
214 font-size: floor($font-size-base * 0.9);
215 strong {
216 font-size: floor($font-size-base * 1.3);
217 color: $headings-color;
218 }
219 & + .agent-stats-value {
220 }
221 }
222 .agent-stats-chart {
223 padding: 0px;
224 .agent-chart-progress {
225 display: flex;
226 }
227 .ac-progress-value {
228 cursor: pointer;
229 padding: 10px 0px;
230 position: relative;
231 .ac-progress-value-line {
232 height: 2px;
233 }
234 .progress-label-w {
235 @include tooltip();
236 bottom: auto;
237 top: -100%;
238 .progress-label {
239 color: rgba(255,255,255,0.7);
240 font-size: floor($font-size-base * 0.8);
241 white-space: nowrap;
242 margin-top: 5px;
243 }
244 .progress-value {
245 font-weight: $body-font-weight-bold;
246 white-space: nowrap;
247 color: #fff;
248 span {
249 }
250 strong {
251 }
252 }
253 }
254 &:hover {
255 .progress-label-w {
256 transform: translate(-50%, -105%);
257 display: block;
258 }
259 .ac-progress-value-line {
260 transform: scaleY(2);
261 border-radius: 0px;
262 }
263 }
264 }
265 }
266 }
267 .agent-sub-info {
268 transition: transform 0.2s ease;
269 .label {
270 color: $color-faded;
271 }
272 .value {
273 font-weight: $body-font-weight-bold;
274 color: $brand-primary;
275 }
276 }
277 }
278
279 .appointment-box-large {
280 @include white-box();
281 border-radius: 0px $border-radius-xs $border-radius-xs 0px;
282 border-left: none;
283 display: flex;
284 align-items: center;
285 position: relative;
286 cursor: pointer;
287 transition: all 0.2s ease;
288
289 &.status-pending,
290 &.status-payment_pending {
291 .appointment-status-selector {
292 background-color: #FFF2DA;
293 }
294 .appointment-box-actions {
295 opacity: 1;
296 }
297 .aba-approve{
298 }
299 .aba-reject {
300 color: #D04C4C;
301 span {
302 border-bottom-color: #D04C4C;
303 }
304 &:hover {
305 transform: scale(1.1);
306 box-shadow: inset 0px 0px 0px 2px #D04C4C;
307 }
308 }
309 }
310 &.status-approved {
311 .appointment-status-selector {
312 background-color: #d4fbd7;
313 }
314 }
315 &.status-cancelled {
316 .appointment-status-selector {
317 background-color: #ffe3e3;
318 }
319 }
320
321 & + .appointment-box-large {
322 margin-top: 30px;
323 }
324 .edit-appointment-btn {
325 position: absolute;
326 top: 10px;
327 right: 10px;
328 font-size: 14px;
329 color: $brand-primary;
330 cursor: pointer;
331 }
332 .appointment-box-actions {
333 border-left: 1px solid rgba(0,0,0,0.05);
334 flex: 0;
335 opacity: 0.3;
336 .aba-button-w {
337 padding: 25px;
338 font-size: floor($font-size-base * 1.2);
339 font-weight: $body-font-weight-bold;
340 color: $brand-primary;
341 white-space: nowrap;
342 transition: transform 0.1s ease;
343 display: flex;
344 span, i {
345 display: block;
346 }
347 span {
348 margin-left: 10px;
349 border-bottom: 1px dotted $brand-primary;
350 }
351 & + .aba-button-w {
352 border-top: 1px solid rgba(0,0,0,0.05);
353 }
354 }
355 .aba-approve,
356 .aba-reject {
357 }
358 .aba-approve{
359 }
360 .aba-reject {
361 color: #D04C4C;
362 span {
363 border-bottom-color: #D04C4C;
364 }
365 }
366 }
367 .appointment-info {
368 padding: 25px;
369 flex: 1;
370 border-right: 1px solid rgba(0,0,0,0.05);
371 .appointment-color-elem {
372 position: absolute;
373 top: -1px;
374 left: 0px;
375 bottom: -1px;
376 width: 2px;
377 }
378 .appointment-service-name {
379 font-weight: $body-font-weight-bold;
380 font-size: floor($font-size-base * 1.5);
381 margin-bottom: 15px;
382 }
383 .appointment-time {
384 color: $color-faded;
385 white-space: nowrap;
386 .at-date {
387 font-weight: $body-font-weight-bold;
388 color: $brand-primary;
389 font-size: floor($font-size-base * 1.2);
390 margin-bottom: 3px;
391 }
392 .at-time {
393 margin-bottom: 10px;
394 }
395 }
396 .os-form-group {
397 margin-bottom: 0px;
398 }
399 }
400 .appointment-status-selector {
401 padding: 10px 10px 10px 25px;
402 margin: 0px -25px;
403 margin-bottom: -25px;
404 .os-form-group {
405 display: flex;
406 align-items: center;
407 label {
408 margin-right: 5px;
409 color: $body-color;
410 }
411 }
412 }
413 .account-info-w {
414 padding: 25px;
415 flex: 1;
416 align-items: center;
417
418 .account-info-head {
419 display: flex;
420 margin-bottom: 15px;
421 }
422 .avatar-w {
423 width: 40px;
424 height: 40px;
425 flex: 0 0 40px;
426 border-radius: 50%;
427 background-size: cover;
428 background-position: center center;
429 margin-right: 15px;
430 box-shadow: 0px 0px 0px 5px rgba(255,255,255,0.4);
431 }
432 .account-info {
433
434 }
435 .account-info-label {
436 color: $color-faded;
437 }
438 .account-name {
439 font-weight: $body-font-weight-bold;
440 font-size: floor($font-size-base * 1.2);
441 color: $brand-primary;
442 margin-top: 2px;
443 }
444 .account-property {
445 margin-bottom: 5px;
446 white-space: nowrap;
447 display: flex;
448 .label {
449 color: $color-faded;
450 flex: 0 0 50px;
451 margin-right: 5px;
452 }
453 .value {
454 flex: 1;
455 font-weight: $body-font-weight-bold;
456 }
457 }
458 }
459
460 .account-info-w + .account-info-w {
461 border-left: 1px solid rgba(0,0,0,0.05);
462 }
463
464 &:hover {
465 }
466 &.os-loading {
467 &:after {
468 @include loading-circle($brand-primary);
469 left: 16px;
470 top: 14px;
471 transform: none;
472 }
473 }
474 }
475
476
477 .appointment-box-small {
478 background: #FFFFFF;
479 display: flex;
480 align-items: center;
481 position: relative;
482 cursor: pointer;
483 transition: all 0.2s ease;
484 .edit-appointment-btn {
485 position: absolute;
486 top: 10px;
487 right: 10px;
488 font-size: 14px;
489 color: $brand-primary;
490 cursor: pointer;
491 }
492
493 .appointment-capacity-info {
494 padding: 12px 20px 15px 20px;
495 border-top: 1px solid rgba(0,0,0,0.05);
496 .appointment-capacity-info-label {
497 display: flex;
498 justify-content: space-between;
499 align-items: center;
500 margin-bottom: 4px;
501 span, strong {
502 display: block;
503 }
504 span {
505 color: $color-faded;
506 }
507 strong {
508 color: $headings-color;
509 }
510 }
511 }
512 .appointment-capacity-progress-w {
513 background-color: rgba($brand-primary, 0.1);
514 .appointment-capacity-progress {
515 height: 10px;
516 background-color: $brand-primary;
517 border-radius: $border-radius;
518 }
519 }
520 .appointment-info {
521 padding: 10px 25px;
522 flex: 1;
523 position: relative;
524 .appointment-color-elem {
525 position: absolute;
526 top: 0px;
527 left: 0px;
528 bottom: 0px;
529 width: 2px;
530 }
531 .appointment-service-name {
532 font-weight: $body-font-weight-bold;
533 font-size: floor($font-size-base * 1.2);
534 margin-bottom: 5px;
535 }
536 .appointment-time {
537 white-space: nowrap;
538 font-size: floor($font-size-base * 0.9);
539 .at-date {
540 color: $color-faded;
541 margin-bottom: 1px;
542 }
543 .at-time {
544 font-weight: $body-font-weight-bold;
545 }
546 }
547 }
548 .agent-info-w {
549 padding: 18px 10px 18px 15px;
550 display: flex;
551 flex: 0 0 33%;
552 align-items: center;
553 border-left: 1px solid rgba(0,0,0,0.05);
554
555 .avatar-w {
556 width: 50px;
557 height: 50px;
558 flex: 0 0 50px;
559 border-radius: 50%;
560 background-size: cover;
561 background-position: center center;
562 margin-right: 15px;
563 box-shadow: 0px 0px 0px 5px rgba(255,255,255,0.4);
564 }
565 .agent-info {
566
567 }
568 .agent-name {
569 font-weight: $body-font-weight-bold;
570 font-size: floor($font-size-base * 1);
571 color: $brand-primary;
572 margin-bottom: 3px;
573 }
574 .agent-property {
575 margin-bottom: 2px;
576 white-space: nowrap;
577 .label {
578 color: $color-faded;
579 }
580 .value {
581 font-weight: $body-font-weight-bold;
582 }
583 }
584 }
585 .customer-info-w {
586 padding: 18px 15px 18px 15px;
587 display: flex;
588 flex: 0 0 55%;
589 align-items: center;
590 overflow: hidden;
591 border-left: 1px solid rgba(0,0,0,0.05);
592
593 .avatar-w {
594 width: 50px;
595 height: 50px;
596 flex: 0 0 50px;
597 border-radius: 50%;
598 background-size: cover;
599 background-position: center center;
600 margin-right: 15px;
601 box-shadow: 0px 0px 0px 5px rgba(255,255,255,0.4);
602 }
603 .customer-info {
604
605 }
606 .customer-name {
607 font-weight: $body-font-weight-bold;
608 font-size: floor($font-size-base * 1);
609 color: $brand-primary;
610 margin-bottom: 3px;
611 }
612 .customer-property {
613 margin-bottom: 2px;
614 white-space: nowrap;
615 .label {
616 color: $color-faded;
617 }
618 .value {
619 font-weight: $body-font-weight-bold;
620 }
621 }
622 }
623
624 .agent-info-w + .customer-info-w {
625 flex: 0 0 33%;
626 }
627
628 &:hover {
629 }
630 &.os-loading {
631 &:after {
632 @include loading-circle($brand-primary);
633 left: -10px;
634 }
635 animation:animate_appointment_small_box 0.8s ease infinite;
636 }
637 }
638
639
640 .os-widget-daily-bookings {
641 }
642 .os-widget-daily-bookings, .os-widget-top-agents {
643 .no-results-w {
644 border: none;
645 border-radius: 6px;
646 &:first-child,
647 &:nth-child(2) {
648 display: block;
649 }
650 }
651 }
652
653
654 .os-dashboard-row {
655 .os-dashboard-column.os-upcoming {
656 flex: 0;
657 margin-left: 0px;
658 .os-widget {
659 }
660 .os-widget .os-widget-header {
661 padding-left: $content-padding;
662 }
663 .os-widget .os-widget-content {
664 padding-left: $content-padding;
665 }
666 }
667 }
668 .os-widget-upcoming-appointments {
669 .no-results-w {
670 padding: 20px 0px;
671 .icon-w {
672 margin-bottom: 15px;
673 }
674 .count-label {
675 color: $color-faded;
676 font-size: $font-size-base;
677 margin-bottom: 5px;
678 }
679 .count-number {
680 font-size: 38px;
681 font-weight: $body-font-weight-bold;
682 margin-bottom: 5px;
683 color: $body-color;
684 line-height: 1;
685 }
686 .latepoint-btn-link {
687 span {
688 border-bottom: 1px solid $brand-primary;
689 }
690 }
691 }
692 .appointment-box-small {
693 padding: 0px 0px 15px 0px;
694 margin-bottom: 15px;
695 border-bottom: 1px solid $border-color-sub;
696 .customer-info-w {
697 padding: 0px 15px;
698 }
699 .appointment-info {
700 padding: 0px 20px;
701 }
702 .appointment-color-elem {
703 top: 7px;
704 bottom: auto;
705 left: 0px;
706 width: 6px;
707 height: 6px;
708 }
709 &:last-child {
710 border-bottom: none;
711 padding-bottom: 0px;
712 margin-bottom: 0px;
713 }
714
715 &.os-loading {
716 &:after {
717 @include loading-circle($brand-primary, 20px);
718 left: 3px;
719 top: 10px;
720 }
721 animation:animate_appointment_small_box 0.8s ease infinite;
722 .appointment-color-elem {
723 border-radius: 10px;
724 }
725 }
726 }
727 .no-results-w:nth-child(8) {
728 display: none;
729 }
730 }
731
732 .os-widget-agents-bookings-timeline {
733 .appointment-box-small {
734 display: block;
735 box-shadow: 0 20px 40px 0 rgba(108, 120, 143, 0.15), 0 1px 2px 0 rgba(206, 211, 222, 0.7);
736
737 .appointment-info {
738 flex: 1;
739 padding: 10px 15px;
740 }
741
742 .customer-info-w {
743 flex: 1;
744 padding: 10px 15px;
745 border-top: 1px solid rgba(0,0,0,0.05);
746 border-left: none;
747 .customer-name {
748 font-size: floor($font-size-base * 1);
749 }
750 }
751 }
752 }
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779 .services-availability-list {
780
781 .service-availability {
782 border-bottom: 1px solid rgba(0,0,0,0.05);
783 padding: 15px 0px;
784 display: flex;
785 align-items: center;
786 }
787 .service-color {
788 height: 8px;
789 width: 8px;
790 margin-right: 15px;
791 }
792 .service-name {
793 font-size: $font-size-base * 1.2;
794 font-weight: $body-font-weight-bold;
795 }
796 .service-available-slots {
797 margin-left: auto;
798 color: $brand-primary;
799 font-size: $font-size-base * 1.6;
800 font-weight: $body-font-weight-bold;
801 }
802 }
803
804
805
806
807
808
809
810 .daily-bookings-chart-w {
811 height: 204px;
812 padding: 0 $widget-padding calc($widget-padding/2) $widget-padding;
813 }
814
815
816
817
818
819
820
821
822
823
824
825
826
827 .agents-day-availability-timeslots {
828 padding-bottom: 15px;
829 }
830 .agent-day-availability-w {
831 position: relative;
832 display: flex;
833 align-items: center;
834 padding: 20px 0px;
835 z-index: 2;
836 &:hover {
837 }
838
839 .agent-avatar-w {
840 width: 35px;
841 flex: 0 0 35px;
842 margin-right: 15px;
843 height: 35px;
844 border-radius: 50%;
845 background-size: cover;
846 background-position: center center;
847 position: relative;
848 display: block;
849 text-decoration: none;
850 &:hover {
851 }
852 &.with-hover-name {
853 span {
854 display: none;
855 position: absolute;
856 bottom: 100%;
857 left: 50%;
858 background-color: #111;
859 color: #fff;
860 font-size: floor($font-size-base * 1);
861 font-weight: $body-font-weight-bold;
862 padding: 10px 15px;
863 z-index: 9999;
864 transform: translate(-50%, -5px);
865 white-space: nowrap;
866 border-radius: $tooltip-border-radius;
867 }
868 &:hover {
869 span {
870 display: block;
871 }
872 }
873 }
874 }
875 .agent-timeslots {
876 display: flex;
877 justify-content: space-between;
878 flex: 1;
879 position: relative;
880 }
881
882 .agent-timeslot {
883 height: 10px;
884 flex-grow: 1;
885 margin: 0px;
886 border-left: 1px solid #fff;
887 position: relative;
888 cursor: pointer;
889 background-color:#91e79e;
890 background-color: #1041ff;
891 background-color:$brand-primary;
892
893 .agent-timeslot-success-label {
894 color: rgba(255,255,255,0.8);
895 }
896 .agent-timeslot-label {
897 display: none;
898 padding: 8px 12px;
899 line-height: 1;
900 background-color: #111;
901 color: #fff;
902 font-size: floor($font-size-base * 0.9);
903 font-weight: $body-font-weight-bold;
904 position: absolute;
905 white-space: nowrap;
906 transition: all 0.4s ease;
907 z-index: 9999;
908 border: 1px solid #000;
909 border-radius: $tooltip-border-radius;
910 left: 50%;
911 top: -5px;
912 transform: translate3d(-50%, -100%, 0);
913 box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.33), 0px 2px 6px rgba(0,0,0,0.1);
914 .at-main-value {
915 color: #fff;
916 font-size: $body-font-size-m;
917 }
918 .at-sub-value {
919 font-size: $body-font-size-xs;
920 color: rgba(255,255,255,0.5);
921 margin-bottom: 3px;
922 }
923 }
924 &.os-loading {
925 position: relative;
926 &:after {
927 display: block;
928 content: "";
929 width: 14px;
930 height: 14px;
931 border-bottom: 2px solid #fff;
932 border-left: 2px solid #fff;
933 border-top: 2px solid #fff;
934 border-right: 2px solid rgba(255,255,255,0);
935 border-radius: 20px;
936 position: absolute;
937 top: 50%;
938 left: 50%;
939 transform: translate(-50%, -50%);
940 animation: os-loading 700ms infinite linear;
941 }
942 }
943 &.is-booked {
944 background-color: #ff6363;
945 background-color: #cbd7ff;
946 background-color: #dae2ff;
947 margin: 0px;
948 border-radius: 0px;
949 border-color: #fff;
950 + .agent-timeslot:not(.is-booked) {
951 }
952 &:before {
953 background-color: #f04739;
954 }
955 .agent-timeslot-label {
956 background-color: #f04739;
957 color: #fff;
958 border-color: #c51809!important;
959 }
960 &:hover {
961 background-color: #ffc4c4;
962 }
963 }
964 &.full-day-off {
965 }
966 &.is-off {
967 background-image: repeating-linear-gradient(90deg, rgba(1, 0, 10, 0.2) 0px, rgba(1, 0, 10, 0.2) 1px, transparent 1px, transparent 4px);
968 background-color: #fff;
969 margin: 0px;
970 border-radius: 0px;
971 + .agent-timeslot:not(.is-booked) {
972 }
973 &:before {
974 background-color: #E42806;
975 }
976 .agent-timeslot-label {
977 background-color: #f04739;
978 color: #fff;
979 border-color: #c51809!important;
980 }
981 &:hover {
982 background-color: #ffc4c4;
983 background-image: none;
984 }
985 }
986 &:hover {
987 background-color: #25c765;
988 &:before {
989 top: 0px;
990 }
991 .agent-timeslot-label {
992 display: block;
993 }
994 }
995 }
996 .agent-timeslot-tick {
997 display: none;
998 }
999 &:last-child {
1000 border-bottom: none;
1001 .agent-timeslot-tick {
1002 position: absolute;
1003 display: block;
1004 top: 25px;
1005 left: 53%;
1006 transform: translateX(-50%);
1007 font-size: floor($font-size-base * 0.6);
1008 text-align: center;
1009 color: rgba(0,0,0,0.4);
1010 text-transform: uppercase;
1011 line-height: 1.4;
1012 font-weight: $body-font-weight-bold;
1013 letter-spacing: 1px;
1014 strong {
1015 display: block;
1016 color: rgba(0,0,0,1);
1017 font-size: floor($font-size-base * 0.8);
1018 line-height: 1;
1019 }
1020 }
1021 .agent-timeslot.with-tick {
1022 &:after {
1023 display: block;
1024 content: "";
1025 position: absolute;
1026 width: 1px;
1027 left: 50%;
1028 height: 5px;
1029 bottom: -11px;
1030 background-color: rgba(0,0,0,0.2);
1031 }
1032 }
1033 }
1034 }
1035
1036
1037 .tall-slots-timeline {
1038 .agent-day-availability-w {
1039 .agent-avatar-w {
1040 display: none;
1041 }
1042 .agent-timeslot {
1043 height: 29px;
1044 }
1045 &:last-child .agent-timeslot-tick {
1046 top: 43px;
1047 }
1048 }
1049 }
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076 $avatar-size: 40px;
1077 $avatar-gap: 30px;
1078
1079 .agent-day-bookings-timeline-compact-w {
1080 position: relative;
1081 display: flex;
1082 .agents-avatars {
1083 flex: 0;
1084 margin-right: 20px;
1085 padding-top: 30px;
1086 .avatar-w {
1087 height: $avatar-size + $avatar-gap;
1088 padding: calc($avatar-gap/2) 0px;
1089 text-decoration: none;
1090 position: relative;
1091 .avatar-i {
1092 height: $avatar-size;
1093 display: block;
1094 width: $avatar-size;
1095 border-radius: 50%;
1096 background-size: cover;
1097 background-position: center center;
1098 span {
1099 display: none;
1100 position: absolute;
1101 bottom: 100%;
1102 left: 50%;
1103 background-color: #111;
1104 color: #fff;
1105 font-size: floor($font-size-base * 1);
1106 font-weight: $body-font-weight-bold;
1107 padding: 10px 15px;
1108 z-index: 9999;
1109 transform: translate(-50%, -5px);
1110 white-space: nowrap;
1111 border-radius: $tooltip-border-radius;
1112 }
1113 &:hover {
1114 span {
1115 display: block;
1116 }
1117 }
1118 }
1119 &:last-child {
1120 }
1121 &:hover {
1122 }
1123 }
1124 }
1125 .agents-timelines-w {
1126 flex: 1;
1127 position: relative;
1128 .current-time-indicator {
1129 width: 2px;
1130 background-color: #ff7c7c;
1131 position: absolute;
1132 top: 5px;
1133 bottom: 0px;
1134 z-index: 998;
1135 span {
1136 position: absolute;
1137 top: 0px;
1138 left: 50%;
1139 transform: translate(-50%, -100%);
1140 background-color: #fc6262;
1141 padding: 3px 5px;
1142 border-radius: 4px;
1143 color: #fff;
1144 font-weight: $body-font-weight-bold;
1145 font-size: floor($font-size-base * 0.8);
1146 }
1147 }
1148 }
1149 .timeline-bottom-w {
1150 display: flex;
1151 }
1152 .timeline-top-w {
1153 display: flex;
1154 height: 30px;
1155 }
1156 .timeslot {
1157 flex: 1;
1158 &:last-child:not(:first-child) {
1159 width: 1px;
1160 flex: 0 0 1px;
1161 }
1162 &.with-tick {
1163 .tick {
1164 position: absolute;
1165 z-index: 2;
1166 top: 30px;
1167 bottom: 35px;
1168 width: 1px;
1169 background-color: #ebeff2;
1170 }
1171 }
1172 .timeslot-time {
1173 font-weight: $body-font-weight-bold;
1174 font-size: floor($font-size-base * 0.8);
1175 text-align: center;
1176 line-height: 1.2;
1177 transform: translateX(-50%);
1178 display: inline-block;
1179 .timeslot-hour {
1180
1181 }
1182 .timeslot-ampm {
1183 color: $color-faded;
1184 font-size: floor($font-size-base * 0.6);
1185 letter-spacing: 1px;
1186 text-transform: uppercase;
1187 }
1188 }
1189 }
1190
1191 .agent-timeline-w {
1192 padding: 0px;
1193 position: relative;
1194 .agent-timeline {
1195 height: $avatar-size + $avatar-gap;
1196 position: relative;
1197 &:hover {
1198 background-color: #fafafb;
1199 }
1200 .booking-blocks {
1201 position: absolute;
1202 top: 50%;
1203 left: 0px;
1204 right: 0px;
1205 }
1206 .booking-block {
1207 height: 20px;
1208 z-index: 3;
1209 position: absolute;
1210 top: 50%;
1211 transform: translateY(-50%);
1212 cursor: pointer;
1213 box-shadow: 0px 0px 0px 1px #fff;
1214 background-color: rgba(0,0,0,0.2);
1215 border-radius: $border-radius;
1216 &.status-pending {
1217 &:before {
1218 @include latepointfont_admin("\e94e");
1219 position: absolute;
1220 top: 50%;
1221 transform: translateY(-50%);
1222 right: 5px;
1223 color: #fff;
1224 font-size: 14px;
1225 }
1226 }
1227 &.os-loading {
1228 &:after {
1229 @include loading-circle(#fff);
1230 }
1231 }
1232 &:hover {
1233 }
1234 .appointment-box-small {
1235 position: absolute;
1236 border-radius: $border-radius-lg;
1237 top: 0px;
1238 left: 50%;
1239 transform: translate(-50%, -110%);
1240 visibility: hidden;
1241 opacity: 0;
1242 transition: all 0.2s ease;
1243 }
1244 &:hover {
1245 .appointment-box-small {
1246 transform: translate(-50%, -105%);
1247 visibility: visible;
1248 opacity: 1;
1249 }
1250 }
1251 }
1252 }
1253 }
1254 }
1255
1256
1257 .os-info-tile {
1258 padding: 15px 15px;
1259 display: flex;
1260 align-items: center;
1261 margin-bottom: 30px;
1262
1263 animation: 0.6s cubic-bezier(.45,1.1,.4,1) 0s wizardWrapperAnimation;
1264 animation-fill-mode: both;
1265
1266 .os-tile-value {
1267 font-size: floor($font-size-base * 2.8);
1268 color: $brand-primary;
1269 font-weight: $body-font-weight-bold;
1270 line-height: 1.2;
1271 }
1272 .os-tile-info {
1273 flex: 1;
1274 padding-left: 25px;
1275 }
1276 .os-tile-label {
1277 font-weight: $body-font-weight-bold;
1278 font-size: floor($font-size-base * 1.1);
1279 & + .os-tile-desc {
1280 margin-top: 5px;
1281 }
1282 }
1283 .os-tile-desc {
1284 color: $color-faded;
1285 }
1286 &.tile-centered {
1287 text-align: center;
1288 display: block;
1289 padding: 15px;
1290 .os-tile-info {
1291 padding-left: 0px;
1292 }
1293 }
1294 &.os-smaller {
1295 padding: 15px 20px;
1296 .os-tile-value {
1297 font-size: floor($font-size-base * 2.5);
1298 }
1299 .os-tile-label {
1300 font-size: floor($font-size-base * 1);
1301 color: $color-faded;
1302 }
1303 }
1304 }
1305
1306
1307 .service-type-donut-chart-w {
1308 padding: 15px;
1309 align-items: center;
1310 @include white-box();
1311 margin-bottom: 30px;
1312 .service-type-donut-chart-i {
1313 padding: 0px 15% 10px;
1314 }
1315 .service-type-donut-chart-data {
1316 padding: 10px;
1317 padding-left: 20px;
1318 }
1319 &.on-agent-dashboard {
1320 box-shadow: none;
1321 padding: 0px;
1322 .service-type-donut-chart-data {
1323 padding: 0px;
1324 padding-top: 20px;
1325 }
1326 .chart-labels {
1327 display: flex;
1328 justify-content: space-between;
1329 flex-wrap: wrap;
1330 .chart-label {
1331 flex: 0 0 47%;
1332 }
1333 }
1334 }
1335 }
1336
1337 .chart-heading {
1338 color: $brand-primary;
1339 margin-top: 0px;
1340 & + .chart-labels {
1341 margin-top: 15px;
1342 }
1343 }
1344 .chart-labels {
1345 padding-left: 15px;
1346 .chart-label-color {
1347 width: 8px;
1348 height: 8px;
1349 position: absolute;
1350 top: 5px;
1351 left: -16px;
1352 }
1353 .chart-label {
1354 margin-bottom: 5px;
1355 position: relative;
1356 .name {
1357 font-weight: $body-font-weight-bold;
1358 }
1359 .value {
1360 color: $color-faded;
1361 font-size: $font-size-base * 0.8;
1362 }
1363 }
1364 }
1365
1366 .circles-wrp {
1367 display: block!important;
1368 svg {
1369 display: block;
1370 }
1371 }
1372
1373 .appointment-box-detailed {
1374 & + .appointment-box-detailed {
1375 margin-top: 20px;
1376 padding-top: 20px;
1377 border-top: 1px solid rgba(0,0,0,0.1);
1378 }
1379 .appointment-main-info {
1380 display: flex;
1381 align-items: center;
1382 .appointment-color-elem {
1383 width: 10px;
1384 height: 10px;
1385 margin-right: 15px;
1386 }
1387 }
1388
1389
1390
1391 .appointment-service-name {
1392 font-size: floor($font-size-base * 1.4);
1393 color: $brand-primary;
1394 font-weight: $body-font-weight-bold;
1395 margin-right: auto;
1396 border-bottom: 1px dotted rgba($brand-primary, 0.6);
1397 display: inline-block;
1398 }
1399 .appointment-date-w {
1400 .appointment-date {
1401 color: $color-faded;
1402 display: inline-block;
1403 }
1404 .appointment-time {
1405 display: inline-block;
1406 color: $brand-primary;
1407 margin-left: 3px;
1408 font-weight: $body-font-weight-bold;
1409 }
1410 }
1411 }
1412 .appointment-boxes-squared-w {
1413 .appointment-boxes-caption {
1414 flex: 0 0 32px;
1415 width: 32px;
1416 border: 1px solid $brand-primary;
1417 color: $brand-primary;
1418 border-radius: 6px;
1419 background-color: #fff;
1420 box-shadow: 4px 4px 0px 0px rgba($brand-primary, 0.1);
1421 position: relative;
1422 div {
1423 white-space: nowrap;
1424 position: absolute;
1425 top: 50%;
1426 left: 50%;
1427 transform: translate(-50%, -50%) rotate(90deg);
1428 font-size: 14px;
1429 text-transform: uppercase;
1430 letter-spacing: 2px;
1431 line-height: 1;
1432 font-weight: $body-font-weight-bold;
1433 }
1434 }
1435 .appointment-time-left {
1436 color: #bb6767;
1437 font-weight: $body-font-weight-bold;
1438 font-size: floor($font-size-base * 0.8);
1439 margin-bottom: 3px;
1440 border-radius: $border-radius;
1441 display: inline-block;
1442 }
1443 }
1444 .appointment-box-squared {
1445 display: flex;
1446 flex-direction: column;
1447 position: relative;
1448 cursor: pointer;
1449 transition: transform 0.2s ease;
1450 &:not(:last-child){
1451 border-bottom: 1px solid $border-color-lightest;
1452 }
1453 &:hover {
1454 .appointment-main-info {
1455 .appointment-color-elem {
1456 transform: translateY(-50%) scale(0);
1457 opacity: 0;
1458 }
1459 .appointment-link {
1460 opacity: 1;
1461 transform: translate(5px, -50%);
1462 }
1463 .avatar-w {
1464 }
1465 }
1466 }
1467 &.os-loading {
1468 &:after {
1469 @include loading-circle($brand-primary);
1470 right: 5px;
1471 left: auto;
1472 top: 14px;
1473 transform: none;
1474 }
1475 }
1476
1477 & + .appointment-box-squared {
1478
1479 }
1480 .appointment-main-info {
1481 padding: 20px 0px 20px $widget-padding;
1482 position: relative;
1483 .avatar-w {
1484 transition: transform 0.1s ease;
1485 }
1486 .appointment-link {
1487 color: $headings-color;
1488 font-weight: $body-font-weight-bold;
1489 position: absolute;
1490 top: 50%;
1491 right: 32px;
1492 transform: translate(0px, -50%);
1493 transition: transform 0.2s ease;
1494 opacity: 0;
1495 padding: 8px;
1496 border-radius: $border-radius;
1497 background-color: #fff;
1498 border: 1px solid #eee;
1499 font-size: 14px;
1500 width: 35px;
1501 height: 35px;
1502 line-height: 1;
1503
1504 i {
1505 display: block;
1506 position: absolute;
1507 top: 50%;
1508 left: 50%;
1509 transform: translate(-50%, -50%);
1510 }
1511 }
1512 .appointment-color-elem {
1513 position: absolute;
1514 top: 50%;
1515 right: 40px;
1516 transform: translateY(-50%) scale(1);
1517 width: 12px;
1518 height: 12px;
1519 border-radius: $border-radius;
1520 transition: all 0.2s cubic-bezier(0.05, 0.45, 0.1, 1);
1521 opacity: 0.7;
1522 }
1523 .appointment-main-info-i {
1524 display: flex;
1525 align-items: center;
1526 padding-right: 45px;
1527 .appointment-date-i {
1528 display: flex;
1529 .appointment-date {
1530 margin-right: 5px;
1531 white-space: nowrap;
1532 }
1533 }
1534 }
1535 .avatar-w {
1536 @include avatar(50px);
1537 flex: 0 0 50px;
1538 position: relative;
1539 margin-right: 20px;
1540 .agent-info-tooltip {
1541 display: none;
1542 position: absolute;
1543 bottom: 50%;
1544 left: 50%;
1545 background-color: #111;
1546 color: #fff;
1547 font-size: floor($font-size-base * 0.9);
1548 font-weight: $body-font-weight-bold;
1549 padding: 6px 10px;
1550 z-index: 9999;
1551 white-space: nowrap;
1552 border-radius: $tooltip-border-radius;
1553 animation: 0.2s cubic-bezier(.45,1.1,.4,1) 0s toolTipOpen;
1554 animation-fill-mode: both;
1555 }
1556 &:hover {
1557 .agent-info-tooltip {
1558 display: block;
1559 }
1560 }
1561 }
1562 }
1563
1564
1565 .appointment-service-name {
1566 font-size: $body-font-size-m;
1567 font-weight: $body-font-weight-bold;
1568 color: $headings-color;
1569 margin-right: auto;
1570 margin-bottom: 2px;
1571 }
1572 .appointment-date-w {
1573 font-size: floor($font-size-base * 0.9);
1574 .appointment-date {
1575 color: $color-faded;
1576 margin-bottom: 1px;
1577 }
1578 .appointment-time {
1579 font-weight: $body-font-weight-bold;
1580 }
1581 }
1582
1583 .appointment-capacity-info {
1584 padding: 20px;
1585 padding-top: 15px;
1586 .appointment-capacity-info-label {
1587 display: flex;
1588 justify-content: space-between;
1589 align-items: center;
1590 margin-bottom: 4px;
1591 span, strong {
1592 display: block;
1593 }
1594 span {
1595 color: $color-faded;
1596 }
1597 strong {
1598 color: $headings-color;
1599 }
1600 }
1601 }
1602 .appointment-capacity-progress-w {
1603 background-color: rgba($brand-primary, 0.1);
1604 border-radius: $border-radius-xs;
1605 .appointment-capacity-progress {
1606 height: 10px;
1607 background-color: $brand-primary;
1608 border-radius: $border-radius-xs;
1609 }
1610 }
1611 }
1612
1613
1614
1615 .os-widget-stats {
1616 .stats-grid {
1617
1618 }
1619 .stats-grid-row {
1620 display: flex;
1621 border-bottom: 1px solid rgba(0,0,0, 0.1);
1622 }
1623 .stats-grid-box {
1624 flex: 0 0 50%;
1625 padding: 40px 10px;
1626 text-align: center;
1627 & + .stats-grid-box {
1628 border-left: 1px solid rgba(0,0,0,0.1);
1629 }
1630 }
1631 .stats-grid-value {
1632 font-size: floor($font-size-base * 2.2);
1633 font-weight: $body-font-weight-bold;
1634 line-height: 1.3;
1635 }
1636 .stats-grid-label {
1637 color: $color-faded;
1638 font-size: floor($font-size-base * 1.1);
1639 }
1640
1641 .stats-progress-w {
1642 padding: 25px 20px;
1643 .stats-progress-labels {
1644 display: flex;
1645 justify-content: space-between;
1646 margin-bottom: 10px;
1647 }
1648 .stats-progress-value {
1649
1650 }
1651 .stats-progress-label {
1652 color: $color-faded;
1653 margin-left: 3px;
1654 }
1655 .stats-progress-sub-value {
1656 margin-left: auto;
1657 color: $brand-primary;
1658 }
1659 .stats-progress-sub-label {
1660 color: $color-faded;
1661 margin-left: 3px;
1662 }
1663 .stats-progress {
1664 background-color: #EEF4F1;
1665 .stats-progress-bar {
1666 height: 5px;
1667 background-color: #6EE8A4;
1668 }
1669 }
1670 }
1671 }
1672
1673 .os-widget {
1674 .stats-tabs {
1675 display: flex;
1676 gap: 20px;
1677 padding: 25px $widget-padding;
1678 }
1679 .stats-tab {
1680 flex: 1;
1681 position: relative;
1682 padding-right: 20px;
1683 &:last-child {
1684 border-right: none;
1685 padding-right: 0;
1686 }
1687 &.active {
1688 background-color: #fff;
1689 &:before {
1690 // content: "";
1691 // height: 1px;
1692 // background-color: $brand-primary;
1693 // left: -1px;
1694 // right: -1px;
1695 // bottom: -1px;
1696 // position: absolute;
1697 }
1698 .stats-tab-value {
1699 color: $brand-primary;
1700 line-height: 1.1;
1701 }
1702 }
1703 & + .stats-tab {
1704 }
1705 }
1706 .stats-tab-value {
1707 font-size: $body-font-size-l;
1708 line-height: 1.3;
1709 color: $headings-color;
1710 white-space: nowrap;
1711 .stats-tab-value-self {
1712 display: inline-block;
1713 }
1714 .stats-change {
1715 display: inline-block;
1716 vertical-align: baseline;
1717 color: $headings-color;
1718 font-size: floor($font-size-base * 0.8);
1719 font-weight: $body-font-weight-bold;
1720 cursor: pointer;
1721
1722 .stats-change-value {
1723 display: block;
1724 position: relative;
1725 padding: 0px;
1726 color: $body-color;
1727 }
1728 .stats-change-label {
1729 white-space: nowrap;
1730 display: none;
1731 z-index: 9999;
1732 color: $brand-primary;
1733 strong {
1734 }
1735 }
1736 span {
1737 display: block;
1738 }
1739 &:hover {
1740 }
1741 &.change-positive {
1742 .stats-change-label {
1743 color: #09a579;
1744 }
1745 .stats-change-value {
1746 color: #09a579;
1747
1748 &:after {
1749 border-bottom: 5px solid #39B570;
1750 }
1751 }
1752 }
1753 &.change-negative {
1754 .stats-change-label {
1755 border-color: #A16262;
1756 color: #A16262;
1757 }
1758 .stats-change-value {
1759 border-color: #A16262;
1760 color: #A16262;
1761 &:after {
1762 border-top: 5px solid #A16262;
1763 transform: translateY(0%);
1764 }
1765 }
1766 }
1767 }
1768 }
1769 .stats-tab-label {
1770 font-size: floor($font-size-base * 0.9);
1771 white-space: nowrap;
1772 color: $color-faded;
1773 }
1774 .stats-tab-info {
1775 position: absolute;
1776 top: 0px;
1777 right: 10px;
1778 font-weight: $body-font-weight-bold;
1779 width: 15px;
1780 height: 15px;
1781 border-radius: 8px;
1782 line-height: 15px;
1783 text-align: center;
1784 font-size: 11px;
1785 background-color: #eef1f4;
1786 color: #4f525a;
1787 cursor: help;
1788 .stats-tab-info-icon {
1789 font-weight: $body-font-weight-black;
1790 font-size: 10px;
1791 }
1792 .stats-tab-info-tooltip {
1793 display: none;
1794 width: 250px;
1795 line-height: 1.3;
1796 background-color: #111;
1797 border-radius: $border-radius-lg;
1798 color: #fff;
1799 padding: 7px;
1800 font-size: floor($font-size-base * 0.9);
1801 position: absolute;
1802 top: 0px;
1803 left: 50%;
1804 transform: translate(-50%, -100%);
1805 z-index: 9999;
1806 box-shadow: 0px 2px 10px rgba(0,0,0,0.1);
1807 }
1808 &:hover {
1809 background-color: #ddd;
1810 .stats-tab-info-tooltip {
1811 display: block;
1812 }
1813 }
1814 }
1815 .stats-charts-w {
1816 display: flex;
1817 }
1818 .stats-line-chart-w {
1819 padding-top: 0px;
1820 flex: 1;
1821 canvas {
1822 }
1823 }
1824 .stats-donut-chart-w {
1825 flex: 0 0 200px;
1826 border-left: 1px solid $border-color-lightest;
1827 padding-top: 0px;
1828 position: relative;
1829 canvas {
1830 margin: 0px auto;
1831 }
1832 .status-donut-label {
1833 text-align: center;
1834 color: $headings-color;
1835 font-size: floor($font-size-base * 0.9);
1836 padding-top: 54px;
1837 margin-bottom: 0px;
1838 font-weight: $body-font-weight-bold;
1839 }
1840 }
1841 }
1842
1843
1844 .os-widget-today-info {
1845 border: none;
1846 margin-bottom: 0px;
1847 .os-widget-day-picker {
1848 font-size: floor($font-size-base * 2);
1849 font-weight: $body-font-weight-bold;
1850 margin-bottom: 10px;
1851 }
1852 .day-info-progress {
1853 background-color: #edf1f7;
1854 display: flex;
1855 height: 2px;
1856 border-radius: $border-radius-xs;
1857 .di-progress-value {
1858 height: 2px;
1859 position: relative;
1860 .progress-label-w {
1861 transform: translateY(-120%);
1862 transition: all 0.1s ease-in;
1863 display: none;
1864 position: absolute;
1865 top: 0px;
1866 right: 0px;
1867 background-color: #000;
1868 padding: 10px;
1869 font-size: floor($font-size-base * 1.1);
1870 .progress-label {
1871 color: rgba(255,255,255,0.6);
1872 font-size: floor($font-size-base * 0.7);
1873 text-transform: uppercase;
1874 letter-spacing: 1px;
1875 white-space: nowrap;
1876 margin-top: 5px;
1877 }
1878 .progress-value {
1879 white-space: nowrap;
1880 color: #fff;
1881 span {
1882 }
1883 strong {
1884 }
1885 }
1886 }
1887 &:hover {
1888 .progress-label-w {
1889 transform: translateY(-105%);
1890 display: block;
1891 }
1892 }
1893 }
1894 }
1895 .day-main-info {
1896 padding-bottom: 20px;
1897 text-align: center;
1898 }
1899 .big-counter {
1900 font-size: floor($font-size-base * 4.3);
1901 line-height: 1;
1902 color: $headings-color;
1903 font-weight: $body-font-weight-bold;
1904 }
1905 .counter-label {
1906 color: $color-faded;
1907 font-size: floor($font-size-base * 1.4);
1908 }
1909 .day-sub-info {
1910 }
1911 .day-sub-info-col {
1912 display: flex;
1913 padding: 15px 0px;
1914 &.with-avatars {
1915 display: flex;
1916 align-items: center;
1917 justify-content: space-between;
1918 padding: 9px 0px;
1919 .agents-on-duty-avatars {
1920 display: flex;
1921 flex-direction: row-reverse;
1922 position: relative;
1923 }
1924 .avatar-w {
1925 @include avatar(30px);
1926 box-shadow: 0px 0px 0px 2px #fff;
1927 margin-right: -5px;
1928 &:first-child {
1929 margin-right: 0px;
1930 }
1931 }
1932 }
1933 }
1934 .sub-info-value {
1935 font-weight: $body-font-weight-bold;
1936 display: inline-block;
1937 margin-left: auto;
1938 white-space: nowrap;
1939 }
1940 .sub-info-period {
1941 text-align: right;
1942 white-space: nowrap;
1943 padding-left: 10px;
1944 & + .sub-info-period {
1945 margin-top: 5px;
1946 }
1947 }
1948 .sub-info-label {
1949 color: $color-faded;
1950 font-weight: $body-font-weight-bold;
1951 white-space: nowrap;
1952 }
1953 }
1954
1955 .timeline-type-toggle {
1956 margin-left: auto;
1957 display: flex;
1958 border: 1px solid #ced6df;
1959 font-size: floor($font-size-base * 0.95);
1960 border-radius: $border-radius;
1961 cursor: pointer;
1962 .timeline-type-option {
1963 white-space: nowrap;
1964 flex: 0;
1965 padding: 8px 12px;
1966 border-radius: $border-radius;
1967 color: $color-faded;
1968 &.active {
1969 box-shadow: 0px 0px 0px 1px $headings-color;
1970 background-color: #fff;
1971 color: $headings-color;
1972 }
1973 &:hover:not(.active) {
1974 color: $body-color;
1975 }
1976 }
1977 }
1978
1979 .timeline-with-info-w {
1980 display: flex;
1981 align-items: stretch;
1982 border-radius: $border-radius-lg;
1983 &.dark {
1984 background-color: #1f3fab;
1985 padding: 15px;
1986 .timeline-and-availability-w {
1987 padding-left: 30px;
1988 padding-bottom: 20px;
1989 color: rgba(255,255,255,0.8);
1990 }
1991 .timeline-controls {
1992 padding-top: 20px;
1993 select {
1994 color: #fff;
1995 }
1996 }
1997 .agent-day-bookings-timeline-compact-w .timeslot.with-tick .tick {
1998 background-color: rgba(255,255,255,0.1);
1999 }
2000 .agent-timeline-w {
2001 .agent-timeline {
2002 background-color: #18379f;
2003 .booking-block {
2004 box-shadow: 0px 0px 0px 1px #18379f;
2005 }
2006 }
2007 }
2008 }
2009 .timeline-and-availability-contents {
2010 padding: calc($widget-padding/2) $widget-padding $widget-padding $widget-padding;
2011 &.shows-appointments {
2012 .agent-day-availability-w {
2013 padding: 0px;
2014 .agent-timeslot {
2015 background-color: transparent;
2016 border-left: 1px solid transparent;
2017 height: $avatar-size + $avatar-gap;
2018 cursor: copy;
2019 .agent-timeslot-label {
2020 }
2021 &:hover:not(.is-off):not(.is-booked) {
2022 background-color: #e7ffec;
2023 background-image: radial-gradient(#81dfa3 1px, transparent 0);
2024 background-size: 6px 6px;
2025 background-position: top right;
2026 }
2027 &.is-off:hover, &.is-booked:hover {
2028 background-color: #ffe7e7;
2029 background-image: radial-gradient(#df8181 1px, transparent 0);
2030 background-size: 6px 6px;
2031 background-position: top right;
2032 }
2033 &.is-booked {
2034 cursor: not-allowed;
2035 }
2036 &.is-off {
2037 cursor: not-allowed;
2038 &:hover {
2039 background-color: #ffc4c4;
2040 }
2041 .agent-timeslot-label {
2042 left: 50%;
2043 top: 0;
2044 transform: translate3d(-50%, -10px, 0);
2045 }
2046 }
2047 }
2048 }
2049 .agent-timeline-w .agent-timeline {
2050 display: block;
2051 }
2052 }
2053 &.shows-availability {
2054 .agent-day-availability-w {
2055 display: block;
2056 }
2057 .agent-timeline-w .agent-timeline .booking-blocks {
2058 display: none;
2059 }
2060 }
2061 }
2062 .timeline-controls {
2063 display: flex;
2064 align-items: center;
2065 font-weight: $body-font-weight-bold;
2066 label:first-child {
2067 }
2068 .select-w, label {
2069 display: block;
2070 margin: 0px;
2071 }
2072 select, label, .range-picker-value {
2073 font-size: floor($headings-font-size * 0.85);
2074 }
2075 select {
2076 background-color: transparent;
2077 margin: 0px;
2078 appearance: none;
2079 //color: $brand-primary;
2080 border: none;
2081 padding: 0px 5px;
2082 border-radius: 6px;
2083 box-shadow: none;
2084 padding-right: 25px;
2085 background-size: 14px 14px;
2086 &:hover {
2087 background-color: rgba(0,0,0,0.05);
2088 color: $body-color;
2089 }
2090 }
2091 .select-w {
2092 position: relative;
2093 margin-right: 10px;
2094 }
2095 label {
2096 flex: 0;
2097 white-space: nowrap;
2098 color: $color-faded;
2099 margin-right: 5px;
2100 }
2101 }
2102 .timeline-and-availability-w {
2103 flex: 1;
2104 }
2105
2106 .timeline-info-w {
2107 padding: 40px;
2108 font-size: floor($font-size-base * 1);
2109 flex: 0;
2110 &.dark {
2111 //background-color: #071851;
2112 //background-image: linear-gradient(45deg, #010208, #071f69);
2113 background-color: $brand-primary;
2114 color: #fff;
2115 border-left: none;
2116 margin: -1px;
2117 margin-left: 0px;
2118 border-radius: $border-radius-lg;
2119 .sub-info-label {
2120 color: rgba(255,255,255,0.6);
2121 }
2122 .day-sub-info-col.with-avatars .avatar-w {
2123 box-shadow: 0px 0px 0px 2px $brand-primary;
2124 }
2125 .day-sub-info-col {
2126 border-bottom-color: rgba(255,255,255,0.1);
2127 }
2128 .day-info-progress {
2129 background-color: rgba(255,255,255,0.1);
2130 }
2131 }
2132
2133 .os-date-range-picker {
2134 cursor: pointer;
2135 position: relative;
2136 margin-bottom: 20px;
2137 font-size: floor($headings-font-size * 1.4);
2138 white-space: nowrap;
2139 > .range-picker-value, .latepoint-icon {
2140 z-index: 2;
2141 position: relative;
2142 vertical-align: middle;
2143 }
2144 > .latepoint-icon {
2145 font-size: 20px;
2146 margin-left: 10px;
2147 }
2148 &:after {
2149 content: "";
2150 position: absolute;
2151 top: -5px;
2152 left: -10px;
2153 bottom: -10px;
2154 right: -10px;
2155 z-index: 1;
2156 background-color: rgba(255,255,255,0.1);
2157 border-radius: 8px;
2158 display: none;
2159 }
2160 &:hover {
2161 &:after {
2162 display: block;
2163 }
2164 }
2165 }
2166 .latepoint-btn {
2167 display: block;
2168 background-color: #1e7bff;
2169 text-align: center;
2170 margin-top: 20px;
2171 padding: 12px 15px;
2172 box-shadow: 0px 2px 4px rgba(0,0,0,0);
2173 }
2174
2175 .os-add-box {
2176 border: none;
2177 background-color: $brand-primary;
2178 padding: 10px;
2179 margin-top: 15px;
2180 border-radius: $border-radius-btn-lg;
2181 .add-box-label {
2182 margin-right: auto;
2183 color: #fff;
2184 margin-left: 10px;
2185 }
2186 .add-box-graphic-w {
2187 margin-left: auto;
2188 width: 30px;
2189 height: 30px;
2190 .add-box-plus {
2191 background-color: #fff;
2192 color: $brand-primary;
2193 box-shadow: 0 0 0px 5px rgba(0,0,0,0.1);
2194 }
2195 }
2196 }
2197 }
2198 }