:root {
--section-padding: 7.5vh 10vw;
}
.error-404 {
min-height: 70vh;
display: flex;
align-items: center;
justify-content: center;
padding: var(--section-padding);
background-color: var(--surface);
}
.error-container {
width: 100%;
max-width: 600px;
margin: 0 auto;
}
.error-content {
display: flex;
flex-direction: column;
align-items: center;
gap: 3vh;
text-align: center;
}
.error-image {
width: 120px;
height: 120px;
margin-bottom: 2vh;
animation: float 3s ease-in-out infinite;
}
.error-image svg {
width: 100%;
height: 100%;
}
.error-404 h1 {
font-size: 64px;
line-height: 1.2;
font-weight: var(--bold-weight);
color: var(--primary);
margin: 0;
}
.error-404 .subtitle {
font-size: var(--display-small-font-size);
line-height: var(--display-small-line-height);
font-weight: var(--bold-weight);
color: var(--on-surface);
margin: 0;
}
.error-404 .description {
font-size: var(--body-large-font-size);
line-height: var(--body-large-line-height);
color: var(--on-surface);
margin: 2vh 0;
}
.error-404 .seo-suggestions {
display: flex;
flex-direction: column;
gap: 2vh;
width: 100%;
margin-top: 2vh;
}
.error-404 .home-button {
display: inline-flex;
align-items: center;
justify-content: center;
padding: var(--outlined-button-padding-vertical) var(--outlined-button-padding-horizontal);
border-radius: var(--outlined-button-padding-border-radius);
border: 2.5px solid var(--primary);
background-color: var(--surface-container);
color: var(--on-surface);
font-size: var(--headline-large-font-size);
line-height: var(--headline-large-line-height);
font-weight: 500;
text-decoration: none;
transition: all 0.3s ease;
}
#post-content {
padding: var(--section-padding);
}
#post-content h1 {
margin: 3rem 0;
}
#post-content h2 {
margin: 2rem 0;
}
#post-content h3 {
margin: 1rem 0;
}
@media screen and (min-width: 768px) {
.error-image {
width: 150px;
height: 150px;
}
.error-404 h1 {
font-size: 96px;
}
.error-404 .seo-suggestions {
flex-direction: row;
justify-content: center;
}
}
@media screen and (min-width: 1024px) {
:root {
--section-padding: 8vh 14vw;
}
.error-image {
width: 180px;
height: 180px;
}
.error-404 h1 {
font-size: 120px;
}
}.jpo-overlay {
width: 100%;
height: 100%;
position: fixed;
inset: 0;
background: rgba(0, 0, 0, 0.6);
display: none;
align-items: center;
justify-content: center;
z-index: 9999;
animation: fade_in_show 0.3s ease-out;
padding: 12px;
}
.jpo-frontpage-headline {
color : var(--primary);
}
.jpo-overlay p, .jpo-overlay h2 {
text-align: center;
}
.jpo-frontpage-section-title {
color: var(--secondary);
}
.jpo-overlay .jpo-link {
color: var(--primary);
text-decoration: none;
font-weight: var(--bold-weight);
} .jpo-frontpage {
background-color: var(--surface-container);
color: var(--on-surface);
width: 100%;
max-width: 880px;
padding: 14px 10px;
border-radius: 3px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
position: relative;
font-family: 'SansSerifFLF', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
display: flex;
flex-direction: column;
} .jpo-close {
position: absolute;
top: 8px;
right: 10px;
border: none;
background: transparent;
color: var(--on-surface-var);
font-size: 20px;
cursor: pointer;
line-height: 1;
} .jpo-frontpage-rule {
margin: 10px 0;
border-top: 2px solid var(--primary);
} .jpo-frontpage-body {
display: block;
padding: 0 4vw;
}
.jpo-frontpage-col-main {
padding-right: 0;
border-right: none;
} .jpo-frontpage-dates {
padding: 10px 4vw;
}
.jpo-frontpage-dates-list {
display: flex;
flex-direction: column;
gap: 4px;
}
.jpo-frontpage-date-item {
display: flex;
justify-content: center;
}
.jpo-frontpage-date-city {
text-transform: uppercase;
letter-spacing: 0.08em;
}
.jpo-frontpage-date-time {
margin-left: 0.5em;
} .jpo-frontpage-footer {
padding-top: 8px;
display: flex;
flex-direction: column;
align-items: center;
gap: 10px;
}
.jpo-frontpage-cta {
padding: 10px 22px;
width: 100%;
text-align: center;
} @media screen and (min-width: 600px) {
.jpo-frontpage-footer {
flex-direction: row;
justify-content: center;
gap: 16px;
}
.jpo-frontpage-cta {
width: auto;
}
} @media screen and (min-width: 900px) {
.jpo-frontpage {
padding: 20px 32px;
max-width: 800px;
}
}