1<!DOCTYPE html> 2<html lang="en"> 3<head> 4<meta charset="UTF-8"> 5<meta name="viewport" content="width=device-width, initial-scale=1.0"> 6<title>DOS Success Worksheet â Monument Group</title> 7<link href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=Source+Sans+3:wght@300;400;500;600;700&display=swap" rel="stylesheet"> 8<style> 9 :root { 10 --green:#5a7a3a;--green-dark:#3d5628;--green-mid:#6b8f47;--green-light:#8aaa65; 11 --green-tint:#f0f4ea;--cream:#f5f3ee;--cream-dark:#ede9e1;--off-white:#faf9f6; 12 --text-dark:#2b3220;--text-mid:#4a5535;--text-muted:#7a8a6a; 13 --border:#d8ddd0;--border-light:#e8ede0; 14 } 15 *{box-sizing:border-box;margin:0;padding:0} 16 body{font-family:'Source Sans 3',sans-serif;background:var(--cream);color:var(--text-dark);min-height:100vh} 17 .site-header{background:#fff;padding:14px 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(0,0,0,.08);position:sticky;top:0;z-index:200;box-shadow:0 2px 12px rgba(0,0,0,.08)} 18 .header-label{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted)} 19 .page-header{background:var(--green-dark);color:#fff;text-align:center;padding:3.5rem 2rem 3rem;position:relative;overflow:hidden} 20 .page-header::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(138,170,101,.1) 0%,transparent 55%)} 21 .page-header::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--green-light),var(--green-mid),var(--green-light))} 22 .page-header h1{font-family:'Playfair Display',serif;font-size:2rem;font-weight:700;position:relative;margin-bottom:.4rem} 23 .page-header .subtitle{font-size:.75rem;color:rgba(255,255,255,.5);font-weight:600;letter-spacing:.25em;text-transform:uppercase;position:relative} 24 .form-container{max-width:760px;margin:0 auto;padding:2.5rem 1.5rem 5rem} 25 .meta-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;margin-bottom:2.5rem} 26 @media(max-width:600px){.meta-row{grid-template-columns:1fr}.site-header{padding:14px 20px}.sub-grid{grid-template-columns:1fr!important}} 27 .section-card{background:#fff;border-radius:8px;padding:2rem 2rem 1.5rem;margin-bottom:1.5rem;border:1px solid var(--border);box-shadow:0 1px 5px rgba(61,86,40,.05);animation:fadeUp .35s ease both} 28 @keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}} 29 .section-header{display:flex;align-items:flex-start;gap:1.1rem;margin-bottom:1.5rem;padding-bottom:1.2rem;border-bottom:1px solid var(--border-light)} 30 .section-letter{font-family:'Playfair Display',serif;font-size:3rem;font-weight:700;line-height:1;min-width:2.4rem;color:var(--green-dark)} 31 .section-title-block h2{font-family:'Playfair Display',serif;font-size:1.2rem;color:var(--text-dark);margin-bottom:.2rem} 32 .section-title-block p{font-size:.87rem;color:var(--text-muted);line-height:1.5} 33 .input-group{margin-bottom:1rem}.input-group:last-child{margin-bottom:0} 34 .input-group label{display:block;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.35rem} 35 .input-group textarea,.input-group input{width:100%;font-family:'Source Sans 3',sans-serif;font-size:.95rem;color:var(--text-dark);background:var(--off-white);border:1px solid var(--border);border-radius:5px;padding:.7rem .9rem;transition:border-color .2s,box-shadow .2s,background .2s;resize:vertical} 36 .input-group textarea{min-height:88px} 37 .input-group textarea:focus,.input-group input:focus{outline:none;background:#fff;border-color:var(--green);box-shadow:0 0 0 3px rgba(90,120,78,.1)} 38 .section-divider{display:flex;align-items:center;gap:1rem;margin:2.5rem 0} 39 .section-divider hr{flex:1;border:none;border-top:1px solid var(--border)} 40 .section-divider span{font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap} 41 .question-prompt{background:var(--green-dark);color:#fff;border-radius:8px;padding:1.8rem 2rem;margin-bottom:1.4rem;
41font-family:'Playfair Display',serif;font-size:1.05rem;line-height:1.65;font-style:italic;position:relative;overflow:hidden} 42 .question-prompt::before{content:'\201C';position:absolute;top:-.8rem;left:1.2rem;font-size:7rem;color:rgba(255,255,255,.05);line-height:1} 43 .question-prompt em{color:var(--green-light);font-style:normal;font-weight:600} 44 .horizon-card{background:#fff;border-radius:8px;border:1px solid var(--border);padding:1.7rem 2rem;margin-bottom:1.2rem;box-shadow:0 1px 5px rgba(61,86,40,.05);animation:fadeUp .35s ease both} 45 .horizon-label{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem} 46 .horizon-pip{width:9px;height:9px;border-radius:50%;background:var(--green);flex-shrink:0} 47 .horizon-label h3{font-family:'Playfair Display',serif;font-size:1.08rem;color:var(--text-dark);flex:1} 48 .years-tag{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)} 49 .submit-row{display:flex;justify-content:center;margin-top:2.5rem} 50 .btn-submit{font-family:'Source Sans 3',sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;background:var(--green-dark);color:#fff;border:none;border-radius:5px;padding:1rem 3.5rem;cursor:pointer;transition:background .2s,transform .1s,box-shadow .2s;box-shadow:0 4px 14px rgba(61,86,40,.25)} 51 .btn-submit:hover{background:var(--green);box-shadow:0 6px 18px rgba(61,86,40,.35);transform:translateY(-1px)} 52 .btn-submit:active{transform:translateY(0)} 53 .btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none} 54 .success-panel{display:none;max-width:640px;margin:0 auto;padding:3.5rem 1.5rem 6rem;text-align:center} 55 .success-mark{width:64px;height:64px;margin:0 auto 1.5rem;border-radius:50%;background:var(--green-tint);display:flex;align-items:center;justify-content:center} 56 .success-mark svg{width:32px;height:32px;fill:var(--green-dark)} 57 .success-panel h2{font-family:'Playfair Display',serif;font-size:1.9rem;font-weight:600;color:var(--text-dark);margin-bottom:.9rem} 58 .success-panel p{font-size:.95rem;line-height:1.7;color:var(--text-mid);margin-bottom:2rem} 59 .success-actions{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center} 60 .btn-action{font-family:'Source Sans 3',sans-serif;font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;background:none;color:var(--green-dark);border:1px solid var(--green-light);border-radius:5px;padding:.85rem 1.9rem;cursor:pointer;transition:background .2s,border-color .2s,transform .1s,box-shadow .2s} 61 .btn-action:hover{background:var(--green-tint);border-color:var(--green-dark)} 62 .btn-action-primary{background:var(--green-dark);border-color:var(--green-dark);color:#fff;box-shadow:0 4px 14px rgba(61,86,40,.25)} 63 .btn-action-primary:hover{background:var(--green);border-color:var(--green);box-shadow:0 6px 18px rgba(61,86,40,.35);transform:translateY(-1px)} 64 .btn-action-quiet{border-color:var(--border);color:var(--text-muted)} 65 .btn-action-quiet:hover{background:var(--cream-dark);border-color:var(--text-muted);color:var(--text-dark)} 66 .success-panel .success-note{font-size:.8rem;line-height:1.6;color:var(--text-muted);max-width:430px;margin:1.5rem auto 0} 67 .success-panel .done-note{display:none;font-size:.95rem;color:var(--text-mid);margin:0} 68 .success-reopen{background:none;border:none;padding:0;margin-top:1.2rem;font-family:'Source Sans 3',sans-serif;font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);text-decoration:underline;cursor:pointer} 69 .success-reopen:hover{color:var(--text-dark)} 70 .hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden} 71 .toast{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%) translateY(14px);background:var(--green-dark);color:#fff;padding:.8rem 1.8rem;border-radius:5px;font-size:.85rem;font-weight:600;letter-spacing:.04em;opacity:0;pointer-events:none;transition:all .3s;z-index:999;white-space:nowrap;box-shadow:0 4px 14px rgba(0,0,0,.18)} 72 .toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
73 .draft-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--green-tint);border:1px solid var(--border-light);border-radius:6px;padding:.6rem 1rem;margin-bottom:2rem;font-size:.78rem} 74 .draft-status{display:flex;align-items:center;gap:.5rem;color:var(--text-muted)} 75 .draft-dot{width:7px;height:7px;border-radius:50%;background:var(--border);flex-shrink:0;transition:background .3s} 76 .draft-dot.saved{background:var(--green)} 77 .draft-clear{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);background:none;border:none;cursor:pointer;text-decoration:underline;padding:0} 78 .draft-clear:hover{color:var(--text-dark)} 79 .examples-banner{background:var(--green-tint);border:1px solid #c8d9b4;border-radius:6px;padding:.85rem 1.1rem;margin-bottom:1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;transition:background .2s,border-color .2s} 80 .examples-banner:hover{background:#e2ebda;border-color:var(--green-light)} 81 .examples-banner-left{display:flex;align-items:center;gap:.7rem} 82 .examples-banner-left svg{width:20px;height:20px;
82fill:var(--green-dark);flex-shrink:0} 83 .examples-banner-title{font-size:.88rem;font-weight:700;color:var(--green-dark);margin:0 0 .15rem} 84 .examples-banner-sub{font-size:.8rem;color:var(--green);margin:0} 85 .examples-banner-pill{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green-dark);background:#ddeac8;border-radius:3px;padding:.28rem .7rem;white-space:nowrap;flex-shrink:0} 86 .copyright-note{text-align:center;font-size:.73rem;color:var(--text-muted);margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--border);font-style:italic} 87 .sidebar-overlay{position:fixed;inset:0;background:rgba(43,50,32,.3);z-index:300;opacity:0;pointer-events:none;transition:opacity .25s} 88 .sidebar-overlay.open{opacity:1;pointer-events:all} 89 .sidebar{position:fixed;top:0;right:0;width:380px;max-width:92vw;height:100vh;background:#fff;z-index:400;box-shadow:-4px 0 28px rgba(0,0,0,.13);transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;overflow:hidden} 90 .sidebar.open{transform:translateX(0)} 91 .sidebar-head{background:var(--green-dark);color:#fff;padding:1.4rem 1.5rem;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-shrink:0} 92 .sidebar-letter{font-family:'Playfair Display',serif;font-size:2rem;font-weight:700;line-height:1;color:var(--green-light)} 93 .sidebar-head h3{font-family:'Playfair Display',serif;font-size:1rem;margin-top:.15rem;font-weight:600} 94 .sidebar-head p{font-size:.77rem;color:rgba(255,255,255,.5);margin-top:.2rem;line-height:1.4} 95 .sidebar-close{background:none;border:none;cursor:pointer;color:rgba(255,255,255,.55);padding:.15rem;flex-shrink:0;transition:color .15s;line-height:1} 96 .sidebar-close:hover{color:#fff} 97 .sidebar-close svg{width:20px;height:20px;fill:currentColor;display:block} 98 .sidebar-body{flex:1;overflow-y:auto;padding:1.4rem 1.5rem} 99 .sidebar-intro{font-size:.84rem;color:var(--text-muted);line-height:1.55;margin-bottom:1.4rem;font-style:italic;border-bottom:1px solid var(--border-light);padding-bottom:1.2rem} 100 .example-item{margin-bottom:1.1rem;padding-bottom:1.1rem;border-bottom:1px solid var(--border-light)} 101 .example-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0} 102 .example-tag{display:inline-block;font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:var(--green-tint);color:var(--green);border-radius:3px;padding:.12rem .45rem;margin-bottom:.35rem} 103 .example-item strong{display:block;font-size:.9rem;font-weight:600;color:var(--text-dark);line-height:1.4;margin-bottom:.2rem} 104 .example-item span{font-size:.82rem;color:var(--text-muted);line-height:1.5;display:block} 105 /* ---- printable copy of the responses (hidden on screen) ---- */ 106 #print-doc{display:none} 107 .pd-mast{border-bottom:2px solid #3d5628;padding-bottom:.6rem;margin-bottom:1.1rem} 108 .pd-eyebrow{font-size:8.5pt;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#5a7a3a;margin-bottom:.35rem} 109 .pd-mast h1{font-family:'Playfair Display',serif;font-size:22pt;font-weight:600;color:#2b3220;line-height:1.15} 110 .pd-mast .pd-sub{font-size:10pt;color:#7a8a6a;margin-top:.2rem} 111 .pd-meta{display:flex;flex-wrap:wrap;gap:.35rem 2.2rem;margin-bottom:1.4rem;font-size:10pt;color:#2b3220} 112 .pd-meta span b{font-size:8pt;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#7a8a6a;margin-right:.5rem} 113 .pd-section{margin-bottom:1.5rem;page-break-inside:avoid;break-inside:avoid} 114 .pd-section h2{font-size:13pt;font-weight:700;color:#3d5628;border-bottom:1px solid #d8ddd0;padding-bottom:.3rem;margin-bottom:.45rem} 115 .pd-intro{font-size:9.5pt;color:#7a8a6a;font-style:italic;margin-bottom:.8rem;line-height:1.45} 116 .pd-item{margin-bottom:.8rem;page-break-inside:avoid;break-inside:avoid} 117 .pd-item h3{font-size:8pt;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#7a8a6a;margin-bottom:.2rem} 118 .pd-item p{font-size:10.5pt;line-height:1.5;color:#2b3220;padding-left:.6rem;border-left:2px solid #e8ede0} 119 .pd-empty{color:#9aa88c;font-style:italic} 120 .pd-foot{margin-top:1.6rem;padding-top:.7rem;border-top:1px solid #d8ddd0;font-size:8.5pt;color:#7a8a6a;font-style:italic;text-align:center} 121 @media print{ 122 body{background:#fff} 123 .site-header,.page-header,.form-container,.success-panel,.sidebar,.sidebar-overlay,.toast{display:none !important} 124 #print-doc{display:block !important} 125 @page{margin:16mm} 126 } 127</style> 128</head> 129<body> 130 131<header class="site-header"> 132 <svg style="display:block;height:56px;width:auto;" xmlns="http://www.w3.org/2000/svg" viewBox="148 140 202 55"> 133 <defs><style>.st0{fill:none}.st1{fill:#696d74}.st2{fill:#5a784e}</style></defs> 134 <g><path class="st2" d="M197.9,147.3c-.3,0-.6.2-.7.2-.1,0-.3.2-.3.3,0,.1-.1.3-.2.5,0,.2,0,.6,0,1.1v9.5c0,.5,0,.8,0,1.1,0,.2,0,.4.2.5,0,.1.2.2.3.3.1,0,.4.2.7.3v.5h-4.6v-.5c.4-.1.7-.2.9-.3.2-.1.3-.3.3-.6,0-.3,0-.7,0-1.3v-4.2c0-1.1,0-2.2,0-3.3s0-1.9.1-2.3h-.2l-4.3,10.8h-1.3l-4-11h-.2c0,.4,0,1.2.1,2.4,0,1.2,0,2.4,0,3.6v4c0,.5,0,.8,0,1.1,0,.2,0,.4.2.5,0,.1.2.2.3.3.1,0,.4.2.7.3v.5h-4v-.5c.5-.1.8-.2.9-.4.2-.1.3-.3.3-.6,0-.3,0-.7,0-1.2v-9.5c0-.5,0-.9,0-1.1,0-.2,0-.4-.2-.5,0-.1-.2-.2-.3-.3-.1,0-.4-.2-.7-.3v-.5h3.9l3.8,10.6,4.2-10.6h3.7v.5Z"/><path fill-rule="evenodd" class="st2" d="M205,161.8c-1.5,0-2.7-.4-3.5-1.3-.8-.9-1.2-2.2-1.2-4s.2-2.2.6-3c.4-.8,1-1.4,1.7-1.9.7-.4,1.6-.6,2.5-.6,1.6,0,2.7.5,3.5,1.4.8.9,1.2,2.2,1.2,3.9s-.2,2.2-.6,3.1c-.4.8-1,1.5-1.7,1.9-.7.4-1.6.6-2.6.6ZM202.4,156.3c0,1.5.2,2.7.7,3.5.5.8,1.2,1.2,2,1.2s.9-.1,1.2-.4c.3-.2.6-.6.8-1,.2-.4.4-.9.5-1.4s.1-1.1.1-1.7c0-1.1-.1-2-.4-2.7-.2-.7-.6-1.2-1-1.6-.4-.3-.9-.5-1.4-.5-.9,0-1.6.4-2,1.1-.5.8-.7,1.9-.7,3.3Z"/>
134<path class="st2" d="M222.8,161.6h-4.3v-.5c.3,0,.5-.2.6-.2.1,0,.2-.2.3-.3,0-.1.1-.3.2-.5,0-.2,0-.6,0-1.1v-2.9c0-.5,0-1,0-1.4,0-.4,0-.8-.1-1,0-.3-.2-.5-.3-.6,0-.1-.2-.3-.3-.4-.1-.1-.3-.2-.5-.3-.2,0-.4,0-.7,0s-.6,0-.8.2c-.3.1-.5.3-.8.6-.3.3-.5.6-.7.8-.1.3-.2.6-.2.9v4.1c0,.6,0,1.1,0,1.3,0,.2.2.4.3.6.2.1.4.2.8.3v.5h-4.3v-.5c.3,0,.5-.2.6-.2.1,0,.2-.2.3-.3,0-.1.1-.3.2-.5,0-.2,0-.6,0-1.1v-4.8c0-.5,0-.8,0-1.1,0-.3,0-.5-.2-.7,0-.2-.2-.3-.4-.4-.2,0-.4-.2-.8-.2v-.6h2.6c0,0,.7,0,.7,0v1.8c-.1,0,0,0,0,0,.5-.5,1-.9,1.3-1.2.3-.2.7-.4,1-.5.3-.1.7-.2,1.1-.2s.7,0,1.1.1c.3,0,.6.2.8.4.2.2.4.4.6.7.2.3.3.6.3,1,0,.4.1.9.1,1.5v4.1c0,.5,0,.9,0,1.1,0,.2,0,.4.2.5,0,.1.2.2.3.3.1,0,.4.2.7.3v.5Z"/><path class="st2" d="M224.4,151.2h3.1v5.6c0,.9,0,1.5,0,1.9,0,.4.2.8.3,1,.1.2.3.4.6.6.2.2.6.2,1,.2s.5,0,.8-.2c.3-.1.5-.3.9-.6.3-.3.5-.5.7-.8.1-.3.2-.6.2-.9v-4.1c0-.4,0-.7,0-.9,0-.2,0-.4-.1-.5,0-.1-.1-.2-.2-.3,0,0-.2-.2-.3-.2-.1,0-.3-.1-.6-.2v-.5h3.1v7.5c0,.6,0,1,0,1.2,0,.2,0,.4.1.6,0,.1.2.3.3.4.2,0,.4.2.8.3v.6h-2.5c0,.1-.7.1-.7.1v-1.8c0,0,0,0,0,0-.6.7-1.2,1.1-1.7,1.4-.6.3-1.1.5-1.7.5s-1.2-.1-1.6-.4c-.4-.3-.8-.7-1-1.2-.2-.5-.3-1.3-.3-2.2v-4.1c0-.6,0-1,0-1.3,0-.2-.1-.4-.3-.5-.1-.1-.4-.3-.9-.4v-.5Z"/><path class="st2" d="M239.9,152.9h.2c.4-.4.8-.7,1.1-.9.3-.2.6-.4.8-.5.3-.1.5-.2.7-.3.2,0,.5,0,.7,0,.7,0,1.3.2,1.8.5.5.3.8.8,1,1.5.5-.6,1-1,1.3-1.2.3-.3.7-.5,1-.6.4-.1.7-.2,1.1-.2s.9,0,1.3.2c.4.1.7.4.9.7.2.3.4.7.5,1.1.1.4.2,1,.2,1.8v4.1c0,.6,0,.9,0,1.1,0,.2,0,.4.2.5,0,.1.2.2.3.3.1,0,.4.2.7.3v.5h-4.3v-.5c.3,0,.5-.2.6-.2.1,0,.2-.2.3-.3s.1-.3.2-.5c0-.2,0-.6,0-1.1v-2.9c0-.6,0-1.1,0-1.5s0-.7-.2-1c0-.2-.2-.4-.2-.6,0-.1-.2-.3-.3-.4-.1-.1-.3-.2-.4-.2-.2,0-.4,0-.7,0s-.6,0-.8.2c-.3.1-.5.3-.8.6-.3.3-.5.6-.6.8-.1.3-.2.6-.2,1v4c0,.6,0,.9,0,1.1,0,.2,0,.4.2.5,0,.1.2.2.3.3.1,0,.4.2.7.3v.5h-4.3v-.5c.3,0,.5-.2.6-.2.1,0,.2-.2.3-.3,0-.1.1-.3.2-.5,0-.2,0-.6,0-1.1v-2.9c0-.6,0-1.2,0-1.6,0-.4,0-.7-.2-1,0-.2-.2-.4-.3-.6-.1-.2-.2-.3-.4-.3-.1,0-.3-.1-.4-.2-.2,0-.4,0-.6,0-.3,0-.6,0-.8.2-.3.1-.5.3-.8.6-.3.3-.5.5-.6.8-.1.3-.2.6-.2.9v4.1c0,.4,0,.7,0,1,0,.2,0,.4.1.5,0,.1.1.2.2.3,0,0,.2.1.3.2.1,0,.3.1.6.2v.5h-4.3v-.5c.3,0,.5-.2.6-.2.1,0,.2-.2.3-.3,0-.1.2-.3.2-.5,0-.2,0-.6,0-1.1v-4.8c0-.5,0-.8,0-1.1,0-.3,0-.5-.2-.7,0-.2-.2-.3-.4-.4-.2,0-.4-.2-.8-.2v-.6h2.6c0,0,.7,0,.7,0v1.8Z"/><path fill-rule="evenodd" class="st2" d="M264.3,159.8c-.5.5-.9.9-1.3,1.1-.4.3-.8.5-1.3.7-.5.2-1,.2-1.5.2-1.5,0-2.6-.4-3.4-1.3-.8-.9-1.1-2.2-1.1-4s.2-2,.6-2.9c.4-.8.9-1.5,1.7-1.9.7-.5,1.6-.7,2.5-.7s1.4.1,1.9.3c.5.2.9.6,1.2,1,.3.4.6.9.7,1.5.2.6.3,1.4.3,2.4h-6.9v.2c0,.9,0,1.6.3,2.2.2.6.5,1,1,1.4s1,.5,1.7.5,1.1-.1,1.6-.3c.5-.2,1-.6,1.4-1.1l.7.7ZM262.5,155.4c0-.8-.1-1.4-.3-1.9-.2-.5-.4-.9-.7-1.1-.3-.3-.7-.4-1.2-.4-.7,0-1.3.3-1.8.9-.4.6-.7,1.5-.8,2.6h4.8Z"/><path class="st2" d="M277.2,161.6h-4.3v-.5c.3,0,.5-.2.6-.2.1,0,.2-.2.3-.3,0-.1.1-.3.2-.5,0-.2,0-.6,0-1.1v-2.9c0-.5,0-1,0-1.4,0-.4,0-.8-.1-1,0-.3-.2-.5-.3-.6,0-.1-.2-.3-.3-.4-.1-.1-.3-.2-.5-.3-.2,0-.4,0-.7,0s-.6,0-.8.2c-.3.1-.5.3-.8.6-.3.3-.5.6-.7.8-.1.3-.2.6-.2.9v4.1c0,.6,0,1.1,0,1.3,0,.2.2.4.3.6.2.1.4.2.8.3v.5h-4.3v-.5c.3,0,.5-.2.6-.2.1,0,.2-.2.3-.3,0-.1.2-.3.2-.5,0-.2,0-.6,0-1.1v-4.8c0-.5,0-.8,0-1.1,0-.3,0-.5-.2-.7,0-.2-.2-.3-.4-.4-.2,0-.4-.2-.8-.2v-.6h2.6c0,0,.7,0,.7,0v1.8c-.1,0,0,0,0,0,.5-.5,1-.9,1.3-1.2.3-.2.7-.4,1-.5.3-.1.7-.2,1.1-.2s.7,0,1.1.1c.3,0,.6.2.8.4.2.2.4.4.6.7.2.3.3.6.3,1,0,.4.1.9.1,1.5v4.1c0,.5,0,.9,0,1.1,0,.2,0,.4.2.5,0,.1.2.2.3.3.1,0,.4.2.7.3v.5Z"/><path class="st2" d="M278.4,151.7c.4,0,.7-.2.9-.3.2-.1.4-.3.5-.6.1-.2.2-.5.3-.9s.2-.9.2-1.5h1.6v2.7h3.5v1.1h-3.5v4.9c0,.7,0,1.3,0,1.7,0,.4.2.7.3,1,.2.2.3.4.5.5.2.1.5.2.8.2s.6,0,.8-.2c.3-.1.5-.3.8-.5l.5.6c-.5.5-1,.9-1.5,1.1-.5.2-.9.3-1.4.3-.9,0-1.6-.3-2.1-.8-.5-.6-.7-1.4-.7-2.6v-6.1h-1.6v-.6Z"/><path class="st2" d="M302.2,161.6l-.9.2-.8-.9c-.5.3-1,.5-1.5.6s-1.1.2-1.8.2c-1.8,0-3.2-.6-4.2-1.9-.9-1.3-1.4-3.1-1.4-5.6s.3-2.9.8-4.1c.5-1.2,1.2-2.1,2.2-2.7,1-.6,2.1-.9,3.4-.9s1.3,0,2,.1c.6,0,1.3.2,2.1.4v3h-1.1c-.2-.7-.4-1.2-.7-1.5-.3-.4-.6-.6-1-.8-.4-.2-.9-.2-1.4-.2s-1.5.3-2.1.8c-.6.5-1.1,1.3-1.4,2.3-.3,1-.5,2.2-.5,3.6s.1,2.6.4,3.7c.3,1,.7,1.8,1.3,2.3.6.5,1.2.8,2,.8s1.5-.2,1.9-.6c.4-.4.6-1,.6-1.7v-.7c0-.7,0-1.1-.1-1.4,0-.3-.2-.5-.4-.7-.2-.2-.5-.3-.9-.4v-.5h4.4v.5c-.3,0-.5.2-.6.3-.1.1-.2.3-.3.4,0,.2-.1.4-.1.6,0,.2,0,.6,0,1v3.8Z"/><path class="st2" d="M308.1,153h.2c.4-.5.8-.8,1.1-1.1.3-.3.7-.5,1.1-.6.4-.2.8-.2,1.3-.2s.8,0,1.1,0v2.5h-1.2c-.2-.4-.4-.7-.6-.9-.2-.2-.5-.3-.8-.3s-.5,0-.8.2c-.3.2-.5.4-.7.7-.2.3-.4.6-.5.8,0,.3-.1.6-.1.9v3.8c0,.7,0,1.1.1,1.4,0,.3.2.4.4.6.2.1.5.2.8.3v.5h-4.4v-.5c.3,0,.5-.2.6-.2.1,0,.2-.2.3-.3,0-.1.2-.3.2-.5,0-.2,0-.6,0-1.1v-4.8c0-.5,0-.8,0-1.1,0-.3,0-.5-.2-.7,0-.2-.2-.3-.4-.4-.2,0-.4-.2-.8-.2v-.6h2.6c0-.1.7-.1.7-.1v1.9Z"/></g> 135 <g><path fill-rule="evenodd" class="st2" d="M318.9,161.8c-1.5,0-2.7-.4-3.5-1.3-.8-.9-1.2-2.2-1.2-4s.2-2.2.6-3c.4-.8,1-1.4,1.7-1.9s1.6-.6,2.5-.6c1.6,0,2.7.5,3.5,1.4.8.9,1.2,2.2,1.2,3.9s-.2,2.2-.6,3.1c-.4.8-1,1.5-1.7,1.9-.7.4-1.6.6-2.6.6ZM316.3,156.3c0,1.5.2,2.7.7,3.5.5.8,1.2,1.2,2,1.2s.9-.1,1.2-.4c.3-.2.6-.6.8-1,.2-.4.4-.9.5-1.4,0-.5.1-1.1.1-1.7,0-1.1-.1-2-.4-2.7-.2-.7-.6-1.2-1-1.6-.4-.3-.9-.5-1.4-.5-.9,0-1.6.4-2,1.1-.5.8-.7,1.9-.7,3.3Z"/><path class="st2" d="M325.7,151.2h3.1v5.6c0,.9,0,1.5,0,1.9,0,.4.2.8.3,1,.1.2.3.4.6.6.2.2.6.2,1,.2s.5,0,.8-.2c.3-.1.5-.3.9-.6.3-.3.5-.5.7-.8.1-.3.2-.6.2-.9v-4.1c0-.4,0-.7,0-.9,0-.2,0-.4-.1-.5,0-.1-.1-.2-.2-.3,0,0-.2-.2-.3-.2-.1,0-.3-.1-.6-.2v-.5h3.1v7.5c0,.6,0,1,0,1.2,0,.2,0,.4.1.6,0,.1.2.3.3.4.2,0,.4.2.8.3v.6h-2.5c0,.1-.7.1-.7.1v-1.8c0,0,0,0,0,0-.6.7-1.2,1.1-1.7,1.4-.6.3-1.1.5-1.7.5s-1.2-.1-1.6-.4c-.4-.3-.7-.7-1-1.2-.2-.5-.3-1.3-.3-2.2v-4.1c0-.6,0-1,0-1.3,0-.2-.1-.4-.3-.5-.1-.1-.4-.3-.9-.4v-.5Z"/><path fill-rule="evenodd" class="st2" d="M341.3,161.3v2.3c0,.5,0,.8,0,1.1,0,.2,0,.4.2.6,0,.1.2.2.4.3.2,0,.4.2.8.2v.5h-4.5v-.5c.3,0,.5-.1.6-.2.2,0,.3-.2.4-.3,0-.1.1-.4.2-.6,0-.3,0-.6,0-1v-9.4c0-.5,0-.9,0-1.1,0-.2,0-.4,0-.6,0-.1-.1-.3-.2-.4,0,0-.2-.2-.3-.2-.1,0-.4-.1-.7-.2v-.6h2.6c0,0,.7,0,.7,0v1.8c-.1,0,0,0,0,0,.5-.5.8-.8,1.1-1,.3-.2.5-.4.8-.5.3-.1.6-.2.8-.3.3,0,.5,0,.8,0,1.2,0,2.1.4,2.8,1.3.6.9,1,2.2,1,4s-.2,2.2-.5,3c-.4.8-.9,1.4-1.6,1.8-.7.4-1.5.6-2.5.6s-1,0-1.5-.
1351c-.4,0-.8-.2-1.2-.4ZM341.3,157.7c0,.7,0,1.2.1,1.6,0,.4.2.7.5.9.2.2.5.4.8.5.3.1.7.2,1.2.2.9,0,1.5-.4,2-1.1.4-.7.7-1.8.7-3.2,0-2.9-.8-4.3-2.5-4.3s-.8,0-1.1.2c-.3.1-.6.3-.9.6-.3.3-.5.6-.6.8-.1.3-.2.6-.2.9v2.9Z"/></g> 136 <g><path class="st2" d="M254.3,181.6v-5.3c0-.9,0-1.8,0-2.7h0l-3.9,8h-1.1l-.3-8.1c0-.4,0-.7-.1-.9,0-.2-.2-.4-.3-.5-.1,0-.3-.2-.5-.2v-.4h3.1v.4c-.3,0-.5,0-.6.2-.1.1-.2.3-.3.5,0,.2,0,.5,0,.8v.2c0,0,0,.2,0,.3v2.8c0,.2,0,.5,0,1v2.1s0,0,0,0l4-8.3h1.1v4.9c0,.6,0,1.1,0,1.7v1.7s0,0,0,0l3-5.7c.1-.2.2-.5.4-.8.1-.3.2-.5.2-.7s0-.4-.2-.5c-.1-.1-.3-.2-.6-.3v-.4h3.1v.4c-.3,0-.5.2-.7.4-.2.2-.5.6-.8,1.3l-4.4,8.1h-1.1Z"/><path fill-rule="evenodd" class="st2" d="M265.2,180.1c-.4.4-.7.7-1,.9-.3.2-.7.4-1,.5-.3,0-.7.1-1.1.1s-.7,0-1-.2c-.3-.1-.5-.3-.7-.5-.2-.2-.3-.5-.4-.8s-.1-.6-.1-1c0-.5,0-1.1.3-1.7.2-.6.5-1.1.8-1.6.4-.5.8-.8,1.4-1.1.5-.3,1.1-.4,1.7-.4s1,.1,1.3.4c.3.2.4.6.4,1.1,0,.8-.4,1.4-1.2,1.9-.8.4-1.9.6-3.4.6,0,.3,0,.6,0,.9,0,.5,0,.9.3,1.1.2.2.5.3,1,.3s.9,0,1.2-.3c.4-.2.7-.5,1.1-.9l.5.5ZM261.3,177.8c.4,0,.8,0,1.2,0,.3,0,.6-.1.9-.2.2,0,.4-.2.6-.3.2-.1.3-.2.4-.4s.2-.3.2-.4c0-.1,0-.3,0-.5,0-.3,0-.5-.2-.7-.1-.2-.3-.3-.6-.3s-.7.1-1,.4c-.3.2-.6.6-.9,1-.3.4-.4.9-.6,1.4Z"/></g> 137 <g><path fill-rule="evenodd" class="st2" d="M272.1,174.9l.7-.5h.5c0,.1-1.1,5.1-1.1,5.1,0,.3-.1.5-.1.7,0,.2,0,.3,0,.4,0,.2,0,.3.2.4.1,0,.3.1.6.2v.4h-2.1l.5-1.8h0c-.5.7-.9,1.1-1.3,1.5-.4.3-.9.5-1.3.5s-.9-.2-1.2-.6c-.3-.4-.4-1-.4-1.7s0-.9.2-1.4c.1-.5.3-.9.5-1.3.2-.4.5-.8.8-1.1.3-.3.6-.6,1-.8.4-.2.8-.3,1.3-.3s.6,0,.9.1c.3,0,.6.2.8.4ZM271.5,177.1c0-.2,0-.4,0-.5,0-.1,0-.3,0-.5,0-.4,0-.7-.2-.8-.2-.2-.4-.3-.8-.3s-.4,0-.6,0c-.2,0-.4.2-.6.3-.2.2-.4.4-.5.6-.2.2-.3.5-.5.9-.1.4-.2.7-.3,1.1,0,.4-.1.8-.1,1.2s0,.9.2,1.1c.1.3.4.4.7.4s.3,0,.5-.1c.2,0,.3-.2.5-.4.2-.2.4-.5.7-.8.2-.3.4-.6.5-1,.1-.3.2-.7.3-1.1v-.3Z"/><path class="st2" d="M277.5,171.1h.4l-1.9,8.6c0,.2,0,.4-.1.5,0,.1,0,.2,0,.3,0,.1,0,.3,0,.3,0,0,.1.1.2.2.1,0,.3,0,.5.1v.4h-2.3l1.9-8.4c0-.2,0-.4.1-.5,0-.1,0-.2,0-.3,0,0,0-.2,0-.3,0-.1,0-.3,0-.3,0,0-.1-.1-.2-.2,0,0-.3,0-.5,0v-.4c0,0,1.9,0,1.9,0Z"/><path class="st2" d="M282.7,180.2c-.4.5-.8.8-1.2,1.1-.4.2-.8.4-1.2.4s-.9-.1-1.2-.4c-.3-.3-.4-.6-.4-1.1s0-.6.1-1l.9-3.8h-1.1v-.4c.4,0,.6,0,.8-.2.2,0,.3-.2.4-.4.1-.1.2-.3.3-.6,0-.2.2-.6.4-1h1l-.4,1.8h2.3l-.2.7h-2.3l-.7,2.8c-.2.8-.3,1.4-.3,1.8s0,.5.2.7c.1.2.3.2.6.2s.5,0,.7-.3c.2-.2.5-.4.8-.8l.4.4Z"/><path class="st2" d="M289.7,181.5h-2.3l.9-3.7c0-.3.1-.5.2-.8,0-.3,0-.5,0-.7,0-.3,0-.6-.2-.7-.1-.1-.3-.2-.6-.2s-.4,0-.7.2c-.2.2-.5.4-.8.8-.3.3-.5.7-.6,1-.2.3-.3.7-.4,1.1l-.7,3.2h-1.3l1.9-8.3c0-.2,0-.4.1-.5,0-.1,0-.2,0-.3,0,0,0-.2,0-.2,0-.2,0-.3-.2-.4-.1,0-.3-.1-.7-.1v-.4c0,0,1.9,0,1.9,0h.4l-1.3,5h0c.5-.6.9-1,1.3-1.3.4-.3.8-.4,1.3-.4s.8.1,1.1.4c.2.3.4.6.4,1.2s0,.7-.1,1.1l-.6,2.6c0,.2,0,.4-.1.5,0,.1,0,.2,0,.3,0,.2,0,.3,0,.3,0,0,.1.1.2.2s.3,0,.5,0v.4Z"/></g> 138 <g><path fill-rule="evenodd" class="st2" d="M299.1,181.5v-.4c.3,0,.5,0,.6-.2.1-.1.2-.3.3-.4,0-.2,0-.4,0-.7s0-.4,0-.6v-.9h-3.3l-.4.7c-.2.3-.3.6-.4.9,0,.2-.1.5-.1.6,0,.4.2.7.7.7v.4h-3.1v-.4c.2,0,.4,0,.5-.2.1,0,.3-.2.4-.5.2-.2.4-.5.6-1l4.7-8.1h1.1l.5,8.1c0,.4,0,.7.1.9,0,.2.2.4.3.5.1.1.3.2.5.2v.4h-3.1ZM297,177.6h2.8v-2.3c-.1-.3-.2-.7-.2-1.2,0-.5,0-.8,0-1h0l-2.6,4.6Z"/><path fill-rule="evenodd" class="st2" d="M309.1,173.2c0-.2,0-.3.1-.5,0-.2,0-.4,0-.5s0-.3,0-.3c0,0-.1-.1-.2-.2,0,0-.3,0-.5,0v-.4c0,0,1.9,0,1.9,0h.4l-1.9,8.4c0,.3-.1.5-.1.7,0,.2,0,.3,0,.4,0,.2,0,.3.2.4.1,0,.3.1.6.2v.4h-2.2l.5-1.8h0c-.5.7-.9,1.1-1.3,1.5-.4.3-.9.5-1.3.5s-.9-.2-1.2-.6c-.3-.4-.4-1-.4-1.7s0-.9.2-1.4c.1-.5.3-.9.5-1.3.2-.4.5-.8.8-1.1.3-.3.7-.6,1-.8.4-.2.8-.3,1.3-.3s.6,0,.8,0c.2,0,.5.2.8.3l.4-1.7ZM308.2,177.1c0-.3.1-.7.1-1s0-.7-.2-.8c-.2-.2-.4-.3-.8-.3s-.4,0-.6,0c-.2,0-.4.2-.6.3-.2.2-.4.4-.5.6-.2.2-.3.5-.5.9-.1.4-.2.7-.3,1.1,0,.4-.1.8-.1,1.2s0,.9.2,1.1c.1.3.4.4.7.4s.3,0,.5-.1c.2,0,.3-.2.5-.4.2-.2.4-.5.7-.8.2-.3.4-.6.5-1,.1-.3.2-.7.3-1.1v-.3Z"/><path class="st2" d="M317.4,174.6l.2.4c-.2.4-.3.8-.4,1,0,.2-.2.5-.4.8-.2.3-.3.6-.5,1-.2.3-.4.7-.7,1.1-.3.4-.5.8-.9,1.3-.3.5-.7,1-1.2,1.6h-.9l-.7-5.5c0-.4,0-.6-.1-.8,0-.2-.1-.3-.2-.3,0,0-.2-.1-.5-.1v-.4h2l.6,5.8c.8-1.2,1.5-2.1,1.9-2.9.4-.8.6-1.4.6-1.9s0-.4-.1-.5c0,0-.3-.1-.5-.1v-.4h2Z"/><path fill-rule="evenodd" class="st2" d="M319.7,179.7c0,.2,0,.4-.1.5,0,.1,0,.2,0,.3,0,.1,0,.3,0,.3,0,0,.1.1.2.2.1,0,.3,0,.5.1v.4h-2.3l1.1-4.9c0-.3.1-.5.1-.7,0-.2,0-.3,0-.4s0-.2,0-.3c0,0-.1-.1-.2-.2s-.3,0-.5,0v-.4c0,0,1.9,0,1.9,0h.4l-1.1,5.2ZM321.5,171.7l-.3,1.4h-1.3l.3-1.4h1.3Z"/><path class="st2" d="M326.3,176.3c0-.4-.2-.8-.4-1-.2-.2-.5-.3-.9-.3s-.4,0-.6.1c-.2,0-.3.2-.4.4-.1.2-.2.4-.2.6s0,.3.1.5c0,.1.2.3.4.5.2.2.4.3.7.6.5.3.8.6,1,.9.2.3.3.6.3,1s-.1.8-.3,1.2c-.2.3-.5.6-.9.7-.4.2-.8.2-1.3.2s-.8,0-1.2,0c-.4,0-.7-.1-1.1-.2l.3-1.6h.6c0,.4.2.8.4,1,.2.2.5.3,1,.3s.8-.1,1-.3c.2-.2.4-.5.4-.9s0-.4-.1-.6c0-.2-.2-.3-.3-.5-.2-.2-.4-.3-.7-.5-.3-.2-.6-.4-.7-.6-.2-.2-.3-.4-.4-.6-.1-.2-.2-.5-.2-.7,0-.4,0-.8.3-1,.2-.3.5-.5.8-.7.4-.2.8-.2,1.3-.2.8,0,1.5.1,2.1.3l-.3,1.5h-.6Z"/><path fill-rule="evenodd" class="st2" d="M330.1,181.7c-.8,0-1.3-.2-1.8-.6-.4-.4-.6-1-.6-1.8s0-.6.1-1c0-.5.2-1,.4-1.4.2-.5.5-.9.8-1.3.3-.4.7-.6,1.2-.8.4-.2.9-.3,1.4-.3s1,.1,1.4.3c.4.2.6.5.8.9.2.4.2.8.2,1.3s0,.9-.2,1.4c-.2.7-.4,1.3-.8,1.8-.3.5-.8.9-1.3,1.1-.5.3-1.
1381.4-1.8.4ZM329,179.5c0,.5.1.9.3,1.2.2.3.6.4,1,.4s.9-.2,1.3-.6c.4-.4.7-1,.9-1.8.2-.8.3-1.4.3-2s-.1-.9-.3-1.2c-.2-.3-.5-.4-1-.4s-.9.2-1.3.6c-.4.4-.7,1-.9,1.8-.2.8-.3,1.5-.3,2Z"/><path class="st2" d="M337.6,174.5h.4l-.5,1.8h0c.5-.6.9-1.1,1.4-1.4.4-.3.9-.5,1.4-.5s.7,0,.9,0l-.3,1.6h-.7c0-.3,0-.4-.2-.6,0-.1-.2-.2-.4-.2s-.4,0-.7.3c-.2.2-.5.5-.8.8-.3.3-.5.7-.6.9-.1.3-.2.6-.3,1l-.7,3.2h-1.3l1.1-5c.1-.5.2-.8.2-1s0-.2,0-.3c0,0-.1-.1-.2-.2,0,0-.3,0-.5,0v-.4c0,0,1.8,0,1.8,0Z"/><path class="st2" d="M345.6,176.3c0-.4-.2-.8-.4-1-.2-.2-.5-.3-.9-.3s-.4,0-.6.1c-.2,0-.3.2-.4.4-.1.2-.2.4-.2.6s0,.3.1.5c0,.1.2.3.4.5.2.2.4.3.7.6.5.3.8.6,1,.9.2.3.3.6.3,1s-.1.8-.3,1.2c-.2.3-.5.6-.9.7-.4.2-.8.2-1.3.2s-.8,0-1.2,0c-.4,0-.7-.1-1.1-.2l.3-1.6h.6c0,.4.2.8.4,1,.2.2.5.3,1,.3s.8-.1,1-.3c.2-.2.4-.5.4-.9s0-.4-.1-.6c0-.2-.2-.3-.3-.5-.2-.2-.4-.3-.7-.5-.3-.2-.6-.4-.7-.6-.2-.2-.3-.4-.4-.6-.1-.2-.2-.5-.2-.7,0-.4,0-.8.3-1,.2-.3.5-.5.8-.7.4-.2.8-.2,1.3-.2.8,0,1.5.1,2.1.3l-.3,1.5h-.6Z"/></g> 139 <g><path fill-rule="evenodd" class="st1" d="M171.4,156c.9-1.1,1.7-2.2,2.6-3.3.3-.4.6-.9.9-1.3-.2-.2-.4-.4-.6-.5-.6.7-1.2,1.5-1.8,2.2-.6.7-1.2,1.5-1.8,2.2-.6.7-1.1,1.5-1.8,2.1-.1-.6-.2-1.2-.3-1.8,0-.5-.3-1-.7-1.3-.4-.3-.7-.6-1.1-1,0-.2-.2-.4-.4-.5-.2,0-.3-.2-.4-.3-.3-.2-.4-.5,0-.8.1-.1.3-.2.4-.3.6-.3.8-.5.7-1.2,0-.2,0-.4-.1-.6.3-.2.6-.3.9-.5.2-.1.4-.2.5-.4.3-.4.3-.9.3-1.4,0-.3-.2-.5-.4-.8-.2-.2-.3-.4-.5-.6-.2-.3-.4-.5-.7-.6-.8-.3-1.6-.4-2.5-.4-1,0-1.6.5-2.3,1.1-.5.4-.7,1-.9,1.5-.2.4-.3.8-.3,1.2,0,.5.2,1,.7,1.2.1,0,.2.1.4.2-.2.5-.2.9.2,1.2,0,0,0,.2,0,.2,0,.5-.4.7-.8.8-.3,0-.7.1-.9.4-.3.3-.7.7-.9,1-.3.4-.5.9-.7,1.3-.2.3-.4.7-.5,1-.2.5-.4,1-.5,1.6,0,.2-.1.4-.3.5-.3.2-.3.5-.4.9,0,.3,0,.7-.3.9.2.4.4.8.6,1.2.2.4.4.9.7,1.3.7.8,1.6,1.5,2.4,2.2.1.1.3.2.4.3-.3.5-.5,1-.8,1.4-.3.5-.3.7,0,1.1,0,0,.1.2.3.3-.6.2-1.2.4-1.4,1,.2,0,.4,0,.6,0,0,.1-.1.2-.2.2.3.2.3.3.2.5-.2.5-.5,1-.7,1.5-.2.4-.5.7-.7,1.1-.6.9-1.2,1.8-1.7,2.8-.2.4-.5.9-.7,1.3-.1.2-.2.4,0,.5.4.3.7.6,1.2.9.1-.2.2-.4.3-.6.3-.7.6-1.4.9-2.1.2-.4.4-.8.5-1.3.3-.9.7-1.6,1.2-2.4.2,0,.4,0,.6,0,0,.5,0,1-.2,1.3-.4.6-.2,1.3-.4,1.9-.2.4-.2,1-.4,1.4,0,.2,0,.4-.2.6-.2.4-.3.8-.6,1-.2.2-.4.4-.4.7,0,.3,0,.7,0,1,0,.4,0,.9-.3,1.3-.2.3-.3.6-.2,1,0,.4,0,.4-.4.5-.6.1-.7.2-.8.8,0,0,0,0,0,0-.1,0-.3.1-.5.1-.6.1-1.2.3-1.7.4-.2,0-.3.1-.2.4.2.5.4,1,.6,1.5,0,.1.2.2.3.2.4,0,.7.1,1,.1.2-.2.2-.4.5-.5-.2.3-.3.6-.4.8,0,0,0,0,0,0,0,0,0,0,.1.2.4.3,1.2.9,1.3,1h1.7c.7-.3,1.4-.4,2.1-.6.1.2,0,.3-.1.4-.2,0-.5.1-.7.2h.9c0-.2.1-.3.3-.3.1,0,.2,0,.4,0,1.9,0,3.7,0,5.6,0,.4,0,1.7,0,2.3.3.4.1.6,0,.9,0-.4-.2-.7-.5-.8-1,0-.3-.1-.6-.2-.9-.1-.3-.2-.6-.2-1,0-.6-.1-1.1-.2-1.6-.2-.8-.4-1.6-.5-2.3,0,0,.1-.1.1-.1.1,0,.3-.1.4-.2.4-.2.6-.4.6-.9-.1-.7-.1-1.5-.5-2.2,0-.1-.1-.3,0-.4.2-.6.4-1.2,1.1-1.5.4-.1.7-.2,1.1-.3.3,0,.7,0,1-.1.1,0,.3-.1.3-.2,0-.1,0-.3-.1-.4-.2-.1-.4-.2-.6-.2-.7,0-1.4.1-2,.4-.4.2-.8.4-1,.8.8-.7,1.7-1,2.8-1,.2,0,.3,0,.5,0-.3.3-.6.3-.8.4-.2,0-.5,0-.7,0-.3,0-.6.2-.8.4-.2.2-.4.3-.6.5-.2,0-.4-.2-.3-.4-.1.1-.3.2-.4,0-.2-.3-.4-.4-.7-.5-.1,0-.2-.1-.4-.2.1-.3.2-.6.3-.9,0-.3,0-.6.2-.9.2-.6.4-1.1.5-1.7,0-.2.1-.4.4-.4.3,0,.6-.2.8-.3.2,0,.4-.2.4-.3.2-.7-.4-1.3-1-1.2,0,0-.2,0-.4,0,.1-.1.1-.2.2-.3.5-.3.6-.8.7-1.4,0-.5,0-1,0-1.5,0-.4,0-.8-.2-1.2-.1-.3-.1-.7-.1-1,0-.3,0-.6,0-1,0-.6-.1-1.2-.2-1.8,0-.3,0-.7-.2-1-.
1391-.4,0-.6.2-.9.7-.9,1.4-1.7,2-2.6Z"/></g> 140 </svg> 141 <div class="header-label">DOS Success Worksheet</div> 142</header> 143 144<div class="page-header"> 145 <h1>DOS Success Worksheet</h1> 146 <p class="subtitle">Dangers · Opportunities · Strengths</p> 147</div> 148 149<form class='form-container' id='dos-form' method='POST' name='dos-worksheet'> 150 <input type="hidden" name="form-name" value="dos-worksheet"> 151 <input type="hidden" name="subject" id="subject-field" value="DOS Success Worksheet submission"> 152 <p class="hp-field"><label>Leave this field empty <input name="bot-field" tabindex="-1" autocomplete="off"></label></p> 153 154 <div class="meta-row"> 155 <div class="input-group"><label>Your Name</label><input type="text" id="name" name="name" placeholder="Enter your full name" required></div> 156 <div class="input-group"><label>Your Email</label><input type="email" id="email" name="email" placeholder="[email protected]" required></div> 157 <div class="input-group"><label>Date</label><input type="date" id="date" name="date"></div> 158 </div> 159 160 <div style="background:#fff8e6;border:1px solid #e6c96a;border-left:4px solid #c9a227;border-radius:6px;padding:1rem 1.2rem;margin-bottom:1.5rem;display:flex;gap:.9rem;align-items:flex-start"> 161 <span style="font-size:1.2rem;line-height:1.4">â ï¸</span> 162 <div> 163 <p style="font-size:.88rem;font-weight:700;color:#7a5c00;margin-bottom:.25rem">Please complete and submit in one sitting</p> 164 <p style="font-size:.82rem;color:#9a7a20;line-height:1.5">Your answers are temporarily saved to this browser only. They will be <strong>lost</strong> if you switch devices, use a different browser, or clear your history. To save your responses permanently, click <strong>Submit Response</strong> at the bottom of the form.</p> 165 </div> 166 </div> 167 168 <div class="draft-bar"> 169 <div class="draft-status"><div class="draft-dot" id="draft-dot"></div><span id="draft-label">Your answers save automatically as you type</span></div> 170 <button type="button" class="draft-clear" onclick="clearDraft()">Clear draft</button> 171 </div> 172 173 <!-- D --> 174 <div class="section-card"> 175 <div class="section-header"> 176 <div class="section-letter">D</div> 177 <div class="section-title-block"><h2>Dangers to be Eliminated</h2><p>The biggest dangers currently facing you â personally and professionally.</p></div> 178 </div> 179 <div class="examples-banner" onclick="openSidebar('dangers')"> 180 <div class="examples-banner-left"> 181 <svg viewBox="0 0 24 24"><path d="M9 21c0 .55.45 1 1 1h4c.55 0 1-.45 1-1v-1H9v1zm3-19C8.14 2 5 5.14 5 9c0 2.38 1.19 4.47 3 5.74V17c0 .55.45 1 1 1h6c.55 0 1-.45 1-1v-2.26c1.81-1.27 3-3.36 3-5.74 0-3.86-3.14-7-7-7zm2.85 11.1l-.85.6V16h-4v-2.3l-.85-.6A4.997 4.997 0 0 1 7 9c0-2.76 2.24-5 5-5s5 2.24 5 5c0 1.63-.8 3.16-2.15 4.1z"/></svg> 182 <div><p class="examples-banner-title">Not sure where to start?</p><p class="examples-banner-sub">See examples of common dangers clients identify â</p></div> 183 </div> 184 <span class="examples-banner-pill">View Examples</span> 185 </div> 186 <div class="input-group"><label>Danger 1</label><textarea id="d1" name="danger-1" placeholder="Describe the first dangerâ¦"></textarea></div> 187 <div class="input-group"><label>Danger 2</label><textarea id="d2" name="danger-2" placeholder="Describe the second dangerâ¦"></textarea></div> 188 <div class="input-group"><label>Danger 3</label><textarea id="d3" name="danger-3" placeholder="Describe the third dangerâ¦"></textarea></div> 189 </div> 190 191 <!-- O --> 192 <div class="section-card"> 193 <div class="section-header"> 194 <div class="section-letter">O</div> 195 <div class="section-title-block"><h2>Opportunities to Capture</h2><p>Three biggest opportunities to be focused on and captured.</p></div> 196 </div> 197 <div class="examples-banner" onclick="openSidebar('opportunities')"> 198 <div class="examples-banner-left"> 199 <svg viewBox="0 0 24 24"><path d="M9 21c0 .55.45 1 1 1h4c.55 0 1-.45 1-1v-1H9v1zm3-19C8.14 2 5 5.14 5 9c0 2.38 1.19 4.47 3 5.74V17c0 .55.45 1 1 1h6c.55 0 1-.45 1-1v-2.26c1.81-1.27 3-3.36 3-5.74 0-3.86-3.14-7-7-7zm2.85 11.1l-.85.6V16h-4v-2.3l-.85-.6A4.997 4.997 0 0 1 7 9c0-2.76 2.24-5 5-5s5 2.24 5 5c0 1.63-.8 3.16-2.15 4.1z"/></svg> 200 <div><p class="examples-banner-title">Not sure where to start?</p><p class="examples-banner-sub">
200See examples of common opportunities clients identify â</p></div> 201 </div> 202 <span class="examples-banner-pill">View Examples</span> 203 </div> 204 <div class="input-group"><label>Opportunity 1</label><textarea id="o1" name="opportunity-1" placeholder="Describe the first opportunityâ¦"></textarea></div> 205 <div class="input-group"><label>Opportunity 2</label><textarea id="o2" name="opportunity-2" placeholder="Describe the second opportunityâ¦"></textarea></div> 206 <div class="input-group"><label>Opportunity 3</label><textarea id="o3" name="opportunity-3" placeholder="Describe the third opportunityâ¦"></textarea></div> 207 </div> 208 209 <!-- S --> 210 <div class="section-card"> 211 <div class="section-header"> 212 <div class="section-letter">S</div> 213 <div class="section-title-block"><h2>Strengths to Maximize</h2><p>Three biggest strengths to be reinforced and maximized.</p></div> 214 </div> 215 <div class="examples-banner" onclick="openSidebar('strengths')"> 216 <div class="examples-banner-left"> 217 <svg viewBox="0 0 24 24"><path d="M9 21c0 .55.45 1 1 1h4c.55 0 1-.45 1-1v-1H9v1zm3-19C8.14 2 5 5.14 5 9c0 2.38 1.19 4.47 3 5.74V17c0 .55.45 1 1 1h6c.55 0 1-.45 1-1v-2.26c1.81-1.27 3-3.36 3-5.74 0-3.86-3.14-7-7-7zm2.85 11.1l-.85.6V16h-4v-2.3l-.85-.6A4.997 4.997 0 0 1 7 9c0-2.76 2.24-5 5-5s5 2.24 5 5c0 1.63-.8 3.16-2.15 4.1z"/></svg> 218 <div><p class="examples-banner-title">Not sure where to start?</p><p class="examples-banner-sub">See examples of common strengths clients identify â</p></div> 219 </div> 220 <span class="examples-banner-pill">View Examples</span> 221 </div> 222 <div class="input-group"><label>Strength 1</label><textarea id="s1" name="strength-1" placeholder="Describe the first strengthâ¦"></textarea></div> 223 <div class="input-group"><label>Strength 2</label><textarea id="s2" name="strength-2" placeholder="Describe the second strengthâ¦"></textarea></div> 224 <div class="input-group"><label>Strength 3</label><textarea id="s3" name="strength-3" placeholder="Describe the third strengthâ¦"></textarea></div> 225 </div> 226 227 <div class="section-divider"><hr><span>Success Questionnaire</span><hr></div> 228 229 <div class="question-prompt">If we were meeting <em>X years from now</em> and looking back to today, what would have had to happen â both personally and professionally â for you to be happy with your progress?</div> 230 231 <div class="horizon-card"> 232 <div class="horizon-label"><div class="horizon-pip"></div><h3>Success in Three Years</h3><span class="years-tag">3 Years</span></div> 233 <div class="input-group"><textarea id="success3" name="success-in-3-years" placeholder="Describe what success looks like for you three years from nowâ¦" style="min-height:120px"></textarea></div> 234 </div> 235 <div class="horizon-card"> 236 <div class="horizon-label"><div class="horizon-pip"></div><h3>Success in Ten Years</h3><span class="years-tag">10 Years</span></div> 237 <div class="input-group"><textarea id="success10" name="success-in-10-years" placeholder="Describe what success looks like for you ten years from nowâ¦" style="min-height:120px"></textarea></div> 238 </div> 239 <div class="horizon-card"> 240 <div class="horizon-label"><div class="horizon-pip"></div><h3>Success by End of Lifetime</h3><span class="years-tag">Lifetime</span></div> 241 <div class="input-group"><textarea id="successLife" name="success-in-lifetime" placeholder="Describe what a successful life looks like for you by the end of your lifetimeâ¦" style="min-height:120px"></textarea></div> 242 </div> 243 244 <p class="copyright-note">TM & © 2000. The Strategic Coach Inc. All rights reserved.</p> 245 <div class="submit-row"><button type="submit" class="btn-submit">Submit Response</button></div> 246</form> 247 248<div class="success-panel" id="success-panel"> 249 <div class="success-mark"> 250 <svg viewBox="0 0 24 24"><path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"/></svg> 251 </div> 252 <h2>Thank you, <span id="success-name"></span></h2> 253 <p id="success-body">Your DOS Success Worksheet has been received. Your advisor at Monument Group Wealth has been notified and will review your responses before your next conversation.</p> 254 <div class="success-actions" id="success-actions"> 255 <button type="button" class="btn-action btn-action-primary" onclick="downloadPdf()">Download My Responses (PDF)</button> 256 <button type="button" class="btn-action" onclick="printResponses()">Print My Responses</button> 257 <button type="button" class="btn-action btn-action-quiet" onclick="finishUp()">Done</button> 258 </div> 259 <p class="success-note" id="success-note">We don’t email a copy, so download or print your responses now if you’
259d like one for your records.</p> 260 <p class="done-note" id="done-note">You’re all set — you can safely close this window.</p> 261 <button type="button" class="success-reopen" id="success-reopen" onclick="reopenOptions()" style="display:none">Back to download options</button> 262</div> 263 264<!-- Printable copy of the responses; hidden on screen, shown only when printing --> 265<div id="print-doc" aria-hidden="true"></div> 266 267<div class="sidebar-overlay" id="sidebar-overlay" onclick="closeSidebar()"></div> 268<div class="sidebar" id="sidebar"> 269 <div class="sidebar-head"> 270 <div> 271 <div class="sidebar-letter" id="sb-letter">D</div> 272 <h3 id="sb-title">Dangers to be Eliminated</h3> 273 <p id="sb-subtitle">Examples to spark your thinking</p> 274 </div> 275 <button class="sidebar-close" onclick="closeSidebar()"> 276 <svg viewBox="0 0 24 24"><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> 277 </button> 278 </div> 279 <div class="sidebar-body"> 280 <p class="sidebar-intro" id="sb-intro"></p> 281 <div id="sb-examples"></div> 282 </div> 283</div> 284 285<div class="toast" id="toast"></div> 286
287<script> 288const DRAFT_KEY='monument_dos_draft'; 289const FIELDS=['name','email','d1','d2','d3','o1','o2','o3','s1','s2','s3','success3','success10','successLife']; 290 291document.getElementById('date').valueAsDate=new Date(); 292 293let draftTimer; 294function saveDraft(){ 295 const d={}; 296 FIELDS.forEach(id=>{d[id]=document.getElementById(id)?.value||'';}); 297 d.date=document.getElementById('date').value; 298 d.savedAt=new Date().toISOString(); 299 try{localStorage.setItem(DRAFT_KEY,JSON.stringify(d));}catch(e){} 300 document.getElementById('draft-dot').classList.add('saved'); 301 document.getElementById('draft-label').textContent='Draft saved â you can close and return anytime'; 302} 303function restoreDraft(){ 304 try{ 305 const d=JSON.parse(localStorage.getItem(DRAFT_KEY)); 306 if(!d||!Object.values(d).some(v=>v))return; 307 FIELDS.forEach(id=>{const el=document.getElementById(id);if(el&&d[id])el.value=d[id];}); 308 if(d.date)document.getElementById('date').value=d.date; 309 document.getElementById('draft-dot').classList.add('saved'); 310 document.getElementById('draft-label').textContent='Draft restored â your previous answers are loaded'; 311 }catch(e){} 312} 313function clearDraft(){ 314 if(!confirm('Clear your saved draft and start over?'))return; 315 try{localStorage.removeItem(DRAFT_KEY);}catch(e){} 316 FIELDS.forEach(id=>{const el=document.getElementById(id);if(el)el.value='';}); 317 document.getElementById('date').valueAsDate=new Date(); 318 document.getElementById('draft-dot').classList.remove('saved'); 319 document.getElementById('draft-label').textContent='Draft cleared'; 320} 321function attachDraftListeners(){ 322 FIELDS.forEach(id=>{ 323 const el=document.getElementById(id); 324 if(el)el.addEventListener('input',()=>{clearTimeout(draftTimer);draftTimer=setTimeout(saveDraft,800);}); 325 }); 326 document.getElementById('date').addEventListener('change',saveDraft); 327 document.getElementById('dos-form').addEventListener('submit',submitForm); 328} 329 330function collect(){ 331 return{ 332 name:document.getElementById('name').value.trim(), 333 email:document.getElementById('email').value.trim(), 334 date:document.getElementById('date').value, 335 dangers:['d1','d2','d3'].map(id=>document.getElementById(id).value.trim()), 336 opportunities:['o1','o2','o3'].map(id=>document.getElementById(id).value.trim()), 337 strengths:['s1','s2','s3'].map(id=>document.getElementById(id).value.trim()), 338 success3:document.getElementById('success3').value.trim(), 339 success10:document.getElementById('success10').value.trim(), 340 successLife:document.getElementById('successLife').value.trim(), 341 }; 342} 343 344/* ---------- shared model used by both the PDF and the printable copy ---------- */ 345function fmtDate(v){ 346 const m=/^(\d{4})-(\d{2})-(\d{2})$/.exec(v||''); 347 if(!m)return v||''; 348 return new Date(+m[1],+m[2]-1,+m[3]).toLocaleDateString('en-US',{month:'long',day:'numeric',year:'numeric'}); 349} 350 351function buildDoc(data){ 352 return{ 353 name:data.name, 354 email:data.email, 355 date:fmtDate(data.date), 356 sections:[ 357 {letter:'D',title:'Dangers to be Eliminated', 358 intro:'The biggest dangers currently facing you \u2014 personally and professionally.', 359 items:[['Danger 1',data.dangers[0]],['Danger 2',data.dangers[1]],['Danger 3',data.dangers[2]]]}, 360 {letter:'O',title:'Opportunities to Capture', 361 intro:'Three biggest opportunities to be focused on and captured.', 362 items:[['Opportunity 1',data.opportunities[0]],['Opportunity 2',data.opportunities[1]],['Opportunity 3',data.opportunities[2]]]}, 363 {letter:'S',title:'Strengths to Maximize', 364 intro:'Three biggest strengths to be reinforced and maximized.', 365 items:[['Strength 1',data.strengths[0]],['Strength 2',data.strengths[1]],['Strength 3',data.strengths[2]]]}, 366 {letter:'',title:'Success Questionnaire', 367 intro:'If we were meeting X years from now and looking back to today, what would have had to happen \u2014 both personally and professionally \u2014 for you to be happy with your progress?', 368 items:[['Success in Three Years',data.success3],['Success in Ten Years',data.success10],['Success by End of Lifetime',data.successLife]]} 369 ] 370 }; 371} 372 373function safeFileName(name){ 374 return 'DOS-Worksheet-'+String(name||'Response').replace(/[^a-z0-9]+/gi,'-').replace(/^-+|-+$/g,''); 375} 376 377/* ---------- minimal PDF writer (no libraries, works offline) ---------- */ 378// Advance widths for the two standard PDF fonts, ASCII 32-126, in 1/1000 em. 379const PDF_W_N=[278,278,355,556,556,889,667,191,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,278,278,584,584,584,556,1015,667,667,722,722,667,611,778,722,278,500,667,556,833,722,778,667,778,722,667,611,722,667,944,667,667,611,278,278,278,469,556,333,556,556,500,556,556,278,556,556,222,222,500,222,833,556,556,556,556,333,500,278,556,500,722,500,500,500,334,260,334,584]; 380const PDF_W_B=[278,333,474,556,556,889,722,238,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,333,333,584,584,584,611,975,722,722,722,722,667,611,778,722,278,556,722,611,833,722,778,667,778,722,667,611,722,667,944,667,667,611,333,278,333,584,556,333,556,611,556,611,556,333,611,611,278,278,556,278,889,611,611,611,611,389,556,333,611,556,778,556,556,500,389,280,389,584];
381const PDF_W_HI={133:1000,145:278,146:278,147:500,148:500,149:350,150:556,151:1000}; 382// Unicode punctuation that lives in the 0x80-0x9F range of WinAnsiEncoding. 383const PDF_WINANSI={8364:128,8218:130,402:131,8222:132,8230:133,8224:134,8225:135,710:136,8240:137,352:138,8249:139,338:140,381:142,8216:145,8217:146,8220:147,8221:148,8226:149,8211:150,8212:151,732:152,8482:153,353:154,8250:155,339:156,382:158,376:159}; 384 385function pdfEnc(str){ 386 let out=''; 387 for(const ch of String(str==null?'':str)){ 388 const c=ch.codePointAt(0); 389 if(PDF_WINANSI[c])out+=String.fromCharCode(PDF_WINANSI[c]); 390 else if(c<256)out+=ch; 391 else out+='?'; 392 } 393 return out; 394} 395function pdfEscape(str){return str.replace(/[\\()]/g,'\\$&').replace(/[\r\n\t]/g,' ');} 396function pdfWidth(str,bold,size){ 397 const table=bold?PDF_W_B:PDF_W_N; 398 let w=0; 399 for(let i=0;i<str.length;i++){ 400 const c=str.charCodeAt(i); 401 w+=(c>=32&&c<=126)?table[c-32]:(PDF_W_HI[c]||556); 402 } 403 return w*size/1000; 404} 405function pdfWrap(str,bold,size,maxw){ 406 const lines=[]; 407 String(str).split(/\r?\n/).forEach(para=>{ 408 const words=para.split(/\s+/).filter(Boolean); 409 if(!words.length){lines.push('');return;} 410 let line=''; 411 words.forEach(word=>{ 412 const candidate=line?line+' '+word:word; 413 if(pdfWidth(candidate,bold,size)<=maxw){line=candidate;return;} 414 if(line)lines.push(line); 415 if(pdfWidth(word,bold,size)>maxw){ // a single unbreakable run: split by character 416 let chunk=''; 417 for(const ch of word){ 418 if(chunk&&pdfWidth(chunk+ch,bold,size)>maxw){lines.push(chunk);chunk=ch;} 419 else chunk+=ch; 420 } 421 line=chunk; 422 }else line=word; 423 }); 424 if(line)lines.push(line); 425 }); 426 return lines.length?lines:['']; 427} 428 429function buildPdf(data){ 430 const doc=buildDoc(data); 431 const W=612,H=792,ML=64,MR=64,MAXW=W-ML-MR,FOOT=74; 432 const GREEN=[.239,.337,.157],MUTED=[.478,.541,.416],TEXT=[.169,.196,.125],RULE=[.847,.867,.816]; 433 const pages=[]; 434 let ops=null,y=0; 435 436 const rgb=c=>c[0].toFixed(3)+' '+c[1].toFixed(3)+' '+c[2].toFixed(3); 437 function newPage(){ops=[];pages.push(ops);y=H-72;} 438 function need(h){if(y-h<FOOT)newPage();} 439 function text(str,x,yy,font,size,color,spacing){ 440 ops.push(rgb(color)+' rg'); 441 ops.push('BT /'+font+' '+size+' Tf '+(spacing||0)+' Tc 1 0 0 1 '+x.toFixed(2)+' '+yy.toFixed(2)+' Tm ('+pdfEscape(str)+') Tj ET'); 442 } 443 function rule(yy,color,h){ops.push(rgb(color||RULE)+' rg '+ML+' '+yy.toFixed(2)+' '+MAXW+' '+(h||0.7)+' re f');} 444 445 newPage(); 446 text(pdfEnc('MONUMENT GROUP WEALTH'),ML,y,'F2',8.5,MUTED,1.6);y-=26; 447 text(pdfEnc('DOS Success Worksheet'),ML,y,'F2',22,TEXT);y-=16; 448 text(pdfEnc('Dangers \u00b7 Opportunities \u00b7 Strengths'),ML,y,'F1',11,MUTED);y-=14; 449 rule(y,GREEN,1.4);y-=26; 450 451 [['Name',doc.name],['Email',doc.email],['Date',doc.date]].forEach(pair=>{ 452 text(pdfEnc(pair[0].toUpperCase()),ML,y,'F2',8,MUTED,1.2); 453 text(pdfEnc(pair[1]||'\u2014'),ML+86,y,'F1',11,TEXT); 454 y-=17; 455 }); 456 y-=18; 457 458 doc.sections.forEach(section=>{ 459 need(78); 460 text(pdfEnc((section.letter?section.letter+' \u2014 ':'')+section.title),ML,y,'F2',14,GREEN);y-=11; 461 rule(y,RULE);y-=16; 462 pdfWrap(pdfEnc(section.intro),false,9.5,MAXW).forEach(line=>{ 463 need(20);text(line,ML,y,'F1',9.5,MUTED);y-=13; 464 }); 465 y-=10; 466 section.items.forEach(item=>{ 467 const answered=!!(item[1]&&item[1].trim()); 468 need(50); 469 text(pdfEnc(item[0].toUpperCase()),ML,y,'F2',8,MUTED,1.2);y-=16; 470 pdfWrap(pdfEnc(answered?item[1]:'Not answered'),false,11,MAXW-14).forEach(line=>{ 471 need(22);text(line,ML+14,y,'F1',11,answered?TEXT:MUTED);y-=15.5; 472 }); 473 y-=13; 474 }); 475 y-=8; 476 }); 477 478 need(30); 479 text(pdfEnc('TM & \u00a9 2000. The Strategic Coach Inc. All rights reserved.'),ML,y,'F1',8.5,MUT
479ED); 480 481 // Footers, once the total page count is known. 482 pages.forEach((page,i)=>{ 483 page.push(rgb(RULE)+' rg '+ML+' 56 '+MAXW+' 0.6 re f'); 484 page.push(rgb(MUTED)+' rg'); 485 const left=pdfEnc('DOS Success Worksheet \u2014 '+(doc.name||'')); 486 page.push('BT /F1 8 Tf 0 Tc 1 0 0 1 '+ML+' 42 Tm ('+pdfEscape(left)+') Tj ET'); 487 const right=pdfEnc('Page '+(i+1)+' of '+pages.length); 488 page.push('BT /F1 8 Tf 0 Tc 1 0 0 1 '+(W-MR-pdfWidth(right,false,8)).toFixed(2)+' 42 Tm ('+pdfEscape(right)+') Tj ET'); 489 }); 490 491 // Serialize: 1 catalog, 2 page tree, 3-4 fonts, 5 info, then a stream + page object per page. 492 const objs=['','','','','']; 493 const add=body=>objs.push(body)&&objs.length; 494 const kids=[]; 495 pages.forEach(page=>{ 496 const stream=page.join('\n'); 497 const contentNum=add('<< /Length '+stream.length+' >>\nstream\n'+stream+'\nendstream'); 498 kids.push(add('<< /Type /Page /Parent 2 0 R /MediaBox [0 0 '+W+' '+H+'] /Resources << /Font << /F1 3 0 R /F2 4 0 R >> >> /Contents '+contentNum+' 0 R >>')); 499 }); 500 const d=new Date(),pad=n=>String(n).padStart(2,'0'); 501 const stamp=d.getFullYear()+pad(d.getMonth()+1)+pad(d.getDate())+pad(d.getHours())+pad(d.getMinutes())+pad(d.getSeconds()); 502 objs[0]='<< /Type /Catalog /Pages 2 0 R >>'; 503 objs[1]='<< /Type /Pages /Count '+pages.length+' /Kids ['+kids.map(n=>n+' 0 R').join(' ')+'] >>'; 504 objs[2]='<< /Type /Font /Subtype /Type1 /BaseFont /Helvetica /Encoding /WinAnsiEncoding >>'; 505 objs[3]='<< /Type /Font /Subtype /Type1 /BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding >>'; 506 objs[4]='<< /Title ('+pdfEscape(pdfEnc('DOS Success Worksheet \u2014 '+(doc.name||'')))+') /Author (Monument Group Wealth) /Producer (Monument Group Wealth) /CreationDate (D:'+stamp+') >>'; 507 508 let out='%PDF-1.4\n%\u00e2\u00e3\u00cf\u00d3\n'; 509 const offsets=[]; 510 objs.forEach((body,i)=>{offsets.push(out.length);out+=(i+1)+' 0 obj\n'+body+'\nendobj\n';}); 511 const xref=out.length; 512 out+='xref\n0 '+(objs.length+1)+'\n0000000000 65535 f \n'; 513 offsets.forEach(o=>{out+=String(o).padStart(10,'0')+' 00000 n \n';}); 514 out+='trailer\n<< /Size '+(objs.length+1)+' /Root 1 0 R /Info 5 0 R >>\nstartxref\n'+xref+'\n%%EOF'; 515 516 const bytes=new Uint8Array(out.length); 517 for(let i=0;i<out.length;i++)bytes[i]=out.charCodeAt(i)&0xff; 518 return bytes; 519} 520 521function downloadPdf(){ 522 const data=window.__lastSubmission; 523 if(!data)return; 524 try{ 525 const url=URL.createObjectURL(new Blob([buildPdf(data)],{type:'application/pdf'})); 526 const a=document.createElement('a'); 527 a.href=url;a.download=safeFileName(data.name)+'.pdf'; 528 document.body.appendChild(a);a.click();a.remove(); 529 setTimeout(()=>URL.revokeObjectURL(url),2000); 530 toast('Your responses have been downloaded as a PDF.'); 531 }catch(err){ 532 console.error(err); 533 toast('The PDF could not be generated \u2014 please use Print My Responses instead.'); 534 } 535} 536 537/* ---------- printable copy ---------- */ 538function escHtml(v){ 539 return String(v==null?'':v).replace(/[&<>"]/g,c=>({'&':'&','<':'<','>':'>','"':'"'}[c])); 540} 541function escLines(v){return escHtml(v).replace(/\r?\n/g,'<br>');} 542 543function renderPrintDoc(data){ 544 const doc=buildDoc(data); 545 const sections=doc.sections.map(section=> 546 '<section class="pd-section">'+ 547 '<h2>'+(section.letter?escHtml(section.letter)+' — ':'')+escHtml(section.title)+'</h2>'+ 548 '<p class="pd-intro">'+escHtml(section.intro)+'</p>'+ 549 section.items.map(item=> 550 '<div class="pd-item"><h3>'+escHtml(item[0])+'</h3><p>'+ 551 (item[1]&&item[1].trim()?escLines(item[1]):'<span class="pd-empty">Not answered</span>')+ 552 '</p></div>').join('')+ 553 '</section>').join(''); 554 555 return '<div class="pd-mast">'+ 556 '<div class="pd-eyebrow">Monument Group Wealth</div>'+ 557 '<h1>DOS Success Worksheet</h1>'+ 558 '<p class="pd-sub">Dangers · Opportunities · Strengths</p>'+ 559 '</div>'+ 560 '<div class="pd-meta">'+ 561 '<span><b>Name</b>'+escHtml(doc.name)+'</span>'+ 562 '<span><b>Email</b>'+escHtml(doc.email)+'</span>'+ 563 '<span><b>Date</b>'+escHtml(doc.date)+'</span>'+ 564 '</div>'+sections+ 565 '<p class="pd-foot">TM & © 2000. The Strategic Coach Inc. All rights reserved.</p>'; 566} 567 568function printResponses(){ 569 const data=window.__lastSubmission; 570 if(!data)return; 571 document.getElementById('print-doc').innerHTML=renderPrintDoc(data); 572 window.print(); 573} 574 575/* ---------- done ---------- */ 576function finishUp(){ 577 document.getElementById('success-actions').style.display='none'; 578 document.getElementById('success-note').style.display='none'; 579 document.getElementById('success-body').textContent='Your responses are with your advisor at Monument Group Wealth and will be reviewed before your next conversation.'; 580 document.getElementById('done-note').style.display='block'; 581 document.getElementById('success-reopen').style.display='inline-block'; 582 window.scrollTo({top:0,behavior:'smooth'}); 583} 584function reopenOptions(){ 585 document.getElementById('success-actions').style.display='flex'; 586 document.getElementById('success-note').style.display='block'; 587 document.getElementById('done-note').style.display='none'; 588 document.getElementById('success-reopen').style.display='none'; 589} 590 591async function submitForm(e){ 592 e.preventDefault(); 593 const form=document.getElementById('dos-form'); 594 const btn=form.querySelector('.btn-submit'); 595 const data=collect(); 596 597 if(!data.name){alert('Please enter your name before submitting.');document.getElementById('name').focus();return;} 598 if(!data.email||!data.email.includes('@')){alert('Please enter a valid email address.');document.getElementById('email').focus();return;} 599 600 document.getElementById('subject-field').value=`DOS Worksheet \u2014 ${data.name}`; 601 602 btn.disabled=true;btn.textContent='Submitting\u2026'; 603 604 try{ 605 const res=await fetch('/',{ 606 method:'POST', 607 headers:{'Content-Type':'application/x-www-form-urlencoded'}, 608 body:new URLSearchParams(new FormData(form)).toString(), 609 }); 610 if(!res.ok)throw new Error(`Submission failed with status ${res.status}`); 611 612 window.__lastSubmission=data; 613 try{localStorage.removeItem(DRAFT_KEY);}catch(err){} 614 showSuccess(data); 615 }catch(err){ 616 console.error(err); 617 btn.disabled=false;btn.textContent='Submit Response'; 618 toast('Something went wrong sending your response. Your answers are still saved \u2014 please try again.'); 619 } 620} 621 622function showSuccess(data){ 623 document.getElementById('dos-form').style.display='none'; 624 const panel=document.getElementById('success-panel'); 625 document.getElementById('success-name').textContent=data.name.split(' ')[0]||data.name; 626 panel.style.display='block'; 627 window.scrollTo({top:0,behavior:'smooth'}); 628} 629 630function toast(msg){ 631 const t=document.getElementById('toast'); 632 t.textContent=msg;t.classList.add('show'); 633 setTimeout(()=>t.classList.remove('show'),6000); 634} 635function x(s){return s?s.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>'):''} 636 637const EXAMPLES={ 638 dangers:{ 639 letter:'D',title:'Dangers to be Eliminated',subtitle:'Examples to spark your thinking', 640 intro:'Dangers are threats that, left unaddressed, could undermine your financial security, your relationship, or your qual
640ity of life. Think broadly â financial, relational, health-related, and professional.', 641 items:[ 642 {tag:'Financial',title:'Spending more than we earn',detail:'Lifestyle creep is one of the most common threats to long-term wealth. Even high-income couples can find themselves cash-poor if expenses expand with income.'}, 643 {tag:'Planning',title:'No estate plan â or an outdated one',detail:'Wills, trusts, beneficiary designations, and powers of attorney that haven\'t been reviewed in years can create serious problems for your family.'}, 644 {tag:'Risk',title:'Underinsured against major life events',detail:'This includes gaps in life insurance, disability coverage, long-term care, or liability protection that could wipe out years of savings.'}, 645 {tag:'Concentration',title:'Too much wealth tied to a single asset',detail:'Whether it\'s a business, real estate, or company stock â over-concentration leaves you vulnerable to one bad outcome.'}, 646 {tag:'Relational',title:'One spouse handling all the finances',detail:'If one partner manages everything and becomes incapacitated or passes away, the other may be left without knowledge, access, or confidence.'}, 647 {tag:'Debt',title:'High-interest debt eroding net worth',detail:'Credit card balances, personal loans, or variable-rate debt can quietly compound and crowd out savings and investment.'}, 648 {tag:'Health',title:'Ignoring preventive health and wellness',detail:'Health is your most important asset. Neglecting it â physically or mentally â can derail financial plans and limit quality of life in retirement.'}, 649 {tag:'Tax',title:'Poor tax planning and missed opportunities',detail:'Not coordinating Roth conversions, asset location, capital gains harvesting, or charitable strategies can cost tens of thousands over time.'}, 650 ] 651 }, 652 opportunities:{ 653 letter:'O',title:'Opportunities to Capture',subtitle:'Common opportunities worth prioritizing right now.', 654 intro:'Opportunities are moments, windows, or circumstances that could meaningfully improve your financial future â but only if you act on them intentionally.', 655 items:[ 656 {tag:'Tax',title:'Maximize tax-advantaged accounts',detail:'Fully funding 401(k)s, IRAs, HSAs, and other tax-sheltered vehicles â especially with employer matching â is one of the highest-return moves available.'}, 657 {tag:'Business',title:'Sell or transition a business at the right time',detail:'Many entrepreneurs miss the window for an optimal exit. Planning ahead â for valuation, structure, and taxes â can dramatically change the outcome.'}, 658 {tag:'Real Estate',title:'Leverage real estate strategically',detail:'Whether it\'s a primary home, rental property, or a 1031 exchange, real estate can build wealth and generate tax-advantaged income.'}, 659 {tag:'Family',title:'Children becoming financially independent',detail:'As kids launch careers and become self-sufficient, dollars that went to supp
659ort them can be redirected toward your own retirement and legacy goals.'}, 660 {tag:'Legacy',title:'Start charitable giving while you\'re alive',detail:'Donor-advised funds, charitable trusts, and direct gifts can align your wealth with your values â and create meaningful tax benefits today.'}, 661 {tag:'Income',title:'Increase income through a career move or negotiation',detail:'A well-timed promotion, role change, or negotiation can add significantly to lifetime earnings and savings capacity.'}, 662 {tag:'Simplification',title:'Consolidate advisors and accounts',detail:'A fragmented financial picture â multiple advisors, old 401(k)s, scattered accounts â creates blind spots. Bringing it together reveals a clearer strategy.'}, 663 {tag:'Lifestyle',title:'Right-size your home or expenses',detail:'Downsizing, relocating to a lower-cost area, or eliminating a major expense can free up significant capital for investment and flexibility.'}, 664 {tag:'Family',title:'Invest in time with children and grandchildren while you can',detail:'The window to be present in your kids\' and grandkids\' lives is finite. Structuring your finances and schedule intentionally around family time is one of the highest-return decisions you can make.'}, 665 {tag:'Community',title:'Build or deepen community ties before retirement',detail:'Retirement can bring unexpected isolation. Actively investing in friendships, local organizations, faith communities, or volunteer work now builds the social infrastructure that will sustain you later.'}, 666 ] 667 }, 668 strengths:{ 669 letter:'S',title:'Strengths to Maximize',subtitle:'Common strengths that are worth building on.', 670 intro:'Strengths are the advantages, habits, and assets you already have â things that, if reinforced and leveraged, can accelerate your progress toward your goals.', 671 items:[ 672 {tag:'Habits',title:'Consistent savings discipline',detail:'If you\'ve built the habit of saving regularly â regardless of market conditions or income fluctuations â that\'s a rare and powerful foundation.'}, 673 {tag:'Alignment',title:'Shared values around money as a couple',detail:'Couples who are aligned on financial goals, spending philosophies, and risk tolerance experience far less conflict and make better decisions together.'}, 674 {tag:'Income',title:'Strong earning capacity',detail:'High income â whether from a career, business, or multiple sources â creates options. The key is channeling it intentionally rather than letting it disappear.'}, 675 {tag:'Assets',title:'Business or real estate equity built over time',detail:'Illiquid assets can represent significant wealth â but they need to be planned around carefully for liquidity, taxes, and eventual transition.'}, 676 {tag:'Lifestyle',title:'Living well below your means',detail:'A high savings rate and low lifestyle cost is one of the most durable paths to financial independence and freedom of choice.'}, 677 {tag:'Network',title:'Strong professional and personal relationships',detail:'Career opportunities, business referrals, mentorship, and community support often come through people â and those relationships compound over time.'}, 678 {tag:'Vision',title:'A clear, shared picture of retirement',detail:'Couples who can articulate what a great life looks like â where, how, with whom â make far better planning decisions than those who haven\'t thought it through.'}, 679 {tag:'Family',title:'Close relationships with children and grandchildren',detail
679:'Having strong, present relationships with your family is one of the greatest indicators of happiness and meaning in retirement â and it takes ongoing investment to maintain.'}, 680 {tag:'Community',title:'Deep roots in your community',detail:'A strong sense of place â through friendships, faith, civic involvement, or local relationships â provides belonging, purpose, and resilience that money alone cannot buy.'}, 681 ] 682 } 683}; 684 685function openSidebar(type){ 686 const d=EXAMPLES[type]; 687 document.getElementById('sb-letter').textContent=d.letter; 688 document.getElementById('sb-title').textContent=d.title; 689 document.getElementById('sb-subtitle').textContent=d.subtitle; 690 document.getElementById('sb-intro').textContent=d.intro; 691 document.getElementById('sb-examples').innerHTML=d.items.map(item=>` 692 <div class="example-item"> 693 <span class="example-tag">${item.tag}</span> 694 <strong>${item.title}</strong> 695 <span>${item.detail}</span> 696 </div>`).join(''); 697 document.getElementById('sidebar').classList.add('open'); 698 document.getElementById('sidebar-overlay').classList.add('open'); 699 document.body.style.overflow='hidden'; 700} 701function closeSidebar(){ 702 document.getElementById('sidebar').classList.remove('open'); 703 document.getElementById('sidebar-overlay').classList.remove('open'); 704 document.body.style.overflow=''; 705} 706 707restoreDraft(); 708attachDraftListeners(); 709</script>
vendor: 1 bytes, line 709
709
710<script async src="/.netlify/scripts/ar" data-netlify-deploy-id="6a8b1ad6acb7920008330bde" data-netlify-site-id="8ebbf1f5-f4fd-4882-b966-57dc338be349" data-agent-runner-id="6a8b13f8a6e73c5b3d19ca03"></script>
710 711</body> 712</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.