/* LOADING 1 */ .spinner-wrapper { display: inline-flex; height: 100px; } .spinner { display: inline-block; margin: auto; text-align: center; } .spinner > div { width: 24px; height: 24px; background-color: var(--highlight-color); border-radius: 100%; display: inline-block; margin: 3px; -webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both; -moz-animation: sk-bouncedelay 1.4s infinite ease-in-out both; -o-animation: sk-bouncedelay 1.4s infinite ease-in-out both; -ms-animation: sk-bouncedelay 1.4s infinite ease-in-out both; animation: sk-bouncedelay 1.4s infinite ease-in-out both; } .spinner .bounce1 { -webkit-animation-delay: -0.32s; -moz-animation-delay: -0.32s; -o-animation-delay: -0.32s; -ms-animation-delay: -0.32s; animation-delay: -0.32s; } .spinner .bounce2 { -webkit-animation-delay: -0.16s; -moz-animation-delay: -0.16s; -o-animation-delay: -0.16s; -ms-animation-delay: -0.16s; animation-delay: -0.16s; } @-webkit-keyframes sk-bouncedelay { 0%, 80%, 100% { -webkit-transform: scale(0); -moz-transform: scale(0); -o-transform: scale(0); -ms-transform: scale(0); transform: scale(0); } 40% { -webkit-transform: scale(1); -moz-transform: scale(1); -o-transform: scale(1); -ms-transform: scale(1); transform: scale(1); } } @keyframes sk-bouncedelay { 0%, 80%, 100% { -webkit-transform: scale(0); -moz-transform: scale(0); -o-transform: scale(0); -ms-transform: scale(0); transform: scale(0); } 40% { -webkit-transform: scale(1); -moz-transform: scale(1); -o-transform: scale(1); -ms-transform: scale(1); transform: scale(1); } } /* LOADING 2 */ .loading2 { position: absolute; height: 50px; width: 50px; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -moz-transform: translate(-50%, -50%); -o-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } .loading2:before { content: ''; display: block; padding-top: 100%; } .loading2 svg { -webkit-animation: rotate 2s linear infinite; -moz-animation: rotate 2s linear infinite; -o-animation: rotate 2s linear infinite; -ms-animation: rotate 2s linear infinite; animation: rotate 2s linear infinite; height: 100%; transform-origin: center center; width: 100%; position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; } .loading2 circle { stroke-dasharray: 1, 200; stroke-dashoffset: 0; -webkit-animation: dash 1.5s ease-in-out infinite; -moz-animation: dash 1.5s ease-in-out infinite; -o-animation: dash 1.5s ease-in-out infinite; -ms-animation: dash 1.5s ease-in-out infinite; animation: dash 1.5s ease-in-out infinite; stroke-linecap: round; stroke: var(--highlight-color); stroke-width: 3px; fill: transparent; } .btn .loading2 { position: absolute; height: 100%; width: 100%; opacity: 0; visibility: hidden; } .btn.loading .loading2 { opacity: 1; visibility: visible; } @keyframes rotate { 100% { -webkit-transform: rotate(360deg); -moz-transform: rotate(360deg); -o-transform: rotate(360deg); -ms-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes dash { 0% { stroke-dasharray: 1, 200; stroke-dashoffset: 0; } 50% { stroke-dasharray: 89, 200; stroke-dashoffset: -35px; } 100% { stroke-dasharray: 89, 200; stroke-dashoffset: -124px; } } /* LOADING 3 */ .loading3 { display: inline-block; width: calc(100%/4); padding: 10px; } .loading3 div { height: 120px; border-radius: 10px; } .loading3 p { margin-top: 10px; border-radius: 5px; opacity: 0.5; } .loading3 p:first-of-type { height: 42px; } .loading3 p:last-of-type { height: 26px; } .loading3 * { background-color: var(--back-bean); overflow: hidden; } .loading3 div:after { animation: slide-cover 1s infinite; } .loading3 p:after { animation: slide 1s infinite; } .loading3 *:after { content: ''; transform: translateX(100%); height: 220px; margin: -50px 0; background-image: linear-gradient(to right, transparent 0%, var(--border-alpha) 50%, transparent 100%); opacity: 0.25; display: block; } @media only screen and (max-width: 1000px) { .loading3 { width: calc(100%/3); } } @media only screen and (max-width: 800px) { .loading3 { width: calc(100%/2); } } @media only screen and (max-width: 350px) { .loading3 { width: 100%; } } @keyframes slide-cover { 0% { -webkit-transform:translateX(-100%) rotate(10deg); -moz-transform:translateX(-100%) rotate(10deg); -o-transform:translateX(-100%) rotate(10deg); -ms-transform:translateX(-100%) rotate(10deg); transform:translateX(-100%) rotate(10deg); } 100% { -webkit-transform:translateX(100%) rotate(10deg); -moz-transform:translateX(100%) rotate(10deg); -o-transform:translateX(100%) rotate(10deg); -ms-transform:translateX(100%) rotate(10deg); transform:translateX(100%) rotate(10deg); } } @keyframes slide { 0% { -webkit-transform:translateX(-100%); -moz-transform:translateX(-100%); -o-transform:translateX(-100%); -ms-transform:translateX(-100%); transform:translateX(-100%); } 100% { -webkit-transform:translateX(100%); -moz-transform:translateX(100%); -o-transform:translateX(100%); -ms-transform:translateX(100%); transform:translateX(100%); } } /* LOADING 4 */ .loading4 { position: fixed; top: 0; right: 0; left: 0; height: 2px; z-index: 4; opacity: 0; visibility: hidden; } body.redirecting.redirecting-active { overflow: hidden; } body.redirecting.redirecting-active .loading4 { height: 100vh; } body.redirecting .loading4 { opacity: 1; visibility: visible; } .loading4 .slider { position: absolute; top: 0; left: 0; right: 0; height: 1px; overflow: hidden; } .loading4 .line { position: absolute; height: 1px; background-color: var(--highlight-color); opacity: 0.5; } .loading4 .line.inc { -webkit-animation: redirect-increase 2s infinite; -moz-animation: redirect-increase 2s infinite; -o-animation: redirect-increase 2s infinite; -ms-animation: redirect-increase 2s infinite; animation: redirect-increase 2s infinite; } .loading4 .line.dec { -webkit-animation: redirect-decrease 2s 0.5s infinite; -moz-animation: redirect-decrease 2s 0.5s infinite; -o-animation: redirect-decrease 2s 0.5s infinite; -ms-animation: redirect-decrease 2s 0.5s infinite; animation: redirect-decrease 2s 0.5s infinite; } @keyframes redirect-increase { from { left: -5%; width: 5%; } to { left: 130%; width: 100%; } } @keyframes redirect-decrease { from { left: -80%; width: 80%; } to { left: 110%; width: 10%; } }