Files

887 lines
19 KiB
SCSS

@use "lib/viewport";
// custom search banner customizations
.welcome-banner.--location-above-topic-content .custom-search-banner-wrap {
color: var(--primary);
}
.custom-search-banner-wrap {
color: var(--secondary);
.custom-search-banner-headline,
h1 {
line-height: var(--line-height-small);
}
p {
margin-top: 0.5em;
margin-bottom: 2em;
}
.btn {
height: 100%;
}
.search-menu input[type="text"] {
border: 1px solid transparent;
border-radius: 0.25em;
min-height: 40px;
&:focus {
outline: 3px solid rgb(var(--primary-rgb), 0.35);
}
}
.widget-link.show-help {
color: rgb(var(--primary-rgb), 0.75);
border-radius: 0.5em;
padding: 0.5em;
background-color: rgb(var(--secondary-rgb), 0.25);
&:hover {
color: var(--primary);
}
}
.search-menu .search-input {
border-color: var(--tertiary-hover);
outline: 1px solid var(--tertiary-hover);
}
.results {
top: 43px;
border-radius: 0.25em;
}
.search-context {
top: 3.25em;
right: 1em;
}
}
.search-input {
border-radius: 0.25em;
}
.display-search-banner {
#main-outlet {
padding-top: 2em;
}
}
// Ideally the search banner component should be set to use the below-site-header outlet,
// but this ensures the default works too
.above-main-container-outlet.search-banner {
.custom-search-banner-wrap {
padding: 1em 0 2em;
color: var(--tertiary);
.mobile-view & {
color: var(--secondary);
}
.custom-search-banner-headline,
h1 {
margin-bottom: 0;
}
.search-widget {
margin-top: 2em;
}
}
}
// Main customizations
.alert {
margin: 1em 0;
}
.topic-list .topic-list-header .topic-list-data,
.topic-list .topic-list-item .topic-list-data {
padding: 15px 5px;
}
.navigation-topics .topic-list .topic-list-body .topic-list-data,
.navigation-topics .topic-list .topic-list-header .topic-list-data {
flex: unset;
}
.badge-wrapper.box {
border-radius: 0.25em;
overflow: hidden;
}
.badge-wrapper.bullet {
.badge-category-bg {
border-radius: 0.125em;
}
.badge-category-parent-bg {
border-top-left-radius: 0.125em;
border-bottom-left-radius: 0.125em;
+ .badge-category-bg {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
border-top-right-radius: 0.125em;
border-bottom-right-radius: 0.125em;
}
}
}
.discourse-tags {
gap: 0.5em;
}
.discourse-tag {
font-size: $font-down-1;
border-radius: 0.25em;
padding: 0.15em 0.25em 0.15em 0.35em;
background-color: var(--primary-low);
color: var(--primary) !important;
&:hover {
background-color: var(--primary-low-mid);
color: var(--primary);
}
}
.discourse-tags .discourse-tag.simple:not(:last-child)::after,
.list-tags .discourse-tag.simple:not(:last-child)::after,
.search-category .discourse-tag.simple:not(:last-child)::after {
content: "";
margin-left: unset;
}
.topic-list .link-bottom-line .discourse-tag.simple::after,
.topic-list .link-bottom-line .discourse-tag.box {
margin-right: 0;
}
#site-text-logo {
color: var(--primary);
}
.mobile-view {
.cm-header-links {
display: none;
}
.list-controls .nav-pills .drop li:first-of-type {
display: none;
}
}
.not-found-container {
background-color: var(--secondary);
}
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
.select-kit.combo-box .select-kit-header,
.d-editor-textarea-wrapper,
div.ac-wrap {
border-radius: 4px;
}
.d-header {
box-shadow: 0 2px 4px 0 rgb(0, 0, 0, 0.06);
}
.d-header-icons .d-icon {
border-radius: 100px;
}
.d-header-icons .icon {
border-radius: 0.25em;
margin-left: 0.3em;
border: 1px solid transparent;
svg {
font-size: 1.25em;
}
}
.d-header-icons .icon img.avatar {
border-radius: 0.25em;
}
.menu-panel.drop-down {
margin-top: 1em;
border-radius: 0.5em;
border: 1px solid var(--primary-low-mid);
}
.drop-down-mode .d-header-icons .active .icon {
border: 1px solid transparent;
.d-icon {
color: var(--tertiary);
}
}
.drop-down-mode .d-header-icons .active .icon:hover {
border: 1px solid transparent;
}
.unread-high-priority-notifications {
background: var(--quaternary);
}
.timeline-container .topic-timeline .timeline-handle {
background-color: var(--tertiary);
}
.timeline-container .topic-timeline .timeline-scrollarea {
border-left-color: var(--tertiary);
}
html {
body:not(.no-ember) {
background-color: #050812 !important;
color: #f8fafc !important;
}
.background-container {
position: fixed;
top: 0;
left: 0;
height: 100vh;
width: 100vw;
background: #050812 url('/uploads/default/custom-assets/discourse_cyber_bg.jpg') no-repeat center center fixed !important;
background-size: cover !important;
opacity: 0.95;
pointer-events: none;
z-index: -2;
}
.background-container::after {
content: '';
position: fixed;
inset: 0;
background: linear-gradient(180deg, rgba(5, 8, 18, 0.75) 0%, rgba(5, 8, 18, 0.92) 100%);
pointer-events: none;
z-index: -1;
}
body.no-ember .background-container {
display: none;
}
}
html body #main-outlet {
margin-top: 25px;
margin-bottom: 50px;
background: rgba(10, 15, 28, 0.92) !important;
backdrop-filter: blur(24px) saturate(180%) !important;
-webkit-backdrop-filter: blur(24px) saturate(180%) !important;
border: 1px solid rgba(0, 242, 254, 0.22) !important;
border-radius: 20px !important;
padding: 2.5em 2.5em 5%;
max-width: 1180px;
padding-bottom: 5% !important;
box-shadow: 0 25px 60px -10px rgba(0, 0, 0, 0.8), 0 0 35px rgba(0, 242, 254, 0.15);
@media screen and (width <= 700px) {
padding: 1.5em;
margin-top: 0;
}
@media screen and (width <= 1120px) {
width: 80%;
}
@media screen and (width <= 1075px) {
width: 85%;
}
.archetype-regular & {
min-height: 500px;
}
}
.nav-pills:not(.user-nav) > li a.active,
.nav-pills:not(.user-nav) > li > a {
border-radius: 0.5em;
}
.category-calendar {
&.before-topic-list-body-outlet {
display: block;
}
background: var(--secondary);
padding: 1em;
border-radius: 8px;
margin-bottom: 1em;
}
.discourse-post-event-upcoming-events {
background: var(--secondary);
border-radius: 8px;
padding: 1em;
margin-bottom: 1em;
}
// Topic List
@keyframes background-fade-highlight {
0% {
background-color: var(--highlight-low);
}
100% {
background-color: var(--secondary);
}
}
.full-width .contents .topic-list {
border-collapse: separate;
border-spacing: 0 0.25em;
display: contents;
.topic-list-header {
tr {
display: flex;
border-bottom: none;
}
display: contents;
.topic-list-data.default {
width: 63%;
}
.topic-list-data.posters {
width: 7%;
}
.topic-list-data.posts {
width: 15%;
}
.topic-list-data.activity {
width: 15%;
}
}
.topic-list-body {
display: contents;
.topic-list-item-separator {
width: 100%;
margin: 0.75em 0;
display: flex;
.topic-list-data {
width: 100%;
}
}
.topic-list-item {
display: flex;
margin-bottom: 0.5em;
background-color: var(--secondary);
border: 1px solid rgb(var(--primary-rgb), 0.2);
border-radius: 1em;
position: relative;
transition: box-shadow 100ms ease-in-out;
box-shadow: 0 0 8px rgb(0, 0, 0, 0.05);
overflow: hidden;
&.visited {
border: 1px solid rgb(var(--primary-rgb), 0.1);
.discourse-tag {
opacity: 0.75;
}
&:hover {
border: 1px solid rgb(var(--primary-rgb), 0.25);
.discourse-tag {
opacity: 1;
}
}
}
&:hover {
background-color: var(--secondary);
box-shadow: 0 0 12px rgb(0, 0, 0, 0.1);
border: 1px solid rgb(var(--primary-rgb), 0.3);
a.title:not(.badge-notification),
a.topic-excerpt {
color: var(--primary) !important;
}
}
.topic-list-data.main-link {
width: 63%;
order: 2;
}
.topic-list-data.posters {
width: 7%;
order: 1;
height: auto;
display: flex;
justify-content: center;
align-items: center;
a:not(.latest) {
display: none;
}
}
.topic-list-data.posts {
width: 15%;
order: 3;
display: flex;
justify-content: center;
align-items: center;
}
.topic-list-data.age {
width: 15%;
order: 4;
display: flex;
justify-content: center;
align-items: center;
}
&.selected {
td:nth-of-type(1) {
box-shadow: none;
}
&:focus-visible td:nth-of-type(2) {
box-shadow: inset 3px 0 0 var(--tertiary);
border-radius: calc(1em - 3px);
}
}
}
.main-link {
min-height: 100%;
.link-top-line {
display: block;
margin-bottom: 0.25em;
}
.title {
font-weight: bold;
}
.link-area {
display: flex;
.link-title-area {
margin-right: 1em;
font-size: $font-up-1;
}
.link-meta-area {
font-size: $font-down-3;
display: flex;
align-items: center;
}
}
}
.posters {
.avatar {
width: 40px;
height: 40px;
border-radius: 8px;
}
a.latest {
margin-right: 4px;
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-content: center;
align-items: center;
.avatar {
margin-right: 0;
}
}
a:not(.latest) {
margin-left: -22px;
.avatar {
border: 3px solid var(--secondary);
}
}
}
.posts-map,
.num.age.activity {
a {
padding: 0;
}
}
.posts-map {
position: relative;
.number {
margin-right: 0.25em;
}
}
.post-activity {
.d-icon-reply {
color: var(--primary-medium);
margin-right: 0.25em;
}
.relative-date {
color: var(--primary-medium);
}
}
}
}
.topic-list-data.num.views {
display: none;
}
// published page additions
.published-page-content-wrapper {
max-width: 1000px;
margin-top: 30px;
margin-bottom: 50px;
background: var(--secondary);
border-radius: 1em;
padding: 3em 3em 5%;
box-shadow:
0 24px 40px rgb(0, 0, 0, 0.07),
0 10.8529px 24.1177px rgb(0, 0, 0, 0.0456112),
0 4.50776px 10.0172px rgb(0, 0, 0, 0.035),
0 1.63037px 3.62304px rgb(0, 0, 0, 0.0243888);
z-index: 1;
position: relative;
}
.published-page {
.background-container {
display: none;
}
&::before {
background: linear-gradient(
90deg,
var(--tertiary-hover) 0%,
var(--tertiary) 100%
);
clip-path: ellipse(148% 70% at 91% -14%);
content: "";
width: 100%;
height: 100%;
display: block;
position: fixed;
z-index: 0;
}
}
.quote-button {
border-radius: 0.5em;
}
.topic-list .main-link.focused + .posters {
box-shadow: inset 3px 0 0 var(--tertiary);
}
.topic-list .main-link.focused {
box-shadow: none;
}
.title-voting {
padding-left: 14px;
}
/* Cyber Header & Accent Line */
.d-header {
background: rgba(8, 12, 24, 0.95) !important;
backdrop-filter: blur(20px) saturate(180%) !important;
-webkit-backdrop-filter: blur(20px) saturate(180%) !important;
border-bottom: 1px solid rgba(0, 242, 254, 0.25) !important;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6) !important;
position: relative !important;
}
.d-header::after {
content: '' !important;
position: absolute !important;
bottom: -1px !important;
left: 0 !important;
right: 0 !important;
height: 2px !important;
background: linear-gradient(90deg, transparent 0%, #00f2fe 20%, #38bdf8 50%, #10b981 80%, transparent 100%) !important;
box-shadow: 0 0 12px #00f2fe;
pointer-events: none !important;
z-index: 1001 !important;
}
.d-header .title a img#site-logo,
.d-header .title img.logo-big {
filter: drop-shadow(0 0 14px rgba(0, 242, 254, 0.45));
transition: transform 0.25s ease;
}
.d-header .title a img#site-logo:hover {
transform: scale(1.03);
}
/* Glassmorphism Category & Topic Cards */
.topic-list-item {
background-color: rgba(14, 22, 38, 0.82) !important;
border: 1px solid rgba(0, 242, 254, 0.18) !important;
border-radius: 14px !important;
box-shadow: 0 4px 18px rgba(0, 0, 0, 0.4) !important;
transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.topic-list-item:hover {
background-color: rgba(18, 30, 54, 0.95) !important;
border-color: #00f2fe !important;
transform: translateY(-2px) !important;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6), 0 0 20px rgba(0, 242, 254, 0.25) !important;
}
.topic-list-item .main-link a.title {
color: #ffffff !important;
font-weight: 600 !important;
}
.topic-list-item .main-link a.title:hover {
color: #00f2fe !important;
text-shadow: 0 0 8px rgba(0, 242, 254, 0.5);
}
.btn-primary {
background: linear-gradient(135deg, #00f2fe 0%, #10b981 100%) !important;
color: #03060c !important;
font-weight: 700 !important;
border: none !important;
border-radius: 10px !important;
box-shadow: 0 4px 18px rgba(0, 242, 254, 0.35) !important;
}
.btn-primary:hover {
filter: brightness(1.15) !important;
box-shadow: 0 6px 26px rgba(0, 242, 254, 0.6) !important;
transform: translateY(-1px);
}
/* ==========================================================================
W-MAKE DARK CYBERPUNK POLISH OVERRIDES
========================================================================== */
:root {
--primary: #f1f5f9;
--secondary: #0b1120;
--tertiary: #00f2fe;
--tertiary-hover: #38bdf8;
--header_background: #070a14;
--header_primary: #f8fafc;
}
html, body {
background-color: #050812 !important;
color: #f1f5f9 !important;
}
/* 1. Global Background Wallpaper */
.background-container {
position: fixed !important;
top: 0 !important;
left: 0 !important;
height: 100vh !important;
width: 100vw !important;
background: #050812 url('/uploads/default/custom-assets/discourse_cyber_bg.jpg') no-repeat center center fixed !important;
background-size: cover !important;
opacity: 0.95 !important;
pointer-events: none !important;
z-index: -2 !important;
}
.background-container::after {
content: '' !important;
position: fixed !important;
inset: 0 !important;
background: radial-gradient(circle at 50% 30%, rgba(5, 8, 18, 0.6) 0%, rgba(5, 8, 18, 0.95) 100%) !important;
pointer-events: none !important;
z-index: -1 !important;
}
/* 2. Top Header */
.d-header {
background: rgba(7, 10, 20, 0.94) !important;
backdrop-filter: blur(20px) saturate(180%) !important;
-webkit-backdrop-filter: blur(20px) saturate(180%) !important;
border-bottom: 1px solid rgba(0, 242, 254, 0.22) !important;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.7) !important;
position: relative !important;
}
.d-header::after {
content: '' !important;
position: absolute !important;
bottom: -1px !important;
left: 0 !important;
right: 0 !important;
height: 2px !important;
background: linear-gradient(90deg, transparent 0%, #00f2fe 20%, #6366f1 50%, #10b981 80%, transparent 100%) !important;
box-shadow: 0 0 14px rgba(0, 242, 254, 0.8) !important;
pointer-events: none !important;
z-index: 1001 !important;
}
.d-header .title a img#site-logo,
.d-header .title img.logo-big {
filter: drop-shadow(0 0 12px rgba(0, 242, 254, 0.45)) !important;
transition: transform 0.25s ease !important;
}
.d-header .title a img#site-logo:hover {
transform: scale(1.03) !important;
}
.d-header-icons .icon {
color: #94a3b8 !important;
border-radius: 8px !important;
transition: all 0.2s ease !important;
}
.d-header-icons .icon:hover {
color: #00f2fe !important;
background: rgba(0, 242, 254, 0.12) !important;
}
/* 3. Main Forum Card & Sidebar */
html body #main-outlet {
margin-top: 25px !important;
margin-bottom: 50px !important;
background: rgba(11, 17, 32, 0.88) !important;
backdrop-filter: blur(24px) saturate(180%) !important;
-webkit-backdrop-filter: blur(24px) saturate(180%) !important;
border: 1px solid rgba(0, 242, 254, 0.2) !important;
border-radius: 24px !important;
padding: 2.2em 2.5em 5% !important;
max-width: 1200px !important;
box-shadow: 0 30px 70px -15px rgba(0, 0, 0, 0.9), 0 0 40px rgba(0, 242, 254, 0.12) !important;
}
.sidebar-wrapper, .d-sidebar {
background: transparent !important;
border-right: 1px solid rgba(0, 242, 254, 0.12) !important;
}
.sidebar-section-link-wrapper .sidebar-section-link {
border-radius: 8px !important;
color: #94a3b8 !important;
transition: all 0.2s ease !important;
}
.sidebar-section-link-wrapper .sidebar-section-link:hover,
.sidebar-section-link-wrapper .sidebar-section-link.active {
background: rgba(0, 242, 254, 0.1) !important;
color: #00f2fe !important;
}
/* 4. Topic List Items (Cards) */
.topic-list-body .topic-list-item {
background: rgba(15, 23, 42, 0.75) !important;
border: 1px solid rgba(0, 242, 254, 0.16) !important;
border-radius: 14px !important;
margin-bottom: 0.75em !important;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4) !important;
transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.topic-list-body .topic-list-item:hover {
background: rgba(22, 34, 60, 0.95) !important;
border-color: #00f2fe !important;
transform: translateY(-2px) !important;
box-shadow: 0 12px 32px rgba(0, 0, 0, 0.7), 0 0 22px rgba(0, 242, 254, 0.25) !important;
}
.topic-list-item .main-link a.title {
color: #f8fafc !important;
font-weight: 600 !important;
font-size: 1.05rem !important;
}
.topic-list-item .main-link a.title:hover {
color: #00f2fe !important;
text-shadow: 0 0 10px rgba(0, 242, 254, 0.4) !important;
}
.topic-list-item .topic-excerpt {
color: #94a3b8 !important;
}
/* 5. Navigation Pills & Filter Tabs */
.nav-pills > li > a {
color: #94a3b8 !important;
border-radius: 8px !important;
font-weight: 600 !important;
transition: all 0.2s ease !important;
}
.nav-pills > li > a:hover {
color: #00f2fe !important;
background: rgba(0, 242, 254, 0.08) !important;
}
.nav-pills > li > a.active {
background: rgba(0, 242, 254, 0.18) !important;
color: #00f2fe !important;
border: 1px solid rgba(0, 242, 254, 0.35) !important;
box-shadow: 0 0 12px rgba(0, 242, 254, 0.2) !important;
}
/* 6. Buttons & Badges */
.btn-primary {
background: linear-gradient(135deg, #00f2fe 0%, #10b981 100%) !important;
color: #03060c !important;
font-weight: 700 !important;
border: none !important;
border-radius: 10px !important;
box-shadow: 0 4px 18px rgba(0, 242, 254, 0.35) !important;
transition: all 0.2s ease !important;
}
.btn-primary:hover {
filter: brightness(1.15) !important;
box-shadow: 0 6px 26px rgba(0, 242, 254, 0.6) !important;
transform: translateY(-1px) !important;
}
.badge-notification {
background: linear-gradient(135deg, #00f2fe, #6366f1) !important;
color: #ffffff !important;
border-radius: 999px !important;
font-weight: 700 !important;
}