PageSourceSearch

https://brooksdemming.com/store/products/the-r-i-s-e-framework-workbook

html brooksdemming.com collected 2026-10-04 05:36:07 UTC 300,400 bytes, 7,922 lines download raw bytes

1<!DOCTYPE html>
2<html dir="ltr" lang="en-US">
3<head>
4            
4<script>
5            if (location.protocol != 'https:')
6            {
7                // location.href = 'https:' + window.location.href.substring(window.location.protocol.length);
8            }
9        </script>
9
10        <link rel="icon" href="https://attractwell-2052-fast.b-cdn.net/images/2052/6a4e60c2d15e9.png">
11<link rel="apple-touch-icon" href="https://attractwell-2052-fast.b-cdn.net/images/2052/6a4e60c2d15e9.png">
12    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
13    <meta name="generator" content="AttractWell.com" />
14    <meta name="author" content="Brooks Demming" />
15
16    <link rel="stylesheet" href="https://webcache.attractwell.com/app/common/all-marketing-site-css.min.css" type="text/css" />
17              
17<script src="https://webcache.attractwell.com/app/common/all-marketing-site-js.min.js"></script>
17
18    <!-- Stylesheets
19    ============================================= -->
20<!--    <link href="//fonts.googleapis.com/css?family=Lato:300,400,400italic,600,700|Raleway:300,400,500,600,700|Crete+Round:400italic" rel="stylesheet" type="text/css" />-->
21    <!--
22    <link rel="stylesheet" href="https://attractwell.com/site-assets/themes/attractwell/css/bootstrap-337.css" type="text/css" />
23    <link rel="stylesheet" href="https://attractwell.com/site-assets/themes/attractwell/style-2.css" type="text/css" />
24    <link rel="stylesheet" href="https://attractwell.com/site-assets/themes/attractwell/css/dark.css" type="text/css" />
25    <link rel="stylesheet" href="https://attractwell.com/site-assets/themes/attractwell/css/animate.css" type="text/css" />
26    <link rel="stylesheet" href="https://attractwell.com/site-assets/themes/attractwell/css/magnific-popup.css" type="text/css" />
27    <link rel="stylesheet" href="https://attractwell.com/site-assets/themes/attractwell/css/responsive.css" type="text/css" />
28    -->
29    <link href="https://fonts.googleapis.com/css?family=Baloo+Chettan|Caveat:400,700|Comfortaa:400,700|Crete+Round:400,400i|Euphoria+Script|Indie+Flower|Lato:300,400,400i,700,700i|Merriweather:400,400i,700,700i|Nanum+Myeongjo:400,800|Open+Sans:400,400i,700,700i|Oswald:400,700|Permanent+Marker|Playfair+Display:400,400i,700,700i|Raleway:300,300i,400,400i,500,500i,600,600i,700,700i|Tangerine:400,700|Cormorant+Garamond:400,400i,700,700i|Crimson+Text:400,400i,700,700i|Josefin+Slab:400,400i,700,700i|Livvic:400,400i,600,600i|Montserrat:400,400i,600,600i|Nanum+Gothic:4
2900,700|Old+Standard+TT:400,400i,700|Roboto:400,400i,700,700i|Aguafina+Script&display=swap" rel="stylesheet">    <link href="https://fonts.googleapis.com/css2?family=Comfortaa&display=swap" rel="stylesheet">    
29<script src="https://kit.fontawesome.com/569c6654a7.js" crossorigin="anonymous" defer></script>
29
30    <meta name="viewport" content="width=device-width, initial-scale=1" />
31    <!--[if lt IE 9]>
32    
32<script src="//css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js"></script>
32
33    <![endif]-->
34
35    
36
37    <!-- Facebook share tags
38    ============================================= -->
39    <meta property="og:type"               content="website" />
40    <meta property="og:image:type"         content="image/jpg" />
41<!--    <meta property="og:image:width"        content="1200" />-->
42<!--    <meta property="og:image:height"       content="630" />-->
43    <meta property="og:title"              content="The R.I.S.E. Framework Workbook | Store | Brooks Demming" />
44<meta property="og:description"        content="" />
45
46    <!-- Document Title
47    ============================================= -->
48    <title>The R.I.S.E. Framework Workbook | Store | Brooks Demming</title>
49
50    <!-- Blog RSS feed -->
51    <link rel="alternate" href="https://brooksdemming.com/feed" title="RSS feed" type="application/rss+xml" />
52
53    <!-- External JavaScripts
54    ============================================= -->
55    <style type="text/css" media="all">
56    .fr-view span > h1, .fr-view span > h2, .fr-view span > h3, .fr-view span > h4, .fr-view span > h5, .fr-view span > h6 { color: revert !important; font-size: inherit !important; font-weight: inherit !important; }
57    h1 {font-family:Lato,sans-serif; font-weight: 300;  text-transform:none !important; color:#333333;  }
58h2 {font-family:Lato,sans-serif; font-weight: 300;  text-transform:none !important; color:#333333;  }
59h3 {font-family:Lato,sans-serif; font-weight: 300;  text-transform:none !important; color:#333333;  }
60h4 {font-family:Lato,sans-serif; font-weight: 300;  text-transform:none !important; color:#333333;  }
61h5 {font-family:Lato,sans-serif; font-weight: 300;  text-transform:none !important; color:#333333;  }
62h6 {font-family:Lato,sans-serif; font-weight: 300;  text-transform:none !important; color:#333333;  }
63#logo {font-family:Lato,sans-serif; font-weight: 300;  text-transform:none !important; color:#333333;  }
64#primary-menu ul li a {font-family:Lato,sans-serif; font-weight: 300;  text-transform:none !important; color:#333333;  }
65#primary-menu ul > li > ul > li > a { font-weight: 300;  text-transform:none !important; color:#333333;  }
66#primary-menu ul li .mega-menu-content.style-2 > ul > li.mega-menu-title > a {font-family:Lato,sans-serif; font-weight: 300;  text-transform:none !important; color:#333333;  }
67.dark #header-wrap:not(.not-dark) #primary-menu > ul > li > a,  {font-family:Lato,sans-serif; font-weight: 300;  text-transform:none !important; color:#333333;  }
68.dark #header-wrap:not(.not-dark) #primary-menu > .container > ul > li > a, .dark.overlay-menu #header-wrap:not(.not-dark) #primary-menu > ul > li > a, .overlay-menu #primary-menu.dark > ul > li > a, .dark.overlay-menu #header-wrap:not(.not-dark) #primary-menu > #overlay-menu-close, .overlay-menu #primary-menu.dark > #overlay-menu-close, .dark #header-wrap:not(.not-dark) #top-search a, .dark #header-wrap:not(.not-dark) #top-cart a, .dark #header-wrap:not(.not-dark) #side-panel-trigger a, .dark #top-cart .top-cart-item-desc a, body.top-search-open .dark #header-wrap:not(.not-dark) #top-search a, .dark #header-wrap:not(.not-dark) #top-search a:hover, .dark #header-wrap:not(.not-dark) #top-cart a:hover, .dark #header-wrap:not(.not-dark) #side-panel-trigger a:hover, .dark #header-wrap:not(.not-dark) #top-search form input {font-family:Lato,sans-serif; font-weight: 300;  text-transform:none !important; color:inherit !important;  }
69#top-search form input {font-family:Lato,sans-serif; font-weight: 300;  text-transform:none !important; color:#333333;  }
70.entry-link {font-family:Lato,sans-serif; font-weight: 300;  text-transform:none !important; color:#333333;  }
71.entry.entry-date-section span {font-family:Lato,sans-serif; font-weight: 300;  text-transform:none !important; color:#333333;  }
72.button.button-desc {font-family:Lato,sans-serif; font-weight: 300;  text-transform:none !important; color:#333333;  }
73ul.tab-nav-lg li a {font-family:Lato,sans-serif; font-weight: 300;  text-transform:none !important; color:#333333;  }
74.counter {font-family:Lato,sans-serif; font-weight: 300;  text-transform:none !important; color:#333333;  }
75label {font-family:Lato,sans-serif; font-weight: 300;  text-transform:none !important; color:#333333;  }
76.nav-tree li a {font-family:Lato,sans-serif; font-weight: 300;  text-transform:none !important; color:#333333;  }
77.wedding-head .first-name, .wedding-head .last-name, .wedding-head .and {font-family:Lato,sans-serif; font-weight: 300;  text-transform:none !important; color:#333333;  }
78body {font-family: Lato,sans-serif; font-weight: 400;   }
79small {font-family: Lato,sans-serif; font-weight: 400;   }
80.font-body {font-family: Lato,sans-serif; font-weight: 400;   }
81#primary-menu ul ul a {font-family: Lato,sans-serif; font-weight: 400;   }
82.wp-caption {font-family: Lato,sans-serif; font-weight: 400;   }
83.feature-box.fbox-center.fbox-italic p {font-family: Lato,sans-serif; font-weight: 400;   }
84.skills li .progress-percent .counter {font-family: Lato,sans-serif; font-weight: 400;   }
85.nav-tree ul ul a {font-family: Lato,sans-serif; font-weight: 400;   }
86.button { text-transform: none; }
87.font-secondary {font-family: Lato,sans-serif; font-style: italic; font-weight: 700; }
88.entry-meta li {font-family: Lato,sans-serif; font-style: italic; font-weight: 700; }
89.entry-link span {font-family: Lato,sans-serif; font-style: italic; font-weight: 700; }
90.entry blockquote p {font-family: Lato,sans-serif; font-style: italic; font-weight: 700; }
91.more-link {font-family: Lato,sans-serif; font-style: italic; font-weight: 700; }
920 {font-family: Lato,sans-serif; font-style: italic; font-weight: 700; }
93.button.button-desc span {font-family: Lato,sans-serif; font-style: italic; font-weight: 700; }
94.testi-content p {font-family: Lato,sans-serif; font-style: italic; font-weight: 700; }
95.team-title span {font-family: Lato,sans-serif; font-style: italic; font-weight: 700; }
96.before-heading {font-family: Lato,sans-serif; font-style: italic; font-weight: 700; }
97.wedding-head .first-name span, .wedding-head .last-name span {font-family: Lato,sans-serif; font-style: italic; font-weight: 700; }
98    label {
99        font-weight: 500 !important;
100        color: #666;
101    }
102    /*
103    #page-title h1 {
104        font-weight: 600 !important;
105        color: #666;
106    }*/
107    @media( min-width: 992px ) {
108                .fr-view section, .fr-view a {
109            scroll-margin-top: 100px;
110        }
111    }
112    .color {
113        color: #1c2b4a;
114    }
115    ::selection {
116        background: #1c2b4a;
117    }
118    ::-moz-selection {
119        background: #1c2b4a; /* Firefox */
120    }
121    ::-webkit-selection {
122        background: #1c2b4a; /* Safari */
123    }
124    a {
125        color: #1c2b4a;
126    }
127    a:hover:not(.button) {
128        color: #e4ccc4;
129    }
130    h1 > span:not(.nocolor),
131    h2 > span:not(.nocolor),
132    h3 > span:not(.nocolor),
133    h4 > span:not(.nocolor),
134    h5 > span:not(.nocolor),
135    h6 > span:not(.nocolor) { color: inherit; }
136
137    .bgcolor,
138    .bgcolor #header-wrap { background-color: #1c2b4a !important; }
139
140    .color { color: #1c2b4a !important; }
141
142    .border-color { border-color: #1c2b4a !important; }
143
144    .top-links ul ul,
145    .top-links ul div.top-link-section {
146        border-top: 1px solid #1c2b4a;
147    }
148
149    .header-extras li .he-text span {
150        color: #1c2b4a;
151    }
152
153    /*#primary-menu > ul > li:hover a,*/
154    /*#primary-menu > ul > li.current a { color: *//*; }*/
155
156    #primary-menu ul ul,
157    #primary-menu ul li .mega-menu-content {
158        border-top: 0; /*2px solid #1c2b4a;*/
159    }
160
161        .dark #primary-menu:not(.not-dark) ul ul a, #primary-menu.dark ul ul a, #primary-menu ul li a {
162        color: #000000 !important;
163    }
164
165    
166        .dark #primary-menu:not(.not-dark) ul ul li:hover > a, #primary-menu.dark ul ul li:hover > a, #primary-menu ul li a:hover {
167        color: #000000 !important;
168    }
169
170    #primary-menu ul ul li:hover > a, #primary-menu ul li a:hover,
171    #header-wrap #primary-menu ul ul li:hover > a, #header-wrap #primary-menu ul li a:hover {
172        color: #000000 !important;
173    }
174    
175        /*
176    @media (min-width:992px) {
177        #header.full-header #primary-menu {
178            position: absolute;
179            right: 30px;
180            width: calc( 100% - 577px );
181        }
182        #header.sticky-header #primary-menu {
183            position: absolute;
184            right: 30px;
185            width: calc( 100% - 250px );
186        }
187        #header.full-header #primary-menu > ul {
188            float: right;
189        }
190    }
191    */
192
193    /*#primary-menu ul li .mega-menu-content.style-2 > ul > li.mega-menu-title > a:hover { color: */#eee6db/* !important; }*/
194
195    /*
196    #primary-menu > div > ul > li:hover a,
197    #primary-menu > div > ul > li.current a { color: #eee6db; }
198    */
199
200    #primary-menu.style-3 > ul > li.current > a {
201        background-color: #1c2b4a;
202    }
203
204    /*
205    #primary-menu.style-4 > ul > li:hover > a,
206    #primary-menu.style-4 > ul > li.current > a { border-color: #eee6db; }
207    */
208
209    #primary-menu.style-6 > ul > li > a:after,
210    #primary-menu.style-6 > ul > li.current > a:after {
211        border-top: 2px solid #1c2b4a;
212    }
213
214    /*
215    #primary-menu.sub-title > ul > li:hover > a,
216    #primary-menu.sub-title > ul > li.current > a,
217    #primary-menu.sub-title > div > ul > li:hover > a,
218    #primary-menu.sub-title > div > ul > li.current > a {
219        background-color: #eee6db;
220    }
221    */
222
223    /*#top-cart a:hover { color: #eee6db; }*/
224
225    #top-cart > a > span {
226        background-color: #1c2b4a;
227    }
228
229    #top-cart .top-cart-content {
230        border-top: 2px solid #1c2b4a;
231    }
232
233    /*.top-cart-item-image:hover { border-color: #eee6db; }*/
234
235    /*.top-cart-item-desc a:hover { color: #eee6db !important; }*/
236
237    .top-cart-action span.top-checkout-price {
238        color: #1c2b4a;
239    }
240
241    #page-menu-wrap { background-color: #1c2b4a; }
242
243    #page-menu.dots-menu nav li.current a { background-color: #1c2b4a; }
244
245    #page-menu.dots-menu nav li .dots-menu-caption {
246        background-color: #1c2b4a;
247    }
248
249    #page-menu.dots-menu nav li .dots-menu-caption:after {
250        border-left: 6px solid #1c2b4a;
251    }
252
253    /*.breadcrumb a:hover { color: #eee6db; }*/
254
255    /*#portfolio-filter li a:hover { color: #eee6db; }*/
256
257    #portfolio-filter li.activeFilter a {
258        background-color: #1c2b4a;
259    }
260
261    /*#portfolio-shuffle:hover {
262        background-color: #eee6db;
263    }*/
264
265    /*.portfolio-desc h3 a:hover { color: #eee6db; }*/
266
267    /*.portfolio-overlay a:hover {
268        color: #eee6db;
269    }*/
270
271    /*#portfolio-navigation a:hover { color: #eee6db; }*/
272
273    /*.entry-title h2 a:hover { color: #eee6db; }
274
275    .entry-meta li a:hover { color: #eee6db; }
276
277    .entry-link:hover {
278        background-color: #eee6db;
279    }
280
281    .post-timeline .entry:hover .entry-timeline,
282    .post-timeline .entry:hover .timeline-divider {
283        border-color: #eee6db;
284        color: #eee6db;
285    }
286
287    .ipost .entry-title h3 a:hover,
288    .ipost .entry-title h4 a:hover { color: #eee6db; }
289    */
290
291    .more-link {
292        display: inline-block;
293        border-bottom: 1px solid #1c2b4a;
294    }
295
296    /*
297    .spost .entry-title h4 a:hover,
298    .mpost .entry-title h4 a:hover { color: #eee6db; }
299
300    .comment-content .comment-author a:hover { color: #eee6db; }
301
302    .product-title h3 a:hover,
303    .single-product .product-title h2 a:hover { color: #eee6db; }
304    */
305
306    .product-price ins {
307        color: #1c2b4a;
308    }
309
310    .sale-flash {
311        background-color: #1c2b4a;
312    }
313
314    .single-product .product-price {
315        color: #1c2b4a;
316    }
317
318    /*.cart-product-thumbnail img:hover { border-color: #eee6db; }*/
319
320    /*.button {
321        background-color: #1c2b4a;
322    }*/
323
324    /* button color overrides */
325
326    .button-leaf { background-color: #eeaa7b;}.button-green { background-color: #ee8e4c;}
327    /*.button.button-dark:hover { background-color: #eee6db; }*/
328
329    /*
330    .button.button-3d:hover {
331        background-color: #eee6db !important;
332    }
333    */
334
335    .promo.promo-flat { background-color: #1c2b4a; }
336
337    .feature-box .fbox-icon i,
338    .feature-box .fbox-icon img {
339        background-color: #1c2b4a;
340    }
341
342    .feature-box.fbox-outline .fbox-icon {
343        border: 1px solid #1c2b4a;
344    }
345
346    .feature-box.fbox-border .fbox-icon {
347        border: 1px solid #1c2b4a;
348    }
349
350    .feature-box.fbox-border .fbox-icon i,
351    .feature-box.fbox-border .fbox-icon img {
352        color: #1c2b4a;
353    }
354
355    .feature-box.fbox-plain .fbox-icon i,
356    .feature-box.fbox-plain .fbox-icon img {
357        color: #1c2b4a;
358    }
359
360    .fbox-effect.fbox-dark .fbox-icon i:after { box-shadow: 0 0 0 2px #1c2b4a; }
361
362    /*.fbox-effect.fbox-dark .fbox-icon i:hover,
363    .fbox-effect.fbox-dark:hover .fbox-icon i { background-color: #eee6db; }
364
365    .fbox-border.fbox-effect.fbox-dark .fbox-icon i:hover,
366    .fbox-border.fbox-effect.fbox-dark:hover .fbox-icon i { box-shadow: 0 0 0 1px #eee6db; }
367    */
368
369    .fbox-border.fbox-effect.fbox-dark .fbox-icon i:after { background-color: #1c2b4a; }
370
371    .process-steps li.active h5,
372    .process-steps li.ui-tabs-active h5 {
373        color: #1c2b4a;
374    }
375
376    .process-steps li.active a,
377    .process-steps li.ui-tabs-active a {
378        background-color: #1c2b4a !important;
379    }
380
381    .process-steps li.active a,
382    .process-steps li.ui-tabs-active a {
383        background-color: #1c2b4a !important;
384        border-color: #1c2b4a !important;
385    }
386
387    /*
388    .i-rounded:hover,
389    .i-circled:hover {
390        background-color: #eee6db;
391    }
392    */
393
394    .tabs.tabs-tb ul.tab-nav li.ui-tabs-active a {
395        border-top: 2px solid #1c2b4a;
396    }
397
398    .tabs.tabs-bb ul.tab-nav li.ui-tabs-active a {
399        border-bottom: 2px solid #1c2b4a;
400    }
401
402    ul.tab-nav.tab-nav2 li.ui-state-active a {
403        background-color: #1c2b4a;
404    }
405
406    ul.tab-nav-lg li.ui-tabs-active a {
407        color: #1c2b4a;
408    }
409
410    /*
411    .sidenav > .ui-tabs-active > a,
412    .sidenav > .ui-tabs-active > a:hover {
413        background-color: #eee6db !important;
414    }
415    */
416
417    /*.faqlist li a:hover { color: #eee6db !important; }*/
418
419    .testimonial .flex-control-nav li a {
420        background-color: #1c2b4a;
421    }
422
423    .team-title span {
424        color: #1c2b4a;
425    }
426
427    .pricing-box.best-price .pricing-price {
428        color: #1c2b4a;
429    }
430
431    .skills li .progress {
432        background-color: #1c2b4a;
433    }
434
435    /*
436    .owl-theme .owl-controls .owl-nav [class*=owl-]:hover {
437        background-color: #eee6db !important;
438    }*/
439
440    .owl-theme .owl-dots .owl-dot span {
441        background-color: #1c2b4a;
442    }
443
444    .title-block {
445        border-left: 7px solid #1c2b4a;
446    }
447
448    .title-block-right {
449        border-right: 7px solid #1c2b4a;
450    }
451
452    .heading-block.border-color:after { border-color: #1c2b4a; }
453
454    .fancy-title.title-border-color:before {
455        border-top: 1px solid #1c2b4a;
456    }
457
458    .fancy-title.title-bottom-border h1,
459    .fancy-title.title-bottom-border h2,
460    .fancy-title.title-bottom-border h3,
461    .fancy-title.title-bottom-border h4,
462    .fancy-title.title-bottom-border h5,
463    .fancy-title.title-bottom-border h6 {
464        border-bottom: 2px solid #1c2b4a;
465    }
466
467    /*#gotoTop:hover { background-color: #eee6db; }*/
468
469    /*.tagcloud a:hover {
470        border-color: #eee6db !important;
471        color: #eee6db !important;
472    }*/
473
474    .nav-tree li:hover > a,
475    .nav-tree li.current > a,
476    .nav-tree li.active > a { color: #1c2b4a !important; }
477
478    .btn-link,
479    .pagination > li > a, .pagination > li > span,
480    .pagination > li > a:hover,
481    .pagination > li > span:hover,
482    .pagination > li > a:focus,
483    .pagination > li > span:focus { color: #1c2b4a; }
484
485    .pagination > .active > a,
486    .pagination > .active > span,
487    .pagination > .active > a:hover,
488    .pagination > .active > span:hover,
489    .pagination > .active > a:focus,
490    .pagination > .active > span:focus {
491        background-color: #1c2b4a !important;
492        border-color: #1c2b4a !important;
493    }
494
495    .nav-pills > li.active > a,
496    .nav-pills > li.active > a:hover,
497    .nav-pills > li.active > a:focus { background-color: #1c2b4a; }
498
499    /*
500    .dark.overlay-menu #header-wrap:not(.not-dark) #primary-menu > ul > li:hover > a,
501    .dark.overlay-menu #header-wrap:not(.not-dark) #primary-menu > ul > li.current > a,
502    .overlay-menu #primary-menu.dark > ul > li:hover > a,
503    .overlay-menu #primary-menu.dark > ul > li.current > a { color: #eee6db !important; }
504    */
505
506    .dark #primary-menu:not(.not-dark) ul ul,
507    .dark #primary-menu:not(.not-dark) ul li .mega-menu-content,
508    #primary-menu.dark ul ul,
509    #primary-menu.dark ul li .mega-menu-content {
510        border-top-color: #1c2b4a;
511    }
512
513    .dark #primary-menu:not(.not-dark) ul li .mega-menu-content.style-2,
514    #primary-menu.dark ul li .mega-menu-content.style-2 {
515        border-top-color: #1c2b4a;
516    }
517
518    .dark #top-cart .top-cart-content {
519        border-top-color: #1c2b4a;
520    }
521
522    /*
523    .dark .top-cart-item-image:hover { border-color: #eee6db; }
524
525    .dark .top-cart-item-desc a:hover { color: #eee6db !important; }
526
527
528    .dark .post-timeline .entry:hover .entry-timeline,
529    .dark .post-timeline .entry:hover .timeline-divider {
530        border-color: #eee6db;
531        color: #eee6db;
532    }
533
534    .dark .cart-product-thumbnail img:hover { border-color: #eee6db; }
535
536    .dark .button-dark:hover { background-color: #eee6db; }
537    */
538
539    .dark .fbox-effect.fbox-dark .fbox-icon i:after { box-shadow: 0 0 0 2px #1c2b4a; }
540
541    /*
542    .dark .fbox-effect.fbox-dark .fbox-icon i:hover,
543    .dark .fbox-effect.fbox-dark:hover .fbox-icon i { background-color: #eee6db; }
544
545    .dark .fbox-border.fbox-effect.fbox-dark .fbox-icon i:hover,
546    .dark .fbox-border.fbox-effect.fbox-dark:hover .fbox-icon i { box-shadow: 0 0 0 1px #eee6db; }
547    */
548
549    .dark .fbox-border.fbox-effect.fbox-dark .fbox-icon i:after { background-color: #1c2b4a; }
550
551    /*
552    .dark .i-rounded:hover,
553    .dark .i-circled:hover {
554        background-color: #eee6db;
555    }
556    */
557
558    .dark ul.tab-nav.tab-nav2 li.ui-state-active a { background-color: #1c2b4a; }
559
560    /*
561    .dark .tagcloud a:hover {
562        background-color: #eee6db;
563    }
564    */
565
566    /*
567    body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > ul > li:hover a,
568    body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > ul > li.current a,
569    body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > div > ul > li:hover a,
570    body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > div > ul > li.current a { color: #eee6db !important; }
571    */
572
573    /*
574    #primary-menu ul li .mega-menu-content.style-2 > ul > li.mega-menu-title:hover > a {
575        color: #eee6db !important;
576    }
577
578    #primary-menu ul li .mega-menu-content.style-2 > ul > li.mega-menu-title > a:hover { color: #eee6db !important; }
579    */
580
581    #page-menu nav {
582        background-color: #1c2b4a;
583    }
584
585    /*
586    #portfolio-filter li a:hover { color: #eee6db; }
587    */
588
589    .iconlist-color li i { color: #1c2b4a; }
590
591    /* button helper */
592.button.button-red:not(.button-border) {
593text-decoration:none;
594background-color:#000000;
595color:#ffffff;
596border-radius:1px;
597text-transform:uppercase;
598text-shadow:1px 1px 1px rgba(0,0,0,0.2);
599letter-spacing:2px;
600padding:0.6em 1.4em;
601transition: all 0.3s ease;
602position:relative;z-index:1;
603border-top: 0px solid rgb(255, 255, 255);
604border-right: 0px solid rgb(255, 255, 255);
605border-bottom: 0px solid rgb(255, 255, 255);
606border-left: 0px solid rgb(255, 255, 255);
607}
608
609.button.button-red:hover {
610color:#ffffff;
611}
612
613.button.button-leaf:not(.button-border) {
614text-decoration:none;
615background-color:#000000;
616color:#ffffff;
617border-radius:1px;
618text-transform:uppercase;
619text-shadow:1px 1px 1px rgba(0,0,0,0.2);
620letter-spacing:2px;
621padding:0.6em 1.4em;
622transition: all 0.3s ease;
623position:relative;z-index:1;
624border-top: 0px solid rgb(255, 255, 255);
625border-right: 0px solid rgb(255, 255, 255);
626border-bottom: 0px solid rgb(255, 255, 255);
627border-left: 0px solid rgb(255, 255, 255);
628}
629
630.button.button-leaf:hover {
631color:#ffffff;
632}
633
634.button.button-teal:not(.button-border) {
635text-decoration:none;
636background-color:#53777a;
637color:#ffffff;
638border-radius:1px;
639text-transform:uppercase;
640text-shadow:1px 1px 1px rgba(0,0,0,0.2);
641letter-spacing:2px;
642transition: all 0.3s ease;
643position:relative;z-index:1;
644border-top: 0px none rgb(255, 255, 255);
645border-right: 0px none rgb(255, 255, 255);
646border-bottom: 0px none rgb(255, 255, 255);
647border-left: 0px none rgb(255, 255, 255);
648}
649
650.button.button-teal:hover {
651color:#ffffff;
652}
653
654.button.button-yellow:not(.button-border) {
655text-decoration:none;
656background-color:#ecd078;
657color:#333333;
658border-radius:1px;
659text-transform:uppercase;
660text-shadow:none;
661letter-spacing:2px;
662transition: all 0.3s ease;
663position:relative;z-index:1;
664border-top: 0px none rgb(51, 51, 51);
665border-right: 0px none rgb(51, 51, 51);
666border-bottom: 0px none rgb(51, 51, 51);
667border-left: 0px none rgb(51, 51, 51);
668}
669
670.button.button-yellow:hover {
671color:#333333;
672}
673
674.button:not(.button-border) {
675text-decoration:none;
676background-color:#ffc0cb;
677color:#ffffff;
678border-radius:1px;
679text-transform:uppercase;
680text-shadow:1px 1px 1px rgba(0,0,0,0.2);
681letter-spacing:2px;
682transition: all 0.3s ease;
683position:relative;z-index:1;
684border-top: 0px solid rgb(255, 255, 255);
685border-right: 0px solid rgb(255, 255, 255);
686border-bottom: 0px solid rgb(255, 255, 255);
687border-left: 0px solid rgb(255, 255, 255);
688}
689
690.button.button-:hover {
691color:#ffffff;
692}
693
694.button.button-green:not(.button-border) {
695text-decoration:none;
696background-color:#ee8e4c;
697color:#ffffff;
698border-radius:1px;
699text-transform:uppercase;
700text-shadow:1px 1px 1px rgba(0,0,0,0.2);
701letter-spacing:2px;
702transition: all 0.3s ease;
703position:relative;z-index:1;
704border-top: 0px none rgb(255, 255, 255);
705border-right: 0px none rgb(255, 255, 255);
706border-bottom: 0px none rgb(255, 255, 255);
707border-left: 0px none rgb(255, 255, 255);
708}
709
710.button.button-green:hover {
711color:#ffffff;
712}
713
714.button.button-brown:not(.button-border) {
715text-decoration:none;
716background-color:#774f38;
717color:#ffffff;
718border-radius:1px;
719text-transform:uppercase;
720text-shadow:1px 1px 1px rgba(0,0,0,0.2);
721letter-spacing:2px;
722transition: all 0.3s ease;
723position:relative;z-index:1;
724border-top: 0px none rgb(255, 255, 255);
725border-right: 0px none rgb(255, 255, 255);
726border-bottom: 0px none rgb(255, 255, 255);
727border-left: 0px none rgb(255, 255, 255);
728}
729
730.button.button-brown:hover {
731color:#ffffff;
732}
733
734.button.button-aqua:not(.button-border) {
735text-decoration:none;
736background-color:#40c0cb;
737color:#ffffff;
738border-radius:1px;
739text-transform:uppercase;
740text-shadow:1px 1px 1px rgba(0,0,0,0.2);
741letter-spacing:2px;
742transition: all 0.3s ease;
743position:relative;z-index:1;
744border-top: 0px none rgb(255, 255, 255);
745border-right: 0px none rgb(255, 255, 255);
746border-bottom: 0px none rgb(255, 255, 255);
747border-left: 0px none rgb(255, 255, 255);
748}
749
750.button.button-aqua:hover {
751color:#ffffff;
752}
753
754.button.button-lime:not(.button-border) {
755text-decoration:none;
756background-color:#aee239;
757color:#333333;
758border-radius:1px;
759text-transform:uppercase;
760text-shadow:none;
761letter-spacing:2px;
762transition: all 0.3s ease;
763position:relative;z-index:1;
764border-top: 0px none rgb(51, 51, 51);
765border-right: 0px none rgb(51, 51, 51);
766border-bottom: 0px none rgb(51, 51, 51);
767border-left: 0px none rgb(51, 51, 51);
768}
769
770.button.button-lime:hover {
771color:#333333;
772}
773
774.button.button-purple:not(.button-border) {
775text-decoration:none;
776background-color:#5d4157;
777color:#ffffff;
778border-radius:1px;
779text-transform:uppercase;
780text-shadow:1px 1px 1px rgba(0,0,0,0.2);
781letter-spacing:2px;
782transition: all 0.3s ease;
783position:relative;z-index:1;
784border-top: 0px none rgb(255, 255, 255);
785border-right: 0px none rgb(255, 255, 255);
786border-bottom: 0px none rgb(255, 255, 255);
787border-left: 0px none rgb(255, 255, 255);
788}
789
790.button.button-purple:hover {
791color:#ffffff;
792}
793
794.button.button-pink:not(.button-border) {
795text-decoration:none;
796background-color:#1c2b4a;
797color:#ffffff;
798border-radius:1px;
799text-transform:uppercase;
800text-shadow:1px 1px 1px rgba(0,0,0,0.2);
801letter-spacing:2px;
802padding:0.6em 1.4em;
803transition: all 0.3s ease;
804position:relative;z-index:1;
805border-top: 0px solid rgb(255, 255, 255);
806border-right: 0px solid rgb(255, 255, 255);
807border-bottom: 0px solid rgb(255, 255, 255);
808border-left: 0px solid rgb(255, 255, 255);
809}
810
811.button.button-pink:hover {
812color:#ffffff;
813}
814
815.button.button-blue:not(.button-border) {
816text-decoration:none;
817background-color:#1265a8;
818color:#ffffff;
819border-radius:1px;
820text-transform:uppercase;
821text-shadow:1px 1px 1px rgba(0,0,0,0.2);
822letter-spacing:2px;
823transition: all 0.3s ease;
824position:relative;z-index:1;
825border-top: 0px none rgb(255, 255, 255);
826border-right: 0px none rgb(255, 255, 255);
827border-bottom: 0px none rgb(255, 255, 255);
828border-left: 0px none rgb(255, 255, 255);
829}
830
831.button.button-blue:hover {
832color:#ffffff;
833}
834
835.button.button-dirtygreen:not(.button-border) {
836text-decoration:none;
837background-color:#1693a5;
838color:#ffffff;
839border-radius:1px;
840text-transform:uppercase;
841text-shadow:1px 1px 1px rgba(0,0,0,0.2);
842letter-spacing:2px;
843transition: all 0.3s ease;
844position:relative;z-index:1;
845border-top: 0px none rgb(255, 255, 255);
846border-right: 0px none rgb(255, 255, 255);
847border-bottom: 0px none rgb(255, 255, 255);
848border-left: 0px none rgb(255, 255, 255);
849}
850
851.button.button-dirtygreen:hover {
852color:#ffffff;
853}
854
855.button.button-amber:not(.button-border) {
856text-decoration:none;
857background-color:#eb9c4d;
858color:#ffffff;
859border-radius:1px;
860text-transform:uppercase;
861text-shadow:1px 1px 1px rgba(0,0,0,0.2);
862letter-spacing:2px;
863transition: all 0.3s ease;
864position:relative;z-index:1;
865border-top: 0px none rgb(255, 255, 255);
866border-right: 0px none rgb(255, 255, 255);
867border-bottom: 0px none rgb(255, 255, 255);
868border-left: 0px none rgb(255, 255, 255);
869}
870
871.button.button-amber:hover {
872color:#ffffff;
873}
874
875.button.button-black:not(.button-border) {
876text-decoration:none;
877background-color:#111111;
878color:#ffffff;
879border-radius:1px;
880text-transform:uppercase;
881text-shadow:1px 1px 1px rgba(0,0,0,0.2);
882letter-spacing:2px;
883transition: all 0.3s ease;
884position:relative;z-index:1;
885border-top: 0px none rgb(255, 255, 255);
886border-right: 0px none rgb(255, 255, 255);
887border-bottom: 0px none rgb(255, 255, 255);
888border-left: 0px none rgb(255, 255, 255);
889}
890
891.button.button-black:hover {
892color:#ffffff;
893}
894
895.button.button-white:not(.button-border) {
896text-decoration:none;
897background-color:#f9f9f9;
898color:#333333;
899border-radius:1px;
900text-transform:uppercase;
901text-shadow:none;
902letter-spacing:2px;
903transition: all 0.3s ease;
904position:relative;z-index:1;
905border-top: 0px none rgb(51, 51, 51);
906border-right: 0px none rgb(51, 51, 51);
907border-bottom: 0px none rgb(51, 51, 51);
908border-left: 0px none rgb(51, 51, 51);
909}
910
911.button.button-white:hover {
912color:#333333;
913}
914
915
916    /* Additional overrides for default button styles */
917
918    .button.button-rounded {
919        border-radius: 3px;
920    }
921    .button.button-3d {
922        border-bottom: 0;
923        border-radius: 3px;
924    }
925    .button {
926        border-radius: 3px;
927    }
928        /*.form-control {*/
929    /*    box-shadow: 0 1px 1px rgba(0, 0, 0, .075);*/
930    /*    border-radius: 1px;*/
931    /*}
931*/
932    .panel-default > .panel-heading {
933        border-bottom: 0;
934        padding-bottom: 10px;
935    }
936    .modal-content {
937        border-radius: 8px;
938        box-shadow: 2px 2px 3px rgba(0, 0, 0, .3);
939    }
940    
941    .dropdown-menu, .popover {
942        border-radius: 8px;
943        -moz-border-radius: 8px;
944        -webkit-border-radius: 8px;
945    }
946
947    .tooltip, .popover, .team-title span {
948        font-family: Lato,sans-serif;
949    }
950
951    .ui-tooltip {
952        font-family: Lato,sans-serif !important;
953    }
954
955    .ui-widget-content:not(.tabs):not(.tab-container):not(.tab-content):not(.ui-tabs-panel):not(.ui-slider) {
956        background: #eeeeee !important; /*rgb(245,245,245);*/
957        color: #333333;
958        border-radius: 2px;
959    }
960    .ui-widget-content.tabs {
961        background: #ffffff;
962        border: 0;
963    }
964    .tabs .tab-nav {
965        background: #ffffff;
966        border: 0;
967    }
968    .ui-tabs .ui-tabs-nav:not(.sidenav) .ui-tabs-anchor {
969        padding: 0 15px !important;
970    }
971    .ui-tooltip {
972        box-shadow: none !important; /*1px 1px 3px rgba(0, 0, 0, .1) !important;*/
973        border: #eeeeee !important;
974    }
975    body .ui-tooltip {
976        border: 1px solid #eeeeee;
977        border-radius: 2px;
978    }
979    .tab-container {
980        padding: 0;
981        background: #ffffff;
982        font-size: 14px;
983    }
984    .popover {
985        box-shadow: 2px 2px 3px rgba(0, 0, 0, .3);
986    }
987    .dropdown-menu {
988        box-shadow: 2px 2px 3px rgba(0, 0, 0, .3);
989    }
990        .tooltip.top .tooltip-arrow {
991        border-top-color: #eeeeee;
992    }
993    .tooltip.left .tooltip-arrow {
994        border-left-color: #eeeeee;
995    }
996    .tooltip.right .tooltip-arrow {
997        border-right-color: #eeeeee;
998    }
999    .tooltip.bottom .tooltip-arrow {
1000        border-bottom-color: #eeeeee;
1001    }
1002    .tooltip-inner {
1003        background-color: #eeeeee;
1004        border-radius: 2px;
1005        color: #333333;
1006        font-size: 13px;
1007    }
1008    .tooltip.in {
1009        opacity: 1;
1010    }
1011        .alert {
1012        border-radius: 1px;
1013    }
1014
1015    
1016</style>
1017<style>
1018        :root {
1019        --black-background-color: #000000;
1020        --darkest-background-color: #111111;
1021        --darker-background-color: #2A2A2A;
1022        --dark-background-color: #3A3A3A;
1023        --medium-dark-background-color: #555555;
1024        --dark-mode-default-text-color: #eeeeee;
1025        --dark-mode-muted-text-color: #999999;
1026        --dark-mode-default-contrast-text-color: #333333;
1027        --whitest-background-color: #ffffff;
1028        --not-as-white-background-color: #eeeeee;
1029        --medium-white-background-color: #dddddd;
1030    }
1031    body.dark-mode:not(.no-dark-mode) {
1032        background: var(--darkest-background-color) !important;
1033        color: var(--dark-mode-default-text-color) !important;
1034    }
1035    body.dark-mode:not(.no-dark-mode) {
1036        .popover {
1037            background: var(--medium-dark-background-color) !important;
1038            color: var(--dark-mode-default-text-color) !important;
1039        }
1040
1041        & :is(:not(.fr-view)) {
1042            #content, .content-wrap.app-wrapper, .white-background,
1043            div.back-office-menu-layout-grid-menu, div.sidebar, .grid-equal-row-2 > div, .grid-equal-row-3 > div,
1044            .dropzone, #primary-menu ul ul {
1045                background: var(--darkest-background-color) !important;
1046                color: var(--dark-mode-default-text-color) !important;
1047            }
1048
1049            #primary-menu ul ul {
1050                border-top: 1px solid;
1051            }
1052
1053            .dropdown-menu {
1054                background: var(--black-background-color);
1055            }
1056
1057            .panel, .modal-content, .panel-body, .ui-tabs-panel, .customModal,
1058            .back-office-top-header, #page-title, .list-item-row, .sidenav.ui-tabs-nav, .ui-widget-content:not(.tabs):not(.tab-container):not(.tab-content):not(.ui-tabs-panel):not(.ui-slider),
1059            .settings-description, .callout-wrapper, .callout-wrapper-external,
1060            .table-responsive, .table-hover, .nav-tabs, .settings-group, .pricing-box,
1061            .feature-box.fbox-bg.fbox-center, .well {
1062                background: var(--dark-background-color) !important;
1063                color: var(--dark-mode-default-text-color) !important;
1064                border-color: #444 !important;
1065            }
1066
1067            .modal-header, .modal-footer {
1068                border-color: #444 !important;
1069            }
1070
1071            .table > thead > tr > th,
1072            .table > tbody > tr > th,
1073            .table > tfoot > tr > th,
1074            .table > thead > tr > td,
1075            .table > tbody > tr > td,
1076            .table > tfoot > tr > td {
1077                border-top-color: #444 !important;
1078            }
1079
1080            .table > thead > tr > th {
1081                border-bottom-color: #444 !important;
1082            }
1083
1084            input, textarea, select, .select2-dropdown, .select2-selection {
1085                background: var(--darker-background-color) !important;
1086                color: var(--dark-mode-default-text-color) !important;
1087                caret-color: auto;
1088            }
1089
1090            #_elev_io input {
1091                background: #ffffff !important;
1092                color: #333333 !important;
1093            }
1094            #_elev_io input::placeholder {
1095                color: #555555 !important;
1096            }
1097
1098            .off-white-background, .panel-heading, .table-hover > tbody > tr:hover,
1099            .sidenav > li > a:hover, .pricing-title {
1100                background: var(--medium-dark-background-color) !important;
1101                color: var(--dark-mode-default-text-color) !important;
1102            }
1103
1104            .pricing-title {
1105                text-shadow: none;
1106            }
1107
1108            #wrapper, .back-office-menu-layout-grid-content, .page-end-spacer {
1109                background: var(--darkest-background-color);
1110            }
1111
1112            .always-white-background {
1113                background: var(--not-as-white-background-color) !important;
1114            }
1115
1116            .not-as-white-background-and-text {
1117                background: var(--darkest-background-color) !important;
1118                color: var(--dark-mode-default-text-color) !important;
1119            }
1120
1121            .dim-text, .text-muted {
1122                color: var(--dark-mode-default-text-color) !important;
1123            }
1124
1125            .dark-text-color, .select2-selection--multiple .select2-selection__choice, .c3-tooltip-container,
1126            .keen-c3-legend, .keen-c3-legend-label-overlay, label.contrast, div.style-msg, div.style-msg .sb-msg h4 {
1127                color: var(--dark-mode-default-contrast-text-color) !important;
1128            }
1129
1130            .always-white-background-invert, .charting-panel-body {
1131                background: var(--medium-white-background-color) !important;
1132                filter: invert(1);
1133            }
1134
1135            h1:not(.fr-view h1, .swal2-modal h1), h2:not(.fr-view h2, .swal2-modal h2), h3:not(.fr-view h3, .swal2-modal h3), h4:not(.fr-view h4, .swal2-modal h4),
1136            h5:not(.fr-view h5, .swal2-modal h5), h6:not(.fr-view h6, .swal2-modal h6),
1137            h4.sidebar-menu-header,
1138            .sidenav > li > a,
1139            label:not(.swal2-modal label), button.close, .button-border, .panel-activity,
1140            .select2-container--default .select2-selection--single .select2-selection__rendered {
1141                color: var(--dark-mode-default-text-color) !important;
1142            }
1143
1144            input::placeholder, textarea::placeholder, select::placeholder {
1145                color: var(--dark-mode-muted-text-color) !important;
1146            }
1147            button.close {
1148                opacity: 1;
1149            }
1150
1151                        a:not(.button):not(.fr-view a),
1152            .widget_links li a,
1153            .site-name-text {
1154                color: #bd8862 !important;
1155            }
1156
1157            .button-white, .btn-default {
1158                background: var(--medium-dark-background-color) !important;
1159                color: var(--dark-mode-default-text-color) !important;
1160                border-color: #444 !important;
1161            }
1162
1163            i.light-mode {
1164                                display:none;
1165            }
1166
1167            i.dark-mode {
1168                display: inline;
1169            }
1170
1171            #primary-menu ul li a {
1172                color: #bd8862 !important;
1173            }
1174            #primary-menu ul ul {
1175                box-shadow: 0 5px 12px 5px rgba( 255,255,255,0.2 );
1176            }
1177            #primary-menu ul li ul li:hover a {
1178                color: #ffffff !important;
1179                background: var(--medium-dark-background-color) !important;
1180            }
1181
1182            #mobile-menu-header {
1183                background: var(--black-background-color);
1184            }
1185            .mobile-header {
1186                background-color: var(--medium-dark-background-color);
1187            }
1188        }
1189    }
1190
1191    .style-msg {
1192        border-radius: var(--app-border-radius-lg);
1193    }
1194    .style-msg .sb-msg, .style-msg2 .msgtitle, .style-msg2 .sb-msg {
1195        border-left: 0;
1196    }
1197
1198    /* Email Builder Preview Resets in Dark Mode */
1199    body.dark-mode:not(.no-dark-mode) :is(
1200        .email-builder-preview-email-wrapper,
1201        .preview-email-body-preview,
1202        #email-builder-preview-area,
1203        #email-builder-confirmation-preview-area,
1204        #email-builder-cancellation-preview-area,
1205        #email-builder-reminder-preview-area,
1206        #email-builder-follow-up-preview-area
1207    ) {
1208        background-color: #ffffff !important;
1209        background: #ffffff !important;
1210        color: #333333 !important;
1211    }
1212    body.dark-mode:not(.no-dark-mode) :is(
1213        .email-builder-preview-email-wrapper,
1214        .preview-email-body-preview,
1215        #email-builder-preview-area,
1216        #email-builder-confirmation-preview-area,
1217        #email-builder-cancellation-preview-area,
1218        #email-builder-reminder-preview-area,
1219        #email-builder-follow-up-preview-area
1220    ) :is(h1, h2, h3, h4, h5, h6, p, span, div, label, td, th, table, a):not([style*="color"]) {
1221        color: #333333 !important;
1222    }
1223    body.dark-mode:not(.no-dark-mode) :is(
1224        .email-builder-preview-email-wrapper,
1225        .preview-email-body-preview,
1226        #email-builder-preview-area,
1227        #email-builder-confirmation-preview-area,
1228        #email-builder-cancellation-preview-area,
1229        #email-builder-reminder-preview-area,
1230        #email-builder-follow-up-preview-area
1231    ) :is(.white-background, .always-white-background) {
1232        background-color: #ffffff !important;
1233        background: #ffffff !important;
1234    }
1235
1236    i.dark-mode {
1237        display:none;
1238    }
1239
1240    .mobile-header {
1241        background-color: #f5f5f5;
1242        border-bottom: 1px solid #eeeeee;
1243        padding: 10px 5px 10px 30px;
1244    }
1245
1246    .white-background {
1247        background-color: var(--whitest-background-color);
1248    }
1249
1250    .not-as-white-background-and-text, .off-white-background {
1251        background: var(--not-as-white-background-color) !important;
1252    }
1253
1254    .always-white-background {
1255        background-color: var(--whitest-background-color) !important;
1256    }
1257
1258    .dim-text {
1259        color: var(--dark-mode-muted-text-color) !important;
1260    }
1261
1262    .page-end-spacer {
1263        height: 100px;
1264        background: var(--app-background-color);
1265    }
1266    
1267    :root {
1268        --fancy-box-shadow: 0 0 0 1px rgba(64,87,109,0.04),0 2px 4px -1px rgba(64,87,109,0.3),inset 0 0 0 1px rgba(0,0,0,.1);
1269        --fancy-box-shadow-hover: 0 0 0 1px rgba(64,87,109,0.04),0 2px 4px -1px rgba(64,87,109,0.3);
1270    }
1271
1272    textarea {
1273        resize: vertical;
1274    }
1275    .large-font-text-input {
1276        font-size: 1.8rem;
1277        height: auto;
1278        line-height: normal !important;
1279    }
1280    .button {
1281        text-align:center;
1282        height: auto;
1283        padding: 11px 22px 9px 22px;
1284        white-space: normal;
1285        line-height: normal;
1286    }
1287
1288    .button.button-mini {
1289        text-align:center;
1290        padding: 4px 14px 2px 14px;
1291        height: auto;
1292        line-height: 19px;
1293        white-space: normal;
1294    }
1295
1296    .button.button-small {
1297        text-align:center;
1298        padding: 6px 17px 4px 17px;
1299        height: auto;
1300        line-height: 21px;
1301        white-space: normal;
1302    }
1303
1304    .button.button-large {
1305        text-align:center;
1306        padding: 9px 26px 7px 26px;
1307        height: auto;
1308        line-height: 27px;
1309        white-space: normal;
1310    }
1311
1312    .button.button-xlarge {
1313        text-align:center;
1314        padding: 11px 32px 8px 32px;
1315        height: auto;
1316        line-height: 30px;
1317        white-space: normal;
1318    }
1319
1320    .button.button-border {
1321        line-height: normal;
1322    }
1323    #gotoTop, .stretched #gotoTop {
1324        right: 60px;
1325        bottom: 13px;
1326    }
1327        @media (min-width: 992px) {
1328        #header.transparent-header.full-header.sticky-header:not(.dark) > #header-wrap > .container {
1329            background: rgba(255,255,255,0.8);
1330        }
1331        #header.transparent-header.full-header.sticky-header.dark > #header-wrap > .container {
1332            background: rgba(50,50,50,0.9);
1333        }
1334        #header.transparent-header.full-header.sticky-header > #header-wrap > .container > #primary-menu {
1335            height: auto;
1336        }
1337        #header.transparent-header.full-header.sticky-header > #header-wrap > .container > #primary-menu > ul {
1338            height: auto;
1339        }
1340        #header.transparent-header.full-header:not(.dark):not(.sticky-header) > #header-wrap > .container > #primary-menu > ul {
1341            height: auto;
1342        }
1343        #header.transparent-header.full-header:not(.dark):not(.sticky-header) > #header-wrap > .container > #primary-menu > ul.dropped {
1344            background: rgba(255,255,255,0.8);
1345        }
1346        #header.transparent-header.full-header.dark:not(.sticky-header) > #header-wrap > .container > #primary-menu > ul {
1347            height: auto;
1348        }
1349        #header.transparent-header.full-header.dark:not(.sticky-header) > #header-wrap > .container > #primary-menu > ul.dropped {
1350            background: rgba(50,50,50,0.9);
1351        }
1352        #header.transparent-header.full-header.sticky-header.dark > #header-wrap > .container > #primary-menu > ul {
1353            background: rgba(50,50,50,0.9);
1354        }
1355        .modal-xl {
1356            width: 98vw;
1357        }
1358    }
1359    @media (max-width: 991px) {
1360        /* this allows items in the mobile menu to wrap correctly */
1361        body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > ul > li:hover a, body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > ul > li.current a, body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > div > ul > li:hover a, body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > div > ul > li.current a {
1362            height: fit-content !important;
1363            color: #e4ccc4 !important;
1364        }
1365
1366        /* Shrink padding in mobile dialog boxes */
1367        .modal > .modal-dialog {
1368            margin: 0;
1369        }
1370        .modal > .modal-dialog > .modal-body {
1371            padding: 0;
1372        }
1373        .modal-dialog {
1374            width: 100dvw;
1375        }
1376        .modal-xl {
1377            max-width: 100%;
1378            width: 100%;
1379        }
1380
1381        #primary-menu ul li {
1382            padding: 13px 0;
1383        }
1384
1385        #primary-menu ul li a, #primary-menu.style-2 > div > ul > li > a {
1386            line-height: 1.5 !important;
1387            height: auto !important;
1388        }
1389    }
1390
1391        .voice-button-wrapper {
1392        display: grid;
1393        grid-template-columns: auto 1fr;
1394        grid-gap: 5px;
1395        align-items: center;
1396    }
1397    .voice-button-wrapper-align-top {
1398        align-items: start;
1399    }
1400    @media( max-width: 991px ) {
1401        .voice-button-wrapper:not(.voice-button-wrapper-left-align-button) {
1402            grid-template-columns: 1fr auto;
1403        }
1404        .voice-button-wrapper:not(.voice-button-wrapper-left-align-button) > *:first-child {
1405                        order: 2;
1406        }
1407    }
1408
1409    /* Columnar grids */
1410
1411    /* 2 across, 1 across on mobile, for a 2x3 grid that should be aligned horizontally & vertically on desktop but collapse into one column on mobile */
1412
1413    .grid-equal-row-2  {
1414        display: grid;
1415        grid-template-columns: repeat(2, minmax(0,1fr));
1416        column-gap: 1rem;
1417        row-gap: 5px;
1418        margin-bottom: 40px;
1419    }
1420    @media (max-width:991px) {
1421        .grid-equal-row-2 {
1422            grid-template-columns: 1fr;
1423        }
1424        .grid-equal-heading-column-1 { grid-column: 1; grid-row: 1; }
1425        .grid-equal-body-column-1    { grid-column: 1; grid-row: 2; }
1426        .grid-equal-footer-column-1  { grid-column: 1; grid-row: 3; }
1427
1428        .grid-equal-heading-column-2 { grid-column: 1; grid-row: 4; margin-top: 30px; }
1429        .grid-equal-body-column-2    { grid-column: 1; grid-row: 5; }
1430        .grid-equal-footer-column-2  { grid-column: 1; grid-row: 6; }
1431    }
1432
1433    /* 3 across, 1 across on mobile, for a 3x3 grid that should be aligned horizontally & vertically on desktop but collapse into one column on mobile */
1434
1435    .grid-equal-row-3  {
1436        display: grid;
1437        grid-template-columns: repeat(3, minmax(0,1fr));
1438        column-gap: 1rem;
1439        row-gap: 5px;
1440        margin-bottom: 40px;
1441    }
1442    @media (max-width:991px) {
1443        .grid-equal-row-3 {
1444            grid-template-columns: 1fr;
1445        }
1446        .grid-equal-heading-column-1 { grid-column: 1; grid-row: 1; }
1447        .grid-equal-body-column-1    { grid-column: 1; grid-row: 2; }
1448        .grid-equal-footer-column-1  { grid-column: 1; grid-row: 3; }
1449
1450        .grid-equal-heading-column-2 { grid-column: 1; grid-row: 4; margin-top: 30px; }
1451        .grid-equal-body-column-2    { grid-column: 1; grid-row: 5; }
1452        .grid-equal-footer-column-2  { grid-column: 1; grid-row: 6; }
1453
1454        .grid-equal-heading-column-3 { grid-column: 1; grid-row: 7; margin-top: 30px; }
1455        .grid-equal-body-column-3    { grid-column: 1; grid-row: 8; }
1456        .grid-equal-footer-column-3  { grid-column: 1; grid-row: 9; }
1457    }
1458
1459    /* Same as grid-equal-row-3 but without the header row.
1460     * 3 across, 1 across on mobile, for a 3x2 grid that should be aligned horizontally & vertically on desktop but collapse into one column on mobile */
1461
1462    .grid-equal-row-3-no-header  {
1463        display: grid;
1464        grid-template-columns: repeat(3, 1fr);
1465        column-gap: 1rem;
1466        row-gap: 5px;
1467        margin-bottom: 40px;
1468    }
1469    @media (max-width:991px) {
1470        .grid-equal-row-3-no-header {
1471            grid-template-columns: 1fr;
1472        }
1473        .grid-equal-body-column-1    { grid-column: 1; grid-row: 1; }
1474        .grid-equal-footer-column-1  { grid-column: 1; grid-row: 2; }
1475
1476        .grid-equal-body-column-2    { grid-column: 1; grid-row: 3; margin-top: 30px; }
1477        .grid-equal-footer-column-2  { grid-column: 1; grid-row: 4; }
1478
1479        .grid-equal-body-column-3    { grid-column: 1; grid-row: 5; margin-top: 30px; }
1480        .grid-equal-footer-column-3  { grid-column: 1; grid-row: 6; }
1481    }
1482
1483    /* 2 across, 1 across on mobile, for a 2x2 grid that should be aligned horizontally & vertically on desktop but collapse into one column on mobile */
1484
1485    .grid-equal-row-2-centered  {
1486        display: grid;
1487        grid-template-columns: repeat(6, 1fr);
1488        column-gap: 1rem;
1489        row-gap: 5px;
1490        margin-bottom: 40px;
1491        grid-template-areas:
1492                "a b b c c d"
1493                "a e e f f d";
1494    }
1495    .grid-equal-row-2-centered .grid-equal-body-column-1    { grid-area: b; }
1496    .grid-equal-row-2-centered .grid-equal-footer-column-1  { grid-area: e; }
1497
1498    .grid-equal-row-2-centered .grid-equal-body-column-2    { grid-area: c; }
1499    .grid-equal-row-2-centered .grid-equal-footer-column-2  { grid-area: f; }
1500
1501    @media (max-width:991px) {
1502        .grid-equal-row-2-centered {
1503            grid-template-columns: 1fr;
1504            grid-template-areas: none;
1505        }
1506        .grid-equal-row-2-centered .grid-equal-body-column-1    { grid-column: 1; grid-row: 1; }
1507        .grid-equal-row-2-centered .grid-equal-footer-column-1  { grid-column: 1; grid-row: 2; }
1508
1509        .grid-equal-row-2-centered .grid-equal-body-column-2    { grid-column: 1; grid-row: 3; margin-top: 30px; }
1510        .grid-equal-row-2-centered .grid-equal-footer-column-2  { grid-column: 1; grid-row: 4; }
1511    }
1512
1513    /* 1 across desktop, 1 across on mobile, for a 1x2 grid that should be aligned horizontally & vertically on desktop but collapse into one column on mobile */
1514
1515    .grid-equal-row-1-centered  {
1516        display: grid;
1517        grid-template-columns: repeat(6, 1fr);
1518        column-gap: 1rem;
1519        row-gap: 5px;
1520        margin-bottom: 40px;
1521        grid-template-areas:
1522                "a a b b d d"
1523                "a a e e d d";
1524    }
1525    .grid-equal-row-1-centered .grid-equal-body-column-1    { grid-area: b; }
1526    .grid-equal-row-1-centered .grid-equal-footer-column-1  { grid-area: e; }
1527
1528    @media (max-width:991px) {
1529        .grid-equal-row-1-centered {
1530            grid-template-columns: 1fr;
1531            grid-template-areas: none;
1532        }
1533        .grid-equal-row-1-centered .grid-equal-body-column-1    { grid-column: 1; grid-row: 1; }
1534        .grid-equal-row-1-centered .grid-equal-footer-column-1  { grid-column: 1; grid-row: 2; }
1535    }
1536
1537    /* 4 across, 1 across on mobile, for a 4x1 grid that should be aligned horizontally & vertically on desktop but collapse into one column on mobile */
1538
1539    .grid-equal-row-4  {
1540        display: grid;
1541        grid-template-columns: repeat(4, 1fr);
1542        column-gap: 1rem;
1543        row-gap: 5px;
1544        margin-bottom: 40px;
1545    }
1546    @media (max-width:991px) {
1547        .grid-equal-row-4 {
1548            grid-template-columns: 1fr;
1549        }
1550        .grid-equal-heading-column-1 { grid-column: 1; grid-row: 1; }
1551        .grid-equal-body-column-1    { grid-column: 1; grid-row: 2; }
1552        .grid-equal-footer-column-1  { grid-column: 1; grid-row: 3; }
1553
1554        .grid-equal-heading-column-2 { grid-column: 1; grid-row: 4; margin-top: 30px; }
1555        .grid-equal-body-column-2    { grid-column: 1; grid-row: 5; }
1556        .grid-equal-footer-column-2  { grid-column: 1; grid-row: 6; }
1557
1558        .grid-equal-heading-column-3 { grid-column: 1; grid-row: 7; margin-top: 30px; }
1559        .grid-equal-body-column-3    { grid-column: 1; grid-row: 8; }
1560        .grid-equal-footer-column-3  { grid-column: 1; grid-row: 9; }
1561
1562        .grid-equal-heading-column-4 { grid-column: 1; grid-row: 10; margin-top: 30px; }
1563        .grid-equal-body-column-4    { grid-column: 1; grid-row: 11; }
1564        .grid-equal-footer-column-4  { grid-column: 1; grid-row: 12; }
1565    }
1566
1567    /* 5 across, 1 across on mobile, for a 5x1 grid that should be aligned horizontally & vertically on desktop but collapse into one column on mobile */
1568
1569    .grid-equal-row-5  {
1570        display: grid;
1571        grid-template-columns: repeat(5, 1fr);
1572        column-gap: 1rem;
1573        row-gap: 5px;
1574        margin-bottom: 40px;
1575    }
1576    @media (max-width:991px) {
1577        .grid-equal-row-5 {
1578            grid-template-columns: 1fr;
1579        }
1580    }
1581
1582    /* 6 across, 1 across on mobile, for a 6x1 grid that should be aligned horizontally & vertically on desktop but collapse into one column on mobile */
1583
1584    .grid-equal-row-6  {
1585        display: grid;
1586        grid-template-columns: repeat(6, 1fr);
1587        column-gap: 1rem;
1588        row-gap: 5px;
1589        margin-bottom: 40px;
1590    }
1591    @media (max-width:991px) {
1592        .grid-equal-row-6 {
1593            grid-template-columns: 1fr;
1594        }
1595    }
1596
1597    /* 2 across, 1 across on mobile */
1598    .grid-row-2 {
1599        row-gap: 1rem;
1600        margin: 0.5rem 0;
1601    }
1602
1603    @media (max-width: 991px) {
1604        .grid-row-2 {
1605            display: grid; grid-template-columns: repeat(1, 1fr);
1606        }
1607    }
1608
1609    @media (min-width: 992px) {
1610        .grid-row-2 {
1611            display: grid; grid-template-columns: repeat(2, 1fr);
1612        }
1613    }
1614
1615    /* 3 across, 1 across on mobile */
1616    .grid-row-3 {
1617        row-gap: 1rem;
1618        margin: 0.5rem 0;
1619    }
1620
1621    @media (max-width: 991px) {
1622        .grid-row-3 {
1623            display: grid; grid-template-columns: repeat(1, 1fr);
1624        }
1625    }
1626
1627    @media (min-width: 992px) {
1628        .grid-row-3 {
1629            display: grid; grid-template-columns: repeat(3, 1fr);
1630        }
1631    }
1632
1633    /* 2 across, first 2/3, second 1/3, 1 across on mobile */
1634    .grid-row-2-2-1 {
1635        row-gap: 1rem;
1636        margin: 0.5rem 0;
1637    }
1638
1639    @media (max-width: 991px) {
1640        .grid-row-2-2-1 {
1641            display: grid; grid-template-columns: repeat(1, 1fr);
1642        }
1643    }
1644
1645    @media (min-width: 992px) {
1646        .grid-row-2-2-1 {
1647            display: grid;
1648            grid-template-columns: 2fr 1fr;
1649        }
1650    }
1651
1652    /* 4 across, 2 across on mobile */
1653    .grid-row-4 {
1654        row-gap: 1rem;
1655        margin: 0.5rem 0;
1656    }
1657
1658    @media (max-width: 991px) {
1659        .grid-row-4 {
1660            display: grid; grid-template-columns: repeat(2, 1fr);
1661        }
1662    }
1663
1664    @media (min-width: 992px) {
1665        .grid-row-4 {
1666            display: grid; grid-template-columns: repeat(4, 1fr);
1667        }
1668    }
1669
1670    /* 5 across, 1 across on mobile */
1671    .grid-row-5 {
1672        row-gap: 1rem;
1673        margin: 0.5rem 0;
1674    }
1675
1676    @media (max-width: 991px) {
1677        .grid-row-5 {
1678            display: grid; grid-template-columns: repeat(1, 1fr);
1679        }
1680    }
1681
1682    @media (min-width: 992px) {
1683        .grid-row-5 {
1684            display: grid; grid-template-columns: repeat(5, 1fr);
1685        }
1686    }
1687
1688    /* 6 across, 2 across on mobile */
1689    .grid-row-6 {
1690        row-gap: 1rem;
1691        margin: 0.5rem 0;
1692    }
1693
1694    @media (max-width: 991px) {
1695        .grid-row-6 {
1696            display: grid; grid-template-columns: repeat(2, 1fr);
1697        }
1698    }
1699
1700    @media (min-width: 992px) {
1701        .grid-row-6 {
1702            display: grid; grid-template-columns: repeat(6, 1fr);
1703        }
1704    }
1705
1706    /* 8 across, 2 across on mobile */
1707    .grid-row-8 {
1708        row-gap: 1rem;
1709        margin: 0.5rem 0;
1710    }
1711
1712    @media (max-width: 991px) {
1713        .grid-row-8 {
1714            display: grid; grid-template-columns: repeat(2, 1fr);
1715        }
1716    }
1717
1718    @media (min-width: 992px) {
1719        .grid-row-8 {
1720            display: grid; grid-template-columns: repeat(8, 1fr);
1721        }
1722    }
1723
1724    /* Grid with variable number of columns based on screen width - for panels with smaller content. Starts with 2 columns on mobile. */
1725    .grid-list-variable-small {
1726        display: grid;
1727        grid-template-columns: repeat( 2, minmax(0, 1fr) );
1728        column-gap: 3rem;
1729        row-gap: 3rem;
1730    }
1731    @media (min-width:992px) {
1732        .grid-list-variable-small {
1733            grid-template-columns: repeat( 3, minmax(0, 1fr) );
1734        }
1735    }
1736    @media (min-width:1400px) {
1737        .grid-list-variable-small {
1738            grid-template-columns: repeat( 4, minmax(0, 1fr) );
1739        }
1740    }
1741    @media (min-width:1800px) {
1742        .grid-list-variable-small {
1743            grid-template-columns: repeat( 5, minmax(0, 1fr) );
1744        }
1745    }
1746    @media (min-width:2200px) {
1747        .grid-list-variable-small {
1748            grid-template-columns: repeat( 6, minmax(0, 1fr) );
1749        }
1750    }
1751    @media (min-width:2600px) {
1752        .grid-list-variable-small {
1753            grid-template-columns: repeat( 7, minmax(0, 1fr) );
1754        }
1755    }
1756    @media (min-width:3000px) {
1757        .grid-list-variable-small {
1758            grid-template-columns: repeat( 8, minmax(0, 1fr) );
1759        }
1760    }
1761
1762    /* Grid with variable number of columns based on screen width - for panels with smaller content. Starts with 1 column on mobile. */
1763    .grid-list-variable-small-1-column {
1764        display: grid;
1765        grid-template-columns: repeat( 1, minmax(0, 1fr) );
1766        column-gap: 3rem;
1767        row-gap: 3rem;
1768    }
1769    @media (min-width:992px) {
1770        .grid-list-variable-small-1-column {
1771            grid-template-columns: repeat( 2, minmax(0, 1fr) );
1772        }
1773    }
1774    @media (min-width:1200px) {
1775        .grid-list-variable-small-1-column {
1776            grid-template-columns: repeat( 3, minmax(0, 1fr) );
1777        }
1778    }
1779    @media (min-width:1600px) {
1780        .grid-list-variable-small-1-column {
1781            grid-template-columns: repeat( 4, minmax(0, 1fr) );
1782        }
1783    }
1784    @media (min-width:2000px) {
1785        .grid-list-variable-small-1-column {
1786            grid-template-columns: repeat( 5, minmax(0, 1fr) );
1787        }
1788    }
1789    @media (min-width:2400px) {
1790        .grid-list-variable-small-1-column {
1791            grid-template-columns: repeat( 6, minmax(0, 1fr) );
1792        }
1793    }
1794    @media (min-width:2800px) {
1795        .grid-list-variable-small-1-column {
1796            grid-template-columns: repeat( 7, minmax(0, 1fr) );
1797        }
1798    }
1799
1800    /* Grid with variable number of columns based on screen width - for panels with smaller content. Starts with 1 column on mobile. */
1801    .grid-list-variable {
1802        display: grid;
1803        grid-template-columns: repeat( 1, minmax(0, 1fr) );
1804        column-gap: 3rem;
1805        row-gap: 3rem;
1806    }
1807    @media (min-width:992px) {
1808        .grid-list-variable {
1809            grid-template-columns: repeat( 2, minmax(0, 1fr) );
1810        }
1811    }
1812    @media (min-width:1400px) {
1813        .grid-list-variable {
1814            grid-template-columns: repeat( 3, minmax(0, 1fr) );
1815        }
1816    }
1817    @media (min-width:1800px) {
1818        .grid-list-variable {
1819            grid-template-columns: repeat( 4, minmax(0, 1fr) );
1820        }
1821    }
1822    @media (min-width:2200px) {
1823        .grid-list-variable {
1824            grid-template-columns: repeat( 5, minmax(0, 1fr) );
1825        }
1826    }
1827    @media (min-width:2600px) {
1828        .grid-list-variable {
1829            grid-template-columns: repeat( 6, minmax(0, 1fr) );
1830        }
1831    }
1832    @media (min-width:3000px) {
1833        .grid-list-variable {
1834            grid-template-columns: repeat( 8, minmax(0, 1fr) );
1835        }
1836    }
1837
1838    /* Grid with variable number of columns based on screen width - for panels with larger content. Starts with 1 column on mobile. */
1839    .grid-list-variable-large {
1840        display: grid;
1841        grid-template-columns: repeat( 1, minmax(0, 1fr) );
1842        column-gap: 3rem;
1843        row-gap: 3rem;
1844    }
1845    @media (min-width:1300px) {
1846        .grid-list-variable-large {
1847            grid-template-columns: repeat( 2, minmax(0, 1fr) );
1848        }
1849    }
1850    @media (min-width:1800px) {
1851        .grid-list-variable-large {
1852            grid-template-columns: repeat( 3, minmax(0, 1fr) );
1853        }
1854    }
1855    @media (min-width:2200px) {
1856        .grid-list-variable-large {
1857            grid-template-columns: repeat( 4, minmax(0, 1fr) );
1858        }
1859    }
1860    @media (min-width:2600px) {
1861        .grid-list-variable-large {
1862            grid-template-columns: repeat( 5, minmax(0, 1fr) );
1863        }
1864    }
1865    @media (min-width:3000px) {
1866        .grid-list-variable-large {
1867            grid-template-columns: repeat( 6, minmax(0, 1fr) );
1868        }
1869    }
1870
1871
1872    /* Override for section class styles for pages built with the page editor */
1873    section .content-wrap .section {
1874        background: transparent none;
1875    }
1876
1877    /* Enlarge the default width of the container class to allow for use of more space on mobile */
1878    @media (max-width: 767px) {
1879        #header.full-header .container, .container, .container-fullwidth {
1880            width: calc( 100vw - 20px ) !important;
1881        }
1882    }
1883
1884    .flex-center {
1885        display: flex;
1886        justify-content: center;
1887        align-items: center;
1888    }
1889    @media (max-width: 991px) {
1890        .flex-center {
1891            flex-direction: column;
1892        }
1893    }
1894
1895
1896        :not(.fr-view) table { margin-bottom: 0; }
1897        div:not(.fr-wrapper) > .fr-view table td, div:not(.fr-wrapper) > .fr-view table th { border: 0; }
1898
1899    /* Rotate any element */
1900    .rotate {
1901        animation: rotate 1.5s linear infinite;
1902    }
1903    @keyframes rotate {
1904        to {
1905            transform: rotate(360deg);
1906        }
1907    }
1908
1909    /* A tilt-shake animation used for missing required fields. See also the highlightRequiredField() function at the bottom of this file. */
1910    @keyframes tilt-shaking {
1911        0% { transform: rotate(0deg); }
1912        25% { transform: rotate(5deg); }
1913        50% { transform: rotate(0deg); }
1914        75% { transform: rotate(-5deg); }
1915        100% { transform: rotate(0deg); }
1916    }
1917    .tilt-shaking {
1918        scale: 1.1;
1919        animation: tilt-shaking 0.25s infinite;
1920    }
1921
1922
1923    /* Hide on website (not in back office) */
1924    .hide-on-website { display: none; }
1925    
1926
1927        .aw-carousel {
1928        box-sizing: border-box;
1929        height: 100%;
1930        overflow: hidden;
1931        align-items: center;
1932        justify-content: center;
1933        text-align: center;
1934        width: 100%;
1935
1936        & > div {
1937            display: flex;
1938
1939            overflow-x: auto;
1940            scroll-snap-type: x mandatory;
1941
1942            scroll-behavior: smooth;
1943            -webkit-overflow-scrolling: touch;
1944        }
1945
1946        & > .aw-slides {
1947            margin-bottom: 5px;
1948            height: 300px;
1949            -ms-overflow-style: none;              scrollbar-width: none;         }
1950
1951                & > .aw-slides::-webkit-scrollbar {
1952            display: none;
1953        }
1954
1955        & > .aw-slides > div {
1956            scroll-snap-align: start;
1957            flex-shrink: 0;
1958            width: 100%;
1959            margin-right: 50px;
1960            position: relative;
1961            overflow: hidden;
1962
1963            display: flex;
1964            justify-content: center;
1965            align-items: center;
1966            flex-direction: column;
1967        }
1968
1969        & > .aw-slides div.aw-image-only a, & > .aw-slides div.aw-image-only img {
1970            object-fit: contain;
1971            width: 100% !important;
1972            height: 100%;
1973        }
1974        &.aw-carousel-cover-slide-image > .aw-slides div.aw-image-only img {
1975            object-fit: cover;
1976        }
1977
1978        & > .aw-slides div .fr-video {
1979            width: 500px;
1980        }
1981        @media( max-width: 991px ) {
1982            & > .aw-slides div .fr-video {
1983                width: 90vw;
1984            }
1985        }
1986
1987        & > a {
1988            display: inline-flex;
1989            width: 1.6rem;
1990            height: 1.6rem;
1991            background: #333333;
1992            text-decoration: none;
1993            align-items: center;
1994            justify-content: center;
1995            border-radius: 50%;
1996            border: 1px solid #ffffff;
1997            margin: 0 0 0.5rem 0;
1998            position: relative;
1999        }
2000
2001        & > a:hover {
2002            filter: brightness( 0.9 );
2003        }
2004
2005        & > a:active {
2006            top: 1px;
2007        }
2008
2009        & > a:focus {
2010            background: #000;
2011        }
2012
2013        & > a + a {
2014            margin-left: 5px;
2015        }
2016
2017        &.aw-carousel-no-dots > a {
2018            display: none;
2019        }
2020    }
2021    
2022        .aw-countdown {
2023        display: flex;
2024        justify-content: center;
2025        margin: 1em 0;
2026        @media( max-width: 767px ) {
2027            & {
2028                font-size: 3vw !important;
2029            }
2030        }
2031
2032        & > div {
2033            display: flex;
2034            padding: 0.6em 1.8em 1.6em 1.6em;
2035                        cursor: default;
2036                    }
2037
2038        & > div > div {
2039            display: flex;
2040            flex-direction: column;
2041            align-items: center;
2042            margin: 0 0.8em;
2043        }
2044
2045        & > div > div > span:first-child {
2046            font-size: 4em;
2047            margin-top: 0.15em;
2048            text-align: center;
2049        }
2050
2051        & > div > div > span:last-child {
2052            font-size: 1.2em;
2053        }
2054    }
2055    
2056    </style>
2057<style>
2058@keyframes awTickerScroll {
2059    0%   { transform: translate3d(0, 0, 0); }
2060    100% { transform: translate3d(-50%, 0, 0); }
2061}
2062.aw-ticker-wrap {
2063    overflow: hidden;
2064    background-color: var(--tw-bg, transparent);
2065}
2066.aw-ticker {
2067    display: flex;
2068    align-items: center;
2069    white-space: nowrap;
2070    will-change: transform;
2071    animation: awTickerScroll 22s linear infinite;
2072    width: max-content;
2073    flex-shrink: 0;
2074    padding: var(--tw-py, 20px) 0;
2075}
2076.aw-ticker-wrap:not(.no-pause-hover) .aw-ticker:hover {
2077    animation-play-state: paused;
2078}
2079.aw-ticker-item {
2080    display: inline-flex;
2081    align-items: center;
2082    flex: 0 0 auto;
2083    background: var(--tb-bg, #ffffff);
2084    color: var(--tb-color, #3f4242);
2085    padding: var(--tb-py, 12px) var(--tb-px, 18px);
2086    border-radius: var(--tb-r, 30px);
2087    font-size: var(--tb-fs, 17px);
2088    font-family: var(--tb-font, inherit);
2089    font-weight: var(--tb-fw, normal);
2090    font-style: var(--tb-fstyle, normal);
2091    line-height: 1.2;
2092    box-shadow: var(--tb-shadow, none);
2093    border: var(--tb-border, none);
2094    margin: 0 calc(var(--tb-gap, 4px) * 2) 0 0;
2095}
2096.aw-ticker-item a {
2097    color: inherit;
2098    text-decoration: none;
2099}
2100.aw-ticker-item a:hover {
2101    text-decoration: underline;
2102}
2103.aw-ticker-sep {
2104    display: inline-flex;
2105    align-items: center;
2106    justify-content: center;
2107    flex: 0 0 auto;
2108    height: var(--ts-size, 10px);
2109    margin: 0 calc(var(--tb-gap, 4px) * 2) 0 0;
2110}
2111.aw-ticker-sep::before {
2112    content: "";
2113    display: block;
2114    border-radius: 999px;
2115    flex: 0 0 auto;
2116    width: var(--ts-size, 10px);
2117    height: var(--ts-size, 10px);
2118    background: var(--ts-color, #47d4e0);
2119}
2120@media (prefers-reduced-motion: reduce) {
2121    .aw-ticker { animation: none; }
2122}
2123@media (max-width: 480px) {
2124    .aw-ticker-item { font-size: 85%; }
2125}
2126</style>
2127
2128<script>
2129        $(function() {
2130
2131                (function() {
2132            var tickers = document.querySelectorAll('.aw-ticker-wrap');
2133            if (!tickers.length) return;
2134
2135            if (window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches) return;
2136
2137            tickers.forEach(function(wrap) {
2138                var raw = wrap.getAttribute('data-ticker');
2139                if (!raw) { return; }
2140                try {
2141                    var cfg = JSON.parse(raw);
2142                    var duration = cfg.speed || 22;
2143                    var dir = (cfg.direction === 'right') ? 1 : -1;
2144                    var track = wrap.querySelector('.aw-ticker');
2145                    if (track) {
2146                        track.style.animation = 'none';
2147                        track.style.webkitAnimation = 'none';
2148
2149                        function startAnimation() {
2150                            var halfWidth = track.scrollWidth / 2;
2151                            var pos = 0;
2152                            var last = null;
2153                            var isPaused = false;
2154                            var speedPxPerSec = halfWidth / duration;
2155
2156                            if (window.ResizeObserver) {
2157                                var observer = new ResizeObserver(function() {
2158                                    halfWidth = track.scrollWidth / 2;
2159                                    speedPxPerSec = halfWidth / duration;
2160                                });
2161                                observer.observe(track);
2162                            }
2163
2164                            if (cfg.pause_on_hover !== false) {
2165                                wrap.addEventListener('mouseenter', function() { isPaused = true; });
2166                                wrap.addEventListener('mouseleave', function() { isPaused = false; });
2167                            }
2168
2169                            function step(ts) {
2170                                if (last === null) last = ts;
2171                                var delta = (ts - last) / 1000;
2172                                last = ts;
2173
2174                                if (halfWidth > 0 && !isPaused) {
2175                                    pos += dir * speedPxPerSec * delta;
2176                                    if (dir === -1 && pos <= -halfWidth) {
2177                                        pos += halfWidth;
2178                                    } else if (dir === 1 && pos >= 0) {
2179                                        pos -= halfWidth;
2180                                    }
2181                                    track.style.transform = 'translate3d(' + pos + 'px, 0, 0)';
2182                                    track.style.webkitTransform = 'translate3d(' + pos + 'px, 0, 0)';
2183                                }
2184                                requestAnimationFrame(step);
2185                            }
2186                            requestAnimationFrame(step);
2187                        }
2188
2189                        function init() {
2190                            var containerW = wrap.offsetWidth;
2191                            if (containerW === 0) {
2192                                setTimeout(init, 100);
2193                                return;
2194                            }
2195
2196                            var safetyLimit = 20;
2197                            while (track.scrollWidth / 2 < containerW && safetyLimit-- > 0) {
2198                                var existing = track.innerHTML;
2199                                track.innerHTML = existing + existing;
2200                            }
2201
2202                            startAnimation();
2203                        }
2204                        init();
2205                    }
2206                    if (cfg.pause_on_hover === false) wrap.classList.add('no-pause-hover');
2207                } catch(e) {}
2208            });
2209        })();
2210        let AwCarouselIntervals = {}, AwCarouselAutoAdvanceTime = 5000;
2211
2212        // Pause carousel auto-advance when user clicks into a video iframe (Bunny.net, YouTube, Vimeo)
2213        // When the user clicks an iframe, the main window loses focus. We detect that and check
2214        // if the now-focused element is an iframe inside an aw-carousel.
2215        let awCarouselFocusInterval = null;
2216        $(window).on('blur', function() {
2217            setTimeout(function() {
2218                let el = document.activeElement;
2219                if (el && el.tagName === 'IFRAME') {
2220                    let carousel = $(el).closest('.aw-carousel');
2221                    if (carousel.length) {
2222                        carousel.addClass('aw-video-playing');
2223                    }
2224                }
2225            }, 0);
2226        });
2227        $(window).on('focus', function() {
2228            $('.aw-carousel.aw-video-playing').removeClass('aw-video-playing');
2229        });
2230        function createRandomString( strLength = 20 )
2231        {
2232            let result = [];
2233            let charSet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
2234
2235            while (strLength--)
2236                result.push(charSet.charAt(Math.floor(Math.random() * charSet.length)));
2237
2238            return result.join('');
2239        }
2240        function AwCarouselGoToNextSlide( carousel )
2241        {
2242            if (carousel.find('video').toArray().some(v => !v.paused) || carousel.hasClass('aw-video-playing')) return;
2243            let slides_container = carousel.find('.aw-slides');
2244            let slides = slides_container.children();
2245            let carousel_bounding_rect = carousel[0].getBoundingClientRect();
2246
2247                        for( let i = 0; i < slides.length; i++ ) {
2248                let slide_bounding_rect = slides[i].getBoundingClientRect();
2249                if( Math.floor(slide_bounding_rect.x) === Math.floor(carousel_bounding_rect.x) ) {
2250                                        let slide_width = slide_bounding_rect.width;
2251                    let next_slide_index = i + 1;
2252                    if( next_slide_index >= slides.length )
2253                        next_slide_index = 0;
2254                    if( next_slide_index === 0 )
2255                        slides_container[0].scrollLeft = 0;
2256                    else
2257                        slides_container[0].scrollLeft += Math.ceil(slide_width);
2258                    break;
2259                }
2260            }
2261        }
2262        
2263        function GetCarouselSlideAdvanceTime( carousel )
2264        {
2265            let slide_advance_time = carousel.attr('data-auto-advance-seconds');
2266            if( slide_advance_time == '' || typeof slide_advance_time === 'undefined' )
2267                slide_advance_time = AwCarouselAutoAdvanceTime;
2268            else
2269                slide_advance_time = parseInt( slide_advance_time, 10 ) * 1000;
2270            return slide_advance_time;
2271        }
2272
2273        $('.aw-carousel').each( function() {
2274            let carousel = $(this);
2275            let slides = carousel.find('.aw-slides');
2276            let slide_advance_time = GetCarouselSlideAdvanceTime( carousel );
2277
2278                        let carousel_id = createRandomString();
2279            while( $('#' + carousel_id + '-slide-1' ).length > 0 )
2280                carousel_id = createRandomString();
2281
2282                        let carousel_dot_color = '';
2283            let first_dot = carousel[0].querySelector('& > a');
2284            if( first_dot !== null )
2285                carousel_dot_color = first_dot.style.backgroundColor;
2286            carousel.find('> a').remove();
2287
2288                        slides.attr('data-carousel-id', carousel_id );
2289
2290                        slides.children().each( function( index ) {
2291                let slide_id = carousel_id + '-slide-' + (index + 1);
2292                $(this).attr('id', slide_id );
2293                let new_link = document.createElement('a');
2294                new_link.setAttribute('href', '#' + slide_id );
2295                new_link.setAttribute('data-slide-index', index + 1 );
2296                if( carousel_dot_color !== '' )
2297                    new_link.setAttribute('style','background-color: ' + carousel_dot_color + ';');
2298                new_link.innerHTML = '&nbsp;';
2299                                carousel.append( new_link );
2300            });
2301
2302
2303            if( carousel.hasClass('aw-automatic-carousel') )
2304               AwCarouselIntervals[ carousel_id ] = setInterval( () => AwCarouselGoToNextSlide( carousel ), slide_advance_time );
2305        });
2306        
2307        $('.aw-carousel > a').click( function( evt ) {
2308                        let slides_container = $(this).parent().find('.aw-slides');
2309            let slide_width = slides_container.children()[0].getBoundingClientRect().width;
2310            let slide_index = parseInt( $(this).attr('data-slide-index'), 10 );
2311            slides_container[0].scrollLeft = (slide_width * (slide_index - 1));
2312
2313            // get the entire carousel
2314            let carousel = $(this).parent();
2315            let slide_advance_time = GetCarouselSlideAdvanceTime( carousel );
2316
2317
2318                    let carousel_id = slides_container.attr('data-carousel-id');
2319            if( AwCarouselIntervals[ carousel_id ] ) {
2320                clearInterval( AwCarouselIntervals[ carousel_id ] );
2321                AwCarouselIntervals[ carousel_id ] = setInterval( () => AwCarouselGoToNextSlide( $(this).parent().parent() ), slide_advance_time );
2322            }
2323            evt.preventDefault();
2324            evt.stopPropagation();
2325            return false;
2326        });
2327    });
2328</script>
2328
2329
2330<script>
2331    let countdownTimers = [];
2332    function StartCountdownTimers( countdown_selector = '.aw-countdown', options = {} )
2333    {
2334        function countdown( element, expiration_url ) {
2335            let end_date_time = element.getAttribute('data-end-datetime');
2336            let timer_length = element.getAttribute('data-end-minutes');
2337
2338            if( typeof end_date_time !== 'string' && typeof timer_length !== 'string' )
2339                return false;
2340
2341                        if( typeof allowUndo === 'boolean' )
2342                allowUndo = false;
2343
2344            let targetDate;
2345
2346            if( typeof end_date_time === 'string' )
2347                targetDate = new Date( end_date_time );
2348            else {
2349                let end_minutes = parseInt(timer_length, 10);
2350                if( isNaN( end_minutes ) )
2351                    return false;
2352                let current_date = new Date();
2353                targetDate = new Date();
2354                targetDate.setTime( current_date.getTime() + (end_minutes * 60 * 1000) );
2355                if( options && options['remove-end-minutes'] === true )
2356                    element.removeAttribute('data-end-minutes');
2357                element.setAttribute('data-end-datetime', targetDate.toISOString());
2358            }
2359            const now = new Date();
2360
2361            const difference = targetDate - now;
2362
2363            let days = Math.max(Math.floor(difference / (1000 * 60 * 60 * 24)), 0);
2364            let hours = Math.max(Math.floor((difference % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)), 0);
2365            let minutes = Math.max(Math.floor((difference % (1000 * 60 * 60)) / (1000 * 60)), 0);
2366            let seconds = Math.max(Math.floor((difference % (1000 * 60)) / 1000), 0);
2367
2368            let days_text = days.toString().padStart(2, '0');
2369            let hours_text = hours.toString().padStart(2, '0');
2370            let minutes_text = minutes.toString().padStart(2, '0');
2371            let seconds_text = seconds.toString().padStart(2, '0');
2372
2373            element.querySelector('& > div > div:first-child > span:first-child').textContent = days_text;
2374            element.querySelector('& > div > div:nth-child(2) > span:first-child').textContent = hours_text;
2375            element.querySelector('& > div > div:nth-child(3) > span:first-child').textContent = minutes_text;
2376            element.querySelector('& > div > div:nth-child(4) > span:first-child').textContent = seconds_text;
2377
2378                        if( typeof allowUndo === 'boolean' )
2379                allowUndo = false;
2380
2381                        if( expiration_url !== null && expiration_url !== '' && days <= 0 && hours <= 0 && minutes <= 0 && seconds <= 0 )
2382                location.href = expiration_url;
2383                    }
2384        function createCountdownHtml( element, color, background_color )
2385        {
2386            if( element.innerHTML !== '' && element.querySelectorAll('div > div > span').length === 8 ) {
2387                if( color !== null )
2388                    element.style.color = color;
2389                if( background_color !== null )
2390                    element.style.backgroundColor = background_color;
2391                element.querySelectorAll('div > div > span:first-child').forEach( element => {
2392                    element.innerHTML = '00';
2393                });
2394            }
2395            else {
2396                element.innerHTML = '<div style="' +
2397                    (color !== null ? 'color:' + escapeHtml(color) + ';' : '') +
2398                    (background_color !== null ? 'background-color:' + escapeHtml(background_color) + ';' : '') + '">' +
2399                    '<div><span>00</span><span>Days</span></div>' +
2400                    '<div><span>00</span><span>Hours</span></div>' +
2401                    '<div><span>00</span><span>Minutes</span></div>' +
2402                    '<div><span>00</span><span>Seconds</span></div>' +
2403                    '</div>';
2404            }
2405        }
2406
2407        let default_countdown_selector = '.aw-countdown';
2408        let has_custom_selector = (typeof countdown_selector === 'string' && countdown_selector !== default_countdown_selector );
2409        if( !has_custom_selector )
2410            countdown_selector = default_countdown_selector;
2411
2412        for( let i = countdownTimers.length - 1; i >= 0; i-- ) {
2413            if (!has_custom_selector || (countdown_selector.charAt(0) === '#' && countdownTimers[i].id === countdown_selector.substring(1))) {
2414                clearInterval(countdownTimers[i].interval);
2415                countdownTimers.splice(i, 1);
2416            }
2417        }
2418
2419        let countdown_elements = document.querySelectorAll( countdown_selector );
2420
2421        for( let i = 0; i < countdown_elements.length; i++ ) {
2422            let element = countdown_elements[i];
2423            let end_date_time = element.getAttribute('data-end-datetime');
2424            let timer_length = element.getAttribute('data-end-minutes');
2425            let expiration_url = element.getAttribute('data-expiration-url');
2426            let color = element.getAttribute('data-color');
2427            let background_color = element.getAttribute('data-background-color');
2428            if( typeof end_date_time === 'string' || typeof timer_length === 'string' ) {
2429                createCountdownHtml( element, color, background_color );
2430
2431                if( options && options.remember === true && typeof element.getAttribute('data-end-minutes') === 'string' && element.getAttribute('data-end-minutes') !== '' ) {
2432                    let existing_expires = Cookies.get('aw-countdown-' + i);
2433                    if( typeof existing_expires === 'undefined' ) {
2434                        let expiration_minutes = element.getAttribute('data-end-minutes');
2435                        if (expiration_minutes) {
2436                            expiration_minutes = parseInt(expiration_minutes, 10);
2437
2438                            if( typeof end_date_time !== 'string' ) {
2439                                let current_date = new Date();
2440                                let targetDate = new Date();
2441                                targetDate.setTime( current_date.getTime() + (expiration_minutes * 60 * 1000) );
2442                                end_date_time = targetDate.toISOString();
2443                            }
2444                                                        let cookie_expires_date = new Date(new Date().getTime() + ((expiration_minutes + 1440) * 60 * 1000));
2445                            Cookies.set('aw-countdown-' + i, end_date_time, {
2446                                path: window.location.pathname,
2447                                expires: cookie_expires_date
2448                            });
2449                        }
2450                    }
2451                    else {
2452                                                element.setAttribute('data-end-datetime', existing_expires);
2453                    }
2454                }
2455
2456                countdown( element, expiration_url );
2457                countdownTimers.push( { id: element.id, interval: setInterval(() => countdown( element, expiration_url ), 1000) } );
2458            }
2459        }
2460    }
2461
2462    document.addEventListener('DOMContentLoaded', function() {
2463        StartCountdownTimers( '.aw-countdown', {
2464            remember: true });
2465    } );
2466
2467</script>
2467
2468
2469<script>
2470    $(function() {
2471                function MenuCheck()
2472        {
2473            try {
2474                let jquery_element = $('#primary-menu > ul');
2475                let js_element = jquery_element[0];
2476                if( js_element.getBoundingClientRect().y > 0 && !jquery_element.hasClass('dropped') )
2477                    jquery_element.addClass('dropped');
2478                else if( js_element.getBoundingClientRect().y === 0 && jquery_element.hasClass('dropped') )
2479                    jquery_element.removeClass('dropped');
2480            }
2481            catch( err ) {}
2482        }
2483        $(window).resize( MenuCheck );
2484        MenuCheck();
2485
2486                $('[href^="#copytoclipboard="]').click( function() {
2487            let text = $(this).attr('href').substring(17);
2488            CopyToClipboard( decodeURIComponent( text ) );
2489            return false;
2490        });
2491    });
2492
2493    function highlightRequiredField( field_id, callback )
2494    {
2495        $('#' + field_id).addClass('tilt-shaking');
2496        setTimeout( () => {
2497            $('#' + field_id).removeClass('tilt-shaking');
2498            if( typeof callback === 'function' )
2499                callback();
2500        }, 750 );
2501    }
2502
2503        function CopyToClipboard( text, success_message = 'Copied to clipboard', failure_message = 'Failed to copy to clipboard' )
2504    {
2505        window.navigator.clipboard.writeText( text ).then( function() {
2506            toastr.info( success_message );
2507        }, function() {
2508            toastr.error( failure_message );
2509        });
2510        return false;
2511    }
2512</script>
2512
2513    <!-- Override Styles -->
2514    <style media="all">
2515        #primary-menu-trigger {
2516            font-size: 27px;
2517            margin-left: 10px;
2518        }
2519        .thin-font {
2520            font-weight: 300;
2521        }
2522        .section {
2523            background-color: #f7f7f7;
2524        }
2525        .bottle-lineup {
2526            height: 160px;
2527        }
2528        .bottle-popular {
2529            background-size: contain;
2530            background-repeat: no-repeat;
2531            background-position: center;
2532            height: 100px !important;
2533        }
2534        .menu-flag {
2535            width:16px;
2536            position: relative;
2537            top:-2px;
2538            margin-right:5px;
2539        }
2540        #logo > a {
2541            text-transform: none !important;
2542        }
2543        #logo {
2544            border-right: 0 !important;
2545                }
2546        #logo a.standard-logo { display: inline; }
2547
2548        #logo a.retina-logo { display: none; }
2549
2550        #header.transparent-header.full-header #header-wrap {
2551            border-bottom: none;  /* Remove top line in the theme to clean up display */
2552        }
2553
2554                #primary-menu-trigger {
2555            text-align: left;
2556        }
2557
2558        .get-started-button-top {
2559            float:right;
2560        }
2561        .get-started-button-bottom {
2562            display:none;
2563        }
2564
2565        .inherit-link-weight {
2566            font-weight: inherit !important;
2567        }
2568
2569        .site-name-text {
2570            -webkit-transition: all .4s ease, opacity .3s ease;
2571            -o-transition: all .4s ease, opacity .3s ease;
2572            transition: all .4s ease, opacity .3s ease;
2573            display:inline-block;
2574        }
2575        @media( max-width: 991px ) {
2576            .site-name-text {
2577                margin-left: 27px;
2578                max-height: 7rem;
2579                overflow: hidden;
2580            }
2581            #primary-menu ul li a {
2582                font-size: 16px;
2583            }
2584        }
2585
2586        #header.sticky-header .site-name-text {
2587            font-size: 20px;
2588            position: relative;
2589            top: -20px;
2590        }
2591        /*#header.sticky-header #logo {*/
2592            /*margin-top: 10px;*/
2593        /*}*/
2594
2595        #footer.dark .social-icon.si-borderless {
2596            color: #999999 !important;
2597        }
2598
2599        .blog-image {
2600            width: auto !important;
2601            margin-left:auto;
2602            max-height: 200px;
2603            margin-top: -30px;
2604        }
2605
2606        .margin-bottom-20 {
2607            margin-bottom: 20px;
2608        }
2609
2610        
2611        .about-me-text p {
2612            margin-bottom:20px;
2613        }
2614
2615        .about-me-text td, th {
2616            padding: 10px;
2617        }
2618
2619        .fr-view td, th {
2620            padding: 10px;
2621        }
2622
2623        .logo-image {
2624            display: inline !important;
2625            max-width: 400px !important;
2626            max-height: 100px;
2627        }
2628
2629        ul, ol {
2630                        padding-left: revert;
2631        }
2632
2633        .topmargin-xs {
2634            margin-top: 15px;
2635        }
2636
2637        .modal-inner {
2638            color: #333;
2639            font-weight:300;
2640            margin-bottom:10px;
2641            margin-top:20px;
2642            font-size:18px;
2643        }
2644
2645        .font-weight-normal {
2646            font-weight: normal;
2647        }
2648        .smaller-font {
2649            font-size: 15px;
2650        }
2651
2652        #header.transparent-header.full-header #header-wrap {
2653            border-bottom: none;  /* Remove top line in the theme to clean up display */
2654        }
2655        #header.transparent-header.full-header.dark > #header-wrap:not(.not-dark) {
2656            background: rgba(50,50,50,0.3);
2657        }
2658        #header.transparent-header.full-header.dark:not(.sticky-header) > #header-wrap {
2659            background: rgba(50,50,50,0.9);
2660        }
2661        .dark #logo a {
2662            color: #f0f0f0;
2663        }
2664
2665
2666        .toppadding-sm { padding-top: 20px; }
2667        .bottompadding-sm { padding-bottom: 20px; }
2668
2669
2670
2671        .fr-code { font-weight: normal; } 
2672
2673    @media (max-width: 991px) {
2674        
2675        .fr-video > iframe {
2676            height: auto !important;
2677            min-height: 250px;
2678            margin: 10px 0;
2679        }
2680    }
2681.fr-box.fr-basic .fr-element.fr-view, #page-editor, .landing-page-editable { font-weight:normal;font-style:normal;text-transform:none;}.fr-box.fr-basic .fr-element.fr-view h1, #page-editor h1, .landing-page-editable h1,
2682              .fr-box.fr-basic .fr-element.fr-view h2, #page-editor h2, .landing-page-editable h2,
2683              .fr-box.fr-basic .fr-element.fr-view h3, #page-editor h3, .landing-page-editable h3,
2684              .fr-box.fr-basic .fr-element.fr-view h4, #page-editor h4, .landing-page-editable h4,
2685              .fr-box.fr-basic .fr-element.fr-view h5, #page-editor h5, .landing-page-editable h6,
2686              .fr-box.fr-basic .fr-element.fr-view h6, #page-editor h6, .landing-page-editable h6 { font-weight:normal;font-style:normal;text-transform:none;}
2687                .widget_links li {
2688            display:inline-block;
2689            width:24%;
2690        }
2691        @media (max-width: 991px) {
2692            .widget_links li {
2693                width:32%;
2694            }
2695        }
2696        @media (max-width: 767px) {
2697            .widget_links li {
2698                width:50%;
2699            }
2700        }
2701        @media (max-width: 480px) {
2702            .widget_links li {
2703                width:100%;
2704            }
2705        }
2706        
2707
2708
2709        @media (min-width: 480px) {
2710            .leftpad25-not-mobile {
2711                padding-left:25px;
2712            }
2713        }
2714        @media (max-width: 480px ) {
2715            .site-name-text {
2716                font-size: 24px !important;
2717            }
2718            .logo-image {
2719                display: inline !important;
2720                max-width: 330px !important;
2721                max-height: 100px;
2722            }
2723        }
2724        @media (max-width: 767px) {
2725            .blog-image {
2726                display:block;
2727                width:100%;
2728                max-height: none;
2729                max-width: 100%;
2730            }
2731        }
2732        @media (max-width: 991px) {
2733            /*#logo a.standard-logo { display: inline-block; }*/
2734            .get-started-button-top {
2735                display:none;
2736            }
2737            .get-started-button-bottom {
2738                display: inline-block;
2739            }
2740            #logo .site-name-text {
2741                position: relative;
2742                top: 29px;
2743            }
2744            .blog-image {
2745                margin-right:auto;
2746            }
2747            #contact-message {
2748                min-height:auto;
2749            }
2750            .modal-image-link {
2751                display:block;
2752                margin:0 20px 20px 0;
2753                float:none;
2754            }
2755            .menu-item-overflow {
2756                overflow:hidden;
2757                white-space:nowrap;
2758                text-overflow:ellipsis;
2759            }
2760        }
2761
2762        @media
2763        only screen and (-webkit-min-device-pixel-ratio: 2),
2764        only screen and (   min--moz-device-pixel-ratio: 2),
2765        only screen and (     -o-min-device-pixel-ratio: 2/1),
2766        only screen and (        min-device-pixel-ratio: 2),
2767        only screen and (                min-resolution: 192dpi),
2768        only screen and (                min-resolution: 2dppx) {
2769
2770            #logo a.standard-logo {
2771                display: none;
2772            }
2773
2774            #logo a.retina-logo {
2775                display: inline;
2776            }
2777        }
2778
2779        @media
2780        only screen and (-webkit-min-device-pixel-ratio: 2) and (max-width: 991px),
2781        only screen and (   min--moz-device-pixel-ratio: 2) and (max-width: 991px),
2782        only screen and (     -o-min-device-pixel-ratio: 2/1) and (max-width: 991px),
2783        only screen and (        min-device-pixel-ratio: 2) and (max-width: 991px),
2784        only screen and (                min-resolution: 192dpi) and (max-width: 991px),
2785        only screen and (                min-resolution: 2dppx) and (max-width: 991px) {
2786            /*#logo a.standard-logo { display: none; }
2787            #logo a.retina-logo { display: inline-block; }*/
2788            .get-started-button-top {
2789                display:none;
2790            }
2791            .get-started-button-bottom {
2792                display: inline-block;
2793            }
2794
2795            #logo .site-name-text {
2796                position: relative;
2797                top: 29px;
2798            }
2799            .blog-image {
2800                margin-right:auto;
2801            }
2802        }
2803
2804        @media( min-width: 992px ) {
2805            section {
2806                clear:both;
2807            }
2808        }
2809
2810                /* Icon Fonts */
2811        @font-face {
2812            font-family: 'font-icons';
2813            src:url('/themes/modern-fonts/font-icons.eot');
2814            src:url('/themes/modern-fonts/font-icons.eot') format('embedded-opentype'),
2815            url('https://webcache.attractwell.com/third-party/font-icons/font-icons.woff') format('woff'),
2816            url('https://webcache.attractwell.com/third-party/font-icons/font-icons.ttf') format('truetype'),
2817            url('/themes/modern-fonts/font-icons.svg') format('svg');
2818            font-weight: normal;
2819            font-style: normal;
2820        }
2821
2822        @font-face {
2823            font-family: 'lined-icons';
2824            src:url('/themes/modern-fonts/lined-icons.eot');
2825            src:url('/themes/modern-fonts/lined-icons.eot') format('embedded-opentype'),
2826            url('https://webcache.attractwell.com/third-party/font-icons/lined-icons.woff') format('woff'),
2827            url('https://webcache.attractwell.com/third-party/font-icons/lined-icons.ttf') format('truetype'),
2828            url('/themes/modern-fonts/lined-icons.svg') format('svg');
2829            font-weight: normal;
2830            font-style: normal;
2831        }
2832
2833        @font-face {
2834            font-family: 'Simple-Line-Icons';
2835            src:url('/themes/modern-fonts/Simple-Line-Icons.eot');
2836            src:url('/themes/modern-fonts/Simple-Line-Icons.eot?#iefix') format('embedded-opentype'),
2837            url('https://webcache.attractwell.com/third-party/font-icons/Simple-Line-Icons.woff') format('woff'),
2838            url('https://webcache.attractwell.com/third-party/font-icons/Simple-Line-Icons.ttf') format('truetype'),
2839            url('/themes/modern-fonts/Simple-Line-Icons.svg#Simple-Line-Icons') format('svg');
2840            font-weight: normal;
2841            font-style: normal;
2842        }
2843.clearfix::after {
2844    clear: both;
2845    display: block;
2846    content: "";
2847    height: 0;
2848}
2849.hide-by-clipping {
2850    position: absolute;
2851    width: 1px;
2852    height: 1px;
2853    padding: 0;
2854    margin: -1px;
2855    overflow: hidden;
2856    clip: rect(0, 0, 0, 0);
2857    border: 0;
2858}
2859img.fr-rounded,
2860.fr-img-caption.fr-rounded img {
2861    border-radius: 10px;
2862    -moz-border-radius: 10px;
2863    -webkit-border-radius: 10px;
2864    -moz-background-clip: padding;
2865    -webkit-background-clip: padding-box;
2866    background-clip: padding-box;
2867}
2868img.fr-bordered,
2869.fr-img-caption.fr-bordered img {
2870    border: solid 5px #CCC;
2871}
2872img.fr-bordered {
2873    -webkit-box-sizing: content-box;
2874    -moz-box-sizing: content-box;
2875    box-sizing: content-box;
2876}
2877.fr-img-caption.fr-bordered img {
2878    -webkit-box-sizing: border-box;
2879    -moz-box-sizing: border-box;
2880    box-sizing: border-box;
2881}
2882img.fr-shadow,
2883.fr-img-caption.fr-shadow img {
2884    -webkit-box-shadow: 10px 10px 5px 0px #cccccc;
2885    -moz-box-shadow: 10px 10px 5px 0px #cccccc;
2886    box-shadow: 10px 10px 5px 0px #cccccc;
2887}
2888.fr-view span[style~="color:"] a {
2889    color: inherit;
2890}
2891.fr-view strong {
2892    font-weight: 700;
2893}
2894.fr-view table {
2895    border: none;
2896    border-collapse: collapse;
2897    empty-cells: show;
2898    max-width: 100%;
2899    table-layout: fixed;
2900}
2901.fr-view table td {
2902    min-width: 5px;
2903}
2904.fr-view table.fr-dashed-borders td,
2905.fr-view table.fr-dashed-borders th {
2906    border-style: dashed;
2907}
2908.fr-view table.fr-alternate-rows tbody tr:nth-child(2n) {
2909    background: #f5f5f5;
2910}
2911.fr-view table td,
2912.fr-view table th,
2913.member-area .fr-view table td,
2914.member-area .fr-view table th {
2915    border: 0;
2916}
2917.back-office-menu-layout-grid-content .fr-view table td,
2918.back-office-menu-layout-grid-content .fr-view table th {
2919    border: 1px solid #dddddd;
2920}
2921.fr-view table td:empty,
2922.fr-view table th:empty {
2923    height: 20px;
2924}
2925.fr-view table td.fr-highlighted,
2926.fr-view table th.fr-highlighted {
2927    border: 1px double red;
2928}
2929.fr-view table td.fr-thick,
2930.fr-view table th.fr-thick {
2931    border-width: 2px;
2932}
2933.fr-view table th {
2934    background: #e6e6e6;
2935}
2936.fr-view hr {
2937    clear: both;
2938    user-select: none;
2939    -o-user-select: none;
2940    -moz-user-select: none;
2941    -khtml-user-select: none;
2942    -webkit-user-select: none;
2943    -ms-user-select: none;
2944    page-break-after: always;
2945    border-top: 2px solid #bbb;
2946}
2947.fr-view .fr-file {
2948    position: relative;
2949}
2950/* paperclip icon after inserting file
2951.fr-view .fr-file::after {
2952    position: relative;
2953    content: "\1F4CE";
2954    font-weight: normal;
2955}
2956*/
2957.fr-view pre {
2958    white-space: pre-wrap;
2959    word-wrap: break-word;
2960    overflow: visible;
2961}
2962.fr-view[dir="rtl"] blockquote {
2963    border-left: none;
2964    border-right: solid 2px #5e35b1;
2965    margin-right: 0;
2966    padding-right: 5px;
2967    padding-left: 0px;
2968}
2969.fr-view[dir="rtl"] blockquote blockquote {
2970    border-color: #00bcd4;
2971}
2972.fr-view[dir="rtl"] blockquote blockquote blockquote {
2973    border-color: #43a047;
2974}
2975.fr-view blockquote {
2976    border-left: solid 2px currentColor;
2977    margin-left: 0;
2978    padding-left: 15px;
2979    color: inherit;
2980}
2981.fr-view blockquote blockquote {
2982    border-color: inherit;
2983    color: inherit;
2984}
2985.fr-view blockquote blockquote blockquote {
2986    border-color: inherit;
2987    color: inherit;
2988}
2989.fr-view span.fr-emoticon {
2990    font-weight: normal;
2991    font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols";
2992    display: inline;
2993    line-height: 0;
2994}
2995.fr-view span.fr-emoticon.fr-emoticon-img {
2996    background-repeat: no-repeat !important;
2997    font-size: inherit;
2998    height: 1em;
2999    width: 1em;
3000    min-height: 20px;
3001    min-width: 20px;
3002    display: inline-block;
3003    margin: -0.1em 0.1em 0.1em;
3004    line-height: 1;
3005    vertical-align: middle;
3006}
3007.fr-view .fr-text-gray {
3008    color: #AAA !important;
3009}
3010.fr-view .fr-text-bordered {
3011    border-top: solid 1px #222;
3012    border-bottom: solid 1px #222;
3013    padding: 10px 0;
3014}
3015.fr-view .fr-text-spaced {
3016    letter-spacing: 1px;
3017}
3018.fr-view .fr-text-uppercase {
3019    text-transform: uppercase;
3020}
3021.fr-view img {
3022    position: relative;
3023    max-width: 100%;
3024}
3025.fr-view img.fr-dib {
3026    margin: 5px auto;
3027    display: block;
3028    float: none;
3029    vertical-align: top;
3030}
3031.fr-view img.fr-dib.fr-fil {
3032    margin-left: 0;
3033    text-align: left;
3034}
3035.fr-view img.fr-dib.fr-fir {
3036    margin-right: 0;
3037    text-align: right;
3038}
3039.fr-view img.fr-dii {
3040    display: inline-block;
3041    float: none;
3042    vertical-align: bottom;
3043    margin-left: 5px;
3044    margin-right: 5px;
3045    max-width: calc(100% - (2 * 5px));
3046}
3047.fr-view img.fr-dii.fr-fil {
3048    float: left;
3049    margin: 5px 20px 20px 0;
3050    max-width: calc(100% - 5px);
3051}
3052.fr-view img.fr-dii.fr-fir {
3053    float: right;
3054    margin: 5px 0 20px 20px;
3055    max-width: calc(100% - 5px);
3056}
3057.fr-view span.fr-img-caption {
3058    position: relative;
3059    max-width: 100%;
3060}
3061.fr-view span.fr-img-caption.fr-dib {
3062    margin: 5px auto;
3063    display: block;
3064    float: none;
3065    vertical-align: top;
3066}
3067.fr-view span.fr-img-caption.fr-dib.fr-fil {
3068    margin-left: 0;
3069    text-align: left;
3070}
3071.fr-view span.fr-img-caption.fr-dib.fr-fir {
3072    margin-right: 0;
3073    text-align: right;
3074}
3075.fr-view span.fr-img-caption.fr-dii {
3076    display: inline-block;
3077    float: none;
3078    vertical-align: bottom;
3079    margin-left: 5px;
3080    margin-right: 5px;
3081    max-width: calc(100% - (2 * 5px));
3082}
3083.fr-view span.fr-img-caption.fr-dii.fr-fil {
3084    float: left;
3085    margin: 5px 5px 5px 0;
3086    max-width: calc(100% - 5px);
3087}
3088.fr-view span.fr-img-caption.fr-dii.fr-fir {
3089    float: right;
3090    margin: 5px 0 5px 5px;
3091    max-width: calc(100% - 5px);
3092}
3093.fr-view .fr-video {
3094    text-align: center;
3095    position: relative;
3096}
3097.fr-view .fr-video > * {
3098    -webkit-box-sizing: content-box;
3099    -moz-box-sizing: content-box;
3100    box-sizing: content-box;
3101    max-width: 100%;
3102    border: none;
3103}
3104.fr-view .fr-video.fr-dvb {
3105    display: block;
3106    clear: both;
3107}
3108.fr-view .fr-video.fr-dvb.fr-fvl {
3109    text-align: left;
3110}
3111.fr-view .fr-video.fr-dvb.fr-fvr {
3112    text-align: right;
3113}
3114.fr-view .fr-video.fr-dvi {
3115    display: inline-block;
3116}
3117.fr-view .fr-video.fr-dvi.fr-fvl {
3118    float: left;
3119}
3120.fr-view .fr-video.fr-dvi.fr-fvr {
3121    float: right;
3122}
3123.fr-view a.fr-strong {
3124    font-weight: 700;
3125}
3126.fr-view a.fr-green {
3127    color: green;
3128}
3129.fr-view .fr-img-caption {
3130    text-align: center;
3131}
3132.fr-view .fr-img-caption .fr-img-wrap {
3133    padding: 0px;
3134    display: inline-block;
3135    margin: auto;
3136    text-align: center;
3137    width: 100%;
3138}
3139.fr-view .fr-img-caption .fr-img-wrap img {
3140    display: block;
3141    margin: auto;
3142    width: 100%;
3143}
3144.fr-view .fr-img-caption .fr-img-wrap > span {
3145    margin: auto;
3146    display: block;
3147    padding: 5px 5px 10px;
3148    font-size: 14px;
3149    font-weight: initial;
3150    -webkit-box-sizing: border-box;
3151    -moz-box-sizing: border-box;
3152    box-sizing: border-box;
3153    -webkit-opacity: 0.9;
3154    -moz-opacity: 0.9;
3155    opacity: 0.9;
3156    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
3157    width: 100%;
3158    text-align: center;
3159}
3160.fr-view button.fr-rounded,
3161.fr-view input.fr-rounded,
3162.fr-view textarea.fr-rounded {
3163    border-radius: 1px;
3164    -moz-border-radius: 1px;
3165    -webkit-border-radius: 1px;
3166    -moz-background-clip: padding;
3167    -webkit-background-clip: padding-box;
3168    background-clip: padding-box;
3169}
3170.fr-view button.fr-large,
3171.fr-view input.fr-large,
3172.fr-view textarea.fr-large {
3173    font-size: 24px;
3174}
3175/**
3176 * Image style.
3177 */
3178a.fr-view.fr-strong {
3179    font-weight: 700;
3180}
3181a.fr-view.fr-green {
3182    color: green;
3183}
3184/**
3185 * Link style.
3186 */
3187img.fr-view {
3188    position: relative;
3189    max-width: 100%;
3190}
3191img.fr-view.fr-dib {
3192    margin: 5px auto;
3193    display: block;
3194    float: none;
3195    vertical-align: top;
3196}
3197img.fr-view.fr-dib.fr-fil {
3198    margin-left: 0;
3199    text-align: left;
3200}
3201img.fr-view.fr-dib.fr-fir {
3202    margin-right: 0;
3203    text-align: right;
3204}
3205img.fr-view.fr-dii {
3206    display: inline-block;
3207    float: none;
3208    vertical-align: bottom;
3209    margin-left: 5px;
3210    margin-right: 5px;
3211    max-width: calc(100% - (2 * 5px));
3212}
3213img.fr-view.fr-dii.fr-fil {
3214    float: left;
3215    margin: 5px 5px 5px 0;
3216    max-width: calc(100% - 5px);
3217}
3218img.fr-view.fr-dii.fr-fir {
3219    float: right;
3220    margin: 5px 0 5px 5px;
3221    max-width: calc(100% - 5px);
3222}
3223span.fr-img-caption.fr-view {
3224    position: relative;
3225    max-width: 100%;
3226}
3227span.fr-img-caption.fr-view.fr-dib {
3228    margin: 5px auto;
3229    display: block;
3230    float: none;
3231    vertical-align: top;
3232}
3233span.fr-img-caption.fr-view.fr-dib.fr-fil {
3234    margin-left: 0;
3235    text-align: left;
3236}
3237span.fr-img-caption.fr-view.fr-dib.fr-fir {
3238    margin-right: 0;
3239    text-align: right;
3240}
3241span.fr-img-caption.fr-view.fr-dii {
3242    display: inline-block;
3243    float: none;
3244    vertical-align: bottom;
3245    margin-left: 5px;
3246    margin-right: 5px;
3247    max-width: calc(100% - (2 * 5px));
3248}
3249span.fr-img-caption.fr-view.fr-dii.fr-fil {
3250    float: left;
3251    margin: 5px 5px 5px 0;
3252    max-width: calc(100% - 5px);
3253}
3254span.fr-img-caption.fr-view.fr-dii.fr-fir {
3255    float: right;
3256    margin: 5px 0 5px 5px;
3257    max-width: calc(100% - 5px);
3258}
3259
3260/* Shrink the Froala line breaker floating button to prevent overlap on small images */
3261.fr-line-breaker .fr-floating-btn {
3262    transform: scale(0.7) !important;
3263    transform-origin: center !important;
3264}
3265
3266/* Optional: Add hover effect if you want it to scale up full size on hover */
3267.fr-line-breaker:hover .fr-floating-btn {
3268    transform: scale(1) !important;
3269    transition: transform 0.1s ease;
3270}
3271
3272                [data-animate]:not(.animated) {
3273            opacity: 0;
3274        }
3275    </style>
3276    <link rel="stylesheet" href="https://attractwell.com/site-assets/themes/attractwell/css/font-icons.css" type="text/css" />
3277
3278    <link rel="canonical" href="https://brooksdemming.com/store" />
3279
3280</head>
3281
3282<body class="stretched no-transition">
3283
3284
3285
3286
3287<!-- Document Wrapper
3288============================================= -->
3289<div id="wrapper" class="clearfix">
3290
3291        <!-- Header
3292    ============================================= -->
3293        <header id="header" class="transparent-header full-header" data-sticky-class="not-dark">
3294
3295        <div id="header-wrap">
3296
3297            <div class="container clearfix">
3298
3299                <div id="primary-menu-trigger"><i class="icon-reorder"></i></div>
3300
3301                <!-- Logo
3302                ============================================= -->
3303                <div id="logo">
3304                    <a href="/" class="standard-logo" data-dark-logo="https://attractwell-2052-fast.b-cdn.net/images/2052/6a4e60c8f41dc.png">
3305                                                    <img src="https://attractwell-2052-fast.b-cdn.net/images/2052/6a4e60c8f41dc.png" alt="Brooks Demming" class="logo-image" fetchpriority="high">
3306                                            </a>
3307                    <a href="/" class="retina-logo"   data-dark-logo="https://attractwell-2052-fast.b-cdn.net/images/2052/6a4e60c8f41dc.png">
3308                                                    <img src="https://attractwell-2052-fast.b-cdn.net/images/2052/6a4e60c8f41dc.png" alt="Brooks Demming" class="logo-image" fetchpriority="high">
3309                                            </a>
3310                </div><!-- #logo end -->
3311
3312
3313
3314                <!-- Primary Navigation
3315                ============================================= -->
3316                <nav id="primary-menu" xclass="dark">
3317
3318
3319                    <ul style="touch-action: pan-y;border-right: 0;margin-right: 0;padding-right: 0;">
3320                        <style>
3321    @media (min-width:992px) {
3322        .top-menu-pulldown-menu-container {
3323            overflow: auto;
3324            max-height: calc(100vh - 100px);
3325        }
3326    }
3327</style>
3328
3329<li class="sub-menu"><span class="hidden-md hidden-lg" style="display:inline-block;float:right;background-image:none;"><i class="icon-chevron-down" style="line-height: normal;padding:12px 19px 12px 12px;position:relative;top:-8px;"></i></span>
3329<a class="sub-menu-header-link" href="#" style="background-image:none;">Work With Me </a><ul style="display: none;" class="top-menu-pulldown-menu-container"><li class="sf-with-ul"><a href="https://brooksdemming.com/store/collections/consulting">Services</a></li><li class="sf-with-ul"><a href="https://brooksdemming.com/page/request-to-book-dr-brooks">Request to Book Dr. Brooks </a></li></ul><li class="sub-menu"><span class="hidden-md hidden-lg" style="display:inline-block;float:right;background-image:none;"><i class="icon-chevron-down" style="line-height: normal;padding:12px 19px 12px 12px;position:relative;top:-8px;"></i></span><a class="sub-menu-header-link" href="#" style="background-image:none;">Blog &amp; Podcast</a><ul style="display: none;" class="top-menu-pulldown-menu-container"><li class="sf-with-ul"><a href="https://brooksdemming.com/blog/harnessing-vroom-s-expectancy-theory-to-empower-and-motivate-employees-insights-for-organizational">Strategy Corner Blog </a></li><li class="sf-with-ul"><a href="https://off-balancepodcast.com/">Off-Balance Podcast</a></li></ul><li class="sub-menu"><span class="hidden-md hidden-lg" style="display:inline-block;float:right;background-image:none;"><i class="icon-chevron-down" style="line-height: normal;padding:12px 19px 12px 12px;position:relative;top:-8px;"></i></span><a class="sub-menu-header-link" href="#" style="background-image:none;">Training Hub </a><ul style="display: none;" class="top-menu-pulldown-menu-container"><li class="sf-with-ul"><a href="https://brooksdemming.com/page/webinars">Webinars</a></li><li class="sf-with-ul"><a href="https://brooksdemming.com/page/courses">Courses</a></li></ul><li><a class="sub-menu-header-link" href="https://g.page/r/CQ5Ux8BbGvO3EBM/review" style="background-image:none;">Leave a Review </a><li class="sub-menu"><span class="hidden-md hidden-lg" style="display:inline-block;float:right;background-image:none;"><i class="icon-chevron-down" style="line-height: normal;padding:12px 19px 12px 12px;position:relative;top:-8px;"></i></span><a class="sub-menu-header-link" href="https://brooksdemming.com/members" target="_blank" style="background-image:none;">Client Portal </a><ul style="display: none;" class="top-menu-pulldown-menu-container"><li class="sf-with-ul"><a href="https://brooksdemming.com/page/legal">Terms of Use</a></li><li class="sf-with-ul"><a href="https://brooksdemming.com/page/a2p-contact-me">A2P Contact Me</a></li></ul><li class="sub-menu"><span class="hidden-md hidden-lg" style="display:inline-block;float:right;background-image:none;"><i class="icon-chevron-down" style="line-height: normal;padding:12px 19px 12px 12px;position:relative;top:-8px;"></i></span><a class="sub-menu-header-link" href="https://brooksdemming.com/page/frequently-asked-questions" style="background-image:none;">FAQs</a><ul style="display: none;" class="top-menu-pulldown-menu-container"><li class="sf-with-ul"><a href="/store/gpt/leadership-professional-development-guide">Chat with Me </a></li></ul></li>
3329<script>
3330    $(function() {
3331        $('a.sub-menu-header-link').click( function() {
3332            if( $(this)[0].getAttribute('target') === '_blank' )
3333                return;
3334
3335            if( $(this)[0].href.endsWith('#') === false )
3336                location.href = $(this)[0].href;
3337        });
3338    });
3339</script>
3339
3340                    </ul>
3341                    
3342                </nav><!-- #primary-menu end -->
3343
3344            </div>
3345
3346        </div>
3347
3348    </header><!-- #header end -->
3349        
3350    <main role="main">
3351
3352    <style>
3353    @media print {
3354        #header, .no-print {
3355            display: none !important;
3356        }
3357        #header a[href]:after, .no-print {
3358            content: none !important;
3359        }
3360    }
3361    .inline-block {
3362        display: inline-block;
3363    }
3364    @media (min-width:992px) {
3365        .inline-block-desktop {
3366            display: inline-block;
3367        }
3368    }
3369    a.dark-link {
3370        color: #91684b;
3371    }
3372    a.dark-link:hover {
3373        color: #ba8561;
3374    }
3375    .button-white { background: #f0f0f0; }
3376    .table.no-table-striping > thead > tr > th,
3377    .table.no-table-striping > tbody > tr > th,
3378    .table.no-table-striping > tfoot > tr > th,
3379    .table.no-table-striping > thead > tr > td,
3380    .table.no-table-striping > tbody > tr > td,
3381    .table.no-table-striping > tfoot > tr > td {
3382        border-top: 1px solid transparent;
3383    }
3384    .list-title-link {
3385        font-size: 20px;
3386        font-weight: bold;
3387        color: #91684b;
3388        word-break: break-word;
3389    }
3390    .list-item-section {
3391        /*background-image: linear-gradient( to bottom right, #f3f3f3, #f7f7f7 );*/
3392        /*padding: 30px 40px 10px 40px;*/
3393        /*border-radius: 10px;*/
3394        /*box-shadow: 1px 1px 1px rgba(0,0,0,0.09);*/
3395        margin-bottom: 20px;
3396    }
3397    /* Creates a grid of rows within a list-item-section class, for normal density content */
3398    @media (min-width:1200px) {
3399        .list-item-section-grid {
3400            display: grid;
3401            grid-template-columns: repeat( 2, minmax(0, 1fr) );
3402            column-gap: 6rem;
3403            row-gap: 0rem;
3404        }
3405    }
3406    @media (min-width:2000px) {
3407        .list-item-section-grid {
3408            display: grid;
3409            grid-template-columns: repeat( 3, minmax(0, 1fr) );
3410            column-gap: 6rem;
3411            row-gap: 0rem;
3412        }
3413    }
3414    @media (min-width:2500px) {
3415        .list-item-section-grid {
3416            display: grid;
3417            grid-template-columns: repeat( 4, minmax(0, 1fr) );
3418            column-gap: 6rem;
3419            row-gap: 0rem;
3420        }
3421    }
3422    @media (min-width:3000px) {
3423        .list-item-section-grid {
3424            display: grid;
3425            grid-template-columns: repeat( 5, minmax(0, 1fr) );
3426            column-gap: 6rem;
3427            row-gap: 0rem;
3428        }
3429    }
3430
3431    /* Creates a grid of rows within a list-item-section class, for high density content that needs more space */
3432    @media (min-width:1500px) {
3433        .list-item-section-grid-large {
3434            display: grid;
3435            grid-template-columns: repeat( 2, minmax(0, 1fr) );
3436            column-gap: 6rem;
3437            row-gap: 0rem;
3438        }
3439    }
3440    @media (min-width:2300px) {
3441        .list-item-section-grid-large {
3442            display: grid;
3443            grid-template-columns: repeat( 3, minmax(0, 1fr) );
3444            column-gap: 6rem;
3445            row-gap: 0rem;
3446        }
3447    }
3448    @media (min-width:2800px) {
3449        .list-item-section-grid-large {
3450            display: grid;
3451            grid-template-columns: repeat( 4, minmax(0, 1fr) );
3452            column-gap: 6rem;
3453            row-gap: 0rem;
3454        }
3455    }
3456    @media (min-width:3300px) {
3457        .list-item-section-grid-large {
3458            display: grid;
3459            grid-template-columns: repeat( 5, minmax(0, 1fr) );
3460            column-gap: 6rem;
3461            row-gap: 0rem;
3462        }
3463    }
3464    /* Card-style containers — share the same softer border, modern radius, and
3465       subtle hover treatment as the redesigned .form-control / wizard panels. */
3466    .list-item-row {
3467        padding-bottom:15px;
3468        padding-top:15px;
3469        border: 1px solid #e2e3e7;
3470        border-radius: 22px;
3471        background: #ffffff;
3472        margin-bottom: 30px;
3473        box-shadow: var(--panel-box-shadow);
3474        transition: border-color 0.15s, background 0.15s;
3475    }
3476    .list-item-row.list-item-row-hover:hover {
3477        border-color: #c2c5cc;
3478        background: #f7f7f5;
3479    }
3480    .list-item-row a.button-large {
3481        padding: 10px;
3482        height:auto;
3483        line-height: 22px;
3484        text-transform: none;
3485        letter-spacing: 0.2px;
3486        margin: 0 0 5px 0;
3487    }
3488    .settings-group {
3489        background: #ffffff;
3490        padding: 20px;
3491        border: 1px solid #e2e3e7;
3492        border-radius: 12px;
3493        box-shadow: var(--panel-box-shadow);
3494    }
3495    .settings-group-no-shadow {
3496        background: #ffffff;
3497        padding: 20px;
3498        border: 1px solid #e2e3e7;
3499        border-radius: 12px;
3500    }
3501    body.dark-mode:not(.no-dark-mode) .list-item-row,
3502    body.dark-mode:not(.no-dark-mode) .settings-group,
3503    body.dark-mode:not(.no-dark-mode) .settings-group-no-shadow {
3504        background: var(--dark-background-color);
3505        border-color: #444;
3506        color: var(--dark-mode-default-text-color);
3507    }
3508    body.dark-mode:not(.no-dark-mode) .list-item-row.list-item-row-hover:hover {
3509        border-color: #5a5a5a;
3510        background: #2c2c2c;
3511    }
3512    .on-page-search-box {
3513        width:15em;
3514        display:inline-block;
3515        font-size:16px;
3516        border-radius: 8px 0 0 8px;
3517        height: 34px;
3518    }
3519    .text-right-desktop {
3520        text-align: right;
3521    }
3522    .pull-right-desktop {
3523        float:right;
3524    }
3525    .div-block {
3526        display: block;
3527    }
3528    .button-panel {
3529        margin:1rem 0 0 0;
3530        font-size:16px;
3531    }
3532    .button-panel a+a {
3533        margin-left: 10px;
3534    }
3535    .action-button-panel a {
3536        text-align: center;
3537        display: block;
3538    }
3539    .action-button-panel a+a {
3540        margin-top: 1rem;
3541    }
3542    .text-bold {
3543        font-weight: bold;
3544    }
3545    .break-radio-items, .break-breadcrumb-nav {
3546        display: inline-block;
3547    }
3548    .link-path {
3549        display: inline-block;
3550        position:relative;
3551        top:-3px;
3552    }
3553    .list-details-panel {
3554        margin-top: 10px;
3555    }
3556    @media (max-width: 991px) {
3557        .text-bold-mobile {
3558            font-weight: bold;
3559        }
3560        .link-path {
3561            display: block;
3562            top: 0;
3563        }
3564        .break-radio-items {
3565            display: block;
3566        }
3567        .font-16-mobile {
3568            font-size: 16px;
3569        }
3570        .font-20-mobile {
3571            font-size: 20px;
3572        }
3573        .list-item-section {
3574            /*background: #f7f7f7;*/
3575            width: 100vw;
3576            position: relative;
3577            left: 50%;
3578            right: 50%;
3579            margin-left: -50vw;
3580            margin-right: -50vw;
3581            padding: 20px 25px;
3582            border-radius: 0;
3583            box-shadow: none;
3584        }
3585        .list-item-row .btn-block {
3586            margin: 10px 0;
3587        }
3588        .list-title-link {
3589            font-size: 24px;
3590        }
3591        .on-page-search-box {
3592            display: inline-block;
3593        }
3594        .text-right-desktop {
3595            text-align: unset;
3596        }
3597        .text-center-mobile {
3598            text-align: center;
3599        }
3600        .pull-right-desktop {
3601            float:none;
3602        }
3603        .button-panel {
3604            font-size:18px;
3605            margin: 2rem 0 1rem 0;
3606        }
3607        .btn-block-mobile {
3608            display: block;
3609            width: 100%;
3610            margin: 0 0 10px 0;
3611            float: none !important;
3612        }
3613        .btn-block-mobile-margin-fix {
3614            margin-left: 0;
3615            margin-right: 0;
3616        }
3617        .topmargin-mobile {
3618            margin-top: 50px !important;
3619        }
3620        .mobile-label {
3621            display: inline;
3622        }
3623        .bottommargin-sm-mobile {
3624            margin-bottom: 30px;
3625        }
3626        .tab-bar-mobile {
3627            text-align: center;
3628            font-size:20px;
3629            line-height: 200%;
3630        }
3631        .list-details-panel a {
3632            padding-top: 10px;
3633            font-size: 18px;
3634            display: block;
3635        }
3636        .nomargin-mobile {
3637            margin: 0;
3638        }
3639    }
3640    @media (min-width: 992px) {
3641        .bottommargin-desktop {
3642            margin-bottom: 50px;
3643        }
3644    }
3645    kbd a {
3646        color: #F0F0F0;
3647    }
3648    kbd a:hover:not(.button) {
3649        color: #D0D0D0;
3650    }
3651</style><style>
3652    .tooltip.top .tooltip-arrow {
3653        border-top-color: #333333;
3654    }
3655    .tooltip.left .tooltip-arrow {
3656        border-left-color: #333333;
3657    }
3658    .tooltip.right .tooltip-arrow {
3659        border-right-color: #333333;
3660    }
3661    .tooltip.bottom .tooltip-arrow {
3662        border-bottom-color: #333333;
3663    }
3664    .tooltip-inner {
3665        background-color: #333333;
3666        border-radius: 2px;
3667        color: #eeeeee;
3668        font-size: 13px;
3669    }
3670</style>
3670<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
3670
3671<style>
3672    .swal2-container {
3673        z-index: 9999;
3674    }
3675    .swal2-container label {
3676        font-size: 1.8rem;
3677    }
3678    @media (max-width:991px) {
3679        .swal2-container .mobile-width-max {
3680            max-width: 90%;
3681        }
3682    }
3683    .swal2-styled, .swal2-html-container {
3684        font-size: 1.6rem;
3685    }
3686        .swal2-html-container:has(.voice-button-wrapper) {
3687        overflow: visible;
3688        z-index: 2;
3689    }
3690
3691    /* Buttons — align with the app's built-in .button styles. Confirm uses the
3692       product config's primary button color (with its dedicated hover color);
3693       deny / cancel use the secondary / danger colors and darken on hover via
3694       a filter. Modern radius, no text-shadow, smooth transition. */
3695    .swal2-cancel, .swal2-confirm, .swal2-deny {
3696        padding: 10px 22px;
3697        border-radius: 999px;
3698        color: #fff;
3699        font-weight: 600;
3700        letter-spacing: normal;
3701        text-shadow: none;
3702        font-size: 1.6rem;
3703        line-height: 2.2rem;
3704        border: 0;
3705        transition: background-color 0.15s, filter 0.15s, box-shadow 0.15s;
3706    }
3707    .swal2-confirm {
3708        background-color: #eeaa7b;
3709        order: 2;
3710    }
3711    .swal2-confirm:hover, .swal2-confirm:focus {
3712        background-color: #ffb885;
3713    }
3714    .swal2-deny {
3715        background-color: #66b9bf;
3716    }
3717    .swal2-cancel {
3718        background-color: #C02942;
3719    }
3720    .swal2-deny:hover, .swal2-deny:focus,
3721    .swal2-cancel:hover, .swal2-cancel:focus {
3722        filter: brightness(0.92);
3723    }
3724    .swal2-cancel:focus, .swal2-confirm:focus, .swal2-deny:focus {
3725        outline: none;
3726        box-shadow: 0 0 0 3px rgba(63, 138, 82, 0.25);
3727    }
3728
3729    /* Inputs / selects / textareas — match the redesigned .form-control style:
3730       softer 1px border, 8px radius, modest padding, green focus ring. */
3731    .swal2-input, .swal2-validation-message, div:is(.swal2-container) .swal2-select, .swal2-radio {
3732        font-size: 1.8rem;
3733    }
3734    .swal2-input,
3735    .swal2-textarea,
3736    div:is(.swal2-container) .swal2-select,
3737    select.swal2-input,
3738    .swal2-input[type=text],
3739    .swal2-input[type=number],
3740    .swal2-input[type=email],
3741    .swal2-input[type=password],
3742    .swal2-input[type=url] {
3743        box-shadow: none;
3744        border: 1px solid #e2e3e7;
3745        border-radius: 999px;
3746        padding: 10px 12px;
3747        background: #ffffff;
3748        color: #1f2024;
3749        transition: border-color 0.15s, box-shadow 0.15s;
3750    }
3751    .swal2-input:hover,
3752    .swal2-textarea:hover,
3753    div:is(.swal2-container) .swal2-select:hover,
3754    select.swal2-input:hover {
3755        border-color: #c2c5cc;
3756    }
3757    .swal2-input:focus,
3758    .swal2-textarea:focus,
3759    div:is(.swal2-container) .swal2-select:focus,
3760    select.swal2-input:focus {
3761        outline: none;
3762        border-color: #3f8a52;
3763        box-shadow: 0 0 0 3px #ecf6ee;
3764    }
3765    .swal2-input::placeholder,
3766    .swal2-textarea::placeholder {
3767        color: #8a8e98;
3768    }
3769    .swal2-input[type=number] {
3770        text-align: right;
3771    }
3772    .swal2-input[type=number]::-webkit-inner-spin-button {
3773        margin-left: 7px;
3774    }
3775    div:is(.swal2-container) .swal2-radio, div:is(.swal2-container) .swal2-checkbox, .swal2-radio > label {
3776        display:block;
3777        text-transform:none;
3778    }
3779    div:is(.swal2-container) .swal2-radio label, div:is(.swal2-container) .swal2-checkbox label {
3780        margin-bottom: inherit;
3781    }
3782
3783        body.dark-mode:not(.no-dark-mode) .swal2-popup {
3784        background-color: #2a2a2a;
3785        color: #e5e5e5;
3786    }
3787    body.dark-mode:not(.no-dark-mode) .swal2-title,
3788    body.dark-mode:not(.no-dark-mode) .swal2-html-container,
3789    body.dark-mode:not(.no-dark-mode) .swal2-html-container strong,
3790    body.dark-mode:not(.no-dark-mode) .swal2-html-container b,
3791    body.dark-mode:not(.no-dark-mode) .swal2-html-container p,
3792    body.dark-mode:not(.no-dark-mode) .swal2-html-container label,
3793    body.dark-mode:not(.no-dark-mode) .swal2-radio label,
3794    body.dark-mode:not(.no-dark-mode) .swal2-checkbox label {
3795        color: #e5e5e5;
3796    }
3797    body.dark-mode:not(.no-dark-mode) .swal2-html-container a {
3798        color: #7ab8ff;
3799    }
3800    body.dark-mode:not(.no-dark-mode) .swal2-input,
3801    body.dark-mode:not(.no-dark-mode) .swal2-textarea,
3802    body.dark-mode:not(.no-dark-mode) div:is(.swal2-container) .swal2-select,
3803    body.dark-mode:not(.no-dark-mode) select.swal2-input,
3804    body.dark-mode:not(.no-dark-mode) .swal2-input[type=text],
3805    body.dark-mode:not(.no-dark-mode) .swal2-input[type=number],
3806    body.dark-mode:not(.no-dark-mode) .swal2-input[type=email],
3807    body.dark-mode:not(.no-dark-mode) .swal2-input[type=password],
3808    body.dark-mode:not(.no-dark-mode) .swal2-input[type=url] {
3809        background: var(--dark-background-color);
3810        color: var(--dark-mode-default-text-color);
3811        border-color: #444;
3812    }
3813    body.dark-mode:not(.no-dark-mode) .swal2-input:hover,
3814    body.dark-mode:not(.no-dark-mode) .swal2-textarea:hover,
3815    body.dark-mode:not(.no-dark-mode) div:is(.swal2-container) .swal2-select:hover,
3816    body.dark-mode:not(.no-dark-mode) select.swal2-input:hover {
3817        border-color: #5a5a5a;
3818    }
3819    body.dark-mode:not(.no-dark-mode) .swal2-input:focus,
3820    body.dark-mode:not(.no-dark-mode) .swal2-textarea:focus,
3821    body.dark-mode:not(.no-dark-mode) div:is(.swal2-container) .swal2-select:focus,
3822    body.dark-mode:not(.no-dark-mode) select.swal2-input:focus {
3823        border-color: #6fb37e;
3824        box-shadow: 0 0 0 3px rgba(63, 138, 82, 0.25);
3825    }
3826    body.dark-mode:not(.no-dark-mode) .swal2-input::placeholder,
3827    body.dark-mode:not(.no-dark-mode) .swal2-textarea::placeholder {
3828        color: #888;
3829    }
3830    body.dark-mode:not(.no-dark-mode) .swal2-validation-message {
3831        background: #3a3a3a;
3832        color: #e5e5e5;
3833    }
3834    body.dark-mode:not(.no-dark-mode) .swal2-footer {
3835        border-top-color: #555;
3836        color: #e5e5e5;
3837    }
3838</style>
3839<style>
3840    :root {
3841        --spacing-025: 0.25rem;
3842        --spacing-05: 0.5rem;
3843        --spacing-1: 1rem;
3844        --spacing-15: 1.5rem;
3845        --spacing-2: 2rem;
3846        --spacing-25: 2.5rem;
3847        --spacing-3: 3rem;
3848        --spacing-35: 3.5rem;
3849        --spacing-4: 4rem;
3850        --spacing-45: 4.5rem;
3851        --spacing-5: 5rem;
3852    }
3853        .aw-accordion details {
3854        --background-color-closed: #ccc;
3855        --background-color-open: #b4b4b4;
3856        --background-color-content: #f0f0f0;
3857        overflow: hidden;
3858        margin: 0;
3859
3860        > summary {
3861            background: var(--background-color-closed);
3862            padding: 0.5em;
3863            cursor: pointer;
3864            border-radius: 2px;
3865
3866            transition: background 0.25s ease, color 0.25s ease;
3867
3868            &:hover {
3869                filter: brightness( 1.1 );
3870            }
3871            margin-top: 5px;
3872            position: relative;
3873            top: -1px;
3874        }
3875        > summary::marker {
3876            content: '';
3877        }
3878        > summary::-webkit-details-marker {
3879            display: none;
3880        }
3881        > p, > div, > ul, > ol {
3882            background-color: var(--background-color-content);
3883            margin: 0;
3884        }
3885
3886        &[open] {
3887            > summary {
3888                background: var(--background-color-open);
3889            }
3890        }
3891        &[open] > summary:before {
3892            transform: rotate(45deg);
3893        }
3894        > summary:before {
3895            content: '+';
3896            display: inline-block;
3897            margin: 0 0.5em 0 0.25em;
3898            font-size: 20px;
3899            transition: transform 0.25s ease;
3900        }
3901
3902        > *:not(summary) {
3903            padding: 1em;
3904        }
3905    }
3906
3907    :not(details) + details,
3908    details:first-child summary {
3909        border-top-left-radius: 5px;
3910        border-top-right-radius: 5px;
3911    }
3912    details:not(details:has(+ details)):last-child summary {
3913        border-bottom-left-radius: 5px;
3914        border-bottom-right-radius: 5px;
3915    }
3916    </style>
3917<script>
3918        window.addEventListener('DOMContentLoaded', function() {
3919        class Accordion {
3920            constructor(el) {
3921                // Store the <details> element
3922                this.el = el;
3923                // Store the <summary> element
3924                this.summary = el.querySelector('summary');
3925                // Store the <div class="aw-accordion-content"> element. A plain <details> (an imported
3926                // page, or hand-written markup) has no such wrapper, so this can be null - see
3927                // getExpandedHeight() for how the open height is measured in that case.
3928                this.content = el.querySelector('.aw-accordion-content');
3929
3930                // Store the animation object (so we can cancel it if needed)
3931                this.animation = null;
3932                // Store if the element is closing
3933                this.isClosing = false;
3934                // Store if the element is expanding
3935                this.isExpanding = false;
3936                // Detect user clicks on the summary element
3937                this.summary.addEventListener('click', (e) => this.onClick(e));
3938            }
3939
3940                        static canEnhance(el) {
3941                return el.querySelector('summary') !== null;
3942            }
3943
3944            onClick(e) {
3945                try {
3946                    // Add an overflow on the <details> to avoid content overflowing
3947                    this.el.style.overflow = 'hidden';
3948                    // Check if the element is being closed or is already closed
3949                    if (this.isClosing || !this.el.open) {
3950                        this.open();
3951                        // Check if the element is being openned or is already open
3952                    } else if (this.isExpanding || this.el.open) {
3953                        this.shrink();
3954                    }
3955                    // Stop default behaviour from the browser
3956                    e.preventDefault();
3957                }
3958                catch (e) {
3959                    // do nothing
3960                }
3961            }
3962
3963            shrink() {
3964                // Set the element as "being closed"
3965                this.isClosing = true;
3966
3967                // Store the current height of the element
3968                const startHeight = `${this.el.offsetHeight}px`;
3969                // Calculate the height of the summary
3970                const endHeight = `${this.summary.offsetHeight}px`;
3971
3972                // If there is already an animation running
3973                if (this.animation) {
3974                    // Cancel the current animation
3975                    this.animation.cancel();
3976                }
3977
3978                // Start a WAAPI animation
3979                this.animation = this.el.animate({
3980                    // Set the keyframes from the startHeight to endHeight
3981                    height: [startHeight, endHeight]
3982                }, {
3983                    duration: 400,
3984                    easing: 'ease-out'
3985                });
3986
3987                // When the animation is complete, call onAnimationFinish()
3988                this.animation.onfinish = () => this.onAnimationFinish(false);
3989                // If the animation is cancelled, isClosing variable is set to false
3990                this.animation.oncancel = () => this.isClosing = false;
3991            }
3992
3993                        getExpandedHeight() {
3994                if( this.content ) {
3995                    return this.summary.offsetHeight + this.content.offsetHeight;
3996                }
3997                return this.el.scrollHeight;
3998            }
3999
4000            open() {
4001                // Apply a fixed height on the element
4002                this.el.style.height = `${this.el.offsetHeight}px`;
4003                // Force the [open] attribute on the details element
4004                this.el.open = true;
4005                // Wait for the next frame to call the expand function
4006                window.requestAnimationFrame(() => this.expand());
4007            }
4008
4009            expand() {
4010                                try {
4011                    this.animateExpand();
4012                }
4013                catch (err) {
4014                    this.onAnimationFinish(true);
4015                }
4016            }
4017
4018            animateExpand() {
4019                // Set the element as "being expanding"
4020                this.isExpanding = true;
4021                // Get the current fixed height of the element
4022                const startHeight = `${this.el.offsetHeight}px`;
4023                // Calculate the open height of the element (summary height + content height)
4024                const endHeight = `${this.getExpandedHeight()}px`;
4025
4026                // If there is already an animation running
4027                if (this.animation) {
4028                    // Cancel the current animation
4029                    this.animation.cancel();
4030                }
4031
4032                // Start a WAAPI animation
4033                this.animation = this.el.animate({
4034                    // Set the keyframes from the startHeight to endHeight
4035                    height: [startHeight, endHeight]
4036                }, {
4037                    duration: 400,
4038                    easing: 'ease-out'
4039                });
4040                // When the animation is complete, call onAnimationFinish()
4041                this.animation.onfinish = () => this.onAnimationFinish(true);
4042                // If the animation is cancelled, isExpanding variable is set to false
4043                this.animation.oncancel = () => this.isExpanding = false;
4044            }
4045
4046            onAnimationFinish(open) {
4047                // Set the open attribute based on the parameter
4048                this.el.open = open;
4049                // Clear the stored animation
4050                this.animation = null;
4051                // Reset isClosing & isExpanding
4052                this.isClosing = false;
4053                this.isExpanding = false;
4054                // Remove the overflow hidden and the fixed height
4055                this.el.style.height = this.el.style.overflow = '';
4056            }
4057        }
4058
4059                document.querySelectorAll('.aw-accordion details').forEach((el) => {
4060                        try {
4061                if( Accordion.canEnhance(el) ) {
4062                    new Accordion(el);
4063                }
4064            }
4065            catch (err) {
4066                            }
4067        });
4068    });
4069    </script>
4069<script type="text/javascript">
4070                function getAnalyticsCookie(cname) {
4071                  var name = cname + "=";
4072                  var decodedCookie = decodeURIComponent(document.cookie);
4073                  var ca = decodedCookie.split(';');
4074                  for(var i = 0; i <ca.length; i++) {
4075                    var c = ca[i];
4076                    while (c.charAt(0) == ' ') {
4077                      c = c.substring(1);
4078                    }
4079                    if (c.indexOf(name) == 0) {
4080                      return c.substring(name.length, c.length);
4081                    }
4082                  }
4083                  return "";
4084                }
4085                function RecordInternalAnalytics( stream, data ) {
4086                        data.action = 'record_event';
4087                        data.stream = stream;
4088                        data.contact_id = getAnalyticsCookie('contact_id');
4089                        $.ajax({
4090                            type: 'POST',
4091                            url: '/app/analytics-api',
4092                            data: data,
4093                            dataType: 'json'
4094                        }).done( function( data ) {
4095                        });
4096                    }
4097                !function(name,path,ctx){
4098                    var latest,prev=name!=='Keen'&&window.Keen?window.Keen:false;ctx[name]=ctx[name]||{ready:function(fn){var h=document.getElementsByTagName('head')[0],s=document.createElement('script'),w=window,loaded;s.onload=s.onerror=s.onreadystatechange=function(){if((s.readyState&&!(/^c|loade/.test(s.readyState)))||loaded){return}s.onload=s.onreadystatechange=null;loaded=1;latest=w.Keen;if(prev){w.Keen=prev}else{try{delete w.Keen}catch(e){w.Keen=void 0}}ctx[name]=latest;ctx[name].ready(fn)};s.async=1;s.src=path;h.parentNode.insertBefore(s,h)}}
4099                }('KeenAsync','https://webcache.attractwell.com/third-party/keen-datavis/keen-tracking-1.1.3.min.js',this);
4100                // was https://d26b395fwzu5fz.cloudfront.net/keen-tracking-1.1.3.min.js
4101                
4102                var globalAnalyticsClient = {};
4103            
4104                    globalAnalyticsClient.recordEvent = function( stream, data ) {
4105                        RecordInternalAnalytics( stream, data );
4106                    }
4107                    // Record an event
4108                    globalAnalyticsClient.recordEvent("public_page_views", {"url_params":{"sitepath":"store","page-link-path":"store","look_for_page":"1","sub_item":"products","location":"the-r-i-s-e-framework-workbook","rulenum":"5"},"account_id":2052,"type":"website_view","url":"https:\/\/brooksdemming.com",title:document.title});
4109                
4110
4111                
4112                
4113                
4114                function RecordExternalClickAnalytics( url, title, is_signup_link = false )
4115                {
4116                    var type_to_use = "website_link_click";
4117                    if( is_signup_link === true )
4118                        type_to_use = "website_signup_link_click";
4119                        
4120                    globalAnalyticsClient.recordEvent("public_page_views", {
4121                        "url": url,
4122                        "title": title,
4123                        "type": type_to_use,
4124                        "account_id": 2052
4125                    });
4126
4127                
4128                    RecordInternalAnalytics("public_page_views", {
4129                        "url": url,
4130                        "title": title,
4131                        "type": type_to_use,
4132                        "account_id": 2052
4133                    });
4134                
4135                }
4136                
4137                function RecordContactWebsiteSignUpLinkClick( contact_id )
4138                {
4139                    // records if a contact clicked the website signup link
4140                    if( contact_id != '' ) { 
4141                        $.ajax({
4142                            type: 'POST',
4143                            url: '/app/contacts',
4144                            data: {
4145                                'contact_website_signup_link_click': 1,
4146                                'contact_id': contact_id
4147                            },
4148                            dataType: 'json'
4149                        }).done( function( data ) {
4150                        });
4151                    }
4152                }
4153            </script>
4153    <style>
4154        .checkout-field-div {
4155            margin-bottom: 10px;
4156        }
4157        .checkout-field-error {
4158            margin-bottom:5px;
4159            font-size:16px;
4160            text-align:center;
4161        }
4162        .checkout-field-input {
4163            font-size: 1.7rem;
4164            height:auto;
4165            margin-bottom: 1.5rem;
4166        }
4167        .delete-cart-item {
4168            cursor: pointer;
4169            padding: 2px 5px;
4170        }
4171        #toast-container {
4172            z-index: 2001 !important;
4173        }
4174        #cart-prices {
4175            margin: 5px 0;
4176            color: #777777;
4177            background: #f0f0f0;
4178            padding: 5px 0;
4179        }
4180        #cart-subtotal {
4181            padding: 0 5px;
4182        }
4183        #cart-shipping-inner{
4184            padding: 0 5px;
4185        }
4186        .coupon-description {
4187            margin-left: 20px;
4188        }
4189        .coupon-discounts {
4190            font-style: italic;
4191            margin-left: 20px;
4192        }
4193        .grand-total-div {
4194            font-weight: bold;
4195            background: #e3e3e3;
4196            padding: 4px;
4197            margin-top: 5px;
4198            color: #333333;
4199        }
4200        #cart-panel-sidepanel {
4201            position: fixed;
4202            top: 0;
4203            right: 0;
4204            display: flex;
4205            flex-direction: column;
4206            background-color: #f5f5f5;
4207            width: 375px;
4208            height: 100vh;
4209            max-width: 100%;
4210            overflow-y: auto;
4211            z-index: 2000;
4212            overscroll-behavior-y: contain;
4213            transform: translateX( 400px );
4214            opacity: 0;
4215            transition: transform 0.3s, opacity 0.3s;
4216        }
4217        #cart-panel-sidepanel.open {
4218            transform: translateX( 0 );
4219            opacity: 1;
4220        }
4221        @media (max-width: 991px) {
4222            #cart-panel-sidepanel {
4223                width: 100vw;
4224            }
4225        }
4226        .cart-panel-backdrop {
4227            position: fixed;
4228            top: 0;
4229            left: 0;
4230            width: 100vw;
4231            height: 100vh;
4232            background-color: rgba( 33, 33, 33, 0.5 );
4233            z-index: 1200;
4234            display:none;
4235            opacity: 0;
4236            transition: opacity 0.3s;
4237        }
4238        .cart-panel-backdrop.open {
4239            opacity: 1;
4240        }
4241        .cart-panel-close-button {
4242            position: absolute;
4243            right: 16px;
4244            top: 6px;
4245            z-index: 2001;
4246            font-size: 3.3rem;
4247            cursor: pointer;
4248            padding: 10px;
4249        }
4250        .cart-panel-close-button:hover {
4251            color: #888888;
4252        }
4253        .cart-panel-header {
4254            position: -webkit-sticky;
4255            position: sticky;
4256            top: 0;
4257            z-index: 100;
4258            padding: 20px 24px 5px 24px;
4259            background-color: #f5f5f5;
4260            flex-shrink: 0;
4261        }
4262        .cart-panel-header h3 {
4263            margin-bottom: 10px;
4264        }
4265        .cart-panel-content {
4266            padding: 0 24px 24px;
4267            flex: 1 0;
4268        }
4269        .cart-item {
4270            padding: 10px;
4271            display: grid;
4272            grid-template-columns: 50px 2fr 1fr;
4273            column-gap: 1rem;
4274        }
4275        .cart-item + .cart-item {
4276            border-top: 10px solid #f5f5f5;
4277        }
4278        .cart-item-photo {
4279            grid-column: 1;
4280            grid-row: 1;
4281        }
4282        .cart-item-photo img {
4283            width: 100%;
4284        }
4285        .cart-item-description {
4286            grid-column: 2;
4287            grid-row: 1;
4288            font-size: 15px;
4289        }
4290        .cart-item-price {
4291            grid-column: 3;
4292            grid-row: 1;
4293            font-size: 15px;
4294            text-align: right;
4295        }
4296        .cart-item-quantity {
4297            margin-top: 10px;
4298        }
4299        .cart-item-add-on-div {
4300            font-weight: 300;
4301            color: #888888;
4302            margin-top: 10px;
4303        }
4304        .cart-item-add-on-instructions {
4305            font-weight: 300;
4306            font-style: italic;
4307            font-size: 13px;
4308        }
4309        #cart-contents {
4310            background: white;
4311            clear:both;
4312        }
4313
4314        #store-body {
4315            margin: 1rem 0;
4316        }
4317        .store-top-menu {
4318            background: #fafafa;
4319            padding: 0 0 10px 0;
4320            font-size: 1.75rem;
4321            position: sticky;
4322            top: 60px;            z-index: 3;
4323            clear:both;
4324        }
4325        .store-top-menu-item {
4326            display: inline-block;
4327        }
4328        .store-top-menu-item + .store-top-menu-item {
4329            margin-left: 2rem;
4330        }
4331        #search {
4332            transition: all 0.5s ease;
4333        }
4334
4335        .product-framework {
4336            display: grid;
4337            grid-template-columns: 30rem 1fr;            column-gap: 3rem;
4338            row-gap: 1rem;
4339            margin-top: 2.5rem;
4340        }
4341        .product-framework-categories {
4342            grid-column: 1;
4343            grid-row: 1;
4344        }
4345
4346        .product-framework-body {
4347            grid-column: 2;
4348            grid-row: 1;
4349        }
4350        @media (max-width:991px) {
4351            .product-framework {
4352                grid-template-columns: 1fr;
4353            }
4354
4355            .product-framework-categories {
4356                grid-column: 1;
4357                grid-row: 2;
4358            }
4359
4360            .product-framework-body {
4361                grid-column: 1;
4362                grid-row: 1;
4363            }
4364            .store-top-menu {
4365                top: 0;
4366            }
4367        }
4368        @media (min-width: 992px) {
4369            .float-left-desktop {
4370                float:left;
4371            }
4372            .product-framework {
4373                margin-top: -1rem;
4374            }
4375            .product-framework-categories {
4376                border-right: 1px solid #eeeeee;
4377                padding-right: 1rem;
4378                padding-top: 3.5rem;
4379                padding-bottom: 3.5rem;
4380            }
4381            .product-framework-body {
4382                padding-top: 3.5rem;
4383            }
4384        }
4385    </style>
4386<div class="store-top-menu">
4387    <div class="container-fullwidth clearfix">
4388        <div class="text-center">
4389                        <div class="store-top-menu-item"><a href="https://brooksdemming.com/store">Shop</a></div>
4390            <div class="store-top-menu-item">
4391                <a href="#" id="search-icon"><i class="icon-line-search" data-toggle="tooltip" data-placement="bottom" title="Search"></i></a>
4392                <form action="https://brooksdemming.com/store/products" style="display:inline-block;"><input id="search" name="search" type="text" placeholder="Search" maxlength="50" class="form-control" style="display:none;width: 0;"></form>
4393            </div>
4394            <div class="store-top-menu-item"><a href="https://brooksdemming.com/store/my-account"><i class="icon-user" data-toggle="tooltip" data-placement="bottom" title="My Account"></i></a></div>
4395            <div class="store-top-menu-item">
4396                <a href="#" id="cart-icon" data-toggle="tooltip" data-placement="bottom" title="Cart"><i class="icon-shopping-cart"></i><span class="badge" id="cart-item-count" style="visibility: hidden;"></span></a>
4397                <span id="extra-check-out-text"></span>
4398            </div>
4399        </div>
4400    </div>
4401</div>
4402<div class="store-banner-div-wrapper" style="padding: 5px;background-color:#ffffff"><div class="container fr-wrapper"><div>Purchase with ease using <strong id="isPasted">Buy Now, Pay Later</strong> options at checkout!</div></div></div><section id="content" style="margin-bottom:0;">
4403            <div class="container-fullwidth">
4404            <div id="store-body">
4405                <div class="product-framework">
4406                    <div class="product-framework-body"><style>
4407            .individual-product {
4408                font-size: 1.75rem;
4409                margin-bottom: 5rem;
4410            }
4411            .individual-product h1 {
4412                font-size: 3rem !important;
4413            }
4414            .store-products-collections h2 {
4415                font-size: 18px !important;
4416                margin-bottom: 10px;
4417            }
4418            .collections-list {
4419                font-size: 1.75rem;
4420            }
4421            .collection-name {
4422                padding: 0.25rem 0;
4423            }
4424            .products-list {
4425                font-size: 1.75rem;
4426                margin-bottom: 5rem;
4427            }
4428            .selected-product-name {
4429                font-weight: bold;
4430            }
4431            .product-price {
4432                color: #1c2b4a;
4433                font-size: 18px;
4434                font-weight: normal;
4435                opacity: 0.8;
4436            }
4437            .store-sold-out-badge {
4438                display: inline-block;
4439                margin-top: 0.5rem;
4440                padding: 0.15rem 0.75rem;
4441                font-size: 1.3rem;
4442                font-weight: bold;
4443                text-transform: uppercase;
4444                letter-spacing: 0.05rem;
4445                color: #ffffff;
4446                background-color: #888888;
4447                border-radius: 3px;
4448            }
4449            .product-sold-out img,
4450            .product-sold-out svg,
4451            .product-sold-out h2,
4452            .product-sold-out .product-price {
4453                opacity: 0.5;
4454                filter: grayscale(100%);
4455            }
4456            @media (max-width: 991px) {
4457                .collections-list {
4458                    text-align: center;
4459                    background: #f8f8f8;
4460                    margin-left: -8vw;
4461                    margin-right: -8vw;
4462                    padding: 20px 0;
4463                    margin-bottom: -10px;
4464                    border-bottom: 1px solid #eeeeee;
4465                }
4466            }
4467        </style>
4467<script src="https://cdn.jsdelivr.net/npm/@fancyapps/[email protected]/dist/fancybox.umd.js"></script>
4467
4468<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fancyapps/ui/dist/fancybox.css">
4469
4470<style>
4471    html, body {
4472        scroll-behavior: smooth;
4473    }
4474    .add-to-cart {
4475        scroll-margin-top: 110px;
4476    }
4477    .related-products-headline {
4478        font-size: 22px !important;
4479        border-top: 2px solid #f0f0f0;
4480        padding-top: 5px;
4481        margin-top: 30px;
4482    }
4483    .related-product-name {
4484        font-size: 20px;
4485    }
4486    @media( max-width: 991px ) {
4487        .related-products-headline {
4488            text-align: center;
4489        }
4490        .related-product-row .col-md-4 {
4491            text-align: center;
4492            margin-bottom: 30px;
4493        }
4494    }
4495    .product-add-on-item + .product-add-on-item {
4496        margin-top: 10px;
4497    }
4498    .add-on-label > label {
4499        margin-bottom: 5px;
4500    }
4501    .add-on-price {
4502        display: inline-block;
4503        padding-left: 10px;
4504    }
4505    .add-on-customization-div {
4506        margin-left: 1.8rem;
4507    }
4508    .add-on-description {
4509        font-weight: 300;
4510        color: #888888;
4511        margin-left: 1.8rem;
4512        margin-bottom: 1rem;
4513        font-size: 1.4rem;
4514    }
4515    .carousel-photo {
4516        transition: all 0.3s ease;
4517        max-height: 50vh;
4518        display: flex;
4519        margin-left: auto;
4520        margin-right: auto;
4521        cursor: zoom-in;
4522    }
4523    .carousel-photo:hover {
4524        transform: scale( 1.03 );
4525    }
4526    .video-slide {
4527        cursor: pointer;
4528    }
4529    .play-button {
4530        cursor: pointer;
4531        transition: all 0.3s ease;
4532    }
4533    .play-button:hover {
4534        transform: scale( 1.03 );
4535    }
4536    .out-of-stock {
4537        color: #888888;
4538    }
4539    .product-model-sku-details {
4540        font-size: 14px;
4541        color: #bbbbbb;
4542    }
4543    .product-name {
4544        margin-bottom: 0;
4545    }
4546    @media (max-width: 991px) {
4547        .product-name {
4548            text-align: center;
4549        }
4550
4551        .product-model-sku-details {
4552            text-align: center;
4553        }
4554    }
4555
4556    #product-carousel {
4557        height: 51vh;
4558        /*margin: 0 auto 1rem auto;*/
4559        overflow: visible;
4560
4561        --carousel-button-color: #888888;
4562        --carousel-button-bg: rgba( 255, 255, 255, 0.8 );
4563        /*--carousel-button-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.1);*/
4564
4565        --carousel-button-svg-width: 20px;
4566        --carousel-button-svg-height: 20px;
4567        --carousel-button-svg-stroke-width: 2.5;
4568    }
4569
4570    #product-carousel .carousel__slide {
4571        width: 100%;
4572        padding: 0;
4573        overflow-y: hidden;
4574    }
4575
4576    #product-carousel .carousel__button.is-prev {
4577        /*left: -1.5rem;*/
4578    }
4579
4580    #product-carousel .carousel__button.is-next {
4581        /*right: -1.5rem;*/
4582    }
4583
4584    #product-carousel .carousel__button:focus {
4585        outline: none;
4586        box-shadow: 0 0 0 4px #eeaa7b;
4587    }
4588    .product-price {
4589        display: inline-block;
4590        margin-left: 10px;
4591    }
4592
4593
4594</style>
4595<div class="product-content col_last clearfix individual-product">
4596
4597
4598    <div class="row"><div class="col-md-7"><div id="product-carousel"></div></div><div class="col-md-5">
4599    <h1 class="product-name">The R.I.S.E. Framework Workbook<div class="product-price"><div>$34</div></div></h1>
4600
4601    <div class="product-model-sku-details">
4602            </div>
4603    <div class="bottommargin-sm" style="margin-top:10px;" id="quantity-cart-div">
4604    </div>
4605
4606    <div class="product-overview"><div class="fr-view"><div data-pasted="true"><span style="font-size: 13px; font-family: Comfortaa, sans-serif;">Leadership isn&#39;t about having every answer &mdash; it&#39;s about staying rooted when things get hard, protecting what matters, and moving forward with consistency even when it&#39;s uncomfortable. The R.I.S.E. Framework Workbook is your hands-on guide to building exactly that kind of leadership.</span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;"><br></span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;">This is the signature workbook behind the R.I.S.E. Framework &mdash; the same system behind Dr. Brooks&#39; coaching, courses, and certification &mdash; broken into a guided, work-at-your-own-pace format you can start using today.</span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;"><br></span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;">WHAT YOU GET</span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;"><br></span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;">✓ A 26-page designed PDF workbook (print-ready, instant download)</span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;">✓ Guided worksheets, diagrams, and reflection prompts for every stage of the R.I.S.E. Framework</span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;">✓ Delivered as an instant download</span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;"><br></span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;">WHAT&#39;S INSIDE</span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;"><br></span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;">R &mdash; Rooted in Purpose</span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;">- Core Values worksheet</span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;">- Purpose Statement builder</span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;">- Why I Lead reflection</span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;"><br></span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;">I &mdash; Identify Boundaries</span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;">- Boundaries Wheel self-assessment</span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;">- Energy Audit (what fills you, what drains you)</span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;">- Saying No worksheet</span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;"><br></span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;">S &mdash; Strengthen Resilience</span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;">- Resilience self-assessment</span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;">- Setback Reflection worksheet</span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;">- Support System Map</span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;"><br></span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;">E &mdash; Execute With Consistency</span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;">- 90-Day Goal Setting</span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;">
4606- Weekly Accountability Tracker</span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;">- Habit Tracker</span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;"><br></span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;">Plus an Action Steps page after each section, and a closing &quot;Bringing It All Together&quot; reflection to tie the whole framework together.</span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;"><br></span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;">WHO THIS IS FOR</span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;"><br></span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;">- Entrepreneurs and leaders who want a values-driven foundation for how they lead</span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;">- Anyone who&#39;s felt the pull between purpose and burnout and wants a structured way through it</span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;">- Clients curious about the R.I.S.E. Framework before committing to coaching, the course, or certification</span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;"><br></span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;">HOW IT WORKS</span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;"><br></span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;">This is a digital download &mdash; no physical item will ship. After checkout, download your file from &quot;Purchases and Reviews&quot; (desktop recommended). You&#39;ll receive:</span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;"><br></span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;">- 1 PDF (The R.I.S.E. Framework Workbook)</span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;"><br></span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;">TERMS OF USE</span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;"><br></span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;">For personal use only. This file may not be resold, redistributed, shared, or repackaged in part or in full. Due to the instant-download nature of this product, all sales are final.</span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;"><br></span></div><div><span style="font-size: 13px; font-family: Comfortaa, sans-serif;">Questions before you buy? Message me &mdash; happy to help.</span></div><div><br></div></div></div></div></div><div class="row topmargin"><div class="col-md-12"><div class="fr-view"><div><br></div></div></div></div></div>
4607
4608
4609<script>
4610    var entityMap = {
4611    "&": "&amp;",
4612    "<": "&lt;",
4613    ">": "&gt;",
4614    '"': '&quot;',
4615    "'": '&#39;',
4616    "/": '&#x2F;'
4617};
4618
4619function escapeHtml(string) {
4620    if( string === null )
4621        return '';
4622    return String(string).replace(/[&<>"'\/]/g, function (s) {
4623        return entityMap[s];
4624    });
4625}
4626
4627function abbreviateText( text, max_length )
4628{
4629    if( typeof max_length == 'undefined' )
4630        max_length = 30;
4631
4632    var display_text = text;
4633
4634    if( text.length > (max_length + 5))
4635        display_text = text.substr( 0, max_length ) + '...';
4636
4637    return display_text;
4638}
4639
4640function htmlToText( html ) {
4641    var d = document.createElement( 'div' );
4642    d.innerHTML = html;
4643    return d.textContent;
4644}
4645
4646function insertStringAtCursor( field_object, string_to_insert )
4647{
4648    if (document.selection) {
4649        field_object.focus();
4650        sel = document.selection.createRange();
4651        sel.text = string_to_insert;
4652    }
4653    else if (field_object.selectionStart || field_object.selectionStart == '0') {
4654        var startPos = field_object.selectionStart;
4655        var endPos = field_object.selectionEnd;
4656        field_object.value = field_object.value.substring(0, startPos)
4657            + string_to_insert
4658            + field_object.value.substring(endPos, field_object.value.length);
4659    } else {
4660        field_object.value += string_to_insert;
4661    }
4662}    let product_id = 6581;
4663    let product_media = [{"id":12404,"account_id":2052,"store_product_id":6581,"media_type":"image","media_url":"https:\/\/attractwell-2052-fast.b-cdn.net\/images\/2052\/6a4ed36c1c037.png","media_thumb_url":"https:\/\/attractwell-2052-fast.b-cdn.net\/images\/2052\/6a4ed36c1c038-thumb.png","media_provider":null,"display_order":1}];
4664        let base_product = {"name":"The R.I.S.E. Framework Workbook","media_url":"https:\/\/attractwell-2052-fast.b-cdn.net\/images\/2052\/6a4ed36c1c037.png","price":"34.00","sale_price":null,"is_sale_active":false,"inventory_count":null,"max_qty":null,"show_only_variants":0,"product_type":"digital","variants":[],"add_ons":[]};
4665
4666    function FormatPriceWithZeroOrTwoDecimals( price )
4667    {
4668        let decimals = 2;
4669        let temp_price = parseFloat( price );
4670        if( price.endsWith( '.00' ) )
4671            decimals = 0;
4672
4673        return temp_price.toLocaleString('en-US', { maximumFractionDigits: decimals });     }
4674    function ShowMedia( selected_index )
4675    {
4676        let fancybox = Fancybox.show([
4677            {src: 'https://attractwell-2052-fast.b-cdn.net/images/2052/6a4ed36c1c037.png', type: 'image'},        ]);
4678        fancybox.jumpTo( selected_index - 1 );
4679    }
4680
4681    function RenderQuantityAndAddToCart()
4682    {
4683                const productVaultFullMessage = "";
4684        if( productVaultFullMessage !== '' ) {
4685            $('#quantity-cart-div').html(
4686                '<div class="out-of-stock" style="margin-top:10px;">' + $('<div>').text( productVaultFullMessage ).html() + '</div>'
4687            );
4688            return;
4689        }
4690                const storeVariantFullMessages = [];
4691        const storeAddonFullMessages = [];
4692
4693        let s = '';
4694
4695        let all_product_variants = [];
4696
4697        if( base_product.show_only_variants != '1' )
4698            all_product_variants = [{
4699                'id': null,
4700                'variant_name': base_product.name,
4701                'price': base_product.price,
4702                'sale_price': base_product.sale_price,
4703                'inventory_count': base_product.inventory_count,
4704                'max_qty': base_product.max_qty
4705            }];
4706
4707        for( let i = 0; i < base_product.variants.length; i++ ) {
4708            let variant = base_product.variants[i];
4709            all_product_variants.push( {
4710                'id': variant.id,
4711                'variant_name': variant.variant_name,
4712                'price': variant.price,
4713                'sale_price': variant.sale_price,
4714                'inventory_count': variant.inventory_count
4715            });
4716        }
4717                if( all_product_variants.length > 1 ) {
4718            s += '<div id="variants-dropdown-div" style="margin-bottom: 10px;">' +
4719                '<select id="product-variant" class="form-control">';
4720            for( let i = 0; i < all_product_variants.length; i++ ) {
4721                let variant = all_product_variants[i];
4722                let price_html = ' ';
4723                if( typeof variant.price === 'string' )
4724                    price_html += store_currency_symbol + FormatPriceWithZeroOrTwoDecimals( variant.price );
4725                else
4726                    price_html += store_currency_symbol + FormatPriceWithZeroOrTwoDecimals( base_product.price );
4727
4728                if( typeof variant.sale_price === 'string' && base_product.is_sale_active )
4729                    price_html += ' SALE: ' + store_currency_symbol + FormatPriceWithZeroOrTwoDecimals( variant.sale_price );
4730                else if( base_product.is_sale_active && typeof variant.price !== 'string' && typeof base_product.sale_price === 'string' )
4731                    price_html += ' SALE: ' + store_currency_symbol + FormatPriceWithZeroOrTwoDecimals( base_product.sale_price );
4732
4733                s += '<option value="' + (variant.id !== null ? escapeHtml(variant.id) : '') + '">' +
4734                    escapeHtml( variant.variant_name ) +
4735                    price_html +
4736                    (variant.inventory_count > 0 && variant.inventory_count <= 3 ? ' - Only ' + variant.inventory_count + ' in stock!' : '') +
4737                    '</option>';
4738            }
4739            s += '</select></div>';
4740        }
4741
4742        
4743        if( Array.isArray( base_product.add_ons ) && base_product.add_ons.length > 0 ) {
4744            s += '<div id="add-ons-div">';
4745            for( let i = 0; i < base_product.add_ons.length; i++ ) {
4746                let add_on = base_product.add_ons[i];
4747                let price_html;
4748                let allows_customization = (add_on.allow_user_input_customization_text == 1);
4749                if( base_product.is_sale_active )
4750                    price_html = '';
4751                else
4752                    price_html = '';
4753
4754                                let addOnFullMessage = ( typeof storeAddonFullMessages[ add_on.id ] !== 'undefined' ) ? storeAddonFullMessages[ add_on.id ] : '';
4755
4756                s += '<div class="product-add-on-item">' +
4757                    '<div class="add-on-label">' +
4758                    '<input type="checkbox" id="add-on-item-' + i + '" name="add-on[]" value="' + escapeHtml( add_on.id ) + '" ' +
4759                    ( addOnFullMessage !== '' ? 'disabled ' : '' ) +
4760                    'data-add-on-index="' + i + '" style="margin-right: 5px;" class="' +
4761                    (allows_customization ? 'has-add-on-customization' : '') +
4762                    '" data-add-on-index="' + i + '">' +
4763                    '<label for="add-on-item-' + i + '"' + ( addOnFullMessage !== '' ? ' style="opacity:0.6;"' : '' ) + '>
4763' + escapeHtml( add_on.option_name ) +
4764                    ( addOnFullMessage !== '' ? ' <strong style="color:#c0392b;">(Full)</strong>' : '' ) + '</label>' +
4765                    (typeof add_on.pricing_html === 'string' ? '<span class="add-on-price">' + add_on.pricing_html + '</span>' : '') +
4766                    '</div>' +
4767                    (typeof add_on.description === 'string' && add_on.description.trim() !== ''
4768                        ? '<div class="add-on-description">' + escapeHtml( add_on.description ) + '</div>'
4769                        : '' ) +
4770                    (allows_customization
4771                        ? '<div class="add-on-customization-div" id="add-on-customization-div' + i + '" style="display:none;">' +
4772                            '<textarea maxlength="500" id="add-on-customization-instructions' + i + '" data-add-on-index="' + i + '" class="form-control" ' +
4773                            'placeholder="' + (typeof add_on.customization_instructions === 'string' && add_on.customization_instructions !== '' ? add_on.customization_instructions : 'Enter personalization instructions') +
4774                            '"></textarea></div>'
4775                        : '') +
4776                    '</div>';
4777            }
4778            s += '</div>';
4779        }
4780
4781                for( let variant_index = 0; variant_index < all_product_variants.length; variant_index++ ) {
4782            let product = all_product_variants[variant_index];
4783            let max_quantity = null;
4784            s += '<div class="variant-control" id="variant' + variant_index + '" data-variant-index="' + escapeHtml( variant_index ) + '" ' +
4785                'data-variant-id="' + escapeHtml(all_product_variants['variant_id']) + '" ' +
4786                (variant_index === 0 ? '' : ' style="display:none;"') + '>';
4787
4788            if( product.inventory_count === null || typeof product.inventory_count === 'undefined' || product.inventory_count > 20 )
4789                max_quantity = 20;
4790            else if( product.inventory_count > 0 )
4791                max_quantity = product.inventory_count;
4792            else if( product.inventory_count === 0 || product.inventory_count === '0' )
4793                max_quantity = 0;
4794
4795            if( product.max_qty !== null && product.max_qty < max_quantity )
4796                max_quantity = product.max_qty;
4797
4798            let variantFullMessage = ( product.id !== null && typeof storeVariantFullMessages[ product.id ] !== 'undefined' )
4799                ? storeVariantFullMessages[ product.id ] : '';
4800
4801            if( variantFullMessage !== '' )
4802                s += '<div class="out-of-stock">' + $('<div>').text( variantFullMessage ).html() + '</div>';
4803            else if( max_quantity === 0 )
4804                s += '<div class="out-of-stock">Out of stock</div>';
4805            else {
4806                s += '<div class="text-center-mobile" style="margin-bottom:5px;margin-top: 10px;">';
4807                if( max_quantity === 1 )
4808                    s += '<input type="hidden" name="quantity' + variant_index + '" id="quantity' + variant_index + '" value="1">';
4809                else {
4810                    s += '<select id="quantity' + variant_index + '" class="variant-quantity-control form-control" style="width:auto;display: inline-block;">';
4811                    for( let i = 1; i <= max_quantity; i++ )
4812                        s += '<option value="' + i + '">Qty: ' + i + '</option>';
4813                    s += '</select>';
4814                }
4815                s += ' <button id="add-to-cart" type="button" class="add-to-cart button button-leaf nomargin" style="display: inline-block;">Add to ' + "Cart" + '</button>';
4816            }
4817            s += '</div></div>';
4818        }
4819
4820        if( base_product.product_type === 'listing only' )
4821            s = '';
4822
4823        $('#quantity-cart-div').html( s );
4824    }
4825
4826
4827    $(function() {
4828                let product_photo_carousel = new Carousel(document.querySelector("#product-carousel"), {
4829            // infinite: false,
4830            // fill: false,
4831            Dots: false,
4832            // slidesPerPage: 1,
4833            slides: [
4834            {html: '<img src="https://attractwell-2052-fast.b-cdn.net/images/2052/6a4ed36c1c037.png" class="carousel-photo" data-media-index="1" loading="lazy">'},            ]
4835        });
4836
4837        $('#product-carousel').on('click','.carousel-photo', function() {
4838            ShowMedia( $(this).attr('data-media-index') );
4839            return false;
4840        }).on('click','.play-button', function() {
4841            ShowMedia( $(this).attr('data-media-index') );
4842            return false;
4843        });
4844        
4845                $('#quantity-cart-div').on('change','#product-variant', function() {
4846            $('.variant-control').hide();
4847            $('#variant' + $(this)[0].selectedIndex ).show();
4848        })
4849        .on('change','.has-add-on-customization', function() {
4850            let add_on_index = $(this).attr('data-add-on-index');
4851            if( $(this).is(':checked') )
4852                $('#add-on-customization-div' + add_on_index ).slideDown();
4853            else
4854                $('#add-on-customization-div' + add_on_index ).slideUp();
4855        });
4856        $('body').on('click','.add-to-cart, [href=#add]',function() {
4857            let product_variant_control = $('#product-variant');
4858            let selected_variant_index = 0;
4859            let add_ons = [];
4860            let variant_id = '';
4861            let variant_name = '';
4862            let price, sale_price;
4863
4864            let has_variants = (product_variant_control.length > 0);
4865            if( has_variants ) {
4866                selected_variant_index = product_variant_control[0].selectedIndex;
4867
4868                                variant_id = product_variant_control.val();
4869                if (typeof variant_id !== 'string')
4870                    variant_id = '';
4871
4872                if( variant_id === '' ) {
4873                    price = base_product.price;
4874                    sale_price = ( base_product.is_sale_active ? base_product.sale_price : '' );
4875                }
4876                else {
4877                    for( let i = 0; i < base_product.variants.length; i++ ) {
4878                        let variant = base_product.variants[i];
4879                        if( variant.id == variant_id ) {
4880                            price = variant.price;
4881                            sale_price = ( base_product.is_sale_active ? variant.sale_price : '' );
4882                            if( base_product.is_sale_active && sale_price == '' )
4883                                sale_price = price;
4884                            if( base_product.is_sale_active && sale_price == '' )
4885                                sale_price = base_product.sale_price;
4886                            if( base_product.is_sale_active && sale_price == '' )
4887                                sale_price = base_product.price;
4888                            variant_name = variant.variant_name;
4889                            break;
4890                        }
4891                    }
4892                    if( price === null || price === '' )
4893                        price = base_product.price;
4894                }
4895            }
4896            else {
4897                                price = base_product.price;
4898                sale_price = (base_product.is_sale_active ? base_product.sale_price : '');
4899            }
4900            for( let i = 0; i < base_product.add_ons.length; i++ ) {
4901                let add_on_checkbox = $('#add-on-item-' + i );
4902                if( add_on_checkbox.is(':checked') ) {
4903                    let add_on_id = add_on_checkbox.val();
4904                    let add_on_index = add_on_checkbox.attr('data-add-on-index');
4905                    let add_on = base_product.add_ons[add_on_index];
4906
4907                    let instructions = $('#add-on-customization-instructions' + i ).val();
4908                    if( typeof instructions !== 'string' )
4909                        instructions = '';
4910
4911                    instructions = instructions.trim();
4912
4913                    add_ons.push( {
4914                        id: add_on_id,
4915                        name: add_on.option_name,
4916                        instructions: instructions,
4917                        price_difference: add_on.price_difference,
4918                        sale_price_difference: (base_product.is_sale_active ? add_on.sale_price_difference : ''),
4919                        allow_user_input_customization_text: add_on.allow_user_input_customization_text
4920                    });
4921                }
4922            }
4923
4924                        let quantity_control = $('#quantity' + selected_variant_index );
4925            let quantity = quantity_control.val();
4926            let max_quantity = (quantity_control[0].tagName === 'SELECT' ? quantity_control[0].options[ quantity_control[0].options.length - 1 ].value : quantity_control[0].value);
4927
4928            if( typeof quantity !== 'string' )
4929                quantity = '1';
4930            if( typeof max_quantity !== 'string' || max_quantity < 1 )
4931                max_quantity = '1';
4932
4933                        AddProductToCart({
4934                    product_id: product_id,
4935                    product_name: base_product.name,
4936                    product_image_url: base_product.media_url,
4937                    quantity: parseInt( quantity, 10 ),
4938                    max_quantity: parseInt( max_quantity, 10 ),
4939                    price: price,
4940                    sale_price: sale_price,
4941                    variant_id: variant_id,
4942                    variant_name: variant_name,
4943                    add_ons: add_ons
4944                });
4945
4946            return false;
4947        });
4948
4949        RenderQuantityAndAddToCart();
4950    });
4951</script>
4951</div><div class="product-framework-categories"><div class="no-print collections-list">
4952                <div class="sidebar-widgets-wrap">
4953                    <div class="widget widget_links clearfix">
4954            
4955                        <div class="collection-name"><a href="https://brooksdemming.com/store/products">All Products</a></div><div class="collection-name"><a href="https://brooksdemming.com/store/collections/consulting">1:1 Consulting</a></div><div class="collection-name"><a href="https://brooksdemming.com/store/collections/coaching-certification">Coach Certification</a></div><div class="collection-name"><a href="https://brooksdemming.com/store/collections/courses">Courses</a></div><div class="collection-name"><a href="https://brooksdemming.com/store/collections/digital-templates">Digital Templates</a></div><div class="collection-name"><a href="https://brooksdemming.com/store/collections/notary-services">Notary Services</a></div><div class="collection-name"><a href="https://brooksdemming.com/store/collections/sponsorship-advertise-with-us">Sponsorship / Advertise With Us</a></div>  </div>
4956                </div>
4957            </div></div>                </div>
4958            </div>
4959        </div>
4960
4961    </section>
4962<div id="cart-panel" style="display:none;">
4963    <div class="cart-panel-backdrop"></div>
4964    <div id="cart-panel-sidepanel">
4965        <div class="cart-panel-header">
4966            <div class="cart-panel-close-button">
4967                &times;
4968            </div>
4969            <h3>Cart</h3>
4970            <div id="check-out-now-div" style="padding: 0 24px 10px;display:none; text-align:center;">
4971                <button class="button button-green nomargin btn-block" id="check-out-now-button">Check Out Now</button>
4972                <button class="button button-white button-light button-small btn-block" style="margin: 5px 0 0 0;" id="cart-panel-continue-shopping">Continue Shopping</button>
4973            </div>
4974            <div id="cart-prices">
4975                <div id="cart-subtotal" class="text-center-mobile text-right-desktop" style="margin-bottom:5px;"></div>
4976                <div id="cart-shipping" class="text-center-mobile text-right-desktop" style="margin-bottom:5px;"></div>
4977                <div id="cart-coupon-code" class="text-center">
4978                    <label for="coupon-code" style="font-weight: 400 !important; font-size: 14px !important; letter-spacing: normal;">Coupon code</label>
4979                    <input type="text" maxlength="20" id="coupon-code" name="coupon-code" class="form-control" style="letter-spacing:normal; width: 8rem;display:inline-block;height: auto; font-size: 12px; padding: 4px 6px;" autocomplete="one-time-code">
4980                    <button type="button" class="button button-mini button-white button-light" id="apply-coupon-button">Apply</button>
4981                </div>
4982            </div>
4983        </div>
4984        <div class="cart-panel-content">
4985            <div id="cart-contents"></div>
4986        </div>
4987    </div>
4988</div>
4989
4990<div class="modal fade" id="loginModal" tabindex="-1" role="dialog" aria-labelledby="loginModalLabel" aria-hidden="true">
4991    <div class="modal-dialog xmodal-lg">
4992        <div class="modal-body">
4993            <div class="modal-content">
4994                <div class="modal-body">
4995                    <button type="button" class="close pull-right" data-dismiss="modal" aria-hidden="true">&times;</button>
4996                    <!--
4997                    <h4 class="uppercase ls1" style="margin-bottom:10px;" id="loginModalLabel">
4998                        Check Out
4999                    </h4>
5000                    -->
5001
5002                    <h4 style="clear:both;text-align: center;">
5003                        What is your email?
5004                    </h4>
5005
5006                    <div class="checkout-field-div" id="account-email-div">
5007                        <div id="account-email-error-message" class="checkout-field-error" style="display:none;">Please enter a valid email address.</div>
5008                        <input type="email" maxlength="100" placeholder="Email Address" id="account-email" class="form-control checkout-field-input" style="margin-bottom:5px;">
5009                        <div class="text-center">
5010                            <input type="checkbox" id="account-create-checkbox" style="margin: 10px 0 0 0;">
5011                            <label for="account-create-checkbox" class="thin-font">Create an account with this email</label>
5012                        </div>
5013                    </div>
5014
5015                    <div class="checkout-field-div" style="display:none;" id="account-password-div">
5016                        <div id="account-password-error-message" class="checkout-field-error" style="display:none;">Password must be at least 8 characters.</div>
5017                        <input type="password" placeholder="Password" id="account-password" class="form-control checkout-field-input" data-toggle="tooltip" title="Enter your account password." autocomplete="new-password">
5018                    </div>
5019
5020                    <div class="checkout-field-div" style="display:none;" id="account-name-div">
5021                        <div id="account-name-error-message" class="checkout-field-error" style="display:none;">Please enter your full name.</div>
5022                        <input type="text" maxlength="50" placeholder="Your Full Name" id="account-name" class="form-control checkout-field-input">
5023                    </div>
5024
5025                    <div id="account-password-not-working" style="display:none;" class="text-center bottommargin-sm">
5026                        <a href="https://brooksdemming.com/members?password-not-working=1" target="_blank">
5027                            Password not working?
5028                        </a>
5029                    </div>
5030
5031                    <button class="button button-leaf btn-block" style="margin: 0 0 10px 0;" id="checkout-continue-button">Continue</button>
5032                </div>
5033            </div>
5034        </div>
5035    </div>
5036</div>
5037
5038
5039<script>
5040        let legacy_storage_prefix = '';
5041        let storage_prefix = legacy_storage_prefix + "store389_";
5042    let cart_key = storage_prefix + 'cart_contents', coupon_key = storage_prefix + 'cart_coupon', discount_key = storage_prefix + 'cart_discount';
5043    let store_id = 389;
5044    let store_currency_symbol = "$";
5045
5046            if( localStorage.getItem( cart_key ) === null && localStorage.getItem( legacy_storage_prefix + 'cart_contents' ) !== null ) {
5047        ['cart_contents', 'cart_coupon', 'cart_discount'].forEach( function( key_suffix ) {
5048            const legacy_value = localStorage.getItem( legacy_storage_prefix + key_suffix );
5049            if( legacy_value !== null ) {
5050                localStorage.setItem( storage_prefix + key_suffix, legacy_value );
5051                localStorage.removeItem( legacy_storage_prefix + key_suffix );
5052            }
5053        });
5054    }
5055        let tax_enabled = true;
5056    let global_cart_subtotal, global_discounted_cart_subtotal, global_cart_grand_total;
5057    
5058    function StartCheckout( extra_data = null )
5059    {
5060                let cart_contents = GetCartContents();
5061        toastr.clear();
5062        toastr.info('Please wait...');
5063        let data = {
5064            cart_contents: cart_contents,
5065            coupon_code: GetCartCouponCode(),
5066            create_account: $('#account-create-checkbox').is(':checked') ? 1 : 0,
5067            store_id: store_id,
5068        };
5069        if( typeof extra_data === 'object' )
5070            data = { ...data, ...extra_data };
5071
5072        $.ajax({
5073            url: "https:\/\/brooksdemming.com\/store\/cart\/start-checkout",
5074            method: "POST",
5075            dataType: "json",
5076            data: data
5077        })
5078            .done(function( data_obj ) {
5079                toastr.clear();
5080                if( data_obj.success ) {
5081
5082                    if( data_obj.data === 'new_customer' ) {
5083                        $('#account-name-div').slideDown();
5084                        setTimeout( () => {$('#account-name').focus(); EnableControl('checkout-continue-button'); }, 300);
5085                    }
5086                    else if( data_obj.data === 'check_password_match' ) {
5087                        toastr.error('Please check your password.');
5088                        EnableControl('checkout-continue-button');
5089                        $('#account-password-div').slideDown();
5090                        $('#account-password-not-working').slideDown();
5091                        $('#account-password').focus();
5092                    }
5093                    else if( data_obj.data === 'missing_payment_processor' )
5094                        toastr.error('Please set up a payment processor under Store Settings or <a href="/app/store-setup/settings" target="_blank">click here to go to Store Settings</a>.');
5095                    else
5096                        location.href = data_obj.results.checkout_url;
5097                                        }
5098
5099                else if( data_obj.code === 'check_email' ) {
5100                    toastr.error('Please check your email address.');
5101                    $('#account-email').focus();
5102                    EnableControl('checkout-continue-button');
5103                }
5104
5105                else if( data_obj.code === 'show_password' ) {
5106                    EnableControl('checkout-continue-button');
5107                    $('#account-password-div').slideDown();
5108                    $('#account-password').focus();
5109                }
5110
5111                else if( data_obj.code === 'check_password' ) {
5112                    toastr.error('Please check your password. It needs to be at least 8 characters in length.');
5113                    EnableControl('checkout-continue-button');
5114                    $('#account-password-div').slideDown();
5115                    $('#account-password').focus();
5116                }
5117                else if( data_obj.code === 'try_again' ) {
5118                    EnableControl('checkout-continue-button');
5119                    toastr.error('Please try again in a few minutes. If this persists, please contact support.');
5120                }
5121
5122                else if( data_obj.code === 'use_another_email' ) {
5123                    EnableControl('checkout-continue-button');
5124                    toastr.error('Please contact the store owner to purchase, or use another email address.');
5125                }
5126
5127                else if( data_obj.code === 'cart_empty' ) {
5128                    toastr.error('Cart is empty or all of your items are out of stock. Please add at least one item to the cart and try again.');
5129                    EnableControl('checkout-continue-button');
5130                }
5131
5132                else if( data_obj.code === 'cart_zero' ) {
5133                    toastr.error('Please place at least $1 into the cart to be able to check out.');
5134                    EnableControl('checkout-continue-button');
5135                }
5136
5137                else if( data_obj.code === 'vault_full' ) {
5138                                        EnableControl('checkout-continue-button');
5139                    toastr.error( data_obj.message, '', { timeOut: 20000 } );
5140                }
5141
5142                else if( data_obj.message.startsWith( 'Stripe Tax has not been activated' ) )
5143                    toastr.error('Stripe Tax has not been activated. Please do so in the Stripe control panel, or disable tax collection inside your Str
5143ipe account. Email [email protected] if you have questions about enabling this.');
5144
5145                else if( data_obj.code === 'no_payment_methods' ) {
5146                    EnableControl('checkout-continue-button');
5147                    toastr.error('Payment Setup Incomplete: This store is not yet configured to accept payments in your selected currency. Please contact Brooks Demming at [email protected] to activate USD in the Stripe Dashboard.');
5148                }
5149
5150                else {
5151                    EnableControl('checkout-continue-button');
5152                    toastr.error('Something went wrong during checkout. Please try again in a few minutes or email [email protected] if it persists.');
5153                }
5154
5155            })
5156            .fail(function( jqXHR, textStatus ) {
5157                toastr.error( "Request failed: " + textStatus, 'Something went wrong during checkout. Please try again in a few minutes or email [email protected] if it persists.' );
5158                EnableControl('checkout-continue-button');
5159            });
5160
5161        return false;
5162    }
5163
5164    function CheckEnterKeyPress( evt )
5165    {
5166        if( evt.keyCode === 13 )
5167            $('#checkout-continue-button').click();
5168    }
5169
5170    function ValidateCheckoutName()
5171    {
5172        let name_control = $('#account-name');
5173        let name_error_message_control = $('#account-name-error-message');
5174        let name = name_control.val();
5175        if( name.length < 2 || !name.includes(' ') ) {
5176            name_error_message_control.slideDown();
5177            name_control.css('border','2px solid red').focus();
5178            return false;
5179        }
5180        EnableControl('checkout-continue-button');
5181
5182        name_error_message_control.slideUp();
5183        name_control.css('border','');
5184        return name;
5185    }
5186
5187    function ValidateCheckoutPassword()
5188    {
5189        let password_control = $('#account-password');
5190        let password_error_message_control = $('#account-password-error-message');
5191        let password = password_control.val();
5192        if( password.length < 8 || password === $('#account-email').val() ) {
5193            password_error_message_control.slideDown();
5194            password_control.css('border','2px solid red').focus();
5195            return false;
5196        }
5197
5198        EnableControl('checkout-continue-button');
5199        password_error_message_control.slideUp();
5200        password_control.css('border','');
5201        return password;
5202    }
5203
5204    function ValidateCheckoutEmailAddress()
5205    {
5206        let email_control = $('#account-email');
5207        let email_error_message_control = $('#account-email-error-message');
5208        let email = email_control.val();
5209        if( !email.includes('@') || !email.includes('.') ) {
5210            email_error_message_control.slideDown();
5211            email_control.css('border','2px solid red').focus();
5212            return false;
5213        }
5214
5215        EnableControl('checkout-continue-button');
5216        email_error_message_control.slideUp();
5217        email_control.css('border','');
5218        return email;
5219    }
5220
5221    function DisableControl( button_id )
5222    {
5223        $('#' + button_id ).css('pointer-events','none').css('opacity','0.5').css('filter','grayscale(1)').attr('disabled','disabled');
5224    }
5225
5226    function EnableControl( button_id )
5227    {
5228        $('#' + button_id ).css('pointer-events','auto').css('opacity','1').css('filter','grayscale(0)').attr('disabled',false);
5229    }
5230
5231    $(function() {
5232        setInterval( UpdateCartBadge, 2000 );
5233        UpdateCartBadge();
5234
5235        global_cart_subtotal = BigNumber('0.00');
5236        $('#search-icon').click( function() {
5237            $('#search').show().css('width','15rem').focus();
5238            return false;
5239        });
5240        $('.cart-panel-backdrop').click( CloseCart );
5241        $('.cart-panel-close-button').click( CloseCart );
5242        $('#cart-panel-continue-shopping').click( CloseCart );
5243        $('#loginModal').on('show.bs.modal', function () {
5244                $('#account-password-error-message').hide();
5245                $('#account-password-div').hide();
5246                $('#account-name-error-message').hide();
5247                $('#account-name-div').hide();
5248            })
5249            .on('shown.bs.modal', function () {
5250                $('#account-email').focus();
5251            });
5252
5253        $('#cart-subtotal').on('click','.remove-coupon-code',function() {
5254            Swal.fire({
5255                title: 'Do you wish to remove this coupon code from your order?<br><br>' + GetCartCouponCode(),
5256                showDenyButton: false,
5257                showCancelButton: true,
5258                confirmButtonText: "Yes"
5259            }).then((result) => {
5260                if (result.isConfirmed) {
5261                    SetCartCouponCode();
5262                    SetCartDiscount();
5263                    RenderCartContents();
5264                }
5265            });
5266            return false;
5267        });
5268        $('#extra-check-out-text').on('click','#extra-check-out-link', function() {
5269            OpenCart();
5270            return false;
5271        })
5272        $('#check-out-now-button').click( function() {
5273                            CloseCart();
5274                $('#loginModal').modal('show');
5275
5276                    });
5277
5278        $('#coupon-code').on('keydown', function( evt ) {
5279            if( evt.keyCode === 13 )
5280                $('#apply-coupon-button').click();
5281        });
5282
5283        $('#apply-coupon-button').click( function() {
5284            toastr.info('Applying coupon...');
5285            let existing_coupon = GetCartCouponCode();
5286            let new_coupon = $('#coupon-code').val().trim();
5287            if( existing_coupon !== new_coupon ) {
5288                let cart = GetCartContents();
5289                if( cart.length === 0 ) {
5290                    toastr.clear();
5291                    return false;
5292                }
5293
5294                let data = {
5295                    cart_contents: cart,
5296                    coupon_code: new_coupon,
5297                    store_id: store_id
5298                };
5299                $.ajax({
5300                    url: "https:\/\/brooksdemming.com\/store\/cart\/apply-coupon",
5301                    method: "POST",
5302                    dataType: "json",
5303                    data: data,
5304                    coupon_code: new_coupon
5305                })
5306                    .done(function( data_obj ) {
5307                        toastr.clear();
5308                        if( data_obj.success ) {
5309                            SetCartDiscount( data_obj.results );
5310                            SetCartCouponCode( this.coupon_code );
5311                            RenderCartContents();
5312                        }
5313                    })
5314                    .fail(function( jqXHR, textStatus ) {
5315                        SetCartDiscount();
5316                        SetCartCouponCode();
5317                        RenderCartContents();
5318                    });
5319            }
5320            else
5321                toastr.clear();
5322        });
5323
5324        $('#account-email').change( function() {
5325            ValidateCheckoutEmailAddress();
5326            $('#account-name-div').slideUp();
5327        } ).keypress( CheckEnterKeyPress );
5328
5329        $('#account-password').change( function() {
5330            ValidateCheckoutPassword();
5331            $('#account-name-div').slideUp();
5332        }).keypress( CheckEnterKeyPress );
5333
5334        $('#account-name').change( ValidateCheckoutName ).keypress( CheckEnterKeyPress );
5335
5336        $('#checkout-continue-button').click( function() {
5337            let email = ValidateCheckoutEmailAddress();
5338            if( email === false )
5339                return false;
5340
5341            let create_account = $('#account-create-checkbox').is(':checked');
5342
5343
5344            if( create_account && $('#account-password-div').css('display') === 'none' ) {
5345                                DisableControl('checkout-continue-button');
5346
5347                $('#account-password-error-message').hide();
5348                $('#account-password-div').slideDown();
5349                setTimeout(() => {
5350                    EnableControl('checkout-continue-button');
5351                    $('#account-password').focus();
5352                }, 300)
5353            }
5354            else {
5355                if( create_account && ValidateCheckoutPassword() === false )
5356                    return false;
5357
5358                                let account_name_visible = ($('#account-name-div').css('display') !== 'none');
5359                let account_name = (account_name_visible ? $('#account-name').val().trim() : '');
5360                if( account_name_visible && account_name === '' ) {
5361                    $('#account-name-error-message').slideDown();
5362                    $('#account-name').focus();
5363                    return false;
5364                }
5365                                DisableControl('checkout-continue-button');
5366                StartCheckout({
5367                    'email': $('#account-email').val(),
5368                    'password': $('#account-password').val(),
5369                    'customer_name': account_name
5370                });
5371            }
5372        });
5373
5374        $('#cart-icon').click( function() {
5375            OpenCart();
5376            return false;
5377        });
5378        $('#cart-contents').on('change','.cart-item-quantity-select', function() {
5379            let cart_index = $(this).attr('data-index');
5380            let new_quantity = parseInt( $(this).val(), 10 );
5381            let cart = GetCartContents();
5382            if( new_quantity === 0 ) {
5383                Swal.fire({
5384                    title: 'Are you sure you wish to remove this item from your cart?',
5385                    showDenyButton: false,
5386                    showCancelButton: true,
5387                    confirmButtonText: "Yes"
5388                }).then((result) => {
5389                    if (result.isConfirmed) {
5390                        cart.splice(cart_index, 1);
5391                        SetCartContents( cart );
5392                        RenderCartContents();
5393                    }
5394                });
5395            }
5396            else {
5397                cart[cart_index].quantity = new_quantity;
5398
5399                SetCartContents( cart );
5400                RenderCartContents();
5401            }
5402        })
5403        .on('click', '.delete-cart-item', function() {
5404            let cart_index = $(this).attr('data-index');
5405            let cart = GetCartContents();
5406            Swal.fire({
5407                title: 'Are you sure you wish to remove this item from your cart?',
5408                showDenyButton: false,
5409                showCancelButton: true,
5410                confirmButtonText: "Yes"
5411            }).then((result) => {
5412                if (result.isConfirmed) {
5413                    cart.splice(cart_index, 1);
5414                    SetCartContents( cart );
5415                    RenderCartContents();
5416                }
5417            });
5418        })
5419        .on('click','.edit-cart-item-add-on-instructions', function() {
5420            let cart_index = $(this).attr('data-cart-index');
5421            let add_on_index = $(this).attr('data-add-on-index');
5422            let cart = GetCartContents();
5423            if( Array.isArray( cart ) && Array.isArray( cart[ cart_index ].add_ons ) ) {
5424                let selector_suffix = cart_index + '-' + add_on_index;
5425                let instructions_div = $('#cart-item-add-on-instructions-' + selector_suffix );
5426                let instructions = cart[ cart_index ].add_ons[ add_on_index ].instructions;
5427                let s = '<textarea class="form-control" id="cart-item-instructions-textarea-' + selector_suffix + '">' +
5428                    (typeof instructions === 'string' ? escapeHtml( instructions ) : '') + '</textarea>' +
5429                    '<button type="button" class="btn-small save-cart-item-instructions button button-white button-light btn-block" style="margin: 5px 0 0 0;" ' +
5430                    'data-cart-index="' + cart_index + '" data-add-on-index="' + add_on_index + '">Save</button>';
5431                instructions_div.html( s );
5432                $('#cart-item-instructions-textarea-' + selector_suffix).focus();
5433            }
5434        })
5435        .on('click','.save-cart-item-instructions',function() {
5436            let cart_index = $(this).attr('data-cart-index');
5437            let add_on_index = $(this).attr('data-add-on-index');
5438            let instructions_div = $('#cart-item-add-on-instructions-' + cart_index + '-' + add_on_index );
5439            let cart = GetCartContents();
5440            if( Array.isArray( cart ) && Array.isArray( cart[ cart_index ].add_ons ) ) {
5441                let new_instructions = $('#cart-item-instructions-textarea-' + cart_index + '-' + add_on_index ).val().trim();
5442                cart[ cart_index ].add_ons[ add_on_index ].instructions = new_instructions;
5443                instructions_div.html( GetHtmlForAddOnInstructions( new_instructions, cart_index, add_on_index ) );
5444                SetCartContents( cart );
5445            }
5446        });
5447
5448                    let coupon_code = "".trim();
5449            if( coupon_code !== '' ) {
5450                $('#coupon-code').val( coupon_code );
5451                $('#apply-coupon-button').click();
5452            }
5453            });
5454
5455    function GetCartContents()
5456    {
5457        let cart = localStorage.getItem( cart_key );
5458        if( typeof cart === 'string' ) {
5459            let cart_object = JSON.parse(cart);
5460            if( !Array.isArray( cart_object ) )
5461                return [];
5462            else
5463                return cart_object;
5464        }
5465        else
5466            return [];
5467    }
5468
5469    function SetCartContents( new_cart )
5470    {
5471        localStorage.setItem( cart_key, JSON.stringify( new_cart ) );
5472        UpdateCartBadge();
5473    }
5474
5475    function SetCartCouponCode( code )
5476    {
5477        if( typeof code === 'undefined' )
5478            localStorage.removeItem( coupon_key );
5479        else
5480            localStorage.setItem( coupon_key, code );
5481    }
5482
5483    function GetCartCouponCode()
5484    {
5485        return localStorage.getItem( coupon_key );
5486    }
5487
5488    function SetCartDiscount( discount_data )
5489    {
5490        if( typeof discount_data === 'undefined' )
5491            localStorage.removeItem( discount_key );
5492        else
5493            localStorage.setItem( discount_key, JSON.stringify( discount_data ) );
5494    }
5495
5496    function GetCartDiscount()
5497    {
5498        let discount = localStorage.getItem( discount_key );
5499        if( typeof discount === 'string' ) {
5500            let discount_object = JSON.parse(discount);
5501            if( !Array.isArray( discount_object ) )
5502                return [];
5503            else
5504                return discount_object;
5505        }
5506        else
5507            return [];
5508    }
5509
5510    function UpdateCartBadge()
5511    {
5512        let new_cart = GetCartContents();
5513
5514        let badge_counter = 0;
5515        for( let i = 0; i < new_cart.length; i++ )
5516            badge_counter += parseInt( new_cart[i].quantity, 10 );
5517
5518        $('#cart-item-count').html( badge_counter ).css('visibility',( badge_counter === 0 ? 'hidden' : 'visible' ));
5519        if( badge_counter > 0 )
5520            $('#extra-check-out-text').html('<a href="#" id="extra-check-out-link" class="button button-leaf" style="margin: 10px 0 0 0;">' +
5521                "Cart" +
5522                '</a>');
5523        else
5524            $('#extra-check-out-text').html('');
5525    }
5526
5527    function GetCurrentTotalQuantityForProduct( product )
5528    {
5529        let cart = GetCartContents();
5530
5531        let has_reached_max_quantity = false;
5532        let scan_cart = true;
5533        let total_existing_quantity_in_cart = 0;
5534        for( let i = 0; i < cart.length; i++ ) {
5535                        if (cart[i].product_id == product.product_id && cart[i].variant_id == product.variant_id)
5536                total_existing_quantity_in_cart += parseInt( cart[i].quantity, 10 );
5537
5538            if( total_existing_quantity_in_cart >= product.max_quantity )
5539                total_existing_quantity_in_cart = product.max_quantity;
5540
5541            if( product.quantity + total_existing_quantity_in_cart > product.max_quantity ) {
5542                has_reached_max_quantity = true;
5543                scan_cart = false;
5544            }
5545        }
5546        return {
5547            total_existing_quantity_in_cart: total_existing_quantity_in_cart,
5548            has_reached_max_quantity: has_reached_max_quantity
5549        };
5550    }
5551
5552    function AddProductToCart( product )
5553    {
5554        let cart = GetCartContents();
5555
5556        let found_existing_item_in_cart = false;
5557        let cart_inspection = GetCurrentTotalQuantityForProduct( product );
5558        let max_quantity = Math.max( parseInt(product.max_quantity,10), cart_inspection.total_existing_quantity_in_cart );
5559
5560        if( cart_inspection.has_reached_max_quantity ) {
5561            found_existing_item_in_cart = true;
5562            toastr.clear();
5563            toastr.info('Maximum quantity reached','',{timeOut: 10000});
5564        }
5565        else {
5566            for (let i = 0; i < cart.length; i++) {
5567                let all_found = true;
5568
5569                                if (cart[i].product_id == product.product_id && cart[i].variant_id == product.variant_id) {
5570
5571                                        if (Array.isArray(cart[i].add_ons) && Array.isArray(product.add_ons)) {
5572                        let found_add_on_matches = [];
5573                        for (let j = 0; j < cart[i].add_ons.length; j++) {
5574                            let found_add_on_match = false;
5575                            for (let k = 0; k < product.add_ons.length; k++) {
5576                                if (cart[i].add_ons[j].id == product.add_ons[k].id &&
5577                                    (product.add_ons[k].allow_user_input_customization_text != 1 ||
5578                                        (product.add_ons[k].allow_user_input_customization_text == 1 &&
5579                                            cart[i].add_ons[j].instructions == product.add_ons[k].instructions))) {
5580                                    found_add_on_match = true;
5581                                    break;
5582                                }
5583                            }
5584                            found_add_on_matches[j] = found_add_on_match;
5585                        }
5586                        for (let j = 0; j < found_add_on_matches.length; j++)
5587                            if (found_add_on_matches[j] !== true)
5588                                all_found = false;
5589
5590                        if (cart[i].add_ons.length !== product.add_ons.length)
5591                            all_found = false;
5592                    }
5593                    if (all_found) {
5594                        found_existing_item_in_cart = true;
5595
5596                                                if (parseInt(cart[i].quantity, 10) + parseInt(product.quantity, 10) > max_quantity ) {
5597                            cart[i].quantity = parseInt(max_quantity, 10);
5598                            toastr.clear();
5599                            toastr.info('Quantity reduced to match what is in-stock','',{timeOut: 10000});
5600                        }
5601                        else
5602                            cart[i].quantity = parseInt(cart[i].quantity, 10) + parseInt(product.quantity, 0);
5603
5604                        break;
5605                    }
5606                }
5607            }
5608        }
5609        if( !found_existing_item_in_cart )
5610            cart.push( product );
5611
5612        SetCartContents( cart );
5613        OpenCart();
5614    }
5615
5616    function RemoveProductFromCart( product_id )
5617    {
5618        let cart = GetCartContents();
5619
5620        for( let i = 0; i < cart.length; i++ ) {
5621            if (cart[i].product_id == product_id) {
5622                cart.splice(i, 1);
5623                SetCartContents( cart );
5624                UpdateCartBadge();
5625                return;
5626            }
5627        }
5628    }
5629
5630    function EmptyCart() {
5631        SetCartContents([]);
5632        UpdateCartBadge();
5633    }
5634
5635    function GetHtmlForAddOnInstructions( instructions, cart_index, add_on_index )
5636    {
5637        return ( typeof instructions === 'string' && instructions.trim() !== '' ? escapeHtml( instructions ) : 'Add instructions' ) +
5638            '<a href="#" class="edit-cart-item-add-on-instructions" data-cart-index="' + cart_index + '" data-add-on-index="' + add_on_index + '">' +
5639            '<i class="icon-pencil"></i></a>';
5640    }
5641
5642    function RenderCartContents( skip_shipping = false )
5643    {
5644        let s = '';
5645        let cart = GetCartContents();
5646        let total_price = new BigNumber('0.00');
5647        let discounts = GetCartDiscount();
5648
5649        if( cart.length === 0 ) {
5650            s = '<div style="padding: 20px;">No items.</div>';
5651            $('#check-out-now-div').hide();
5652        }
5653        else {
5654            let cart_coupon_code = GetCartCouponCode();
5655            $('#coupon-code').val( cart_coupon_code === null ? '' : cart_coupon_code );
5656
5657            $('#check-out-now-div').show();
5658            for( let i = 0; i < cart.length; i++ ) {
5659                let item = cart[i];
5660                let item_price = (typeof item.sale_price === 'string' && item.sale_price !== '' ? item.sale_price : item.price);
5661                let item_is_on_sale = (typeof item.sale_price === 'string' && item.sale_price !== '');
5662                total_price = total_price.plus( BigNumber( item.quantity ).times( BigNumber( item_price ) ) );
5663
5664                let cart_inspection = GetCurrentTotalQuantityForProduct( item );
5665                let max_quantity = parseInt(item.quantity,10) + parseInt(item.max_quantity,10) - cart_inspection.total_existing_quantity_in_cart;
5666                if( max_quantity > item.max_quantity )
5667                    max_quantity = item.max_quantity;
5668                if( max_quantity < item.quantity )
5669                    max_quantity = item.quantity;
5670
5671                let add_on_html = '';
5672                let add_on_price_difference = new BigNumber('0.00');
5673                for( let j = 0; j < item.add_ons.length; j++ ) {
5674                    let add_on = item.add_ons[j];
5675                    total_price = total_price.plus( BigNumber( item.quantity ).times( BigNumber( typeof add_on.sale_price_difference === 'string' && add_on.sale_price_difference !== '' ? add_on.sale_price_difference : add_on.price_difference ) ) );
5676                    add_on_html += '<div class="cart-item-add-on-div">' + escapeHtml( add_on.name );
5677                    if( typeof add_on.sale_price_difference === 'string' && add_on.sale_price_difference !== '' ) {
5678                        add_on_html += ' <del>' + escapeHtml(store_currency_symbol + add_on.price_difference) + '</del>' +
5679                            escapeHtml(store_currency_symbol + add_on.sale_price_difference);
5680                        add_on_price_difference = add_on_price_difference.plus( BigNumber( add_on.sale_price_difference ) );
5681                    }
5682                    else {
5683                        add_on_html += ' ' + escapeHtml(store_currency_symbol + add_on.price_difference);
5684                        add_on_price_difference = add_on_price_difference.plus( BigNumber( add_on.price_difference ) );
5685                    }
5686
5687                    add_on_html += '<div class="cart-item-add-on-instructions" id="cart-item-add-on-instructions-' + i + '-' + j + '">' +
5688                        (add_on.allow_user_input_customization_text == 1 ? GetHtmlForAddOnInstructions( add_on.instructions, i, j ) : '') +
5689                        '</div>';
5690
5691                    add_on_html += '</div>';
5692                }
5693
5694                let quantity_html = '<div class="cart-item-quantity">';
5695                quantity_html += '<select id="cart-item-quantity' + i + '" class="form-control cart-item-quantity-select" data-index="' + i +'" style="width: auto;">';
5696                for( let j = 0; j <= max_quantity; j++ ) {
5697                    quantity_html += '<option value="' + j + '"' + ( item.quantity == j ? ' selected' : '') + '>' +
5698                        'Qty: ' + j + '</option>';
5699                }
5700                quantity_html += '</select>';
5701
5702                quantity_html += '</div>';
5703
5704                let price_html = '', base_price_html = '';
5705                let item_price_bignumber = new BigNumber( item.price );
5706                let item_base_price_bignumber = item_price_bignumber;
5707                item_price_bignumber = item_price_bignumber.plus( add_on_price_difference );
5708                if( item_is_on_sale ) {
5709                    let item_sale_price_bignumber = new BigNumber( item.sale_price );
5710                    item_base_price_bignumber = item_sale_price_bignumber;
5711
5712                    item_sale_price_bignumber = item_sale_price_bignumber.plus( add_on_price_difference );
5713
5714                                        price_html += '<del>' + escapeHtml(store_currency_symbol + item_price_bignumber) + '</del> ' +
5715                        ( item_sale_price_bignumber.isZero() ? 'Free' : escapeHtml(store_currency_symbol + item_sale_price_bignumber) );
5716
5717                    if( !item_base_price_bignumber.isEqualTo( item_sale_price_bignumber ) )
5718                        base_price_html = ' (' + store_currency_symbol + item_base_price_bignumber + '/ea)';
5719                }
5720                else {
5721                    price_html += escapeHtml(store_currency_symbol + item_price_bignumber);
5722                    if( !item_base_price_bignumber.isEqualTo( item_price_bignumber ) )
5723                        base_price_html = ' (' + store_currency_symbol + item_base_price_bignumber + '/ea)';
5724                }
5725
5726                price_html += ' <i class="icon-trash2 delete-cart-item" data-index="' + i + '"></i>';
5727
5728
5729
5730                s += '<div class="cart-item">' +
5731                    '<div class="cart-item-photo">' +
5732                    (typeof item.product_image_url === 'string' && item.product_image_url !== '' ? '<img src="' + escapeHtml( item.product_image_url ) + '" alt="' + escapeHtml( item.product_name ) + '">' : '' ) +
5733                    '</div>' +
5734                    '<div class="cart-item-description">' +
5735                    escapeHtml( item.product_name ) +
5736                    base_price_html +
5737                    (typeof item.variant_name === 'string' && item.variant_name !== '' ? '<div class="cart-item-variant-name">' + escapeHtml( item.variant_name ) + '</div>' : '' ) +
5738                    add_on_html +
5739                    '</div>' +
5740                    '<div class="cart-item-price">' +
5741                    price_html +
5742                    quantity_html +
5743                    '</div>' +
5744                    '</div>';
5745            }
5746        }
5747
5748        $('#cart-contents').html( s );
5749        let discounted_price = total_price;
5750        let discount_html = '';
5751        let coupon_code = '';
5752        for( let i = 0; i < discounts.length; i++ ) {
5753            let discount = discounts[i];
5754            if( i === 0 ) {
5755                coupon_code = discount.discount_code;
5756                discount_html += '<div class="coupon-description"><span class="float-left-desktop">Coupon Code:</span> <kbd><a href="#" class="remove-coupon-code" data-toggle="tooltip" title="Click to remove coupon code">' + escapeHtml( discount.discount_code ) + ' ' +
5757                    '&times;</a></kbd></div>';
5758            }
5759            let discount_amount = new BigNumber( discount.discount_amount );
5760            discount_amount = discount_amount.dividedBy( 100 )
5761            discounted_price = discounted_price.minus( discount_amount );
5762
5763            discount_html += '<div class="coupon-discounts"><span class="float-left-desktop">' +
5764                escapeHtml( discount['discount_description'] );
5765
5766            if( discount.discount_type === 'free_shipping' )
5767                discount_html += '</span>&nbsp;';
5768            else
5769                discount_html += ':</span> -' + store_currency_symbol + escapeHtml(discount_amount.toFormat(2));
5770
5771            discount_html += '</div>';
5772        }
5773                if( discounted_price.isLessThan( 0 ) )
5774            discounted_price = new BigNumber('0.00');
5775        if( discounted_price.isEqualTo( total_price ) )
5776            $('#cart-subtotal').html('<div><strong><span class="float-left-desktop">Subtotal:</span> ' + store_currency_symbol + total_price.toFormat(2) + '</strong></div>' + discount_html );
5777        else
5778            $('#cart-subtotal').html('<div><strong><span class="float-left-desktop">Subtotal:</span> ' + store_currency_symbol + total_price.toFormat(2) + '</strong></div>' +
5779                discount_html +
5780                '<div><strong><span class="float-left-desktop">Discounted Subtotal:</span> ' + store_currency_symbol + discounted_price.toFormat(2) + '</strong></div>');
5781
5782        global_cart_subtotal = total_price;
5783        global_discounted_cart_subtotal = discounted_price;
5784        global_cart_grand_total = discounted_price;
5785        if( skip_shipping === false )
5786            CalculateShipping();
5787
5788                $('body').tooltip({
5789            selector: '[data-toggle=tooltip]'
5790        });
5791    }
5792
5793    function CalculateShipping()
5794    {
5795        if( $('#cart-shipping').html() != '' )
5796            $('#cart-shipping').html('&nbsp;');
5797
5798        let cart = GetCartContents();
5799        if( cart.length === 0 )
5800            return false;
5801
5802        let data = {
5803            cart_contents: cart,
5804            coupon_code: GetCartCouponCode(),
5805            store_id: store_id
5806        };
5807        $.ajax({
5808            url: "https:\/\/brooksdemming.com\/store\/cart\/calculate-shipping",
5809            method: "POST",
5810            dataType: "json",
5811            data: data
5812        })
5813            .done(function( data_obj ) {
5814                toastr.clear();
5815                if( data_obj.success ) {
5816                    let shipping_cost_string;
5817                    let shipping_cost = new BigNumber( 0 );
5818
5819                    if( data_obj.results.shipping_cost == '0' )
5820                        shipping_cost_string = 'Free';
5821                    else if( data_obj.results.shipping_cost == '' || typeof data_obj.results.shipping_cost === 'undefined' )
5822                        shipping_cost_string = '';
5823                    else {
5824                        shipping_cost = new BigNumber(data_obj.results.shipping_cost);
5825                        shipping_cost_string = store_currency_symbol + shipping_cost.toFormat(2);
5826                    }
5827                    global_cart_grand_total = global_discounted_cart_subtotal.plus( shipping_cost );
5828                                        if( global_cart_grand_total.isLessThan( 0 ) )
5829                        global_cart_grand_total = new BigNumber('0.00');
5830                    let grand_total_html = '<div class="grand-total-div"><span class="float-left-desktop">Total:</span> ' +
5831                        store_currency_symbol + global_cart_grand_total.toFormat( 2 ) +
5832                        (tax_enabled ? '*' : '') +
5833                        '</div>';
5834                    if( tax_enabled )
5835                        grand_total_html += '<div style="margin:5px;" class="text-center"><em>* Tax is calculated during checkout</em></div>';
5836
5837                    if( shipping_cost_string != '' )
5838                        $('#cart-shipping').html('<div id="cart-shipping-inner"><span class="float-left-desktop">Shipping:</span> ' + shipping_cost_string + '</div>' + grand_total_html);
5839                    else
5840                        $('#cart-shipping').html( grand_total_html );
5841
5842                                        let server_discounts = Array.isArray( data_obj.results.discounts ) ? data_obj.results.discounts : [];
5843                    if( server_discounts.length > 0 ) {
5844                        SetCartDiscount( server_discounts );
5845                        RenderCartContents( true );
5846                    }
5847                    else if( GetCartDiscount().length > 0 ) {
5848                        SetCartDiscount();
5849                        RenderCartContents( true );
5850                    }
5851                }
5852                else
5853                    $('#cart-shipping').html('');
5854            })
5855            .fail(function( jqXHR, textStatus ) {
5856                $('#cart-shipping').html('');
5857            });
5858    }
5859
5860    function OpenCart()
5861    {
5862        $('body').css('overflow','hidden');
5863        RenderCartContents();
5864        $('#cart-panel').show();
5865        $('.cart-panel-backdrop').show().addClass('open');
5866        $('#cart-panel-sidepanel').addClass('open');
5867    }
5868    function CloseCart()
5869    {
5870        $('body').css('overflow','auto');
5871        $('.cart-panel-backdrop').hide().removeClass('open');
5872        $('#cart-panel-sidepanel').removeClass('open');
5873        setTimeout( () => $('#cart-panel').hide(), 350 );
5874    }
5875</script>
vendor: 1 bytes, line 5875
5875
5876<script src='https://cdn.jsdelivr.net/npm/[email protected]/bignumber.min.js'></script>
5876
5877
5878<!-- GPT Popup Chat Button - Popup-specific styles -->
5879<style>
5880        #gotoTop, .stretched #gotoTop {
5881        right: 15px;
5882        bottom: 30px;
5883    }
5884        .gpt-popup-floating-btn {
5885        position: fixed;
5886                right: 67px;
5887                bottom: 24px;
5888        z-index: 1049;
5889        display: flex;
5890        align-items: center;
5891        gap: 10px;
5892        background: #e4ccc4;
5893        color: #000000;
5894        border: none;
5895        border-radius: 50px;
5896        padding: 14px 24px;
5897        font-size: 16px;
5898        font-weight: 500;
5899        cursor: pointer;
5900        box-shadow: 0 4px 20px rgba(0,0,0,0.25);
5901        transition: all 0.3s ease;
5902        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
5903    }
5904    .gpt-popup-floating-btn:hover {
5905        transform: translateY(-2px);
5906        box-shadow: 0 6px 25px rgba(0,0,0,0.3);
5907    }
5908    .gpt-popup-floating-btn:active {
5909        transform: translateY(0);
5910    }
5911    .gpt-popup-floating-btn svg {
5912        width: 24px;
5913        height: 24px;
5914        flex-shrink: 0;
5915    }
5916    .gpt-popup-floating-btn.collapsed {
5917        padding: 16px;
5918        border-radius: 50%;
5919    }
5920    .gpt-popup-floating-btn.collapsed .gpt-popup-btn-text {
5921        display: none;
5922    }
5923
5924    /* Popup container wrapper */
5925    .gpt-popup-overlay {
5926        position: fixed;
5927                right: 24px;
5928                bottom: 24px;
5929        z-index: 9999;
5930        opacity: 0;
5931        visibility: hidden;
5932        transition: opacity 0.3s ease, visibility 0.3s ease, background 0.3s ease;
5933        pointer-events: none;
5934    }
5935    .gpt-popup-overlay.active {
5936        opacity: 1;
5937        visibility: visible;
5938    }
5939
5940    /* Popup container */
5941    .gpt-popup-widget-container {
5942        position: relative;
5943        width: 400px;
5944        max-width: calc(100vw - 48px);
5945        height: 600px;
5946        max-height: calc(100vh - 48px);
5947        background: white;
5948        border-radius: 16px;
5949        overflow: hidden;
5950        box-shadow: 0 10px 40px rgba(0,0,0,0.3);
5951        transform: translateY(20px);
5952        transition: transform 0.3s ease, height 0.3s ease, max-height 0.3s ease;
5953        display: flex;
5954        flex-direction: column;
5955        pointer-events: auto;
5956    }
5957    .gpt-popup-overlay.active .gpt-popup-widget-container {
5958        transform: translateY(0);
5959    }
5960
5961    /* Expanded (modal) state — full viewport overlay, widget centered horizontally and taller */
5962    .gpt-popup-overlay.expanded {
5963        left: 0 !important;
5964        right: 0 !important;
5965        top: 0 !important;
5966        bottom: 0 !important;
5967        background: rgba(0,0,0,0.55);
5968        display: flex;
5969        align-items: center;
5970        justify-content: center;
5971        padding: 24px;
5972        pointer-events: auto;
5973        transition: opacity 0.3s ease, visibility 0.3s ease, background 0.3s ease;
5974    }
5975    .gpt-popup-overlay.expanded .gpt-popup-widget-container {
5976        width: 600px;
5977        height: calc(100vh - 48px);
5978        max-height: 900px;
5979    }
5980
5981    /* Close/minimize button */
5982    .gpt-popup-close-btn {
5983        position: absolute;
5984        top: 12px;
5985        right: 12px;
5986        background: rgba(255,255,255,0.2);
5987        border: none;
5988        border-radius: 50%;
5989        width: 32px;
5990        height: 32px;
5991        display: flex;
5992        align-items: center;
5993        justify-content: center;
5994        cursor: pointer;
5995        color: #000000;
5996        transition: background 0.2s;
5997        z-index: 10;
5998    }
5999    .gpt-popup-close-btn:hover {
6000        background: rgba(255,255,255,0.3);
6001    }
6002    .gpt-popup-close-btn svg {
6003        width: 16px;
6004        height: 16px;
6005    }
6006
6007    /* Expand / collapse-to-popup button */
6008    .gpt-popup-expand-btn {
6009        position: absolute;
6010        top: 12px;
6011        right: 52px;
6012        background: rgba(255,255,255,0.2);
6013        border: none;
6014        border-radius: 50%;
6015        width: 32px;
6016        height: 32px;
6017        display: flex;
6018        align-items: center;
6019        justify-content: center;
6020        cursor: pointer;
6021        color: #000000;
6022        transition: background 0.2s;
6023        z-index: 10;
6024        padding: 0;
6025    }
6026    .gpt-popup-expand-btn:hover {
6027        background: rgba(255,255,255,0.3);
6028    }
6029    .gpt-popup-expand-btn svg {
6030        width: 16px;
6031        height: 16px;
6032    }
6033    .gpt-popup-overlay.expanded .gpt-popup-expand-icon {
6034        display: none;
6035    }
6036    .gpt-popup-collapse-icon {
6037        display: none;
6038    }
6039    .gpt-popup-overlay.expanded .gpt-popup-collapse-icon {
6040        display: block;
6041    }
6042
6043    /* Hidden floating button when popup is open */
6044    .gpt-popup-btn-hidden {
6045        opacity: 0;
6046        visibility: hidden;
6047        pointer-events: none;
6048    }
6049
6050    /* Override chat widget container to fill popup */
6051    .gpt-popup-widget-container .gpt-popup-chat-container {
6052        height: 100%;
6053        max-width: none;
6054        border-radius: 0;
6055        box-shadow: none;
6056    }
6057
6058    /* Mobile responsive */
6059    @media (max-width: 480px) {
6060        .gpt-popup-floating-btn {
6061                        right: 16px;
6062                        bottom: 16px;
6063            padding: 12px 20px;
6064            font-size: 14px;
6065        }
6066        .gpt-popup-overlay {
6067            left: 0;
6068            right: 0;
6069            top: 0;
6070            bottom: 0;
6071            padding: 0;
6072        }
6073        .gpt-popup-overlay.active {
6074            pointer-events: auto;
6075        }
6076        .gpt-popup-widget-container {
6077            width: 100%;
6078            max-width: 100%;
6079            height: 100%;
6080            max-height: 100%;
6081            border-radius: 0;
6082        }
6083    }
6084</style>
6085
6086<!-- Floating Chat Button -->
6087<button type="button" class="gpt-popup-floating-btn" id="gpt-popup-open-btn">
6088    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
6089        <path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/>
6090    </svg>
6091    <span class="gpt-popup-btn-text">Chat with us</span>
6092</button>
6093
6094<!-- Popup Overlay -->
6095<div class="gpt-popup-overlay" id="gpt-popup-overlay">
6096    <div class="gpt-popup-widget-container">
6097        <!-- Expand / Collapse-to-popup Button -->
6098        <button type="button" class="gpt-popup-expand-btn" id="gpt-popup-expand-btn" title="Expand">
6099            <svg class="gpt-popup-expand-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
6100                <polyline points="15 3 21 3 21 9"/>
6101                <polyline points="9 21 3 21 3 15"/>
6102                <line x1="21" y1="3" x2="14" y2="10"/>
6103                <line x1="3" y1="21" x2="10" y2="14"/>
6104            </svg>
6105            <svg class="gpt-popup-collapse-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
6106                <polyline points="4 14 10 14 10 20"/>
6107                <polyline points="20 10 14 10 14 4"/>
6108                <line x1="14" y1="10" x2="21" y2="3"/>
6109                <line x1="3" y1="21" x2="10" y2="14"/>
6110            </svg>
6111        </button>
6112
6113        <!-- Close Button -->
6114        <button type="button" class="gpt-popup-close-btn" id="gpt-popup-close-btn" title="Minimize">
6115            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
6116                <path d="M6 9l6 6 6-6"/>
6117            </svg>
6118        </button>
6119
6120        
6121<style>
6122    /* GPT Chat Widget Styles - Prefix: gpt-popup- */
6123    .gpt-popup-chat-container {
6124        background: white;
6125        border-radius: 12px;
6126        overflow: hidden;
6127        display: flex;
6128        flex-direction: column;
6129                height: 100%;
6130            }
6131
6132    /* Mobile adjustments for full page mode */
6133    @media (max-width: 600px), (max-height: 700px) {
6134        .gpt-popup-chat-container {
6135                    }
6136    }
6137
6138    .gpt-popup-chat-header {
6139        background: #e4ccc4;
6140        color: #000000;
6141        padding: 16px;
6142        display: flex;
6143        align-items: center;
6144        gap: 12px;
6145        flex-shrink: 0;
6146    }
6147
6148    .gpt-popup-chat-avatar {
6149        width: 44px;
6150        height: 44px;
6151        border-radius: 50%;
6152        background: rgba(255,255,255,0.2);
6153        display: flex;
6154        align-items: center;
6155        justify-content: center;
6156        font-size: 18px;
6157        font-weight: 600;
6158        overflow: hidden;
6159        flex-shrink: 0;
6160    }
6161
6162    .gpt-popup-chat-avatar img {
6163        width: 100%;
6164        height: 100%;
6165        object-fit: cover;
6166    }
6167
6168    .gpt-popup-chat-header-info {
6169        min-width: 0;
6170    }
6171
6172    .gpt-popup-chat-header-info h2,
6173    .gpt-popup-chat-header-info h3 {
6174        margin: 0 0 4px 0;
6175        font-size: 16px;
6176        font-weight: 600;
6177        color: inherit;
6178    }
6179
6180    .gpt-popup-chat-header-info p {
6181        margin: 0;
6182        font-size: 13px;
6183        opacity: 0.85;
6184    }
6185
6186    .gpt-popup-desc-wrapper {
6187        overflow: hidden;
6188        transition: max-height 0.35s ease;
6189        cursor: pointer;
6190    }
6191    .gpt-popup-desc-wrapper.collapsed p {
6192        white-space: nowrap;
6193        overflow: hidden;
6194        text-overflow: ellipsis;
6195    }
6196
6197    .gpt-popup-messages-wrapper {
6198        position: relative;
6199        flex: 1;
6200        display: flex;
6201        flex-direction: column;
6202        overflow: hidden;
6203        min-height: 150px;
6204    }
6205
6206    .gpt-popup-chat-messages {
6207        flex: 1;
6208        overflow-y: auto;
6209        padding: 16px;
6210        background: #f8f9fa;
6211        display: flex;
6212        flex-direction: column;
6213        gap: 12px;
6214            }
6215
6216    .gpt-popup-message {
6217        display: flex;
6218        gap: 8px;
6219        animation: gpt-popup-fadeIn 0.3s ease;
6220    }
6221
6222    @keyframes gpt-popup-fadeIn {
6223        from { opacity: 0; transform: translateY(8px); }
6224        to { opacity: 1; transform: translateY(0); }
6225    }
6226
6227    .gpt-popup-message.user {
6228        flex-direction: row-reverse;
6229    }
6230
6231    .gpt-popup-message-avatar {
6232        width: 28px;
6233        height: 28px;
6234        border-radius: 50%;
6235        background: #e4ccc4;
6236        display: flex;
6237        align-items: center;
6238        justify-content: center;
6239        color: #000000;
6240        font-size: 11px;
6241        font-weight: 600;
6242        flex-shrink: 0;
6243        overflow: hidden;
6244    }
6245
6246    .gpt-popup-message-avatar img {
6247        width: 100%;
6248        height: 100%;
6249        object-fit: cover;
6250    }
6251
6252    .gpt-popup-message.user .gpt-popup-message-avatar {
6253        background: #ffc0cb;
6254        color: #000000;
6255    }
6256
6257    .gpt-popup-message-content {
6258        max-width: 80%;
6259        padding: 10px 14px;
6260        border-radius: 14px;
6261        font-size: 14px;
6262        line-height: 1.5;
6263    }
6264
6265    .gpt-popup-message.assistant .gpt-popup-message-content {
6266        background: white;
6267        border-bottom-left-radius: 4px;
6268        box-shadow: 0 1px 2px rgba(0,0,0,0.1);
6269    }
6270
6271    .gpt-popup-message.user .gpt-popup-message-content {
6272        background: #ffc0cb;
6273        color: #000000;
6274        border-bottom-right-radius: 4px;
6275    }
6276
6277    .gpt-popup-message-content p {
6278        margin: 0 0 8px 0;
6279    }
6280
6281    .gpt-popup-message-content p:last-child {
6282        margin-bottom: 0;
6283    }
6284
6285    .gpt-popup-message-content ul {
6286        margin: 6px 0;
6287        padding-left: 18px;
6288    }
6289
6290    .gpt-popup-message-content li {
6291        margin-bottom: 3px;
6292    }
6293
6294    .gpt-popup-message-content table {
6295        overflow-x: auto;
6296        display: block;
6297        max-width: 100%;
6298    }
6299
6300    .gpt-popup-message-content a {
6301        color: #ffc0cb;
6302        text-decoration: underline;
6303        word-break: break-word;
6304    }
6305
6306    .gpt-popup-message-content a:hover {
6307        text-decoration: none;
6308    }
6309
6310    .gpt-popup-message.user .gpt-popup-message-content a {
6311        color: #000000;
6312    }
6313
6314    .gpt-popup-typing-indicator {
6315        display: none;
6316        gap: 4px;
6317        padding: 8px;
6318    }
6319
6320    .gpt-popup-typing-indicator span {
6321        width: 6px;
6322        height: 6px;
6323        border-radius: 50%;
6324        background: #999;
6325        animation: gpt-popup-typing 1.4s infinite ease-in-out;
6326    }
6327
6328    .gpt-popup-typing-indicator span:nth-child(2) { animation-delay: 0.2s; }
6329    .gpt-popup-typing-indicator span:nth-child(3) { animation-delay: 0.4s; }
6330
6331    @keyframes gpt-popup-typing {
6332        0%, 60%, 100% { transform: translateY(0); }
6333        30% { transform: translateY(-6px); }
6334    }
6335
6336    .gpt-popup-starters-section {
6337        padding: 12px 16px;
6338        border-top: 1px solid #eee;
6339        background: white;
6340        flex-shrink: 0;
6341    }
6342
6343    .gpt-popup-starters-label {
6344        font-size: 11px;
6345        color: #888;
6346        text-transform: uppercase;
6347        letter-spacing: 0.5px;
6348        margin-bottom: 8px;
6349    }
6350
6351    .gpt-popup-starters-grid {
6352        display: flex;
6353        flex-wrap: wrap;
6354        gap: 6px;
6355    }
6356
6357    .gpt-popup-starter-btn {
6358        background: #f0f2f5;
6359        border: none;
6360        padding: 8px 12px;
6361        border-radius: 16px;
6362        font-size: 13px;
6363        cursor: pointer;
6364        transition: all 0.2s;
6365        color: #333;
6366    }
6367
6368    .gpt-popup-starter-btn:hover {
6369        background: #e4e6e9;
6370    }
6371
6372    .gpt-popup-input-section {
6373        padding: 12px 16px 16px;
6374        background: white;
6375        border-top: 1px solid #eee;
6376        flex-shrink: 0;
6377    }
6378
6379    .gpt-popup-input-wrapper {
6380        display: flex;
6381        gap: 8px;
6382        align-items: flex-end;
6383    }
6384
6385    .gpt-popup-chat-input {
6386        flex: 1;
6387        border: 2px solid #e0e0e0;
6388        border-radius: 20px;
6389        padding: 10px 16px;
6390        font-size: 14px;
6391        outline: none;
6392        transition: border-color 0.2s;
6393        resize: none;
6394        min-height: 40px;
6395        max-height: 100px;
6396        font-family: inherit;
6397    }
6398
6399    .gpt-popup-chat-input:focus {
6400        border-color: #ffc0cb;
6401    }
6402
6403    .gpt-popup-send-btn {
6404        width: 40px;
6405        height: 40px;
6406        border-radius: 50%;
6407        background: #ffc0cb;
6408        border: none;
6409        color: #000000;
6410        cursor: pointer;
6411        display: flex;
6412        align-items: center;
6413        justify-content: center;
6414        transition: all 0.2s;
6415        flex-shrink: 0;
6416    }
6417
6418    .gpt-popup-send-btn:hover {
6419        background: #d8a3ac;
6420        transform: scale(1.05);
6421    }
6422
6423    .gpt-popup-send-btn:disabled {
6424        background: #ccc;
6425        cursor: not-allowed;
6426        transform: none;
6427    }
6428
6429    .gpt-popup-send-btn svg {
6430        width: 16px;
6431        height: 16px;
6432    }
6433
6434    /* Option buttons */
6435    .gpt-popup-options-container {
6436        display: flex;
6437        flex-wrap: wrap;
6438        gap: 6px;
6439        margin-top: 10px;
6440    }
6441
6442    .gpt-popup-option-btn {
6443        background: #ffc0cb;
6444        color: #000000;
6445        border: none;
6446        padding: 8px 14px;
6447        border-radius: 16px;
6448        font-size: 13px;
6449        cursor: pointer;
6450        transition: all 0.2s;
6451    }
6452
6453    .gpt-popup-option-btn:hover {
6454        background: #d8a3ac;
6455        transform: translateY(-1px);
6456    }
6457
6458    .gpt-popup-option-other {
6459        background: #f0f2f5;
6460        color: #333;
6461        border: 1px solid #ddd;
6462    }
6463
6464    .gpt-popup-option-other:hover {
6465        background: #e4e6e9;
6466    }
6467
6468    .gpt-popup-options-container.disabled .gpt-popup-option-btn {
6469        opacity: 0.5;
6470        cursor: not-allowed;
6471        pointer-events: none;
6472    }
6473
6474    /* Multiselect container */
6475    .gpt-popup-multiselect-container {
6476        display: flex;
6477        flex-direction: column;
6478        gap: 6px;
6479    }
6480
6481    .gpt-popup-multiselect-btn {
6482        background: white;
6483        color: #333;
6484        border: 2px solid #ddd;
6485        text-align: left;
6486        display: flex;
6487        align-items: center;
6488    }
6489
6490    .gpt-popup-multiselect-btn:hover {
6491        background: #f8f9fa;
6492        border-color: #bbb;
6493        transform: none;
6494    }
6495
6496    .gpt-popup-multiselect-btn.selected {
6497        background: #ffc0cb;
6498        color: #000000;
6499        border-color: #ffc0cb;
6500    }
6501
6502    .gpt-popup-multiselect-btn.selected:hover {
6503        background: #d8a3ac;
6504        border-color: #d8a3ac;
6505    }
6506
6507    .gpt-popup-multiselect-check {
6508        display: none;
6509        margin-right: 4px;
6510        font-weight: bold;
6511    }
6512
6513    .gpt-popup-multiselect-btn.selected .gpt-popup-multiselect-check {
6514        display: inline;
6515    }
6516
6517    .gpt-popup-multiselect-other-input {
6518        display: none;
6519        padding: 0 4px;
6520    }
6521
6522    .gpt-popup-multiselect-other-field {
6523        flex: 1;
6524        border: 2px solid #ddd;
6525        border-radius: 16px;
6526        padding: 8px 14px;
6527        font-size: 13px;
6528        outline: none;
6529        transition: border-color 0.2s;
6530        font-family: inherit;
6531    }
6532
6533    .gpt-popup-multiselect-other-field:focus {
6534        border-color: #ffc0cb;
6535    }
6536
6537    .gpt-popup-multiselect-submit {
6538        background: #ffc0cb;
6539        color: #000000;
6540        border: none;
6541        padding: 10px 20px;
6542        border-radius: 16px;
6543        font-size: 14px;
6544        font-weight: 500;
6545        cursor: pointer;
6546        transition: all 0.2s;
6547        margin-top: 4px;
6548        align-self: flex-start;
6549    }
6550
6551    .gpt-popup-multiselect-submit:hover {
6552        background: #d8a3ac;
6553    }
6554
6555    .gpt-popup-multiselect-submit-error {
6556        animation: gpt-popup-multiselectShake 0.5s ease;
6557    }
6558
6559    @keyframes gpt-popup-multiselectShake {
6560        0%, 100% { transform: translateX(0); }
6561        15% { transform: translateX(-6px); }
6562        30% { transform: translateX(6px); }
6563        45% { transform: translateX(-4px); }
6564        60% { transform: translateX(4px); }
6565        75% { transform: translateX(-2px); }
6566        90% { transform: translateX(2px); }
6567    }
6568
6569    .gpt-popup-multiselect-container.disabled .gpt-popup-multiselect-submit {
6570        opacity: 0.5;
6571        cursor: not-allowed;
6572        pointer-events: none;
6573    }
6574
6575    .gpt-popup-multiselect-container.disabled .gpt-popup-multiselect-other-field {
6576        opacity: 0.5;
6577        pointer-events: none;
6578    }
6579
6580    /* Scroll indicator */
6581    .gpt-popup-scroll-indicator {
6582        position: absolute;
6583        bottom: 12px;
6584        left: 50%;
6585        transform: translateX(-50%);
6586        background: rgba(0,0,0,0.75);
6587        color: white;
6588        padding: 6px 12px;
6589        border-radius: 16px;
6590        font-size: 12px;
6591        cursor: pointer;
6592        display: none;
6593        align-items: center;
6594        gap: 6px;
6595        z-index: 10;
6596        box-shadow: 0 2px 8px rgba(0,0,0,0.2);
6597        transition: opacity 0.2s;
6598    }
6599
6600    .gpt-popup-scroll-indicator:hover {
6601        background: rgba(0,0,0,0.9);
6602    }
6603
6604    .gpt-popup-scroll-indicator.visible {
6605        display: flex;
6606        animation: gpt-popup-scrollFadeIn 0.3s ease;
6607    }
6608
6609    @keyframes gpt-popup-scrollFadeIn {
6610        from { opacity: 0; transform: translateX(-50%) translateY(8px); }
6611        to { opacity: 1; transform: translateX(-50%) translateY(0); }
6612    }
6613
6614    @keyframes spin {
6615        from { transform: rotate(0deg); }
6616        to { transform: rotate(360deg); }
6617    }
6618
6619    /* Continue button section */
6620    .gpt-popup-continue-section {
6621        padding: 16px 24px;
6622        background: white;
6623        border-top: 1px solid #eee;
6624        text-align: center;
6625        flex-shrink: 0;
6626    }
6627
6628    .gpt-popup-continue-btn {
6629        display: inline-flex;
6630        align-items: center;
6631        justify-content: center;
6632        padding: 12px 24px;
6633        background: #ffc0cb;
6634        color: #000000;
6635        border: none;
6636        border-radius: 8px;
6637        font-size: 15px;
6638        font-weight: 500;
6639        cursor: pointer;
6640        transition: all 0.2s;
6641    }
6642
6643    .gpt-popup-continue-btn:hover {
6644        background: #d8a3ac;
6645        transform: translateY(-1px);
6646    }
6647
6648    /* Inline outcome button (for continue_chat outcomes) */
6649    .gpt-popup-inline-outcome-btn-wrap {
6650        padding: 4px 0;
6651    }
6652    .gpt-popup-inline-outcome-btn {
6653        display: inline-flex;
6654        align-items: center;
6655        padding: 10px 18px;
6656        background: #ffc0cb;
6657        color: #000000 !important;
6658        border: none;
6659        border-radius: 8px;
6660        font-size: 14px;
6661        font-weight: 500;
6662        text-decoration: none !important;
6663        cursor: pointer;
6664        transition: all 0.2s;
6665    }
6666    .gpt-popup-inline-outcome-btn:hover {
6667        background: #d8a3ac;
6668        color: #000000 !important;
6669        text-decoration: none !important;
6670        transform: translateY(-1px);
6671    }
6672
6673    /* Resume prompt */
6674    .gpt-popup-resume-prompt {
6675        padding: 20px 16px;
6676        background: #f8f9fa;
6677        text-align: center;
6678        flex: 1;
6679        display: flex;
6680        flex-direction: column;
6681        justify-content: center;
6682        align-items: center;
6683        gap: 16px;
6684    }
6685
6686    .gpt-popup-resume-text {
6687        font-size: 15px;
6688        color: #333;
6689        line-height: 1.5;
6690    }
6691
6692    .gpt-popup-resume-buttons {
6693        display: flex;
6694        gap: 10px;
6695    }
6696
6697    .gpt-popup-resume-btn {
6698        padding: 10px 20px;
6699        border-radius: 8px;
6700        font-size: 14px;
6701        font-weight: 500;
6702        cursor: pointer;
6703        transition: all 0.2s;
6704        border: none;
6705        background: #ffc0cb;
6706        color: #000000;
6707    }
6708
6709    .gpt-popup-resume-btn:hover {
6710        opacity: 0.9;
6711        transform: translateY(-1px);
6712    }
6713
6714    .gpt-popup-resume-fresh {
6715        background: #f0f2f5;
6716        color: #333;
6717        border: 1px solid #ddd;
6718    }
6719
6720    .gpt-popup-resume-fresh:hover {
6721        background: #e4e6e9;
6722    }
6723
6724    /* Recognized user link */
6725    .gpt-popup-recognized-user {
6726        font-size: 11px;
6727        color: rgba(255,255,255,0.7);
6728        margin-top: 3px;
6729    }
6730
6731    .gpt-popup-recognized-user a {
6732        color: rgba(255,255,255,0.9);
6733        text-decoration: underline;
6734    }
6735
6736    .gpt-popup-recognized-user a:hover {
6737        color: white;
6738    }
6739
6740    
6741        .gpt-popup-message.owner {
6742        flex-direction: row;
6743    }
6744    .gpt-popup-message.owner .gpt-popup-message-avatar {
6745        background: #3498db;
6746        color: #fff;
6747    }
6748    .gpt-popup-message.owner .gpt-popup-message-content {
6749        background: #e8f4fd;
6750        color: #1a1a2e;
6751    }
6752    .gpt-popup-owner-name {
6753        font-size: 11px;
6754        font-weight: 600;
6755        color: #3498db;
6756        margin-bottom: 4px;
6757    }
6758    .gpt-popup-message.system-info {
6759        justify-content: center;
6760    }
6761    .gpt-popup-message.system-info .system-info-content {
6762        background: #f0f0f0;
6763        color: #666;
6764        font-size: 13px;
6765        text-align: center;
6766        padding: 8px 16px;
6767        border-radius: 12px;
6768        max-width: 85%;
6769    }
6770    .gpt-popup-live-badge {
6771        display: inline-flex;
6772        align-items: center;
6773        gap: 5px;
6774        background: #27ae60;
6775        color: #fff !important;
6776        font-size: 11px;
6777        font-weight: 700;
6778        padding: 2px 8px;
6779        border-radius: 10px;
6780        margin-left: 10px;
6781        letter-spacing: 0.5px;
6782    }
6783    .gpt-popup-live-dot {
6784        width: 6px;
6785        height: 6px;
6786        border-radius: 50%;
6787        background: #fff;
6788        animation: gpt-popup-live-pulse 1.5s infinite;
6789    }
6790    @keyframes gpt-popup-live-pulse {
6791        0%, 100% { opacity: 1; }
6792        50% { opacity: 0.3; }
6793    }
6794    .gpt-popup-escalation-form {
6795        padding: 16px;
6796        margin: 10px 0;
6797        background: #f8f9fa;
6798        border-radius: 12px;
6799        border: 1px solid #e0e0e0;
6800    }
6801    .gpt-popup-escalation-form-title {
6802        font-weight: 600;
6803        font-size: 14px;
6804        margin-bottom: 12px;
6805        color: #333;
6806    }
6807    .gpt-popup-escalation-form-subtitle {
6808        font-size: 13px;
6809        color: #666;
6810        margin-bottom: 12px;
6811        line-height: 1.4;
6812    }
6813    .gpt-popup-escalation-field {
6814        margin-bottom: 8px;
6815    }
6816    .gpt-popup-escalation-input {
6817        width: 100%;
6818        padding: 8px 12px;
6819        border: 1px solid #ddd;
6820        border-radius: 8px;
6821        font-size: 14px;
6822        font-family: inherit;
6823        box-sizing: border-box;
6824    }
6825    .gpt-popup-escalation-input:focus {
6826        outline: none;
6827        border-color: #e4ccc4;
6828    }
6829    .gpt-popup-escalation-submit {
6830        width: 100%;
6831        padding: 10px;
6832        background: #ffc0cb;
6833        color: #000000;
6834        border: none;
6835        border-radius: 8px;
6836        font-size: 14px;
6837        font-weight: 600;
6838        cursor: pointer;
6839        margin-top: 4px;
6840    }
6841    .gpt-popup-escalation-submit:hover {
6842        background: #d8a3ac;
6843    }
6844    .gpt-popup-escalation-submit:disabled {
6845        opacity: 0.6;
6846        cursor: not-allowed;
6847    }
6848</style>
6849
6850<!-- Chat Container -->
6851<div class="gpt-popup-chat-container" id="gpt-popup-chat">
6852        <!-- Header -->
6853    <div class="gpt-popup-chat-header">
6854        <div class="gpt-popup-chat-avatar">
6855                            <img src="https://attractwell-2052-fast.b-cdn.net/images/2052/697c76b415f40.png" alt="">
6856                    </div>
6857        <div class="gpt-popup-chat-header-info">
6858            <h3>Leadership &amp; Professional Development Guide</h3>
6859                            <div class="gpt-popup-desc-wrapper" id="gpt-popup-desc-wrapper">
6860                    <p>Discover which professional development service is right for you — from leadership courses to mentorship, audits, and coach certification.</p>
6861                </div>
6862                                </div>
6863    </div>
6864    
6865    <!-- Messages -->
6866    <div class="gpt-popup-messages-wrapper">
6867        <div class="gpt-popup-chat-messages" id="gpt-popup-messages">
6868            <!-- Welcome message -->
6869            <div class="gpt-popup-message assistant">
6870                <div class="gpt-popup-message-avatar">
6871                                            <img src="https://attractwell-2052-fast.b-cdn.net/images/2052/697c76b415f40.png" alt="">
6872                                    </div>
6873                <div class="gpt-popup-message-content">
6874                    Welcome! I&#039;m here to help you find the right professional development solution for your needs. Whether you&#039;re looking to enhance your leadership skills, get business clarity, or explore coaching certification, let&#039;s find the perfect fit for you. What brings you here today?                </div>
6875            </div>
6876
6877            
6878            <!-- Typing indicator -->
6879            <div class="gpt-popup-message assistant" id="gpt-popup-typing" style="display:none;">
6880                <div class="gpt-popup-message-avatar">
6881                                            <img src="https://attractwell-2052-fast.b-cdn.net/images/2052/697c76b415f40.png" alt="">
6882                                    </div>
6883                <div class="gpt-popup-message-content">
6884                    <div class="gpt-popup-typing-indicator" style="display:flex;">
6885                        <span></span><span></span><span></span>
6886                    </div>
6887                </div>
6888            </div>
6889        </div>
6890
6891        <!-- Scroll indicator -->
6892        <div class="gpt-popup-scroll-indicator" id="gpt-popup-scroll-indicator">
6893            <span>More below</span>
6894            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" style="width:14px;height:14px;">
6895                <path d="M19 14l-7 7m0 0l-7-7m7 7V3"/>
6896            </svg>
6897        </div>
6898    </div>
6899
6900    <!-- Conversation Starters -->
6901        <div class="gpt-popup-starters-section" id="gpt-popup-starters">
6902        <div class="gpt-popup-starters-label">Tap to start</div>
6903        <div class="gpt-popup-starters-grid">
6904                            <button type="button" class="gpt-popup-starter-btn" data-starter="I&#039;m an emerging leader looking to improve my team management">I&#039;m an emerging leader looking to improve my team management</button>
6905                            <button type="button" class="gpt-popup-starter-btn" data-starter="I&#039;m a business owner interested in mentorship">I&#039;m a business owner interested in mentorship</button>
6906                            <button type="button" class="gpt-popup-starter-btn" data-starter="I need clarity on my business and HR processes">I need clarity on my business and HR processes</button>
6907                            <button type="button" class="gpt-popup-starter-btn" data-starter="I&#039;m interested in becoming a certified coach">I&#039;m interested in becoming a certified coach</button>
6908                    </div>
6909    </div>
6910    
6911    <!-- Input Section -->
6912    <div class="gpt-popup-input-section" id="gpt-popup-input-section">
6913        <div class="gpt-popup-input-wrapper">
6914            <textarea class="gpt-popup-chat-input" id="gpt-popup-input" placeholder="Type a message..." rows="1"></textarea>
6915            <button type="button" class="gpt-popup-send-btn" id="gpt-popup-send-btn">
6916                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
6917                    <path d="M22 2L11 13M22 2l-7 20-4-9-9-4 20-7z"/>
6918                </svg>
6919            </button>
6920        </div>
6921    </div>
6922</div>
6923
6924
6925<script src="/js/gpt-format-markdown.js?v=1"></script>
vendor: 1 bytes, line 6925
6925
6926<script src="/js/gpt-chat-core.js?v=24"></script>
vendor: 1 bytes, line 6926
6926
6927<script>
6928(function() {
6929        var gptWidgetConfig = {
6930        mode: 'popup',
6931        cssPrefix: 'gpt-popup-',
6932        fetchPrefix: '',
6933        gptSlug: 'leadership-professional-development-guide',
6934        gptPhoto: 'https://attractwell-2052-fast.b-cdn.net/images/2052/697c76b415f40.png',
6935        gptInitial: 'L',
6936        sessionToken: '',
6937        storageKey: 'gpt_session_popup_leadership-professional-development-guide',
6938        messagesKey: 'gpt_messages_popup_leadership-professional-development-guide',
6939        completedKey: 'gpt_completed_popup_leadership-professional-development-guide',
6940        recognizedContact: null,
6941        lessonContext: null,
6942                collectName: false,
6943        requireName: false,
6944        collectEmail: false,
6945        requireEmail: false,
6946        collectPhone: false,
6947        requirePhone: false,
6948        contactCollectTiming: 0,
6949        contactCollectMethod: 0,
6950        escalationFormTitle: "",
6951        escalationFormSubtitle: "",
6952        escalationMessagePlaceholder: "",
6953        escalationSubmitButtonLabel: "",
6954        isEmbed: false,
6955        multichoiceMode: 1,
6956        streamResponses: 1    };
6957    window.gptWidgetConfig = gptWidgetConfig;
6958
6959        var elements = {
6960        messagesContainer: document.getElementById('gpt-popup-messages'),
6961        chatInput: document.getElementById('gpt-popup-input'),
6962        sendBtn: document.getElementById('gpt-popup-send-btn'),
6963        startersSection: document.getElementById('gpt-popup-starters'),
6964        inputSection: document.getElementById('gpt-popup-input-section'),
6965        scrollIndicator: document.getElementById('gpt-popup-scroll-indicator'),
6966        typingIndicator: document.getElementById('gpt-popup-typing')
6967    };
6968
6969        var userName = gptWidgetConfig.recognizedContact ? gptWidgetConfig.recognizedContact.name : null;
6970
6971        function getInitials(name) {
6972        if (!name) return 'You';
6973        var words = name.trim().split(/\s+/);
6974        var initials = '';
6975        for (var i = 0; i < Math.min(words.length, 3); i++) {
6976            if (words[i].length > 0) {
6977                initials += words[i][0].toUpperCase();
6978            }
6979        }
6980        return initials || 'You';
6981    }
6982
6983        function updateUserAvatars() {
6984        var initials = getInitials(userName);
6985        elements.messagesContainer.querySelectorAll('.gpt-popup-message.user .gpt-popup-message-avatar').forEach(function(avatar) {
6986            if (!avatar.querySelector('img')) {
6987                avatar.textContent = initials;
6988            }
6989        });
6990    }
6991
6992        var chat = new GptChatCore({
6993        fetchPrefix: gptWidgetConfig.fetchPrefix,
6994        gptSlug: gptWidgetConfig.gptSlug,
6995        gptPhoto: gptWidgetConfig.gptPhoto,
6996        gptInitial: gptWidgetConfig.gptInitial,
6997        elements: elements,
6998        cssPrefix: gptWidgetConfig.cssPrefix,
6999        lessonContext: gptWidgetConfig.lessonContext,
7000        isEmbed: gptWidgetConfig.isEmbed,
7001        multichoiceMode: gptWidgetConfig.multichoiceMode,
7002        streamResponses: gptWidgetConfig.streamResponses,
7003        contact: {
7004            collectName: gptWidgetConfig.collectName,
7005            requireName: gptWidgetConfig.requireName,
7006            collectEmail: gptWidgetConfig.collectEmail,
7007            requireEmail: gptWidgetConfig.requireEmail,
7008            collectPhone: gptWidgetConfig.collectPhone,
7009            requirePhone: gptWidgetConfig.requirePhone,
7010            contactCollectTiming: gptWidgetConfig.contactCollectTiming,
7011            contactCollectMethod: gptWidgetConfig.contactCollectMethod,
7012            recognizedContact: gptWidgetConfig.recognizedContact
7013        },
7014        escalation: {
7015            formTitle: gptWidgetConfig.escalationFormTitle,
7016            formSubtitle: gptWidgetConfig.escalationFormSubtitle,
7017            messagePlaceholder: gptWidgetConfig.escalationMessagePlaceholder,
7018            submitButtonLabel: gptWidgetConfig.escalationSubmitButtonLabel
7019        },
7020        callbacks: {
7021            getUserInitials: function() { return getInitials(userName); },
7022            onMessageSent: function() {
7023                    saveConversation();
7024                    collapseDescription();
7025                },
7026            onResponseComplete: function() {
7027                saveConversation();
7028                if (chat.promptContactIfNeeded) {
7029                    chat.promptContactIfNeeded();
7030                }
7031            },
7032            onOutcomeComplete: function(data) {
7033                if (data.success) {
7034                                        if (!data.continue_chat) {
7035                        try {
7036                            var savedUrl = data.redirect_url || window.location.href;
7037                            var savedLabel = data.button_label || 'Continue';
7038                                                        if (data.lesson_advance_to_next) {
7039                                savedLabel = data.redirect_url ? 'Continue to Next Lesson' : 'Back to Class';
7040                            }
7041                            localStorage.setItem(gptWidgetConfig.completedKey, JSON.stringify({
7042                                redirectUrl: savedUrl,
7043                                buttonLabel: savedLabel
7044                            }));
7045                        } catch(e) { console.error('Error saving completed state:', e); }
7046                    }
7047                    handleOutcome(data);
7048                }
7049            },
7050            onContactNameSet: function(name) {
7051                userName = name;
7052                updateUserAvatars();
7053            },
7054            onContactCollected: function() {
7055                                if (chat.contact.contactCollectTiming === 1) {
7056                    var input = elements.chatInput;
7057                    if (input && input.value.trim()) {
7058                        chat.sendMessage(input.value.trim());
7059                        input.value = '';
7060                    }
7061                }
7062                                if (chat.executePendingOutcome) {
7063                    chat.executePendingOutcome();
7064                }
7065            }
7066        }
7067    });
7068
7069        if (gptWidgetConfig.sessionToken) {
7070        chat.sessionToken = gptWidgetConfig.sessionToken;
7071    }
7072
7073        
7074        if (chat.initScrollBehavior) {
7075        chat.initScrollBehavior();
7076    }
7077
7078        var descWrapper = document.getElementById('gpt-popup-desc-wrapper');
7079    var descCollapsed = false;
7080
7081    function collapseDescription() {
7082        if (!descWrapper || descCollapsed) {
7083            return;
7084        }
7085        descCollapsed = true;
7086                var fullHeight = descWrapper.scrollHeight;
7087        descWrapper.style.maxHeight = fullHeight + 'px';
7088                descWrapper.offsetHeight;
7089        descWrapper.classList.add('collapsed');
7090        descWrapper.style.maxHeight = '1.4em';
7091    }
7092
7093    function toggleDescription() {
7094        if (!descWrapper || !descCollapsed) {
7095            return;
7096        }
7097        if (descWrapper.classList.contains('collapsed')) {
7098                        descWrapper.classList.remove('collapsed');
7099            var fullHeight = descWrapper.scrollHeight;
7100            descWrapper.classList.add('collapsed');
7101                        descWrapper.offsetHeight;
7102            descWrapper.classList.remove('collapsed');
7103            descWrapper.style.maxHeight = fullHeight + 'px';
7104        } else {
7105            descWrapper.classList.add('collapsed');
7106            descWrapper.style.maxHeight = '1.4em';
7107        }
7108    }
7109
7110    if (descWrapper) {
7111        descWrapper.addEventListener('click', toggleDescription);
7112    }
7113
7114        
7115        function saveConversation() {
7116        try {
7117            var sessionToken = chat.getSessionToken ? chat.getSessionToken() : chat.sessionToken;
7118            if (sessionToken) {
7119                localStorage.setItem(gptWidgetConfig.storageKey, sessionToken);
7120            }
7121        } catch(e) { }
7122    }
7123
7124            function handleOutcome(outcome) {
7125                if (outcome.continue_chat) {
7126            return;
7127        }
7128
7129        var lessonCtx = gptWidgetConfig.lessonContext;
7130        var redirectUrl = outcome.redirect_url || window.location.href;
7131        var buttonLabel = outcome.button_label || 'Continue';
7132
7133                if (outcome.lesson_advance_to_next) {
7134            buttonLabel = outcome.redirect_url ? 'Continue to Next Lesson' : 'Back to Class';
7135            if (!outcome.redirect_url && lessonCtx) {
7136                redirectUrl = '/members/vaults/' + lessonCtx.vault_id + '/classes/' + lessonCtx.online_class_id;
7137            }
7138        }
7139
7140                addContinueButton(redirectUrl, buttonLabel);
7141    }
7142
7143        function addContinueButton(redirectUrl, buttonLabel, thankYouMessage, skipSave) {
7144        elements.inputSection.style.display = 'none';
7145
7146                var existingContinue = elements.inputSection.parentNode.querySelectorAll('.gpt-popup-continue-section');
7147        existingContinue.forEach(function(el) { el.remove(); });
7148
7149        var continueDiv = document.createElement('div');
7150        continueDiv.className = 'gpt-popup-continue-section';
7151        continueDiv.innerHTML =
7152            '<button type="button" class="gpt-popup-continue-btn">' +
7153                (buttonLabel || 'Continue') +
7154                '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" style="width:18px;height:18px;margin-left:8px;">' +
7155                    '<path d="M5 12h14M12 5l7 7-7 7"/>' +
7156                '</svg>' +
7157            '</button>';
7158
7159        elements.inputSection.parentNode.insertBefore(continueDiv, elements.inputSection);
7160        elements.messagesContainer.scrollTop = elements.messagesContainer.scrollHeight;
7161
7162        continueDiv.querySelector('button').addEventListener('click', function() {
7163            if (redirectUrl) {
7164                if (gptWidgetConfig.isEmbed) {
7165                                        window.open(redirectUrl, '_top');
7166                } else {
7167                    window.location.href = redirectUrl;
7168                }
7169            }
7170        });
7171
7172                if (!skipSave) {
7173            try {
7174                localStorage.setItem(gptWidgetConfig.completedKey, JSON.stringify({
7175                    redirectUrl: redirectUrl,
7176                    buttonLabel: buttonLabel || 'Continue'
7177                }));
7178            } catch(e) { }
7179        }
7180    }
7181
7182        function loadConversation(sessionToken, indicatorEl) {
7183        if (indicatorEl) {
7184            indicatorEl.innerHTML = '<div class="gpt-popup-resume-text">Loading conversation...</div>';
7185        }
7186
7187        return fetch(gptWidgetConfig.fetchPrefix + '/gpt/messages?session=' + encodeURIComponent(sessionToken))
7188            .then(function(response) { return response.json(); })
7189            .then(function(data) {
7190                if (indicatorEl) indicatorEl.remove();
7191                elements.messagesContainer.style.display = '';
7192
7193                if (data.success && data.messages && data.messages.length > 0) {
7194                                        chat.sessionToken = sessionToken;
7195                    elements.messagesContainer.innerHTML = '';
7196
7197                                        if (data.owner_name) {
7198                        chat.ownerName = data.owner_name;
7199                    }
7200
7201                                        if (data.contact_collected && chat.contact) {
7202                        chat.contact.collected = true;
7203                    }
7204
7205                    data.messages.forEach(function(msg) {
7206                        if (msg.role === 'system') {
7207                            return;
7208                        }
7209                        chat.addMessage(msg.content, msg.role);
7210                        if (msg.id && msg.id > chat.lastMessageId) {
7211                            chat.lastMessageId = msg.id;
7212                        }
7213                    });
7214
7215                    if (chat.attachOptionHandlers) {
7216                        chat.attachOptionHandlers(elements.messagesContainer);
7217                    }
7218                    elements.messagesContainer.scrollTop = elements.messagesContainer.scrollHeight;
7219                    collapseDescription();
7220
7221                                        if (data.status !== 'completed') {
7222                        elements.inputSection.style.display = '';
7223                        elements.chatInput.disabled = false;
7224                        if (!elements.chatInput.value) {
7225                            elements.chatInput.placeholder = 'Type a message...';
7226                        }
7227                        elements.sendBtn.disabled = false;
7228                        elements.sendBtn.style.opacity = '';
7229                        elements.sendBtn.style.pointerEvents = '';
7230                    }
7231
7232                                        if (data.escalated && data.status !== 'completed') {
7233                        chat.isEscalated = true;
7234                        chat.showLiveIndicator();
7235                        chat.startPolling();
7236                        if (elements.chatInput) {
7237                            elements.chatInput.placeholder = 'Type a message...';
7238                        }
7239                                        } else if (data.status === 'completed') {
7240                        try {
7241                            var savedCompleted = localStorage.getItem(gptWidgetConfig.completedKey);
7242                            var restoreUrl = window.location.href;
7243                            var restoreLabel = 'Continue';
7244                            var thankYou = null;
7245
7246                            if (savedCompleted) {
7247                                var completedState = JSON.parse(savedCompleted);
7248                                if (completedState) {
7249                                    restoreUrl = completedState.redirectUrl || restoreUrl;
7250                                    restoreLabel = completedState.buttonLabel || restoreLabel;
7251                                }
7252                            } else if (data.redirect_url) {
7253                                                                restoreUrl = data.redirect_url;
7254                                restoreLabel = data.button_label || restoreLabel;
7255                                thankYou = data.thank_you_message || null;
7256                            }
7257
7258                            addContinueButton(restoreUrl, restoreLabel, thankYou, true);
7259                        } catch(e) { console.error('Error restoring completed state:', e); }
7260                    }
7261                    return true;
7262                } else {
7263                                        localStorage.removeItem(gptWidgetConfig.storageKey);
7264                    localStorage.removeItem(gptWidgetConfig.completedKey);
7265                    if (elements.startersSection) elements.startersSection.style.display = '';
7266                    return false;
7267                }
7268            })
7269            .catch(function(err) {
7270                console.error('Error fetching messages:', err);
7271                if (indicatorEl) indicatorEl.remove();
7272                elements.messagesContainer.style.display = '';
7273                if (elements.startersSection) elements.startersSection.style.display = '';
7274                localStorage.removeItem(gptWidgetConfig.storageKey);
7275                localStorage.removeItem(gptWidgetConfig.completedKey);
7276                return false;
7277            });
7278    }
7279
7280        function checkForExistingSession() {
7281                var urlParams = new URLSearchParams(window.location.search);
7282        var resumeToken = urlParams.get('resume');
7283        if (resumeToken) {
7284                        urlParams.delete('resume');
7285            var newUrl = window.location.pathname;
7286            if (urlParams.toString()) {
7287                newUrl += '?' + urlParams.toString();
7288            }
7289            window.history.replaceState({}, '', newUrl);
7290
7291                        if (elements.startersSection) {
7292                elements.startersSection.style.display = 'none';
7293            }
7294            elements.messagesContainer.style.display = 'none';
7295            var loadingDiv = document.createElement('div');
7296            loadingDiv.className = 'gpt-popup-resume-prompt';
7297            elements.messagesContainer.parentNode.insertBefore(loadingDiv, elements.messagesContainer);
7298
7299            loadConversation(resumeToken, loadingDiv);
7300            return;
7301        }
7302
7303                try {
7304            var savedSession = localStorage.getItem(gptWidgetConfig.storageKey);
7305            if (savedSession) {
7306                showResumePrompt(savedSession);
7307            }
7308        } catch(e) { }
7309            }
7310
7311        function showResumePrompt(savedSession) {
7312        var resumeDiv = document.createElement('div');
7313        resumeDiv.className = 'gpt-popup-resume-prompt';
7314        resumeDiv.innerHTML =
7315            '<div class="gpt-popup-resume-text">You have a previous conversation. Would you like to continue?</div>' +
7316            '<div class="gpt-popup-resume-buttons">' +
7317                '<button type="button" class="gpt-popup-resume-btn" id="gpt-popup-resume-yes">Resume</button>' +
7318                '<button type="button" class="gpt-popup-resume-btn gpt-popup-resume-fresh" id="gpt-popup-resume-no">Start Fresh</button>' +
7319            '</div>';
7320
7321        elements.messagesContainer.parentNode.insertBefore(resumeDiv, elements.messagesContainer);
7322        elements.messagesContainer.style.display = 'none';
7323        if (elements.startersSection) elements.startersSection.style.display = 'none';
7324
7325                elements.chatInput.disabled = true;
7326        elements.chatInput.placeholder = 'Choose an option above to continue...';
7327        elements.sendBtn.disabled = true;
7328        elements.sendBtn.style.opacity = '0.5';
7329        elements.sendBtn.style.pointerEvents = 'none';
7330
7331        document.getElementById('gpt-popup-resume-yes').addEventListener('click', function() {
7332            elements.chatInput.disabled = false;
7333            elements.chatInput.placeholder = 'Type a message...';
7334            elements.sendBtn.disabled = false;
7335            elements.sendBtn.style.opacity = '';
7336            elements.sendBtn.style.pointerEvents = '';
7337
7338            loadConversation(savedSession, resumeDiv);
7339        });
7340
7341        document.getElementById('gpt-popup-resume-no').addEventListener('click', function() {
7342            elements.chatInput.disabled = false;
7343            elements.chatInput.placeholder = 'Type a message...';
7344            elements.sendBtn.disabled = false;
7345            elements.sendBtn.style.opacity = '';
7346            elements.sendBtn.style.pointerEvents = '';
7347            resumeDiv.remove();
7348            elements.messagesContainer.style.display = '';
7349            if (elements.startersSection) elements.startersSection.style.display = '';
7350            try {
7351                localStorage.removeItem(gptWidgetConfig.storageKey);
7352                localStorage.removeItem(gptWidgetConfig.completedKey);
7353            } catch(e) { }
7354        });
7355    }
7356
7357    checkForExistingSession();
7358
7359        elements.chatInput.addEventListener('input', function() {
7360        this.style.height = 'auto';
7361        this.style.height = Math.min(this.scrollHeight, 100) + 'px';
7362    });
7363
7364        elements.chatInput.addEventListener('keydown', function(e) {
7365                if (e.key === 'Tab') {
7366            chat.handleKeydown(e);
7367            return;
7368        }
7369                if (e.key === 'Enter' && !e.shiftKey) {
7370                        chat.handleKeydown(e);
7371        }
7372    });
7373
7374        elements.sendBtn.addEventListener('click', function() {
7375                chat.sendMessage();
7376    });
7377
7378        document.querySelectorAll('.gpt-popup-starter-btn').forEach(function(btn) {
7379        btn.addEventListener('click', function() {
7380            elements.chatInput.value = this.dataset.starter;
7381                        chat.sendMessage();
7382        });
7383    });
7384
7385        var notMeLink = document.getElementById('gpt-popup-not-me-link');
7386    if (notMeLink) {
7387        notMeLink.addEventListener('click', function(e) {
7388            e.preventDefault();
7389            document.cookie = 'contact_id=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;';
7390            if (chat.resetContact) {
7391                chat.resetContact();
7392            }
7393            userName = null;
7394            var recognizedUser = document.getElementById('gpt-popup-recognized-user');
7395            if (recognizedUser) {
7396                recognizedUser.style.display = 'none';
7397            }
7398            if (chat.showContactModal) {
7399                chat.showContactModal();
7400            }
7401        });
7402    }
7403
7404        window.gptWidgetChat = window.gptWidgetChat || {};
7405    window.gptWidgetChat['gpt-popup-chat'] = chat;
7406})();
7407</script>
7407
7408    </div>
7409</div>
7410
7411<script>
7412$(function() {
7413    var $openBtn = $('#gpt-popup-open-btn');
7414    var $overlay = $('#gpt-popup-overlay');
7415    var $closeBtn = $('#gpt-popup-close-btn');
7416    var $expandBtn = $('#gpt-popup-expand-btn');
7417    var $chatInput = $('#gpt-popup-input');
7418
7419    if ($openBtn.length === 0 || $overlay.length === 0) {
7420        console.error('GPT Popup: Required elements not found');
7421        return;
7422    }
7423
7424    function openPopup() {
7425        $overlay.addClass('active');
7426        $openBtn.addClass('gpt-popup-btn-hidden');
7427        if ($chatInput.length) $chatInput.focus();
7428    }
7429
7430    function closePopup() {
7431        $overlay.removeClass('active expanded');
7432        $expandBtn.attr('title', 'Expand');
7433        $openBtn.removeClass('gpt-popup-btn-hidden');
7434    }
7435
7436    function toggleExpanded() {
7437        $overlay.toggleClass('expanded');
7438        var isExpanded = $overlay.hasClass('expanded');
7439        $expandBtn.attr('title', isExpanded ? 'Collapse' : 'Expand');
7440    }
7441
7442    $openBtn.on('click', function(e) {
7443        e.preventDefault();
7444        e.stopPropagation();
7445        openPopup();
7446    });
7447
7448    $closeBtn.on('click', function() {
7449        closePopup();
7450    });
7451
7452    /*  */
7453    $overlay.on('click', function(e) {
7454        if (e.target === this && $overlay.hasClass('expanded')) {
7455            toggleExpanded();
7456        }
7457    });
7458
7459    $expandBtn.on('click', function(e) {
7460        e.preventDefault();
7461        e.stopPropagation();
7462        toggleExpanded();
7463    });
7464
7465    $(document).on('keydown', function(e) {
7466        if (e.key === 'Escape' && $overlay.hasClass('active')) {
7467            if ($overlay.hasClass('expanded')) {
7468                toggleExpanded();
7469            } else {
7470                closePopup();
7471            }
7472        }
7473    });
7474});
7475</script>
7475
7476
7477<script>
7478$(function() {
7479        function openGptPopupFromHash() {
7480        var $overlay = $('#gpt-popup-overlay');
7481        var $openBtn = $('#gpt-popup-open-btn');
7482        var $chatInput = $('#gpt-popup-input');
7483        if ($overlay.length) {
7484            $overlay.addClass('active');
7485            if ($openBtn.length) {
7486                $openBtn.addClass('gpt-popup-btn-hidden');
7487            }
7488            if ($chatInput.length) {
7489                $chatInput.focus();
7490            }
7491        }
7492    }
7493
7494        var hash = window.location.hash.toLowerCase();
7495    if (hash === '#gpt' || hash === '#chat') {
7496                setTimeout(openGptPopupFromHash, 500);
7497    }
7498
7499        $(document).on('click', 'a[href="#gpt"], a[href="#chat"], a[href$="#gpt"], a[href$="#chat"]', function(e) {
7500        e.preventDefault();
7501        openGptPopupFromHash();
7502        return false;
7503    });
7504
7505        $(window).on('hashchange', function() {
7506        var newHash = window.location.hash.toLowerCase();
7507        if (newHash === '#gpt' || newHash === '#chat') {
7508            openGptPopupFromHash();
7509        }
7510        return false;
7511    });
7512});
7513</script>
7513
7514    </main><!-- main content end -->
7515
7516    <a name="contact"></a>
7517
7518    
7519    <footer id="footer" class="dark">
7520
7521        <!-- Copyrights
7522        ============================================= -->
7523        <div id="copyrights">
7524
7525            <div class="container clearfix text-center">
7526
7527                <div>
7528                    Copyright &copy; 2026                         by respective copyright holders, which include but may not be limited to Brooks Demming and AttractWell.                </div>
7529                            </div>
7530
7531        </div><!-- #copyrights end -->
7532
7533    </footer><!-- #footer end -->
7534    
7535</div><!-- #wrapper end -->
7536
7537
7538
7539
7540<style>
7541    .subscribe {
7542        font-weight: 300;
7543        margin-bottom:15px;
7544    }
7545    .subscribe label {
7546        font-weight: 300;
7547        display:inline;
7548        white-space:nowrap;
7549    }
7550    .subscribe > span, .subscribe > span > span {
7551        white-space:nowrap;
7552    }
7553    #contact-me-message {
7554        min-height:60px;
7555        margin-bottom:10px;
7556        max-height:120px;
7557    }
7558    .contact-form-address {
7559        display:none;
7560    }
7561    .sm-form-control {
7562        font-size: 1.8rem;
7563        height: auto;
7564    }
7565        .contact-form-grid {
7566        display: grid;
7567        grid-template-columns: 1fr 1fr;
7568        grid-gap: 2rem;
7569        align-items: center;
7570        justify-items: center;
7571        padding: 1rem;
7572    }
7573    .contact-form-grid > div {
7574        width: 100%;
7575    }
7576    @media (max-width: 991px) {
7577        .contact-form-grid {
7578            grid-template-columns: 1fr;
7579        }
7580    }
7581</style>
7582
7583<!-- Contact Me Modal -->
7584<div class="modal fade" id="contactMeModal" tabindex="-1" role="dialog" aria-labelledby="contactMeModalLabel" aria-hidden="true">
7585    <div class="modal-dialog modal-lg">
7586        <div class="modal-body">
7587            <div class="modal-content">
7588                <div class="modal-body">
7589                    <div class="contact-form-grid">
7590                                                    <div>
7591                                <img src="https://attractwell-2052-fast.b-cdn.net/images/2052-67c1c938149b9.jpg" style="width:100%;" loading="lazy">
7592                            </div>
7593                                                <div>
7594                            <div class="text-center">
7595                                <button type="button" class="close pull-right" data-dismiss="modal" aria-hidden="true">&times;</button>
7596                                <h2 class="ls1 nobottommargin" id="contactMeModalLabel">Brooks Demming</h2>
7597
7598                                <div style="color: #888888;font-weight:300;margin-bottom:10px;">
7599        USA<br>            <a href="tel:912-547-9943">912-547-9943</a>
7600        &bullet;
7601        <a href="mailto:&#115;&#117;&#112;&#112;&#111;&#114;&#116;&#64;&#98;&#114;&#111;&#111;&#107;&#115;&#100;&#101;&#109;&#109;&#105;&#110;&#103;&#46;&#99;&#111;&#109;">&#115;&#117;&#112;&#112;&#111;&#114;&#116;&#64;&#98;&#114;&#111;&#111;&#107;&#115;&#100;&#101;&#109;&#109;&#105;&#110;&#103;&#46;&#99;&#111;&#109;</a>
7602    <div style="margin-top:1rem;text-align:center;">
7603        
7604        <style>
7605        .social-icon {
7606            float: none;
7607            display: inline-block;
7608        }
7609        .si-snapchat:hover {
7610            background-color: #fffc00;
7611        }
7612        .snapchat-adjust {
7613            padding-top: 9px;
7614        }
7615        .snapchat-adjust:hover {
7616            padding-top: 15px;
7617        }
7618        .snapchat-adjust:not(.si-small):hover {
7619            padding-top: 18px;
7620        }
7621        .snapchat-adjust:hover i:first-child {
7622            visibility: hidden;
7623        }
7624        .snapchat-adjust i:last-child {
7625            color: #333 !important;
7626        }
7627        .fa-x-twitter:first-of-type {
7628            margin-top: 8px;
7629        }
7630        .fa-x-twitter:last-child {
7631            margin-top: 24px;
7632        }
7633        .fa-x-twitter-large {
7634            padding-top: 1px;
7635        }
7636        .fa-snapchat-ghost:first-of-type {
7637            margin-bottom:10px;
7638        }
7639        .fa-snapchat-ghost:last-child {
7640            position: relative;
7641            top: -1px;
7642        }
7643        .snapchat-adjust-large {
7644            padding-top: 10px;
7645        }
7646        .snapchat-adjust-large:hover {
7647            padding-top: 18px;
7648        }
7649        .snapchat-adjust-large:hover i:first-child {
7650            visibility: hidden;
7651        }
7652        .dark .snapchat-adjust-large i:last-child {
7653            color: #333 !important;
7654        }
7655        .fa-snapchat-ghost-large:first-of-type {
7656            margin-bottom:10px;
7657        }
7658    </style><a href="https://www.facebook.com/brooks.demming" target="_blank" class="social-icon si-small si-borderless si-facebook">
7659                    <i class="icon-facebook"></i>
7660                    <i class="icon-facebook"></i>
7661                </a><a href="https://twitter.com/brooklyndemm" target="_blank" class="social-icon si-small si-borderless si-twitter">
7662                    <i class="fa-brands fa-x-twitter"></i>
7663                    <i class="fa-brands fa-x-twitter"></i>
7664                </a><a href="https://www.instagram.com/demmingb/" target="_blank" class="social-icon si-small si-borderless si-instagram">
7665                    <i class="icon-instagram"></i>
7666                    <i class="icon-instagram"></i>
7667                </a><a href="https://www.youtube.com/channel/UCg0pPtKsAceF56wblE7vlXA" target="_blank" class="social-icon si-small si-borderless si-youtube">
7668                    <i class="icon-youtube"></i>
7669                    <i class="icon-youtube"></i>
7670                </a>    </div>
7671</div>
7672
7673
7674                                                                    <div><input type="text" id="contact-me-name" name="contact-me-name" value="" class="sm-form-control" placeholder="Name" maxlength="50" style="margin-bottom:10px;"></div>
7675                                    <div class="row">
7676                                        <div class="col-md-6"><input type="text" id="contact-me-phone" name="contact-me-phone" value="" class="sm-form-control" placeholder="Phone" maxlength="50" style="margin-bottom:10px;"></div>
7677                                        <div class="col-md-6"><input type="email" id="contact-me-email" name="contact-me-email" value="" class="sm-form-control" placeholder="Email" maxlength="100" style="margin-bottom:10px;"></div>
7678                                    </div>
7679                                    <div style="margin-bottom:10px;">
7680                                        <select class="sm-form-control" id="contact-me-country" name="contact-me-country">
7681                                            <optgroup label="My Country">
7682                                                <option value="">Please select</option>
7683                                                <option value="USA" selected>USA</option><option value="Australia">Australia</option><option value="Canada">Canada</option><option value="Singapore">Singapore</option><option value="Afghanistan">Afghanistan</option><option value="Albania">Albania</option><option value="Algeria">Algeria</option><option value="American Samoa">American Samoa</option><option value="Andorra">Andorra</option><option value="Angola">Angola</option><option value="Anguilla">Anguilla</option><option value="Antarctica">Antarctica</option><option value="Antigua and Barbuda">Antigua and Barbuda</option><option value="Argentina">Argentina</option><option value="Armenia">Armenia</option><option value="Aruba">Aruba</option><option value="Austria">Austria</option><option value="Azerbaidjan">Azerbaidjan</option><option value="Bahamas">Bahamas</option><option value="Bahrain">Bahrain</option><option value="Bangladesh">Bangladesh</option><option value="Barbados">Barbados</option><option value="Belarus">Belarus</option><option value="Belgium">Belgium</option><option value="Belize">Belize</option><option value="Benin">Benin</option><option value="Bermuda">Bermuda</option><option value="Bhutan">Bhutan</option><option value="Bolivia">Bolivia</option><option value="Bosnia-Herzegovina">Bosnia-Herzegovina</option><option value="Botswana">Botswana</option><option value="Bouvet Island">Bouvet Island</option><option value="Brazil">Brazil</option><option value="British Indian Ocean Territory">British Indian Ocean Territory</option><option value="Brunei">Brunei</option><option value="Bulgaria">Bulgaria</option><option value="Burkina Faso">Burkina Faso</option><option value="Burundi">Burundi</option><option value="Cambodia">Cambodia</option><option value="Cameroon">Cameroon</option><option value="Canary Islands">Canary Islands</option><option value="Cape Verde">Cape Verde</option><option value="Cayman Islands">Cayman Islands</option><option value="Central African Republic">Central African Republic</option><option value="Chad">Chad</option><option value="Chile">Chile</option><option value="China">China</option><option value="Christmas Island">Christmas Island</option><option value="Cocos (Keeling) Islands">Cocos (Keeling) Islands</option><option value="Colombia">Colombia</option><option value="Comoros">Comoros</option><option value="Congo">Congo</option><option value="Congo, The Democratic Republic Of The">Congo, The Democratic Republic Of The</option><option value="Cook Islands">Cook Islands</option><option value="Costa Rica">Costa Rica</option><option value="Croatia">Croatia</option><option value="Cuba">Cuba</option><option value="Cyprus">Cyprus</option><option value="Czech Republic">Czech Republic</option><option value="Denmark">Denmark</option><option value="Djibouti">Djibouti</option><option value="Dominica">Dominica</option><option value="Dominican Republic">Dominican Republic</option><option value="East Timor">East Timor</option><option value="Ecuador">Ecuador</option><option value="Egypt">Egypt</option><option value="El Salvador">El Salvador</option><option value="Equatorial Guinea">Equatorial Guinea</option><option value="Eritrea">Eritrea</option><option value="Estonia">Estonia</option><option value="Ethiopia">Ethiopia</option><option value="Falkland Islands">Falkland Islands</option><option value="Faroe Islands">Faroe Islands</option><option value="Fiji Islands">Fiji Islands</option><option value="Finland">Finland</option><option value="France">
7683France</option><option value="French Guyana">French Guyana</option><option value="French Polynesia">French Polynesia</option><option value="French Southern Territories">French Southern Territories</option><option value="Gabon">Gabon</option><option value="Gambia">Gambia</option><option value="Georgia">Georgia</option><option value="Germany">Germany</option><option value="Ghana">Ghana</option><option value="Gibraltar">Gibraltar</option><option value="Greece">Greece</option><option value="Greenland">Greenland</option><option value="Grenada">Grenada</option><option value="Guadeloupe">Guadeloupe</option><option value="Guam">Guam</option><option value="Guatemala">Guatemala</option><option value="Guinea">Guinea</option><option value="Guinea-Bissau">Guinea-Bissau</option><option value="Guyana">Guyana</option><option value="Haiti">Haiti</option><option value="Heard and McDonald Islands">Heard and McDonald Islands</option><option value="Holy See (Vatican City State)">Holy See (Vatican City State)</option><option value="Honduras">Honduras</option><option value="Hong Kong">Hong Kong</option><option value="Hungary">Hungary</option><option value="Iceland">Iceland</option><option value="India">India</option><option value="Indonesia">Indonesia</option><option value="Iran">Iran</option><option value="Iraq">Iraq</option><option value="Ireland">Ireland</option><option value="Israel">Israel</option><option value="Italy">Italy</option><option value="Ivory Coast">Ivory Coast</option><option value="Jamaica">Jamaica</option><option value="Japan">Japan</option><option value="Jersey">Jersey</option><option value="Jordan">Jordan</option><option value="Kazakhstan">Kazakhstan</option><option value="Kenya">Kenya</option><option value="Kiribati">Kiribati</option><option value="Korea">Korea</option><option value="Kosovo">Kosovo</option><option value="Kuwait">Kuwait</option><option value="Kyrgyzstan">Kyrgyzstan</option><option value="Lao Peoples Democratic Republic">Lao Peoples Democratic Republic</option><option value="Latvia">Latvia</option><option value="Lebanon">Lebanon</option><option value="Lesotho">Lesotho</option><option value="Liberia">Liberia</option><option value="Libyan Arab Jamahiriya">Libyan Arab Jamahiriya</option><option value="Liechtenstein">Liechtenstein</option><option value="Lithuania">Lithuania</option><option value="Luxembourg">Luxembourg</option><option value="Macau">Macau</option><option value="Macedonia">Macedonia</option><option value="Madagascar">Madagascar</option><option value="Malawi">Malawi</option><option value="Malaysia">Malaysia</option><option value="Maldives">Maldives</option><option value="Mali">Mali</option><option value="Malta">Malta</option><option value="Marshall Islands">Marshall Islands</option><option value="Martinique">Martinique</option><option value="Mauritania">Mauritania</option><option value="Mauritius">Mauritius</option><option value="Mayotte">Mayotte</option><option value="Mexico">Mexico</option><option value="Micronesia">Micronesia</option><option value="Moldova, Republic Of">Moldova, Republic Of</option><option value="Monaco">Monaco</option><option value="Mongolia">Mongolia</option><option value="Montenegro">Montenegro</option><option value="Montserrat">Montserrat</option><option value="Morocco">Morocco</option><option value="Mozambique">Mozambique</option><option value="Myanmar">Myanmar</option><option value="Nambia">Nambia</option><option value="Nauru">Nauru</option><option value="Nepal">Nepal</option><option value="Netherlands">Netherlands</option><option value="Netherlands Antilles">Netherlands Antilles</option><option value="New Caledonia">New Caledonia</option><option value="New Zealand">New Zealand</option><option value="Nicaragua">Nicaragua</option><option value="Niger">Niger</option><option value="Nigeria">Nigeria</option><option value="Niue">Niue</option><option value="Norfolk Island">Norfolk Island</option><option value="Northern Mariana Islands">Northern Mariana Islands</option><option value="Norway">Norway</option><option value="Oman">Oman</option><option value="Pakistan">Pakistan</option><option value="Palau">Palau</option><option value="Panama">Panama</option><option value="Paupau New Guinea">Paupau New Guinea</option><option value="Paraguay">Paraguay</option><option value="Peru">Peru</option><option value="Philippines">Philippines</option><option value="Pitcairn">Pitcairn</option><option value="Poland">Poland</option><option value="Portugal">Portugal</option><option value="Puerto Rico">Puerto Rico</option><option value="Qatar">Qatar</option><option value="Reunion">Reunion</option><option value="Romania">Romania</option><option value="Russia">Russia</option><option value="Rwanda">Rwanda</option><option value="Saint Kitts and Nevis">Saint Kitts and Nevis</option><option value="Saint Lucia">Saint Lucia</option><option value="Saint Vincent And The Grenadines">Saint Vincent And The Grenadines</option><option value="Samoa">Samoa</option><option value="San Marino">San Marino</option><option value="Sao Tome And Principe">Sao Tome And Principe</option><option value="Saudi Arabia">Saudi Arabia</option><option value="Senegal">Senegal</option><option value="Serbia">Serbia</option><option value="Seychelles">Seychelles</option><option value="Sierra Leone">Sierra Leone</option><option value="Slovakia">Slovakia</option><option value="Slovenia">Slovenia</option><option value="Solomon Islands">Solomon Islands</option><option value="Somalia">Somalia</option><option value="South Africa">South Africa</option><option value="South Georgia And The South Sandwich Islands">South Georgia And The South Sandwich Islands</option><option value="Spain">Spain</option><option value="Srilanka">Srilanka</option><option value="St. Helena">St. Helena</option><option value="St. Pierre And Miquelon">St. Pierre And Miquelon</option><option value="Sudan">Sudan</option><option value="Suriname">Suriname</option><option value="Svalbard And Jan Mayen Islands">Svalbard And Jan Mayen Islands</option><option value="Swaziland">Swaziland</option><option value="Sweden">Sweden</option><option value="Switzerland">Switzerland</option><option value="Syrian Arab Republic">Syrian Arab Republic</option><option value="Taiwan">Taiwan</option><option value="Tajikistan">Tajikistan</option><option value="Tanzania">Tanzania</option><option value="Thailand">Thailand</option><option value="Togo">Togo</option><option value="Tokelau">Tokelau</option><option value="Tonga">Tonga</option><option value="Trinidad And Tobago">Trinidad And Tobago</option><option value="Tunisia">Tunisia</option><option value="Turkmenistan">Turkmenistan</option><option value="Turks And Caicos Islands">Turks And Caicos Islands</option><option value="Tuvalu">Tuvalu</option><option value="Uganda">Uganda</option><option value="Ukraine">Ukraine</option><option value="United Arab Emirates">United Arab Emirates</option><option value="United Kingdom">United Kingdom</option><option value="United States Minor Outlying Islands">United States Minor Outlying Islands</option><option value="Uruguay">Uruguay</option><option value="Uzbekistan">Uzbekistan</option><option value="Vanuatu">Vanuatu</option><option value="Venezuela">Venezuela</option><option value="Vietnam">Vietnam</option><option value="Virgin Islands (British)">Virgin Islands (British)</option><option value="Virgin Islands (US)">Virgin Islands (US)</option><option value="Wallis And Futuna Islands">Wallis And Futuna Islands</option><option value="Western Sahara">Western Sahara</option><option value="Yemen">Yemen</option><option value="Zambia">Zambia</option><option value="Zimbabwe">Zimbabwe</option>                                            </optgroup>
7684                                        </select>
7685                                    </div>
7686                                    <div>
7687                                        <div><input type="text" id="contact-address" name="contact-address" value="" class="sm-form-control contact-form-address" placeholder="Address" style="margin-bottom:10px;"></div>
7688                                        <textarea id="contact-me-message" name="contact-me-message" class="sm-form-control" placeholder="Your message to Brooks Demming (optional)"></textarea>
7689                                                                                    <div class="subscribe text-center">
7690                                                <label style="margin-right:5px;">
7691                                                    Contact me by
7692                                                </label>
7693                                                <span>
7694                                                    <span>
7695                                                        <input type="checkbox" name="subscribe-email" id="subscribe-email" value="1" checked style="margin-right:5px;"><label for="subscribe-email" style="margin-right:10px;">Email</label>
7696                                                    </span>
7697                                                    <span>
7698                                                        <input type="checkbox" name="subscribe-text" id="subscribe-text" value="1" style="margin-right:5px;"><label for="subscribe-text">Text</label>
7699                                                    </span>
7700                                                </span>
7701                                            </div>
7702                                                                                <div class="text-center">
7703                                            <button type="button" id="send-message-button" class="button button-large button-green nomargin" value="submit">Send Message</button>
7704                                        </div>
7705                                    </div>
7706                                                            </div>
7707                        </div>
7708                    </div>
7709                </div>
7710            </div>
7711        </div>
7712    </div>
7713</div>
7714
7715<script>
7716    function IsEU( country )
7717    {
7718        var EU_countries = ["Austria","Belgium","Bulgaria","Croatia","Cyprus","Czech Republic","Denmark","Estonia","Finland","France","Germany","Greece","Hungary","Ireland","Italy","Latvia","Lithuania","Luxembourg","Malta","Netherlands","Netherlands Antilles","Poland","Portugal","Romania","Slovakia","Slovenia","Spain","Sweden","United Kingdom"];
7719
7720        if( EU_countries.indexOf( country ) > -1 )
7721            return true;
7722        else
7723            return false;
7724    }
7725
7726    $(function() {
7727        $('#contactMeModal').on('shown.bs.modal', function () {
7728            $('#contact-me-name').focus();
7729        });
7730        $('#contact-me-country').change( function() {
7731            if( IsEU( $(this).val() ) )
7732                $('#subscribe-email').prop('checked',false);
7733            else
7734                $('#subscribe-email').prop('checked',true);
7735        });
7736        $('#contact-me-country').change();
7737    });
7738
7739        $('#send-message-button').click( function() {
7740        var contact_name    = $('#contact-me-name').val().trim();
7741        var contact_email   = $('#contact-me-email').val().trim();
7742        var contact_phone   = $('#contact-me-phone').val().trim();
7743        var contact_message = $('#contact-me-message').val().trim();
7744        var contact_country = $('#contact-me-country').val();
7745
7746                if( contact_name == '' ) {
7747            toastr.error( 'Please enter your name.' );
7748            $('#contact-me-name').focus();
7749            return;
7750        }
7751        if( contact_email == '' && contact_phone == '' ) {
7752            toastr.error( 'Please enter either your phone or email address.' );
7753            $('#contact-me-phone').focus();
7754            return;
7755        }
7756
7757                if( contact_message == '' && !$('#subscribe-text').prop('checked') && !$('#subscribe-email').prop('checked') ) {
7758            toastr.error( 'Please either choose a way to be contacted or enter a message.');
7759            $('#contact-me-message').focus();
7760            return;
7761        }
7762
7763                        if ($('#subscribe-text').prop('checked') && contact_phone == '') {
7764            toastr.error('Please enter your mobile phone number to be contacted by text.');
7765            $('#contact-me-phone').focus();
7766            return;
7767        }
7768                if ($('#subscribe-email').prop('checked') && contact_email == '') {
7769            toastr.error('Please enter your email address to be contacted by email.');
7770            $('#contact-me-email').focus();
7771            return;
7772        }
7773
7774        $('#contactMeModal').modal('hide');
7775        toastr.info('Message sending...');
7776        $.ajax({
7777                            //url: //,
7778                url: "https://brooksdemming.com/app/contact-me-form",
7779                method: "POST",
7780                dataType: "json",
7781            crossDomain: true,
7782                data: {
7783                    'contact-name' : contact_name,
7784                    'contact-email' : contact_email,
7785                    'contact-phone' : contact_phone,
7786                    'contact-message' : contact_message,
7787                    'contact-country' : contact_country,
7788                                        'contact-address' : $('#contact-address').val(),
7789                    'subscribe-email' : ($('#subscribe-email').prop('checked') ? '1' : '0'),
7790                    'subscribe-text'  : ($('#subscribe-text').prop('checked') ? '1' : '0'),
7791                    'enroller-number' : "",
7792                    'enroller-name' : "",
7793                    'sponsor-number' : "",
7794                    'sponsor-name' : "",
7795                    'utm_source' : null,
7796                    'utm_campaign' : null,
7797                    'utm_medium' : null,
7798                    'utm_term' : null,
7799                    'utm_content' : null,
7800                    'request_source' : 'contact_me',
7801                    "analytics_campaign" : null                }
7802            })
7803            .done(function( data ) {
7804                if( data.success ) {
7805                    toastr.success('Message sent!', {timeOut: 10000});
7806                    $('#contact-me-message').val('');
7807                }
7808                else if( data.code == 'Invalid Email' ) {
7809                    toastr.error( 'Please check your email address.' );
7810                    $('#contact-me-email').focus();
7811                }
7812                else if( data.code == 'Missing Name' ) {
7813                    toastr.error( 'Please enter your name.' );
7814                    $('#contact-me-name').focus();
7815                }
7816                else if( data.code == 'Email Or Phone Required' ) {
7817                    toastr.error( 'Please enter either your phone or email address.' );
7818                    $('#contact-me-phone').focus();
7819                }
7820                else if( data.code == 'Missing Message' ) {
7821                    toastr.error( 'Please enter a message.' );
7822                    $('#contact-me-message').focus();
7823                }
7824                else
7825                    toastr.error('Message not sent. Please contact me by email or phone instead.');
7826
7827            })
7828            .fail(function( jqXHR, textStatus ) {
7829                toastr.error( "Request failed: " + textStatus, 'Message not sent. Please contact me by email or phone instead.' );
7830            });
7831    });
7832</script>
7832
7833
7834
7835<!-- Go To Top
7836============================================= -->
7837<div id="gotoTop" class="icon-angle-up"></div>
7838
7839<!-- Footer Scripts
7840============================================= -->
7841<script type="text/javascript" src="https://attractwell.com/site-assets/js/jquery.quickfit.js"></script>
7841
7842    
7842<script type="text/javascript" src="https://attractwell.com/site-assets/themes/attractwell/js/functions.min.js"></script>
vendor: 1 bytes, line 7842
7842
7843<script type="text/javascript" src="https://attractwell.com/site-assets/js/jquery.quickfit.js"></script>
7843
7844<!--
7844<script type="text/javascript" src="https://attractwell.com/site-assets/js/js.cookie.js"></script>
7844  -->
7845<script type="text/javascript">
7846    var quickfit_options_large = {
7847        min: 15,
7848        max: 36,
7849        width: 300
7850        //truncate: true
7851    };
7852    var quickfit_options_small = {
7853        min: 12,
7854        max: 20,
7855        width: 200
7856        //truncate: true
7857    };
7858
7859    function resizeText()
7860    {
7861            }
7862
7863    $(function() {
7864        // auto scale text name if it's too long, on both window resize and scroll
7865        $( window ).on( 'resize', resizeText );
7866        $( window ).on( 'scroll', resizeText );
7867        resizeText();
7868
7869        $(window).load( function() {
7870                        if( location.hash === '#contact' )
7871                $('#contactMeModal').modal('show');
7872
7873            $('a[href$="#contact"]').click( function() {
7874                $('#contactMeModal').modal('show');
7875                return false;
7876            } );
7877
7878            $('a[href$="#lead"]').click( function() {
7879                if( $('#leadModal').length === 0 && $('#lead').length === 0 ) {
7880                    window.location.href = "\/\/#lead";
7881                    return false;
7882                }
7883            } );
7884
7885            $( window ).resize();
7886        });
7887
7888
7889        $('.menu-flag-icon').click( function (){
7890                        Cookies.set("country",$(this).attr('data-flag'), { path: "\/BrooksDemming" } ); // cookie valid to the current path
7891            window.scrollTo(0,0); // scroll to top of page
7892            location.reload(true);
7893        });
7894
7895        $('#landing-page-log-out').click(function() {
7896            var path_scope = "\/BrooksDemming";
7897            Cookies.remove("registered-on-landing-page", {path: path_scope});
7898            Cookies.remove('landing_account_id', {path: path_scope});
7899            Cookies.remove('contact_id', {path: path_scope});
7900            Cookies.remove('skip_registration', {path: path_scope});
7901        });
7902
7903                // instrument the page with click handlers
7904        $('a').click( function() {
7905            var url = $(this).attr('href');
7906            var title = $(this).text();
7907            title = title.replace(/\\n/gi,'').trim();
7908            if( url !== '#' ) {
7909                var is_sign_up_link = ($(this).hasClass('sign-up-link') || (url === null && null !== ''));
7910                RecordExternalClickAnalytics(url, title, is_sign_up_link );
7911                if( is_sign_up_link && Cookies.get('contact_id') != '' )
7912                    RecordContactWebsiteSignUpLinkClick( Cookies.get('contact_id') );
7913            }
7914        });
7915            });
7916</script>
vendor: 1 bytes, line 7916
7916
7917<script src="https://cdn.embedly.com/widgets/platform.js" charset="UTF-8"></script>
vendor: 1 bytes, line 7917
7917
7918<script>$(function() { $('audio').on('contextmenu', () => {return false}); });</script>
7918
7919
7920    
7921</body>
7922</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.