mkcart / frontend /src /components /LoadingScreen.css
Kumar
updated
c2efbe6
.loading-screen {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(135deg, #0c0c0c 0%, #1a1a2e 25%, #16213e 50%, #102744 75%, #20182d 100%);
display: flex;
align-items: center;
justify-content: center;
z-index: 1;
overflow: hidden;
}
.loading-screen::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(135deg, #010a0d 0%, #041827 25%, #050f1d 50%, #051a34 75%, #41052496 100%);
pointer-events: none;
}
.loading-content {
display: flex;
flex-direction: column;
align-items: center;
gap: 40px;
z-index: 2;
}
.loading-logo {
position: relative;
display: flex;
flex-direction: column;
align-items: center;
gap: 20px;
}
.logo-rings {
position: relative;
width: 120px;
height: 120px;
}
.ring {
position: absolute;
border-radius: 50%;
border: 3px solid transparent;
animation: spin 3s linear infinite;
}
.ring-1 {
width: 120px;
height: 120px;
border-top: 3px solid #667eea;
border-right: 3px solid #667eea;
animation-duration: 2s;
}
.ring-2 {
width: 90px;
height: 90px;
top: 15px;
left: 15px;
border-top: 3px solid #f6d365;
border-left: 3px solid #f6d365;
animation-duration: 1.5s;
animation-direction: reverse;
}
.ring-3 {
width: 60px;
height: 60px;
top: 30px;
left: 30px;
border-top: 3px solid #ff9a9e;
border-bottom: 3px solid #ff9a9e;
animation-duration: 1s;
}
@keyframes spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
@keyframes pulse {
0% {
transform: scale(1);
opacity: 0.5;
}
50% {
transform: scale(1.1);
opacity: 0.8;
}
100% {
transform: scale(1);
opacity: 0.5;
}
}
@keyframes scale {
0% {
transform: scale(1);
}
100% {
transform: scale(1.05);
}
}
@keyframes spinSmooth {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
.loading-title {
font-size: 3rem;
font-weight: 800;
text-align: center;
margin: 0;
text-shadow: 0 0 30px rgba(246, 211, 101, 0.5);
}
.loading-bar-container {
position: relative;
height: 6px;
background: rgba(255, 255, 255, 0.1);
border-radius: 3px;
overflow: hidden;
backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.2);
}
.loading-bar {
width: 100%;
height: 100%;
position: relative;
}
.loading-progress {
height: 100%;
background: linear-gradient(90deg, #667eea, #f6d365, #ff9a9e);
border-radius: 3px;
position: relative;
overflow: hidden;
}
.loading-progress::after {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
animation: shimmer 2s infinite;
}
@keyframes shimmer {
0% {
transform: translateX(-100%);
}
100% {
transform: translateX(100%);
}
}
.loading-text {
color: rgba(255, 255, 255, 0.8);
font-size: 1.1rem;
font-weight: 400;
text-align: center;
margin: 0;
letter-spacing: 1px;
}
.loading-particles {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
}
.particle {
position: absolute;
width: 4px;
height: 4px;
background: radial-gradient(circle, #667eea, transparent);
border-radius: 50%;
filter: blur(1px);
}
@media (max-width: 768px) {
.loading-title {
font-size: 2.5rem;
}
.loading-bar-container {
width: 250px;
}
}
@media (prefers-reduced-motion: reduce) {
.loading-progress::after {
animation: none;
}
.particle {
animation: none;
}
}
.loader::after {
content: '';
display:flex;
justify-content:center;
align-items:center ;
box-sizing: border-box;
position: absolute;
width: 48px;
height: 48px;
border-radius: 50%;
border-left: 4px solid #c0ba9f;
border-bottom: 4px solid transparent;
animation: rotation 0.5s linear infinite reverse;
}
@keyframes rotation {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
@media (max-width: 768px) {
.loading-title {
font-size: 2.5rem;
}
.logo-rings {
width: 100px;
height: 100px;
}
.ring-1 {
width: 100px;
height: 100px;
}
.ring-2 {
width: 75px;
height: 75px;
top: 12.5px;
left: 12.5px;
}
.ring-3 {
width: 50px;
height: 50px;
top: 25px;
left: 25px;
}
}