.spinner-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(255, 255, 255, 0.75);
display: flex;
align-items: center;
justify-content: center;
z-index: 50;
}
.spinner {
width: 64px;
height: 64px;
border: 4px solid #ccc;
border-top: 4px solid transparent;
border-radius: 50%;
animation: spin 1s linear infinite;
}
@keyframes spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
.carousel {
width: 100%;
height: 90vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
background-color: white;
text-align: center;
padding: 16px;
box-sizing: border-box;
}
.slide {
display: flex;
flex-direction: column;
align-items: center;
width: 80%;
box-sizing: border-box;
}
.image-container {
width: 100%;
height: 60vh;
margin-bottom: 16px;
box-sizing: border-box;
}
.image-container img {
width: 100%;
height: 100%;
object-fit: cover;
}
.quote-info {
width: 100%;
text-align: left;
padding: 16px;
height: auto;
box-sizing: border-box;
}
.quote-info p {
margin: 0;
}
.quote-info .quote-text {
font-size: 1.5rem;
font-weight: 600;
}
.quote-info .quote-author {
font-size: 1.25rem;
font-style: italic;
margin-top: 8px;
}
.tags {
display: flex;
gap: 8px;
margin-top: 8px;
}
.tag {
background-color: #e2e2e2;
padding: 4px;
border-radius: 4px;
}
.controls {
display: flex;
flex-direction: column;
align-items: center;
margin-top: 32px;
}
.dots {
display: flex;
gap: 8px;
margin-bottom: 16px;
}
.dot {
width: 12px;
height: 12px;
border-radius: 50%;
background-color: #ccc;
}
.dot.active {
background-color: black;
}
.buttons {
display: flex;
gap: 16px;
}
button {
padding: 8px 16px;
background-color: #e2e2e2;
border: none;
border-radius: 4px;
cursor: pointer;
}
button:hover {
background-color: #ccc;
}