49 lines
1.2 KiB
Vue
49 lines
1.2 KiB
Vue
<template>
|
|
<div class="fullscreen-error text-center">
|
|
<div>
|
|
<div class="error-code">404</div>
|
|
<div class="error-message">Oops. Nothing here...</div>
|
|
<router-link to="/" class="btn btn-primary mt-3">Go Home</router-link>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script setup lang="ts">
|
|
// No script logic needed for this simple page
|
|
</script>
|
|
|
|
<style scoped>
|
|
.fullscreen-error {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
min-height: 100vh; /* Fallback for browsers that don't support dvh */
|
|
min-height: 100dvh;
|
|
background-color: var(--secondary-accent); /* Light Blue */
|
|
color: var(--dark);
|
|
padding: 2rem;
|
|
font-family: "Patrick Hand", cursive;
|
|
}
|
|
|
|
.error-code {
|
|
font-size: clamp(15vh, 25vw, 30vh); /* Responsive font size */
|
|
font-weight: bold;
|
|
color: var(--primary);
|
|
line-height: 1;
|
|
text-shadow: var(--shadow-md);
|
|
}
|
|
|
|
.error-message {
|
|
font-size: clamp(1.5rem, 4vw, 2.5rem);
|
|
opacity: 0.8;
|
|
margin-top: -1rem; /* Adjust based on font size */
|
|
margin-bottom: 2rem;
|
|
}
|
|
|
|
.btn-primary {
|
|
/* Ensure primary button styles are applied if not already by global .btn */
|
|
background-color: var(--primary);
|
|
color: var(--dark);
|
|
}
|
|
.mt-3 { margin-top: 1.5rem; }
|
|
</style> |