2022-09-30 16:18:49 +02:00
|
|
|
<template>
|
|
|
|
|
2022-12-08 15:17:39 +01:00
|
|
|
<div class="app">
|
2023-01-06 15:46:20 +01:00
|
|
|
<NuxtPage class="app__main" />
|
|
|
|
<AppFooter class="app__footer" />
|
2022-09-30 16:18:49 +02:00
|
|
|
</div>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script setup>
|
|
|
|
|
2023-01-06 15:46:20 +01:00
|
|
|
// --------------------------------------------------
|
|
|
|
// DATA
|
|
|
|
// --------------------------------------------------
|
|
|
|
|
|
|
|
const pageTitleChunk = useRoute().meta.pageTitleChunk;
|
|
|
|
|
|
|
|
// --------------------------------------------------
|
2022-09-30 16:18:49 +02:00
|
|
|
// HEAD
|
2023-01-06 15:46:20 +01:00
|
|
|
// --------------------------------------------------
|
|
|
|
|
|
|
|
useAppHead(pageTitleChunk);
|
2022-09-30 16:18:49 +02:00
|
|
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<style lang="scss">
|
|
|
|
|
2023-01-06 15:46:20 +01:00
|
|
|
// --------------------------------------------------
|
2022-09-30 16:18:49 +02:00
|
|
|
// MODULES
|
2023-01-06 15:46:20 +01:00
|
|
|
// --------------------------------------------------
|
2022-09-30 16:18:49 +02:00
|
|
|
|
|
|
|
@use 'minireset.css';
|
2022-12-08 15:17:39 +01:00
|
|
|
@use '~/assets/styles/fonts';
|
|
|
|
@use '~/assets/styles/variables';
|
|
|
|
@use '~/assets/styles/animations';
|
2022-09-30 16:18:49 +02:00
|
|
|
|
2023-01-06 15:46:20 +01:00
|
|
|
// --------------------------------------------------
|
|
|
|
// FONTS AND COLORS
|
|
|
|
// --------------------------------------------------
|
2022-09-30 16:18:49 +02:00
|
|
|
|
|
|
|
body {
|
|
|
|
font-family: var(--text-font-family);
|
|
|
|
font-size: var(--text-font-size);
|
2022-12-08 15:17:39 +01:00
|
|
|
font-weight: var(--regular-font-weight);
|
2023-01-10 10:28:09 +01:00
|
|
|
line-height: var(--line-height);
|
|
|
|
color: var(--secondary-color);
|
|
|
|
background-color: var(--primary-color);
|
2022-09-30 16:18:49 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
h1 {
|
|
|
|
font-family: var(--title-font-family);
|
|
|
|
font-size: var(--h1-font-size);
|
2022-12-08 15:17:39 +01:00
|
|
|
font-weight: var(--medium-font-weight);
|
2022-09-30 16:18:49 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
h2 {
|
2022-12-08 15:17:39 +01:00
|
|
|
font-family: var(--title-font-family);
|
2022-09-30 16:18:49 +02:00
|
|
|
font-size: var(--h2-font-size);
|
|
|
|
margin: 0 0 4rem 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
h3 {
|
|
|
|
font-family: var(--text-font-family);
|
|
|
|
font-size: var(--h3-font-size);
|
|
|
|
margin: 2rem 0 1rem 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
strong {
|
|
|
|
font-weight: var(--bold-font-weight);
|
|
|
|
}
|
|
|
|
|
|
|
|
em {
|
|
|
|
font-style: italic;
|
|
|
|
}
|
|
|
|
|
2023-01-06 15:46:20 +01:00
|
|
|
// --------------------------------------------------
|
|
|
|
// LINK STYLE
|
|
|
|
// --------------------------------------------------
|
2022-09-30 16:18:49 +02:00
|
|
|
|
|
|
|
a {
|
2023-01-10 10:28:09 +01:00
|
|
|
color: var(--secondary-color);
|
|
|
|
text-decoration: underline var(--accent-color);
|
2022-09-30 16:18:49 +02:00
|
|
|
border-radius: 2px;
|
|
|
|
transition: color 200ms ease-in-out;
|
|
|
|
|
|
|
|
&:hover,
|
|
|
|
&:focus,
|
|
|
|
&:active {
|
2023-01-10 10:28:09 +01:00
|
|
|
color: var(--accent-color);
|
2022-09-30 16:18:49 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
&:focus-visible {
|
2023-01-10 10:28:09 +01:00
|
|
|
outline: 1px dashed var(--accent-color);
|
2022-09-30 16:18:49 +02:00
|
|
|
outline-offset: 2px;
|
|
|
|
animation: expand-outline 200ms ease-in-out;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-01-10 10:28:09 +01:00
|
|
|
// --------------------------------------------------
|
|
|
|
// BUTTON STYLE
|
|
|
|
// --------------------------------------------------
|
|
|
|
|
|
|
|
button {
|
|
|
|
padding: 1rem 1.5rem;
|
|
|
|
color: var(--primary-color);
|
|
|
|
background-image: var(--button-gradient);
|
|
|
|
background-size: 100%;
|
|
|
|
background-position: right center;
|
|
|
|
border: none;
|
|
|
|
border-radius: 30px;
|
|
|
|
cursor: pointer;
|
|
|
|
font-family: var(--text-font-family);
|
|
|
|
font-size: var(--text-font-size);
|
|
|
|
font-weight: var(--semi-bold-font-weight);
|
|
|
|
line-height: var(--line-height);
|
|
|
|
text-align: center;
|
|
|
|
transition: background-size 200ms ease-in-out;
|
|
|
|
|
|
|
|
&:hover,
|
|
|
|
&:focus,
|
|
|
|
&:active {
|
|
|
|
background-size: 300%;
|
|
|
|
}
|
|
|
|
|
|
|
|
&:focus-visible {
|
|
|
|
outline: 1px dashed var(--accent-color);
|
|
|
|
outline-offset: 4px;
|
|
|
|
animation: expand-outline 200ms ease-in-out;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-01-06 15:46:20 +01:00
|
|
|
// --------------------------------------------------
|
|
|
|
// LAYOUT
|
|
|
|
// --------------------------------------------------
|
2022-12-08 15:17:39 +01:00
|
|
|
|
|
|
|
.app {
|
|
|
|
min-height: 100vh;
|
|
|
|
display: grid;
|
|
|
|
grid:
|
|
|
|
'app-main' 1fr
|
|
|
|
'app-footer' auto
|
|
|
|
/ 1fr;
|
|
|
|
place-items: center;
|
|
|
|
|
|
|
|
&__main {
|
|
|
|
grid-area: app-main;
|
|
|
|
}
|
|
|
|
|
|
|
|
&__footer {
|
|
|
|
grid-area: app-footer;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2022-09-30 16:18:49 +02:00
|
|
|
</style>
|