nolanzandi's picture
text center info text
a928bec verified
/* Loading Animation */
.loading-spinner {
display: none;
width: 50px;
height: 50px;
border: 5px solid #f3f3f3;
border-top: 5px solid #3B82F6;
border-radius: 50%;
animation: spin 1s linear infinite;
margin: 0 auto;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
/* File Upload Progress */
.progress-bar {
width: 100%;
height: 6px;
background-color: #e5e7eb;
border-radius: 3px;
overflow: hidden;
display: none;
margin: 1rem auto;
max-width: 300px;
}
.progress-bar-fill {
height: 100%;
background-color: #3B82F6;
width: 0%;
transition: width 0.3s ease;
}
/* Tooltip */
.tooltip {
position: relative;
display: inline-block;
}
.tooltip .tooltip-text {
visibility: hidden;
background-color: #1f2937;
color: white;
text-align: center;
padding: 8px 12px;
border-radius: 6px;
position: absolute;
z-index: 1;
bottom: 125%;
left: 50%;
transform: translateX(-50%);
opacity: 0;
transition: opacity 0.3s;
font-size: 0.875rem;
white-space: nowrap;
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}
.tooltip:hover .tooltip-text {
visibility: visible;
opacity: 1;
}
/* File Type Icons */
.file-type-icon {
font-size: 1.5rem;
margin-right: 0.5rem;
color: #3B82F6;
}
/* Success Animation */
@keyframes checkmark {
0% { transform: scale(0); opacity: 0; }
50% { transform: scale(1.2); opacity: 0.8; }
100% { transform: scale(1); opacity: 1; }
}
.success-checkmark {
display: none;
color: #10B981;
animation: checkmark 0.5s ease-in-out forwards;
}
/* Sample Data Cards */
.sample-btn {
transition: all 0.3s ease;
position: relative;
overflow: hidden;
}
.sample-btn::after {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(rgba(255,255,255,0.1), rgba(255,255,255,0));
transform: translateY(-100%);
transition: transform 0.3s ease;
}
.sample-btn:hover::after {
transform: translateY(0);
}
.sample-btn:hover {
transform: translateY(-2px);
box-shadow: 0 8px 15px rgba(0,0,0,0.1);
}
/* Drop Zone Enhancements */
.drop-zone {
transition: all 0.3s ease;
position: relative;
overflow: hidden;
}
.drop-zone::before {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
border-radius: 8px;
border: 2px dashed #3B82F6;
opacity: 0;
transition: opacity 0.3s ease;
}
.drop-zone:hover::before {
opacity: 1;
}
/* File Info Card */
#fileInfo {
background: linear-gradient(to right, #f8fafc, #f1f5f9);
border: 1px solid #e2e8f0;
transition: all 0.3s ease;
}
#fileInfo:hover {
transform: translateY(-2px);
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}
/* Features Section */
.feature-card {
transition: all 0.3s ease;
}
.feature-card:hover {
transform: translateY(-2px);
box-shadow: 0 8px 15px rgba(0,0,0,0.1);
}
.feature-icon {
transition: all 0.3s ease;
}
.feature-card:hover .feature-icon {
transform: scale(1.1);
color: #2563eb;
}
@media only screen and (max-width: 600px) {
.feature-card p {grid-column: 1/3;}
.feature-card i, .feature-card h3 {text-align: center;}
.feature-card {
display: grid;
grid-template-columns: 1fr 2fr;
align-items: baseline;
}
}