fabledsword_com/_sass/main.scss
2025-11-11 15:56:20 -05:00

232 lines
4.4 KiB
SCSS

/* ===============================
0) Design Tokens (CSS vars)
=============================== */
:root {
/* Colors */
--color-primary: rgb(199, 0, 0);
--color-secondary: rgb(145, 145, 145);
--color-accent: rgb(201, 107, 0);
--color-background: rgb(153, 153, 153);
/* Commonly reused values from your styles */
--color-text: rgb(190, 190, 190);
--panel-bg: rgba(0, 0, 0, 0.5);
--panel-hover-bg: rgb(100, 100, 100);
/* Layout */
--width-max: 1400px;
}
/* ===============================
1) Base / Global
=============================== */
body {
background-image: url('/assets/images/fabled_background.jpg');
margin: 0;
display: flex;
align-items: center;
flex-direction: column;
}
h2 { margin: 0; }
main h1 {
text-align: center;
margin: 0;
}
/* ===============================
2) Shell / Main View
=============================== */
.main-view {
display: flex;
gap: 0.5em;
width: 90%;
max-width: var(--width-max);
height: 93vh;
background-color: rgba(255, 255, 255, 0.452);
padding: 1em;
border-radius: 0 0 1em 1em;
}
/* ===============================
3) Navigation
=============================== */
.nav-div {
width: 100%;
background-color: rgba(17, 0, 0, 0.9);
display: flex;
justify-content: center;
}
nav {
width: 90vw;
max-width: var(--width-max);
display: flex;
justify-content: center;
a {
color: #fff;
padding: 0.7em 1em;
border-radius: 8px;
text-decoration: none;
transition: background-color 0.3s ease;
&:hover { background-color: rgba(250, 250, 250, 0.3); }
}
}
.nav-current { color: var(--color-primary); }
/* ===============================
4) Sidebar
=============================== */
.sidebar {
width: 22vw;
max-width: 260px;
flex: 0 0 22vw;
background: var(--panel-bg);
padding: 1em;
border-radius: 0.5em 0 0 0.5em;
color: var(--color-text);
h2 { text-align: center; }
.sidebar-item {
background-color: var(--panel-bg);
padding: 1em;
border-radius: 0.5em;
&:hover { background-color: var(--panel-hover-bg); }
}
.news-list {
list-style: none;
padding: 0;
margin: 0.5rem 0 0;
li { margin: 0.4rem 0; }
small {
display: block;
opacity: 0.7;
font-size: 0.85rem;
}
a {
text-decoration: none;
color: var(--color-text);
}
}
}
/* ===============================
5) Main Content Area
=============================== */
.main {
flex: 1 1 auto;
min-width: 0;
background-color: var(--panel-bg);
color: var(--color-text);
border-radius: 0 0.5em 0.5em 0;
padding: 2.5em;
}
/* ===============================
6) Posts (lists, items, tags)
=============================== */
.post-list {
a {
text-decoration: none;
color: var(--color-text);
padding: 1em;
}
}
.post-item {
background-color: var(--panel-bg);
padding: 2em;
border-radius: 0.5em;
&:hover { background-color: rgba(100, 100, 100, 1); }
}
.post-tags {
list-style: none;
padding: 0;
margin: 0.25rem 0 1rem;
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
li {
font-size: 0.85rem;
padding: 0.15rem 0.5rem;
border: 1px solid #e5e7eb;
border-radius: 1rem;
background: #f8fafc;
}
}
/* ===============================
7) Page-level meta / tags
=============================== */
.page-meta { text-align: center; }
.page-tags {
list-style: none;
padding: 0;
margin: 0.25rem 0 1rem;
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
justify-content: center;
li {
font-size: 0.85rem;
padding: 0.15rem 0.5rem;
border: 1px solid #e5e7eb;
border-radius: 1rem;
background: #f8fafc;
}
}
/* ===============================
8) Staff Page
=============================== */
.staff-list {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
gap: 1.5rem;
padding: 1rem 0;
}
.staff-card {
background-color: var(--panel-bg);
color: var(--color-text);
padding: 1.5rem;
border-radius: 0.5rem;
text-align: center;
transition: background-color 0.3s ease;
border: 1px solid rgba(255, 255, 255, 0.05);
&:hover {
background-color: var(--panel-hover-bg);
}
.staff-name {
margin: 0;
color: var(--color-accent);
}
.staff-position {
margin: 0.25rem 0 1rem;
font-weight: 400;
color: var(--color-secondary);
}
.staff-bio {
font-size: 0.95rem;
line-height: 1.5;
}
}