nexora / frontend /src /app /search /searchPage.css
ChandimaPrabath's picture
update
0527ba9
raw
history blame
No virus
3.51 kB
.search-page {
background-color: #121212;
color: #ffffff;
min-height: 85vh;
transition: background-color 0.3s ease;
font-family: "Signika", sans-serif;
font-optical-sizing: auto;
font-style: normal;
font-variation-settings: "GRAD" 0;
}
/* Search container styles */
.search-container {
display: flex;
flex-direction: column;
align-items: center;
padding: 20px;
transition: transform 0.3s ease;
}
/* Input field styling with animation */
.search-input {
width: 100%;
max-width: 600px;
padding: 10px;
font-size: 16px;
border: 1px solid #444;
border-radius: 5px;
background-color: #1e1e1e;
color: #ffffff;
transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
.search-input:focus {
outline: none;
border-color: #ff6f00;
box-shadow: 0 0 8px rgba(255, 111, 0, 0.6);
transform: scale(1.02);
}
/* Loading indicator animation */
.loading-indicator {
margin-top: 10px;
font-size: 18px;
color: #ff6f00;
opacity: 0;
animation: fadeIn 1s forwards;
}
@keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
/* Error message styling */
.error-message {
color: #ff6f00;
text-align: center;
margin-top: 20px;
animation: bounce 1s infinite;
}
@keyframes bounce {
0%, 20%, 50%, 80%, 100% {
transform: translateY(0);
}
40% {
transform: translateY(-10px);
}
60% {
transform: translateY(-5px);
}
}
/* Results container styles */
.results-container {
padding: 20px;
display: flex;
flex-direction: column;
align-items: center;
}
/* Results section styles */
.results-section {
width: 100%;
max-width: 800px;
margin-bottom: 20px;
transition: opacity 0.3s ease;
}
.results-section h2 {
font-size: 24px;
border-bottom: 2px solid #444;
padding-bottom: 10px;
margin-bottom: 15px;
color: #ff6f00;
animation: fadeIn 1s ease;
}
/* Results list styles */
.results-list {
list-style-type: none;
padding: 0;
}
.result-item {
background-color: #1e1e1e;
border: 1px solid #444;
border-radius: 5px;
margin-bottom: 10px;
padding: 10px;
transition: background-color 0.3s ease, transform 0.3s ease;
animation: slideIn 0.5s ease;
}
@keyframes slideIn {
from {
transform: translateY(20px);
opacity: 0;
}
to {
transform: translateY(0);
opacity: 1;
}
}
.result-item:hover {
background-color: #333;
transform: scale(1.02);
}
/* Link styling */
.result-link {
text-decoration: none;
color: #ffffff;
font-size: 18px;
transition: color 0.3s ease;
}
.result-link:hover {
text-decoration: underline;
color: #ff6f00;
}
/* Handle animations on page load */
@keyframes pageLoad {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
.search-page {
animation: pageLoad 1s ease;
}
/* Loading indicator styles */
.loading-indicator {
display: flex;
align-items: center;
margin-top: 20px;
font-size: 18px;
color: #ff6f00;
}
.loading-indicator .spinner {
width: 20px;
height: 20px;
border: 4px solid #ff6f00;
border-top: 4px solid transparent;
border-radius: 50%;
margin-right: 10px;
animation: spin 1s linear infinite;
}
/* Spinner animation */
@keyframes spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}