Build and Deploy Verso / deploy (push) Successful in 14m28s
- Move min-height:100vh from body to html:has(body[data-lumiere]) so the gradient fills the viewport on short pages without inflating document height or pushing the footer below the fold - Remove min-height:60vh from .error-container (was causing scrollbar on 404 when combined with thin footer) - Replace Bootstrap 3 navbar selectors (.navbar-nav > li > a) with CSS custom property overrides (--navbar-link-color, --navbar-link-hover-*, --navbar-bg, etc.) consumed by navbar.scss — fixes header button colours - Remove position:relative from .navbar-default override; base CSS already has position:absolute which provides the stacking context for ::before - Drop proxy_request_buffering off from upload location: buffered mode + global client_body_timeout 15m (nginx.conf.template) is more compatible with multer's multipart stream handling on slow connections Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
92 lines
1.7 KiB
SCSS
92 lines
1.7 KiB
SCSS
// Lumière-themed overrides for 404 / error pages.
|
|
// $lum-* vars are declared in project-list-lumiere.scss which is imported
|
|
// earlier in all.scss, so they are available here.
|
|
[data-lumiere='true'] {
|
|
.error-container {
|
|
justify-content: center;
|
|
}
|
|
|
|
.error-details {
|
|
background: rgba(255, 255, 255, 0.88);
|
|
border-radius: 16px;
|
|
padding: 3rem;
|
|
box-shadow: 0 4px 24px rgba(42, 157, 143, 0.12);
|
|
}
|
|
|
|
.error-status {
|
|
color: #2a9d8f;
|
|
}
|
|
|
|
.error-description {
|
|
color: #64748b;
|
|
}
|
|
|
|
.error-btn {
|
|
background: #2a9d8f !important;
|
|
border-color: #2a9d8f !important;
|
|
border-radius: 8px;
|
|
|
|
&:hover {
|
|
background: #21867a !important;
|
|
border-color: #21867a !important;
|
|
}
|
|
}
|
|
}
|
|
|
|
.error-container {
|
|
display: flex;
|
|
align-items: center;
|
|
|
|
&.full-height {
|
|
margin-top: calc(-1 * ($header-height + var(--spacing-08)) / 2);
|
|
}
|
|
|
|
.error-details {
|
|
flex: 1 1 50%;
|
|
padding: var(--spacing-08);
|
|
max-width: 90%;
|
|
|
|
@include media-breakpoint-up(sm) {
|
|
padding: var(--spacing-11);
|
|
}
|
|
}
|
|
|
|
.error-status {
|
|
@include heading-lg;
|
|
|
|
margin-bottom: var(--spacing-08);
|
|
color: var(--content-secondary);
|
|
}
|
|
|
|
.error-description {
|
|
@include heading-sm;
|
|
|
|
color: var(--content-disabled-dark);
|
|
margin-bottom: var(--spacing-08);
|
|
}
|
|
|
|
.error-box {
|
|
background-color: var(--bg-light-tertiary);
|
|
padding: var(--spacing-04);
|
|
font-family: $font-family-monospace;
|
|
margin-bottom: var(--spacing-08);
|
|
}
|
|
|
|
.error-actions {
|
|
margin-top: var(--spacing-11);
|
|
display: flex;
|
|
gap: var(--spacing-06);
|
|
}
|
|
|
|
.error-btn {
|
|
@extend .btn;
|
|
@extend .btn-primary;
|
|
|
|
display: block;
|
|
|
|
@include media-breakpoint-up(sm) {
|
|
display: inline-block;
|
|
}
|
|
}
|
|
}
|