Changes for page

Last modified by Chris Workman on 2026/09/18 21:52

From version 19.1
edited by Chris Workman
on 2026/09/17 20:42
Change comment: There is no comment for this version
To version 27.1
edited by Chris Workman
on 2026/09/18 21:52
Change comment: Upload new image "Spam-Detection-Process-Diagram.png", version 1.1

Summary

Details

Page properties
Content
... ... @@ -1,7 +1,402 @@
1 1  (% class="fdm-hub" %)
2 2  (((
3 -(% class="fdm-masthead" %)
4 -(((
5 -
3 +{{html clean="false"}}
4 +<!--
5 + ============================================================
6 + FirstDigital - Learning Center Menu (XWiki fragment)
7 + ============================================================
8 +
9 + HOW TO USE
10 + 1. Edit the wiki page in SOURCE / WIKI mode (never WYSIWYG).
11 + 2. Select all existing page content and delete it.
12 + 3. Paste:
13 +
14 + {{html clean="false"}}
15 + ...everything in this file...
16 + {{/html}}
17 +
18 + 4. Save & View.
19 +
20 + IMPORTANT
21 + - This file is a FRAGMENT. It deliberately contains no DOCTYPE
22 + declaration and no html / head / body elements. Everything is
23 + scoped inside .fdm-hub so it cannot leak into the wiki theme.
24 + - After saving, only ever re-edit this page in SOURCE mode.
25 + Opening it in the WYSIWYG editor and saving can duplicate the
26 + content, because XWiki may expand the macro output into the page
27 + body while also keeping the macro itself.
28 + - All embedded stock photography has been removed (the hero image
29 + and the CCP / Teams / SIP Trunk card photos). Every card now uses
30 + the same brand-gradient panel behind its logo badge, the same
31 + style CloudPBX and Webex already used. This drops the page's
32 + size dramatically since it no longer carries any base64 images.
33 + To bring a photo back on any card, add an <img> inside its
34 + .fdm-media the way the badge <img> is already written.
35 + - Card order is now: Microsoft Teams, Cloud Connected PSTN (CCP),
36 + Webex Calling, FirstDigital CloudPBX, FirstDigital SIP Trunk.
37 + Teams leads the list, the two Webex-branded products (CCP and
38 + Webex Calling) sit next to each other, and SIP Trunk is last.
39 + - The Support card remains removed. CloudPBX and Webex still have
40 + PLACEHOLDER hrefs (https://learn.firstdigital.com/bin/view/CloudPBX/
41 + and .../Webex/) - update them to the real wiki locations before
42 + publishing.
43 + - The footer's two links, including the ?oidc.skipped= parameters,
44 + are unchanged from your original page.
45 + - The page container scales its width with the viewport (max-width
46 + 1600px, side padding fluid) and the card grid reflows its column
47 + count automatically as the window widens or narrows.
48 + ============================================================
49 +-->
50 +<style>
51 +@import url('https://fonts.googleapis.com/css2?family=Host+Grotesk:wght@300;400;600;800&display=swap');
52 +
53 + /* Safety net: if the wiki ever renders this block twice,
54 + show only the first copy. */
55 + .fdm-hub ~ .fdm-hub { display: none !important; }
56 +
57 + /* ---- FirstDigital brand tokens (Brand Guide 2025, p.11) ---- */
58 + .fdm-hub {
59 + --fd-navy: #003366; /* headlines, backgrounds, icons */
60 + --fd-blue: #307ab2; /* headlines, backgrounds, icons */
61 + --fd-blue-bright: #38b2e3; /* stand-out headlines, icons */
62 + --fd-red: #cf333d; /* accents - use selectively */
63 + --fd-body: #2e404d; /* paragraph text */
64 + --fd-secondary: #8f9499; /* secondary text */
65 + --fd-bg-mid: #dedede; /* backgrounds */
66 + --fd-bg-light: #f0f0f0; /* backgrounds */
67 + --fd-white: #ffffff;
68 + --ms-azure: #0078d4; /* Microsoft's own brand blue */
69 + }
70 +
71 + .fdm-hub, .fdm-hub * { box-sizing: border-box; }
72 +
73 + .fdm-hub {
74 + font-family: 'Host Grotesk', 'Segoe UI', -apple-system, BlinkMacSystemFont, Arial, sans-serif;
75 + font-weight: 300;
76 + color: var(--fd-body);
77 + background: var(--fd-white);
78 + max-width: 1600px;
79 + margin: 0 auto;
80 + padding: 0 clamp(16px, 4vw, 56px) 28px;
81 + width: 100%;
82 + -webkit-font-smoothing: antialiased;
83 + }
84 +
85 + /* ---- Masthead: full-colour logo on white (Logo Rules, p.10) ---- */
86 + .fdm-masthead {
87 + display: flex;
88 + align-items: center;
89 + justify-content: space-between;
90 + gap: 20px;
91 + flex-wrap: wrap;
92 + padding: 22px 0 18px;
93 + border-bottom: 1px solid var(--fd-bg-mid);
94 + }
95 +
96 + .fdm-masthead img { height: 46px; width: auto; display: block; }
97 +
98 + .fdm-masthead-label {
99 + font-size: 12px;
100 + font-weight: 600;
101 + letter-spacing: 0.16em;
102 + text-transform: uppercase;
103 + color: var(--fd-secondary);
104 + white-space: nowrap;
105 + }
106 +
107 + /* ---- Hero (brand-gradient panel, no photo) ---- */
108 + .fdm-hero {
109 + position: relative;
110 + margin-top: 22px;
111 + border-radius: 6px;
112 + overflow: hidden;
113 + min-height: 250px;
114 + display: flex;
115 + align-items: flex-end;
116 + background: linear-gradient(120deg, var(--fd-navy) 0%, var(--fd-blue) 100%);
117 + }
118 +
119 + .fdm-hero-inner {
120 + position: relative;
121 + z-index: 1;
122 + padding: 32px 32px 30px;
123 + max-width: 600px;
124 + }
125 +
126 + .fdm-eyebrow {
127 + font-size: 12px;
128 + font-weight: 600;
129 + letter-spacing: 0.18em;
130 + text-transform: uppercase;
131 + color: var(--fd-blue-bright);
132 + margin-bottom: 9px;
133 + }
134 +
135 + .fdm-hero h1 {
136 + font-size: clamp(26px, 3.6vw, 36px);
137 + font-weight: 800;
138 + line-height: 1.14;
139 + letter-spacing: -0.01em;
140 + color: var(--fd-white);
141 + margin: 0 0 11px;
142 + }
143 +
144 + .fdm-hero p {
145 + font-size: 15px;
146 + font-weight: 300;
147 + line-height: 1.6;
148 + color: #dbe6ef;
149 + margin: 0;
150 + max-width: 470px;
151 + }
152 +
153 + /* ---- Card grid ---- */
154 + .fdm-grid {
155 + display: grid;
156 + grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
157 + gap: 22px;
158 + margin-top: 24px;
159 + }
160 +
161 + .fdm-card {
162 + display: flex;
163 + flex-direction: column;
164 + background: var(--fd-white);
165 + border: 1px solid var(--fd-bg-mid);
166 + border-radius: 6px;
167 + overflow: hidden;
168 + text-decoration: none !important;
169 + color: inherit;
170 + height: 100%;
171 + transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
172 + }
173 +
174 + .fdm-card:hover {
175 + transform: translateY(-3px);
176 + border-color: var(--fd-blue-bright);
177 + box-shadow: 0 12px 26px rgba(0,51,102,0.14);
178 + }
179 +
180 + .fdm-card:focus-visible {
181 + outline: 3px solid var(--fd-blue-bright);
182 + outline-offset: 2px;
183 + }
184 +
185 + .fdm-media {
186 + position: relative;
187 + height: 132px;
188 + background: linear-gradient(135deg, var(--fd-navy) 0%, var(--fd-blue) 100%);
189 + flex: 0 0 auto;
190 + /* no overflow:hidden here - the logo badge overhangs the bottom
191 + edge on purpose. .fdm-card's own overflow:hidden keeps the
192 + rounded corners. */
193 + }
194 +
195 + /* white badge keeps every logo brand-legal over the gradient (p.10) */
196 + .fdm-badge {
197 + position: absolute;
198 + left: 18px;
199 + bottom: 0;
200 + z-index: 1;
201 + transform: translateY(50%);
202 + width: 58px; height: 58px;
203 + border-radius: 8px;
204 + background: var(--fd-white);
205 + box-shadow: 0 5px 14px rgba(0,0,0,0.18);
206 + display: flex;
207 + align-items: center;
208 + justify-content: center;
209 + overflow: hidden;
210 + }
211 +
212 + .fdm-badge img { object-fit: contain; display: block; }
213 +
214 + .fdm-logo-webex { width: 74%; height: auto; }
215 + .fdm-logo-teams { width: 64%; height: auto; }
216 + .fdm-logo-firstdigital { width: 84%; height: auto; }
217 +
218 + /* icons: dark-blue stroke, bright-blue accent (Brand Guide p.14) */
219 + .fdm-badge svg {
220 + width: 26px; height: 26px;
221 + fill: none;
222 + stroke: var(--fd-navy);
223 + stroke-width: 1.7;
224 + stroke-linecap: round;
225 + stroke-linejoin: round;
226 + }
227 +
228 + .fdm-badge svg .accent { stroke: var(--fd-blue-bright); }
229 +
230 + .fdm-body {
231 + padding: 38px 22px 22px;
232 + display: flex;
233 + flex-direction: column;
234 + flex: 1 1 auto;
235 + }
236 +
237 + .fdm-title {
238 + display: block;
239 + font-size: 16.5px;
240 + font-weight: 800;
241 + line-height: 1.28;
242 + color: var(--fd-navy);
243 + }
244 +
245 + .fdm-sub {
246 + display: block;
247 + font-size: 13.5px;
248 + font-weight: 300;
249 + line-height: 1.55;
250 + color: var(--fd-body);
251 + margin-top: 5px;
252 + }
253 +
254 + .fdm-cta {
255 + display: flex;
256 + align-items: center;
257 + gap: 7px;
258 + margin-top: auto;
259 + padding-top: 16px;
260 + font-size: 13px;
261 + font-weight: 600;
262 + color: var(--fd-red);
263 + }
264 +
265 + .fdm-cta svg {
266 + width: 15px; height: 15px;
267 + fill: none;
268 + stroke: var(--fd-red);
269 + stroke-width: 2;
270 + stroke-linecap: round;
271 + stroke-linejoin: round;
272 + transition: transform .2s ease;
273 + }
274 +
275 + .fdm-card:hover .fdm-cta svg { transform: translateX(4px); }
276 +
277 + /* ---- Footer ---- */
278 + .fdm-footer {
279 + margin-top: 32px;
280 + padding-top: 18px;
281 + border-top: 1px solid var(--fd-bg-mid);
282 + display: flex;
283 + justify-content: center;
284 + align-items: center;
285 + flex-wrap: wrap;
286 + gap: 14px;
287 + font-size: 13px;
288 + }
289 +
290 + .fdm-footer a {
291 + font-weight: 600;
292 + text-decoration: none !important;
293 + color: var(--fd-blue);
294 + }
295 +
296 + .fdm-footer a:hover { text-decoration: underline !important; }
297 +
298 + .fdm-footer a:focus-visible {
299 + outline: 2px solid var(--fd-blue-bright);
300 + outline-offset: 3px;
301 + }
302 +
303 + .fdm-brand-first { color: var(--fd-blue); }
304 + .fdm-brand-second { color: var(--fd-navy); }
305 + .fdm-azure { color: var(--ms-azure); }
306 + .fdm-divider { color: var(--fd-bg-mid); font-weight: 300; }
307 +
308 + @media (max-width: 768px) {
309 + .fdm-hub { padding: 0 12px 22px; }
310 + .fdm-masthead img { height: 38px; }
311 + .fdm-hero { min-height: 220px; }
312 + .fdm-hero-inner { padding: 24px 22px 22px; }
313 + }
314 +
315 + @media (prefers-reduced-motion: reduce) {
316 + .fdm-card, .fdm-cta svg { transition: none; }
317 + }
318 +
319 +</style>
320 +
321 +<div class="fdm-hub">
322 +
323 + <div class="fdm-masthead">
324 + <img src="https://learn.firstdigital.com/bin/download/Main/WebHome/FirstDigital-Logo.png?rev=1.3" alt="FirstDigital">
325 + <span class="fdm-masthead-label">Fiber &middot; Internet &middot; Cloud &middot; Voice</span>
326 + </div>
327 +
328 + <section class="fdm-hero">
329 + <div class="fdm-hero-inner">
330 + <div class="fdm-eyebrow">Learning Center</div>
331 + <h1>Product Documentation</h1>
332 + <p>Guides, answers, and implementation resources for your FirstDigital voice services. Choose a product to get started.</p>
333 + </div>
334 + </section>
335 +
336 + <div class="fdm-grid">
337 +
338 + <a class="fdm-card" href="https://learn.firstdigital.com/bin/view/Teams/">
339 + <span class="fdm-media">
340 + <span class="fdm-badge"><img class="fdm-logo-teams" src="https://learn.firstdigital.com/bin/download/Main/WebHome/MS%20teams.webp?rev=1.1" alt="Microsoft Teams"></span>
341 + </span>
342 + <span class="fdm-body">
343 + <span class="fdm-title">Microsoft Teams</span>
344 + <span class="fdm-sub">Direct Routing</span>
345 + <span class="fdm-cta">Open Teams docs <svg viewBox="0 0 24 24" aria-hidden="true"><path d="M4 12h15M13 6l6 6-6 6"/></svg></span>
346 + </span>
347 + </a>
348 +
349 + <a class="fdm-card" href="https://learn.firstdigital.com/bin/view/CCP/Cloud%20Connect%20PSTN%20%28CCP%29%20Main%20Page/">
350 + <span class="fdm-media">
351 + <span class="fdm-badge"><img class="fdm-logo-webex" src="https://learn.firstdigital.com/bin/download/Main/WebHome/Webex-Symbol.png?rev=1.1" alt="Webex"></span>
352 + </span>
353 + <span class="fdm-body">
354 + <span class="fdm-title">Cloud Connected PSTN (CCP)</span>
355 + <span class="fdm-sub">Webex integration</span>
356 + <span class="fdm-cta">Open CCP docs <svg viewBox="0 0 24 24" aria-hidden="true"><path d="M4 12h15M13 6l6 6-6 6"/></svg></span>
357 + </span>
358 + </a>
359 +
360 + <a class="fdm-card" href="https://learn.firstdigital.com/bin/view/Webex/">
361 + <span class="fdm-media">
362 + <span class="fdm-badge"><img class="fdm-logo-webex" src="https://learn.firstdigital.com/bin/download/Main/WebHome/Webex-Symbol.png?rev=1.1" alt="Webex"></span>
363 + </span>
364 + <span class="fdm-body">
365 + <span class="fdm-title">Webex Calling</span>
366 + <span class="fdm-sub">Control Hub &amp; configuration</span>
367 + <span class="fdm-cta">Open Webex docs <svg viewBox="0 0 24 24" aria-hidden="true"><path d="M4 12h15M13 6l6 6-6 6"/></svg></span>
368 + </span>
369 + </a>
370 +
371 + <a class="fdm-card" href="https://learn.firstdigital.com/bin/view/CloudPBX/">
372 + <span class="fdm-media">
373 + <span class="fdm-badge"><img class="fdm-logo-firstdigital" src="https://learn.firstdigital.com/bin/download/Main/WebHome/FirstDigital-Logo.png?rev=1.3" alt="FirstDigital"></span>
374 + </span>
375 + <span class="fdm-body">
376 + <span class="fdm-title">FirstDigital CloudPBX</span>
377 + <span class="fdm-sub">Hosted PBX platform</span>
378 + <span class="fdm-cta">Open CloudPBX docs <svg viewBox="0 0 24 24" aria-hidden="true"><path d="M4 12h15M13 6l6 6-6 6"/></svg></span>
379 + </span>
380 + </a>
381 +
382 + <a class="fdm-card" href="https://learn.firstdigital.com/bin/view/SIP/">
383 + <span class="fdm-media">
384 + <span class="fdm-badge"><img class="fdm-logo-firstdigital" src="https://learn.firstdigital.com/bin/download/Main/WebHome/FirstDigital-Logo.png?rev=1.3" alt="FirstDigital"></span>
385 + </span>
386 + <span class="fdm-body">
387 + <span class="fdm-title">FirstDigital SIP Trunk</span>
388 + <span class="fdm-sub">Voice connectivity</span>
389 + <span class="fdm-cta">Open SIP docs <svg viewBox="0 0 24 24" aria-hidden="true"><path d="M4 12h15M13 6l6 6-6 6"/></svg></span>
390 + </span>
391 + </a>
392 + </div>
393 +
394 + <div class="fdm-footer">
395 + <a href="https://learn.firstdigital.com/bin/view/Main/?oidc.skipped=true"><span class="fdm-brand-first">First</span><span class="fdm-brand-second">Digital</span></a>
396 + <span class="fdm-divider">|</span>
397 + <a class="fdm-azure" href="https://learn.firstdigital.com/bin/view/Main/?oidc.skipped=false">Microsoft Azure</a>
398 + </div>
399 +
400 +</div>
401 +{{/html}}
6 6  )))
7 -)))
STIR-SHAKEN-Diagram.jpg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.chrisworkmanfirstdigitalcom
Size
... ... @@ -1,0 +1,1 @@
1 +1.7 MB
Content
Spam-Detection-Process-Diagram.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.chrisworkmanfirstdigitalcom
Size
... ... @@ -1,0 +1,1 @@
1 +169.3 KB
Content