1<!DOCTYPE html><html lang="en"><head><meta name="description" content="Pro-Life Webcast"> 2<meta property="og:title" content="Webcast | Defund Planned Parenthood"> 3<meta property="og:description" content="Get clarity, focus, and hope to end abortion where you live!"> 4<meta property="og:image" content="https://htmlpub.com/api/library/pnsf8rvroy86i4bou6ojopz7?w=2400&h=2400&fit=scale-down&format=auto&quality=82"> 5<meta property="og:image:width" content="1200"> 6<meta property="og:image:height" content="630"> 7<meta property="og:url" content="https://defundplannedparenthood.com/"> 8<meta name="twitter:url" content="https://defundplannedparenthood.com/"> 9<meta property="og:type" content="website"> 10<meta property="og:site_name" content="defundplannedparenthood.com"> 11<meta property="og:locale" content="en_US"> 12<meta property="fb:app_id" content="4198265810445529"> 13<meta name="twitter:card" content="summary_large_image"> 14<meta name="twitter:title" content="Webcast | Defund Planned Parenthood"> 15<meta name="twitter:description" content="Get clarity, focus, and hope to end abortion where you live!"> 16<meta name="twitter:image" content="https://htmlpub.com/api/library/pnsf8rvroy86i4bou6ojopz7?w=2400&h=2400&fit=scale-down&format=auto&quality=82"> 17<meta name="twitter:image:width" content="1200"> 18<meta name="twitter:image:height" content="630"> 19<meta name="robots" content="index, follow"> 20<link rel="canonical" href="https://defundplannedparenthood.com/"> 21<link rel="icon" href="https://defundplannedparenthood.com/api/library/zq1ctz3vnspinct6ggzhgtx2"> 22<title>Webcast | Defund Planned Parenthood</title> 23 <meta charset="utf-8"> 24 <!-- BUILT WITH LEADPAGES https://www.leadpages.com --> 25 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 26 <meta name="viewport" content="width=device-width, initial-scale=1"> 27 28 <meta name="keywords" content=""> 29 30 31 <meta name="title" content=""> 32 33 34 35 36 <meta property="og:image:type" content="image/png"> 37 38 39 <meta name="leadpages-served-by" content="leadpages"> 40 <meta name="leadpages-serving-domain" content="defundplannedparenthood.com"> 41 <meta name="leadpages-legacy-pixel-domain" content="https://my.leadpages.net"> 42 <meta name="leadpages-meta-id" content="a5vZjFRrzN7cYty54236qH"> 43 <meta name="leadpages-edition" content="XY4XCuUCPCbZwhh7p335aa"> 44 45 <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"> 46 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin=""> 47 <link rel="preload" as="style" href="https://fonts.googleapis.com/css?family=PT+Serif:300,400,500,700|Questrial:300,400,500,700"> 48 <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=PT+Serif:300,400,500,700|Questrial:300,400,500,700" type="text/css" referrerpolicy="no-referrer" media="print" onload="this.media='all'"> 49 <style data-id="run-styles"> 50 /*! 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}code,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%;
50top: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}}.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}
50.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}
50p.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
50ist--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 *//*!* animate.css - https://animate.style/* Version - 4.1.5* Licensed under the MIT license - https://opensource.org/licenses/MIT** Copyright (c) 2024 Animate.css*/:root{--animate-duration:1s;--animate-delay:1s;--animate-repeat:1}.lp-animate__animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-duration:var(--animate-duration);animation-duration:var(--animate-duration);-webkit-animation-fill-mode:both;animation-fill-mode:both}.lp-animate__animated.lp-animate__infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.lp-animate__animated.lp-animate__repeat-1{-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-animation-iteration-count:var(--animate-repeat);animation-iteration-count:var(--animate-repeat)}.lp-animate__animated.lp-animate__repeat-2{-webkit-animation-iteration-count:2;animation-iteration-count:2;-webkit-animation-iteration-count:calc(var(--animate-repeat)*2);animation-iteration-count:calc(var(--animate-repeat)*2)}.lp-animate__animated.lp-animate__repeat-3{-webkit-animation-iteration-count:3;animation-iteration-count:3;-webkit-animation-iteration-count:calc(var(--animate-repeat)*3);animation-iteration-count:calc(var(--animate-repeat)*3)}.lp-animate__animated.lp-animate__delay-1s{-webkit-animation-delay:1s;animation-delay:1s;-webkit-animation-delay:var(--animate-delay);animation-delay:var(--animate-delay)}.lp-animate__animated.lp-animate__delay-2s{-webkit-animation-delay:2s;animation-delay:2s;-webkit-animation-delay:calc(var(--animate-delay)*2);animation-delay:calc(var(--animate-delay)*2)}
50.lp-animate__animated.lp-animate__delay-3s{-webkit-animation-delay:3s;animation-delay:3s;-webkit-animation-delay:calc(var(--animate-delay)*3);animation-delay:calc(var(--animate-delay)*3)}.lp-animate__animated.lp-animate__delay-4s{-webkit-animation-delay:4s;animation-delay:4s;-webkit-animation-delay:calc(var(--animate-delay)*4);animation-delay:calc(var(--animate-delay)*4)}.lp-animate__animated.lp-animate__delay-5s{-webkit-animation-delay:5s;animation-delay:5s;-webkit-animation-delay:calc(var(--animate-delay)*5);animation-delay:calc(var(--animate-delay)*5)}.lp-animate__animated.lp-animate__faster{-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-duration:calc(var(--animate-duration)/2);animation-duration:calc(var(--animate-duration)/2)}.lp-animate__animated.lp-animate__fast{-webkit-animation-duration:.8s;animation-duration:.8s;-webkit-animation-duration:calc(var(--animate-duration)*.8);animation-duration:calc(var(--animate-duration)*.8)}.lp-animate__animated.lp-animate__slow{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-duration:calc(var(--animate-duration)*2);animation-duration:calc(var(--animate-duration)*2)}.lp-animate__animated.lp-animate__slower{-webkit-animation-duration:3s;animation-duration:3s;-webkit-animation-duration:calc(var(--animate-duration)*3);animation-duration:calc(var(--animate-duration)*3)}@media (prefers-reduced-motion:reduce),print{.lp-animate__animated{-webkit-animation-duration:1ms!important;animation-duration:1ms!important;-webkit-animation-iteration-count:1!important;animation-iteration-count:1!important;-webkit-transition-duration:1ms!important;transition-duration:1ms!important}.lp-animate__animated[class*=Out]{opacity:0}}@-webkit-keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.lp-animate__pulse{-webkit-animation-name:pulse;animation-name:pulse;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}@-webkit-keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}.lp-animate__headShake{-webkit-animation-name:headShake;animation-name:headShake;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}@-webkit-keyframes heartBeat{0%{-webkit-transform:scale(1);transform:scale(1)}14%{-webkit-transform:scale(1.3);transform:scale(1.3)}28%{-webkit-transform:scale(1);transform:scale(1)}42%{-webkit-transform:scale(1.3);transform:scale(1.3)}70%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes heartBeat{0%{-webkit-transform:scale(1);transform:scale(1)}14%{-webkit-transform:scale(1.3);transform:scale(1.3)}28%{-webkit-transform:scale(1);transform:scale(1)}42%{-webkit-transform:scale(1.3);transform:scale(1.3)}70%{-webkit-transform:scale(1);transform:scale(1)}}.lp-animate__heartBeat{-webkit-animation-duration:1.3s;animation-duration:1.3s;-webkit-animation-duration:calc(var(--animate-duration)*1.3);animation-duration:calc(var(--animate-duration)*1.3);-webkit-animation-name:heartBeat;animation-name:heartBeat;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}@-webkit-keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}
5060%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.lp-animate__wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}.lp-animate__flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.lp-animate__rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}.lp-animate__bounceIn{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*.75);animation-duration:calc(var(--animate-duration)*.75);-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0) scaleY(3);transform:translate3d(0,-3000px,0) scaleY(3)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0) scaleY(.9);transform:translate3d(0,25px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,-10px,0) scaleY(.95);transform:translate3d(0,-10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,5px,0) scaleY(.985);transform:translate3d(0,5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0) scaleY(3);transform:translate3d(0,-3000px,0) scaleY(3)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0) scaleY(.9);transform:translate3d(0,25px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,-10px,0) scaleY(.95);transform:translate3d(0,-10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,5px,0) scaleY(.985);transform:translate3d(0,5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.lp-animate__bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0) scaleX(3);transform:translate3d(-3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0) scaleX(1);transform:translate3d(25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(-10px,0,0) scaleX(.98);transform:translate3d(-10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(5px,0,0) scaleX(.995);transform:translate3d(5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0) scaleX(3);transform:translate3d(-3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0) scaleX(1);transform:translate3d(25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(-10px,0,0) scaleX(.98);transform:translate3d(-10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(5px,0,0) scaleX(.995);transform:translate3d(5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.lp-animate__bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0) scaleX(3);transform:translate3d(3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0) scaleX(1);transform:translate3d(-25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(10px,0,0) scaleX(.98);transform:translate3d(10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(-5px,0,0) scaleX(.995);transform:translate3d(-5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0) scaleX(3);transform:translate3d(3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0) scaleX(1);transform:translate3d(-25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(10px,0,0) scaleX(.98);transform:translate3d(10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(-5px,0,0) scaleX(.995);transform:translate3d(-5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.lp-animate__bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0) scaleY(5);transform:translate3d(0,3000px,0) scaleY(5)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,10px,0) scaleY(.95);transform:translate3d(0,10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-5px,0) scaleY(.985);transform:translate3d(0,-5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0) scaleY(5);transform:translate3d(0,3000px,0) scaleY(5)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,10px,0) scaleY(.95);transform:translate3d(0,10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-5px,0) scaleY(.985);transform:translate3d(0,-5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.lp-animate__bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes fadeIn{0%{opacity:0}
50to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lp-animate__fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.lp-animate__fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.lp-animate__fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.lp-animate__fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.lp-animate__fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.lp-animate__slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.lp-animate__slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.lp-animate__slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.lp-animate__slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes backInDown{0%{opacity:.7;-webkit-transform:translateY(-1200px) scale(.7);transform:translateY(-1200px) scale(.7)}80%{opacity:.7;-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes backInDown{0%{opacity:.7;-webkit-transform:translateY(-1200px) scale(.7);transform:translateY(-1200px) scale(.7)}80%{opacity:.7;-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.lp-animate__backInDown{-webkit-animation-name:backInDown;animation-name:backInDown}@-webkit-keyframes backInLeft{0%{opacity:.7;-webkit-transform:translateX(-2000px) scale(.7);transform:translateX(-2000px) scale(.7)}80%{opacity:.7;-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes backInLeft{0%{opacity:.7;-webkit-transform:translateX(-2000px) scale(.7);transform:translateX(-2000px) scale(.7)}80%{opacity:.7;-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.lp-animate__backInLeft{-webkit-animation-name:backInLeft;animation-name:backInLeft}@-webkit-keyframes backInRight{0%{opacity:.7;-webkit-transform:translateX(2000px) scale(.7);transform:translateX(2000px) scale(.7)}80%{opacity:.7;-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes backInRight{0%{opacity:.7;-webkit-transform:translateX(2000px) scale(.7);transform:translateX(2000px) scale(.7)}80%{opacity:.7;-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.lp-animate__backInRight{-webkit-animation-name:backInRight;animation-name:backInRight}@-webkit-keyframes backInUp{0%{opacity:.7;-webkit-transform:translateY(1200px) scale(.7);transform:translateY(1200px) scale(.7)}80%{opacity:.7;-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes backInUp{0%{opacity:.7;-webkit-transform:translateY(1200px) scale(.7);transform:translateY(1200px) scale(.7)}80%{opacity:.7;-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.lp-animate__backInUp{-webkit-animation-name:backInUp;animation-name:backInUp} 51 </style> 52 <meta name="page-analytics-property" content="hLeFrF8EGnQFQHcU4U9D8W"> 53 54
54<script type="text/javascript"> 55 (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"); 56 center('create', 'hLeFrF8EGnQFQHcU4U9D8W', 'hLeFrF8EGnQFQHcU4U9D8W', {customId: 'lp-a5vZjFRrzN7cYty54236qH'}); 57 center('send', 'view', 'leadpage', 'a5vZjFRrzN7cYty54236qH'); 58 </script>
58 59 60 </head> 61 <body><a href="https://pages.lpcontent.net/cdn-cgi/content?id=SaKu4kqOHWL08ZiK1dTfnt1l3BwWoO0TzW.oAINubcM-1791595235.9412918-1.2.1.1-Jt8PYjPhb0Pv4z6siAJXTuw.O3QPj12VmZjPwHRwbKyVNfz75.ITtscm91fmy_BD" aria-hidden="true" rel="nofollow noopener" style="display: none !important; visibility: hidden !important"></a> 62 63 <div class="page-background has-background-image" data-background="/api/library/bun1zu62e3m3jbl7h49ne1xa"></div> 64 <style data-emotion-css="18p4x22 r2ag0e 119qg5r 2jofpk 1yvp6hl y5ou3l 6hau26 1pjsesg">.page-background{position:fixed;height:100vh;top:0;left:0;right:0;bottom:0;z-index:-1;background-color:rgb(26,24,54);background-size:cover;background-position:center center;background-size:cover;background-position:center center;background-repeat:no-repeat;background-image:linear-gradient(rgba(0,0,0,0), rgba(0,0,0,0)),url(/api/library/bun1zu62e3m3jbl7h49ne1xa);-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0);}section{margin:0 auto;}.container{max-width:1140px;}@media (min-width:calc(1140px / 16)em){.widget{padding:calc(1140px / 100);}}h1{color:rgb(255,255,255);font-family:"PT Serif",sans-serif;font-weight:normal;font-style:normal;}h2{color:rgb(255,255,255);font-family:"PT Serif",sans-serif;font-weight:normal;font-style:normal;}h3{color:rgb(255,255,255);font-family:"PT Serif",sans-serif;font-weight:normal;font-style:normal;}p{color:rgb(255,255,255);font-family:"PT Serif",sans-serif;font-weight:bold;font-style:normal;}ul{color:rgb(255,255,255);font-family:"PT Serif",sans-serif;font-weight:bold;font-style:normal;}h1{font-size:2.5rem;}h2{font-size:1.75rem;}h3{font-size:1.25rem;}p{font-size:1.75rem;}ul{font-size:1.75rem;}.lp-list.lp-list--bullet.text-align-left li::before{left:2px;}.lp-list.lp-list--numbered.text-align-left li::before{left:-3px;}.lp-list.lp-list--numbered.text-align-left li{padding-left:25px;}.lp-list.lp-list--numbered.text-align-left li:nth-child(n + 10){padding-left:45px;}@media only screen and (max-width:480px){.lp-list.lp-list--numbered.text-align-left li:nth-child(n + 10){padding-left:35px;}}.lp-list.lp-list--icon.text-align-left li::before{left:-6px;}.lp-list.lp-list--icon.text-align-left li{padding-left:40px;}@media only screen and (max-width:480px){.lp-list.lp-list--icon.text-align-left li::before{left:-5px;}.lp-list.lp-list--icon.text-align-left li{padding-left:28px;}}.lp-list.lp-list--checkmark.text-align-left li::before{left:-10px;}.lp-list.lp-list--checkmark.text-align-left li{padding-left:25px;}@media only screen and (max-width:480px){.lp-list.lp-list--checkmark.text-align-left li::before{left:-5px;}}h1{padding-bottom:0em;}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:0.875;}h2{line-height:1.25;}h3{line-height:1.375;}p{line-height:1.125;}ul{line-height:1.125;}@media (min-width:480px){h1{font-size:2rem;}}@media (min-width:768px){h1{font-size:2.5rem;}}@media (min-width:480px){h2{font-size:1.5rem;}}@media (min-width:768px){h2{font-size:1.75rem;}}@media (min-width:480px){h3{font-size:1.125rem;}}@media (min-width:768px){h3{font-size:1.25rem;}}@media (min-width:480px){p{font-size:1.5rem;}}@media (min-width:768px){p{font-size:1.75rem;}}@media (min-width:480px){ul{font-size:1.5rem;}}@media (min-width:768px){ul{font-size:1.75rem;}}.lp-alert,.lp-calendar-react .date,.lp-calendar-react .month,.lp-form-v2-input-react{font-family:"PT Serif",sans-serif;}.lp-form-v2-input-react{color:rgb(255,255,255);}@-webkit-keyframes animation-6hau26{0%{box-shadow:0px 0px 0px 0px rgb(77,169,244);}100%{box-shadow:0px 0px 0px 20px rgba(255,255,255,0);}}@keyframes animation-6hau26{0%{box-shadow:0px 0px 0px 0px rgb(77,169,244);}100%{box-shadow:0px 0px 0px 20px rgba(255,255,255,0);}}@-webkit-keyframes animation-1pjsesg{0%{background-image:linear-gradient( 135deg, rgba(255,255,255,0.4) 0%, rgba(255,255,255,0) 50%, rgba(255,255,255,0) 100% );}50%{background-image:linear-gradient( 135deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.4) 50%, rgba(255,255,255,0) 100% );}100%{background-image:linear-gradient( 135deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 50%, rgba(255,255,255,0.4) 100% );}}@keyframes animation-1pjsesg{0%{background-image:linear-gradient( 135deg, rgba(255,255,255,0.4) 0%, rgba(255,255,255,0) 50%, rgba(255,255,255,0) 100% );}50%{background-image:linear-gradient( 135deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.4) 50%, rgba(255,255,255,0) 100% );}100%{background-image:linear-gradient( 135deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 50%, rgba(255,255,255,0.4) 100% );}}</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="page css-1o3acgz"><style data-emotion-css="eporc3">.css-eporc3{background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0);background-size:cover;background-position:center center;background-repeat:no-repeat;}.css-eporc3 > .container{padding-top:0vw;padding-right:0vw;padding-bottom:0vw;padding-left:0vw;padding-top:0cqw;padding-right:0cqw;padding-bottom:0cqw;padding-left:0cqw;}.site-header .css-eporc3 > .container{padding-top:-5px;padding-right:0;
64padding-bottom:-5px;padding-left:0;-webkit-transition:padding 0.03s ease;transition:padding 0.03s ease;}.bar .css-eporc3{padding:0 50px;}@media (max-width:23.75em){.bar .css-eporc3{padding:0 25px;}}@media (min-width:71.25em){.css-eporc3 > .container{padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}}</style><section class="section css-eporc3" data-guid="1ea9f9ee-c3a6-b9a6-d716-d4eb73b8bca4"><div class="container" id="header"><div class="layout flex flex--12" data-guid="dddf275c-9d95-f3b6-d36c-98c760f33598"><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-3 flex__item--xs-12 css-vfaad" data-guid="decaf448-82ab-5063-a45d-99a2896ec2d4"><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;-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="d402471a-374f-6e44-c3b2-718dd184bd08" class="widget"><style data-emotion-css="1yltisf">.css-1yltisf{text-align:center;}</style><div class="css-1yltisf"><div><style data-emotion-css="y7ixbe">.css-y7ixbe{display:inline-block;vertical-align:middle;max-width:3089px;}@media (max-width:530px){.site-header .composite .widget .css-y7ixbe{max-width:calc(100% - 80px);}}</style><img class="lp-image-react w-d402471a-374f-6e44-c3b2-718dd184bd08 css-y7ixbe" src="/api/library/fg9pwkh8zwnf7q2160ec2k6s?w=1064&fit=scale-down&format=auto&quality=82" data-image-upload-source="builder3" alt="40 Days for Life - The Beginning of the End of Abortion" style="width:100%; height:auto" fetchpriority="high" srcset="/api/library/fg9pwkh8zwnf7q2160ec2k6s?w=320&fit=scale-down&format=auto&quality=82 320w, /api/library/fg9pwkh8zwnf7q2160ec2k6s?w=480&fit=scale-down&format=auto&quality=82 480w, /api/library/fg9pwkh8zwnf7q2160ec2k6s?w=640&fit=scale-down&format=auto&quality=82 640w, /api/library/fg9pwkh8zwnf7q2160ec2k6s?w=960&fit=scale-down&format=auto&quality=82 960w, /api/library/fg9pwkh8zwnf7q2160ec2k6s?w=1064&fit=scale-down&format=auto&quality=82 1064w" sizes="100vw" width="3089" height="710"></div></div></div></div></div></div></div></div></div></div></div><div class="column flex__item--md-6 flex__item--xs-12 css-vfaad" data-guid="22b570dc-d676-791d-d606-d05c1a8fb474"><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="0cb478e2-6bbc-36e3-d6e8-675e99fe214e" class="widget"><style data-emotion-css="piwg9t">.css-piwg9t{position:relative;z-index:0;text-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;
64-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}</style><div class="lp-button-react-wrapper css-piwg9t" data-widget-type="LpButtonReact"><style data-emotion-css="rywwls">.css-rywwls{-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;-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;font-weight:bold;min-height:60px;min-width:120px;padding:20px 32px;font-family:"PT Serif",sans-serif;border-radius:4px;}.css-rywwls::before{border-radius:4px;}.css-rywwls,.css-rywwls:focus,.css-rywwls:active{border-color:rgb(77,169,244);background:rgb(77,169,244);color:rgb(255,255,255);}.css-rywwls:hover{background-color:rgb(61,134,193);border-color:rgb(61,134,193);color:rgb(255,255,255);}@media (prefers-reduced-motion:no-preference){.css-rywwls{-webkit-animation:animation-6hau26 1333.3333333333335ms infinite ease-out;animation:animation-6hau26 1333.3333333333335ms infinite ease-out;}.css-rywwls:hover{-webkit-animation:animation-1pjsesg 200ms;animation:animation-1pjsesg 200ms;}}</style><a data-widget-link="true" href="#petition" data-link-type="section" class="lp-button-react w-0cb478e2-6bbc-36e3-d6e8-675e99fe214e is-bold lp-button-react--large lp-button-react--flat lp-btn-flat font-scale-6 line-height-scale-1 css-rywwls" contenteditable="false">SIGN THE PETITION</a></div></div></div></div></div></div></div></div></div></div><div class="column flex__item--md-3 flex__item--xs-12 css-vfaad" data-guid="5337ea78-2094-6c69-fb7a-8d6ab0ba3f89"><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="179da546-dc8f-2e5b-cec9-bc2a2d5d66af" class="widget"><style data-emotion-css="nrb69m">.css-nrb69m{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;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;}</style><div class="lp-share-react w-179da546-dc8f-2e5b-cec9-bc2a2d5d66af css-nrb69m" data-widget-type="LpShareReact"><style data-emotion-css="13bbv68">.css-13bbv68{width:48px;height:48px;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-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;font-size:1.5rem;line-height:1;-webkit-text-decoration:none;text-decoration:none;-webkit-transition:background 0.3s ease-in-out;transition:background 0.3s ease-in-out;background-color:rgba(0,0,0,0);content:'rgba(0, 0, 0, 0)';}.css-13bbv68:hover,.css-13bbv68:focus,.css-13bbv68:active{background-color:rgba(51,51,51,0);}</style><a class="lp-share-react_item lp-share-react_item--facebook css-13bbv68" target="_blank" rel="noopener noreferrer" data-alternate-url="" data-publish-url="" data-share-type="facebook"><style data-emotion-css="4e78w1">.css-4e78w1{position:absolute;height:1px;width:1px;overflow:hidden;-webkit-clip:rect(1px 1px 1px 1px);clip:rect(1px 1px 1px 1px);-webkit-clip:rect(1px,1px,1px,1px);clip:rect(1px,1px,1px,1px);white-space:nowrap;}</style><span class="css-4e78w1">Share on Facebook</span><style data-emotion-css="pfxh9g">.css-pfxh9g{color:rgb(77,169,244) !important;}</style><i class="fab fa-facebook-f css-pfxh9g"></i></a><a class="lp-share-react_item lp-share-react_item--x-twitter css-13bbv68" target="_blank" rel="noopener noreferrer" data-alternate-url="" data-publish-url="" data-share-type="x-twitter"><span class="css-4e78w1">Share on X (Twitter)</span><i class="fab fa-x-twitter css-pfxh9g"></i></a><a class="lp-share-react_item lp-share-react_item--youtube css-13bbv68" target="_blank" rel="noopener noreferrer" data-alternate-url="" data-publish-url="" data-profile-url="https://www.youtube.com/channel/UCIuKDmVVDK1mm_iRhC01j4Q" data-share-type="youtube" data-profile-url-new-window="true"><span class="css-4e78w1">Share on Youtube</span><i class="fab fa-youtube css-pfxh9g"></i></a><a class="lp-share-react_item lp-share-react_item--instagram css-13bbv68" target="_blank" rel="noopener noreferrer" data-alternate-url="" data-publish-url="" data-profile-url="https://www.instagram.com/4
640daysforlife.official/" data-share-type="instagram" data-profile-url-new-window="true"><span class="css-4e78w1">Share on Instagram</span><i class="fab fa-instagram css-pfxh9g"></i></a></div></div></div></div></div></div></div></div></div></div></div></div></section><style data-emotion-css="dousz5">.css-dousz5{background-color:rgba(0,0,0,1);border-color:rgba(0,0,0,1);background-image:linear-gradient(rgba(0,0,0,0.5),rgba(0,0,0,0.5)),url("/api/library/gq70cgjsdrg80bjfkueewxsh");background-size:cover;background-position:center top;background-repeat:no-repeat;min-height:90vh;}.css-dousz5 > .container{padding-top:0vw;padding-right:0vw;padding-bottom:0vw;padding-left:0vw;padding-top:0cqw;padding-right:0cqw;padding-bottom:0cqw;padding-left:0cqw;}.site-header .css-dousz5 > .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-dousz5{padding:0 50px;}@media (max-width:23.75em){.bar .css-dousz5{padding:0 25px;}}@media (min-width:71.25em){.css-dousz5 > .container{padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}}</style><section class="flex-display flex-direction-column flex-justify-flex-start has-background-image has-background-size-cover section css-dousz5" data-guid="4469ea33-a6f1-ada1-09b6-2fa554627d0b" data-background="/api/library/gq70cgjsdrg80bjfkueewxsh"><div class="container" id="hero"><div class="layout flex flex--12" data-guid="925a6eff-d532-83c4-102b-18c9ef43add1"><style data-emotion-css="1f6woiw">.css-1f6woiw{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-1f6woiw.column{padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.css-1f6woiw.column > .inner-column{padding-top:22.8px;padding-right:0px;padding-bottom:0px;padding-left:0px;}}</style><div class="column flex__item--md-12 flex__item--xs-12 css-1f6woiw" data-guid="f55a21c4-2dd9-2d4d-6ec9-8238bb253663"><style data-emotion-css="pherr2">.css-pherr2{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:2vw;padding-right:0vw;padding-bottom:0vw;padding-left:0vw;padding-top:2cqw;padding-right:0cqw;padding-bottom:0cqw;padding-left:0cqw;}.bar .css-pherr2{padding-top:0;padding-bottom:0;}</style><div class="inner-column css-pherr2"><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="b886928e-7f59-a57c-8e81-105588cecdb3" class="widget"><div class="lp-text-react lp-headline-react lp-animate__slower" data-widget-type="LpTextReact" data-lp-animate-widget="fadeIn" data-lp-animate-delay-widget="0" style="visibility:hidden"><p class="text-align-center font-scale-14 line-height-scale-6 gutter-bottom-1">DEFUND PLANNED PARENTHOOD</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="ed1cfd67-a782-6ad2-35c8-991c6bc3e547" class="widget"><div class="lp-text-react lp-headline-react" data-widget-type="LpTextReact"><p class="text-align-center font-scale-9 line-height-scale-7"><span style="color: rgba(255, 255, 255, 1);"><span style="font-weight: 400">One year ago, YOU helped defund Planned Parenthood...taking away </span><em><span style="font-weight: 400">hundreds of millions of dollars </span></em><span style="font-weight: 400">from the abortion giant. But the defunding of Planned Parenthood lasted only a year.</span> Unless Congress acts soon, America's abortion empire will once again receive nearly a <em>billion</em> dollars a year from Uncle Sam<strong>. </strong><span style="font-weight: 400">Sign the petition to defund Planned Parenthood once again.</span></span></p></div></div></div></div></div></div></div></div></div></div></div><div class="layout flex flex--12" data-guid="c4bfe5e1-8b7b-7788-5191-b92202ea265d"><style data-emotion-css="c0hxug">.css-c0hxug{padding-top:0vw;padding-right:5vw;padding-bottom:0vw;padding-left:5vw;padding-top:0cqw;padding-right:5cqw;padding-bottom:0cqw;padding-left:5cqw;}@media(min-width:71.25em){.css-c0hxug.column{padding-top:0px;padding-right:57px;padding-bottom:0px;padding-left:57px;}.css-c0hxug.column > .inner-column{padding-top:11.4px;padding-right:114px;padding-bottom:11.4px;padding-left:114px;}}</style><div class="column flex__item--md-12 flex__item--xs-12 css-c0hxug" data-guid="41d6541f-fb26-076e-9d93-34ca2ec38a63"><style data-emotion-css="8qq7j0">.css-8qq7j0{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:10vw;padding-bottom:1vw;padding-left:10vw;padding-top:1cqw;padding-right:10cqw;padding-bottom:1cqw;padding-left:10cqw;}.bar .css-8qq7j0{padding-top:0;padding-bottom:0;}</style><div class="inner-column css-8qq7j0"><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="a40873a9-bd28-09ca-599a-72684a4526a8" class="widget"><style data-emotion-css="15gc0f6">.css-15gc0f6{height:6px;}
64@media (min-width:48em){.css-15gc0f6{height:-18px;}}</style><div class="lp-space-react w-a40873a9-bd28-09ca-599a-72684a4526a8 css-15gc0f6" 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="2fe38c2a-d3d6-b60f-cae7-60975f8fcf76" class="widget"><div class="lp-button-react-wrapper css-piwg9t" data-widget-type="LpButtonReact"><a data-widget-link="true" href="#petition" data-link-type="section" class="lp-button-react w-2fe38c2a-d3d6-b60f-cae7-60975f8fcf76 is-bold lp-button-react--large lp-button-react--flat lp-btn-flat font-scale-6 line-height-scale-1 css-rywwls" contenteditable="false">SIGN THE PETITION</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="6dc3949c-812b-a706-156e-72661f598f96" class="widget"><style data-emotion-css="iry1kt">.css-iry1kt{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-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}</style><div class="lp-icon-react w-6dc3949c-812b-a706-156e-72661f598f96 css-iry1kt" data-widget-type="LpIconReact"><style data-emotion-css="1e8voxc">.css-1e8voxc{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:10%;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}</style><div class="lp-icon-react__container css-1e8voxc"><style data-emotion-css="naefec">.css-naefec{color:rgb(255,255,255);}</style><i class="fas fa-chevron-down lp-icon-react__icon css-naefec" aria-hidden="true"></i></div></div></div></div></div></div></div></div></div></div></div></div></div></section><style data-emotion-css="28hb17">.css-28hb17{background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0);background-size:cover;background-position:center center;background-repeat:no-repeat;}.css-28hb17 > .container{padding-top:5vw;padding-right:5vw;padding-bottom:5vw;padding-left:5vw;padding-top:5cqw;padding-right:5cqw;padding-bottom:5cqw;padding-left:5cqw;}.site-header .css-28hb17 > .container{padding-top:20px;padding-right:0;padding-bottom:20px;padding-left:0;-webkit-transition:padding 0.03s ease;transition:padding 0.03s ease;}.bar .css-28hb17{padding:0 50px;}@media (max-width:23.75em){.bar .css-28hb17{padding:0 25px;}}@media (min-width:71.25em){.css-28hb17 > .container{padding-top:57px;padding-right:57px;padding-bottom:57px;padding-left:57px;}}</style><section class="section css-28hb17" data-guid="2409b076-4a9b-147a-9c32-47434a2bbb06"><div class="container" id="petition"><div class="layout flex flex--12" data-guid="20fcb219-ba24-963c-d0e8-4a45f3f56869"><style data-emotion-css="12b8izt">.css-12b8izt{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-12b8izt.column{padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.css-12b8izt.column > .inner-column{padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}}</style><div class="column flex__item--md-12 flex__item--xs-12 css-12b8izt" data-guid="1c871fae-9e6c-b267-4e67-51ac0f7f6706"><style data-emotion-css="c14f2p">.css-c14f2p{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:0vw;padding-top:0cqw;padding-right:0cqw;padding-bottom:0cqw;padding-left:0cqw;}.bar .css-c14f2p{padding-top:0;padding-bottom:0;}</style><div class="inner-column css-c14f2p"><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="c4d1b8c5-a99a-d0ab-5a83-bb71913e6fc2" class="widget"><div data-widget-type="LpHtmlReact"> 65 <iframe sandbox="allow-forms allow-popups allow-popups-to-escape-sandbox allow-pointer-lock allow-same-origin allow-scripts allow-top-navigation" id="JotFormIFrame-250016698195160" title="Webcast 1.14.2025 & Defund Planned Parenthood Petition" onload="window.parent.scrollTo(0,0)" allowtransparency="true" allow="geolocation; microphone; camera; fullscreen" src="https://form.jotform.com/250016698195160" frameborder="0" style="min-width:100%;max-width:100%;height:539px;border:none;" scrolling="no"> 66 </iframe> 67
67<script src="https://cdn.jotfor.ms/s/umd/latest/for-form-embed-handler.js"></script>
67 68
68<script>window.jotformEmbedHandler("iframe[id='JotFormIFrame-250016698195160']", "https://form.jotform.com/")</script>
68 69 </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="974fafd4-7a1d-0e23-a88b-8f5b269b55d4" 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-1 gutter-bottom-1"><span style="color: rgba(0, 0, 0, 1);"><span style="font-weight: 400">BY SIGNING THE PETITION, YOU WILL ALSO RECEIVE THE LATEST 40 DAYS FOR LIFE NEWS, DEVOTIONALS, AND PRAYERS BY EMAIL.</span></span></p></div></div></div></div></div></div></div></div></div></div></div></div></section><style data-emotion-css="q0vvus">.css-q0vvus{background-color:rgba(10,49,97,1);border-color:rgba(10,49,97,1);background-size:cover;background-position:center top;background-repeat:no-repeat;}.css-q0vvus > .container{padding-top:0vw;padding-right:0vw;padding-bottom:0vw;padding-left:0vw;padding-top:0cqw;padding-right:0cqw;padding-bottom:0cqw;padding-left:0cqw;}.site-header .css-q0vvus > .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-q0vvus{padding:0 50px;}@media (max-width:23.75em){.bar .css-q0vvus{padding:0 25px;}}@media (min-width:71.25em){.css-q0vvus > .container{padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}}</style><section class="section css-q0vvus" data-lp-animate-section="fadeIn" style="visibility:hidden" data-guid="a66aa271-bee3-aef5-268c-9824adb6f855"><div class="container" id="speakers-1"><div class="layout flex flex--12" data-guid="01d2aad1-ec44-0cd7-6ae9-4486ccf6d9b2"><style data-emotion-css="12lwxu1">.css-12lwxu1{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-12lwxu1.column{padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.css-12lwxu1.column > .inner-column{padding-top:57px;padding-right:11.4px;padding-bottom:57px;padding-left:57px;}}</style><div class="column flex__item--md-12 flex__item--xs-12 css-12lwxu1" data-guid="e7f7ce0f-87f2-b73d-c232-93d99814deab"><style data-emotion-css="15v7lqb">.css-15v7lqb{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:5vw;padding-right:1vw;padding-bottom:5vw;padding-left:5vw;padding-top:5cqw;padding-right:1cqw;padding-bottom:5cqw;padding-left:5cqw;}.bar .css-15v7lqb{padding-top:0;padding-bottom:0;}</style><div class="inner-column css-15v7lqb"><div class="row flex flex--12 css-47r3vg"><div class="layout-CL composite flex__item--md-12 flex__item--xs-12 css-8x0d4x"><div class="inner-composite flex flex--12 flex--sm-middle"><div class="widget-column flex__item--md-6 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="9ec53259-d603-4b2c-16af-7eeb7436de71" class="widget"><div class="css-1yltisf"><div><style data-emotion-css="1cg3cc6">.css-1cg3cc6{display:inline-block;vertical-align:middle;max-width:400px;}@media (max-width:530px){.site-header .composite .widget .css-1cg3cc6{max-width:calc(100% - 80px);}}</style><img class="lp-image-react w-9ec53259-d603-4b2c-16af-7eeb7436de71 css-1cg3cc6" src="/api/library/v81z464s2ay8aer75u01us2o?w=1064&fit=scale-down&format=auto&quality=82" data-image-upload-source="builder3" alt="" style="width:80%" loading="lazy" srcset="/api/library/v81z464s2ay8aer75u01us2o?w=320&fit=scale-down&format=auto&quality=82 320w, /api/library/v81z464s2ay8aer75u01us2o?w=480&fit=scale-down&format=auto&quality=82 480w, /api/library/v81z464s2ay8aer75u01us2o?w=640&fit=scale-down&format=auto&quality=82 640w, /api/library/v81z464s2ay8aer75u01us2o?w=960&fit=scale-down&format=auto&quality=82 960w, /api/library/v81z464s2ay8aer75u01us2o?w=1064&fit=scale-down&format=auto&quality=82 1064w" sizes="auto, 100vw"></div></div></div></div></div></div><div class="widget-column flex__item--md-6 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="9a28b4fe-d12f-b414-99ef-bf13778ba398" class="widget"><div class="lp-text-react lp-headline-react" data-widget-type="LpTextReact"><h3 class="lp-headline text-align-center font-scale-5 line-height-scale-3 gutter-bottom-5 small-subhead"><strong>Shawn Carney,</strong></h3><h3 class="lp-headline text-align-center font-scale-4 line-height-scale-3 gutter-bottom-1 small-subhead">President and CEO of 40 Days for Life</h3><p class="text-align-center font-scale-4 line-height-scale-3 gutter-bottom-1"></p><p class="text-align-left font-scale-4 line-height-scale-6 gutter-bottom-1"><span style="font-weight: 400">Shawn began as a volunteer in the pro-life movement while still in college. During this time, he helped lead the first ever local 40 Days for Life campaign. After graduating from college, Shawn was asked to serve as the executive director of the Coalition for Life, a local pro-life organization in Texas, made up of more than 60 churches. From its beginning, Shawn has been instrumental in growing 40 Days for Life nationally and then internationally.<br>Shawn is a regular media spokesperson, and his work has been featured on hundreds of outlets, including Fo
69x News, The Laura Ingraham Show, The Drudge Report, The Guardian, USA Today, and Christian media including The Christian Post, National Catholic Register, Sirius XM Catholic Radio, EWTN Radio, and Focus on the Family.<br>Shawn is one of the most sought-after pro-life speakers, addressing audiences coast-to-coast and internationally. Shawn and his wife Marilisa were portrayed in the 2019 major motion picture Unplanned, which tells the story of Abby Johnson's conversion as a Planned Parenthood director. Shawn is the author of four national bestselling books including The Beginning of the End of Abortion, To the Heart of the Matter, the #2 Amazon bestseller, </span><a href="https://www.40daysforlife.com/en/whattosaywhen" target="_blank" rel="noopener noreferrer" data-link-type="external">What to Say When: The Complete New Guide to Discussing Abortion</a><span style="font-weight: 400">, and </span><a href="https://www.40daysforlife.com/en/2" target="_blank" rel="noopener noreferrer" data-link-type="external">What to Say When 2: Your Proven Guide in The New Abortion Landscape<span style="font-weight: 400">.</span></a></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="066825c8-e378-a848-3ee8-b2e73485cb88" 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-066825c8-e378-a848-3ee8-b2e73485cb88 css-1klih5i" data-widget-type="LpSpaceReact"></div></div></div></div></div></div></div></div><div class="row flex flex--12 css-47r3vg"><div class="layout-CR composite flex__item--md-12 flex__item--xs-12 css-8x0d4x"><div class="inner-composite flex flex--12 flex--sm-middle"><div class="widget-column flex__item--md-6 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="b024e70c-2051-6cbc-7141-c2d8ccc3effb" class="widget"><div class="lp-text-react lp-headline-react" data-widget-type="LpTextReact"><h3 class="lp-headline text-align-center font-scale-5 line-height-scale-2 gutter-bottom-4 small-subhead"><strong>Steve Karlen,</strong></h3><p class="text-align-center font-scale-4 line-height-scale-2 gutter-bottom-1"><span style="font-weight: 400">Campaign Director, 40 Days for Life</span></p><p class="text-align-center font-scale-4 line-height-scale-2 gutter-bottom-1"></p><p class="text-align-left font-scale-4 line-height-scale-6 gutter-bottom-1"><span style="font-weight: 400">40 Days for Life campaign in Madison, Wisconsin. Before long, he found himself at the center of a nationwide controversy as the health system at his alma mater, the University of Wisconsin, was secretly preparing to open a late-term abortion center on campus. Groups across the state looked to him for leadership. After nearly a year and a half, the University of Wisconsin Hospital and Clinics abandoned its plan to open an abortion facility, citing Steve and his team as the reason for the decision.<br>Steve now serves as the campaign director for 40 Days for Life, where he trains and assists local 40 Days for Life campaign leaders, co-hosts the 40 Days for Life Podcast, and edits 40 Days for Life's Day 41 magazine. He has spoken in all 50 states; Washington, DC; four Canadian provinces; and Mexico City. Steve is the author of the book This is When We Begin to Fight, the #2 Amazon bestseller, </span><a href="https://www.40daysforlife.com/en/whattosaywhen" target="_blank" rel="noopener noreferrer" data-link-type="external">What to Say When: The Complete New Guide to Discussing Abortion</a>, and <a href="https://www.40daysforlife.com/en/2" target="_blank" rel="noopener noreferrer" data-link-type="external"><u>What to Say When 2: Your Proven Guide in The New Abortion Landscape</u></a>.<span style="font-weight: 400"> Steve lives in Madison with his wife and five children.</span></p></div></div></div></div></div><div class="widget-column flex__item--md-6 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="20164d85-021d-fdc1-fe17-f40a67284a42" class="widget"><div class="css-1yltisf"><div><style data-emotion-css="156tzj2">.css-156tzj2{display:inline-block;vertical-align:middle;max-width:552px;}@media (max-width:530px){.site-header .composite .widget .css-156tzj2{max-width:calc(100% - 80px);}}</style><img class="lp-image-react w-20164d85-021d-fdc1-fe17-f40a67284a42 css-156tzj2" src="/api/library/q838c8zjp0ivj060qp4s3aip?w=1064&fit=scale-down&format=auto&quality=82" data-image-upload-source="builder3" alt="" style="width:80%; height:auto" loading="lazy" srcset="/api/library/q838c8zjp0ivj060qp4s3aip?w=320&fit=scale-down&format=auto&quality=82 320w, /api/library/q838c8zjp0ivj060qp4s3aip?w=480&fit=scale-down&format=auto&quality=82 480w, /api/library/q838c8zjp0ivj060qp4s3aip?w=640&fit=scale-down&format=auto&quality=82 640w, /api/library/q838c8zjp0ivj060qp4s3aip?w=960&fit=scale-down&format=auto&quality=82 960w, /api/library/q838c8zjp0ivj060qp4s3aip?w=1064&fit=scale-down&format=auto&quality=82 1064w" sizes="auto, 100vw" width="552" height="552"></div></div></div></div></div></div></div></div></div></div></div></div></div></section><style data-emotion-css="15n2jkf">.css-15n2jkf{background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0);background-size:cover;background-position:center center;background-repeat:no-repeat;}.css-15n2jkf > .container{padding-top:3vw;padding-right:0vw;padding-bottom:3vw;padding-left:0vw;padding-top:3cqw;padding-right:0cqw;padding-bottom:3cqw;padding-left:0cqw;}.site-header .css-15n2jkf > .container{padding-top:10px;padding-right:0;padding-bottom:10px;padding-left:0;-webkit-transition:padding 0.03s ease;transition:padding 0.03s ease;}.bar .css-15n2jkf{padding:0 50px;}@media (max-width:23.75em){.bar .css-15n2jkf{padding:0 25px;}}
69@media (min-width:71.25em){.css-15n2jkf > .container{padding-top:34.2px;padding-right:0px;padding-bottom:34.2px;padding-left:0px;}}</style><section class="section css-15n2jkf" data-guid="86c80265-fb5c-553b-7053-7a3d2bba3a78"><div class="container" id="books"><div class="layout flex flex--12" data-guid="45f40945-9b35-b7e9-7616-6a5467d7ec94"><style data-emotion-css="14gjp4j">.css-14gjp4j{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-14gjp4j.column{padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.css-14gjp4j.column > .inner-column{padding-top:11.4px;padding-right:34.2px;padding-bottom:11.4px;padding-left:34.2px;}}</style><div class="column flex__item--md-12 flex__item--xs-12 css-14gjp4j" data-guid="81faf2a2-7864-5dec-e8b1-376dd276f40b"><style data-emotion-css="1acl3xw">.css-1acl3xw{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:3vw;padding-bottom:1vw;padding-left:3vw;padding-top:1cqw;padding-right:3cqw;padding-bottom:1cqw;padding-left:3cqw;}.bar .css-1acl3xw{padding-top:0;padding-bottom:0;}</style><div class="inner-column css-1acl3xw"><div class="row flex flex--12 css-47r3vg"><div class="composite flex__item--md-3 flex__item--xs-12 css-8x0d4x"><div class="inner-composite flex flex--3"><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="bc45383d-18ff-3043-afd1-7df5e4d2a50f" class="widget"><div class="lp-space-react w-bc45383d-18ff-3043-afd1-7df5e4d2a50f css-1klih5i" data-widget-type="LpSpaceReact"></div></div></div></div></div></div></div><div class="layout-TC composite flex__item--md-3 flex__item--xs-12 css-8x0d4x"><div class="inner-composite flex flex--3 flex--sm-top"><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="35336436-6c48-b659-3212-83f944ab3d8d" class="widget"><div class="css-1yltisf"><div><a data-widget-link="true" href="https://www.40daysforlife.com/en/whattosaywhen" target="_blank" rel="noopener noreferrer" data-link-type="external" class="lp-image-react-container lp-icon-react__icon--linked" contenteditable="false"><style data-emotion-css="1jycndq">.css-1jycndq{display:inline-block;vertical-align:middle;max-width:4000px;}@media (max-width:530px){.site-header .composite .widget .css-1jycndq{max-width:calc(100% - 80px);}}</style><img class="lp-image-react w-35336436-6c48-b659-3212-83f944ab3d8d css-1jycndq" src="/api/library/dcnuq6797vxutvdy0kuf56zz?w=1064&fit=scale-down&format=auto&quality=82" data-image-upload-source="builder3" alt="" style="width:100%; height:auto" loading="lazy" srcset="/api/library/dcnuq6797vxutvdy0kuf56zz?w=320&fit=scale-down&format=auto&quality=82 320w, /api/library/dcnuq6797vxutvdy0kuf56zz?w=480&fit=scale-down&format=auto&quality=82 480w, /api/library/dcnuq6797vxutvdy0kuf56zz?w=640&fit=scale-down&format=auto&quality=82 640w, /api/library/dcnuq6797vxutvdy0kuf56zz?w=960&fit=scale-down&format=auto&quality=82 960w, /api/library/dcnuq6797vxutvdy0kuf56zz?w=1064&fit=scale-down&format=auto&quality=82 1064w" sizes="auto, 100vw" width="4000" height="4000"></a></div></div></div></div></div><div class="widget-row flex flex--12"><div class="flex__item--md-12 flex__item--xs-12"><div data-widget-id="c3ca9433-55fb-cb21-19d4-7c87e771639a" class="widget"><div class="lp-text-react lp-headline-react" data-widget-type="LpTextReact"><p class="text-align-center font-scale-5 line-height-scale-1 gutter-bottom-1"><span style="color: rgba(22, 41, 56, 1);"><a href="https://www.40daysforlife.com/en/whattosaywhen" target="_blank" rel="noopener noreferrer" data-link-type="external"><u>Read More</u></a></span></p></div></div></div></div></div></div></div><div class="layout-TC composite flex__item--md-3 flex__item--xs-12 css-8x0d4x"><div class="inner-composite flex flex--3 flex--sm-top"><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="69637f5f-324c-9fe7-1999-26a2aae179e2" class="widget"><div class="css-1yltisf"><div><a data-widget-link="true" href="https://www.40daysforlife.com/en/2" target="_blank" rel="noopener noreferrer" data-link-type="external" class="lp-image-react-container lp-icon-react__icon--linked" contenteditable="false"><img class="lp-image-react w-69637f5f-324c-9fe7-1999-26a2aae179e2 css-1jycndq" src="/api/library/q56nptb8f3qwh8crspctev2d?w=1064&fit=scale-down&format=auto&quality=82" data-image-upload-source="builder3" alt="" style="width:100%; height:auto" loading="lazy" srcset="/api/library/q56nptb8f3qwh8crspctev2d?w=320&fit=scale-down&format=auto&quality=82 320w, /api/library/q56nptb8f3qwh8crspctev2d?w=480&fit=scale-down&format=auto&quality=82 480w, /api/library/q56nptb8f3qwh8crspctev2d?w=640&fit=scale-down&format=auto&quality=82 640w, /api/library/q56nptb8f3qwh8crspctev2d?w=960&fit=scale-down&format=auto&quality=82 960w, /api/library/q56nptb8f3qwh8crspctev2d?w=1064&fit=scale-down&format=auto&quality=82 1064w" sizes="auto, 100vw" width="4000" height="4000"></a></div></div></div></div></div><div class="widget-row flex flex--12"><div class="flex__item--md-12 flex__item--xs-12"><div data-widget-id="9d6f2be4-ad1c-1ab8-d7c1-7a14960a0176" class="widget"><div class="lp-text-react lp-headline-react" data-widget-type="LpTextReact"><p class="text-align-center font-scale-5"><span style="color: rgba(22, 41, 56, 1);"><a href="https://www.40daysforlife.com/en/2" target="_blank" rel="noopener noreferrer" data-link-type="external"><u>Read More</u></a></span></p></div></div></div></div></div></div></div><div class="composite flex__item--md-3 flex__item--xs-12 css-8x0d4x"><div class="inner-composite flex flex--3"><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="eb279a37-b087-c882-550f-b46673ed9675" class="widget"><div class="lp-space-react w-eb279a37-b087-c882-550f-b46673ed9675 css-1klih5i" data-widget-type="LpSpaceReact"></div></div></div></div></div></div></div></div></div></div></div></div></section><style data-emotion-css="lq8ff1">.css-lq8ff1{background-color:rgba(22,41,56,1);border-color:rgba(22,41,56,1);background-size:cover;background-position:center center;background-repeat:no-repeat;}.css-lq8ff1 > .container{padding-top:5vw;padding-right:3vw;padding-bottom:5vw;padding-left:3vw;padding-top:5cqw;padding-right:3cqw;padding-bottom:5cqw;padding-left:3cqw;}.site-header .css-lq8ff1 > .container{padding-top:20px;padding-right:0;padding-bottom:20px;padding-left:0;-webkit-transition:padding 0.03s ease;transition:padding 0.03s ease;}.bar .css-lq8ff1{padding:0 50px;}@media (max-width:23.75em){.bar .css-lq8ff1{padding:0 25px;}}@media (min-width:71.25em){.css-lq8ff1 > .container{padding-top:57px;padding-right:34.2px;padding-bottom:57px;padding-left:34.2px;}}</style><section class="section css-lq8ff1" data-guid="a7d37245-eba1-38bf-0e9f-c02fb61f52f1"><div class="container" id="media">
69<div class="layout flex flex--12" data-guid="2e5e293d-ad42-eca6-e334-d58cc03a20a3"><div class="column flex__item--md-12 flex__item--xs-12 css-vfaad" data-guid="bef1f862-8b53-36b8-c3d8-f8811eb35323"><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="c8ec1bab-5d71-7489-4311-3e12ff7d08ca" class="widget"><div class="lp-text-react lp-headline-react" data-widget-type="LpTextReact"><p class="text-align-center"><span style="color: rgba(255, 255, 255, 1);">Media Coverage to Defund Planned Parenthood</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="ed0e11ab-95f1-a468-41db-8be12679479e" class="widget"><style data-emotion-css="1i8lai6">.css-1i8lai6{height:6px;}@media (min-width:48em){.css-1i8lai6{height:-20px;}}</style><div class="lp-space-react w-ed0e11ab-95f1-a468-41db-8be12679479e css-1i8lai6" 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-6 flex__item--xs-12 css-8x0d4x"><div class="inner-composite flex flex--6"><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="8926a7ef-f3d5-25f1-e71a-9c0cc4ff6268" class="widget"><style data-emotion-css="ypxerw">.css-ypxerw{position:relative;width:100%;height:0;padding-bottom:56.25%;overflow:hidden;}.css-ypxerw iframe,.css-ypxerw img{width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0;}</style><div class="lp-video-react w-8926a7ef-f3d5-25f1-e71a-9c0cc4ff6268 css-ypxerw has-content" data-guid="8926a7ef-f3d5-25f1-e71a-9c0cc4ff6268">
69<script type="text/javascript" src="https://video.foxnews.com/v/embed.js?id=6367036684112&w=466&h=263"></script>
69<noscript>Watch the latest video at <a href="https://www.foxnews.com">foxnews.com</a></noscript></div></div></div></div></div></div></div><div class="composite flex__item--md-6 flex__item--xs-12 css-8x0d4x"><div class="inner-composite flex flex--6"><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="027b4f8f-9bf5-41b8-f9be-e74838ffd9a9" class="widget"><div class="lp-video-react w-027b4f8f-9bf5-41b8-f9be-e74838ffd9a9 css-ypxerw has-content" data-guid="027b4f8f-9bf5-41b8-f9be-e74838ffd9a9"><iframe width="560" height="315" src="https://www.youtube.com/embed/u7hAyLaZoKA?si=sQi8Eh6wgqIhunCM&enablejsapi=1" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen=""></iframe></div></div></div></div></div></div></div></div></div></div></div></div></section><style data-emotion-css="1b99xue">.css-1b99xue{background-color:rgba(0,0,0,1);border-color:rgba(0,0,0,1);background-size:cover;background-position:center center;background-repeat:no-repeat;}.css-1b99xue > .container{padding-top:0vw;padding-right:0vw;padding-bottom:0vw;padding-left:0vw;padding-top:0cqw;padding-right:0cqw;padding-bottom:0cqw;padding-left:0cqw;}.site-header .css-1b99xue > .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-1b99xue{padding:0 50px;}@media (max-width:23.75em){.bar .css-1b99xue{padding:0 25px;}}@media (min-width:71.25em){.css-1b99xue > .container{padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}}</style><section class="section css-1b99xue" data-guid="0eb9bcb9-d829-1a9d-48c6-93c57865e3a5"><div class="container" id="footer"><div class="layout flex flex--12" data-guid="514c799a-339e-53ef-a89b-44ad9ac6952f"><style data-emotion-css="147hc1i">.css-147hc1i{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-147hc1i.column{padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.css-147hc1i.column > .inner-column{padding-top:11.4px;padding-right:11.4px;padding-bottom:0px;padding-left:11.4px;}}</style><div class="column flex__item--md-12 flex__item--xs-12 css-147hc1i" data-guid="7397dda2-d4c5-0102-8f62-59c14b0c1fc4"><style data-emotion-css="a9lz1d">.css-a9lz1d{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:0vw;padding-left:1vw;padding-top:1cqw;padding-right:1cqw;padding-bottom:0cqw;padding-left:1cqw;}.bar .css-a9lz1d{padding-top:0;padding-bottom:0;}</style><div class="inner-column css-a9lz1d"><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="74180a03-7bae-7533-eae3-4168c54c290d" 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-6 gutter-bottom-1"><span style="color: rgba(255, 255, 255, 1);"><span style="font-weight: 400">40 Days for Life is a nonprofit charitable organization under Section 501(c)(3) of the I.R.C. Your contribution is tax deductible as allowed by law.</span></span></p></div></div></div></div></div></div></div></div><div class="row flex flex--12 css-47r3vg"><div class="composite flex__item--md-3 flex__item--xs-12 css-8x0d4x"><div class="inner-composite flex flex--3"><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="460114a1-1b3d-16be-da03-4664b0d1311f" 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-6 gutter-bottom-1"><span style="color: rgba(255, 255, 255, 0.9);"><span style="font-weight: 400">© 2026 40 Days for Life. All rights reserved.</span></span></p></div></div></div></div></div></div></div><div class="composite flex__item--md-3 flex__item--xs-12 css-8x0d4x"><div class="inner-composite flex flex--3"><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="7027e0ca-cd61-946d-fbd6-6fe102fb6f79" 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-6 gutter-bottom-1"><span style="color: rgba(255, 255, 255, 0.9);"><span style="font-weight: 400">4112 East 29th Street 70Bryan, TX 77802</span></span></p></div></div></div></div></div></div></div><div class="composite flex__item--md-3 flex__item--xs-12 css-8x0d4x"><div class="inner-composite flex flex--3"><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="07ead4db-7597-f7e4-bc8c-db5e2bec0ed5" 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"><span style="color: rgba(255, 255, 255, 0.9);"><span style="font-weight: 400">888-LIFE-316 (888-543-3316)</span></span></p></div></div></div></div></div></div></div><div class="composite flex__item--md-3 flex__item--xs-12 css-8x0d4x"><div class="inner-composite flex flex--3"><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="3da82a8f-8761-306f-a7a4-25cc432620ba" 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"><span style="color: rgba(255, 255, 255, 0.9);"><a href="mailto://[email protected]" target="_blank" rel="noopener noreferrer" data-link-type="external"><span style="font-weight: 400">[email protected]</span></a></span></p></div></div></div></div></div></div></div></div></div></div></div><div class="layout flex flex--12" data-guid="2ab56cc8-b597-cc5c-9198-76a7c45d2f1f"><div class="column flex__item--md-3 flex__item--xs-12 css-vfaad" data-guid="64b4d154-e909-d5cc-7ea1-790ae0671e55"><div class="inner-column css-eeduzr"></div></div><style data-emotion-css="1g6hxac">.css-1g6hxac{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-1g6hxac.column{padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.css-1g6hxac.column > .inner-column{padding-top:0px;padding-right:11.4px;padding-bottom:0px;padding-left:11.4px;}}</style><div class="column flex__item--md-6 flex__item--xs-12 css-1g6hxac" data-guid="2106778d-80cc-568a-7558-886acfc706b4"><style data-emotion-css="yw60uj">.css-yw60uj{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:1vw;padding-top:0cqw;padding-right:1cqw;padding-bottom:0cqw;padding-left:1cqw;}.bar .css-yw60uj{padding-top:0;padding-bottom:0;}</style><div class="inner-column css-yw60uj"><div class="row flex flex--12 css-47r3vg"><div class="composite flex__item--md-6 flex__item--xs-12 css-8x0d4x"><div class="inner-composite flex flex--6"><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="47bafefc-8488-fc5e-6709-32953d11322d" 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"><span style="color: rgba(255, 255, 255, 0.9);"><a href="https://40daysforlife.com/privacy-policy/" target="_blank" rel="noopener noreferrer" data-link-type="external"><span style="font-weight: 400">Privacy Policy</span></a></span></p></div></div></div></div></div></div></div><div class="composite flex__item--md-6 flex__item--xs-12 css-8x0d4x"><div class="inner-composite flex flex--6"><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="52fe2871-70ec-8d37-86fe-132f9873968d" 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"><span style="color: rgba(255, 255, 255, 0.9);"><a href="https://40daysforlife.com/eu-eea-privacy-statement/" target="_blank" rel="noopener noreferrer" data-link-type="external"><span style="font-weight: 400">EU/EEA Privacy Statement </span></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-2 flex__item--xs-12 css-8x0d4x"><div class="inner-composite flex flex--2"><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="9938bc5c-3f48-96b8-ca98-1a8658283695" class="widget"><div class="lp-space-react w-9938bc5c-3f48-96b8-ca98-1a8658283695 css-1klih5i" data-widget-type="LpSpaceReact"></div></div></div></div></div></div></div><div class="composite flex__item--md-7 flex__item--xs-12 css-8x0d4x"><div class="inner-composite flex flex--7"><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="2d89ea6c-8798-2704-161e-84357f380acc" class="widget"><div class="css-1yltisf"><div><a data-widget-link="true" href="https://www.40daysforlife.com" target="_blank" rel="noopener noreferrer" data-link-type="external" class="lp-image-react-container lp-icon-react__icon--linked" contenteditable="false"><img class="lp-image-react w-2d89ea6c-8798-2704-161e-84357f380acc css-y7ixbe" src="/api/library/mzge8tg5gv1z25jghpbpi15l?w=1064&fit=scale-down&format=auto&quality=82" data-image-upload-source="builder3" alt="" style="width:100%; height:auto" loading="lazy" srcset="/api/library/mzge8tg5gv1z25jghpbpi15l?w=320&fit=scale-down&format=auto&quality=82 320w, /api/library/mzge8tg5gv1z25jghpbpi15l?w=480&fit=scale-down&format=auto&quality=82 480w, /api/library/mzge8tg5gv1z25jghpbpi15l?w=640&fit=scale-down&format=auto&quality=82 640w, /api/library/mzge8tg5gv1z25jghpbpi15l?w=960&fit=scale-down&format=auto&quality=82 960w, /api/library/mzge8tg5gv1z25jghpbpi15l?w=1064&fit=scale-down&format=auto&quality=82 1064w" sizes="auto, 100vw" width="3089" height="721"></a></div></div></div></div></div></div></div></div><div class="composite flex__item--md-3 flex__item--xs-12 css-8x0d4x"><div class="inner-composite flex flex--3"><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="d8483568-2a3f-8ef1-0465-d1630c098158" class="widget"><div class="lp-space-react w-d8483568-2a3f-8ef1-0465-d1630c098158 css-1klih5i" data-widget-type="LpSpaceReact"></div></div></div></div></div></div></div></div></div></div><div class="column flex__item--md-3 flex__item--xs-12 css-vfaad" data-guid="1cb309de-c511-c6a2-7e52-87049cdfc935"><div class="inner-column css-eeduzr"></div></div></div></div></section></div> 71 72 73
74<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 74
74
75<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]:{};
75r%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 75
75
76<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 76
76
77<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};
77this._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>
77 78
79<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 79
79
80<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");
80o?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 80
80
81<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 81
81
82<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 82
82
83<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 83
83
84<script type="text/javascript" data-scriptname="ANIMATE">(function(){var exports={};var module={exports: exports};"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var animateCSS=function(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"lp-animate__";if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)e.style.visibility="visible";else{var a="".concat(n).concat(t);e.parentElement.style.overflow="visible",e.setAttribute("style","visibility: hidden !important;"),i?setTimeout(function(){e.style.visibility="visible"},1e3*i):e.style.visibility="visible",e.classList.add("".concat(n,"animated"),a),e.addEventListener("animationend",function(t){t.stopPropagation(),e.classList.remove("".concat(n,"animated"),a),e.parentElement.overflow=""},{once:!0})}},handleChange=function(e,t){e.filter(function(e){return e.isIntersecting}).forEach(function(e){var i=e.intersectionRatio,n=(void 0===e.boundingClientRect.height?window.innerHeight:e.boundingClientRect.height)/window.innerHeight;if(n>1||n>.33&&i>=.5||i>=.9){var a=e.target;t.unobserve(a);var o=a.dataset.lpAnimateSection||a.dataset.lpAnimateWidget,r=Number(a.dataset.lpAnimateDelayWidget);animateCSS(a,o,r)}})},makeObserver=function(e,t){var i=new IntersectionObserver(handleChange,{root:null,rootMargin:"0px",threshold:t}),n=i.observe.bind(i),a=document.querySelectorAll(e);Array.prototype.forEach.call(a,function(e){n(e)})},setup=function(){makeObserver("[data-lp-animate-section]",[.075,.5,.9]),makeObserver("[data-lp-animate-widget]",[.075,.5,.9])},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 84
84
85<script type="text/javascript" data-scriptname="LpShareReact">(function(){var exports={};var module={exports: exports};"use strict";module.exports=function(t,e){var a={FACEBOOK:"facebook",LINKEDIN:"linkedin",X_TWITTER:"x-twitter",PINTEREST:"pinterest",INSTAGRAM:"instagram",YOUTUBE:"youtube",TIKTOK:"tiktok"};function r(t){var e=t||window.event,r={width:500,height:500,xPosition:0,yPosition:0};switch(this.getAttribute("data-share-type")){case a.FACEBOOK:r.width=585,r.height=368;break;case a.X_TWITTER:r.width=680,r.height=443;break;case a.LINKEDIN:r.width=550,r.height=476}r.xPosition=Math.floor(((window.screen.availWidth||1024)-r.width)/2),r.yPosition=Math.floor(((window.screen.availHeight||700)-r.height)/2);var i=window.open(this.href,"social","width=".concat(r.width,",height=").concat(r.height,",left=").concat(r.xPosition,",top=").concat(r.yPosition,",location=0,menubar=0,toolbar=0,status=0,scrollbars=1,resizable=1"));return i&&(i.focus(),e.preventDefault&&e.preventDefault(),e.returnValue=!1),!!i}t(function(t){if(window.sup.tailor.register({breakPoints:{">839":"lp-share-react--huge","721-838":"lp-share-react--large","539-720":"lp-share-react--medium","349-538":"lp-share-react--small","232-348":"lp-share-react--tiny"},el:t}),t&&!e){var i=t.querySelectorAll(".lp-share-react_item");Array.prototype.forEach.call(i,function(t){var e=t,i=e.getAttribute("data-profile-url");if(i){var o=e.getAttribute("data-profile-url-new-window")?"_blank":"_top";return e.setAttribute("href",i),void e.setAttribute("target",o)}var n=window.location.href;/https:\/\/my\.leadpages(?:test|)\.net\/facebook-tab-app\//.test(n)&&(n=e.getAttribute("data-publish-url"));var s=e.getAttribute("data-alternate-url")||i||n,c="";switch(e.getAttribute("data-share-type")){case a.FACEBOOK:c="https://www.facebook.com/sharer/sharer.php?u=".concat(s);break;case a.X_TWITTER:c="https://www.twitter.com/intent/tweet?url=".concat(s);break;case a.LINKEDIN:c="https://www.linkedin.com/shareArticle?mini=true&url=".concat(s);break;case a.PINTEREST:c="http://pinterest.com/pin/create/button/?url=".concat(s)}e.setAttribute("href",c),e.onclick=r})}})};;var i=module.exports.default||module.exports;return typeof i==="function"?i.apply(null, arguments):void 0;})(function(i){window.sup.register('LpShareReact',i)});</script>
vendor: 1 bytes, line 85
85
86<script type="text/javascript" data-scriptname="LpIconReact">(function(){var exports={};var module={exports: exports};"use strict";module.exports=function(e){var n=function(e){var n=function(){var n=e.querySelector(".lp-icon-react__container");n.querySelector(".lp-icon-react__icon").style.fontSize="".concat(n.offsetWidth/1,"px")};n(),window.addEventListener("resize",n),window.addEventListener("pageview",function(){setTimeout(function(){n()},20)})};e(function(e){n(e)})};;var i=module.exports.default||module.exports;return typeof i==="function"?i.apply(null, arguments):void 0;})(function(i){window.sup.register('LpIconReact',i)});</script>
vendor: 1 bytes, line 86
86
87<script type="text/javascript" data-scriptname="LpHtmlReact">(function(){var exports={};var module={exports: exports};"use strict";module.exports=function(t,l){l&&t(function(t){window.sup.tailor.register({breakPoints:{">839":"lp-html-react--huge","721-838":"lp-html-react--large","539-720":"lp-html-react--medium","349-538":"lp-html-react--small","232-348":"lp-html-react--tiny"},el:t})})};;var i=module.exports.default||module.exports;return typeof i==="function"?i.apply(null, arguments):void 0;})(function(i){window.sup.register('LpHtmlReact',i)});</script>
87 88 89
89<script type="text/javascript"> 90 (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)})}()); 91 </script>
91 92 93 94 95
96<script data-htmlpub-animate-runtime> 97(function(){ 98var CANON='[data-persist-animate]'; 99var LEGACY='[data-lp-animate-section],[data-lp-animate-widget]'; 100var SPEED={"faster":0.5,"fast":0.8,"slow":2,"slower":3}; 101var SAFE=/^[A-Za-z0-9_-]+$/; 102var KIND={"fadeIn":1,"fadeInUp":1,"fadeInDown":1,"fadeInLeft":1,"fadeInRight":1,"slideInUp":1,"slideInDown":1,"slideInLeft":1,"slideInRight":1,"bounceIn":1,"bounceInUp":1,"bounceInDown":1,"bounceInLeft":1,"bounceInRight":1,"backInUp":1,"backInDown":1,"backInLeft":1,"backInRight":1,"blurIn":1,"pulse":0,"headShake":0,"flash":0,"rubberBand":0,"heartBeat":0}; 103var EDIT_IDS=["htmlpub-edit-referrer","htmlpub-edit-script"]; 104var FORCE_ANIMATE_ID="htmlpub-edit-force-animate"; 105var ENTRANCE=1; 106function kindOf(name){ 107var kind=KIND[name]; 108return kind===1||kind===0?kind:-1; 109} 110function nameOf(el){ 111return el.getAttribute('data-persist-animate')||el.getAttribute('data-lp-animate-section')||el.getAttribute('data-lp-animate-widget')||''; 112} 113function delayOf(el){ 114var raw=el.getAttribute('data-persist-animate-delay'); 115if(raw===null)raw=el.getAttribute('data-lp-animate-delay-widget'); 116var seconds=parseFloat(raw); 117return seconds>0?Math.min(seconds,5):0; 118} 119function inEditor(){ 120for(var i=0;i<EDIT_IDS.length;i++)if(document.getElementById(EDIT_IDS[i]))return true; 121return false; 122} 123function forceAnimate(){return !!document.getElementById(FORCE_ANIMATE_ID);} 124function hide(el){el.style.setProperty('visibility','hidden','important');} 125function reveal(el){ 126if(el.style.visibility==='hidden')el.style.removeProperty('visibility'); 127} 128function restore(el,prop,value,priority){ 129if(value)el.style.setProperty(prop,value,priority); 130else el.style.removeProperty(prop); 131} 132var OPEN_KEY='__lpAnimateOverflow'; 133function openOverflow(parent){ 134var state=parent[OPEN_KEY]; 135if(state){state.count++;return;} 136parent[OPEN_KEY]={ 137count:1, 138value:parent.style.getPropertyValue('overflow'), 139priority:parent.style.getPropertyPriority('overflow')}; 140parent.style.setProperty('overflow','visible'); 141} 142function closeOverflow(parent){ 143var state=parent[OPEN_KEY]; 144if(!state||--state.count>0)return; 145parent[OPEN_KEY]=null; 146restore(parent,'overflow',state.value,state.priority); 147} 148function play(el){ 149var name=nameOf(el); 150if(!SAFE.test(name)){reveal(el);return;} 151var cls='lp-animate__'+name; 152var seconds=SPEED[el.getAttribute('data-persist-animate-speed')||'']; 153var delay=delayOf(el); 154if(seconds)el.style.setProperty('--animate-duration',seconds+'s'); 155if(delay)el.style.animationDelay=delay+'s'; 156var clipped=kindOf(name)>=0&&!el.classList.contains("has-background-video"); 157var parent=clipped?el.parentElement:null; 158if(parent)openOverflow(parent); 159var started=0; 160function start(ev){if(ev.target!==el)return;started=1;reveal(el);} 161function done(ev){ 162if(ev&&ev.target!==el)return; 163clearTimeout(timer); 164el.removeEventListener('animationstart',start); 165el.removeEventListener('animationend',done); 166el.removeEventListener('animationcancel',done); 167el.classList.remove('lp-animate__animated',cls); 168reveal(el); 169if(seconds)el.style.removeProperty('--animate-duration'); 170if(delay)el.style.animationDelay=''; 171if(parent)closeOverflow(parent); 172} 173el.addEventListener('animationstart',start); 174el.addEventListener('animationend',done); 175el.addEventListener('animationcancel',done); 176el.classList.add('lp-animate__animated',cls); 177var timer=setTimeout(function(){if(!started)done();},(delay||0)*1000+1500); 178} 179function onIntersect(entries,observer){ 180for(var i=0;i<entries.length;i++){ 181var entry=entries[i]; 182if(!entry.isIntersecting)continue; 183var viewport=window.innerHeight||1; 184var height=entry.boundingClientRect.height; 185var relative=(height>0?height:viewport)/viewport; 186var ratio=entry.intersectionRatio; 187if(relative>1||(relative>0.33&&ratio>=0.5)||ratio>=0.9){ 188observer.unobserve(entry.target); 189play(entry.target); 190}}} 191function targets(){ 192var selector=CANON; 193if(!document.querySelector("script[data-scriptname=\"ANIMATE\"]"))selector+=','+LEGACY; 194return document.querySelectorAll(selector); 195} 196function setup(){ 197if(inEditor()&&!forceAnimate())return false; 198var nodes=targets(); 199if(!nodes.length)return false; 200if((window.matchMedia&&window.matchMedia('(prefers-reduced-motion: reduce)').matches)||!window.IntersectionObserver){ 201for(var r=0;r<nodes.length;r++)reveal(nodes[r]); 202return true; 203} 204var observer=new IntersectionObserver(onIntersect,{threshold:[0.075,0.5,0.9]}); 205for(var i=0;i<nodes.length;i++){ 206observer.observe(nodes[i]);
207if(kindOf(nameOf(nodes[i]))===ENTRANCE)hide(nodes[i]); 208} 209return true; 210} 211if(!setup()&&document.readyState==='loading'){ 212document.addEventListener('DOMContentLoaded',setup); 213} 214})(); 215</script>
215<script data-htmlpub-analytics> 216(function(){ 217var PID="akdam4vhrug4gtusjvpf2kn3"; 218var EXP_ID=""; 219var EXP_VARIANT=""; 220var API="/collect"; 221var APP_ORIGIN="https://htmlpub.com"; 222var FLUSH_INTERVAL=5000; 223var FLUSH_MAX=20; 224 225// HP-4568 consent gate. Runs onGranted() at most once, only when analytics 226// storage is permitted. See app/src/lib/analytics-consent-gate.ts. 227function hpConsent(onGranted){ 228var started=false; 229function start(){if(started)return;started=true;try{onGranted();}catch(e){}} 230 231// Browser-level objection (Global Privacy Control / legacy Do-Not-Track) is 232// terminal: it is the visitor speaking directly, so no later CMP "accept all" 233// re-enables tracking for this page view. Mirrors the Customers.ai pixel gate. 234try{ 235if(navigator.globalPrivacyControl===true)return; 236var dnt=navigator.doNotTrack||window.doNotTrack||navigator.msDoNotTrack; 237if(dnt==="1"||dnt===1||dnt===true)return; 238}catch(e){} 239 240// Analytics/statistics consent per whichever CMP the page carries: 241// 1 granted / 0 denied / -1 present but undecided / null no CMP detected 242function hpConsentState(){ 243// Google consent mode v2 first: vendor-neutral, so a CMP writing it (directly 244// or via GTM) is authoritative even before its own JS API initialises. Last 245// write wins, matching gtag's 'default' then 'update'. 246try{ 247var dl=window.dataLayer; 248if(dl&&dl.length){ 249var seen=null; 250for(var i=0;i<dl.length;i++){ 251var entry=dl[i]; 252if(!entry||entry[0]!=="consent"||!entry[2])continue; 253var mode=entry[2].analytics_storage; 254if(mode==="granted")seen=1;else if(mode==="denied")seen=0; 255} 256if(seen!==null)return seen; 257} 258}catch(e){} 259// Cookiebot. Its object appears only once uc.js has run, so fall back to the 260// script tag it is installed as to tell "undecided" from "absent". 261try{ 262var cb=window.Cookiebot||window.CookieConsent; 263if(cb&&cb.consent)return cb.consent.statistics?1:(cb.hasResponse?0:-1); 264if(document.getElementById("Cookiebot")||document.querySelector("script[src*='consent.cookiebot.com'],script[src*='consentcdn.cookiebot.com']"))return -1; 265}catch(e){} 266// OneTrust: statistics is the reserved C0002 group. OneTrust comma-pads the 267// list itself, so the delimited match cannot hit C00020. Every runtime signal 268// it exposes appears only after otSDKStub.js runs, so without the script-tag 269// fallback a blocked or async stub reads as "no CMP" and we would track â the 270// exact bug, on the pages most likely to care. 271try{ 272var groups=window.OptanonActiveGroups||window.OnetrustActiveGroups; 273if(typeof groups==="string"&&groups)return groups.indexOf(",C0002,")>-1?1:0; 274if(window.OneTrust||window.Optanon||document.getElementById("onetrust-consent-sdk")||document.querySelector("script[src*='cookielaw.org'],script[src*='onetrust.com']"))return -1; 275}catch(e){} 276// CookieYes 277try{ 278if(typeof window.getCkyConsent==="function"){ 279var cky=window.getCkyConsent(); 280if(cky&&cky.categories)return cky.categories.analytics?1:0; 281} 282if(document.querySelector("script[src*='cookieyes.com'],script[src*='cookie-script.com']"))return -1; 283}catch(e){} 284// Iubenda: purpose 4 is measurement. 285try{ 286var iub=window._iub; 287if(iub&&iub.cs&&iub.cs.consent&&iub.cs.consent.purposes)return iub.cs.consent.purposes[4]?1:0;
288if(iub||document.querySelector("script[src*='iubenda.com']"))return -1; 289}catch(e){} 290return null; 291} 292 293var state=hpConsentState(); 294if(state===null||state===1){start();return;} 295 296// CMP present, analytics not granted: write nothing, send nothing, and listen 297// for a later grant. The poll is a catch-all for CMPs whose event names we do 298// not know; it stops after 60s rather than running forever. 299function recheck(){if(hpConsentState()===1)start();} 300var EVENTS=["CookiebotOnAccept","CookiebotOnConsentReady","CookieConsentDeclaration","cookieyes-consent-update","consent.onetrust","OneTrustGroupsUpdated","iubenda-consent-given","hp-analytics-consent"]; 301for(var evt=0;evt<EVENTS.length;evt++){try{window.addEventListener(EVENTS[evt],recheck,false);}catch(e){}} 302var polls=0; 303var timer=setInterval(function(){recheck();if(started||++polls>=120)clearInterval(timer);},500); 304} 305 306// Everything below mints an identifier or sends a beacon, so all of it waits 307// for consent. window.__hpupPushEvent is the exception: it binds synchronously 308// here and only forwards once consent arrives. Binding it late would let the 309// popup embed bundle's fallback shim (app/src/lib/popups/embed-bundle.ts, 310// registered under the same "if not already defined" test) claim the name first 311// and reroute pop-up events. Pre-consent calls are dropped, not queued â they 312// have no visitorId. SYNC with app/src/lib/analytics-tracking-script.ts. 313var hpPush=null; 314if(!window.__hpupPushEvent){window.__hpupPushEvent=function(t,p){try{if(hpPush)hpPush(t,p);}catch(e){}};} 315hpConsent(function(){ 316 317function 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)});} 318function 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();}} 319 320// Full visits from a customer's own site (offsite.js, lib/funnels/external-sessions.ts) 321// arrive with _cvsid: adopt it as this tab's session when there is none yet, so 322// the visit that started there continues here as one session, then drop it from 323// the address bar. SYNC with the other copy of this script. 324try{var cvs=new URLSearchParams(location.search).get("_cvsid");if(cvs){if(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(cvs)&&!sessionStorage.getItem("_hp_sid"))sessionStorage.setItem("_hp_sid",cvs.toLowerCase());var cvu=new URL(location.href);cvu.searchParams.delete("_cvsid");history.replaceState(history.state,"",cvu.pathname+cvu.search+cvu.hash);}}catch(e){} 325var visitorId=getOrSet(localStorage,"_hp_vid"); 326var sessionId=getOrSet(sessionStorage,"_hp_sid"); 327 328var params=new URLSearchParams(location.search); 329var utmSource=params.get("utm_source")||undefined; 330var utmMedium=params.get("utm_medium")||undefined; 331var utmCampaign=params.get("utm_campaign")||undefined; 332// Ad-platform click IDs (conversion feedback loop) â captured like the UTMs. 333// SYNC with canonical at app/src/lib/analytics-tracking-script.ts. 334var gclid=params.get("gclid")||undefined; 335var fbclid=params.get("fbclid")||undefined; 336var msclkid=params.get("msclkid")||undefined; 337 338var vw=window.innerWidth||0; 339var vh=window.innerHeight||0; 340var ua=navigator.userAgent||""; 341var isMobileUA=/Android|iPhone|iPod|iPad|webOS|BlackBerry|IEMobile|Opera Mini/i.test(ua); 342var maxScreenDim=Math.max(screen.width||0,screen.height||0); 343var deviceType=isMobileUA?(maxScreenDim<=812||vw<768?"mobile":"tablet"):"desktop"; 344 345function detectBrowser(){ 346if(ua.indexOf("Edg/")>-1)return"Edge"; 347if(ua.indexOf("Chrome/")>-1)return"Chrome"; 348if(ua.indexOf("Safari/")>-1&&ua.indexOf("Chrome/")===-1)return"Safari"; 349if(ua.indexOf("Firefox/")>-1)return"Firefox"; 350return"Other"; 351} 352function detectOS(){ 353if(ua.indexOf("iPhone")>-1||ua.indexOf("iPad")>-1)return"iOS"; 354if(ua.indexOf("Android")>-1)return"Android"; 355if(ua.indexOf("Mac OS")>-1)return"macOS"; 356if(ua.indexOf("Windows")>-1)return"Windows"; 357if(ua.indexOf("Linux")>-1)return"Linux"; 358return"Other"; 359} 360var browserFamily=detectBrowser(); 361var osFamily=detectOS(); 362 363var buffer=[]; 364function makeEvent(type,payload){ 365return{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,viewportHe
365ight:vh,experimentId:EXP_ID||undefined,experimentVariant:EXP_VARIANT||undefined,timestamp:Date.now()}; 366} 367function pushEvent(type,payload){buffer.push(makeEvent(type,payload));if(buffer.length>=FLUSH_MAX)flush();} 368 369// HP-1557 â expose a single-arg helper so the popups runtime (separate IIFE, 370// no shared closure with analytics) can feed events into the same buffer. 371// Defensive: only set if not already defined so a future second analytics 372// injection doesn't clobber an in-flight handler. HP-4568: the name is bound 373// above, outside the consent gate; this is where it starts forwarding. 374hpPush=pushEvent; 375// NOTE (HP-3461): this copy deliberately does NOT register window.__hpTrack, even 376// though the app copy registers both names. checkout-script.ts guards on 377// __hpTrack, and inject.ts appends that script to every edge-served page, so 378// adding the name here would start writing checkout_started for the entire edge 379// fleet (pubhtml.com + all custom domains) where that beacon has always been a 380// no-op â beginning an ecommerce event series mid-history, and moving the derived 381// checkout_abandoned with it, from a change about page engagement. It is a real 382// gap and wants its own change with a backfill story. 383// (No backticks anywhere in this file: it is one big template literal, so a 384// backtick in a comment terminates the string. This exact comment did it once.) 385 386function readMmuid(){try{var v=localStorage.getItem("mmuid");return v&&v.length<=128?v:undefined;}catch(e){return undefined;}} 387 388function flush(){ 389if(buffer.length===0)return; 390var batch=buffer.splice(0,FLUSH_MAX); 391var payload={events:batch}; 392var mmuid=readMmuid(); 393if(mmuid)payload.mmuid=mmuid; 394try{navigator.sendBeacon(API,JSON.stringify(payload));}catch(e){} 395} 396 397// Engaged time-on-page (HP-3592) â count a second only while the tab is 398// visible AND the visitor was active in the last 30s; emit the accrued DELTA 399// every 30 engaged seconds and on hide/pagehide. Registered BEFORE the flush 400// handlers below so the final delta lands in the buffer before the last 401// beacon fires (listener registration order = firing order). 402// SYNC with canonical at app/src/lib/analytics-tracking-script.ts. 403var dwellSec=0,dwellSent=0,dwellLastActive=Date.now(); 404var DWELL_IDLE_MS=30000,DWELL_EMIT_SEC=30,DWELL_CAP_SEC=1800; 405function dwellActive(){dwellLastActive=Date.now();} 406document.addEventListener("scroll",dwellActive,{passive:true}); 407document.addEventListener("mousemove",dwellActive,{passive:true}); 408document.addEventListener("keydown",dwellActive,true); 409document.addEventListener("touchstart",dwellActive,{passive:true}); 410document.addEventListener("click",dwellActive,true); 411function dwellEmit(){var d=dwellSec-dwellSent;if(d>0){dwellSent=dwellSec;pushEvent("dwell",{seconds:d});}} 412var dwellTimer=setInterval(function(){ 413if(document.visibilityState!=="visible")return; 414if(Date.now()-dwellLastActive>DWELL_IDLE_MS)return; 415dwellSec++; 416if(dwellSec-dwellSent>=DWELL_EMIT_SEC)dwellEmit(); 417if(dwellSec>=DWELL_CAP_SEC){dwellEmit();clearInterval(dwellTimer);} 418},1000); 419document.addEventListener("visibilitychange",function(){if(document.visibilityState==="hidden")dwellEmit();}); 420window.addEventListener("pagehide",dwellEmit); 421 422setInterval(flush,FLUSH_INTERVAL); 423document.addEventListener("visibilitychange",function(){if(document.visibilityState==="hidden")flush();}); 424window.addEventListener("pagehide",flush); 425 426pushEvent("page_view"); 427 428// On-platform conversion goal ("a thank-you page I own"): report the current 429// pageId plus the visitor's experiment assignments (_hp_exp_<id> cookies) so the 430// server can count this page-view as a conversion. Fires once per session per 431// page. HP-2925 Layer 1: must fire on EVERY page, not just experiment 432// participants â a standalone "Offsite event" goal has no experiment cookie, so 433// gating on cookies means the server never gets to attribute it. The server 434// no-ops cheaply when the page is neither an experiment nor a goal target. 435// SYNC with canonical at app/src/lib/analytics-tracking-script.ts. 436(function(){ 437try{ 438if(!APP_ORIGIN)return; 439var guard="_hp_goal:"+PID; 440if(sessionStorage.getItem(guard))return; 441sessionStorage.setItem(guard,"1"); 442var exps=[];var ck=document.cookie.split(";"); 443for(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())});}} 444var body=JSON.stringify({pageId:PID,visitorId:visitorId,sessionId:sessionId,experiments:exps}); 445var url=APP_ORIGIN+"/api/experiments/onsite-conversion"; 446if(navigator.sendBeacon){navigator.sendBeacon(url,new Blob([body],{type:"text/plain"}));} 447else{fetch(url,{method:"POST",headers:{"Content-Type":"application/json"},body:body,keepalive:true}).catch(function(){});} 448}catch(e){} 449})(); 450 451// HP-3461 â milestones reached WITHOUT the visitor scrolling carry {auto:1}. 452// checkScroll runs on a 1s timer regardless of input and at scrollY=0 pct is 453// just winH/docH, so any page under ~4 screens tall banked scroll_depth:25 from 454// every visitor who did nothing (a page fitting the viewport banked 100). Those
455// rows mark the session engaged in the rollup, which pushed the bounce rate of 456// every short page toward zero and inflated avgScrollDepth the same way. The 457// events still fire (that depth WAS visible, and the scroll funnel wants it); 458// the stamp lets the bounce query demand a real interaction. 459// SYNC with app/src/lib/analytics-tracking-script.ts. 460var scrollMilestones={25:false,50:false,75:false,100:false}; 461var scrollUserMoved=false; 462function checkScroll(){ 463var docH=Math.max(document.body.scrollHeight,document.documentElement.scrollHeight); 464var scrollY=window.scrollY||window.pageYOffset; 465var winH=window.innerHeight; 466if(docH<=winH){if(!scrollMilestones[100]){scrollMilestones[100]=true;pushEvent("scroll_depth",{depth:100,auto:1});}return;} 467var pct=Math.round(((scrollY+winH)/docH)*100); 468[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});}}); 469} 470window.addEventListener("scroll",function(){scrollUserMoved=true;checkScroll();},{passive:true}); 471setTimeout(checkScroll,1000); 472 473// HP-1557 â when a click/submit happens inside a pop-up, add the popup's id + 474// name to the payload. Customers track conversions on the standard form_submit / 475// element_click types; this is just attribution metadata so the analytics surface 476// can say "this conversion came from the Welcome offer pop-up". Matches the 477// canonical data-persist-popup marker and the legacy data-htmlpub-popup one. 478function popupAttribution(node){ 479var p=node&&node.closest&&node.closest("[data-persist-popup],[data-htmlpub-popup]"); 480if(!p)return null; 481var nm=p.getAttribute("data-persist-popup-name");if(nm===null)nm=p.getAttribute("data-htmlpub-popup-name"); 482return{popupId:p.getAttribute("id")||"",popupName:(nm||"").replace(/^\s+|\s+$/g,"")}; 483} 484 485document.addEventListener("click",function(e){ 486var el=e.target; 487if(!el||!el.tagName)return; 488var tag=el.tagName.toLowerCase(); 489if(!(tag==="a"||tag==="button"||tag==="input"||tag==="select"||tag==="textarea"||el.getAttribute("role")==="button"||el.closest("a,button,[role=button]")))return; 490var docH=Math.max(document.body.scrollHeight,document.documentElement.scrollHeight,1); 491var rect=el.getBoundingClientRect(); 492var 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}; 493// HP-3227 â toggling "count clicks as conversions" on a button stamps 494// data-lp-conversion="<configId>" on that element, and both the rollup worker 495// and the dashboard read match a click goal by that id. This tracker never 496// reported it, so a goal whose stored selector is the placeholder 497// a[data-lp-conversion] had nothing to match on and counted zero conversions 498// forever, no matter how many buttons were toggled on. Read from the closest 499// stamped ancestor, since the click target is often an inner <span> of the CTA. 500// SYNC with app/src/lib/analytics-tracking-script.ts. 501var lpConvEl=el.closest?el.closest("[data-lp-conversion]"):null; 502var lpConvId=lpConvEl?lpConvEl.getAttribute("data-lp-conversion"):null; 503if(lpConvId)payload.lpConversion=lpConvId; 504// HP-1557 â only attribute element_click to a pop-up when the actual 505// click target is a button-shaped CTA. A click on the email input 506// inside a lead-capture popup would otherwise inflate the popup's 507// "Button clicks" count on the dashboard. 508var isCtaClick=(tag==="a"||tag==="button"||el.getAttribute("role")==="button"||(el.closest&&el.closest("a,button,[role=button]"))); 509if(isCtaClick){var pa=popupAttribution(el);if(pa){payload.popupId=pa.popupId;payload.popupName=pa.popupName;}} 510// HP-3461 â two NON-IDENTIFYING facts about the clicked anchor: the host it leaves 511// for (external only) and the file extension. The selector above records only "#id" 512// or "tag.class", so a PDF link and any other button were indistinguishable and no 513// past click can be reclassified. The full href is NOT stored: pathnames carry 514// customer identity and this is the highest-volume table (see absUrl). 515// SYNC with app/src/lib/analytics-tracking-script.ts. 516var hrefEl=tag==="a"?el:(el.closest&&el.closest("a[href]")); 517var clickUrl=hrefEl?absUrl(hrefEl):null; 518var clickFacts=clickUrl?linkFacts(clickUrl):null; 519if(clickFacts&&clickFacts.external)payload.linkHost=clickFacts.host; 520if(clickFacts&&clickFacts.ext)payload.linkExt=clickFacts.ext;
521var clickKey=clickUrl?linkClickKey(clickUrl):null; 522if(clickKey)payload.linkKey=clickKey; 523pushEvent("element_click",payload); 524// Classify into a micro-conversion. Emitted ALONGSIDE the element_click, never 525// instead of it, so a classification we later decide was wrong can be re-derived. 526if(hrefEl)classifyLinkClick(hrefEl,clickUrl); 527// HP-2811 â same-tab anchor navigation races the page unload before the 5s 528// flush timer; visibilitychange/pagehide flushes are unreliable (esp. iOS 529// Safari, same-tab nav), so element_click goals for outbound CTAs (e.g. a 530// HubSpot Meetings link) see 0 conversions despite real clicks. Mirror the 531// form_submit flush pattern for anchors that will navigate this tab. 532var navAnchor=tag==="a"?el:(el.closest&&el.closest("a[href]")); 533if(navAnchor&&navAnchor.getAttribute("target")!=="_blank"&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey){ 534var navHref=(navAnchor.getAttribute("href")||"").replace(/^\s+/,""); 535if(navHref&&navHref.charAt(0)!=="#"&&navHref.slice(0,11).toLowerCase()!=="javascript:")flush(); 536} 537},true); 538 539document.addEventListener("submit",function(e){ 540var f=e.target; 541if(!f||f.tagName!=="FORM")return; 542var payload={formIdentifier:f.id||f.getAttribute("name")||"form-"+([].indexOf.call(document.forms,f))}; 543var pa=popupAttribution(f); 544if(pa){payload.popupId=pa.popupId;payload.popupName=pa.popupName;} 545pushEvent("form_submit",payload); 546flush();// send now â a thank-you-page redirect may navigate away before the 5s timer, dropping the experiment conversion 547},true); 548 549// âââ HP-3461 on-page micro-conversions ââââââââââââââââââââââââââââââââââââââ 550// Kinds + classification rules mirror app/src/lib/analytics/page-engagement-kinds.ts 551// (the server-side reference). Literal here because this compiles to an inline 552// string and cannot import; page-engagement-kinds.test.ts asserts both script 553// copies only ever emit registered kinds. 554// SYNC with app/src/lib/analytics-tracking-script.ts. 555 556// Resolve an anchor for RULE MATCHING only â the url itself is never sent. Only 557// host + extension are reported (linkFacts): customer delivery links routinely put 558// identity in the PATH (/thank-you/jane-doe, /download/lead/8842/Invoice-Jane-Doe.pdf), 559// and AnalyticsEvent is the highest-volume table with no redaction pass and no 560// consent gate, so a stored pathname is PII a DSAR erase cannot reach. 561function absUrl(a){ 562try{ 563var raw=(a.getAttribute("href")||"").replace(/^\s+/,""); 564if(!raw||raw.charAt(0)==="#"||raw.slice(0,11).toLowerCase()==="javascript:")return null; 565var u=new URL(raw,location.href); 566if(u.protocol!=="http:"&&u.protocol!=="https:")return null; 567return u; 568}catch(e){return null;} 569} 570// Host + extension, derived from the WHOLE url (never a truncated copy) so a long 571// signed URL cannot lose its extension to a length cap and read as plain navigation. 572function linkFacts(u){ 573var p=u.pathname.toLowerCase(); 574var dot=p.lastIndexOf("."); 575var ext=dot<0?"":p.slice(dot+1); 576if(ext.length>8)ext=""; 577return{host:u.hostname.toLowerCase(),ext:ext,external:u.hostname!==location.hostname}; 578} 579// Stable join key for WHICH link was clicked: FNV-1a hash of the canonicalized 580// URL (lowercase host, no fragment, no trailing slash, query kept minus our own 581// runtime decoration params). The raw href is still never stored (HP-3461) â 582// the dashboard re-derives each key from the page's OWN html and joins on the 583// hash (app/src/lib/analytics/link-click-key.ts, the reference implementation; 584// its test extracts this copy and asserts they agree). 585// SYNC with app/src/lib/analytics-tracking-script.ts and lib/analytics/link-click-key.ts. 586function linkClickKey(u){ 587try{ 588var c=new URL(u.toString()); 589c.hash=""; 590c.hostname=c.hostname.toLowerCase(); 591if(c.pathname.length>1&&c.pathname.slice(-1)==="/")c.pathname=c.pathname.slice(0,-1); 592if(c.search){ 593var strip=["lp_click_id","lp_page_id","lp_ts","_exp","_var","_vid","_pvar","client_reference_id"]; 594var kept=new URLSearchParams(); 595c.searchParams.forEach(function(v,k){if(strip.indexOf(k)<0)kept.append(k,v);}); 596var q=kept.toString(); 597c.search=q?"?"+q:""; 598} 599var t=c.toString(); 600var h=0x811c9dc5; 601for(var i=0;i<t.length;i++){h^=t.charCodeAt(i);h=Math.imul(h,0x01000193);} 602var x=(h>>>0).toString(16); 603while(x.length<8)x="0"+x; 604return x; 605}catch(e){return null;} 606} 607 608var DL_EXT=["pdf","epub","zip","csv","xlsx","xls","docx","doc","pptx","ppt","mp3","wav"]; 609// calendar.google.com is deliberately ABSENT: the standard add-to-calendar button 610// is not a booking, and host-only matching cannot tell them apart, so including it
611// reported bookings on pages where nobody booked. Host entries only â this copy 612// matches on hostname, so a host/path entry could never match here. 613var BOOK_HOSTS=["calendly.com","cal.com","acuityscheduling.com"]; 614 615// Every kind counts at most once PER PAGE LOAD: three clicks on the same PDF is one 616// download, and a scrubbed video cannot re-bank a quartile. 617// 618// IN-MEMORY, and it must stay that way. This used to consult sessionStorage and 619// return true from its catch block, so wherever storage throws (sandboxed iframe, 620// "block all cookies", in-app webviews, full quota) every timeupdate re-emitted 621// three quartiles â 12+/sec, which trips the collect route's 30-req/min-per-IP 622// limit and then 429s that visitor's REAL page_view / form_submit / conversion 623// beacons. A session-scoped key also outlived the page load, so a batch lost to a 624// 429 or a closed tab could never be re-reported. The server counts DISTINCT 625// SESSIONS per kind, so duplicates across page views are deduped there anyway. 626var microFired={}; 627function latch(kind,id){ 628var k=kind+":"+(id||""); 629if(microFired[k])return false; 630microFired[k]=true; 631return true; 632} 633function microEvent(kind,id){ 634if(!latch(kind,id))return; 635pushEvent("page_engagement",id?{kind:kind,id:id}:{kind:kind}); 636} 637 638function classifyLinkClick(a,u){ 639try{ 640if(!u)return; 641var f=linkFacts(u); 642if((a.hasAttribute&&a.hasAttribute("download"))||(f.ext&&DL_EXT.indexOf(f.ext)>-1)){ 643// id is the EXTENSION, not the file name: "Invoice-Jane-Doe.pdf" is as 644// identifying as the path we refuse to store, and phase 1 renders only an 645// aggregate count. 646microEvent("file_download",f.ext||undefined); 647return; 648} 649if(!f.external)return; 650for(var i=0;i<BOOK_HOSTS.length;i++){ 651var b=BOOK_HOSTS[i]; 652if(f.host===b||f.host.slice(-(b.length+1))==="."+b){microEvent("booking_open",b);return;} 653} 654}catch(e){} 655} 656 657// <video> only. YouTube/Vimeo/Loom/Wistia are cross-origin iframes whose 658// playback is invisible without the provider's JS API plus an embed-URL rewrite, 659// both deferred out of phase 1 â a page whose only video is an embed reports NO 660// video kinds, which the read side must treat as "not measurable", not as 0%. 661function videoId(v){ 662try{ 663if(v.id)return v.id.slice(0,128); 664var src=v.currentSrc||v.getAttribute("src")||""; 665if(!src)return undefined; 666var seg=src.split("?")[0].split("/"); 667return (seg[seg.length-1]||"").slice(0,128)||undefined; 668}catch(e){return undefined;} 669} 670// Autoplay policy only lets a video start by itself while MUTED, so "muted and the 671// visitor has never touched the page" is the signature of decorative playback. 672// A <video autoplay muted loop playsinline> hero fires 'play' on every load, so 673// counting it would report "100% played the video" on exactly the pages most likely 674// to have a hero video. Unmuted playback always counts: it needs a gesture. 675// mousedown as well as pointerdown: a path delivering only mouse events would 676// otherwise never set this, silently disabling the feature with nothing in the logs. 677var userGestured=false; 678function markGesture(){userGestured=true;} 679document.addEventListener("pointerdown",markGesture,true); 680document.addEventListener("mousedown",markGesture,true); 681document.addEventListener("keydown",markGesture,true); 682document.addEventListener("touchstart",markGesture,{passive:true,capture:true}); 683// Decide ONCE at 'play' and LATCH on the element. Re-checking the live flag on every 684// timeupdate was a real bug found in Chrome: a decorative muted autoplay correctly 685// suppressed video_start, then one unrelated trusted keystroke flipped userGestured 686// and every later timeupdate passed â banking p25/p50/p75 for a video nobody chose 687// to watch, with NO video_start, leaving the read side dividing by a zero 688// denominator. Unmuted playback always counts: it cannot start without a gesture. 689function decidePlay(v){ 690var intent=(!v.muted)||userGestured; 691try{v.__hpIntent=intent?1:0;}catch(e){} 692return intent; 693} 694// Undefined = never saw this element's 'play' (script injected mid-playback): fail 695// closed, since crediting is the direction that corrupts the headline percentage. 696function countedPlay(v){return v.__hpIntent===1;} 697// Unmuting a decorative video IS intent, and no 'play' fires for it, so re-decide. 698// Emitting video_start keeps the stream coherent: a start precedes its quartiles. 699function onVideoVolume(e){ 700var v=e.target; 701if(!v||v.tagName!=="VIDEO")return; 702if(v.muted||v.paused||v.__hpIntent===1)return; 703v.__hpIntent=1; 704microEvent("video_start",videoId(v)); 705} 706function onVideoTime(e){ 707var v=e.target; 708if(!v||v.tagName!=="VIDEO")return; 709// Consult the LATCHED decision, never the live flag â see decidePlay. 710if(!countedPlay(v))return; 711var d=v.duration; 712// Live streams / metadata not yet loaded report 0, NaN or Infinity â a quartile 713// of an unknown duration is meaningless, so report the play and nothing more. 714if(!isFinite(d)||d<=0)return; 715var pct=(v.currentTime/d)*100; 716var id=videoId(v); 717if(pct>=25)microEvent("video_p25",id); 718if(pct>=50)microEvent("video_p50",id); 719if(pct>=75)microEvent("video_p75",id); 720// p100 comes from 'ended', not a threshold: the last timeupdate can land a 721// fraction short of duration, so a full watch would never bank it. 722} 723document.addEventListener("play",function(e){var v=e.target;if(v&&v.tagName==="VIDEO"&&decidePlay(v))microEvent("video_start",videoId(v));},true); 724document.addEventListener("timeupdate",onVideoTime,true); 725document.addEventListener("volumechange",onVideoVolume,true); 726// SYNC-START embed-video-listeners (app/edge twins pinned by page-engagement-kinds.test.ts) 727// âââ Embedded video: Vimeo (HP-3461) ââââââââââââââââââââââââââââââââââââââââ 728// <video> is handled above by reading the element directly. A Vimeo embed is a 729// CROSS-ORIGIN iframe, so its state is unreadable â but the player reports its own 730// progress over postMessage, and needs NO change to the embed URL. A plainly pasted 731// Vimeo embed becomes measurable as-is. (YouTube is different: it is silent unless 732// enablejsapi=1 is on the URL. Handled separately.) 733// 734// Verified against live players, and two details cost an attempt each: 735// 1. SUBSCRIBE ON THE PLAYER'S ready MESSAGE, not the iframe's load event.
736// Subscribing on load races the player's own init: the addEventListener calls 737// are silently dropped, no ACK comes back, and no timeupdate ever arrives â it 738// looks exactly like "Vimeo does not work". 739// 2. ATTRIBUTE BY e.source, not player_id. Vimeo only echoes a player_id if the 740// embed URL carries one, and a customer's pasted embed has none. 741// 742// Vimeo sends OBJECTS (YouTube sends JSON strings), and timeupdate carries 743// data.percent as a 0..1 fraction, so quartiles need no arithmetic of our own. 744function vimeoHostOk(origin){ 745try{ 746var h=new URL(origin).hostname.toLowerCase(); 747return h==="player.vimeo.com"||h==="vimeo.com"||h.slice(-10)===".vimeo.com"; 748}catch(e){return false;} 749} 750// Low-cardinality, non-identifying label: the numeric video id off the embed URL, 751// prefixed so it cannot collide with a <video> filename in the tally. 752function vimeoLabel(f){ 753try{ 754var m=(f.getAttribute("src")||"").match(/vimeo\.com\/video\/(\d+)/); 755return m?"vimeo:"+m[1]:"vimeo"; 756}catch(e){return "vimeo";} 757} 758function vimeoFrameFor(src){ 759try{ 760var fr=document.querySelectorAll("iframe"); 761for(var i=0;i<fr.length;i++){if(fr[i].contentWindow===src)return fr[i];} 762}catch(e){} 763return null; 764} 765function vimeoSubscribe(f){ 766try{ 767var w=f.contentWindow; 768var evs=["play","timeupdate","ended"]; 769for(var i=0;i<evs.length;i++)w.postMessage({method:"addEventListener",value:evs[i]},"*"); 770}catch(e){} 771} 772window.addEventListener("message",function(e){ 773try{ 774if(!vimeoHostOk(e.origin))return; 775var d=e.data; 776if(!d||typeof d!=="object")return; 777var f=vimeoFrameFor(e.source); 778if(!f)return; 779if(d.event==="ready"){vimeoSubscribe(f);return;} 780var id=vimeoLabel(f); 781if(d.event==="play"){ 782// Same intent rule as <video>, minus the muted check we cannot read through an 783// iframe: browser policy only permits unprompted autoplay while MUTED, so 784// "playback began before the visitor touched anything" is the decorative case. 785if(!userGestured)return; 786f.__hpEmbedCounted=1; 787microEvent("video_start",id); 788return; 789} 790if(f.__hpEmbedCounted!==1)return; 791if(d.event==="timeupdate"){ 792var pct=d.data&&typeof d.data.percent==="number"?d.data.percent*100:-1; 793if(pct<0)return; 794if(pct>=25)microEvent("video_p25",id); 795if(pct>=50)microEvent("video_p50",id); 796if(pct>=75)microEvent("video_p75",id); 797// p100 comes from 'ended', as with <video>: the last timeupdate lands short. 798}else if(d.event==="ended"){ 799microEvent("video_p25",id);microEvent("video_p50",id);microEvent("video_p75",id);microEvent("video_p100",id); 800} 801}catch(err){} 802}); 803 804// âââ Embedded video: YouTube (HP-3461) ââââââââââââââââââââââââââââââââââââââ 805// YouTube is SILENT unless the embed URL carries enablejsapi=1 â verified live: a 806// plain embed answers nothing, even if we send it the handshake. So this listener 807// only hears players whose URL has that flag; adding it to customer HTML at serve 808// time is a separate commit, deliberately, because that mutates what visitors load. 809// 810// With the flag, the protocol is: post a listening message, then the player streams 811// infoDelivery with playerState, currentTime and duration. 812// 813// The handshake repeats on a timer, and the honest reason is that it catches frames 814// that appear after load (a tab, an accordion, a script-mounted embed). Whether a 815// player also STOPS streaming when we stop asking was not established: repeats are 816// answered "alreadyInitialized", which suggests the first one is what arms it. The 817// polling stays because the version with polling is the one verified to work end to 818// end, and trading that for an unverified optimisation would risk silently losing 819// every embed metric. The steady-state cost is one postMessage per api-enabled 820// frame every 2s. 821// 822// Unlike Vimeo, YouTube sends JSON STRINGS, so the payload needs parsing before it 823// looks like anything. 824// 825// playerState is YouTube's enum: -1 unstarted, 0 ended, 1 playing, 2 paused, 826// 3 buffering, 5 cued. 827function ytHostOk(origin){ 828try{ 829var h=new URL(origin).hostname.toLowerCase(); 830return h==="www.youtube.com"||h==="youtube.com"||h==="www.youtube-nocookie.com"||h==="youtube-nocookie.com"; 831}catch(e){return false;} 832} 833function ytLabel(f){ 834try{ 835var m=(f.getAttribute("src")||"").match(/\/embed\/([A-Za-z0-9_-]{11})/); 836return m?"youtube:"+m[1]:"youtube"; 837}catch(e){return "youtube";} 838} 839function ytFrameFor(src){ 840try{ 841var fr=document.querySelectorAll("iframe"); 842for(var i=0;i<fr.length;
842i++){if(fr[i].contentWindow===src)return fr[i];} 843}catch(e){} 844return null; 845} 846// Ask every api-enabled YouTube frame to start reporting, and keep asking. Cheap: a 847// postMessage to a frame that is not a YouTube player is simply ignored. 848function ytListen(){ 849try{ 850var fr=document.querySelectorAll('iframe[src*="enablejsapi=1"]'); 851for(var i=0;i<fr.length;i++){ 852try{fr[i].contentWindow.postMessage('{"event":"listening","id":"hp","channel":"widget"}',"*");}catch(e){} 853} 854}catch(e){} 855} 856setTimeout(ytListen,1200); 857setInterval(ytListen,2000); 858window.addEventListener("message",function(e){ 859try{ 860if(!ytHostOk(e.origin))return; 861var d=e.data; 862// YouTube sends strings; anything else is not its API talking. 863if(typeof d!=="string")return; 864try{d=JSON.parse(d);}catch(x){return;} 865if(!d||typeof d!=="object"||d.event!=="infoDelivery")return; 866var info=d.info; 867if(!info||typeof info!=="object")return; 868var f=ytFrameFor(e.source); 869if(!f)return; 870var id=ytLabel(f); 871var state=info.playerState; 872// Same intent rule as Vimeo and <video>, but YouTube hands us no discrete 'play' 873// event: infoDelivery repeats playerState 1 for the WHOLE of playback. So the 874// decision is made on the TRANSITION into playing and latched there, never 875// re-read. Re-reading it is precisely the bug decidePlay documents, and it is 876// reachable here in a way it is not for <video>: a muted autoplay is correctly 877// suppressed, then one unrelated trusted click (the form, alt-tab, a screenshot) 878// flips userGestured and the next state-1 update promotes a video nobody chose 879// into a counted play, quartiles and all. Latching on the transition also keeps 880// the <video> semantics that a chosen REPLAY after a decorative autoplay counts, 881// because that arrives as 2 then 1. 882var prev=f.__hpYtPrev; 883f.__hpYtPrev=state; 884if(state===1&&prev!==1){ 885f.__hpEmbedCounted=userGestured?1:0; 886if(f.__hpEmbedCounted===1)microEvent("video_start",id); 887} 888if(f.__hpEmbedCounted!==1)return; 889if(state===0){ 890// Ended implies every quartile, even if a throttled tab skipped an update. 891microEvent("video_p25",id);microEvent("video_p50",id);microEvent("video_p75",id);microEvent("video_p100",id); 892return; 893} 894var dur=info.duration,cur=info.currentTime; 895// A live stream reports duration 0, and a quartile of an unknown length is 896// meaningless â report the play and nothing more. 897if(typeof dur!=="number"||typeof cur!=="number"||!isFinite(dur)||dur<=0)return; 898var pct=(cur/dur)*100; 899if(pct>=25)microEvent("video_p25",id); 900if(pct>=50)microEvent("video_p50",id); 901if(pct>=75)microEvent("video_p75",id); 902// p100 comes from playerState 0, not a threshold: the final update lands short. 903}catch(err){} 904}); 905// SYNC-END embed-video-listeners 906document.addEventListener("ended",function(e){ 907var v=e.target; 908if(!v||v.tagName!=="VIDEO")return; 909if(!countedPlay(v))return; 910var id=videoId(v); 911// Watched to the end implies every quartile, even if a throttled background tab 912// skipped a timeupdate. 913microEvent("video_p25",id);microEvent("video_p50",id);microEvent("video_p75",id);microEvent("video_p100",id); 914},true); 915 916// âââ Scheduler widgets (HP-3461 phase 3) ââââââââââââââââââââââââââââââââââââ 917// An inline Calendly/Cal.com embed is a CROSS-ORIGIN iframe, so we cannot see a 918// click inside it â which is why booking_open (a click on an outbound scheduling 919// link) is absent on exactly the pages most likely to take bookings. The widget 920// broadcasts its own progress to the parent window, so we get told instead of 921// guessing. No SDK needed; Calendly posts these regardless. 922// 923// SECURITY: any frame can post a message claiming to be a booking, and this ships 924// on every published page, so the sender's ORIGIN must be a recognised scheduling 925// host AND the message must match the provider's shape. Everything else is ignored. 926// PRIVACY: only WHICH STEP is read. event.data.payload (invitee details on 927// event_scheduled) is never touched. 928// SYNC with app/src/lib/analytics-tracking-script.ts. 929function schedulerOrigin(origin){ 930try{ 931var h=new URL(origin).hostname.toLowerCase(); 932for(var i=0;i<BOOK_HOSTS.length;i++){ 933var b=BOOK_HOSTS[i]; 934if(h===b||h.slice(-(b.length+1))==="."+b)return b; 935} 936}catch(e){} 937return null; 938} 939// calendly.profile_page_viewed is deliberately ignored: it fires for a profile
940// listing rather than a bookable calendar, so it would inflate the funnel's top. 941window.addEventListener("message",function(e){ 942try{ 943var host=schedulerOrigin(e.origin); 944if(!host)return; 945var d=e.data; 946if(!d||typeof d!=="object")return; 947// Calendly's vocabulary reads off d.event and is prefixed; Cal.com's reads off 948// d.type and is not. Verified against live widgets on both, plus Cal.com's own 949// EventDataMap in packages/embeds/embed-core/src/sdk-action-manager.ts. 950// calendly.profile_page_viewed is ignored: it fires for a profile listing rather 951// than a bookable calendar, so it would inflate the top of the funnel. 952// 953// Cal.com HAS NO time-selection event. Its full enum (27 keys) contains nothing for 954// picking a date or slot -- availabilityLoaded and slotsFetched are the widget 955// LOADING options, not a visitor choosing one. So Cal.com reports 2 of the 3 steps, 956// and booking_time_selected is left ABSENT for it rather than synthesised from the 957// booking. Fabricating it would make every Cal.com page show a flat 100% from 958// "selected" to "completed" -- a number that looks measured and is not. Absent 959// already means "not measurable here" everywhere else in this feature (see the 960// video quartiles), and the read side honours that. 961// 962// Emissions are LITERALS, one branch per step, so the sync seam in 963// page-engagement-kinds.test.ts can see them -- it caught booking_completed going 964// unverifiable when this was table-driven. 965var name=typeof d.event==="string"?d.event:(typeof d.type==="string"?d.type:null); 966if(!name)return; 967if(host==="calendly.com"){ 968if(name==="calendly.event_scheduled"){ 969microEvent("booking_viewed",host); 970microEvent("booking_time_selected",host); 971microEvent("booking_completed",host); 972// The booking is the outcome this exists to catch and the visitor usually leaves 973// for the confirmation, so flush rather than wait out the 5s timer. 974flush(); 975}else if(name==="calendly.date_and_time_selected"){ 976microEvent("booking_viewed",host); 977microEvent("booking_time_selected",host); 978}else if(name==="calendly.event_type_viewed"){ 979microEvent("booking_viewed",host); 980} 981}else if(host==="cal.com"){ 982// bookingSuccessfulV2 deprecates bookingSuccessful and both are still in the enum, 983// so accept either -- customers sit on different embed versions. 984if(name==="bookingSuccessfulV2"||name==="bookingSuccessful"){ 985// NOTE: no booking_time_selected here. Cal.com cannot report it. 986microEvent("booking_viewed",host); 987microEvent("booking_completed",host); 988flush(); 989}else if(name==="bookerViewed"){ 990microEvent("booking_viewed",host); 991} 992} 993// No acuityscheduling.com branch, and there never can be one. Its embed script 994// exchanges only sizing/load/scrollTo/scrollBy/gaMeasurementId with the parent and 995// takes a Google Analytics client id INWARD â there is no booking message to hear. 996// Acuity reports outward only through its webhooks (HP-4041's inbound conversion 997// webhook is the route). A branch here would be dead code. See lib/scheduling-hosts. 998// Its origin stays accepted by the gate above, which costs nothing: an origin that 999// never speaks simply never matches. 1000}catch(err){} 1001}); 1002 1003// Consent usually arrives seconds after load, so a bare load listener would 1004// never fire and rum_timing would vanish from every CMP-gated page. The 1005// navigation/paint entries report the same absolute numbers whenever read. 1006function hpRumTiming(){ 1007setTimeout(function(){ 1008try{ 1009var perf=performance.getEntriesByType("navigation")[0]; 1010if(perf){ 1011var ev=makeEvent("rum_timing",{loadTimeMs:Math.round(perf.loadEventEnd-perf.startTime),ttfbMs:Math.round(perf.responseStart-perf.startTime),fcpMs:undefined}); 1012var paintEntries=performance.getEntriesByType("paint"); 1013for(var i=0;i<paintEntries.length;i++){if(paintEntries[i].name==="first-contentful-paint"){ev.payload.fcpMs=Math.round(paintEntries[i].startTime);break;}} 1014buffer.push(ev); 1015} 1016}catch(e){} 1017},2000); 1018} 1019if(document.readyState==="complete")hpRumTiming();else window.addEventListener("load",hpRumTiming); 1020}); 1021})(); 1022</script>
1022<script data-htmlpub-popups> 1023(function(){ 1024"use strict"; 1025 1026var SCOPE = "pathname"; 1027var PAGE_ID = "akdam4vhrug4gtusjvpf2kn3"; 1028 1029var DEFAULTS = { 1030 overlay: { color: "#000000", opacity: 0.5, clickToClose: true }, 1031 close: { enabled: true, position: "top-right", escapeToClose: true }, 1032 animation: { open: "fade", close: "fade", durationMs: 250 }, 1033 frequency: { visitsBefore: 0, daysCooldown: 0 } 1034}; 1035 1036function parseJsonAttr(raw, fallback) { 1037 if (!raw) return fallback; 1038 try { 1039 var p = JSON.parse(raw); 1040 if (p && typeof p === "object") return p; 1041 } catch(e) {} 1042 return fallback; 1043} 1044 1045// Back-compat: pages published before the data-persist-popup* rename carry the 1046// legacy data-htmlpub-popup* names. Read canonical first, fall back to legacy. 1047// suffix is "" for the marker, "-name", "-overlay", "-target", etc. 1048function pAttr(el, suffix) { 1049 var v = el.getAttribute("data-persist-popup" + suffix); 1050 return v !== null ? v : el.getAttribute("data-htmlpub-popup" + suffix); 1051} 1052 1053function readConfig(el) { 1054 var overlay = parseJsonAttr(pAttr(el, "-overlay"), {}); 1055 var closeCfg = parseJsonAttr(pAttr(el, "-close"), {}); 1056 var anim = parseJsonAttr(pAttr(el, "-animation"), {}); 1057 var triggers = parseJsonAttr(pAttr(el, "-triggers"), {}); 1058 var frequency = parseJsonAttr(pAttr(el, "-frequency"), {}); 1059 return { 1060 overlay: { 1061 color: typeof overlay.color === "string" ? overlay.color : DEFAULTS.overlay.color, 1062 opacity: typeof overlay.opacity === "number" ? overlay.opacity : DEFAULTS.overlay.opacity, 1063 clickToClose: overlay.clickToClose !== false 1064 }, 1065 close: { 1066 enabled: closeCfg.enabled !== false, 1067 position: closeCfg.position === "top-left" ? "top-left" : "top-right", 1068 escapeToClose: closeCfg.escapeToClose !== false 1069 }, 1070 animation: { 1071 open: typeof anim.open === "string" ? anim.open : DEFAULTS.animation.open, 1072 close: typeof anim.close === "string" ? anim.close : DEFAULTS.animation.close, 1073 durationMs: typeof anim.durationMs === "number" ? anim.durationMs : DEFAULTS.animation.durationMs 1074 }, 1075 triggers: triggers, 1076 frequency: { 1077 visitsBefore: typeof frequency.visitsBefore === "number" ? frequency.visitsBefore : 0, 1078 daysCooldown: typeof frequency.daysCooldown === "number" ? frequency.daysCooldown : 0 1079 }, 1080 // "none" = the marker's content owns its own chrome, so this runtime paints none of it. 1081 // Migrated Classic pop-ups: the marker holds an <iframe> whose document already draws the 1082 // mask, centring, card and close button. Nova-authored pop-ups never set it. 1083 chrome: pAttr(el, "-chrome") === "none" ? "none" : "default" 1084 }; 1085} 1086 1087// ââ LocalStorage helpers â scoped per pathname so two pages on the same 1088// origin track their popups independently. Wrapped in try/catch because 1089// Safari private mode + iframe sandboxing can throw on access. 1090var STORE_PREFIX = SCOPE === "popup-id" ? "_hpup:popup:" : ("_hpup:" + (location.pathname || "/") + ":"); 1091function lsGet(key) { 1092 try { return localStorage.getItem(STORE_PREFIX + key); } catch(e) { return null; } 1093} 1094function lsSet(key, value) { 1095 try { localStorage.setItem(STORE_PREFIX + key, value); } catch(e) {} 1096} 1097 1098// Bump the visit counter once per pageload. Used by visitsBefore. In embed 1099// (popup-id) scope callers pass the popup id as a suffix so each standalone 1100// popup tracks its own visit count â a busy host page with two embedded popups 1101// must not let one popup's pageviews satisfy another's visitsBefore gate. 1102function recordVisit(suffix) { 1103 var key = "visits" + (suffix ? ":" + suffix : ""); 1104 var prev = parseInt(lsGet(key) || "0", 10); 1105 if (!isFinite(prev) || prev < 0) prev = 0; 1106 lsSet(key, String(prev + 1)); 1107 return prev + 1; 1108} 1109 1110function isEligible(cfg, popupId, currentVisit) { 1111 // visitsBefore: 0 = show on first visit. So eligible iff currentVisit > visitsBefore. 1112 if (cfg.frequency.visitsBefore > 0 && currentVisit <= cfg.frequency.visitsBefore) return false; 1113 // daysCooldown: don't reshow until N days have passed since last close. 1114 if (cfg.frequency.daysCooldown > 0) { 1115 var last = parseInt(lsGet("close:" + popupId) || "0", 10); 1116 if (last > 0) { 1117 var elapsedMs = Date.now() - last; 1118 if (elapsedMs < cfg.frequency.daysCooldown * 86400000) return false;
1119 } 1120 } 1121 return true; 1122} 1123 1124function composeRgba(color, opacity) { 1125 var hex = color.match(/^#([0-9a-f]{6})$/i); 1126 if (hex) { 1127 var n = parseInt(hex[1], 16); 1128 return "rgba(" + ((n >> 16) & 0xff) + "," + ((n >> 8) & 0xff) + "," + (n & 0xff) + "," + opacity + ")"; 1129 } 1130 var rgb = color.match(/^rgb(?:a)?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)/); 1131 if (rgb) return "rgba(" + rgb[1] + "," + rgb[2] + "," + rgb[3] + "," + opacity + ")"; 1132 return "rgba(0,0,0," + opacity + ")"; 1133} 1134 1135function animStart(kind) { 1136 if (kind === "slide-up") return { opacity: 0, transform: "translate(-50%, -40%)" }; 1137 if (kind === "slide-down") return { opacity: 0, transform: "translate(-50%, -60%)" }; 1138 if (kind === "zoom") return { opacity: 0, transform: "translate(-50%, -50%) scale(0.92)" }; 1139 if (kind === "none") return { opacity: 1, transform: "translate(-50%, -50%)" }; 1140 return { opacity: 0, transform: "translate(-50%, -50%)" }; // fade 1141} 1142function animEnd() { 1143 return { opacity: 1, transform: "translate(-50%, -50%) scale(1)" }; 1144} 1145 1146// Body scroll lock â refcounted because two popups can technically be in 1147// the open state at once (different triggers firing back-to-back). The 1148// first lock saves the body's prior overflow + padding-right and replaces 1149// them; subsequent locks just bump the count. We only restore once every 1150// popup that locked has closed, so a still-open popup keeps the page held. 1151// padding-right compensates for the scrollbar disappearing â without it, 1152// the dimmed page behind the overlay shifts right at the moment of open. 1153var _hpupLockCount = 0; 1154var _hpupSavedOverflow = ""; 1155var _hpupSavedPaddingRight = ""; 1156function lockBodyScroll() { 1157 if (_hpupLockCount === 0) { 1158 var scrollbarWidth = window.innerWidth - document.documentElement.clientWidth; 1159 _hpupSavedOverflow = document.body.style.overflow || ""; 1160 _hpupSavedPaddingRight = document.body.style.paddingRight || ""; 1161 if (scrollbarWidth > 0) document.body.style.paddingRight = scrollbarWidth + "px"; 1162 document.body.style.overflow = "hidden"; 1163 } 1164 _hpupLockCount++; 1165} 1166function unlockBodyScroll() { 1167 if (_hpupLockCount === 0) return; 1168 _hpupLockCount--; 1169 if (_hpupLockCount === 0) { 1170 if (_hpupSavedOverflow) document.body.style.overflow = _hpupSavedOverflow; 1171 else document.body.style.removeProperty("overflow"); 1172 if (_hpupSavedPaddingRight) document.body.style.paddingRight = _hpupSavedPaddingRight; 1173 else document.body.style.removeProperty("padding-right"); 1174 } 1175} 1176 1177// Build the overlay backdrop. Returns the element. Wired with the right 1178// pointer behaviour for the popup's clickToClose setting. 1179function buildOverlay(cfg, onOverlayClick) { 1180 var ov = document.createElement("div"); 1181 ov.setAttribute("data-htmlpub-popup-backdrop", ""); 1182 ov.style.cssText = "position:fixed;inset:0;background:" + composeRgba(cfg.overlay.color, cfg.overlay.opacity) + 1183 ";z-index:2147483646;opacity:0;transition:opacity " + cfg.animation.durationMs + "ms ease;"; 1184 if (cfg.overlay.clickToClose) ov.addEventListener("click", onOverlayClick); 1185 return ov; 1186} 1187 1188// Inject a close â button if the popup doesn't already have one. We mark our 1189// injected button so re-show calls don't duplicate it. 1190function ensureCloseButton(el, cfg, onClose) { 1191 if (el.querySelector("[data-htmlpub-popup-close-btn]")) return; 1192 if (!cfg.close.enabled) return; 1193 var btn = document.createElement("button"); 1194 btn.setAttribute("type", "button"); 1195 btn.setAttribute("aria-label", "Close pop-up"); 1196 btn.setAttribute("data-htmlpub-popup-close-btn", ""); 1197 var posStyle = cfg.close.position === "top-left" ? "left:12px;" : "right:12px;"; 1198 btn.style.cssText = "position:absolute;top:12px;" + posStyle + 1199 "width:28px;height:28px;border-radius:9999px;border:0;background:rgba(0,0,0,0.45);color:#fff;" + 1200 "font:16px/1 system-ui,-apple-system,sans-serif;cursor:pointer;display:flex;align-items:center;" + 1201 "justify-content:center;z-index:1;padding:0;"; 1202 btn.textContent = "Ã"; 1203 btn.addEventListener("click", function(e){ e.preventDefault(); e.stopPropagation(); onClose(); }); 1204 // Ensure the popup itself is a positioning context so absolute close button 1205 // anchors to it. Cheap: only sets if not already positioned. 1206 var pos = getComputedStyle(el).position; 1207 if (pos === "static" || !pos) el.style.position = "relative"; 1208 el.appendChild(btn); 1209} 1210 1211// ââ Per-popup wiring ââââââââââââââââââââââââââââââââââââââââââââââââââââââ 1212// Each popup gets its own controller closing over its element + config + 1213// trigger cleanup so we can tear down listeners on close. 1214 1215// HP-1557 â fire an analytics event for this popup. Hands off to the 1216// analytics.ts buffer via window.__hpupPushEvent (registered there). If 1217// analytics isn't loaded for some reason we silently no-op rather than 1218// breaking the popup runtime. 1219function emitPopupEvent(eventType, popup, extras) { 1220 if (typeof window.__hpupPushEvent !== "function") return; 1221 var payload = { 1222 popupId: popup.getAttribute("id") || "", 1223 popupName: (pAttr(popup, "-name") || "").replace(/^\s+|\s+$/g, "") 1224 }; 1225 // Standalone-embed pop-ups carry their page id via data-hp-popup-cuid (set by 1226 // the embed bundle) so analytics can attribute to a specific pop-up; the DOM 1227 // id in popupId is a shared name-slug. In-page pop-ups have no cuid so this 1228 // stays absent. 1229 var _hpCuid = popup.getAttribute("data-hp-popup-cuid"); 1230 if (_hpCuid) payload.popupCuid = _hpCuid; 1231 if (extras && typeof extras === "object") { 1232 for (var k in extras) { 1233 if (Object.prototype.hasOwnProperty.call(extras, k)) payload[k] = extras[k]; 1234 } 1235 } 1236 window.__hpupPushEvent(eventType, payload); 1237} 1238 1239// Single-open invariant: only one popup may be visible at a time. 1240// show() force-closes whatever is up before painting itself. 1241var _hpupCurrentOpen = null; 1242 1243function wirePopup(el, currentVisit) { 1244 var cfg = readConfig(el); 1245 var popupId = el.getAttribute("id") || ""; 1246 if (!popupId) return; 1247 // The editor stores popups hidden via inline display:none. We never strip 1248 // that â we toggle it at show/close time so a never-shown popup stays 1249 // invisible (matching its rendered state in the DOM). 1250 var originalDisplay = el.style.display || ""; 1251 var isOpen = false;
1252 var overlay = null; 1253 var keyListener = null; 1254 var sizeObserver = null; 1255 var cleanups = []; // trigger listener removers; called on first show 1256 1257 function cleanupTriggers() { 1258 for (var i = 0; i < cleanups.length; i++) { 1259 try { cleanups[i](); } catch(e) {} 1260 } 1261 cleanups = []; 1262 } 1263 1264 // Why a popup was opened â informs the parent analytics event so the 1265 // dashboard can distinguish "fired by timer" vs. "explicit user click". 1266 // Updated by callers before show() and reset to null after emit. 1267 var lastShowReason = null; 1268 1269 // HP-4147 â the overflow choice in show() is a measurement, and measurements 1270 // go stale. Content can grow AFTER open: an inline checkout's Stripe Payment 1271 // Element progressively reveals card fields and then a "Save your info" 1272 // section as the buyer types. A popup that opened short (overflow:visible, so 1273 // its shadow paints) and then grows past maxHeight spills below the viewport 1274 // instead of scrolling, and because show() locked the body scroll there is 1275 // nothing left for a touch drag to move â the Pay button becomes unreachable 1276 // and closing + reopening is the only way out (reopening re-runs show(), which 1277 // re-measures against the now-tall content and lands on "auto"). So re-decide 1278 // on every resize â but only ever upgrade to "auto", never back to "visible". 1279 // 1280 // One-way on purpose. Reverting to "visible" when content shrinks back under 1281 // maxHeight sounds harmless (it hands HP-3771 its shadow back) but it 1282 // re-releases horizontal spill that "auto" had been containing, so a wide 1283 // child paints outside the popup over the page, and it discards scrollTop, 1284 // bouncing the buyer to the top of the form. Both were measured in Chromium 1285 // at a Pixel viewport. Staying in "auto" costs only the shadow, and only for 1286 // the rest of an open in which content already exceeded the viewport: "auto" 1287 // paints no scrollbar once content fits again, it merely clips. close() 1288 // strips every inline style, so the next open re-decides from scratch. 1289 function syncOverflow() { 1290 if (!isOpen) return; 1291 // Guarded on a real change. Toggling overflow lays out a scrollbar, which 1292 // resizes content, which re-enters this observer â an unguarded write there 1293 // is a feedback loop that never settles. 1294 if (el.scrollHeight > el.clientHeight + 1 && el.style.overflow !== "auto") { 1295 el.style.overflow = "auto"; 1296 } 1297 } 1298 1299 function observeSize() { 1300 if (sizeObserver || typeof ResizeObserver === "undefined") return; 1301 sizeObserver = new ResizeObserver(syncOverflow); 1302 // Observing el catches the growth that crosses maxHeight, since its own box 1303 // tracks content right up to the clamp. Observing its element children 1304 // catches growth that continues past the clamp, where el's box is pinned and 1305 // reports no resize at all â content 1px under maxHeight that then expands 1306 // would otherwise never re-decide. 1307 sizeObserver.observe(el); 1308 for (var childIndex = 0; childIndex < el.children.length; childIndex++) { 1309 sizeObserver.observe(el.children[childIndex]); 1310 } 1311 } 1312 1313 function unobserveSize() { 1314 if (!sizeObserver) return; 1315 sizeObserver.disconnect(); 1316 sizeObserver = null; 1317 } 1318 1319 function show(reason) { 1320 if (isOpen) return; 1321 if (_hpupCurrentOpen && _hpupCurrentOpen !== el && typeof _hpupCurrentOpen._hpupClose === "function") { 1322 _hpupCurrentOpen._hpupClose("replaced", true); 1323 } 1324 _hpupCurrentOpen = el; 1325 isOpen = true; 1326 lastShowReason = reason || "explicit"; 1327 cleanupTriggers(); 1328 lockBodyScroll(); 1329 // chrome:none â the content paints its own â (Classic's .js-close, inside the iframe). 1330 var bare = cfg.chrome === "none"; 1331 if (!bare) ensureCloseButton(el, cfg, function(){ close("close_button"); }); 1332 1333 var start = animStart(cfg.animation.open); 1334 var end = animEnd(); 1335 1336 // Centered fixed positioning with a high z-index so we float above any 1337 // page content + checkout / chat widgets. 1338 el.style.display = "block"; 1339 el.style.position = "fixed"; 1340 el.style.zIndex = "2147483647"; 1341 1342 if (bare) { 1343 // Full-viewport shell. An <iframe> has no intrinsic content height (~150px, and it never 1344 // reports its content size to the parent), so the shrink-wrapped-card model below cannot 1345 // measure it â centring, the maxHeight/maxWidth clamps and the overflow logic all assume a 1346 // box that sizes to its content. Reproduce CDA's model instead: the frame fills the 1347 // viewport and the Classic document inside owns mask, centring and card. 1348 // 1349 // No transform either: every animStart transform carries translate(-50%,-50%), which 1350 // centres a card and would shove a full-viewport shell off screen. Opacity alone. 1351 el.style.top = "0"; 1352 el.style.left = "0"; 1353 el.style.width = "100%"; 1354 el.style.height = "100%"; 1355 el.style.opacity = String(start.opacity); 1356 el.style.transition = "opacity " + cfg.animation.durationMs + "ms ease"; 1357 openClassicFrame(el); 1358 } else { 1359 el.style.top = "50%"; 1360 el.style.left = "50%"; 1361 el.style.transform = start.transform; 1362 el.style.opacity = String(start.opacity); 1363 el.style.maxHeight = "calc(100vh - 32px)"; 1364 el.style.maxWidth = "calc(100vw - 32px)"; 1365 // HP-3771 â "auto" clips any box-shadow set on the popup's own content: 1366 // box-shadow doesn't affect layout size, so this element shrink-wraps to its 1367 // content and its own overflow then clips the shadow it should cast. 1368 // 1369 // But "visible" unconditionally is not safe either. This element is 1370 // position:fixed and centred, so content taller than maxHeight does not 1371 // clip â it spills past the viewport with no scrollbar and nothing can 1372 // reach it. A lead-capture form taller than the viewport would lose its 1373 // submit button. So decide per popup, after layout: overflow stays "auto" 1374 // only when the content genuinely overflows (scrolling wins), and is 1375 // "visible" otherwise (shadow wins). Short popups are the overwhelmingly 1376 // common case, so the shadow renders for almost everyone. 1377 //
1378 // syncOverflow re-applies this same rule for the rest of the open (HP-4147). 1379 el.style.overflow = "visible"; 1380 syncOverflow(); 1381 el.style.transition = "opacity " + cfg.animation.durationMs + "ms ease, transform " + cfg.animation.durationMs + "ms ease"; 1382 } 1383 1384 if (!el.parentNode) document.body.appendChild(el); 1385 if (!bare) { 1386 // Backdrop. Inserted before the popup so the popup naturally paints on top. 1387 // chrome:none skips it â the Classic document paints its own .js-leadbox-mask, and a second 1388 // backdrop would darken the page twice. 1389 overlay = buildOverlay(cfg, function(){ close("overlay_click"); }); 1390 (el.parentNode || document.body).insertBefore(overlay, el); 1391 1392 // Started only once el is attached, so the observer's first delivery measures 1393 // real geometry rather than the 0x0 of a detached node. 1394 observeSize(); 1395 } 1396 1397 // Force reflow so the next style change animates from start, not jumps. 1398 /* eslint-disable-next-line no-unused-expressions */ void el.offsetWidth; 1399 1400 el.style.opacity = String(end.opacity); 1401 if (!bare) el.style.transform = end.transform; 1402 if (overlay) overlay.style.opacity = "1"; 1403 1404 if (cfg.close.escapeToClose) { 1405 keyListener = function(e) { if (e.key === "Escape") close("escape"); }; 1406 document.addEventListener("keydown", keyListener); 1407 } 1408 1409 emitPopupEvent("popup_view", el, { reason: lastShowReason }); 1410 lastShowReason = null; 1411 } 1412 1413 function close(reason, hard) { 1414 if (!isOpen) return; 1415 isOpen = false; 1416 emitPopupEvent("popup_dismiss", el, { reason: reason || "unknown" }); 1417 var start = animStart(cfg.animation.close); 1418 el.style.opacity = String(start.opacity); 1419 // Same reason as show(): the close transform centres a card, and applying it to a 1420 // full-viewport shell would slide it off screen instead of fading it out. 1421 if (cfg.chrome !== "none") el.style.transform = start.transform; 1422 if (overlay) overlay.style.opacity = "0"; 1423 1424 if (keyListener) { 1425 document.removeEventListener("keydown", keyListener); 1426 keyListener = null; 1427 } 1428 1429 var afterAnim = function() { 1430 if (_hpupCurrentOpen === el) _hpupCurrentOpen = null; 1431 unobserveSize(); 1432 el.style.display = originalDisplay || "none"; 1433 el.style.removeProperty("position"); 1434 el.style.removeProperty("top"); 1435 el.style.removeProperty("left"); 1436 el.style.removeProperty("transform"); 1437 el.style.removeProperty("opacity"); 1438 el.style.removeProperty("z-index"); 1439 el.style.removeProperty("max-height"); 1440 el.style.removeProperty("max-width"); 1441 // Only the chrome:none branch sets these, and teardown must remove exactly what this show 1442 // set â a marker can legitimately carry an author's own inline width/height, and stripping 1443 // it on close would resize the pop-up the second time it opens. 1444 if (cfg.chrome === "none") { 1445 el.style.removeProperty("width"); 1446 el.style.removeProperty("height"); 1447 } 1448 el.style.removeProperty("overflow"); 1449 el.style.removeProperty("transition"); 1450 if (overlay && overlay.parentNode) overlay.parentNode.removeChild(overlay); 1451 overlay = null; 1452 // Tear down the close button â its click handler closes over THIS 1453 // show's overlay reference. Leaving it across opens means a second 1454 // show's X would call the previous close() with a stale overlay and 1455 // leave the current overlay floating. 1456 var existingBtn = el.querySelector("[data-htmlpub-popup-close-btn]"); 1457 if (existingBtn && existingBtn.parentNode) existingBtn.parentNode.removeChild(existingBtn); 1458 // Release the scroll lock only after the popup is fully torn down so 1459 // the page doesn't pop back to scrollable while the close animation 1460 // is still painting. 1461 unlockBodyScroll(); 1462 lsSet("close:" + popupId, String(Date.now())); 1463 }; 1464 if (hard || cfg.animation.close === "none") afterAnim(); 1465 else setTimeout(afterAnim, cfg.animation.durationMs); 1466 } 1467 1468 // ââ Triggers ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ 1469 // Only wire if the popup is eligible to show this pageload (frequency 1470 // rules). Click-to-open via [data-htmlpub-popup-target] always works, 1471 // regardless of eligibility â it's an explicit user action. 1472 var eligible = isEligible(cfg, popupId, currentVisit); 1473 1474 if (eligible) { 1475 var t = cfg.triggers || {}; 1476
1477 if (t.timed && typeof t.timed.delaySec === "number") { 1478 var delayMs = Math.max(0, t.timed.delaySec) * 1000; 1479 var timer = setTimeout(function(){ show("timed"); }, delayMs); 1480 cleanups.push(function(){ clearTimeout(timer); }); 1481 } 1482 1483 if (t.exitIntent === true) { 1484 // Mobile / touch devices don't have a meaningful "exit toward chrome" 1485 // gesture. Standard heuristic: skip if no mouse pointer is available. 1486 if (!matchMedia("(pointer: coarse)").matches) { 1487 var onMove = function(e) { 1488 if (e.clientY < 8) show("exit_intent"); 1489 }; 1490 document.addEventListener("mousemove", onMove); 1491 cleanups.push(function(){ document.removeEventListener("mousemove", onMove); }); 1492 } 1493 } 1494 1495 if (typeof t.scrollPercent === "number" && t.scrollPercent > 0) { 1496 var threshold = Math.max(1, Math.min(100, t.scrollPercent)); 1497 var onScroll = function() { 1498 var doc = document.documentElement; 1499 var scrolled = (window.scrollY || doc.scrollTop || 0); 1500 var max = (doc.scrollHeight - doc.clientHeight) || 1; 1501 var pct = (scrolled / max) * 100; 1502 if (pct >= threshold) show("scroll"); 1503 }; 1504 window.addEventListener("scroll", onScroll, { passive: true }); 1505 cleanups.push(function(){ window.removeEventListener("scroll", onScroll); }); 1506 } 1507 } 1508 1509 // Note: in-popup form submits and CTA clicks are NOT emitted as separate 1510 // popup_* events. They already fire as form_submit / element_click via 1511 // analytics.ts's global listeners, which now attach popupId + popupName 1512 // to the payload so customers can still see which pop-up the conversion 1513 // came from while continuing to track the standard goal types. 1514 1515 // Expose the show function on the element so [data-htmlpub-popup-target] 1516 // clicks (wired globally below) can find and trigger it without re-parsing 1517 // the config. _hpupShow / _hpupClose are deliberately namespaced + ugly to 1518 // avoid colliding with user code. 1519 el._hpupShow = show; 1520 el._hpupClose = close; 1521 // Returned so boot() can flush unfired trigger listeners on pagehide. 1522 return cleanupTriggers; 1523} 1524 1525// A served Classic leadbox renders INACTIVE: its controller only adds js-active to the dialog 1526// and mask when it receives an "open" message, so a frame nobody tells to open is a full-viewport 1527// sheet showing nothing. 1528// 1529// TWO WIRE FORMATS, because there are two leadbox builds in the corpus and they do NOT agree â 1530// measured across all 462 live clones on 2026-09-09, not inferred from one of them (D71): 1531// 1532// · newer build (410 of 462): a handleMessage controller that accepts EITHER the bare string 1533// "open" or {type:"open"}. 1534// · OLDER build (52 of 462): a hand-rolled listener whose whole test is 1535// window.addEventListener('message', function(e){ e && e.data && 'open' === e.data && j.open() }) 1536// read verbatim out of the served bundle. The test 'open' === e.data is a STRING identity check, so 1537// an object payload fails it silently and that pop-up never opens. 1538// 1539// This function used to post ONLY {type:"open"}, and the comment here used to assert both builds 1540// took it. They do not: every old-build pop-up rendered a full-viewport dark sheet with an 1541// invisible modal â no error, no console message, and zero lead capture. So post BOTH forms. The 1542// duplicate is harmless in each direction: the old build ignores the object, and the newer one's 1543// open() just re-adds the class and refocuses. 1544// 1545// The string form is also what Classic's own embed.js sent, which is why the defect stayed hidden 1546// on the two pages that still carried embed.js â its copy opened correctly beside our blank one. 1547// (The close relay below had this right already: it reads Classic's bare-string "close leadbox" 1548// off the wire. Open is the direction that was guessed.) 1549// 1550// Posted on both paths because the ordering is not ours to control: if the frame is already 1551// loaded the immediate post lands, and if it is not, the load listener catches it. Opening twice 1552// is harmless â open() just re-adds the class and refocuses. 1553function openClassicFrame(el) { 1554 var frame = el.querySelector("iframe"); 1555 if (!frame) return; 1556 var post = function() { 1557 // targetOrigin "*": the frame is served sandboxed, so its origin is opaque and cannot be 1558 // named. The payload is a bare open signal carrying nothing worth protecting. 1559 try { 1560 if (!frame.contentWindow) return; 1561 // String FIRST: it is the format the old build needs, and the one that was missing. 1562 frame.contentWindow.postMessage("open", "*"); 1563 frame.contentWindow.postMessage({ type: "open" }, "*"); 1564 } catch(e) {} 1565 }; 1566 post(); 1567 frame.addEventListener("load", post); 1568} 1569 1570// Global close relay. A chrome:none pop-up's â lives INSIDE its iframe (Classic's .js-close), so 1571// the click is invisible to this document â the frame posts htmlpub:leadbox-close instead and we 1572// close the marker holding it. Without this the Classic card hides itself and the full-viewport 1573// iframe stays put, covering the page with an invisible sheet that swallows every click. 1574// 1575// Identify the marker by matching iframe.contentWindow against e.source, NOT by the message's 1576// uuid: a page can carry several migrated pop-ups, and a uuid can be placed more than once. This 1577// is the technique CDA's own injected handler used. 1578function handleCloseRelay(e) { 1579 if (!e || !e.data) return; 1580 // Classic's own leadbox controller posts the bare STRING "close leadbox" to window.parent when 1581 // it closes (300ms after the fade, from its close() method) â read out of the served bundle, not 1582 // guessed. It is already the wire format, so nothing needs injecting into the frame. The 1583 // namespaced form is accepted too, for anything we serve ourselves later. 1584 var type = typeof e.data === "string" ? e.data : e.data.type; 1585 if (type !== "close leadbox" && type !== "htmlpub:leadbox-close") return; 1586 var frames = document.querySelectorAll("[data-persist-popup] iframe, [data-htmlpub-popup] iframe"); 1587 for (var i = 0; i < frames.length; i++) { 1588 if (frames[i].contentWindow !== e.source) continue; 1589 var marker = frames[i].closest("[data-persist-popup], [data-htmlpub-popup]"); 1590 if (marker && typeof marker._hpupClose === "function") marker._hpupClose("close_relay"); 1591 return; 1592 } 1593} 1594 1595// The migrated pop-up runs in a sandboxed cross-origin iframe and cannot read this page's anal
1595ytics 1596// session/visitor ids (opaque origin blocks its storage). Hand them over when the in-frame capture 1597// script asks â matching e.source to one of our own pop-up iframes so we only answer our own frames. 1598// The ids exist only once analytics consent has minted them, so with no consent nothing is sent and 1599// the ingest keeps the lead but skips the conversion event (there is no page_view session to join). 1600// The page id rides along either way, so the lead files under the page that was served, whatever 1601// URL the browser reports. 1602function handleSessionReq(e) { 1603 if (!e || !e.data || e.data.type !== "hp-popup-session-req" || !e.source) return; 1604 var frames = document.querySelectorAll("[data-persist-popup] iframe, [data-htmlpub-popup] iframe"); 1605 var mine = false; 1606 for (var i = 0; i < frames.length; i++) { if (frames[i].contentWindow === e.source) { mine = true; break; } } 1607 if (!mine) return; 1608 var sid = null, vid = null; 1609 try { sid = sessionStorage.getItem("_hp_sid"); } catch(err) {} 1610 try { vid = localStorage.getItem("_hp_vid"); } catch(err) {} 1611 try { e.source.postMessage({ type: "hp-popup-session", sid: sid, vid: vid, pid: PAGE_ID }, "*"); } catch(err) {} 1612} 1613 1614// A migrated pop-up's thank-you redirect. Its frame is sandboxed with no top-navigation grant, so 1615// after capturing the lead its script asks this page to navigate. Only the clone frame the page 1616// rewrite emits may ask (an /api/serve-classic-popup/ src, absolute when the WordPress plugin 1617// re-serves the page) â not any iframe a pop-up holds, or a third-party embed could send the visitor 1618// anywhere. The src is the page's own markup, which the framed party cannot change. Only an absolute 1619// http(s) URL is followed. The 1620// ack tells the frame not to fall back to opening the page inside itself. In-page only: the embed 1621// bundle hosts native pop-ups on third-party sites, never a migrated clone. 1622function handleRedirectRelay(e) { 1623 if (!e || !e.data || e.data.type !== "hp-popup-redirect" || !e.source) return; 1624 var url = typeof e.data.url === "string" ? e.data.url : ""; 1625 try { var proto = new URL(url).protocol; if (proto !== "http:" && proto !== "https:") return; } catch(err) { return; } 1626 var frames = document.querySelectorAll("[data-persist-popup] iframe, [data-htmlpub-popup] iframe"); 1627 var mine = false; 1628 for (var i = 0; i < frames.length; i++) { 1629 if (frames[i].contentWindow !== e.source) continue; 1630 try { mine = new URL(frames[i].getAttribute("src") || "", location.href).pathname.indexOf("/api/serve-classic-popup/") === 0; } catch(err) {} 1631 break; 1632 } 1633 if (!mine) return; 1634 try { e.source.postMessage({ type: "hp-popup-redirect-ack" }, "*"); } catch(err) {} 1635 window.location.href = url; 1636} 1637 1638// Classic's leadbox.js appended the host page's query string to the pop-up iframe's URL, and the 1639// cloned pop-up still reads it from inside the frame: Classic's own URL-parameter hidden fields 1640// (LpInputReact data-url) and customers' scripts that copy location.href into a field for ad 1641// attribution (utm_* and fbclid were lost after migration). The rewrite emits a static src, so hand 1642// the frame the page's query here. Setting src reloads a frame that is still hidden, which nobody 1643// sees; the open post re-fires on its load. Only migrated clone frames â a native pop-up's iframe is 1644// the customer's own embed. A param the frame already carries wins, and the two the serve route 1645// reads itself are never forwarded: b picks the keyspace, fragment=1 turns lead capture off. 1646// Each pair is carried over as the page's raw bytes, not re-serialized: Classic appended 1647// location.search verbatim, and a script that copies location.href would otherwise see %20 turn 1648// into + and similar. 1649var CLASSIC_SERVE_PARAMS = { b: 1, fragment: 1 }; 1650function forwardHostQuery(popups) { 1651 var search = ""; 1652 try { search = window.location.search || ""; } catch(err) {} 1653 if (search.length < 2) return; 1654 var pairs = search.slice(1).split("&"); 1655 for (var i = 0; i < popups.length; i++) { 1656 var frame = popups[i].querySelector("iframe"); 1657 if (!frame) continue; 1658 var src = frame.getAttribute("src") || ""; 1659 try { 1660 var u = new URL(src, location.href); 1661 if (u.pathname.indexOf("/api/serve-classic-popup/") !== 0) continue; 1662 var kept = []; 1663 for (var j = 0; j < pairs.length; j++) { 1664 if (!pairs[j]) continue; 1665 var k = pairs[j].split("=")[0].split("+").join(" "); 1666 try { k = decodeURIComponent(k); } catch(err) {} 1667 if (u.searchParams.has(k) || Object.prototype.hasOwnProperty.call(CLASSIC_SERVE_PARAMS, k)) continue; 1668 kept.push(pairs[j]); 1669 } 1670 if (!kept.length) continue; 1671 var hashAt = src.indexOf("#"); 1672 var base = hashAt < 0 ? src : src.slice(0, hashAt); 1673 var sep = base.indexOf("?") < 0 ? "?" : (/[?&]$/.test(base) ? "" : "&"); 1674 frame.setAttribute("src", base + sep + kept.join("&") + (hashAt < 0 ? "" : src.slice(hashAt))); 1675 } catch(err) {} 1676 } 1677} 1678
1679// Global click-to-open dispatcher. Targets carry [data-persist-popup-target] 1680// (or legacy [data-htmlpub-popup-target]) or href="#popup-â¦" (for plain anchors 1681// that the link picker auto-generated). 1682// 1683// HP-6393 fallback: a migrated Classic trigger whose only popup attribute is 1684// [data-leadbox-popup=UUID] resolves to the migrated-popup container id 1685// classic-popup-UUID, so a trigger that lost its Nova attribute during 1686// migration (or whose rewriter pass predated data-persist-popup-target being 1687// the primary attr) still opens the right popup through this runtime. The 1688// CDA inlined click handler also fires on [data-leadbox-popup] but looks up 1689// lp-classic-box-UUID, which does not exist on migrated pages, so its show() 1690// is a no-op there and Nova owns the open deterministically. On pages where 1691// the Nova attribute IS present pAttr(hit, "-target") wins first, so no 1692// double-open path is introduced for the common shape. 1693function handleTargetClick(e) { 1694 var t = e.target; 1695 if (!t || !t.closest) return; 1696 var hit = t.closest("[data-persist-popup-target], [data-htmlpub-popup-target], [data-leadbox-popup], a[href^='#popup-'], a[href^='#modal-'], a[href^='#dialog-']"); 1697 if (!hit) return; 1698 var id = pAttr(hit, "-target"); 1699 if (!id) { 1700 var href = hit.getAttribute("href") || ""; 1701 if (href.charAt(0) === "#") id = href.slice(1); 1702 } 1703 if (!id) { 1704 var lbUuid = hit.getAttribute("data-leadbox-popup"); 1705 if (lbUuid) id = "classic-popup-" + lbUuid; 1706 } 1707 if (!id) return; 1708 var popup = document.getElementById(id); 1709 if (!popup || pAttr(popup, "") === null) return; 1710 e.preventDefault(); 1711 if (typeof popup._hpupShow === "function") popup._hpupShow("click_target"); 1712} 1713 1714// ââ Boot ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ 1715 1716function flushTeardowns(list) { 1717 for (var j = 0; j < list.length; j++) { 1718 try { list[j](); } catch(e) {} 1719 } 1720} 1721 1722function boot() { 1723 if (SCOPE === "popup-id") { 1724 // Embed mode: each standalone popup ships its OWN copy of this runtime, so 1725 // a single global boot guard would make a second embedded popup bail. Wire 1726 // each popup once via a per-element marker, count visits per popup id, and 1727 // attach the global click / pagehide listeners only once across copies. 1728 var list = document.querySelectorAll("[data-persist-popup],[data-htmlpub-popup]"); 1729 if (!list.length) return; 1730 if (!window.__hpupTeardowns) window.__hpupTeardowns = []; 1731 for (var n = 0; n < list.length; n++) { 1732 var pel = list[n]; 1733 if (pel.__hpupWired) continue; 1734 pel.__hpupWired = true; 1735 var pt = wirePopup(pel, recordVisit(pel.getAttribute("id") || "")); 1736 if (typeof pt === "function") window.__hpupTeardowns.push(pt); 1737 } 1738 if (!window.__hpupClickWired) { 1739 window.__hpupClickWired = true; 1740 document.addEventListener("click", handleTargetClick, false); 1741 window.addEventListener("message", handleCloseRelay, false); 1742 window.addEventListener("message", handleSessionReq, false); 1743 window.addEventListener("pagehide", function(){ flushTeardowns(window.__hpupTeardowns || []); }); 1744 } 1745 return; 1746 } 1747 1748 // In-page mode: one runtime per page wires every popup. Guard against 1749 // double-injection (HMR, accidental double-include). 1750 if (window.__hpupBooted) return; 1751 window.__hpupBooted = true; 1752 var popups = document.querySelectorAll("[data-persist-popup],[data-htmlpub-popup]"); 1753 if (!popups.length) return; 1754 forwardHostQuery(popups); 1755 var visit = recordVisit(); 1756 var teardowns = []; 1757 for (var i = 0; i < popups.length; i++) { 1758 var t = wirePopup(popups[i], visit); 1759 if (typeof t === "function") teardowns.push(t); 1760 } 1761 document.addEventListener("click", handleTargetClick, false); 1762 window.addEventListener("message", handleCloseRelay, false); 1763 window.addEventListener("message", handleSessionReq, false); 1764 window.addEventListener("message", handleRedirectRelay, false); 1765 // Flush unfired trigger listeners on pagehide. 1766 window.addEventListener("pagehide", function(){ flushTeardowns(teardowns); }); 1767} 1768 1769if (document.readyState === "loading") { 1770 document.addEventListener("DOMContentLoaded", boot); 1771} else { 1772 boot(); 1773} 1774 1775})(); 1776</script>
1776<script data-htmlpub-countdown-runtime> 1777(function(){ 1778var nodes=document.querySelectorAll('[data-htmlpub-countdown]'); 1779if(!nodes.length)return; 1780function pad(n){n=String(n);return n.length<2?'0'+n:n;} 1781function hpcdParts(ms,tz){try{var f=new Intl.DateTimeFormat('en-US',{timeZone:tz,hour12:false,year:'numeric',month:'2-digit',day:'2-digit',hour:'2-digit',minute:'2-digit',second:'2-digit'}).formatToParts(new Date(ms));var o={};for(var i=0;i<f.length;i++){if(f[i].type!=='literal')o[f[i].type]=parseInt(f[i].value,10);}if(o.hour===24)o.hour=0;return o;}catch(e){return null;}} 1782function hpcdOffset(ms,tz){var p=hpcdParts(ms,tz);if(!p)return 0;return Date.UTC(p.year,p.month-1,p.day,p.hour,p.minute,p.second)-Math.floor(ms/1000)*1000;} 1783function hpcdWall(y,mo,d,h,mi,s,tz){var g=Date.UTC(y,mo,d,h,mi,s);var a=g-hpcdOffset(g,tz);var b=g-hpcdOffset(a,tz);var p=hpcdParts(b,tz);var w=new Date(g);if(p&&(p.year!==w.getUTCFullYear()||p.month!==w.getUTCMonth()+1||p.day!==w.getUTCDate()||p.hour!==w.getUTCHours()||p.minute!==w.getUTCMinutes()))return Math.max(a,b);return b;} 1784function hpcdRoll(t,rep,tz,now){if(t>now||(rep!=='daily'&&rep!=='weekly'&&rep!=='monthly'))return t;if(!hpcdParts(t,tz))tz='UTC';var p=hpcdParts(t,tz);if(!p)return t;var step=rep==='weekly'?7:1;var n,c,g=0;if(rep==='monthly'){var q=hpcdParts(now,tz)||p;n=Math.max(1,(q.year-p.year)*12+(q.month-p.month)-1);}else{n=Math.max(1,Math.floor((now-t)/(step*86400000)));} 1785for(;g<500;g++,n++){if(rep==='monthly'){var mi=p.month-1+n;var y=p.year+Math.floor(mi/12);var mo=mi%12;var dim=new Date(Date.UTC(y,mo+1,0)).getUTCDate();c=hpcdWall(y,mo,Math.min(p.day,dim),p.hour,p.minute,p.second,tz);}else{c=hpcdWall(p.year,p.month-1,p.day+n*step,p.hour,p.minute,p.second,tz);}if(c>now)return c;}return t;} 1786var flipCss=false; 1787function ensureFlipCss(){if(flipCss)return;flipCss=true;try{var st=document.createElement('style');st.setAttribute('data-htmlpub-countdown-anim','');st.textContent='@keyframes hpcdFlip{0%{transform:perspective(400px) rotateX(-90deg);opacity:.25}100%{transform:none;opacity:1}}.hpcd-flip{animation:hpcdFlip .4s ease-out}';(document.head||document.documentElement).appendChild(st);}catch(e){}} 1788function ensureEndCss(){try{if(document.querySelector('style[data-htmlpub-countdown-end]'))return;var st=document.createElement('style');st.setAttribute('data-htmlpub-countdown-end','');st.textContent='[data-persist-countdown-end="show"]:not([data-hp-cd-ended]){display:none!important}[data-persist-countdown-end="hide"][data-hp-cd-ended]{display:none!important}';(document.head||document.documentElement).appendChild(st);}catch(e){}} 1789function endTargets(node){var ref=node.getAttribute('data-persist-countdown-ref');var all=document.querySelectorAll('[data-persist-countdown-end]');var out=[];for(var i=0;i<all.length;i++){var f=all[i].getAttribute('data-persist-countdown-for');if(f?f===ref:nodes.length===1)out.push(all[i]);}return out;} 1790function applyEnd(node){if(node.getAttribute('data-htmlpub-countdown')==='fixed'&&node.getAttribute('data-persist-countdown-repeat')&&!node.getAttribute('data-redirect'))return;var t=endTargets(node);for(var i=0;i<t.length;i++)t[i].setAttribute('data-hp-cd-ended','');} 1791if(document.querySelector('[data-persist-countdown-end]'))ensureEndCss(); 1792function setDigit(root,sel,val,flip){var el=root.querySelector(sel);if(!el)return;var t=pad(val);if(el.textContent===t)return;el.textContent=t;if(flip){el.classList.remove('hpcd-flip');void el.offsetWidth;el.classList.add('hpcd-flip');}} 1793function tick(node,endMs){ 1794var diff=Math.max(0,endMs-Date.now()); 1795var fmt=node.getAttribute('data-persist-countdown-format'); 1796var flip=node.getAttribute('data-persist-countdown-anim')==='flip'; 1797var s=Math.floor(diff/1000); 1798var d=0,h=0; 1799if(fmt!=='hms'&&fmt!=='ms'){d=Math.floor(s/86400);s-=d*86400;} 1800if(fmt!=='ms'){h=Math.floor(s/3600);s-=h*3600;} 1801var m=Math.floor(s/60);s-=m*60; 1802setDigit(node,'.countdown-days',d,flip); 1803setDigit(node,'.countdown-hours',h,flip); 1804setDigit(node,'.countdown-minutes',m,flip); 1805setDigit(node,'.countdown-seconds',s,flip); 1806if(diff===0){ 1807applyEnd(node); 1808var redirect=node.getAttribute('data-redirect'); 1809var inFrame=false;try{inFrame=window!==window.top;}catch(e){inFrame=true;} 1810if(redirect&&!inFrame){try{window.location.href=redirect;}catch(e){}} 1811return true; 1812} 1813return false;
1814} 1815function endMsFor(node){ 1816var mode=node.getAttribute('data-htmlpub-countdown'); 1817if(mode==='fixed'){ 1818var target=node.getAttribute('data-target'); 1819var t=target?Date.parse(target):NaN; 1820if(isNaN(t))return 0; 1821var rep=node.getAttribute('data-persist-countdown-repeat'); 1822return rep?hpcdRoll(t,rep,node.getAttribute('data-persist-countdown-tz')||'UTC',Date.now()):t; 1823} 1824if(mode==='evergreen'){ 1825var dur=parseInt(node.getAttribute('data-duration')||'0',10); 1826if(!dur)return 0; 1827var idx=Array.prototype.indexOf.call(nodes,node); 1828var base='htmlpub_cd_'+(node.getAttribute('data-persist-countdown-id')||node.id||(location.pathname+'|'+dur+'|'+idx)); 1829var ver=parseInt(node.getAttribute('data-persist-countdown-reset')||'0',10)||0; 1830var key=ver>0?base+'|v'+ver:base; 1831var per=parseInt(node.getAttribute('data-persist-countdown-cycle')||'0',10)||0; 1832var cyc=0; 1833if(per>0){var anc=parseInt(node.getAttribute('data-persist-countdown-anchor')||'0',10)||0;cyc=Math.max(0,Math.floor((Date.now()/1000-anc)/per));} 1834if(cyc>0)key+='|c'+cyc; 1835if(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){}} 1836if(cyc>0){try{for(var ci=localStorage.length-1;ci>=0;ci--){var ck=localStorage.key(ci);if(!ck||ck.indexOf(base)!==0)continue;var cm=/^(?:\|v([0-9]+))?(?:\|c([0-9]+))?$/.exec(ck.slice(base.length));if(!cm)continue;if((cm[1]?parseInt(cm[1],10):0)===ver&&(cm[2]?parseInt(cm[2],10):0)<cyc)localStorage.removeItem(ck);}}catch(e){}} 1837var first=null; 1838try{first=localStorage.getItem(key);}catch(e){} 1839if(!first){first=String(Date.now());try{localStorage.setItem(key,first);}catch(e){}} 1840return parseInt(first,10)+dur*1000; 1841} 1842return 0; 1843} 1844function run(node){ 1845var endMs=endMsFor(node); 1846if(!endMs)return; 1847if(node.getAttribute('data-persist-countdown-anim')==='flip')ensureFlipCss(); 1848var repeats=node.getAttribute('data-htmlpub-countdown')==='fixed'&&!!node.getAttribute('data-persist-countdown-repeat')&&!node.getAttribute('data-redirect'); 1849if(tick(node,endMs)&&!repeats)return; 1850var iv=setInterval(function(){if(tick(node,endMs)){if(repeats){endMs=endMsFor(node);}else{clearInterval(iv);}}},1000); 1851} 1852for(var i=0;i<nodes.length;i++){(function(node){ 1853if(node.getAttribute('data-htmlpub-countdown')==='fixed'&&node.getAttribute('data-persist-countdown-hide-before')==='1'){ 1854var st=Date.parse(node.getAttribute('data-persist-countdown-start')||''); 1855if(!isNaN(st)&&st>Date.now()){ 1856var shown=node.style.display;node.style.display='none'; 1857var wait=setInterval(function(){if(Date.now()>=st){clearInterval(wait);node.style.display=shown;run(node);}},1000); 1858return; 1859} 1860} 1861run(node); 1862})(nodes[i]);} 1863})(); 1864</script>
1864<script data-text-anim-runtime> 1865(function(){ 1866var nodes=document.querySelectorAll('[data-persist-text-anim]'); 1867if(!nodes.length)return; 1868try{if(window.matchMedia('(prefers-reduced-motion: reduce)').matches)return;}catch(e){} 1869var KEYFRAMES={ 1870fadeIn:[{opacity:0},{opacity:1}], 1871slideUp:[{opacity:0,transform:'translateY(32px)'},{opacity:1,transform:'translateY(0)'}], 1872slideDown:[{opacity:0,transform:'translateY(-32px)'},{opacity:1,transform:'translateY(0)'}], 1873slideLeft:[{opacity:0,transform:'translateX(32px)'},{opacity:1,transform:'translateX(0)'}], 1874slideRight:[{opacity:0,transform:'translateX(-32px)'},{opacity:1,transform:'translateX(0)'}], 1875zoomIn:[{opacity:0,transform:'scale(0.85)'},{opacity:1,transform:'scale(1)'}], 1876blurIn:[{opacity:0,filter:'blur(8px)'},{opacity:1,filter:'blur(0)'}], 1877bounceIn:[{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)'}] 1878}; 1879var DEFAULTS={duration:600,delay:0,easing:'ease-out'}; 1880function readInt(el,attr,fallback,min){ 1881var n=parseInt(el.getAttribute(attr)||'',10); 1882if(!isFinite(n)||n<min)return fallback; 1883return n; 1884} 1885function arm(el){ 1886var type=el.getAttribute('data-persist-text-anim')||'fadeIn'; 1887var frames=KEYFRAMES[type]; 1888if(!frames)return null; 1889var duration=readInt(el,'data-persist-text-anim-duration',DEFAULTS.duration,1); 1890var delay=readInt(el,'data-persist-text-anim-delay',DEFAULTS.delay,0); 1891var easing=el.getAttribute('data-persist-text-anim-easing')||DEFAULTS.easing; 1892try{ 1893var anim=el.animate(frames,{duration:duration,delay:delay,easing:easing,fill:'both'}); 1894anim.pause(); 1895anim.currentTime=0; 1896return anim; 1897}catch(e){return null;} 1898} 1899if('IntersectionObserver' in window){ 1900var io=new IntersectionObserver(function(entries){ 1901for(var i=0;i<entries.length;i++){ 1902var en=entries[i]; 1903if(!en.isIntersecting)continue; 1904io.unobserve(en.target); 1905var armed=en.target._hpTextAnim; 1906if(!armed)continue; 1907en.target._hpTextAnim=null; 1908try{armed.play();}catch(e){} 1909} 1910},{threshold:0.15}); 1911for(var j=0;j<nodes.length;j++){ 1912var pending=arm(nodes[j]); 1913if(!pending)continue; 1914nodes[j]._hpTextAnim=pending; 1915io.observe(nodes[j]); 1916} 1917}else{ 1918for(var k=0;k<nodes.length;k++){ 1919var immediate=arm(nodes[k]); 1920if(immediate)try{immediate.play();}catch(e){} 1921} 1922} 1923})(); 1924</script>
1924<script data-htmlpub-nav> 1925(function(){ 1926"use strict"; 1927 1928function closeAllSubmenus(except) { 1929 var panels = document.querySelectorAll('[data-persist-nav-submenu-panel]'); 1930 for (var i = 0; i < panels.length; i++) { 1931 var panel = panels[i]; 1932 if (panel === except) continue; 1933 panel.classList.remove('is-open'); 1934 var trigger = panel.__hpNavTrigger; 1935 if (trigger) trigger.setAttribute('aria-expanded', 'false'); 1936 } 1937} 1938 1939function wireSubmenus() { 1940 var triggers = document.querySelectorAll('[data-persist-nav-submenu]'); 1941 if (!triggers.length) return; 1942 for (var i = 0; i < triggers.length; i++) { 1943 (function(trigger) { 1944 if (trigger.__hpNavWired) return; 1945 trigger.__hpNavWired = true; 1946 var panelId = trigger.getAttribute('data-persist-nav-submenu'); 1947 var panel = panelId ? document.getElementById(panelId) : (trigger.parentElement ? trigger.parentElement.querySelector('[data-persist-nav-submenu-panel]') : null); 1948 if (!panel) return; 1949 panel.__hpNavTrigger = trigger; 1950 trigger.setAttribute('aria-haspopup', 'true'); 1951 trigger.setAttribute('aria-expanded', 'false'); 1952 trigger.addEventListener('click', function(e) { 1953 var isOpen = panel.classList.contains('is-open'); 1954 e.preventDefault(); 1955 e.stopPropagation(); 1956 closeAllSubmenus(isOpen ? null : panel); 1957 panel.classList.toggle('is-open', !isOpen); 1958 trigger.setAttribute('aria-expanded', isOpen ? 'false' : 'true'); 1959 }); 1960 })(triggers[i]); 1961 } 1962 document.addEventListener('click', function(e) { 1963 var t = e.target; 1964 if (t && t.closest && t.closest('[data-persist-nav-submenu-panel], [data-persist-nav-submenu]')) return; 1965 closeAllSubmenus(null); 1966 }); 1967} 1968 1969function wireMobileMenu() { 1970 var toggles = document.querySelectorAll('[data-persist-nav-mobile-toggle], [data-persist-nav-tablet-toggle]'); 1971 if (!toggles.length) return; 1972 for (var i = 0; i < toggles.length; i++) { 1973 (function(toggle) { 1974 if (toggle.__hpNavWired) return; 1975 toggle.__hpNavWired = true; 1976 var isTablet = toggle.hasAttribute('data-persist-nav-tablet-toggle'); 1977 var targetId = isTablet ? toggle.getAttribute('data-persist-nav-tablet-toggle') : toggle.getAttribute('data-persist-nav-mobile-toggle'); 1978 var panelSelector = isTablet ? '[data-persist-nav-tablet-panel]' : '[data-persist-nav-mobile-panel]'; 1979 var panel = targetId ? document.getElementById(targetId) : (toggle.parentElement ? toggle.parentElement.querySelector(panelSelector) : null); 1980 if (!panel) return; 1981 toggle.setAttribute('aria-expanded', 'false'); 1982 toggle.addEventListener('click', function(e) { 1983 var isOpen = panel.classList.contains('is-open'); 1984 e.preventDefault(); 1985 e.stopPropagation(); 1986 if (isOpen) panel.classList.remove('is-open'); else panel.classList.add('is-open'); 1987 toggle.setAttribute('aria-expanded', isOpen ? 'false' : 'true'); 1988 }); 1989 })(toggles[i]); 1990 } 1991} 1992 1993function wireScrollBackground() { 1994 // Every nav this system manages, not just ones with scroll-bg/blur 1995 // currently set â a page published while an OLDER build still applied 1996 // blur directly to nav carries that inline backdrop-filter baked into 1997 // its served HTML even after blur is later turned off, so the self-heal 1998 // below has to run regardless of the CURRENT attribute state. 1999 var navs = document.querySelectorAll('[data-persist-nav-id]'); 2000 if (!navs.length) return; 2001 for (var i = 0; i < navs.length; i++) { 2002 (function(nav) { 2003 // Self-heal: strip a stale inline backdrop-filter baked into a page 2004 // saved before this fix (HP-3558 round 15 follow-up) â see the 2005 // dedicated blur-layer comment below for why it must never live on 2006 // nav itself. 2007 if (nav.style.getPropertyValue('backdrop-filter') || nav.style.getPropertyValue('-webkit-backdrop-filter')) { 2008 nav.style.removeProperty('backdrop-filter'); 2009 nav.style.removeProperty('-webkit-backdrop-filter'); 2010 } 2011 // "Transparent" (data-persist-nav-always-transparent, HP-3558 round 2012 // 16) â the non-sticky counterpart of scroll-bg above. "Useful over a 2013 // hero image" only holds if nav visually overlaps whatever follows 2014 // it, so lift it out of flow the same way Sticky's own 2015 // position:fixed/sticky already does, rather than leaving it 2016 // position:static (which just reveals blank page background above 2017 // the hero, not the hero itself â see iframe-script/utils.ts's
2018 // ensureNavScrollBackground for the matching editor-side comment). 2019 var alwaysTransparent = nav.hasAttribute('data-persist-nav-always-transparent'); 2020 if (alwaysTransparent) { 2021 var navCsForOverlay = window.getComputedStyle(nav); 2022 if (!navCsForOverlay || (navCsForOverlay.position !== 'fixed' && navCsForOverlay.position !== 'sticky')) { 2023 nav.style.position = 'absolute'; 2024 nav.style.top = '0px'; 2025 nav.style.left = '0px'; 2026 nav.style.right = '0px'; 2027 if (!nav.style.zIndex) nav.style.zIndex = '1000'; 2028 } 2029 } 2030 // Blur needs no scroll-reactivity â a blurred OPAQUE background 2031 // looks identical to an unblurred one, so it's simplest and correct 2032 // to apply it once, unconditionally, regardless of scroll state. 2033 // Applied to a dedicated decorative layer BEHIND nav's real 2034 // content, never to nav itself â backdrop-filter promotes whatever 2035 // element carries it into a new containing block for any 2036 // position:fixed descendant, which silently shrank the full-screen/ 2037 // bottom-drawer hamburger panel (both position:fixed) down to nav's 2038 // own small box instead of the viewport when it lived on nav 2039 // directly (HP-3558 round 15 follow-up: "the full-screen hamburger 2040 // menu... ended up being covered by the next section"). 2041 var blur = nav.getAttribute('data-persist-nav-scroll-blur'); 2042 if (blur) { 2043 var blurLayer = nav.querySelector('[data-persist-nav-scroll-blur-layer]'); 2044 if (!blurLayer) { 2045 blurLayer = document.createElement('div'); 2046 blurLayer.setAttribute('data-persist-nav-scroll-blur-layer', ''); 2047 // z-index:-1 required â without it, backdrop-filter's own 2048 // compositing samples nav's LATER siblings (logo/links/CTA) too, 2049 // visibly blurring them despite painting after this layer in 2050 // plain DOM order. Safe from escaping behind nav's own box into 2051 // the page below because Sticky header always sets an explicit, 2052 // non-auto nav.style.zIndex â position:fixed/sticky + a non-auto 2053 // z-index already makes nav its own stacking context. 2054 blurLayer.style.cssText = 'position:absolute;inset:0;pointer-events:none;z-index:-1;'; 2055 nav.insertBefore(blurLayer, nav.firstChild); 2056 var navCs = window.getComputedStyle(nav); 2057 if (!navCs || navCs.position === 'static' || !navCs.position) nav.style.position = 'relative'; 2058 } 2059 // Self-heal a layer saved before the z-index fix landed (see 2060 // iframe-script/utils.ts's ensureNavScrollBackground for the 2061 // matching editor-side comment). 2062 if (blurLayer.style.zIndex !== '-1') blurLayer.style.zIndex = '-1'; 2063 blurLayer.style.setProperty('backdrop-filter', 'blur(' + blur + ')', 'important'); 2064 blurLayer.style.setProperty('-webkit-backdrop-filter', 'blur(' + blur + ')', 'important'); 2065 } 2066 if (alwaysTransparent) { 2067 nav.style.setProperty('background-color', 'transparent', 'important'); 2068 return; 2069 } 2070 var color = nav.getAttribute('data-persist-nav-scroll-bg'); 2071 if (!color || nav.__hpNavScrollWired) return; 2072 nav.__hpNavScrollWired = true; 2073 function sync() { 2074 nav.style.setProperty('background-color', window.scrollY > 24 ? color : 'transparent', 'important'); 2075 } 2076 window.addEventListener('scroll', sync, { passive: true }); 2077 sync(); 2078 })(navs[i]); 2079 } 2080} 2081 2082function boot() { 2083 wireSubmenus(); 2084 wireMobileMenu(); 2085 wireScrollBackground(); 2086} 2087 2088if (document.readyState === "loading") { 2089 document.addEventListener("DOMContentLoaded", boot); 2090} else { 2091 boot(); 2092} 2093 2094})(); 2095</script>
2095<script data-htmlpub-dtr> 2096(function(){ 2097if(false)return; 2098var params=new URLSearchParams(location.search); 2099if(!params.toString())return; 2100function run(){ 2101var MAX=500; 2102var replacements=[]; 2103function strip(s){return s.replace(/<[^>]*>/g,"");} 2104function clean(s){try{s=decodeURIComponent(s);}catch(e){}s=strip(s);if(s.length>MAX)s=s.slice(0,MAX);return s;} 2105function replace(el,val,param){ 2106if(!el||!val)return; 2107var orig=el.textContent||""; 2108var cleaned=clean(val); 2109if(cleaned===orig)return; 2110el.setAttribute("data-dtr-original",orig); 2111el.textContent=cleaned; 2112replacements.push({param:param,target:el.tagName.toLowerCase()+(el.id?"#"+el.id:""),original:orig,replacement:cleaned}); 2113} 2114// 1. Explicit data-dtr attributes 2115var dtrMap={headline:"utm_headline",subheadline:"utm_subheadline",cta:"utm_cta"}; 2116var explicitFound={}; 2117for(var key in dtrMap){ 2118var pv=params.get(dtrMap[key]); 2119if(pv){ 2120var els=document.querySelectorAll('[data-dtr="'+key+'"]'); 2121if(els.length>0){ 2122explicitFound[key]=true; 2123for(var i=0;i<els.length;i++)replace(els[i],pv,dtrMap[key]); 2124} 2125} 2126} 2127// 2. Custom data-dtr-param attributes 2128var customEls=document.querySelectorAll("[data-dtr-param]"); 2129for(var j=0;j<customEls.length;j++){ 2130var pn=customEls[j].getAttribute("data-dtr-param"); 2131if(pn){var cv=params.get(pn);if(cv)replace(customEls[j],cv,pn);} 2132} 2133// 3. Auto-detect fallback for standard params (only if no explicit match) 2134if(!explicitFound.headline){ 2135var hv=params.get("utm_headline"); 2136if(hv){var h1=document.querySelector("h1");if(h1)replace(h1,hv,"utm_headline");} 2137} 2138if(!explicitFound.subheadline){ 2139var sv=params.get("utm_subheadline"); 2140if(sv){var sub=document.querySelector("h2")||document.querySelector(".subtitle")||document.querySelector(".subheadline");if(sub)replace(sub,sv,"utm_subheadline");} 2141} 2142if(!explicitFound.cta){ 2143var cv2=params.get("utm_cta"); 2144if(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");} 2145} 2146// 4. Generic dtr_* prefix params 2147params.forEach(function(val,key){ 2148if(key.indexOf("dtr_")===0){ 2149var slug=key.slice(4); 2150var targets=document.querySelectorAll('[data-dtr-param="'+key+'"]'); 2151if(targets.length>0){for(var k=0;k<targets.length;k++)replace(targets[k],val,key);} 2152} 2153}); 2154// Fire analytics event 2155if(replacements.length===0)return; 2156var PID="akdam4vhrug4gtusjvpf2kn3"; 2157var API="https://htmlpub.com"+"/api/analytics/collect"; 2158function vid(){try{return localStorage.getItem("_hp_vid")||""}catch(e){return""}} 2159function sid(){try{return sessionStorage.getItem("_hp_sid")||""}catch(e){return""}} 2160var ev={pageId:PID,eventType:"dtr_applied",visitorId:vid(),sessionId:sid(),payload:{replacements:replacements},timestamp:Date.now()}; 2161var body=JSON.stringify({events:[ev]}); 2162try{if(navigator.sendBeacon){navigator.sendBeacon(API,new Blob([body],{type:"text/plain"}));} 2163else{fetch(API,{method:"POST",headers:{"Content-Type":"application/json"},body:body,keepalive:true}).catch(function(){});}}catch(e){} 2164} 2165if(document.readyState==="loading"){document.addEventListener("DOMContentLoaded",run);}else{run();} 2166})(); 2167</script>
2167<script async="async" src="https://b.visitor-speed.com/js/93bd6a7496a3eb9f9c2d.js"></script>
2167<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:'a481cdb0abf2f60c',t:'MTc5MTU5NTIzNQ=='};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>
2167</body></html><!-- v5.1.13 -->
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.