homepage/config/custom.css
traveler ce8e73615a ghj
2025-12-30 08:59:17 -06:00

154 lines
4.3 KiB
CSS
Executable file
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/* custom.css (drop-in replacement) */
/* ----------------------------- */
/* Base background behavior */
/* ----------------------------- */
body {
background-size: cover !important;
background-position: center center !important;
background-attachment: fixed !important;
}
/* ----------------------------- */
/* Per-tab backgrounds */
/* ----------------------------- */
body.tab-glance {
background-image: url("/images/bg-glance.jpg") !important;
}
body.tab-pncharris {
background-image: url("/images/pncharris-bg.png") !important;
}
body.tab-netgrimoire {
background-image: url("/images/Netgrimoire-bg.png") !important;
}
body.tab-wasted-bandwidth {
background-image: url("/images/Wasted-bandwidth-bg.png") !important;
}
body.tab-nucking-futz {
background-image: url("/images/Nucking-futz-bg.png") !important;
}
/* ----------------------------- */
/* Readability / tone-down layer */
/* ----------------------------- */
#page-wrapper {
background-color: rgba(0, 0, 0, 0.40);
}
.service-card,
.widget {
background: rgba(20, 20, 20, 0.70) !important;
backdrop-filter: blur(2px);
border-radius: 10px;
}
/* ----------------------------- */
/* PNCHarris: narrow centered column */
/* ----------------------------- */
body.tab-pncharris main {
max-width: 900px;
margin: 0 auto !important;
padding-left: 16px;
padding-right: 16px;
}
body.tab-pncharris section,
body.tab-pncharris .group {
max-width: 900px;
margin-left: auto !important;
margin-right: auto !important;
}
body.tab-pncharris .service-card,
body.tab-pncharris .widget {
width: auto !important;
max-width: 100% !important;
}
/* ========================================================= */
/* GLANCE TAB: make the Glance iframe fill most of the page */
/* ========================================================= */
/* Give the tab full width */
body.tab-glance main {
max-width: none !important;
margin: 0 !important;
padding-left: 12px !important;
padding-right: 12px !important;
}
/* Force single column layout on Glance tab */
body.tab-glance .service-grid,
body.tab-glance .services {
grid-template-columns: 1fr !important;
}
/* Helper: compute "available" height under the header/nav.
If your header is taller/shorter, tweak 170px to 140220px. */
body.tab-glance {
--glance-vh: calc(100vh - 170px);
}
/* Expand ANY card on the Glance tab that contains our Glance iframe */
body.tab-glance .service-card:has(iframe[name="glance"]),
body.tab-glance .service-card:has(iframe[src*="home.netgrimoire.com"]),
body.tab-glance .widget:has(iframe[name="glance"]),
body.tab-glance .widget:has(iframe[src*="home.netgrimoire.com"]) {
grid-column: 1 / -1 !important;
max-width: 100% !important;
/* The important part: make the container tall */
height: var(--glance-vh) !important;
min-height: var(--glance-vh) !important;
/* Remove padding that can reduce the iframe size */
padding: 0 !important;
overflow: hidden !important;
border-radius: 12px !important;
}
/* Some Homepage themes wrap widget contents; force them tall too */
body.tab-glance .service-card:has(iframe[src*="home.netgrimoire.com"]) > *,
body.tab-glance .service-card:has(iframe[name="glance"]) > *,
body.tab-glance .widget:has(iframe[src*="home.netgrimoire.com"]) > *,
body.tab-glance .widget:has(iframe[name="glance"]) > * {
height: 100% !important;
min-height: 100% !important;
}
/* Make the iframe itself fill its container */
body.tab-glance iframe[name="glance"],
body.tab-glance iframe[src*="home.netgrimoire.com"] {
width: 100% !important;
height: 100% !important;
min-height: var(--glance-vh) !important;
border: 0 !important;
display: block !important;
}
/* Fallback for builds/browsers without :has() support:
Still target by iframe src and force height directly. */
@supports not selector(.service-card:has(iframe)) {
body.tab-glance iframe[src*="home.netgrimoire.com"],
body.tab-glance iframe[name="glance"] {
width: 100% !important;
height: var(--glance-vh) !important;
min-height: var(--glance-vh) !important;
border: 0 !important;
display: block !important;
}
/* Also loosen common wrapper constraints */
body.tab-glance .service-card,
body.tab-glance .widget {
height: var(--glance-vh) !important;
min-height: var(--glance-vh) !important;
overflow: hidden !important;
padding: 0 !important;
}
}