201 lines
5.0 KiB
CSS
201 lines
5.0 KiB
CSS
|
|
/* ========================================
|
||
|
|
Scroll Direction - Hide/Show Header
|
||
|
|
======================================== */
|
||
|
|
|
||
|
|
/* Add smooth transition to header elements */
|
||
|
|
.action-bar,
|
||
|
|
.navigation-menu {
|
||
|
|
transition: transform 0.3s ease-in-out;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Hide header when scrolling down */
|
||
|
|
.action-bar.header-hidden {
|
||
|
|
transform: translateY(-100%);
|
||
|
|
}
|
||
|
|
|
||
|
|
.navigation-menu.header-hidden {
|
||
|
|
transform: translateY(-100%);
|
||
|
|
}
|
||
|
|
|
||
|
|
/* ========================================
|
||
|
|
Back to Top Button
|
||
|
|
======================================== */
|
||
|
|
|
||
|
|
.back-to-top {
|
||
|
|
position: fixed;
|
||
|
|
bottom: 2rem;
|
||
|
|
right: 2rem;
|
||
|
|
width: 50px;
|
||
|
|
height: 50px;
|
||
|
|
background: var(--black-bar);
|
||
|
|
color: white;
|
||
|
|
border: none;
|
||
|
|
border-radius: 50%;
|
||
|
|
cursor: pointer;
|
||
|
|
display: flex;
|
||
|
|
align-items: center;
|
||
|
|
justify-content: center;
|
||
|
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
|
||
|
|
z-index: 99;
|
||
|
|
transition: all 0.3s ease;
|
||
|
|
opacity: 0.2;
|
||
|
|
}
|
||
|
|
|
||
|
|
.back-to-top:hover {
|
||
|
|
opacity: 1;
|
||
|
|
transform: translateY(-3px);
|
||
|
|
box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4);
|
||
|
|
background: #27ae60;
|
||
|
|
}
|
||
|
|
|
||
|
|
.back-to-top.at-bottom {
|
||
|
|
opacity: 1;
|
||
|
|
background: #27ae60;
|
||
|
|
}
|
||
|
|
|
||
|
|
.back-to-top:active {
|
||
|
|
transform: translateY(-1px);
|
||
|
|
box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Mobile adjustments */
|
||
|
|
@media (max-width: 768px) {
|
||
|
|
.back-to-top {
|
||
|
|
bottom: 1.5rem;
|
||
|
|
right: 1.5rem;
|
||
|
|
width: 45px;
|
||
|
|
height: 45px;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/* ========================================
|
||
|
|
Info Button (Bottom Left)
|
||
|
|
======================================== */
|
||
|
|
|
||
|
|
.info-button {
|
||
|
|
position: fixed;
|
||
|
|
bottom: 2rem;
|
||
|
|
left: 2rem;
|
||
|
|
width: 50px;
|
||
|
|
height: 50px;
|
||
|
|
background: var(--black-bar);
|
||
|
|
color: white;
|
||
|
|
border: none;
|
||
|
|
border-radius: 50%;
|
||
|
|
cursor: pointer;
|
||
|
|
display: flex;
|
||
|
|
align-items: center;
|
||
|
|
justify-content: center;
|
||
|
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
|
||
|
|
z-index: 99;
|
||
|
|
transition: all 0.3s ease;
|
||
|
|
opacity: 0.6; /* Increased from 0.2 for better discoverability */
|
||
|
|
}
|
||
|
|
|
||
|
|
.info-button:hover {
|
||
|
|
opacity: 1;
|
||
|
|
transform: translateY(-3px);
|
||
|
|
box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4);
|
||
|
|
background: #27ae60;
|
||
|
|
}
|
||
|
|
|
||
|
|
.info-button.at-bottom {
|
||
|
|
opacity: 1;
|
||
|
|
background: #27ae60;
|
||
|
|
}
|
||
|
|
|
||
|
|
.info-button:active {
|
||
|
|
transform: translateY(-1px);
|
||
|
|
box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Mobile adjustments - Flexbox button layout at bottom center */
|
||
|
|
@media (max-width: 900px) {
|
||
|
|
/* Hide only zoom control on mobile */
|
||
|
|
.zoom-toggle-btn,
|
||
|
|
.zoom-control {
|
||
|
|
display: none !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Reset fixed positioning for FLEXBOX buttons on mobile (exclude back-to-top) */
|
||
|
|
.download-btn,
|
||
|
|
.print-friendly-btn,
|
||
|
|
.shortcuts-btn,
|
||
|
|
.info-button {
|
||
|
|
position: fixed !important;
|
||
|
|
bottom: 1.5rem !important;
|
||
|
|
left: auto !important;
|
||
|
|
right: auto !important;
|
||
|
|
width: 50px !important;
|
||
|
|
height: 50px !important;
|
||
|
|
opacity: 0.7 !important;
|
||
|
|
transform: none !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Keep back-to-top button at bottom-right (same as desktop) */
|
||
|
|
.back-to-top {
|
||
|
|
position: fixed !important;
|
||
|
|
bottom: 1.5rem !important;
|
||
|
|
right: 1.5rem !important;
|
||
|
|
width: 50px !important;
|
||
|
|
height: 50px !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Flexbox container behavior - buttons arrange themselves */
|
||
|
|
/* Buttons will be positioned using JavaScript or individual positioning */
|
||
|
|
/* For now, use fixed spacing from center */
|
||
|
|
|
||
|
|
/* 5 buttons: Download, Print, Shortcuts, Theme, Info */
|
||
|
|
/* Spacing: 10px gap between buttons, centered horizontally */
|
||
|
|
/* Total width: 5 * 50px + 4 * 10px = 290px */
|
||
|
|
/* Start position: 50% - 145px */
|
||
|
|
|
||
|
|
.download-btn {
|
||
|
|
left: calc(50% - 145px) !important; /* First button */
|
||
|
|
}
|
||
|
|
|
||
|
|
.print-friendly-btn {
|
||
|
|
left: calc(50% - 85px) !important; /* Second button */
|
||
|
|
}
|
||
|
|
|
||
|
|
.shortcuts-btn {
|
||
|
|
left: calc(50% - 25px) !important; /* Third button */
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Theme switcher button - fourth position (defined in color-theme.css) */
|
||
|
|
/* left: calc(50% + 35px) !important; */
|
||
|
|
|
||
|
|
.info-button {
|
||
|
|
left: calc(50% + 95px) !important; /* Fifth button (last) */
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Hover effects - only Y transform + enhanced shadow */
|
||
|
|
.download-btn:hover,
|
||
|
|
.download-btn.pdf-hover-sync,
|
||
|
|
.print-friendly-btn:hover,
|
||
|
|
.print-friendly-btn.print-hover-sync,
|
||
|
|
.shortcuts-btn:hover,
|
||
|
|
.info-button:hover,
|
||
|
|
.back-to-top:hover {
|
||
|
|
transform: translateY(-3px) !important;
|
||
|
|
opacity: 1 !important;
|
||
|
|
box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4) !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Keep at-bottom state without transform */
|
||
|
|
.info-button.at-bottom,
|
||
|
|
.shortcuts-btn.at-bottom {
|
||
|
|
opacity: 1 !important;
|
||
|
|
transform: none !important;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Very narrow mobile - Move back-to-top UP on RIGHT side to avoid overlap */
|
||
|
|
@media (max-width: 483px) {
|
||
|
|
.back-to-top {
|
||
|
|
/* Stay on RIGHT side, just move UP higher */
|
||
|
|
right: 1.5rem !important;
|
||
|
|
bottom: 5.5rem !important; /* Higher position to clear bottom button row */
|
||
|
|
}
|
||
|
|
}
|