/* 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 140–220px. */ 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; } }