Files
web7sys/website-7sys/css/footer.css
2024-11-03 05:57:56 +01:00

181 lines
3.4 KiB
CSS

/* Footer */
footer {
background: var(--bg-primary);
border-top: 1px solid var(--border-color);
padding: var(--space-xl) 0;
margin-top: var(--space-2xl);
}
/* Footer Content */
.footer-content {
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
gap: var(--space-md);
}
/* Footer Left */
.footer-left {
color: var(--text-color);
opacity: 0.9;
}
/* Footer Right */
.footer-right {
display: flex;
gap: var(--space-lg);
}
/* Footer Links */
.footer-link {
color: var(--text-color);
text-decoration: none;
padding: var(--space-xs) var(--space-sm);
border-radius: var(--border-radius-sm);
transition: all var(--transition-base);
position: relative;
}
.footer-link::after {
content: '';
position: absolute;
bottom: 0;
left: var(--space-sm);
right: var(--space-sm);
height: 2px;
background: var(--accent-color);
transform: scaleX(0);
transform-origin: center;
transition: transform var(--transition-base);
}
.footer-link:hover {
color: var(--accent-color);
}
.footer-link:hover::after {
transform: scaleX(1);
}
/* Social Links */
.social-links {
display: flex;
gap: var(--space-md);
margin-top: var(--space-lg);
}
.social-link {
width: 36px;
height: 36px;
border-radius: var(--border-radius-full);
background: var(--card-bg);
display: flex;
align-items: center;
justify-content: center;
color: var(--text-color);
text-decoration: none;
transition: all var(--transition-base);
}
.social-link:hover {
background: var(--accent-color);
color: white;
transform: translateY(-2px);
}
/* Back to Top Button */
.back-to-top {
position: fixed;
bottom: var(--space-lg);
right: var(--space-lg);
width: 44px;
height: 44px;
background: var(--accent-color);
color: white;
border: none;
border-radius: var(--border-radius-full);
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
opacity: 0;
visibility: hidden;
transform: translateY(10px);
transition: all var(--transition-base);
z-index: var(--z-sticky);
}
.back-to-top.visible {
opacity: 1;
visibility: visible;
transform: translateY(0);
}
.back-to-top:hover {
background: var(--accent-blue);
transform: translateY(-2px);
}
/* Responsive Design */
@media (max-width: 768px) {
.footer-content {
flex-direction: column;
text-align: center;
gap: var(--space-lg);
}
.footer-right {
flex-direction: column;
gap: var(--space-md);
}
.back-to-top {
bottom: var(--space-md);
right: var(--space-md);
}
}
/* High Contrast Mode */
@media (forced-colors: active) {
footer {
border-top: 1px solid CanvasText;
}
.footer-link::after {
background: CanvasText;
}
.social-link {
border: 1px solid CanvasText;
}
}
/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
.footer-link,
.social-link,
.back-to-top {
transition: none;
}
.footer-link:hover::after {
transition: none;
}
.social-link:hover,
.back-to-top:hover {
transform: none;
}
}
/* Dark Theme Specific */
.dark-theme footer {
background: var(--dark-main);
}
/* Light Theme Specific */
.light-theme footer {
background: var(--light-main);
}