loading-screen.scss 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. @use 'sass:math';
  2. @keyframes blink {
  3. 0% {
  4. opacity: 0.2;
  5. }
  6. 20% {
  7. opacity: 1;
  8. }
  9. 100% {
  10. opacity: 0.2;
  11. }
  12. }
  13. .loading-screen {
  14. display: flex;
  15. flex-direction: column;
  16. justify-content: center;
  17. align-items: center;
  18. width: 100%;
  19. height: 100%;
  20. background-color: #fff;
  21. .loading-screen-brand-container {
  22. min-width: 200px;
  23. }
  24. .loading-screen-brand {
  25. position: relative;
  26. padding-top: math.percentage(math.div(150, 130)); // dimensions of the SVG
  27. height: 0;
  28. background: url(../../../../public/img/ol-brand/overleaf-o-grey.svg)
  29. no-repeat bottom / 100%;
  30. &::after {
  31. content: '';
  32. position: absolute;
  33. height: inherit;
  34. right: 0;
  35. bottom: 0;
  36. left: 0;
  37. background: url(../../../../public/img/ol-brand/overleaf-o.svg) no-repeat
  38. bottom / 100%;
  39. transition: height 0.5s;
  40. }
  41. }
  42. .loading-screen-label {
  43. margin: 0;
  44. padding-top: var(--spacing-09);
  45. font-family: $font-family-serif;
  46. font-size: var(--font-size-07);
  47. color: var(--content-secondary);
  48. }
  49. .loading-screen-ellip {
  50. animation: blink 1.4s both infinite;
  51. &:nth-child(2) {
  52. animation-delay: 0.2s;
  53. }
  54. &:nth-child(3) {
  55. animation-delay: 0.4s;
  56. }
  57. }
  58. .loading-screen-error {
  59. margin: 0;
  60. padding-top: var(--spacing-06);
  61. color: var(--content-danger);
  62. }
  63. }