← back to Consulting Rentv Com
RENTV: enrich contacts from site, Google-future signin, flagship CRE-news redesign concept
71325c19c749d9887e00f3497b67bb0ac97dbf7e · 2026-07-17 07:46:31 -0700 · Steve
Files touched
M public/portal.htmlA public/versions/flagship.html
Diff
commit 71325c19c749d9887e00f3497b67bb0ac97dbf7e
Author: Steve <steve@designerwallcoverings.com>
Date: Fri Jul 17 07:46:31 2026 -0700
RENTV: enrich contacts from site, Google-future signin, flagship CRE-news redesign concept
---
public/portal.html | 2 +-
public/versions/flagship.html | 224 ++++++++++++++++++++++++++++++++++++++++++
2 files changed, 225 insertions(+), 1 deletion(-)
diff --git a/public/portal.html b/public/portal.html
index 2ebebb2..d52c50d 100644
--- a/public/portal.html
+++ b/public/portal.html
@@ -60,7 +60,7 @@ async function j(u){ const r = await fetch(u); return r.ok ? r.json() : null; }
(async () => {
const c = await j('/api/client'); if (c && c.business_name){ document.getElementById('name').textContent = c.business_name; document.getElementById('brand').textContent = c.business_name; if(c.tagline) document.getElementById('tag').textContent = c.tagline; }
// version concepts (generated into /versions by build.mjs)
- const known = ['editorial','modern','bold','warm','classic'];
+ const known = ['flagship','editorial','modern','bold','warm','classic'];
const vc = document.getElementById('versions'); let found = 0;
for (const v of known){ const ok = await fetch('/versions/'+v+'.html',{method:'HEAD'}).then(r=>r.ok).catch(()=>false);
if(ok){ found++; const a=document.createElement('a'); a.className='vcard'; a.href='/versions/'+v+'.html';
diff --git a/public/versions/flagship.html b/public/versions/flagship.html
new file mode 100644
index 0000000..167da44
--- /dev/null
+++ b/public/versions/flagship.html
@@ -0,0 +1,224 @@
+<!doctype html>
+<html lang="en">
+<head>
+<meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1">
+<title>RENTV.com — Commercial Real Estate News, Deals & Conferences</title>
+<style>
+ :root{
+ --red:#c8102e;--ink:#14171a;--sub:#5b636b;--line:#e4e7ea;--bg:#ffffff;--wash:#f5f6f8;
+ --sans:'Helvetica Neue',Arial,system-ui,sans-serif;--serif:Georgia,'Times New Roman',serif;
+ }
+ *{box-sizing:border-box;margin:0;padding:0}
+ body{font-family:var(--sans);color:var(--ink);background:var(--bg);line-height:1.4}
+ a{color:inherit;text-decoration:none}
+ .wrap{max-width:1200px;margin:0 auto;padding:0 20px}
+ /* utility bar */
+ .util{background:var(--ink);color:#cfd4d9;font-size:12px}
+ .util .wrap{display:flex;justify-content:space-between;align-items:center;height:34px}
+ .ticker{display:flex;gap:20px;overflow:hidden;white-space:nowrap}
+ .ticker b{color:#fff}.up{color:#4ade80}.dn{color:#f87171}
+ .util .acts a{margin-left:16px;color:#cfd4d9}
+ .util .acts a.sub{color:#fff;background:var(--red);padding:4px 12px;border-radius:3px;font-weight:700}
+ /* masthead */
+ .mast{border-bottom:2px solid var(--ink);padding:18px 0 12px}
+ .mast .wrap{display:flex;align-items:center;justify-content:space-between}
+ .logo{font-weight:800;font-size:34px;letter-spacing:-1px}
+ .logo span{color:var(--red)}
+ .logo small{display:block;font-size:11px;font-weight:600;letter-spacing:3px;color:var(--sub);text-transform:uppercase;margin-top:2px}
+ .datebox{font-size:12px;color:var(--sub);text-align:right}
+ /* nav */
+ nav{border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:10}
+ nav .wrap{display:flex;gap:2px;align-items:center;height:46px;overflow-x:auto}
+ nav a{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:14px 14px;color:var(--ink);border-bottom:3px solid transparent;white-space:nowrap}
+ nav a:hover,nav a.on{color:var(--red);border-color:var(--red)}
+ /* breaking strip */
+ .breaking{background:var(--red);color:#fff;font-size:13px}
+ .breaking .wrap{display:flex;align-items:center;gap:14px;height:40px;overflow:hidden}
+ .breaking .tag{background:#fff;color:var(--red);font-weight:800;text-transform:uppercase;font-size:11px;letter-spacing:.08em;padding:3px 9px;border-radius:2px}
+ .breaking .items{display:flex;gap:26px;white-space:nowrap;font-weight:600}
+ /* layout */
+ .grid{display:grid;grid-template-columns:1fr 320px;gap:34px;padding:28px 0}
+ .chip{display:inline-block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--red);margin-bottom:6px}
+ /* hero */
+ .lead{border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:22px}
+ .lead .img{aspect-ratio:16/8;border-radius:6px;background:linear-gradient(135deg,#1f2937,#c8102e);position:relative;overflow:hidden}
+ .lead .img::after{content:'RENTV PHOTO';position:absolute;right:12px;bottom:10px;color:rgba(255,255,255,.55);font-size:11px;letter-spacing:.2em}
+ .lead h1{font-family:var(--serif);font-size:38px;line-height:1.12;margin:14px 0 8px;letter-spacing:-.5px}
+ .lead p{color:var(--sub);font-size:16px;max-width:52ch}
+ .byline{font-size:12px;color:var(--sub);margin-top:10px}
+ .subleads{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:22px}
+ .subleads .img{aspect-ratio:16/9;border-radius:5px;background:linear-gradient(135deg,#334155,#64748b)}
+ .subleads h3{font-family:var(--serif);font-size:20px;line-height:1.2;margin:10px 0 4px}
+ .subleads p{font-size:13px;color:var(--sub)}
+ /* section header */
+ .sechead{display:flex;align-items:center;gap:12px;border-top:3px solid var(--ink);padding-top:10px;margin:30px 0 16px}
+ .sechead h2{font-size:16px;text-transform:uppercase;letter-spacing:.06em}
+ .sechead a{margin-left:auto;font-size:12px;color:var(--red);font-weight:700}
+ /* card grid */
+ .cards{display:grid;grid-template-columns:1fr 1fr 1fr;gap:22px}
+ .card .img{aspect-ratio:16/10;border-radius:5px;background:linear-gradient(135deg,#475569,#94a3b8)}
+ .card:nth-child(2) .img{background:linear-gradient(135deg,#7c2d12,#c8102e)}
+ .card:nth-child(3) .img{background:linear-gradient(135deg,#0f766e,#14b8a6)}
+ .card:nth-child(5) .img{background:linear-gradient(135deg,#1e3a8a,#3b82f6)}
+ .card h4{font-family:var(--serif);font-size:17px;line-height:1.22;margin:9px 0 4px}
+ .card .byline{margin-top:6px}
+ /* rail */
+ .rail>*{margin-bottom:26px}
+ .box{border:1px solid var(--line);border-radius:6px;padding:18px}
+ .news-signup{background:var(--ink);color:#fff;border:0}
+ .news-signup h3{font-size:18px;margin-bottom:6px}
+ .news-signup p{font-size:13px;color:#b9c0c7;margin-bottom:12px}
+ .news-signup input{width:100%;padding:11px;border:0;border-radius:4px;font-size:14px;margin-bottom:8px}
+ .news-signup button{width:100%;padding:11px;background:var(--red);color:#fff;border:0;border-radius:4px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:12px;cursor:pointer}
+ .rail .sechead{margin-top:0}
+ .mostread{counter-reset:mr;list-style:none}
+ .mostread li{counter-increment:mr;display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
+ .mostread li::before{content:counter(mr);color:var(--red);font-family:var(--serif);font-size:26px;font-weight:700;line-height:1}
+ .mostread a{font-size:14px;font-weight:600;line-height:1.25}
+ .conf{background:linear-gradient(135deg,#111827,#c8102e);color:#fff;border:0;border-radius:6px;padding:22px}
+ .conf .k{font-size:11px;letter-spacing:.2em;text-transform:uppercase;opacity:.8}
+ .conf h3{font-family:var(--serif);font-size:24px;margin:6px 0 8px}
+ .conf p{font-size:13px;opacity:.9;margin-bottom:14px}
+ .conf a{display:inline-block;background:#fff;color:var(--red);font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.06em;padding:9px 16px;border-radius:4px}
+ .market{font-size:13px}
+ .market .row{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--line)}
+ .market .row:last-child{border:0}
+ /* deal strip */
+ .deal{background:var(--wash);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin-top:8px}
+ .deal .wrap{display:flex;align-items:center;gap:22px}
+ .deal .badge{background:var(--red);color:#fff;font-weight:800;text-transform:uppercase;font-size:12px;letter-spacing:.06em;padding:8px 14px;border-radius:3px;white-space:nowrap}
+ .deal b{font-family:var(--serif);font-size:18px}
+ .deal span{color:var(--sub);font-size:13px}
+ /* footer */
+ footer{background:var(--ink);color:#aeb6bd;margin-top:36px;padding:40px 0 30px;font-size:13px}
+ footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:28px}
+ footer .logo{color:#fff;font-size:26px;margin-bottom:8px}
+ footer h5{color:#fff;font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}
+ footer a{display:block;padding:4px 0;color:#aeb6bd}
+ footer .fine{border-top:1px solid #2a2f34;margin-top:26px;padding-top:16px;font-size:12px;color:#7c848b}
+ .concept-flag{position:fixed;left:0;bottom:0;background:#111;color:#fff;font-size:11px;letter-spacing:.1em;padding:6px 12px;border-top-right-radius:6px;font-family:var(--sans);z-index:50}
+ @media(max-width:860px){.grid{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.subleads{grid-template-columns:1fr}}
+</style>
+</head>
+<body>
+
+ <!-- utility bar with market ticker -->
+ <div class="util"><div class="wrap">
+ <div class="ticker">
+ <span><b>CRE INDEX</b> 4,182 <span class="up">▲ 0.6%</span></span>
+ <span><b>10-YR</b> 4.21% <span class="dn">▼ 3bps</span></span>
+ <span><b>CAP RATE (Office)</b> 7.4%</span>
+ <span><b>LA VACANCY</b> 23.1%</span>
+ </div>
+ <div class="acts"><a href="#">Newsletters</a><a href="#">Advertise</a><a href="#">Log In</a><a class="sub" href="#">Subscribe</a></div>
+ </div></div>
+
+ <!-- masthead -->
+ <header class="mast"><div class="wrap">
+ <div class="logo">REN<span>TV</span>.com<small>Commercial Real Estate News</small></div>
+ <div class="datebox">Western U.S. Edition<br>Friday, July 17, 2026</div>
+ </div></header>
+
+ <!-- section nav -->
+ <nav><div class="wrap">
+ <a class="on" href="#">Home</a><a href="#">Deals</a><a href="#">Sales</a><a href="#">Leases</a>
+ <a href="#">Financing</a><a href="#">Development</a><a href="#">Markets</a>
+ <a href="#">People</a><a href="#">Conferences</a><a href="#">Video</a>
+ </div></nav>
+
+ <!-- breaking strip -->
+ <div class="breaking"><div class="wrap">
+ <span class="tag">Breaking</span>
+ <div class="items">
+ <span>$212M multifamily portfolio trades in the San Fernando Valley</span>·
+ <span>Downtown LA office tower lands 140K SF lease</span>·
+ <span>Industrial cap rates compress across the Inland Empire</span>
+ </div>
+ </div></div>
+
+ <div class="wrap">
+ <div class="grid">
+ <!-- main column -->
+ <main>
+ <article class="lead">
+ <div class="img"></div>
+ <span class="chip" style="margin-top:14px">Deals · Los Angeles</span>
+ <h1>Institutional Buyer Pays $212M for 8-Property Valley Multifamily Portfolio</h1>
+ <p>The all-cash trade — one of the largest SoCal multifamily deals of the year — signals renewed confidence in workforce housing as rate expectations settle.</p>
+ <div class="byline">By RENTV Staff · 2 hours ago · 4 min read</div>
+ </article>
+
+ <div class="subleads">
+ <article><div class="img"></div><span class="chip">Financing</span><h3>Bridge Lender Closes $95M Recap on Century City Office</h3><p>Sponsors extend runway as maturities loom across the Westside.</p></article>
+ <article><div class="img"></div><span class="chip">Leases</span><h3>Life-Science Tenant Takes 140K SF in Pasadena</h3><p>Lab conversions keep the San Gabriel Valley pipeline moving.</p></article>
+ </div>
+
+ <div class="sechead"><h2>Latest CRE News</h2><a href="#">View all →</a></div>
+ <div class="cards">
+ <article class="card"><div class="img"></div><span class="chip">Sales</span><h4>Inland Empire Warehouse Trades at Record Low Cap Rate</h4><div class="byline">RENTV Staff · 5h ago</div></article>
+ <article class="card"><div class="img"></div><span class="chip">Development</span><h4>320-Unit Mixed-Use Project Breaks Ground in San Diego</h4><div class="byline">RENTV Staff · 6h ago</div></article>
+ <article class="card"><div class="img"></div><span class="chip">Retail</span><h4>Grocery-Anchored Center Sells in Orange County for $61M</h4><div class="byline">RENTV Staff · 8h ago</div></article>
+ <article class="card"><div class="img"></div><span class="chip">People</span><h4>Veteran Capital Markets Broker Joins Regional Brokerage</h4><div class="byline">RENTV Staff · 9h ago</div></article>
+ <article class="card"><div class="img"></div><span class="chip">Markets</span><h4>Phoenix Industrial Absorption Rebounds in Q2</h4><div class="byline">RENTV Staff · 11h ago</div></article>
+ <article class="card"><div class="img"></div><span class="chip">Financing</span><h4>Agency Lender Provides $48M on Bay Area Apartments</h4><div class="byline">RENTV Staff · 12h ago</div></article>
+ </div>
+ </main>
+
+ <!-- right rail -->
+ <aside class="rail">
+ <div class="news-signup box">
+ <h3>The RENTV Daily</h3>
+ <p>Western-U.S. commercial real estate deals in your inbox every morning — free.</p>
+ <input placeholder="you@company.com"><button>Subscribe free</button>
+ </div>
+
+ <div>
+ <div class="sechead"><h2>Most Read</h2></div>
+ <ol class="mostread">
+ <li><a href="#">Blackstone-backed venture buys SoCal logistics campus for $340M</a></li>
+ <li><a href="#">Office-to-resi conversions accelerate in Downtown LA</a></li>
+ <li><a href="#">Top 10 Western-U.S. multifamily deals of Q2 2026</a></li>
+ <li><a href="#">Where CRE cap rates are heading into 2027</a></li>
+ <li><a href="#">Data-center demand reshapes the Reno-Sparks market</a></li>
+ </ol>
+ </div>
+
+ <div class="conf">
+ <div class="k">RENTV Conferences</div>
+ <h3>SoCal Real Estate Summit 2026</h3>
+ <p>Join 600+ brokers, investors & developers. Sept 24 · Los Angeles.</p>
+ <a href="#">Register now →</a>
+ </div>
+
+ <div class="box market">
+ <div class="sechead" style="margin-top:0"><h2>Market Snapshot</h2></div>
+ <div class="row"><span>LA Office Vacancy</span><b>23.1%</b></div>
+ <div class="row"><span>IE Industrial Cap Rate</span><b>5.2%</b></div>
+ <div class="row"><span>SF Multifamily Rent YoY</span><b class="up">+3.4%</b></div>
+ <div class="row"><span>Construction Starts</span><b class="dn">−8.7%</b></div>
+ </div>
+ </aside>
+ </div>
+ </div>
+
+ <!-- deal of the day -->
+ <div class="deal"><div class="wrap">
+ <span class="badge">Deal of the Day</span>
+ <b>Sherman Oaks Class-A office sells for $88M</b>
+ <span>· 214,000 SF · $411/SF · closed off-market · financing by a national debt fund</span>
+ </div></div>
+
+ <!-- footer -->
+ <footer><div class="wrap">
+ <div class="cols">
+ <div><div class="logo">REN<span style="color:var(--red)">TV</span>.com</div><p style="max-width:34ch">Commercial real estate news, deals, and conferences across the Western United States since the 1990s.</p></div>
+ <div><h5>Sections</h5><a href="#">Deals</a><a href="#">Sales</a><a href="#">Leases</a><a href="#">Financing</a><a href="#">Markets</a></div>
+ <div><h5>Company</h5><a href="#">About</a><a href="#">Advertise</a><a href="#">Conferences</a><a href="#">Contact</a></div>
+ <div><h5>Follow</h5><a href="#">LinkedIn</a><a href="#">X / Twitter</a><a href="#">Newsletters</a><a href="#">RSS</a></div>
+ </div>
+ <div class="fine">© 2026 RENTV.com · rentadmin@rentv.com · (424) 419-4021 — Concept redesign. Sample headlines for layout only.</div>
+ </div></footer>
+
+ <div class="concept-flag">RENTV · FLAGSHIP CONCEPT — emulates the CRE-news leaders (The Real Deal · Bisnow · Commercial Observer)</div>
+</body>
+</html>
← e6aff0d auto-save: 2026-07-17T07:45:44 (3 files) — data/client.json
·
back to Consulting Rentv Com
·
RENTV: load social-discovery scan (no paid ads / no socials e32021a →