Template:Main Page/shared/styles.css: Difference between revisions
Template page
More actions
Content deleted Content added
DivošiRunner (talk | contribs) Add hover-only red glow to search bar and restore card spacing |
DivošiRunner (talk | contribs) Refine main page hero and meta rail while consolidating shared styles |
||
| Line 1: | Line 1: | ||
/* Main page shared styles |
|||
/* Created & Original at https://starcitizen.tools |
|||
Attribution: some structural and motion ideas in this stylesheet were adapted from |
|||
All credits go to them */ |
|||
Citizen-based homepage implementations on starcitizen.tools and prismparty.net, |
|||
then rewritten and adjusted for Echoes of the Flesh. */ |
|||
/* Main page header */ |
/* Main page header */ |
||
.home-header { |
.home-header { |
||
position: relative; |
position: relative; |
||
overflow: hidden; |
|||
padding-block: 3.5rem; |
|||
padding: 3.5rem 1.25rem 2.75rem; |
|||
line-height: var( --line-height-xx-small ); |
line-height: var( --line-height-xx-small ); |
||
text-align: center; |
text-align: center; |
||
} |
|||
.home-header::before { |
|||
content: ""; |
|||
position: absolute; |
|||
inset: 0; |
|||
border: 1px solid rgba( 128, 42, 48, 0.22 ); |
|||
border-radius: 1.25rem; |
|||
background: |
|||
radial-gradient( circle at top, rgba( 128, 18, 28, 0.2 ), transparent 55% ), |
|||
linear-gradient( 180deg, rgba( 18, 7, 10, 0.94 ), rgba( 10, 12, 18, 0.72 ) ); |
|||
pointer-events: none; |
|||
} |
|||
.home-header > * { |
|||
position: relative; |
|||
z-index: 1; |
|||
} |
} |
||
| Line 29: | Line 49: | ||
margin-top: var( --space-xxs ); |
margin-top: var( --space-xxs ); |
||
color: var( --color-subtle ); |
color: var( --color-subtle ); |
||
font-size: var( --font-size-small ); |
|||
} |
|||
.home-header__status { |
|||
display: inline-flex; |
|||
flex-wrap: wrap; |
|||
gap: 0.5rem; |
|||
align-items: center; |
|||
justify-content: center; |
|||
margin-top: 0.9rem; |
|||
padding: 0.45rem 0.8rem; |
|||
border: 1px solid rgba( 137, 42, 48, 0.24 ); |
|||
border-radius: 999px; |
|||
background: rgba( 18, 13, 18, 0.72 ); |
|||
} |
|||
.home-header__statusLabel { |
|||
color: #d79599; |
|||
font-size: var( --font-size-x-small ); |
|||
letter-spacing: 0.08em; |
|||
text-transform: uppercase; |
|||
} |
|||
.home-header__statusText { |
|||
color: var( --color-base ); |
|||
font-size: var( --font-size-small ); |
font-size: var( --font-size-small ); |
||
} |
} |
||
| Line 47: | Line 92: | ||
font-weight: var( --font-weight-medium ); |
font-weight: var( --font-weight-medium ); |
||
text-align: center; |
text-align: center; |
||
transition: background 180ms ease, border-color 180ms ease; |
|||
} |
} |
||
/* Attribution: the animated hover-glow treatment here was inspired by the |
|||
Citizen homepage search affordance on starcitizen.tools, with a custom red palette. */ |
|||
.home-header__search::before { |
.home-header__search::before { |
||
content: ""; |
content: ""; |
||
| Line 105: | Line 153: | ||
} |
} |
||
html.skin-citizen-dark .home-header:before, |
|||
html.skin-citizen-dark .home-header__searchIcon img { |
html.skin-citizen-dark .home-header__searchIcon img { |
||
filter: invert( 1 ); |
filter: invert( 1 ); |
||
| Line 125: | Line 172: | ||
} |
} |
||
@media (min-width: 760px) { |
@media ( min-width: 760px ) { |
||
.main-home-grid { |
.main-home-grid { |
||
grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.95fr); |
grid-template-columns: minmax( 0, 1.45fr ) minmax( 320px, 0.95fr ); |
||
grid-template-areas: "article widgets"; |
grid-template-areas: "article widgets"; |
||
align-items: start; |
align-items: start; |
||
| Line 160: | Line 207: | ||
} |
} |
||
@media (min-width: 700px) { |
@media ( min-width: 700px ) { |
||
.sub-home-grid { |
.sub-home-grid { |
||
grid-template-columns: 1fr 1fr; |
grid-template-columns: 1fr 1fr; |
||
| Line 169: | Line 216: | ||
.home-grid { |
.home-grid { |
||
display: grid; |
display: grid; |
||
grid: auto-flow dense/repeat( auto-fit, minmax( 9.375rem, 1fr ) ); |
grid: auto-flow dense / repeat( auto-fit, minmax( 9.375rem, 1fr ) ); |
||
grid-auto-rows: minmax( 3rem, auto ); |
grid-auto-rows: minmax( 3rem, auto ); |
||
grid-gap: var( --space-xs ); |
grid-gap: var( --space-xs ); |
||
| Line 184: | Line 231: | ||
.home-badge { |
.home-badge { |
||
display: flex; |
display: flex; |
||
gap: var(--space-xxs); |
gap: var( --space-xxs ); |
||
font-size: var(--font-size-x-small); |
font-size: var( --font-size-x-small ); |
||
padding: var(--space-xxs) var(--space-xs); |
padding: var( --space-xxs ) var( --space-xs ); |
||
background: var(--color-surface-2); |
background: var( --color-surface-2 ); |
||
color: var(--color-base); |
color: var( --color-base ); |
||
border-radius: var(--border-radius-base); |
border-radius: var( --border-radius-base ); |
||
font-weight: var(--font-weight-normal); |
font-weight: var( --font-weight-normal ); |
||
letter-spacing: 0.025em; |
letter-spacing: 0.025em; |
||
line-height: var(--line-height-xxx-small); |
line-height: var( --line-height-xxx-small ); |
||
} |
|||
.home-card, |
|||
.home-meta__item { |
|||
box-shadow: 0 12px 32px rgba( 5, 5, 8, 0.22 ); |
|||
} |
} |
||
| Line 251: | Line 303: | ||
.home-card__header a:after { |
.home-card__header a:after { |
||
content: |
content: "▶"; |
||
font-size: var( --font-size-x-small ); |
font-size: var( --font-size-x-small ); |
||
} |
} |
||
| Line 265: | Line 317: | ||
inset: 0; |
inset: 0; |
||
display: block; |
display: block; |
||
background: linear-gradient(to right,#000,transparent); |
background: linear-gradient( to right, #000, transparent ); |
||
content: ""; |
content: ""; |
||
transition: transform 250ms ease; |
transition: transform 250ms ease; |
||
| Line 426: | Line 478: | ||
} |
} |
||
/* Attribution: the footer utility rail borrows the "compact maintenance links" |
|||
#home-card-discord { |
|||
idea from Citizen-theme main pages like starcitizen.tools, but uses original copy and styling. */ |
|||
background: #5865f2; |
|||
.home-meta { |
|||
display: grid; |
|||
gap: 0.75rem; |
|||
margin-top: 1rem; |
|||
} |
} |
||
@media ( min-width: 860px ) { |
|||
#home-card-patreon { |
|||
.home-meta { |
|||
background: #ff424d; |
|||
grid-template-columns: 1.2fr 0.8fr 0.9fr; |
|||
} |
|||
} |
} |
||
.home-meta__item { |
|||
padding: 0.95rem 1rem; |
|||
background: #ff5e5b; |
|||
border: 1px solid var( --border-color-base ); |
|||
border-radius: var( --border-radius-medium ); |
|||
background: linear-gradient( 180deg, rgba( 19, 20, 27, 0.94 ), rgba( 11, 12, 17, 0.98 ) ); |
|||
} |
} |
||
.home-meta__label { |
|||
margin-bottom: 0.35rem; |
|||
background: #ff4500; |
|||
color: #c48a8f; |
|||
font-size: var( --font-size-x-small ); |
|||
letter-spacing: 0.08em; |
|||
text-transform: uppercase; |
|||
} |
} |
||
.home- |
.home-meta__text, |
||
.home-meta__actions { |
|||
font-size: var( --font-size-small ); |
font-size: var( --font-size-small ); |
||
line-height: 1.5; |
|||
font-family: var( --font-family-monospace ); |
|||
} |
|||
text-align: center; |
|||
.home-meta__actions { |
|||
display: flex; |
|||
flex-wrap: wrap; |
|||
gap: 0.5rem; |
|||
} |
|||
.home-meta__actions a { |
|||
display: inline-flex; |
|||
padding: 0.45rem 0.75rem; |
|||
border: 1px solid rgba( 137, 42, 48, 0.25 ); |
|||
border-radius: 999px; |
|||
background: rgba( 54, 15, 21, 0.18 ); |
|||
text-decoration: none; |
|||
background-image: none; |
|||
} |
|||
.home-meta__actions a:hover { |
|||
background: rgba( 82, 22, 28, 0.28 ); |
|||
} |
|||
.home-meta__actions a.external::after { |
|||
display: none; |
|||
} |
} |
||
Revision as of 16:24, 9 April 2026
/* Main page shared styles
Attribution: some structural and motion ideas in this stylesheet were adapted from
Citizen-based homepage implementations on starcitizen.tools and prismparty.net,
then rewritten and adjusted for Echoes of the Flesh. */
/* Main page header */
.home-header {
position: relative;
overflow: hidden;
padding: 3.5rem 1.25rem 2.75rem;
line-height: var( --line-height-xx-small );
text-align: center;
}
.home-header::before {
content: "";
position: absolute;
inset: 0;
border: 1px solid rgba( 128, 42, 48, 0.22 );
border-radius: 1.25rem;
background:
radial-gradient( circle at top, rgba( 128, 18, 28, 0.2 ), transparent 55% ),
linear-gradient( 180deg, rgba( 18, 7, 10, 0.94 ), rgba( 10, 12, 18, 0.72 ) );
pointer-events: none;
}
.home-header > * {
position: relative;
z-index: 1;
}
.home-header__pretitle {
margin-bottom: var( --space-xxs );
color: var( --color-subtle );
font-size: var( --font-size-small );
letter-spacing: 0.05em;
}
.home-header__title {
--display-font-size: min( calc( 2.5rem + 3.9vw ), 4.5rem );
margin: 0;
font-size: var( --display-font-size );
text-transform: uppercase;
line-height: 0.9;
font-weight: var( --font-weight-semi-bold );
}
.home-header__subtitle {
margin-top: var( --space-xxs );
color: var( --color-subtle );
font-size: var( --font-size-small );
}
.home-header__status {
display: inline-flex;
flex-wrap: wrap;
gap: 0.5rem;
align-items: center;
justify-content: center;
margin-top: 0.9rem;
padding: 0.45rem 0.8rem;
border: 1px solid rgba( 137, 42, 48, 0.24 );
border-radius: 999px;
background: rgba( 18, 13, 18, 0.72 );
}
.home-header__statusLabel {
color: #d79599;
font-size: var( --font-size-x-small );
letter-spacing: 0.08em;
text-transform: uppercase;
}
.home-header__statusText {
color: var( --color-base );
font-size: var( --font-size-small );
}
.home-header__search {
position: relative;
isolation: isolate;
padding: var( --space-md );
margin-top: var( --space-xl );
margin-left: auto;
margin-right: auto;
max-width: 600px;
border: 1px solid var( --border-color-base );
border-radius: var( --border-radius-pill );
background-color: var( --color-surface-1 );
cursor: pointer;
font-size: var( --font-size-small );
font-weight: var( --font-weight-medium );
text-align: center;
transition: background 180ms ease, border-color 180ms ease;
}
/* Attribution: the animated hover-glow treatment here was inspired by the
Citizen homepage search affordance on starcitizen.tools, with a custom red palette. */
.home-header__search::before {
content: "";
position: absolute;
inset: -1px;
z-index: -1;
border-radius: inherit;
background: linear-gradient(
120deg,
#16090a 0%,
#3a1113 20%,
#6a1719 38%,
#9a2020 50%,
#6a1719 62%,
#3a1113 80%,
#16090a 100%
);
background-size: 200% 200%;
filter: blur( 8px );
opacity: 0;
transition: opacity 200ms ease, filter 200ms ease;
}
.home-header__search .desktoponly {
margin-left: var( --space-xs );
}
.home-header__search:hover {
background: var( --color-surface-0 );
}
.home-header__search:hover::before {
opacity: 0.9;
filter: blur( 10px );
animation: home-search-red-glow 4.5s linear infinite;
}
@keyframes home-search-red-glow {
0% {
background-position: 0% 50%;
}
100% {
background-position: 200% 50%;
}
}
.home-header__searchIcon img {
margin-right: var( --space-md );
opacity: var( --opacity-icon-base );
}
.home-header__search .keyboard-key {
display: inline;
padding-top: 0.1em;
padding-bottom: 0.1em;
}
html.skin-citizen-dark .home-header__searchIcon img {
filter: invert( 1 );
}
@media ( hover: none ) {
.home-header__search .desktoponly {
display: none;
}
}
/* Main page 2-column layout */
.main-home-grid {
display: grid;
grid-template-areas:
"article"
"widgets";
gap: 0.625rem;
}
@media ( min-width: 760px ) {
.main-home-grid {
grid-template-columns: minmax( 0, 1.45fr ) minmax( 320px, 0.95fr );
grid-template-areas: "article widgets";
align-items: start;
}
}
.article {
grid-area: article;
min-width: 0;
}
.widgets {
grid-area: widgets;
min-width: 0;
}
.split-left {
grid-area: split-left;
}
.split-right {
grid-area: split-right;
}
.sub-home-grid {
display: grid;
margin-top: 0.625rem;
gap: 0.625rem;
grid-template-areas:
"split-left"
"split-right";
}
@media ( min-width: 700px ) {
.sub-home-grid {
grid-template-columns: 1fr 1fr;
grid-template-areas: "split-left split-right";
}
}
.home-grid {
display: grid;
grid: auto-flow dense / repeat( auto-fit, minmax( 9.375rem, 1fr ) );
grid-auto-rows: minmax( 3rem, auto );
grid-gap: var( --space-xs );
}
.home-grid--col2 {
grid-template-columns: 1fr 1fr;
}
.home-grid a.external {
background-image: none;
}
.home-badge {
display: flex;
gap: var( --space-xxs );
font-size: var( --font-size-x-small );
padding: var( --space-xxs ) var( --space-xs );
background: var( --color-surface-2 );
color: var( --color-base );
border-radius: var( --border-radius-base );
font-weight: var( --font-weight-normal );
letter-spacing: 0.025em;
line-height: var( --line-height-xxx-small );
}
.home-card,
.home-meta__item {
box-shadow: 0 12px 32px rgba( 5, 5, 8, 0.22 );
}
.home-card {
position: relative;
padding: var( --space-md );
border: 1px solid var( --border-color-base );
background: var( --color-surface-1 );
border-radius: var( --border-radius-medium );
font-size: var( --font-size-small );
}
.home-card table.timeline {
margin-top: var( --space-xs );
}
.home-card--col2 {
grid-column: span 2;
}
.home-card--row3 {
grid-row: span 3;
}
.home-card--row4 {
grid-row: span 4;
}
.home-card--row8 {
grid-row: span 8 / auto;
}
.home-card__badge,
.home-card__label {
color: var( --color-subtle );
font-size: var( --font-size-x-small );
letter-spacing: 0.05em;
}
.home-card__badge {
padding: var( --space-xxs ) var( --space-xs );
border-radius: var( --border-radius-base );
background: var( --color-surface-2 );
}
.home-card__header {
color: var( --color-emphasized );
font-size: 1rem;
font-weight: var( --font-weight-semi-bold );
line-height: var( --line-height-xxx-small );
}
.home-card__header a {
display: flex;
align-items: center;
justify-content: space-between;
}
.home-card__header a:after {
content: "▶";
font-size: var( --font-size-x-small );
}
.home-card__background {
position: absolute;
inset: 0;
}
.home-card__background:after {
position: absolute;
pointer-events: none;
inset: 0;
display: block;
background: linear-gradient( to right, #000, transparent );
content: "";
transition: transform 250ms ease;
}
.home-card__background picture,
.home-card__background img {
width: 100%;
height: 100%;
}
.home-card__background img {
object-fit: cover;
object-position: center;
}
.home-card__foreground {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
padding: var( --space-md );
display: flex;
flex-direction: column;
justify-content: center;
gap: var( --space-xxs );
color: #fff;
line-height: var( --line-height-xxx-small );
pointer-events: none;
}
.home-card__foreground .home-card__badge {
position: absolute;
top: 0;
right: 0;
border-top-left-radius: 0;
border-bottom-right-radius: 0;
}
.home-card__foreground .home-card__header {
color: #fff;
}
.home-card__foreground .home-card__label {
color: #bababa;
}
.home-card p {
margin-top: var( --space-xs );
font-size: var( --font-size-small );
}
.home-card.home-card--button {
overflow: hidden;
padding: 0;
border: 0;
}
.home-card--button a {
display: flex;
height: 100%;
justify-content: center;
align-items: center;
padding: 0 var( --space-md );
background: transparent;
color: #fff;
font-weight: var( --font-weight-medium );
}
.home-card--button .home-card__background a {
padding: 0;
}
.home-card--button img {
transition: transform 250ms ease;
}
.home-card--button:hover img {
transform: scale( 1.1 );
}
.home-link {
display: grid;
margin-top: var( --space-xs );
font-size: var( --font-size-small );
font-weight: var( --font-weight-medium );
grid-gap: var( --space-xs );
text-align: center;
}
.home-link__button {
display: flex;
}
.home-link__button a {
flex-grow: 1;
padding: var( --space-xs );
border: 1px solid var( --border-color-base );
background: var( --color-surface-2 );
border-radius: var( --border-radius-medium );
color: var( --color-emphasized ) !important;
line-height: var( --line-height-xxx-small );
text-decoration: none !important;
}
.home-link__button a:hover {
background: var( --color-surface-2--hover );
}
.home-link__button a:active {
background: var( --color-surface-2--active );
}
#home-content {
margin-top: 0;
}
.home-card .template-statsbar {
margin: 0;
}
/* Discord widget polish + spacing */
.discord-widget-wrap {
display: flex;
justify-content: center;
margin-top: 0.75rem;
margin-bottom: 0.75rem;
}
#home-discordwidget #discord-widget {
width: 100%;
max-width: none;
}
#home-discordwidget iframe.responsive-iframe {
width: 100%;
border-radius: 8px;
overflow: hidden;
display: block;
min-height: 500px;
background: transparent;
}
#home-discordwidget .home-card__label {
margin-bottom: 0.8rem !important;
}
#home-discordwidget .home-link__button-discord,
#home-discordwidget .home-link__button {
margin-top: 0.8rem !important;
}
.home-link__button-discord {
margin-top: 0.6rem;
}
#home-discordwidget a.external.text::after {
display: none;
}
/* Attribution: the footer utility rail borrows the "compact maintenance links"
idea from Citizen-theme main pages like starcitizen.tools, but uses original copy and styling. */
.home-meta {
display: grid;
gap: 0.75rem;
margin-top: 1rem;
}
@media ( min-width: 860px ) {
.home-meta {
grid-template-columns: 1.2fr 0.8fr 0.9fr;
}
}
.home-meta__item {
padding: 0.95rem 1rem;
border: 1px solid var( --border-color-base );
border-radius: var( --border-radius-medium );
background: linear-gradient( 180deg, rgba( 19, 20, 27, 0.94 ), rgba( 11, 12, 17, 0.98 ) );
}
.home-meta__label {
margin-bottom: 0.35rem;
color: #c48a8f;
font-size: var( --font-size-x-small );
letter-spacing: 0.08em;
text-transform: uppercase;
}
.home-meta__text,
.home-meta__actions {
font-size: var( --font-size-small );
line-height: 1.5;
}
.home-meta__actions {
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
}
.home-meta__actions a {
display: inline-flex;
padding: 0.45rem 0.75rem;
border: 1px solid rgba( 137, 42, 48, 0.25 );
border-radius: 999px;
background: rgba( 54, 15, 21, 0.18 );
text-decoration: none;
background-image: none;
}
.home-meta__actions a:hover {
background: rgba( 82, 22, 28, 0.28 );
}
.home-meta__actions a.external::after {
display: none;
}