/*
* Project: Beacon
* File: styles.css
* Date: 2026-06-09
* Author: Steffen Haase <shworx.development@gmail.com
* Copyright: 2026 SHWorX (Steffen Haase)
*/
body {
background: var(--bg);
color: var(--text);
font-family: Inter, sans-serif;
min-height: 100vh;
margin-left: 6%;
margin-right: 6%;
}
header {
height: 80px;
display: flex;
justify-content: space-between;
align-items: center;
border-bottom: 1px solid var(--text-light);
position: sticky;
top: 0;
padding: var(--space-xs) 0;
background: var(--surface);
isolation: isolate;
-webkit-backdrop-filter: blur(8px);
backdrop-filter: blur(8px);
transform: translateZ(0);
z-index: 9999;
}
main {
padding: var(--space-md) 0;
margin-bottom: var(--space-lg);
}
footer {
position: fixed;
bottom: 0;
left: 0;
right: 0;
margin-left: 6%;
margin-right: 6%;
padding: var(--space-xs) 0;
border-top: 1px solid var(--text-light);
font-size: 0.8rem;
display: flex;
justify-content: space-between;
background: var(--surface);
-webkit-backdrop-filter: blur(8px);
backdrop-filter: blur(8px);
transform: translateZ(0);
}
nav {
display: flex;
gap: 24px;
position: relative;
}
nav a {
font-weight: 700;
letter-spacing: 2px;
color: var(--text);
text-decoration: none;
transition: 0.3s ease;
position: relative;
margin-right: var(--space-md);
}
nav a::after {
content: "";
position: absolute;
left: 0;
bottom: -6px;
width: 0;
height: 2px;
background: var(--text);
transition: width 0.3s ease;
}
nav a:hover {
color: var(--text);
}
nav a:hover::after {
width: 100%;
}
section.login {
width: 400px;
margin: 6% auto;
}
.active::after {
content: "";
position: absolute;
left: 0;
bottom: -6px;
width: 100%;
height: 2px;
background: var(--text);
transition: width 0.3s ease;
}
.logo {
display: flex;
justify-content: start;
align-items: center;
}
.logo a {
text-decoration: none;
color: var(--text);
}
.app-name {
font-weight: 700;
font-size: 3rem;
margin-left: var(--space-sm);
letter-spacing: .9rem;
}
.app-slogan {
font-weight: normal;
font-size: .8rem;
margin-left: var(--space-sm);
border-top: 1px solid var(--text-light);
}
.hero-text h1 {
margin-bottom: var(--space-sm);
}
#about-beacon {
max-width: 900px;
}
#features {
min-width: 400px;
}
#password_mismatch {
display: none;
}
.logo-brand-slogan {
object-fit: cover;
}
/* =========================
MOBILE
========================= */
@media (max-width: 900px) {
body {
padding: 2% 0;
}
header {
height: 120px;
}
.app-name {
font-size: 3rem;
}
#about-beacon {
text-align: unset;
}
}
@media (max-width: 768px) {
header {
position: unset;
margin-bottom: var(--space-md);
padding-bottom: var(--space-xs);
}
header,
footer {
flex-direction: column;
gap: 5px;
position: unset;
bottom: 0;
left: unset;
right: unset;
margin-left: unset;
margin-right: unset;
}
.nav {
margin-bottom: var(--space-md);
}
footer div {
text-align: center;
}
.card p {
margin-bottom: var(--space-sm);
}
}
|