1<!DOCTYPE html><html lang="en" style=""><head><meta name="description" content="Looking for effective help for your marriage? My proven approach has helped couples on the brink of divorce turn their marriage around. I will teach you the tools and strategies to resolve your conflict without being harsh and disrespectful, to reconnect and feel close again, and to work well as a team instead of feeli"> 2<meta name="keywords" content="marriage help, marriage advice, marriage tips, how to communicate, how to stop arguing"> 3<meta property="og:title" content="Effective Marriage Help for Couples"> 4<meta property="og:description" content="The help you need - as a couple or as a woman looking to improve the quality and experience in your marriage with real tools and real change that lasts."> 5<meta property="og:image" content="https://lh3.googleusercontent.com/9nzdJfJWPd6zl-uBURbVGQVYlZKfgdUfRANKA6p7MPrpllo_2p2l64Ar0wGqlfksiCMFGy1H8cf4AhrPPSwUCF4FMwZRBQd0NpY=s0"> 6<meta property="og:url" content="https://drchavonne.com/work-with-me"> 7<meta name="twitter:url" content="https://drchavonne.com/work-with-me"> 8<meta property="og:type" content="website"> 9<meta property="og:site_name" content="drchavonne.com"> 10<meta property="og:locale" content="en_US"> 11<meta property="fb:app_id" content="4198265810445529"> 12<meta name="twitter:card" content="summary_large_image"> 13<meta name="twitter:title" content="Effective Marriage Help for Couples"> 14<meta name="twitter:description" content="The help you need - as a couple or as a woman looking to improve the quality and experience in your marriage with real tools and real change that lasts."> 15<meta name="twitter:image" content="https://lh3.googleusercontent.com/9nzdJfJWPd6zl-uBURbVGQVYlZKfgdUfRANKA6p7MPrpllo_2p2l64Ar0wGqlfksiCMFGy1H8cf4AhrPPSwUCF4FMwZRBQd0NpY=s0"> 16<meta name="robots" content="index, follow"> 17<link rel="canonical" href="https://drchavonne.com/work-with-me"> 18<title>Effective Marriage Help for Couples</title><style data-hp-2739 data-hp-3884>@media (max-width:959px){.sp-6t8d2-site-header .sp-6t8d2-column:has([data-widget-type="LpNavReact"]),.sp-6t8d2-site-header .sp-6t8d2-column:has([data-widget-type="LpButtonReact"]),.sp-6t8d2-site-header .sp-6t8d2-column:has([data-widget-type="LpSpaceReact"]){display:none !important}.sp-6t8d2-site-header .sp-6t8d2-site-nav .sp-6t8d2-layout+.sp-6t8d2-layout{display:none !important}.sp-6t8d2-site-header .sp-6t8d2-js-mobile-nav-trigger{opacity:1 !important}.sp-6t8d2-site-header .sp-6t8d2-js-image-logo,.sp-6t8d2-site-header .sp-6t8d2-site-nav .sp-6t8d2-container{transition:none !important}}</style> 19 <meta charset="utf-8"> 20 <!-- BUILT WITH LEADPAGES https://www.leadpages.com --> 21 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 22 <meta name="viewport" content="width=device-width, initial-scale=1"> 23 24 25 26 27 28 29 30 31 <meta property="og:image:type" content="image/png"> 32 <meta property="og:image:width" content="1920"> 33 <meta property="og:image:height" content="1080"> 34 <meta name="leadpages-served-by" content="sites"> 35 <meta name="leadpages-serving-domain" content="drchavonne.com"> 36 <meta name="leadpages-legacy-pixel-domain" content="https://my.leadpages.net"> 37 <meta name="leadpages-meta-id" content="e5DsroxLoPiNw7MYsVAecG:097d25da-56d4-2095-66f2-b69581b37f32"> 38 <meta name="leadpages-edition" content="Nkx6jYRuEC2RHuSWzvYrpg"> 39 <meta name="active-route" content="097d25da-56d4-2095-66f2-b69581b37f32"> 40 41 <link rel="shortcut icon" href="https://lh3.googleusercontent.com/mt1KmRxvmmk3ZZlWqZmYQcAPeXIh35fUy2VXH3vgeX4OXL8Dq_w_OAsxogOI6evroul88q-GbcJt6vd5oGzdIXs=s32" type="image/x-icon"> 42 <link rel="stylesheet" href="https://classic-assets.leadpages.com/static-leadpages-net/fonts/font-awesome/6.4.2/css/all.min.css" referrerpolicy="no-referrer"> 43 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin=""> 44 <link rel="preload" as="style" href="https://fonts.googleapis.com/css?family=Montserrat:300,400,500,700|Lato:300,400,500,700|Raleway:300,400,500,700|Roboto:300,400,500,700|Open+Sans:300,400,500,700"> 45 <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Montserrat:300,400,500,700|Lato:300,400,500,700|Raleway:300,400,500,700|Roboto:300,400,500,700|Open+Sans:300,400,500,700" type="text/css" referrerpolicy="no-referrer" media="all" onload="this.media='all'"> 46 <style data-id="run-styles">/*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}
46code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*,*::before,*::after{box-sizing:border-box}html{height:100%;width:100%}html{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;background-color:#fff;box-sizing:border-box;color:#000;font-family:Roboto,sans-serif;font-size:1em;line-height:1.5;min-height:100%;position:relative}html.is-leadbox{background-color:transparent}body{min-height:100%}h1,h2,h3,h4,h1.jumbo{margin:0}p{margin:0}a{font-size:inherit}img{max-width:100%;width:100%}section{position:relative;transition:opacity .5s ease-in,min-height .5s ease-in,height .5s ease-in}.container{width:100%}.row-compose,.widget-row,.layout,.inner-column,.column{position:relative}.site-header .layout{align-items:center;min-height:64px}.column{display:flex;flex-direction:column}.inner-column{flex:1 1 auto}.inner-column:not(.area-placeholder){min-height:1px}.widget{word-wrap:break-word;padding:1vw;padding:1cqw}.leadbox .widget{padding:1vw;padding:1cqw}.bar .widget{padding:1vw;padding:1cqw}.has-background-image{background-position:center center;background-repeat:no-repeat}.has-background-size-cover{background-size:cover}.has-background-size-center{background-size:contain}.has-background-size-repeat{background-repeat:repeat}.flex-display{display:flex}.flex-direction-column{flex-direction:column}.flex-direction-column .container{min-height:1px}.flex-direction-row{flex-direction:row}.flex-justify-flex-start{justify-content:flex-start}.flex-justify-center{justify-content:center}.flex-justify-flex-end{justify-content:flex-end}[class*=section-arrow--]::before{border:solid transparent;border-color:rgba(0,0,0,0);content:"";height:0;pointer-events:none;position:absolute;width:0;z-index:1}.section-arrow--top::before{border-bottom-color:inherit;border-width:0 30px 18px;bottom:100%;left:50%;transform:translateX(-50%)}.section-arrow--bottom::before{border-top-color:inherit;border-width:18px 30px 0;left:50%;top:100%;transform:translateX(-50%)}.section-arrow--left::before{border-bottom-color:inherit;border-width:0 30px 24px;bottom:100%;right:50%;transform:translateX(50%)}@media(min-width: 48em){.section-arrow--left::before{border-bottom-color:transparent;border-right-color:inherit;border-width:30px 24px 30px 0;bottom:0;right:100%;top:50%;transform:translateY(-50%) translateX(0)}}.section-arrow--right::before{border-top-color:inherit;border-width:24px 30px 0;left:50%;top:100%;transform:translateX(-50%)}@media(min-width: 48em){.section-arrow--right::before{border-left-color:inherit;border-top-color:transparent;border-width:30px 0 30px 24px;left:100%;top:50%;transform:translateY(-50%) translateX(0)}}.page .is-delayed{min-height:0;height:0;opacity:0;overflow:hidden;padding-bottom:0;padding-top:0}.is-visible{height:auto;opacity:1;overflow:visible}.lp-text a,.lp-text-react a,.lp-headline a{color:inherit;text-decoration:underline}.lp-text a>span,.lp-text-react a>span,.lp-headline a>span{color:inherit;text-decoration:underline}.lp-text a:hover,.lp-text a:active,.lp-text-react a:hover,.lp-text-react a:active,.lp-headline a:hover,.lp-headline a:active{text-decoration:none}.lp-text a:hover>span,.lp-text a:active>span,.lp-text-react a:hover>span,.lp-text-react a:active>span,.lp-headline a:hover>span,.lp-headline a:active>span{text-decoration:none}.lp-blog-feed a{text-decoration:none}.lp-blog-feed a:hover,.lp-blog-feed a:active{text-decoration:none}.lp-blog-feed a:hover>span,.lp-blog-feed a:active>span{text-decoration:none}.lp-blog-feed a.pagination-arrow{color:inherit;margin:auto 40px}.lp-blog-feed a.pagination-arrow.disabled{color:inherit;pointer-events:none;opacity:.3}.lp-blog-post a{color:inherit;text-decoration:none}.lp-blog-post a>span{color:inherit;text-decoration:none}.lp-blog-post a:hover,.lp-blog-post a:active{text-decoration:none}.lp-blog-post a:hover>span,.lp-blog-post a:active>span{text-decoration:none}.lp-blog-post a.pagination-arrow{margin:auto 40px}.lp-blog-post a.pagination-arrow.disabled{pointer-events:none;opacity:.3}.lp-post-body p{min-height:18px;margin:20px 0}.lp-post-body h1,.lp-post-body h2,.lp-post-body h3,.lp-post-body h4,.lp-post-body h5,.lp-post-body h6{margin:24px 0}.lp-post-body img{width:auto}.widget-widget>iframe{max-width:100%;width:100%}.inner-composite{display:flex}.page grammarly-btn{display:none}.page .lp-form__input+span,.page .lp-form-react__input+span{display:none !important}@media(max-width: 480px){.hidden-mobile{display:none !important}}@media(min-width: 481px)and (max-width: 768px){.hidden-tablet{display:none !important}}@media(min-width: 769px){.hidden-desktop{display:none !important}}
46.hide-section{display:none}form .widget-column{padding-top:1vw;padding-bottom:1vw;padding-top:1cqw;padding-bottom:1cqw}form .widget-column .widget{padding-bottom:0;padding-top:0}form .widget-column .widget .lp-button-react-wrapper{margin-top:12px}form[data-form-id] button:disabled{opacity:.5;pointer-events:none;transition:opacity 7.5s ease}@keyframes animation-circular-rotate{0%{transform-origin:50% 50%}100%{transform:rotate(360deg)}}@-webkit-keyframes animation-circular-rotate{0%{transform-origin:50% 50%}100%{transform:rotate(360deg)}}@-webkit-keyframes animation-circular-progress{0%{stroke-dasharray:1px,200px;stroke-dashoffset:0px}50%{stroke-dasharray:100px,200px;stroke-dashoffset:-15px}100%{stroke-dasharray:100px,200px;stroke-dashoffset:-125px}}@keyframes animation-circular-progress{0%{stroke-dasharray:1px,200px;stroke-dashoffset:0px}50%{stroke-dasharray:100px,200px;stroke-dashoffset:-15px}100%{stroke-dasharray:100px,200px;stroke-dashoffset:-125px}}.container{margin-left:auto;margin-right:auto;max-width:1140px}.container--fluid{max-width:none}.flex{display:flex;flex-direction:row;flex-wrap:wrap;margin-left:0;margin-right:0;max-width:100%}[class*=flex__]{flex:0 0 auto;min-height:1px;padding-left:0;padding-right:0}.flex--12 .flex__item--xs-1{flex-basis:8.3333333333%;max-width:8.3333333333%}.flex--12 .flex__item--xs-2{flex-basis:16.6666666667%;max-width:16.6666666667%}.flex--12 .flex__item--xs-3{flex-basis:25%;max-width:25%}.flex--12 .flex__item--xs-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.flex--12 .flex__item--xs-5{flex-basis:41.6666666667%;max-width:41.6666666667%}.flex--12 .flex__item--xs-6{flex-basis:50%;max-width:50%}.flex--12 .flex__item--xs-7{flex-basis:58.3333333333%;max-width:58.3333333333%}.flex--12 .flex__item--xs-8{flex-basis:66.6666666667%;max-width:66.6666666667%}.flex--12 .flex__item--xs-9{flex-basis:75%;max-width:75%}.flex--12 .flex__item--xs-10{flex-basis:83.3333333333%;max-width:83.3333333333%}.flex--12 .flex__item--xs-11{flex-basis:91.6666666667%;max-width:91.6666666667%}.flex--12 .flex__item--xs-12{flex-basis:100%;max-width:100%}.flex--12 .flex__offset--xs-1{margin-left:8.3333333333%}.flex--12 .flex__offset--xs-2{margin-left:16.6666666667%}.flex--12 .flex__offset--xs-3{margin-left:25%}.flex--12 .flex__offset--xs-4{margin-left:33.3333333333%}.flex--12 .flex__offset--xs-5{margin-left:41.6666666667%}.flex--12 .flex__offset--xs-6{margin-left:50%}.flex--12 .flex__offset--xs-7{margin-left:58.3333333333%}.flex--12 .flex__offset--xs-8{margin-left:66.6666666667%}.flex--12 .flex__offset--xs-9{margin-left:75%}.flex--12 .flex__offset--xs-10{margin-left:83.3333333333%}.flex--12 .flex__offset--xs-11{margin-left:91.6666666667%}.flex--10 .flex__item--xs-1{flex-basis:10%;max-width:10%}.flex--10 .flex__item--xs-2{flex-basis:20%;max-width:20%}.flex--10 .flex__item--xs-3{flex-basis:30%;max-width:30%}.flex--10 .flex__item--xs-4{flex-basis:40%;max-width:40%}.flex--10 .flex__item--xs-5{flex-basis:50%;max-width:50%}.flex--10 .flex__item--xs-6{flex-basis:60%;max-width:60%}.flex--10 .flex__item--xs-7{flex-basis:70%;max-width:70%}.flex--10 .flex__item--xs-8{flex-basis:80%;max-width:80%}.flex--10 .flex__item--xs-9{flex-basis:90%;max-width:90%}.flex--10 .flex__item--xs-10{flex-basis:100%;max-width:100%}.flex--10 .flex__offset--xs-1{margin-left:10%}.flex--10 .flex__offset--xs-2{margin-left:20%}.flex--10 .flex__offset--xs-3{margin-left:30%}.flex--10 .flex__offset--xs-4{margin-left:40%}.flex--10 .flex__offset--xs-5{margin-left:50%}.flex--10 .flex__offset--xs-6{margin-left:60%}.flex--10 .flex__offset--xs-7{margin-left:70%}.flex--10 .flex__offset--xs-8{margin-left:80%}.flex--10 .flex__offset--xs-9{margin-left:90%}.flex--xs-start{justify-content:flex-start}.flex--xs-center{justify-content:center}.flex--xs-end{justify-content:flex-end}.flex--xs-around{justify-content:space-around}.flex--xs-between{justify-content:space-between}.flex--xs-top{align-items:flex-start}.flex--xs-middle{align-items:center}.flex--xs-bottom{align-items:flex-end}.flex--xs-first{order:-1}.flex--xs-last{order:1}.flex__item--xs-auto{flex:1 1 auto}.flex__item--xs-grow{flex-grow:1}.flex__item--xs-no-grow{flex-grow:0}.flex__item--xs-shrink{flex-shrink:1}.flex__item--xs-no-shrink{flex-shrink:0}.flex__item--xs-none{flex:none}.flex--xs-inline-flex{display:inline-flex}.flex--xs-flex-nowrap{flex-wrap:nowrap}.flex--xs-flex-wrap-rev{flex-wrap:wrap-reverse}.flex--xs-horizontal-rev{flex-direction:column-reverse}.flex--xs-vertical{flex-direction:column}.flex--xs-vertical-rev{flex-direction:row-reverse}@media(min-width: 480px){.flex--12 .flex__item--sm-1{flex-basis:8.3333333333%;max-width:8.3333333333%}.flex--12 .flex__item--sm-2{flex-basis:16.6666666667%;max-width:16.6666666667%}.flex--12 .flex__item--sm-3{flex-basis:25%;max-width:25%}.flex--12 .flex__item--sm-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.flex--12 .flex__item--sm-5{flex-basis:41.6666666667%;max-width:41.6666666667%}.flex--12 .flex__item--sm-6{flex-basis:50%;max-width:50%}.flex--12 .flex__item--sm-7{flex-basis:58.3333333333%;max-width:58.3333333333%}.flex--12 .flex__item--sm-8{flex-basis:66.6666666667%;max-width:66.6666666667%}.flex--12 .flex__item--sm-9{flex-basis:75%;max-width:75%}.flex--12 .flex__item--sm-10{flex-basis:83.3333333333%;max-width:83.3333333333%}.flex--12 .flex__item--sm-11{flex-basis:91.6666666667%;max-width:91.6666666667%}.flex--12 .flex__item--sm-12{flex-basis:100%;max-width:100%}.flex--12 .flex__offset--sm-1{margin-left:8.3333333333%}.flex--12 .flex__offset--sm-2{margin-left:16.6666666667%}.flex--12 .flex__offset--sm-3{margin-left:25%}.flex--12 .flex__offset--sm-4{margin-left:33.3333333333%}.flex--12 .flex__offset--sm-5{margin-left:41.6666666667%}.flex--12 .flex__offset--sm-6{margin-left:50%}.flex--12 .flex__offset--sm-7{margin-left:58.3333333333%}.flex--12 .flex__offset--sm-8{margin-left:66.6666666667%}.flex--12 .flex__offset--sm-9{margin-left:75%}.flex--12 .flex__offset--sm-10{margin-left:83.3333333333%}.flex--12 .flex__offset--sm-11{margin-left:91.6666666667%}.flex--10 .flex__item--sm-1{flex-basis:10%;max-width:10%}.flex--10 .flex__item--sm-2{flex-basis:20%;max-width:20%}.flex--10 .flex__item--sm-3{flex-basis:30%;max-width:30%}.flex--10 .flex__item--sm-4{flex-basis:40%;max-width:40%}.flex--10 .flex__item--sm-5{flex-basis:50%;max-width:50%}.flex--10 .flex__item--sm-6{flex-basis:60%;max-width:60%}.flex--10 .flex__item--sm-7{flex-basis:70%;max-width:70%}.flex--10 .flex__item--sm-8{flex-basis:80%;max-width:80%}.flex--10 .flex__item--sm-9{flex-basis:90%;max-width:90%}.flex--10 .flex__item--sm-10{flex-basis:100%;max-width:100%}.flex--10 .flex__offset--sm-1{margin-left:10%}.flex--10 .flex__offset--sm-2{margin-left:20%}.flex--10 .flex__offset--sm-3{margin-left:30%}.flex--10 .flex__offset--sm-4{margin-left:40%}.flex--10 .flex__offset--sm-5{margin-left:50%}.flex--10 .flex__offset--sm-6{margin-left:60%}.flex--10 .flex__offset--sm-7{margin-left:70%}.flex--10 .flex__offset--sm-8{margin-left:80%}.flex--10 .flex__offset--sm-9{margin-left:90%}.flex--sm-start{justify-content:flex-start}.flex--sm-center{justify-content:center}.flex--sm-end{justify-content:flex-end}.flex--sm-around{justify-content:space-around}.flex--sm-between{justify-content:space-between}.flex--sm-top{align-items:flex-start}.flex--sm-middle{align-items:center}.flex--sm-bottom{align-items:flex-end}.flex--sm-first{order:-1}.flex--sm-last{order:1}
46.flex__item--sm-auto{flex:1 1 auto}.flex__item--sm-grow{flex-grow:1}.flex__item--sm-no-grow{flex-grow:0}.flex__item--sm-shrink{flex-shrink:1}.flex__item--sm-no-shrink{flex-shrink:0}.flex__item--sm-none{flex:none}.flex--sm-inline-flex{display:inline-flex}.flex--sm-flex-nowrap{flex-wrap:nowrap}.flex--sm-flex-wrap-rev{flex-wrap:wrap-reverse}.flex--sm-horizontal-rev{flex-direction:column-reverse}.flex--sm-vertical{flex-direction:column}.flex--sm-vertical-rev{flex-direction:row-reverse}}@media(min-width: 768px){.flex--12 .flex__item--md-1{flex-basis:8.3333333333%;max-width:8.3333333333%}.flex--12 .flex__item--md-2{flex-basis:16.6666666667%;max-width:16.6666666667%}.flex--12 .flex__item--md-3{flex-basis:25%;max-width:25%}.flex--12 .flex__item--md-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.flex--12 .flex__item--md-5{flex-basis:41.6666666667%;max-width:41.6666666667%}.flex--12 .flex__item--md-6{flex-basis:50%;max-width:50%}.flex--12 .flex__item--md-7{flex-basis:58.3333333333%;max-width:58.3333333333%}.flex--12 .flex__item--md-8{flex-basis:66.6666666667%;max-width:66.6666666667%}.flex--12 .flex__item--md-9{flex-basis:75%;max-width:75%}.flex--12 .flex__item--md-10{flex-basis:83.3333333333%;max-width:83.3333333333%}.flex--12 .flex__item--md-11{flex-basis:91.6666666667%;max-width:91.6666666667%}.flex--12 .flex__item--md-12{flex-basis:100%;max-width:100%}.flex--12 .flex__offset--md-1{margin-left:8.3333333333%}.flex--12 .flex__offset--md-2{margin-left:16.6666666667%}.flex--12 .flex__offset--md-3{margin-left:25%}.flex--12 .flex__offset--md-4{margin-left:33.3333333333%}.flex--12 .flex__offset--md-5{margin-left:41.6666666667%}.flex--12 .flex__offset--md-6{margin-left:50%}.flex--12 .flex__offset--md-7{margin-left:58.3333333333%}.flex--12 .flex__offset--md-8{margin-left:66.6666666667%}.flex--12 .flex__offset--md-9{margin-left:75%}.flex--12 .flex__offset--md-10{margin-left:83.3333333333%}.flex--12 .flex__offset--md-11{margin-left:91.6666666667%}.flex--10 .flex__item--md-1{flex-basis:10%;max-width:10%}.flex--10 .flex__item--md-2{flex-basis:20%;max-width:20%}.flex--10 .flex__item--md-3{flex-basis:30%;max-width:30%}.flex--10 .flex__item--md-4{flex-basis:40%;max-width:40%}.flex--10 .flex__item--md-5{flex-basis:50%;max-width:50%}.flex--10 .flex__item--md-6{flex-basis:60%;max-width:60%}.flex--10 .flex__item--md-7{flex-basis:70%;max-width:70%}.flex--10 .flex__item--md-8{flex-basis:80%;max-width:80%}.flex--10 .flex__item--md-9{flex-basis:90%;max-width:90%}.flex--10 .flex__item--md-10{flex-basis:100%;max-width:100%}.flex--10 .flex__offset--md-1{margin-left:10%}.flex--10 .flex__offset--md-2{margin-left:20%}.flex--10 .flex__offset--md-3{margin-left:30%}.flex--10 .flex__offset--md-4{margin-left:40%}.flex--10 .flex__offset--md-5{margin-left:50%}.flex--10 .flex__offset--md-6{margin-left:60%}.flex--10 .flex__offset--md-7{margin-left:70%}.flex--10 .flex__offset--md-8{margin-left:80%}.flex--10 .flex__offset--md-9{margin-left:90%}.flex--md-start{justify-content:flex-start}.flex--md-center{justify-content:center}.flex--md-end{justify-content:flex-end}.flex--md-around{justify-content:space-around}.flex--md-between{justify-content:space-between}.flex--md-top{align-items:flex-start}.flex--md-middle{align-items:center}.flex--md-bottom{align-items:flex-end}.flex--md-first{order:-1}.flex--md-last{order:1}.flex__item--md-auto{flex:1 1 auto}.flex__item--md-grow{flex-grow:1}.flex__item--md-no-grow{flex-grow:0}.flex__item--md-shrink{flex-shrink:1}.flex__item--md-no-shrink{flex-shrink:0}.flex__item--md-none{flex:none}.flex--md-inline-flex{display:inline-flex}.flex--md-flex-nowrap{flex-wrap:nowrap}.flex--md-flex-wrap-rev{flex-wrap:wrap-reverse}.flex--md-horizontal-rev{flex-direction:column-reverse}.flex--md-vertical{flex-direction:column}.flex--md-vertical-rev{flex-direction:row-reverse}}@media(min-width: 1024px){.flex--12 .flex__item--lg-1{flex-basis:8.3333333333%;max-width:8.3333333333%}.flex--12 .flex__item--lg-2{flex-basis:16.6666666667%;max-width:16.6666666667%}.flex--12 .flex__item--lg-3{flex-basis:25%;max-width:25%}.flex--12 .flex__item--lg-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.flex--12 .flex__item--lg-5{flex-basis:41.6666666667%;max-width:41.6666666667%}.flex--12 .flex__item--lg-6{flex-basis:50%;max-width:50%}.flex--12 .flex__item--lg-7{flex-basis:58.3333333333%;max-width:58.3333333333%}.flex--12 .flex__item--lg-8{flex-basis:66.6666666667%;max-width:66.6666666667%}.flex--12 .flex__item--lg-9{flex-basis:75%;max-width:75%}.flex--12 .flex__item--lg-10{flex-basis:83.3333333333%;max-width:83.3333333333%}.flex--12 .flex__item--lg-11{flex-basis:91.6666666667%;max-width:91.6666666667%}.flex--12 .flex__item--lg-12{flex-basis:100%;max-width:100%}.flex--12 .flex__offset--lg-1{margin-left:8.3333333333%}.flex--12 .flex__offset--lg-2{margin-left:16.6666666667%}.flex--12 .flex__offset--lg-3{margin-left:25%}.flex--12 .flex__offset--lg-4{margin-left:33.3333333333%}.flex--12 .flex__offset--lg-5{margin-left:41.6666666667%}.flex--12 .flex__offset--lg-6{margin-left:50%}.flex--12 .flex__offset--lg-7{margin-left:58.3333333333%}.flex--12 .flex__offset--lg-8{margin-left:66.6666666667%}.flex--12 .flex__offset--lg-9{margin-left:75%}.flex--12 .flex__offset--lg-10{margin-left:83.3333333333%}.flex--12 .flex__offset--lg-11{margin-left:91.6666666667%}.flex--10 .flex__item--lg-1{flex-basis:10%;max-width:10%}.flex--10 .flex__item--lg-2{flex-basis:20%;max-width:20%}.flex--10 .flex__item--lg-3{flex-basis:30%;max-width:30%}.flex--10 .flex__item--lg-4{flex-basis:40%;max-width:40%}.flex--10 .flex__item--lg-5{flex-basis:50%;max-width:50%}.flex--10 .flex__item--lg-6{flex-basis:60%;max-width:60%}.flex--10 .flex__item--lg-7{flex-basis:70%;max-width:70%}.flex--10 .flex__item--lg-8{flex-basis:80%;max-width:80%}.flex--10 .flex__item--lg-9{flex-basis:90%;max-width:90%}.flex--10 .flex__item--lg-10{flex-basis:100%;max-width:100%}.flex--10 .flex__offset--lg-1{margin-left:10%}.flex--10 .flex__offset--lg-2{margin-left:20%}.flex--10 .flex__offset--lg-3{margin-left:30%}.flex--10 .flex__offset--lg-4{margin-left:40%}.flex--10 .flex__offset--lg-5{margin-left:50%}.flex--10 .flex__offset--lg-6{margin-left:60%}.flex--10 .flex__offset--lg-7{margin-left:70%}.flex--10 .flex__offset--lg-8{margin-left:80%}.flex--10 .flex__offset--lg-9{margin-left:90%}.flex--lg-start{justify-content:flex-start}.flex--lg-center{justify-content:center}.flex--lg-end{justify-content:flex-end}.flex--lg-around{justify-content:space-around}.flex--lg-between{justify-content:space-between}.flex--lg-top{align-items:flex-start}.flex--lg-middle{align-items:center}.flex--lg-bottom{align-items:flex-end}.flex--lg-first{order:-1}.flex--lg-last{order:1}.flex__item--lg-auto{flex:1 1 auto}.flex__item--lg-grow{flex-grow:1}.flex__item--lg-no-grow{flex-grow:0}.flex__item--lg-shrink{flex-shrink:1}.flex__item--lg-no-shrink{flex-shrink:0}.flex__item--lg-none{flex:none}.flex--lg-inline-flex{display:inline-flex}.flex--lg-flex-nowrap{flex-wrap:nowrap}.flex--lg-flex-wrap-rev{flex-wrap:wrap-reverse}.flex--lg-horizontal-rev{flex-direction:column-reverse}.flex--lg-vertical{flex-direction:column}.flex--lg-vertical-rev{flex-direction:row-reverse}}@media(min-width: 1280px){.flex--12 .flex__item--xl-1{flex-basis:8.3333333333%;max-width:8.3333333333%}.flex--12 .flex__item--xl-2{flex-basis:16.6666666667%;max-width:16.6666666667%}.flex--12 .flex__item--xl-3{flex-basis:25%;max-width:25%}.flex--12 .flex__item--xl-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.flex--12 .flex__item--xl-5{flex-basis:41.6666666667%;max-width:41.6666666667%}.flex--12 .flex__item--xl-6{flex-basis:50%;max-width:50%}.flex--12 .flex__item--xl-7{flex-basis:58.3333333333%;max-width:58.3333333333%}.flex--12 .flex__item--xl-8{flex-basis:66.6666666667%;max-width:66.6666666667%}.flex--12 .flex__item--xl-9{flex-basis:75%;max-width:75%}.flex--12 .flex__item--xl-10{flex-basis:83.3333333333%;max-width:83.3333333333%}.flex--12 .flex__item--xl-11{flex-basis:91.6666666667%;max-width:91.6666666667%}.flex--12 .flex__item--xl-12{flex-basis:100%;max-width:100%}.flex--12 .flex__offset--xl-1{margin-left:8.3333333333%}.flex--12 .flex__offset--xl-2{margin-left:16.6666666667%}.flex--12 .flex__offset--xl-3{margin-left:25%}.flex--12 .flex__offset--xl-4{margin-left:33.3333333333%}.flex--12 .flex__offset--xl-5{margin-left:41.6666666667%}.flex--12 .flex__offset--xl-6{margin-left:50%}.flex--12 .flex__offset--xl-7{margin-left:58.3333333333%}.flex--12 .flex__offset--xl-8{margin-left:66.6666666667%}.flex--12 .flex__offset--xl-9{margin-left:75%}.flex--12 .flex__offset--xl-10{margin-left:83.3333333333%}.flex--12 .flex__offset--xl-11{margin-left:91.6666666667%}.flex--10 .flex__item--xl-1{flex-basis:10%;max-width:10%}.flex--10 .flex__item--xl-2{flex-basis:20%;max-width:20%}.flex--10 .flex__item--xl-3{flex-basis:30%;max-width:30%}.flex--10 .flex__item--xl-4{flex-basis:40%;max-width:40%}.flex--10 .flex__item--xl-5{flex-basis:50%;max-width:50%}.flex--10 .flex__item--xl-6{flex-basis:60%;max-width:60%}.flex--10 .flex__item--xl-7{flex-basis:70%;max-width:70%}.flex--10 .flex__item--xl-8{flex-basis:80%;max-width:80%}.flex--10 .flex__item--xl-9{flex-basis:90%;max-width:90%}.flex--10 .flex__item--xl-10{flex-basis:100%;max-width:100%}.flex--10 .flex__offset--xl-1{margin-left:10%}.flex--10 .flex__offset--xl-2{margin-left:20%}.flex--10 .flex__offset--xl-3{margin-left:30%}.flex--10 .flex__offset--xl-4{margin-left:40%}.flex--10 .flex__offset--xl-5{margin-left:50%}.flex--10 .flex__offset--xl-6{margin-left:60%}.flex--10 .flex__offset--xl-7{margin-left:70%}.flex--10 .flex__offset--xl-8{margin-left:80%}.flex--10 .flex__offset--xl-9{margin-left:90%}.flex--xl-start{justify-content:flex-start}.flex--xl-center{justify-content:center}.flex--xl-end{justify-content:flex-end}.flex--xl-around{justify-content:space-around}.flex--xl-between{justify-content:space-between}.flex--xl-top{align-items:flex-start}.flex--xl-middle{align-items:center}.flex--xl-bottom{align-items:flex-end}.flex--xl-first{order:-1}.flex--xl-last{order:1}.flex__item--xl-auto{flex:1 1 auto}.flex__item--xl-grow{flex-grow:1}.flex__item--xl-no-grow{flex-grow:0}.flex__item--xl-shrink{flex-shrink:1}.flex__item--xl-no-shrink{flex-shrink:0}.flex__item--xl-none{flex:none}.flex--xl-inline-flex{display:inline-flex}.flex--xl-flex-nowrap{flex-wrap:nowrap}.flex--xl-flex-wrap-rev{flex-wrap:wrap-reverse}.flex--xl-horizontal-rev{flex-direction:column-reverse}.flex--xl-vertical{flex-direction:column}.flex--xl-vertical-rev{flex-direction:row-reverse}}.font-scale-1{font-size:.5625rem}.font-scale-2{font-size:.625rem}.font-scale-3{font-size:.75rem}.font-scale-4{font-size:.875rem}.font-scale-5{font-size:1rem}.font-scale-6{font-size:1.125rem}.font-scale-7{font-size:1.3125rem}.font-scale-8{font-size:1.5rem}.font-scale-9{font-size:1.6875rem}.font-scale-10{font-size:1.875rem}.font-scale-11{font-size:2.0625rem}.font-scale-12{font-size:2.25rem}.font-scale-13{font-size:2.5rem}.font-scale-14{font-size:2.75rem}.font-scale-15{font-size:3rem}.font-scale-16{font-size:3.25rem}.font-scale-17{font-size:3.5rem}.font-scale-18{font-size:3.75rem}@media(min-width: 480px){.font-scale-1{font-size:.5625rem}.font-scale-2{font-size:.625rem}.font-scale-3{font-size:.75rem}.font-scale-4{font-size:.875rem}.font-scale-5{font-size:1rem}.font-scale-6{font-size:1.125rem}.font-scale-7{font-size:1.3125rem}.font-scale-8{font-size:1.5rem}.font-scale-9{font-size:1.75rem}.font-scale-10{font-size:2rem}.font-scale-11{font-size:2.375rem}.font-scale-12{font-size:2.75rem}.font-scale-13{font-size:3.125rem}.font-scale-14{font-size:3.5rem}.font-scale-15{font-size:3.875rem}.font-scale-16{font-size:4.25rem}.font-scale-17{font-size:4.625rem}.font-scale-18{font-size:5rem}}@media(min-width: 768px){.font-scale-1{font-size:.625rem}.font-scale-2{font-size:.75rem}.font-scale-3{font-size:.875rem}.font-scale-4{font-size:1rem}.font-scale-5{font-size:1.125rem}.font-scale-6{font-size:1.25rem}.font-scale-7{font-size:1.5rem}.font-scale-8{font-size:1.75rem}.font-scale-9{font-size:2rem}.font-scale-10{font-size:2.5rem}.font-scale-11{font-size:3rem}.font-scale-12{font-size:3.5rem}.font-scale-13{font-size:4rem}.font-scale-14{font-size:4.5rem}.font-scale-15{font-size:5rem}.font-scale-16{font-size:5.5rem}.font-scale-17{font-size:6rem}.font-scale-18{font-size:6.5rem}}.line-height-scale-1{line-height:.875}.line-height-scale-2{line-height:1}.line-height-scale-3{line-height:1.125}.line-height-scale-4{line-height:1.25}.line-height-scale-5{line-height:1.375}.line-height-scale-6{line-height:1.5}.line-height-scale-7{line-height:1.625}.line-height-scale-8{line-height:1.75}.line-height-scale-9{line-height:1.875}.line-height-scale-10{line-height:2}.lp-text-react p,.lp-text-react h1,.lp-text-react h2,.lp-text-react h3{min-height:1em;white-space:pre-wrap}.lp-text-react p:empty:before,.lp-text-react h1:empty:before,.lp-text-react h2:empty:before,.lp-text-react h3:empty:before{content:" ";white-space:pre}p.gutter-bottom-1,.lp-list.gutter-bottom-1{margin-bottom:0em}p.gutter-bottom-2,.lp-list.gutter-bottom-2{margin-bottom:0.25em}p.gutter-bottom-3,.lp-list.gutter-bottom-3{margin-bottom:0.4375em}
46p.gutter-bottom-4,.lp-list.gutter-bottom-4{margin-bottom:0.5em}p.gutter-bottom-5,.lp-list.gutter-bottom-5{margin-bottom:0.5625em}p.gutter-bottom-6,.lp-list.gutter-bottom-6{margin-bottom:0.625em}p.gutter-bottom-7,.lp-list.gutter-bottom-7{margin-bottom:0.6875em}p.gutter-bottom-8,.lp-list.gutter-bottom-8{margin-bottom:0.75em}p.gutter-bottom-9,.lp-list.gutter-bottom-9{margin-bottom:0.8125em}p.gutter-bottom-10,.lp-list.gutter-bottom-10{margin-bottom:0.875em}p.gutter-bottom-11,.lp-list.gutter-bottom-11{margin-bottom:0.9375em}p.gutter-bottom-12,.lp-list.gutter-bottom-12{margin-bottom:1em}p.gutter-bottom-13,.lp-list.gutter-bottom-13{margin-bottom:1.25em}p.gutter-bottom-14,.lp-list.gutter-bottom-14{margin-bottom:1.5em}h1.gutter-bottom-1,h2.gutter-bottom-1,h3.gutter-bottom-1{padding-bottom:0em}h1.gutter-bottom-2,h2.gutter-bottom-2,h3.gutter-bottom-2{padding-bottom:0.25em}h1.gutter-bottom-3,h2.gutter-bottom-3,h3.gutter-bottom-3{padding-bottom:0.4375em}h1.gutter-bottom-4,h2.gutter-bottom-4,h3.gutter-bottom-4{padding-bottom:0.5em}h1.gutter-bottom-5,h2.gutter-bottom-5,h3.gutter-bottom-5{padding-bottom:0.5625em}h1.gutter-bottom-6,h2.gutter-bottom-6,h3.gutter-bottom-6{padding-bottom:0.625em}h1.gutter-bottom-7,h2.gutter-bottom-7,h3.gutter-bottom-7{padding-bottom:0.6875em}h1.gutter-bottom-8,h2.gutter-bottom-8,h3.gutter-bottom-8{padding-bottom:0.75em}h1.gutter-bottom-9,h2.gutter-bottom-9,h3.gutter-bottom-9{padding-bottom:0.8125em}h1.gutter-bottom-10,h2.gutter-bottom-10,h3.gutter-bottom-10{padding-bottom:0.875em}h1.gutter-bottom-11,h2.gutter-bottom-11,h3.gutter-bottom-11{padding-bottom:0.9375em}h1.gutter-bottom-12,h2.gutter-bottom-12,h3.gutter-bottom-12{padding-bottom:1em}h1.gutter-bottom-13,h2.gutter-bottom-13,h3.gutter-bottom-13{padding-bottom:1.25em}h1.gutter-bottom-14,h2.gutter-bottom-14,h3.gutter-bottom-14{padding-bottom:1.5em}.lp-button{text-decoration:none}.is-bold{font-weight:700}.is-italic{font-style:italic}.is-strikethrough{text-decoration:line-through}.is-underline,.is-underline label{text-decoration:underline}.is-strikethrough.is-underline{text-decoration:line-through underline}.text-align-left{text-align:left}.text-align-right{text-align:right}.text-align-center{text-align:center}.lp-list{list-style:none;margin:0;padding:0}.lp-list.text-align-left li{padding-left:24px}.lp-list.text-align-left li::before{position:absolute}.lp-list.text-align-left.lp-list--numbered li{padding-left:30px}.lp-list.text-align-left.lp-list--icon li{padding-left:1.5em}.lp-list li{position:relative;width:100%;white-space:pre-wrap}.lp-list li:not(:last-child){margin-bottom:.5em}.lp-list li::before{display:inline-block;font-size:1em;font-weight:700}.lp-list--numbered{counter-reset:numbered}.lp-list--numbered.text-align-left li::before{left:-3px;top:1px}.lp-list--numbered.text-align-center li::before,.lp-list--numbered.text-align-right li::before{margin-right:10px}.lp-list--numbered li{counter-increment:numbered}.lp-list--numbered li::before{content:counter(numbered)}.lp-list--bullet.text-align-center li,.lp-list--bullet.text-align-right li{padding-left:12px}.lp-list--bullet li::before{content:"â¢";text-align:center;transform:scale(1.5);transform-origin:center right}.lp-list--checkmark.text-align-left li{padding-left:20px}.lp-list--checkmark.text-align-left li::before{left:2px;top:2px}.lp-list--checkmark.text-align-center li::before,.lp-list--checkmark.text-align-right li::before{transform:translateY(-3px)}.lp-list--checkmark li::before{content:"ï";font-family:"Font Awesome 5 Free";font-weight:900;transform:scale(0.85)}.lp-list--icon.text-align-center li::before,.lp-list--icon.text-align-right li::before{transform:translateY(-3px)}.lp-list--checkmark.text-align-left.font-scale-1 li{padding-left:15px}.lp-list--checkmark.text-align-left.font-scale-1 li::before{left:-4px}.lp-list--checkmark.text-align-left.font-scale-2 li{padding-left:15px}.lp-list--checkmark.text-align-left.font-scale-2 li::before{left:-4px}.lp-list--checkmark.text-align-left.font-scale-3 li{padding-left:15px}.lp-list--checkmark.text-align-left.font-scale-3 li::before{left:-4px}.lp-list--checkmark.text-align-left.font-scale-4 li::before{left:-6px}.lp-list--checkmark.text-align-left.font-scale-5 li::before{left:-6px}.lp-list--checkmark.text-align-left.font-scale-6 li::before{left:-6px}.lp-list--checkmark.text-align-left.font-scale-7 li{padding-left:25px}.lp-list--checkmark.text-align-left.font-scale-7 li::before{left:-10px}.lp-list--checkmark.text-align-left.font-scale-8 li{padding-left:25px}.lp-list--checkmark.text-align-left.font-scale-8 li::before{left:-10px}.lp-list--checkmark.text-align-left.font-scale-9 li{padding-left:25px}.lp-list--checkmark.text-align-left.font-scale-9 li::before{left:-10px}.lp-list--checkmark.text-align-left.font-scale-10 li{padding-left:25px}.lp-list--checkmark.text-align-left.font-scale-10 li::before{left:-10px}.lp-list--checkmark.text-align-left.font-scale-10 li{padding-left:35px}.lp-list--checkmark.text-align-left.font-scale-11 li{padding-left:1.05em}.lp-list--checkmark.text-align-left.font-scale-11 li::before{left:-0.1em}.lp-list--checkmark.text-align-left.font-scale-12 li{padding-left:1.05em}.lp-list--checkmark.text-align-left.font-scale-12 li::before{left:-0.1em}.lp-list--checkmark.text-align-left.font-scale-13 li{padding-left:1.05em}.lp-list--checkmark.text-align-left.font-scale-13 li::before{left:-0.1em}.lp-list--checkmark.text-align-left.font-scale-14 li{padding-left:1.05em}.lp-list--checkmark.text-align-left.font-scale-14 li::before{left:-0.1em}.lp-list--checkmark.text-align-left.font-scale-15 li{padding-left:1.05em}.lp-list--checkmark.text-align-left.font-scale-15 li::before{left:-0.1em}.lp-list--checkmark.text-align-left.font-scale-16 li{padding-left:1.05em}.lp-list--checkmark.text-align-left.font-scale-16 li::before{left:-0.1em}.lp-list--checkmark.text-align-left.font-scale-17 li{padding-left:1.05em}.lp-list--checkmark.text-align-left.font-scale-17 li::before{left:-0.1em}.lp-list--checkmark.text-align-left.font-scale-18 li{padding-left:1.05em}.lp-list--checkmark.text-align-left.font-scale-18 li::before{left:-0.1em}.lp-list--bullet.text-align-left.font-scale-1 li{padding-left:15px}.lp-list--bullet.text-align-left.font-scale-1 li::before{top:2px;left:-2px}.lp-list--bullet.text-align-left.font-scale-2 li{padding-left:15px}.lp-list--bullet.text-align-left.font-scale-2 li::before{top:2px;left:-2px}.lp-list--bullet.text-align-left.font-scale-3 li{padding-left:15px}.lp-list--bullet.text-align-left.font-scale-3 li::before{top:2px;left:-2px}.lp-list--bullet.text-align-left.font-scale-4 li{padding-left:20px}.lp-list--bullet.text-align-left.font-scale-4 li::before{left:0}.lp-list--bullet.text-align-left.font-scale-5 li{padding-left:20px}.lp-list--bullet.text-align-left.font-scale-5 li::before{left:0}.lp-list--bullet.text-align-left.font-scale-6 li{padding-left:20px}.lp-list--bullet.text-align-left.font-scale-6 li::before{left:0}.lp-list--bullet.text-align-left.font-scale-7 li::before{left:2px}.lp-list--bullet.text-align-left.font-scale-8 li::before{left:2px}.lp-list--bullet.text-align-left.font-scale-9 li::before{left:2px}.lp-list--bullet.text-align-left.font-scale-10 li{padding-left:35px}.lp-list--bullet.text-align-left.font-scale-10 li::before{left:6px}.lp-list--bullet.text-align-left.font-scale-11 li{padding-left:1.05em}.lp-list--bullet.text-align-left.font-scale-11 li::before{left:.25em;line-height:.75em;top:.18em}.lp-list--bullet.text-align-left.font-scale-12 li{padding-left:1.05em}.lp-list--bullet.text-align-left.font-scale-12 li::before{left:.25em;line-height:.75em;top:.18em}.lp-list--bullet.text-align-left.font-scale-13 li{padding-left:1.05em}.lp-list--bullet.text-align-left.font-scale-13 li::before{left:.25em;line-height:.75em;top:.18em}.lp-list--bullet.text-align-left.font-scale-14 li{padding-left:1.05em}.lp-list--bullet.text-align-left.font-scale-14 li::before{left:.25em;line-height:.75em;top:.18em}.lp-list--bullet.text-align-left.font-scale-15 li{padding-left:1.05em}.lp-list--bullet.text-align-left.font-scale-15 li::before{left:.25em;line-height:.75em;top:.18em}.lp-list--bullet.text-align-left.font-scale-16 li{padding-left:1.05em}.lp-list--bullet.text-align-left.font-scale-16 li::before{left:.25em;line-height:.75em;top:.18em}.lp-list--bullet.text-align-left.font-scale-17 li{padding-left:1.05em}.lp-list--bullet.text-align-left.font-scale-17 li::before{left:.25em;line-height:.75em;top:.18em}.lp-list--bullet.text-align-left.font-scale-18 li{padding-left:1.05em}.lp-list--bullet.text-align-left.font-scale-18 li::before{left:.25em;line-height:.75em;top:.18em}.lp-list--numbered.text-align-left.font-scale-1 li{padding-left:15px}.lp-list--numbered.text-align-left.font-scale-1 li:nth-child(n+10){padding-left:20px}.lp-list--numbered.text-align-left.font-scale-1 li::before{left:-3px}.lp-list--numbered.text-align-left.font-scale-2 li{padding-left:15px}.lp-list--numbered.text-align-left.font-scale-2 li:nth-child(n+10){padding-left:20px}.lp-list--numbered.text-align-left.font-scale-2 li::before{left:-3px}.lp-list--numbered.text-align-left.font-scale-3 li{padding-left:15px}.lp-list--numbered.text-align-left.font-scale-3 li:nth-child(n+10){padding-left:20px}.lp-list--numbered.text-align-left.font-scale-3 li::before{left:-3px}.lp-list--numbered.text-align-left.font-scale-4 li{padding-left:20px}.lp-list--numbered.text-align-left.font-scale-4 li:nth-child(n+10){padding-left:30px}.lp-list--numbered.text-align-left.font-scale-4 li::before{left:-3px}.lp-list--numbered.text-align-left.font-scale-5 li{padding-left:20px}.lp-list--numbered.text-align-left.font-scale-5 li:nth-child(n+10){padding-left:30px}.lp-list--numbered.text-align-left.font-scale-5 li::before{left:-3px}.lp-list--numbered.text-align-left.font-scale-6 li{padding-left:20px}.lp-list--numbered.text-align-left.font-scale-6 li:nth-child(n+10){padding-left:30px}.lp-list--numbered.text-align-left.font-scale-6 li::before{left:-3px}.lp-list--numbered.text-align-left.font-scale-7 li{padding-left:25px}.lp-list--numbered.text-align-left.font-scale-7 li:nth-child(n+10){padding-left:45px}.lp-list--numbered.text-align-left.font-scale-7 li::before{left:-3px}.lp-list--numbered.text-align-left.font-scale-8 li{padding-left:25px}.lp-list--numbered.text-align-left.font-scale-8 li:nth-child(n+10){padding-left:45px}.lp-list--numbered.text-align-left.font-scale-8 li::before{left:-3px}.lp-list--numbered.text-align-left.font-scale-9 li{padding-left:25px}.lp-list--numbered.text-align-left.font-scale-9 li:nth-child(n+10){padding-left:45px}.lp-list--numbered.text-align-left.font-scale-9 li::before{left:-3px}.lp-list--numbered.text-align-left.font-scale-10 li{padding-left:35px}.lp-list--numbered.text-align-left.font-scale-10 li:nth-child(n+10){padding-left:60px}.lp-list--numbered.text-align-left.font-scale-10 li::before{left:-2px}.lp-list--numbered.text-align-left.font-scale-11 li{padding-left:1.05em}.lp-list--numbered.text-align-left.font-scale-11 li:nth-child(n+10){padding-left:1.625em}.lp-list--numbered.text-align-left.font-scale-11 li::before{left:-2px;line-height:.75em;top:.18em}.lp-list--numbered.text-align-left.font-scale-12 li{padding-left:1.05em}.lp-list--numbered.text-align-left.font-scale-12 li:nth-child(n+10){padding-left:1.625em}.lp-list--numbered.text-align-left.font-scale-12 li::before{left:-2px;line-height:.75em;top:.18em}.lp-list--numbered.text-align-left.font-scale-13 li{padding-left:1.05em}.lp-list--numbered.text-align-left.font-scale-13 li:nth-child(n+10){padding-left:1.625em}.lp-list--numbered.text-align-left.font-scale-13 li::before{left:-2px;line-height:.75em;top:.18em}.lp-list--numbered.text-align-left.font-scale-14 li{padding-left:1.05em}.lp-list--numbered.text-align-left.font-scale-14 li:nth-child(n+10){padding-left:1.625em}.lp-list--numbered.text-align-left.font-scale-14 li::before{left:-2px;line-height:.75em;top:.18em}.lp-list--numbered.text-align-left.font-scale-15 li{padding-left:1.05em}.lp-list--numbered.text-align-left.font-scale-15 li:nth-child(n+10){padding-left:1.625em}.lp-list--numbered.text-align-left.font-scale-15 li::before{left:-2px;line-height:.75em;top:.18em}.lp-list--numbered.text-align-left.font-scale-16 li{padding-left:1.05em}.lp-list--numbered.text-align-left.font-scale-16 li:nth-child(n+10){padding-left:1.625em}.lp-list--numbered.text-align-left.font-scale-16 li::before{left:-2px;line-height:.75em;top:.18em}.lp-list--numbered.text-align-left.font-scale-17 li{padding-left:1.05em}.lp-list--numbered.text-align-left.font-scale-17 li:nth-child(n+10){padding-left:1.625em}.lp-list--numbered.text-align-left.font-scale-17 li::before{left:-2px;line-height:.75em;top:.18em}.lp-list--numbered.text-align-left.font-scale-18 li{padding-left:1.05em}.lp-list--numbered.text-align-left.font-scale-18 li:nth-child(n+10){padding-left:1.625em}.lp-list--numbered.text-align-left.font-scale-18 li::before{left:-2px;line-height:.75em;top:.18em}.lp-list--icon.text-align-left li::before{left:-6px}.lp-list--icon.text-align-left.font-scale-1 li{padding-left:20px}.lp-list--icon.text-align-left.font-scale-2 li{padding-left:20px}.lp-list--icon.text-align-left.font-scale-3 li{padding-left:20px}.lp-list--icon.text-align-left.font-scale-7 li{padding-left:40px}.lp-list--icon.text-align-left.font-scale-8 li{padding-left:40px}.lp-list--icon.text-align-left.font-scale-9 li{padding-left:40px}.lp-list--icon.text-align-left.font-scale-10 li{padding-left:40px}.lp-list--icon.text-align-left.font-scale-10 li{padding-left:55px}.lp-list--icon.text-align-left.font-scale-11 li::before{left:-5px}.lp-list--icon.text-align-left.font-scale-12 li::before{left:-5px}.lp-list--icon.text-align-left.font-scale-13 li::before{left:-5px}.lp-list--icon.text-align-left.font-scale-14 li::before{left:-5px}.lp-list--icon.text-align-left.font-scale-15 li::before{left:-5px}.lp-list--icon.text-align-left.font-scale-16 li::before{left:-5px}.lp-list--icon.text-align-left.font-scale-17 li::before{left:-5px}.lp-list--icon.text-align-left.font-scale-18 li::before{left:-5px}@media(max-width: 480px){.lp-list--checkmark.text-align-left.font-scale-7 li::before{left:-5px}.lp-list--checkmark.text-align-left.font-scale-8 li::before{left:-5px}.lp-list--checkmark.text-align-left.font-scale-9 li::before{left:-5px}.lp-list--checkmark.text-align-left.font-scale-10 li::before{left:-5px}.lp-list--checkmark.text-align-left.font-scale-11 li::before{left:-5px}.lp-list--checkmark.text-align-left.font-scale-12 li::before{left:-5px}.lp-list--checkmark.text-align-left.font-scale-13 li::before{left:-5px}.lp-list--checkmark.text-align-left.font-scale-14 li::before{left:-5px}.lp-list--checkmark.text-align-left.font-scale-15 li::before{left:-5px}.lp-list--checkmark.text-align-left.font-scale-16 li::before{left:-5px}.lp-list--checkmark.text-align-left.font-scale-17 li::before{left:-5px}.lp-list--checkmark.text-align-left.font-scale-18 li::before{left:-5px}.lp-list--numbered.text-align-left.font-scale-1 li:nth-child(n+10){padding-left:20px}.lp-list--numbered.text-align-left.font-scale-2 li:nth-child(n+10){padding-left:20px}.lp-list--numbered.text-align-left.font-scale-3 li:nth-child(n+10){padding-left:20px}.lp-list--numbered.text-align-left.font-scale-4 li:nth-child(n+10){padding-left:25px}.lp-list--numbered.text-align-left.font-scale-5 li:nth-child(n+10){padding-left:25px}.lp-list--numbered.text-align-left.font-scale-6 li:nth-child(n+10){padding-left:25px}.lp-list--numbered.text-align-left.font-scale-7 li:nth-child(n+10){padding-left:35px}.lp-list--numbered.text-align-left.font-scale-8 li:nth-child(n+10){padding-left:35px}.lp-list--numbered.text-align-left.font-scale-9 li:nth-child(n+10){padding-left:35px}.lp-list--numbered.text-align-left.font-scale-10 li:nth-child(n+10){padding-left:40px}.lp-list--icon.text-align-left.font-scale-7 li{padding-left:28px}.lp-list--icon.text-align-left.font-scale-7 li::before{left:-5px}.lp-list--icon.text-align-left.font-scale-8 li{padding-left:28px}.lp-list--icon.text-align-left.font-scale-8 li::before{left:-5px}.lp-list--icon.text-align-left.font-scale-9 li{padding-left:28px}.lp-list--icon.text-align-left.font-scale-9 li::before{left:-5px}.lp-list--icon.text-align-left.font-scale-10 li{padding-left:35px}.lp-list--icon.text-align-left.font-scale-11 li{padding-left:1.25em}.lp-list--icon.text-align-left.font-scale-11 li::before{left:-5px}.lp-list--icon.text-align-left.font-scale-12 li{padding-left:1.25em}.lp-l
46ist--icon.text-align-left.font-scale-12 li::before{left:-5px}.lp-list--icon.text-align-left.font-scale-13 li{padding-left:1.25em}.lp-list--icon.text-align-left.font-scale-13 li::before{left:-5px}.lp-list--icon.text-align-left.font-scale-14 li{padding-left:1.25em}.lp-list--icon.text-align-left.font-scale-14 li::before{left:-5px}.lp-list--icon.text-align-left.font-scale-15 li{padding-left:1.25em}.lp-list--icon.text-align-left.font-scale-15 li::before{left:-5px}.lp-list--icon.text-align-left.font-scale-16 li{padding-left:1.25em}.lp-list--icon.text-align-left.font-scale-16 li::before{left:-5px}.lp-list--icon.text-align-left.font-scale-17 li{padding-left:1.25em}.lp-list--icon.text-align-left.font-scale-17 li::before{left:-5px}.lp-list--icon.text-align-left.font-scale-18 li{padding-left:1.25em}.lp-list--icon.text-align-left.font-scale-18 li::before{left:-5px}}[data-widget-type=lp-image-text] .composite-box,[data-widget-type=lp-calendar-text] .composite-box{align-items:stretch}[data-widget-type=lp-image-text] .composite-column-compose,[data-widget-type=lp-calendar-text] .composite-column-compose{display:flex}[data-widget-type=lp-image-text] .layout-TC .composite-column-compose,[data-widget-type=lp-image-text] .layout-BC .composite-column-compose,[data-widget-type=lp-calendar-text] .layout-TC .composite-column-compose,[data-widget-type=lp-calendar-text] .layout-BC .composite-column-compose{flex-direction:column}[data-widget-type=lp-image-text] .layout-TR .composite-row-compose,[data-widget-type=lp-image-text] .layout-CR .composite-row-compose,[data-widget-type=lp-image-text] .layout-BR .composite-row-compose,[data-widget-type=lp-image-text] .layout-TL .composite-row-compose,[data-widget-type=lp-image-text] .layout-CL .composite-row-compose,[data-widget-type=lp-image-text] .layout-BL .composite-row-compose,[data-widget-type=lp-calendar-text] .layout-TR .composite-row-compose,[data-widget-type=lp-calendar-text] .layout-CR .composite-row-compose,[data-widget-type=lp-calendar-text] .layout-BR .composite-row-compose,[data-widget-type=lp-calendar-text] .layout-TL .composite-row-compose,[data-widget-type=lp-calendar-text] .layout-CL .composite-row-compose,[data-widget-type=lp-calendar-text] .layout-BL .composite-row-compose{flex:1 1 100%;flex-direction:row}[data-widget-type=lp-image-text] .layout-TR .composite-row-compose,[data-widget-type=lp-image-text] .layout-TL .composite-row-compose,[data-widget-type=lp-calendar-text] .layout-TR .composite-row-compose,[data-widget-type=lp-calendar-text] .layout-TL .composite-row-compose{align-items:flex-start}[data-widget-type=lp-image-text] .layout-CR .composite-row-compose,[data-widget-type=lp-image-text] .layout-CL .composite-row-compose,[data-widget-type=lp-calendar-text] .layout-CR .composite-row-compose,[data-widget-type=lp-calendar-text] .layout-CL .composite-row-compose{align-items:center}[data-widget-type=lp-image-text] .layout-BR .composite-row-compose,[data-widget-type=lp-image-text] .layout-BL .composite-row-compose,[data-widget-type=lp-calendar-text] .layout-BR .composite-row-compose,[data-widget-type=lp-calendar-text] .layout-BL .composite-row-compose{align-items:flex-end}@media(max-width: 767px){.section .composite{padding:8px}}.leadbox .section,.leadbox .page>section{padding:initial}@media(max-width: 479px){.inner-column{padding:8px}}@media(min-width: 480px)and (max-width: 767px){.inner-column{padding:12px}}/*# sourceMappingURL=page-styles.css.map */</style> 47 <style> 48 .body--nav-open { overflow-y: hidden; } 49 </style> 50 51
51<script async="" src="https://js.center.io/center.js"></script>
51<script> 52 // Force window to top on page load, so hash can be smooth scrolled later. 53 if (window.location.hash) { 54 window.LPSite = {}; 55 try { 56 window.LPSite.hashCache = decodeURIComponent(window.location.hash); 57 } catch { 58 window.LPSite.hashCache = window.location.hash; 59 } 60 window.history.replaceState(null, null, '#'); 61 } 62 </script>
62 63 64 65 <meta name="page-analytics-property" content="GZxwBv9VAUkNmn6z2QbYS6"> 66
66<script type="text/javascript"> 67 (function(a,c,d,b,e,f){a[d]=b;a[b]||(a[b]=function(){a[b].q=a[b].q||[];a[b].q.push(arguments)},d=c.createElement(e),d.async=!0,d.src=f,c=c.getElementsByTagName(e)[0],c.parentNode.insertBefore(d,c))})(window,document,"LeadPagesCenterObject","center","script","https://js.center.io/center.js"); 68 center('create', 'GZxwBv9VAUkNmn6z2QbYS6', 'GZxwBv9VAUkNmn6z2QbYS6', {customId: 'site-e5DsroxLoPiNw7MYsVAecG'}); 69 70 center('send','view','site','e5DsroxLoPiNw7MYsVAecG:097d25da-56d4-2095-66f2-b69581b37f32',null,{customId:'site-e5DsroxLoPiNw7MYsVAecG:097d25da-56d4-2095-66f2-b69581b37f32'}); 71 </script>
vendor: 71 bytes, lines 71-72
71 72 <script async="" src="https://www.googletagmanager.com/gtag/js?id=
72G-ZDJYJJYL3E
vendor: 16 bytes, lines 72-73
72"></script> 73
73<script> 74
vendor: 145 bytes, lines 74-77
74window.dataLayer = window.dataLayer || []; 75 function gtag(){dataLayer.push(arguments);} 76 gtag('js', new Date()); 77 gtag('config', '
77G-ZDJYJJYL3E
vendor: 8 bytes, lines 77-78
77'); 78
78</script>
78 79 <meta name="google-adsense-platform-account" content="ca-host-pub-5592227420017134"> 80 <meta name="google-adsense-platform-domain" content="leadpages.com"> 81 <!-- Google tag (gtag.js) --> 82
83<script> 84
vendor: 134 bytes, lines 84-88
84window.dataLayer = window.dataLayer || []; 85 function gtag(){dataLayer.push(arguments);} 86 gtag('js', new Date()); 87 88 gtag('config', '
88G-ZDJYJJYL3E
vendor: 4 bytes, line 88
88');
89</script>
89 90 <style id="htmlpub-breakpoint-visibility">@media (max-width: 767px) { .hp-hide-mobile { display: none !important; } } 91@media (min-width: 768px) and (max-width: 1199px) { .hp-hide-tablet { display: none !important; } } 92@media (min-width: 1200px) { .hp-hide-desktop { display: none !important; } }</style></head> 93 94 <body style=""><a href="https://drchavonne.com/cdn-cgi/content?id=CSg2zRzfp_aBSw6hMmIHUwt4m4BCS2mvOGaToWc28T0-1791095329.9224968-1.2.1.1-h6FecX8XVN331K1Dq1Bj2Hwwlv5mc7lJgS4VQBWg5oJVMV46kUe8jf90rfvn9mZe" aria-hidden="true" rel="nofollow noopener" style="display: none !important; visibility: hidden !important"></a> 95 96 <style data-emotion-css="192hz5s r2ag0e 119qg5r 2jofpk 1pmh9bv 1x26rdx">.page-background{position:fixed;height:100vh;top:0;left:0;right:0;bottom:0;z-index:-1;background-color:rgb(250,247,250);}section{margin:0 auto;}.container{max-width:1140px;}@media (min-width:calc(1140px / 16)em){.widget{padding:calc(1140px / 100);}}h1{color:rgb(0,0,0);font-family:"Montserrat",sans-serif;font-weight:bold;font-style:normal;}h2{color:rgb(0,0,0);font-family:"Montserrat",sans-serif;font-weight:normal;font-style:normal;}h3{color:rgb(0,0,0);font-family:"Montserrat",sans-serif;font-weight:normal;font-style:normal;}p{color:rgb(0,0,0);font-family:"Montserrat",sans-serif;font-weight:normal;font-style:normal;}ul{color:rgb(0,0,0);font-family:"Montserrat",sans-serif;font-weight:normal;font-style:normal;}h1{font-size:3rem;}h2{font-size:1.5rem;}h3{font-size:1.125rem;}p{font-size:1.25rem;}ul{font-size:1.25rem;}.lp-list.lp-list--bullet.text-align-left li::before{left:0;}.lp-list.lp-list--bullet.text-align-left li{padding-left:20px;}.lp-list.lp-list--numbered.text-align-left li::before{left:-3px;}.lp-list.lp-list--numbered.text-align-left li{padding-left:20px;}.lp-list.lp-list--numbered.text-align-left li:nth-child(n + 10){padding-left:30px;}@media only screen and (max-width:480px){.lp-list.lp-list--numbered.text-align-left li:nth-child(n + 10){padding-left:25px;}}.lp-list.lp-list--icon.text-align-left li::before{left:-6px;}.lp-list.lp-list--checkmark.text-align-left li::before{left:-6px;}h1{padding-bottom:0.5625em;}h2{padding-bottom:0em;}h3{padding-bottom:0em;}p{margin-bottom:0em;}p,.lp-list{margin-bottom:0em;}ul{margin-bottom:0em;}h1{line-height:1.125;}h2{line-height:1.125;}h3{line-height:1.125;}p{line-height:1.375;}ul{line-height:1.375;}@media (min-width:480px){h1{font-size:2.375rem;}}@media (min-width:768px){h1{font-size:3rem;}}@media (min-width:480px){h2{font-size:1.3125rem;}}@media (min-width:768px){h2{font-size:1.5rem;}}@media (min-width:480px){h3{font-size:1rem;}}@media (min-width:768px){h3{font-size:1.125rem;}}@media (min-width:480px){p{font-size:1.125rem;}}@media (min-width:768px){p{font-size:1.25rem;}}@media (min-width:480px){ul{font-size:1.125rem;}}@media (min-width:768px){ul{font-size:1.25rem;}}.lp-alert,.lp-calendar-react .date,.lp-calendar-react .month,.lp-form-v2-input-react{font-family:"Montserrat",sans-serif;}.lp-form-v2-input-react{color:rgb(0,0,0);}</style><style data-emotion-css="1rm4c50">.css-1rm4c50 .mobile-nav-trigger{position:absolute;right:23px;top:20px;opacity:0;}.css-1rm4c50 .column.mobile-hide-column{display:none;}.css-1rm4c50 .layout.mobile-hide-layout{display:none;}.css-1rm4c50 .mobile-nav-trigger--show{opacity:1;}</style><div class="sp-6t8d2-site-header sp-6t8d2-js-site-header sp-6t8d2-css-1rm4c50" data-scrolling="static" data-min-height="1" data-max-height="1" data-min-font-size="3" data-max-font-size="5" data-min-logo-width="100" data-max-logo-width="309" data-persist-part-id="ugg0t0vtzzybw599x6dito60" data-persist-part-kind="header" data-persist-nav-id="nav-m8imqr8"><style data-persist-part-style-for="ugg0t0vtzzybw599x6dito60">[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(article),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] article,[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(aside),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] aside,[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(details),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] details,[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(figcaption),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] figcaption,[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(figure),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] figure,[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(footer),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] footer,[data-
96persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(header),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] header,[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(hgroup),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] hgroup,[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(main),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] main,[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(menu),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] menu,[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(nav),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] nav,[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(section),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] section,[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(summary),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] summary{display:block}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(a),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] a{background-color:transparent;font-size:inherit}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(a:active),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] a:active,[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(a:hover),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] a:hover{outline:0}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(img),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] img{border:0;max-width:100%;width:100%}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(svg:not(:root)),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] svg:not(:root){overflow:hidden}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(*),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] *,[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(*::before),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] *::before,[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(*::after),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] *::after{box-sizing:border-box}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(section),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] section{position:relative;transition:opacity .5s ease-in,min-height .5s ease-in,height .5s ease-in;margin:0 auto}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-container),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-container{width:100%;margin-left:auto;margin-right:auto;max-width:1140px}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-row-compose),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-row-compose,[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-widget-row),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-widget-row,[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-layout),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-layout,[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-inner-column),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-inner-column,[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-column),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-column{position:relative}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-site-header .sp-6t8d2-layout),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-site-header .sp-6t8d2-layout,[data-persist-part-id="ugg0t0vtzzybw599x6dito60"].sp-6t8d2-site-header .sp-6t8d2-layout{align-items:center;min-height:64px}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-column),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-column{display:flex;flex-direction:column}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-inner-column),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-inner-column{flex:1 1 auto}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-inner-column:not(.sp-6t8d2-area-placeholder)),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-inner-column:not(.sp-6t8d2-area-placeholder){min-height:1px}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-widget),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-widget{word-wrap:break-word;padding:1vw;padding:1cqw}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-inner-composite),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-inner-composite{display:flex}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-flex),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-flex{display:flex;flex-direction:row;flex-wrap:wrap;margin-left:0;margin-right:0;max-width:100%}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is([class*=flex__]),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] [class*=flex__]{flex:0 0 auto;min-height:1px;padding-left:0;padding-right:0}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-flex--12 .sp-6t8d2-flex__item--xs-12),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-flex--12 .sp-6t8d2-flex__item--xs-12{flex-basis:100%;max-width:100%}@media (min-width:768px){[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-flex--12 .sp-6t8d2-flex__item--md-3),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-flex--12 .sp-6t8d2-flex__item--md-3{flex-basis:25%;max-width:25%}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-flex--12 .sp-6t8d2-flex__item--md-6),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-flex--12 .sp-6t8d2-flex__item--md-6{flex-basis:50%;max-width:50%}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-flex--12 .sp-6t8d2-flex__item--md-9),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-flex--12 .sp-6t8d2-flex__item--md-9{flex-basis:75%;max-width:75%}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-flex--12 .sp-6t8d2-flex__item--md-12),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-flex--12 .sp-6t8d2-flex__item--md-12{flex-basis:100%;max-width:100%}}@media (max-width:767px){[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-section .sp-6t8d2-composite),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-section .sp-6t8d2-composite{padding:8px}}@media (max-width:479px){[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-inner-column),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-inner-column{padding:8px}}@media (min-width:480px) and (max-width:767px){[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-inner-column),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-inner-column{padding:12px}}
96@media (min-width:calc(1140px / 16)em){[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-widget),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-widget{padding:calc(1140px/100)}}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-1rm4c50 .sp-6t8d2-mobile-nav-trigger),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-1rm4c50 .sp-6t8d2-mobile-nav-trigger,[data-persist-part-id="ugg0t0vtzzybw599x6dito60"].sp-6t8d2-css-1rm4c50 .sp-6t8d2-mobile-nav-trigger{position:absolute;right:23px;top:20px;opacity:0}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-1rm4c50 .sp-6t8d2-column.sp-6t8d2-mobile-hide-column),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-1rm4c50 .sp-6t8d2-column.sp-6t8d2-mobile-hide-column,[data-persist-part-id="ugg0t0vtzzybw599x6dito60"].sp-6t8d2-css-1rm4c50 .sp-6t8d2-column.sp-6t8d2-mobile-hide-column{display:none}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-1rm4c50 .sp-6t8d2-layout.sp-6t8d2-mobile-hide-layout),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-1rm4c50 .sp-6t8d2-layout.sp-6t8d2-mobile-hide-layout,[data-persist-part-id="ugg0t0vtzzybw599x6dito60"].sp-6t8d2-css-1rm4c50 .sp-6t8d2-layout.sp-6t8d2-mobile-hide-layout{display:none}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-1rm4c50 .sp-6t8d2-mobile-nav-trigger--show),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-1rm4c50 .sp-6t8d2-mobile-nav-trigger--show,[data-persist-part-id="ugg0t0vtzzybw599x6dito60"].sp-6t8d2-css-1rm4c50 .sp-6t8d2-mobile-nav-trigger--show{opacity:1}</style><style data-emotion-css="p62xri" style="">[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-p62xri .sp-6t8d2-flexed-header .sp-6t8d2-layout),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-p62xri .sp-6t8d2-flexed-header .sp-6t8d2-layout{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-p62xri .sp-6t8d2-flexed-header .sp-6t8d2-layout .sp-6t8d2-column:nth-of-type(1)),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-p62xri .sp-6t8d2-flexed-header .sp-6t8d2-layout .sp-6t8d2-column:nth-of-type(1){-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;max-width:initial}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-p62xri .sp-6t8d2-flexed-header .sp-6t8d2-layout .sp-6t8d2-column:nth-of-type(2)),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-p62xri .sp-6t8d2-flexed-header .sp-6t8d2-layout .sp-6t8d2-column:nth-of-type(2){-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;max-width:initial}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-p62xri .sp-6t8d2-flexed-header .sp-6t8d2-layout .sp-6t8d2-column:nth-of-type(3)),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-p62xri .sp-6t8d2-flexed-header .sp-6t8d2-layout .sp-6t8d2-column:nth-of-type(3){-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;max-width:initial}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-p62xri .sp-6t8d2-flexed-header .sp-6t8d2-widget),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-p62xri .sp-6t8d2-flexed-header .sp-6t8d2-widget{padding:16px}</style><div class="sp-6t8d2-site-nav sp-6t8d2-css-p62xri" style=""><style data-emotion-css="116fh9e" style="">[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-116fh9e),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-116fh9e{background-color:rgba(255,255,255,1);border-color:rgba(255,255,255,1);background-size:cover;background-position:center center;background-repeat:no-repeat}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-116fh9e>.sp-6t8d2-container),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-116fh9e>.sp-6t8d2-container{padding-top:1vw;padding-right:vw;padding-bottom:1vw;padding-left:vw;padding-top:1cqw;padding-right:cqw;padding-bottom:1cqw;padding-left:cqw}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-site-header .sp-6t8d2-css-116fh9e>.sp-6t8d2-container),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-site-header .sp-6t8d2-css-116fh9e>
96.sp-6t8d2-container,[data-persist-part-id="ugg0t0vtzzybw599x6dito60"].sp-6t8d2-site-header .sp-6t8d2-css-116fh9e>.sp-6t8d2-container{padding-top:0px;padding-right:0;padding-bottom:0px;padding-left:0;-webkit-transition:padding 0.03s ease;transition:padding 0.03s ease}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-bar .sp-6t8d2-css-116fh9e),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-bar .sp-6t8d2-css-116fh9e{padding:0 50px}@media (max-width:23.75em){[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-bar .sp-6t8d2-css-116fh9e),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-bar .sp-6t8d2-css-116fh9e{padding:0 25px}}@media (min-width:71.25em){[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-116fh9e>.sp-6t8d2-container),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-116fh9e>.sp-6t8d2-container{padding-top:11.4px;padding-right:NaNpx;padding-bottom:11.4px;padding-left:NaNpx}}</style><section class="sp-6t8d2-header-section sp-6t8d2-section sp-6t8d2-css-116fh9e sp-6t8d2-flexed-header" data-guid="297328eb-e536-3e55-4ffe-01e268e40bfe" style=""><div class="sp-6t8d2-container" id="sp-6t8d2-header-section" style="transition: padding-top 0.1s, padding-bottom 0.1s;"><div class="sp-6t8d2-layout sp-6t8d2-flex sp-6t8d2-flex--12" data-guid="15244206-af33-20c9-f639-f7d1a59b8f2c" style=""><style data-emotion-css="1gailv9">[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-1gailv9),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-1gailv9{padding-top:0vw;padding-right:0vw;padding-bottom:0vw;padding-left:0vw;padding-top:0cqw;padding-right:0cqw;padding-bottom:0cqw;padding-left:0cqw}@media (min-width:71.25em){[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-1gailv9.sp-6t8d2-column),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-1gailv9.sp-6t8d2-column{padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-1gailv9.sp-6t8d2-column>.sp-6t8d2-inner-column),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-1gailv9.sp-6t8d2-column>.sp-6t8d2-inner-column{padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:11.4px}}</style><div class="sp-6t8d2-column sp-6t8d2-flex__item--md-3 sp-6t8d2-flex__item--xs-12 sp-6t8d2-css-1gailv9" data-guid="ca5bcd7c-6a34-bc85-f95f-1c44abeec556"><style data-emotion-css="19wqggs">[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-19wqggs),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-19wqggs{background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0);border-radius:0px;background-size:cover;background-position:center center;background-repeat:no-repeat;padding-top:0vw;padding-right:0vw;padding-bottom:0vw;padding-left:1vw;padding-top:0cqw;padding-right:0cqw;padding-bottom:0cqw;padding-left:1cqw}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-bar .sp-6t8d2-css-19wqggs),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-bar .sp-6t8d2-css-19wqggs{padding-top:0;padding-bottom:0}</style><div class="sp-6t8d2-inner-column sp-6t8d2-css-19wqggs"><style data-emotion-css="47r3vg">[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-section--center-widgets .sp-6t8d2-css-47r3vg),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-section--center-widgets .sp-6t8d2-css-47r3vg{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}@media (max-width:767px){[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-bar .sp-6t8d2-css-47r3vg),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-bar .sp-6t8d2-css-47r3vg{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}}</style><div class="sp-6t8d2-row sp-6t8d2-flex sp-6t8d2-flex--12 sp-6t8d2-css-47r3vg"><style data-emotion-css="8x0d4x">[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-section--center-widgets .sp-6t8d2-css-8x0d4x),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-section--center-widgets .sp-6t8d2-css-8x0d4x{-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto;max-width:100%}</style><div class="sp-6t8d2-composite sp-6t8d2-flex__item--md-12 sp-6t8d2-flex__item--xs-12 sp-6t8d2-css-8x0d4x" style=""><div class="sp-6t8d2-inner-composite sp-6t8d2-flex sp-6t8d2-flex--12"><div class="sp-6t8d2-widget-column sp-6t8d2-flex__item--md-12 sp-6t8d2-flex__item--xs-12"><div class="sp-6t8d2-widget-row sp-6t8d2-flex sp-6t8d2-flex--12"><div class="sp-6t8d2-flex__item--md-12 sp-6t8d2-flex__item--xs-12"><div data-widget-id="c08b815f-0f85-cb7e-f269-e39ec85d9be8" class="sp-6t8d2-widget" style=""><div><style data-emotion-css="94ohs6">@media (max-width:959px){[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-94ohs6),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-94ohs6{text-align:center}}</style><div class="sp-6t8d2-css-94ohs6" style=""><style data-emotion-css="11g9kr1">[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-11g9kr1),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-11g9kr1{-webkit-text-decoration:none;text-decoration:none}</style><a data-widget-link="true" href="./" target="_top" data-link-type="site-route" data-route-guid="d38a43b7-0605-5a92-5441-2679020ced5a" data-route-slug="" class="sp-6t8d2-css-11g9kr1 sp-6t8d2-lp-image-react-container sp-6t8d2-lp-icon-react__icon--linked" data-widget-type="LpLogoReact"><style data-emotion-css="1vjp52m">[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-1vjp52m),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-1vjp52m{width:309px;vertical-align:bottom}</style><img class="sp-6t8d2-js-image-logo sp-6t8d2-header-logo-element sp-6t8d2-css-1vjp52m" src="https://lh3.googleusercontent.com/7F7oVmxTO_NCQE6chkmV34FVngrgmRHdUHjBo0Hxgpe0qKQi_bJJsFwFa_Ayk3P1qil0NIl9VsZ3cVkdm4qLqQ=s0" alt="" data-image-upload-source="builder3" style="" data-persist-nav-logo="" data-persist-nav-logo-ar="2.6099290780141846"></a></div></div></div></div></div></div></div></div></div></div></div><style data-emotion-css="1n30rf1">[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-1n30rf1),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-1n30rf1{padding-top:0vw;padding-right:0vw;padding-bottom:0vw;padding-left:0vw;padding-top:0cqw;padding-right:0cqw;padding-bottom:0cqw;padding-left:0cqw}
96@media (min-width:71.25em){[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-1n30rf1.sp-6t8d2-column),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-1n30rf1.sp-6t8d2-column{padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-1n30rf1.sp-6t8d2-column>.sp-6t8d2-inner-column),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-1n30rf1.sp-6t8d2-column>.sp-6t8d2-inner-column{padding-top:0px;padding-right:11.4px;padding-bottom:0px;padding-left:0px}}</style><div class="sp-6t8d2-column sp-6t8d2-flex__item--md-9 sp-6t8d2-flex__item--xs-12 sp-6t8d2-css-1n30rf1" data-guid="ae22d344-95bd-81fc-296a-d8cc2441b319"><style data-emotion-css="1vwrro9">[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-1vwrro9),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-1vwrro9{background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0);border-radius:0px;background-size:cover;background-position:center center;background-repeat:no-repeat;padding-top:0vw;padding-right:1vw;padding-bottom:0vw;padding-left:0vw;padding-top:0cqw;padding-right:1cqw;padding-bottom:0cqw;padding-left:0cqw}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-bar .sp-6t8d2-css-1vwrro9),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-bar .sp-6t8d2-css-1vwrro9{padding-top:0;padding-bottom:0}</style><div class="sp-6t8d2-inner-column sp-6t8d2-css-1vwrro9" style=""><div class="sp-6t8d2-row sp-6t8d2-flex sp-6t8d2-flex--12 sp-6t8d2-css-47r3vg"><div class="sp-6t8d2-composite sp-6t8d2-flex__item--md-12 sp-6t8d2-flex__item--xs-12 sp-6t8d2-css-8x0d4x"><div class="sp-6t8d2-inner-composite sp-6t8d2-flex sp-6t8d2-flex--12" style=""><div class="sp-6t8d2-widget-column sp-6t8d2-flex__item--md-12 sp-6t8d2-flex__item--xs-12" style=""><div class="sp-6t8d2-widget-row sp-6t8d2-flex sp-6t8d2-flex--12" style=""><div class="sp-6t8d2-flex__item--md-12 sp-6t8d2-flex__item--xs-12" style=""><div data-widget-id="c639c06c-2493-0f49-40c1-ab8d72e32371" class="sp-6t8d2-widget" style=""><style data-emotion-css="1q6cdn6" style="">[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-1q6cdn6),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-1q6cdn6{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-1q6cdn6 .sp-6t8d2-lp-nav__link),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-1q6cdn6 .sp-6t8d2-lp-nav__link{display:inline-block;cursor:pointer;position:relative;font-weight:bold;-webkit-text-decoration:none;text-decoration:none}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-1q6cdn6 .sp-6t8d2-lp-nav__link:hover:after),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-1q6cdn6 .sp-6t8d2-lp-nav__link:hover:after{bottom:0;opacity:0.7;-webkit-transition:all 0.1s ease;transition:all 0.1s ease}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-1q6cdn6 .sp-6t8d2-lp-nav__link:after),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-1q6cdn6 .sp-6t8d2-lp-nav__link:after{content:"";position:absolute;bottom:-6px;height:2px;width:100%;left:0;right:0;opacity:0;pointer-events:none}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-1q6cdn6 .sp-6t8d2-lp-nav__link.sp-6t8d2-lp-nav__link--active:after),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-1q6cdn6 .sp-6t8d2-lp-nav__link.sp-6t8d2-lp-nav__link--active:after{bottom:0;opacity:1}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-1q6cdn6 .sp-6t8d2-lp-nav__link.sp-6t8d2-lp-subnav__link:hover:after),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-1q6cdn6 .sp-6t8d2-lp-nav__link.sp-6t8d2-lp-subnav__link:hover:after{left:-12px}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-1q6cdn6 .sp-6t8d2-lp-nav__link.sp-6t8d2-lp-subnav__link:after),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-1q6cdn6 .sp-6t8d2-lp-nav__link.sp-6t8d2-lp-subnav__link:after{left:-18px;height:70%;width:2px;bottom:0;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-1q6cdn6 .sp-6t8d2-lp-nav__link.sp-6t8d2-lp-subnav__link.sp-6t8d2-lp-nav__link--active:after),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-1q6cdn6 .sp-6t8d2-lp-nav__link.sp-6t8d2-lp-subnav__link.sp-6t8d2-lp-nav__link--active:after{left:-12px}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-1q6cdn6 .sp-6t8d2-lp-subnav--popper),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-1q6cdn6 .sp-6t8d2-lp-subnav--popper{display:none;z-index:999}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-1q6cdn6 .sp-6t8d2-lp-subnav--popper.sp-6t8d2-lp-subnav--open),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-1q6cdn6 .sp-6t8d2-lp-subnav--popper.sp-6t8d2-lp-subnav--open{display:block}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-1q6cdn6 .sp-6t8d2-lp-subnav--popper.sp-6t8d2-lp-subnav--open .sp-6t8d2-lp-subnav),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-1q6cdn6 .sp-6t8d2-lp-subnav--popper.sp-6t8d2-lp-subnav--open .sp-6t8d2-lp-subnav{display:block}@media (max-width:959px){[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-1q6cdn6 .sp-6t8d2-lp-nav__link),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-1q6cdn6 .sp-6t8d2-lp-nav__link{width:100%}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-1q6cdn6 .sp-6t8d2-lp-nav__link:hover:after),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-1q6cdn6 .sp-6t8d2-lp-nav__link:hover:after{left:-12px}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-1q6cdn6 .sp-6t8d2-lp-nav__link:after),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-1q6cdn6 .sp-6t8d2-lp-nav__link:after{left:-18px;height:70%;width:2px;bottom:0;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-1q6cdn6 .sp-6t8d2-lp-nav__link.sp-6t8d2-lp-nav__link--active:after),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-1q6cdn6 .sp-6t8d2-lp-nav__link.sp-6t8d2-lp-nav__link--active:after{left:-12px}}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-1q6cdn6.sp-6t8d2-w-c639c06c-2493-0f49-40c1-ab8d72e32371),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-1q6cdn6.sp-6t8d2-w-c639c06c-2493-0f49-40c1-ab8d72e32371{-webkit-box-pack:end;
96-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;font-family:"Lato",sans-serif;font-size:calc(0.8em + (0.1em*3))}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-1q6cdn6.sp-6t8d2-w-c639c06c-2493-0f49-40c1-ab8d72e32371 .sp-6t8d2-lp-nav__link),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-1q6cdn6.sp-6t8d2-w-c639c06c-2493-0f49-40c1-ab8d72e32371 .sp-6t8d2-lp-nav__link{color:rgba(0,0,0,1);font-weight:bold;font-style:normal;margin-left:calc(12px + 0.6662040962227032em);margin-right:12px;padding:calc(10px + 0.3220680320742344em)0}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-1q6cdn6.sp-6t8d2-w-c639c06c-2493-0f49-40c1-ab8d72e32371 .sp-6t8d2-lp-nav__link:hover),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-1q6cdn6.sp-6t8d2-w-c639c06c-2493-0f49-40c1-ab8d72e32371 .sp-6t8d2-lp-nav__link:hover,[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-1q6cdn6.sp-6t8d2-w-c639c06c-2493-0f49-40c1-ab8d72e32371 .sp-6t8d2-lp-nav__link.sp-6t8d2-lp-nav__link--active[data-link-type="site-route"]),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-1q6cdn6.sp-6t8d2-w-c639c06c-2493-0f49-40c1-ab8d72e32371 .sp-6t8d2-lp-nav__link.sp-6t8d2-lp-nav__link--active[data-link-type="site-route"]{color:rgba(0,0,0,1)}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-1q6cdn6.sp-6t8d2-w-c639c06c-2493-0f49-40c1-ab8d72e32371 .sp-6t8d2-lp-nav__link:hover svg),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-1q6cdn6.sp-6t8d2-w-c639c06c-2493-0f49-40c1-ab8d72e32371 .sp-6t8d2-lp-nav__link:hover svg,[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-1q6cdn6.sp-6t8d2-w-c639c06c-2493-0f49-40c1-ab8d72e32371 .sp-6t8d2-lp-nav__link.sp-6t8d2-lp-nav__link--active[data-link-type="site-route"] svg),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-1q6cdn6.sp-6t8d2-w-c639c06c-2493-0f49-40c1-ab8d72e32371 .sp-6t8d2-lp-nav__link.sp-6t8d2-lp-nav__link--active[data-link-type="site-route"] svg{fill:rgba(0,0,0,1)}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-1q6cdn6.sp-6t8d2-w-c639c06c-2493-0f49-40c1-ab8d72e32371 .sp-6t8d2-lp-nav__link:hover:after),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-1q6cdn6.sp-6t8d2-w-c639c06c-2493-0f49-40c1-ab8d72e32371 .sp-6t8d2-lp-nav__link:hover:after,[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-1q6cdn6.sp-6t8d2-w-c639c06c-2493-0f49-40c1-ab8d72e32371 .sp-6t8d2-lp-nav__link.sp-6t8d2-lp-nav__link--active[data-link-type="site-route"]:after),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-1q6cdn6.sp-6t8d2-w-c639c06c-2493-0f49-40c1-ab8d72e32371 .sp-6t8d2-lp-nav__link.sp-6t8d2-lp-nav__link--active[data-link-type="site-route"]:after{background-color:rgba(0,0,0,1)}@media (min-width:958px){[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-1q6cdn6.sp-6t8d2-w-c639c06c-2493-0f49-40c1-ab8d72e32371 .sp-6t8d2-lp-nav__link-container:last-child .sp-6t8d2-lp-nav__link),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-1q6cdn6.sp-6t8d2-w-c639c06c-2493-0f49-40c1-ab8d72e32371 .sp-6t8d2-lp-nav__link-container:last-child .sp-6t8d2-lp-nav__link{margin-right:12px}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-1q6cdn6.sp-6t8d2-w-c639c06c-2493-0f49-40c1-ab8d72e32371 .sp-6t8d2-lp-nav__link-container:last-child .sp-6t8d2-lp-nav__link.sp-6t8d2-lp-subnav__link),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-1q6cdn6.sp-6t8d2-w-c639c06c-2493-0f49-40c1-ab8d72e32371 .sp-6t8d2-lp-nav__link-container:last-child .sp-6t8d2-lp-nav__link.sp-6t8d2-lp-subnav__link{margin-right:0px}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-1q6cdn6.sp-6t8d2-w-c639c06c-2493-0f49-40c1-ab8d72e32371 .sp-6t8d2-lp-nav__link-container:first-child .sp-6t8d2-lp-nav__link),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-1q6cdn6.sp-6t8d2-w-c639c06c-2493-0f49-40c1-ab8d72e32371 .sp-6t8d2-lp-nav__link-container:first-child .sp-6t8d2-lp-nav__link{margin-left:12px}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-1q6cdn6.sp-6t8d2-w-c639c06c-2493-0f49-40c1-ab8d72e32371 .sp-6t8d2-lp-nav__link-container:first-child .sp-6t8d2-lp-nav__link.sp-6t8d2-lp-subnav__link),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-1q6cdn6.sp-6t8d2-w-c639c06c-2493-0f49-40c1-ab8d72e32371 .sp-6t8d2-lp-nav__link-container:first-child .sp-6t8d2-lp-nav__link.sp-6t8d2-lp-subnav__link{margin-left:0px}}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-1q6cdn6.sp-6t8d2-w-c639c06c-2493-0f49-40c1-ab8d72e32371 .sp-6t8d2-lp-nav__link.sp-6t8d2-lp-subnav__link),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-1q6cdn6.sp-6t8d2-w-c639c06c-2493-0f49-40c1-ab8d72e32371 .sp-6t8d2-lp-nav__link.sp-6t8d2-lp-subnav__link{margin-left:12px;margin-right:calc(12px + 0.6662040962227032em);padding:calc(10px + 0.3220680320742344em)0}</style><div class="sp-6t8d2-lp-nav sp-6t8d2-w-c639c06c-2493-0f49-40c1-ab8d72e32371 sp-6t8d2-flex-end sp-6t8d2-css-1q6cdn6" data-widget-type="LpNavReact" style=""><style data-emotion-css="1oevijs" style="">[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-1oevijs),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-1oevijs{position:relative;z-index:999}@media (max-width:959px){[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-1oevijs),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-1oevijs{width:100%}}</style><div class="sp-6t8d2-lp-nav__link-container sp-6t8d2-css-1oevijs" style=""><a data-widget-link="true" href="./" target="_top" data-link-type="site-route" data-route-guid="d38a43b7-0605-5a92-5441-2679020ced5a" data-route-slug="" class="sp-6t8d2-lp-nav__link" style="">Home</a></div><div class="sp-6t8d2-lp-nav__link-container sp-6t8d2-css-1oevijs" style=""><a data-widget-link="true" href="about" target="_top" data-link-type="site-route" data-route-guid="a1fb7345-4b39-1fb5-55e5-251fe38eb145" data-route-slug="about" class="sp-6t8d2-lp-nav__link" style="">About</a></div><div class="sp-6t8d2-lp-nav__link-container sp-6t8d2-css-1oevijs" style=""><style data-emotion-css="gbl7kh" style="">[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-gbl7kh
96),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-gbl7kh{padding-right:24px!important}@media (min-width:960px){[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-gbl7kh::after),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-gbl7kh::after{width:calc(100% - 24px)!important}}</style><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" class="sp-6t8d2-subnav__icon--mobile sp-6t8d2-js-mobile-subnav-trigger sp-6t8d2-css-19hrs4r" data-collapsed="true" style=""><path d="M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z"></path><path fill="none" d="M0 0h24v24H0V0z"></path></svg><style data-emotion-css="113m5vy" style="">[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-113m5vy),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-113m5vy{position:relative;background:rgba(255,255,255,1);padding:0 0 0 32px;overflow:hidden;-webkit-transition:height 0.3s ease-out;transition:height 0.3s ease-out;height:0px}@media (min-width:960px){[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-113m5vy),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-113m5vy{display:none;overflow:initial;min-width:168px;max-width:320px;height:auto;border-radius:3px;box-shadow:0 3px 6px 0 rgba(0,0,0,0.23),0 3px 6px 0 rgba(0,0,0,0.16);padding:12px;-webkit-transition:-webkit-transform 0.5s ease 0.2s;-webkit-transition:transform 0.5s ease 0.2s;transition:transform 0.5s ease 0.2s;-webkit-transform:translateY(-20px);-ms-transform:translateY(-20px);transform:translateY(-20px)}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-113m5vy.sp-6t8d2-lp-subnav--animate-in),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-113m5vy.sp-6t8d2-lp-subnav--animate-in{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-113m5vy .sp-6t8d2-lp-nav__link.sp-6t8d2-lp-subnav__link),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-113m5vy .sp-6t8d2-lp-nav__link.sp-6t8d2-lp-subnav__link{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;overflow-wrap:break-word;word-break:break-all;word-break:break-word;word-wrap:break-word}}@media (max-width:959px){[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-113m5vy>div:last-of-type),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-113m5vy>div:last-of-type{padding-bottom:16px}}</style><a data-widget-link="true" href="work-with-me" target="_top" data-link-type="site-route" data-route-guid="097d25da-56d4-2095-66f2-b69581b37f32" data-route-slug="work-with-me" class="sp-6t8d2-lp-nav__link sp-6t8d2-css-gbl7kh" style="">Work with Me<style data-emotion-css="19hrs4r">[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-19hrs4r),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-19hrs4r{fill:rgba(0,0,0,1);cursor:pointer;margin-left:6px}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-19hrs4r.sp-6t8d2-subnav__icon--mobile),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-19hrs4r.sp-6t8d2-subnav__icon--mobile{display:none}@media (max-width:959px){[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-19hrs4r.sp-6t8d2-subnav__icon--mobile),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-19hrs4r.sp-6t8d2-subnav__icon--mobile{display:inline-block;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);-webkit-transition:0.1s all ease;transition:0.1s all ease;margin:0em 0 0 0;position:absolute;right:0}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-19hrs4r.sp-6t8d2-subnav__icon--mobile[data-collapsed="false"]),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-19hrs4r.sp-6t8d2-subnav__icon--mobile[data-collapsed="false"]{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-19hrs4r.sp-6t8d2-subnav__icon--desktop),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-19hrs4r.sp-6t8d2-subnav__icon--desktop{display:none;position:absolute;top:50%;right:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}@media (min-width:960px){[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-19hrs4r.sp-6t8d2-subnav__icon--desktop),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-19hrs4r.sp-6t8d2-subnav__icon--desktop{display:inline-block}}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-lp-subnav .sp-6t8d2-css-19hrs4r.sp-6t8d2-subnav__icon--desktop),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-lp-subnav .sp-6t8d2-css-19hrs4r.sp-6t8d2-subnav__icon--desktop{-webkit-transform:translateY(-50%) rotate(-90deg);-ms-transform:translateY(-50%) rotate(-90deg);transform:translateY(-50%) rotate(-90deg)}</style><svg xmlns="http://www.w3.org/2000/svg" width="10" height="5" viewB
96ox="0 0 10 5" class="sp-6t8d2-subnav__icon--desktop sp-6t8d2-css-19hrs4r" style="left: 118.568px; top: 27.6667px;"><polygon points="0 0 5 5 10 0" style=""></polygon></svg></a></div><div class="sp-6t8d2-lp-nav__link-container sp-6t8d2-css-1oevijs" style=""><a data-widget-link="true" href="https://blubrry.com/relateable/" target="_blank" data-link-type="external" class="sp-6t8d2-lp-nav__link" style="">Podcast</a></div><div class="sp-6t8d2-lp-nav__link-container sp-6t8d2-css-1oevijs" style=""><a data-widget-link="true" href="https://drchavonne-marriagefocus.scoreapp.com" target="_blank" data-link-type="site-route" data-route-guid="8cee8ba8-3129-d4b7-81ed-382ccb1671df" data-route-slug="blog" class="sp-6t8d2-lp-nav__link" style="" rel="noopener noreferrer">Assessment</a></div></div></div></div></div></div></div></div></div></div></div></div></div></section></div><div class="sp-6t8d2-js-mobile-nav-trigger sp-6t8d2-mobile-nav-trigger" data-qa-selector="side-nav-menu-trigger" style=""><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" class="sp-6t8d2-fas sp-6t8d2-fa-bars sp-6t8d2-lp-icon-react__icon" style=""><path d="M0 0h24v24H0z" fill="none"></path><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z" fill="rgba(0, 0, 0, 1)" style=""></path></svg></div><style data-emotion-css="9ja16g">[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-9ja16g),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-9ja16g{position:fixed;top:0;bottom:0;right:0;width:240px;background-color:rgba(255,255,255,1);z-index:11;-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%);-webkit-transition:-webkit-transform 0.2s ease-out;-webkit-transition:transform 0.2s ease-out;transition:transform 0.2s ease-out;padding:24px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:column nowrap;-ms-flex-flow:column nowrap;flex-flow:column nowrap;overflow-y:auto}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-9ja16g.sp-6t8d2-show-side-nav),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-9ja16g.sp-6t8d2-show-side-nav{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);-webkit-transition:-webkit-transform 0.2s ease-in;-webkit-transition:transform 0.2s ease-in;transition:transform 0.2s ease-in}</style><div class="sp-6t8d2-js-side-nav sp-6t8d2-css-9ja16g"><style data-emotion-css="ow1ier">[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-ow1ier),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-ow1ier{padding-bottom:24px}</style><div class="sp-6t8d2-css-ow1ier"><style data-emotion-css="lsqhzm">[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-lsqhzm),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-lsqhzm{font-size:21px}</style><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" class="sp-6t8d2-js-close-side-nav sp-6t8d2-lp-icon-react__icon sp-6t8d2-css-lsqhzm" aria-hidden="true"><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z" fill="rgba(0, 0, 0, 1)"></path><path d="M0 0h24v24H0z" fill="none"></path></svg></div><style data-emotion-css="19l6gip">[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-19l6gip .sp-6t8d2-composite .sp-6t8d2-widget),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-19l6gip .sp-6t8d2-composite .sp-6t8d2-widget{padding:0}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-19l6gip .sp-6t8d2-composite .sp-6t8d2-widget .sp-6t8d2-lp-nav),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-19l6gip .sp-6t8d2-composite .sp-6t8d2-widget .sp-6t8d2-lp-nav{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:column nowrap;-ms-flex-flow:column nowrap;flex-flow:column nowrap;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-19l6gip .sp-6t8d2-composite .sp-6t8d2-widget .sp-6t8d2-lp-nav__link),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-19l6gip .sp-6t8d2-composite .sp-6t8d2-widget .sp-6t8d2-lp-nav__link{margin:0;padding:0.3220680320742344em 0;cursor:pointer;position:relative;font-weight:bold;-webkit-text-decoration:none;-webkit-text-decoration:none;text-decoration:none}</style><div class="sp-6t8d2-css-19l6gip"><div class="sp-6t8d2-composite sp-6t8d2-flex__item--md-12 sp-6t8d2-flex__item--xs-12 sp-6t8d2-css-8x0d4x"><div class="sp-6t8d2-inner-composite sp-6t8d2-flex sp-6t8d2-flex--12"><div class="sp-6t8d2-widget-column sp-6t8d2-flex__item--md-12 sp-6t8d2-flex__item--xs-12"><div class="sp-6t8d2-widget-row sp-6t8d2-flex sp-6t8d2-flex--12"><div class="sp-6t8d2-flex__item--md-12 sp-6t8d2-flex__item--xs-12"><div data-widget-id="c639c06c-2493-0f49-40c1-ab8d72e32371" class="sp-6t8d2-widget"><div class="sp-6t8d2-lp-nav sp-6t8d2-w-c639c06c-2493-0f49-40c1-ab8d72e32371 sp-6t8d2-flex-end sp-6t8d2-css-1q6cdn6" data-widget-type="LpNavReact"><div class="sp-6t8d2-lp-nav__link-container sp-6t8d2-css-1oevijs"><a data-widget-link="true" href="./" target="_top" data-link-type="site-route" data-route-guid="d38a43b7-0605-5a92-5441-2679020ced5a" data-route-slug="" class="sp-6t8d2-lp-nav__link">Home</a></div><div class="sp-6t8d2-lp-nav__link-container sp-6t8d2-css-1oevijs"><a data-widget-link="true" href="about" target="_top" data-link-type="site-route" data-route-guid="a1fb7345-4b39-1fb5-55e5-251fe38eb145" data-route-slug="about" class="sp-6t8d2-lp-nav__link">About</a></div><div class="sp-6t8d2-lp-nav__link-container sp-6t8d2-css-1oevijs"><a data-widget-link="true" href="work-with-me" target="_top" data-link-type="site-route" data-route-guid="097d25da-56d4-2095-66f2-b69581b37f32" data-route-slug="work-with-me" class="sp-6t8d2-lp-nav__link sp-6t8d2-css-gbl7kh">Work with Me<svg xmlns="http://www.w3.org/2000/svg" width="10" height="5" viewB
96ox="0 0 10 5" class="sp-6t8d2-subnav__icon--desktop sp-6t8d2-css-19hrs4r"><polygon points="0 0 5 5 10 0"></polygon></svg></a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" class="sp-6t8d2-subnav__icon--mobile sp-6t8d2-js-mobile-subnav-trigger sp-6t8d2-css-19hrs4r" data-collapsed="true"><path d="M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z"></path><path fill="none" d="M0 0h24v24H0V0z"></path></svg><div class="sp-6t8d2-lp-subnav sp-6t8d2-w-c639c06c-2493-0f49-40c1-ab8d72e32371 sp-6t8d2-css-113m5vy" data-collapsed="true"><a data-widget-link="true" href="https://drchavonne.com/wmw/" target="_top" data-link-type="leadpage" class="sp-6t8d2-lp-nav__link sp-6t8d2-lp-subnav__link">WMW Program</a><a data-widget-link="true" href="marriage-coaching-for-couples" target="_top" data-link-type="site-route" data-route-guid="e10754e5-b0c4-f3bf-d48d-1f32b81131ad" data-route-slug="marriage-coaching-for-couples" class="sp-6t8d2-lp-nav__link sp-6t8d2-lp-subnav__link">Marriage Coaching for Couples</a><a data-widget-link="true" href="https://marriageupgrade.drchavonne.com/" target="_blank" data-link-type="external" class="sp-6t8d2-lp-nav__link sp-6t8d2-lp-subnav__link">The Marriage UpGrade</a><a data-widget-link="true" href="https://drchavonne.com/htbm/" target="_blank" data-link-type="leadpage" class="sp-6t8d2-lp-nav__link sp-6t8d2-lp-subnav__link">How to Be Married Program</a><a data-widget-link="true" href="life-and-marriage-coaching" target="_top" data-link-type="site-route" data-route-guid="fcf97ddf-918b-a55d-c50a-21df2aff2f46" data-route-slug="life-and-marriage-coaching" class="sp-6t8d2-lp-nav__link sp-6t8d2-lp-subnav__link">Life + Marriage Coaching for Women</a></div></div><div class="sp-6t8d2-lp-nav__link-container sp-6t8d2-css-1oevijs"><a data-widget-link="true" href="https://blubrry.com/relateable/" target="_blank" data-link-type="external" class="sp-6t8d2-lp-nav__link">Podcast</a></div><div class="sp-6t8d2-lp-nav__link-container sp-6t8d2-css-1oevijs"><a data-widget-link="true" href="/blog/" target="_top" data-link-type="site-route" data-route-guid="8cee8ba8-3129-d4b7-81ed-382ccb1671df" data-route-slug="blog" class="sp-6t8d2-lp-nav__link">Blog</a></div></div></div></div></div></div></div></div></div></div><style data-emotion-css="j5w9t3">[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-j5w9t3.sp-6t8d2-side-nav-shield),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-j5w9t3.sp-6t8d2-side-nav-shield{display:none}[data-persist-part-id="ugg0t0vtzzybw599x6dito60"]:is(.sp-6t8d2-css-j5w9t3.sp-6t8d2-side-nav-shield.sp-6t8d2-side-nav-shield--show),[data-persist-part-id="ugg0t0vtzzybw599x6dito60"] .sp-6t8d2-css-j5w9t3.sp-6t8d2-side-nav-shield.sp-6t8d2-side-nav-shield--show{background-color:rgba(0,0,0,0.4);bottom:0;display:block;left:0;position:fixed;right:0;top:0;z-index:10}</style><div class="sp-6t8d2-js-side-nav-shield sp-6t8d2-side-nav-shield sp-6t8d2-css-j5w9t3"></div>
96<script data-persist-part-script-for="k7mtnayn8w7o7kwrxibtvbth"> 97(function(){ 98 var root = document.currentScript && document.currentScript.closest('[data-persist-part-id]'); 99 if (!root || root.__hpHeaderRuntimeInit) return; 100 root.__hpHeaderRuntimeInit = true; 101 "use strict"; 102 function ownKeys(t,e){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),o.push.apply(o,n)}return o} 103 function _objectSpread(t){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(o,!0).forEach(function(e){_defineProperty(t,e,o[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):ownKeys(o).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))})}return t} 104 function _defineProperty(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e} 105 function _slicedToArray(e,t){return _arrayWithHoles(e)||_iterableToArrayLimit(e,t)||_nonIterableRest()} 106 function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance")} 107 function _iterableToArrayLimit(e,t){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)){var o=[],n=!0,r=!1,a=void 0;try{for(var i,c=e[Symbol.iterator]();!(n=(i=c.next()).done)&&(o.push(i.value),!t||o.length!==t);n=!0);}catch(e){r=!0,a=e}finally{try{n||null==c.return||c.return()}finally{if(r)throw a}}return o}} 108 function _arrayWithHoles(e){if(Array.isArray(e))return e} 109 !function(a,u){function t(e){var t=_slicedToArray(e.match(/(\d+)(px|em)/),2)[1];return parseInt(t,10)}function e(e){return 5*(e-1)}function o(e){return 1.2+.2*(e-1)}function n(o){var n=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"ease";return function(e){var t=" ".concat(e,"s ").concat(n);return o.map(function(e){return e+t}).join(", ")}}var i=n(["font-size"]),c=n(["width"]),s=n(["padding-top","padding-bottom"]),f=n(["top"],"linear");function r(e){return e.getBoundingClientRect().height}function l(e){return e.getBoundingClientRect().top}function S(o,n){return function(e,t){return o?Math.max(e,t*n):e}}var _,d,g,h,m,y,p,v,L,E=20,O={BODY_NAV_OPEN:"sp-6t8d2-body--nav-open",FLEXED_HEADER:"sp-6t8d2-flexed-header",FULL_ROW:"sp-6t8d2-flex__item--md-12",HALF_ROW:"sp-6t8d2-flex__item--md-6",MOBILE_HIDE_COLUMN:"sp-6t8d2-mobile-hide-column",MOBILE_HIDE_LAYOUT:"sp-6t8d2-mobile-hide-layout",NAV_LINK:"sp-6t8d2-lp-nav__link",QUARTER_ROW:"sp-6t8d2-flex__item--md-3",SHOW_NAV:"sp-6t8d2-show-side-nav",SHOW_NAV_SHIELD:"sp-6t8d2-side-nav-shield--show",SHOW_NAV_TRIGGER:"sp-6t8d2-mobile-nav-trigger--show",STICKY:"sp-6t8d2-sticky",STICKY_NAV_SCROLLED_DOWN:"sp-6t8d2-scrolled-down",SUBNAV_TRIGGER:"sp-6t8d2-js-mobile-subnav-trigger"},b=function(){var e=u.querySelector(".sp-6t8d2-site-nav"),t=e.querySelectorAll(".sp-6t8d2-layout"),o=t[0],n=t[1],r=_objectSpread({body:u.body,hamburger:u.querySelector(".sp-6t8d2-js-mobile-nav-trigger"),headerSpacer:u.querySelector(".js-header-spacer"),imageLogo:e.querySelector(".sp-6t8d2-js-image-logo"),header:u.querySelector(".sp-6t8d2-site-header"),siteNavContainer:e.querySelector(".sp-6t8d2-container"),siteNavSection:e.querySelector("section"),firstRow:o,secondRow:n,textLogo:e.querySelector(".js-text-logo")},n&&{logoWidgetColumn:o.querySelector(".sp-6t8d2-column:nth-of-type(2)"),logoWidget:o.querySelector(".sp-6t8d2-column:nth-of-type(2) .sp-6t8d2-widget")},{columnSpacers:[],bar:null});r.siteNavPaddedElement=r.secondRow||r.siteNavContainer,r.headerSpacer&&(r.headerTrack=r.headerSpacer.querySelector(".js-header-track"));for(var a=r.header.querySelectorAll(".sp-6t8d2-column"),i=0;i<a.length;i+=1){var c=a[i],s=c.querySelector('[data-widget-type="LpNavReact"]'),l=c.querySelector('[data-widget-type="LpButtonReact"]'),d=c.querySelector('[data-widget-type="LpSpaceReact"]');s&&(r.columnNav=c),l&&(r.columnCta=c),d&&r.columnSpacers.push(c)}return r.sideNav=r.header.querySelector(".sp-6t8d2-js-side-nav"),r.closeSideNav=r.sideNav.querySelector(".sp-6t8d2-js-close-side-nav"),r.sideNavShield=r.header.querySelector(".sp-6t8d2-js-side-nav-shield"),r}(),R=b.header.dataset,N=R&&R.scrolling,w=e(R&&R.minHeight),A=e(R&&R.maxHeight),x=o(R&&R.minFontSize),I=o(R&&R.maxFontSize),T=R&&R.minLogoWidth,C=R&&R.maxLogoWidth,q={text:1.4,image:Math.max(65,R.minLogoWidth||100),padding:e(1)},H=a.matchMedia("(min-width: ".concat(960,"px)")),W=0,D=0,M=!1,j=!1,B=1;function k(){return H.matches}function P(e,t){e&&!e.classList.contains(t)&&e.classList.add(t)}function V(e,t){e&&e.classList.contains(t)&&e.classList.remove(t)}function F(){b.sideNav.classList.toggle(O.SHOW_NAV),b.sideNavShield.classList.toggle(O.SHOW_NAV_SHIELD),b.body.classList.toggle(O.BODY_NAV_OPEN)}function U(){V(b.sideNav,O.SHOW_NAV),V(b.sideNavShield,O.SHOW_NAV_SHIELD),V(b.body,O.BODY_NAV_OPEN)}function Y(e){var t=!!e.target.dataset.widgetLink,o=e.target.classList.contains(O.NAV_LINK);(t||o)&&U()}function G(e){var t=e.target;t.classList.contains(O.SUBNAV_TRIGGER)||(t=t.parentElement);for(var o,n=t.parentElement,r=0;r<n.children.length;r+=1){var a=n.children[r];a.classList.contains("sp-6t8d2-lp-subnav")&&(o=a)}o&&("true"===o.getAttribute("data-collapsed")?(function(t){var e=t.scrollHeight;t.style.height="".concat(e,"px"),t.addEventListener("transitionend",function e(){t.removeEventListener("transitionend",e),t.style.height="auto"}
109),t.setAttribute("data-collapsed","false")}(o),o.setAttribute("data-collapsed","false"),t.setAttribute("data-collapsed","false")):(function(e){var t=e.scrollHeight,o=e.style.transition;e.style.transition="",requestAnimationFrame(function(){e.style.height="".concat(t,"px"),e.style.transition=o,requestAnimationFrame(function(){e.style.height="".concat(0,"px")})}),e.setAttribute("data-collapsed","true")}(o),t.setAttribute("data-collapsed","true")))}function z(e,t){var o=t.text,n=t.image,r=t.padding;"sticky"!==N||b.secondRowLogo||(b.textLogo?b.textLogo.style.cssText="font-size: ".concat(o,"em; transition: ").concat(i(e),";"):b.imageLogo.style.cssText="width: ".concat(n,"px; transition: ").concat(c(e),";")),b.siteNavPaddedElement.style.cssText="padding: ".concat(r,"px 0; transition: ").concat(s(e),";")}function K(e){e?(b.imageLogo&&(b.imageLogo.style.cssText=""),v&&z(.1,v),b.header.classList.contains(O.SHOW_NAV)&&U(),P(b.siteNavSection,O.FLEXED_HEADER),V(b.columnCta,O.MOBILE_HIDE_COLUMN),V(b.columnNav,O.MOBILE_HIDE_COLUMN),b.columnSpacers.forEach(function(e){return V(e,O.MOBILE_HIDE_COLUMN)}),V(b.hamburger,O.SHOW_NAV_TRIGGER),V(b.secondRow,O.MOBILE_HIDE_LAYOUT)):(v||(v={}),b.textLogo&&b.textLogo.style&&b.textLogo.style.fontSize&&(v.text=t(b.textLogo.style.fontSize)),b.imageLogo&&b.imageLogo.style&&b.imageLogo.style.fontSize&&(v.image=t(b.imageLogo.style.width)),b.siteNavPaddedElement&&b.siteNavPaddedElement.style&&b.siteNavPaddedElement.style.paddingTop&&(v.padding=t(b.siteNavPaddedElement.style.paddingTop)),z(.1,q),V(b.siteNavSection,O.FLEXED_HEADER),P(b.columnCta,O.MOBILE_HIDE_COLUMN),P(b.columnNav,O.MOBILE_HIDE_COLUMN),b.columnSpacers.forEach(function(e){return P(e,O.MOBILE_HIDE_COLUMN)}),P(b.hamburger,O.SHOW_NAV_TRIGGER),P(b.secondRow,O.MOBILE_HIDE_LAYOUT))}var X=function e(t){var o=["lpages","googleapis","localhost"],n=u.querySelector('meta[name="leadpages-serving-domain"]');if(n&&o.push(n.getAttribute("content")),o.some(function(e){return-1!==t.origin.indexOf(e)})){if("REPOSITION"===t.data.type)_=t.data.payload.position;else if("LOAD"===t.data.type)_=t.data.payload.position,b.bar=u.querySelector(".lp-bar__pusher");else if("CLOSE"===t.data.type)return b.bar=null,a.removeEventListener("message",e),d&&a.cancelAnimationFrame(d),void(d=a.requestAnimationFrame(function(){b.header.style.top=j?"".concat(b.header.getBoundingClientRect().top-W,"px"):0,W=0}));d&&a.cancelAnimationFrame(d),d=a.requestAnimationFrame(function(){j&&function(e){var t=e.type;"LOAD"!==t&&"RESIZE"!==t&&"REPOSITION"!==t||("bottom"===_&&0!==W?(b.header.style.top="".concat(l(b.header)-W,"px"),W=0):"top"===_&&(g&&(clearTimeout(g),g=null),g=setTimeout(function(){if("top"===_){var e=r(b.bar);b.header.style.top="".concat(l(b.header)+(e-W),"px"),W=e,g=null}},350)))}(t.data),d=null})}};function Q(){L&&(L.unobserve(b.headerTrack),L.disconnect(),L=null);var e=b.header.getBoundingClientRect().height,t=b.headerTrack.getBoundingClientRect().height;b.headerTrack.style.minHeight="".concat(Math.max(t,e),"px"),(L=new IntersectionObserver(te,{threshold:function(e){if(e<=0)return 0;for(var t=[],o=1;o<=e;o+=1)t.push(o/e);return t}(b.headerTrack.getBoundingClientRect().height)})).observe(b.headerTrack)}function Z(){k()?function(e,t){var o="".concat(I,"em"),n="".concat(A,"px 0"),r="".concat(C,"px"),a=e.cloneNode(!0);a.querySelectorAll("[id]").forEach(function(e){e.removeAttribute("id")});var i=a.querySelector(".js-text-logo"),c=a.querySelector(".sp-6t8d2-js-image-logo"),s=a.querySelector(".sp-6t8d2-site-nav .sp-6t8d2-container"),l=a.querySelector(".sp-6t8d2-scrolled-down");if(l&&l.classList.remove("sp-6t8d2-scrolled-down"),a.style.position="fixed",a.style.top="9999px",i&&(i.style.fontSize=o,i.style.transition=null),c&&(c.style.width=r,c.style.transition=null),s.style.padding=n,s.style.transition=null,b.body.appendChild(a),b.textLogo){var d=a.getBoundingClientRect().height;b.body.removeChild(a),t(d)}else p=function(){setTimeout(function(){var e=a.getBoundingClientRect().height;b.body.removeChild(a),t(e)},E)},(m=new Image).onload=p,m.onerror=p,m.src=b.imageLogo.src}(b.header,function(e){b.headerSpacer.style.height="".concat(e,"px"),Q()}):b.headerSpacer.style.height="".concat(b.header.getBoundingClientRect().height,"px")}function J(){if(0<(a.scrollY||a.pageYOffset)&&(b.header.classList.add(O.STICKY),b.headerSpacer.classList.add(O.STICKY),j=!0,a.removeEventListener("scroll",J),b.bar&&"top"===_)){var e=r(b.bar);b.header.style.transition=f(0),b.header.style.top="".concat(l(b.header)+(e-W),"px"),W=e}}var $,ee,te=($=function(e){if(0!==e.length){var t,o,n,r,a,i=e.reduce(function(e,t){return t.time>e.time?t:e},{time:-1/0}),c=i.isIntersecting,s=i.boundingClientRect,l=i.intersectionRect,d=l.height/s.height,u=S(c,d),g=b.firstRow&&b.secondRow,h=0<s.height?s.top:s.top-s.height;if(g){var m=b.firstRow.getBoundingClientRect().height,y=-1*m;t=S(c,Math.min(1,l.height/(s.height-m)))(w,A),o=Math.max(y,h),b.bar&&"top"===_&&(o=0<o?W:o+W),a=h<=y,n=T,r=x}else t=u(w,A),o=b.bar&&"top"===_?W:0,n=u(T,C),r=u(x,I);var p=function(e,t){var o=2<arguments.length&&void 0!==arguments[2]?arguments[2]:300,n=3<arguments.length&&void 0!==arguments[3]?arguments[3]:.3,r=_slicedToArray([e,t].sort(function(e,t){return e-t}),2),a=r[0],i=r[1];return Math.min(1,(i-a)/o)*n}(D,o,300,.25),v=function(e,t){return Math.max(.07,.3*Math.abs(e-t))}(B,d);B=d,D=o;var L={text:r,image:n,padding:t};b.header.style.transition=f(p),b.header.style.top="".concat(o,"px"),b.header.classList.toggle(O.STICKY_NAV_SCROLLED_DOWN,h<0),g&&(b.secondRowLogo.classList.toggle("sp-6t8d2-fade-in",a),b.secondRowLogo.classList.toggle("sp-6t8d2-allow-pointer-events",a)),z(v,L),M||(M=!0,setTimeout(function(){requestAnimationFrame(function(){Z()})},p+20))}},function(){for(var e=this,t=arguments.length,o=new Array(t),n=0;n<t;n++)o[n]=arguments[n];ee&&a.cancelAnimationFrame(ee),ee=a.requestAnimationFrame(function(){$.apply(e,o)})});function oe(){if(b.secondRow){b.secondRowWidgets=b.secondRow.querySelectorAll(".sp-6t8d2-widget");var e="font-size: ".concat(x,"em;"),t="width: ".concat(T,"px;");if(1<b.secondRowWidgets.length){var o=b.logoWidget.childNodes[0].cloneNode(!0);b.secondRowLogo=b.textLogo?o.querySelector(".js-text-logo"):o.querySelector(".sp-6t8d2-js-image-logo"),b.secondRowLogoWidget=b.secondRowWidgets[0],b.secondRowLogo.style.cssText=b.textLogo?e:t,b.secondRowLogoWidget.innerHTML="",b.secondRowLogoWidget.appendChild(o)}else{var n=b.logoWidgetColumn.cloneNode(!0);b.secondRowLogoWidget=n.querySelector(".sp-6t8d2-widget"),b.secondRowLogo=b.textLogo?n.querySelector(".js-text-logo"):n.querySelector(".sp-6t8d2-js-image-logo");var r=b.secondRow.querySelector(".sp-6t8d2-column");r.classList.remove(O.FULL_ROW),r.classList.add(O.HALF_ROW),n.classList.remove(O.HALF_ROW),n.classList.add(O.QUARTER_ROW),b.secondRowLogo.style.cssText=b.textLogo?e:t,b.secondRow.prepend(n)}a.headerNav&&b.secondRowLogoWidget.querySelector("a").addEventListener("click",a.headerNav.handleNavLinkClick)}Q()}function ne(e){e?oe():(L&&(L.unobserve(b.headerTrack),L.disconnect(),L=null),m&&(m.removeEventListener("load",p),m.removeEventListener("error",p)),y&&(y.removeEventListener("load",h),y.removeEventListener("error",h)),M=!(B=1))}function re(e){var t=e.matches;K(t),"sticky"===N&&ne(t)}!function(){H.addListener(re),b.closeSideNav.addEventListener("click",U),b.hamburger.addEventListener("click",F),b.sideNav.addEventListener("click",Y),b.sideNavShield.addEventListener("click",U);var e=k();e||(b.hamburger.classList.add(O.SHOW_NAV_TRIGGER),b.columnCta&&b.columnCta.classList.add(O.MOBILE_HIDE_COLUMN),b.columnSpacers.forEac
109h(function(e){return e.classList.add(O.MOBILE_HIDE_COLUMN)}),b.columnNav.classList.add(O.MOBILE_HIDE_COLUMN));for(var t=u.querySelectorAll(".sp-6t8d2-js-mobile-subnav-trigger"),o=0;o<t.length;o+=1)t[o].addEventListener("click",G);K(e),"sticky"===N&&(a.addEventListener("resize",function(r){var a,i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:100;return function(){for(var e=this,t=arguments.length,o=new Array(t),n=0;n<t;n++)o[n]=arguments[n];clearTimeout(a),a=setTimeout(function(){r.apply(e,o)},i)}}(Z,200)),a.addEventListener("message",X),a.addEventListener("scroll",J),b.bar||(b.bar=u.querySelector(".lp-bar__pusher")),e&&(b.textLogo?oe():(h=function(){setTimeout(function(){oe()},E)},(y=new Image).onload=h,y.onerror=h,y.src=b.imageLogo.src)))}()}(window,document); 110})(); 111</script>
111</div> 112 <div class="page-background"> 113 </div> 114 <style data-emotion-css="192hz5s r2ag0e 119qg5r 2jofpk 1pmh9bv 1x26rdx">.page-background{position:fixed;height:100vh;top:0;left:0;right:0;bottom:0;z-index:-1;background-color:rgb(250,247,250);}section{margin:0 auto;}.container{max-width:1140px;}@media (min-width:calc(1140px / 16)em){.widget{padding:calc(1140px / 100);}}h1{color:rgb(0,0,0);font-family:"Montserrat",sans-serif;font-weight:bold;font-style:normal;}h2{color:rgb(0,0,0);font-family:"Montserrat",sans-serif;font-weight:normal;font-style:normal;}h3{color:rgb(0,0,0);font-family:"Montserrat",sans-serif;font-weight:normal;font-style:normal;}p{color:rgb(0,0,0);font-family:"Montserrat",sans-serif;font-weight:normal;font-style:normal;}ul{color:rgb(0,0,0);font-family:"Montserrat",sans-serif;font-weight:normal;font-style:normal;}h1{font-size:3rem;}h2{font-size:1.5rem;}h3{font-size:1.125rem;}p{font-size:1.25rem;}ul{font-size:1.25rem;}.lp-list.lp-list--bullet.text-align-left li::before{left:0;}.lp-list.lp-list--bullet.text-align-left li{padding-left:20px;}.lp-list.lp-list--numbered.text-align-left li::before{left:-3px;}.lp-list.lp-list--numbered.text-align-left li{padding-left:20px;}.lp-list.lp-list--numbered.text-align-left li:nth-child(n + 10){padding-left:30px;}@media only screen and (max-width:480px){.lp-list.lp-list--numbered.text-align-left li:nth-child(n + 10){padding-left:25px;}}.lp-list.lp-list--icon.text-align-left li::before{left:-6px;}.lp-list.lp-list--checkmark.text-align-left li::before{left:-6px;}h1{padding-bottom:0.5625em;}h2{padding-bottom:0em;}h3{padding-bottom:0em;}p{margin-bottom:0em;}p,.lp-list{margin-bottom:0em;}ul{margin-bottom:0em;}h1{line-height:1.125;}h2{line-height:1.125;}h3{line-height:1.125;}p{line-height:1.375;}ul{line-height:1.375;}@media (min-width:480px){h1{font-size:2.375rem;}}@media (min-width:768px){h1{font-size:3rem;}}@media (min-width:480px){h2{font-size:1.3125rem;}}@media (min-width:768px){h2{font-size:1.5rem;}}@media (min-width:480px){h3{font-size:1rem;}}@media (min-width:768px){h3{font-size:1.125rem;}}@media (min-width:480px){p{font-size:1.125rem;}}@media (min-width:768px){p{font-size:1.25rem;}}@media (min-width:480px){ul{font-size:1.125rem;}}@media (min-width:768px){ul{font-size:1.25rem;}}.lp-alert,.lp-calendar-react .date,.lp-calendar-react .month,.lp-form-v2-input-react{font-family:"Montserrat",sans-serif;}.lp-form-v2-input-react{color:rgb(0,0,0);}</style><style data-emotion-css="1o3acgz">.css-1o3acgz{background-image:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,0)),url(undefined);}</style><div class="site css-1o3acgz"><div class="route" data-slug="work-with-me" data-guid="097d25da-56d4-2095-66f2-b69581b37f32" data-page-title="Effective Marriage Help for Couples" data-description="Looking for effective help for your marriage? My proven approach has helped couples on the brink of divorce turn their marriage around. I will teach you the tools and strategies to resolve your conflict without being harsh and disrespectful, to reconnect and feel close again, and to work well as a team instead of feeling like enemies. 115 116Schedule a complimentary consultation with me today to learn more about how I can help you with your specific issues." data-keywords="marriage help, marriage advice, marriage tips, how to communicate, how to stop arguing" data-robots=""><div class="page"><style data-emotion-css="1qj70q1">.css-1qj70q1{background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0);background-image:linear-gradient(rgba(0,0,0,0.39),rgba(0,0,0,0.39)),url("https://lh3.googleusercontent.com/BMjHmBCoS8Q8rOhekaOucziEjtOxgNhttuNtbATNaLQUHwPF9ABWE6NrT7YH5HGqRSHFFkkWYtELo6xfZ6p229HYNTyx_LXPIkjV=w16");background-size:cover;background-position:center center;background-repeat:no-repeat;min-height:100vh;}.css-1qj70q1 > .container{padding-top:0vw;padding-right:0vw;padding-bottom:10vw;padding-left:0vw;padding-top:0cqw;padding-right:0cqw;padding-bottom:10cqw;padding-left:0cqw;}.site-header .css-1qj70q1 > .container{padding-top:-5px;padding-right:0;padding-bottom:-5px;padding-left:0;-webkit-transition:padding 0.03s ease;transition:padding 0.03s ease;}.bar .css-1qj70q1{padding:0 50px;}@media (max-width:23.75em){.bar .css-1qj70q1{padding:0 25px;}}@media (min-width:71.25em){.css-1qj70q1 > .container{padding-top:0px;padding-right:0px;padding-bottom:114px;padding-left:0px;}}</style><section class="flex-display flex-direction-column flex-justify-center has-background-image has-background-size-cover section css-1qj70q1" data-guid="a4d89eb2-4922-41ba-f9af-f1251263263b" data-background="https://lh3.googleusercontent.com/BMjHmBCoS8Q8rOhekaOucziEjtOxgNhttuNtbATNaLQUHwPF9ABWE6NrT7YH5HGqRSHFFkkWYtELo6xfZ6p229HYNTyx_LXPIkjV" style="background-image: linear-gradient(rgba(0, 0, 0, 0.39), rgba(0, 0, 0, 0.39)), url("https://lh3.googleusercontent.com/BMjHmBCoS8Q8rOhekaOucziEjtOxgNhttuNtbATNaLQUHwPF9ABWE6NrT7YH5HGqRSHFFkkWYtELo6xfZ6p229HYNTyx_LXPIkjV=w2636");"><div class="container" id="hero" style=""><div class="layout flex flex--12" data-guid="e76c8cf3-1402-14e5-720b-e119d2a9cb02"><style data-emotion-css="vfaad">.css-vfaad{padding-top:0vw;padding-right:0vw;padding-bottom:0vw;padding-left:0vw;padding-top:0cqw;padding-right:0cqw;padding-bottom:0cqw;padding-left:0cqw;}@media(min-width:71.25em){.css-vfaad.column{padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.css-vfaad.column > .inner-column{padding-top:11.4px;padding-right:11.4px;padding-bottom:11.4px;padding-left:11.4px;}}</style><div class="column flex__item--md-5 flex__item--xs-12 css-vfaad" data-guid="3f9a794d-2132-8bd7-c97d-38b58d6d0f58"><style data-emotion-css="eeduzr">.css-eeduzr{background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0);border-radius:0px;background-size:cover;background-position:center center;background-repeat:no-repeat;padding-top:1vw;padding-right:1vw;padding-bottom:1vw;padding-left:1vw;padding-top:1cqw;padding-right:1cqw;padding-bottom:1cqw;padding-left:1cqw;}.bar .css-eeduzr{padding-top:0;padding-bottom:0;}</style><div class="inner-column css-eeduzr"><style data-emotion-css="47r3vg">.section--center-widgets .css-47r3vg{-webkit-box-pack:center;
116-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}@media (max-width:767px){.bar .css-47r3vg{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}</style><div class="row flex flex--12 css-47r3vg"><style data-emotion-css="8x0d4x">.section--center-widgets .css-8x0d4x{-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto;max-width:100%;}</style><div class="composite flex__item--md-12 flex__item--xs-12 css-8x0d4x"><div class="inner-composite flex flex--12"><div class="widget-column flex__item--md-12 flex__item--xs-12"><div class="widget-row flex flex--12"><div class="flex__item--md-12 flex__item--xs-12"><div data-widget-id="5f1d9e31-055f-5dc4-023c-ef14c275469b" class="widget"><style data-emotion-css="1klih5i">.css-1klih5i{height:6px;}@media (min-width:48em){.css-1klih5i{height:48px;}}</style><div class="lp-space-react w-5f1d9e31-055f-5dc4-023c-ef14c275469b css-1klih5i" data-widget-type="LpSpaceReact"></div></div></div></div></div></div></div></div></div></div><div class="column flex__item--md-7 flex__item--xs-12 css-vfaad" data-guid="661574b6-05cd-15a8-8b59-791d85f16ae6"><div class="inner-column css-eeduzr" style=""></div></div></div></div></section><style data-emotion-css="13ycjl5">.css-13ycjl5{background-color:rgba(20,20,20,1);border-color:rgba(20,20,20,1);background-size:cover;background-position:center center;background-repeat:no-repeat;}.css-13ycjl5 > .container{padding-top:1vw;padding-right:1vw;padding-bottom:1vw;padding-left:1vw;padding-top:1cqw;padding-right:1cqw;padding-bottom:1cqw;padding-left:1cqw;}.site-header .css-13ycjl5 > .container{padding-top:0px;padding-right:0;padding-bottom:0px;padding-left:0;-webkit-transition:padding 0.03s ease;transition:padding 0.03s ease;}.bar .css-13ycjl5{padding:0 50px;}@media (max-width:23.75em){.bar .css-13ycjl5{padding:0 25px;}}@media (min-width:71.25em){.css-13ycjl5 > .container{padding-top:11.4px;padding-right:11.4px;padding-bottom:11.4px;padding-left:11.4px;}}</style><section class="section css-13ycjl5" data-guid="88dfed81-07ab-3876-bc5e-acaa369daa44"><div class="container" id="section-2" style=""><div class="layout flex flex--12" data-guid="23fc647c-866d-46fd-ddf2-3edb7736704d"><div class="column flex__item--md-12 flex__item--xs-12 css-vfaad" data-guid="e04625c2-a5ec-cbfe-d5be-eb9e2ce44bd3"><div class="inner-column css-eeduzr"><div class="row flex flex--12 css-47r3vg"><div class="composite flex__item--md-12 flex__item--xs-12 css-8x0d4x"><div class="inner-composite flex flex--12"><div class="widget-column flex__item--md-12 flex__item--xs-12"><div class="widget-row flex flex--12"><div class="flex__item--md-12 flex__item--xs-12"><div data-widget-id="22ba5a66-cf4b-c856-138a-c1f1564276b7" class="widget"><div class="lp-text-react lp-headline-react" data-widget-type="LpTextReact"><h1 class="lp-headline text-align-left font-scale-12 line-height-scale-3 gutter-bottom-1 headline"><span style="color: rgb(255, 255, 255);">You landed here for a reason.</span></h1></div></div></div></div></div></div></div></div><div class="row flex flex--12 css-47r3vg"><div class="composite flex__item--md-12 flex__item--xs-12 css-8x0d4x"><div class="inner-composite flex flex--12"><div class="widget-column flex__item--md-12 flex__item--xs-12"><div class="widget-row flex flex--12"><div class="flex__item--md-12 flex__item--xs-12"><div data-widget-id="10a1d9b9-5664-e0df-e0da-674bb822f8e7" class="widget"><div class="lp-text-react lp-headline-react" data-widget-type="LpTextReact"><p class="text-align-left" style=""><span style="color: rgb(250, 247, 250);">Let's talk about how I can help.</span></p></div></div></div></div></div></div></div></div><div class="row flex flex--12 css-47r3vg"><div class="composite flex__item--md-12 flex__item--xs-12 css-8x0d4x"><div class="inner-composite flex flex--12"><div class="widget-column flex__item--md-12 flex__item--xs-12"><div class="widget-row flex flex--12"><div class="flex__item--md-12 flex__item--xs-12"><div data-widget-id="3a86b656-6125-664f-3e51-275afa7731eb" class="widget" style=""><style data-emotion-css="y13kug">.css-y13kug{position:relative;z-index:0;text-align:center;}</style><div class="lp-button-react-wrapper css-y13kug" data-widget-type="LpButtonReact"><style data-emotion-css="95fr1a">.css-95fr1a{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;
116-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;border-style:solid;border-width:1px;text-align:center;font-family:'Lato',sans-serif;text-shadow:none;-webkit-transition:color 0.2s linear,background 0.2s linear,border-color 0.2s linear, text-shadow 0.2s linear;transition:color 0.2s linear,background 0.2s linear,border-color 0.2s linear, text-shadow 0.2s linear;-webkit-text-decoration:none;text-decoration:none;position:relative;width:100%;min-height:36px;min-width:72px;padding:8px 18px;font-family:"Raleway",sans-serif;}.css-95fr1a,.css-95fr1a:focus,.css-95fr1a:active{border-color:rgb(164,19,149);background:rgb(164,19,149);color:rgb(250,247,250);}.css-95fr1a:hover{background-color:rgb(113,13,103);border-color:rgb(113,13,103);color:rgb(250,247,250);}</style><a data-widget-link="true" href="https://app.acuityscheduling.com/schedule.php?owner=16079509&appointmentType=59594791" target="_blank" rel="noopener noreferrer" data-link-type="external" class="lp-button-react w-3a86b656-6125-664f-3e51-275afa7731eb lp-button-react--full lp-button-react--small lp-button-react--flat lp-btn-flat font-scale-9 line-height-scale-5 css-95fr1a"><b style="">SCHEDULE YOUR COMPLIMENTARY CALL HERE</b></a></div></div></div></div></div></div></div></div><div class="row flex flex--12 css-47r3vg"><div class="composite flex__item--md-12 flex__item--xs-12 css-8x0d4x"><div class="inner-composite flex flex--12"><div class="widget-column flex__item--md-12 flex__item--xs-12"><div class="widget-row flex flex--12"><div class="flex__item--md-12 flex__item--xs-12"><div data-widget-id="67d2d507-5ac7-e95e-d97b-e2b7fbea8092" class="widget" style=""><div class="lp-text-react lp-headline-react" data-widget-type="LpTextReact" style=""><p class="text-align-left font-scale-8"><span style="color: rgb(250, 247, 250);">The help you need is just one step away. It starts with <strong>ONE conversation</strong>.</span></p><p class="text-align-left font-scale-8" style=""></p><p class="text-align-left font-scale-7" style=""><span style="color: rgb(250, 247, 250);"><span style="font-family: Montserrat, sans-serif;">I invite you to schedule a complimentary consultation call with me to talk more about how my coaching approach can help you.</span></span></p><p class="text-align-left font-scale-7 line-height-scale-3 gutter-bottom-14"></p><p class="text-align-left font-scale-7 line-height-scale-3 gutter-bottom-14"><span style="color: rgb(250, 247, 250);"><span style="font-family: Montserrat, sans-serif;">During this call you will have my undivided attention as you share some of the issues that concern you in your marriage and how they are affecting the rest of your life.</span></span></p><p class="text-align-left font-scale-7 line-height-scale-3 gutter-bottom-14" style=""></p><p class="text-align-left font-scale-7 line-height-scale-3 gutter-bottom-14" style=""><span style="color: rgb(250, 247, 250);"><span style="font-family: Montserrat, sans-serif;">We will then spend some time talking through what it is you want to create moving forward. You'll get to dream and tell me all about your hopes and goals for yourself and what you want your life to look like.</span></span></p><p class="text-align-left font-scale-7 line-height-scale-3 gutter-bottom-14"></p><p class="text-align-left font-scale-7 line-height-scale-3 gutter-bottom-14"><span style="color: rgb(250, 247, 250);"><span style="font-family: Montserrat, sans-serif;">I'll share with you my perspective on what it will take to move you from where you are now to where you want to be.</span></span></p><p class="text-align-left font-scale-7 line-height-scale-3 gutter-bottom-14"></p><p class="text-align-left font-scale-7 line-height-scale-3 gutter-bottom-14"><span style="color: rgb(250, 247, 250);"><span style="font-family: Montserrat, sans-serif;">I'll give you a detailed explanation for why what you've tried in the past has not worked and share with you exactly what new approach to take in order to experience progress.</span></span></p><p class="text-align-left font-scale-7 line-height-scale-3 gutter-bottom-14"><span style="color: rgb(250, 247, 250);"><span style="font-family: Montserrat, sans-serif;"> </span></span></p><p class="text-align-left font-scale-7 line-height-scale-3 gutter-bottom-1"><span style="color: rgb(250, 247, 250);"><span style="font-family: Montserrat, sans-serif;">If we both agree that working together is the best next step, I'll share all of the details for how that can happen.</span></span></p><p class="text-align-left font-scale-7 line-height-scale-3 gutter-bottom-1"></p><p class="text-align-left font-scale-8"></p><p class="text-align-left font-scale-8"><span style="color: rgb(250, 247, 250);">
116Here are the programs I offer to help support you. </span></p><p class="text-align-left font-scale-8" style=""><span style="color: rgb(250, 247, 250);"><em style="">(Click to read more about each one)</em></span></p><p class="text-align-left font-scale-8" style=""></p><p class="text-align-left font-scale-8" style=""><span style="color: rgb(250, 247, 250);">For Couples: </span></p><p class="text-align-left font-scale-8" style=""><font color="#faf7fa" style=""><a href="https://drchavonne.com/tcm" style="color: inherit; text-decoration-color: currentcolor; text-underline-offset: 0.2em;">The Connected Marriage</a></font></p><p class="text-align-left font-scale-8" style=""><span style="color: rgb(250, 247, 250);"><a href="https://marriageupgrade.drchavonne.com" target="_top" data-link-type="external" style="">The Marriage UpGrade</a></span></p><p class="text-align-left font-scale-8" style=""><span style="color: rgb(250, 247, 250);"><a href="https://drchavonne.com/htbm-coaching" target="_top" data-link-type="leadpage" style="">How to Be Married Program</a></span></p><p class="text-align-left font-scale-8" style=""></p><p class="text-align-left font-scale-8" style=""><span style="color: rgb(250, 247, 250);">For Women:</span></p><p class="text-align-left font-scale-8" style=""><span style="color: rgb(250, 247, 250);"><a href="life-and-marriage-coaching" target="_top" data-link-type="site-route" data-route-guid="fcf97ddf-918b-a55d-c50a-21df2aff2f46" data-route-slug="life-and-marriage-coaching" style="">Private Coaching</a></span></p><p class="text-align-left font-scale-8" style=""><span style="color: rgb(250, 247, 250);"><a href="https://drchavonne.com/wmw/" target="_top" data-link-type="leadpage" style="">The Well Made Woman Program</a></span></p></div></div></div></div></div></div></div></div><div class="row flex flex--12 css-47r3vg"><div class="composite flex__item--md-12 flex__item--xs-12 css-8x0d4x"><div class="inner-composite flex flex--12"><div class="widget-column flex__item--md-12 flex__item--xs-12"><div class="widget-row flex flex--12"><div class="flex__item--md-12 flex__item--xs-12"><div data-widget-id="dc576df6-07c7-2d84-a765-557f869585ce" class="widget"><div class="lp-space-react w-dc576df6-07c7-2d84-a765-557f869585ce css-1klih5i" data-widget-type="LpSpaceReact"></div></div></div></div></div></div></div></div><div class="row flex flex--12 css-47r3vg"><div class="composite flex__item--md-12 flex__item--xs-12 css-8x0d4x"><div class="inner-composite flex flex--12"><div class="widget-column flex__item--md-12 flex__item--xs-12"><div class="widget-row flex flex--12"><div class="flex__item--md-12 flex__item--xs-12"><div data-widget-id="a65128e8-4e74-5ee5-7edb-0f9148c7c519" class="widget"><div class="lp-button-react-wrapper css-y13kug" data-widget-type="LpButtonReact"><a data-widget-link="true" href="https://app.acuityscheduling.com/schedule.php?owner=16079509&appointmentType=59594791" target="_blank" rel="noopener noreferrer" data-link-type="external" class="lp-button-react w-a65128e8-4e74-5ee5-7edb-0f9148c7c519 lp-button-react--full lp-button-react--small lp-button-react--flat lp-btn-flat font-scale-9 line-height-scale-5 css-95fr1a"><b>SCHEDULE YOUR COMPLIMENTARY CALL HERE</b></a></div></div></div></div></div></div></div></div></div></div></div></div></section><div class="site-footer"><style data-emotion-css="12hsx16">.css-12hsx16{background-color:rgba(250,247,250,1);border-color:rgba(250,247,250,1);background-size:cover;background-position:center center;background-repeat:no-repeat;}.css-12hsx16 > .container{padding-top:1vw;padding-right:1vw;padding-bottom:1vw;padding-left:1vw;padding-top:1cqw;padding-right:1cqw;padding-bottom:1cqw;padding-left:1cqw;}.site-header .css-12hsx16 > .container{padding-top:0px;padding-right:0;padding-bottom:0px;padding-left:0;-webkit-transition:padding 0.03s ease;transition:padding 0.03s ease;}.bar .css-12hsx16{padding:0 50px;}@media (max-width:23.75em){.bar .css-12hsx16{padding:0 25px;}}@media (min-width:71.25em){.css-12hsx16 > .container{padding-top:11.4px;padding-right:11.4px;padding-bottom:11.4px;padding-left:11.4px;}}</style><section class="section css-12hsx16" data-guid="349c532b-2f13-d978-5171-4b35b55195bb"><div class="container" id="site-footer"><div class="layout flex flex--12" data-guid="aad8b62e-1d0a-e63d-afbe-086e9e3c6338"><div class="column flex__item--md-12 flex__item--xs-12 css-vfaad" data-guid="ecf20179-d41e
116-a7a8-1f27-323fbe640175"><div class="inner-column css-eeduzr"><div class="row flex flex--12 css-47r3vg"><div class="composite flex__item--md-12 flex__item--xs-12 css-8x0d4x"><div class="inner-composite flex flex--12"><div class="widget-column flex__item--md-12 flex__item--xs-12"><div class="widget-row flex flex--12"><div class="flex__item--md-12 flex__item--xs-12"><div data-widget-id="4914fb17-f147-1b24-ec43-3ffc251b4a49" class="widget"><div class="lp-text-react lp-headline-react" data-widget-type="LpTextReact"><p class="text-align-center font-scale-4 line-height-scale-3 gutter-bottom-1">© 2025 RelateAble, LLC. All Rights Reserved </p></div></div></div></div></div></div></div></div></div></div></div></div></section></div></div></div></div> 117
117<script src="https://embed.lpcontent.net/leadboxes/current/embed.js" async="" defer=""></script>
117 118 119 120
121<script type="text/javascript" data-scriptname="TAILOR">(function(){var exports={};var module={exports: exports};"use strict";function initFunc(){console.assert(window.sup&&window.sup.Tailor,"tailor successfully loaded")}Object.defineProperty(exports,"__esModule",{value:!0}),function(t){function e(t,s){if(!t||!t.parentElement)return null;if(t.parentElement)var i=t.parentElement.querySelectorAll(s);if(i&&1===Array.prototype.filter.call(i,function(e){return e===t}).length)return t;return e(t.parentElement,s)}function s(t){var e;for(e in this.rules=[],this.readQueue=[],this.writeQueue=[],this.opts={parentSelector:"[data-widget-id]"},t)this.opts[e]=t[e]}function i(t){return parseInt(t,10)}function r(t,e){return function(s){return t(s)?e:""}}function n(t,e,s){return s=Math.round(s),(!t||s>=t)&&(!e||s<=e)}s.prototype.register=function(t){if(t&&this.isValid(t.el)){for(var e in t.classFunctions=this.parseBreakPoints(t.breakPoints),t.classNames=[],t.breakPoints)t.classNames.push(t.breakPoints[e]);this.rules.push(t),this.triggerReCalcClassNames()}},s.prototype.isValid=function(t){return!!(t&&e(t,this.opts.parentSelector))},s.prototype.parseBreakPoints=function(t){var e,s=[];for(var a in t){var o=t[a];switch(a.charAt(0)){case"<":e=n.bind(this,null,parseInt(a.slice(1),10));break;case">":e=n.bind(this,parseInt(a.slice(1),10),null);break;default:var u=a.split("-").map(i);e=n.bind(this,u[0],u[1])}s.push(r(e,o))}return s},s.prototype.triggerReCalcClassNames=function(){this.timeout&&clearTimeout(this.timeout),this.timeout=setTimeout(this.reCalcClassNames.bind(this),150)},s.prototype.stillValid=function(t){return!!this.isValid(t.el)||(this.remove(t),!1)},s.prototype.makeTasks=function(s){var i={},r=[];return i.el=s.el,i.add=s.classFunctions.reduce(function(s,n){var a,o=e(i.el,this.opts.parentSelector);a=function(e){var s=t.getComputedStyle(e,null),i=s.getPropertyValue("padding-left"),r=s.getPropertyValue("padding-right");return parseFloat(i)+parseFloat(r)}(o);var u=n(o.offsetWidth-a<t.innerWidth?o.offsetWidth-a:t.innerWidth);return u&&(r.push(u),i.el.classList.contains(u)||s.push(u)),s}.bind(this),[]),i.remove=s.classNames.filter(function(t){return-1===r.indexOf(t)&&i.el.classList.contains(t)},this),i},s.prototype.reCalcClassNames=function(){this.readQueue=this.rules.slice(0),this.writeQueue=this.readQueue.filter(this.stillValid,this).map(this.makeTasks,this),this.writeClassNames()},s.prototype.writeClassNames=function(){for(;this.writeQueue.length;){var t=this.writeQueue.pop();t.add.forEach(function(e){t.el.classList.add(e)}),t.remove.forEach(function(e){t.el.classList.remove(e)})}},s.prototype.remove=function(t){this.rules=this.rules.filter(function(e){return e!==t})},t.sup=t.sup||{},t.sup.Tailor=s,t.sup.tailor=new s,t.addEventListener("resize",t.sup.tailor.triggerReCalcClassNames.bind(t.sup.tailor))}(window),exports.default=initFunc;;var i=module.exports.default||module.exports;return typeof i==="function"?i.apply(null, arguments):void 0;}());</script>
vendor: 1 bytes, line 121
121
122<script type="text/javascript" data-scriptname="MAPPER">(function(){var exports={};var module={exports: exports};"use strict";function unwrapExports(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function createCommonjsModule(e,r){return e(r={exports:{}},r.exports),r.exports}Object.defineProperty(exports,"__esModule",{value:!0});var _typeof_1=createCommonjsModule(function(e){function r(t){return e.exports=r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,r(t)}e.exports=r,e.exports.__esModule=!0,e.exports.default=e.exports});unwrapExports(_typeof_1);var toPrimitive_1=createCommonjsModule(function(e){var r=_typeof_1.default;e.exports=function(e,t){if("object"!=r(e)||!e)return e;var o=e[Symbol.toPrimitive];if(void 0!==o){var n=o.call(e,t||"default");if("object"!=r(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)},e.exports.__esModule=!0,e.exports.default=e.exports});unwrapExports(toPrimitive_1);var toPropertyKey_1=createCommonjsModule(function(e){var r=_typeof_1.default;e.exports=function(e){var t=toPrimitive_1(e,"string");return"symbol"==r(t)?t:t+""},e.exports.__esModule=!0,e.exports.default=e.exports});unwrapExports(toPropertyKey_1);var defineProperty=createCommonjsModule(function(e){e.exports=function(e,r,t){return(r=toPropertyKey_1(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e},e.exports.__esModule=!0,e.exports.default=e.exports}),_defineProperty=unwrapExports(defineProperty),arrayWithHoles=createCommonjsModule(function(e){e.exports=function(e){if(Array.isArray(e))return e},e.exports.__esModule=!0,e.exports.default=e.exports});unwrapExports(arrayWithHoles);var iterableToArrayLimit=createCommonjsModule(function(e){e.exports=function(e,r){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var o,n,u,i,a=[],s=!0,p=!1;try{if(u=(t=t.call(e)).next,0===r){if(Object(t)!==t)return;s=!1}else for(;!(s=(o=u.call(t)).done)&&(a.push(o.value),a.length!==r);s=!0);}catch(e){p=!0,n=e}finally{try{if(!s&&null!=t.return&&(i=t.return(),Object(i)!==i))return}finally{if(p)throw n}}return a}},e.exports.__esModule=!0,e.exports.default=e.exports});unwrapExports(iterableToArrayLimit);var arrayLikeToArray=createCommonjsModule(function(e){e.exports=function(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,o=Array(r);t<r;t++)o[t]=e[t];return o},e.exports.__esModule=!0,e.exports.default=e.exports});unwrapExports(arrayLikeToArray);var unsupportedIterableToArray=createCommonjsModule(function(e){e.exports=function(e,r){if(e){if("string"==typeof e)return arrayLikeToArray(e,r);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?arrayLikeToArray(e,r):void 0}},e.exports.__esModule=!0,e.exports.default=e.exports});unwrapExports(unsupportedIterableToArray);var nonIterableRest=createCommonjsModule(function(e){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.__esModule=!0,e.exports.default=e.exports});unwrapExports(nonIterableRest);var slicedToArray=createCommonjsModule(function(e){e.exports=function(e,r){return arrayWithHoles(e)||iterableToArrayLimit(e,r)||unsupportedIterableToArray(e,r)||nonIterableRest()},e.exports.__esModule=!0,e.exports.default=e.exports}),_slicedToArray=unwrapExports(slicedToArray);function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,o)}return t}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};
122r%2?ownKeys(Object(t),!0).forEach(function(r){_defineProperty(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}function getLocationSearch(){return window.location.search||""}function getQueryString(){return getLocationSearch().replace("?","")}function serializeQueryString(e){return Object.keys(e).map(function(r){return"".concat(encodeURIComponent(r),"=").concat(encodeURIComponent(e[r]))}).join("&")}function deserializeQueryString(e){return e.split("&").reduce(function(e,r){var t=e,o=r.split("="),n=_slicedToArray(o,2),u=n[0],i=void 0===u?"":u,a=n[1],s=void 0===a?"":a;return""!==i&&""!==s&&(t[decodeURIComponent(i)]=decodeURIComponent(s)),t},{})}function getQueryValue(e){return deserializeQueryString(getQueryString())[e]}function appendToQuery(e,r){return serializeQueryString(_objectSpread(_objectSpread({},deserializeQueryString(e)),r))}function addQueriesToUrl(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(0===Object.keys(r).length)return e;var t=e.split("?"),o=_slicedToArray(t,2),n=o[0],u=o[1],i=void 0===u?"":u;if(!i)return[n].concat(serializeQueryString(r)).join("?");var a=i.split("#"),s=_slicedToArray(a,2),p=s[0],c=s[1],l=void 0===c?"":c;return p=appendToQuery(p,r),l&&(p="".concat(p,"#").concat(l)),"".concat(n,"?").concat(p)}function module$1(){window.sup||(window.sup={}),window.sup.widgetTypes||(window.sup.widgetTypes={}),window.sup.widgets||(window.sup.widgets=[]),window.sup.register=function(e,r){window.sup.widgetTypes[e]=r,window.sup.scan(e)},window.sup.scan=function(e){var r=window.sup.widgetTypes[e];if(r&&"function"==typeof r){var t=document.querySelectorAll('[data-widget-type="'.concat(e,'"]'));Array.prototype.forEach.call(t,function(e){window.sup.widgets.push(r(e))})}};var e=getQueryValue("customerToken");if(e){var r=document.querySelectorAll("[data-widget-link]");Array.prototype.forEach.call(r,function(r){r.href=addQueriesToUrl(r.href,{customerToken:e})})}}exports.default=module$1;;var i=module.exports.default||module.exports;return typeof i==="function"?i.apply(null, arguments):void 0;}());</script>
vendor: 1 bytes, line 122
122
123<script type="text/javascript" data-scriptname="IFRAME">(function(){var exports={};var module={exports: exports};"use strict";function initFunc(){if(window.FB||/(marketplace\/template|suppress_hero=true)/.test(window.location.href)){var e=document.querySelectorAll(".section");Array.prototype.slice.call(e).forEach(function(e){var t=e;if(t.style.minHeight&&-1!==t.style.minHeight.indexOf("vh")){var i=10*parseInt(t.style.minHeight,10);t.style.minHeight="".concat(i,"px")}})}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=initFunc;;var i=module.exports.default||module.exports;return typeof i==="function"?i.apply(null, arguments):void 0;}());</script>
vendor: 1 bytes, line 123
123
124<script type="text/javascript" data-scriptname="INTERSECTION_OBSERVER">(function(){var exports={};var module={exports: exports};"use strict";function initFunc(){}Object.defineProperty(exports,"__esModule",{value:!0}),function(t,e){function n(t){this.time=t.time,this.target=t.target,this.rootBounds=t.rootBounds,this.boundingClientRect=t.boundingClientRect,this.intersectionRect=t.intersectionRect||{top:0,bottom:0,left:0,right:0,width:0,height:0},this.isIntersecting=!!t.intersectionRect;var e=this.boundingClientRect,n=e.width*e.height,o=this.intersectionRect,i=o.width*o.height;this.intersectionRatio=n?Number((i/n).toFixed(4)):this.isIntersecting?1:0}function o(t,e){var n,o,i,r=e||{};if("function"!=typeof t)throw new Error("callback must be a function");if(r.root&&1!=r.root.nodeType)throw new Error("root must be an Element");this._checkForIntersections=(n=this._checkForIntersections.bind(this),o=this.THROTTLE_TIMEOUT,i=null,function(){i||(i=setTimeout(function(){n(),i=null},o))}),this._callback=t,this._observationTargets=[],this._queuedEntries=[],this._rootMarginValues=this._parseRootMargin(r.rootMargin),this.thresholds=this._initThresholds(r.threshold),this.root=r.root||null,this.rootMargin=this._rootMarginValues.map(function(t){return t.value+t.unit}).join(" ")}function i(t,e,n,o){"function"==typeof t.addEventListener?t.addEventListener(e,n,o||!1):"function"==typeof t.attachEvent&&t.attachEvent("on"+e,n)}function r(t,e,n,o){"function"==typeof t.removeEventListener?t.removeEventListener(e,n,o||!1):"function"==typeof t.detatchEvent&&t.detatchEvent("on"+e,n)}function s(t){var e;try{e=t.getBoundingClientRect()}catch(t){}return e?(e.width&&e.height||(e={top:e.top,right:e.right,bottom:e.bottom,left:e.left,width:e.right-e.left,height:e.bottom-e.top}),e):{top:0,bottom:0,left:0,right:0,width:0,height:0}}function h(t,e){for(var n=e;n;){if(n==t)return!0;n=c(n)}return!1}function c(t){var e=t.parentNode;return e&&11==e.nodeType&&e.host?e.host:e&&e.assignedSlot?e.assignedSlot.parentNode:e}"IntersectionObserver"in t&&"IntersectionObserverEntry"in t&&"intersectionRatio"in t.IntersectionObserverEntry.prototype?"isIntersecting"in t.IntersectionObserverEntry.prototype||Object.defineProperty(t.IntersectionObserverEntry.prototype,"isIntersecting",{get:function(){return this.intersectionRatio>0}}):(o.prototype.THROTTLE_TIMEOUT=100,o.prototype.POLL_INTERVAL=null,o.prototype.USE_MUTATION_OBSERVER=!0,o.prototype.observe=function(t){if(!this._observationTargets.some(function(e){return e.element==t})){if(!t||1!=t.nodeType)throw new Error("target must be an Element");this._registerInstance(),this._observationTargets.push({element:t,entry:null}),this._monitorIntersections(),this._checkForIntersections()}},o.prototype.unobserve=function(t){this._observationTargets=this._observationTargets.filter(function(e){return e.element!=t}),this._observationTargets.length||(this._unmonitorIntersections(),this._unregisterInstance())},o.prototype.disconnect=function(){this._observationTargets=[],this._unmonitorIntersections(),this._unregisterInstance()},o.prototype.takeRecords=function(){var t=this._queuedEntries.slice();return this._queuedEntries=[],t},o.prototype._initThresholds=function(t){var e=t||[0];return Array.isArray(e)||(e=[e]),e.sort().filter(function(t,e,n){if("number"!=typeof t||isNaN(t)||t<0||t>1)throw new Error("threshold must be a number between 0 and 1 inclusively");return t!==n[e-1]})},o.prototype._parseRootMargin=function(t){var e=(t||"0px").split(/\s+/).map(function(t){var e=/^(-?\d*\.?\d+)(px|%)$/.exec(t);if(!e)throw new Error("rootMargin must be specified in pixels or percent");return{value:parseFloat(e[1]),unit:e[2]}});return e[1]=e[1]||e[0],e[2]=e[2]||e[0],e[3]=e[3]||e[1],e},o.prototype._monitorIntersections=function(){this._monitoringIntersections||(this._monitoringIntersections=!0,this.POLL_INTERVAL?this._monitoringInterval=setInterval(this._checkForIntersections,this.POLL_INTERVAL):(i(t,"resize",this._checkForIntersections,!0),i(e,"scroll",this._checkForIntersections,!0),this.USE_MUTATION_OBSERVER&&"MutationObserver"in t&&(this._domObserver=new MutationObserver(this._checkForIntersections),this._domObserver.observe(e,{attributes:!0,childList:!0,characterData:!0,subtree:!0}))))},o.prototype._unmonitorIntersections=function(){this._monitoringIntersections&&(this._monitoringIntersections=!1,clearInterval(this._monitoringInterval),this._monitoringInterval=null,r(t,"resize",this._checkForIntersections,!0),r(e,"scroll",this._checkForIntersections,!0),this._domObserver&&(this._domObserver.disconnect(),this._domObserver=null))},o.prototype._checkForIntersections=function(){var e=this._rootIsInDom(),o=e?this._getRootRect():{top:0,bottom:0,left:0,right:0,width:0,height:0};
124this._observationTargets.forEach(function(i){var r=i.element,h=s(r),c=this._rootContainsTarget(r),u=i.entry,a=e&&c&&this._computeTargetAndRootIntersection(r,o),l=i.entry=new n({time:t.performance&&performance.now&&performance.now(),target:r,boundingClientRect:h,rootBounds:o,intersectionRect:a});u?e&&c?this._hasCrossedThreshold(u,l)&&this._queuedEntries.push(l):u&&u.isIntersecting&&this._queuedEntries.push(l):this._queuedEntries.push(l)},this),this._queuedEntries.length&&this._callback(this.takeRecords(),this)},o.prototype._computeTargetAndRootIntersection=function(n,o){if("none"!=t.getComputedStyle(n).display){for(var i,r,h,u,a,l,p,d,g=s(n),f=c(n),_=!1;!_;){var v=null,m=1==f.nodeType?t.getComputedStyle(f):{};if("none"==m.display)return;if(f==this.root||f==e?(_=!0,v=o):f!=e.body&&f!=e.documentElement&&"visible"!=m.overflow&&(v=s(f)),v&&(i=v,r=g,h=void 0,u=void 0,a=void 0,l=void 0,p=void 0,d=void 0,h=Math.max(i.top,r.top),u=Math.min(i.bottom,r.bottom),a=Math.max(i.left,r.left),l=Math.min(i.right,r.right),d=u-h,!(g=(p=l-a)>=0&&d>=0&&{top:h,bottom:u,left:a,right:l,width:p,height:d})))break;f=c(f)}return g}},o.prototype._getRootRect=function(){var t;if(this.root)t=s(this.root);else{var n=e.documentElement,o=e.body;t={top:0,left:0,right:n.clientWidth||o.clientWidth,width:n.clientWidth||o.clientWidth,bottom:n.clientHeight||o.clientHeight,height:n.clientHeight||o.clientHeight}}return this._expandRectByRootMargin(t)},o.prototype._expandRectByRootMargin=function(t){var e=this._rootMarginValues.map(function(e,n){return"px"==e.unit?e.value:e.value*(n%2?t.width:t.height)/100}),n={top:t.top-e[0],right:t.right+e[1],bottom:t.bottom+e[2],left:t.left-e[3]};return n.width=n.right-n.left,n.height=n.bottom-n.top,n},o.prototype._hasCrossedThreshold=function(t,e){var n=t&&t.isIntersecting?t.intersectionRatio||0:-1,o=e.isIntersecting?e.intersectionRatio||0:-1;if(n!==o)for(var i=0;i<this.thresholds.length;i++){var r=this.thresholds[i];if(r==n||r==o||r<n!=r<o)return!0}},o.prototype._rootIsInDom=function(){return!this.root||h(e,this.root)},o.prototype._rootContainsTarget=function(t){return h(this.root||e,t)},o.prototype._registerInstance=function(){},o.prototype._unregisterInstance=function(){},t.IntersectionObserver=o,t.IntersectionObserverEntry=n)}(window,document),exports.default=initFunc;;var i=module.exports.default||module.exports;return typeof i==="function"?i.apply(null, arguments):void 0;}());</script>
vendor: 1 bytes, line 124
124
125<script type="text/javascript" data-scriptname="LAZY_LOAD">(function(){var exports={};var module={exports: exports};"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),window.NodeList&&!NodeList.prototype.forEach&&(NodeList.prototype.forEach=function(e,t){t=t||window;for(var n=0;n<this.length;n++)e.call(t,this[n],n,this)});var pixelRatio=window.devicePixelRatio||1,tokens=/[,()]/,isIE11=!!window.MSInputMethodContext&&!!document.documentMode,parseImages=function(e){var t=[],n=0,o="",a=getComputedStyle(e).backgroundImage;if(null==a)return t;for(;a.length;){var r=tokens.exec(a);if(!r)break;var i=!1;switch(r[0]){case",":n||(t.push(o.trim()),o="",i=!0);break;case"(":n+=1;break;case")":n-=1}var c=r.index+1;o+=a.slice(0,i?c-1:c),a=a.slice(c)}return(o.length||a.length)&&t.push((o+a).trim()),t},getSizeForElement=function(e){var t=Math.round(e.offsetWidth*pixelRatio),n=Math.round(e.offsetHeight*pixelRatio),o="",a="=w",r=t;return n>t&&(a="=h",r=n,o=e.classList.contains("has-background-size-contain")?"":"-c"),"".concat(a).concat(r).concat(o)},loadImage=function(e){var t=e.getAttribute("data-src"),n=Math.min(Math.round(e.width*pixelRatio),1064);e.setAttribute("src","".concat(t,"=w").concat(n))},setBackground=function(e,t,n){var o=n.target;isIE11?window.requestAnimationFrame(function(){e.style.setProperty("background-image","none"),window.requestAnimationFrame(function(){e.style.setProperty("background-image",t)})}):e.style.setProperty("background-image",t),document.body.removeChild(o)},loadBackground=function(e){var t=e.getAttribute("data-background");if(t){var n=-1!==t.indexOf("googleusercontent")?"".concat(t).concat(getSizeForElement(e)):t,o=parseImages(e),a=document.createElement("img");a.style.setProperty("display","none"),a.src=n,a.onload=setBackground.bind(window,e,[o[0],'url("'.concat(n,'")')].join(",")),document.body.appendChild(a)}},handleChange=function(e,t){e.filter(function(e){return e.isIntersecting}).forEach(function(e){var n=e.target;t.unobserve(n),("IMG"===n.tagName?loadImage:loadBackground)(n)})},setup=function(){var e=new IntersectionObserver(handleChange,{rootMargin:"100%"}),t=e.observe.bind(e);document.querySelectorAll(".lp-image-react.lazyload").forEach(function(e){e.complete?t(e):e.onload=function(){e.onload=null,t(e)}}),document.querySelectorAll(".has-background-image").forEach(t)},init=function(){"complete"===document.readyState?setup():window.addEventListener("DOMContentLoaded",setup)};exports.default=init;;var i=module.exports.default||module.exports;return typeof i==="function"?i.apply(null, arguments):void 0;}());</script>
vendor: 1 bytes, line 125
125
126<script type="text/javascript" data-scriptname="CONVERSION_CLICK">(function(){var exports={};var module={exports: exports};"use strict";function setup(){var e=document.querySelector('meta[name="leadpages-meta-id"]').content,t=document.querySelector('meta[name="active-route"]'),n=document.querySelectorAll("a[data-widget-link][data-conversion-click]");Array.prototype.forEach.call(n,function(n){var o="external"===n.dataset.linkType&&"_top"===n.target;n.addEventListener("click",function(c){if(window.center&&window.center.loaded){var a=t&&t.content?{customId:"site-".concat(e,":").concat(t.content)}:{};(o=o&&!n.getAttribute("data-standalone-leadbox"))&&(c.preventDefault(),a.callback=function(){window.top.location.href=n.href});try{window.center("get","identity",function(){return window.center("send","conversion",null,null,null,a)})}catch(e){o&&(window.top.location.href=n.href)}}})})}function initFunc(){"complete"===document.readyState?setup():window.addEventListener("DOMContentLoaded",setup)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=initFunc,exports.setup=setup;;var i=module.exports.default||module.exports;return typeof i==="function"?i.apply(null, arguments):void 0;}());</script>
vendor: 1 bytes, line 126
126
127<script type="text/javascript" data-scriptname="POWERED_BY">(function(){var exports={};var module={exports: exports};"use strict";function addPoweredBy(){var e='\n <div id="powered-by-container" class="powered-by__container">\n <div class="powered-by__sub_container">\n <div class="powered-by__top_container">\n <svg height="24" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg" style="margin-right:6px">\n <g clip-path="url(#paint0_angular_26_506_clip_path)"><g transform="matrix(-0.00960912 0.00960912 -0.0100269 -0.0100269 19.0863 8.76573)"><foreignObject x="-1608.46" y="-1608.46" width="3216.92" height="3216.92"><div xmlns="http://www.w3.org/1999/xhtml" style="background:conic-gradient(from 90deg,rgba(255, 255, 255, 1) 0deg,rgba(255, 255, 255, 0.8) 216deg,rgba(255, 255, 255, 0) 360deg);height:100%;width:100%;opacity:1"></div></foreignObject></g></g><path fill-rule="evenodd" clip-rule="evenodd" d="M11.8138 0.000976562C10.0343 0.000976562 8.5918 1.44349 8.5918 3.22293V8.59277H19.3317V19.3326H11.8138C10.0343 19.3326 8.5918 17.8901 8.5918 16.1107V16.1108C8.5918 17.8902 10.0343 19.3327 11.8137 19.3327H24.7016C26.481 19.3327 27.9236 17.8902 27.9236 16.1108V0.000976562H11.8138Z"/>\n <g clip-path="url(#paint1_angular_26_506_clip_path)"><g transform="matrix(0.00960912 -0.00960912 0.0100269 0.0100269 10.4945 17.3575)"><foreignObject x="-1608.46" y="-1608.46" width="3216.92" height="3216.92"><div xmlns="http://www.w3.org/1999/xhtml" style="background:conic-gradient(from 90deg,rgba(255, 255, 255, 1) 0deg,rgba(255, 255, 255, 0.9) 144deg,rgba(255, 255, 255, 0.8) 216deg,rgba(255, 255, 255, 0) 360deg);height:100%;width:100%;opacity:1"></div></foreignObject></g></g><path fill-rule="evenodd" clip-rule="evenodd" d="M3.22 8.59277C1.44164 8.59277 0 10.0344 0 11.8128V24.7026C0 26.482 1.44251 27.9245 3.22195 27.9245H16.1118C17.8901 27.9245 19.3318 26.4829 19.3318 24.7045V8.59277H19.3317V19.3326H11.8138C10.0344 19.3326 8.59186 17.8901 8.59186 16.1107V8.59277H3.22Z"/>\n <defs><clipPath id="paint0_angular_26_506_clip_path"><path fill-rule="evenodd" clip-rule="evenodd" d="M11.8138 0.000976562C10.0343 0.000976562 8.5918 1.44349 8.5918 3.22293V8.59277H19.3317V19.3326H11.8138C10.0343 19.3326 8.5918 17.8901 8.5918 16.1107V16.1108C8.5918 17.8902 10.0343 19.3327 11.8137 19.3327H24.7016C26.481 19.3327 27.9236 17.8902 27.9236 16.1108V0.000976562H11.8138Z"/></clipPath><clipPath id="paint1_angular_26_506_clip_path"><path fill-rule="evenodd" clip-rule="evenodd" d="M3.22 8.59277C1.44164 8.59277 0 10.0344 0 11.8128V24.7026C0 26.482 1.44251 27.9245 3.22195 27.9245H16.1118C17.8901 27.9245 19.3318 26.4829 19.3318 24.7045V8.59277H19.3317V19.3326H11.8138C10.0344 19.3326 8.59186 17.8901 8.59186 16.1107V8.59277H3.22Z"/></clipPath></defs>\n </svg>\n <div class="powered-by__top_text">\n Powered by Leadpages\n </div>\n </div>\n <div class="powered-by__bottom_container">\n <div class="powered-by__bottom_header">Turn Clicks into Customers</div>\n <div class="powered-by__bottom_body">Create your own code-free websites, landing pages, and conversion tools with a free, 14-day trial.</div>\n <div class="powered-by__bottom_link"><a href="https://lp.leadpages.com/powered-by-leadpages/?utm_source=Leadpages&utm_medium=customerpages&utm_campaign=powered_by" target="_blank">Get Started â</a></div>\n </div>\n </div>\n </div>\n ',n='\n <link\n rel="preload"\n href="https://classic-assets.leadpages.com/static-leadpages-net/fonts/opensans/OpenSans-Regular.woff2"\n as="font"\n type="font/woff2"\n crossorigin\n />\n <link\n rel="preload"\n href="https://classic-assets.leadpages.com/static-leadpages-net/fonts/opensans/OpenSans-Bold.woff2"\n as="font"\n type="font/woff2"\n crossorigin\n />\n <link\n href="https://classic-assets.leadpages.com/static-leadpages-net/fonts/opensans_typeset.css"\n rel="stylesheet"\n type="text/css"\n />\n <style id="powered-by-style">\n .powered-by__container {\n position: relative;\n min-height: 36px;\n background-color: #000;\n transition: all 1s ease-in;\n }\n .powered-by__sub_container {\n justify-content: flex-start;\n flex-direction: column;\n position: absolute;\n transition: top .2s ease-in;\n background-color: #000;\n overflow: hidden;\n top: 0px;\n left: 0px;\n right: 0px;\n bottom: 0px;\n }\n .powered-by__container:hover .powered-by__sub_container {\n top: -142px;\n }\n .powered-by__container:hover .powered-by__top_container {\n min-height: 66px;\n }\n .powered-by__bottom_container {\n flex-direction: column;\n text-align: center;\n }\n .powered-by__top_container,\n .powered-by__bottom_container,\n .powered-by__bottom_top_bar,\n .powered-by__container {\n display: flex;\n width: 100%;\n justify-content: center;\n align-items: center;\n font-family: "Open Sans", "Segoe UI", Helvetica, Arial, sans-serif;\n font-size: 14px;\n line-height: 12px;\n color: #FFF;\n }\n .powered-by__bottom_top_bar {\n padding-bottom: 24px;\n }\n .powered-by__top_container {\n transition: all .1s ease-in .1s;\n min-height: 36px;\n }\n .powered-by__top_text {\n cursor: default;\n }\n .powered-by__bottom_header {\n flex-direction: column;\n text-align: center;\n margin-bottom: 8px;\n font-weight: 700;\n }\n .powered-by__bottom_body {\n flex-direction: column;\n text-align: center;\n line-height: 18px;\n letter-spacing: 0;\n width: 350px;\n margin-bottom: 18px;\n }\n .powered-by__bottom_link a {\n font-weight: 700;\n font-size: 16px;\n color: #FFF;\n text-decoration: none;\n }\n </style>\n ',t=document.getElementById("powered-by-style");t?t.outerHTML=n:document.head.insertAdjacentHTML("beforeend",n);var o=document.getElementById("powered-by-container");
127o?o.outerHTML=e:document.body.insertAdjacentHTML("beforeend",e)}function setup(){var e=!!document.cookie.split("; ").find(function(e){return"lpPoweredBy=1"===e});if(!1===e)try{e="1"===new URLSearchParams(window.location.search).get("lpPoweredBy")}catch(e){}!0===e&&addPoweredBy()}function init(){"complete"===document.readyState?setup():window.addEventListener("DOMContentLoaded",setup)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=init;;var i=module.exports.default||module.exports;return typeof i==="function"?i.apply(null, arguments):void 0;}());</script>
vendor: 1 bytes, line 127
127
128<script type="text/javascript" data-scriptname="REDUCE_MOTION">(function(){var exports={};var module={exports: exports};"use strict";function toggleThumbnail(e){document.querySelectorAll("iframe").forEach(function(t){var n=t.getAttribute("src");if(n){var o=t.parentElement.querySelector('[data-qa-selector="background-video-thumbnail"]'),c=function(e,t){e&&(e.style.display=t)},a=function(e){t.setAttribute("src","".concat(e,"&cb=").concat((new Date).getTime()))};n.includes("youtube.com")&&o?(c(o,e?"block":"none"),c(t,e?"none":"block")):n.includes("wistia.net")?a(n.replace(/autoPlay=(true|false)/,"autoPlay=".concat(!e))):n.includes("vimeo.com")&&a(n.replace("autoplay=".concat(e?1:0),"autoplay=".concat(e?0:1)))}})}function handleMotionPreference(){toggleThumbnail(window.matchMedia("(prefers-reduced-motion: reduce)").matches)}"undefined"!=typeof window&&(document.addEventListener("DOMContentLoaded",handleMotionPreference),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",handleMotionPreference));;var i=module.exports.default||module.exports;return typeof i==="function"?i.apply(null, arguments):void 0;}());</script>
vendor: 1 bytes, line 128
128
129<script type="text/javascript" data-scriptname="SMOOTHSCROLL">"use strict";function _typeof(o){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o})(o)}!function(n,f){if(!("scrollBehavior"in f.documentElement.style&&!0!==n.__forceSmoothScrollPolyfill__)){var o,t=n.HTMLElement||n.Element,i=468,p={scroll:n.scroll||n.scrollTo,scrollBy:n.scrollBy,elementScroll:t.prototype.scroll||d,scrollIntoView:t.prototype.scrollIntoView},a=n.performance&&n.performance.now?n.performance.now.bind(n.performance):Date.now,l=(o=n.navigator.userAgent,new RegExp(["MSIE ","Trident/","Edge/"].join("|")).test(o)?1:0);n.scroll=n.scrollTo=function(){void 0!==arguments[0]&&(!0!==e(arguments[0])?s.call(n,f.body,void 0!==arguments[0].left?~~arguments[0].left:n.scrollX||n.pageXOffset,void 0!==arguments[0].top?~~arguments[0].top:n.scrollY||n.pageYOffset):p.scroll.call(n,void 0!==arguments[0].left?arguments[0].left:"object"!==_typeof(arguments[0])?arguments[0]:n.scrollX||n.pageXOffset,void 0!==arguments[0].top?arguments[0].top:void 0!==arguments[1]?arguments[1]:n.scrollY||n.pageYOffset))},n.scrollBy=function(){void 0!==arguments[0]&&(e(arguments[0])?p.scrollBy.call(n,void 0!==arguments[0].left?arguments[0].left:"object"!==_typeof(arguments[0])?arguments[0]:0,void 0!==arguments[0].top?arguments[0].top:void 0!==arguments[1]?arguments[1]:0):s.call(n,f.body,~~arguments[0].left+(n.scrollX||n.pageXOffset),~~arguments[0].top+(n.scrollY||n.pageYOffset)))},t.prototype.scroll=t.prototype.scrollTo=function(){if(void 0!==arguments[0])if(!0!==e(arguments[0])){var o=arguments[0].left,t=arguments[0].top;s.call(this,this,void 0===o?this.scrollLeft:~~o,void 0===t?this.scrollTop:~~t)}else{if("number"==typeof arguments[0]&&void 0===arguments[1])throw new SyntaxError("Value could not be converted");p.elementScroll.call(this,void 0!==arguments[0].left?~~arguments[0].left:"object"!==_typeof(arguments[0])?~~arguments[0]:this.scrollLeft,void 0!==arguments[0].top?~~arguments[0].top:void 0!==arguments[1]?~~arguments[1]:this.scrollTop)}},t.prototype.scrollBy=function(){void 0!==arguments[0]&&(!0!==e(arguments[0])?this.scroll({left:~~arguments[0].left+this.scrollLeft,top:~~arguments[0].top+this.scrollTop,behavior:arguments[0].behavior}):p.elementScroll.call(this,void 0!==arguments[0].left?~~arguments[0].left+this.scrollLeft:~~arguments[0]+this.scrollLeft,void 0!==arguments[0].top?~~arguments[0].top+this.scrollTop:~~arguments[1]+this.scrollTop))},t.prototype.scrollIntoView=function(){if(!0!==e(arguments[0])){var o=function(o){for(var t,l,e;!1==((o=o.parentNode)===f.body)&&!1===(l=r(t=o,"Y")&&c(t,"Y"),e=r(t,"X")&&c(t,"X"),l||e););return o}(this),t=o.getBoundingClientRect(),l=this.getBoundingClientRect();o!==f.body?(s.call(this,o,o.scrollLeft+l.left-t.left,o.scrollTop+l.top-t.top),"fixed"!==n.getComputedStyle(o).position&&n.scrollBy({left:t.left,top:t.top,behavior:"smooth"})):n.scrollBy({left:l.left,top:l.top,behavior:"smooth"})}else p.scrollIntoView.call(this,void 0===arguments[0]||arguments[0])}}function d(o,t){this.scrollLeft=o,this.scrollTop=t}function e(o){if(null===o||"object"!==_typeof(o)||void 0===o.behavior||"auto"===o.behavior||"instant"===o.behavior)return!0;if("object"===_typeof(o)&&"smooth"===o.behavior)return!1;throw new TypeError("behavior member of ScrollOptions "+o.behavior+" is not a valid value for enumeration ScrollBehavior.")}function r(o,t){return"Y"===t?o.clientHeight+l<o.scrollHeight:"X"===t?o.clientWidth+l<o.scrollWidth:void 0}function c(o,t){var l=n.getComputedStyle(o,null)["overflow"+t];return"auto"===l||"scroll"===l}function y(o){var t,l,e,r=(a()-o.startTime)/i;t=function(o){return.5*(1-Math.cos(Math.PI*o))}(r=1<r?1:r),l=o.startX+(o.x-o.startX)*t,e=o.startY+(o.y-o.startY)*t,o.method.call(o.scrollable,l,e),l===o.x&&e===o.y||n.requestAnimationFrame(y.bind(n,o))}function s(o,t,l){var e,r,i,c,s=a();c=o===f.body?(r=(e=n).scrollX||n.pageXOffset,i=n.scrollY||n.pageYOffset,p.scroll):(r=(e=o).scrollLeft,i=o.scrollTop,d),y({scrollable:e,method:c,startTime:s,startX:r,startY:i,x:t,y:l})}}(window,document);</script>
vendor: 1 bytes, line 129
129
130<script type="text/javascript" data-scriptname="CUSTOMEVENT">"use strict";!function(){if("function"==typeof window.CustomEvent)return;function t(t,e){e=e||{bubbles:!1,cancelable:!1,detail:void 0};var n=document.createEvent("CustomEvent");return n.initCustomEvent(t,e.bubbles,e.cancelable,e.detail),n}t.prototype=window.Event.prototype,window.CustomEvent=t}();</script>
vendor: 1 bytes, line 130
130
131<script type="text/javascript" data-scriptname="forEach">"use strict";window.NodeList&&!NodeList.prototype.forEach&&(NodeList.prototype.forEach=Array.prototype.forEach);</script>
vendor: 1 bytes, line 131
131
132<script type="text/javascript" data-scriptname="siteCommon">"use strict";var LPSite=window.LPSite||{};function navigateToRoute(e){if("NAVIGATE_TO_ROUTE"===e.data.type){var t=e.data.url;if(window.headerNav&&window.headerNav.router&&window.headerNav.showPage){var n=""===t||!!document.querySelector("[data-home-slug=".concat(t,"]"))?window.headerNav.homePage:document.querySelector("[data-slug=".concat(t,"]"));window.headerNav.router.navigate(t),window.headerNav.showPage(n)}else{var i=window.location,a=i.protocol,o=i.hostname;window.location.href="".concat(a,"//").concat(o,"/").concat(t)}}}LPSite.const={},LPSite.util={},"undefined"!=typeof global&&(global.LPSite=LPSite),function(){this.MIN_DESKTOP_WIDTH=960,this.MQ_DESKTOP=window.matchMedia("(min-width: ".concat(this.MIN_DESKTOP_WIDTH,"px)")),this.MQ_PREFERS_REDUCED_MOTION=window.matchMedia("(prefers-reduced-motion: reduce)"),this.HEADER_CLASS="js-site-header",this.LINK_CLASS="lp-nav__link",this.ACTIVE_LINK_CLASS="lp-nav__link--active",this.SUBNAV_CLASS="lp-subnav__link",this.SUBNAV_NAVIGATED_CLASS="lp-subnav--navigated"}.apply(LPSite.const),function(){var i=this;this.isDesktop=function(){return LPSite.const.MQ_DESKTOP.matches},this.prefersReducedMotion=function(){return LPSite.const.MQ_PREFERS_REDUCED_MOTION.matches},this.stripHash=function(e){return e.slice(0,e.lastIndexOf("#"))},this.stripTrailingSlash=function(e){return e.replace(/\/$/,"")},this.getCurrentPageBaseUrl=function(){try{var e=new URL(window.location.href),t=e.protocol,n=e.host,i=e.pathname,a=i.endsWith("/")?i.slice(0,-1):i;return"".concat(t,"//").concat(n).concat(a)}catch(e){return console.error("Failed to parse the window location href:",e),null}},this.addNavigateToRouteListener=function(){return window.addEventListener("message",navigateToRoute)},this.getSubnavTrigger=function(e){for(var t=e.parentElement.parentElement.parentElement.parentElement,n=null,i=0;i<t.children.length;i+=1){var a=t.children[i];if(a.classList.contains(LPSite.const.LINK_CLASS)){n=a;break}}return n},this.closeParentSubnav=function(e){var t=e.parentElement.parentElement.parentElement,n=i.getSubnavTrigger(e);i.isDesktop()&&requestAnimationFrame(function(){t.classList.add(LPSite.const.SUBNAV_NAVIGATED_CLASS),t.addEventListener("transitionend",function e(){t.removeEventListener("transitionend",e),n.addEventListener("mouseover",function e(){n.removeEventListener("mouseover",e),requestAnimationFrame(function(){t.classList.remove(LPSite.const.SUBNAV_NAVIGATED_CLASS)})})})})}}.apply(LPSite.util);</script>
vendor: 1 bytes, line 132
132
133<script type="text/javascript" data-scriptname="DELAY_SCRIPT">"use strict";!function(){var e=document.querySelectorAll("[data-delay-display-seconds]");[].forEach.call(e,function(e){var s=e.getAttribute("data-delay-display-seconds");setTimeout(function(){e.classList.add("is-visible"),e.classList.remove("is-delayed"),e.classList.remove("hide-section"),window.sup.tailor.triggerReCalcClassNames()},1e3*s)})}();</script>
vendor: 1 bytes, line 133
133
134<script type="text/javascript" data-scriptname="IMAGE_CLICKGUARD_SCRIPT">"use strict";window.addEventListener("contextmenu",function(t){var e=t.target.getAttribute("data-image-upload-source");"shutterstock_api"!==e&&"getty_api"!==e||t.preventDefault()});</script>
vendor: 1 bytes, line 134
134
135<script type="text/javascript" data-scriptname="POPPER">(function(){var exports={};var module={exports: exports};"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var commonjsGlobal="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function unwrapExports(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function createCommonjsModule(e,t){return e(t={exports:{}},t.exports),t.exports}var popper_min=createCommonjsModule(function(e,t){!function(e){function t(e){return{width:(e=e.getBoundingClientRect()).width,height:e.height,top:e.top,right:e.right,bottom:e.bottom,left:e.left,x:e.left,y:e.top}}function r(e){return"[object Window]"!==e.toString()?(e=e.ownerDocument)?e.defaultView:window:e}function n(e){return{scrollLeft:(e=r(e)).pageXOffset,scrollTop:e.pageYOffset}}function o(e){return e instanceof r(e).Element||e instanceof Element}function i(e){return e instanceof r(e).HTMLElement||e instanceof HTMLElement}function a(e){return e?(e.nodeName||"").toLowerCase():null}function s(e){return(o(e)?e.ownerDocument:e.document).documentElement}function f(e){return t(s(e)).left+n(e).scrollLeft}function p(e,o,p){void 0===p&&(p=!1),e=t(e);var c={scrollLeft:0,scrollTop:0},u={x:0,y:0};return p||("body"!==a(o)&&(c=o!==r(o)&&i(o)?{scrollLeft:o.scrollLeft,scrollTop:o.scrollTop}:n(o)),i(o)?((u=t(o)).x+=o.clientLeft,u.y+=o.clientTop):(o=s(o))&&(u.x=f(o))),{x:e.left+c.scrollLeft-u.x,y:e.top+c.scrollTop-u.y,width:e.width,height:e.height}}function c(e){return{x:e.offsetLeft,y:e.offsetTop,width:e.offsetWidth,height:e.offsetHeight}}function u(e){return"html"===a(e)?e:e.parentNode||e.host||document.ownerDocument||document.documentElement}function d(e){return r(e).getComputedStyle(e)}function l(e,t){void 0===t&&(t=[]);var n=function e(t){if(0<=["html","body","#document"].indexOf(a(t)))return t.ownerDocument.body;if(i(t)){var r=d(t);if(/auto|scroll|overlay|hidden/.test(r.overflow+r.overflowY+r.overflowX))return t}return e(u(t))}(e);return n=(e="body"===a(n))?r(n):n,t=t.concat(n),e?t:t.concat(l(u(n)))}function m(e){var t;return!i(e)||!(t=e.offsetParent)||void 0!==window.InstallTrigger&&"fixed"===d(t).position?null:t}function h(e){var t=r(e);for(e=m(e);e&&0<=["table","td","th"].indexOf(a(e));)e=m(e);return e&&"body"===a(e)&&"static"===d(e).position?t:e||t}function v(e){var t;return function(){return t||(t=new Promise(function(r){Promise.resolve().then(function(){t=void 0,r(e())})})),t}}function g(e){return e.split("-")[0]}function b(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return!t.some(function(e){return!(e&&"function"==typeof e.getBoundingClientRect)})}function y(e){void 0===e&&(e={});var t=e.defaultModifiers,r=void 0===t?[]:t,n=void 0===(e=e.defaultOptions)?C:e;return function(e,t,i){function a(){f.forEach(function(e){return e()}),f=[]}void 0===i&&(i=n);var s={placement:"bottom",orderedModifiers:[],options:Object.assign({},C,{},n),modifiersData:{},elements:{reference:e,popper:t},attributes:{},styles:{}},f=[],u=!1,d={state:s,setOptions:function(i){return a(),s.options=Object.assign({},n,{},s.options,{},i),s.scrollParents={reference:o(e)?l(e):[],popper:l(t)},i=function(e){var t=function(e){var t=new Map,r=new Set,n=[];return e.forEach(function(e){t.set(e.name,e)}),e.forEach(function(e){r.has(e.name)||function e(o){r.add(o.name),[].concat(o.requires||[],o.requiresIfExists||[]).forEach(function(n){r.has(n)||(n=t.get(n))&&e(n)}),n.push(o)}(e)}),n}(e);return A.reduce(function(e,r){return e.concat(t.filter(function(e){return e.phase===r}))},[])}(function(e){var t=e.reduce(function(e,t){var r=e[t.name];return e[t.name]=r?Object.assign({},r,{},t,{options:Object.assign({},r.options,{},t.options),data:Object.assign({},r.data,{},t.data)}):t,e},{});return Object.keys(t).map(function(e){return t[e]})}([].concat(r,s.options.modifiers))),s.orderedModifiers=i.filter(function(e){return e.enabled}),s.orderedModifiers.forEach(function(e){var t=e.name,r=e.options;r=void 0===r?{}:r,"function"==typeof(e=e.effect)&&(t=e({state:s,name:t,instance:d,options:r}),f.push(t||function(){}))}),d.update()}
135,forceUpdate:function(){if(!u){var e=s.elements,t=e.reference;if(b(t,e=e.popper))for(s.rects={reference:p(t,h(e),"fixed"===s.options.strategy),popper:c(e)},s.reset=!1,s.placement=s.options.placement,s.orderedModifiers.forEach(function(e){return s.modifiersData[e.name]=Object.assign({},e.data)}),t=0;t<s.orderedModifiers.length;t++)if(!0===s.reset)s.reset=!1,t=-1;else{var r=s.orderedModifiers[t];e=r.fn;var n=r.options;n=void 0===n?{}:n,r=r.name,"function"==typeof e&&(s=e({state:s,options:n,name:r,instance:d})||s)}}},update:v(function(){return new Promise(function(e){d.forceUpdate(),e(s)})}),destroy:function(){a(),u=!0}};return b(e,t)?(d.setOptions(i).then(function(e){!u&&i.onFirstUpdate&&i.onFirstUpdate(e)}),d):d}}function w(e){return 0<=["top","bottom"].indexOf(e)?"x":"y"}function x(e){var t=e.reference,r=e.element,n=(e=e.placement)?g(e):null;e=e?e.split("-")[1]:null;var o=t.x+t.width/2-r.width/2,i=t.y+t.height/2-r.height/2;switch(n){case"top":o={x:o,y:t.y-r.height};break;case"bottom":o={x:o,y:t.y+t.height};break;case"right":o={x:t.x+t.width,y:i};break;case"left":o={x:t.x-r.width,y:i};break;default:o={x:t.x,y:t.y}}if(null!=(n=n?w(n):null))switch(i="y"===n?"height":"width",e){case"start":o[n]=Math.floor(o[n])-Math.floor(t[i]/2-r[i]/2);break;case"end":o[n]=Math.floor(o[n])+Math.ceil(t[i]/2-r[i]/2)}return o}function O(e){var t,n=e.popper,o=e.popperRect,i=e.placement,a=e.offsets,f=e.position,p=e.gpuAcceleration,c=e.adaptive,u=window.devicePixelRatio||1;e=Math.round(a.x*u)/u||0,u=Math.round(a.y*u)/u||0;var d=a.hasOwnProperty("x");a=a.hasOwnProperty("y");var l,m="left",v="top",g=window;if(c){var b=h(n);b===r(n)&&(b=s(n)),"top"===i&&(v="bottom",u-=b.clientHeight-o.height,u*=p?1:-1),"left"===i&&(m="right",e-=b.clientWidth-o.width,e*=p?1:-1)}return n=Object.assign({position:f},c&&S),p?Object.assign({},n,((l={})[v]=a?"0":"",l[m]=d?"0":"",l.transform=2>(g.devicePixelRatio||1)?"translate("+e+"px, "+u+"px)":"translate3d("+e+"px, "+u+"px, 0)",l)):Object.assign({},n,((t={})[v]=a?u+"px":"",t[m]=d?e+"px":"",t.transform="",t))}function M(e){return e.replace(/left|right|bottom|top/g,function(e){return I[e]})}function j(e){return e.replace(/start|end/g,function(e){return N[e]})}function E(e,t){var r=!(!t.getRootNode||!t.getRootNode().host);if(e.contains(t))return!0;if(r)do{if(t&&e.isSameNode(t))return!0;t=t.parentNode||t.host}while(t);return!1}function D(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function P(e,o){if("viewport"===o)e=D({width:(e=r(e)).innerWidth,height:e.innerHeight,x:0,y:0});else if(i(o))e=t(o);else{var a=s(e);e=r(a),o=n(a),(a=p(s(a),e)).height=Math.max(a.height,e.innerHeight),a.width=Math.max(a.width,e.innerWidth),a.x=-o.scrollLeft,a.y=-o.scrollTop,e=D(a)}return e}function L(e,t,n){return t="clippingParents"===t?function(e){var t=l(e),r=0<=["absolute","fixed"].indexOf(d(e).position)&&i(e)?h(e):e;return o(r)?t.filter(function(e){return o(e)&&E(e,r)}):[]}(e):[].concat(t),(n=(n=[].concat(t,[n])).reduce(function(t,n){var o=P(e,n),p=r(n=i(n)?n:s(e)),c=i(n)?d(n):{};parseFloat(c.borderTopWidth);var u=parseFloat(c.borderRightWidth)||0,l=parseFloat(c.borderBottomWidth)||0,m=parseFloat(c.borderLeftWidth)||0;c="html"===a(n);var h=f(n),v=n.clientWidth+u,g=n.clientHeight+l;return c&&50<p.innerHeight-n.clientHeight&&(g=p.innerHeight-l),l=c?0:n.clientTop,u=n.clientLeft>m?u:c?p.innerWidth-v-h:n.offsetWidth-v,p=c?p.innerHeight-g:n.offsetHeight-g,n=c?h:n.clientLeft,t.top=Math.max(o.top+l,t.top),t.right=Math.min(o.right-u,t.right),t.bottom=Math.min(o.bottom-p,t.bottom),t.left=Math.max(o.left+n,t.left),t},P(e,n[0]))).width=n.right-n.left,n.height=n.bottom-n.top,n.x=n.left,n.y=n.top,n}function k(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},{},e)}function B(e,t){return t.reduce(function(t,r){return t[r]=e,t},{})}function T(e,r){void 0===r&&(r={});var n=r;r=void 0===(r=n.placement)?e.placement:r;var i=n.boundary,a=void 0===i?"clippingParents":i,f=void 0===(i=n.rootBoundary)?"viewport":i;i=void 0===(i=n.elementContext)?"popper":i;var p=n.altBoundary,c=void 0!==p&&p;n=k("number"!=typeof(n=void 0===(n=n.padding)?0:n)?n:B(n,R));var u=e.elements.reference;p=e.rects.popper,a=L(o(c=e.elements[c?"popper"===i?"reference":"popper":i])?c:s(e.elements.popper),a,f),c=x({reference:f=t(u),element:p,strategy:"absolute",placement:r}),p=D(Object.assign({},p,{},c)),f="popper"===i?p:f;
135var d={top:a.top-f.top+n.top,bottom:f.bottom-a.bottom+n.bottom,left:a.left-f.left+n.left,right:f.right-a.right+n.right};if(e=e.modifiersData.offset,"popper"===i&&e){var l=e[r];Object.keys(d).forEach(function(e){var t=0<=["right","bottom"].indexOf(e)?1:-1,r=0<=["top","bottom"].indexOf(e)?"y":"x";d[e]+=l[r]*t})}return d}function W(e,t,r){return void 0===r&&(r={x:0,y:0}),{top:e.top-t.height-r.y,right:e.right-t.width+r.x,bottom:e.bottom-t.height+r.y,left:e.left-t.width-r.x}}function H(e){return["top","right","bottom","left"].some(function(t){return 0<=e[t]})}var R=["top","bottom","right","left"],_=R.reduce(function(e,t){return e.concat([t+"-start",t+"-end"])},[]),q=[].concat(R,["auto"]).reduce(function(e,t){return e.concat([t,t+"-start",t+"-end"])},[]),A="beforeRead read afterRead beforeMain main afterMain beforeWrite write afterWrite".split(" "),C={placement:"bottom",modifiers:[],strategy:"absolute"},F={passive:!0},S={top:"auto",right:"auto",bottom:"auto",left:"auto"},I={left:"right",right:"left",bottom:"top",top:"bottom"},N={start:"end",end:"start"},U=[{name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(e){var t=e.state,n=e.instance,o=(e=e.options).scroll,i=void 0===o||o,a=void 0===(e=e.resize)||e,s=r(t.elements.popper),f=[].concat(t.scrollParents.reference,t.scrollParents.popper);return i&&f.forEach(function(e){e.addEventListener("scroll",n.update,F)}),a&&s.addEventListener("resize",n.update,F),function(){i&&f.forEach(function(e){e.removeEventListener("scroll",n.update,F)}),a&&s.removeEventListener("resize",n.update,F)}},data:{}},{name:"popperOffsets",enabled:!0,phase:"read",fn:function(e){var t=e.state;t.modifiersData[e.name]=x({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}},{name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(e){var t=e.state,r=e.options;e=void 0===(e=r.gpuAcceleration)||e,r=void 0===(r=r.adaptive)||r,e={placement:g(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:e},t.styles.popper=Object.assign({},t.styles.popper,{},O(Object.assign({},e,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:r}))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,{},O(Object.assign({},e,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})},data:{}},{name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach(function(e){var r=t.styles[e]||{},n=t.attributes[e]||{},o=t.elements[e];i(o)&&a(o)&&(Object.assign(o.style,r),Object.keys(n).forEach(function(e){var t=n[e];!1===t?o.removeAttribute(e):o.setAttribute(e,!0===t?"":t)}))})},effect:function(e){var t=e.state,r={popper:{position:"absolute",left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,r.popper),t.elements.arrow&&Object.assign(t.elements.arrow.style,r.arrow),function(){Object.keys(t.elements).forEach(function(e){var n=t.elements[e],o=t.attributes[e]||{};e=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:r[e]).reduce(function(e,t){return e[t]="",e},{}),i(n)&&a(n)&&(Object.assign(n.style,e),Object.keys(o).forEach(function(e){n.removeAttribute(e)}))})}},requires:["computeStyles"]},{name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,r=e.name,n=void 0===(e=e.options.offset)?[0,0]:e,o=(e=q.reduce(function(e,r){var o=t.rects,i=g(r),a=0<=["left","top"].indexOf(i)?-1:1,s="function"==typeof n?n(Object.assign({},o,{placement:r})):n;return o=(o=s[0])||0,s=((s=s[1])||0)*a,i=0<=["left","right"].indexOf(i)?{x:s,y:o}:{x:o,y:s},e[r]=i,e},{}))[t.placement],i=o.y;t.modifiersData.popperOffsets.x+=o.x,t.modifiersData.popperOffsets.y+=i,t.modifiersData[r]=e}},{name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,r=e.options;if(e=e.name,!t.modifiersData[e]._skip){var n=r.fallbackPlacements,o=r.padding,i=r.boundary,a=r.rootBoundary,s=r.altBoundary,f=void 0===(r=r.flipVariations)||r,p=g(r=t.options.placement);n=n||(p!==r&&f?function(e){if("auto"===g(e))return[];var t=M(e);return[j(e),t,j(t)]}(r):[M(r)]);var c=[r].concat(n).reduce(function(e,r){return e.concat("auto"===g(r)?function(e,t){void 0===t&&(t={});
135var r=t.boundary,n=t.rootBoundary,o=t.padding,i=t.flipVariations,a=t.placement.split("-")[1],s=(a?i?_:_.filter(function(e){return e.split("-")[1]===a}):R).reduce(function(t,i){return t[i]=T(e,{placement:i,boundary:r,rootBoundary:n,padding:o})[g(i)],t},{});return Object.keys(s).sort(function(e,t){return s[e]-s[t]})}(t,{placement:r,boundary:i,rootBoundary:a,padding:o,flipVariations:f}):r)},[]);n=t.rects.reference,r=t.rects.popper;var u=new Map;p=!0;for(var d=c[0],l=0;l<c.length;l++){var m=c[l],h=g(m),v="start"===m.split("-")[1],b=0<=["top","bottom"].indexOf(h),y=b?"width":"height",w=T(t,{placement:m,boundary:i,rootBoundary:a,altBoundary:s,padding:o});if(v=b?v?"right":"left":v?"bottom":"top",n[y]>r[y]&&(v=M(v)),y=M(v),(h=[0>=w[h],0>=w[v],0>=w[y]]).every(function(e){return e})){d=m,p=!1;break}u.set(m,h)}if(p)for(s=function(e){var t=c.find(function(t){if(t=u.get(t))return t.slice(0,e).every(function(e){return e})});if(t)return d=t,"break"},n=f?3:1;0<n&&"break"!==s(n);n--);t.placement!==d&&(t.modifiersData[e]._skip=!0,t.placement=d,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}},{name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,r=e.options;e=e.name;var n=r.mainAxis,o=void 0===n||n;n=void 0!==(n=r.altAxis)&&n;var i=r.tether;i=void 0===i||i;var a=r.tetherOffset,s=void 0===a?0:a;r=T(t,{boundary:r.boundary,rootBoundary:r.rootBoundary,padding:r.padding,altBoundary:r.altBoundary}),a=g(t.placement);var f=t.placement.split("-")[1],p=!f,u=w(a);a="x"===u?"y":"x";var d=t.modifiersData.popperOffsets,l=t.rects.reference,m=t.rects.popper,v="function"==typeof s?s(Object.assign({},t.rects,{placement:t.placement})):s;if(s={x:0,y:0},o){var b="y"===u?"top":"left",y="y"===u?"bottom":"right",x="y"===u?"height":"width";o=d[u];var O=d[u]+r[b],M=d[u]-r[y],j=i?-m[x]/2:0,E="start"===f?l[x]:m[x];f="start"===f?-m[x]:-l[x],m=t.elements.arrow,m=i&&m?c(m):{width:0,height:0};var D=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0};b=D[b],y=D[y],m=Math.max(0,Math.min(l[x],m[x])),E=p?l[x]/2-j-m-b-v:E-m-b-v,p=p?-l[x]/2+j+m+y+v:f+m+y+v,v=t.elements.arrow&&h(t.elements.arrow),l=t.modifiersData.offset?t.modifiersData.offset[t.placement][u]:0,v=d[u]+E-l-(v?"y"===u?v.clientTop||0:v.clientLeft||0:0),p=d[u]+p-l,i=Math.max(i?Math.min(O,v):O,Math.min(o,i?Math.max(M,p):M)),d[u]=i,s[u]=i-o}n&&(n=d[a],i=Math.max(n+r["x"===u?"top":"left"],Math.min(n,n-r["x"===u?"bottom":"right"])),t.modifiersData.popperOffsets[a]=i,s[a]=i-n),t.modifiersData[e]=s},requiresIfExists:["offset"]},{name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,r=e.state;e=e.name;var n=r.elements.arrow,o=r.modifiersData.popperOffsets,i=g(r.placement),a=w(i);if(i=0<=["left","right"].indexOf(i)?"height":"width",n){var s=r.modifiersData[e+"#persistent"].padding;n=c(n);var f="y"===a?"top":"left",p="y"===a?"bottom":"right",u=r.rects.reference[i]+r.rects.reference[a]-o[a]-r.rects.popper[i];o=o[a]-r.rects.reference[a];var d=r.elements.arrow&&h(r.elements.arrow);i=Math.max(s[f],Math.min(r.rects.popper[i]/2-n[i]/2+(u/2-o/2-(d?"y"===a?d.clientLeft||0:d.clientTop||0:0)),r.rects.popper[i]-n[i]-s[p])),r.modifiersData[e]=((t={})[a]=i,t)}},effect:function(e){var t=e.state,r=e.options;e=e.name;var n=r.element;n=void 0===n?"[data-popper-arrow]":n,r=void 0===(r=r.padding)?0:r,("string"!=typeof n||(n=t.elements.popper.querySelector(n)))&&E(t.elements.popper,n)&&(t.elements.arrow=n,t.modifiersData[e+"#persistent"]={padding:k("number"!=typeof r?r:B(r,R))})},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]},{name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state;e=e.name;var r=t.rects.reference,n=t.rects.popper,o=t.modifiersData.preventOverflow,i=T(t,{elementContext:"reference"}),a=T(t,{altBoundary:!0});r=W(i,r),n=W(a,n,o),o=H(r),a=H(n),t.modifiersData[e]={referenceClippingOffsets:r,popperEscapeOffsets:n,isReferenceHidden:o,hasPopperEscaped:a},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":o,"data-popper-escaped":a})}}],V=y({defaultModifiers:U});e.createPopper=V,e.defaultModifiers=U,e.popperGenerator=y,Object.defineProperty(e,"__esMo
135dule",{value:!0})}(t)}),Popper=unwrapExports(popper_min);function initFunc(){window.createPopper=Popper.createPopper}exports.default=initFunc;;var i=module.exports.default||module.exports;return typeof i==="function"?i.apply(null, arguments):void 0;}());</script>
vendor: 1 bytes, line 135
135
136<script type="text/javascript" data-scriptname="siteSectionLinks">"use strict";!function(i,l){var n=i.LPSite||{},t=n.const,e=t.HEADER_CLASS,a=t.SUBNAV_CLASS,r=n.util,o=r.stripHash,s=r.stripTrailingSlash,c=r.getCurrentPageBaseUrl,u=r.prefersReducedMotion,h=r.closeParentSubnav,d=l.querySelector(".".concat(e)),g=c(),f="sticky"===d.dataset.scrolling,p=l.querySelectorAll("[data-link-type=route-section]"),v="top",S=function(t){return"a"===t.toLowerCase()};function y(t){var e=l.querySelector('[data-guid="'.concat(t,'"]')),n=l.querySelector(".lp-bar__pusher"),a=0;if(n&&"top"===v&&(a=n.getBoundingClientRect().height),f||n){var r=f?d.getBoundingClientRect().height:0,o=e.getBoundingClientRect().top+i.scrollY-r-a;i.scrollTo({top:o,left:0,behavior:"smooth"})}else e.scrollIntoView({behavior:"smooth"})}function m(t){if(function(t){var e=S(t.tagName)?t:t.parentElement;if(!S(e.tagName))return!1;var n=0<e.hash.length,a=s(o(e.href))===g;return n&&a}(t.target)){t.preventDefault();var e=t.currentTarget;y(e.dataset.routeSectionGuid),e.classList.contains(a)&&h(e),t.target.hash!==i.location.hash&&i.history.pushState(null,null,e.href)}}
136p.forEach(function(t){return t.addEventListener("click",m)}),i.addEventListener("load",function(){var t=n.hashCache;if(!u()&&t){var e=l.getElementById(t.substring(1)).parentElement.dataset.guid;setTimeout(function(){y(e),i.history.replaceState(null,null,t)},200)}}),i.addEventListener("message",function(t){var e=t.data;"REPOSITION"===e.type&&(v=e.payload.position)})}(window,document);</script>
vendor: 1 bytes, line 136
136
137<script type="text/javascript" data-scriptname="siteHeaderNav">"use strict";!function(t,e){var r=t.LPSite||{},a=r.const,c=a.HEADER_CLASS,i=a.LINK_CLASS,n=a.ACTIVE_LINK_CLASS,o=r.util,s=o.getCurrentPageBaseUrl,S=o.stripTrailingSlash,l=o.addNavigateToRouteListener,u=e.querySelector(".".concat(c)).querySelectorAll(".".concat(i)),L=s();l(),u.forEach(function(t){S(t.href)===L&&t.classList.add(n)})}(window,document);</script>
137 138
139<script type="text/javascript" data-scriptname="LpNavReact">(function(){var exports={};var module={exports: exports};"use strict";module.exports=function(e,t){e(function(e){if(!t){var a=document.getElementById("header-section").querySelector(".lp-nav"),n=a.querySelectorAll(".lp-nav__link-container"),s=a.cloneNode();s.setAttribute("id","siteSubnavPortal"),s.classList.add("lp-nav","lp-nav__link-container"),n.forEach(function(e){var t=null;function a(a){if(a.relatedTarget){var s=a.relatedTarget===e,r=!1;a.relatedTarget.classList&&a.relatedTarget.classList.contains&&(r=a.relatedTarget.classList.contains("lp-subnav")),t&&!r&&!s&&(l.classList.remove("lp-subnav--open"),n.classList.remove("lp-subnav--animate-in"),t.destroy(),t=null)}}var n=e.querySelector(".lp-subnav");if(n){var l=document.createElement("div"),r=n.querySelectorAll("a");l.classList.add("lp-subnav--popper"),l.appendChild(n),s.appendChild(l),e.addEventListener("mouseenter",function(){l.classList.add("lp-subnav--open"),setTimeout(function(){n.classList.add("lp-subnav--animate-in")},0),t=window.createPopper(e,l,{placement:"bottom-start",strategy:document.querySelector('.site-header[data-scrolling="sticky"]')?"fixed":"absolute"})}),e.addEventListener("mouseleave",a),s.addEventListener("mouseleave",a),r.forEach(function(e){e.addEventListener("click",a)})}}),s.querySelector(".lp-subnav--popper")&&document.body.appendChild(s)}})};;var i=module.exports.default||module.exports;return typeof i==="function"?i.apply(null, arguments):void 0;})(function(i){window.sup.register('LpNavReact',i)});</script>
139<div class="lp-nav w-c639c06c-2493-0f49-40c1-ab8d72e32371 flex-end css-1q6cdn6 lp-nav__link-container" data-widget-type="LpNavReact" id="siteSubnavPortal"><div class="lp-subnav--popper lp-subnav--open" style="margin: 0px; position: absolute; inset: 0px auto auto 0px; transform: translate3d(860px, 104px, 0px);" data-popper-placement="bottom-start"></div></div> 140
140<script type="text/javascript"> 141 (function(){performance&&performance.timing&&window.addEventListener("load",function(){return setTimeout(function(){var e=document.querySelector("meta[name='leadpages-serving-domain']");if(e||e.content!==location.hostname){var t=performance.timing;(new Image).src="https://api.leadpages.io/analytics/v1/observations/capture?version=1.7.13&origin=page-speed&kind=timer,timer,timer,timer,timer,timer,timer,timer,timer,timer&label=domain-lookup,connect,request,ttfb,response,loading,interactive,content-loaded,complete,load&value="+[t.domainLookupEnd-t.domainLookupStart,t.connectEnd-t.connectStart,t.responseStart-t.requestStart,t.responseStart-t.fetchStart,t.responseEnd-t.responseStart,t.domLoading-t.fetchStart,t.domInteractive-t.fetchStart,t.domContentLoadedEventEnd-t.fetchStart,t.domComplete-t.fetchStart,(t.loadEventEnd||t.loadEventStart)-t.fetchStart].join(",")}},0)})}()); 142 </script>
142 143 144 145 146 147 148
149<script data-htmlpub-analytics> 150(function(){ 151var PID="xzgfqv4q3cbqpug9xrxsx8cl"; 152var EXP_ID=""; 153var EXP_VARIANT=""; 154var API="/collect"; 155var APP_ORIGIN="https://htmlpub.com"; 156var FLUSH_INTERVAL=5000; 157var FLUSH_MAX=20; 158 159// HP-4568 consent gate. Runs onGranted() at most once, only when analytics 160// storage is permitted. See app/src/lib/analytics-consent-gate.ts. 161function hpConsent(onGranted){ 162var started=false; 163function start(){if(started)return;started=true;try{onGranted();}catch(e){}} 164 165// Browser-level objection (Global Privacy Control / legacy Do-Not-Track) is 166// terminal: it is the visitor speaking directly, so no later CMP "accept all" 167// re-enables tracking for this page view. Mirrors the Customers.ai pixel gate. 168try{ 169if(navigator.globalPrivacyControl===true)return; 170var dnt=navigator.doNotTrack||window.doNotTrack||navigator.msDoNotTrack; 171if(dnt==="1"||dnt===1||dnt===true)return; 172}catch(e){} 173 174// Analytics/statistics consent per whichever CMP the page carries: 175// 1 granted / 0 denied / -1 present but undecided / null no CMP detected 176function hpConsentState(){ 177// Google consent mode v2 first: vendor-neutral, so a CMP writing it (directly 178// or via GTM) is authoritative even before its own JS API initialises. Last 179// write wins, matching gtag's 'default' then 'update'. 180try{ 181var dl=window.dataLayer; 182if(dl&&dl.length){ 183var seen=null; 184for(var i=0;i<dl.length;i++){ 185var entry=dl[i]; 186if(!entry||entry[0]!=="consent"||!entry[2])continue; 187var mode=entry[2].analytics_storage; 188if(mode==="granted")seen=1;else if(mode==="denied")seen=0; 189} 190if(seen!==null)return seen; 191} 192}catch(e){} 193// Cookiebot. Its object appears only once uc.js has run, so fall back to the 194// script tag it is installed as to tell "undecided" from "absent". 195try{ 196var cb=window.Cookiebot||window.CookieConsent; 197if(cb&&cb.consent)return cb.consent.statistics?1:(cb.hasResponse?0:-1); 198if(document.getElementById("Cookiebot")||document.querySelector("script[src*='consent.cookiebot.com'],script[src*='consentcdn.cookiebot.com']"))return -1; 199}catch(e){} 200// OneTrust: statistics is the reserved C0002 group. OneTrust comma-pads the 201// list itself, so the delimited match cannot hit C00020. Every runtime signal 202// it exposes appears only after otSDKStub.js runs, so without the script-tag 203// fallback a blocked or async stub reads as "no CMP" and we would track â the 204// exact bug, on the pages most likely to care. 205try{ 206var groups=window.OptanonActiveGroups||window.OnetrustActiveGroups; 207if(typeof groups==="string"&&groups)return groups.indexOf(",C0002,")>-1?1:0; 208if(window.OneTrust||window.Optanon||document.getElementById("onetrust-consent-sdk")||document.querySelector("script[src*='cookielaw.org'],script[src*='onetrust.com']"))return -1; 209}catch(e){} 210// CookieYes 211try{ 212if(typeof window.getCkyConsent==="function"){ 213var cky=window.getCkyConsent(); 214if(cky&&cky.categories)return cky.categories.analytics?1:0; 215} 216if(document.querySelector("script[src*='cookieyes.com'],script[src*='cookie-script.com']"))return -1; 217}catch(e){} 218// Iubenda: purpose 4 is measurement. 219try{ 220var iub=window._iub; 221if(iub&&iub.cs&&iub.cs.consent&&iub.cs.consent.purposes)return iub.cs.consent.purposes[4]?1:0;
222if(iub||document.querySelector("script[src*='iubenda.com']"))return -1; 223}catch(e){} 224return null; 225} 226 227var state=hpConsentState(); 228if(state===null||state===1){start();return;} 229 230// CMP present, analytics not granted: write nothing, send nothing, and listen 231// for a later grant. The poll is a catch-all for CMPs whose event names we do 232// not know; it stops after 60s rather than running forever. 233function recheck(){if(hpConsentState()===1)start();} 234var EVENTS=["CookiebotOnAccept","CookiebotOnConsentReady","CookieConsentDeclaration","cookieyes-consent-update","consent.onetrust","OneTrustGroupsUpdated","iubenda-consent-given","hp-analytics-consent"]; 235for(var evt=0;evt<EVENTS.length;evt++){try{window.addEventListener(EVENTS[evt],recheck,false);}catch(e){}} 236var polls=0; 237var timer=setInterval(function(){recheck();if(started||++polls>=120)clearInterval(timer);},500); 238} 239 240// Everything below mints an identifier or sends a beacon, so all of it waits 241// for consent. window.__hpupPushEvent is the exception: it binds synchronously 242// here and only forwards once consent arrives. Binding it late would let the 243// popup embed bundle's fallback shim (app/src/lib/popups/embed-bundle.ts, 244// registered under the same "if not already defined" test) claim the name first 245// and reroute pop-up events. Pre-consent calls are dropped, not queued â they 246// have no visitorId. SYNC with app/src/lib/analytics-tracking-script.ts. 247var hpPush=null; 248if(!window.__hpupPushEvent){window.__hpupPushEvent=function(t,p){try{if(hpPush)hpPush(t,p);}catch(e){}};} 249hpConsent(function(){ 250 251function uuid(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(c){var r=Math.random()*16|0;return(c==="x"?r:(r&3|8)).toString(16)});} 252function getOrSet(store,key){try{var v=store.getItem(key);if(v)return v;v=uuid();store.setItem(key,v);return v;}catch(e){return uuid();}} 253 254var visitorId=getOrSet(localStorage,"_hp_vid"); 255var sessionId=getOrSet(sessionStorage,"_hp_sid"); 256 257var params=new URLSearchParams(location.search); 258var utmSource=params.get("utm_source")||undefined; 259var utmMedium=params.get("utm_medium")||undefined; 260var utmCampaign=params.get("utm_campaign")||undefined; 261// Ad-platform click IDs (conversion feedback loop) â captured like the UTMs. 262// SYNC with canonical at app/src/lib/analytics-tracking-script.ts. 263var gclid=params.get("gclid")||undefined; 264var fbclid=params.get("fbclid")||undefined; 265var msclkid=params.get("msclkid")||undefined; 266 267var vw=window.innerWidth||0; 268var vh=window.innerHeight||0; 269var ua=navigator.userAgent||""; 270var isMobileUA=/Android|iPhone|iPod|iPad|webOS|BlackBerry|IEMobile|Opera Mini/i.test(ua); 271var maxScreenDim=Math.max(screen.width||0,screen.height||0); 272var deviceType=isMobileUA?(maxScreenDim<=812||vw<768?"mobile":"tablet"):"desktop"; 273 274function detectBrowser(){ 275if(ua.indexOf("Edg/")>-1)return"Edge"; 276if(ua.indexOf("Chrome/")>-1)return"Chrome"; 277if(ua.indexOf("Safari/")>-1&&ua.indexOf("Chrome/")===-1)return"Safari"; 278if(ua.indexOf("Firefox/")>-1)return"Firefox"; 279return"Other"; 280} 281function detectOS(){ 282if(ua.indexOf("iPhone")>-1||ua.indexOf("iPad")>-1)return"iOS"; 283if(ua.indexOf("Android")>-1)return"Android"; 284if(ua.indexOf("Mac OS")>-1)return"macOS"; 285if(ua.indexOf("Windows")>-1)return"Windows"; 286if(ua.indexOf("Linux")>-1)return"Linux"; 287return"Other"; 288} 289var browserFamily=detectBrowser(); 290var osFamily=detectOS(); 291 292var buffer=[]; 293function makeEvent(type,payload){ 294return{pageId:PID,eventType:type,visitorId:visitorId,sessionId:sessionId,payload:payload||undefined,referrer:document.referrer||undefined,utmSource:utmSource,utmMedium:utmMedium,utmCampaign:utmCampaign,gclid:gclid,fbclid:fbclid,msclkid:msclkid,deviceType:deviceType,browserFamily:browserFamily,osFamily:osFamily,viewportWidth:vw,viewportHeight:vh,experimentId:EXP_ID||undefined,experimentVariant:EXP_VARIANT||undefined,timestamp:Date.now()}; 295} 296function pushEvent(type,payload){buffer.push(makeEvent(type,payload));if(buffer.length>=FLUSH_MAX)flush();} 297 298// HP-1557 â expose a single-arg helper so the popups runtime (separate IIFE, 299// no shared closure with analytics) can feed events into the same buffer. 300// Defensive: only set if not already defined so a future second analytics 301// injection doesn't clobber an in-flight handler. HP-4568: the name is bound 302// above, outside the consent gate; this is where it starts forwarding. 303hpPush=pushEvent; 304// NOTE (HP-3461): this copy deliberately does NOT register window.__hpTrack, even 305// though the app copy registers both names. checkout-script.ts guards on 306// __hpTrack, and inject.ts appends that script to every edge-served page, so 307// adding the name here would start writing checkout_started for the entire edge 308// fleet (pubhtml.com + all custom domains) where that beacon has always been a 309// no-op â beginning an ecommerce event series mid-history, and moving the derived 310// checkout_abandoned with it, from a change about page engagement. It is a real 311// gap and wants its own change with a backfill story. 312// (No backticks anywhere in this file: it is one big template literal, so a 313// backtick in a comment terminates the string. This exact comment did it once.) 314 315function readMmuid(){try{var v=localStorage.getItem("mmuid");return v&&v.length<=128?v:undefined;}catch(e){return undefined;}} 316 317function flush(){ 318if(buffer.length===0)return; 319var batch=buffer.splice(0,FLUSH_MAX); 320var payload={events:batch}; 321var mmuid=readMmuid(); 322if(mmuid)payload.mmuid=mmuid; 323try{navigator.sendBeacon(API,JSON.stringify(payload));}catch(e){} 324} 325 326// Engaged time-on-page (HP-3592) â count a second only while the tab is 327// visible AND the visitor was active in the last 30s; emit the accrued DELTA 328// every 30 engaged seconds and on hide/pagehide. Registered BEFORE the flush 329// handlers below so the final delta lands in the buffer before the last 330// beacon fires (listener registration order = firing order). 331// SYNC with canonical at app/src/lib/analytics-tracking-script.ts. 332var dwellSec=0,dwellSent=0,dwellLastActive=Date.now(); 333var DWELL_IDLE_MS=30000,DWELL_EMIT_SEC=30,DWELL_CAP_SEC=1800; 334function dwellActive(){dwellLastActive=Date.now();} 335document.addEventListener("scroll",dwellActive,{passive:true}); 336document.addEventListener("mousemove",dwellActive,{passive:true}); 337document.addEventListener("keydown",dwellActive,true); 338document.addEventListener("touchstart",dwellActive,{passive:true}); 339document.addEventListener("click",dwellActive,true); 340function dwellEmit(){var d=dwellSec-dwellSent;if(d>0){dwellSent=dwellSec;pushEvent("dwell",{seconds:d});}} 341var dwellTimer=setInterval(function(){ 342if(document.visibilityState!=="visible")return; 343if(Date.now()-dwellLastActive>DWELL_IDLE_MS)return; 344dwellSec++; 345if(dwellSec-dwellSent>=DWELL_EMIT_SEC)dwellEmit(); 346if(dwellSec>=DWELL_CAP_SEC){dwellEmit();clearInterval(dwellTimer);} 347},1000); 348document.addEventListener("visibilitychange",function(){if(document.visibilityState==="hidden")dwellEmit();}); 349window.addEventListener("pagehide",dwellEmit); 350 351setInterval(flush,FLUSH_INTERVAL); 352document.addEventListener("visibilitychange",function(){if(document.visibilityState==="hidden")flush();}); 353window.addEventListener("pagehide",flush); 354 355pushEvent("page_view"); 356 357// On-platform conversion goal ("a thank-you page I own"): report the current 358// pageId plus the visitor's experiment assignments (_hp_exp_<id> cookies) so the 359// server can count this page-view as a conversion. Fires once per session per 360// page. HP-2925 Layer 1: must fire on EVERY page, not just experiment 361// participants â a standalone "Offsite event" goal has no experiment cookie, so 362// gating on cookies means the server never gets to attribute it. The server 363// no-ops cheaply when the page is neither an experiment nor a goal target. 364// SYNC with canonical at app/src/lib/analytics-tracking-script.ts. 365(function(){ 366try{ 367if(!APP_ORIGIN)return; 368var guard="_hp_goal:"+PID; 369if(sessionStorage.getItem(guard))return; 370sessionStorage.setItem(guard,"1"); 371var exps=[];var ck=document.cookie.split(";"); 372for(var i=0;i<ck.length;i++){var kv=ck[i].split("=");var k=(kv[0]||"").trim();if(k.indexOf("_hp_exp_")===0){exps.push({id:k.slice(8),variant:decodeURIComponent((kv[1]||"").trim())});}} 373var body=JSON.stringify({pageId:PID,visitorId:visitorId,sessionId:sessionId,experiments:exps}); 374var url=APP_ORIGIN+"/api/experiments/onsite-conversion"; 375if(navigator.sendBeacon){navigator.sendBeacon(url,new Blob([body],{type:"text/plain"}));} 376else{fetch(url,{method:"POST",headers:{"Content-Type":"application/json"},body:body,keepalive:true}).catch(function(){});} 377}catch(e){} 378})(); 379 380// HP-3461 â milestones reached WITHOUT the visitor scrolling carry {auto:1}. 381// checkScroll runs on a 1s timer regardless of input and at scrollY=0 pct is 382// just winH/docH, so any page under ~4 screens tall banked scroll_depth:25 from 383// every visitor who did nothing (a page fitting the viewport banked 100). Those
384// rows mark the session engaged in the rollup, which pushed the bounce rate of 385// every short page toward zero and inflated avgScrollDepth the same way. The 386// events still fire (that depth WAS visible, and the scroll funnel wants it); 387// the stamp lets the bounce query demand a real interaction. 388// SYNC with app/src/lib/analytics-tracking-script.ts. 389var scrollMilestones={25:false,50:false,75:false,100:false}; 390var scrollUserMoved=false; 391function checkScroll(){ 392var docH=Math.max(document.body.scrollHeight,document.documentElement.scrollHeight); 393var scrollY=window.scrollY||window.pageYOffset; 394var winH=window.innerHeight; 395if(docH<=winH){if(!scrollMilestones[100]){scrollMilestones[100]=true;pushEvent("scroll_depth",{depth:100,auto:1});}return;} 396var pct=Math.round(((scrollY+winH)/docH)*100); 397[25,50,75,100].forEach(function(m){if(pct>=m&&!scrollMilestones[m]){scrollMilestones[m]=true;pushEvent("scroll_depth",scrollUserMoved?{depth:m}:{depth:m,auto:1});}}); 398} 399window.addEventListener("scroll",function(){scrollUserMoved=true;checkScroll();},{passive:true}); 400setTimeout(checkScroll,1000); 401 402// HP-1557 â when a click/submit happens inside a pop-up, add the popup's id + 403// name to the payload. Customers track conversions on the standard form_submit / 404// element_click types; this is just attribution metadata so the analytics surface 405// can say "this conversion came from the Welcome offer pop-up". Matches the 406// canonical data-persist-popup marker and the legacy data-htmlpub-popup one. 407function popupAttribution(node){ 408var p=node&&node.closest&&node.closest("[data-persist-popup],[data-htmlpub-popup]"); 409if(!p)return null; 410var nm=p.getAttribute("data-persist-popup-name");if(nm===null)nm=p.getAttribute("data-htmlpub-popup-name"); 411return{popupId:p.getAttribute("id")||"",popupName:(nm||"").replace(/^\s+|\s+$/g,"")}; 412} 413 414document.addEventListener("click",function(e){ 415var el=e.target; 416if(!el||!el.tagName)return; 417var tag=el.tagName.toLowerCase(); 418if(!(tag==="a"||tag==="button"||tag==="input"||tag==="select"||tag==="textarea"||el.getAttribute("role")==="button"||el.closest("a,button,[role=button]")))return; 419var docH=Math.max(document.body.scrollHeight,document.documentElement.scrollHeight,1); 420var rect=el.getBoundingClientRect(); 421var payload={x:Math.min(1,Math.max(0,(rect.left+rect.width/2)/(document.documentElement.clientWidth||1))),y:Math.min(1,Math.max(0,(rect.top+rect.height/2+(window.scrollY||0))/docH)),selector:el.id?"#"+el.id:tag+(el.className&&typeof el.className==="string"?"."+el.className.trim().split(/\s+/).slice(0,2).join("."):""),viewportWidth:vw,viewportHeight:vh}; 422// HP-3227 â toggling "count clicks as conversions" on a button stamps 423// data-lp-conversion="<configId>" on that element, and both the rollup worker 424// and the dashboard read match a click goal by that id. This tracker never 425// reported it, so a goal whose stored selector is the placeholder 426// a[data-lp-conversion] had nothing to match on and counted zero conversions 427// forever, no matter how many buttons were toggled on. Read from the closest 428// stamped ancestor, since the click target is often an inner <span> of the CTA. 429// SYNC with app/src/lib/analytics-tracking-script.ts. 430var lpConvEl=el.closest?el.closest("[data-lp-conversion]"):null; 431var lpConvId=lpConvEl?lpConvEl.getAttribute("data-lp-conversion"):null; 432if(lpConvId)payload.lpConversion=lpConvId; 433// HP-1557 â only attribute element_click to a pop-up when the actual 434// click target is a button-shaped CTA. A click on the email input 435// inside a lead-capture popup would otherwise inflate the popup's 436// "Button clicks" count on the dashboard. 437var isCtaClick=(tag==="a"||tag==="button"||el.getAttribute("role")==="button"||(el.closest&&el.closest("a,button,[role=button]"))); 438if(isCtaClick){var pa=popupAttribution(el);if(pa){payload.popupId=pa.popupId;payload.popupName=pa.popupName;}} 439// HP-3461 â two NON-IDENTIFYING facts about the clicked anchor: the host it leaves 440// for (external only) and the file extension. The selector above records only "#id" 441// or "tag.class", so a PDF link and any other button were indistinguishable and no 442// past click can be reclassified. The full href is NOT stored: pathnames carry 443// customer identity and this is the highest-volume table (see absUrl). 444// SYNC with app/src/lib/analytics-tracking-script.ts. 445var hrefEl=tag==="a"?el:(el.closest&&el.closest("a[href]")); 446var clickUrl=hrefEl?absUrl(hrefEl):null; 447var clickFacts=clickUrl?linkFacts(clickUrl):null; 448if(clickFacts&&clickFacts.external)payload.linkHost=clickFacts.host; 449if(clickFacts&&clickFacts.ext)payload.linkExt=clickFacts.ext;
450var clickKey=clickUrl?linkClickKey(clickUrl):null; 451if(clickKey)payload.linkKey=clickKey; 452pushEvent("element_click",payload); 453// Classify into a micro-conversion. Emitted ALONGSIDE the element_click, never 454// instead of it, so a classification we later decide was wrong can be re-derived. 455if(hrefEl)classifyLinkClick(hrefEl,clickUrl); 456// HP-2811 â same-tab anchor navigation races the page unload before the 5s 457// flush timer; visibilitychange/pagehide flushes are unreliable (esp. iOS 458// Safari, same-tab nav), so element_click goals for outbound CTAs (e.g. a 459// HubSpot Meetings link) see 0 conversions despite real clicks. Mirror the 460// form_submit flush pattern for anchors that will navigate this tab. 461var navAnchor=tag==="a"?el:(el.closest&&el.closest("a[href]")); 462if(navAnchor&&navAnchor.getAttribute("target")!=="_blank"&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey){ 463var navHref=(navAnchor.getAttribute("href")||"").replace(/^\s+/,""); 464if(navHref&&navHref.charAt(0)!=="#"&&navHref.slice(0,11).toLowerCase()!=="javascript:")flush(); 465} 466},true); 467 468document.addEventListener("submit",function(e){ 469var f=e.target; 470if(!f||f.tagName!=="FORM")return; 471var payload={formIdentifier:f.id||f.getAttribute("name")||"form-"+([].indexOf.call(document.forms,f))}; 472var pa=popupAttribution(f); 473if(pa){payload.popupId=pa.popupId;payload.popupName=pa.popupName;} 474pushEvent("form_submit",payload); 475flush();// send now â a thank-you-page redirect may navigate away before the 5s timer, dropping the experiment conversion 476},true); 477 478// âââ HP-3461 on-page micro-conversions ââââââââââââââââââââââââââââââââââââââ 479// Kinds + classification rules mirror app/src/lib/analytics/page-engagement-kinds.ts 480// (the server-side reference). Literal here because this compiles to an inline 481// string and cannot import; page-engagement-kinds.test.ts asserts both script 482// copies only ever emit registered kinds. 483// SYNC with app/src/lib/analytics-tracking-script.ts. 484 485// Resolve an anchor for RULE MATCHING only â the url itself is never sent. Only 486// host + extension are reported (linkFacts): customer delivery links routinely put 487// identity in the PATH (/thank-you/jane-doe, /download/lead/8842/Invoice-Jane-Doe.pdf), 488// and AnalyticsEvent is the highest-volume table with no redaction pass and no 489// consent gate, so a stored pathname is PII a DSAR erase cannot reach. 490function absUrl(a){ 491try{ 492var raw=(a.getAttribute("href")||"").replace(/^\s+/,""); 493if(!raw||raw.charAt(0)==="#"||raw.slice(0,11).toLowerCase()==="javascript:")return null; 494var u=new URL(raw,location.href); 495if(u.protocol!=="http:"&&u.protocol!=="https:")return null; 496return u; 497}catch(e){return null;} 498} 499// Host + extension, derived from the WHOLE url (never a truncated copy) so a long 500// signed URL cannot lose its extension to a length cap and read as plain navigation. 501function linkFacts(u){ 502var p=u.pathname.toLowerCase(); 503var dot=p.lastIndexOf("."); 504var ext=dot<0?"":p.slice(dot+1); 505if(ext.length>8)ext=""; 506return{host:u.hostname.toLowerCase(),ext:ext,external:u.hostname!==location.hostname}; 507} 508// Stable join key for WHICH link was clicked: FNV-1a hash of the canonicalized 509// URL (lowercase host, no fragment, no trailing slash, query kept minus our own 510// runtime decoration params). The raw href is still never stored (HP-3461) â 511// the dashboard re-derives each key from the page's OWN html and joins on the 512// hash (app/src/lib/analytics/link-click-key.ts, the reference implementation; 513// its test extracts this copy and asserts they agree). 514// SYNC with app/src/lib/analytics-tracking-script.ts and lib/analytics/link-click-key.ts. 515function linkClickKey(u){ 516try{ 517var c=new URL(u.toString()); 518c.hash=""; 519c.hostname=c.hostname.toLowerCase(); 520if(c.pathname.length>1&&c.pathname.slice(-1)==="/")c.pathname=c.pathname.slice(0,-1); 521if(c.search){ 522var strip=["lp_click_id","lp_page_id","lp_ts","_exp","_var","_vid","_pvar","client_reference_id"]; 523var kept=new URLSearchParams(); 524c.searchParams.forEach(function(v,k){if(strip.indexOf(k)<0)kept.append(k,v);}); 525var q=kept.toString(); 526c.search=q?"?"+q:""; 527} 528var t=c.toString(); 529var h=0x811c9dc5; 530for(var i=0;i<t.length;i++){h^=t.charCodeAt(i);h=Math.imul(h,0x01000193);} 531var x=(h>>>0).toString(16); 532while(x.length<8)x="0"+x; 533return x; 534}catch(e){return null;} 535} 536 537var DL_EXT=["pdf","epub","zip","csv","xlsx","xls","docx","doc","pptx","ppt","mp3","wav"]; 538// calendar.google.com is deliberately ABSENT: the standard add-to-calendar button 539// is not a booking, and host-only matching cannot tell them apart, so including it
540// reported bookings on pages where nobody booked. Host entries only â this copy 541// matches on hostname, so a host/path entry could never match here. 542var BOOK_HOSTS=["calendly.com","cal.com","acuityscheduling.com"]; 543 544// Every kind counts at most once PER PAGE LOAD: three clicks on the same PDF is one 545// download, and a scrubbed video cannot re-bank a quartile. 546// 547// IN-MEMORY, and it must stay that way. This used to consult sessionStorage and 548// return true from its catch block, so wherever storage throws (sandboxed iframe, 549// "block all cookies", in-app webviews, full quota) every timeupdate re-emitted 550// three quartiles â 12+/sec, which trips the collect route's 30-req/min-per-IP 551// limit and then 429s that visitor's REAL page_view / form_submit / conversion 552// beacons. A session-scoped key also outlived the page load, so a batch lost to a 553// 429 or a closed tab could never be re-reported. The server counts DISTINCT 554// SESSIONS per kind, so duplicates across page views are deduped there anyway. 555var microFired={}; 556function latch(kind,id){ 557var k=kind+":"+(id||""); 558if(microFired[k])return false; 559microFired[k]=true; 560return true; 561} 562function microEvent(kind,id){ 563if(!latch(kind,id))return; 564pushEvent("page_engagement",id?{kind:kind,id:id}:{kind:kind}); 565} 566 567function classifyLinkClick(a,u){ 568try{ 569if(!u)return; 570var f=linkFacts(u); 571if((a.hasAttribute&&a.hasAttribute("download"))||(f.ext&&DL_EXT.indexOf(f.ext)>-1)){ 572// id is the EXTENSION, not the file name: "Invoice-Jane-Doe.pdf" is as 573// identifying as the path we refuse to store, and phase 1 renders only an 574// aggregate count. 575microEvent("file_download",f.ext||undefined); 576return; 577} 578if(!f.external)return; 579for(var i=0;i<BOOK_HOSTS.length;i++){ 580var b=BOOK_HOSTS[i]; 581if(f.host===b||f.host.slice(-(b.length+1))==="."+b){microEvent("booking_open",b);return;} 582} 583}catch(e){} 584} 585 586// <video> only. YouTube/Vimeo/Loom/Wistia are cross-origin iframes whose 587// playback is invisible without the provider's JS API plus an embed-URL rewrite, 588// both deferred out of phase 1 â a page whose only video is an embed reports NO 589// video kinds, which the read side must treat as "not measurable", not as 0%. 590function videoId(v){ 591try{ 592if(v.id)return v.id.slice(0,128); 593var src=v.currentSrc||v.getAttribute("src")||""; 594if(!src)return undefined; 595var seg=src.split("?")[0].split("/"); 596return (seg[seg.length-1]||"").slice(0,128)||undefined; 597}catch(e){return undefined;} 598} 599// Autoplay policy only lets a video start by itself while MUTED, so "muted and the 600// visitor has never touched the page" is the signature of decorative playback. 601// A <video autoplay muted loop playsinline> hero fires 'play' on every load, so 602// counting it would report "100% played the video" on exactly the pages most likely 603// to have a hero video. Unmuted playback always counts: it needs a gesture. 604// mousedown as well as pointerdown: a path delivering only mouse events would 605// otherwise never set this, silently disabling the feature with nothing in the logs. 606var userGestured=false; 607function markGesture(){userGestured=true;} 608document.addEventListener("pointerdown",markGesture,true); 609document.addEventListener("mousedown",markGesture,true); 610document.addEventListener("keydown",markGesture,true); 611document.addEventListener("touchstart",markGesture,{passive:true,capture:true}); 612// Decide ONCE at 'play' and LATCH on the element. Re-checking the live flag on every 613// timeupdate was a real bug found in Chrome: a decorative muted autoplay correctly 614// suppressed video_start, then one unrelated trusted keystroke flipped userGestured 615// and every later timeupdate passed â banking p25/p50/p75 for a video nobody chose 616// to watch, with NO video_start, leaving the read side dividing by a zero 617// denominator. Unmuted playback always counts: it cannot start without a gesture. 618function decidePlay(v){ 619var intent=(!v.muted)||userGestured; 620try{v.__hpIntent=intent?1:0;}catch(e){} 621return intent; 622} 623// Undefined = never saw this element's 'play' (script injected mid-playback): fail 624// closed, since crediting is the direction that corrupts the headline percentage. 625function countedPlay(v){return v.__hpIntent===1;} 626// Unmuting a decorative video IS intent, and no 'play' fires for it, so re-decide. 627// Emitting video_start keeps the stream coherent: a start precedes its quartiles. 628function onVideoVolume(e){ 629var v=e.target; 630if(!v||v.tagName!=="VIDEO")return; 631if(v.muted||v.paused||v.__hpIntent===1)return; 632v.__hpIntent=1; 633microEvent("video_start",videoId(v)); 634} 635function onVideoTime(e){ 636var v=e.target; 637if(!v||v.tagName!=="VIDEO")return; 638// Consult the LATCHED decision, never the live flag â see decidePlay. 639if(!countedPlay(v))return; 640var d=v.duration; 641// Live streams / metadata not yet loaded report 0, NaN or Infinity â a quartile 642// of an unknown duration is meaningless, so report the play and nothing more. 643if(!isFinite(d)||d<=0)return; 644var pct=(v.currentTime/d)*100; 645var id=videoId(v); 646if(pct>=25)microEvent("video_p25",id); 647if(pct>=50)microEvent("video_p50",id); 648if(pct>=75)microEvent("video_p75",id); 649// p100 comes from 'ended', not a threshold: the last timeupdate can land a 650// fraction short of duration, so a full watch would never bank it. 651} 652document.addEventListener("play",function(e){var v=e.target;if(v&&v.tagName==="VIDEO"&&decidePlay(v))microEvent("video_start",videoId(v));},true); 653document.addEventListener("timeupdate",onVideoTime,true); 654document.addEventListener("volumechange",onVideoVolume,true); 655// SYNC-START embed-video-listeners (app/edge twins pinned by page-engagement-kinds.test.ts) 656// âââ Embedded video: Vimeo (HP-3461) ââââââââââââââââââââââââââââââââââââââââ 657// <video> is handled above by reading the element directly. A Vimeo embed is a 658// CROSS-ORIGIN iframe, so its state is unreadable â but the player reports its own 659// progress over postMessage, and needs NO change to the embed URL. A plainly pasted 660// Vimeo embed becomes measurable as-is. (YouTube is different: it is silent unless 661// enablejsapi=1 is on the URL. Handled separately.) 662// 663// Verified against live players, and two details cost an attempt each: 664// 1. SUBSCRIBE ON THE PLAYER'S ready MESSAGE, not the iframe's load event.
665// Subscribing on load races the player's own init: the addEventListener calls 666// are silently dropped, no ACK comes back, and no timeupdate ever arrives â it 667// looks exactly like "Vimeo does not work". 668// 2. ATTRIBUTE BY e.source, not player_id. Vimeo only echoes a player_id if the 669// embed URL carries one, and a customer's pasted embed has none. 670// 671// Vimeo sends OBJECTS (YouTube sends JSON strings), and timeupdate carries 672// data.percent as a 0..1 fraction, so quartiles need no arithmetic of our own. 673function vimeoHostOk(origin){ 674try{ 675var h=new URL(origin).hostname.toLowerCase(); 676return h==="player.vimeo.com"||h==="vimeo.com"||h.slice(-10)===".vimeo.com"; 677}catch(e){return false;} 678} 679// Low-cardinality, non-identifying label: the numeric video id off the embed URL, 680// prefixed so it cannot collide with a <video> filename in the tally. 681function vimeoLabel(f){ 682try{ 683var m=(f.getAttribute("src")||"").match(/vimeo\.com\/video\/(\d+)/); 684return m?"vimeo:"+m[1]:"vimeo"; 685}catch(e){return "vimeo";} 686} 687function vimeoFrameFor(src){ 688try{ 689var fr=document.querySelectorAll("iframe"); 690for(var i=0;i<fr.length;i++){if(fr[i].contentWindow===src)return fr[i];} 691}catch(e){} 692return null; 693} 694function vimeoSubscribe(f){ 695try{ 696var w=f.contentWindow; 697var evs=["play","timeupdate","ended"]; 698for(var i=0;i<evs.length;i++)w.postMessage({method:"addEventListener",value:evs[i]},"*"); 699}catch(e){} 700} 701window.addEventListener("message",function(e){ 702try{ 703if(!vimeoHostOk(e.origin))return; 704var d=e.data; 705if(!d||typeof d!=="object")return; 706var f=vimeoFrameFor(e.source); 707if(!f)return; 708if(d.event==="ready"){vimeoSubscribe(f);return;} 709var id=vimeoLabel(f); 710if(d.event==="play"){ 711// Same intent rule as <video>, minus the muted check we cannot read through an 712// iframe: browser policy only permits unprompted autoplay while MUTED, so 713// "playback began before the visitor touched anything" is the decorative case. 714if(!userGestured)return; 715f.__hpEmbedCounted=1; 716microEvent("video_start",id); 717return; 718} 719if(f.__hpEmbedCounted!==1)return; 720if(d.event==="timeupdate"){ 721var pct=d.data&&typeof d.data.percent==="number"?d.data.percent*100:-1; 722if(pct<0)return; 723if(pct>=25)microEvent("video_p25",id); 724if(pct>=50)microEvent("video_p50",id); 725if(pct>=75)microEvent("video_p75",id); 726// p100 comes from 'ended', as with <video>: the last timeupdate lands short. 727}else if(d.event==="ended"){ 728microEvent("video_p25",id);microEvent("video_p50",id);microEvent("video_p75",id);microEvent("video_p100",id); 729} 730}catch(err){} 731}); 732 733// âââ Embedded video: YouTube (HP-3461) ââââââââââââââââââââââââââââââââââââââ 734// YouTube is SILENT unless the embed URL carries enablejsapi=1 â verified live: a 735// plain embed answers nothing, even if we send it the handshake. So this listener 736// only hears players whose URL has that flag; adding it to customer HTML at serve 737// time is a separate commit, deliberately, because that mutates what visitors load. 738// 739// With the flag, the protocol is: post a listening message, then the player streams 740// infoDelivery with playerState, currentTime and duration. 741// 742// The handshake repeats on a timer, and the honest reason is that it catches frames 743// that appear after load (a tab, an accordion, a script-mounted embed). Whether a 744// player also STOPS streaming when we stop asking was not established: repeats are 745// answered "alreadyInitialized", which suggests the first one is what arms it. The 746// polling stays because the version with polling is the one verified to work end to 747// end, and trading that for an unverified optimisation would risk silently losing 748// every embed metric. The steady-state cost is one postMessage per api-enabled 749// frame every 2s. 750// 751// Unlike Vimeo, YouTube sends JSON STRINGS, so the payload needs parsing before it 752// looks like anything. 753// 754// playerState is YouTube's enum: -1 unstarted, 0 ended, 1 playing, 2 paused, 755// 3 buffering, 5 cued. 756function ytHostOk(origin){ 757try{ 758var h=new URL(origin).hostname.toLowerCase(); 759return h==="www.youtube.com"||h==="youtube.com"||h==="www.youtube-nocookie.com"||h==="youtube-nocookie.com"; 760}catch(e){return false;} 761} 762function ytLabel(f){ 763try{ 764var m=(f.getAttribute("src")||"").match(/\/embed\/([A-Za-z0-9_-]{11})/); 765return m?"youtube:"+m[1]:"youtube"; 766}catch(e){return "youtube";} 767} 768function ytFrameFor(src){ 769try{ 770var fr=document.querySelectorAll("iframe"); 771for(var i=0;i<fr.length;
771i++){if(fr[i].contentWindow===src)return fr[i];} 772}catch(e){} 773return null; 774} 775// Ask every api-enabled YouTube frame to start reporting, and keep asking. Cheap: a 776// postMessage to a frame that is not a YouTube player is simply ignored. 777function ytListen(){ 778try{ 779var fr=document.querySelectorAll('iframe[src*="enablejsapi=1"]'); 780for(var i=0;i<fr.length;i++){ 781try{fr[i].contentWindow.postMessage('{"event":"listening","id":"hp","channel":"widget"}',"*");}catch(e){} 782} 783}catch(e){} 784} 785setTimeout(ytListen,1200); 786setInterval(ytListen,2000); 787window.addEventListener("message",function(e){ 788try{ 789if(!ytHostOk(e.origin))return; 790var d=e.data; 791// YouTube sends strings; anything else is not its API talking. 792if(typeof d!=="string")return; 793try{d=JSON.parse(d);}catch(x){return;} 794if(!d||typeof d!=="object"||d.event!=="infoDelivery")return; 795var info=d.info; 796if(!info||typeof info!=="object")return; 797var f=ytFrameFor(e.source); 798if(!f)return; 799var id=ytLabel(f); 800var state=info.playerState; 801// Same intent rule as Vimeo and <video>, but YouTube hands us no discrete 'play' 802// event: infoDelivery repeats playerState 1 for the WHOLE of playback. So the 803// decision is made on the TRANSITION into playing and latched there, never 804// re-read. Re-reading it is precisely the bug decidePlay documents, and it is 805// reachable here in a way it is not for <video>: a muted autoplay is correctly 806// suppressed, then one unrelated trusted click (the form, alt-tab, a screenshot) 807// flips userGestured and the next state-1 update promotes a video nobody chose 808// into a counted play, quartiles and all. Latching on the transition also keeps 809// the <video> semantics that a chosen REPLAY after a decorative autoplay counts, 810// because that arrives as 2 then 1. 811var prev=f.__hpYtPrev; 812f.__hpYtPrev=state; 813if(state===1&&prev!==1){ 814f.__hpEmbedCounted=userGestured?1:0; 815if(f.__hpEmbedCounted===1)microEvent("video_start",id); 816} 817if(f.__hpEmbedCounted!==1)return; 818if(state===0){ 819// Ended implies every quartile, even if a throttled tab skipped an update. 820microEvent("video_p25",id);microEvent("video_p50",id);microEvent("video_p75",id);microEvent("video_p100",id); 821return; 822} 823var dur=info.duration,cur=info.currentTime; 824// A live stream reports duration 0, and a quartile of an unknown length is 825// meaningless â report the play and nothing more. 826if(typeof dur!=="number"||typeof cur!=="number"||!isFinite(dur)||dur<=0)return; 827var pct=(cur/dur)*100; 828if(pct>=25)microEvent("video_p25",id); 829if(pct>=50)microEvent("video_p50",id); 830if(pct>=75)microEvent("video_p75",id); 831// p100 comes from playerState 0, not a threshold: the final update lands short. 832}catch(err){} 833}); 834// SYNC-END embed-video-listeners 835document.addEventListener("ended",function(e){ 836var v=e.target; 837if(!v||v.tagName!=="VIDEO")return; 838if(!countedPlay(v))return; 839var id=videoId(v); 840// Watched to the end implies every quartile, even if a throttled background tab 841// skipped a timeupdate. 842microEvent("video_p25",id);microEvent("video_p50",id);microEvent("video_p75",id);microEvent("video_p100",id); 843},true); 844 845// âââ Scheduler widgets (HP-3461 phase 3) ââââââââââââââââââââââââââââââââââââ 846// An inline Calendly/Cal.com embed is a CROSS-ORIGIN iframe, so we cannot see a 847// click inside it â which is why booking_open (a click on an outbound scheduling 848// link) is absent on exactly the pages most likely to take bookings. The widget 849// broadcasts its own progress to the parent window, so we get told instead of 850// guessing. No SDK needed; Calendly posts these regardless. 851// 852// SECURITY: any frame can post a message claiming to be a booking, and this ships 853// on every published page, so the sender's ORIGIN must be a recognised scheduling 854// host AND the message must match the provider's shape. Everything else is ignored. 855// PRIVACY: only WHICH STEP is read. event.data.payload (invitee details on 856// event_scheduled) is never touched. 857// SYNC with app/src/lib/analytics-tracking-script.ts. 858function schedulerOrigin(origin){ 859try{ 860var h=new URL(origin).hostname.toLowerCase(); 861for(var i=0;i<BOOK_HOSTS.length;i++){ 862var b=BOOK_HOSTS[i]; 863if(h===b||h.slice(-(b.length+1))==="."+b)return b; 864} 865}catch(e){} 866return null; 867} 868// calendly.profile_page_viewed is deliberately ignored: it fires for a profile
869// listing rather than a bookable calendar, so it would inflate the funnel's top. 870window.addEventListener("message",function(e){ 871try{ 872var host=schedulerOrigin(e.origin); 873if(!host)return; 874var d=e.data; 875if(!d||typeof d!=="object")return; 876// Calendly's vocabulary reads off d.event and is prefixed; Cal.com's reads off 877// d.type and is not. Verified against live widgets on both, plus Cal.com's own 878// EventDataMap in packages/embeds/embed-core/src/sdk-action-manager.ts. 879// calendly.profile_page_viewed is ignored: it fires for a profile listing rather 880// than a bookable calendar, so it would inflate the top of the funnel. 881// 882// Cal.com HAS NO time-selection event. Its full enum (27 keys) contains nothing for 883// picking a date or slot -- availabilityLoaded and slotsFetched are the widget 884// LOADING options, not a visitor choosing one. So Cal.com reports 2 of the 3 steps, 885// and booking_time_selected is left ABSENT for it rather than synthesised from the 886// booking. Fabricating it would make every Cal.com page show a flat 100% from 887// "selected" to "completed" -- a number that looks measured and is not. Absent 888// already means "not measurable here" everywhere else in this feature (see the 889// video quartiles), and the read side honours that. 890// 891// Emissions are LITERALS, one branch per step, so the sync seam in 892// page-engagement-kinds.test.ts can see them -- it caught booking_completed going 893// unverifiable when this was table-driven. 894var name=typeof d.event==="string"?d.event:(typeof d.type==="string"?d.type:null); 895if(!name)return; 896if(host==="calendly.com"){ 897if(name==="calendly.event_scheduled"){ 898microEvent("booking_viewed",host); 899microEvent("booking_time_selected",host); 900microEvent("booking_completed",host); 901// The booking is the outcome this exists to catch and the visitor usually leaves 902// for the confirmation, so flush rather than wait out the 5s timer. 903flush(); 904}else if(name==="calendly.date_and_time_selected"){ 905microEvent("booking_viewed",host); 906microEvent("booking_time_selected",host); 907}else if(name==="calendly.event_type_viewed"){ 908microEvent("booking_viewed",host); 909} 910}else if(host==="cal.com"){ 911// bookingSuccessfulV2 deprecates bookingSuccessful and both are still in the enum, 912// so accept either -- customers sit on different embed versions. 913if(name==="bookingSuccessfulV2"||name==="bookingSuccessful"){ 914// NOTE: no booking_time_selected here. Cal.com cannot report it. 915microEvent("booking_viewed",host); 916microEvent("booking_completed",host); 917flush(); 918}else if(name==="bookerViewed"){ 919microEvent("booking_viewed",host); 920} 921} 922// No acuityscheduling.com branch, and there never can be one. Its embed script 923// exchanges only sizing/load/scrollTo/scrollBy/gaMeasurementId with the parent and 924// takes a Google Analytics client id INWARD â there is no booking message to hear. 925// Acuity reports outward only through its webhooks (HP-4041's inbound conversion 926// webhook is the route). A branch here would be dead code. See lib/scheduling-hosts. 927// Its origin stays accepted by the gate above, which costs nothing: an origin that 928// never speaks simply never matches. 929}catch(err){} 930}); 931 932// Consent usually arrives seconds after load, so a bare load listener would 933// never fire and rum_timing would vanish from every CMP-gated page. The 934// navigation/paint entries report the same absolute numbers whenever read. 935function hpRumTiming(){ 936setTimeout(function(){ 937try{ 938var perf=performance.getEntriesByType("navigation")[0]; 939if(perf){ 940var ev=makeEvent("rum_timing",{loadTimeMs:Math.round(perf.loadEventEnd-perf.startTime),ttfbMs:Math.round(perf.responseStart-perf.startTime),fcpMs:undefined}); 941var paintEntries=performance.getEntriesByType("paint"); 942for(var i=0;i<paintEntries.length;i++){if(paintEntries[i].name==="first-contentful-paint"){ev.payload.fcpMs=Math.round(paintEntries[i].startTime);break;}} 943buffer.push(ev); 944} 945}catch(e){} 946},2000); 947} 948if(document.readyState==="complete")hpRumTiming();else window.addEventListener("load",hpRumTiming); 949}); 950})(); 951</script>
951<script data-htmlpub-popups> 952(function(){ 953"use strict"; 954 955var SCOPE = "pathname"; 956var PAGE_ID = "xzgfqv4q3cbqpug9xrxsx8cl"; 957 958var DEFAULTS = { 959 overlay: { color: "#000000", opacity: 0.5, clickToClose: true }, 960 close: { enabled: true, position: "top-right", escapeToClose: true }, 961 animation: { open: "fade", close: "fade", durationMs: 250 }, 962 frequency: { visitsBefore: 0, daysCooldown: 0 } 963}; 964 965function parseJsonAttr(raw, fallback) { 966 if (!raw) return fallback; 967 try { 968 var p = JSON.parse(raw); 969 if (p && typeof p === "object") return p; 970 } catch(e) {} 971 return fallback; 972} 973 974// Back-compat: pages published before the data-persist-popup* rename carry the 975// legacy data-htmlpub-popup* names. Read canonical first, fall back to legacy. 976// suffix is "" for the marker, "-name", "-overlay", "-target", etc. 977function pAttr(el, suffix) { 978 var v = el.getAttribute("data-persist-popup" + suffix); 979 return v !== null ? v : el.getAttribute("data-htmlpub-popup" + suffix); 980} 981 982function readConfig(el) { 983 var overlay = parseJsonAttr(pAttr(el, "-overlay"), {}); 984 var closeCfg = parseJsonAttr(pAttr(el, "-close"), {}); 985 var anim = parseJsonAttr(pAttr(el, "-animation"), {}); 986 var triggers = parseJsonAttr(pAttr(el, "-triggers"), {}); 987 var frequency = parseJsonAttr(pAttr(el, "-frequency"), {}); 988 return { 989 overlay: { 990 color: typeof overlay.color === "string" ? overlay.color : DEFAULTS.overlay.color, 991 opacity: typeof overlay.opacity === "number" ? overlay.opacity : DEFAULTS.overlay.opacity, 992 clickToClose: overlay.clickToClose !== false 993 }, 994 close: { 995 enabled: closeCfg.enabled !== false, 996 position: closeCfg.position === "top-left" ? "top-left" : "top-right", 997 escapeToClose: closeCfg.escapeToClose !== false 998 }, 999 animation: { 1000 open: typeof anim.open === "string" ? anim.open : DEFAULTS.animation.open, 1001 close: typeof anim.close === "string" ? anim.close : DEFAULTS.animation.close, 1002 durationMs: typeof anim.durationMs === "number" ? anim.durationMs : DEFAULTS.animation.durationMs 1003 }, 1004 triggers: triggers, 1005 frequency: { 1006 visitsBefore: typeof frequency.visitsBefore === "number" ? frequency.visitsBefore : 0, 1007 daysCooldown: typeof frequency.daysCooldown === "number" ? frequency.daysCooldown : 0 1008 }, 1009 // "none" = the marker's content owns its own chrome, so this runtime paints none of it. 1010 // Migrated Classic pop-ups: the marker holds an <iframe> whose document already draws the 1011 // mask, centring, card and close button. Nova-authored pop-ups never set it. 1012 chrome: pAttr(el, "-chrome") === "none" ? "none" : "default" 1013 }; 1014} 1015 1016// ââ LocalStorage helpers â scoped per pathname so two pages on the same 1017// origin track their popups independently. Wrapped in try/catch because 1018// Safari private mode + iframe sandboxing can throw on access. 1019var STORE_PREFIX = SCOPE === "popup-id" ? "_hpup:popup:" : ("_hpup:" + (location.pathname || "/") + ":"); 1020function lsGet(key) { 1021 try { return localStorage.getItem(STORE_PREFIX + key); } catch(e) { return null; } 1022} 1023function lsSet(key, value) { 1024 try { localStorage.setItem(STORE_PREFIX + key, value); } catch(e) {} 1025} 1026 1027// Bump the visit counter once per pageload. Used by visitsBefore. In embed 1028// (popup-id) scope callers pass the popup id as a suffix so each standalone 1029// popup tracks its own visit count â a busy host page with two embedded popups 1030// must not let one popup's pageviews satisfy another's visitsBefore gate. 1031function recordVisit(suffix) { 1032 var key = "visits" + (suffix ? ":" + suffix : ""); 1033 var prev = parseInt(lsGet(key) || "0", 10); 1034 if (!isFinite(prev) || prev < 0) prev = 0; 1035 lsSet(key, String(prev + 1)); 1036 return prev + 1; 1037} 1038 1039function isEligible(cfg, popupId, currentVisit) { 1040 // visitsBefore: 0 = show on first visit. So eligible iff currentVisit > visitsBefore. 1041 if (cfg.frequency.visitsBefore > 0 && currentVisit <= cfg.frequency.visitsBefore) return false; 1042 // daysCooldown: don't reshow until N days have passed since last close. 1043 if (cfg.frequency.daysCooldown > 0) { 1044 var last = parseInt(lsGet("close:" + popupId) || "0", 10); 1045 if (last > 0) { 1046 var elapsedMs = Date.now() - last; 1047 if (elapsedMs < cfg.frequency.daysCooldown * 86400000) return false;
1048 } 1049 } 1050 return true; 1051} 1052 1053function composeRgba(color, opacity) { 1054 var hex = color.match(/^#([0-9a-f]{6})$/i); 1055 if (hex) { 1056 var n = parseInt(hex[1], 16); 1057 return "rgba(" + ((n >> 16) & 0xff) + "," + ((n >> 8) & 0xff) + "," + (n & 0xff) + "," + opacity + ")"; 1058 } 1059 var rgb = color.match(/^rgb(?:a)?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)/); 1060 if (rgb) return "rgba(" + rgb[1] + "," + rgb[2] + "," + rgb[3] + "," + opacity + ")"; 1061 return "rgba(0,0,0," + opacity + ")"; 1062} 1063 1064function animStart(kind) { 1065 if (kind === "slide-up") return { opacity: 0, transform: "translate(-50%, -40%)" }; 1066 if (kind === "slide-down") return { opacity: 0, transform: "translate(-50%, -60%)" }; 1067 if (kind === "zoom") return { opacity: 0, transform: "translate(-50%, -50%) scale(0.92)" }; 1068 if (kind === "none") return { opacity: 1, transform: "translate(-50%, -50%)" }; 1069 return { opacity: 0, transform: "translate(-50%, -50%)" }; // fade 1070} 1071function animEnd() { 1072 return { opacity: 1, transform: "translate(-50%, -50%) scale(1)" }; 1073} 1074 1075// Body scroll lock â refcounted because two popups can technically be in 1076// the open state at once (different triggers firing back-to-back). The 1077// first lock saves the body's prior overflow + padding-right and replaces 1078// them; subsequent locks just bump the count. We only restore once every 1079// popup that locked has closed, so a still-open popup keeps the page held. 1080// padding-right compensates for the scrollbar disappearing â without it, 1081// the dimmed page behind the overlay shifts right at the moment of open. 1082var _hpupLockCount = 0; 1083var _hpupSavedOverflow = ""; 1084var _hpupSavedPaddingRight = ""; 1085function lockBodyScroll() { 1086 if (_hpupLockCount === 0) { 1087 var scrollbarWidth = window.innerWidth - document.documentElement.clientWidth; 1088 _hpupSavedOverflow = document.body.style.overflow || ""; 1089 _hpupSavedPaddingRight = document.body.style.paddingRight || ""; 1090 if (scrollbarWidth > 0) document.body.style.paddingRight = scrollbarWidth + "px"; 1091 document.body.style.overflow = "hidden"; 1092 } 1093 _hpupLockCount++; 1094} 1095function unlockBodyScroll() { 1096 if (_hpupLockCount === 0) return; 1097 _hpupLockCount--; 1098 if (_hpupLockCount === 0) { 1099 if (_hpupSavedOverflow) document.body.style.overflow = _hpupSavedOverflow; 1100 else document.body.style.removeProperty("overflow"); 1101 if (_hpupSavedPaddingRight) document.body.style.paddingRight = _hpupSavedPaddingRight; 1102 else document.body.style.removeProperty("padding-right"); 1103 } 1104} 1105 1106// Build the overlay backdrop. Returns the element. Wired with the right 1107// pointer behaviour for the popup's clickToClose setting. 1108function buildOverlay(cfg, onOverlayClick) { 1109 var ov = document.createElement("div"); 1110 ov.setAttribute("data-htmlpub-popup-backdrop", ""); 1111 ov.style.cssText = "position:fixed;inset:0;background:" + composeRgba(cfg.overlay.color, cfg.overlay.opacity) + 1112 ";z-index:2147483646;opacity:0;transition:opacity " + cfg.animation.durationMs + "ms ease;"; 1113 if (cfg.overlay.clickToClose) ov.addEventListener("click", onOverlayClick); 1114 return ov; 1115} 1116 1117// Inject a close â button if the popup doesn't already have one. We mark our 1118// injected button so re-show calls don't duplicate it. 1119function ensureCloseButton(el, cfg, onClose) { 1120 if (el.querySelector("[data-htmlpub-popup-close-btn]")) return; 1121 if (!cfg.close.enabled) return; 1122 var btn = document.createElement("button"); 1123 btn.setAttribute("type", "button"); 1124 btn.setAttribute("aria-label", "Close pop-up"); 1125 btn.setAttribute("data-htmlpub-popup-close-btn", ""); 1126 var posStyle = cfg.close.position === "top-left" ? "left:12px;" : "right:12px;"; 1127 btn.style.cssText = "position:absolute;top:12px;" + posStyle + 1128 "width:28px;height:28px;border-radius:9999px;border:0;background:rgba(0,0,0,0.45);color:#fff;" + 1129 "font:16px/1 system-ui,-apple-system,sans-serif;cursor:pointer;display:flex;align-items:center;" + 1130 "justify-content:center;z-index:1;padding:0;"; 1131 btn.textContent = "Ã"; 1132 btn.addEventListener("click", function(e){ e.preventDefault(); e.stopPropagation(); onClose(); }); 1133 // Ensure the popup itself is a positioning context so absolute close button 1134 // anchors to it. Cheap: only sets if not already positioned. 1135 var pos = getComputedStyle(el).position; 1136 if (pos === "static" || !pos) el.style.position = "relative"; 1137 el.appendChild(btn); 1138} 1139 1140// ââ Per-popup wiring ââââââââââââââââââââââââââââââââââââââââââââââââââââââ 1141// Each popup gets its own controller closing over its element + config + 1142// trigger cleanup so we can tear down listeners on close. 1143 1144// HP-1557 â fire an analytics event for this popup. Hands off to the 1145// analytics.ts buffer via window.__hpupPushEvent (registered there). If 1146// analytics isn't loaded for some reason we silently no-op rather than 1147// breaking the popup runtime. 1148function emitPopupEvent(eventType, popup, extras) { 1149 if (typeof window.__hpupPushEvent !== "function") return; 1150 var payload = { 1151 popupId: popup.getAttribute("id") || "", 1152 popupName: (pAttr(popup, "-name") || "").replace(/^\s+|\s+$/g, "") 1153 }; 1154 // Standalone-embed pop-ups carry their page id via data-hp-popup-cuid (set by 1155 // the embed bundle) so analytics can attribute to a specific pop-up; the DOM 1156 // id in popupId is a shared name-slug. In-page pop-ups have no cuid so this 1157 // stays absent. 1158 var _hpCuid = popup.getAttribute("data-hp-popup-cuid"); 1159 if (_hpCuid) payload.popupCuid = _hpCuid; 1160 if (extras && typeof extras === "object") { 1161 for (var k in extras) { 1162 if (Object.prototype.hasOwnProperty.call(extras, k)) payload[k] = extras[k]; 1163 } 1164 } 1165 window.__hpupPushEvent(eventType, payload); 1166} 1167 1168// Single-open invariant: only one popup may be visible at a time. 1169// show() force-closes whatever is up before painting itself. 1170var _hpupCurrentOpen = null; 1171 1172function wirePopup(el, currentVisit) { 1173 var cfg = readConfig(el); 1174 var popupId = el.getAttribute("id") || ""; 1175 if (!popupId) return; 1176 // The editor stores popups hidden via inline display:none. We never strip 1177 // that â we toggle it at show/close time so a never-shown popup stays 1178 // invisible (matching its rendered state in the DOM). 1179 var originalDisplay = el.style.display || ""; 1180 var isOpen = false;
1181 var overlay = null; 1182 var keyListener = null; 1183 var sizeObserver = null; 1184 var cleanups = []; // trigger listener removers; called on first show 1185 1186 function cleanupTriggers() { 1187 for (var i = 0; i < cleanups.length; i++) { 1188 try { cleanups[i](); } catch(e) {} 1189 } 1190 cleanups = []; 1191 } 1192 1193 // Why a popup was opened â informs the parent analytics event so the 1194 // dashboard can distinguish "fired by timer" vs. "explicit user click". 1195 // Updated by callers before show() and reset to null after emit. 1196 var lastShowReason = null; 1197 1198 // HP-4147 â the overflow choice in show() is a measurement, and measurements 1199 // go stale. Content can grow AFTER open: an inline checkout's Stripe Payment 1200 // Element progressively reveals card fields and then a "Save your info" 1201 // section as the buyer types. A popup that opened short (overflow:visible, so 1202 // its shadow paints) and then grows past maxHeight spills below the viewport 1203 // instead of scrolling, and because show() locked the body scroll there is 1204 // nothing left for a touch drag to move â the Pay button becomes unreachable 1205 // and closing + reopening is the only way out (reopening re-runs show(), which 1206 // re-measures against the now-tall content and lands on "auto"). So re-decide 1207 // on every resize â but only ever upgrade to "auto", never back to "visible". 1208 // 1209 // One-way on purpose. Reverting to "visible" when content shrinks back under 1210 // maxHeight sounds harmless (it hands HP-3771 its shadow back) but it 1211 // re-releases horizontal spill that "auto" had been containing, so a wide 1212 // child paints outside the popup over the page, and it discards scrollTop, 1213 // bouncing the buyer to the top of the form. Both were measured in Chromium 1214 // at a Pixel viewport. Staying in "auto" costs only the shadow, and only for 1215 // the rest of an open in which content already exceeded the viewport: "auto" 1216 // paints no scrollbar once content fits again, it merely clips. close() 1217 // strips every inline style, so the next open re-decides from scratch. 1218 function syncOverflow() { 1219 if (!isOpen) return; 1220 // Guarded on a real change. Toggling overflow lays out a scrollbar, which 1221 // resizes content, which re-enters this observer â an unguarded write there 1222 // is a feedback loop that never settles. 1223 if (el.scrollHeight > el.clientHeight + 1 && el.style.overflow !== "auto") { 1224 el.style.overflow = "auto"; 1225 } 1226 } 1227 1228 function observeSize() { 1229 if (sizeObserver || typeof ResizeObserver === "undefined") return; 1230 sizeObserver = new ResizeObserver(syncOverflow); 1231 // Observing el catches the growth that crosses maxHeight, since its own box 1232 // tracks content right up to the clamp. Observing its element children 1233 // catches growth that continues past the clamp, where el's box is pinned and 1234 // reports no resize at all â content 1px under maxHeight that then expands 1235 // would otherwise never re-decide. 1236 sizeObserver.observe(el); 1237 for (var childIndex = 0; childIndex < el.children.length; childIndex++) { 1238 sizeObserver.observe(el.children[childIndex]); 1239 } 1240 } 1241 1242 function unobserveSize() { 1243 if (!sizeObserver) return; 1244 sizeObserver.disconnect(); 1245 sizeObserver = null; 1246 } 1247 1248 function show(reason) { 1249 if (isOpen) return; 1250 if (_hpupCurrentOpen && _hpupCurrentOpen !== el && typeof _hpupCurrentOpen._hpupClose === "function") { 1251 _hpupCurrentOpen._hpupClose("replaced", true); 1252 } 1253 _hpupCurrentOpen = el; 1254 isOpen = true; 1255 lastShowReason = reason || "explicit"; 1256 cleanupTriggers(); 1257 lockBodyScroll(); 1258 // chrome:none â the content paints its own â (Classic's .js-close, inside the iframe). 1259 var bare = cfg.chrome === "none"; 1260 if (!bare) ensureCloseButton(el, cfg, function(){ close("close_button"); }); 1261 1262 var start = animStart(cfg.animation.open); 1263 var end = animEnd(); 1264 1265 // Centered fixed positioning with a high z-index so we float above any 1266 // page content + checkout / chat widgets. 1267 el.style.display = "block"; 1268 el.style.position = "fixed"; 1269 el.style.zIndex = "2147483647"; 1270 1271 if (bare) { 1272 // Full-viewport shell. An <iframe> has no intrinsic content height (~150px, and it never 1273 // reports its content size to the parent), so the shrink-wrapped-card model below cannot 1274 // measure it â centring, the maxHeight/maxWidth clamps and the overflow logic all assume a 1275 // box that sizes to its content. Reproduce CDA's model instead: the frame fills the 1276 // viewport and the Classic document inside owns mask, centring and card. 1277 // 1278 // No transform either: every animStart transform carries translate(-50%,-50%), which 1279 // centres a card and would shove a full-viewport shell off screen. Opacity alone. 1280 el.style.top = "0"; 1281 el.style.left = "0"; 1282 el.style.width = "100%"; 1283 el.style.height = "100%"; 1284 el.style.opacity = String(start.opacity); 1285 el.style.transition = "opacity " + cfg.animation.durationMs + "ms ease"; 1286 openClassicFrame(el); 1287 } else { 1288 el.style.top = "50%"; 1289 el.style.left = "50%"; 1290 el.style.transform = start.transform; 1291 el.style.opacity = String(start.opacity); 1292 el.style.maxHeight = "calc(100vh - 32px)"; 1293 el.style.maxWidth = "calc(100vw - 32px)"; 1294 // HP-3771 â "auto" clips any box-shadow set on the popup's own content: 1295 // box-shadow doesn't affect layout size, so this element shrink-wraps to its 1296 // content and its own overflow then clips the shadow it should cast. 1297 // 1298 // But "visible" unconditionally is not safe either. This element is 1299 // position:fixed and centred, so content taller than maxHeight does not 1300 // clip â it spills past the viewport with no scrollbar and nothing can 1301 // reach it. A lead-capture form taller than the viewport would lose its 1302 // submit button. So decide per popup, after layout: overflow stays "auto" 1303 // only when the content genuinely overflows (scrolling wins), and is 1304 // "visible" otherwise (shadow wins). Short popups are the overwhelmingly 1305 // common case, so the shadow renders for almost everyone. 1306 //
1307 // syncOverflow re-applies this same rule for the rest of the open (HP-4147). 1308 el.style.overflow = "visible"; 1309 syncOverflow(); 1310 el.style.transition = "opacity " + cfg.animation.durationMs + "ms ease, transform " + cfg.animation.durationMs + "ms ease"; 1311 } 1312 1313 if (!el.parentNode) document.body.appendChild(el); 1314 if (!bare) { 1315 // Backdrop. Inserted before the popup so the popup naturally paints on top. 1316 // chrome:none skips it â the Classic document paints its own .js-leadbox-mask, and a second 1317 // backdrop would darken the page twice. 1318 overlay = buildOverlay(cfg, function(){ close("overlay_click"); }); 1319 (el.parentNode || document.body).insertBefore(overlay, el); 1320 1321 // Started only once el is attached, so the observer's first delivery measures 1322 // real geometry rather than the 0x0 of a detached node. 1323 observeSize(); 1324 } 1325 1326 // Force reflow so the next style change animates from start, not jumps. 1327 /* eslint-disable-next-line no-unused-expressions */ void el.offsetWidth; 1328 1329 el.style.opacity = String(end.opacity); 1330 if (!bare) el.style.transform = end.transform; 1331 if (overlay) overlay.style.opacity = "1"; 1332 1333 if (cfg.close.escapeToClose) { 1334 keyListener = function(e) { if (e.key === "Escape") close("escape"); }; 1335 document.addEventListener("keydown", keyListener); 1336 } 1337 1338 emitPopupEvent("popup_view", el, { reason: lastShowReason }); 1339 lastShowReason = null; 1340 } 1341 1342 function close(reason, hard) { 1343 if (!isOpen) return; 1344 isOpen = false; 1345 emitPopupEvent("popup_dismiss", el, { reason: reason || "unknown" }); 1346 var start = animStart(cfg.animation.close); 1347 el.style.opacity = String(start.opacity); 1348 // Same reason as show(): the close transform centres a card, and applying it to a 1349 // full-viewport shell would slide it off screen instead of fading it out. 1350 if (cfg.chrome !== "none") el.style.transform = start.transform; 1351 if (overlay) overlay.style.opacity = "0"; 1352 1353 if (keyListener) { 1354 document.removeEventListener("keydown", keyListener); 1355 keyListener = null; 1356 } 1357 1358 var afterAnim = function() { 1359 if (_hpupCurrentOpen === el) _hpupCurrentOpen = null; 1360 unobserveSize(); 1361 el.style.display = originalDisplay || "none"; 1362 el.style.removeProperty("position"); 1363 el.style.removeProperty("top"); 1364 el.style.removeProperty("left"); 1365 el.style.removeProperty("transform"); 1366 el.style.removeProperty("opacity"); 1367 el.style.removeProperty("z-index"); 1368 el.style.removeProperty("max-height"); 1369 el.style.removeProperty("max-width"); 1370 // Only the chrome:none branch sets these, and teardown must remove exactly what this show 1371 // set â a marker can legitimately carry an author's own inline width/height, and stripping 1372 // it on close would resize the pop-up the second time it opens. 1373 if (cfg.chrome === "none") { 1374 el.style.removeProperty("width"); 1375 el.style.removeProperty("height"); 1376 } 1377 el.style.removeProperty("overflow"); 1378 el.style.removeProperty("transition"); 1379 if (overlay && overlay.parentNode) overlay.parentNode.removeChild(overlay); 1380 overlay = null; 1381 // Tear down the close button â its click handler closes over THIS 1382 // show's overlay reference. Leaving it across opens means a second 1383 // show's X would call the previous close() with a stale overlay and 1384 // leave the current overlay floating. 1385 var existingBtn = el.querySelector("[data-htmlpub-popup-close-btn]"); 1386 if (existingBtn && existingBtn.parentNode) existingBtn.parentNode.removeChild(existingBtn); 1387 // Release the scroll lock only after the popup is fully torn down so 1388 // the page doesn't pop back to scrollable while the close animation 1389 // is still painting. 1390 unlockBodyScroll(); 1391 lsSet("close:" + popupId, String(Date.now())); 1392 }; 1393 if (hard || cfg.animation.close === "none") afterAnim(); 1394 else setTimeout(afterAnim, cfg.animation.durationMs); 1395 } 1396 1397 // ââ Triggers ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ 1398 // Only wire if the popup is eligible to show this pageload (frequency 1399 // rules). Click-to-open via [data-htmlpub-popup-target] always works, 1400 // regardless of eligibility â it's an explicit user action. 1401 var eligible = isEligible(cfg, popupId, currentVisit); 1402 1403 if (eligible) { 1404 var t = cfg.triggers || {}; 1405
1406 if (t.timed && typeof t.timed.delaySec === "number") { 1407 var delayMs = Math.max(0, t.timed.delaySec) * 1000; 1408 var timer = setTimeout(function(){ show("timed"); }, delayMs); 1409 cleanups.push(function(){ clearTimeout(timer); }); 1410 } 1411 1412 if (t.exitIntent === true) { 1413 // Mobile / touch devices don't have a meaningful "exit toward chrome" 1414 // gesture. Standard heuristic: skip if no mouse pointer is available. 1415 if (!matchMedia("(pointer: coarse)").matches) { 1416 var onMove = function(e) { 1417 if (e.clientY < 8) show("exit_intent"); 1418 }; 1419 document.addEventListener("mousemove", onMove); 1420 cleanups.push(function(){ document.removeEventListener("mousemove", onMove); }); 1421 } 1422 } 1423 1424 if (typeof t.scrollPercent === "number" && t.scrollPercent > 0) { 1425 var threshold = Math.max(1, Math.min(100, t.scrollPercent)); 1426 var onScroll = function() { 1427 var doc = document.documentElement; 1428 var scrolled = (window.scrollY || doc.scrollTop || 0); 1429 var max = (doc.scrollHeight - doc.clientHeight) || 1; 1430 var pct = (scrolled / max) * 100; 1431 if (pct >= threshold) show("scroll"); 1432 }; 1433 window.addEventListener("scroll", onScroll, { passive: true }); 1434 cleanups.push(function(){ window.removeEventListener("scroll", onScroll); }); 1435 } 1436 } 1437 1438 // Note: in-popup form submits and CTA clicks are NOT emitted as separate 1439 // popup_* events. They already fire as form_submit / element_click via 1440 // analytics.ts's global listeners, which now attach popupId + popupName 1441 // to the payload so customers can still see which pop-up the conversion 1442 // came from while continuing to track the standard goal types. 1443 1444 // Expose the show function on the element so [data-htmlpub-popup-target] 1445 // clicks (wired globally below) can find and trigger it without re-parsing 1446 // the config. _hpupShow / _hpupClose are deliberately namespaced + ugly to 1447 // avoid colliding with user code. 1448 el._hpupShow = show; 1449 el._hpupClose = close; 1450 // Returned so boot() can flush unfired trigger listeners on pagehide. 1451 return cleanupTriggers; 1452} 1453 1454// A served Classic leadbox renders INACTIVE: its controller only adds js-active to the dialog 1455// and mask when it receives an "open" message, so a frame nobody tells to open is a full-viewport 1456// sheet showing nothing. 1457// 1458// TWO WIRE FORMATS, because there are two leadbox builds in the corpus and they do NOT agree â 1459// measured across all 462 live clones on 2026-09-09, not inferred from one of them (D71): 1460// 1461// · newer build (410 of 462): a handleMessage controller that accepts EITHER the bare string 1462// "open" or {type:"open"}. 1463// · OLDER build (52 of 462): a hand-rolled listener whose whole test is 1464// window.addEventListener('message', function(e){ e && e.data && 'open' === e.data && j.open() }) 1465// read verbatim out of the served bundle. The test 'open' === e.data is a STRING identity check, so 1466// an object payload fails it silently and that pop-up never opens. 1467// 1468// This function used to post ONLY {type:"open"}, and the comment here used to assert both builds 1469// took it. They do not: every old-build pop-up rendered a full-viewport dark sheet with an 1470// invisible modal â no error, no console message, and zero lead capture. So post BOTH forms. The 1471// duplicate is harmless in each direction: the old build ignores the object, and the newer one's 1472// open() just re-adds the class and refocuses. 1473// 1474// The string form is also what Classic's own embed.js sent, which is why the defect stayed hidden 1475// on the two pages that still carried embed.js â its copy opened correctly beside our blank one. 1476// (The close relay below had this right already: it reads Classic's bare-string "close leadbox" 1477// off the wire. Open is the direction that was guessed.) 1478// 1479// Posted on both paths because the ordering is not ours to control: if the frame is already 1480// loaded the immediate post lands, and if it is not, the load listener catches it. Opening twice 1481// is harmless â open() just re-adds the class and refocuses. 1482function openClassicFrame(el) { 1483 var frame = el.querySelector("iframe"); 1484 if (!frame) return; 1485 var post = function() { 1486 // targetOrigin "*": the frame is served sandboxed, so its origin is opaque and cannot be 1487 // named. The payload is a bare open signal carrying nothing worth protecting. 1488 try { 1489 if (!frame.contentWindow) return; 1490 // String FIRST: it is the format the old build needs, and the one that was missing. 1491 frame.contentWindow.postMessage("open", "*"); 1492 frame.contentWindow.postMessage({ type: "open" }, "*"); 1493 } catch(e) {} 1494 }; 1495 post(); 1496 frame.addEventListener("load", post); 1497} 1498 1499// Global close relay. A chrome:none pop-up's â lives INSIDE its iframe (Classic's .js-close), so 1500// the click is invisible to this document â the frame posts htmlpub:leadbox-close instead and we 1501// close the marker holding it. Without this the Classic card hides itself and the full-viewport 1502// iframe stays put, covering the page with an invisible sheet that swallows every click. 1503// 1504// Identify the marker by matching iframe.contentWindow against e.source, NOT by the message's 1505// uuid: a page can carry several migrated pop-ups, and a uuid can be placed more than once. This 1506// is the technique CDA's own injected handler used. 1507function handleCloseRelay(e) { 1508 if (!e || !e.data) return; 1509 // Classic's own leadbox controller posts the bare STRING "close leadbox" to window.parent when 1510 // it closes (300ms after the fade, from its close() method) â read out of the served bundle, not 1511 // guessed. It is already the wire format, so nothing needs injecting into the frame. The 1512 // namespaced form is accepted too, for anything we serve ourselves later. 1513 var type = typeof e.data === "string" ? e.data : e.data.type; 1514 if (type !== "close leadbox" && type !== "htmlpub:leadbox-close") return; 1515 var frames = document.querySelectorAll("[data-persist-popup] iframe, [data-htmlpub-popup] iframe"); 1516 for (var i = 0; i < frames.length; i++) { 1517 if (frames[i].contentWindow !== e.source) continue; 1518 var marker = frames[i].closest("[data-persist-popup], [data-htmlpub-popup]"); 1519 if (marker && typeof marker._hpupClose === "function") marker._hpupClose("close_relay"); 1520 return; 1521 } 1522} 1523 1524// The migrated pop-up runs in a sandboxed cross-origin iframe and cannot read this page's anal
1524ytics 1525// session/visitor ids (opaque origin blocks its storage). Hand them over when the in-frame capture 1526// script asks â matching e.source to one of our own pop-up iframes so we only answer our own frames. 1527// The ids exist only once analytics consent has minted them, so with no consent nothing is sent and 1528// the ingest keeps the lead but skips the conversion event (there is no page_view session to join). 1529// The page id rides along either way, so the lead files under the page that was served, whatever 1530// URL the browser reports. 1531function handleSessionReq(e) { 1532 if (!e || !e.data || e.data.type !== "hp-popup-session-req" || !e.source) return; 1533 var frames = document.querySelectorAll("[data-persist-popup] iframe, [data-htmlpub-popup] iframe"); 1534 var mine = false; 1535 for (var i = 0; i < frames.length; i++) { if (frames[i].contentWindow === e.source) { mine = true; break; } } 1536 if (!mine) return; 1537 var sid = null, vid = null; 1538 try { sid = sessionStorage.getItem("_hp_sid"); } catch(err) {} 1539 try { vid = localStorage.getItem("_hp_vid"); } catch(err) {} 1540 try { e.source.postMessage({ type: "hp-popup-session", sid: sid, vid: vid, pid: PAGE_ID }, "*"); } catch(err) {} 1541} 1542 1543// Global click-to-open dispatcher. Targets carry [data-persist-popup-target] 1544// (or legacy [data-htmlpub-popup-target]) or href="#popup-â¦" (for plain anchors 1545// that the link picker auto-generated). 1546function handleTargetClick(e) { 1547 var t = e.target; 1548 if (!t || !t.closest) return; 1549 var hit = t.closest("[data-persist-popup-target], [data-htmlpub-popup-target], a[href^='#popup-'], a[href^='#modal-'], a[href^='#dialog-']"); 1550 if (!hit) return; 1551 var id = pAttr(hit, "-target"); 1552 if (!id) { 1553 var href = hit.getAttribute("href") || ""; 1554 if (href.charAt(0) === "#") id = href.slice(1); 1555 } 1556 if (!id) return; 1557 var popup = document.getElementById(id); 1558 if (!popup || pAttr(popup, "") === null) return; 1559 e.preventDefault(); 1560 if (typeof popup._hpupShow === "function") popup._hpupShow("click_target"); 1561} 1562 1563// ââ Boot ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ 1564 1565function flushTeardowns(list) { 1566 for (var j = 0; j < list.length; j++) { 1567 try { list[j](); } catch(e) {} 1568 } 1569} 1570 1571function boot() { 1572 if (SCOPE === "popup-id") { 1573 // Embed mode: each standalone popup ships its OWN copy of this runtime, so 1574 // a single global boot guard would make a second embedded popup bail. Wire 1575 // each popup once via a per-element marker, count visits per popup id, and 1576 // attach the global click / pagehide listeners only once across copies. 1577 var list = document.querySelectorAll("[data-persist-popup],[data-htmlpub-popup]"); 1578 if (!list.length) return; 1579 if (!window.__hpupTeardowns) window.__hpupTeardowns = []; 1580 for (var n = 0; n < list.length; n++) { 1581 var pel = list[n]; 1582 if (pel.__hpupWired) continue; 1583 pel.__hpupWired = true; 1584 var pt = wirePopup(pel, recordVisit(pel.getAttribute("id") || "")); 1585 if (typeof pt === "function") window.__hpupTeardowns.push(pt); 1586 } 1587 if (!window.__hpupClickWired) { 1588 window.__hpupClickWired = true; 1589 document.addEventListener("click", handleTargetClick, false); 1590 window.addEventListener("message", handleCloseRelay, false); 1591 window.addEventListener("message", handleSessionReq, false); 1592 window.addEventListener("pagehide", function(){ flushTeardowns(window.__hpupTeardowns || []); }); 1593 } 1594 return; 1595 } 1596 1597 // In-page mode: one runtime per page wires every popup. Guard against 1598 // double-injection (HMR, accidental double-include). 1599 if (window.__hpupBooted) return; 1600 window.__hpupBooted = true; 1601 var popups = document.querySelectorAll("[data-persist-popup],[data-htmlpub-popup]"); 1602 if (!popups.length) return; 1603 var visit = recordVisit(); 1604 var teardowns = []; 1605 for (var i = 0; i < popups.length; i++) { 1606 var t = wirePopup(popups[i], visit); 1607 if (typeof t === "function") teardowns.push(t); 1608 } 1609 document.addEventListener("click", handleTargetClick, false); 1610 window.addEventListener("message", handleCloseRelay, false); 1611 window.addEventListener("message", handleSessionReq, false); 1612 // Flush unfired trigger listeners on pagehide. 1613 window.addEventListener("pagehide", function(){ flushTeardowns(teardowns); }); 1614} 1615 1616if (document.readyState === "loading") { 1617 document.addEventListener("DOMContentLoaded", boot); 1618} else { 1619 boot(); 1620} 1621 1622})(); 1623</script>
1623<script data-htmlpub-countdown-runtime> 1624(function(){ 1625var nodes=document.querySelectorAll('[data-htmlpub-countdown]'); 1626if(!nodes.length)return; 1627function pad(n){n=String(n);return n.length<2?'0'+n:n;} 1628function setDigit(root,sel,val){var el=root.querySelector(sel);if(el)el.textContent=pad(val);} 1629function tick(node,endMs){ 1630var diff=Math.max(0,endMs-Date.now()); 1631var s=Math.floor(diff/1000); 1632var d=Math.floor(s/86400);s-=d*86400; 1633var h=Math.floor(s/3600);s-=h*3600; 1634var m=Math.floor(s/60);s-=m*60; 1635setDigit(node,'.countdown-days',d); 1636setDigit(node,'.countdown-hours',h); 1637setDigit(node,'.countdown-minutes',m); 1638setDigit(node,'.countdown-seconds',s); 1639if(diff===0){ 1640var redirect=node.getAttribute('data-redirect'); 1641var inFrame=false;try{inFrame=window!==window.top;}catch(e){inFrame=true;} 1642if(redirect&&!inFrame){try{window.location.href=redirect;}catch(e){}} 1643return true; 1644} 1645return false; 1646} 1647function endMsFor(node){ 1648var mode=node.getAttribute('data-htmlpub-countdown'); 1649if(mode==='fixed'){ 1650var target=node.getAttribute('data-target'); 1651var t=target?Date.parse(target):NaN; 1652return isNaN(t)?0:t; 1653} 1654if(mode==='evergreen'){ 1655var dur=parseInt(node.getAttribute('data-duration')||'0',10); 1656if(!dur)return 0; 1657var idx=Array.prototype.indexOf.call(nodes,node); 1658var base='htmlpub_cd_'+(node.getAttribute('data-persist-countdown-id')||node.id||(location.pathname+'|'+dur+'|'+idx)); 1659var ver=parseInt(node.getAttribute('data-persist-countdown-reset')||'0',10)||0; 1660var key=ver>0?base+'|v'+ver:base; 1661if(ver>0){try{for(var li=localStorage.length-1;li>=0;li--){var lk=localStorage.key(li);if(!lk)continue;if(lk===base){localStorage.removeItem(lk);continue;}if(lk.indexOf(base+'|v')===0){var lv=lk.slice(base.length+2);if(/^[0-9]+$/.test(lv)&&parseInt(lv,10)<ver){localStorage.removeItem(lk);}}}}catch(e){}} 1662var first=null; 1663try{first=localStorage.getItem(key);}catch(e){} 1664if(!first){first=String(Date.now());try{localStorage.setItem(key,first);}catch(e){}} 1665return parseInt(first,10)+dur*1000; 1666} 1667return 0; 1668} 1669for(var i=0;i<nodes.length;i++){(function(node){ 1670var endMs=endMsFor(node); 1671if(!endMs)return; 1672if(tick(node,endMs))return; 1673var iv=setInterval(function(){if(tick(node,endMs))clearInterval(iv);},1000); 1674})(nodes[i]);} 1675})(); 1676</script>
1676<script data-text-anim-runtime> 1677(function(){ 1678var nodes=document.querySelectorAll('[data-persist-text-anim]'); 1679if(!nodes.length)return; 1680try{if(window.matchMedia('(prefers-reduced-motion: reduce)').matches)return;}catch(e){} 1681var KEYFRAMES={ 1682fadeIn:[{opacity:0},{opacity:1}], 1683slideUp:[{opacity:0,transform:'translateY(32px)'},{opacity:1,transform:'translateY(0)'}], 1684slideDown:[{opacity:0,transform:'translateY(-32px)'},{opacity:1,transform:'translateY(0)'}], 1685slideLeft:[{opacity:0,transform:'translateX(32px)'},{opacity:1,transform:'translateX(0)'}], 1686slideRight:[{opacity:0,transform:'translateX(-32px)'},{opacity:1,transform:'translateX(0)'}], 1687zoomIn:[{opacity:0,transform:'scale(0.85)'},{opacity:1,transform:'scale(1)'}], 1688blurIn:[{opacity:0,filter:'blur(8px)'},{opacity:1,filter:'blur(0)'}], 1689bounceIn:[{offset:0,opacity:0,transform:'translateY(40px)'},{offset:0.55,opacity:1,transform:'translateY(-8px)'},{offset:0.8,transform:'translateY(4px)'},{offset:1,transform:'translateY(0)'}] 1690}; 1691var DEFAULTS={duration:600,delay:0,easing:'ease-out'}; 1692function readInt(el,attr,fallback,min){ 1693var n=parseInt(el.getAttribute(attr)||'',10); 1694if(!isFinite(n)||n<min)return fallback; 1695return n; 1696} 1697function arm(el){ 1698var type=el.getAttribute('data-persist-text-anim')||'fadeIn'; 1699var frames=KEYFRAMES[type]; 1700if(!frames)return null; 1701var duration=readInt(el,'data-persist-text-anim-duration',DEFAULTS.duration,1); 1702var delay=readInt(el,'data-persist-text-anim-delay',DEFAULTS.delay,0); 1703var easing=el.getAttribute('data-persist-text-anim-easing')||DEFAULTS.easing; 1704try{ 1705var anim=el.animate(frames,{duration:duration,delay:delay,easing:easing,fill:'both'}); 1706anim.pause(); 1707anim.currentTime=0; 1708return anim; 1709}catch(e){return null;} 1710} 1711if('IntersectionObserver' in window){ 1712var io=new IntersectionObserver(function(entries){ 1713for(var i=0;i<entries.length;i++){ 1714var en=entries[i]; 1715if(!en.isIntersecting)continue; 1716io.unobserve(en.target); 1717var armed=en.target._hpTextAnim; 1718if(!armed)continue; 1719en.target._hpTextAnim=null; 1720try{armed.play();}catch(e){} 1721} 1722},{threshold:0.15}); 1723for(var j=0;j<nodes.length;j++){ 1724var pending=arm(nodes[j]); 1725if(!pending)continue; 1726nodes[j]._hpTextAnim=pending; 1727io.observe(nodes[j]); 1728} 1729}else{ 1730for(var k=0;k<nodes.length;k++){ 1731var immediate=arm(nodes[k]); 1732if(immediate)try{immediate.play();}catch(e){} 1733} 1734} 1735})(); 1736</script>
1736<script data-htmlpub-nav> 1737(function(){ 1738"use strict"; 1739 1740function closeAllSubmenus(except) { 1741 var panels = document.querySelectorAll('[data-persist-nav-submenu-panel]'); 1742 for (var i = 0; i < panels.length; i++) { 1743 var panel = panels[i]; 1744 if (panel === except) continue; 1745 panel.classList.remove('is-open'); 1746 var trigger = panel.__hpNavTrigger; 1747 if (trigger) trigger.setAttribute('aria-expanded', 'false'); 1748 } 1749} 1750 1751function wireSubmenus() { 1752 var triggers = document.querySelectorAll('[data-persist-nav-submenu]'); 1753 if (!triggers.length) return; 1754 for (var i = 0; i < triggers.length; i++) { 1755 (function(trigger) { 1756 if (trigger.__hpNavWired) return; 1757 trigger.__hpNavWired = true; 1758 var panelId = trigger.getAttribute('data-persist-nav-submenu'); 1759 var panel = panelId ? document.getElementById(panelId) : (trigger.parentElement ? trigger.parentElement.querySelector('[data-persist-nav-submenu-panel]') : null); 1760 if (!panel) return; 1761 panel.__hpNavTrigger = trigger; 1762 trigger.setAttribute('aria-haspopup', 'true'); 1763 trigger.setAttribute('aria-expanded', 'false'); 1764 trigger.addEventListener('click', function(e) { 1765 var isOpen = panel.classList.contains('is-open'); 1766 e.preventDefault(); 1767 e.stopPropagation(); 1768 closeAllSubmenus(isOpen ? null : panel); 1769 panel.classList.toggle('is-open', !isOpen); 1770 trigger.setAttribute('aria-expanded', isOpen ? 'false' : 'true'); 1771 }); 1772 })(triggers[i]); 1773 } 1774 document.addEventListener('click', function(e) { 1775 var t = e.target; 1776 if (t && t.closest && t.closest('[data-persist-nav-submenu-panel], [data-persist-nav-submenu]')) return; 1777 closeAllSubmenus(null); 1778 }); 1779} 1780 1781function wireMobileMenu() { 1782 var toggles = document.querySelectorAll('[data-persist-nav-mobile-toggle], [data-persist-nav-tablet-toggle]'); 1783 if (!toggles.length) return; 1784 for (var i = 0; i < toggles.length; i++) { 1785 (function(toggle) { 1786 if (toggle.__hpNavWired) return; 1787 toggle.__hpNavWired = true; 1788 var isTablet = toggle.hasAttribute('data-persist-nav-tablet-toggle'); 1789 var targetId = isTablet ? toggle.getAttribute('data-persist-nav-tablet-toggle') : toggle.getAttribute('data-persist-nav-mobile-toggle'); 1790 var panelSelector = isTablet ? '[data-persist-nav-tablet-panel]' : '[data-persist-nav-mobile-panel]'; 1791 var panel = targetId ? document.getElementById(targetId) : (toggle.parentElement ? toggle.parentElement.querySelector(panelSelector) : null); 1792 if (!panel) return; 1793 toggle.setAttribute('aria-expanded', 'false'); 1794 toggle.addEventListener('click', function(e) { 1795 var isOpen = panel.classList.contains('is-open'); 1796 e.preventDefault(); 1797 e.stopPropagation(); 1798 if (isOpen) panel.classList.remove('is-open'); else panel.classList.add('is-open'); 1799 toggle.setAttribute('aria-expanded', isOpen ? 'false' : 'true'); 1800 }); 1801 })(toggles[i]); 1802 } 1803} 1804 1805function wireScrollBackground() { 1806 // Every nav this system manages, not just ones with scroll-bg/blur 1807 // currently set â a page published while an OLDER build still applied 1808 // blur directly to nav carries that inline backdrop-filter baked into 1809 // its served HTML even after blur is later turned off, so the self-heal 1810 // below has to run regardless of the CURRENT attribute state. 1811 var navs = document.querySelectorAll('[data-persist-nav-id]'); 1812 if (!navs.length) return; 1813 for (var i = 0; i < navs.length; i++) { 1814 (function(nav) { 1815 // Self-heal: strip a stale inline backdrop-filter baked into a page 1816 // saved before this fix (HP-3558 round 15 follow-up) â see the 1817 // dedicated blur-layer comment below for why it must never live on 1818 // nav itself. 1819 if (nav.style.getPropertyValue('backdrop-filter') || nav.style.getPropertyValue('-webkit-backdrop-filter')) { 1820 nav.style.removeProperty('backdrop-filter'); 1821 nav.style.removeProperty('-webkit-backdrop-filter'); 1822 } 1823 // "Transparent" (data-persist-nav-always-transparent, HP-3558 round 1824 // 16) â the non-sticky counterpart of scroll-bg above. "Useful over a 1825 // hero image" only holds if nav visually overlaps whatever follows 1826 // it, so lift it out of flow the same way Sticky's own 1827 // position:fixed/sticky already does, rather than leaving it 1828 // position:static (which just reveals blank page background above 1829 // the hero, not the hero itself â see iframe-script/utils.ts's
1830 // ensureNavScrollBackground for the matching editor-side comment). 1831 var alwaysTransparent = nav.hasAttribute('data-persist-nav-always-transparent'); 1832 if (alwaysTransparent) { 1833 var navCsForOverlay = window.getComputedStyle(nav); 1834 if (!navCsForOverlay || (navCsForOverlay.position !== 'fixed' && navCsForOverlay.position !== 'sticky')) { 1835 nav.style.position = 'absolute'; 1836 nav.style.top = '0px'; 1837 nav.style.left = '0px'; 1838 nav.style.right = '0px'; 1839 if (!nav.style.zIndex) nav.style.zIndex = '1000'; 1840 } 1841 } 1842 // Blur needs no scroll-reactivity â a blurred OPAQUE background 1843 // looks identical to an unblurred one, so it's simplest and correct 1844 // to apply it once, unconditionally, regardless of scroll state. 1845 // Applied to a dedicated decorative layer BEHIND nav's real 1846 // content, never to nav itself â backdrop-filter promotes whatever 1847 // element carries it into a new containing block for any 1848 // position:fixed descendant, which silently shrank the full-screen/ 1849 // bottom-drawer hamburger panel (both position:fixed) down to nav's 1850 // own small box instead of the viewport when it lived on nav 1851 // directly (HP-3558 round 15 follow-up: "the full-screen hamburger 1852 // menu... ended up being covered by the next section"). 1853 var blur = nav.getAttribute('data-persist-nav-scroll-blur'); 1854 if (blur) { 1855 var blurLayer = nav.querySelector('[data-persist-nav-scroll-blur-layer]'); 1856 if (!blurLayer) { 1857 blurLayer = document.createElement('div'); 1858 blurLayer.setAttribute('data-persist-nav-scroll-blur-layer', ''); 1859 // z-index:-1 required â without it, backdrop-filter's own 1860 // compositing samples nav's LATER siblings (logo/links/CTA) too, 1861 // visibly blurring them despite painting after this layer in 1862 // plain DOM order. Safe from escaping behind nav's own box into 1863 // the page below because Sticky header always sets an explicit, 1864 // non-auto nav.style.zIndex â position:fixed/sticky + a non-auto 1865 // z-index already makes nav its own stacking context. 1866 blurLayer.style.cssText = 'position:absolute;inset:0;pointer-events:none;z-index:-1;'; 1867 nav.insertBefore(blurLayer, nav.firstChild); 1868 var navCs = window.getComputedStyle(nav); 1869 if (!navCs || navCs.position === 'static' || !navCs.position) nav.style.position = 'relative'; 1870 } 1871 // Self-heal a layer saved before the z-index fix landed (see 1872 // iframe-script/utils.ts's ensureNavScrollBackground for the 1873 // matching editor-side comment). 1874 if (blurLayer.style.zIndex !== '-1') blurLayer.style.zIndex = '-1'; 1875 blurLayer.style.setProperty('backdrop-filter', 'blur(' + blur + ')', 'important'); 1876 blurLayer.style.setProperty('-webkit-backdrop-filter', 'blur(' + blur + ')', 'important'); 1877 } 1878 if (alwaysTransparent) { 1879 nav.style.setProperty('background-color', 'transparent', 'important'); 1880 return; 1881 } 1882 var color = nav.getAttribute('data-persist-nav-scroll-bg'); 1883 if (!color || nav.__hpNavScrollWired) return; 1884 nav.__hpNavScrollWired = true; 1885 function sync() { 1886 nav.style.setProperty('background-color', window.scrollY > 24 ? color : 'transparent', 'important'); 1887 } 1888 window.addEventListener('scroll', sync, { passive: true }); 1889 sync(); 1890 })(navs[i]); 1891 } 1892} 1893 1894function boot() { 1895 wireSubmenus(); 1896 wireMobileMenu(); 1897 wireScrollBackground(); 1898} 1899 1900if (document.readyState === "loading") { 1901 document.addEventListener("DOMContentLoaded", boot); 1902} else { 1903 boot(); 1904} 1905 1906})(); 1907</script>
1907<script data-htmlpub-dtr> 1908(function(){ 1909if(false)return; 1910var params=new URLSearchParams(location.search); 1911if(!params.toString())return; 1912function run(){ 1913var MAX=500; 1914var replacements=[]; 1915function strip(s){return s.replace(/<[^>]*>/g,"");} 1916function clean(s){try{s=decodeURIComponent(s);}catch(e){}s=strip(s);if(s.length>MAX)s=s.slice(0,MAX);return s;} 1917function replace(el,val,param){ 1918if(!el||!val)return; 1919var orig=el.textContent||""; 1920var cleaned=clean(val); 1921if(cleaned===orig)return; 1922el.setAttribute("data-dtr-original",orig); 1923el.textContent=cleaned; 1924replacements.push({param:param,target:el.tagName.toLowerCase()+(el.id?"#"+el.id:""),original:orig,replacement:cleaned}); 1925} 1926// 1. Explicit data-dtr attributes 1927var dtrMap={headline:"utm_headline",subheadline:"utm_subheadline",cta:"utm_cta"}; 1928var explicitFound={}; 1929for(var key in dtrMap){ 1930var pv=params.get(dtrMap[key]); 1931if(pv){ 1932var els=document.querySelectorAll('[data-dtr="'+key+'"]'); 1933if(els.length>0){ 1934explicitFound[key]=true; 1935for(var i=0;i<els.length;i++)replace(els[i],pv,dtrMap[key]); 1936} 1937} 1938} 1939// 2. Custom data-dtr-param attributes 1940var customEls=document.querySelectorAll("[data-dtr-param]"); 1941for(var j=0;j<customEls.length;j++){ 1942var pn=customEls[j].getAttribute("data-dtr-param"); 1943if(pn){var cv=params.get(pn);if(cv)replace(customEls[j],cv,pn);} 1944} 1945// 3. Auto-detect fallback for standard params (only if no explicit match) 1946if(!explicitFound.headline){ 1947var hv=params.get("utm_headline"); 1948if(hv){var h1=document.querySelector("h1");if(h1)replace(h1,hv,"utm_headline");} 1949} 1950if(!explicitFound.subheadline){ 1951var sv=params.get("utm_subheadline"); 1952if(sv){var sub=document.querySelector("h2")||document.querySelector(".subtitle")||document.querySelector(".subheadline");if(sub)replace(sub,sv,"utm_subheadline");} 1953} 1954if(!explicitFound.cta){ 1955var cv2=params.get("utm_cta"); 1956if(cv2){var btn=document.querySelector('a.cta,button.cta,a[class*="cta"],button[class*="cta"]')||document.querySelector("a.btn,button.btn,a.button,button[type=submit]")||document.querySelector('a[href]:not([href^="#"]):not([href^="mailto"]):not([href^="tel"])>span,a[href]:not([href^="#"]):not([href^="mailto"]):not([href^="tel"])')||document.querySelector("button");if(btn)replace(btn,cv2,"utm_cta");} 1957} 1958// 4. Generic dtr_* prefix params 1959params.forEach(function(val,key){ 1960if(key.indexOf("dtr_")===0){ 1961var slug=key.slice(4); 1962var targets=document.querySelectorAll('[data-dtr-param="'+key+'"]'); 1963if(targets.length>0){for(var k=0;k<targets.length;k++)replace(targets[k],val,key);} 1964} 1965}); 1966// Fire analytics event 1967if(replacements.length===0)return; 1968var PID="xzgfqv4q3cbqpug9xrxsx8cl"; 1969var API="https://htmlpub.com"+"/api/analytics/collect"; 1970function vid(){try{return localStorage.getItem("_hp_vid")||""}catch(e){return""}} 1971function sid(){try{return sessionStorage.getItem("_hp_sid")||""}catch(e){return""}} 1972var ev={pageId:PID,eventType:"dtr_applied",visitorId:vid(),sessionId:sid(),payload:{replacements:replacements},timestamp:Date.now()}; 1973var body=JSON.stringify({events:[ev]}); 1974try{if(navigator.sendBeacon){navigator.sendBeacon(API,new Blob([body],{type:"text/plain"}));} 1975else{fetch(API,{method:"POST",headers:{"Content-Type":"application/json"},body:body,keepalive:true}).catch(function(){});}}catch(e){} 1976} 1977if(document.readyState==="loading"){document.addEventListener("DOMContentLoaded",run);}else{run();} 1978})(); 1979</script>
1979<script async="async" src="https://b.visitor-speed.com/js/f51eae83fcec6e7c5349.js"></script>
1979<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a45220f40bcaf608',t:'MTc5MTA5NTMyOQ=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
1979</body><!-- v5.1.10 --></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.