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