CINXE.COM

Resources | Recurly

<!DOCTYPE html> <!--[if lt IE 7]> <html lang="en" class="lt-ie10 lt-ie9 lt-ie8 lt-ie7"> <![endif]--> <!--[if IE 7]> <html lang="en" class="lt-ie10 lt-ie9 lt-ie8 ie7"> <![endif]--> <!--[if IE 8]> <html lang="en" class="lt-ie10 lt-ie9 ie8"> <![endif]--> <!--[if IE 9]> <html lang="en" class="lt-ie10 ie9"> <![endif]--> <!--[if gt IE 9]><!--><html lang="en" class="no-js"><!--<![endif]--> <head> <meta charset="utf-8" /> <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="google-site-verification" content="Qg9blGKTiWCPvmRdwNzxHxWhGtoV3VViK64_ZTbuJMU" /> <title> Resources | Recurly </title> <meta name="ROBOTS" content="NOODP" /> <meta name="description" content="Visit our resource center to stay updated on subscription industry news, trends, and insights." /> <!-- Standard favicon --> <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico"> <!-- For iOS devices --> <link rel="apple-touch-icon" sizes="180x180" href="/favicon/apple-touch-icon.png"> <!-- For Android devices --> <link rel="icon" type="image/png" sizes="192x192" href="/favicon/android-chrome-192x192.png"> <link rel="icon" type="image/png" sizes="512x512" href="/favicon/android-chrome-512x512.png"> <!-- For Windows devices --> <meta name="msapplication-TileImage" sizes="70x70" content="/favicon/mstile-70x70.png"> <meta name="msapplication-TileImage" sizes="144x144" content="/favicon/mstile-144x144.png"> <meta name="msapplication-TileImage" sizes="150x150" content="/favicon/mstile-150x150.png"> <meta name="msapplication-TileImage" sizes="310x150" content="/favicon/mstile-310x150.png"> <meta name="msapplication-TileImage" sizes="310x310" content="/favicon/mstile-310x310.png"> <meta name="msapplication-TileColor" content="#FFD706"> <!-- For Safari pinned tabs --> <link rel="mask-icon" href="/favicon/safari-pinned-tab.svg" color="#FFD706"> <!-- Multiple sizes for different browsers and devices --> <link rel="icon" type="image/png" sizes="16x16" href="/favicon/favicon-16x16.png"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon/favicon-32x32.png"> <!-- Web App Manifest for Android --> <link rel="manifest" href="/favicon/site.webmanifest"> <link rel="canonical" href="https://recurly.com/resources/" /> <!-- facebook --> <meta property="og:title" content="Resources | Recurly" /> <meta property="og:url" content="https://recurly.com/resources/" /> <meta property="og:site_name" content="Recurly, Inc." /> <meta property="og:type" content="website" /> <meta property="og:image" content="https://recurly.com/img2/recurly.png" /> <meta property="og:image:url" content="https://recurly.com/img2/recurly.png" /> <meta property="og:image:secure_url" content="https://recurly.com/img2/recurly.png" /> <meta property="og:image:type" content="image/gif" /> <meta property="og:image:width" content="1500" /> <meta property="og:image:height" content="1500" /> <meta property="og:description" content="Visit our resource center to stay updated on subscription industry news, trends, and insights." /> <meta property="fb:admins" content="100001307761910,2535641,1591053024" /> <!-- twitter --> <meta name="twitter:account_id" content="57871527" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:site" content="@recurly" /> <meta name="twitter:title" content="Resources | Recurly" /> <meta name="twitter:description" content="Visit our resource center to stay updated on subscription industry news, trends, and insights." /> <meta name="twitter:image:src" content="https://recurly.com/img2/recurly.png" /> <meta name="twitter:image:width" content="1500" /> <meta name="twitter:image:height" content="1500" /> <meta charset="utf-8" content=""> <meta name="format-detection" content="telephone=no"> <!-- Start Optimizely Code Snipit --> <script src="https://cdn.optimizely.com/js/5280136644263936.js"></script> <!-- End Optimizely Code Snipit --> <!-- OneTrust Cookies Consent Notice start for recurly.com --> <script defer src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js" type="text/javascript" charset="UTF-8" data-domain-script="40f24449-7e61-4f97-907b-5c68fbf8ad7e" ></script> <script defer type="text/javascript"> function OptanonWrapper() { // checks if cookie banner is showing. If it is, add spacing to the .wrap document.body.classList.add("cookie"); var bannerH = document.querySelector('#onetrust-banner-sdk'); setTimeout(function(){ //add 500s delay to check due to animation if(bannerH) { document.body.classList.add("cookie"); // also check if banner has display: none bannerDisplay = bannerH.style.display; if(bannerDisplay == 'none'){ document.body.classList.remove("cookie"); } } else { document.body.classList.remove("cookie"); } },500) } </script> <!-- OneTrust Cookies Consent Notice end for recurly.com --> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-P8SKV3B');</script> <!-- gplus --> <link href="https://plus.google.com/115228385341532659439" rel="publisher" /> <!-- Critical CSS --> <style rel="stylesheet" type="text/css">@font-face{font-family:"Gruffy";font-weight:400;font-style:normal;src:url("/img2/fonts/F37Gruffy-Regular.woff2") format("woff2"),url("/img2/fonts/F37Gruffy-Regular.woff") format("woff")}@font-face{font-family:"Gruffy";font-weight:400;font-style:italic;src:url("/img2/fonts/F37Gruffy-RegularItalic.woff2") format("woff2"),url("/img2/fonts/F37Gruffy-RegularItalic.woff") format("woff")}@font-face{font-family:"Gruffy";font-weight:700;font-style:normal;src:url("/img2/fonts/F37Gruffy-Bold.woff2") format("woff2"),url("/img2/fonts/F37Gruffy-Bold.woff") format("woff")}@font-face{font-family:"Polar";font-weight:400;font-style:normal;src:url("/img2/fonts/FTPolar-Regular.woff2") format("woff2"),url("/img2/fonts/FTPolar-Regular.woff") format("woff")}@font-face{font-family:"Polar";font-weight:400;font-style:italic;src:url("/img2/fonts/FTPolar-RegularItalic.woff2") format("woff2"),url("/img2/fonts/FTPolar-RegularItalic.woff") format("woff")}@font-face{font-family:"Polar";font-weight:700;font-style:normal;src:url("/img2/fonts/FTPolar-Bold.woff2") format("woff2"),url("/img2/fonts/FTPolar-Bold.woff") format("woff")}*{box-sizing:border-box}:root{--font-size-xs: 1.4rem;--font-size-sm: 1.5rem;--font-size-md: 1.6rem;--font-size-lg: 1.8rem;--font-size-xl: 2rem;--font-size-2xl: 2.4rem;--font-size-3xl: 3.6rem;--font-size-4xl: 4.6rem}:root,:root [data-theme="white"]{--background-primary: #fff;--text-primary: #0D0D0B;--text-highlight: #C23A00;--text-eyebrow: var(--text-primary);--btn-primary-bg: #0D0D0B;--btn-primary-text: #fff;--btn-primary-hover-bg: #FF9D88;--btn-primary-hover-text: #0D0D0B;--btn-secondary-border: #0D0D0B;--btn-secondary-text: var(--text-primary);--btn-secondary-hover-border: #FF9D88;--link-underline: var(--text-highlight);--highlight: #C23A00;--border-color: rgba(13, 13, 11, 0.12)}@media (min-width: 768px){:root{--font-size-sm: 1.6rem;--font-size-md: 1.8rem;--font-size-lg: 2rem;--font-size-xl: 2.8rem;--font-size-2xl: 3.4rem;--font-size-3xl: 5rem;--font-size-4xl: 6rem}}@media screen and (min-width: 1200px){:root{--font-size-2xl: 4.2rem;--font-size-3xl: 6rem;--font-size-4xl: 8rem}}@media screen and (min-width: 1680px){:root{--font-size-3xl: 7rem;--font-size-4xl: 8.7rem}}[data-theme="bright-gray"],[data-theme="yellow"]{--btn-secondary-hover-border: #FF5810;--link-underline: #FF5810}[data-theme="bright-gray"]{--background-primary: #f1efe3}[data-theme="yellow"]{--background-primary: #FFD706}[data-theme="black"]{--background-primary: #0D0D0B;--text-primary: #fff;--text-highlight: #FFD706;--text-eyebrow: #FFD706;--btn-primary-bg: #FF8200;--btn-primary-text: #0D0D0B;--btn-secondary-border: #fff;--btn-secondary-hover-border: #FF5810;--btn-secondary-text: #fff;--link-underline: #FF5810;--border-color: #32312D}[data-theme]{color:var(--text-primary);background:var(--background-primary)}html,body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}html{overflow-x:hidden;overflow-y:scroll;font-size:62.5%}body{margin:0;line-height:1.3;font-family:"Polar", "Helvetica Neue", Helvetica, arial, sans-serif;font-size:var(--font-size-md);color:var(--text-primary)}body:not(.home){text-align:left}p{margin-top:1.5rem;margin-bottom:1.5rem}hr{height:1px;margin:6rem auto;border:0;background:#e2e2e3}@media (min-width: 768px){hr{margin:10rem auto}}img{height:auto;max-width:100%;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic}a:not(.btn){color:inherit;-webkit-text-decoration-color:var(--link-underline);text-decoration-color:var(--link-underline);text-decoration-thickness:2px;text-underline-offset:5px;-webkit-transition:-webkit-text-decoration-color 0.25s;transition:-webkit-text-decoration-color 0.25s;transition:text-decoration-color 0.25s;transition:text-decoration-color 0.25s, -webkit-text-decoration-color 0.25s}a:not(.btn):hover{-webkit-text-decoration-color:transparent;text-decoration-color:transparent}a:not(.btn).link-no-underline{-webkit-text-decoration-color:transparent;text-decoration-color:transparent}a:not(.btn).link-no-underline:hover{-webkit-text-decoration-color:var(--link-underline);text-decoration-color:var(--link-underline)}b,strong{font-weight:600}address{font-style:normal}small{font-family:"Polar", "Helvetica Neue", Helvetica, arial, sans-serif;font-weight:300;font-size:1.5rem}dl{line-height:1rem}dl dt,dl dd{padding-left:0;margin-left:0;line-height:2.2rem}dl dt{font-weight:600}dl.inline dt,dl.inline dd{float:left}dl.inline dt{clear:left}dl.inline dt{margin-right:4px}.clearfix:before,dl.inline:before,.container:before,.header:before,.container-fluid:before,.clearfix:after,dl.inline:after,.container:after,.header:after,.container-fluid:after{content:" ";display:table}.clearfix:after,dl.inline:after,.container:after,.header:after,.container-fluid:after{clear:both}.container,.header{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px;min-width:320px}@media (min-width: 768px){.container,.header{width:750px}}@media (min-width: 992px){.container,.header{width:970px}}@media (min-width: 1200px){.container,.header{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px;min-width:320px}.row{margin-left:-15px;margin-right:-15px}.row:before,.row:after{content:" ";display:table}.row:after{clear:both}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-1{width:8.3333333333%}.col-xs-2{width:16.6666666667%}.col-xs-3{width:25%}.col-xs-4{width:33.3333333333%}.col-xs-5{width:41.6666666667%}.col-xs-6{width:50%}.col-xs-7{width:58.3333333333%}.col-xs-8{width:66.6666666667%}.col-xs-9{width:75%}.col-xs-10{width:83.3333333333%}.col-xs-11{width:91.6666666667%}.col-xs-12{width:100%}.col-xs-pull-0{right:auto}.col-xs-pull-1{right:8.3333333333%}.col-xs-pull-2{right:16.6666666667%}.col-xs-pull-3{right:25%}.col-xs-pull-4{right:33.3333333333%}.col-xs-pull-5{right:41.6666666667%}.col-xs-pull-6{right:50%}.col-xs-pull-7{right:58.3333333333%}.col-xs-pull-8{right:66.6666666667%}.col-xs-pull-9{right:75%}.col-xs-pull-10{right:83.3333333333%}.col-xs-pull-11{right:91.6666666667%}.col-xs-pull-12{right:100%}.col-xs-push-0{left:auto}.col-xs-push-1{left:8.3333333333%}.col-xs-push-2{left:16.6666666667%}.col-xs-push-3{left:25%}.col-xs-push-4{left:33.3333333333%}.col-xs-push-5{left:41.6666666667%}.col-xs-push-6{left:50%}.col-xs-push-7{left:58.3333333333%}.col-xs-push-8{left:66.6666666667%}.col-xs-push-9{left:75%}.col-xs-push-10{left:83.3333333333%}.col-xs-push-11{left:91.6666666667%}.col-xs-push-12{left:100%}.col-xs-offset-0{margin-left:0%}.col-xs-offset-1{margin-left:8.3333333333%}.col-xs-offset-2{margin-left:16.6666666667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.3333333333%}.col-xs-offset-5{margin-left:41.6666666667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.3333333333%}.col-xs-offset-8{margin-left:66.6666666667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.3333333333%}.col-xs-offset-11{margin-left:91.6666666667%}.col-xs-offset-12{margin-left:100%}.col-xs-offset-right-0{margin-right:0%}.col-xs-offset-right-1{margin-right:8.3333333333%}.col-xs-offset-right-2{margin-right:16.6666666667%}.col-xs-offset-right-3{margin-right:25%}.col-xs-offset-right-4{margin-right:33.3333333333%}.col-xs-offset-right-5{margin-right:41.6666666667%}.col-xs-offset-right-6{margin-right:50%}.col-xs-offset-right-7{margin-right:58.3333333333%}.col-xs-offset-right-8{margin-right:66.6666666667%}.col-xs-offset-right-9{margin-right:75%}.col-xs-offset-right-10{margin-right:83.3333333333%}.col-xs-offset-right-11{margin-right:91.6666666667%}.col-xs-offset-right-12{margin-right:100%}@media (min-width: 768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-1{width:8.3333333333%}.col-sm-2{width:16.6666666667%}.col-sm-3{width:25%}.col-sm-4{width:33.3333333333%}.col-sm-5{width:41.6666666667%}.col-sm-6{width:50%}.col-sm-7{width:58.3333333333%}.col-sm-8{width:66.6666666667%}.col-sm-9{width:75%}.col-sm-10{width:83.3333333333%}.col-sm-11{width:91.6666666667%}.col-sm-12{width:100%}.col-sm-pull-0{right:auto}.col-sm-pull-1{right:8.3333333333%}.col-sm-pull-2{right:16.6666666667%}.col-sm-pull-3{right:25%}.col-sm-pull-4{right:33.3333333333%}.col-sm-pull-5{right:41.6666666667%}.col-sm-pull-6{right:50%}.col-sm-pull-7{right:58.3333333333%}.col-sm-pull-8{right:66.6666666667%}.col-sm-pull-9{right:75%}.col-sm-pull-10{right:83.3333333333%}.col-sm-pull-11{right:91.6666666667%}.col-sm-pull-12{right:100%}.col-sm-push-0{left:auto}.col-sm-push-1{left:8.3333333333%}.col-sm-push-2{left:16.6666666667%}.col-sm-push-3{left:25%}.col-sm-push-4{left:33.3333333333%}.col-sm-push-5{left:41.6666666667%}.col-sm-push-6{left:50%}.col-sm-push-7{left:58.3333333333%}.col-sm-push-8{left:66.6666666667%}.col-sm-push-9{left:75%}.col-sm-push-10{left:83.3333333333%}.col-sm-push-11{left:91.6666666667%}.col-sm-push-12{left:100%}.col-sm-offset-0{margin-left:0%}.col-sm-offset-1{margin-left:8.3333333333%}.col-sm-offset-2{margin-left:16.6666666667%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.3333333333%}.col-sm-offset-5{margin-left:41.6666666667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.3333333333%}.col-sm-offset-8{margin-left:66.6666666667%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.3333333333%}.col-sm-offset-11{margin-left:91.6666666667%}.col-sm-offset-12{margin-left:100%}.col-sm-offset-right-0{margin-right:0%}.col-sm-offset-right-1{margin-right:8.3333333333%}.col-sm-offset-right-2{margin-right:16.6666666667%}.col-sm-offset-right-3{margin-right:25%}.col-sm-offset-right-4{margin-right:33.3333333333%}.col-sm-offset-right-5{margin-right:41.6666666667%}.col-sm-offset-right-6{margin-right:50%}.col-sm-offset-right-7{margin-right:58.3333333333%}.col-sm-offset-right-8{margin-right:66.6666666667%}.col-sm-offset-right-9{margin-right:75%}.col-sm-offset-right-10{margin-right:83.3333333333%}.col-sm-offset-right-11{margin-right:91.6666666667%}.col-sm-offset-right-12{margin-right:100%}}@media (min-width: 992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-1{width:8.3333333333%}.col-md-2{width:16.6666666667%}.col-md-3{width:25%}.col-md-4{width:33.3333333333%}.col-md-5{width:41.6666666667%}.col-md-6{width:50%}.col-md-7{width:58.3333333333%}.col-md-8{width:66.6666666667%}.col-md-9{width:75%}.col-md-10{width:83.3333333333%}.col-md-11{width:91.6666666667%}.col-md-12{width:100%}.col-md-pull-0{right:auto}.col-md-pull-1{right:8.3333333333%}.col-md-pull-2{right:16.6666666667%}.col-md-pull-3{right:25%}.col-md-pull-4{right:33.3333333333%}.col-md-pull-5{right:41.6666666667%}.col-md-pull-6{right:50%}.col-md-pull-7{right:58.3333333333%}.col-md-pull-8{right:66.6666666667%}.col-md-pull-9{right:75%}.col-md-pull-10{right:83.3333333333%}.col-md-pull-11{right:91.6666666667%}.col-md-pull-12{right:100%}.col-md-push-0{left:auto}.col-md-push-1{left:8.3333333333%}.col-md-push-2{left:16.6666666667%}.col-md-push-3{left:25%}.col-md-push-4{left:33.3333333333%}.col-md-push-5{left:41.6666666667%}.col-md-push-6{left:50%}.col-md-push-7{left:58.3333333333%}.col-md-push-8{left:66.6666666667%}.col-md-push-9{left:75%}.col-md-push-10{left:83.3333333333%}.col-md-push-11{left:91.6666666667%}.col-md-push-12{left:100%}.col-md-offset-0{margin-left:0%}.col-md-offset-1{margin-left:8.3333333333%}.col-md-offset-2{margin-left:16.6666666667%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.3333333333%}.col-md-offset-5{margin-left:41.6666666667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.3333333333%}.col-md-offset-8{margin-left:66.6666666667%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.3333333333%}.col-md-offset-11{margin-left:91.6666666667%}.col-md-offset-12{margin-left:100%}.col-md-offset-right-0{margin-right:0%}.col-md-offset-right-1{margin-right:8.3333333333%}.col-md-offset-right-2{margin-right:16.6666666667%}.col-md-offset-right-3{margin-right:25%}.col-md-offset-right-4{margin-right:33.3333333333%}.col-md-offset-right-5{margin-right:41.6666666667%}.col-md-offset-right-6{margin-right:50%}.col-md-offset-right-7{margin-right:58.3333333333%}.col-md-offset-right-8{margin-right:66.6666666667%}.col-md-offset-right-9{margin-right:75%}.col-md-offset-right-10{margin-right:83.3333333333%}.col-md-offset-right-11{margin-right:91.6666666667%}.col-md-offset-right-12{margin-right:100%}}@media (min-width: 1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-1{width:8.3333333333%}.col-lg-2{width:16.6666666667%}.col-lg-3{width:25%}.col-lg-4{width:33.3333333333%}.col-lg-5{width:41.6666666667%}.col-lg-6{width:50%}.col-lg-7{width:58.3333333333%}.col-lg-8{width:66.6666666667%}.col-lg-9{width:75%}.col-lg-10{width:83.3333333333%}.col-lg-11{width:91.6666666667%}.col-lg-12{width:100%}.col-lg-pull-0{right:auto}.col-lg-pull-1{right:8.3333333333%}.col-lg-pull-2{right:16.6666666667%}.col-lg-pull-3{right:25%}.col-lg-pull-4{right:33.3333333333%}.col-lg-pull-5{right:41.6666666667%}.col-lg-pull-6{right:50%}.col-lg-pull-7{right:58.3333333333%}.col-lg-pull-8{right:66.6666666667%}.col-lg-pull-9{right:75%}.col-lg-pull-10{right:83.3333333333%}.col-lg-pull-11{right:91.6666666667%}.col-lg-pull-12{right:100%}.col-lg-push-0{left:auto}.col-lg-push-1{left:8.3333333333%}.col-lg-push-2{left:16.6666666667%}.col-lg-push-3{left:25%}.col-lg-push-4{left:33.3333333333%}.col-lg-push-5{left:41.6666666667%}.col-lg-push-6{left:50%}.col-lg-push-7{left:58.3333333333%}.col-lg-push-8{left:66.6666666667%}.col-lg-push-9{left:75%}.col-lg-push-10{left:83.3333333333%}.col-lg-push-11{left:91.6666666667%}.col-lg-push-12{left:100%}.col-lg-offset-0{margin-left:0%}.col-lg-offset-1{margin-left:8.3333333333%}.col-lg-offset-2{margin-left:16.6666666667%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.3333333333%}.col-lg-offset-5{margin-left:41.6666666667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.3333333333%}.col-lg-offset-8{margin-left:66.6666666667%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.3333333333%}.col-lg-offset-11{margin-left:91.6666666667%}.col-lg-offset-12{margin-left:100%}.col-lg-offset-right-0{margin-right:0%}.col-lg-offset-right-1{margin-right:8.3333333333%}.col-lg-offset-right-2{margin-right:16.6666666667%}.col-lg-offset-right-3{margin-right:25%}.col-lg-offset-right-4{margin-right:33.3333333333%}.col-lg-offset-right-5{margin-right:41.6666666667%}.col-lg-offset-right-6{margin-right:50%}.col-lg-offset-right-7{margin-right:58.3333333333%}.col-lg-offset-right-8{margin-right:66.6666666667%}.col-lg-offset-right-9{margin-right:75%}.col-lg-offset-right-10{margin-right:83.3333333333%}.col-lg-offset-right-11{margin-right:91.6666666667%}.col-lg-offset-right-12{margin-right:100%}}h1,.h1,h2,.h2,h3,.h3,h4,.h4,h4,.h5,h4,.h6{display:block;margin:0 0 1.5rem;font-weight:700}p+h1,p+.h1,p+h2,p+.h2,p+h3,p+.h3,p+h4,p+.h4,p+h4,p+.h5,p+h4,p+.h6{margin-top:6rem}@media (min-width: 768px){h1,.h1,h2,.h2,h3,.h3,h4,.h4,h4,.h5,h4,.h6{margin:0 0 3rem}}h1,.h1,h3,.h3,h5,.h5,h6,.h6{font-family:"Gruffy", "Helvetica Neue", Helvetica, arial, sans-serif}h1,.h1,h2,.h2,h3,.h3,h5,.h5,h6,.h6{font-weight:700}h2,.h2,h3,.h3,h5,.h5,h6,.h6{line-height:1.1}h1,.h1{font-size:var(--font-size-4xl);line-height:1}h2,.h2{font-size:var(--font-size-3xl)}p+h2,ul+h2,p+.h2,ul+.h2{margin-top:3rem}h3,.h3{margin:1.5rem 0;font-size:var(--font-size-2xl)}p+h3,ul+h3,p+.h3,ul+.h3{margin-top:3rem}h4,.h4{margin-bottom:1.5rem;font-size:var(--font-size-xl);font-weight:700}h4.h4--light,.h4.h4--light{font-weight:400}h5,.h5{margin-bottom:1.5rem;font-size:var(--font-size-lg)}h6,.h6{font-size:1.6rem}.heading-segment{font-weight:500;font-size:2.8rem;line-height:4.4rem;color:#893999;text-align:center}@media (min-width: 768px){.heading-segment{font-size:3.5rem;margin-bottom:12.5rem}}.heading-lite,.heading-lite--centered{font-size:2.8rem;font-weight:700;color:#893999}@media (min-width: 768px){.heading-lite,.heading-lite--centered{font-size:3.5rem;line-height:4.4rem}}.heading-lite--muted{color:var(--text-primary)}.heading-lite--centered{text-align:center}.heading-lite--tall{margin-bottom:6rem}.heading-label{display:inline-block;margin:0 auto;padding-bottom:0.8rem;color:#893999;font-size:1.7rem;font-weight:600;border-bottom:2px solid #e2e2e3}.heading-label--hidden{display:none;border-bottom:2px solid transparent}@media (min-width: 992px){.heading-label--hidden{display:inline-block}}.heading-content{margin:2.2rem auto 0;font-size:2.8rem;line-height:3.5rem;color:#38383a}@media (min-width: 992px){.heading-content{font-size:3.5rem;line-height:4.4rem}}.heading-content+p{margin-top:1rem}.heading-condensed{margin:0;font-size:3.5rem;font-family:'proxima-nova-condensed', sans-serif;font-weight:400;color:#ffffff}.heading-serif{font-family:'proxima-nova', sans-serif;letter-spacing:0}@media (min-width: 768px){.segment-lead{margin-bottom:9rem}}sup{font-size:0.5em;vertical-align:super}.footnote{font-size:var(--font-size-xs);line-height:1.1;color:#807D73}.btn{display:-webkit-inline-box;display:inline-flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;height:40px;padding:0 1.5rem;text-align:center;border-radius:6px;font-weight:400;text-decoration:none;cursor:pointer;font-family:"Polar", "Helvetica Neue", Helvetica, arial, sans-serif;border-width:0;text-align:center}@media (min-width: 768px){.btn{height:54px;padding:0 3rem}.btn--small{height:40px;padding:0 2rem;font-size:1.6rem}}.btn-primary{background-color:var(--btn-primary-bg);color:var(--btn-primary-text);-webkit-transition:background-color 0.25s;transition:background-color 0.25s}.btn-primary:hover{background-color:var(--btn-primary-hover-bg);color:var(--btn-primary-hover-text)}.btn-secondary{background-color:transparent;color:var(--btn-secondary-text);border:1px solid var(--btn-secondary-border)}.btn-secondary:hover{border-color:var(--btn-secondary-hover-border)}.btn-group{display:-webkit-box;display:flex;flex-wrap:wrap;gap:20px;-webkit-box-align:center;align-items:center}@media screen and (min-width: 1200px){.btn-group{gap:40px}}.btn{display:-webkit-inline-box;display:inline-flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;height:40px;padding:0 1.5rem;text-align:center;border-radius:6px;font-weight:400;text-decoration:none;cursor:pointer;font-family:"Polar", "Helvetica Neue", Helvetica, arial, sans-serif;border-width:0;text-align:center}@media (min-width: 768px){.btn{height:54px;padding:0 3rem}.btn--small{height:40px;padding:0 2rem;font-size:1.6rem}}.btn-primary{background-color:var(--btn-primary-bg);color:var(--btn-primary-text);-webkit-transition:background-color 0.25s;transition:background-color 0.25s}.btn-primary:hover{background-color:var(--btn-primary-hover-bg);color:var(--btn-primary-hover-text)}.btn-secondary{background-color:transparent;color:var(--btn-secondary-text);border:1px solid var(--btn-secondary-border)}.btn-secondary:hover{border-color:var(--btn-secondary-hover-border)}.btn-group{display:-webkit-box;display:flex;flex-wrap:wrap;gap:20px;-webkit-box-align:center;align-items:center}@media screen and (min-width: 1200px){.btn-group{gap:40px}}.hero{position:relative;padding-top:6rem;height:calc(100vh - 12rem);min-height:45rem;max-height:60rem}@media (min-width: 768px){.hero{padding-top:6.75rem}}.hero .container,.hero .header{position:relative;height:100%}.hero--has-alert{height:calc(100vh - 16.6rem)}.hero__wrap{display:-ms-flex;display:-webkit-box;display:flex;-ms-align-items:center;-webkit-box-align:center;align-items:center;-ms-justify-content:flex-start;-webkit-box-pack:start;justify-content:flex-start;height:100%;text-align:left}.hero__content{position:relative;z-index:1}.ueno-no-flexbox .hero__content{display:table-cell;vertical-align:middle}.hero__breadcrumbs{font-size:1.4rem;color:var(--text-primary);text-decoration:none;opacity:0.5;-webkit-transition:opacity 0.25s;transition:opacity 0.25s}.hero__breadcrumbs [class^="icon-"]{display:inline-block;margin-left:0.3rem;font-size:0.8rem}.hero__breadcrumbs:hover{color:var(--text-primary);opacity:1}.hero__title{margin:0;padding:0;max-width:22ch}.hero__buttons{margin-top:1.6rem}@media (min-width: 768px){.hero__buttons{margin-top:2rem}}.hero__buttons>.btn{margin-top:1.5rem;margin-bottom:0;min-width:25rem}@media (min-width: 768px){.hero__buttons>.btn{margin-top:3rem;padding:1.6rem 3rem 1.4rem}}.hero__about{padding:15.5rem 0 10rem}@media (min-width: 768px){.hero__about{padding:16.5rem 0 10rem}}@media (min-width: 992px){.hero__about{padding:16.5rem 0 28rem}}@media (min-width: 1200px){.hero__about{padding:16.5rem 0 12.5rem}}.hero__about .container,.hero__about .header{position:relative}@media (min-width: 768px){.hero{min-height:35rem;max-height:55rem}}@media (min-width: 992px){.hero{min-height:45rem;max-height:65rem}}@media (min-width: 1200px){.hero{min-height:50rem;max-height:64rem}}.hero--small{height:35rem;min-height:0}.hero--cards{padding:0;height:auto;max-height:52.2rem;min-height:0}.hero--standard{padding:0;height:28rem;min-height:0;border-bottom:0.1rem solid var(--border-color)}.hero--standard .hero__content{width:100%}.hero--standard .hero__buttons--side{position:relative;top:0;right:0;margin-top:0}@media (min-width: 992px){.hero--standard .hero__buttons--side{position:absolute}}.hero--standard .hero__buttons--side .btn{min-width:22rem;margin-top:2rem;padding:1.25rem 3rem}.linkbox__root{position:relative}.linkbox__target::before{content:"";position:absolute;inset:0;z-index:2}.linkbox a[href],.linkbox abbr[title],.linkbox button{position:relative;z-index:3}.stack{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;row-gap:var(--stack-gap, 20px)}.stack>*{margin-top:0 !important;margin-bottom:0 !important}@media (min-width: 1680px){.container.container-v2,.container-v2.header{width:min(100vw, var(--container-v2-width, 1520px) + 30px)}}.container.container-v2::before,.container-v2.header::before,.container.container-v2::after,.container-v2.header::after{content:none}.section-space-top,.section-space-bottom{--section-space: 6rem}@media (min-width: 992px){.section-space-top,.section-space-bottom{--section-space: 8rem}}@media (min-width: 1200px){.section-space-top,.section-space-bottom{--section-space: 10rem}}@media (min-width: 1400px){.section-space-top,.section-space-bottom{--section-space: 12rem}}@media (min-width: 1680px){.section-space-top,.section-space-bottom{--section-space: 18rem}}.section-space-top{padding-top:var(--section-space)}.section-space-bottom{padding-bottom:var(--section-space)}.highlight{color:var(--text-highlight)}.list-reset{list-style:none;margin-top:0;margin-bottom:0;padding:0}.buffer{margin-bottom:6rem}.buffer.short{margin-bottom:3rem}.displaynone{display:none !important}.absolute{position:absolute}.lighter{font-weight:200}.relative{position:relative}.pull-right{float:right}@media (min-width: 480px){.xs-pull-right{float:right}}@media (min-width: 768px){.sm-pull-right{float:right}}@media (min-width: 992px){.md-pull-right{float:right}}@media (min-width: 1200px){.lg-pull-right{float:right}}.pull-left{float:left}.clear-left{clear:left}@media (min-width: 480px){.xs-clear-left{clear:left}}@media (min-width: 768px){.sm-clear-left{clear:left}}@media (min-width: 992px){.md-clear-left{clear:left}}@media (min-width: 1200px){.lg-clear-left{clear:left}}.clear-both{clear:both}.clear-right{clear:right}.z-0{z-index:0}.z-1{z-index:1}.z-2{z-index:2}.z-3{z-index:3}.z-4{z-index:4}.z-5{z-index:5}.z-6{z-index:6}.z-7{z-index:7}.z-8{z-index:8}.z-9{z-index:9}.z-10{z-index:10}.link-purple-lite{color:#d470ed;-webkit-transition:color 0.25s;transition:color 0.25s}.link-purple-lite:hover{color:#fff;text-decoration:underline}.list-inline{padding:0;list-style:none}.list-inline li{display:inline;position:relative;padding:0 7px 0 14px}.list-inline li:before{content:"";position:absolute;top:50%;left:0;width:4px;height:4px;margin-top:-2px;border-radius:4px}.list-inline li:first-child{padding-left:0}.list-inline li:first-child:before{display:none}.list-align{padding-left:1.8rem}.list-unstyled{padding:0;list-style:none}.upper-alpha>li{list-style:upper-alpha}.lower-roman>li{list-style:lower-roman}.superscript{vertical-align:super;font-size:50%}.inline{display:inline}.inline--block{display:inline-block}.show-desktop{display:none}@media (min-width: 768px){.show-desktop{display:block}}.show-mobile{display:block}@media (min-width: 768px){.show-mobile{display:none}}.v-center{display:-ms-flex;display:-webkit-box;display:flex;-ms-align-items:center;-webkit-box-align:center;align-items:center;height:100%}.flex-list{display:-ms-flex;display:-webkit-box;display:flex;-ms-align-items:center;-webkit-box-align:center;align-items:center;padding:0;margin:0;text-align:center;list-style:none}.flex-list>*{-webkit-box-flex:1;flex:1;display:inline-block}.block-center{display:block;margin-left:auto;margin-right:auto;text-align:center}.well{margin:3rem auto;padding:2rem;background-color:#f3f3f4;border-radius:0.3rem}.well p{margin:0}.well img{margin-right:2rem}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-inherit{text-align:inherit}.full-height{height:100%}@media (max-width: 767px){.center-xs{max-width:480px;margin-left:auto;margin-right:auto;text-align:center}}.hide-text{font:0/0 a;text-indent:-9999rem;text-shadow:none;background-color:transparent;border:0}.hide,.hidden{display:none}.visuallyhidden{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}@media (min-width: 992px){.col-padded{padding-left:4.5rem;padding-right:4.5rem}}.social a{display:inline-block;color:#5191b7;text-decoration:none;margin:0 .5rem;font-size:3.2rem}.social a:hover{color:#893999}.social a:first-child{margin-left:0}.social a:last-child{margin-right:0}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media (max-width: 767px){.visible-xs{display:block !important}table .visible-xs{display:table}tr .visible-xs{display:table-row !important}th .visible-xs,td .visible-xs{display:table-cell !important}}@media (max-width: 767px){.visible-xs-block{display:block !important}}@media (max-width: 767px){.visible-xs-inline{display:inline !important}}@media (max-width: 767px){.visible-xs-inline-block{display:inline-block !important}}@media (min-width: 768px) and (max-width: 991px){.visible-sm{display:block !important}table .visible-sm{display:table}tr .visible-sm{display:table-row !important}th .visible-sm,td .visible-sm{display:table-cell !important}}@media (min-width: 768px) and (max-width: 991px){.visible-sm-block{display:block !important}}@media (min-width: 768px) and (max-width: 991px){.visible-sm-inline{display:inline !important}}@media (min-width: 768px) and (max-width: 991px){.visible-sm-inline-block{display:inline-block !important}}@media (min-width: 992px) and (max-width: 1199px){.visible-md{display:block !important}table .visible-md{display:table}tr .visible-md{display:table-row !important}th .visible-md,td .visible-md{display:table-cell !important}}@media (min-width: 992px) and (max-width: 1199px){.visible-md-block{display:block !important}}@media (min-width: 992px) and (max-width: 1199px){.visible-md-inline{display:inline !important}}@media (min-width: 992px) and (max-width: 1199px){.visible-md-inline-block{display:inline-block !important}}@media (min-width: 1200px){.visible-lg{display:block !important}table .visible-lg{display:table}tr .visible-lg{display:table-row !important}th .visible-lg,td .visible-lg{display:table-cell !important}}@media (min-width: 1200px){.visible-lg-block{display:block !important}}@media (min-width: 1200px){.visible-lg-inline{display:inline !important}}@media (min-width: 1200px){.visible-lg-inline-block{display:inline-block !important}}@media (max-width: 767px){.hidden-xs{display:none !important}}@media (min-width: 768px) and (max-width: 991px){.hidden-sm{display:none !important}}@media (min-width: 992px) and (max-width: 1199px){.hidden-md{display:none !important}}@media (min-width: 1200px){.hidden-lg{display:none !important}}@media (min-width: 480px){.xs-inline-block{display:inline-block}}@media (min-width: 768px){.sm-inline-block{display:inline-block}}@media (min-width: 992px){.md-inline-block{display:inline-block}}@media (min-width: 1200px){.lg-inline-block{display:inline-block}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table .visible-print{display:table}tr .visible-print{display:table-row !important}th .visible-print,td .visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}}.color-white{color:#fff !important}.mb-60{margin-bottom:6rem}.text-transform-none{text-transform:none !important}.font-size-xs{font-size:var(--font-size-xs)}.font-size-sm{font-size:var(--font-size-sm)}.font-size-md{font-size:var(--font-size-md)}.font-size-lg{font-size:var(--font-size-lg)}.actions{font-size:0}.actions__button-wrap{position:absolute;-webkit-transform:translate(6px, -22px);transform:translate(6px, -22px)}@media (min-width: 1200px){.actions__button-wrap{position:relative;display:inline-block;-webkit-transform:none;transform:none}}.actions__button{display:inline-block;margin-left:2rem;width:3.5rem;height:3.5rem;line-height:3.3rem;vertical-align:middle;font-size:1.4rem;font-weight:700;color:var(--text-primary);cursor:pointer;-webkit-transition:color 0.3s, border 0.3s, background 0.3s, -webkit-transform 0.3s;transition:color 0.3s, border 0.3s, background 0.3s, -webkit-transform 0.3s;transition:transform 0.3s, color 0.3s, border 0.3s, background 0.3s;transition:transform 0.3s, color 0.3s, border 0.3s, background 0.3s, -webkit-transform 0.3s;padding:0 1.4rem;width:auto}.fr .actions__button{margin-left:0.8rem}.header--hover .actions__button{color:var(--text-primary)}.header-wrap--fixed .header--hover .actions__button{color:var(--text-primary)}.actions__button.hover,.actions__button:hover{color:var(--text-primary)}.actions__button--login{margin-right:50px}@media (min-width: 1200px){.actions__button{padding:0 2rem}}.actions__button--no-border{padding:0;border-style:none;font-weight:400;font-size:1.8rem}.actions__color--purple{background:#893999;-webkit-transition:-webkit-transform 0.3s;transition:-webkit-transform 0.3s;transition:transform 0.3s;transition:transform 0.3s, -webkit-transform 0.3s}.actions__color--purple:hover{background:#ab4ac3}.actions__color--blue{background:#2676A5}.actions__color--green{border-color:#3da07b;background:#3da07b}.actions__color--green:hover{border-color:#2f7b5f;background:#2f7b5f}.actions__color--grey,.actions__color--gray{background:#38383A}.actions__color--bluegrey,.actions__color--bluegray{background:#59697e;border-color:#59697e}.actions__color--bluegrey:hover,.actions__color--bluegray:hover{border-color:#475465;background:#475465}.header-wrap{position:absolute;width:100%;height:9rem;z-index:9;border-bottom:1px solid transparent;-webkit-transition:border-color 0.2s;transition:border-color 0.2s}.header-wrap--fixed{border-color:var(--border-color)}.hero-banner .header-wrap{top:9.2rem}@media (min-width: 768px){.hero-banner .header-wrap{top:4.5rem}}.header-wrap:after{position:absolute;z-index:-1;visibility:hidden;content:url("/img2/logo-recurly.svg")}.nav-open .header-wrap{top:0 !important}.header-wrap--fixed,.header-wrap.header--hover,.header-wrap.mobile-nav-open{position:fixed}.header-wrap.mobile-nav-open,.header-wrap.header-wrap--light{height:9rem}.header-wrap.mobile-nav-open .header__logo,.header-wrap.header-wrap--light .header__logo{background:left center url("/img2/logo-recurly.svg") no-repeat;background-size:96px}.header{display:-webkit-box;display:flex;-webkit-box-pack:end;justify-content:flex-end;gap:20px;position:relative;z-index:10;margin-bottom:-9rem;height:9rem;line-height:9rem}.header-wrap--fixed .header,.header--hover .header{height:9rem;line-height:9rem}.header__logo{--logo-width: 140px;display:block;margin-right:auto;width:var(--logo-width);height:9rem;text-indent:-9999px;background:left center url("/img2/logo-recurly.svg") no-repeat;background-size:var(--logo-width)}.header-wrap--fixed .header__logo,.header--hover .header__logo,.mobile-nav-open .header__logo{height:9rem}.header-wrap--fixed .header--hover .header__logo,.header--hover .header--hover .header__logo,.mobile-nav-open .header--hover .header__logo{opacity:1}.header__logo.hover{opacity:1}@media (max-width: 1199px){.header__logo{left:2rem;--logo-width: 150px}}.header__demo-btn{min-width:140px}.header-nav{width:100%}.header-nav__left{z-index:4}.header-nav__right{padding-right:0 !important}.header-nav__right-wrap{padding:5rem 0 2.6rem 6.4rem}.header-nav__right-wrap:before{display:block;content:" ";position:absolute;top:0;left:2.8rem;height:39.9rem;width:1px;background:#ccc}.header-nav__right-wrap .subnav-item__side-heading{color:#232932;font-size:1.6rem;font-weight:700;line-height:20px;margin:2rem 0 0 0}.header-nav__right-wrap-link:hover{color:#FFD706}.header__actions{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;gap:20px}@media (min-width: 768px){.header__demo-btn{height:40px;padding:0 1.5rem}}@media (min-width: 1200px){.header__demo-btn{height:54px;padding:0 3rem}}@media (max-width: 1200px){.header__login-btn{font-size:1.6rem}}@media (max-width: 991px){.header__navigation{display:none}}.header__navigation .navigation__subnav{display:none}.header__mobile{display:none;color:#fff}@media (max-width: 991px){.header{gap:10px}.header__actions{display:none}.header__mobile{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;gap:6px}}.subnav ul{list-style:none}.subnav p{font-size:1.4rem;color:#232932;font-weight:400}.subnav a{font-size:1.4rem;font-weight:400;-webkit-text-decoration-line:none;text-decoration-line:none}.subnav-item__column{display:-webkit-box;display:flex;position:absolute;top:100%;padding:2.5rem 4.8rem 1.5rem 2.4rem;background:var(--background-primary);box-shadow:0px 4px 12px #00000026}.subnav-item__column.hide{display:none}.subnav-item__column--product{display:-webkit-box;display:flex}.subnav-item__column--solutions a,.subnav-item__column--resources a,.subnav-item__column--about a{font-size:1.6rem}.subnav-item__large{display:-webkit-box;display:flex;-webkit-box-pack:justify;justify-content:space-between;width:100rem;padding:0;z-index:2;box-shadow:0 4px 12px rgba(35,41,50,0.15);border:solid 1px var(--border-color)}@media (min-width: 992px){.subnav-item__large{left:-3rem;width:81.6rem}}.subnav-item__large:after{display:block;content:"";background:#fff;width:80%;height:100%;position:absolute;top:0;left:0;background:transparent;top:-3.6rem;z-index:-1}.subnav-item__large--solutions,.subnav-item__large--resources,.subnav-item__large--about{width:53.6rem}.subnav-item__large--solutions .subnav-item__left,.subnav-item__large--resources .subnav-item__left,.subnav-item__large--about .subnav-item__left{border-right:0 none}.subnav-item__large--solutions .subnav-item__nav,.subnav-item__large--resources .subnav-item__nav,.subnav-item__large--about .subnav-item__nav{line-height:initial}.subnav-item__large--solutions .subnav-item__link,.subnav-item__large--resources .subnav-item__link,.subnav-item__large--about .subnav-item__link{padding:0.3rem 3rem;width:100%;font-size:1.4rem}.subnav-item__large--solutions .subnav-item__link:hover,.subnav-item__large--resources .subnav-item__link:hover,.subnav-item__large--about .subnav-item__link:hover{background:#32312D}.subnav-item__large--solutions{width:56.6rem}.subnav-item__large--solutions .subnav-item__left{border-right:1px solid var(--border-color)}.subnav-item__large--resources{width:53.6rem}.subnav-item__large--about{width:18rem}.subnav-item__large .subnav-item__nav{margin:0;padding:0;white-space:normal}.subnav-item__large .subnav-item__nav h3{margin:0;padding:1rem 3rem;font-weight:700;font-size:1.6rem;line-height:1.8rem;cursor:default}.subnav-item__large .subnav-item__nav h3 a{font-size:1.6rem;line-height:1.8rem;font-weight:700}.subnav-item__large .subnav-item__secondary a{width:100%;padding:0.5rem 3rem;font-size:1.4rem;font-weight:400}.subnav-item__large .subnav-item__secondary a:hover{background:#32312D}.subnav-item__left{width:28.6rem;margin:2rem 0;padding:0;border-right:1px solid #32312D}.subnav-item__left li{padding:0}.subnav-item__left li.active h3{color:var(--text-highlight);background:#32312D}.subnav-item__left li.active h3 a{color:var(--text-highlight)}.subnav-item__left li.active h3:before{display:block;content:" ";position:absolute;top:-4rem;right:0;width:11rem;height:12rem;z-index:1}.subnav-item__left li.active h3:after{mask:url("/img2/icons/nav-arrow.svg") no-repeat;-webkit-mask:url("/img2/icons/nav-arrow.svg") no-repeat;-webkit-mask-size:cover;mask-size:cover;background-repeat:no-repeat;background-color:var(--text-highlight)}.subnav-item__left h3{width:100%}.subnav-item__left h3:after{display:block;content:" ";position:absolute;top:1.4rem;right:1rem;width:1.6rem;height:1rem}.subnav-item__mid{width:28rem;padding:2rem 0}.subnav-item__right{width:25rem;padding:1rem 0 2rem 0;border-left:1px solid #32312D;background:#32312D}.subnav-item__right p{display:block;margin:0;line-height:initial}.subnav-item__right a,.subnav-item__right strong{display:block;height:auto;width:100%}.subnav-item__right a{color:var(--text-primary);padding:0.45rem 3rem}.subnav-item__right a:hover{color:var(--text-highlight)}.subnav-item__right strong{padding:1rem 3rem 0.6rem;font-weight:700;color:var(--text-highlight)}.subnav-item__right .nav-resources__label{color:var(--text-highlight);font-weight:700}.subnav-item__right .nav-resources__image{width:19rem;margin:0}.subnav-item__right .nav-resources__title{margin:0 0 1.5rem;color:var(--text-highlight);white-space:normal}.subnav-item__right .nav-resources__title a{font-size:1.4rem}.subnav-item__secondary{padding:0;display:none}.subnav-item__secondary.active{display:block}.subnav-item__secondary li{margin:1.4rem 0;font-size:1.4rem;line-height:2rem}.subnav-item__secondary--small{font-size:1.3rem}.subnav-item__nav{position:relative;margin:0 0 1rem}.subnav-item__nav h3{font-size:1.4rem;line-height:2.4rem;margin:0}.subnav-item__heading{margin:1.5rem 0 0;-webkit-transition:color .25s;transition:color .25s}.subnav-item__subheading{margin:.8rem 0 2rem;color:#343F4B;font-weight:400;width:100%;max-width:25.5rem}.subnav-item__link{line-height:2.4rem}.subnav-item__link:hover .subnav-item__heading{color:var(--text-highlight)}.subnav-item__image{width:30rem}.subnav-item__side-text{font-size:1.4rem;margin:1.4rem 0 1.6rem 0}.subnav-item__side-link{color:#232932;font-size:1.6rem;font-weight:400}.subnav .learn-more{color:#893999;font-size:1.6rem}.subnav .learn-more:hover{color:#a84abb}.mobile-button{position:relative;width:4.1rem;height:4.1rem;background:var(--btn-primary-bg);border-radius:6px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;--loffset: -4px}.mobile-button span{display:block;position:absolute;top:1.9rem;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);text-indent:-9999px}.mobile-button span,.mobile-button span:before,.mobile-button span:after{width:2.3rem;height:0.3rem}.mobile-button span:before,.mobile-button span:after{content:"";position:absolute;top:var(--loffset);left:0;-webkit-transform-origin:50% 50%;transform-origin:50% 50%;background:var(--background-primary)}.mobile-nav-open .mobile-button span{background:transparent}.mobile-nav-open .mobile-button span:before{top:0;-webkit-transform:rotateZ(-45deg);transform:rotateZ(-45deg)}.mobile-button span:after{top:auto;bottom:var(--loffset)}.mobile-nav-open .mobile-button span:after{bottom:0;-webkit-transform:rotateZ(-135deg);transform:rotateZ(-135deg)}.footer,.footer__bottom{border-top:1px solid var(--border-color)}.footer__menu-wrap{display:grid;grid-template-areas:"logo" "links" "social";gap:40px}@media (max-width: 1679px){.footer__menu-wrap{font-size:1.6rem}}@media (min-width: 1200px){.footer__menu-wrap{grid-template-columns:var(--footer-logo-size, auto) 1fr;grid-template-areas:"logo links" "social links";gap:80px}}@media (min-width: 1680px){.footer__menu-wrap{--footer-logo-size: minmax(min-content, 240px)}}.footer__logo{grid-area:logo}.footer__lists{grid-area:links;display:grid;-webkit-box-align:start;align-items:start;gap:40px}@media (min-width: 620px){.footer__lists{grid-template-columns:repeat(var(--footer-list-columns, 3), auto);grid-template-rows:auto 1fr;row-gap:60px}}@media (min-width: 992px){.footer__lists{--footer-list-columns: 5;row-gap:80px}}@media (min-width: 620px){.footer__list{grid-row:span 2}.footer__list--shorty{grid-row:span 1;grid-column:2 / span 1}.footer__list--shorty+.footer__list--shorty{grid-row-start:2}}@media (min-width: 1200px){.footer__list{--stack-gap: 30px}}.footer__links{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;gap:20px}.footer__social{grid-area:social;display:-webkit-box;display:flex;gap:20px;align-self:end}.footer__social img{max-width:16px}.footer__social a{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;width:40px;height:40px;border-radius:50%;background-color:#FF5810;-webkit-transition:background-color .3s;transition:background-color .3s}.footer__social a:hover{background-color:#FF9D88}.footer__bottom{padding:40px 0}@media (max-width: 991px){.footer__bottom{padding-bottom:80px}}.footer__list-secondary{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;gap:20px}@media (min-width: 768px){.footer__list-secondary{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:end;justify-content:end;flex-wrap:wrap}}@media (min-width: 1200px){.footer__list-secondary{gap:40px}}.footer .legal-consent-container{position:absolute}.footer-basic__grid{display:-webkit-box;display:flex;-webkit-box-pack:justify;justify-content:space-between;-webkit-box-align:center;align-items:center;gap:40px}@media (max-width: 991px){.footer-basic__grid{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:start;justify-content:start;-webkit-box-align:start;align-items:start}}@media (max-width: 991px){.footer--basic .footer__social{align-self:start}}.segment,.content-group{position:relative;padding-top:6rem;padding-bottom:6rem}@media (min-width: 768px){.segment,.content-group{padding-top:12.5rem;padding-bottom:12.5rem}.segment--wider{padding-top:12rem}}.segment--grey{background-color:#f3f3f4}.segment--darkgrey{background-color:#707074}.segment--purple{background-color:#893999}.segment--darkpurple{background-color:#441c4c}.segment--blue{background-color:#2676a5}.segment--green{background-color:#3da07b}.segment--bordered{border-top:1px solid #e2e2e3}.segment--large{padding-top:6rem;padding-bottom:6rem}@media (min-width: 768px){.segment--large{padding-top:10rem;padding-bottom:10rem}}.segment--medium{padding-top:6rem;padding-bottom:6rem}@media (min-width: 768px){.segment--medium{padding-top:6rem;padding-bottom:6rem}}.segment--narrow{padding-top:3rem;padding-bottom:3rem}@media (min-width: 768px){.segment--narrow{padding-top:6rem;padding-bottom:6rem}}@media (min-width: 768px){.segment--first{padding-top:12.5rem}}@media (min-width: 768px){.segment--last{padding-bottom:12.5rem}}.segment--resources h2{color:#232932;font-weight:800}.segment--cta .btn{padding:1.3rem 3rem 1.2rem;font-size:1.8rem;margin:0 auto}.navigation{line-height:9rem;white-space:nowrap}.header-wrap--fixed .navigation,.header--hover .navigation,.header-wrap--light .navigation{line-height:9rem}.navigation a{display:inline-block}.navigation .no-click-events{pointer-events:none}.navigation,.navigation__item,.navigation__sub,.navigation__subitem{margin:0;padding:0;list-style:none}.navigation__item{display:-webkit-box;display:flex;position:relative;float:left;margin-right:0}.navigation__item>a,.navigation__item>span{padding-right:2rem;color:var(--text-primary);font-size:1.6rem}.de .navigation__item>a,.de .navigation__item>span{padding-right:2rem}.fr .navigation__item>a,.fr .navigation__item>span{padding-right:1.4rem}@media (min-width: 1200px){.navigation__item>a,.navigation__item>span{font-size:1.8rem;padding-right:3rem}}@media (min-width: 1680px){.navigation__item>a,.navigation__item>span{padding-right:5rem}}.navigation__item span{-webkit-transition:color 0.25s;transition:color 0.25s}.header-wrap--fixed .navigation__item:first-child,.header--hover .navigation__item:first-child,.header-wrap--light .navigation__item:first-child{display:inline-block}.header-wrap--fixed .navigation__item:first-child.navigation__item--hover+.navigation__item:before,.header--hover .navigation__item:first-child.navigation__item--hover+.navigation__item:before,.header-wrap--light .navigation__item:first-child.navigation__item--hover+.navigation__item:before{-webkit-transform:rotateZ(90deg);transform:rotateZ(90deg);left:-3.3rem}.header-wrap--fixed .navigation__item--hover>a,.header-wrap--fixed .navigation__item:hover>a,.header--hover .navigation__item--hover>a,.header--hover .navigation__item:hover>a,.header-wrap--light .navigation__item--hover>a,.header-wrap--light .navigation__item:hover>a{-webkit-text-decoration-line:underline;text-decoration-line:underline}.header-wrap--fixed .navigation__item--hover>span,.header-wrap--fixed .navigation__item:hover>span,.header--hover .navigation__item--hover>span,.header--hover .navigation__item:hover>span,.header-wrap--light .navigation__item--hover>span,.header-wrap--light .navigation__item:hover>span{cursor:default}.header-wrap--fixed:hover .navigation__item:first-child+.navigation__item:before{-webkit-transform:rotateZ(90deg);transform:rotateZ(90deg);left:-3.3rem}.navigation__item--hidden{display:none;position:relative;margin-left:2rem;color:#232932;font-size:1.4rem;font-weight:600;opacity:0;-webkit-transition:opacity 0.3s;transition:opacity 0.3s}.navigation__item--hidden>a{color:#2676a5}.navigation__item--hidden:before{display:block;position:absolute;left:-3rem;top:4rem;margin:auto;color:#c5c5c8;font:1.2rem/0.9 'icomoon';content:"\e603";-webkit-transform:rotateZ(0);transform:rotateZ(0);-webkit-transition:all 0.25s;transition:all 0.25s}.header-wrap--fixed .navigation__item--hidden,.header--hover .navigation__item--hidden,.header-wrap--light .navigation__item--hidden{display:block;opacity:1}.navigation__subnav{display:-webkit-box;display:flex;position:absolute;top:75%;pointer-events:none}.navigation__subnav ul{position:relative;border-radius:3px 0 0 3px}.navigation__subnav ul:first-child{border-right:0 none}.navigation__subnav ul+ul{border-radius:0 3px 3px 0;border-left:0 none}.navigation__sub{position:absolute;top:75%;left:-1.5rem;padding:2rem 3rem;line-height:2.8rem;border-radius:0.3rem;border:0.1rem solid #e2e2e3;border-bottom-width:2px;background:#fff;opacity:0;-webkit-transform:translateY(-0.5rem);transform:translateY(-0.5rem);-webkit-transition:opacity 0.2s, -webkit-transform 0.2s;transition:opacity 0.2s, -webkit-transform 0.2s;transition:transform 0.2s, opacity 0.2s;transition:transform 0.2s, opacity 0.2s, -webkit-transform 0.2s;pointer-events:none}.header-wrap--fixed:hover .navigation__sub,.header-wrap--fixed .navigation__sub{top:98%;border-radius:0 0 0.3rem 0.3rem}.navigation__item--hover .navigation__sub,.navigation__item--hover .navigation__subnav{pointer-events:all;opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}.navigation__label{font-weight:600;margin:0 auto 1.2rem;padding:0 0 0.6rem;border-bottom:1px solid #e2e2e3}.navigation__subitem.standard a{font-weight:500}.navigation__subitem a{font-size:1.5rem;font-weight:500;color:#38383a;cursor:pointer}.navigation__subitem a:hover{color:#893999}.navigation__nav-divider{width:calc( 100% + 4rem);margin:1.4rem -2rem}@media (min-width: 1680px){.navigation{padding-right:3rem}}a:-webkit-any-link:focus-visible{outline-offset:10px}.mobile-nav__menu-button-wrapper{width:32px;height:24px;position:relative;cursor:pointer}.mobile-nav__menu-line{-webkit-backface-visibility:hidden;backface-visibility:hidden;width:100%;height:2px;position:absolute;left:0;top:10px;-webkit-transform-origin:center center;transform-origin:center center;-webkit-transition:-webkit-transform 0.3s,background 0.3s;-webkit-transition:transform 0.3s,background 0.3s;-webkit-transition:background 0.3s,-webkit-transform 0.3s;transition:background 0.3s,-webkit-transform 0.3s;transition:transform 0.3s,background 0.3s;transition:transform 0.3s,background 0.3s,-webkit-transform 0.3s;background-color:#fff}.mobile-nav__menu-line--top{webkit-transform:translateY(-4.5px);-webkit-transform:translateY(-4.5px);transform:translateY(-4.5px)}.mobile-nav__menu-line--bottom{-webkit-transform:translateY(4.5px);transform:translateY(4.5px)}.mobile-nav__menu{display:grid;grid-template-columns:[left-gutter] 0fr [content] 12fr [right-gutter] 0fr;width:100%;height:calc(100% - 18.6rem);position:fixed;top:90px;left:0;background-color:#0D0D0B;-webkit-transition:all 0.2s;transition:all 0.2s;opacity:0;visibility:hidden}.mobile-nav__menu--active{opacity:1;visibility:visible}.mobile-nav__section-header{color:#59697E;font-size:1.4rem;line-height:100%;text-transform:uppercase;border:none;border-top:1px solid var(--border-color);margin-left:4rem;padding:0;letter-spacing:.07rem;margin-top:1rem}.mobile-nav__section-header legend{padding-right:1rem}.mobile-nav__category-wrapper{grid-column:content;padding:0;margin:0;overflow-y:auto}.mobile-nav__title{display:block;padding:2.4rem 2rem;position:relative;font-weight:bold}.mobile-nav__title:after{content:'';background:url("/img2/header/icons/menu_carat.svg") no-repeat;position:absolute;top:3.5rem;right:2rem;height:1rem;width:1.4rem;background-size:100%;-webkit-transition:-webkit-transform 0.3s ease 0s;transition:-webkit-transform 0.3s ease 0s;transition:transform 0.3s ease 0s;transition:transform 0.3s ease 0s, -webkit-transform 0.3s ease 0s}.mobile-nav__title--no-accordion:after{display:none}.mobile-nav__title,.mobile-nav__menu-item-link{color:var(--text-primary);font-size:1.6rem;line-height:2rem}.mobile-nav__menu-item-link{display:block;padding-right:2rem;margin:0 0 2.4rem 4rem;color:var(--text-primary);-webkit-text-decoration:none;text-decoration:none;font-weight:400}.mobile-nav__submenu-wrapper{background-color:#efefef;padding:10px 20px;margin:10px 0}.mobile-nav__category-item{display:grid;margin:0;padding:0;list-style:none}.mobile-nav__category-item-link{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-decoration:none;border:none;margin:0;padding:0;text-align:inherit;background:transparent;color:inherit;font:inherit;line-height:normal;-webkit-font-smoothing:inherit;-moz-osx-font-smoothing:inherit;-webkit-appearance:none}.mobile-nav__category-item-layout{display:grid;grid-template-columns:auto;-webkit-box-align:center;align-items:center}.mobile-nav__title-wrapper{grid-column:1 / auto}.mobile-nav__accordion-toggle.active .mobile-nav__title:after{-webkit-transform:rotate(-180deg);transform:rotate(-180deg)}.mobile-nav__accordion{overflow:hidden;-webkit-transition:max-height 250ms ease 0s;transition:max-height 250ms ease 0s;max-height:0}.mobile-nav__accordion.active{max-height:1000px;height:auto}.mobile-nav__accordion-wrapper ul{list-style:none;padding:0}.mobile-nav__accordion-wrapper li:last-of-type{padding-bottom:.8rem}.mobile-nav__line{border-bottom:1px solid var(--border-color)}.mobile-nav__line:last-of-type{border-bottom:1px solid var(--border-color)}.mobile-nav__cta-wrap{position:fixed;bottom:0;padding:3.2rem 2rem 0;background:#fff;text-align:center;line-height:2rem;width:100%;box-shadow:0px -5px 10px #00000012}.mobile-nav__cta-button.btn{width:100%;max-width:33.5rem;margin:0 auto;padding:1.8rem 0;display:block;font-size:2rem;line-height:2.4rem;color:#F3F3F4}.mobile-nav__cta-link{color:#232932;display:inline-block;font-size:1.4rem;font-weight:400;line-height:1.7rem;text-transform:uppercase;margin:0 2rem;padding:2.4rem 0 3.2rem 0}.content-group{margin-left:-15px;margin-right:-15px}.content-group:before,.content-group:after{content:" ";display:table}.content-group:after{clear:both}.segment .content-group,.content-group .content-group{padding-top:0;padding-bottom:0;background:transparent}.content-group__body{position:relative;min-height:1px;padding-left:15px;padding-right:15px;margin-bottom:6rem}@media (min-width: 768px){.content-group__body{float:left;width:100%}}.content-group__body--has-sidebar{position:relative;min-height:1px;padding-left:15px;padding-right:15px}@media (min-width: 768px){.content-group__body--has-sidebar{float:left;width:66.6666666667%}}@media (min-width: 768px){.content-group__body{margin-bottom:0}}.content-group__sidebar{position:relative;min-height:1px;padding-left:15px;padding-right:15px;position:relative;min-height:1px;padding-left:15px;padding-right:15px;padding-top:3rem;border-top:1px solid #e2e2e3}@media (min-width: 768px){.content-group__sidebar{float:left;width:33.3333333333%}}@media (min-width: 992px){.content-group__sidebar{float:left;width:25%}}@media (min-width: 992px){.content-group__sidebar{margin-left:8.3333333333%}}@media (min-width: 768px){.content-group__sidebar{border-top:0;padding-top:0}}.content-group__sidebar h2:not([class]){margin-bottom:2rem}.content-group__sidebar h3:not([class]){font-size:2rem;font-weight:600}.content-group__sidebar dd{margin-bottom:1.5rem}.content-group__sidebar dl:not([class]),.content-group__sidebar ul:not([class]),.content-group__sidebar p:not([class]),.content-group__sidebar address:not([class]){margin-bottom:3rem}.content-group__sidebar ul:not([class]){padding-left:1.7rem}@media (min-width: 768px){.content-group--narrow{padding-top:3rem;padding-bottom:3rem}}@media (min-width: 768px){.content-group--narrow-bottom{padding-bottom:3rem}}@media (max-width: 767px){.content-group [class*="col-sm"]{margin-bottom:6rem}}.wrap__sidebar,.wrap__content{-webkit-transition:-webkit-transform 0.4s;transition:-webkit-transform 0.4s;transition:transform 0.4s;transition:transform 0.4s, -webkit-transform 0.4s}html.sidebar-open .wrap__content{-webkit-transform:translate3d(-22.5rem, 0, 0);transform:translate3d(-22.5rem, 0, 0)}@media (min-width: 992px){html.sidebar-open .wrap__content{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}}.wrap__sidebar{-webkit-transform:translate3d(22.5rem, 0, 0);transform:translate3d(22.5rem, 0, 0)}html.sidebar-open .wrap__sidebar{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}html.sidebar-open{overflow:hidden}body.cookie{--cookie-banner-offset: 6.7rem}body.cookie .wrap{margin-bottom:var(--cookie-banner-offset)}.wrap{position:relative;width:100%;overflow:hidden;-webkit-overflow-scrolling:touch}html.sidebar-open .wrap__content{height:100vh;overflow:hidden;cursor:pointer}.wrap__sidebar{position:absolute;top:0;right:0}@media (min-width: 992px){.wrap__sidebar{display:none}} </style> <!-- Main CSS --> <!-- MAIN.CSS --> <style rel="stylesheet" type="text/css">.dropdown,form .select{display:inline-block;position:relative;width:26rem;height:4rem;line-height:4rem;text-align:left;border-radius:3px;border:0.1rem solid #e2e2e3;background:#f8f8f9;-webkit-transition:border 0.25s;transition:border 0.25s}.dropdown:hover,form .select:hover{border-color:#ccc}.dropdown__toggle{display:block;padding:0 3rem 0 1.5rem;font-size:1.6rem;color:var(--text-primary);text-decoration:none}.dropdown__toggle:hover{color:var(--text-primary)}.dropdown [class*="icon-"],form .select [class*="icon-"]{display:block;content:"";position:absolute;top:0.4rem;right:0;bottom:0;width:3.2rem;line-height:4rem;text-align:center;color:#8c8c91;pointer-events:none}.dropdown__menu{position:absolute;top:4.75rem;right:0;left:0;margin:0;padding:0;max-height:40rem;overflow:auto;border-radius:.3rem;border:.1rem solid #e2e2e3;background:#fff;opacity:0;z-index:1;-webkit-transform:translateY(-1rem);transform:translateY(-1rem);pointer-events:none;-webkit-transition:opacity .2s, -webkit-transform .2s;transition:opacity .2s, -webkit-transform .2s;transition:opacity .2s, transform .2s;transition:opacity .2s, transform .2s, -webkit-transform .2s}.dropdown__menu--show{opacity:1;-webkit-transform:translateY(0rem);transform:translateY(0rem);pointer-events:all}.dropdown__menu li{margin:0;padding:0;list-style:none}.dropdown__menu a{display:block;padding:0 1.5rem;color:var(--text-primary);text-decoration:none;line-height:4rem;vertical-align:middle}.dropdown__menu a:hover{background-color:#f8f8f9}.dropdown__menu li:first-child a{border-top:none}.country-flag{display:inline-block;margin:0 .8rem .2rem 0;width:16px;height:14px;vertical-align:middle;background:center no-repeat;background-size:16px}.country-flag.country-all{background-image:url("/img2/icons/flags/all.png")}.country-flag.country-us{background-image:url("/img2/icons/flags/us.png")}.country-flag.country-ca{background-image:url("/img2/icons/flags/ca.png")}.country-flag.country-gb{background-image:url("/img2/icons/flags/gb.png")}.country-flag.country-ad{background-image:url("/img2/icons/flags/ad.png")}.country-flag.country-ar{background-image:url("/img2/icons/flags/ar.png")}.country-flag.country-at{background-image:url("/img2/icons/flags/at.png")}.country-flag.country-au{background-image:url("/img2/icons/flags/au.png")}.country-flag.country-be{background-image:url("/img2/icons/flags/be.png")}.country-flag.country-bg{background-image:url("/img2/icons/flags/bg.png")}.country-flag.country-br{background-image:url("/img2/icons/flags/br.png")}.country-flag.country-cl{background-image:url("/img2/icons/flags/cl.png")}.country-flag.country-cn{background-image:url("/img2/icons/flags/cn.png")}.country-flag.country-hr{background-image:url("/img2/icons/flags/hr.png")}.country-flag.country-cy{background-image:url("/img2/icons/flags/cy.png")}.country-flag.country-dk{background-image:url("/img2/icons/flags/dk.png")}.country-flag.country-fi{background-image:url("/img2/icons/flags/fi.png")}.country-flag.country-fr{background-image:url("/img2/icons/flags/fr.png")}.country-flag.country-cz{background-image:url("/img2/icons/flags/cz.png")}.country-flag.country-es{background-image:url("/img2/icons/flags/es.png")}.country-flag.country-gr{background-image:url("/img2/icons/flags/gr.png")}.country-flag.country-hk{background-image:url("/img2/icons/flags/hk.png")}.country-flag.country-hu{background-image:url("/img2/icons/flags/hu.png")}.country-flag.country-de{background-image:url("/img2/icons/flags/de.png")}.country-flag.country-ge{background-image:url("/img2/icons/flags/ge.png")}.country-flag.country-gi{background-image:url("/img2/icons/flags/gi.png")}.country-flag.country-ee{background-image:url("/img2/icons/flags/ee.png")}.country-flag.country-id{background-image:url("/img2/icons/flags/id.png")}.country-flag.country-ie{background-image:url("/img2/icons/flags/ie.png")}.country-flag.country-il{background-image:url("/img2/icons/flags/il.png")}.country-flag.country-im{background-image:url("/img2/icons/flags/im.png")}.country-flag.country-in{background-image:url("/img2/icons/flags/in.png")}.country-flag.country-is{background-image:url("/img2/icons/flags/is.png")}.country-flag.country-it{background-image:url("/img2/icons/flags/it.png")}.country-flag.country-jp{background-image:url("/img2/icons/flags/jp.png")}.country-flag.country-kr{background-image:url("/img2/icons/flags/kr.png")}.country-flag.country-lv{background-image:url("/img2/icons/flags/lv.png")}.country-flag.country-li{background-image:url("/img2/icons/flags/li.png")}.country-flag.country-lt{background-image:url("/img2/icons/flags/lt.png")}.country-flag.country-lu{background-image:url("/img2/icons/flags/lu.png")}.country-flag.country-mc{background-image:url("/img2/icons/flags/mc.png")}.country-flag.country-mt{background-image:url("/img2/icons/flags/mt.png")}.country-flag.country-mx{background-image:url("/img2/icons/flags/mx.png")}.country-flag.country-my{background-image:url("/img2/icons/flags/my.png")}.country-flag.country-nl{background-image:url("/img2/icons/flags/nl.png")}.country-flag.country-nz{background-image:url("/img2/icons/flags/nz.png")}.country-flag.country-no{background-image:url("/img2/icons/flags/no.png")}.country-flag.country-other{background-image:url("/img2/icons/flags/other.png")}.country-flag.country-ph{background-image:url("/img2/icons/flags/ph.png")}.country-flag.country-pl{background-image:url("/img2/icons/flags/pl.png")}.country-flag.country-pt{background-image:url("/img2/icons/flags/pt.png")}.country-flag.country-ro{background-image:url("/img2/icons/flags/ro.png")}.country-flag.country-ru{background-image:url("/img2/icons/flags/ru.png")}.country-flag.country-sm{background-image:url("/img2/icons/flags/sm.png")}.country-flag.country-sk{background-image:url("/img2/icons/flags/sk.png")}.country-flag.country-si{background-image:url("/img2/icons/flags/si.png")}.country-flag.country-sg{background-image:url("/img2/icons/flags/sg.png")}.country-flag.country-es{background-image:url("/img2/icons/flags/es.png")}.country-flag.country-se{background-image:url("/img2/icons/flags/se.png")}.country-flag.country-ch{background-image:url("/img2/icons/flags/ch.png")}.country-flag.country-th{background-image:url("/img2/icons/flags/th.png")}.country-flag.country-tr{background-image:url("/img2/icons/flags/tr.png")}.country-flag.country-tw{background-image:url("/img2/icons/flags/tw.png")}.country-flag.country-va{background-image:url("/img2/icons/flags/va.png")}.country-flag.country-za{background-image:url("/img2/icons/flags/za.png")}.country-flag.country-none{background:#000}form .input-defaults,form .hs-input,form .select,form .textarea{display:block;width:36rem;max-width:100%;border-radius:3px;border:1px solid #e2e2e3}form p{margin:0 auto 2rem}form .hs-input{height:4rem;line-height:4rem;padding-left:1.2rem;display:inline-block;max-width:100%;box-shadow:none}form .hs-input:focus{border:1px solid #c8c8ca}form .hs-input--text,form .hs-input--tel,form .hs-input--email{-webkit-appearance:none;-moz-appearance:none;appearance:none}form .hs-input--checkbox{margin-right:.5rem}form .hs-input--radio{margin-right:.5rem}form .hs-input--block{display:block;width:100%}form .hs-input--inline{display:inline;width:auto}form .select{padding-left:1.2rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:#8c8c91;background:#f8f8f9 url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2229%22%20height%3D%2248%22%20viewBox%3D%220%200%2029%2048%22%3E%0A%3Cpath%20fill%3D%22%238c8c91%22%20d%3D%22M14.523%2045.825v0c-0.698%200-1.397-0.349-1.921-0.873l-10.651-11.349c-1.048-1.048-0.873-2.794%200.175-3.667%201.048-1.048%202.794-0.873%203.667%200.175l8.73%209.254%208.73-9.254c1.048-1.048%202.619-1.048%203.667-0.175%201.048%201.048%201.048%202.619%200.175%203.667l-10.651%2011.349c-0.524%200.524-1.222%200.873-1.921%200.873z%22%3E%3C/path%3E%0A%3Cpath%20fill%3D%22%238c8c91%22%20d%3D%22M25.174%2018.413c-0.698%200-1.397-0.349-1.921-0.873l-8.73-9.254-8.73%209.254c-0.873%201.222-2.619%201.222-3.667%200.175-1.048-0.873-1.048-2.619%200-3.667l10.651-11.349c1.048-1.048%202.794-1.048%203.841%200l10.476%2011.349c1.048%201.048%200.873%202.794-0.175%203.667-0.524%200.524-1.048%200.698-1.746%200.698z%22%3E%3C/path%3E%0A%3C/svg%3E%0A") 97% 50% no-repeat;background-position:calc(100% - 1.2rem);background-size:9px 14px}form .select:focus,form .select:active{outline:none}form .select option{position:relative;z-index:2;text-indent:1.2rem}form .textarea{width:100%;max-width:none}form .label{display:block;font-weight:600;margin-bottom:1rem}form .label--inline{display:inline-block;margin:0 .4rem 0 0}form .label--lite{font-weight:400}.clearfix:before,.container:before,.container-fluid:before,.card--inverse:before,.clearfix:after,.container:after,.container-fluid:after,.card--inverse:after{content:" ";display:table}.clearfix:after,.container:after,.container-fluid:after,.card--inverse:after{clear:both}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px;min-width:320px}@media (min-width: 768px){.container{width:750px}}@media (min-width: 992px){.container{width:970px}}@media (min-width: 1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px;min-width:320px}.row{margin-left:-15px;margin-right:-15px}.row:before,.row:after{content:" ";display:table}.row:after{clear:both}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-1{width:8.3333333333%}.col-xs-2{width:16.6666666667%}.col-xs-3{width:25%}.col-xs-4{width:33.3333333333%}.col-xs-5{width:41.6666666667%}.col-xs-6{width:50%}.col-xs-7{width:58.3333333333%}.col-xs-8{width:66.6666666667%}.col-xs-9{width:75%}.col-xs-10{width:83.3333333333%}.col-xs-11{width:91.6666666667%}.col-xs-12{width:100%}.col-xs-pull-0{right:auto}.col-xs-pull-1{right:8.3333333333%}.col-xs-pull-2{right:16.6666666667%}.col-xs-pull-3{right:25%}.col-xs-pull-4{right:33.3333333333%}.col-xs-pull-5{right:41.6666666667%}.col-xs-pull-6{right:50%}.col-xs-pull-7{right:58.3333333333%}.col-xs-pull-8{right:66.6666666667%}.col-xs-pull-9{right:75%}.col-xs-pull-10{right:83.3333333333%}.col-xs-pull-11{right:91.6666666667%}.col-xs-pull-12{right:100%}.col-xs-push-0{left:auto}.col-xs-push-1{left:8.3333333333%}.col-xs-push-2{left:16.6666666667%}.col-xs-push-3{left:25%}.col-xs-push-4{left:33.3333333333%}.col-xs-push-5{left:41.6666666667%}.col-xs-push-6{left:50%}.col-xs-push-7{left:58.3333333333%}.col-xs-push-8{left:66.6666666667%}.col-xs-push-9{left:75%}.col-xs-push-10{left:83.3333333333%}.col-xs-push-11{left:91.6666666667%}.col-xs-push-12{left:100%}.col-xs-offset-0{margin-left:0%}.col-xs-offset-1{margin-left:8.3333333333%}.col-xs-offset-2{margin-left:16.6666666667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.3333333333%}.col-xs-offset-5{margin-left:41.6666666667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.3333333333%}.col-xs-offset-8{margin-left:66.6666666667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.3333333333%}.col-xs-offset-11{margin-left:91.6666666667%}.col-xs-offset-12{margin-left:100%}.col-xs-offset-right-0{margin-right:0%}.col-xs-offset-right-1{margin-right:8.3333333333%}.col-xs-offset-right-2{margin-right:16.6666666667%}.col-xs-offset-right-3{margin-right:25%}.col-xs-offset-right-4{margin-right:33.3333333333%}.col-xs-offset-right-5{margin-right:41.6666666667%}.col-xs-offset-right-6{margin-right:50%}.col-xs-offset-right-7{margin-right:58.3333333333%}.col-xs-offset-right-8{margin-right:66.6666666667%}.col-xs-offset-right-9{margin-right:75%}.col-xs-offset-right-10{margin-right:83.3333333333%}.col-xs-offset-right-11{margin-right:91.6666666667%}.col-xs-offset-right-12{margin-right:100%}@media (min-width: 768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-1{width:8.3333333333%}.col-sm-2{width:16.6666666667%}.col-sm-3{width:25%}.col-sm-4{width:33.3333333333%}.col-sm-5{width:41.6666666667%}.col-sm-6{width:50%}.col-sm-7{width:58.3333333333%}.col-sm-8{width:66.6666666667%}.col-sm-9{width:75%}.col-sm-10{width:83.3333333333%}.col-sm-11{width:91.6666666667%}.col-sm-12{width:100%}.col-sm-pull-0{right:auto}.col-sm-pull-1{right:8.3333333333%}.col-sm-pull-2{right:16.6666666667%}.col-sm-pull-3{right:25%}.col-sm-pull-4{right:33.3333333333%}.col-sm-pull-5{right:41.6666666667%}.col-sm-pull-6{right:50%}.col-sm-pull-7{right:58.3333333333%}.col-sm-pull-8{right:66.6666666667%}.col-sm-pull-9{right:75%}.col-sm-pull-10{right:83.3333333333%}.col-sm-pull-11{right:91.6666666667%}.col-sm-pull-12{right:100%}.col-sm-push-0{left:auto}.col-sm-push-1{left:8.3333333333%}.col-sm-push-2{left:16.6666666667%}.col-sm-push-3{left:25%}.col-sm-push-4{left:33.3333333333%}.col-sm-push-5{left:41.6666666667%}.col-sm-push-6{left:50%}.col-sm-push-7{left:58.3333333333%}.col-sm-push-8{left:66.6666666667%}.col-sm-push-9{left:75%}.col-sm-push-10{left:83.3333333333%}.col-sm-push-11{left:91.6666666667%}.col-sm-push-12{left:100%}.col-sm-offset-0{margin-left:0%}.col-sm-offset-1{margin-left:8.3333333333%}.col-sm-offset-2{margin-left:16.6666666667%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.3333333333%}.col-sm-offset-5{margin-left:41.6666666667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.3333333333%}.col-sm-offset-8{margin-left:66.6666666667%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.3333333333%}.col-sm-offset-11{margin-left:91.6666666667%}.col-sm-offset-12{margin-left:100%}.col-sm-offset-right-0{margin-right:0%}.col-sm-offset-right-1{margin-right:8.3333333333%}.col-sm-offset-right-2{margin-right:16.6666666667%}.col-sm-offset-right-3{margin-right:25%}.col-sm-offset-right-4{margin-right:33.3333333333%}.col-sm-offset-right-5{margin-right:41.6666666667%}.col-sm-offset-right-6{margin-right:50%}.col-sm-offset-right-7{margin-right:58.3333333333%}.col-sm-offset-right-8{margin-right:66.6666666667%}.col-sm-offset-right-9{margin-right:75%}.col-sm-offset-right-10{margin-right:83.3333333333%}.col-sm-offset-right-11{margin-right:91.6666666667%}.col-sm-offset-right-12{margin-right:100%}}@media (min-width: 992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-1{width:8.3333333333%}.col-md-2{width:16.6666666667%}.col-md-3{width:25%}.col-md-4{width:33.3333333333%}.col-md-5{width:41.6666666667%}.col-md-6{width:50%}.col-md-7{width:58.3333333333%}.col-md-8{width:66.6666666667%}.col-md-9{width:75%}.col-md-10{width:83.3333333333%}.col-md-11{width:91.6666666667%}.col-md-12{width:100%}.col-md-pull-0{right:auto}.col-md-pull-1{right:8.3333333333%}.col-md-pull-2{right:16.6666666667%}.col-md-pull-3{right:25%}.col-md-pull-4{right:33.3333333333%}.col-md-pull-5{right:41.6666666667%}.col-md-pull-6{right:50%}.col-md-pull-7{right:58.3333333333%}.col-md-pull-8{right:66.6666666667%}.col-md-pull-9{right:75%}.col-md-pull-10{right:83.3333333333%}.col-md-pull-11{right:91.6666666667%}.col-md-pull-12{right:100%}.col-md-push-0{left:auto}.col-md-push-1{left:8.3333333333%}.col-md-push-2{left:16.6666666667%}.col-md-push-3{left:25%}.col-md-push-4{left:33.3333333333%}.col-md-push-5{left:41.6666666667%}.col-md-push-6{left:50%}.col-md-push-7{left:58.3333333333%}.col-md-push-8{left:66.6666666667%}.col-md-push-9{left:75%}.col-md-push-10{left:83.3333333333%}.col-md-push-11{left:91.6666666667%}.col-md-push-12{left:100%}.col-md-offset-0{margin-left:0%}.col-md-offset-1{margin-left:8.3333333333%}.col-md-offset-2{margin-left:16.6666666667%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.3333333333%}.col-md-offset-5{margin-left:41.6666666667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.3333333333%}.col-md-offset-8{margin-left:66.6666666667%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.3333333333%}.col-md-offset-11{margin-left:91.6666666667%}.col-md-offset-12{margin-left:100%}.col-md-offset-right-0{margin-right:0%}.col-md-offset-right-1{margin-right:8.3333333333%}.col-md-offset-right-2{margin-right:16.6666666667%}.col-md-offset-right-3{margin-right:25%}.col-md-offset-right-4{margin-right:33.3333333333%}.col-md-offset-right-5{margin-right:41.6666666667%}.col-md-offset-right-6{margin-right:50%}.col-md-offset-right-7{margin-right:58.3333333333%}.col-md-offset-right-8{margin-right:66.6666666667%}.col-md-offset-right-9{margin-right:75%}.col-md-offset-right-10{margin-right:83.3333333333%}.col-md-offset-right-11{margin-right:91.6666666667%}.col-md-offset-right-12{margin-right:100%}}@media (min-width: 1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-1{width:8.3333333333%}.col-lg-2{width:16.6666666667%}.col-lg-3{width:25%}.col-lg-4{width:33.3333333333%}.col-lg-5{width:41.6666666667%}.col-lg-6{width:50%}.col-lg-7{width:58.3333333333%}.col-lg-8{width:66.6666666667%}.col-lg-9{width:75%}.col-lg-10{width:83.3333333333%}.col-lg-11{width:91.6666666667%}.col-lg-12{width:100%}.col-lg-pull-0{right:auto}.col-lg-pull-1{right:8.3333333333%}.col-lg-pull-2{right:16.6666666667%}.col-lg-pull-3{right:25%}.col-lg-pull-4{right:33.3333333333%}.col-lg-pull-5{right:41.6666666667%}.col-lg-pull-6{right:50%}.col-lg-pull-7{right:58.3333333333%}.col-lg-pull-8{right:66.6666666667%}.col-lg-pull-9{right:75%}.col-lg-pull-10{right:83.3333333333%}.col-lg-pull-11{right:91.6666666667%}.col-lg-pull-12{right:100%}.col-lg-push-0{left:auto}.col-lg-push-1{left:8.3333333333%}.col-lg-push-2{left:16.6666666667%}.col-lg-push-3{left:25%}.col-lg-push-4{left:33.3333333333%}.col-lg-push-5{left:41.6666666667%}.col-lg-push-6{left:50%}.col-lg-push-7{left:58.3333333333%}.col-lg-push-8{left:66.6666666667%}.col-lg-push-9{left:75%}.col-lg-push-10{left:83.3333333333%}.col-lg-push-11{left:91.6666666667%}.col-lg-push-12{left:100%}.col-lg-offset-0{margin-left:0%}.col-lg-offset-1{margin-left:8.3333333333%}.col-lg-offset-2{margin-left:16.6666666667%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.3333333333%}.col-lg-offset-5{margin-left:41.6666666667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.3333333333%}.col-lg-offset-8{margin-left:66.6666666667%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.3333333333%}.col-lg-offset-11{margin-left:91.6666666667%}.col-lg-offset-12{margin-left:100%}.col-lg-offset-right-0{margin-right:0%}.col-lg-offset-right-1{margin-right:8.3333333333%}.col-lg-offset-right-2{margin-right:16.6666666667%}.col-lg-offset-right-3{margin-right:25%}.col-lg-offset-right-4{margin-right:33.3333333333%}.col-lg-offset-right-5{margin-right:41.6666666667%}.col-lg-offset-right-6{margin-right:50%}.col-lg-offset-right-7{margin-right:58.3333333333%}.col-lg-offset-right-8{margin-right:66.6666666667%}.col-lg-offset-right-9{margin-right:75%}.col-lg-offset-right-10{margin-right:83.3333333333%}.col-lg-offset-right-11{margin-right:91.6666666667%}.col-lg-offset-right-12{margin-right:100%}}p,.p{margin:1.5rem 0}p.p--large,.p.p--large{font-size:1.125em}p.p--space,.p.p--space{margin-top:3rem;margin-bottom:3rem}blockquote{margin:1.5rem 0}blockquote:before,blockquote:after{content:""}blockquote>p:before{content:"\201C"}blockquote>p:after{content:"\201D"}blockquote cite{font-family:"Polar", "Helvetica Neue", Helvetica, arial, sans-serif;font-style:normal;font-weight:500}.blockquote--no-quotes>p:before,.blockquote--no-quotes>p:after{content:""}.blockquote--large,.blockquote--mid{font-size:3.5rem;color:#893999;font-weight:300;line-height:4.4rem}@media (min-width: 1200px){.blockquote--large p:before,.blockquote--mid p:before{position:absolute;left:0rem}}.blockquote--large .cite,.blockquote--mid .cite{display:block;margin-top:3rem;font-size:1.6rem;color:var(--text-primary)}.blockquote--large .cite *,.blockquote--mid .cite *{display:block;line-height:1.8rem}.blockquote--large .cite b,.blockquote--mid .cite b{margin-bottom:.5rem}.blockquote--large .cite--has-image,.blockquote--mid .cite--has-image{position:relative;padding-left:7rem}.blockquote--large .cite--has-image img,.blockquote--mid .cite--has-image img{position:absolute;top:0;bottom:0;left:0;margin:auto;width:5rem;height:5rem;border-radius:50%}.blockquote--mid{margin:3rem auto;color:inherit;font-size:2rem;line-height:1.75;font-weight:400;text-align:left}@media (min-width: 768px){.blockquote--mid{font-size:2.2rem;line-height:3.2rem}}.blockquote--mid p:before,.blockquote--mid p:after{position:static}q:before{content:"\201C"}q:after{content:"\201D"}h1,.h1,h2,.h2,h3,.h3,h4,.h4,h4,.h5,h4,.h6{display:block;margin:0 0 1.5rem;font-weight:700}p+h1,p+.h1,p+h2,p+.h2,p+h3,p+.h3,p+h4,p+.h4,p+h4,p+.h5,p+h4,p+.h6{margin-top:6rem}@media (min-width: 768px){h1,.h1,h2,.h2,h3,.h3,h4,.h4,h4,.h5,h4,.h6{margin:0 0 3rem}}h1,.h1,h3,.h3,h5,.h5,h6,.h6{font-family:"Gruffy", "Helvetica Neue", Helvetica, arial, sans-serif}h1,.h1,h2,.h2,h3,.h3,h5,.h5,h6,.h6{font-weight:700}h2,.h2,h3,.h3,h5,.h5,h6,.h6{line-height:1.1}h1,.h1{font-size:var(--font-size-4xl);line-height:1}h2,.h2{font-size:var(--font-size-3xl)}p+h2,ul+h2,p+.h2,ul+.h2{margin-top:3rem}h3,.h3{margin:1.5rem 0;font-size:var(--font-size-2xl)}p+h3,ul+h3,p+.h3,ul+.h3{margin-top:3rem}h4,.h4{margin-bottom:1.5rem;font-size:var(--font-size-xl);font-weight:700}h4.h4--light,.h4.h4--light{font-weight:400}h5,.h5{margin-bottom:1.5rem;font-size:var(--font-size-lg)}h6,.h6{font-size:1.6rem}.heading-segment{font-weight:500;font-size:2.8rem;line-height:4.4rem;color:#893999;text-align:center}@media (min-width: 768px){.heading-segment{font-size:3.5rem;margin-bottom:12.5rem}}.heading-lite,.blockquote--large,.blockquote--mid,.heading-lite--centered{font-size:2.8rem;font-weight:700;color:#893999}@media (min-width: 768px){.heading-lite,.blockquote--large,.blockquote--mid,.heading-lite--centered{font-size:3.5rem;line-height:4.4rem}}.heading-lite--muted{color:var(--text-primary)}.heading-lite--centered{text-align:center}.heading-lite--tall{margin-bottom:6rem}.heading-label{display:inline-block;margin:0 auto;padding-bottom:0.8rem;color:#893999;font-size:1.7rem;font-weight:600;border-bottom:2px solid #e2e2e3}.heading-label--hidden{display:none;border-bottom:2px solid transparent}@media (min-width: 992px){.heading-label--hidden{display:inline-block}}.heading-content{margin:2.2rem auto 0;font-size:2.8rem;line-height:3.5rem;color:#38383a}@media (min-width: 992px){.heading-content{font-size:3.5rem;line-height:4.4rem}}.heading-content+p{margin-top:1rem}.heading-condensed{margin:0;font-size:3.5rem;font-family:'proxima-nova-condensed', sans-serif;font-weight:400;color:#ffffff}.heading-serif{font-family:'proxima-nova', sans-serif;letter-spacing:0}@media (min-width: 768px){.segment-lead{margin-bottom:9rem}}sup{font-size:0.5em;vertical-align:super}.footnote{font-size:var(--font-size-xs);line-height:1.1;color:#807D73}.footer,.footer__bottom{border-top:1px solid var(--border-color)}.footer__menu-wrap{display:grid;grid-template-areas:"logo" "links" "social";gap:40px}@media (max-width: 1679px){.footer__menu-wrap{font-size:1.6rem}}@media (min-width: 1200px){.footer__menu-wrap{grid-template-columns:var(--footer-logo-size, auto) 1fr;grid-template-areas:"logo links" "social links";gap:80px}}@media (min-width: 1680px){.footer__menu-wrap{--footer-logo-size: minmax(min-content, 240px)}}.footer__logo{grid-area:logo}.footer__lists{grid-area:links;display:grid;-webkit-box-align:start;align-items:start;gap:40px}@media (min-width: 620px){.footer__lists{grid-template-columns:repeat(var(--footer-list-columns, 3), auto);grid-template-rows:auto 1fr;row-gap:60px}}@media (min-width: 992px){.footer__lists{--footer-list-columns: 5;row-gap:80px}}@media (min-width: 620px){.footer__list{grid-row:span 2}.footer__list--shorty{grid-row:span 1;grid-column:2 / span 1}.footer__list--shorty+.footer__list--shorty{grid-row-start:2}}@media (min-width: 1200px){.footer__list{--stack-gap: 30px}}.footer__links{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;gap:20px}.footer__social{grid-area:social;display:-webkit-box;display:flex;gap:20px;align-self:end}.footer__social img{max-width:16px}.footer__social a{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;width:40px;height:40px;border-radius:50%;background-color:#FF5810;-webkit-transition:background-color .3s;transition:background-color .3s}.footer__social a:hover{background-color:#FF9D88}.footer__bottom{padding:40px 0}@media (max-width: 991px){.footer__bottom{padding-bottom:80px}}.footer__list-secondary{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;gap:20px}@media (min-width: 768px){.footer__list-secondary{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:end;justify-content:end;flex-wrap:wrap}}@media (min-width: 1200px){.footer__list-secondary{gap:40px}}.footer .legal-consent-container{position:absolute}.footer-basic__grid{display:-webkit-box;display:flex;-webkit-box-pack:justify;justify-content:space-between;-webkit-box-align:center;align-items:center;gap:40px}@media (max-width: 991px){.footer-basic__grid{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:start;justify-content:start;-webkit-box-align:start;align-items:start}}@media (max-width: 991px){.footer--basic .footer__social{align-self:start}}.brand{font:0/0 a;text-indent:-9999rem;text-shadow:none;background-color:transparent;border:0;height:3.5rem;width:11.5rem;background:center url("/img2/logo-white.svg") no-repeat;background-size:contain}.brand--purple{background-image:url("/img2/logo-purple.svg")}.brand--r{width:7.2rem;height:7.2rem;margin-left:auto;margin-right:auto;background-image:url("/img2/logo-r.svg")}.card{display:block;position:relative;padding:1rem;margin:3rem auto;color:var(--text-primary);text-decoration:none;border:solid #e2e2e3;border-width:1px 1px 2px 1px;border-radius:3px;line-height:1.4;background:#fff;-webkit-transition:border-color 0.25s;transition:border-color 0.25s}.carda:hover{border-color:#c5c5c8}.card--v-center{display:-ms-flex;display:-webkit-box;display:flex;-ms-align-items:center;-webkit-box-align:center;align-items:center}.card--has-profile-img{padding-left:6.4rem;margin:1.6rem auto}.card--is-event{border-width:2px;border-color:#f0f0f1;font-size:1.4rem;max-width:36rem;margin-left:0}.card--is-event h1,.card--is-event h2,.card--is-event h3,.card--is-event h4{color:inherit}.card--is-event:hover{color:var(--text-primary);border-color:#e2e2e3}.card--has-caret:after{position:absolute;top:0;bottom:0;right:1.5rem;height:1em;margin:auto;color:#893999;font:1.2rem/1 'icomoon';content:"\e603"}.card--grey{background:#f3f3f4;border-color:#f3f3f4}.card__align{display:block;width:100%}.card__title{margin-bottom:0;font-size:2.2rem;font-weight:600;color:#893999}.card__profile-img{position:absolute;top:0;bottom:0;left:1rem;width:4rem;height:4rem;border-radius:80px;margin:auto}.card__username,.card__date{display:block;font-weight:600}.card__footer{margin:2rem auto 0;padding:0 1rem}@media (min-width: 768px){.card__footer{position:absolute;bottom:2rem;left:0;right:0;margin:0 auto}}.card__footer--baseline{bottom:1rem}.card__base{position:absolute;bottom:0;width:100%;height:5rem;padding:1.5rem 0 0;background:#f8f8f9}.card a{color:#893999}.card small{font-size:inherit}.card--inverse{border:0;background:#f3f3f4;padding:1.5rem}.card--has-image{display:-ms-flex;display:-webkit-box;display:flex;min-height:9.5rem;padding-left:10rem;-ms-align-items:center;-webkit-box-align:center;align-items:center}.card--has-image img{position:absolute;left:2rem;top:0;bottom:0;margin:auto}.card--has-image__detail{-webkit-box-flex:1;flex:1}.card--has-image__detail b{font-size:1.6rem}.card--careers{min-height:21rem}.card--certificate__detail small{font-weight:300}.card--certificate__detail a{text-decoration:none}.cta-block{z-index:0;overflow:hidden}.cta-block__content,.cta-block__buttons{-webkit-box-align:center;align-items:center}.cta-block__content:not(.cta-block__buttons){--stack-gap: 40px}@media (min-width: 992px){.cta-block__content:not(.cta-block__buttons){--stack-gap: 60px}}.cta-block__headline{text-wrap:pretty}@media (min-width: 992px){.cta-block__buttons{--stack-gap: 30px}}.cta-block__bg{top:50%;left:50%;z-index:-1}@media (max-width: 767px){.cta-block__bg{max-width:none;width:200%;height:200%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}}@media (min-width: 768px){.cta-block__bg{inset:0;width:100%;height:100%;-o-object-fit:contain;object-fit:contain}}.learn-more,.card-cta,.more{font-weight:700;color:#893999;font-size:1.8rem;line-height:2.8rem}.learn-more:hover::after,.card-cta:hover::after,.more:hover::after{-webkit-transform:translateX(5px);transform:translateX(5px)}.learn-more:after,.card-cta:after,.more:after{content:" ";position:relative;display:inline-block;mask:url("/img2/company/text-cta-arrow-enabled.svg") no-repeat;-webkit-mask:url("/img2/company/text-cta-arrow-enabled.svg") no-repeat;-webkit-mask-size:cover;mask-size:cover;height:1rem;width:1.6rem;background-repeat:no-repeat;margin-left:1rem;right:0;-webkit-transition:-webkit-transform .25s ease-in;transition:-webkit-transform .25s ease-in;transition:transform .25s ease-in;transition:transform .25s ease-in, -webkit-transform .25s ease-in;background-color:var(--text-primary)}.link-inline{font-weight:700;color:#893999;-webkit-transition:color .25s;transition:color .25s}.link-inline:hover{color:#ab4ac3;text-decoration:underline}.link-inline--lite{color:#d470ed}.link-inline--lite:hover{color:#fff}.card-cta:hover{text-decoration:underline}.card-cta--purple-lite{color:#d470ed}.card-cta--purple-lite:hover{color:#d470ed}.card-cta--purple-lite:hover:after{background-color:#d470ed}.card-cta--purple-lite:after{background-color:#d470ed}.card-cta--white{color:#fff}.card-cta--white:hover{color:#fff}.card-cta--white:hover:after{background-color:#fff}.card-cta--white:after{background-color:#fff}.card-cta--black{color:#343F4A}.card-cta--black:hover{color:#343F4A}.card-cta--black:hover:after{background-color:#343F4A}.card-cta--black:after{background-color:#343F4A}.product .more,.more--alt{text-transform:none}@media (min-width: 768px){.more{white-space:nowrap}}@media (min-width: 768px){.more--buffer{padding-left:1rem}}span .more{color:#893999}.more--prev{padding-left:18px;padding-right:0}.more--prev:before{position:relative;left:-5px;top:0;bottom:1px;height:1em;margin:auto;font:1rem/1 'icomoon';content:"\e601";-webkit-transition:left 0.25s;transition:left 0.25s}.more--prev:after{content:" ";display:none}.more--prev:hover:before,a:hover .more--prev:before{left:-10px}.more--down:after{position:relative;right:-5px;top:0;bottom:1px;height:1em;margin:auto;font:1rem/1 'icomoon';content:"\e604"}.more--down:hover:after,a:hover .more--down:after{right:-5px}.more--up:after{position:relative;right:-5px;top:-2px;bottom:1px;height:1em;margin:auto;font:1rem/1 'icomoon';content:"\e602"}.more--up:hover:after,a:hover .more--up:after{right:-5px}.back{display:inline-block;position:relative;height:auto;padding-left:0.5rem;font-size:1.6rem;font-weight:600;text-decoration:none;text-transform:uppercase}.back:hover,a:hover .back{color:#8e5999}@media (min-width: 768px){.back{white-space:nowrap;font-size:1.5rem}}.back:before{position:relative;left:-5px;top:0;bottom:1px;height:1em;margin:auto;font:1rem/1 'icomoon';content:"\e601";-webkit-transition:left 0.25s;transition:left 0.25s}.back:hover:before,a:hover .back:before{left:-10px}@media (min-width: 768px){.back--buffer{padding-left:1rem}}span .back{color:#893999}.recurly-gdpr{display:none;position:fixed;bottom:0;width:100%;height:10.2rem;color:#fff;font-family:"Polar", "Helvetica Neue", Helvetica, arial, sans-serif;font-size:1.5rem;text-align:center;z-index:9;background:#1F242C;border-top:1px solid #798697}@media (min-width: 768px){.recurly-gdpr{height:5.8rem}}@media (min-width: 1200px){.recurly-gdpr{height:4.6rem}}.recurly-gdpr .container{position:relative}.recurly-gdpr p{margin:1 0 0.7rem;padding-right:4rem;font-size:1.3rem}@media (min-width: 992px){.recurly-gdpr p{padding-right:0}}.recurly-gdpr a{color:#fff;font-weight:400;text-decoration:underline}.recurly-gdpr .close{position:absolute;right:1.5rem;top:5px;width:1rem;height:1rem;cursor:pointer;background:url("/img2/icons/close-gdpr-white@2x.png") center no-repeat;background-size:10px}@media (-webkit-min-device-pixel-ratio: 1.3), (min-device-pixel-ratio: 1.3), (min-resolution: 1.3dppx){.recurly-gdpr .close{background-image:url("/img2/icons/close-gdpr-white@2x.png");background-size:10px 10px}}@media (min-width: 992px){.recurly-gdpr .close{right:0}}.mktoForm{width:100% !important}.mktoForm .mktoOffset,.mktoForm .mktoGutter{display:none}.mktoForm .mktoAsterix{display:none}.mktoForm .mktoRequiredField .mktoAsterix{display:inline-block;margin:0 0.3rem 0 0}.mktoForm .mktoField.mktoHasWidth.mktoRequired.mktoInvalid{border:1px solid #FF8200}.mktoForm div{text-align:left;margin:0;padding:0}.mktoForm .mktoClear{clear:both;float:none}.mktoForm .gdpr__privacy,.mktoForm #LblGDPR_Consent__c{font-family:"Polar", "Helvetica Neue", Helvetica, arial, sans-serif;color:#0D0D0B;font-weight:400}.mktoForm #LblGDPR_Consent__c{position:relative;background:transparent;font-size:1.4rem;line-height:2rem;margin-bottom:.8rem;padding-right:.2rem}.mktoForm .gdpr__privacy{font-size:1.4rem;line-height:2.2rem;margin:1.5rem 0 0}.mktoForm input{-webkit-transition:0.1s ease-out;transition:0.1s ease-out}.mktoForm input[type=url],.mktoForm input[type=text],.mktoForm input[type=date],.mktoForm input[type=tel],.mktoForm input[type=email],.mktoForm input[type=number],.mktoForm textarea.mktoField,.mktoForm select.mktoField{width:100% !important}.mktoForm input[type=email]+.mktoError .mktoErrorMsg{max-width:19.5rem}.mktoForm select.mktoField{padding:1.5rem 1.5rem 0rem 1.2rem;font-family:"Polar", "Helvetica Neue", Helvetica, arial, sans-serif;background:url("/img2/demo-request/dropdown-caret_expand.svg") 96% center #fff no-repeat;background-size:12px 7px;border-radius:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4rem;width:100%;padding:0.6rem;color:#535356;font-size:1.8rem;font-weight:500;border:0 none;border-radius:0;box-shadow:none}.mktoForm select.mktoField>option:first-child{color:transparent}.mktoForm select.mktoField:focus{outline:none}.mktoForm select.mktoField:-moz-focusring{color:transparent;text-shadow:0 0 0 #000}.mktoForm .consent-label-container{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;flex-direction:row-reverse;-webkit-box-align:start;align-items:flex-start}.mktoForm .consent-label-container .mktoLabel{line-height:2rem}.mktoForm div.mktoFieldWrap:not(.consent-label-container) .mktoLabel.mktoHasWidth{font-size:1.4rem;line-height:2.2rem;position:absolute;left:1.4rem;right:30px;top:5px;background-color:white;-webkit-transition:.1s ease-out;transition:.1s ease-out;-webkit-transform-origin:left top;transform-origin:left top;pointer-events:none}.mktoForm div.mktoFieldWrap:not(.consent-label-container) .mktoLabel.mktoHasWidth.active{line-height:2.2rem;font-size:1.2rem;top:0;-webkit-transform:translateY(17%) scale(0.9);transform:translateY(17%) scale(0.9)}.mktoForm div.mktoRequiredField.selectLabel label.mktoLabel{position:relative;background:none;line-height:2rem;left:0;top:0;-webkit-transition:none;transition:none;-webkit-transform:none;transform:none}.mktoForm div.mktoRequiredField.selectLabel label.mktoLabel.active{font-size:1.6rem;line-height:2rem;-webkit-transform:none;transform:none}.mktoForm .mktoCheckboxList{padding:0;float:left;position:relative;top:0}.mktoForm .mktoCheckboxList label{font-size:1.4rem;line-height:2rem}.mktoForm .mktoCheckboxList>input{margin:0 1rem 0 0}.mktoForm .mktoCheckboxList>input:after{content:" ";font-size:1.4rem;background-color:#807D73;display:inline-block;visibility:visible}.mktoForm .mktoCheckboxList>input:checked:after{content:"\2713";box-shadow:0px 2px 4px rgba(155,155,155,0.15);border-radius:3px;height:1.5rem;display:block;width:1.5rem;text-align:center;font-size:1.2rem;color:white}.mktoForm .mktoLabel{line-height:3rem;font-family:"Polar", "Helvetica Neue", Helvetica, arial, sans-serif;font-size:1.6rem;font-weight:400;color:#0D0D0B;display:inline-block;float:none !important;width:auto}.mktoForm .mktoLabel span{color:#0D0D0B;font-size:1.4rem;line-height:2rem}.mktoForm .mktoButtonWrap.mktoSimple .mktoButton{display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;height:5rem;padding:1rem 3rem;font-size:1.8rem;line-height:2.2rem;font-weight:400;color:#fff;text-align:center;text-decoration:none;text-overflow:ellipsis;text-transform:lowercase;white-space:nowrap;overflow:hidden;vertical-align:middle;cursor:pointer;border:0;border-radius:6px;background:#0D0D0B;-webkit-transition:all .3s ease-in;transition:all .3s ease-in}.mktoForm .mktoButtonWrap.mktoSimple .mktoButton:first-letter,.mktoForm .mktoButtonWrap.mktoSimple .mktoButton span:first-letter{text-transform:capitalize}.mktoForm .mktoButtonWrap.mktoSimple .mktoButton:hover{background:#FF9D88;color:#0D0D0B;-webkit-transform:none;transform:none}.mktoForm .mktoFormRow .mktoField:not([type="checkbox"]){background-color:#fff;border-radius:4px;border:1px solid #bdbbb6;color:#0D0D0B;display:block;float:none;height:5rem;font-family:"Polar", "Helvetica Neue", Helvetica, arial, sans-serif;font-size:1.6rem !important;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:1.6rem 1.5rem 0rem 1.2rem}.mktoForm .mktoFormRow .mktoField:not([type="checkbox"]):focus{outline:none;border-color:#0D0D0B}.mktoForm .mktoFormRow select.mktoField:not([type="checkbox"]){padding:1.6rem 1.5rem 0rem 1.2rem}.mktoForm .mktoError{position:initial;z-index:99;color:#bf0000}.mktoForm .mktoError .mktoErrorArrowWrap{display:none;width:16px;height:8px;overflow:hidden;position:absolute;top:0;left:5px;z-index:100}.mktoForm .mktoError .mktoErrorArrow{display:inline-block;height:16px;width:16px;margin-top:5px;border:0 none !important;background-color:#e35256 !important;border-right:none;border-bottom:none;-webkit-transform:rotate(45deg);transform:rotate(45deg);-ms-transform:rotate(45deg)}.mktoForm .mktoError .mktoErrorMsg{display:block;margin:0;padding:0;font-size:1.4rem;line-height:2.1rem;font-weight:400;max-width:18rem;color:#e35256;border:0 none !important;border-radius:3px !important;background:transparent !important;box-shadow:none !important;text-shadow:none !important}.mktoForm .mktoFormRow,.mktoForm .mktoFieldWrap,.mktoForm .mktoButtonRow{width:100%}@media (min-width: 768px){.mktoForm .mktoFormRow,.mktoForm .mktoFieldWrap,.mktoForm .mktoButtonRow{max-width:450px}}.mktoForm .mktoFormRow{display:block}@media (min-width: 992px){.mktoForm .mktoFormRow.twocol{display:-webkit-box;display:flex}.mktoForm .mktoFormRow.twocol .mktoFormCol:nth-child(1){padding-right:0.5rem}.mktoForm .mktoFormRow.twocol .mktoFormCol:nth-child(2){padding-left:0.5rem}}.mktoForm .mktoFormRow .mktoFormCol:only-child{padding-right:0}.mktoForm .mktoFormCol{width:100%}.mktoForm .mktoPlaceholderState{width:102%}.mktoForm .mktoField{background:transparent}.mktoForm .mktoFieldWrap{position:relative;box-sizing:border-box;margin-bottom:1.6rem}.mktoForm .mktoFormCol:nth-child(even) .mktoFieldWrap{padding-right:0 !important}.mktoForm .mktoForm .mktoButtonRow{margin:2rem 0 0;text-align:left}.mktoForm .mktoButtonWrap{margin-left:0 !important}.mktoForm .mktoHtmlText{font-family:"Polar", "Helvetica Neue", Helvetica, arial, sans-serif !important;font-size:1.3rem}.mktoForm input:-webkit-autofill,.mktoForm select:-webkit-autofill,.mktoForm input:-webkit-autofill:focus,.mktoForm select:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 50px #fff inset;color:#0D0D0B !important;-webkit-text-fill-color:#0D0D0B !important;font-weight:400 !important}.content-group__sidebar{border-top:0;height:0}.mktoHasWidth>.content-group__body--has-sidebar{float:none;margin:2rem 0 0}@media only screen and (max-width: 480px){.mktoFormCol{width:100% !important}.mktoFieldWrap{padding-right:0 !important}}div.wistiaMarketoFormWrapper label.mktoLabel.mktoHasWidth{line-height:2.2rem !important;font-size:1.3rem !important;top:1px !important;-webkit-transform:translateY(17%) scale(0.9);transform:translateY(17%) scale(0.9)}div.wistiaMarketoFormWrapper .mktoFormRow .mktoField:not([type="checkbox"]){height:5rem !important;padding:2rem 1.5rem 0rem 1.2rem !important}div.wistiaMarketoFormWrapper .gdpr__privacy{color:#FFFDF2}div.wistiaMarketoFormWrapper .mktoButton{height:3rem !important;padding:1rem 3rem !important;margin:0.4em 0 !important;font-size:1.8rem !important;float:left !important;color:#0D0D0B !important;box-shadow:none !important;border:none !important;background-image:none !important;background-color:#FFD706 !important;-webkit-border-radius:0px}div.wistiaMarketoFormWrapper .mktoFormCol{width:100%;display:block} </style> <!-- CUSTOM CSS --> <style rel="stylesheet" type="text/css">.body-copy--sm{font-size:var(--font-size-sm)}.body-copy--xs{font-size:var(--font-size-xs)}.body-copy--md{font-size:var(--font-size-md)}.body-copy--lg{font-size:var(--font-size-lg)}.body-copy--xl{font-size:var(--font-size-xl)}.body-copy--xl,.body-copy--xl{line-height:1.2}.eyebrow{font-family:"Polar", "Helvetica Neue", Helvetica, arial, sans-serif;font-size:var(--font-size-xs);font-weight:700;line-height:1.2;letter-spacing:.02em;text-transform:uppercase;color:var(--text-eyebrow)}.sidebar-open .header,.sidebar-open .research__hero,.sidebar-open .segment--initial,.sidebar-open .segment--hidden{left:-22.5rem}.hero.resources__hero{position:relative;min-height:inherit;max-height:inherit;height:inherit;padding-top:4rem;background:#fff;border-top:9rem solid transparent}.hero.resources__hero .hero__title{font-size:2.8rem;line-height:3.6rem;color:#232932;cursor:pointer;margin-bottom:4rem}@media (min-width: 768px){.hero.resources__hero .hero__title{font-size:4.4rem;line-height:5.2rem}}.segment--featured-resources,.segment--customer-quote{background:#EFEFF1}.segment--featured-resources{padding-top:15.3rem;padding-bottom:10rem}.segment--subs-management,.segment--billing-accounting,.segment--subs-retention,.segment--analytics-insights{padding-top:9.2rem;padding-bottom:14rem}.segment--customer-quote{padding-top:5.3rem;padding-bottom:5.3rem}.segment--customer-quote .quote{position:relative;padding:0 8rem 0 0;color:#465364;font-size:2.8rem;line-height:3.5rem;font-weight:300}.segment--customer-quote .quote:before{display:block;content:"\0201c";position:absolute;left:-7rem;top:4rem;color:#abb3be;font-size:20rem;font-weight:100}.segment--customer-quote .author{color:#58687e;font-size:1.6rem}.segment--subs-retention,.segment--analytics-insights,.segment--billing-accounting{border-top:1px solid #e2e2e3}.segment--analytics-insights{padding-bottom:12rem}@media (min-width: 1200px){.segment--subs-management{padding-top:18.5rem}}.segment--view-all{padding:0 0 10rem}.segment--hidden{display:none}.filter-by{float:left;margin:0 1.4rem 0 0;line-height:5.2rem;color:var(--text-highlight);font-size:1.7rem}.sort-nav,.sort-subnav{margin:0;padding:0;list-style:none}.sort-nav{display:block;float:left;-webkit-transition:opacity 0.25s;transition:opacity 0.25s}.sort-nav a{display:block;z-index:2;min-width:6.8rem;padding:1.4rem 2rem 1.4rem 0;margin:0;font-size:1.6rem;font-weight:600;color:var(--text-primary);background:#fff;height:5.2rem}.sort-nav .sort-item{padding:1rem;font-size:1.4rem}.sort-nav-name span{display:none;font-weight:400}.sort-subnav{position:absolute;top:5.2rem;width:24rem;padding:1.5rem;font-size:1.4rem;z-index:1;opacity:0;border:1px solid #e2e2e3;background:#fff;-webkit-transition:opacity 0.25s;transition:opacity 0.25s;pointer-events:none}.active .sort-subnav{opacity:1;z-index:1;-webkit-transition:opacity 0.25s;transition:opacity 0.25s;pointer-events:all}.sort-subnav.content-type-subnav{width:14rem}.sort-subnav-item{cursor:pointer;padding:0 0.5rem;margin:0 auto 0.4rem}.sort-subnav-item:hover,.sort-subnav-item.active{background:#f1efe3}.sort-subnav-item.active .close{display:inline-block}.sort-subnav-item .close{display:none;float:right;width:1.1rem;height:1.1rem;margin:5px 0 0 0;background:url("/img2/resources/close@2x.png") center no-repeat;background-size:0.7rem;text-indent:-9999px}.clear-filters{display:none;float:left;margin:0;padding:1.4rem 1rem;font-weight:400;cursor:pointer;text-decoration:underline}.back-to-top{display:none;float:right;font-weight:400;font-weight:400;cursor:pointer;text-decoration:underline}.results .sticky .back-to-top{display:block}.resources .header-wrap{z-index:3}.resources .sticky-nav{display:block;position:relative;left:0;width:100%;z-index:2;background:#fff;border-bottom:1px solid #e2e2e3;-webkit-transition:opacity 0.25s;transition:opacity 0.25s}@media (min-width: 992px){.resources .sticky-nav{position:absolute;top:125rem}}@media (min-width: 1200px){.resources .sticky-nav{top:82rem}}.resources .sticky-nav:hover .sort-nav{opacity:0.5}.resources .sticky-nav:hover .sort-nav:hover{opacity:1}.resources .sticky-nav.sticky{position:fixed;top:0;box-shadow:0 1px 3px rgba(0,0,0,0.05),0 3px 18px rgba(0,0,0,0.1)}@media (min-width: 992px){.resources .sticky-nav.sticky{top:9rem}}.resources .large-content__label,.resources .top-content__label{margin-bottom:0.4rem;font-family:"Polar", "Helvetica Neue", Helvetica, arial, sans-serif;font-size:1.6rem;line-height:2.4rem;font-weight:400;color:#FF5810}.resources .large-content__headline,.resources .top-content__headline{color:var(--text-primary)}.resources .large-content{background:#fff;margin:0 0 4.9rem 0}@media (min-width: 1200px){.resources .large-content{max-width:63.5rem;padding:0 3rem 0 1.5rem;border-right:1px solid #CDD2D8}}.resources .large-content img{width:100%;display:block;margin:0 auto}@media (min-width: 992px){.resources .large-content img{max-width:93rem;max-height:48.4rem}}@media (min-width: 1200px){.resources .large-content img{max-width:60.5rem;max-height:31.5rem}}.resources .large-content__label{margin:2rem 0 0 0}@media (min-width: 992px){.resources .large-content__label{margin:2.9rem 0 0 0}}.resources .large-content__headline{font-size:3.2rem;line-height:3.6rem;font-weight:600;margin:1.6rem 0}@media (min-width: 1200px){.resources .large-content__headline{margin:1.2rem 0 1.6rem 0}}.resources .top-content{margin:0 0 4.9rem 0;background:#fff}.resources .top-content .learn-more{font-size:1.6rem}@media (min-width: 1200px){.resources .top-content{border-bottom:1px solid #CDD2D8;margin:0 0 3rem 0}.resources .top-content:last-child{border-bottom:none}}@media (min-width: 1200px){.resources .top-content{margin:0 0 3rem 3rem}}.resources .top-content__container{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}@media (min-width: 1200px){.resources .top-content__container{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}}.resources .top-content__container img{width:100%;margin:0 3rem 0 0}@media (min-width: 768px){.resources .top-content__container img{max-width:21rem;max-height:11rem}}@media (min-width: 992px){.resources .top-content__container img{max-width:29rem;max-height:15.2rem}}@media (min-width: 1200px){.resources .top-content__container img{max-width:22.3rem;max-height:11.7rem;margin:0 3rem 0 -1.5rem}}.resources .top-content__label{margin:2rem 0 .9rem 0}@media (min-width: 1200px){.resources .top-content__label{margin:0 0 .8rem 0}}.resources .top-content__bottom{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;min-height:16.3rem}@media (min-width: 1200px){.resources .top-content__bottom{min-height:15rem}}.resources .top-content__headline{font-size:1.8rem;line-height:2.4rem;font-weight:700;margin:0 0 .5rem 0}.resources .heading-content{overflow:hidden}.resources .heading{float:left;margin-bottom:3.2rem;font-size:2.8rem;line-height:3.6rem;font-weight:800;color:var(--text-primary)}.resources .view-all{float:right;cursor:pointer;color:var(--text-highlight);font-size:1.8rem;line-height:2.8rem;font-weight:700;-webkit-transition:color 0.25s;transition:color 0.25s}.resources .view-all:hover{color:var(--btn-primary-hover-text);text-decoration:underline}.resources .view-all--alt{float:right;color:var(--text-highlight);font-size:1.6rem}.resources .view-all-btn{font-size:var(--font-size-lg)}.resource-module{max-width:29.2rem;padding:0 1.5rem;-webkit-transition:opacity 0.25s, -webkit-transform 0.5s;transition:opacity 0.25s, -webkit-transform 0.5s;transition:opacity 0.25s, transform 0.5s;transition:opacity 0.25s, transform 0.5s, -webkit-transform 0.5s}.resource-module__url{display:block;-webkit-transform:translateY(0);transform:translateY(0);-webkit-transition:-webkit-transform 0.15s;transition:-webkit-transform 0.15s;transition:transform 0.15s;transition:transform 0.15s, -webkit-transform 0.15s;text-decoration:none}@media (min-width: 768px){.resource-module__url{height:30rem}}.resource-module__url:hover{-webkit-transform:translateY(-3px);transform:translateY(-3px);box-shadow:0 15px 35px rgba(50,50,93,0.1),0 5px 15px rgba(0,0,0,0.07);text-decoration:none}.resource-module__img{display:block;margin:0}.resource-module__bottom{min-height:11.7rem;padding:2rem 1.5rem;border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color);border-left:1px solid var(--border-color)}.resource-module__label{margin:0 auto 0.2rem;color:var(--text-highlight);font-size:1.6rem;font-weight:500;font-family:"Polar", "Helvetica Neue", Helvetica, arial, sans-serif}.resource-module__title{margin:0 auto;color:var(--text-primary);font-size:1.8rem;font-weight:600}@media (min-width: 992px){.resource-module__title{max-height:4.6rem;overflow:hidden}}@media (min-width: 1200px){.resource-module__title{max-height:5rem;line-height:1.3}}.resource-module__flag{position:absolute;top:2rem;padding:0.2rem 1.2rem 0;color:#fff;font-family:"Polar", "Helvetica Neue", Helvetica, arial, sans-serif;font-size:1.6rem;font-weight:500;text-transform:uppercase}.resource-promo-module .resource-module__url{padding:2rem}.resource-promo-module .resource-module__title{margin:0 auto 1rem}.resource-promo-module .resource-module__label{color:#fff;font-family:"Polar", "Helvetica Neue", Helvetica, arial, sans-serif;font-size:1.5rem}.segment--results{display:none;padding-top:2.5rem}@media (min-width: 992px){.segment--results{padding-top:6.5rem}}@media (min-width: 1200px){.segment--results{padding-top:13.5rem}}.segment--results .resource-module{display:none;float:left;margin:0 auto 6rem}@media (min-width: 768px){.segment--results .resource-module{width:auto}}.segment--results .resource-module.show{display:block}.segment--results .resource-module.hide{display:none !important}.results-container{display:-webkit-box;display:flex;flex-wrap:wrap}@media (min-width: 768px){.results-container{display:block;flex-wrap:unset;max-height:180rem;overflow:hidden}}.results-container .slick-slide{opacity:1}.showmore-wrap{display:none}.tags-container{display:block;position:relative;height:3.5rem;overflow:hidden;padding:0 10rem 0 0;margin:0 auto 6.7rem}.tags-container .showtags{display:none;position:absolute;top:0;right:0;height:2.4rem;margin:0;cursor:pointer;color:#2676a5}.tags-container .tag{display:inline-block;margin:0 1rem 1rem 0;padding:0.2rem 0.5rem;font-size:1.4rem;color:#343F4B;background:#EFEFF1}.tags-container .tag:after{display:inline-block;content:" ";float:right;width:1.1rem;height:1.1rem;margin:0.5rem 0 0 1rem;cursor:pointer;background:url("/img2/resources/close@2x.png") center no-repeat;background-size:0.7rem}.slick-slider{position:relative;display:block;box-sizing:border-box;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;touch-action:pan-y;-webkit-tap-highlight-color:transparent}.slick-list{position:relative;display:block;margin:0;padding:0}.slick-list:focus{outline:none}.slick-list.dragging{cursor:pointer;cursor:hand}.slick-slider .slick-track,.slick-slider .slick-list{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.slick-track{position:relative;left:0;top:0;display:block;margin-left:0;margin-right:auto}.slick-track:before,.slick-track:after{content:"";display:table}.slick-track:after{clear:both}.slick-loading .slick-track{visibility:hidden}.slick-slide{float:left;height:100%;min-height:1px;opacity:0.25;-webkit-transition:opacity 0.5s;transition:opacity 0.5s;display:none}[dir="rtl"] .slick-slide{float:right}.slick-slide img{display:block}.slick-slide.slick-loading img{display:none}.slick-slide.slick-active{opacity:1}.slick-slide.dragging img{pointer-events:none}.slick-initialized .slick-slide{display:block}.slick-loading .slick-slide{visibility:hidden}.slick-vertical .slick-slide{display:block;height:auto;border:1px solid transparent}.slick-arrow.slick-hidden{display:none}.slick-prev,.slick-next{display:block;position:absolute;bottom:-4rem;height:20px;padding:0;font-size:1.8rem;line-height:2.8rem;line-height:0;font-weight:700;cursor:pointer;color:var(--text-highlight);text-transform:capitalize;border:none;outline:none;background:transparent;-webkit-transition:color 0.25s;transition:color 0.25s}.slick-prev.slick-disabled,.slick-prev.slick-disabled:hover,.slick-prev.slick-disabled:focus,.slick-next.slick-disabled,.slick-next.slick-disabled:hover,.slick-next.slick-disabled:focus{color:#f1efe3}.slick-prev:hover,.slick-prev:focus,.slick-next:hover,.slick-next:focus{color:var(--btn-primary-hover-text);outline:none;background:transparent}.slick-prev:before,.slick-next:after{content:' ';display:inline-block;vertical-align:-1px;width:14px;height:12px}.slick-prev{left:1.5rem}.slick-prev.slick-disabled:before{background:url("/img2/resources/prev-arrow_disabled@2x.png") no-repeat center;background-size:14px 12px}.slick-prev:before{margin:0 1rem 0 0;background:url("/img2/resources/prev-arrow@2x.png") no-repeat center;background-size:14px 12px}.slick-prev:hover .slick-prev:before{background:url("/img2/resources/prev-arrow_hover@2x.png") no-repeat center}.slick-next{right:1.5rem}.slick-next.slick-disabled:after{background:url("/img2/resources/next-arrow_disabled@2x.png") no-repeat center;background-size:14px 12px}.slick-next:after{margin:0 0 0 1rem;background:url("/img2/resources/next-arrow@2x.png") no-repeat center;background-size:14px 12px}.slick-next:hover .slick-next:after{background:url("/img2/resources/next-arrow_hover@2x.png") no-repeat center}.slick-dots{position:absolute;bottom:60px;display:block;width:calc(100% - 30px);padding:0;margin:0;list-style:none;text-align:center}.slick-dots li{position:relative;display:inline-block;width:20px;height:20px;margin:0 2.5px;padding:0;cursor:pointer}.slick-dots li button{font-size:0;line-height:0;display:block;width:20px;height:20px;padding:5px;cursor:pointer;color:transparent;border:0;outline:none;background:transparent}.slick-dots li button:hover,.slick-dots li button:focus{outline:none}.slick-dots li button:hover:before,.slick-dots li button:focus:before{opacity:1}.slick-dots li button:before{font-family:'slick';font-size:34px;line-height:22px;position:absolute;top:0;left:0;width:20px;height:20px;content:'•';text-align:center;opacity:.25;color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.slick-dots li.slick-active button:before{opacity:.75} </style> <!-- typekit: proxima-nova webfonts - async --> <style rel="stylesheet" type="text/css">@import url("https://p.typekit.net/p.css?s=1&k=snh4sns&ht=tk&f=139.169.173.175.176.5474.145.147.149&a=82970348&app=typekit&e=css");@font-face{font-family:"proxima-nova";src:url("https://use.typekit.net/af/2555e1/00000000000000007735e603/30/l?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n7&v=3") format("woff2"),url("https://use.typekit.net/af/2555e1/00000000000000007735e603/30/d?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n7&v=3") format("woff"),url("https://use.typekit.net/af/2555e1/00000000000000007735e603/30/a?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n7&v=3") format("opentype");font-display:swap;font-style:normal;font-weight:700;font-stretch:normal}@font-face{font-family:"proxima-nova";src:url("https://use.typekit.net/af/8738d8/00000000000000007735e611/30/l?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n8&v=3") format("woff2"),url("https://use.typekit.net/af/8738d8/00000000000000007735e611/30/d?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n8&v=3") format("woff"),url("https://use.typekit.net/af/8738d8/00000000000000007735e611/30/a?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n8&v=3") format("opentype");font-display:swap;font-style:normal;font-weight:800;font-stretch:normal}@font-face{font-family:"proxima-nova";src:url("https://use.typekit.net/af/78aca8/00000000000000007735e60d/30/l?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n6&v=3") format("woff2"),url("https://use.typekit.net/af/78aca8/00000000000000007735e60d/30/d?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n6&v=3") format("woff"),url("https://use.typekit.net/af/78aca8/00000000000000007735e60d/30/a?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n6&v=3") format("opentype");font-display:swap;font-style:normal;font-weight:600;font-stretch:normal}@font-face{font-family:"proxima-nova";src:url("https://use.typekit.net/af/efe4a5/00000000000000007735e609/30/l?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n4&v=3") format("woff2"),url("https://use.typekit.net/af/efe4a5/00000000000000007735e609/30/d?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n4&v=3") format("woff"),url("https://use.typekit.net/af/efe4a5/00000000000000007735e609/30/a?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n4&v=3") format("opentype");font-display:swap;font-style:normal;font-weight:400;font-stretch:normal}@font-face{font-family:"proxima-nova";src:url("https://use.typekit.net/af/3322cc/00000000000000007735e616/30/l?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=i4&v=3") format("woff2"),url("https://use.typekit.net/af/3322cc/00000000000000007735e616/30/d?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=i4&v=3") format("woff"),url("https://use.typekit.net/af/3322cc/00000000000000007735e616/30/a?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=i4&v=3") format("opentype");font-display:swap;font-style:italic;font-weight:400;font-stretch:normal}@font-face{font-family:"proxima-nova";src:url("https://use.typekit.net/af/1be3c2/00000000000000007735e606/30/l?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n3&v=3") format("woff2"),url("https://use.typekit.net/af/1be3c2/00000000000000007735e606/30/d?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n3&v=3") format("woff"),url("https://use.typekit.net/af/1be3c2/00000000000000007735e606/30/a?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n3&v=3") format("opentype");font-display:swap;font-style:normal;font-weight:300;font-stretch:normal}@font-face{font-family:"proxima-nova-condensed";src:url("https://use.typekit.net/af/2000e8/00000000000000007735e612/30/l?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n3&v=3") format("woff2"),url("https://use.typekit.net/af/2000e8/00000000000000007735e612/30/d?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n3&v=3") format("woff"),url("https://use.typekit.net/af/2000e8/00000000000000007735e612/30/a?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n3&v=3") format("opentype");font-display:swap;font-style:normal;font-weight:300;font-stretch:normal}@font-face{font-family:"proxima-nova-condensed";src:url("https://use.typekit.net/af/669f97/00000000000000007735e623/30/l?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n4&v=3") format("woff2"),url("https://use.typekit.net/af/669f97/00000000000000007735e623/30/d?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n4&v=3") format("woff"),url("https://use.typekit.net/af/669f97/00000000000000007735e623/30/a?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n4&v=3") format("opentype");font-display:swap;font-style:normal;font-weight:400;font-stretch:normal}@font-face{font-family:"proxima-nova-condensed";src:url("https://use.typekit.net/af/3f0c14/00000000000000007735e626/30/l?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n6&v=3") format("woff2"),url("https://use.typekit.net/af/3f0c14/00000000000000007735e626/30/d?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n6&v=3") format("woff"),url("https://use.typekit.net/af/3f0c14/00000000000000007735e626/30/a?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n6&v=3") format("opentype");font-display:swap;font-style:normal;font-weight:600;font-stretch:normal}.tk-proxima-nova{font-family:"proxima-nova",sans-serif}.tk-proxima-nova-condensed{font-family:"proxima-nova-condensed",sans-serif} </style> </head> <body class="resources stickynav "> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-P8SKV3B" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <div class="wrap"> <div class="wrap__content"> <header class="header-wrap" data-theme="black"> <div class="header container-v2"> <a href="/" class="header__logo">Recurly</a> <nav class="header__navigation"> <ul class="navigation"> <li class="navigation__item subnav" data-subnav="product" id="topnav-product"> <a tabindex="0" href="/product/" class="link-no-underline" >Product</a> <div class="subnav-item__column subnav-item__large subnav-item__column--product hide"> <ul class="subnav-item__left"> <li class="subnav-item__nav" data-hover="1"> <h3 class="subnav-item__link" ><a href="/product/plans-pricing-promotions/">Plans, pricing & promotions</a></h3> </li> <li class="subnav-item__nav" data-hover="2"> <h3 class="subnav-item__link" ><a href="/product/subscriber-management/">Subscriber management</a></h3> </li> <li class="subnav-item__nav" data-hover="3"> <h3 class="subnav-item__link" ><a href="/product/payments-orchestration/">Payments orchestration</a></h3> </li> <li class="subnav-item__nav" data-hover="4"> <h3 class="subnav-item__link" ><a href="/product/recurring-billing/">Recurring billing</a></h3> </li> <li class="subnav-item__nav" data-hover="5"> <h3 class="subnav-item__link" ><a href="/product/churn-management/">Churn management</a></h3> </li> <li class="subnav-item__nav" data-hover="7"> <h3 class="subnav-item__link" ><a href="/product/reporting-analytics/">Reporting & analytics</a></h3> </li> </ul> <div class="subnav-item__mid"> <ul class="subnav-item__secondary subnav-item__secondary--1 active"> <li class="subnav-item__nav"><a href="/product/plans-pricing-promotions/" >Overview</a></li> <li class="subnav-item__nav"><a href="/product/pricing-models/" >Pricing models</a></li> <li class="subnav-item__nav"><a href="/product/plans-addons/" class="subnav-item__secondary--small" >Plans & add-ons</a></li> <li class="subnav-item__nav"><a href="/product/item-catalog/" >Item catalog</a></li> <li class="subnav-item__nav"><a href="/product/trial-management/" >Trial management</a></li> <li class="subnav-item__nav"><a href="/product/coupons-discounts/" >Coupons & discounts</a></li> <li class="subnav-item__nav"><a href="/product/gift-subscriptions-cards/" >Gift subscriptions & cards</a></li> </ul> <ul class="subnav-item__secondary subnav-item__secondary--2"> <li class="subnav-item__nav"><a href="/product/subscriber-management/" >Overview</a></li> <li class="subnav-item__nav"><a href="/product/subscription-management/" >Subscription management</a></li> <li class="subnav-item__nav"><a href="/product/multi-subscription-support/" >Multi-subscription support</a></li> <li class="subnav-item__nav"><a href="/product/subscriber-lifecycle-emails/" >Billing communications</a></li> <li class="subnav-item__nav"><a href="/product/subscriber-engagement/" >Subscriber engagement</a></li> <li class="subnav-item__nav"><a href="/product/account-hierarchy/" >Account hierarchy</a></li> <li class="subnav-item__nav"><a href="/product/checkout/" >Checkout</a></li> </ul> <ul class="subnav-item__secondary subnav-item__secondary--3"> <li class="subnav-item__nav"><a href="/product/payments-orchestration/" >Overview</a></li> <li class="subnav-item__nav"><a href="/product/multiple-gateways/" >Multiple payment gateways</a></li> <li class="subnav-item__nav"><a href="/product/alternative-payment-methods/" >Alternative payment methods</a></li> <li class="subnav-item__nav"><a href="/product/subscriber-wallet/" >Subscriber wallet</a></li> <li class="subnav-item__nav"><a href="/product/fraud-management/" >Fraud management</a></li> </ul> <ul class="subnav-item__secondary subnav-item__secondary--4"> <li class="subnav-item__nav"><a href="/product/recurring-billing/" >Overview</a></li> <li class="subnav-item__nav"><a href="/product/automated-billing-receipts/" >Automated & manual invoicing</a></li> <li class="subnav-item__nav"><a href="/product/invoice-customization/" >Invoice & receipt customization</a></li> <li class="subnav-item__nav"><a href="/product/charges-credits/" >Charges & credits</a></li> <li class="subnav-item__nav"><a href="/product/taxes-compliance/" >Taxes & compliance</a></li> </ul> <ul class="subnav-item__secondary subnav-item__secondary--5"> <li class="subnav-item__nav"><a href="/product/churn-management/" >Overview</a></li> <li class="subnav-item__nav"><a href="/product/intelligent-retries/" >Intelligent retries</a></li> <li class="subnav-item__nav"><a href="/product/account-updater/" >Account updater</a></li> <li class="subnav-item__nav"><a href="/product/expired-card-management/" >Expired card management</a></li> <li class="subnav-item__nav"><a href="/product/dunning-campaign/" >Dunning campaigns</a></li> <li class="subnav-item__nav"><a href="/product/backup-payment-method/" >Backup payment method</a></li> <li class="subnav-item__nav"><a href="/product/pause-subscription/" >Pause subscriptions</a></li> </ul> <ul class="subnav-item__secondary subnav-item__secondary--6"> <li class="subnav-item__nav"><a href="/product/revenue-recognition/" >Overview</a></li> <li class="subnav-item__nav"><a href="/product/revenue-management/" >Revenue management</a></li> <li class="subnav-item__nav"><a href="/product/revenue-compliance/" >Revenue compliance</a></li> <li class="subnav-item__nav"><a href="/product/revenue-forecasting/" >Revenue forecasting</a></li> <li class="subnav-item__nav"><a href="/product/multiple-revenue-models/" >Multiple revenue models</a></li> </ul> <ul class="subnav-item__secondary subnav-item__secondary--7"> <li class="subnav-item__nav"><a href="/product/reporting-analytics/" >Overview</a></li> <li class="subnav-item__nav"><a href="/product/dashboards-reports/" >Dashboards & reports</a></li> <li class="subnav-item__nav"><a href="/product/report-builder/" >Report builder</a></li> <li class="subnav-item__nav"><a href="/product/built-in-benchmarks/" >Built-in benchmarks</a></li> <li class="subnav-item__nav"><a href="/product/data-imports-exports/" >Data imports & exports</a></li> </ul> </div> <div class="subnav-item__right"> <p><strong>OTHER PRODUCTS</strong></p> <p><a href="/product/revenue-recognition/">Revenue recognition</a></p> <p><a href="/product/app-management/" >App management</a></p> <p><strong>ALSO VIEW</strong></p> <p><a href="/product/integration-methods/" >Integration methods</a></p> <p><a href="/product/partner-ecosystem/" >Partner ecosystem</a></p> <p><a href="/product/security-compliance/" >Security & compliance</a></p> <p><a href="/product/global-expansion/" >Global expansion</a></p> <p><a href="/product/support-and-services/" >Support & services</a></p> </div> </div> </li> <li class="navigation__item subnav" data-subnav="solutions" id="topnav-solutions"> <a tabindex="0" href="/solutions/" class="link-no-underline" >Solutions</a> <div class="subnav-item__column subnav-item__column--solutions subnav-item__large subnav-item__large--solutions hide"> <ul class="subnav-item__left"> <li class="subnav-item__nav" data-hover="1"> <h3 class="subnav-item__link" tabindex="0">Industry</h3> </li> <li class="subnav-item__nav" data-hover="2"> <h3 class="subnav-item__link" tabindex="0">Business role</h3> </li> <li class="subnav-item__nav" data-hover="3"> <h3 class="subnav-item__link" tabindex="0">Business size</h3> </li> </ul> <div class="subnav-item__mid"> <ul class="subnav-item__secondary subnav-item__secondary--1 active"> <li class="subnav-item__nav"><a href="/solutions/streaming-media/" >Streaming media</a></li> <li class="subnav-item__nav"><a href="/solutions/digital-publishing/" >Digital publishing</a></li> <li class="subnav-item__nav"><a href="/solutions/education-elearning/" >eLearning</a></li> <li class="subnav-item__nav"><a href="/solutions/software-b2c-saas/" >B2C SaaS</a></li> <li class="subnav-item__nav"><a href="/solutions/software-b2b-saas/" >B2B SaaS</a></li> <li class="subnav-item__nav"><a href="/solutions/consumer-goods-and-retail/" >Consumer goods & retail</a></li> <li class="subnav-item__nav"><a href="/solutions/business-services/" >Business services</a></li> <li class="subnav-item__nav"><a href="/solutions/health-and-wellness/" >Health & wellness</a></li> <li class="subnav-item__nav"><a href="/solutions/travel-hospitality-entertainment/" >Travel, hospitality & entertainment</a></li> <li class="subnav-item__nav"><a href="/solutions/telecom-energy-utlities/" >Telecom, energy & utilities</a></li> <li class="subnav-item__nav"><a href="/solutions/government-and-non-profit/" >Government & non-profit</a></li> </ul> <ul class="subnav-item__secondary subnav-item__secondary--2"> <li class="subnav-item__nav"><a href="/solutions/subscriptions-finance-roles/" >Finance</a></li> <li class="subnav-item__nav"><a href="/solutions/subscriptions-technology-roles/" >IT & Engineering</a></li> <li class="subnav-item__nav"><a href="/solutions/subscriptions-product-management-roles/" >Product Management</a></li> <li class="subnav-item__nav"><a href="/solutions/subscriptions-sales-and-marketing-roles/" >Sales & Marketing</a></li> </ul> <ul class="subnav-item__secondary subnav-item__secondary--3"> <li class="subnav-item__nav"><a href="/solutions/small-and-medium-businesses/" >Small & medium</a></li> <li class="subnav-item__nav"><a href="/solutions/mid-market/" >Mid-market</a></li> <li class="subnav-item__nav"><a href="/solutions/enterprise/" >Enterprise</a></li> </ul> <!-- <ul class="subnav-item__secondary subnav-item__secondary--4"> <li class="subnav-item__nav"><a href="/solutions/automated-billing-receipts/" >Launch a subscription business</a></li> <li class="subnav-item__nav"><a href="/solutions/invoice-customization/" >Personalize plans and offers</a></li> <li class="subnav-item__nav"><a href="/solutions/charges-credits/" >Test and find the optimal pricing strategy</a></li> <li class="subnav-item__nav"><a href="/solutions/taxes-compliance/" >Incorporate trials, coupons and gifts</a></li> <li class="subnav-item__nav"><a href="/solutions/taxes-compliance/" >Expand to international markets</a></li> <li class="subnav-item__nav"><a href="/solutions/taxes-compliance/" >Manage web and mobile subscriptions</a></li> </ul> <ul class="subnav-item__secondary subnav-item__secondary--5"> <li class="subnav-item__nav"><a href="/solutions/intelligent-retries/" >Accelerate subscriber acquisition</a></li> <li class="subnav-item__nav"><a href="/solutions/account-updater/" >Grow subscriber lifetime value</a></li> <li class="subnav-item__nav"><a href="/solutions/expired-card-management/" >Orchestrate and optimize payments</a></li> <li class="subnav-item__nav"><a href="/solutions/dunning-campaign/" >Streamline billing and stay compliant</a></li> <li class="subnav-item__nav"><a href="/solutions/backup-payment-method/" >Reduce subscriber churn </a></li> <li class="subnav-item__nav"><a href="/solutions/pause-subscription/" >Automate revenue recognition</a></li> </ul> --> </div> </div> </li> <li class="navigation__item" id="topnav-customers"> <a tabindex="0" href="/customers/" class="link-no-underline" >Customers</a> </li> <li class="navigation__item" id="topnav-pricing"> <a tabindex="0" href="/plans/" class="link-no-underline" >Pricing</a> </li> <li class="navigation__item subnav" data-subnav="resources" id="topnav-resources"> <a tabindex="0" href="/resources/" class="link-no-underline" >Resources</a> <div class="subnav-item__column subnav-item__column--resources subnav-item__large subnav-item__large--resources hide"> <ul class="subnav-item__left"> <li class="subnav-item__nav" data-hover="1"> <a class="subnav-item__link" href="/resources/" >Resource center</a> </li> <li class="subnav-item__nav" data-hover="2"> <a class="subnav-item__link" href="/research/" >Benchmarks & insights</a> </li> <li class="subnav-item__nav" data-hover="3"> <a class="subnav-item__link" href="/events/" >Events</a> </li> <li class="subnav-item__nav" data-hover="4"> <a class="subnav-item__link" href="/blog/" >Blog</a> </li> <li class="subnav-item__nav" data-hover="5"> <a class="subnav-item__link" href="/developers/" >Developers</a> </li> <li class="subnav-item__nav" data-hover="6"> <a class="subnav-item__link" href="https://docs.recurly.com" >Documentation</a> </li> </ul> <div class="subnav-item__right"> <p><strong class="nav-resources__label" >FEATURED</strong></p> <a href="/resources/report/state-of-subscriptions/"><img class="nav-resources__image lazyload" data-src="/img2/promo-banners/img-SoS-Launch-ResourceTile_2025.png" alt="The 2025 State of subscriptions" /></a> <p class="nav-resources__title"><a href="/resources/report/state-of-subscriptions/">The 2025 State of subscriptions</a></p> </div> </div> </li> <li class="navigation__item subnav" data-subnav="about" id="topnav-about"> <a tabindex="0" href="/company/" class="link-no-underline">About</a> <div class="subnav-item__column subnav-item__column--about subnav-item__large subnav-item__large--about hide"> <ul class="subnav-item__left"> <li class="subnav-item__nav"> <a class="subnav-item__link" href="/company/" >Company</a> </li> <li class="subnav-item__nav"> <a class="subnav-item__link" href="/company/#leadership" >Leadership Team</a> </li> <li class="subnav-item__nav"> <a class="subnav-item__link" href="/news/" >Newsroom</a> </li> <li class="subnav-item__nav"> <a class="subnav-item__link" href="/press/" >Press releases</a> </li> <li class="subnav-item__nav"> <a class="subnav-item__link" href="/integrations/" >Partners</a> </li> <li class="subnav-item__nav"> <a class="subnav-item__link" href="/jobs/" >Careers</a> </li> </ul> </div> </li> </ul> </nav> <div class="header__actions"> <a class="header__login-btn" href="https://app.recurly.com/login" data-event="login-clicked" data-ga-click="LogIn click resources-header">Log in</a> <a class="btn btn-secondary header__demo-btn" href="/request-a-demo/" data-event="requestdemo-clicked" data-ga-click="RequestDemo click resources-header" >Book my demo</a> </div> <div class="header__mobile"> <a class="btn btn-secondary header__demo-btn" href="/request-a-demo/" data-event="requestdemo-clicked" data-ga-click="RequestDemo click mobilenav-requestdemo" target="_blank">Book my demo</a> <div class="header__toggle mobile-button action-toggle-mobile-nav" tabindex="0" aria-label="Navigation Menu"><span>Toggle Mobile Navigation</span></div> <div aria-hidden="false" id="mobileNav" class="mobile-nav__menu" role="menu" data-theme="black"> <ul class="mobile-nav__category-wrapper"> <li class="mobile-nav__category-item mobile-nav__line"> <button class="mobile-nav__category-item-link mobile-nav__accordion-toggle" type="button"> <div class="mobile-nav__category-item-layout"> <div class="mobile-nav__title-wrapper"> <span class="mobile-nav__title"> <span>Product</span> </span> </div> </div> </button> <div class="mobile-nav__accordion"> <div class="mobile-nav__accordion-wrapper"> <ul> <li> <a class="mobile-nav__menu-item-link" href="/product/plans-pricing-promotions/" data-event="mobilenav-clicked" data-ga-click="MobileNav click mobilenav-plans-pricing-promotions"> <span>Plans, pricing & promotions</span> </a> </li> <li> <a class="mobile-nav__menu-item-link" href="/product/subscriber-management/" data-event="mobilenav-clicked" data-ga-click="MobileNav click mobilenav-subscriber-management"> <span>Subscriber management</span> </a> </li> <li> <a class="mobile-nav__menu-item-link" href="/product/payments-orchestration/" data-event="mobilenav-clicked" data-ga-click="MobileNav click mobilenav-payments-orchestration"> <span>Payments orchestration</span> </a> </li> <li> <a class="mobile-nav__menu-item-link" href="/product/recurring-billing/" data-event="mobilenav-clicked" data-ga-click="MobileNav click mobilenav-recurring-billing"> <span>Recurring billing</span> </a> </li> <li> <a class="mobile-nav__menu-item-link" href="/product/churn-management/" data-event="mobilenav-clicked" data-ga-click="MobileNav click mobilenav-churn-management"> <span>Churn management</span> </a> </li> <li> <a class="mobile-nav__menu-item-link" href="/product/revenue-recognition/" data-event="mobilenav-clicked" data-ga-click="MobileNav click mobilenav-revenue-recognition"> <span>Revenue recognition</span> </a> </li> <li> <a class="mobile-nav__menu-item-link" href="/product/reporting-analytics/" data-event="mobilenav-clicked" data-ga-click="MobileNav click mobilenav-reporting-analytics"> <span>Reporting & analytics</span> </a> </li> <li> <a class="mobile-nav__menu-item-link" href="/product/integration-methods/" data-event="mobilenav-clicked" data-ga-click="MobileNav click mobilenav-integration-methods"> <span>Integration methods</span> </a> </li> <li> <a class="mobile-nav__menu-item-link" href="/product/partner-ecosystem/" data-event="mobilenav-clicked" data-ga-click="MobileNav click mobilenav-partner-ecosystem"> <span>Partner ecosystem</span> </a> </li> <li> <a class="mobile-nav__menu-item-link" href="/product/security-and-compliance/" data-event="mobilenav-clicked" data-ga-click="MobileNav click mobilenav-security-and-compliance"> <span>Security & compliance</span> </a> </li> <li> <a class="mobile-nav__menu-item-link" href="/product/global-expansion/" data-event="mobilenav-clicked" data-ga-click="MobileNav click mobilenav-global-expansion"> <span>Global expansion</span> </a> </li> <li> <a class="mobile-nav__menu-item-link" href="/product/support-and-services/" data-event="mobilenav-clicked" data-ga-click="MobileNav click mobilenav-support-and-services"> <span>Support & services</span> </a> </li> </ul> </div> </div> </li> <li class="mobile-nav__category-item mobile-nav__line"> <button class="mobile-nav__category-item-link mobile-nav__accordion-toggle" type="button"> <div class="mobile-nav__category-item-layout"> <div class="mobile-nav__title-wrapper"> <span class="mobile-nav__title"> <span>Solutions</span> </span> </div> </div> </button> <div class="mobile-nav__accordion"> <div class="mobile-nav__accordion-wrapper"> <ul> <li> <a class="mobile-nav__menu-item-link" href="/solutions/" data-event="mobilenav-clicked" data-ga-click="MobileNav click mobilenav-solutions"> <span>See all solutions</span> </a> </li> <li> <a class="mobile-nav__menu-item-link" href="/solutions/streaming-media/" data-event="mobilenav-clicked" data-ga-click="MobileNav click mobilenav-streamingmedia"> <span>Streaming media</span> </a> </li> <li> <a class="mobile-nav__menu-item-link" href="/solutions/digital-publishing/" data-event="mobilenav-clicked" data-ga-click="MobileNav click mobilenav-digital-publishing"> <span>Digital publishing</span> </a> </li> <li> <a class="mobile-nav__menu-item-link" href="/solutions/elearning/" data-event="mobilenav-clicked" data-ga-click="MobileNav click mobilenav-elearning"> <span>eLearning</span> </a> </li> <li> <a class="mobile-nav__menu-item-link" href="/solutions/software-b2c-saas/" data-event="mobilenav-clicked" data-ga-click="MobileNav click mobilenav-software-b2c-saas"> <span>B2C SaaS</span> </a> </li> <li> <a class="mobile-nav__menu-item-link" href="/solutions/software-b2b-saas/" data-event="mobilenav-clicked" data-ga-click="MobileNav click mobilenav-software-b2b-saas"> <span>B2B SaaS</span> </a> </li> <li> <a class="mobile-nav__menu-item-link" href="/solutions/consumer-goods-retail/" data-event="mobilenav-clicked" data-ga-click="MobileNav click mobilenav-consumer-goods-and-retail"> <span>Consumer goods & retail</span> </a> </li> <li> <a class="mobile-nav__menu-item-link" href="/solutions/consumer-and-business-services/" data-event="mobilenav-clicked" data-ga-click="MobileNav click mobilenav-consumer-business-services"> <span>Business services</span> </a> </li> <li> <a class="mobile-nav__menu-item-link" href="/solutions/health-and-wellness/" data-event="mobilenav-clicked" data-ga-click="MobileNav click mobilenav-health-and-wellness"> <span>Health & wellness</span> </a> </li> <li> <a class="mobile-nav__menu-item-link" href="/solutions/travel-hospitality-entertainment/" data-event="mobilenav-clicked" data-ga-click="MobileNav click mobilenav-travel"> <span>Travel, hospitality, & entertainment</span> </a> </li> <li> <a class="mobile-nav__menu-item-link" href="/solutions/telecom-energy-utlities/" data-event="mobilenav-clicked" data-ga-click="MobileNav click mobilenav-telecom"> <span>Telecom, energy, & utilities</span> </a> </li> <li> <a class="mobile-nav__menu-item-link" href="/solutions/government-and-non-profit/" data-event="mobilenav-clicked" data-ga-click="MobileNav click mobilenav-government"> <span>Government & non-profit</span> </a> </li> </ul> </div> </div> </li> <li class="mobile-nav__category-item mobile-nav__line"> <a href="/customers/" class="mobile-nav__category-item-link" data-event="mobilenav-clicked" data-ga-click="MobileNav click mobilenav-customers"> <div class="mobile-nav__category-item-layout"> <div class="mobile-nav__title-wrapper"> <span class="mobile-nav__title mobile-nav__title--no-accordion"> <span>Customers</span> </span> </div> </div> </a> </li> <li class="mobile-nav__category-item mobile-nav__line"> <a href="/plans/" class="mobile-nav__category-item-link" data-event="mobilenav-clicked" data-ga-click="MobileNav click mobilenav-plans"> <div class="mobile-nav__category-item-layout"> <div class="mobile-nav__title-wrapper"> <span class="mobile-nav__title mobile-nav__title--no-accordion"> <span>Pricing</span> </span> </div> </div> </a> </li> <li class="mobile-nav__category-item mobile-nav__line"> <button class="mobile-nav__category-item-link mobile-nav__accordion-toggle" type="button"> <div class="mobile-nav__category-item-layout"> <div class="mobile-nav__title-wrapper"> <span class="mobile-nav__title"> <span>Resources</span> </span> </div> </div> </button> <div class="mobile-nav__accordion"> <div class="mobile-nav__accordion-wrapper"> <ul> <li> <a class="mobile-nav__menu-item-link" href="/resources/" data-event="mobilenav-clicked" data-ga-click="MobileNav click mobilenav-resources"> <span>Resource center</span> </a> </li> <li> <a class="mobile-nav__menu-item-link" href="/research/" data-event="mobilenav-clicked" data-ga-click="MobileNav click mobilenav-benchmarks-and-insights"> <span>Benchmarks & insights</span> </a> </li> <li> <a class="mobile-nav__menu-item-link" href="/events/" data-event="mobilenav-clicked" data-ga-click="MobileNav click mobilenav-events"> <span>Events</span> </a> </li> <li> <a class="mobile-nav__menu-item-link" href="/blog/" data-event="mobilenav-clicked" data-ga-click="MobileNav click mobilenav-blog"> <span>Blog</span> </a> </li> <li> <a class="mobile-nav__menu-item-link" href="https://recurly.com/developers/" target="_blank" rel="noreferrer noopener" data-event="mobilenav-clicked" data-ga-click="MobileNav click mobilenav-developers"> <span>Developers</span> </a> </li> <li> <a class="mobile-nav__menu-item-link" href="https://docs.recurly.com/" target="_blank" rel="noreferrer noopener" data-event="mobilenav-clicked" data-ga-click="MobileNav click mobilenav-documentation"> <span>Documentation</span> </a> </li> </ul> </div> </div> </li> <li class="mobile-nav__category-item mobile-nav__line"> <button class="mobile-nav__category-item-link mobile-nav__accordion-toggle" type="button"> <div class="mobile-nav__category-item-layout"> <div class="mobile-nav__title-wrapper"> <span class="mobile-nav__title"> <span>About</span> </span> </div> </div> </button> <div class="mobile-nav__accordion"> <div class="mobile-nav__accordion-wrapper"> <ul> <li> <a class="mobile-nav__menu-item-link" href="/company/" data-event="mobilenav-clicked" data-ga-click="MobileNav click mobilenav-company"> <span>Company</span> </a> </li> <li> <a class="mobile-nav__menu-item-link" href="/company/#leadership-m" data-event="mobilenav-clicked" data-ga-click="MobileNav click mobilenav-company"> <span>Leadership Team</span> </a> </li> <li> <a class="mobile-nav__menu-item-link" href="/news/" rel="noreferrer noopener" data-event="mobilenav-clicked" data-ga-click="MobileNav click mobilenav-newsroom"> <span>Newsroom</span> </a> </li> <li> <a class="mobile-nav__menu-item-link" href="/press/" data-event="mobilenav-clicked" data-ga-click="MobileNav click mobilenav-press"> <span>Press releases</span> </a> </li> <li> <a class="mobile-nav__menu-item-link" href="/integrations/" data-event="mobilenav-clicked" data-ga-click="MobileNav click mobilenav-partners"> <span>Partners</span> </a> </li> <li> <a class="mobile-nav__menu-item-link" href="/jobs/" data-event="mobilenav-clicked" data-ga-click="MobileNav click mobilenav-careers"> <span>Careers</span> </a> </li> </ul> </div> </div> </li> <li class="mobile-nav__category-item mobile-nav__line"> <a href="/contact-us/" class="mobile-nav__category-item-link" data-event="login-clicked" data-ga-click="LogIn click mobilenav-contact"> <div class="mobile-nav__category-item-layout"> <div class="mobile-nav__title-wrapper"> <span class="mobile-nav__title mobile-nav__title--no-accordion"> <span>Contact</span> </span> </div> </div> </a> </li> <li class="mobile-nav__category-item mobile-nav__line"> <a href="https://app.recurly.com/login" class="mobile-nav__category-item-link"data-event="login-clicked" data-ga-click="LogIn click mobilenav-login"> <div class="mobile-nav__category-item-layout"> <div class="mobile-nav__title-wrapper"> <span class="mobile-nav__title mobile-nav__title--no-accordion"> <span>Log in</span> </span> </div> </div> </a> </li> </ul> </div> </div> </div> </header> <section class="hero resources__hero"> <div class="container"> <h1 class="hero__title">Resource center</h1> <div class="row"> <div class="col-lg-7 large-content"> <div class="large-content_wrapper linkbox__root"> <img data-src="//images.ctfassets.net/wob906kz2qeo/4ppENZhjmI9NfycHTjKGt/b8296b8522abb9918ecbbe7a04ba39a5/SoS-Webinar-OnDemand-ResourceTile_1460x768.png" alt="" class="lazyload"> <div class="large-content__bottom"> <p class="large-content__label">Webinar</p> <h2 class="large-content__headline" id="rc-hero__68mR2rq1WEos3niYoZnJpt">Webinar: The 2025 State of subscriptions</h2> <a aria-labelledby="rc-hero__68mR2rq1WEos3niYoZnJpt" class="learn-more linkbox__target" href="/resources/webinar/2025-state-of-subscriptions-virtual-event/" > Watch now </a> </div> </div> </div> <div class="col-xs-6 col-sm-4 col-lg-5 top-content"> <div class="top-content__wrapper linkbox__root"> <div class="top-content__container"> <img data-src="//images.ctfassets.net/wob906kz2qeo/3QiARTCENoa7uZm1FVIoMq/fe0045e22aee58166a84ca4f759686a8/SoS-Launch-ResourceTile_1460x768.png" alt="" class="lazyload"> <div class="top-content__bottom"> <p class="top-content__label">Report</p> <h2 class="top-content__headline" id="rc-hero__3ScLt5UQsQbvPLDHiL3iS5">The 2025 State of subscriptions</h2> <a aria-labelledby="rc-hero__3ScLt5UQsQbvPLDHiL3iS5" class="learn-more linkbox__target" href="https://recurly.com/resources/report/state-of-subscriptions/" > Download now </a> </div> </div> </div> </div> <div class="col-xs-6 col-sm-4 col-lg-5 top-content"> <div class="top-content__wrapper linkbox__root"> <div class="top-content__container"> <img data-src="//images.ctfassets.net/wob906kz2qeo/3NEWEva6LKeKN0kkT01V78/bfbd4c014014720a649f10d39f3e58ac/Resource_Feature_Tile_1460x768__4_.jpg" alt="" class="lazyload"> <div class="top-content__bottom"> <p class="top-content__label">Webinar</p> <h2 class="top-content__headline" id="rc-hero__351XABGlZSjDGQXfuuSSoF">Discover the future of subscriptions with Recurly</h2> <a aria-labelledby="rc-hero__351XABGlZSjDGQXfuuSSoF" class="learn-more linkbox__target" href="https://recurly.com/resources/webinar/discover-the-future-of-subscriptions-with-recurly/" > Watch now </a> </div> </div> </div> </div> <div class="col-xs-6 col-sm-4 col-lg-5 top-content"> <div class="top-content__wrapper linkbox__root"> <div class="top-content__container"> <img data-src="//images.ctfassets.net/wob906kz2qeo/5NafgMd1758yp6pQz6VpK8/1afc6e1a92fdfc8f9942eafc109a29ac/Resource_Feature_Tile_1460x768__11_.jpg" alt="" class="lazyload"> <div class="top-content__bottom"> <p class="top-content__label">Guide</p> <h2 class="top-content__headline" id="rc-hero__5OBIxSxKcDUSd3uJlRX1LR">From local to global: Scaling your subscription business across borders</h2> <a aria-labelledby="rc-hero__5OBIxSxKcDUSd3uJlRX1LR" class="learn-more linkbox__target" href="https://recurly.com/resources/guide/going-global-essential-guide-for-expanding-your-subscription-business/" > Download now </a> </div> </div> </div> </div> </div> </div> </section> <section class="sticky-nav"> <div class="container"> <p class="filter-by">Filter by:</p> <ul class="sort-nav topics-menu"> <li class="sort-nav-item"> <a class="sort-nav-name" href="">Topic <span>(<span class="topics-selected"></span>)</span></a> <ul class="sort-subnav topics-subnav"> <li class="sort-subnav-item" data-topic="analytics_and_insights" data-name="Analytics &amp; Insights">Analytics &amp; Insights <span class="close"></span></li> <li class="sort-subnav-item" data-topic="billing_and_accounting" data-name="Billing &amp; Accounting">Billing &amp; Accounting <span class="close"></span></li> <li class="sort-subnav-item" data-topic="developer_resources" data-name="Developer Resources">Developer Resources <span class="close"></span></li> <li class="sort-subnav-item" data-topic="expert_support" data-name="Expert Support">Expert Support <span class="close"></span></li> <li class="sort-subnav-item" data-topic="flexible_integrations" data-name="Flexible Integrations">Flexible Integrations <span class="close"></span></li> <li class="sort-subnav-item" data-topic="payment_options" data-name="Payment Options">Payment Options <span class="close"></span></li> <li class="sort-subnav-item" data-topic="security_and_compliance" data-name="Security &amp; Compliance">Security &amp; Compliance <span class="close"></span></li> <li class="sort-subnav-item" data-topic="subscriber_acquisition" data-name="Subscriber Acquisition">Subscriber Acquisition <span class="close"></span></li> <li class="sort-subnav-item" data-topic="subscriber_retention" data-name="Subscriber Retention">Subscriber Retention <span class="close"></span></li> <li class="sort-subnav-item" data-topic="subscription_management" data-name="Subscription Management">Subscription Management <span class="close"></span></li> <li class="sort-subnav-item" data-topic="consumer_goods" data-name="Consumer Goods">Consumer Goods <span class="close"></span></li> <li class="sort-subnav-item" data-topic="saas" data-name="SaaS">SaaS <span class="close"></span></li> <li class="sort-subnav-item" data-topic="education" data-name="Education">Education <span class="close"></span></li> <li class="sort-subnav-item" data-topic="digital_media" data-name="Digital Media">Digital Media <span class="close"></span></li> </ul> </li> </ul> <ul class="sort-nav content-type-menu"> <li class="sort-nav-item"> <a class="sort-nav-name" href="">Content Type <span>(<span class="content-type-selected"></span>)</span></a> <ul class="sort-subnav content-type-subnav"> <li class="sort-subnav-item" data-content-type="case_study" data-name="Case Study">Case Study <span class="close"></span></li> <li class="sort-subnav-item" data-content-type="data_sheet" data-name="Data Sheet">Data Sheet <span class="close"></span></li> <li class="sort-subnav-item" data-content-type="guide" data-name="Guide">Guide <span class="close"></span></li> <li class="sort-subnav-item" data-content-type="research" data-name="Research">Research <span class="close"></span></li> <li class="sort-subnav-item" data-content-type="tool" data-name="Tool">Tool <span class="close"></span></li> <li class="sort-subnav-item" data-content-type="webinar" data-name="Webinar">Webinar <span class="close"></span></li> <li class="sort-subnav-item" data-content-type="infographic" data-name="Infographic">Infographic <span class="close"></span></li> <li class="sort-subnav-item" data-content-type="whitepaper" data-name="Whitepaper">Whitepaper <span class="close"></span></li> </ul> </li> </ul> <p class="clear-filters">Clear Filters</p> <p class="back-to-top">Back to top</p> </div> </section> <section class="segment segment--initial segment--subs-management"> <div class="container"> <div class="heading-content"> <h2 class="heading">Subscription Management</h2> <p class="view-all" data-topic="subscription_management" data-name="Subscription Management">View all (<span class="subscription_management__length"></span>)</p> </div> <div class="row slick-modules subs-management__modules"> <div data-priority="1" class="resource-module subscription_management subscription_management analytics_and_insights guide" data-topic="subscription_management" data-content-type="guide" data-url="https://recurly.com/resources/guide/going-global-essential-guide-for-expanding-your-subscription-business/"> <a class="resource-module__url link-no-underline" href="https://recurly.com/resources/guide/going-global-essential-guide-for-expanding-your-subscription-business/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/5OAJ0uT5PAcAuQf06GF1pc/7d8c38af3dea52d43b102d2c90bf9647/Resource_Tile_720x502__11_.jpg" alt="" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Guide</p> <h3 class="resource-module__title">From local to global: Scaling your subscription business across borders</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscription_management webinar" data-topic="subscription_management" data-content-type="webinar" data-url="https://recurly.com/resources/webinar/discover-the-future-of-subscriptions-with-recurly/"> <a class="resource-module__url link-no-underline" href="https://recurly.com/resources/webinar/discover-the-future-of-subscriptions-with-recurly/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/2UpRvrHdyKucQcVS4XLWIV/6d89d48568063bc554488cfdfff8ae6b/Resource_Tile_720x502__3_.jpg" alt="" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">Discover the future of subscriptions with Recurly</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscription_management webinar" data-topic="subscription_management" data-content-type="webinar" data-url="https://recurly.com/resources/webinar/the-inside-scoop-in-what-subscribers-want/"> <a class="resource-module__url link-no-underline" href="https://recurly.com/resources/webinar/the-inside-scoop-in-what-subscribers-want/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/1YmRj7LTadb7fZcJL6KKOt/7c46950138386f79a5a6a34209fb7894/Resource_Tile_720x502__5_.jpg" alt="" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">Focus group: What subscribers really want</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscription_management webinar" data-topic="subscription_management" data-content-type="webinar" data-url="https://recurly.com/resources/webinar/your-roadmap-to-global-expansion-and-entering-new-markets/"> <a class="resource-module__url link-no-underline" href="https://recurly.com/resources/webinar/your-roadmap-to-global-expansion-and-entering-new-markets/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/2LQf1dl9hJI1w3RTS2JEHS/322022e7f30e25498ac92d0733eefdbb/Resource_Tile_720x502__7_.jpg" alt="" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">Going global: How to expand into new markets</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management churn subscriber_retention guide" data-topic="subscription_management" data-content-type="guide" data-url="https://recurly.com/content/how-roku-and-output-turn-failed-payments-into-a-subscription-growth-catalyst/"> <a class="resource-module__url link-no-underline" href="https://recurly.com/content/how-roku-and-output-turn-failed-payments-into-a-subscription-growth-catalyst/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/mWbbn8JkmZw6J7LLYydLd/415611fe27a63da3d531e2d1bd366887/img-2024-05-subsessions-payments-roku-output-skyscraper-resource-tile-720x502.png" alt="How Roku and Output turn failed payments into a subscription growth catalyst resource module image" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Guide</p> <h3 class="resource-module__title">How Roku and Output turn failed payments into a subscription growth catalyst</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscription_management expert_support guide" data-topic="subscription_management" data-content-type="guide" data-url="https://recurly.com/content/how-to-start-a-subscription-business-model/"> <a class="resource-module__url link-no-underline" href="https://recurly.com/content/how-to-start-a-subscription-business-model/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/4cIR4nhMwpzOuPVcjVDVm9/fab00330760729d08051ddcb794a7d67/img-2024-03-new-to-subscriptions-guide-resource-tile-std-720x502.png" alt="The ultimate guide to launching a subscription offering" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Guide</p> <h3 class="resource-module__title">The ultimate guide to launching a subscription offering</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscription_management billing_and_accounting analytics_and_insights webinar" data-topic="subscription_management" data-content-type="webinar" data-url="https://recurly.com/resources/webinar/recurly-product-demo/"> <a class="resource-module__url link-no-underline" href="https://recurly.com/resources/webinar/recurly-product-demo/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/Ouxc6Jf5dFz8Pbs22jTTs/fbd90a232d64b3d7e5fefcd3f166bc56/img-2023-08-product-tour-resource-tile-720x502.png" alt="Recurly end-to-end product tour" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">Recurly end-to-end platform demo</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscription_management churn guide" data-topic="subscription_management" data-content-type="guide" data-url="https://recurly.com/resources/guide/seven-strategies-for-subscription-success"> <a class="resource-module__url link-no-underline" href="https://recurly.com/resources/guide/seven-strategies-for-subscription-success" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/2h5krtsJlyBu4j7Nr85nHe/a5044fc643660fe7649325d4ce38e3c7/img-2022-11-7-strategies-for-subscription-success-resource-tile-720x502.png" alt="Seven Strategies for Subscription Success cover" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Guide</p> <h3 class="resource-module__title">Seven strategies for subscription success</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscriber_retention analytics_and_insights research" data-topic="subscription_management" data-content-type="research" data-url="https://recurly.com/research/subscription-benchmarks-top-payment-decline-reasons"> <a class="resource-module__url link-no-underline" href="https://recurly.com/research/subscription-benchmarks-top-payment-decline-reasons" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/4zzuOXSuk9GsKhkIY9xzDh/6135ade72c5eabd00b667c124df01d5b/img-2022-09-top-payment-decline-reasons-resource-720x502.png" alt="Top payment decline reasons" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Research</p> <h3 class="resource-module__title">Top payment decline reasons</h3> </div> </a> </div> <div data-priority="9" class="resource-module subscription_management subscription_management subscriber_retention subscriber_acquisition infographic" data-topic="subscription_management" data-content-type="infographic" data-url="https://recurly.com/content/ten-things-recurly-can-do-for-your-subscription-business/"> <a class="resource-module__url link-no-underline" href="https://recurly.com/content/ten-things-recurly-can-do-for-your-subscription-business/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/4Pv8ae9k6fHOdmBNbxJXl1/26a91ca92011274a46029cb897e1bd48/resource-tile_720x502.jpg" alt="610M+ infographic" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Infographic</p> <h3 class="resource-module__title">Ten Things Recurly Can Do for Your Subscription Business</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management developer_resources billing_and_accounting subscription_management tool" data-topic="subscription_management" data-content-type="tool" data-url="https://recurly.com/resources/tools/subscription-billing-platform-checklist/"> <a class="resource-module__url link-no-underline" href="https://recurly.com/resources/tools/subscription-billing-platform-checklist/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/15Svl7CtMLBf62ruQxWaGd/577f4fe36cd10104ebc0e0945798a61a/img-2023-10-build-vs-buy-resource-tile-720x502.png" alt="Colored cubes with checkmarks" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Tool</p> <h3 class="resource-module__title">Build vs. buy: A subscription software checklist</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscriber_acquisition subscriber_retention guide" data-topic="subscription_management" data-content-type="guide" data-url="/resources/guide/gift-subscriptions/"> <a class="resource-module__url link-no-underline" href="/resources/guide/gift-subscriptions/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/2WxwmPEKHWhh3UaOwuOsgw/0a42cdf1ed8e0560ddbb0ec813e28db8/img-2022-the-ultimate-cheat-sheet-to-gifting-subscriptions-resource-720x502.png" alt="The ultimate cheat sheet to gifting subscriptions" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Guide</p> <h3 class="resource-module__title">The ultimate cheat sheet to gifting subscriptions</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscription_management churn expert_support tool" data-topic="subscription_management" data-content-type="tool" data-url="https://recurly.com/resources/guide/how-to-start-a-subscription-business-model/"> <a class="resource-module__url link-no-underline" href="https://recurly.com/resources/guide/how-to-start-a-subscription-business-model/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/6SsPyUBoFux8s0Q0J6DHAC/a5f58069c493dd209133c1e0e2c6cd70/img-2024-03-new-to-subscriptions-checklist-resource-tile-std-720x502.png" alt="The complete checklist for launching a subscription offering" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Tool</p> <h3 class="resource-module__title">The complete checklist for launching a subscription offering</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscriber_acquisition analytics_and_insights subscriber_retention research" data-topic="subscription_management" data-content-type="research" data-url="https://recurly.com/resources/report/holiday-subscription-trends/"> <a class="resource-module__url link-no-underline" href="https://recurly.com/resources/report/holiday-subscription-trends/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/4Nm3AV3IRDaBJLozlDWXbG/28e8e17b9428e1c770f21eab3474578f/img-2023-09-holiday-report-resource-tile-720x502.png" alt="Unwrap the subscriptions: 2023 Holiday trends resource tile" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Research</p> <h3 class="resource-module__title">Unwrap the subscriptions: 2023 Holiday trends</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscription_management guide" data-topic="subscription_management" data-content-type="guide" data-url="https://recurly.com/resources/guide/gaining-a-competitive-advantage-through-subscription-commerce"> <a class="resource-module__url link-no-underline" href="https://recurly.com/resources/guide/gaining-a-competitive-advantage-through-subscription-commerce" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/1W85BBFvDozQLSwMrVy2Cv/8d2cc8d58f0fa76d6119880ba9f36974/img-2020-10-research-resource-tile-Guide-gaining-competitive-advantage-524x366.png" alt="Gaining a Competitive Advantage Through Subscription Commerce cover" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Guide</p> <h3 class="resource-module__title">Gain a competitive advantage with subscriptions</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscriber_acquisition guide" data-topic="subscription_management" data-content-type="guide" data-url="/content/subscription-customer-acquisition/"> <a class="resource-module__url link-no-underline" href="/content/subscription-customer-acquisition/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/4QY4V4GDop79jnwLWYMWT9/a8ddab1b61dace915222995064040ea9/img-2022-10-acquisition-campaign-resource-720x502.png" alt="Maximize subscriber growth" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Guide</p> <h3 class="resource-module__title">Maximizing growth with subscriber acquisition</h3> </div> </a> </div> <div data-priority="7" class="resource-module subscription_management subscription_management digital_media webinar" data-topic="subscription_management" data-content-type="webinar" data-url="https://recurly.com/resources/webinar/media-brands-driving-subscriber-growth/"> <a class="resource-module__url link-no-underline" href="https://recurly.com/resources/webinar/media-brands-driving-subscriber-growth/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/2R0hfS1RSBjraJQKUjYf04/3b21e0e3721efc5fd8cd47054ad42b00/img-2022-04-8-ways-media-brands-driving-subscription-growth-resource-std-720x502.png" alt="8 Ways Media Brands Driving Subscription Growth" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">8 ways media brands are driving subscriber growth</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management digital_media infographic" data-topic="subscription_management" data-content-type="infographic" data-url="https://recurly.com/resources/guide/benchmark-dme/"> <a class="resource-module__url link-no-underline" href="https://recurly.com/resources/guide/benchmark-dme/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/6X6HWWMn8R5Cp0DJquv61R/0a24bd5273fef66c2b18c38a96c64620/img-2022-05-digital_media_entertainment_report-resource-std-720x502.png" alt="Digital Media & Entertainment Benchmark Report" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Infographic</p> <h3 class="resource-module__title">Digital Media & Entertainment benchmarks 2022</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management digital_media tool" data-topic="subscription_management" data-content-type="tool" data-url="https://recurly.com/resources/tools/high-impact-tactics-dme/"> <a class="resource-module__url link-no-underline" href="https://recurly.com/resources/tools/high-impact-tactics-dme/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/5Ufm7kZe0bOjXRZYZCvYYk/cdaff1ff8c51f98816d2d1999d9ca021/img-2022-06-10-high-impact-tactics-subscription-success-digital-media-entertainment-resource-tile-720x502.png" alt="High Impact Tactics for Subscription Success" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Tool</p> <h3 class="resource-module__title">Digital Media & Entertainment: 10 High Impact Tactics for Subscription Success</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscription_management infographic" data-topic="subscription_management" data-content-type="infographic" data-url="https://recurly.com/content/five-growth-secrets-of-successful-subscription-model-brands/"> <a class="resource-module__url link-no-underline" href="https://recurly.com/content/five-growth-secrets-of-successful-subscription-model-brands/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/6zzOJXpcXkaeENscl5eqc4/0ef44ce4f10e4fd23aa2a3aaa51b224b/infographic-5-growth-secrets-resource-std-720x502.png" alt="Five Growth Secrets infographic" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Infographic</p> <h3 class="resource-module__title">Five Growth Secrets of Successful Subscription Model Brands</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management education tool" data-topic="subscription_management" data-content-type="tool" data-url="https://recurly.com/resources/tools/elearning-tactics-for-subscription-success/"> <a class="resource-module__url link-no-underline" href="https://recurly.com/resources/tools/elearning-tactics-for-subscription-success/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/3PK20i49byQJOMl5a6cB6d/7cf08ef90589ddef7cc32d6cb74afc97/img-2022-06-10-high-impact-tactics-subscription-success-elearning-resource-tile-720x502.png" alt="High Impact Tactics for Subscription Success" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Tool</p> <h3 class="resource-module__title">eLearning: 10 High-Impact Tactics for Subscription Success</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management consumer_goods subscriber_retention tool" data-topic="subscription_management" data-content-type="tool" data-url="https://recurly.com/resources/tools/high-impact-tactics-for-subscription-success-cgr/"> <a class="resource-module__url link-no-underline" href="https://recurly.com/resources/tools/high-impact-tactics-for-subscription-success-cgr/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/4x6mRFmSf2BftwnnTdyu8U/1da9121eaec6c6a91f0968b2ece1b6b8/img-2022-05-10-high-impact-tactics-subscription-success-consumer-goods-retail-resource-tile-720x502.jpg" alt="High Impact Tactics for Subscription Success" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Tool</p> <h3 class="resource-module__title">Consumer Goods & Retail: 10 High-Impact Tactics for Subscription Success</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscription_management whitepaper" data-topic="subscription_management" data-content-type="whitepaper" data-url="https://www.recurly.com/resources/whitepaper/subscription-trends-pandemic/"> <a class="resource-module__url link-no-underline" href="https://www.recurly.com/resources/whitepaper/subscription-trends-pandemic/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/5VFlolxBffR8M6tTkwKpc7/0e13a2ed7137893321071a39012b8cfa/img-2021-03-covid-whitepaper-resource-tile-720x502.png" alt="COVID pandemic impact on subscriptions" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Whitepaper</p> <h3 class="resource-module__title">Subscription trends amidst COVID-19</h3> </div> </a> </div> <div data-priority="9" class="resource-module subscription_management subscriber_acquisition subscription_management payment_options infographic" data-topic="subscription_management" data-content-type="infographic" data-url="https://recurly.com/content/going-global-with-recurly-infographic"> <a class="resource-module__url link-no-underline" href="https://recurly.com/content/going-global-with-recurly-infographic" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/5C2THgtC8i82yK8sdWv5ib/26b9b1d577e923f29d7699ca5fdd3a39/infographic-global-resource-tile-720x502.png" alt="Going Global infographic" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Infographic</p> <h3 class="resource-module__title">Taking Your Subscription Business Global</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscription_management guide" data-topic="subscription_management" data-content-type="guide" data-url="https://www.recurly.com/resources/guide/subscription-business-guide-to-global-expansion"> <a class="resource-module__url link-no-underline" href="https://www.recurly.com/resources/guide/subscription-business-guide-to-global-expansion" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/5KDGkgHJA9mLjiyZ4l8nMJ/891a239cc91371ba1c9930b8645d23ba/img-2020-11-expand-globally-524x366.png" alt="Expanding globally" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Guide</p> <h3 class="resource-module__title">Subscription Business? Here's Everything You Need to Go Global</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscription_management digital_media tool" data-topic="subscription_management" data-content-type="tool" data-url="https://www.recurly.com/resources/tools/digital-publishers-subscription-metrics-cheat-sheet"> <a class="resource-module__url link-no-underline" href="https://www.recurly.com/resources/tools/digital-publishers-subscription-metrics-cheat-sheet" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/1ih6Sl2IxGUzI4dd53MLmV/d4cbb647c821e8c79e26de3c601eafe4/img-2022-05-growth-metrics-cheat-sheet-digital-publishing-resource-tile-720x502.png" alt="Growth metrics cheat sheet" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Tool</p> <h3 class="resource-module__title">Digital Publishers’ Subscription Metrics Cheat Sheet</h3> </div> </a> </div> <div data-priority="8" class="resource-module subscription_management billing_and_accounting subscription_management flexible_integrations case_study" data-topic="subscription_management" data-content-type="case_study" data-url="https://recurly.com/resources/case-study/black-propeller/"> <a class="resource-module__url link-no-underline" href="https://recurly.com/resources/case-study/black-propeller/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/6FnuDRZWjq0whxHr4f1JMy/27725fb0994c0a02f1ac0a74b4746f8e/CaseStudies_ResourceTile_BlackPropeller.png" alt="Black Propeller logo" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Case Study</p> <h3 class="resource-module__title">Black Propeller Doubles Growth & Reduces Billing Time 95%</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscription_management webinar" data-topic="subscription_management" data-content-type="webinar" data-url="https://www.recurly.com/resources/webinar/future-of-retail-headless-commerce"> <a class="resource-module__url link-no-underline" href="https://www.recurly.com/resources/webinar/future-of-retail-headless-commerce" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/7nhHLSBvQbRaFrl7cUW1EF/da369f8c2cbc00293abdbd16ba605a7c/img-2020-10-headless-commerce-resource-720-502.png" alt="Gated headless commerce" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">Why Headless Commerce is the Future of Retail</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscription_management webinar" data-topic="subscription_management" data-content-type="webinar" data-url="https://www.recurly.com/resources/webinar/forever-revenue-stream-on-demand"> <a class="resource-module__url link-no-underline" href="https://www.recurly.com/resources/webinar/forever-revenue-stream-on-demand" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/3KoT4VsqP1mzOC7yf4dYH4/f026942f5da9dd10219dacc7a43e47ce/forever-revenue-stream-on-demand-524x366.png" alt="Recurring revenue stream" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">Expert Tactics for Predictable Subscription Revenue</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscription_management webinar" data-topic="subscription_management" data-content-type="webinar" data-url="https://recurly.com/resources/webinar/how-leading-publishers-are-growing-subscriptions"> <a class="resource-module__url link-no-underline" href="https://recurly.com/resources/webinar/how-leading-publishers-are-growing-subscriptions" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/64cJNBIOhWl0p2ifRd73IS/e1e4b4d444c4673a7a2fb765777aa9ef/img-2020-08-media-publishing-driving-growth-subscriptions-720x502.png" alt="Driving subscription growth" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">How Publishers are Driving Growth Through Subscriptions</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscriber_retention subscription_management webinar" data-topic="subscription_management" data-content-type="webinar" data-url="https://www.recurly.com/resources/webinar/how-pupbox-drives-exponential-membership-growth-on-demand-webinar"> <a class="resource-module__url link-no-underline" href="https://www.recurly.com/resources/webinar/how-pupbox-drives-exponential-membership-growth-on-demand-webinar" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/7Xb0iPTugqeqeCepharNn/86546e02f4424b8176154aff95376751/img-2022-07-subscriber-growth-resource-std-720x502.png" alt="Subscriber growth resource tile" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">How PupBox Drives Exponential Membership Growth</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscription_management webinar" data-topic="subscription_management" data-content-type="webinar" data-url="https://recurly.com/resources/webinar/digital-insurance-maximize-recurring-revenue"> <a class="resource-module__url link-no-underline" href="https://recurly.com/resources/webinar/digital-insurance-maximize-recurring-revenue" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/2TvBQLQyMkbFatuqzumIpk/b52f13277ddcc569cde94459eb02d9ae/Recurly-CFO-TransformingYourBusinessWithTheSubscriptionModel-Webinar-524x366.png" alt="Transforming your business with the subscription model" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">Digital Disruption In Insurance: Strategies to Maximize Revenue</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscription_management billing_and_accounting webinar" data-topic="subscription_management" data-content-type="webinar" data-url="https://recurly.com/resources/webinar/going-global-payments-and-subscription-billing-that-scales"> <a class="resource-module__url link-no-underline" href="https://recurly.com/resources/webinar/going-global-payments-and-subscription-billing-that-scales" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/7EgXKkQijoukkrwkahxuuI/94eb3332d2389228ccd1a0f9b83699b5/img-2020-09-going-global-build-pay-sub-billing-scales-524x366.png" alt="Scaling billing" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">Going Global: Payments and Billing Strategies that Scale</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscription_management billing_and_accounting webinar" data-topic="subscription_management" data-content-type="webinar" data-url="https://recurly.com/resources/webinar/unlock-subscription-growth"> <a class="resource-module__url link-no-underline" href="https://recurly.com/resources/webinar/unlock-subscription-growth" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/3UtsAGL9g0EiMP6O27mbVW/e6f25dbebeff351eb7653bfbcb062dd5/img-2020-07-payment-options-524x366.png" alt="Subscription payment options" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">How to Unlock Subscription Growth with Flexible Payments</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscriber_retention webinar" data-topic="subscription_management" data-content-type="webinar" data-url="https://recurly.com/resources/webinar/subscription-strategies-on-demand/"> <a class="resource-module__url link-no-underline" href="https://recurly.com/resources/webinar/subscription-strategies-on-demand/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/4qDeZbuLKcgidyHn9SjK6X/a394d4eead90ae4ae1ff3e6c4c671dee/img-2020-10-research-resource-tile-how-to-subscriber-retention-webinar-524x366.png" alt="Calendar with a specific day checked" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">How To Retain and Acquire Subscribers in Times of Uncertainty</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscription_management analytics_and_insights subscriber_acquisition webinar" data-topic="subscription_management" data-content-type="webinar" data-url="https://recurly.com/past-webinar/essential-saas-benchmarks-for-a-competitive-advantage"> <a class="resource-module__url link-no-underline" href="https://recurly.com/past-webinar/essential-saas-benchmarks-for-a-competitive-advantage" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/14NfuVbTanPTHBR46ScGSM/b4e8888238ada9c0fd9d446c03047ed8/img-2020-10-research-resource-tile-webinar-default-524x366.png" alt="Research resource tile" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">Essential SaaS Benchmarks</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscription_management data_sheet" data-topic="subscription_management" data-content-type="data_sheet" data-url="https://go.recurly.com/rs/439-LSC-903/images/Recurly_Corp_Data_Sheet.pdf"> <a class="resource-module__url link-no-underline" href="https://go.recurly.com/rs/439-LSC-903/images/Recurly_Corp_Data_Sheet.pdf" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/4px1SG4p4MBVZeR4gj3v7W/4e1865595c6a15ad08360f24e09272d0/img-2020-10-research-resource-tile-data-sheet-corporate-overview-524x366.png" alt="Datasheet and ideas" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Data Sheet</p> <h3 class="resource-module__title">Recurly Corporate Overview</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscription_management billing_and_accounting guide" data-topic="subscription_management" data-content-type="guide" data-url="https://recurly.com/content/how-subscription-businesses-implement-financial-operations-that-scale"> <a class="resource-module__url link-no-underline" href="https://recurly.com/content/how-subscription-businesses-implement-financial-operations-that-scale" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/592z5omg1P1HDB1oVhCFaL/48e577aac2c17a789ad56c23c3474019/img-2020-10-research-resource-tile-guide-financial-operations-524x366.png" alt="Financial operations" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Guide</p> <h3 class="resource-module__title">Implement Financial Operations That Scale</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscription_management analytics_and_insights guide" data-topic="subscription_management" data-content-type="guide" data-url="https://recurly.com/content/components-of-a-successful-subscription-billing-platform"> <a class="resource-module__url link-no-underline" href="https://recurly.com/content/components-of-a-successful-subscription-billing-platform" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/29vCuzSimigdA3WhlUJmko/e14e005d8eb7d2ed9b77cf7a0d19c50b/img-2020-10-research-resource-tile-guide-bfss-sub-billing_platform-524x366.png" alt="Choosing the Right Subscription Billing Platform cover" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Guide</p> <h3 class="resource-module__title">Blueprint: Choosing the Right Platform</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscription_management subscriber_retention churn guide" data-topic="subscription_management" data-content-type="guide" data-url="https://recurly.com/resources/guide/blueprint-subscription-subscriber-retention"> <a class="resource-module__url link-no-underline" href="https://recurly.com/resources/guide/blueprint-subscription-subscriber-retention" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/4pfdaj3hdtzfbHoaLstHBy/eb58a612c6136a0b10d3c3d07bce9a9b/img-2020-10-research-resource-tile-guide-bfss-sub-retention-524x366.png" alt="Subscriber Retention cover" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Guide</p> <h3 class="resource-module__title">Blueprint: Subscriber Retention</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscription_management expert_support case_study" data-topic="subscription_management" data-content-type="case_study" data-url="https://recurly.com/resources/case-study/cbsi"> <a class="resource-module__url link-no-underline" href="https://recurly.com/resources/case-study/cbsi" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/71e5e8nBeuP76Ci243igee/e9c63dab36ca64f3440ff6c53d7bf433/img-2022-03-resource-tile-case-study-paramount-plus-720x502.png" alt="Paramount+ logo" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Case Study</p> <h3 class="resource-module__title">Paramount+ Offers a Consistent Payment Experience</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscription_management payment_options case_study" data-topic="subscription_management" data-content-type="case_study" data-url="https://recurly.com/resources/case-study/sittercity"> <a class="resource-module__url link-no-underline" href="https://recurly.com/resources/case-study/sittercity" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/64BxvmRKDLnGmtwoi2fHRb/a2ee0cd5be999e6db8637d4dd2dfe978/img-2020-10-research-resource-tile-case-study-sittercity-524x366.png" alt="Sittercity logo" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Case Study</p> <h3 class="resource-module__title">Sittercity Appreciates Recurly's Flexible API</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscription_management billing_and_accounting case_study" data-topic="subscription_management" data-content-type="case_study" data-url="https://recurly.com/resources/case-study/gathercontent"> <a class="resource-module__url link-no-underline" href="https://recurly.com/resources/case-study/gathercontent" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/3FGEGpMJZIZZ4ZRIqifUSh/827841e02fbcacba2cf046f75eda92f4/img-2020-10-research-resource-tile-case-study-gathercontent-524x366.png" alt="GatherContent logo" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Case Study</p> <h3 class="resource-module__title">GatherContent Gains a Competitive Edge</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscription_management case_study" data-topic="subscription_management" data-content-type="case_study" data-url="https://recurly.com/resources/case-study/livechat/"> <a class="resource-module__url link-no-underline" href="https://recurly.com/resources/case-study/livechat/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/5YSBwSGFzqSuBegt7Tv4NZ/7b55db22baf85ddfed770eef259c8bbf/img-2020-10-research-resource-tile-case-study-livechat-524x366.png" alt="LiveChat logo" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Case Study</p> <h3 class="resource-module__title">LiveChat More Than Doubles Subscribers</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscription_management payment_options case_study" data-topic="subscription_management" data-content-type="case_study" data-url="https://recurly.com/resources/case-study/resourceguru"> <a class="resource-module__url link-no-underline" href="https://recurly.com/resources/case-study/resourceguru" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/5x6qxstcuKKSfO8ibCAoog/5b991fb7c72501f4b7096a5c17ee5e52/img-2020-10-research-resource-tile-case-study-resource-guru-524x366.png" alt="ResourceGuru logo" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Case Study</p> <h3 class="resource-module__title">Resource Guru's Effective Customer Strategy</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscription_management analytics_and_insights case_study" data-topic="subscription_management" data-content-type="case_study" data-url="https://recurly.com/resources/case-study/returnloads"> <a class="resource-module__url link-no-underline" href="https://recurly.com/resources/case-study/returnloads" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/479dESiEeRp2oqxrYDRERs/c992ce5560defe2abd650a8eac192dd4/img-2020-10-research-resource-tile-case-study-returnloads-524x366.png" alt="Returnloads logo" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Case Study</p> <h3 class="resource-module__title">Returnloads.net Recovers Significant Revenue Monthly</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscription_management developer_resources case_study" data-topic="subscription_management" data-content-type="case_study" data-url="https://recurly.com/case-studies/twitch/"> <a class="resource-module__url link-no-underline" href="https://recurly.com/case-studies/twitch/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/4XSXUtKMIN1v5hnr3eX5h5/d51d5eabd65f624803d595ce419e5efb/img-2020-10-research-resource-tile-case-study-twitch-524x366.png" alt="Twitch logo" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Case Study</p> <h3 class="resource-module__title">Twitch Shifts Resources Away From Payments</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscription_management expert_support case_study" data-topic="subscription_management" data-content-type="case_study" data-url="https://recurly.com/resources/case-study/audiense/"> <a class="resource-module__url link-no-underline" href="https://recurly.com/resources/case-study/audiense/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/5qphlv8Il4gSqYYlZVzeDo/e21c922d4580ce37f1e46493a8890b9c/img-2020-10-research-resource-tile-case-study-audiense-524x366.png" alt="Auidense logo" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Case Study</p> <h3 class="resource-module__title">Audiense Relies on Recurly's Quick Set-Up</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscription_management churn subscriber_acquisition case_study" data-topic="subscription_management" data-content-type="case_study" data-url="https://recurly.com/resources/case-study/tailor-brands/"> <a class="resource-module__url link-no-underline" href="https://recurly.com/resources/case-study/tailor-brands/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/3ePcYXEF3cSzLpAPnvHlrM/ca5d1fb7d212008482913d4330a04ad4/img-2020-10-research-resource-tile-case-study-tailorbrands-524x366.png" alt="Tailor Brands logo" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Case Study</p> <h3 class="resource-module__title">Tailor Brands Expands Globally With Recurly</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscription_management webinar" data-topic="subscription_management" data-content-type="webinar" data-url="https://info.recurly.com/webinar-recording-choosing-the-right-subscription-billing-platform"> <a class="resource-module__url link-no-underline" href="https://info.recurly.com/webinar-recording-choosing-the-right-subscription-billing-platform" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/1YVPtA3rsDSF9XkZLLxjjv/c1b67706ef464047b02a3b0561beeb3f/img-2020-10-research-resource-tile-webinar-choosing-right-sub-bill-platform-524x366.png" alt="Colored figures design" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">Choosing the Right Platform</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscription_management developer_resources webinar" data-topic="subscription_management" data-content-type="webinar" data-url="/resources/webinar/fast-track-to-subscription-success-on-demand-webinar"> <a class="resource-module__url link-no-underline" href="/resources/webinar/fast-track-to-subscription-success-on-demand-webinar" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/5saOQcm79qdAL74hGAefbg/a3fa0d7a7689603000e92528442f8cc8/img-2020-10-research-resource-tile-webinar-sub-revtech-fasttrack-524x366.png" alt="Webinar SubRevTech fast track" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">Subscription Revenue Technology</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscription_management payment_options webinar" data-topic="subscription_management" data-content-type="webinar" data-url="https://recurly.com/past-webinar/subscription-strategies-how-to-counter-fraud-and-lower-chargebacks/"> <a class="resource-module__url link-no-underline" href="https://recurly.com/past-webinar/subscription-strategies-how-to-counter-fraud-and-lower-chargebacks/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/1nXwrR2DJPO3zvVNbghSDs/5ff3ddcb1d2756f0c8ac89801370598b/img-2020-10-research-resource-tile-webinar-sub-strategies-counter-fraud-524x366.png" alt="Counter fraud strategies" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">How to Counter Fraud and Lower Chargebacks</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscription_management churn subscriber_retention webinar" data-topic="subscription_management" data-content-type="webinar" data-url="https://recurly.com/past-webinar/subscription-strategies-measuring-managing-churn/"> <a class="resource-module__url link-no-underline" href="https://recurly.com/past-webinar/subscription-strategies-measuring-managing-churn/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/7AU8whgkeeyHw1CydVmXVB/998b595cd5d6c443c5fffb7aeac81e49/img-2020-10-research-resource-tile-webinar-sub-strategies-managing-churn-524x366.png" alt="Managing churn bucket" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">Measuring and Managing Churn</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscription_management payment_options webinar" data-topic="subscription_management" data-content-type="webinar" data-url="/resources/webinar/how-to-cross-new-frontiers-with-your-subscription-business-on-demand-webinar"> <a class="resource-module__url link-no-underline" href="/resources/webinar/how-to-cross-new-frontiers-with-your-subscription-business-on-demand-webinar" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/14NfuVbTanPTHBR46ScGSM/b4e8888238ada9c0fd9d446c03047ed8/img-2020-10-research-resource-tile-webinar-default-524x366.png" alt="Research resource tile" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">How to Cross New Frontiers</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscription_management guide" data-topic="subscription_management" data-content-type="guide" data-url="https://go.recurly.com/rs/439-LSC-903/images/Recurly-SaaS-Subscription-Landscape.pdf"> <a class="resource-module__url link-no-underline" href="https://go.recurly.com/rs/439-LSC-903/images/Recurly-SaaS-Subscription-Landscape.pdf" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/2kknx8ricaGIFp8d4rvRrT/65efb6b42ff45a47e8b5147864965a2d/img-2020-10-research-resource-tile-guide-saas-and-business-landscape-524x366.png" alt="SaaS & the Subscription Landscape guide cover" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Guide</p> <h3 class="resource-module__title">SaaS & the Subscription Landscape</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscription_management subscriber_retention research" data-topic="subscription_management" data-content-type="research" data-url="https://recurly.com/research/saas-benchmarks-for-subscription-plans"> <a class="resource-module__url link-no-underline" href="https://recurly.com/research/saas-benchmarks-for-subscription-plans" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/62FPrxCsjfrKJMZ3OIfWRL/9a49f43c8345207967a71e2f69f76738/img-2020-10-research-saas-benchmarks-524x366.png" alt="Research SaaS benchmarks" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Research</p> <h3 class="resource-module__title">SaaS Benchmarks for Subscription Plans</h3> </div> </a> </div> <div data-priority="8" class="resource-module subscription_management subscription_management subscriber_retention case_study" data-topic="subscription_management" data-content-type="case_study" data-url="https://recurly.com/resources/case-study/barkbox/"> <a class="resource-module__url link-no-underline" href="https://recurly.com/resources/case-study/barkbox/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/4W45FitMhSX4if7pZL4RxL/5918391779f3c21a60f00228ca98731e/img-2020-10-barkbox-resource-tile-524x366.png" alt="BarkBox logo" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Case Study</p> <h3 class="resource-module__title">Technology Keeps Tails Wagging</h3> </div> </a> </div> <div data-priority="2" class="resource-module subscription_management saas subscription_management case_study" data-topic="subscription_management" data-content-type="case_study" data-url="https://recurly.com/resources/case-study/birdeye"> <a class="resource-module__url link-no-underline" href="https://recurly.com/resources/case-study/birdeye" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/1pABu9nu2UDzWQ9GifLkGn/d3f1d12b640db2963c6b5017b7af49f2/img-2020-12-birdeye-resource-tile-524x366.png" alt="Birdeye logo" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Case Study</p> <h3 class="resource-module__title">Birdeye Grows With Recurly’s Help</h3> </div> </a> </div> <div data-priority="8" class="resource-module subscription_management billing_and_accounting churn subscriber_acquisition case_study" data-topic="subscription_management" data-content-type="case_study" data-url="https://recurly.com/resources/case-study/winedirect/"> <a class="resource-module__url link-no-underline" href="https://recurly.com/resources/case-study/winedirect/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/5ncSVZNtgEzruypIyJWPav/68a94b9c69d92dd6126d24afa97d5d86/img-2020-11-winedirect-featured-resource-tile-720x502.png" alt="WineDirect logo" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Case Study</p> <h3 class="resource-module__title">WineDirect Toasts Automated Billing</h3> </div> </a> </div> <div data-priority="7" class="resource-module subscription_management churn billing_and_accounting subscriber_acquisition case_study" data-topic="subscription_management" data-content-type="case_study" data-url="https://recurly.com/resources/case-study/userlike"> <a class="resource-module__url link-no-underline" href="https://recurly.com/resources/case-study/userlike" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/3mfto4Ol9WDyCUZduhojZv/111be33bca89dfd60b23ff9475ea7bba/img-2020-11-userlike-cs-feature-tile-720x502.png" alt="Userlike logo" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Case Study</p> <h3 class="resource-module__title">How Userlike Has Grown </h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscription_management subscriber_acquisition churn case_study" data-topic="subscription_management" data-content-type="case_study" data-url="https://recurly.com/resources/case-study/pupbox"> <a class="resource-module__url link-no-underline" href="https://recurly.com/resources/case-study/pupbox" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/70R4A2O6Q66YeHPS01SC8m/4cf4876b4d6aeba277e93e807ad2e244/img-2020-10-research-resource-tile-case-study-pupbox-524x366.png" alt="PupBox logo" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Case Study</p> <h3 class="resource-module__title">PupBox Expands Its Pack</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscription_management analytics_and_insights billing_and_accounting case_study" data-topic="subscription_management" data-content-type="case_study" data-url="https://recurly.com/resources/case-study/output"> <a class="resource-module__url link-no-underline" href="https://recurly.com/resources/case-study/output" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/6rgaZ3qr0Img2Rp0R5jlcp/56c81ef4be5daf9681b6fecdfec3a8d6/img-2024-05-output-casestudy-resource-tile-720x502.png" alt="Output logo" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Case Study</p> <h3 class="resource-module__title">How Output managed a 45% decrease in credit card declines</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscription_management subscriber_acquisition flexible_integrations case_study" data-topic="subscription_management" data-content-type="case_study" data-url="https://recurly.com/resources/case-study/pipefy"> <a class="resource-module__url link-no-underline" href="https://recurly.com/resources/case-study/pipefy" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/4Ny0o55osgcojNPfaZxCju/0e78d8fc696e582c42cd67303c51db40/img-2020-10-research-resource-tile-case-study-pipefy-524x366.png" alt="Pipefy logo" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Case Study</p> <h3 class="resource-module__title">Flexible Billing Plans and Integrations Power Pipefy</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscription_management billing_and_accounting analytics_and_insights case_study" data-topic="subscription_management" data-content-type="case_study" data-url="https://recurly.com/resources/case-study/shipstation"> <a class="resource-module__url link-no-underline" href="https://recurly.com/resources/case-study/shipstation" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/4RxxLC2wswU4kRHcJ8MP3A/c031ca73f69ee4803921369243211b8f/img-2020-10-research-resource-tile-case-study-shipstation-524x366.png" alt="ShipStation logo" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Case Study</p> <h3 class="resource-module__title">ShipStation Relies on Recurly to Deliver Subscription Scalability</h3> </div> </a> </div> <div data-priority="9" class="resource-module subscription_management subscriber_acquisition subscription_management webinar" data-topic="subscription_management" data-content-type="webinar" data-url="https://www.recurly.com/resources/webinar/how-to-track-apply-and-optimize-acquisition-for-ltv"> <a class="resource-module__url link-no-underline" href="https://www.recurly.com/resources/webinar/how-to-track-apply-and-optimize-acquisition-for-ltv" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/5ldtKTTfigsPRct1BAGS99/94c15bf61d459df9d90283c93a34dd25/img-2021-05-how-to-track-webinar-resource-tile-720x502.png" alt="Happy customer journey" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">How to Track, Apply, and Optimize Acquisition for LTV </h3> </div> </a> </div> <div data-priority="9" class="resource-module subscription_management subscription_management payment_options webinar" data-topic="subscription_management" data-content-type="webinar" data-url="https://www.recurly.com/resources/webinar/subscription-payments-trends/"> <a class="resource-module__url link-no-underline" href="https://www.recurly.com/resources/webinar/subscription-payments-trends/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/65YZ4z9q2Z9p9E5RLdX4eD/ba674f750fae0d50c4e1460ab5691e64/img-2021-04-fireside-chat-sub-payment-trends-resource-tile-720x502.png" alt="Subscription payments trends" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">Looking ahead: Trends in subscription payments</h3> </div> </a> </div> <div data-priority="9" class="resource-module subscription_management subscription_management subscriber_acquisition webinar" data-topic="subscription_management" data-content-type="webinar" data-url="https://www.recurly.com/resources/webinar/innovation-in-subscriptions"> <a class="resource-module__url link-no-underline" href="https://www.recurly.com/resources/webinar/innovation-in-subscriptions" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/5jggJaTMxYU6YKdooR8tWP/170de6449756421c5033c8157c764e77/img-2021-05-recurly_adyen-event-resource-720x502__1_.png" alt="Colored arrows" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">Innovation in subscriptions</h3> </div> </a> </div> <div data-priority="9" class="resource-module subscription_management subscriber_acquisition subscription_management webinar" data-topic="subscription_management" data-content-type="webinar" data-url="https://www.recurly.com/resources/webinar/aug-11-fireside-chat-leapfin-recurly-scentbird"> <a class="resource-module__url link-no-underline" href="https://www.recurly.com/resources/webinar/aug-11-fireside-chat-leapfin-recurly-scentbird" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/1BbMhrLxNBHonqGYhoX88L/223e68aec31f8728a0e905673e215573/img-2021-07-fireside-chat-growing-subs-and-rev-resource-tile-720x502.png" alt="Insights on balancing subscription growth with business efficiencies" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">C-suite insights on balancing subscription growth with business efficiencies</h3> </div> </a> </div> <div data-priority="8" class="resource-module subscription_management subscription_management flexible_integrations churn case_study" data-topic="subscription_management" data-content-type="case_study" data-url="https://recurly.com/resources/case-study/copper/"> <a class="resource-module__url link-no-underline" href="https://recurly.com/resources/case-study/copper/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/5xSbqzZHIuHaYOCNW41VXo/5427054e82fc3e0ac5aed8c3472030e9/img-2021-12-copper-720x502px.png" alt="Copper case study" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Case Study</p> <h3 class="resource-module__title">Copper combats churn and innovates</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management churn case_study" data-topic="subscription_management" data-content-type="case_study" data-url="https://recurly.com/resources/case-study/alltrails-churn-rate"> <a class="resource-module__url link-no-underline" href="https://recurly.com/resources/case-study/alltrails-churn-rate" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/2SWYJc3Ng2ykpdVi1wM0W0/8748079142a5240eeb7af7d96f63b620/img-2021-12-alltrails-resource-tile-720x502.png" alt="Alltrails case study" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Case Study</p> <h3 class="resource-module__title">AllTrails reduces churn </h3> </div> </a> </div> <div data-priority="1" class="resource-module subscription_management subscription_management subscriber_acquisition case_study" data-topic="subscription_management" data-content-type="case_study" data-url="/resources/case-study/teachervision"> <a class="resource-module__url link-no-underline" href="/resources/case-study/teachervision" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/5sdBdoOANJfgaGyeRA1eSR/ee7d0abb769b3a6139fe6b176818ff07/img-2022-11-teachervision-resource-tile-720x502.png" alt="TeacherVision" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Case Study</p> <h3 class="resource-module__title">TeacherVision drives subscriber growth</h3> </div> </a> </div> </div> </div> </section> <section class="segment segment--initial segment--billing-accounting"> <div class="container"> <div class="heading-content"> <h2 class="heading">Billing &amp; Accounting</h2> <p class="view-all" data-topic="billing_and_accounting" data-name="Billing &amp; Accounting">View all (<span class="billing_and_accounting__length"></span>)</p> </div> <div class="row slick-modules billing-accounting__modules"> <div data-priority="1" class="resource-module billing_and_accounting billing_and_accounting subscription_management guide" data-topic="billing_and_accounting" data-content-type="guide" data-url="https://recurly.com/resources/guide/how-to-stop-subscription-revenue-leakage/"> <a class="resource-module__url" href="https://recurly.com/resources/guide/how-to-stop-subscription-revenue-leakage/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/7nOnQ2udrgYIpSXZqh9G3E/de6ee5b9c60899639b7f82e0f9d5eb56/img-2023-08-revenue-leakage-guide-resource-tile-720x502.png" alt="How to stop subscription revenue lekage guide resource module image" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Guide</p> <h3 class="resource-module__title">How to stop subscription revenue leakage</h3> </div> </a> </div> <div data-priority="1" class="resource-module billing_and_accounting billing_and_accounting analytics_and_insights tool" data-topic="billing_and_accounting" data-content-type="tool" data-url="https://recurly.com/resources/tools/recovered-revenue-calculator"> <a class="resource-module__url" href="https://recurly.com/resources/tools/recovered-revenue-calculator" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/5AUVqQdRp9QH2pmJZmIwY/129ff8b96b104e0825997cc40aa0eaeb/_img-2021-08-resource-tile-recovered-revenue-calculator-720x502.png" alt="Revenue calculator" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Tool</p> <h3 class="resource-module__title">Recovered revenue calculator</h3> </div> </a> </div> <div data-priority="1" class="resource-module billing_and_accounting billing_and_accounting subscription_management tool" data-topic="billing_and_accounting" data-content-type="tool" data-url="https://recurly.com/resources/tools/revenue-recognition-must-haves-dtc-subscriptions/"> <a class="resource-module__url" href="https://recurly.com/resources/tools/revenue-recognition-must-haves-dtc-subscriptions/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/4Fv0XpZkbtlIyNThreRle7/b4ef620a9c1e47029819cd72d6250d5f/img-2023-06-5-revenue-recognition-must-haves-for-DTC-resource-std-720x502__1_.png" alt="Checklist: 5 revenue recognition must-haves for DTC subscription businesses" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Tool</p> <h3 class="resource-module__title">5 rev rec must-haves for DTC subscription businesses</h3> </div> </a> </div> <div data-priority="1" class="resource-module billing_and_accounting billing_and_accounting tool" data-topic="billing_and_accounting" data-content-type="tool" data-url="https://recurly.com/resources/guide/definitive-subscription-platform-evaluation-worksheet"> <a class="resource-module__url" href="https://recurly.com/resources/guide/definitive-subscription-platform-evaluation-worksheet" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/5rFErF969sobQlbTR5CqIN/c8e2d29c8c7faa06fcf42de146aa7b3a/definitive-buyers-guide-524x366.png" alt="Checklists" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Tool</p> <h3 class="resource-module__title">The subscription billing solution evaluation worksheet</h3> </div> </a> </div> <div data-priority="8" class="resource-module billing_and_accounting payment_options subscriber_acquisition subscription_management webinar" data-topic="billing_and_accounting" data-content-type="webinar" data-url="https://www.recurly.com/resources/webinar/designing-the-right-gateway-strategy/"> <a class="resource-module__url" href="https://www.recurly.com/resources/webinar/designing-the-right-gateway-strategy/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/4U3fNyVd2uLbT8U6iPLGQ2/406f2624ec48db645f403a39d892067f/img-2021-05-webinar-gateway-strategy-resource-tile-720x502.png" alt="Gateway strategy" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">The secret to catapulting growth & expansion: your gateway strategy</h3> </div> </a> </div> <div data-priority="1" class="resource-module billing_and_accounting billing_and_accounting subscriber_retention subscription_management guide" data-topic="billing_and_accounting" data-content-type="guide" data-url="https://recurly.com/resources/guide/technology-transformation-how-to-scale-subscriptions/"> <a class="resource-module__url" href="https://recurly.com/resources/guide/technology-transformation-how-to-scale-subscriptions/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/324hBg5el0e6184p3jAFuf/bd8d52e7b1949cdb30b1dda8abdf847e/img-2023-07-tech-tx-scale-subscriptions-guide-resource-std-720x502.png" alt="Tech transformation: How to scale subscriptions resource tile image" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Guide</p> <h3 class="resource-module__title">How to scale subscriptions</h3> </div> </a> </div> <div data-priority="1" class="resource-module billing_and_accounting billing_and_accounting churn payment_options guide" data-topic="billing_and_accounting" data-content-type="guide" data-url="https://www.recurly.com/resources/guide/operational-efficiencies-in-finance/"> <a class="resource-module__url" href="https://www.recurly.com/resources/guide/operational-efficiencies-in-finance/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/5qv2nXV0BtXonXHcsvpbyC/c8ff3eeaf19c849d01a8ff6efa643536/img-2021-06-efficiency-in-finance-resource-tile-720x502_2x.png" alt="Efficiency in finance" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Guide</p> <h3 class="resource-module__title">How to Improve Operational Efficiency in Finance</h3> </div> </a> </div> <div data-priority="1" class="resource-module billing_and_accounting subscription_management billing_and_accounting webinar" data-topic="billing_and_accounting" data-content-type="webinar" data-url="https://recurly.com/resources/webinar/going-global-payments-and-subscription-billing-that-scales"> <a class="resource-module__url" href="https://recurly.com/resources/webinar/going-global-payments-and-subscription-billing-that-scales" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/7EgXKkQijoukkrwkahxuuI/94eb3332d2389228ccd1a0f9b83699b5/img-2020-09-going-global-build-pay-sub-billing-scales-524x366.png" alt="Scaling billing" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">Going Global: Payments and Billing Strategies that Scale</h3> </div> </a> </div> <div data-priority="1" class="resource-module resource-promo-module billing_and_accounting research" data-topic="billing_and_accounting" data-content-type="research" data-url="https://recurly.com/finance"> <a class="resource-module__url" href="https://recurly.com/finance" style="background: url(//images.ctfassets.net/wob906kz2qeo/4Cut1cEN2eRaO8rTdlhTUH/57565ede42356ca5dff1f331ce29fcc6/img-2020-10-research-resource-tile-finance-524x366.png) no-repeat; background-size: 262px 300px;" tabindex="0"> <h3 class="resource-module__title" style="color:#ffffff;">Resources for Finance Professionals</h3> <p class="resource-module__label" style="color:#ffffff;"></p> </a> </div> <div data-priority="1" class="resource-module billing_and_accounting billing_and_accounting analytics_and_insights data_sheet" data-topic="billing_and_accounting" data-content-type="data_sheet" data-url="https://go.recurly.com/rs/439-LSC-903/images/Recurly-TaxCollection-Data-Sheet.pdf"> <a class="resource-module__url" href="https://go.recurly.com/rs/439-LSC-903/images/Recurly-TaxCollection-Data-Sheet.pdf" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/73q4lfqiuyQHaDVpPg8A14/d34c2c145d081ed6f3b31edcf9b013cc/img-2020-10-research-resource-tile-data-sheet-automated-tax-collection-524x366.png" alt="Automated global tax collection" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Data Sheet</p> <h3 class="resource-module__title">Automated Tax Collection With Recurly</h3> </div> </a> </div> <div data-priority="1" class="resource-module billing_and_accounting billing_and_accounting subscription_management data_sheet" data-topic="billing_and_accounting" data-content-type="data_sheet" data-url="https://go.recurly.com/rs/439-LSC-903/images/Recurly-Revenue-Recognition-Data-Sheet.pdf"> <a class="resource-module__url" href="https://go.recurly.com/rs/439-LSC-903/images/Recurly-Revenue-Recognition-Data-Sheet.pdf" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/7D9L1yyKKEGeVPAXnFBH0s/96048550c4ee45acc3f509a8bbe2b799/img-2020-10-research-resource-tile-data-sheet-revenue-recognition-524x366.png" alt="Revenue recognition" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Data Sheet</p> <h3 class="resource-module__title">Revenue Recognition With Recurly</h3> </div> </a> </div> <div data-priority="1" class="resource-module billing_and_accounting billing_and_accounting subscription_management webinar" data-topic="billing_and_accounting" data-content-type="webinar" data-url="/resources/webinar/how-to-counter-fraud-and-lower-chargebacks-on-demand-webinar/"> <a class="resource-module__url" href="/resources/webinar/how-to-counter-fraud-and-lower-chargebacks-on-demand-webinar/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/3Yynr262WSEvRddGNUcNsF/9e2e8e243622b0d25fd5a6299c98e60c/img-2020-10-research-resource-tile-webinar-month-end-close-524x366.png" alt="Month end close" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">Take the Pain Out of Month-End Close</h3> </div> </a> </div> <div data-priority="1" class="resource-module billing_and_accounting billing_and_accounting subscription_management webinar" data-topic="billing_and_accounting" data-content-type="webinar" data-url="https://recurly.com/past-webinar/scaling-subscription-revenue"> <a class="resource-module__url" href="https://recurly.com/past-webinar/scaling-subscription-revenue" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/14NfuVbTanPTHBR46ScGSM/b4e8888238ada9c0fd9d446c03047ed8/img-2020-10-research-resource-tile-webinar-default-524x366.png" alt="Research resource tile" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">Scaling Subscription Revenue</h3> </div> </a> </div> <div data-priority="1" class="resource-module billing_and_accounting billing_and_accounting subscription_management webinar" data-topic="billing_and_accounting" data-content-type="webinar" data-url="https://recurly.com/past-webinar/the-cfos-guide-to-maximizing-subscription-revenue-recording"> <a class="resource-module__url" href="https://recurly.com/past-webinar/the-cfos-guide-to-maximizing-subscription-revenue-recording" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/5vAlS8S2WmmBDPWhHfrgMk/03ce3eff1f5d23edc84344c28b2b22d8/img-2020-10-research-resource-tile-webinar-cfo-guide-max-sub-rev-524x366.png" alt="Maximize subscription revenue" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">CFO's Guide to Maximizing Revenue</h3> </div> </a> </div> <div data-priority="1" class="resource-module billing_and_accounting billing_and_accounting subscription_management webinar" data-topic="billing_and_accounting" data-content-type="webinar" data-url="https://recurly.com/past-webinar/scaling-subscription-billing-guide-to-streamlining-financial-operations/"> <a class="resource-module__url" href="https://recurly.com/past-webinar/scaling-subscription-billing-guide-to-streamlining-financial-operations/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/7zAysCmh6iEJRZHA9rEUOt/4212c44e0f74e3e05e5d921abcdcfe1d/img-2020-10-research-resource-tile-webinar-scaling-subsciption-billing-financial-operations-524x366.png" alt="Scaling billing" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">Scaling Subscription Billing</h3> </div> </a> </div> <div data-priority="1" class="resource-module billing_and_accounting billing_and_accounting payment_options data_sheet" data-topic="billing_and_accounting" data-content-type="data_sheet" data-url="https://go.recurly.com/rs/439-LSC-903/images/ACH_Data-Sheet.pdf"> <a class="resource-module__url" href="https://go.recurly.com/rs/439-LSC-903/images/ACH_Data-Sheet.pdf" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/42u1hAaqpQJNtRFANoIVfl/bc5a96b81053b02c2492d027a44749a9/img-2020-10-research-resource-tile-data-sheet-ach-payment-524x366.png" alt="ACH payment" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Data Sheet</p> <h3 class="resource-module__title">ACH Payments With Check Gateway</h3> </div> </a> </div> <div data-priority="1" class="resource-module billing_and_accounting subscription_management billing_and_accounting webinar" data-topic="billing_and_accounting" data-content-type="webinar" data-url="https://recurly.com/resources/webinar/unlock-subscription-growth"> <a class="resource-module__url" href="https://recurly.com/resources/webinar/unlock-subscription-growth" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/3UtsAGL9g0EiMP6O27mbVW/e6f25dbebeff351eb7653bfbcb062dd5/img-2020-07-payment-options-524x366.png" alt="Subscription payment options" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">How to Unlock Subscription Growth with Flexible Payments</h3> </div> </a> </div> </div> </div> </section> <section class="segment segment--initial segment--subs-retention"> <div class="container"> <div class="heading-content"> <h2 class="heading">Subscriber Retention</h2> <p class="view-all" data-topic="subscriber_retention" data-name="Subscriber Retention">View all (<span class="subscriber_retention__length"></span>)</p> </div> <div class="row slick-modules subs-retention__modules"> <div data-priority="1" class="resource-module subscriber_retention subscriber_acquisition webinar" data-topic="subscriber_retention" data-content-type="webinar" data-url="https://recurly.com/resources/webinar/unlock-the-secrets-to-drive-subscriber-engagement/"> <a class="resource-module__url" href="https://recurly.com/resources/webinar/unlock-the-secrets-to-drive-subscriber-engagement/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/28r2O1yZbOwU4D8GreNWqc/d9be9e6d857d297e7e130c443097e23e/Resource_Tile_720x502__6_.jpg" alt="" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">From acquisition to adoption: Driver subscriber engagement</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscriber_retention subscriber_retention churn guide" data-topic="subscriber_retention" data-content-type="guide" data-url="https://recurly.com/content/insiders-guide-subscriber-retention-and-lifetime-value-with-alaska-airlines-and-the-guardian/"> <a class="resource-module__url" href="https://recurly.com/content/insiders-guide-subscriber-retention-and-lifetime-value-with-alaska-airlines-and-the-guardian/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/1shc3miin7tciAKyWMbwCU/3947744fa39f8d8d9e291f81d18ae781/img-2024-05-subsessions-Retention-alaska-theguardian-skyscraper-resource-tile-720x502.png" alt="The insider’s guide to subscriber retention and LTV with Alaska Airlines & The Guardian resource module" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Guide</p> <h3 class="resource-module__title">The insider’s guide to subscriber retention and LTV with Alaska Airlines & The Guardian</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscriber_retention churn guide" data-topic="subscriber_retention" data-content-type="guide" data-url="https://recurly.com/content/dunning-best-practices-cheat-sheet/"> <a class="resource-module__url" href="https://recurly.com/content/dunning-best-practices-cheat-sheet/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/dI98Lt7rEhoRUAZd1fUKB/1e6a66eba9bdd5b86c82b5a533b05363/img-2024-07-10-dunning-best-practices-cheat-sheet-resource-std-720x502.png" alt="" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Guide</p> <h3 class="resource-module__title">10 dunning best practices</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscriber_retention churn guide" data-topic="subscriber_retention" data-content-type="guide" data-url="/resources/guide/customer-churn-secrets/"> <a class="resource-module__url" href="/resources/guide/customer-churn-secrets/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/6T900VCXfqHcTqHvcRy4nP/52930a7cf17acdf04ee579896f1e9800/img-2022-8-secrets-to-reduce-churn-from-subscription-leaders-resource-720x502.png" alt="User churn graphic" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Guide</p> <h3 class="resource-module__title">7 Industry leaders reveal how they reduce churn</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscriber_retention churn subscriber_retention guide" data-topic="subscriber_retention" data-content-type="guide" data-url="https://recurly.com/resources/guide/combat-churn-with-recurly/"> <a class="resource-module__url" href="https://recurly.com/resources/guide/combat-churn-with-recurly/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/3jaRg247yNLUqHPwGw8g43/79aadbecf46de913beff25ab6a3c695b/img-2022-11-how-to-cut-churn-1--resource-720x502.png" alt="Recurly churn asset resource tile" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Guide</p> <h3 class="resource-module__title">How to proactively & automatically cut churn to 1% with Recurly</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscriber_retention churn subscriber_acquisition subscriber_retention research" data-topic="subscriber_retention" data-content-type="research" data-url="https://recurly.com/resources/report/state-of-subscriptions-what-consumers-want-2023/"> <a class="resource-module__url" href="https://recurly.com/resources/report/state-of-subscriptions-what-consumers-want-2023/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/22zRkdk7kLWTE4V3I5Iuph/3a0f02d1a8b759dee4df8ece285f91eb/img-2023-06-what-consumers-want-report-resource-720x502.png" alt="[REPORT] State of Subscriptions: What consumers want" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Research</p> <h3 class="resource-module__title">State of Subscriptions: What consumers want</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscriber_retention churn webinar" data-topic="subscriber_retention" data-content-type="webinar" data-url="/resources/webinar/5-strategies-to-chop-customer-churn-by-73"> <a class="resource-module__url" href="/resources/webinar/5-strategies-to-chop-customer-churn-by-73" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/5FPzfEXqjpSEPI3r5yjbCl/800635b9c58cf2255559f981a044d550/img-2022-09-5-strategies-to-chop-churn-73-resource-720x502.png" alt="5 strategies to chop churn" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">5 strategies to chop customer churn by 73%</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscriber_retention subscriber_retention churn guide" data-topic="subscriber_retention" data-content-type="guide" data-url="/resources/guide/minimize-churn-maximize-revenue/"> <a class="resource-module__url" href="/resources/guide/minimize-churn-maximize-revenue/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/7J4TJuuYM7LRymEaMVMe4I/61182d27d20b985a8c3b84bcf046bb80/img-2022-06-10-high-impact-tactics-subscription-success-resource-tile-720x502.png" alt="Minimize churn, maximize revenue" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Guide</p> <h3 class="resource-module__title">Minimize churn & maximize revenue</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscriber_retention tool" data-topic="subscriber_retention" data-content-type="tool" data-url="https://recurly.com/resources/tools/cohorts-line-graphs-predict-ltv/"> <a class="resource-module__url" href="https://recurly.com/resources/tools/cohorts-line-graphs-predict-ltv/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/lf5AIc82R0Xn0Ul60tp4S/02ea5630999d4882e39dd969601d0af4/img-2022-11-how-to-cohorts-and-line-graphs-resource-720x502.png" alt="" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Tool</p> <h3 class="resource-module__title">How-to: Cohorts & line graphs to predict LTV</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscriber_retention subscriber_retention webinar" data-topic="subscriber_retention" data-content-type="webinar" data-url="/resources/webinar/how-to-never-lose-a-subscriber"> <a class="resource-module__url" href="/resources/webinar/how-to-never-lose-a-subscriber" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/3m0FVcbnqCsLbKvugxBokq/19921cf7b9674af49b3665981a040264/Q6BUu_HA.png" alt="How to never lose a subscriber" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">How to never lose a subscriber</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscriber_retention subscription_management tool" data-topic="subscriber_retention" data-content-type="tool" data-url="https://www.recurly.com/resources/tools/10-high-impact-tactics-for-subscription-success"> <a class="resource-module__url" href="https://www.recurly.com/resources/tools/10-high-impact-tactics-for-subscription-success" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/58WEKjcJPtFt9veix4r3bN/45ebb28fde6dbc61afdcdce796c51f04/img-2022-06-10-high-impact-tactics-subscription-success-resource-tile-720x502__1_.png" alt="High Impact Tactics for Subscription Success" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Tool</p> <h3 class="resource-module__title">10 High-impact tactics for subscription success</h3> </div> </a> </div> <div data-priority="9" class="resource-module subscriber_retention subscriber_retention churn tool" data-topic="subscriber_retention" data-content-type="tool" data-url="https://www.recurly.com/resources/whitepaper/16-tactics-to-drive-customer-ltv-retention-cheat-sheet/"> <a class="resource-module__url" href="https://www.recurly.com/resources/whitepaper/16-tactics-to-drive-customer-ltv-retention-cheat-sheet/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/3O8PfciWGKWXcq107mb563/d5156c37e0c1bb242d3cfe322a32c243/img-2021-06-retention-cheat-sheet-featured-tile-720x502.png" alt="Retention cheat sheet" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Tool</p> <h3 class="resource-module__title">16 tactics to drive customer LTV</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscriber_retention churn guide" data-topic="subscriber_retention" data-content-type="guide" data-url="/content/churn-rate-guide/"> <a class="resource-module__url" href="/content/churn-rate-guide/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/3tBg7lHbITF3iERdQptnjU/f3ac2bafbe953b93f9cd3592e8543511/img-2022-09-understanding-churn-resource-tile-720x502.png" alt="Understanding churn guide" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Guide</p> <h3 class="resource-module__title">Churn rate: What it is & how to calculate it</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscriber_retention subscriber_retention webinar" data-topic="subscriber_retention" data-content-type="webinar" data-url="https://recurly.com/resources/webinar/scaling-subscriptions/"> <a class="resource-module__url" href="https://recurly.com/resources/webinar/scaling-subscriptions/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/2X4vAN4yh6leRMDqSLuQ4p/9745bbf4f44830135708d3d7d7320cd5/img-2022-01-scaling-subscriptions-webinar-resource-std-720x502_compressed.png" alt="Scaling subscriptions" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">Scaling subscriptions with HBR, TIME & Epidemic Sound</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscriber_retention subscriber_retention analytics_and_insights research" data-topic="subscriber_retention" data-content-type="research" data-url="https://recurly.com/research/subscription-benchmarks-top-payment-decline-reasons"> <a class="resource-module__url" href="https://recurly.com/research/subscription-benchmarks-top-payment-decline-reasons" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/4zzuOXSuk9GsKhkIY9xzDh/6135ade72c5eabd00b667c124df01d5b/img-2022-09-top-payment-decline-reasons-resource-720x502.png" alt="Top payment decline reasons" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Research</p> <h3 class="resource-module__title">Top payment decline reasons</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscriber_retention digital_media tool" data-topic="subscriber_retention" data-content-type="tool" data-url="https://recurly.com/resources/tools/high-impact-tactics-dme/"> <a class="resource-module__url" href="https://recurly.com/resources/tools/high-impact-tactics-dme/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/5Ufm7kZe0bOjXRZYZCvYYk/cdaff1ff8c51f98816d2d1999d9ca021/img-2022-06-10-high-impact-tactics-subscription-success-digital-media-entertainment-resource-tile-720x502.png" alt="High Impact Tactics for Subscription Success" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Tool</p> <h3 class="resource-module__title">Digital Media & Entertainment: 10 High Impact Tactics for Subscription Success</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscriber_retention subscriber_retention webinar" data-topic="subscriber_retention" data-content-type="webinar" data-url="https://www.recurly.com/resources/webinar/revenue-recovery-on-demand-video/"> <a class="resource-module__url" href="https://www.recurly.com/resources/webinar/revenue-recovery-on-demand-video/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/6XmkGxdFN9ZYIFLPIqlFfK/b034e9c6830ebc6e5c1978752ab0bbca/img-2021-02-revenue-recovery-video-resource-tile-1200x630.png" alt="Intelligent Retention video" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">How to drastically reduce failed transactions</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscriber_retention subscriber_retention subscription_management webinar" data-topic="subscriber_retention" data-content-type="webinar" data-url="https://www.recurly.com/resources/webinar/how-pupbox-drives-exponential-membership-growth-on-demand-webinar"> <a class="resource-module__url" href="https://www.recurly.com/resources/webinar/how-pupbox-drives-exponential-membership-growth-on-demand-webinar" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/7Xb0iPTugqeqeCepharNn/86546e02f4424b8176154aff95376751/img-2022-07-subscriber-growth-resource-std-720x502.png" alt="Subscriber growth resource tile" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">How PupBox Drives Exponential Membership Growth</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscriber_retention subscriber_retention webinar" data-topic="subscriber_retention" data-content-type="webinar" data-url="https://recurly.com/resources/webinar/actionable-strategies-to-combat-subscriber-churn"> <a class="resource-module__url" href="https://recurly.com/resources/webinar/actionable-strategies-to-combat-subscriber-churn" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/1Vd6BBfMxRZUI6CZNVZCbH/3a1aeda71b50280ff7b5afb2b3cad80d/Subscriber-Retention-Newsletter-524x366.png" alt="Subscriber Retention" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">Actionable Strategies to Combat Subscriber Churn and Increase Customer LTV</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscriber_retention education subscriber_acquisition subscriber_retention tool" data-topic="subscriber_retention" data-content-type="tool" data-url="https://recurly.com/resources/tools/elearning-growth-metrics-cheat-sheet/"> <a class="resource-module__url" href="https://recurly.com/resources/tools/elearning-growth-metrics-cheat-sheet/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/1Qnvn0xj2weosRj4VLnE1G/c96d5b568ef3cc09f28a763828f7c780/img-2022-05-growth-metrics-cheat-sheet-elearning-social-share-1200x630.png" alt="eLearning cheat sheet for growth" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Tool</p> <h3 class="resource-module__title">eLearning Subscription Growth Metrics Cheat Sheet</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscriber_retention subscriber_retention churn subscription_management guide" data-topic="subscriber_retention" data-content-type="guide" data-url="https://go.recurly.com/rs/439-LSC-903/images/Recurly-Recover-Lost-Revenue-Fight-Churn-OTT-Guide.pdf"> <a class="resource-module__url" href="https://go.recurly.com/rs/439-LSC-903/images/Recurly-Recover-Lost-Revenue-Fight-Churn-OTT-Guide.pdf" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/6B81XyqcIB5ycR6MfPaqQB/5748e8a2b3074e074a18e80ad6ab805f/img-2020-10-research-resource-tile-guide-ott-recover-lost-revenue-524x366.png" alt="OTT niche" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Guide</p> <h3 class="resource-module__title">Recover Lost Revenue and Fight Churn</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscriber_retention subscriber_retention churn subscription_management guide" data-topic="subscriber_retention" data-content-type="guide" data-url="https://recurly.com/resources/guide/start-calculating-customer-churn"> <a class="resource-module__url" href="https://recurly.com/resources/guide/start-calculating-customer-churn" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/2yDVV03AVgSJEDK7CKrtyG/1a4a4f10222d22a259da25720c38b3d5/img-2020-10-research-resource-tile-guide-better-way-calculate-churn-524x366.png" alt="Analyzing churn on tablet and spreadsheets" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Guide</p> <h3 class="resource-module__title">A Better Way to Calculate Your Churn Rate</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscriber_retention subscriber_retention churn analytics_and_insights research" data-topic="subscriber_retention" data-content-type="research" data-url="https://recurly.com/how-do-you-compare"> <a class="resource-module__url" href="https://recurly.com/how-do-you-compare" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/3mc4zfzy0IojemvYVWPBor/aad8ea4b057337a2730259a7f6d04a37/img-2020-10-research-resource-tile-research-recovered-revenue-declined-transactions-524x366.png" alt="Decline rate chart graphic" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Research</p> <h3 class="resource-module__title">Recovering Revenue from Declined Transactions</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscriber_retention subscriber_retention analytics_and_insights research" data-topic="subscriber_retention" data-content-type="research" data-url="https://go.recurly.com/rs/439-LSC-903/images/Recurly-Subscription-Snapshot.pdf"> <a class="resource-module__url" href="https://go.recurly.com/rs/439-LSC-903/images/Recurly-Subscription-Snapshot.pdf" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/oemUIhTkqM9dDljRSJlCt/0e9156c9f50ceb845b01d71bd2a9532b/img-2020-10-research-resource-tile-research-subscription-snapshot-524x366.png" alt="Recurly Subscription Snapshot 2015 industry report" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Research</p> <h3 class="resource-module__title">Subscription Snapshot</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscriber_retention consumer_goods subscriber_retention tool" data-topic="subscriber_retention" data-content-type="tool" data-url="https://recurly.com/resources/tools/high-impact-tactics-for-subscription-success-cgr/"> <a class="resource-module__url" href="https://recurly.com/resources/tools/high-impact-tactics-for-subscription-success-cgr/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/4x6mRFmSf2BftwnnTdyu8U/1da9121eaec6c6a91f0968b2ece1b6b8/img-2022-05-10-high-impact-tactics-subscription-success-consumer-goods-retail-resource-tile-720x502.jpg" alt="High Impact Tactics for Subscription Success" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Tool</p> <h3 class="resource-module__title">Consumer Goods & Retail: 10 High-Impact Tactics for Subscription Success</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscriber_retention subscriber_retention case_study" data-topic="subscriber_retention" data-content-type="case_study" data-url="https://recurly.com/resources/case-study/fabfitfun"> <a class="resource-module__url" href="https://recurly.com/resources/case-study/fabfitfun" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/5Hdk20fn63Zh1HnITX7wkN/f9cf0927e8d88ae6002bb8dc3ea3f3d6/img-2024-05-fabfitfun-casestudy-resource-tile-720x502.png" alt="FabFitFun logo" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Case Study</p> <h3 class="resource-module__title">How FabFitFun takes a member-centric approach to growth</h3> </div> </a> </div> <div data-priority="9" class="resource-module subscriber_retention churn subscriber_retention data_sheet" data-topic="subscriber_retention" data-content-type="data_sheet" data-url="https://go.recurly.com/rs/439-LSC-903/images/Revenue-Recovery_Data-Sheet.pdf"> <a class="resource-module__url" href="https://go.recurly.com/rs/439-LSC-903/images/Revenue-Recovery_Data-Sheet.pdf" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/64ZfBedbmGdM7stoAI7PCF/7425fe391ee907e7cd47e8faa8e6c8a2/img-2021-02-revenue-recovery-theme1-light-720x502.png" alt="Revenue recovery" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Data Sheet</p> <h3 class="resource-module__title">Maximizing Subscription Revenue Recovery</h3> </div> </a> </div> <div data-priority="9" class="resource-module subscriber_retention churn subscriber_retention infographic" data-topic="subscriber_retention" data-content-type="infographic" data-url="https://recurly.com/content/maximizing-subscription-revenue-recovery-with-recurly-infographic/"> <a class="resource-module__url" href="https://recurly.com/content/maximizing-subscription-revenue-recovery-with-recurly-infographic/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/7wZ8Vv7E82bizS8IbgFVn5/fa16f9171c87a017829b8601aad5290f/img-2021-03-revenue-recovery-resource-tile-720x502.png" alt="Revenue Recovery infographic" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Infographic</p> <h3 class="resource-module__title">Maximizing Subscription Revenue Recovery</h3> </div> </a> </div> <div data-priority="9" class="resource-module subscriber_retention churn subscriber_acquisition infographic" data-topic="subscriber_retention" data-content-type="infographic" data-url="https://recurly.com/content/card-declines-infographic/"> <a class="resource-module__url" href="https://recurly.com/content/card-declines-infographic/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/5xilBJFMviLwhnpqljUxXj/e55a3a0072ca98b5871618b1574a9811/resource-tile-cc-infographic.png" alt="Card declines infographic" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Infographic</p> <h3 class="resource-module__title">Everything you need to know about credit card decline messages</h3> </div> </a> </div> <div data-priority="9" class="resource-module subscriber_retention subscriber_retention subscription_management webinar" data-topic="subscriber_retention" data-content-type="webinar" data-url="https://www.recurly.com/resources/webinar/subscription-insider-5-dos-and-donts-to-minimize-subscriber-churn/"> <a class="resource-module__url" href="https://www.recurly.com/resources/webinar/subscription-insider-5-dos-and-donts-to-minimize-subscriber-churn/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/7jMMJrVq5gTjcSP1HjvBZo/7c172e75fae023e03c033cd5397cc034/img-2021-08-wbn-dunning-dos-donts-resource-std-720x502__1_.png" alt="Minimize subscriber churn" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">5 Dos and Don’ts to Minimize Subscriber Churn</h3> </div> </a> </div> </div> </div> </section> <section class="segment segment--initial segment--analytics-insights"> <div class="container"> <div class="heading-content"> <h2 class="heading">Analytics &amp; Insights</h2> <p class="view-all" data-topic="analytics_and_insights" data-name="Analytics &amp; Insights">View all (<span class="analytics_and_insights__length"></span>)</p> </div> <div class="row slick-modules analytics-insights__modules"> <div data-priority="1" class="resource-module analytics_and_insights billing_and_accounting analytics_and_insights research" data-topic="analytics_and_insights" data-content-type="research" data-url="https://recurly.com/resources/report/payment-optimization-in-subscriptions-with-forrester/"> <a class="resource-module__url" href="https://recurly.com/resources/report/payment-optimization-in-subscriptions-with-forrester/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/7lJxA7oh4wITL8Wd5S3Q9e/527b8a98776a74195ad2e0a58c01b1f0/img-2024-04-forrester-report-resource-tile-720x502.png" alt="The payment experience is critical to subscriber growth and retention" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Research</p> <h3 class="resource-module__title">The payment experience is critical to subscriber growth and retention</h3> </div> </a> </div> <div data-priority="1" class="resource-module analytics_and_insights digital_media subscriber_retention analytics_and_insights research" data-topic="analytics_and_insights" data-content-type="research" data-url="https://recurly.com/resources/report/state-of-subscriptions-media-entertainment/"> <a class="resource-module__url" href="https://recurly.com/resources/report/state-of-subscriptions-media-entertainment/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/46pKPBBwCK50jDF124dCut/94db548729c317deaa34ccd8937196c6/img-2024-03-media-and-entertainment-resource-tile-720x502.png" alt="SoS Media & Entertainment resource module " width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Research</p> <h3 class="resource-module__title">State of Subscriptions: Media & Entertainment</h3> </div> </a> </div> <div data-priority="1" class="resource-module analytics_and_insights analytics_and_insights research" data-topic="analytics_and_insights" data-content-type="research" data-url="https://recurly.com/resources/report/state-of-subscriptions-consumer-software/"> <a class="resource-module__url" href="https://recurly.com/resources/report/state-of-subscriptions-consumer-software/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/3W5ZUAdAhoUs7FCyQhC01h/809b8a927658896a75b0b39dea4c82a1/img-2024-02-consumer-software-resource-tile-720x502.png" alt="State of Subscriptions: Consumer Software resource module" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Research</p> <h3 class="resource-module__title">State of Subscriptions: Consumer Software</h3> </div> </a> </div> <div data-priority="1" class="resource-module analytics_and_insights analytics_and_insights subscriber_retention research" data-topic="analytics_and_insights" data-content-type="research" data-url="https://recurly.com/resources/report/state-of-subscriptions-consumer-financial-services/"> <a class="resource-module__url" href="https://recurly.com/resources/report/state-of-subscriptions-consumer-financial-services/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/56EP6ADEmqa7OdeeMA8TZq/0e9efff776739e7b619690caa80e775d/img-2024-02-consumer-_-financial-services-resource-tile-720x502.png" alt="Consumer & Financial Services resources module" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Research</p> <h3 class="resource-module__title">State of Subscriptions: Consumer & Financial Services</h3> </div> </a> </div> <div data-priority="1" class="resource-module analytics_and_insights analytics_and_insights subscription_management guide" data-topic="analytics_and_insights" data-content-type="guide" data-url="https://recurly.com/resources/guide/how-to-gain-cross-channel-subscription-analytics/"> <a class="resource-module__url" href="https://recurly.com/resources/guide/how-to-gain-cross-channel-subscription-analytics/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/f0zui6tAtNMtyzryB1sOd/bb1d825c8003e289ced94251a0ac62ae/img-2023-10-app-management-guide-resource-tile-720x502.png" alt="Guide: Going mobile with subscriptions" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Guide</p> <h3 class="resource-module__title">Going mobile with subscriptions</h3> </div> </a> </div> <div data-priority="1" class="resource-module analytics_and_insights subscription_management subscriber_acquisition case_study" data-topic="analytics_and_insights" data-content-type="case_study" data-url="https://recurly.com/content/how-true-royalty-tv-drives-subscription-growth/"> <a class="resource-module__url" href="https://recurly.com/content/how-true-royalty-tv-drives-subscription-growth/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/1JQXH0mjQYCUPOTnTmhzSu/0de441c467cc7acfe004427e1fc7d7a3/img-2022-12-true-royalty-tv-customer-story-promotion-resource-std-720x502.png" alt="" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Case Study</p> <h3 class="resource-module__title">True Royalty TV explodes subscriber and revenue growth</h3> </div> </a> </div> <div data-priority="1" class="resource-module analytics_and_insights analytics_and_insights churn subscriber_retention research" data-topic="analytics_and_insights" data-content-type="research" data-url="https://recurly.com/research/churn-rate-benchmarks"> <a class="resource-module__url" href="https://recurly.com/research/churn-rate-benchmarks" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/slQP4EvY6NHP2n3lOEQqG/75c6927897c0b2f04e3c3902524b8db7/img-2022-09-churn-benchmarks-resource-720x502.png" alt="Churn rate benchmarks" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Research</p> <h3 class="resource-module__title">Churn rate benchmarks</h3> </div> </a> </div> <div data-priority="1" class="resource-module analytics_and_insights analytics_and_insights tool" data-topic="analytics_and_insights" data-content-type="tool" data-url="/resources/tools/subscriber-revenue-growth-calculator/"> <a class="resource-module__url" href="/resources/tools/subscriber-revenue-growth-calculator/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/10fCrc83Jm4sTSe0gPvz60/8c2806348df8b35dd5646d80593649f7/img-22-06-growth-calculator-resource-720x502_resources_module.png" alt="Growth calculator" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Tool</p> <h3 class="resource-module__title">Revenue & subscriber growth calculator</h3> </div> </a> </div> <div data-priority="1" class="resource-module analytics_and_insights subscriber_acquisition analytics_and_insights research" data-topic="analytics_and_insights" data-content-type="research" data-url="https://recurly.com/research/subscriber-acquisition-benchmarks"> <a class="resource-module__url" href="https://recurly.com/research/subscriber-acquisition-benchmarks" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/4RG9DFwYKfDfiDFDhl3bZL/d9217b95fca75ad9ba30b8ec80a32141/img-2020-10-research-resource-tile-research-subscriber-acquisition-524x366.png" alt="Subscriber acquisition" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Research</p> <h3 class="resource-module__title">Subscriber acquisition benchmarks</h3> </div> </a> </div> <div data-priority="1" class="resource-module analytics_and_insights analytics_and_insights research" data-topic="analytics_and_insights" data-content-type="research" data-url="https://recurly.com/resources/report/endemic-survey-us/"> <a class="resource-module__url" href="https://recurly.com/resources/report/endemic-survey-us/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/6u2827OluluSJKFCxkZOEX/40d87ec75e61523cf24dce98edafcd72/17pkCb38.png" alt="Endemic report on the USA" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Research</p> <h3 class="resource-module__title">What subscribers want: Insights to future-proof your business</h3> </div> </a> </div> <div data-priority="1" class="resource-module analytics_and_insights digital_media infographic" data-topic="analytics_and_insights" data-content-type="infographic" data-url="https://recurly.com/resources/guide/benchmark-dme/"> <a class="resource-module__url" href="https://recurly.com/resources/guide/benchmark-dme/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/6X6HWWMn8R5Cp0DJquv61R/0a24bd5273fef66c2b18c38a96c64620/img-2022-05-digital_media_entertainment_report-resource-std-720x502.png" alt="Digital Media & Entertainment Benchmark Report" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Infographic</p> <h3 class="resource-module__title">Digital Media & Entertainment benchmarks 2022</h3> </div> </a> </div> <div data-priority="1" class="resource-module analytics_and_insights analytics_and_insights webinar" data-topic="analytics_and_insights" data-content-type="webinar" data-url="https://www.recurly.com/resources/webinar/how-finance-leaders-can-use-data-to-unlock-subscriber-growth"> <a class="resource-module__url" href="https://www.recurly.com/resources/webinar/how-finance-leaders-can-use-data-to-unlock-subscriber-growth" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/2TRd6SD7b3BhaJmGpokfPN/595483b65e6f013f4d6011ddb2f11153/img-2020-12-recurly_chartmogul-event-resource-524x366.png" alt="Charts graphic" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">How Finance and Operations Leaders Can Use Data to Unlock Growth</h3> </div> </a> </div> <div data-priority="1" class="resource-module analytics_and_insights analytics_and_insights subscription_management data_sheet" data-topic="analytics_and_insights" data-content-type="data_sheet" data-url="https://go.recurly.com/rs/439-LSC-903/images/Recurly-Analytics-Data-Sheet.pdf"> <a class="resource-module__url" href="https://go.recurly.com/rs/439-LSC-903/images/Recurly-Analytics-Data-Sheet.pdf" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/67WiHPj6yKAtL1xN9eFQxA/87880f234ce21f60b7be91d42bd58521/img-2020-10-research-resource-tile-data-sheet-recurly-analytics-524x366.png" alt="Data sheet on Recurly analytics" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Data Sheet</p> <h3 class="resource-module__title">Recurly Analytics: Actionable Insights</h3> </div> </a> </div> <div data-priority="1" class="resource-module analytics_and_insights analytics_and_insights subscription_management guide" data-topic="analytics_and_insights" data-content-type="guide" data-url="https://recurly.com/content/key-metrics-for-subscription-commerce"> <a class="resource-module__url" href="https://recurly.com/content/key-metrics-for-subscription-commerce" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/7MYM5UQ5KQkWtRFuBwypeU/438c2d6ca67c47e833bd8ca3134c2cca/img-2020-10-research-resource-tile-guide-key-metrics-subscription-commerce-524x366.png" alt="Bar chart graphic" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Guide</p> <h3 class="resource-module__title">Key Metrics for Subscription Commerce</h3> </div> </a> </div> <div data-priority="1" class="resource-module analytics_and_insights analytics_and_insights subscription_management webinar" data-topic="analytics_and_insights" data-content-type="webinar" data-url="https://recurly.com/past-webinar/optimizing-your-subscription-business-with-data-driven-insights/"> <a class="resource-module__url" href="https://recurly.com/past-webinar/optimizing-your-subscription-business-with-data-driven-insights/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/2XeqpUf4EPyYMUP40oqk7L/edf8d7d11cf97c1a07868349b5f697a0/img-2020-10-research-resource-tile-webinar-optimizing-data-driven-524x366.png" alt="Data driven optimization with Recurly" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">Optimizing Your Subscription Business</h3> </div> </a> </div> <div data-priority="1" class="resource-module analytics_and_insights analytics_and_insights billing_and_accounting webinar" data-topic="analytics_and_insights" data-content-type="webinar" data-url="https://recurly.com/past-webinar/subscription-best-practices-measuring-reporting-financial-performance"> <a class="resource-module__url" href="https://recurly.com/past-webinar/subscription-best-practices-measuring-reporting-financial-performance" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/6mtZVV7t6apeHsWX8rbnWn/bcfcac7a82cca2d772d83133b5510d87/img-2020-10-research-resource-tile-webinar-subscription-best-practice-financial-performance-524x366.png" alt="Financial performance best practices" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">Measuring and Reporting Financial Performance</h3> </div> </a> </div> <div data-priority="1" class="resource-module analytics_and_insights analytics_and_insights churn subscriber_retention webinar" data-topic="analytics_and_insights" data-content-type="webinar" data-url="/resources/webinar/reduce-churn-and-maximize-subscription-revenue-with-machine-learning-on-demand-webinar/"> <a class="resource-module__url" href="/resources/webinar/reduce-churn-and-maximize-subscription-revenue-with-machine-learning-on-demand-webinar/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/2LVwtJwT6s0jlDrEInPy8w/d704ddbe88c144ca51f3dca1bcbd65e6/img-2020-10-research-resource-tile-webinar-reduce-churn-machine-learning-524x366.png" alt="Machine learning to reduce churn" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">Use Machine Learning to Maximize Revenue</h3> </div> </a> </div> <div data-priority="1" class="resource-module analytics_and_insights analytics_and_insights subscriber_retention churn webinar" data-topic="analytics_and_insights" data-content-type="webinar" data-url="https://recurly.com/past-webinar/webinar-recording-subscription-commerce-benchmarks-a-guide-to-subscriber-retention"> <a class="resource-module__url" href="https://recurly.com/past-webinar/webinar-recording-subscription-commerce-benchmarks-a-guide-to-subscriber-retention" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/14NfuVbTanPTHBR46ScGSM/b4e8888238ada9c0fd9d446c03047ed8/img-2020-10-research-resource-tile-webinar-default-524x366.png" alt="Research resource tile" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">Subscription Commerce Benchmarks</h3> </div> </a> </div> <div data-priority="1" class="resource-module analytics_and_insights analytics_and_insights expert_support case_study" data-topic="analytics_and_insights" data-content-type="case_study" data-url="https://recurly.com/resources/case-study/digital-reach"> <a class="resource-module__url" href="https://recurly.com/resources/case-study/digital-reach" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/2pdQjDw9b2ZLxu4H88rJVM/bee6b84a1f021368b6db1d56b5319f89/img-2020-10-research-resource-tile-case-study-digitalreach-524x366.png" alt="DigitalReach logo" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Case Study</p> <h3 class="resource-module__title">Recurly Fuels DigitalReach's Growth</h3> </div> </a> </div> </div> </div> </section> <section class="segment segment--initial segment--view-all"> <div class="container text-center"> <button class="btn btn-primary view-all-btn">View All Resources</button> </div> </section> <section class="segment--initial segment--hidden"> <div data-priority="1" class="resource-module developer_resources developer_resources subscription_management case_study" data-topic="developer_resources" data-content-type="case_study" data-url="https://recurly.com/resources/case-study/hockeytv"> <a class="resource-module__url" href="https://recurly.com/resources/case-study/hockeytv" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/2zwo58xfgdD8SZYyOTQfCk/01cf1643b9fadd4f748cd9b84b39e62d/img-2020-10-research-resource-tile-case-study-hockeytv-524x366.png" alt="HockeyTV logo" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Case Study</p> <h3 class="resource-module__title">HockeyTV Services Customer's Streaming Media Needs</h3> </div> </a> </div> <div data-priority="1" class="resource-module developer_resources developer_resources flexible_integrations guide" data-topic="developer_resources" data-content-type="guide" data-url="https://go.recurly.com/rs/439-LSC-903/images/Recurly-Data-Integration-Options.pdf"> <a class="resource-module__url" href="https://go.recurly.com/rs/439-LSC-903/images/Recurly-Data-Integration-Options.pdf" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/5n9oy4S1x7Jwtb4qh7d0Ei/a584a9f0e7d943f3df47060a8d2e3a5f/img-2020-10-research-resource-tile-guide-data-integrations-options-524x366.png" alt="Data integration options" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Guide</p> <h3 class="resource-module__title">Recurly Data Integration Options</h3> </div> </a> </div> <div data-priority="1" class="resource-module flexible-integrations flexible_integrations case_study" data-topic="flexible-integrations" data-content-type="case_study" data-url="https://recurly.com/resources/case-study/wyze"> <a class="resource-module__url" href="https://recurly.com/resources/case-study/wyze" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/2wtIdrBBZsbro9AjVJi8fT/5e130ae0fb52fa43d2ffe1d09263f4cd/img-2020-10-research-resource-tile-case-study-wyze-524x366.png" alt="Wyze logo" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Case Study</p> <h3 class="resource-module__title">Wyze Increases Support Efficiency and Customer Satisfaction With Recurly for Zendesk</h3> </div> </a> </div> <div data-priority="1" class="resource-module flexible-integrations flexible_integrations billing_and_accounting data_sheet" data-topic="flexible-integrations" data-content-type="data_sheet" data-url="https://go.recurly.com/rs/439-LSC-903/images/Recurly-NetSuite-Data-Sheet.pdf"> <a class="resource-module__url" href="https://go.recurly.com/rs/439-LSC-903/images/Recurly-NetSuite-Data-Sheet.pdf" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/1w7prOkKfaF1bmRuUWoc5R/fc603ad8baf20948c7f23fa5e2279ba8/img-2020-10-research-resource-tile-data-sheet-netsuite-524x366.png" alt="NetSuite logo" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Data Sheet</p> <h3 class="resource-module__title">Recurly + NetSuite</h3> </div> </a> </div> <div data-priority="1" class="resource-module flexible-integrations flexible_integrations billing_and_accounting data_sheet" data-topic="flexible-integrations" data-content-type="data_sheet" data-url="https://go.recurly.com/rs/439-LSC-903/images/Recurly-QuickBooks-Online-Data-Sheet.pdf"> <a class="resource-module__url" href="https://go.recurly.com/rs/439-LSC-903/images/Recurly-QuickBooks-Online-Data-Sheet.pdf" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/OKZg71iYzNf4eZ4OUVyV0/e3e3e098c7d6c1b7d49fbb3300698cdf/img-2020-10-research-resource-tile-data-sheet-quicbooks-524x366.png" alt="Quickbooks and Recurly" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Data Sheet</p> <h3 class="resource-module__title">Recurly + QuickBooks Online</h3> </div> </a> </div> <div data-priority="1" class="resource-module flexible-integrations flexible_integrations billing_and_accounting data_sheet" data-topic="flexible-integrations" data-content-type="data_sheet" data-url="https://go.recurly.com/rs/439-LSC-903/images/Recurly-Salesforce-Data-Sheet.pdf"> <a class="resource-module__url" href="https://go.recurly.com/rs/439-LSC-903/images/Recurly-Salesforce-Data-Sheet.pdf" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/1tUweD3f8rt9Nf1rYP0rj8/44dbbb3023f01e4e49b9e73b0ab593f4/img-2020-10-research-resource-tile-data-sheet-salesforce-524x366.png" alt="Salesforce and Recurly" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Data Sheet</p> <h3 class="resource-module__title">Recurly + Salesforce</h3> </div> </a> </div> <div data-priority="1" class="resource-module flexible-integrations flexible_integrations billing_and_accounting data_sheet" data-topic="flexible-integrations" data-content-type="data_sheet" data-url="https://go.recurly.com/rs/439-LSC-903/images/Recurly-Xero-Data-Sheet.pdf"> <a class="resource-module__url" href="https://go.recurly.com/rs/439-LSC-903/images/Recurly-Xero-Data-Sheet.pdf" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/7jvpGdiIygdHL2CF6A5i0i/cd7189791a5d4c4fc8150b344c8317ad/img-2020-10-research-resource-tile-data-sheet-xero-524x366.png" alt="Xero and Recurly" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Data Sheet</p> <h3 class="resource-module__title">Recurly + Xero</h3> </div> </a> </div> <div data-priority="1" class="resource-module payment-options payment_options subscription_management guide" data-topic="payment-options" data-content-type="guide" data-url="https://recurly.com/content/15-critical-questions-to-ask-when-choosing-a-payment-gateway"> <a class="resource-module__url" href="https://recurly.com/content/15-critical-questions-to-ask-when-choosing-a-payment-gateway" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/6pUeUUtitBH4ZGG1T0UAaM/fcb8c3a7a46a5b42c0bb4b60b1375d37/img-2020-10-research-resource-tile-guide-15questions-payment-gateway-524x366.png" alt="Payment gateway" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Guide</p> <h3 class="resource-module__title">15 Questions For Choosing a Payment Gateway</h3> </div> </a> </div> <div data-priority="1" class="resource-module payment-options payment_options subscription_management data_sheet" data-topic="payment-options" data-content-type="data_sheet" data-url="https://go.recurly.com/rs/439-LSC-903/images/Recurly-Fraud-Management-Data-Sheet.pdf"> <a class="resource-module__url" href="https://go.recurly.com/rs/439-LSC-903/images/Recurly-Fraud-Management-Data-Sheet.pdf" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/68NNXY208WGwZsx28fdVDs/c2ce99ec2454186e11a5073f2e1fd85e/img-2020-10-research-resource-tile-data-sheet-fraud-management-kount-524x366.png" alt="Fraud management" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Data Sheet</p> <h3 class="resource-module__title">Fraud Management Powered by Kount</h3> </div> </a> </div> <div data-priority="1" class="resource-module payment-options payment_options subscription_management data_sheet" data-topic="payment-options" data-content-type="data_sheet" data-url="https://go.recurly.com/rs/439-LSC-903/images/PaymentOptions_Data-Sheet.pdf"> <a class="resource-module__url" href="https://go.recurly.com/rs/439-LSC-903/images/PaymentOptions_Data-Sheet.pdf" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/6W7fMXHkpLFY8aIbYUhedw/b5b38b9c81b4a3476d26e7f8bbad064d/img-2020-10-research-resource-tile-data-sheet-payment-options-524x366.png" alt="Payment options" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Data Sheet</p> <h3 class="resource-module__title">Recurly Payment Options</h3> </div> </a> </div> <div data-priority="1" class="resource-module payment-options payment_options subscription_management case_study" data-topic="payment-options" data-content-type="case_study" data-url="https://recurly.com/resources/case-study/the-cook-political-report/"> <a class="resource-module__url" href="https://recurly.com/resources/case-study/the-cook-political-report/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/tPGWA0Iumyksfp5tvtIAO/20b7b5d59a5c5469a1641a06e568c2e2/img-2020-10-research-resource-tile-case-study-cook-political-report-524x366.png" alt="The Cook Political Report" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Case Study</p> <h3 class="resource-module__title">The Cook Political Report Relies on Recurly</h3> </div> </a> </div> <div data-priority="9" class="resource-module payment-options churn infographic" data-topic="payment-options" data-content-type="infographic" data-url="https://www.recurly.com/resources/guide/churn-mitigation/"> <a class="resource-module__url" href="https://www.recurly.com/resources/guide/churn-mitigation/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/48rNfxEnfSpBJ2YqFH6c7l/4856b7789fa296e22c9d6ae1a59d824b/infographic--effective-ways-mitigate-churn-resource-std-720x502.png" alt="Effective ways infographic" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Infographic</p> <h3 class="resource-module__title">Highly Effective Strategies to Mitigate Subscriber Churn</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscriber-acquisition subscriber_acquisition guide" data-topic="subscriber-acquisition" data-content-type="guide" data-url="/content/subscription-customer-acquisition/"> <a class="resource-module__url" href="/content/subscription-customer-acquisition/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/4QY4V4GDop79jnwLWYMWT9/a8ddab1b61dace915222995064040ea9/img-2022-10-acquisition-campaign-resource-720x502.png" alt="Maximize subscriber growth" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Guide</p> <h3 class="resource-module__title">Maximizing growth with subscriber acquisition</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscriber-acquisition subscriber_acquisition subscriber_retention guide" data-topic="subscriber-acquisition" data-content-type="guide" data-url="/resources/guide/gift-subscriptions/"> <a class="resource-module__url" href="/resources/guide/gift-subscriptions/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/2WxwmPEKHWhh3UaOwuOsgw/0a42cdf1ed8e0560ddbb0ec813e28db8/img-2022-the-ultimate-cheat-sheet-to-gifting-subscriptions-resource-720x502.png" alt="The ultimate cheat sheet to gifting subscriptions" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Guide</p> <h3 class="resource-module__title">The ultimate cheat sheet to gifting subscriptions</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscriber-acquisition education subscriber_acquisition subscriber_retention tool" data-topic="subscriber-acquisition" data-content-type="tool" data-url="https://recurly.com/resources/tools/elearning-growth-metrics-cheat-sheet/"> <a class="resource-module__url" href="https://recurly.com/resources/tools/elearning-growth-metrics-cheat-sheet/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/1Qnvn0xj2weosRj4VLnE1G/c96d5b568ef3cc09f28a763828f7c780/img-2022-05-growth-metrics-cheat-sheet-elearning-social-share-1200x630.png" alt="eLearning cheat sheet for growth" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Tool</p> <h3 class="resource-module__title">eLearning Subscription Growth Metrics Cheat Sheet</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscriber-acquisition digital_media infographic" data-topic="subscriber-acquisition" data-content-type="infographic" data-url="https://recurly.com/resources/guide/benchmark-dme/"> <a class="resource-module__url" href="https://recurly.com/resources/guide/benchmark-dme/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/6X6HWWMn8R5Cp0DJquv61R/0a24bd5273fef66c2b18c38a96c64620/img-2022-05-digital_media_entertainment_report-resource-std-720x502.png" alt="Digital Media & Entertainment Benchmark Report" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Infographic</p> <h3 class="resource-module__title">Digital Media & Entertainment benchmarks 2022</h3> </div> </a> </div> <div data-priority="9" class="resource-module subscriber-acquisition subscriber_acquisition subscription_management webinar" data-topic="subscriber-acquisition" data-content-type="webinar" data-url="/resources/webinar/5-tactics-for-subscriber-growth/"> <a class="resource-module__url" href="/resources/webinar/5-tactics-for-subscriber-growth/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/4eSvUVYkDTY04OxzRdA0YQ/10e06e02e8155a43ed04417da8b6ebbb/img-2021-05-5-tactics-to-drive-webinar-resource-tile-720x502.png" alt="Driving customer growth" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">5 Tactics for Subscription Growth</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscriber-acquisition digital_media tool" data-topic="subscriber-acquisition" data-content-type="tool" data-url="https://recurly.com/resources/tools/high-impact-tactics-dme/"> <a class="resource-module__url" href="https://recurly.com/resources/tools/high-impact-tactics-dme/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/5Ufm7kZe0bOjXRZYZCvYYk/cdaff1ff8c51f98816d2d1999d9ca021/img-2022-06-10-high-impact-tactics-subscription-success-digital-media-entertainment-resource-tile-720x502.png" alt="High Impact Tactics for Subscription Success" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Tool</p> <h3 class="resource-module__title">Digital Media & Entertainment: 10 High Impact Tactics for Subscription Success</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscriber-acquisition subscriber_acquisition subscription_management guide" data-topic="subscriber-acquisition" data-content-type="guide" data-url="https://recurly.com/content/art-and-science-of-subscriber-acquisition"> <a class="resource-module__url" href="https://recurly.com/content/art-and-science-of-subscriber-acquisition" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/4vAdHO3idBiwXkNovRlZnv/319565a57a8967d5fd8955b38f620f7d/img-2020-10-research-resource-tile-guide-bfss-subscriber-acquisition-524x366.png" alt="The Art & Science of Subscriber Acquisition conver" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Guide</p> <h3 class="resource-module__title">The Art and Science of Subscriber Acquisition</h3> </div> </a> </div> <div data-priority="8" class="resource-module subscriber-acquisition subscriber_acquisition saas case_study" data-topic="subscriber-acquisition" data-content-type="case_study" data-url="https://recurly.com/resources/case-study/marketmuse/"> <a class="resource-module__url" href="https://recurly.com/resources/case-study/marketmuse/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/5TaDa9Z5vvIPvsd9SsJaXc/5a74bcebf3ba5698d66d948b9d48c560/CaseStudies_ResourceTile_MarketMuse_720x502.png" alt="MarketMuse logo" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Case Study</p> <h3 class="resource-module__title">MarketMuse Uses Smart Promotions to Fuel Subscriber Growth</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscriber-acquisition subscriber_acquisition subscriber_retention churn data_sheet" data-topic="subscriber-acquisition" data-content-type="data_sheet" data-url="https://go.recurly.com/rs/439-LSC-903/images/Recurly-Gift-Subscriptions-Data-Sheet.pdf"> <a class="resource-module__url" href="https://go.recurly.com/rs/439-LSC-903/images/Recurly-Gift-Subscriptions-Data-Sheet.pdf" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/3sjnB3S4foMhX1lmmSU179/cc4eb881024fd943436643a02635976b/img-2020-10-research-resource-tile-data-sheet-gift-subscriptions-524x366.png" alt="Gift card and gift plan" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Data Sheet</p> <h3 class="resource-module__title">Gift Subscriptions With Recurly</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscriber-acquisition subscriber_acquisition analytics_and_insights research" data-topic="subscriber-acquisition" data-content-type="research" data-url="https://recurly.com/research/subscriber-acquisition-benchmarks"> <a class="resource-module__url" href="https://recurly.com/research/subscriber-acquisition-benchmarks" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/4RG9DFwYKfDfiDFDhl3bZL/d9217b95fca75ad9ba30b8ec80a32141/img-2020-10-research-resource-tile-research-subscriber-acquisition-524x366.png" alt="Subscriber acquisition" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Research</p> <h3 class="resource-module__title">Subscriber acquisition benchmarks</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscriber-acquisition subscriber_acquisition subscription_management webinar" data-topic="subscriber-acquisition" data-content-type="webinar" data-url="/resources/webinar/better-stronger-faster-subscription-commerce-growth-on-demand-webinar/"> <a class="resource-module__url" href="/resources/webinar/better-stronger-faster-subscription-commerce-growth-on-demand-webinar/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/14NfuVbTanPTHBR46ScGSM/b4e8888238ada9c0fd9d446c03047ed8/img-2020-10-research-resource-tile-webinar-default-524x366.png" alt="Research resource tile" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">Bigger, Better, Faster Subscription Growth</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscriber-acquisition subscriber_acquisition subscription_management webinar" data-topic="subscriber-acquisition" data-content-type="webinar" data-url="/resources/webinar/powerful-and-profitable-holiday-promotions-that-drive-subscribers-on-demand-webinar"> <a class="resource-module__url" href="/resources/webinar/powerful-and-profitable-holiday-promotions-that-drive-subscribers-on-demand-webinar" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/2zHUNZXi7MoPDYv3iE4d9V/808c7f49cb6d6a59b299601705304de9/img-2020-10-research-resource-tile-webinar-powerful-holiday-promos-524x366.png" alt="Powerful holiday promos" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">Powerful & Profitable Holiday Promotions</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscriber-acquisition subscriber_acquisition subscription_management guide" data-topic="subscriber-acquisition" data-content-type="guide" data-url="https://go.recurly.com/rs/439-LSC-903/images/CouponsTop10_List_r1.pdf"> <a class="resource-module__url" href="https://go.recurly.com/rs/439-LSC-903/images/CouponsTop10_List_r1.pdf" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/2iaXz9qxnOiJZtecbOs5RP/61ae509728a8e0cf5608696cd8d101d2/img-2020-10-research-resource-tile-guide-10-tips-discounts-524x366.png" alt="10 tips for discounts" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Guide</p> <h3 class="resource-module__title">How to Grow Your Business With Discounts</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscriber-acquisition subscriber_acquisition subscription_management guide" data-topic="subscriber-acquisition" data-content-type="guide" data-url="https://recurly.com/improve-subscription-profits"> <a class="resource-module__url" href="https://recurly.com/improve-subscription-profits" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/7cYLPrNMy41asdewqxUGMH/c41568524781a9e63f50717c37df6fae/img-2020-10-research-resource-tile-guide-coupons-campaign-524x366.png" alt="Gift cards and gift plans" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Guide</p> <h3 class="resource-module__title">Coupon Campaigns &amp; Gift Subscriptions</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscriber-acquisition subscriber_acquisition subscription_management webinar" data-topic="subscriber-acquisition" data-content-type="webinar" data-url="/resources/webinar/capitalizing-on-coupons-on-demand-webinar/"> <a class="resource-module__url" href="/resources/webinar/capitalizing-on-coupons-on-demand-webinar/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/2gNtuf0twFASCRDmfWFvjo/ed78bb7d5255bd09734257079319f48a/img-2020-10-research-resource-tile-webinar-capitalizing-on-coupons-524x366.png" alt="Capitalizing on coupons" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">Capitalizing on Coupons</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscriber-acquisition subscriber_acquisition subscription_management webinar" data-topic="subscriber-acquisition" data-content-type="webinar" data-url="https://recurly.com/past-webinar/maximize-revenue-holiday-promotions"> <a class="resource-module__url" href="https://recurly.com/past-webinar/maximize-revenue-holiday-promotions" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/14NfuVbTanPTHBR46ScGSM/b4e8888238ada9c0fd9d446c03047ed8/img-2020-10-research-resource-tile-webinar-default-524x366.png" alt="Research resource tile" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">Maximizing Holiday Promotions</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscriber-acquisition subscriber_acquisition subscription_management webinar" data-topic="subscriber-acquisition" data-content-type="webinar" data-url="https://recurly.com/past-webinar/top-ten-trends-for-subscription-success-2018/"> <a class="resource-module__url" href="https://recurly.com/past-webinar/top-ten-trends-for-subscription-success-2018/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/0cwoXVCt17R7XbXnK9iCn/9cda2cd9d0c06197185da12c10fb5c05/img-2020-10-research-resource-tile-guide-top10-for-sub-success2018-524x366.png" alt="Top Ten Trends for Subscription Success 2018" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">Top 10 Trends for 2018</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscriber-acquisition subscriber_acquisition subscription_management guide" data-topic="subscriber-acquisition" data-content-type="guide" data-url="https://recurly.com/resources/guide/choosing-the-right-subscription-platform-for-international-expansion"> <a class="resource-module__url" href="https://recurly.com/resources/guide/choosing-the-right-subscription-platform-for-international-expansion" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/3QNxHfgrS8fJ6iqj5WpA2Q/b5ec806e6903776251f4785b7048d076/img-2020-10-research-resource-tile-guide-bfss-subscription-platform-international-524x366.png" alt="Choosing the Right Subscription Platform for International Expansion cover" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Guide</p> <h3 class="resource-module__title">Blueprint: International Expansion</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscriber-acquisition subscriber_acquisition subscription_management webinar" data-topic="subscriber-acquisition" data-content-type="webinar" data-url="/resources/webinar/accelerating-e-commerce-growth-with-subscriptions-on-demand-webinar/"> <a class="resource-module__url" href="/resources/webinar/accelerating-e-commerce-growth-with-subscriptions-on-demand-webinar/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/11nSeYkYYwkSTKGzazuXLB/777e4b08afa8f67e149895dbe5015281/img-2020-10-research-resource-tile-research-ecommerce-524x366.png" alt="Ecommerce page" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">Accelerating E-commerce Growth</h3> </div> </a> </div> <div data-priority="9" class="resource-module subscriber-acquisition subscriber_acquisition subscription_management webinar" data-topic="subscriber-acquisition" data-content-type="webinar" data-url="https://www.recurly.com/resources/webinar/how-to-track-apply-and-optimize-acquisition-for-ltv"> <a class="resource-module__url" href="https://www.recurly.com/resources/webinar/how-to-track-apply-and-optimize-acquisition-for-ltv" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/5ldtKTTfigsPRct1BAGS99/94c15bf61d459df9d90283c93a34dd25/img-2021-05-how-to-track-webinar-resource-tile-720x502.png" alt="Happy customer journey" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">How to Track, Apply, and Optimize Acquisition for LTV </h3> </div> </a> </div> <div data-priority="8" class="resource-module subscriber-acquisition payment_options subscriber_acquisition subscription_management webinar" data-topic="subscriber-acquisition" data-content-type="webinar" data-url="https://www.recurly.com/resources/webinar/designing-the-right-gateway-strategy/"> <a class="resource-module__url" href="https://www.recurly.com/resources/webinar/designing-the-right-gateway-strategy/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/4U3fNyVd2uLbT8U6iPLGQ2/406f2624ec48db645f403a39d892067f/img-2021-05-webinar-gateway-strategy-resource-tile-720x502.png" alt="Gateway strategy" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">The secret to catapulting growth & expansion: your gateway strategy</h3> </div> </a> </div> <div data-priority="1" class="resource-module subscriber-acquisition consumer_goods subscriber_retention tool" data-topic="subscriber-acquisition" data-content-type="tool" data-url="https://recurly.com/resources/tools/high-impact-tactics-for-subscription-success-cgr/"> <a class="resource-module__url" href="https://recurly.com/resources/tools/high-impact-tactics-for-subscription-success-cgr/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/4x6mRFmSf2BftwnnTdyu8U/1da9121eaec6c6a91f0968b2ece1b6b8/img-2022-05-10-high-impact-tactics-subscription-success-consumer-goods-retail-resource-tile-720x502.jpg" alt="High Impact Tactics for Subscription Success" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Tool</p> <h3 class="resource-module__title">Consumer Goods & Retail: 10 High-Impact Tactics for Subscription Success</h3> </div> </a> </div> <div data-priority="1" class="resource-module consumer_goods consumer_goods tool" data-topic="consumer_goods" data-content-type="tool" data-url="https://recurly.com/resources/tools/consumer-goods-retail-subscription-metrics-cheat-sheet/"> <a class="resource-module__url" href="https://recurly.com/resources/tools/consumer-goods-retail-subscription-metrics-cheat-sheet/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/1FyL4KFvQQSh7p8F0iJNJD/6ec76a206cee42ce4598006c94cf2bca/img-2022-05-growth-metrics-cheat-sheet-consumer-goods-retail-resource-tile-720x502.png" alt="Growth metrics cheat sheet" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Tool</p> <h3 class="resource-module__title">Consumer Goods & Retail Growth Metrics Cheat Sheet</h3> </div> </a> </div> <div data-priority="1" class="resource-module consumer_goods consumer_goods subscriber_retention tool" data-topic="consumer_goods" data-content-type="tool" data-url="https://recurly.com/resources/tools/high-impact-tactics-for-subscription-success-cgr/"> <a class="resource-module__url" href="https://recurly.com/resources/tools/high-impact-tactics-for-subscription-success-cgr/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/4x6mRFmSf2BftwnnTdyu8U/1da9121eaec6c6a91f0968b2ece1b6b8/img-2022-05-10-high-impact-tactics-subscription-success-consumer-goods-retail-resource-tile-720x502.jpg" alt="High Impact Tactics for Subscription Success" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Tool</p> <h3 class="resource-module__title">Consumer Goods & Retail: 10 High-Impact Tactics for Subscription Success</h3> </div> </a> </div> <div data-priority="1" class="resource-module consumer_goods subscriber_retention case_study" data-topic="consumer_goods" data-content-type="case_study" data-url="https://recurly.com/resources/case-study/fabfitfun"> <a class="resource-module__url" href="https://recurly.com/resources/case-study/fabfitfun" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/5Hdk20fn63Zh1HnITX7wkN/f9cf0927e8d88ae6002bb8dc3ea3f3d6/img-2024-05-fabfitfun-casestudy-resource-tile-720x502.png" alt="FabFitFun logo" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Case Study</p> <h3 class="resource-module__title">How FabFitFun takes a member-centric approach to growth</h3> </div> </a> </div> <div data-priority="1" class="resource-module consumer_goods subscription_management webinar" data-topic="consumer_goods" data-content-type="webinar" data-url="https://www.recurly.com/resources/webinar/future-of-retail-headless-commerce"> <a class="resource-module__url" href="https://www.recurly.com/resources/webinar/future-of-retail-headless-commerce" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/7nhHLSBvQbRaFrl7cUW1EF/da369f8c2cbc00293abdbd16ba605a7c/img-2020-10-headless-commerce-resource-720-502.png" alt="Gated headless commerce" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">Why Headless Commerce is the Future of Retail</h3> </div> </a> </div> <div data-priority="8" class="resource-module consumer_goods subscription_management subscriber_retention case_study" data-topic="consumer_goods" data-content-type="case_study" data-url="https://recurly.com/resources/case-study/barkbox/"> <a class="resource-module__url" href="https://recurly.com/resources/case-study/barkbox/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/4W45FitMhSX4if7pZL4RxL/5918391779f3c21a60f00228ca98731e/img-2020-10-barkbox-resource-tile-524x366.png" alt="BarkBox logo" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Case Study</p> <h3 class="resource-module__title">Technology Keeps Tails Wagging</h3> </div> </a> </div> <div data-priority="1" class="resource-module consumer_goods subscription_management guide" data-topic="consumer_goods" data-content-type="guide" data-url="https://www.recurly.com/resources/guide/subscription-business-guide-to-global-expansion"> <a class="resource-module__url" href="https://www.recurly.com/resources/guide/subscription-business-guide-to-global-expansion" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/5KDGkgHJA9mLjiyZ4l8nMJ/891a239cc91371ba1c9930b8645d23ba/img-2020-11-expand-globally-524x366.png" alt="Expanding globally" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Guide</p> <h3 class="resource-module__title">Subscription Business? Here's Everything You Need to Go Global</h3> </div> </a> </div> <div data-priority="1" class="resource-module consumer_goods analytics_and_insights subscription_management guide" data-topic="consumer_goods" data-content-type="guide" data-url="https://recurly.com/content/key-metrics-for-subscription-commerce"> <a class="resource-module__url" href="https://recurly.com/content/key-metrics-for-subscription-commerce" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/7MYM5UQ5KQkWtRFuBwypeU/438c2d6ca67c47e833bd8ca3134c2cca/img-2020-10-research-resource-tile-guide-key-metrics-subscription-commerce-524x366.png" alt="Bar chart graphic" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Guide</p> <h3 class="resource-module__title">Key Metrics for Subscription Commerce</h3> </div> </a> </div> <div data-priority="1" class="resource-module consumer_goods subscription_management subscriber_acquisition churn case_study" data-topic="consumer_goods" data-content-type="case_study" data-url="https://recurly.com/resources/case-study/pupbox"> <a class="resource-module__url" href="https://recurly.com/resources/case-study/pupbox" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/70R4A2O6Q66YeHPS01SC8m/4cf4876b4d6aeba277e93e807ad2e244/img-2020-10-research-resource-tile-case-study-pupbox-524x366.png" alt="PupBox logo" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Case Study</p> <h3 class="resource-module__title">PupBox Expands Its Pack</h3> </div> </a> </div> <div data-priority="1" class="resource-module consumer_goods subscriber_retention subscription_management webinar" data-topic="consumer_goods" data-content-type="webinar" data-url="https://www.recurly.com/resources/webinar/how-pupbox-drives-exponential-membership-growth-on-demand-webinar"> <a class="resource-module__url" href="https://www.recurly.com/resources/webinar/how-pupbox-drives-exponential-membership-growth-on-demand-webinar" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/7Xb0iPTugqeqeCepharNn/86546e02f4424b8176154aff95376751/img-2022-07-subscriber-growth-resource-std-720x502.png" alt="Subscriber growth resource tile" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">How PupBox Drives Exponential Membership Growth</h3> </div> </a> </div> <div data-priority="1" class="resource-module consumer_goods subscriber_acquisition analytics_and_insights research" data-topic="consumer_goods" data-content-type="research" data-url="https://recurly.com/research/subscriber-acquisition-benchmarks"> <a class="resource-module__url" href="https://recurly.com/research/subscriber-acquisition-benchmarks" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/4RG9DFwYKfDfiDFDhl3bZL/d9217b95fca75ad9ba30b8ec80a32141/img-2020-10-research-resource-tile-research-subscriber-acquisition-524x366.png" alt="Subscriber acquisition" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Research</p> <h3 class="resource-module__title">Subscriber acquisition benchmarks</h3> </div> </a> </div> <div data-priority="1" class="resource-module consumer_goods flexible_integrations case_study" data-topic="consumer_goods" data-content-type="case_study" data-url="https://recurly.com/resources/case-study/wyze"> <a class="resource-module__url" href="https://recurly.com/resources/case-study/wyze" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/2wtIdrBBZsbro9AjVJi8fT/5e130ae0fb52fa43d2ffe1d09263f4cd/img-2020-10-research-resource-tile-case-study-wyze-524x366.png" alt="Wyze logo" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Case Study</p> <h3 class="resource-module__title">Wyze Increases Support Efficiency and Customer Satisfaction With Recurly for Zendesk</h3> </div> </a> </div> <div data-priority="1" class="resource-module consumer_goods analytics_and_insights churn subscriber_retention research" data-topic="consumer_goods" data-content-type="research" data-url="https://recurly.com/research/churn-rate-benchmarks"> <a class="resource-module__url" href="https://recurly.com/research/churn-rate-benchmarks" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/slQP4EvY6NHP2n3lOEQqG/75c6927897c0b2f04e3c3902524b8db7/img-2022-09-churn-benchmarks-resource-720x502.png" alt="Churn rate benchmarks" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Research</p> <h3 class="resource-module__title">Churn rate benchmarks</h3> </div> </a> </div> <div data-priority="1" class="resource-module consumer_goods subscriber_acquisition subscription_management webinar" data-topic="consumer_goods" data-content-type="webinar" data-url="https://recurly.com/past-webinar/maximize-revenue-holiday-promotions"> <a class="resource-module__url" href="https://recurly.com/past-webinar/maximize-revenue-holiday-promotions" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/14NfuVbTanPTHBR46ScGSM/b4e8888238ada9c0fd9d446c03047ed8/img-2020-10-research-resource-tile-webinar-default-524x366.png" alt="Research resource tile" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">Maximizing Holiday Promotions</h3> </div> </a> </div> <div data-priority="1" class="resource-module consumer_goods subscriber_retention churn guide" data-topic="consumer_goods" data-content-type="guide" data-url="/resources/guide/minimize-churn-maximize-revenue/"> <a class="resource-module__url" href="/resources/guide/minimize-churn-maximize-revenue/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/7J4TJuuYM7LRymEaMVMe4I/61182d27d20b985a8c3b84bcf046bb80/img-2022-06-10-high-impact-tactics-subscription-success-resource-tile-720x502.png" alt="Minimize churn, maximize revenue" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Guide</p> <h3 class="resource-module__title">Minimize churn & maximize revenue</h3> </div> </a> </div> <div data-priority="1" class="resource-module saas subscription_management tool" data-topic="saas" data-content-type="tool" data-url="https://www.recurly.com/resources/tools/10-high-impact-tactics-for-subscription-success"> <a class="resource-module__url" href="https://www.recurly.com/resources/tools/10-high-impact-tactics-for-subscription-success" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/58WEKjcJPtFt9veix4r3bN/45ebb28fde6dbc61afdcdce796c51f04/img-2022-06-10-high-impact-tactics-subscription-success-resource-tile-720x502__1_.png" alt="High Impact Tactics for Subscription Success" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Tool</p> <h3 class="resource-module__title">10 High-impact tactics for subscription success</h3> </div> </a> </div> <div data-priority="1" class="resource-module saas subscription_management subscriber_retention research" data-topic="saas" data-content-type="research" data-url="https://recurly.com/research/saas-benchmarks-for-subscription-plans"> <a class="resource-module__url" href="https://recurly.com/research/saas-benchmarks-for-subscription-plans" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/62FPrxCsjfrKJMZ3OIfWRL/9a49f43c8345207967a71e2f69f76738/img-2020-10-research-saas-benchmarks-524x366.png" alt="Research SaaS benchmarks" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Research</p> <h3 class="resource-module__title">SaaS Benchmarks for Subscription Plans</h3> </div> </a> </div> <div data-priority="1" class="resource-module saas subscription_management case_study" data-topic="saas" data-content-type="case_study" data-url="https://recurly.com/resources/case-study/livechat/"> <a class="resource-module__url" href="https://recurly.com/resources/case-study/livechat/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/5YSBwSGFzqSuBegt7Tv4NZ/7b55db22baf85ddfed770eef259c8bbf/img-2020-10-research-resource-tile-case-study-livechat-524x366.png" alt="LiveChat logo" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Case Study</p> <h3 class="resource-module__title">LiveChat More Than Doubles Subscribers</h3> </div> </a> </div> <div data-priority="1" class="resource-module saas subscription_management guide" data-topic="saas" data-content-type="guide" data-url="https://www.recurly.com/resources/guide/subscription-business-guide-to-global-expansion"> <a class="resource-module__url" href="https://www.recurly.com/resources/guide/subscription-business-guide-to-global-expansion" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/5KDGkgHJA9mLjiyZ4l8nMJ/891a239cc91371ba1c9930b8645d23ba/img-2020-11-expand-globally-524x366.png" alt="Expanding globally" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Guide</p> <h3 class="resource-module__title">Subscription Business? Here's Everything You Need to Go Global</h3> </div> </a> </div> <div data-priority="1" class="resource-module saas subscription_management analytics_and_insights subscriber_acquisition webinar" data-topic="saas" data-content-type="webinar" data-url="https://recurly.com/past-webinar/essential-saas-benchmarks-for-a-competitive-advantage"> <a class="resource-module__url" href="https://recurly.com/past-webinar/essential-saas-benchmarks-for-a-competitive-advantage" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/14NfuVbTanPTHBR46ScGSM/b4e8888238ada9c0fd9d446c03047ed8/img-2020-10-research-resource-tile-webinar-default-524x366.png" alt="Research resource tile" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">Essential SaaS Benchmarks</h3> </div> </a> </div> <div data-priority="1" class="resource-module saas subscription_management subscriber_acquisition flexible_integrations case_study" data-topic="saas" data-content-type="case_study" data-url="https://recurly.com/resources/case-study/pipefy"> <a class="resource-module__url" href="https://recurly.com/resources/case-study/pipefy" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/4Ny0o55osgcojNPfaZxCju/0e78d8fc696e582c42cd67303c51db40/img-2020-10-research-resource-tile-case-study-pipefy-524x366.png" alt="Pipefy logo" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Case Study</p> <h3 class="resource-module__title">Flexible Billing Plans and Integrations Power Pipefy</h3> </div> </a> </div> <div data-priority="7" class="resource-module saas churn billing_and_accounting subscriber_acquisition case_study" data-topic="saas" data-content-type="case_study" data-url="https://recurly.com/resources/case-study/userlike"> <a class="resource-module__url" href="https://recurly.com/resources/case-study/userlike" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/3mfto4Ol9WDyCUZduhojZv/111be33bca89dfd60b23ff9475ea7bba/img-2020-11-userlike-cs-feature-tile-720x502.png" alt="Userlike logo" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Case Study</p> <h3 class="resource-module__title">How Userlike Has Grown </h3> </div> </a> </div> <div data-priority="1" class="resource-module saas analytics_and_insights churn subscriber_retention research" data-topic="saas" data-content-type="research" data-url="https://recurly.com/research/churn-rate-benchmarks"> <a class="resource-module__url" href="https://recurly.com/research/churn-rate-benchmarks" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/slQP4EvY6NHP2n3lOEQqG/75c6927897c0b2f04e3c3902524b8db7/img-2022-09-churn-benchmarks-resource-720x502.png" alt="Churn rate benchmarks" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Research</p> <h3 class="resource-module__title">Churn rate benchmarks</h3> </div> </a> </div> <div data-priority="1" class="resource-module saas subscriber_retention churn guide" data-topic="saas" data-content-type="guide" data-url="/resources/guide/minimize-churn-maximize-revenue/"> <a class="resource-module__url" href="/resources/guide/minimize-churn-maximize-revenue/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/7J4TJuuYM7LRymEaMVMe4I/61182d27d20b985a8c3b84bcf046bb80/img-2022-06-10-high-impact-tactics-subscription-success-resource-tile-720x502.png" alt="Minimize churn, maximize revenue" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Guide</p> <h3 class="resource-module__title">Minimize churn & maximize revenue</h3> </div> </a> </div> <div data-priority="1" class="resource-module saas subscriber_retention churn analytics_and_insights research" data-topic="saas" data-content-type="research" data-url="https://recurly.com/how-do-you-compare"> <a class="resource-module__url" href="https://recurly.com/how-do-you-compare" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/3mc4zfzy0IojemvYVWPBor/aad8ea4b057337a2730259a7f6d04a37/img-2020-10-research-resource-tile-research-recovered-revenue-declined-transactions-524x366.png" alt="Decline rate chart graphic" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Research</p> <h3 class="resource-module__title">Recovering Revenue from Declined Transactions</h3> </div> </a> </div> <div data-priority="1" class="resource-module saas flexible_integrations billing_and_accounting data_sheet" data-topic="saas" data-content-type="data_sheet" data-url="https://go.recurly.com/rs/439-LSC-903/images/Recurly-NetSuite-Data-Sheet.pdf"> <a class="resource-module__url" href="https://go.recurly.com/rs/439-LSC-903/images/Recurly-NetSuite-Data-Sheet.pdf" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/1w7prOkKfaF1bmRuUWoc5R/fc603ad8baf20948c7f23fa5e2279ba8/img-2020-10-research-resource-tile-data-sheet-netsuite-524x366.png" alt="NetSuite logo" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Data Sheet</p> <h3 class="resource-module__title">Recurly + NetSuite</h3> </div> </a> </div> <div data-priority="1" class="resource-module saas subscription_management guide" data-topic="saas" data-content-type="guide" data-url="https://go.recurly.com/rs/439-LSC-903/images/Recurly-SaaS-Subscription-Landscape.pdf"> <a class="resource-module__url" href="https://go.recurly.com/rs/439-LSC-903/images/Recurly-SaaS-Subscription-Landscape.pdf" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/2kknx8ricaGIFp8d4rvRrT/65efb6b42ff45a47e8b5147864965a2d/img-2020-10-research-resource-tile-guide-saas-and-business-landscape-524x366.png" alt="SaaS & the Subscription Landscape guide cover" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Guide</p> <h3 class="resource-module__title">SaaS & the Subscription Landscape</h3> </div> </a> </div> <div data-priority="1" class="resource-module saas flexible_integrations billing_and_accounting data_sheet" data-topic="saas" data-content-type="data_sheet" data-url="https://go.recurly.com/rs/439-LSC-903/images/Recurly-Salesforce-Data-Sheet.pdf"> <a class="resource-module__url" href="https://go.recurly.com/rs/439-LSC-903/images/Recurly-Salesforce-Data-Sheet.pdf" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/1tUweD3f8rt9Nf1rYP0rj8/44dbbb3023f01e4e49b9e73b0ab593f4/img-2020-10-research-resource-tile-data-sheet-salesforce-524x366.png" alt="Salesforce and Recurly" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Data Sheet</p> <h3 class="resource-module__title">Recurly + Salesforce</h3> </div> </a> </div> <div data-priority="1" class="resource-module saas billing_and_accounting subscription_management data_sheet" data-topic="saas" data-content-type="data_sheet" data-url="https://go.recurly.com/rs/439-LSC-903/images/Recurly-Revenue-Recognition-Data-Sheet.pdf"> <a class="resource-module__url" href="https://go.recurly.com/rs/439-LSC-903/images/Recurly-Revenue-Recognition-Data-Sheet.pdf" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/7D9L1yyKKEGeVPAXnFBH0s/96048550c4ee45acc3f509a8bbe2b799/img-2020-10-research-resource-tile-data-sheet-revenue-recognition-524x366.png" alt="Revenue recognition" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Data Sheet</p> <h3 class="resource-module__title">Revenue Recognition With Recurly</h3> </div> </a> </div> <div data-priority="1" class="resource-module saas subscriber_retention analytics_and_insights research" data-topic="saas" data-content-type="research" data-url="https://recurly.com/research/subscription-benchmarks-top-payment-decline-reasons"> <a class="resource-module__url" href="https://recurly.com/research/subscription-benchmarks-top-payment-decline-reasons" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/4zzuOXSuk9GsKhkIY9xzDh/6135ade72c5eabd00b667c124df01d5b/img-2022-09-top-payment-decline-reasons-resource-720x502.png" alt="Top payment decline reasons" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Research</p> <h3 class="resource-module__title">Top payment decline reasons</h3> </div> </a> </div> <div data-priority="1" class="resource-module saas subscriber_acquisition analytics_and_insights research" data-topic="saas" data-content-type="research" data-url="https://recurly.com/research/subscriber-acquisition-benchmarks"> <a class="resource-module__url" href="https://recurly.com/research/subscriber-acquisition-benchmarks" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/4RG9DFwYKfDfiDFDhl3bZL/d9217b95fca75ad9ba30b8ec80a32141/img-2020-10-research-resource-tile-research-subscriber-acquisition-524x366.png" alt="Subscriber acquisition" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Research</p> <h3 class="resource-module__title">Subscriber acquisition benchmarks</h3> </div> </a> </div> <div data-priority="1" class="resource-module education education tool" data-topic="education" data-content-type="tool" data-url="https://recurly.com/resources/tools/elearning-tactics-for-subscription-success/"> <a class="resource-module__url" href="https://recurly.com/resources/tools/elearning-tactics-for-subscription-success/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/3PK20i49byQJOMl5a6cB6d/7cf08ef90589ddef7cc32d6cb74afc97/img-2022-06-10-high-impact-tactics-subscription-success-elearning-resource-tile-720x502.png" alt="High Impact Tactics for Subscription Success" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Tool</p> <h3 class="resource-module__title">eLearning: 10 High-Impact Tactics for Subscription Success</h3> </div> </a> </div> <div data-priority="1" class="resource-module education education subscriber_acquisition subscriber_retention tool" data-topic="education" data-content-type="tool" data-url="https://recurly.com/resources/tools/elearning-growth-metrics-cheat-sheet/"> <a class="resource-module__url" href="https://recurly.com/resources/tools/elearning-growth-metrics-cheat-sheet/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/1Qnvn0xj2weosRj4VLnE1G/c96d5b568ef3cc09f28a763828f7c780/img-2022-05-growth-metrics-cheat-sheet-elearning-social-share-1200x630.png" alt="eLearning cheat sheet for growth" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Tool</p> <h3 class="resource-module__title">eLearning Subscription Growth Metrics Cheat Sheet</h3> </div> </a> </div> <div data-priority="1" class="resource-module education analytics_and_insights subscription_management guide" data-topic="education" data-content-type="guide" data-url="https://recurly.com/content/key-metrics-for-subscription-commerce"> <a class="resource-module__url" href="https://recurly.com/content/key-metrics-for-subscription-commerce" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/7MYM5UQ5KQkWtRFuBwypeU/438c2d6ca67c47e833bd8ca3134c2cca/img-2020-10-research-resource-tile-guide-key-metrics-subscription-commerce-524x366.png" alt="Bar chart graphic" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Guide</p> <h3 class="resource-module__title">Key Metrics for Subscription Commerce</h3> </div> </a> </div> <div data-priority="1" class="resource-module education subscriber_retention churn guide" data-topic="education" data-content-type="guide" data-url="/resources/guide/minimize-churn-maximize-revenue/"> <a class="resource-module__url" href="/resources/guide/minimize-churn-maximize-revenue/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/7J4TJuuYM7LRymEaMVMe4I/61182d27d20b985a8c3b84bcf046bb80/img-2022-06-10-high-impact-tactics-subscription-success-resource-tile-720x502.png" alt="Minimize churn, maximize revenue" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Guide</p> <h3 class="resource-module__title">Minimize churn & maximize revenue</h3> </div> </a> </div> <div data-priority="1" class="resource-module education analytics_and_insights subscription_management data_sheet" data-topic="education" data-content-type="data_sheet" data-url="https://go.recurly.com/rs/439-LSC-903/images/Recurly-Analytics-Data-Sheet.pdf"> <a class="resource-module__url" href="https://go.recurly.com/rs/439-LSC-903/images/Recurly-Analytics-Data-Sheet.pdf" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/67WiHPj6yKAtL1xN9eFQxA/87880f234ce21f60b7be91d42bd58521/img-2020-10-research-resource-tile-data-sheet-recurly-analytics-524x366.png" alt="Data sheet on Recurly analytics" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Data Sheet</p> <h3 class="resource-module__title">Recurly Analytics: Actionable Insights</h3> </div> </a> </div> <div data-priority="1" class="resource-module education analytics_and_insights churn subscriber_retention research" data-topic="education" data-content-type="research" data-url="https://recurly.com/research/churn-rate-benchmarks"> <a class="resource-module__url" href="https://recurly.com/research/churn-rate-benchmarks" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/slQP4EvY6NHP2n3lOEQqG/75c6927897c0b2f04e3c3902524b8db7/img-2022-09-churn-benchmarks-resource-720x502.png" alt="Churn rate benchmarks" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Research</p> <h3 class="resource-module__title">Churn rate benchmarks</h3> </div> </a> </div> <div data-priority="1" class="resource-module education subscription_management webinar" data-topic="education" data-content-type="webinar" data-url="https://info.recurly.com/webinar-recording-choosing-the-right-subscription-billing-platform"> <a class="resource-module__url" href="https://info.recurly.com/webinar-recording-choosing-the-right-subscription-billing-platform" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/1YVPtA3rsDSF9XkZLLxjjv/c1b67706ef464047b02a3b0561beeb3f/img-2020-10-research-resource-tile-webinar-choosing-right-sub-bill-platform-524x366.png" alt="Colored figures design" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">Choosing the Right Platform</h3> </div> </a> </div> <div data-priority="1" class="resource-module digital_media digital_media infographic" data-topic="digital_media" data-content-type="infographic" data-url="https://recurly.com/resources/guide/benchmark-dme/"> <a class="resource-module__url" href="https://recurly.com/resources/guide/benchmark-dme/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/6X6HWWMn8R5Cp0DJquv61R/0a24bd5273fef66c2b18c38a96c64620/img-2022-05-digital_media_entertainment_report-resource-std-720x502.png" alt="Digital Media & Entertainment Benchmark Report" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Infographic</p> <h3 class="resource-module__title">Digital Media & Entertainment benchmarks 2022</h3> </div> </a> </div> <div data-priority="1" class="resource-module digital_media digital_media tool" data-topic="digital_media" data-content-type="tool" data-url="https://recurly.com/resources/tools/high-impact-tactics-dme/"> <a class="resource-module__url" href="https://recurly.com/resources/tools/high-impact-tactics-dme/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/5Ufm7kZe0bOjXRZYZCvYYk/cdaff1ff8c51f98816d2d1999d9ca021/img-2022-06-10-high-impact-tactics-subscription-success-digital-media-entertainment-resource-tile-720x502.png" alt="High Impact Tactics for Subscription Success" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Tool</p> <h3 class="resource-module__title">Digital Media & Entertainment: 10 High Impact Tactics for Subscription Success</h3> </div> </a> </div> <div data-priority="1" class="resource-module digital_media digital_media subscriber_acquisition tool" data-topic="digital_media" data-content-type="tool" data-url="https://recurly.com/resources/tools/media-subscriber-growth-metrics-cheat-sheet/"> <a class="resource-module__url" href="https://recurly.com/resources/tools/media-subscriber-growth-metrics-cheat-sheet/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/6ZquX53qyLPzNukxbNXorI/47d025651883dc5ce9f6a1e7219498b7/img-2022-05-growth-metrics-cheat-sheet-digital-media-resource-tile-720x502__1_.png" alt="Growth metrics cheat sheet" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Tool</p> <h3 class="resource-module__title">Digital Media Growth Metrics Cheat Sheet</h3> </div> </a> </div> <div data-priority="1" class="resource-module digital_media subscription_management digital_media tool" data-topic="digital_media" data-content-type="tool" data-url="https://www.recurly.com/resources/tools/digital-publishers-subscription-metrics-cheat-sheet"> <a class="resource-module__url" href="https://www.recurly.com/resources/tools/digital-publishers-subscription-metrics-cheat-sheet" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/1ih6Sl2IxGUzI4dd53MLmV/d4cbb647c821e8c79e26de3c601eafe4/img-2022-05-growth-metrics-cheat-sheet-digital-publishing-resource-tile-720x502.png" alt="Growth metrics cheat sheet" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Tool</p> <h3 class="resource-module__title">Digital Publishers’ Subscription Metrics Cheat Sheet</h3> </div> </a> </div> <div data-priority="1" class="resource-module digital_media subscription_management webinar" data-topic="digital_media" data-content-type="webinar" data-url="https://recurly.com/resources/webinar/how-leading-publishers-are-growing-subscriptions"> <a class="resource-module__url" href="https://recurly.com/resources/webinar/how-leading-publishers-are-growing-subscriptions" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/64cJNBIOhWl0p2ifRd73IS/e1e4b4d444c4673a7a2fb765777aa9ef/img-2020-08-media-publishing-driving-growth-subscriptions-720x502.png" alt="Driving subscription growth" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">How Publishers are Driving Growth Through Subscriptions</h3> </div> </a> </div> <div data-priority="1" class="resource-module digital_media analytics_and_insights churn subscriber_retention research" data-topic="digital_media" data-content-type="research" data-url="https://recurly.com/research/churn-rate-benchmarks"> <a class="resource-module__url" href="https://recurly.com/research/churn-rate-benchmarks" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/slQP4EvY6NHP2n3lOEQqG/75c6927897c0b2f04e3c3902524b8db7/img-2022-09-churn-benchmarks-resource-720x502.png" alt="Churn rate benchmarks" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Research</p> <h3 class="resource-module__title">Churn rate benchmarks</h3> </div> </a> </div> <div data-priority="1" class="resource-module digital_media subscription_management webinar" data-topic="digital_media" data-content-type="webinar" data-url="https://www.recurly.com/resources/webinar/forever-revenue-stream-on-demand"> <a class="resource-module__url" href="https://www.recurly.com/resources/webinar/forever-revenue-stream-on-demand" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/3KoT4VsqP1mzOC7yf4dYH4/f026942f5da9dd10219dacc7a43e47ce/forever-revenue-stream-on-demand-524x366.png" alt="Recurring revenue stream" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">Expert Tactics for Predictable Subscription Revenue</h3> </div> </a> </div> <div data-priority="1" class="resource-module digital_media subscription_management guide" data-topic="digital_media" data-content-type="guide" data-url="https://recurly.com/resources/guide/gaining-a-competitive-advantage-through-subscription-commerce"> <a class="resource-module__url" href="https://recurly.com/resources/guide/gaining-a-competitive-advantage-through-subscription-commerce" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/1W85BBFvDozQLSwMrVy2Cv/8d2cc8d58f0fa76d6119880ba9f36974/img-2020-10-research-resource-tile-Guide-gaining-competitive-advantage-524x366.png" alt="Gaining a Competitive Advantage Through Subscription Commerce cover" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Guide</p> <h3 class="resource-module__title">Gain a competitive advantage with subscriptions</h3> </div> </a> </div> <div data-priority="1" class="resource-module digital_media subscriber_retention webinar" data-topic="digital_media" data-content-type="webinar" data-url="https://recurly.com/resources/webinar/subscription-strategies-on-demand/"> <a class="resource-module__url" href="https://recurly.com/resources/webinar/subscription-strategies-on-demand/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/4qDeZbuLKcgidyHn9SjK6X/a394d4eead90ae4ae1ff3e6c4c671dee/img-2020-10-research-resource-tile-how-to-subscriber-retention-webinar-524x366.png" alt="Calendar with a specific day checked" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Webinar</p> <h3 class="resource-module__title">How To Retain and Acquire Subscribers in Times of Uncertainty</h3> </div> </a> </div> <div data-priority="1" class="resource-module digital_media subscriber_retention churn guide" data-topic="digital_media" data-content-type="guide" data-url="/resources/guide/minimize-churn-maximize-revenue/"> <a class="resource-module__url" href="/resources/guide/minimize-churn-maximize-revenue/" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/7J4TJuuYM7LRymEaMVMe4I/61182d27d20b985a8c3b84bcf046bb80/img-2022-06-10-high-impact-tactics-subscription-success-resource-tile-720x502.png" alt="Minimize churn, maximize revenue" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Guide</p> <h3 class="resource-module__title">Minimize churn & maximize revenue</h3> </div> </a> </div> <div data-priority="1" class="resource-module digital_media flexible_integrations billing_and_accounting data_sheet" data-topic="digital_media" data-content-type="data_sheet" data-url="https://go.recurly.com/rs/439-LSC-903/images/Recurly-NetSuite-Data-Sheet.pdf"> <a class="resource-module__url" href="https://go.recurly.com/rs/439-LSC-903/images/Recurly-NetSuite-Data-Sheet.pdf" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/1w7prOkKfaF1bmRuUWoc5R/fc603ad8baf20948c7f23fa5e2279ba8/img-2020-10-research-resource-tile-data-sheet-netsuite-524x366.png" alt="NetSuite logo" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Data Sheet</p> <h3 class="resource-module__title">Recurly + NetSuite</h3> </div> </a> </div> <div data-priority="1" class="resource-module digital_media flexible_integrations billing_and_accounting data_sheet" data-topic="digital_media" data-content-type="data_sheet" data-url="https://go.recurly.com/rs/439-LSC-903/images/Recurly-Salesforce-Data-Sheet.pdf"> <a class="resource-module__url" href="https://go.recurly.com/rs/439-LSC-903/images/Recurly-Salesforce-Data-Sheet.pdf" tabindex="0"> <img class="resource-module__img" src="//images.ctfassets.net/wob906kz2qeo/1tUweD3f8rt9Nf1rYP0rj8/44dbbb3023f01e4e49b9e73b0ab593f4/img-2020-10-research-resource-tile-data-sheet-salesforce-524x366.png" alt="Salesforce and Recurly" width="524" height="366" > <div class="resource-module__bottom"> <p class="resource-module__label">Data Sheet</p> <h3 class="resource-module__title">Recurly + Salesforce</h3> </div> </a> </div> </section> <section class="segment segment--results"> <div class="container"> <div class="tags-container"> <p class="showtags">Show all tags</p> </div> <div id="tagplaceholder"></div> <div class="heading-content"> <h2 class="heading">Resources</h2> <p class="view-all--alt">Showing <strong><span class="results__length"></span></strong> of <strong><span class="results__length-total"></span></strong> items</p> </div> <div class="row results-container" id="results-container"></div> <div class="text-center showmore-wrap"> <p class="btn btn-primary showmore-btn">Show More</p> </div> </div> </section> <footer class="footer section-space-top" data-theme="black"> <div class="container container-v2 section-space-bottom"> <nav class="footer__menu-wrap"> <div class="footer__logo"> <a class="link-no-underline" href="/"> <img src="/img2/logo-recurly.svg" alt="Recurly" loading="lazy" /> </a> </div> <ul class="footer__lists list-reset"> <li class="footer__list stack"> <span class="footer__col-label h6 highlight">Product</span> <ul class="footer__links list-reset"> <li><a class="link-no-underline" href="/product/plans-pricing-promotions/" data-event="footernav-clicked" data-ga-click="FooterNav click footernav-plans-pricing-promotions">Plans, pricing & promotions</a></li> <li><a class="link-no-underline" href="/product/subscriber-management/" data-event="footernav-clicked" data-ga-click="FooterNav click footernav-subscriber-management">Subscriber management</a></li> <li><a class="link-no-underline" href="/product/payments-orchestration/" data-event="footernav-clicked" data-ga-click="FooterNav click footernav-payments-orchestration">Payments orchestration</a></li> <li><a class="link-no-underline" href="/product/recurring-billing/" data-event="footernav-clicked" data-ga-click="FooterNav click footernav-recurring-billing">Recurring billing</a></li> <li><a class="link-no-underline" href="/product/churn-management/" data-event="footernav-clicked" data-ga-click="FooterNav click footernav-churn-management">Churn management</a></li> <li><a class="link-no-underline" href="/product/revenue-recognition/" data-event="footernav-clicked" data-ga-click="FooterNav click footernav-revenue-recognition">Revenue recognition</a></li> <li><a class="link-no-underline" href="/product/reporting-analytics/" data-event="footernav-clicked" data-ga-click="FooterNav click footernav-reporting-analytics">Reporting & analytics</a></li> </ul> </li> <li class="footer__list footer__list--shorty stack"> <span class="footer__col-label h6 highlight">Solutions</span> <ul class="footer__links list-reset"> <li><a class="link-no-underline" href="/solutions/" data-event="footernav-clicked" data-ga-click="FooterNav click footernav-solutions">Solutions overview</a></li> </ul> </li> <li class="footer__list footer__list--shorty stack"> <span class="footer__col-label h6 highlight">Explore</span> <ul class="footer__links list-reset"> <li><a class="link-no-underline" href="/plans/" data-event="footernav-clicked" data-ga-click="FooterNav click footernav-plans">Pricing</a></li> <li><a class="link-no-underline" href="/integrations/" data-event="footernav-clicked" data-ga-click="FooterNav click footernav-partners">Partners</a></li> <li><a class="link-no-underline" href="https://app.recurly.com/signup/" data-event="footernav-clicked" data-ga-click="FooterNav click footernav-try-it-free">Try it free</a></li> </ul> </li> <li class="footer__list stack"> <span class="footer__col-label h6 highlight">Resources</span> <ul class="footer__links list-reset"> <li><a class="link-no-underline" href="/customers/" data-event="footernav-clicked" data-ga-click="FooterNav click footernav-customers">Customers</a></li> <li><a class="link-no-underline" href="/resources/" data-event="footernav-clicked" data-ga-click="FooterNav click footernav-resource-center">Resource center</a></li> <li><a class="link-no-underline" href="/research/" data-event="footernav-clicked" data-ga-click="FooterNav click footernav-benchmarks-and-insights">Benchmarks & insights</a></li> <li><a class="link-no-underline" href="/events" data-event="footernav-clicked" data-ga-click="FooterNav click footernav-events">Events</a></li> <li><a class="link-no-underline" href="https://recurly.com/blog/" data-event="footernav-clicked" data-ga-click="FooterNav click footernav-blog">Blog</a></li> <li><a class="link-no-underline" href="https://developers.recurly.com/" data-event="footernav-clicked" data-ga-click="FooterNav click footernav-developer-hub" target="_blank" rel="noreferrer noopener">Developers</a></li> <li><a class="link-no-underline" href="https://docs.recurly.com/" data-event="footernav-clicked" data-ga-click="FooterNav click footernav-documentation" target="_blank">Documentation</a></li> </ul> </li> <li class="footer__list stack"> <span class="footer__col-label h6 highlight">About</span> <ul class="footer__links list-reset"> <li><a class="link-no-underline" href="/company/" data-event="footernav-clicked" data-ga-click="FooterNav click footernav-company">Company</a></li> <li><a class="link-no-underline" href="/company/#leadership" data-event="footernav-clicked" data-ga-click="FooterNav click footernav-leadership">Leadership Team</a></li> <li><a class="link-no-underline" href="/news/" data-event="footernav-clicked" data-ga-click="FooterNav click footernav-newsroom">Newsroom</a></li> <li><a class="link-no-underline" href="/press/" data-event="footernav-clicked" data-ga-click="FooterNav click footernav-press">Press releases</a></li> <li><a class="link-no-underline" href="/careers/" data-event="footernav-clicked" data-ga-click="FooterNav click footernav-careers">Careers</a></li> </ul> </li> <li class="footer__list stack"> <span class="footer__col-label h6 highlight">Support</span> <ul class="footer__links list-reset"> <li><a class="link-no-underline" href="/contact-us/" data-event="footernav-clicked" data-ga-click="FooterNav click footernav-contact-us">Contact us</a></li> <li><a class="link-no-underline" href="https://status.recurly.com/" target="_blank" rel="noreferrer noopener" data-event="footernav-clicked" data-ga-click="FooterNav click footernav-status">Status</a></li> <li><a class="link-no-underline" href="https://app.recurly.com/login" target="_blank" rel="noreferrer noopener" data-event="footernav-clicked" data-ga-click="FooterNav click footernav-log-in">Log in</a></li> </ul> </li> </ul> <ul class="footer__social list-reset"> <li> <a class="footer__social-icon footer__social-icon--twitter" data-action="track" data-event="outgoing-link" data-location="footer v3" data-target="/outgoing/twitter" target="_blank" rel="noreferrer noopener" href="https://x.com/Recurly"> <img src="/img2/home/footer/twitter.svg" data-src="/img2/home/footer/twitter.svg" alt="Recurly X" width="16px" height="14px" class="lazyload"> </a> </li> <li> <a class="footer__social-icon footer__social-icon--linkedin" data-action="track" data-event="outgoing-link" data-location="footer v3" data-target="/outgoing/linkedin" target="_blank" rel="noreferrer noopener" href="https://www.linkedin.com/company/recurly-inc-"> <img src="/img2/home/footer/linkedin.svg" data-src="/img2/home/footer/linkedin.svg" alt="Recurly linkedin" width="16px" height="15px" class="lazyload"> </a> </li> <li> <a class="footer__social-icon footer__social-icon--youtube" data-action="track" data-event="outgoing-link" data-location="footer v3" data-target="/outgoing/youtube" target="_blank" rel="noreferrer noopener" href="https://www.youtube.com/user/RecurringBilling"> <img src="/img2/home/footer/youtube.svg" data-src="/img2/home/footer/youtube.svg" alt="Recurly youtube" width="20px" height="14px" class="lazyload"> </a> </li> </ul> </nav> </div> <div class="footer__bottom"> <div class="container container-v2"> <ul class="footer__list-secondary list-reset"> <li> <a class="body-copy--xs link-no-underline" href="/legal/privacy/" data-event="footernav-clicked" data-ga-click="FooterNav click footernav-privacy-policy">Privacy policy</a> </li> <li> <a class="body-copy--xs link-no-underline" href="/legal/" data-event="footernav-clicked" data-ga-click="FooterNav click footernav-legal">Legal</a> </li> <li> <a class="body-copy--xs link-no-underline" href="/dpa/" data-event="footernav-clicked" data-ga-click="FooterNav click footernav-dpa" target="_blank" >DPA</a> </li> <li> <a class="body-copy--xs link-no-underline" href="/legal/terms/" data-event="footernav-clicked" data-ga-click="FooterNav click footernav-terms-of-service">Terms (Starter plan)</a> </li> <li> <a class="body-copy--xs link-no-underline" href="/legal/privacy/cookiepolicy/" data-event="footernav-clicked" data-ga-click="FooterNav click footernav-cookie-policy">Cookie policy</a> </li> <li> <a class="body-copy--xs link-no-underline" href="/security/" data-event="footernav-clicked" data-ga-click="FooterNav click footernav-security">Security & compliance</a> </li> <li> <a class="body-copy--xs link-no-underline" href="/modern-slavery-act/" target="_blank" data-event="footernav-clicked" data-ga-click="FooterNav click footernav-modern-slavery-act">Modern Slavery Act Statement</a> </li> <li> <a class="body-copy--xs link-no-underline" href="/contact-us/" data-event="footernav-clicked" data-ga-click="FooterNav click footernav-contact-us">Contact us</a> </li> <li> <span class="body-copy--xs">&copy;2025&nbsp;Recurly, Inc.</span> </li> </ul> </div> </div> </footer> </div> </div> <script type="text/javascript"> /*! jQuery v3.6.3 | (c) OpenJS Foundation and other contributors | jquery.org/license */ !function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,y=n.hasOwnProperty,a=y.toString,l=a.call(Object),v={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},S=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||S).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.3",E=function(e,t){return new E.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}E.fn=E.prototype={jquery:f,constructor:E,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=E.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return E.each(this,e)},map:function(n){return this.pushStack(E.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(E.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(E.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},E.extend=E.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(E.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||E.isPlainObject(n)?n:{},i=!1,a[t]=E.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},E.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=y.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?E.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:v}),"function"==typeof Symbol&&(E.fn[Symbol.iterator]=t[Symbol.iterator]),E.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,S,y,s,c,v,E="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),j=function(e,t){return e===t&&(l=!0),0},D={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",$=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,S)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&v(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!y||!y.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ve(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=E)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{if(d.cssSupportsSelector&&!CSS.supports("selector(:is("+c+"))"))throw new Error;return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===E&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[E]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ye(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ve(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,S=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.cssSupportsSelector=ce(function(){return CSS.supports("selector(*)")&&C.querySelectorAll(":is(:jqfake)")&&!CSS.supports("selector(:is(*,:jqfake))")}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=E,!C.getElementsByName||!C.getElementsByName(E).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&S){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&S){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&S)return t.getElementsByClassName(e)},s=[],y=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+E+"'></a><select id='"+E+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+E+"-]").length||y.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||y.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+E+"+*").length||y.push(".#.+[+~]"),e.querySelectorAll("\\\f"),y.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),d.cssSupportsSelector||y.push(":has"),y=y.length&&new RegExp(y.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),v=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType&&e.documentElement||e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&v(p,e)?-1:t==C||t.ownerDocument==p&&v(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&S&&!N[t+" "]&&(!s||!s.test(t))&&(!y||!y.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=C&&T(e),v(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&D.call(b.attrHandle,t.toLowerCase())?n(e,t,!S):void 0;return void 0!==r?r:d.attributes||!S?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(j),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace($," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,y){var v="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===y?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=v!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(v){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[E]||(a[E]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[E]||(a[E]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[E]||(a[E]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=y)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[E]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace(B,"$1"));return s[E]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=S?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ye(function(){return[0]}),last:ye(function(e,t){return[t-1]}),eq:ye(function(e,t,n){return[n<0?n+t:n]}),even:ye(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ye(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ye(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ye(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[E]||(e[E]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,y,v,e){return y&&!y[E]&&(y=Ce(y)),v&&!v[E]&&(v=Ce(v,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?v||(e?d:l||y)?[]:t:f;if(g&&g(f,p,n,r),y){i=Te(p,u),y(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(v||d){if(v){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);v(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=v?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),v?v(null,t,p,r):H.apply(t,p)})}function Se(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[E]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(B,"$1"),t,s<n&&Se(e.slice(s,n)),n<r&&Se(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(B," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,y,v,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Se(t[n]))[E]?i.push(a):o.push(a);(a=A(e,(y=o,m=0<(v=i).length,x=0<y.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!S);while(s=y[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=v[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+v.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&S&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ve(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!S,n,!t||ee.test(e)&&ve(t.parentNode)||t),n},d.sortStable=E.split("").sort(j).join("")===E,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);E.find=d,E.expr=d.selectors,E.expr[":"]=E.expr.pseudos,E.uniqueSort=E.unique=d.uniqueSort,E.text=d.getText,E.isXMLDoc=d.isXML,E.contains=d.contains,E.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&E(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=E.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?E.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?E.grep(e,function(e){return e===n!==r}):"string"!=typeof n?E.grep(e,function(e){return-1<i.call(n,e)!==r}):E.filter(n,e,r)}E.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?E.find.matchesSelector(r,e)?[r]:[]:E.find.matches(e,E.grep(t,function(e){return 1===e.nodeType}))},E.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(E(e).filter(function(){for(t=0;t<r;t++)if(E.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)E.find(e,i[t],n);return 1<r?E.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&k.test(e)?E(e):e||[],!1).length}});var D,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(E.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof E?t[0]:t,E.merge(this,E.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:S,!0)),N.test(r[1])&&E.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=S.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(E):E.makeArray(e,this)}).prototype=E.fn,D=E(S);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}E.fn.extend({has:function(e){var t=E(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(E.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&E(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&E.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?E.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(E(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(E.uniqueSort(E.merge(this.get(),E(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),E.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),E.merge([],e.childNodes))}},function(r,i){E.fn[r]=function(e,t){var n=E.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=E.filter(t,n)),1<this.length&&(H[r]||E.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}E.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},E.each(e.match(P)||[],function(e,t){n[t]=!0}),n):E.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){E.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return E.each(arguments,function(e,t){var n;while(-1<(n=E.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<E.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},E.extend({Deferred:function(e){var o=[["notify","progress",E.Callbacks("memory"),E.Callbacks("memory"),2],["resolve","done",E.Callbacks("once memory"),E.Callbacks("once memory"),0,"resolved"],["reject","fail",E.Callbacks("once memory"),E.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return E.Deferred(function(r){E.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){E.Deferred.exceptionHook&&E.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(E.Deferred.getStackHook&&(t.stackTrace=E.Deferred.getStackHook()),C.setTimeout(t))}}return E.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?E.extend(e,a):a}},s={};return E.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=E.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;E.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},E.readyException=function(e){C.setTimeout(function(){throw e})};var F=E.Deferred();function $(){S.removeEventListener("DOMContentLoaded",$),C.removeEventListener("load",$),E.ready()}E.fn.ready=function(e){return F.then(e)["catch"](function(e){E.readyException(e)}),this},E.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--E.readyWait:E.isReady)||(E.isReady=!0)!==e&&0<--E.readyWait||F.resolveWith(S,[E])}}),E.ready.then=F.then,"complete"===S.readyState||"loading"!==S.readyState&&!S.documentElement.doScroll?C.setTimeout(E.ready):(S.addEventListener("DOMContentLoaded",$),C.addEventListener("load",$));var B=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)B(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(E(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=E.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||E.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!E.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}E.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),E.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){Q.set(this,n)}):B(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),E.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,E.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=E.queue(e,t),r=n.length,i=n.shift(),o=E._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){E.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:E.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),E.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?E.queue(this[0],t):void 0===n?this:this.each(function(){var e=E.queue(this,t,n);E._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&E.dequeue(this,t)})},dequeue:function(e){return this.each(function(){E.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=E.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=S.documentElement,ie=function(e){return E.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return E.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===E.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return E.css(e,t,"")},u=s(),l=n&&n[3]||(E.cssNumber[t]?"":"px"),c=e.nodeType&&(E.cssNumber[t]||"px"!==l&&+u)&&te.exec(E.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)E.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,E.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=E.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ue[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}E.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?E(this).show():E(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=S.createDocumentFragment().appendChild(S.createElement("div")),(fe=S.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),v.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",v.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",v.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?E.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,v.option||(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))E.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+E.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;E.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<E.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ye(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}var be=/^([^.]*)(?:\.(.+)|)/;function we(){return!0}function Te(){return!1}function Ce(e,t){return e===function(){try{return S.activeElement}catch(e){}}()==("focus"===t)}function Se(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Se(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Te;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return E().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=E.guid++)),e.each(function(){E.event.add(this,t,i,r,n)})}function Ee(e,i,o){o?(Y.set(e,i,!1),E.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(E.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n&&n.value}else r.length&&(Y.set(this,i,{value:E.event.trigger(E.extend(r[0],E.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&E.event.add(e,i,we)}E.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&E.find.matchesSelector(re,i),n.guid||(n.guid=E.guid++),(u=y.events)||(u=y.events=Object.create(null)),(a=y.handle)||(a=y.handle=function(e){return"undefined"!=typeof E&&E.event.triggered!==e.type?E.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(P)||[""]).length;while(l--)d=g=(s=be.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=E.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=E.event.special[d]||{},c=E.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&E.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),E.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=Y.hasData(e)&&Y.get(e);if(y&&(u=y.events)){l=(t=(t||"").match(P)||[""]).length;while(l--)if(d=g=(s=be.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=E.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,y.handle)||E.removeEvent(e,d,y.handle),delete u[d])}else for(d in u)E.event.remove(e,d+t[l],n,r,!0);E.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=E.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=E.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=E.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((E.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<E(i,this).index(l):E.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(E.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[E.expando]?e:new E.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ee(t,"click",we),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ee(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},E.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},E.Event=function(e,t){if(!(this instanceof E.Event))return new E.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?we:Te,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&E.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[E.expando]=!0},E.Event.prototype={constructor:E.Event,isDefaultPrevented:Te,isPropagationStopped:Te,isImmediatePropagationStopped:Te,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=we,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=we,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=we,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},E.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},E.event.addProp),E.each({focus:"focusin",blur:"focusout"},function(t,e){E.event.special[t]={setup:function(){return Ee(this,t,Ce),!1},trigger:function(){return Ee(this,t),!0},_default:function(e){return Y.get(e.target,t)},delegateType:e}}),E.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){E.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||E.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),E.fn.extend({on:function(e,t,n,r){return Se(this,e,t,n,r)},one:function(e,t,n,r){return Se(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,E(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Te),this.each(function(){E.event.remove(this,e,n,t)})}});var ke=/<script|<style|<link/i,Ae=/checked\s*(?:[^=]|=\s*.checked.)/i,Ne=/^\s*<!\[CDATA\[|\]\]>\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&E(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)E.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=E.extend({},o),Q.set(t,a))}}function He(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!v.checkClone&&Ae.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),He(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=E.map(ye(e,"script"),De)).length;c<f;c++)u=e,c!==p&&(u=E.clone(u,!0,!0),s&&E.merge(a,ye(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,E.map(a,qe),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Y.access(u,"globalEval")&&E.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?E._evalUrl&&!u.noModule&&E._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(Ne,""),u,l))}return n}function Oe(e,t,n){for(var r,i=t?E.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||E.cleanData(ye(r)),r.parentNode&&(n&&ie(r)&&ve(ye(r,"script")),r.parentNode.removeChild(r));return e}E.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(v.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||E.isXMLDoc(e)))for(a=ye(c),r=0,i=(o=ye(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ye(e),a=a||ye(c),r=0,i=o.length;r<i;r++)Le(o[r],a[r]);else Le(e,c);return 0<(a=ye(c,"script")).length&&ve(a,!f&&ye(e,"script")),c},cleanData:function(e){for(var t,n,r,i=E.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?E.event.remove(n,r):E.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),E.fn.extend({detach:function(e){return Oe(this,e,!0)},remove:function(e){return Oe(this,e)},text:function(e){return B(this,function(e){return void 0===e?E.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return He(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||je(this,e).appendChild(e)})},prepend:function(){return He(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=je(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(E.cleanData(ye(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return E.clone(this,e,t)})},html:function(e){return B(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!ke.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=E.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(E.cleanData(ye(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return He(this,arguments,function(e){var t=this.parentNode;E.inArray(this,n)<0&&(E.cleanData(ye(this)),t&&t.replaceChild(e,this))},n)}}),E.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){E.fn[e]=function(e){for(var t,n=[],r=E(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),E(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Pe=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Re=/^--/,Me=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Ie=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},We=new RegExp(ne.join("|"),"i"),Fe="[\\x20\\t\\r\\n\\f]",$e=new RegExp("^"+Fe+"+|((?:^|[^\\\\])(?:\\\\.)*)"+Fe+"+$","g");function Be(e,t,n){var r,i,o,a,s=Re.test(t),u=e.style;return(n=n||Me(e))&&(a=n.getPropertyValue(t)||n[t],s&&a&&(a=a.replace($e,"$1")||void 0),""!==a||ie(e)||(a=E.style(e,t)),!v.pixelBoxStyles()&&Pe.test(a)&&We.test(t)&&(r=u.width,i=u.minWidth,o=u.maxWidth,u.minWidth=u.maxWidth=u.width=a,a=n.width,u.width=r,u.minWidth=i,u.maxWidth=o)),void 0!==a?a+"":a}function _e(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=S.createElement("div"),l=S.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",v.clearCloneStyle="content-box"===l.style.backgroundClip,E.extend(v,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=S.createElement("table"),t=S.createElement("tr"),n=S.createElement("div"),e.style.cssText="position:absolute;left:-11111px;border-collapse:separate",t.style.cssText="border:1px solid",t.style.height="1px",n.style.height="9px",n.style.display="block",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=parseInt(r.height,10)+parseInt(r.borderTopWidth,10)+parseInt(r.borderBottomWidth,10)===t.offsetHeight,re.removeChild(e)),a}}))}();var ze=["Webkit","Moz","ms"],Ue=S.createElement("div").style,Xe={};function Ve(e){var t=E.cssProps[e]||Xe[e];return t||(e in Ue?e:Xe[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=ze.length;while(n--)if((e=ze[n]+t)in Ue)return e}(e)||e)}var Ge=/^(none|table(?!-c[ea]).+)/,Ye={position:"absolute",visibility:"hidden",display:"block"},Qe={letterSpacing:"0",fontWeight:"400"};function Je(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ke(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=E.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=E.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=E.css(e,"border"+ne[a]+"Width",!0,i))):(u+=E.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=E.css(e,"border"+ne[a]+"Width",!0,i):s+=E.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Ze(e,t,n){var r=Me(e),i=(!v.boxSizingReliable()||n)&&"border-box"===E.css(e,"boxSizing",!1,r),o=i,a=Be(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Pe.test(a)){if(!n)return a;a="auto"}return(!v.boxSizingReliable()&&i||!v.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===E.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===E.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Ke(e,t,n||(i?"border":"content"),o,r,a)+"px"}function et(e,t,n,r,i){return new et.prototype.init(e,t,n,r,i)}E.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Be(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Re.test(t),l=e.style;if(u||(t=Ve(s)),a=E.cssHooks[t]||E.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(E.cssNumber[s]?"":"px")),v.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Re.test(t)||(t=Ve(s)),(a=E.cssHooks[t]||E.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Be(e,t,r)),"normal"===i&&t in Qe&&(i=Qe[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),E.each(["height","width"],function(e,u){E.cssHooks[u]={get:function(e,t,n){if(t)return!Ge.test(E.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Ze(e,u,n):Ie(e,Ye,function(){return Ze(e,u,n)})},set:function(e,t,n){var r,i=Me(e),o=!v.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===E.css(e,"boxSizing",!1,i),s=n?Ke(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Ke(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=E.css(e,u)),Je(0,t,s)}}}),E.cssHooks.marginLeft=_e(v.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Be(e,"marginLeft"))||e.getBoundingClientRect().left-Ie(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),E.each({margin:"",padding:"",border:"Width"},function(i,o){E.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(E.cssHooks[i+o].set=Je)}),E.fn.extend({css:function(e,t){return B(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Me(e),i=t.length;a<i;a++)o[t[a]]=E.css(e,t[a],!1,r);return o}return void 0!==n?E.style(e,t,n):E.css(e,t)},e,t,1<arguments.length)}}),((E.Tween=et).prototype={constructor:et,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||E.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(E.cssNumber[n]?"":"px")},cur:function(){var e=et.propHooks[this.prop];return e&&e.get?e.get(this):et.propHooks._default.get(this)},run:function(e){var t,n=et.propHooks[this.prop];return this.options.duration?this.pos=t=E.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):et.propHooks._default.set(this),this}}).init.prototype=et.prototype,(et.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=E.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){E.fx.step[e.prop]?E.fx.step[e.prop](e):1!==e.elem.nodeType||!E.cssHooks[e.prop]&&null==e.elem.style[Ve(e.prop)]?e.elem[e.prop]=e.now:E.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=et.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},E.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},E.fx=et.prototype.init,E.fx.step={};var tt,nt,rt,it,ot=/^(?:toggle|show|hide)$/,at=/queueHooks$/;function st(){nt&&(!1===S.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(st):C.setTimeout(st,E.fx.interval),E.fx.tick())}function ut(){return C.setTimeout(function(){tt=void 0}),tt=Date.now()}function lt(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ct(e,t,n){for(var r,i=(ft.tweeners[t]||[]).concat(ft.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function ft(o,e,t){var n,a,r=0,i=ft.prefilters.length,s=E.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=tt||ut(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:E.extend({},e),opts:E.extend(!0,{specialEasing:{},easing:E.easing._default},t),originalProperties:e,originalOptions:t,startTime:tt||ut(),duration:t.duration,tweens:[],createTween:function(e,t){var n=E.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=E.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=ft.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(E._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return E.map(c,ct,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),E.fx.timer(E.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}E.Animation=E.extend(ft,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],ft.tweeners[n]=ft.tweeners[n]||[],ft.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),y=Y.get(e,"fxshow");for(r in n.queue||(null==(a=E._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,E.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],ot.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!y||void 0===y[r])continue;g=!0}d[r]=y&&y[r]||E.style(e,r)}if((u=!E.isEmptyObject(t))||!E.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=y&&y.display)&&(l=Y.get(e,"display")),"none"===(c=E.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=E.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===E.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(y?"hidden"in y&&(g=y.hidden):y=Y.access(e,"fxshow",{display:l}),o&&(y.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,"fxshow"),d)E.style(e,r,d[r])})),u=ct(g?y[r]:0,r,p),r in y||(y[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?ft.prefilters.unshift(e):ft.prefilters.push(e)}}),E.speed=function(e,t,n){var r=e&&"object"==typeof e?E.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return E.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in E.fx.speeds?r.duration=E.fx.speeds[r.duration]:r.duration=E.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&E.dequeue(this,r.queue)},r},E.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=E.isEmptyObject(t),o=E.speed(e,n,r),a=function(){var e=ft(this,E.extend({},t),o);(i||Y.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=E.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&at.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||E.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Y.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=E.timers,o=n?n.length:0;for(t.finish=!0,E.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),E.each(["toggle","show","hide"],function(e,r){var i=E.fn[r];E.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(lt(r,!0),e,t,n)}}),E.each({slideDown:lt("show"),slideUp:lt("hide"),slideToggle:lt("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){E.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),E.timers=[],E.fx.tick=function(){var e,t=0,n=E.timers;for(tt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||E.fx.stop(),tt=void 0},E.fx.timer=function(e){E.timers.push(e),E.fx.start()},E.fx.interval=13,E.fx.start=function(){nt||(nt=!0,st())},E.fx.stop=function(){nt=null},E.fx.speeds={slow:600,fast:200,_default:400},E.fn.delay=function(r,e){return r=E.fx&&E.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},rt=S.createElement("input"),it=S.createElement("select").appendChild(S.createElement("option")),rt.type="checkbox",v.checkOn=""!==rt.value,v.optSelected=it.selected,(rt=S.createElement("input")).value="t",rt.type="radio",v.radioValue="t"===rt.value;var pt,dt=E.expr.attrHandle;E.fn.extend({attr:function(e,t){return B(this,E.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){E.removeAttr(this,e)})}}),E.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?E.prop(e,t,n):(1===o&&E.isXMLDoc(e)||(i=E.attrHooks[t.toLowerCase()]||(E.expr.match.bool.test(t)?pt:void 0)),void 0!==n?null===n?void E.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=E.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!v.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),pt={set:function(e,t,n){return!1===t?E.removeAttr(e,n):e.setAttribute(n,n),n}},E.each(E.expr.match.bool.source.match(/\w+/g),function(e,t){var a=dt[t]||E.find.attr;dt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=dt[o],dt[o]=r,r=null!=a(e,t,n)?o:null,dt[o]=i),r}});var ht=/^(?:input|select|textarea|button)$/i,gt=/^(?:a|area)$/i;function yt(e){return(e.match(P)||[]).join(" ")}function vt(e){return e.getAttribute&&e.getAttribute("class")||""}function mt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}E.fn.extend({prop:function(e,t){return B(this,E.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[E.propFix[e]||e]})}}),E.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&E.isXMLDoc(e)||(t=E.propFix[t]||t,i=E.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=E.find.attr(e,"tabindex");return t?parseInt(t,10):ht.test(e.nodeName)||gt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),v.optSelected||(E.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),E.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){E.propFix[this.toLowerCase()]=this}),E.fn.extend({addClass:function(t){var e,n,r,i,o,a;return m(t)?this.each(function(e){E(this).addClass(t.call(this,e,vt(this)))}):(e=mt(t)).length?this.each(function(){if(r=vt(this),n=1===this.nodeType&&" "+yt(r)+" "){for(o=0;o<e.length;o++)i=e[o],n.indexOf(" "+i+" ")<0&&(n+=i+" ");a=yt(n),r!==a&&this.setAttribute("class",a)}}):this},removeClass:function(t){var e,n,r,i,o,a;return m(t)?this.each(function(e){E(this).removeClass(t.call(this,e,vt(this)))}):arguments.length?(e=mt(t)).length?this.each(function(){if(r=vt(this),n=1===this.nodeType&&" "+yt(r)+" "){for(o=0;o<e.length;o++){i=e[o];while(-1<n.indexOf(" "+i+" "))n=n.replace(" "+i+" "," ")}a=yt(n),r!==a&&this.setAttribute("class",a)}}):this:this.attr("class","")},toggleClass:function(t,n){var e,r,i,o,a=typeof t,s="string"===a||Array.isArray(t);return m(t)?this.each(function(e){E(this).toggleClass(t.call(this,e,vt(this),n),n)}):"boolean"==typeof n&&s?n?this.addClass(t):this.removeClass(t):(e=mt(t),this.each(function(){if(s)for(o=E(this),i=0;i<e.length;i++)r=e[i],o.hasClass(r)?o.removeClass(r):o.addClass(r);else void 0!==t&&"boolean"!==a||((r=vt(this))&&Y.set(this,"__className__",r),this.setAttribute&&this.setAttribute("class",r||!1===t?"":Y.get(this,"__className__")||""))}))},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+yt(vt(n))+" ").indexOf(t))return!0;return!1}});var xt=/\r/g;E.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,E(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=E.map(t,function(e){return null==e?"":e+""})),(r=E.valHooks[this.type]||E.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=E.valHooks[t.type]||E.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(xt,""):null==e?"":e:void 0}}),E.extend({valHooks:{option:{get:function(e){var t=E.find.attr(e,"value");return null!=t?t:yt(E.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=E(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=E.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<E.inArray(E.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),E.each(["radio","checkbox"],function(){E.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<E.inArray(E(e).val(),t)}},v.checkOn||(E.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),v.focusin="onfocusin"in C;var bt=/^(?:focusinfocus|focusoutblur)$/,wt=function(e){e.stopPropagation()};E.extend(E.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||S],d=y.call(e,"type")?e.type:e,h=y.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||S,3!==n.nodeType&&8!==n.nodeType&&!bt.test(d+E.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[E.expando]?e:new E.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:E.makeArray(t,[e]),c=E.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,bt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||S)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),E.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,wt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,wt),E.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=E.extend(new E.Event,n,{type:e,isSimulated:!0});E.event.trigger(r,null,t)}}),E.fn.extend({trigger:function(e,t){return this.each(function(){E.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return E.event.trigger(e,t,n,!0)}}),v.focusin||E.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){E.event.simulate(r,e.target,E.event.fix(e))};E.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var Tt=C.location,Ct={guid:Date.now()},St=/\?/;E.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){}return n=t&&t.getElementsByTagName("parsererror")[0],t&&!n||E.error("Invalid XML: "+(n?E.map(n.childNodes,function(e){return e.textContent}).join("\n"):e)),t};var Et=/\[\]$/,kt=/\r?\n/g,At=/^(?:submit|button|image|reset|file)$/i,Nt=/^(?:input|select|textarea|keygen)/i;function jt(n,e,r,i){var t;if(Array.isArray(e))E.each(e,function(e,t){r||Et.test(n)?i(n,t):jt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)jt(n+"["+t+"]",e[t],r,i)}E.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!E.isPlainObject(e))E.each(e,function(){i(this.name,this.value)});else for(n in e)jt(n,e[n],t,i);return r.join("&")},E.fn.extend({serialize:function(){return E.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=E.prop(this,"elements");return e?E.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!E(this).is(":disabled")&&Nt.test(this.nodeName)&&!At.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=E(this).val();return null==n?null:Array.isArray(n)?E.map(n,function(e){return{name:t.name,value:e.replace(kt,"\r\n")}}):{name:t.name,value:n.replace(kt,"\r\n")}}).get()}});var Dt=/%20/g,qt=/#.*$/,Lt=/([?&])_=[^&]*/,Ht=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ot=/^(?:GET|HEAD)$/,Pt=/^\/\//,Rt={},Mt={},It="*/".concat("*"),Wt=S.createElement("a");function Ft(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function $t(t,i,o,a){var s={},u=t===Mt;function l(e){var r;return s[e]=!0,E.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function Bt(e,t){var n,r,i=E.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&E.extend(!0,e,r),e}Wt.href=Tt.href,E.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Tt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Tt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":It,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":E.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Bt(Bt(e,E.ajaxSettings),t):Bt(E.ajaxSettings,e)},ajaxPrefilter:Ft(Rt),ajaxTransport:Ft(Mt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,y=E.ajaxSetup({},t),v=y.context||y,m=y.context&&(v.nodeType||v.jquery)?E(v):E.event,x=E.Deferred(),b=E.Callbacks("once memory"),w=y.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Ht.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(y.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),y.url=((e||y.url||Tt.href)+"").replace(Pt,Tt.protocol+"//"),y.type=t.method||t.type||y.method||y.type,y.dataTypes=(y.dataType||"*").toLowerCase().match(P)||[""],null==y.crossDomain){r=S.createElement("a");try{r.href=y.url,r.href=r.href,y.crossDomain=Wt.protocol+"//"+Wt.host!=r.protocol+"//"+r.host}catch(e){y.crossDomain=!0}}if(y.data&&y.processData&&"string"!=typeof y.data&&(y.data=E.param(y.data,y.traditional)),$t(Rt,y,t,T),h)return T;for(i in(g=E.event&&y.global)&&0==E.active++&&E.event.trigger("ajaxStart"),y.type=y.type.toUpperCase(),y.hasContent=!Ot.test(y.type),f=y.url.replace(qt,""),y.hasContent?y.data&&y.processData&&0===(y.contentType||"").indexOf("application/x-www-form-urlencoded")&&(y.data=y.data.replace(Dt,"+")):(o=y.url.slice(f.length),y.data&&(y.processData||"string"==typeof y.data)&&(f+=(St.test(f)?"&":"?")+y.data,delete y.data),!1===y.cache&&(f=f.replace(Lt,"$1"),o=(St.test(f)?"&":"?")+"_="+Ct.guid+++o),y.url=f+o),y.ifModified&&(E.lastModified[f]&&T.setRequestHeader("If-Modified-Since",E.lastModified[f]),E.etag[f]&&T.setRequestHeader("If-None-Match",E.etag[f])),(y.data&&y.hasContent&&!1!==y.contentType||t.contentType)&&T.setRequestHeader("Content-Type",y.contentType),T.setRequestHeader("Accept",y.dataTypes[0]&&y.accepts[y.dataTypes[0]]?y.accepts[y.dataTypes[0]]+("*"!==y.dataTypes[0]?", "+It+"; q=0.01":""):y.accepts["*"]),y.headers)T.setRequestHeader(i,y.headers[i]);if(y.beforeSend&&(!1===y.beforeSend.call(v,T,y)||h))return T.abort();if(u="abort",b.add(y.complete),T.done(y.success),T.fail(y.error),c=$t(Mt,y,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,y]),h)return T;y.async&&0<y.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},y.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(y,T,n)),!i&&-1<E.inArray("script",y.dataTypes)&&E.inArray("json",y.dataTypes)<0&&(y.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(y,s,T,i),i?(y.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(E.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(E.etag[f]=u)),204===e||"HEAD"===y.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(v,[o,l,T]):x.rejectWith(v,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,y,i?o:a]),b.fireWith(v,[T,l]),g&&(m.trigger("ajaxComplete",[T,y]),--E.active||E.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return E.get(e,t,n,"json")},getScript:function(e,t){return E.get(e,void 0,t,"script")}}),E.each(["get","post"],function(e,i){E[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),E.ajax(E.extend({url:e,type:i,dataType:r,data:t,success:n},E.isPlainObject(e)&&e))}}),E.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),E._evalUrl=function(e,t,n){return E.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){E.globalEval(e,t,n)}})},E.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=E(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){E(this).wrapInner(n.call(this,e))}):this.each(function(){var e=E(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){E(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){E(this).replaceWith(this.childNodes)}),this}}),E.expr.pseudos.hidden=function(e){return!E.expr.pseudos.visible(e)},E.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},E.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var _t={0:200,1223:204},zt=E.ajaxSettings.xhr();v.cors=!!zt&&"withCredentials"in zt,v.ajax=zt=!!zt,E.ajaxTransport(function(i){var o,a;if(v.cors||zt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(_t[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),E.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),E.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return E.globalEval(e),e}}}),E.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),E.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=E("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),S.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;E.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||E.expando+"_"+Ct.guid++;return this[e]=!0,e}}),E.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||E.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?E(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),v.createHTMLDocument=((Ut=S.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Ut.childNodes.length),E.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(v.createHTMLDocument?((r=(t=S.implementation.createHTMLDocument("")).createElement("base")).href=S.location.href,t.head.appendChild(r)):t=S),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&E(o).remove(),E.merge([],i.childNodes)));var r,i,o},E.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=yt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&E.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?E("<div>").append(E.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},E.expr.pseudos.animated=function(t){return E.grep(E.timers,function(e){return t===e.elem}).length},E.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=E.css(e,"position"),c=E(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=E.css(e,"top"),u=E.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,E.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},E.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){E.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===E.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===E.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=E(e).offset()).top+=E.css(e,"borderTopWidth",!0),i.left+=E.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-E.css(r,"marginTop",!0),left:t.left-i.left-E.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===E.css(e,"position"))e=e.offsetParent;return e||re})}}),E.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;E.fn[t]=function(e){return B(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),E.each(["top","left"],function(e,n){E.cssHooks[n]=_e(v.pixelPosition,function(e,t){if(t)return t=Be(e,n),Pe.test(t)?E(e).position()[n]+"px":t})}),E.each({Height:"height",Width:"width"},function(a,s){E.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){E.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return B(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?E.css(e,t,i):E.style(e,t,n,i)},s,n?e:void 0,n)}})}),E.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){E.fn[t]=function(e){return this.on(t,e)}}),E.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),E.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){E.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Gt=/^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g;E.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||E.guid++,i},E.holdReady=function(e){e?E.readyWait++:E.ready(!0)},E.isArray=Array.isArray,E.parseJSON=JSON.parse,E.nodeName=A,E.isFunction=m,E.isWindow=x,E.camelCase=X,E.type=w,E.now=Date.now,E.isNumeric=function(e){var t=E.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},E.trim=function(e){return null==e?"":(e+"").replace(Gt,"$1")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return E});var Yt=C.jQuery,Qt=C.$;return E.noConflict=function(e){return C.$===E&&(C.$=Qt),e&&C.jQuery===E&&(C.jQuery=Yt),E},"undefined"==typeof e&&(C.jQuery=C.$=E),E}); </script> <script type="text/javascript">/*! Waypoints - 4.0.1 Copyright © 2011-2016 Caleb Troughton Licensed under the MIT license. https://github.com/imakewebthings/waypoints/blob/master/licenses.txt */ !function(){"use strict";function t(o){if(!o)throw new Error("No options passed to Waypoint constructor");if(!o.element)throw new Error("No element option passed to Waypoint constructor");if(!o.handler)throw new Error("No handler option passed to Waypoint constructor");this.key="waypoint-"+e,this.options=t.Adapter.extend({},t.defaults,o),this.element=this.options.element,this.adapter=new t.Adapter(this.element),this.callback=o.handler,this.axis=this.options.horizontal?"horizontal":"vertical",this.enabled=this.options.enabled,this.triggerPoint=null,this.group=t.Group.findOrCreate({name:this.options.group,axis:this.axis}),this.context=t.Context.findOrCreateByElement(this.options.context),t.offsetAliases[this.options.offset]&&(this.options.offset=t.offsetAliases[this.options.offset]),this.group.add(this),this.context.add(this),i[this.key]=this,e+=1}var e=0,i={};t.prototype.queueTrigger=function(t){this.group.queueTrigger(this,t)},t.prototype.trigger=function(t){this.enabled&&this.callback&&this.callback.apply(this,t)},t.prototype.destroy=function(){this.context.remove(this),this.group.remove(this),delete i[this.key]},t.prototype.disable=function(){return this.enabled=!1,this},t.prototype.enable=function(){return this.context.refresh(),this.enabled=!0,this},t.prototype.next=function(){return this.group.next(this)},t.prototype.previous=function(){return this.group.previous(this)},t.invokeAll=function(t){var e=[];for(var o in i)e.push(i[o]);for(var n=0,r=e.length;r>n;n++)e[n][t]()},t.destroyAll=function(){t.invokeAll("destroy")},t.disableAll=function(){t.invokeAll("disable")},t.enableAll=function(){t.Context.refreshAll();for(var e in i)i[e].enabled=!0;return this},t.refreshAll=function(){t.Context.refreshAll()},t.viewportHeight=function(){return window.innerHeight||document.documentElement.clientHeight},t.viewportWidth=function(){return document.documentElement.clientWidth},t.adapters=[],t.defaults={context:window,continuous:!0,enabled:!0,group:"default",horizontal:!1,offset:0},t.offsetAliases={"bottom-in-view":function(){return this.context.innerHeight()-this.adapter.outerHeight()},"right-in-view":function(){return this.context.innerWidth()-this.adapter.outerWidth()}},window.Waypoint=t}(),function(){"use strict";function t(t){window.setTimeout(t,1e3/60)}function e(t){this.element=t,this.Adapter=n.Adapter,this.adapter=new this.Adapter(t),this.key="waypoint-context-"+i,this.didScroll=!1,this.didResize=!1,this.oldScroll={x:this.adapter.scrollLeft(),y:this.adapter.scrollTop()},this.waypoints={vertical:{},horizontal:{}},t.waypointContextKey=this.key,o[t.waypointContextKey]=this,i+=1,n.windowContext||(n.windowContext=!0,n.windowContext=new e(window)),this.createThrottledScrollHandler(),this.createThrottledResizeHandler()}var i=0,o={},n=window.Waypoint,r=window.onload;e.prototype.add=function(t){var e=t.options.horizontal?"horizontal":"vertical";this.waypoints[e][t.key]=t,this.refresh()},e.prototype.checkEmpty=function(){var t=this.Adapter.isEmptyObject(this.waypoints.horizontal),e=this.Adapter.isEmptyObject(this.waypoints.vertical),i=this.element==this.element.window;t&&e&&!i&&(this.adapter.off(".waypoints"),delete o[this.key])},e.prototype.createThrottledResizeHandler=function(){function t(){e.handleResize(),e.didResize=!1}var e=this;this.adapter.on("resize.waypoints",function(){e.didResize||(e.didResize=!0,n.requestAnimationFrame(t))})},e.prototype.createThrottledScrollHandler=function(){function t(){e.handleScroll(),e.didScroll=!1}var e=this;this.adapter.on("scroll.waypoints",function(){(!e.didScroll||n.isTouch)&&(e.didScroll=!0,n.requestAnimationFrame(t))})},e.prototype.handleResize=function(){n.Context.refreshAll()},e.prototype.handleScroll=function(){var t={},e={horizontal:{newScroll:this.adapter.scrollLeft(),oldScroll:this.oldScroll.x,forward:"right",backward:"left"},vertical:{newScroll:this.adapter.scrollTop(),oldScroll:this.oldScroll.y,forward:"down",backward:"up"}};for(var i in e){var o=e[i],n=o.newScroll>o.oldScroll,r=n?o.forward:o.backward;for(var s in this.waypoints[i]){var a=this.waypoints[i][s];if(null!==a.triggerPoint){var l=o.oldScroll<a.triggerPoint,h=o.newScroll>=a.triggerPoint,p=l&&h,u=!l&&!h;(p||u)&&(a.queueTrigger(r),t[a.group.id]=a.group)}}}for(var c in t)t[c].flushTriggers();this.oldScroll={x:e.horizontal.newScroll,y:e.vertical.newScroll}},e.prototype.innerHeight=function(){return this.element==this.element.window?n.viewportHeight():this.adapter.innerHeight()},e.prototype.remove=function(t){delete this.waypoints[t.axis][t.key],this.checkEmpty()},e.prototype.innerWidth=function(){return this.element==this.element.window?n.viewportWidth():this.adapter.innerWidth()},e.prototype.destroy=function(){var t=[];for(var e in this.waypoints)for(var i in this.waypoints[e])t.push(this.waypoints[e][i]);for(var o=0,n=t.length;n>o;o++)t[o].destroy()},e.prototype.refresh=function(){var t,e=this.element==this.element.window,i=e?void 0:this.adapter.offset(),o={};this.handleScroll(),t={horizontal:{contextOffset:e?0:i.left,contextScroll:e?0:this.oldScroll.x,contextDimension:this.innerWidth(),oldScroll:this.oldScroll.x,forward:"right",backward:"left",offsetProp:"left"},vertical:{contextOffset:e?0:i.top,contextScroll:e?0:this.oldScroll.y,contextDimension:this.innerHeight(),oldScroll:this.oldScroll.y,forward:"down",backward:"up",offsetProp:"top"}};for(var r in t){var s=t[r];for(var a in this.waypoints[r]){var l,h,p,u,c,d=this.waypoints[r][a],f=d.options.offset,w=d.triggerPoint,y=0,g=null==w;d.element!==d.element.window&&(y=d.adapter.offset()[s.offsetProp]),"function"==typeof f?f=f.apply(d):"string"==typeof f&&(f=parseFloat(f),d.options.offset.indexOf("%")>-1&&(f=Math.ceil(s.contextDimension*f/100))),l=s.contextScroll-s.contextOffset,d.triggerPoint=Math.floor(y+l-f),h=w<s.oldScroll,p=d.triggerPoint>=s.oldScroll,u=h&&p,c=!h&&!p,!g&&u?(d.queueTrigger(s.backward),o[d.group.id]=d.group):!g&&c?(d.queueTrigger(s.forward),o[d.group.id]=d.group):g&&s.oldScroll>=d.triggerPoint&&(d.queueTrigger(s.forward),o[d.group.id]=d.group)}}return n.requestAnimationFrame(function(){for(var t in o)o[t].flushTriggers()}),this},e.findOrCreateByElement=function(t){return e.findByElement(t)||new e(t)},e.refreshAll=function(){for(var t in o)o[t].refresh()},e.findByElement=function(t){return o[t.waypointContextKey]},window.onload=function(){r&&r(),e.refreshAll()},n.requestAnimationFrame=function(e){var i=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||t;i.call(window,e)},n.Context=e}(),function(){"use strict";function t(t,e){return t.triggerPoint-e.triggerPoint}function e(t,e){return e.triggerPoint-t.triggerPoint}function i(t){this.name=t.name,this.axis=t.axis,this.id=this.name+"-"+this.axis,this.waypoints=[],this.clearTriggerQueues(),o[this.axis][this.name]=this}var o={vertical:{},horizontal:{}},n=window.Waypoint;i.prototype.add=function(t){this.waypoints.push(t)},i.prototype.clearTriggerQueues=function(){this.triggerQueues={up:[],down:[],left:[],right:[]}},i.prototype.flushTriggers=function(){for(var i in this.triggerQueues){var o=this.triggerQueues[i],n="up"===i||"left"===i;o.sort(n?e:t);for(var r=0,s=o.length;s>r;r+=1){var a=o[r];(a.options.continuous||r===o.length-1)&&a.trigger([i])}}this.clearTriggerQueues()},i.prototype.next=function(e){this.waypoints.sort(t);var i=n.Adapter.inArray(e,this.waypoints),o=i===this.waypoints.length-1;return o?null:this.waypoints[i+1]},i.prototype.previous=function(e){this.waypoints.sort(t);var i=n.Adapter.inArray(e,this.waypoints);return i?this.waypoints[i-1]:null},i.prototype.queueTrigger=function(t,e){this.triggerQueues[e].push(t)},i.prototype.remove=function(t){var e=n.Adapter.inArray(t,this.waypoints);e>-1&&this.waypoints.splice(e,1)},i.prototype.first=function(){return this.waypoints[0]},i.prototype.last=function(){return this.waypoints[this.waypoints.length-1]},i.findOrCreate=function(t){return o[t.axis][t.name]||new i(t)},n.Group=i}(),function(){"use strict";function t(t){this.$element=e(t)}var e=window.jQuery,i=window.Waypoint;e.each(["innerHeight","innerWidth","off","offset","on","outerHeight","outerWidth","scrollLeft","scrollTop"],function(e,i){t.prototype[i]=function(){var t=Array.prototype.slice.call(arguments);return this.$element[i].apply(this.$element,t)}}),e.each(["extend","inArray","isEmptyObject"],function(i,o){t[o]=e[o]}),i.adapters.push({name:"jquery",Adapter:t}),i.Adapter=t}(),function(){"use strict";function t(t){return function(){var i=[],o=arguments[0];return t.isFunction(arguments[0])&&(o=t.extend({},arguments[1]),o.handler=arguments[0]),this.each(function(){var n=t.extend({},o,{element:this});"string"==typeof n.context&&(n.context=t(this).closest(n.context)[0]),i.push(new e(n))}),i}}var e=window.Waypoint;window.jQuery&&(window.jQuery.fn.waypoint=t(window.jQuery)),window.Zepto&&(window.Zepto.fn.waypoint=t(window.Zepto))}(); </script> <script type="text/javascript">(function(window, factory) { var lazySizes = factory(window, window.document, Date); window.lazySizes = lazySizes; if(typeof module == 'object' && module.exports){ module.exports = lazySizes; } }(typeof window != 'undefined' ? window : {}, /** * @typedef { import("./types/global").LazySizesConfigPartial } LazySizesConfigPartial */ function l(window, document, Date) { // Pass in the window Date function also for SSR because the Date class can be lost 'use strict'; /*jshint eqnull:true */ var lazysizes, /** * @type { LazySizesConfigPartial } */ lazySizesCfg; (function(){ var prop; var lazySizesDefaults = { lazyClass: 'lazyload', loadedClass: 'lazyloaded', loadingClass: 'lazyloading', preloadClass: 'lazypreload', errorClass: 'lazyerror', //strictClass: 'lazystrict', autosizesClass: 'lazyautosizes', fastLoadedClass: 'ls-is-cached', iframeLoadMode: 0, srcAttr: 'data-src', srcsetAttr: 'data-srcset', sizesAttr: 'data-sizes', //preloadAfterLoad: false, minSize: 40, customMedia: {}, init: true, expFactor: 1.5, hFac: 0.8, loadMode: 2, loadHidden: true, ricTimeout: 0, throttleDelay: 125, }; lazySizesCfg = window.lazySizesConfig || window.lazysizesConfig || {}; for(prop in lazySizesDefaults){ if(!(prop in lazySizesCfg)){ lazySizesCfg[prop] = lazySizesDefaults[prop]; } } })(); if (!document || !document.getElementsByClassName) { return { init: function () {}, /** * @type { LazySizesConfigPartial } */ cfg: lazySizesCfg, /** * @type { true } */ noSupport: true, }; } var docElem = document.documentElement; var supportPicture = window.HTMLPictureElement; var _addEventListener = 'addEventListener'; var _getAttribute = 'getAttribute'; /** * Update to bind to window because 'this' becomes null during SSR * builds. */ var addEventListener = window[_addEventListener].bind(window); var setTimeout = window.setTimeout; var requestAnimationFrame = window.requestAnimationFrame || setTimeout; var requestIdleCallback = window.requestIdleCallback; var regPicture = /^picture$/i; var loadEvents = ['load', 'error', 'lazyincluded', '_lazyloaded']; var regClassCache = {}; var forEach = Array.prototype.forEach; /** * @param ele {Element} * @param cls {string} */ var hasClass = function(ele, cls) { if(!regClassCache[cls]){ regClassCache[cls] = new RegExp('(\\s|^)'+cls+'(\\s|$)'); } return regClassCache[cls].test(ele[_getAttribute]('class') || '') && regClassCache[cls]; }; /** * @param ele {Element} * @param cls {string} */ var addClass = function(ele, cls) { if (!hasClass(ele, cls)){ ele.setAttribute('class', (ele[_getAttribute]('class') || '').trim() + ' ' + cls); } }; /** * @param ele {Element} * @param cls {string} */ var removeClass = function(ele, cls) { var reg; if ((reg = hasClass(ele,cls))) { ele.setAttribute('class', (ele[_getAttribute]('class') || '').replace(reg, ' ')); } }; var addRemoveLoadEvents = function(dom, fn, add){ var action = add ? _addEventListener : 'removeEventListener'; if(add){ addRemoveLoadEvents(dom, fn); } loadEvents.forEach(function(evt){ dom[action](evt, fn); }); }; /** * @param elem { Element } * @param name { string } * @param detail { any } * @param noBubbles { boolean } * @param noCancelable { boolean } * @returns { CustomEvent } */ var triggerEvent = function(elem, name, detail, noBubbles, noCancelable){ var event = document.createEvent('Event'); if(!detail){ detail = {}; } detail.instance = lazysizes; event.initEvent(name, !noBubbles, !noCancelable); event.detail = detail; elem.dispatchEvent(event); return event; }; var updatePolyfill = function (el, full){ var polyfill; if( !supportPicture && ( polyfill = (window.picturefill || lazySizesCfg.pf) ) ){ if(full && full.src && !el[_getAttribute]('srcset')){ el.setAttribute('srcset', full.src); } polyfill({reevaluate: true, elements: [el]}); } else if(full && full.src){ el.src = full.src; } }; var getCSS = function (elem, style){ return (getComputedStyle(elem, null) || {})[style]; }; /** * * @param elem { Element } * @param parent { Element } * @param [width] {number} * @returns {number} */ var getWidth = function(elem, parent, width){ width = width || elem.offsetWidth; while(width < lazySizesCfg.minSize && parent && !elem._lazysizesWidth){ width = parent.offsetWidth; parent = parent.parentNode; } return width; }; var rAF = (function(){ var running, waiting; var firstFns = []; var secondFns = []; var fns = firstFns; var run = function(){ var runFns = fns; fns = firstFns.length ? secondFns : firstFns; running = true; waiting = false; while(runFns.length){ runFns.shift()(); } running = false; }; var rafBatch = function(fn, queue){ if(running && !queue){ fn.apply(this, arguments); } else { fns.push(fn); if(!waiting){ waiting = true; (document.hidden ? setTimeout : requestAnimationFrame)(run); } } }; rafBatch._lsFlush = run; return rafBatch; })(); var rAFIt = function(fn, simple){ return simple ? function() { rAF(fn); } : function(){ var that = this; var args = arguments; rAF(function(){ fn.apply(that, args); }); } ; }; var throttle = function(fn){ var running; var lastTime = 0; var gDelay = lazySizesCfg.throttleDelay; var rICTimeout = lazySizesCfg.ricTimeout; var run = function(){ running = false; lastTime = Date.now(); fn(); }; var idleCallback = requestIdleCallback && rICTimeout > 49 ? function(){ requestIdleCallback(run, {timeout: rICTimeout}); if(rICTimeout !== lazySizesCfg.ricTimeout){ rICTimeout = lazySizesCfg.ricTimeout; } } : rAFIt(function(){ setTimeout(run); }, true) ; return function(isPriority){ var delay; if((isPriority = isPriority === true)){ rICTimeout = 33; } if(running){ return; } running = true; delay = gDelay - (Date.now() - lastTime); if(delay < 0){ delay = 0; } if(isPriority || delay < 9){ idleCallback(); } else { setTimeout(idleCallback, delay); } }; }; //based on http://modernjavascript.blogspot.de/2013/08/building-better-debounce.html var debounce = function(func) { var timeout, timestamp; var wait = 99; var run = function(){ timeout = null; func(); }; var later = function() { var last = Date.now() - timestamp; if (last < wait) { setTimeout(later, wait - last); } else { (requestIdleCallback || run)(run); } }; return function() { timestamp = Date.now(); if (!timeout) { timeout = setTimeout(later, wait); } }; }; var loader = (function(){ var preloadElems, isCompleted, resetPreloadingTimer, loadMode, started; var eLvW, elvH, eLtop, eLleft, eLright, eLbottom, isBodyHidden; var regImg = /^img$/i; var regIframe = /^iframe$/i; var supportScroll = ('onscroll' in window) && !(/(gle|ing)bot/.test(navigator.userAgent)); var shrinkExpand = 0; var currentExpand = 0; var isLoading = 0; var lowRuns = -1; var resetPreloading = function(e){ isLoading--; if(!e || isLoading < 0 || !e.target){ isLoading = 0; } }; var isVisible = function (elem) { if (isBodyHidden == null) { isBodyHidden = getCSS(document.body, 'visibility') == 'hidden'; } return isBodyHidden || !(getCSS(elem.parentNode, 'visibility') == 'hidden' && getCSS(elem, 'visibility') == 'hidden'); }; var isNestedVisible = function(elem, elemExpand){ var outerRect; var parent = elem; var visible = isVisible(elem); eLtop -= elemExpand; eLbottom += elemExpand; eLleft -= elemExpand; eLright += elemExpand; while(visible && (parent = parent.offsetParent) && parent != document.body && parent != docElem){ visible = ((getCSS(parent, 'opacity') || 1) > 0); if(visible && getCSS(parent, 'overflow') != 'visible'){ outerRect = parent.getBoundingClientRect(); visible = eLright > outerRect.left && eLleft < outerRect.right && eLbottom > outerRect.top - 1 && eLtop < outerRect.bottom + 1 ; } } return visible; }; var checkElements = function() { var eLlen, i, rect, autoLoadElem, loadedSomething, elemExpand, elemNegativeExpand, elemExpandVal, beforeExpandVal, defaultExpand, preloadExpand, hFac; var lazyloadElems = lazysizes.elements; if((loadMode = lazySizesCfg.loadMode) && isLoading < 8 && (eLlen = lazyloadElems.length)){ i = 0; lowRuns++; for(; i < eLlen; i++){ if(!lazyloadElems[i] || lazyloadElems[i]._lazyRace){continue;} if(!supportScroll || (lazysizes.prematureUnveil && lazysizes.prematureUnveil(lazyloadElems[i]))){unveilElement(lazyloadElems[i]);continue;} if(!(elemExpandVal = lazyloadElems[i][_getAttribute]('data-expand')) || !(elemExpand = elemExpandVal * 1)){ elemExpand = currentExpand; } if (!defaultExpand) { defaultExpand = (!lazySizesCfg.expand || lazySizesCfg.expand < 1) ? docElem.clientHeight > 500 && docElem.clientWidth > 500 ? 500 : 370 : lazySizesCfg.expand; lazysizes._defEx = defaultExpand; preloadExpand = defaultExpand * lazySizesCfg.expFactor; hFac = lazySizesCfg.hFac; isBodyHidden = null; if(currentExpand < preloadExpand && isLoading < 1 && lowRuns > 2 && loadMode > 2 && !document.hidden){ currentExpand = preloadExpand; lowRuns = 0; } else if(loadMode > 1 && lowRuns > 1 && isLoading < 6){ currentExpand = defaultExpand; } else { currentExpand = shrinkExpand; } } if(beforeExpandVal !== elemExpand){ eLvW = innerWidth + (elemExpand * hFac); elvH = innerHeight + elemExpand; elemNegativeExpand = elemExpand * -1; beforeExpandVal = elemExpand; } rect = lazyloadElems[i].getBoundingClientRect(); if ((eLbottom = rect.bottom) >= elemNegativeExpand && (eLtop = rect.top) <= elvH && (eLright = rect.right) >= elemNegativeExpand * hFac && (eLleft = rect.left) <= eLvW && (eLbottom || eLright || eLleft || eLtop) && (lazySizesCfg.loadHidden || isVisible(lazyloadElems[i])) && ((isCompleted && isLoading < 3 && !elemExpandVal && (loadMode < 3 || lowRuns < 4)) || isNestedVisible(lazyloadElems[i], elemExpand))){ unveilElement(lazyloadElems[i]); loadedSomething = true; if(isLoading > 9){break;} } else if(!loadedSomething && isCompleted && !autoLoadElem && isLoading < 4 && lowRuns < 4 && loadMode > 2 && (preloadElems[0] || lazySizesCfg.preloadAfterLoad) && (preloadElems[0] || (!elemExpandVal && ((eLbottom || eLright || eLleft || eLtop) || lazyloadElems[i][_getAttribute](lazySizesCfg.sizesAttr) != 'auto')))){ autoLoadElem = preloadElems[0] || lazyloadElems[i]; } } if(autoLoadElem && !loadedSomething){ unveilElement(autoLoadElem); } } }; var throttledCheckElements = throttle(checkElements); var switchLoadingClass = function(e){ var elem = e.target; if (elem._lazyCache) { delete elem._lazyCache; return; } resetPreloading(e); addClass(elem, lazySizesCfg.loadedClass); removeClass(elem, lazySizesCfg.loadingClass); addRemoveLoadEvents(elem, rafSwitchLoadingClass); triggerEvent(elem, 'lazyloaded'); }; var rafedSwitchLoadingClass = rAFIt(switchLoadingClass); var rafSwitchLoadingClass = function(e){ rafedSwitchLoadingClass({target: e.target}); }; var changeIframeSrc = function(elem, src){ var loadMode = elem.getAttribute('data-load-mode') || lazySizesCfg.iframeLoadMode; // loadMode can be also a string! if (loadMode == 0) { elem.contentWindow.location.replace(src); } else if (loadMode == 1) { elem.src = src; } }; var handleSources = function(source){ var customMedia; var sourceSrcset = source[_getAttribute](lazySizesCfg.srcsetAttr); if( (customMedia = lazySizesCfg.customMedia[source[_getAttribute]('data-media') || source[_getAttribute]('media')]) ){ source.setAttribute('media', customMedia); } if(sourceSrcset){ source.setAttribute('srcset', sourceSrcset); } }; var lazyUnveil = rAFIt(function (elem, detail, isAuto, sizes, isImg){ var src, srcset, parent, isPicture, event, firesLoad; if(!(event = triggerEvent(elem, 'lazybeforeunveil', detail)).defaultPrevented){ if(sizes){ if(isAuto){ addClass(elem, lazySizesCfg.autosizesClass); } else { elem.setAttribute('sizes', sizes); } } srcset = elem[_getAttribute](lazySizesCfg.srcsetAttr); src = elem[_getAttribute](lazySizesCfg.srcAttr); if(isImg) { parent = elem.parentNode; isPicture = parent && regPicture.test(parent.nodeName || ''); } firesLoad = detail.firesLoad || (('src' in elem) && (srcset || src || isPicture)); event = {target: elem}; addClass(elem, lazySizesCfg.loadingClass); if(firesLoad){ clearTimeout(resetPreloadingTimer); resetPreloadingTimer = setTimeout(resetPreloading, 2500); addRemoveLoadEvents(elem, rafSwitchLoadingClass, true); } if(isPicture){ forEach.call(parent.getElementsByTagName('source'), handleSources); } if(srcset){ elem.setAttribute('srcset', srcset); } else if(src && !isPicture){ if(regIframe.test(elem.nodeName)){ changeIframeSrc(elem, src); } else { elem.src = src; } } if(isImg && (srcset || isPicture)){ updatePolyfill(elem, {src: src}); } } if(elem._lazyRace){ delete elem._lazyRace; } removeClass(elem, lazySizesCfg.lazyClass); rAF(function(){ // Part of this can be removed as soon as this fix is older: https://bugs.chromium.org/p/chromium/issues/detail?id=7731 (2015) var isLoaded = elem.complete && elem.naturalWidth > 1; if( !firesLoad || isLoaded){ if (isLoaded) { addClass(elem, lazySizesCfg.fastLoadedClass); } switchLoadingClass(event); elem._lazyCache = true; setTimeout(function(){ if ('_lazyCache' in elem) { delete elem._lazyCache; } }, 9); } if (elem.loading == 'lazy') { isLoading--; } }, true); }); /** * * @param elem { Element } */ var unveilElement = function (elem){ if (elem._lazyRace) {return;} var detail; var isImg = regImg.test(elem.nodeName); //allow using sizes="auto", but don't use. it's invalid. Use data-sizes="auto" or a valid value for sizes instead (i.e.: sizes="80vw") var sizes = isImg && (elem[_getAttribute](lazySizesCfg.sizesAttr) || elem[_getAttribute]('sizes')); var isAuto = sizes == 'auto'; if( (isAuto || !isCompleted) && isImg && (elem[_getAttribute]('src') || elem.srcset) && !elem.complete && !hasClass(elem, lazySizesCfg.errorClass) && hasClass(elem, lazySizesCfg.lazyClass)){return;} detail = triggerEvent(elem, 'lazyunveilread').detail; if(isAuto){ autoSizer.updateElem(elem, true, elem.offsetWidth); } elem._lazyRace = true; isLoading++; lazyUnveil(elem, detail, isAuto, sizes, isImg); }; var afterScroll = debounce(function(){ lazySizesCfg.loadMode = 3; throttledCheckElements(); }); var altLoadmodeScrollListner = function(){ if(lazySizesCfg.loadMode == 3){ lazySizesCfg.loadMode = 2; } afterScroll(); }; var onload = function(){ if(isCompleted){return;} if(Date.now() - started < 999){ setTimeout(onload, 999); return; } isCompleted = true; lazySizesCfg.loadMode = 3; throttledCheckElements(); addEventListener('scroll', altLoadmodeScrollListner, true); }; return { _: function(){ started = Date.now(); lazysizes.elements = document.getElementsByClassName(lazySizesCfg.lazyClass); preloadElems = document.getElementsByClassName(lazySizesCfg.lazyClass + ' ' + lazySizesCfg.preloadClass); addEventListener('scroll', throttledCheckElements, true); addEventListener('resize', throttledCheckElements, true); addEventListener('pageshow', function (e) { if (e.persisted) { var loadingElements = document.querySelectorAll('.' + lazySizesCfg.loadingClass); if (loadingElements.length && loadingElements.forEach) { requestAnimationFrame(function () { loadingElements.forEach( function (img) { if (img.complete) { unveilElement(img); } }); }); } } }); if(window.MutationObserver){ new MutationObserver( throttledCheckElements ).observe( docElem, {childList: true, subtree: true, attributes: true} ); } else { docElem[_addEventListener]('DOMNodeInserted', throttledCheckElements, true); docElem[_addEventListener]('DOMAttrModified', throttledCheckElements, true); setInterval(throttledCheckElements, 999); } addEventListener('hashchange', throttledCheckElements, true); //, 'fullscreenchange' ['focus', 'mouseover', 'click', 'load', 'transitionend', 'animationend'].forEach(function(name){ document[_addEventListener](name, throttledCheckElements, true); }); if((/d$|^c/.test(document.readyState))){ onload(); } else { addEventListener('load', onload); document[_addEventListener]('DOMContentLoaded', throttledCheckElements); setTimeout(onload, 20000); } if(lazysizes.elements.length){ checkElements(); rAF._lsFlush(); } else { throttledCheckElements(); } }, checkElems: throttledCheckElements, unveil: unveilElement, _aLSL: altLoadmodeScrollListner, }; })(); var autoSizer = (function(){ var autosizesElems; var sizeElement = rAFIt(function(elem, parent, event, width){ var sources, i, len; elem._lazysizesWidth = width; width += 'px'; elem.setAttribute('sizes', width); if(regPicture.test(parent.nodeName || '')){ sources = parent.getElementsByTagName('source'); for(i = 0, len = sources.length; i < len; i++){ sources[i].setAttribute('sizes', width); } } if(!event.detail.dataAttr){ updatePolyfill(elem, event.detail); } }); /** * * @param elem {Element} * @param dataAttr * @param [width] { number } */ var getSizeElement = function (elem, dataAttr, width){ var event; var parent = elem.parentNode; if(parent){ width = getWidth(elem, parent, width); event = triggerEvent(elem, 'lazybeforesizes', {width: width, dataAttr: !!dataAttr}); if(!event.defaultPrevented){ width = event.detail.width; if(width && width !== elem._lazysizesWidth){ sizeElement(elem, parent, event, width); } } } }; var updateElementsSizes = function(){ var i; var len = autosizesElems.length; if(len){ i = 0; for(; i < len; i++){ getSizeElement(autosizesElems[i]); } } }; var debouncedUpdateElementsSizes = debounce(updateElementsSizes); return { _: function(){ autosizesElems = document.getElementsByClassName(lazySizesCfg.autosizesClass); addEventListener('resize', debouncedUpdateElementsSizes); }, checkElems: debouncedUpdateElementsSizes, updateElem: getSizeElement }; })(); var init = function(){ if(!init.i && document.getElementsByClassName){ init.i = true; autoSizer._(); loader._(); } }; setTimeout(function(){ if(lazySizesCfg.init){ init(); } }); lazysizes = { /** * @type { LazySizesConfigPartial } */ cfg: lazySizesCfg, autoSizer: autoSizer, loader: loader, init: init, uP: updatePolyfill, aC: addClass, rC: removeClass, hC: hasClass, fire: triggerEvent, gW: getWidth, rAF: rAF, }; return lazysizes; } )); </script> <script type="text/javascript">/* _ _ _ _ ___| (_) ___| | __ (_)___ / __| | |/ __| |/ / | / __| \__ \ | | (__| < _ | \__ \ |___/_|_|\___|_|\_(_)/ |___/ |__/ Version: 1.8.1 Author: Ken Wheeler Website: http://kenwheeler.github.io Docs: http://kenwheeler.github.io/slick Repo: http://github.com/kenwheeler/slick Issues: http://github.com/kenwheeler/slick/issues */ /* global window, document, define, jQuery, setInterval, clearInterval */ ;(function(factory) { 'use strict'; if (typeof define === 'function' && define.amd) { define(['jquery'], factory); } else if (typeof exports !== 'undefined') { module.exports = factory(require('jquery')); } else { factory(jQuery); } }(function($) { 'use strict'; var Slick = window.Slick || {}; Slick = (function() { var instanceUid = 0; function Slick(element, settings) { var _ = this, dataSettings; _.defaults = { accessibility: true, adaptiveHeight: false, appendArrows: $(element), appendDots: $(element), arrows: true, asNavFor: null, prevArrow: '<button class="slick-prev" aria-label="Previous" type="button">Previous</button>', nextArrow: '<button class="slick-next" aria-label="Next" type="button">Next</button>', autoplay: false, autoplaySpeed: 3000, centerMode: false, centerPadding: '50px', cssEase: 'ease', customPaging: function(slider, i) { return $('<button type="button" />').text(i + 1); }, dots: false, dotsClass: 'slick-dots', draggable: true, easing: 'linear', edgeFriction: 0.35, fade: false, focusOnSelect: false, focusOnChange: false, infinite: true, initialSlide: 0, lazyLoad: 'ondemand', mobileFirst: false, pauseOnHover: true, pauseOnFocus: true, pauseOnDotsHover: false, respondTo: 'window', responsive: null, rows: 1, rtl: false, slide: '', slidesPerRow: 1, slidesToShow: 1, slidesToScroll: 1, speed: 500, swipe: true, swipeToSlide: false, touchMove: true, touchThreshold: 5, useCSS: true, useTransform: true, variableWidth: false, vertical: false, verticalSwiping: false, waitForAnimate: true, zIndex: 1000 }; _.initials = { animating: false, dragging: false, autoPlayTimer: null, currentDirection: 0, currentLeft: null, currentSlide: 0, direction: 1, $dots: null, listWidth: null, listHeight: null, loadIndex: 0, $nextArrow: null, $prevArrow: null, scrolling: false, slideCount: null, slideWidth: null, $slideTrack: null, $slides: null, sliding: false, slideOffset: 0, swipeLeft: null, swiping: false, $list: null, touchObject: {}, transformsEnabled: false, unslicked: false }; $.extend(_, _.initials); _.activeBreakpoint = null; _.animType = null; _.animProp = null; _.breakpoints = []; _.breakpointSettings = []; _.cssTransitions = false; _.focussed = false; _.interrupted = false; _.hidden = 'hidden'; _.paused = true; _.positionProp = null; _.respondTo = null; _.rowCount = 1; _.shouldClick = true; _.$slider = $(element); _.$slidesCache = null; _.transformType = null; _.transitionType = null; _.visibilityChange = 'visibilitychange'; _.windowWidth = 0; _.windowTimer = null; dataSettings = $(element).data('slick') || {}; _.options = $.extend({}, _.defaults, settings, dataSettings); _.currentSlide = _.options.initialSlide; _.originalSettings = _.options; if (typeof document.mozHidden !== 'undefined') { _.hidden = 'mozHidden'; _.visibilityChange = 'mozvisibilitychange'; } else if (typeof document.webkitHidden !== 'undefined') { _.hidden = 'webkitHidden'; _.visibilityChange = 'webkitvisibilitychange'; } _.autoPlay = $.proxy(_.autoPlay, _); _.autoPlayClear = $.proxy(_.autoPlayClear, _); _.autoPlayIterator = $.proxy(_.autoPlayIterator, _); _.changeSlide = $.proxy(_.changeSlide, _); _.clickHandler = $.proxy(_.clickHandler, _); _.selectHandler = $.proxy(_.selectHandler, _); _.setPosition = $.proxy(_.setPosition, _); _.swipeHandler = $.proxy(_.swipeHandler, _); _.dragHandler = $.proxy(_.dragHandler, _); _.keyHandler = $.proxy(_.keyHandler, _); _.instanceUid = instanceUid++; // A simple way to check for HTML strings // Strict HTML recognition (must start with <) // Extracted from jQuery v1.11 source _.htmlExpr = /^(?:\s*(<[\w\W]+>)[^>]*)$/; _.registerBreakpoints(); _.init(true); } return Slick; }()); Slick.prototype.activateADA = function() { var _ = this; _.$slideTrack.find('.slick-active').attr({ 'aria-hidden': 'false' }).find('a, input, button, select').attr({ 'tabindex': '0' }); }; Slick.prototype.addSlide = Slick.prototype.slickAdd = function(markup, index, addBefore) { var _ = this; if (typeof(index) === 'boolean') { addBefore = index; index = null; } else if (index < 0 || (index >= _.slideCount)) { return false; } _.unload(); if (typeof(index) === 'number') { if (index === 0 && _.$slides.length === 0) { $(markup).appendTo(_.$slideTrack); } else if (addBefore) { $(markup).insertBefore(_.$slides.eq(index)); } else { $(markup).insertAfter(_.$slides.eq(index)); } } else { if (addBefore === true) { $(markup).prependTo(_.$slideTrack); } else { $(markup).appendTo(_.$slideTrack); } } _.$slides = _.$slideTrack.children(this.options.slide); _.$slideTrack.children(this.options.slide).detach(); _.$slideTrack.append(_.$slides); _.$slides.each(function(index, element) { $(element).attr('data-slick-index', index); }); _.$slidesCache = _.$slides; _.reinit(); }; Slick.prototype.animateHeight = function() { var _ = this; if (_.options.slidesToShow === 1 && _.options.adaptiveHeight === true && _.options.vertical === false) { var targetHeight = _.$slides.eq(_.currentSlide).outerHeight(true); _.$list.animate({ height: targetHeight }, _.options.speed); } }; Slick.prototype.animateSlide = function(targetLeft, callback) { var animProps = {}, _ = this; _.animateHeight(); if (_.options.rtl === true && _.options.vertical === false) { targetLeft = -targetLeft; } if (_.transformsEnabled === false) { if (_.options.vertical === false) { _.$slideTrack.animate({ left: targetLeft }, _.options.speed, _.options.easing, callback); } else { _.$slideTrack.animate({ top: targetLeft }, _.options.speed, _.options.easing, callback); } } else { if (_.cssTransitions === false) { if (_.options.rtl === true) { _.currentLeft = -(_.currentLeft); } $({ animStart: _.currentLeft }).animate({ animStart: targetLeft }, { duration: _.options.speed, easing: _.options.easing, step: function(now) { now = Math.ceil(now); if (_.options.vertical === false) { animProps[_.animType] = 'translate(' + now + 'px, 0px)'; _.$slideTrack.css(animProps); } else { animProps[_.animType] = 'translate(0px,' + now + 'px)'; _.$slideTrack.css(animProps); } }, complete: function() { if (callback) { callback.call(); } } }); } else { _.applyTransition(); targetLeft = Math.ceil(targetLeft); if (_.options.vertical === false) { animProps[_.animType] = 'translate3d(' + targetLeft + 'px, 0px, 0px)'; } else { animProps[_.animType] = 'translate3d(0px,' + targetLeft + 'px, 0px)'; } _.$slideTrack.css(animProps); if (callback) { setTimeout(function() { _.disableTransition(); callback.call(); }, _.options.speed); } } } }; Slick.prototype.getNavTarget = function() { var _ = this, asNavFor = _.options.asNavFor; if ( asNavFor && asNavFor !== null ) { asNavFor = $(asNavFor).not(_.$slider); } return asNavFor; }; Slick.prototype.asNavFor = function(index) { var _ = this, asNavFor = _.getNavTarget(); if ( asNavFor !== null && typeof asNavFor === 'object' ) { asNavFor.each(function() { var target = $(this).slick('getSlick'); if(!target.unslicked) { target.slideHandler(index, true); } }); } }; Slick.prototype.applyTransition = function(slide) { var _ = this, transition = {}; if (_.options.fade === false) { transition[_.transitionType] = _.transformType + ' ' + _.options.speed + 'ms ' + _.options.cssEase; } else { transition[_.transitionType] = 'opacity ' + _.options.speed + 'ms ' + _.options.cssEase; } if (_.options.fade === false) { _.$slideTrack.css(transition); } else { _.$slides.eq(slide).css(transition); } }; Slick.prototype.autoPlay = function() { var _ = this; _.autoPlayClear(); if ( _.slideCount > _.options.slidesToShow ) { _.autoPlayTimer = setInterval( _.autoPlayIterator, _.options.autoplaySpeed ); } }; Slick.prototype.autoPlayClear = function() { var _ = this; if (_.autoPlayTimer) { clearInterval(_.autoPlayTimer); } }; Slick.prototype.autoPlayIterator = function() { var _ = this, slideTo = _.currentSlide + _.options.slidesToScroll; if ( !_.paused && !_.interrupted && !_.focussed ) { if ( _.options.infinite === false ) { if ( _.direction === 1 && ( _.currentSlide + 1 ) === ( _.slideCount - 1 )) { _.direction = 0; } else if ( _.direction === 0 ) { slideTo = _.currentSlide - _.options.slidesToScroll; if ( _.currentSlide - 1 === 0 ) { _.direction = 1; } } } _.slideHandler( slideTo ); } }; Slick.prototype.buildArrows = function() { var _ = this; if (_.options.arrows === true ) { _.$prevArrow = $(_.options.prevArrow).addClass('slick-arrow'); _.$nextArrow = $(_.options.nextArrow).addClass('slick-arrow'); if( _.slideCount > _.options.slidesToShow ) { _.$prevArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex'); _.$nextArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex'); if (_.htmlExpr.test(_.options.prevArrow)) { _.$prevArrow.prependTo(_.options.appendArrows); } if (_.htmlExpr.test(_.options.nextArrow)) { _.$nextArrow.appendTo(_.options.appendArrows); } if (_.options.infinite !== true) { _.$prevArrow .addClass('slick-disabled') .attr('aria-disabled', 'true'); } } else { _.$prevArrow.add( _.$nextArrow ) .addClass('slick-hidden') .attr({ 'aria-disabled': 'true', 'tabindex': '-1' }); } } }; Slick.prototype.buildDots = function() { var _ = this, i, dot; if (_.options.dots === true && _.slideCount > _.options.slidesToShow) { _.$slider.addClass('slick-dotted'); dot = $('<ul />').addClass(_.options.dotsClass); for (i = 0; i <= _.getDotCount(); i += 1) { dot.append($('<li />').append(_.options.customPaging.call(this, _, i))); } _.$dots = dot.appendTo(_.options.appendDots); _.$dots.find('li').first().addClass('slick-active'); } }; Slick.prototype.buildOut = function() { var _ = this; _.$slides = _.$slider .children( _.options.slide + ':not(.slick-cloned)') .addClass('slick-slide'); _.slideCount = _.$slides.length; _.$slides.each(function(index, element) { $(element) .attr('data-slick-index', index) .data('originalStyling', $(element).attr('style') || ''); }); _.$slider.addClass('slick-slider'); _.$slideTrack = (_.slideCount === 0) ? $('<div class="slick-track"/>').appendTo(_.$slider) : _.$slides.wrapAll('<div class="slick-track"/>').parent(); _.$list = _.$slideTrack.wrap( '<div class="slick-list"/>').parent(); _.$slideTrack.css('opacity', 0); if (_.options.centerMode === true || _.options.swipeToSlide === true) { _.options.slidesToScroll = 1; } $('img[data-lazy]', _.$slider).not('[src]').addClass('slick-loading'); _.setupInfinite(); _.buildArrows(); _.buildDots(); _.updateDots(); _.setSlideClasses(typeof _.currentSlide === 'number' ? _.currentSlide : 0); if (_.options.draggable === true) { _.$list.addClass('draggable'); } }; Slick.prototype.buildRows = function() { var _ = this, a, b, c, newSlides, numOfSlides, originalSlides,slidesPerSection; newSlides = document.createDocumentFragment(); originalSlides = _.$slider.children(); if(_.options.rows > 0) { slidesPerSection = _.options.slidesPerRow * _.options.rows; numOfSlides = Math.ceil( originalSlides.length / slidesPerSection ); for(a = 0; a < numOfSlides; a++){ var slide = document.createElement('div'); for(b = 0; b < _.options.rows; b++) { var row = document.createElement('div'); for(c = 0; c < _.options.slidesPerRow; c++) { var target = (a * slidesPerSection + ((b * _.options.slidesPerRow) + c)); if (originalSlides.get(target)) { row.appendChild(originalSlides.get(target)); } } slide.appendChild(row); } newSlides.appendChild(slide); } _.$slider.empty().append(newSlides); _.$slider.children().children().children() .css({ 'width':(100 / _.options.slidesPerRow) + '%', 'display': 'inline-block' }); } }; Slick.prototype.checkResponsive = function(initial, forceUpdate) { var _ = this, breakpoint, targetBreakpoint, respondToWidth, triggerBreakpoint = false; var sliderWidth = _.$slider.width(); var windowWidth = window.innerWidth || $(window).width(); if (_.respondTo === 'window') { respondToWidth = windowWidth; } else if (_.respondTo === 'slider') { respondToWidth = sliderWidth; } else if (_.respondTo === 'min') { respondToWidth = Math.min(windowWidth, sliderWidth); } if ( _.options.responsive && _.options.responsive.length && _.options.responsive !== null) { targetBreakpoint = null; for (breakpoint in _.breakpoints) { if (_.breakpoints.hasOwnProperty(breakpoint)) { if (_.originalSettings.mobileFirst === false) { if (respondToWidth < _.breakpoints[breakpoint]) { targetBreakpoint = _.breakpoints[breakpoint]; } } else { if (respondToWidth > _.breakpoints[breakpoint]) { targetBreakpoint = _.breakpoints[breakpoint]; } } } } if (targetBreakpoint !== null) { if (_.activeBreakpoint !== null) { if (targetBreakpoint !== _.activeBreakpoint || forceUpdate) { _.activeBreakpoint = targetBreakpoint; if (_.breakpointSettings[targetBreakpoint] === 'unslick') { _.unslick(targetBreakpoint); } else { _.options = $.extend({}, _.originalSettings, _.breakpointSettings[ targetBreakpoint]); if (initial === true) { _.currentSlide = _.options.initialSlide; } _.refresh(initial); } triggerBreakpoint = targetBreakpoint; } } else { _.activeBreakpoint = targetBreakpoint; if (_.breakpointSettings[targetBreakpoint] === 'unslick') { _.unslick(targetBreakpoint); } else { _.options = $.extend({}, _.originalSettings, _.breakpointSettings[ targetBreakpoint]); if (initial === true) { _.currentSlide = _.options.initialSlide; } _.refresh(initial); } triggerBreakpoint = targetBreakpoint; } } else { if (_.activeBreakpoint !== null) { _.activeBreakpoint = null; _.options = _.originalSettings; if (initial === true) { _.currentSlide = _.options.initialSlide; } _.refresh(initial); triggerBreakpoint = targetBreakpoint; } } // only trigger breakpoints during an actual break. not on initialize. if( !initial && triggerBreakpoint !== false ) { _.$slider.trigger('breakpoint', [_, triggerBreakpoint]); } } }; Slick.prototype.changeSlide = function(event, dontAnimate) { var _ = this, $target = $(event.currentTarget), indexOffset, slideOffset, unevenOffset; // If target is a link, prevent default action. if($target.is('a')) { event.preventDefault(); } // If target is not the <li> element (ie: a child), find the <li>. if(!$target.is('li')) { $target = $target.closest('li'); } unevenOffset = (_.slideCount % _.options.slidesToScroll !== 0); indexOffset = unevenOffset ? 0 : (_.slideCount - _.currentSlide) % _.options.slidesToScroll; switch (event.data.message) { case 'previous': slideOffset = indexOffset === 0 ? _.options.slidesToScroll : _.options.slidesToShow - indexOffset; if (_.slideCount > _.options.slidesToShow) { _.slideHandler(_.currentSlide - slideOffset, false, dontAnimate); } break; case 'next': slideOffset = indexOffset === 0 ? _.options.slidesToScroll : indexOffset; if (_.slideCount > _.options.slidesToShow) { _.slideHandler(_.currentSlide + slideOffset, false, dontAnimate); } break; case 'index': var index = event.data.index === 0 ? 0 : event.data.index || $target.index() * _.options.slidesToScroll; _.slideHandler(_.checkNavigable(index), false, dontAnimate); $target.children().trigger('focus'); break; default: return; } }; Slick.prototype.checkNavigable = function(index) { var _ = this, navigables, prevNavigable; navigables = _.getNavigableIndexes(); prevNavigable = 0; if (index > navigables[navigables.length - 1]) { index = navigables[navigables.length - 1]; } else { for (var n in navigables) { if (index < navigables[n]) { index = prevNavigable; break; } prevNavigable = navigables[n]; } } return index; }; Slick.prototype.cleanUpEvents = function() { var _ = this; if (_.options.dots && _.$dots !== null) { $('li', _.$dots) .off('click.slick', _.changeSlide) .off('mouseenter.slick', $.proxy(_.interrupt, _, true)) .off('mouseleave.slick', $.proxy(_.interrupt, _, false)); if (_.options.accessibility === true) { _.$dots.off('keydown.slick', _.keyHandler); } } _.$slider.off('focus.slick blur.slick'); if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) { _.$prevArrow && _.$prevArrow.off('click.slick', _.changeSlide); _.$nextArrow && _.$nextArrow.off('click.slick', _.changeSlide); if (_.options.accessibility === true) { _.$prevArrow && _.$prevArrow.off('keydown.slick', _.keyHandler); _.$nextArrow && _.$nextArrow.off('keydown.slick', _.keyHandler); } } _.$list.off('touchstart.slick mousedown.slick', _.swipeHandler); _.$list.off('touchmove.slick mousemove.slick', _.swipeHandler); _.$list.off('touchend.slick mouseup.slick', _.swipeHandler); _.$list.off('touchcancel.slick mouseleave.slick', _.swipeHandler); _.$list.off('click.slick', _.clickHandler); $(document).off(_.visibilityChange, _.visibility); _.cleanUpSlideEvents(); if (_.options.accessibility === true) { _.$list.off('keydown.slick', _.keyHandler); } if (_.options.focusOnSelect === true) { $(_.$slideTrack).children().off('click.slick', _.selectHandler); } $(window).off('orientationchange.slick.slick-' + _.instanceUid, _.orientationChange); $(window).off('resize.slick.slick-' + _.instanceUid, _.resize); $('[draggable!=true]', _.$slideTrack).off('dragstart', _.preventDefault); $(window).off('load.slick.slick-' + _.instanceUid, _.setPosition); }; Slick.prototype.cleanUpSlideEvents = function() { var _ = this; _.$list.off('mouseenter.slick', $.proxy(_.interrupt, _, true)); _.$list.off('mouseleave.slick', $.proxy(_.interrupt, _, false)); }; Slick.prototype.cleanUpRows = function() { var _ = this, originalSlides; if(_.options.rows > 0) { originalSlides = _.$slides.children().children(); originalSlides.removeAttr('style'); _.$slider.empty().append(originalSlides); } }; Slick.prototype.clickHandler = function(event) { var _ = this; if (_.shouldClick === false) { event.stopImmediatePropagation(); event.stopPropagation(); event.preventDefault(); } }; Slick.prototype.destroy = function(refresh) { var _ = this; _.autoPlayClear(); _.touchObject = {}; _.cleanUpEvents(); $('.slick-cloned', _.$slider).detach(); if (_.$dots) { _.$dots.remove(); } if ( _.$prevArrow && _.$prevArrow.length ) { _.$prevArrow .removeClass('slick-disabled slick-arrow slick-hidden') .removeAttr('aria-hidden aria-disabled tabindex') .css('display',''); if ( _.htmlExpr.test( _.options.prevArrow )) { _.$prevArrow.remove(); } } if ( _.$nextArrow && _.$nextArrow.length ) { _.$nextArrow .removeClass('slick-disabled slick-arrow slick-hidden') .removeAttr('aria-hidden aria-disabled tabindex') .css('display',''); if ( _.htmlExpr.test( _.options.nextArrow )) { _.$nextArrow.remove(); } } if (_.$slides) { _.$slides .removeClass('slick-slide slick-active slick-center slick-visible slick-current') .removeAttr('aria-hidden') .removeAttr('data-slick-index') .each(function(){ $(this).attr('style', $(this).data('originalStyling')); }); _.$slideTrack.children(this.options.slide).detach(); _.$slideTrack.detach(); _.$list.detach(); _.$slider.append(_.$slides); } _.cleanUpRows(); _.$slider.removeClass('slick-slider'); _.$slider.removeClass('slick-initialized'); _.$slider.removeClass('slick-dotted'); _.unslicked = true; if(!refresh) { _.$slider.trigger('destroy', [_]); } }; Slick.prototype.disableTransition = function(slide) { var _ = this, transition = {}; transition[_.transitionType] = ''; if (_.options.fade === false) { _.$slideTrack.css(transition); } else { _.$slides.eq(slide).css(transition); } }; Slick.prototype.fadeSlide = function(slideIndex, callback) { var _ = this; if (_.cssTransitions === false) { _.$slides.eq(slideIndex).css({ zIndex: _.options.zIndex }); _.$slides.eq(slideIndex).animate({ opacity: 1 }, _.options.speed, _.options.easing, callback); } else { _.applyTransition(slideIndex); _.$slides.eq(slideIndex).css({ opacity: 1, zIndex: _.options.zIndex }); if (callback) { setTimeout(function() { _.disableTransition(slideIndex); callback.call(); }, _.options.speed); } } }; Slick.prototype.fadeSlideOut = function(slideIndex) { var _ = this; if (_.cssTransitions === false) { _.$slides.eq(slideIndex).animate({ opacity: 0, zIndex: _.options.zIndex - 2 }, _.options.speed, _.options.easing); } else { _.applyTransition(slideIndex); _.$slides.eq(slideIndex).css({ opacity: 0, zIndex: _.options.zIndex - 2 }); } }; Slick.prototype.filterSlides = Slick.prototype.slickFilter = function(filter) { var _ = this; if (filter !== null) { _.$slidesCache = _.$slides; _.unload(); _.$slideTrack.children(this.options.slide).detach(); _.$slidesCache.filter(filter).appendTo(_.$slideTrack); _.reinit(); } }; Slick.prototype.focusHandler = function() { var _ = this; // If any child element receives focus within the slider we need to pause the autoplay _.$slider .off('focus.slick blur.slick') .on( 'focus.slick', '*', function(event) { var $sf = $(this); setTimeout(function() { if( _.options.pauseOnFocus ) { if ($sf.is(':focus')) { _.focussed = true; _.autoPlay(); } } }, 0); } ).on( 'blur.slick', '*', function(event) { var $sf = $(this); // When a blur occurs on any elements within the slider we become unfocused if( _.options.pauseOnFocus ) { _.focussed = false; _.autoPlay(); } } ); }; Slick.prototype.getCurrent = Slick.prototype.slickCurrentSlide = function() { var _ = this; return _.currentSlide; }; Slick.prototype.getDotCount = function() { var _ = this; var breakPoint = 0; var counter = 0; var pagerQty = 0; if (_.options.infinite === true) { if (_.slideCount <= _.options.slidesToShow) { ++pagerQty; } else { while (breakPoint < _.slideCount) { ++pagerQty; breakPoint = counter + _.options.slidesToScroll; counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow; } } } else if (_.options.centerMode === true) { pagerQty = _.slideCount; } else if(!_.options.asNavFor) { pagerQty = 1 + Math.ceil((_.slideCount - _.options.slidesToShow) / _.options.slidesToScroll); }else { while (breakPoint < _.slideCount) { ++pagerQty; breakPoint = counter + _.options.slidesToScroll; counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow; } } return pagerQty - 1; }; Slick.prototype.getLeft = function(slideIndex) { var _ = this, targetLeft, verticalHeight, verticalOffset = 0, targetSlide, coef; _.slideOffset = 0; verticalHeight = _.$slides.first().outerHeight(true); if (_.options.infinite === true) { if (_.slideCount > _.options.slidesToShow) { _.slideOffset = (_.slideWidth * _.options.slidesToShow) * -1; coef = -1 if (_.options.vertical === true && _.options.centerMode === true) { if (_.options.slidesToShow === 2) { coef = -1.5; } else if (_.options.slidesToShow === 1) { coef = -2 } } verticalOffset = (verticalHeight * _.options.slidesToShow) * coef; } if (_.slideCount % _.options.slidesToScroll !== 0) { if (slideIndex + _.options.slidesToScroll > _.slideCount && _.slideCount > _.options.slidesToShow) { if (slideIndex > _.slideCount) { _.slideOffset = ((_.options.slidesToShow - (slideIndex - _.slideCount)) * _.slideWidth) * -1; verticalOffset = ((_.options.slidesToShow - (slideIndex - _.slideCount)) * verticalHeight) * -1; } else { _.slideOffset = ((_.slideCount % _.options.slidesToScroll) * _.slideWidth) * -1; verticalOffset = ((_.slideCount % _.options.slidesToScroll) * verticalHeight) * -1; } } } } else { if (slideIndex + _.options.slidesToShow > _.slideCount) { _.slideOffset = ((slideIndex + _.options.slidesToShow) - _.slideCount) * _.slideWidth; verticalOffset = ((slideIndex + _.options.slidesToShow) - _.slideCount) * verticalHeight; } } if (_.slideCount <= _.options.slidesToShow) { _.slideOffset = 0; verticalOffset = 0; } if (_.options.centerMode === true && _.slideCount <= _.options.slidesToShow) { _.slideOffset = ((_.slideWidth * Math.floor(_.options.slidesToShow)) / 2) - ((_.slideWidth * _.slideCount) / 2); } else if (_.options.centerMode === true && _.options.infinite === true) { _.slideOffset += _.slideWidth * Math.floor(_.options.slidesToShow / 2) - _.slideWidth; } else if (_.options.centerMode === true) { _.slideOffset = 0; _.slideOffset += _.slideWidth * Math.floor(_.options.slidesToShow / 2); } if (_.options.vertical === false) { targetLeft = ((slideIndex * _.slideWidth) * -1) + _.slideOffset; } else { targetLeft = ((slideIndex * verticalHeight) * -1) + verticalOffset; } if (_.options.variableWidth === true) { if (_.slideCount <= _.options.slidesToShow || _.options.infinite === false) { targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex); } else { targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex + _.options.slidesToShow); } if (_.options.rtl === true) { if (targetSlide[0]) { targetLeft = (_.$slideTrack.width() - targetSlide[0].offsetLeft - targetSlide.width()) * -1; } else { targetLeft = 0; } } else { targetLeft = targetSlide[0] ? targetSlide[0].offsetLeft * -1 : 0; } if (_.options.centerMode === true) { if (_.slideCount <= _.options.slidesToShow || _.options.infinite === false) { targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex); } else { targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex + _.options.slidesToShow + 1); } if (_.options.rtl === true) { if (targetSlide[0]) { targetLeft = (_.$slideTrack.width() - targetSlide[0].offsetLeft - targetSlide.width()) * -1; } else { targetLeft = 0; } } else { targetLeft = targetSlide[0] ? targetSlide[0].offsetLeft * -1 : 0; } targetLeft += (_.$list.width() - targetSlide.outerWidth()) / 2; } } return targetLeft; }; Slick.prototype.getOption = Slick.prototype.slickGetOption = function(option) { var _ = this; return _.options[option]; }; Slick.prototype.getNavigableIndexes = function() { var _ = this, breakPoint = 0, counter = 0, indexes = [], max; if (_.options.infinite === false) { max = _.slideCount; } else { breakPoint = _.options.slidesToScroll * -1; counter = _.options.slidesToScroll * -1; max = _.slideCount * 2; } while (breakPoint < max) { indexes.push(breakPoint); breakPoint = counter + _.options.slidesToScroll; counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow; } return indexes; }; Slick.prototype.getSlick = function() { return this; }; Slick.prototype.getSlideCount = function() { var _ = this, slidesTraversed, swipedSlide, swipeTarget, centerOffset; centerOffset = _.options.centerMode === true ? Math.floor(_.$list.width() / 2) : 0; swipeTarget = (_.swipeLeft * -1) + centerOffset; if (_.options.swipeToSlide === true) { _.$slideTrack.find('.slick-slide').each(function(index, slide) { var slideOuterWidth, slideOffset, slideRightBoundary; slideOuterWidth = $(slide).outerWidth(); slideOffset = slide.offsetLeft; if (_.options.centerMode !== true) { slideOffset += (slideOuterWidth / 2); } slideRightBoundary = slideOffset + (slideOuterWidth); if (swipeTarget < slideRightBoundary) { swipedSlide = slide; return false; } }); slidesTraversed = Math.abs($(swipedSlide).attr('data-slick-index') - _.currentSlide) || 1; return slidesTraversed; } else { return _.options.slidesToScroll; } }; Slick.prototype.goTo = Slick.prototype.slickGoTo = function(slide, dontAnimate) { var _ = this; _.changeSlide({ data: { message: 'index', index: parseInt(slide) } }, dontAnimate); }; Slick.prototype.init = function(creation) { var _ = this; if (!$(_.$slider).hasClass('slick-initialized')) { $(_.$slider).addClass('slick-initialized'); _.buildRows(); _.buildOut(); _.setProps(); _.startLoad(); _.loadSlider(); _.initializeEvents(); _.updateArrows(); _.updateDots(); _.checkResponsive(true); _.focusHandler(); } if (creation) { _.$slider.trigger('init', [_]); } if (_.options.accessibility === true) { _.initADA(); } if ( _.options.autoplay ) { _.paused = false; _.autoPlay(); } }; Slick.prototype.initADA = function() { var _ = this, numDotGroups = Math.ceil(_.slideCount / _.options.slidesToScroll), tabControlIndexes = _.getNavigableIndexes().filter(function(val) { return (val >= 0) && (val < _.slideCount); }); _.$slides.add(_.$slideTrack.find('.slick-cloned')).attr({ 'aria-hidden': 'true', 'tabindex': '-1' }).find('a, input, button, select').attr({ 'tabindex': '-1' }); if (_.$dots !== null) { _.$slides.not(_.$slideTrack.find('.slick-cloned')).each(function(i) { var slideControlIndex = tabControlIndexes.indexOf(i); $(this).attr({ 'role': 'tabpanel', 'id': 'slick-slide' + _.instanceUid + i, 'tabindex': -1 }); if (slideControlIndex !== -1) { var ariaButtonControl = 'slick-slide-control' + _.instanceUid + slideControlIndex if ($('#' + ariaButtonControl).length) { $(this).attr({ 'aria-describedby': ariaButtonControl }); } } }); _.$dots.attr('role', 'tablist').find('li').each(function(i) { var mappedSlideIndex = tabControlIndexes[i]; $(this).attr({ 'role': 'presentation' }); $(this).find('button').first().attr({ 'role': 'tab', 'id': 'slick-slide-control' + _.instanceUid + i, 'aria-controls': 'slick-slide' + _.instanceUid + mappedSlideIndex, 'aria-label': (i + 1) + ' of ' + numDotGroups, 'aria-selected': null, 'tabindex': '-1' }); }).eq(_.currentSlide).find('button').attr({ 'aria-selected': 'true', 'tabindex': '0' }).end(); } for (var i=_.currentSlide, max=i+_.options.slidesToShow; i < max; i++) { if (_.options.focusOnChange) { _.$slides.eq(i).attr({'tabindex': '0'}); } else { _.$slides.eq(i).removeAttr('tabindex'); } } _.activateADA(); }; Slick.prototype.initArrowEvents = function() { var _ = this; if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) { _.$prevArrow .off('click.slick') .on('click.slick', { message: 'previous' }, _.changeSlide); _.$nextArrow .off('click.slick') .on('click.slick', { message: 'next' }, _.changeSlide); if (_.options.accessibility === true) { _.$prevArrow.on('keydown.slick', _.keyHandler); _.$nextArrow.on('keydown.slick', _.keyHandler); } } }; Slick.prototype.initDotEvents = function() { var _ = this; if (_.options.dots === true && _.slideCount > _.options.slidesToShow) { $('li', _.$dots).on('click.slick', { message: 'index' }, _.changeSlide); if (_.options.accessibility === true) { _.$dots.on('keydown.slick', _.keyHandler); } } if (_.options.dots === true && _.options.pauseOnDotsHover === true && _.slideCount > _.options.slidesToShow) { $('li', _.$dots) .on('mouseenter.slick', $.proxy(_.interrupt, _, true)) .on('mouseleave.slick', $.proxy(_.interrupt, _, false)); } }; Slick.prototype.initSlideEvents = function() { var _ = this; if ( _.options.pauseOnHover ) { _.$list.on('mouseenter.slick', $.proxy(_.interrupt, _, true)); _.$list.on('mouseleave.slick', $.proxy(_.interrupt, _, false)); } }; Slick.prototype.initializeEvents = function() { var _ = this; _.initArrowEvents(); _.initDotEvents(); _.initSlideEvents(); _.$list.on('touchstart.slick mousedown.slick', { action: 'start' }, _.swipeHandler); _.$list.on('touchmove.slick mousemove.slick', { action: 'move' }, _.swipeHandler); _.$list.on('touchend.slick mouseup.slick', { action: 'end' }, _.swipeHandler); _.$list.on('touchcancel.slick mouseleave.slick', { action: 'end' }, _.swipeHandler); _.$list.on('click.slick', _.clickHandler); $(document).on(_.visibilityChange, $.proxy(_.visibility, _)); if (_.options.accessibility === true) { _.$list.on('keydown.slick', _.keyHandler); } if (_.options.focusOnSelect === true) { $(_.$slideTrack).children().on('click.slick', _.selectHandler); } $(window).on('orientationchange.slick.slick-' + _.instanceUid, $.proxy(_.orientationChange, _)); $(window).on('resize.slick.slick-' + _.instanceUid, $.proxy(_.resize, _)); $('[draggable!=true]', _.$slideTrack).on('dragstart', _.preventDefault); $(window).on('load.slick.slick-' + _.instanceUid, _.setPosition); $(_.setPosition); }; Slick.prototype.initUI = function() { var _ = this; if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) { _.$prevArrow.show(); _.$nextArrow.show(); } if (_.options.dots === true && _.slideCount > _.options.slidesToShow) { _.$dots.show(); } }; Slick.prototype.keyHandler = function(event) { var _ = this; //Dont slide if the cursor is inside the form fields and arrow keys are pressed if(!event.target.tagName.match('TEXTAREA|INPUT|SELECT')) { if (event.keyCode === 37 && _.options.accessibility === true) { _.changeSlide({ data: { message: _.options.rtl === true ? 'next' : 'previous' } }); } else if (event.keyCode === 39 && _.options.accessibility === true) { _.changeSlide({ data: { message: _.options.rtl === true ? 'previous' : 'next' } }); } } }; Slick.prototype.lazyLoad = function() { var _ = this, loadRange, cloneRange, rangeStart, rangeEnd; function loadImages(imagesScope) { $('img[data-lazy]', imagesScope).each(function() { var image = $(this), imageSource = $(this).attr('data-lazy'), imageSrcSet = $(this).attr('data-srcset'), imageSizes = $(this).attr('data-sizes') || _.$slider.attr('data-sizes'), imageToLoad = document.createElement('img'); imageToLoad.onload = function() { image .animate({ opacity: 0 }, 100, function() { if (imageSrcSet) { image .attr('srcset', imageSrcSet ); if (imageSizes) { image .attr('sizes', imageSizes ); } } image .attr('src', imageSource) .animate({ opacity: 1 }, 200, function() { image .removeAttr('data-lazy data-srcset data-sizes') .removeClass('slick-loading'); }); _.$slider.trigger('lazyLoaded', [_, image, imageSource]); }); }; imageToLoad.onerror = function() { image .removeAttr( 'data-lazy' ) .removeClass( 'slick-loading' ) .addClass( 'slick-lazyload-error' ); _.$slider.trigger('lazyLoadError', [ _, image, imageSource ]); }; imageToLoad.src = imageSource; }); } if (_.options.centerMode === true) { if (_.options.infinite === true) { rangeStart = _.currentSlide + (_.options.slidesToShow / 2 + 1); rangeEnd = rangeStart + _.options.slidesToShow + 2; } else { rangeStart = Math.max(0, _.currentSlide - (_.options.slidesToShow / 2 + 1)); rangeEnd = 2 + (_.options.slidesToShow / 2 + 1) + _.currentSlide; } } else { rangeStart = _.options.infinite ? _.options.slidesToShow + _.currentSlide : _.currentSlide; rangeEnd = Math.ceil(rangeStart + _.options.slidesToShow); if (_.options.fade === true) { if (rangeStart > 0) rangeStart--; if (rangeEnd <= _.slideCount) rangeEnd++; } } loadRange = _.$slider.find('.slick-slide').slice(rangeStart, rangeEnd); if (_.options.lazyLoad === 'anticipated') { var prevSlide = rangeStart - 1, nextSlide = rangeEnd, $slides = _.$slider.find('.slick-slide'); for (var i = 0; i < _.options.slidesToScroll; i++) { if (prevSlide < 0) prevSlide = _.slideCount - 1; loadRange = loadRange.add($slides.eq(prevSlide)); loadRange = loadRange.add($slides.eq(nextSlide)); prevSlide--; nextSlide++; } } loadImages(loadRange); if (_.slideCount <= _.options.slidesToShow) { cloneRange = _.$slider.find('.slick-slide'); loadImages(cloneRange); } else if (_.currentSlide >= _.slideCount - _.options.slidesToShow) { cloneRange = _.$slider.find('.slick-cloned').slice(0, _.options.slidesToShow); loadImages(cloneRange); } else if (_.currentSlide === 0) { cloneRange = _.$slider.find('.slick-cloned').slice(_.options.slidesToShow * -1); loadImages(cloneRange); } }; Slick.prototype.loadSlider = function() { var _ = this; _.setPosition(); _.$slideTrack.css({ opacity: 1 }); _.$slider.removeClass('slick-loading'); _.initUI(); if (_.options.lazyLoad === 'progressive') { _.progressiveLazyLoad(); } }; Slick.prototype.next = Slick.prototype.slickNext = function() { var _ = this; _.changeSlide({ data: { message: 'next' } }); }; Slick.prototype.orientationChange = function() { var _ = this; _.checkResponsive(); _.setPosition(); }; Slick.prototype.pause = Slick.prototype.slickPause = function() { var _ = this; _.autoPlayClear(); _.paused = true; }; Slick.prototype.play = Slick.prototype.slickPlay = function() { var _ = this; _.autoPlay(); _.options.autoplay = true; _.paused = false; _.focussed = false; _.interrupted = false; }; Slick.prototype.postSlide = function(index) { var _ = this; if( !_.unslicked ) { _.$slider.trigger('afterChange', [_, index]); _.animating = false; if (_.slideCount > _.options.slidesToShow) { _.setPosition(); } _.swipeLeft = null; if ( _.options.autoplay ) { _.autoPlay(); } if (_.options.accessibility === true) { _.initADA(); if (_.options.focusOnChange) { var $currentSlide = $(_.$slides.get(_.currentSlide)); $currentSlide.attr('tabindex', 0).focus(); } } } }; Slick.prototype.prev = Slick.prototype.slickPrev = function() { var _ = this; _.changeSlide({ data: { message: 'previous' } }); }; Slick.prototype.preventDefault = function(event) { event.preventDefault(); }; Slick.prototype.progressiveLazyLoad = function( tryCount ) { tryCount = tryCount || 1; var _ = this, $imgsToLoad = $( 'img[data-lazy]', _.$slider ), image, imageSource, imageSrcSet, imageSizes, imageToLoad; if ( $imgsToLoad.length ) { image = $imgsToLoad.first(); imageSource = image.attr('data-lazy'); imageSrcSet = image.attr('data-srcset'); imageSizes = image.attr('data-sizes') || _.$slider.attr('data-sizes'); imageToLoad = document.createElement('img'); imageToLoad.onload = function() { if (imageSrcSet) { image .attr('srcset', imageSrcSet ); if (imageSizes) { image .attr('sizes', imageSizes ); } } image .attr( 'src', imageSource ) .removeAttr('data-lazy data-srcset data-sizes') .removeClass('slick-loading'); if ( _.options.adaptiveHeight === true ) { _.setPosition(); } _.$slider.trigger('lazyLoaded', [ _, image, imageSource ]); _.progressiveLazyLoad(); }; imageToLoad.onerror = function() { if ( tryCount < 3 ) { /** * try to load the image 3 times, * leave a slight delay so we don't get * servers blocking the request. */ setTimeout( function() { _.progressiveLazyLoad( tryCount + 1 ); }, 500 ); } else { image .removeAttr( 'data-lazy' ) .removeClass( 'slick-loading' ) .addClass( 'slick-lazyload-error' ); _.$slider.trigger('lazyLoadError', [ _, image, imageSource ]); _.progressiveLazyLoad(); } }; imageToLoad.src = imageSource; } else { _.$slider.trigger('allImagesLoaded', [ _ ]); } }; Slick.prototype.refresh = function( initializing ) { var _ = this, currentSlide, lastVisibleIndex; lastVisibleIndex = _.slideCount - _.options.slidesToShow; // in non-infinite sliders, we don't want to go past the // last visible index. if( !_.options.infinite && ( _.currentSlide > lastVisibleIndex )) { _.currentSlide = lastVisibleIndex; } // if less slides than to show, go to start. if ( _.slideCount <= _.options.slidesToShow ) { _.currentSlide = 0; } currentSlide = _.currentSlide; _.destroy(true); $.extend(_, _.initials, { currentSlide: currentSlide }); _.init(); if( !initializing ) { _.changeSlide({ data: { message: 'index', index: currentSlide } }, false); } }; Slick.prototype.registerBreakpoints = function() { var _ = this, breakpoint, currentBreakpoint, l, responsiveSettings = _.options.responsive || null; if ( $.type(responsiveSettings) === 'array' && responsiveSettings.length ) { _.respondTo = _.options.respondTo || 'window'; for ( breakpoint in responsiveSettings ) { l = _.breakpoints.length-1; if (responsiveSettings.hasOwnProperty(breakpoint)) { currentBreakpoint = responsiveSettings[breakpoint].breakpoint; // loop through the breakpoints and cut out any existing // ones with the same breakpoint number, we don't want dupes. while( l >= 0 ) { if( _.breakpoints[l] && _.breakpoints[l] === currentBreakpoint ) { _.breakpoints.splice(l,1); } l--; } _.breakpoints.push(currentBreakpoint); _.breakpointSettings[currentBreakpoint] = responsiveSettings[breakpoint].settings; } } _.breakpoints.sort(function(a, b) { return ( _.options.mobileFirst ) ? a-b : b-a; }); } }; Slick.prototype.reinit = function() { var _ = this; _.$slides = _.$slideTrack .children(_.options.slide) .addClass('slick-slide'); _.slideCount = _.$slides.length; if (_.currentSlide >= _.slideCount && _.currentSlide !== 0) { _.currentSlide = _.currentSlide - _.options.slidesToScroll; } if (_.slideCount <= _.options.slidesToShow) { _.currentSlide = 0; } _.registerBreakpoints(); _.setProps(); _.setupInfinite(); _.buildArrows(); _.updateArrows(); _.initArrowEvents(); _.buildDots(); _.updateDots(); _.initDotEvents(); _.cleanUpSlideEvents(); _.initSlideEvents(); _.checkResponsive(false, true); if (_.options.focusOnSelect === true) { $(_.$slideTrack).children().on('click.slick', _.selectHandler); } _.setSlideClasses(typeof _.currentSlide === 'number' ? _.currentSlide : 0); _.setPosition(); _.focusHandler(); _.paused = !_.options.autoplay; _.autoPlay(); _.$slider.trigger('reInit', [_]); }; Slick.prototype.resize = function() { var _ = this; if ($(window).width() !== _.windowWidth) { clearTimeout(_.windowDelay); _.windowDelay = window.setTimeout(function() { _.windowWidth = $(window).width(); _.checkResponsive(); if( !_.unslicked ) { _.setPosition(); } }, 50); } }; Slick.prototype.removeSlide = Slick.prototype.slickRemove = function(index, removeBefore, removeAll) { var _ = this; if (typeof(index) === 'boolean') { removeBefore = index; index = removeBefore === true ? 0 : _.slideCount - 1; } else { index = removeBefore === true ? --index : index; } if (_.slideCount < 1 || index < 0 || index > _.slideCount - 1) { return false; } _.unload(); if (removeAll === true) { _.$slideTrack.children().remove(); } else { _.$slideTrack.children(this.options.slide).eq(index).remove(); } _.$slides = _.$slideTrack.children(this.options.slide); _.$slideTrack.children(this.options.slide).detach(); _.$slideTrack.append(_.$slides); _.$slidesCache = _.$slides; _.reinit(); }; Slick.prototype.setCSS = function(position) { var _ = this, positionProps = {}, x, y; if (_.options.rtl === true) { position = -position; } x = _.positionProp == 'left' ? Math.ceil(position) + 'px' : '0px'; y = _.positionProp == 'top' ? Math.ceil(position) + 'px' : '0px'; positionProps[_.positionProp] = position; if (_.transformsEnabled === false) { _.$slideTrack.css(positionProps); } else { positionProps = {}; if (_.cssTransitions === false) { positionProps[_.animType] = 'translate(' + x + ', ' + y + ')'; _.$slideTrack.css(positionProps); } else { positionProps[_.animType] = 'translate3d(' + x + ', ' + y + ', 0px)'; _.$slideTrack.css(positionProps); } } }; Slick.prototype.setDimensions = function() { var _ = this; if (_.options.vertical === false) { if (_.options.centerMode === true) { _.$list.css({ padding: ('0px ' + _.options.centerPadding) }); } } else { _.$list.height(_.$slides.first().outerHeight(true) * _.options.slidesToShow); if (_.options.centerMode === true) { _.$list.css({ padding: (_.options.centerPadding + ' 0px') }); } } _.listWidth = _.$list.width(); _.listHeight = _.$list.height(); if (_.options.vertical === false && _.options.variableWidth === false) { _.slideWidth = Math.ceil(_.listWidth / _.options.slidesToShow); _.$slideTrack.width(Math.ceil((_.slideWidth * _.$slideTrack.children('.slick-slide').length))); } else if (_.options.variableWidth === true) { _.$slideTrack.width(5000 * _.slideCount); } else { _.slideWidth = Math.ceil(_.listWidth); _.$slideTrack.height(Math.ceil((_.$slides.first().outerHeight(true) * _.$slideTrack.children('.slick-slide').length))); } var offset = _.$slides.first().outerWidth(true) - _.$slides.first().width(); if (_.options.variableWidth === false) _.$slideTrack.children('.slick-slide').width(_.slideWidth - offset); }; Slick.prototype.setFade = function() { var _ = this, targetLeft; _.$slides.each(function(index, element) { targetLeft = (_.slideWidth * index) * -1; if (_.options.rtl === true) { $(element).css({ position: 'relative', right: targetLeft, top: 0, zIndex: _.options.zIndex - 2, opacity: 0 }); } else { $(element).css({ position: 'relative', left: targetLeft, top: 0, zIndex: _.options.zIndex - 2, opacity: 0 }); } }); _.$slides.eq(_.currentSlide).css({ zIndex: _.options.zIndex - 1, opacity: 1 }); }; Slick.prototype.setHeight = function() { var _ = this; if (_.options.slidesToShow === 1 && _.options.adaptiveHeight === true && _.options.vertical === false) { var targetHeight = _.$slides.eq(_.currentSlide).outerHeight(true); _.$list.css('height', targetHeight); } }; Slick.prototype.setOption = Slick.prototype.slickSetOption = function() { /** * accepts arguments in format of: * * - for changing a single option's value: * .slick("setOption", option, value, refresh ) * * - for changing a set of responsive options: * .slick("setOption", 'responsive', [{}, ...], refresh ) * * - for updating multiple values at once (not responsive) * .slick("setOption", { 'option': value, ... }, refresh ) */ var _ = this, l, item, option, value, refresh = false, type; if( $.type( arguments[0] ) === 'object' ) { option = arguments[0]; refresh = arguments[1]; type = 'multiple'; } else if ( $.type( arguments[0] ) === 'string' ) { option = arguments[0]; value = arguments[1]; refresh = arguments[2]; if ( arguments[0] === 'responsive' && $.type( arguments[1] ) === 'array' ) { type = 'responsive'; } else if ( typeof arguments[1] !== 'undefined' ) { type = 'single'; } } if ( type === 'single' ) { _.options[option] = value; } else if ( type === 'multiple' ) { $.each( option , function( opt, val ) { _.options[opt] = val; }); } else if ( type === 'responsive' ) { for ( item in value ) { if( $.type( _.options.responsive ) !== 'array' ) { _.options.responsive = [ value[item] ]; } else { l = _.options.responsive.length-1; // loop through the responsive object and splice out duplicates. while( l >= 0 ) { if( _.options.responsive[l].breakpoint === value[item].breakpoint ) { _.options.responsive.splice(l,1); } l--; } _.options.responsive.push( value[item] ); } } } if ( refresh ) { _.unload(); _.reinit(); } }; Slick.prototype.setPosition = function() { var _ = this; _.setDimensions(); _.setHeight(); if (_.options.fade === false) { _.setCSS(_.getLeft(_.currentSlide)); } else { _.setFade(); } _.$slider.trigger('setPosition', [_]); }; Slick.prototype.setProps = function() { var _ = this, bodyStyle = document.body.style; _.positionProp = _.options.vertical === true ? 'top' : 'left'; if (_.positionProp === 'top') { _.$slider.addClass('slick-vertical'); } else { _.$slider.removeClass('slick-vertical'); } if (bodyStyle.WebkitTransition !== undefined || bodyStyle.MozTransition !== undefined || bodyStyle.msTransition !== undefined) { if (_.options.useCSS === true) { _.cssTransitions = true; } } if ( _.options.fade ) { if ( typeof _.options.zIndex === 'number' ) { if( _.options.zIndex < 3 ) { _.options.zIndex = 3; } } else { _.options.zIndex = _.defaults.zIndex; } } if (bodyStyle.OTransform !== undefined) { _.animType = 'OTransform'; _.transformType = '-o-transform'; _.transitionType = 'OTransition'; if (bodyStyle.perspectiveProperty === undefined && bodyStyle.webkitPerspective === undefined) _.animType = false; } if (bodyStyle.MozTransform !== undefined) { _.animType = 'MozTransform'; _.transformType = '-moz-transform'; _.transitionType = 'MozTransition'; if (bodyStyle.perspectiveProperty === undefined && bodyStyle.MozPerspective === undefined) _.animType = false; } if (bodyStyle.webkitTransform !== undefined) { _.animType = 'webkitTransform'; _.transformType = '-webkit-transform'; _.transitionType = 'webkitTransition'; if (bodyStyle.perspectiveProperty === undefined && bodyStyle.webkitPerspective === undefined) _.animType = false; } if (bodyStyle.msTransform !== undefined) { _.animType = 'msTransform'; _.transformType = '-ms-transform'; _.transitionType = 'msTransition'; if (bodyStyle.msTransform === undefined) _.animType = false; } if (bodyStyle.transform !== undefined && _.animType !== false) { _.animType = 'transform'; _.transformType = 'transform'; _.transitionType = 'transition'; } _.transformsEnabled = _.options.useTransform && (_.animType !== null && _.animType !== false); }; Slick.prototype.setSlideClasses = function(index) { var _ = this, centerOffset, allSlides, indexOffset, remainder; allSlides = _.$slider .find('.slick-slide') .removeClass('slick-active slick-center slick-current') .attr('aria-hidden', 'true'); _.$slides .eq(index) .addClass('slick-current'); if (_.options.centerMode === true) { var evenCoef = _.options.slidesToShow % 2 === 0 ? 1 : 0; centerOffset = Math.floor(_.options.slidesToShow / 2); if (_.options.infinite === true) { if (index >= centerOffset && index <= (_.slideCount - 1) - centerOffset) { _.$slides .slice(index - centerOffset + evenCoef, index + centerOffset + 1) .addClass('slick-active') .attr('aria-hidden', 'false'); } else { indexOffset = _.options.slidesToShow + index; allSlides .slice(indexOffset - centerOffset + 1 + evenCoef, indexOffset + centerOffset + 2) .addClass('slick-active') .attr('aria-hidden', 'false'); } if (index === 0) { allSlides .eq( _.options.slidesToShow + _.slideCount + 1 ) .addClass('slick-center'); } else if (index === _.slideCount - 1) { allSlides .eq(_.options.slidesToShow) .addClass('slick-center'); } } _.$slides .eq(index) .addClass('slick-center'); } else { if (index >= 0 && index <= (_.slideCount - _.options.slidesToShow)) { _.$slides .slice(index, index + _.options.slidesToShow) .addClass('slick-active') .attr('aria-hidden', 'false'); } else if (allSlides.length <= _.options.slidesToShow) { allSlides .addClass('slick-active') .attr('aria-hidden', 'false'); } else { remainder = _.slideCount % _.options.slidesToShow; indexOffset = _.options.infinite === true ? _.options.slidesToShow + index : index; if (_.options.slidesToShow == _.options.slidesToScroll && (_.slideCount - index) < _.options.slidesToShow) { allSlides .slice(indexOffset - (_.options.slidesToShow - remainder), indexOffset + remainder) .addClass('slick-active') .attr('aria-hidden', 'false'); } else { allSlides .slice(indexOffset, indexOffset + _.options.slidesToShow) .addClass('slick-active') .attr('aria-hidden', 'false'); } } } if (_.options.lazyLoad === 'ondemand' || _.options.lazyLoad === 'anticipated') { _.lazyLoad(); } }; Slick.prototype.setupInfinite = function() { var _ = this, i, slideIndex, infiniteCount; if (_.options.fade === true) { _.options.centerMode = false; } if (_.options.infinite === true && _.options.fade === false) { slideIndex = null; if (_.slideCount > _.options.slidesToShow) { if (_.options.centerMode === true) { infiniteCount = _.options.slidesToShow + 1; } else { infiniteCount = _.options.slidesToShow; } for (i = _.slideCount; i > (_.slideCount - infiniteCount); i -= 1) { slideIndex = i - 1; $(_.$slides[slideIndex]).clone(true).attr('id', '') .attr('data-slick-index', slideIndex - _.slideCount) .prependTo(_.$slideTrack).addClass('slick-cloned'); } for (i = 0; i < infiniteCount + _.slideCount; i += 1) { slideIndex = i; $(_.$slides[slideIndex]).clone(true).attr('id', '') .attr('data-slick-index', slideIndex + _.slideCount) .appendTo(_.$slideTrack).addClass('slick-cloned'); } _.$slideTrack.find('.slick-cloned').find('[id]').each(function() { $(this).attr('id', ''); }); } } }; Slick.prototype.interrupt = function( toggle ) { var _ = this; if( !toggle ) { _.autoPlay(); } _.interrupted = toggle; }; Slick.prototype.selectHandler = function(event) { var _ = this; var targetElement = $(event.target).is('.slick-slide') ? $(event.target) : $(event.target).parents('.slick-slide'); var index = parseInt(targetElement.attr('data-slick-index')); if (!index) index = 0; if (_.slideCount <= _.options.slidesToShow) { _.slideHandler(index, false, true); return; } _.slideHandler(index); }; Slick.prototype.slideHandler = function(index, sync, dontAnimate) { var targetSlide, animSlide, oldSlide, slideLeft, targetLeft = null, _ = this, navTarget; sync = sync || false; if (_.animating === true && _.options.waitForAnimate === true) { return; } if (_.options.fade === true && _.currentSlide === index) { return; } if (sync === false) { _.asNavFor(index); } targetSlide = index; targetLeft = _.getLeft(targetSlide); slideLeft = _.getLeft(_.currentSlide); _.currentLeft = _.swipeLeft === null ? slideLeft : _.swipeLeft; if (_.options.infinite === false && _.options.centerMode === false && (index < 0 || index > _.getDotCount() * _.options.slidesToScroll)) { if (_.options.fade === false) { targetSlide = _.currentSlide; if (dontAnimate !== true && _.slideCount > _.options.slidesToShow) { _.animateSlide(slideLeft, function() { _.postSlide(targetSlide); }); } else { _.postSlide(targetSlide); } } return; } else if (_.options.infinite === false && _.options.centerMode === true && (index < 0 || index > (_.slideCount - _.options.slidesToScroll))) { if (_.options.fade === false) { targetSlide = _.currentSlide; if (dontAnimate !== true && _.slideCount > _.options.slidesToShow) { _.animateSlide(slideLeft, function() { _.postSlide(targetSlide); }); } else { _.postSlide(targetSlide); } } return; } if ( _.options.autoplay ) { clearInterval(_.autoPlayTimer); } if (targetSlide < 0) { if (_.slideCount % _.options.slidesToScroll !== 0) { animSlide = _.slideCount - (_.slideCount % _.options.slidesToScroll); } else { animSlide = _.slideCount + targetSlide; } } else if (targetSlide >= _.slideCount) { if (_.slideCount % _.options.slidesToScroll !== 0) { animSlide = 0; } else { animSlide = targetSlide - _.slideCount; } } else { animSlide = targetSlide; } _.animating = true; _.$slider.trigger('beforeChange', [_, _.currentSlide, animSlide]); oldSlide = _.currentSlide; _.currentSlide = animSlide; _.setSlideClasses(_.currentSlide); if ( _.options.asNavFor ) { navTarget = _.getNavTarget(); navTarget = navTarget.slick('getSlick'); if ( navTarget.slideCount <= navTarget.options.slidesToShow ) { navTarget.setSlideClasses(_.currentSlide); } } _.updateDots(); _.updateArrows(); if (_.options.fade === true) { if (dontAnimate !== true) { _.fadeSlideOut(oldSlide); _.fadeSlide(animSlide, function() { _.postSlide(animSlide); }); } else { _.postSlide(animSlide); } _.animateHeight(); return; } if (dontAnimate !== true && _.slideCount > _.options.slidesToShow) { _.animateSlide(targetLeft, function() { _.postSlide(animSlide); }); } else { _.postSlide(animSlide); } }; Slick.prototype.startLoad = function() { var _ = this; if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) { _.$prevArrow.hide(); _.$nextArrow.hide(); } if (_.options.dots === true && _.slideCount > _.options.slidesToShow) { _.$dots.hide(); } _.$slider.addClass('slick-loading'); }; Slick.prototype.swipeDirection = function() { var xDist, yDist, r, swipeAngle, _ = this; xDist = _.touchObject.startX - _.touchObject.curX; yDist = _.touchObject.startY - _.touchObject.curY; r = Math.atan2(yDist, xDist); swipeAngle = Math.round(r * 180 / Math.PI); if (swipeAngle < 0) { swipeAngle = 360 - Math.abs(swipeAngle); } if ((swipeAngle <= 45) && (swipeAngle >= 0)) { return (_.options.rtl === false ? 'left' : 'right'); } if ((swipeAngle <= 360) && (swipeAngle >= 315)) { return (_.options.rtl === false ? 'left' : 'right'); } if ((swipeAngle >= 135) && (swipeAngle <= 225)) { return (_.options.rtl === false ? 'right' : 'left'); } if (_.options.verticalSwiping === true) { if ((swipeAngle >= 35) && (swipeAngle <= 135)) { return 'down'; } else { return 'up'; } } return 'vertical'; }; Slick.prototype.swipeEnd = function(event) { var _ = this, slideCount, direction; _.dragging = false; _.swiping = false; if (_.scrolling) { _.scrolling = false; return false; } _.interrupted = false; _.shouldClick = ( _.touchObject.swipeLength > 10 ) ? false : true; if ( _.touchObject.curX === undefined ) { return false; } if ( _.touchObject.edgeHit === true ) { _.$slider.trigger('edge', [_, _.swipeDirection() ]); } if ( _.touchObject.swipeLength >= _.touchObject.minSwipe ) { direction = _.swipeDirection(); switch ( direction ) { case 'left': case 'down': slideCount = _.options.swipeToSlide ? _.checkNavigable( _.currentSlide + _.getSlideCount() ) : _.currentSlide + _.getSlideCount(); _.currentDirection = 0; break; case 'right': case 'up': slideCount = _.options.swipeToSlide ? _.checkNavigable( _.currentSlide - _.getSlideCount() ) : _.currentSlide - _.getSlideCount(); _.currentDirection = 1; break; default: } if( direction != 'vertical' ) { _.slideHandler( slideCount ); _.touchObject = {}; _.$slider.trigger('swipe', [_, direction ]); } } else { if ( _.touchObject.startX !== _.touchObject.curX ) { _.slideHandler( _.currentSlide ); _.touchObject = {}; } } }; Slick.prototype.swipeHandler = function(event) { var _ = this; if ((_.options.swipe === false) || ('ontouchend' in document && _.options.swipe === false)) { return; } else if (_.options.draggable === false && event.type.indexOf('mouse') !== -1) { return; } _.touchObject.fingerCount = event.originalEvent && event.originalEvent.touches !== undefined ? event.originalEvent.touches.length : 1; _.touchObject.minSwipe = _.listWidth / _.options .touchThreshold; if (_.options.verticalSwiping === true) { _.touchObject.minSwipe = _.listHeight / _.options .touchThreshold; } switch (event.data.action) { case 'start': _.swipeStart(event); break; case 'move': _.swipeMove(event); break; case 'end': _.swipeEnd(event); break; } }; Slick.prototype.swipeMove = function(event) { var _ = this, edgeWasHit = false, curLeft, swipeDirection, swipeLength, positionOffset, touches, verticalSwipeLength; touches = event.originalEvent !== undefined ? event.originalEvent.touches : null; if (!_.dragging || _.scrolling || touches && touches.length !== 1) { return false; } curLeft = _.getLeft(_.currentSlide); _.touchObject.curX = touches !== undefined ? touches[0].pageX : event.clientX; _.touchObject.curY = touches !== undefined ? touches[0].pageY : event.clientY; _.touchObject.swipeLength = Math.round(Math.sqrt( Math.pow(_.touchObject.curX - _.touchObject.startX, 2))); verticalSwipeLength = Math.round(Math.sqrt( Math.pow(_.touchObject.curY - _.touchObject.startY, 2))); if (!_.options.verticalSwiping && !_.swiping && verticalSwipeLength > 4) { _.scrolling = true; return false; } if (_.options.verticalSwiping === true) { _.touchObject.swipeLength = verticalSwipeLength; } swipeDirection = _.swipeDirection(); if (event.originalEvent !== undefined && _.touchObject.swipeLength > 4) { _.swiping = true; event.preventDefault(); } positionOffset = (_.options.rtl === false ? 1 : -1) * (_.touchObject.curX > _.touchObject.startX ? 1 : -1); if (_.options.verticalSwiping === true) { positionOffset = _.touchObject.curY > _.touchObject.startY ? 1 : -1; } swipeLength = _.touchObject.swipeLength; _.touchObject.edgeHit = false; if (_.options.infinite === false) { if ((_.currentSlide === 0 && swipeDirection === 'right') || (_.currentSlide >= _.getDotCount() && swipeDirection === 'left')) { swipeLength = _.touchObject.swipeLength * _.options.edgeFriction; _.touchObject.edgeHit = true; } } if (_.options.vertical === false) { _.swipeLeft = curLeft + swipeLength * positionOffset; } else { _.swipeLeft = curLeft + (swipeLength * (_.$list.height() / _.listWidth)) * positionOffset; } if (_.options.verticalSwiping === true) { _.swipeLeft = curLeft + swipeLength * positionOffset; } if (_.options.fade === true || _.options.touchMove === false) { return false; } if (_.animating === true) { _.swipeLeft = null; return false; } _.setCSS(_.swipeLeft); }; Slick.prototype.swipeStart = function(event) { var _ = this, touches; _.interrupted = true; if (_.touchObject.fingerCount !== 1 || _.slideCount <= _.options.slidesToShow) { _.touchObject = {}; return false; } if (event.originalEvent !== undefined && event.originalEvent.touches !== undefined) { touches = event.originalEvent.touches[0]; } _.touchObject.startX = _.touchObject.curX = touches !== undefined ? touches.pageX : event.clientX; _.touchObject.startY = _.touchObject.curY = touches !== undefined ? touches.pageY : event.clientY; _.dragging = true; }; Slick.prototype.unfilterSlides = Slick.prototype.slickUnfilter = function() { var _ = this; if (_.$slidesCache !== null) { _.unload(); _.$slideTrack.children(this.options.slide).detach(); _.$slidesCache.appendTo(_.$slideTrack); _.reinit(); } }; Slick.prototype.unload = function() { var _ = this; $('.slick-cloned', _.$slider).remove(); if (_.$dots) { _.$dots.remove(); } if (_.$prevArrow && _.htmlExpr.test(_.options.prevArrow)) { _.$prevArrow.remove(); } if (_.$nextArrow && _.htmlExpr.test(_.options.nextArrow)) { _.$nextArrow.remove(); } _.$slides .removeClass('slick-slide slick-active slick-visible slick-current') .attr('aria-hidden', 'true') .css('width', ''); }; Slick.prototype.unslick = function(fromBreakpoint) { var _ = this; _.$slider.trigger('unslick', [_, fromBreakpoint]); _.destroy(); }; Slick.prototype.updateArrows = function() { var _ = this, centerOffset; centerOffset = Math.floor(_.options.slidesToShow / 2); if ( _.options.arrows === true && _.slideCount > _.options.slidesToShow && !_.options.infinite ) { _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false'); _.$nextArrow.removeClass('slick-disabled').attr('aria-disabled', 'false'); if (_.currentSlide === 0) { _.$prevArrow.addClass('slick-disabled').attr('aria-disabled', 'true'); _.$nextArrow.removeClass('slick-disabled').attr('aria-disabled', 'false'); } else if (_.currentSlide >= _.slideCount - _.options.slidesToShow && _.options.centerMode === false) { _.$nextArrow.addClass('slick-disabled').attr('aria-disabled', 'true'); _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false'); } else if (_.currentSlide >= _.slideCount - 1 && _.options.centerMode === true) { _.$nextArrow.addClass('slick-disabled').attr('aria-disabled', 'true'); _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false'); } } }; Slick.prototype.updateDots = function() { var _ = this; if (_.$dots !== null) { _.$dots .find('li') .removeClass('slick-active') .end(); _.$dots .find('li') .eq(Math.floor(_.currentSlide / _.options.slidesToScroll)) .addClass('slick-active'); } }; Slick.prototype.visibility = function() { var _ = this; if ( _.options.autoplay ) { if ( document[_.hidden] ) { _.interrupted = true; } else { _.interrupted = false; } } }; $.fn.slick = function() { var _ = this, opt = arguments[0], args = Array.prototype.slice.call(arguments, 1), l = _.length, i, ret; for (i = 0; i < l; i++) { if (typeof opt == 'object' || typeof opt == 'undefined') _[i].slick = new Slick(_[i], opt); else ret = _[i].slick[opt].apply(_[i].slick, args); if (typeof ret != 'undefined') return ret; } return _; }; })); </script> <script type="text/javascript">$(document).ready(function(){ var filtersCleared = true; // slick carousel options $('.slick-modules').slick({ infinite: false, slidesToShow: 4, slidesToScroll: 4, responsive: [ { breakpoint: 990, settings: { slidesToShow: 3, slidesToScroll: 3 } }, { breakpoint: 768, settings: { slidesToShow: 2, slidesToScroll: 2 } }] }); // hovering over sort navigation var sortNav = $('.sort-nav'); $(sortNav).on('mouseover',function(e){ e.preventDefault(); $(this).addClass('active'); }).on('mouseleave',function(e){ e.preventDefault(); $(this).removeClass('active'); }); var screenW = ''; $(window).on('load resize',function(){ screenW = $(window).width(); }); // make nav sticky when scrolling down $(window).on('scroll',function(){ var scrollTop = $(document).scrollTop(); if(screenW >= 992){ // only on desktop if(scrollTop >= 1132){ $('.sticky-nav').addClass('sticky'); } else { $('.sticky-nav').removeClass('sticky'); } } if(screenW >= 1200){ // only on desktop if(scrollTop >= 727){ $('.sticky-nav').addClass('sticky'); } else { $('.sticky-nav').removeClass('sticky'); } } }); $('.hero__title').on('click',function(){ //go back to 1st page $('.segment--initial').show(); $('.segment--results, .segment--hidden').hide(); clearFilters(); $('body').removeClass('results'); }); function showResults(){ $('html').stop(); $('body').addClass('results'); $('.segment--initial').hide(); $('.segment--results').show(); var resultsSectionHandle = $("#tagplaceholder"); var headerHeight = $('header').height(); var stickNavHeight = $('.sticky-nav').height(); if(screenW <= 992){ // We do not need sticknav offset stickNavHeight = 0; } // calculate the final offset. var offset = headerHeight + stickNavHeight; var margin = 20; var scrollTo = resultsSectionHandle.offset().top - offset - margin; $('html').delay(100).animate({ scrollTop: scrollTo }, 500); return false; } //show all resources $('.view-all-btn').on('click',function(){ showResults(); // var resource = $('.subs-management__modules .resource-module, .billing-accounting__modules .resource-module, .subs-retention__modules .resource-module, .analytics-insights__modules .resource-module, #results-container .resource-module').sort().clone(); $('#results-container').addClass('show-all'); $('#results-container .resource-module').fadeIn(100); showNumResults(); showMore(); }); // detach all modules from the results and place them inside of the #results-container in appending order // var resultModules = $('.segment--results .resource-module').sort().detach(); var resultModules = $('.subs-management__modules .resource-module, .billing-accounting__modules .resource-module, .subs-retention__modules .resource-module, .analytics-insights__modules .resource-module, .segment--hidden .resource-module').sort().clone(); resultModules.appendTo('#results-container'); // update URL to include topic or content-type parameters. Example: recurly.com/resources/?topic="analytics_and_insights" var ctArr = []; var topicArr = []; function updateURLParams(type,name) { var url = '//' + location.host + location.pathname; var title = document.querySelector('title'); var queryString = window.location.search; var urlParams = new URLSearchParams(queryString); var getContentType = urlParams.get('ct'); var getTopicType = urlParams.get('topic'); if(type == 'clear'){ //clear filters ctArr = []; topicArr = []; history.replaceState(null, title, url); return false; } if(getContentType && getTopicType ){ //check first if there's already a ?ct= and &topic= if(type=='ct') { if(!firstLoad){ // ctArr.push(name); var containsName = ctArr.includes(name); //if there is, remove from list (from removeTags) if(containsName){ var index = ctArr.indexOf(name); if (index > -1) { ctArr.splice(index, 1); } }else { //else add it to ctArr ctArr.push(name); } }else { //else add it to ctArr ctArr.push(name); } topicArr = getTopicType.split(','); if(ctArr.length != 0){ history.replaceState(null, title, url+"?ct="+ctArr.join()+"&topic="+topicArr.join()); }else { history.replaceState(null, title, url+"?topic="+topicArr.join()); } } if(type=='topic'){ if(!firstLoad){ //if there is a topic, check if it's in topicArr first var containsTopicName = topicArr.includes(name); //if there is, remove from list (from removeTags) if(containsTopicName){ var index = topicArr.indexOf(name); if (index > -1) { topicArr.splice(index, 1); } }else { //else add it to topicArr topicArr.push(name); } }else { // since this is the firstLoad, it checks if topic is already in topicArr var containsTopicName = topicArr.includes(name); if(!containsTopicName){ topicArr.push(name); } } ctArr = getContentType.split(','); if(topicArr.length != 0){ history.replaceState(null, title, url+"?ct="+ctArr.join()+"&topic="+topicArr.join()); }else { history.replaceState(null, title, url+"?ct="+ctArr.join()); } } }else if(getContentType == null && getTopicType == null ){//check if there's no ?ct= and no ?topic= if(type=='ct') { ctArr.push(name); history.replaceState(null, title, url+"?ct="+ctArr.join()); }else if(type=='topic'){ topicArr.push(name); history.replaceState(null, title, url+"?topic="+topicArr.join()); } }else if(getContentType && getTopicType == null ){ if(type=='ct') { var containsName = ctArr.includes(name); //if there is, remove from list (from removeTags) if(containsName){ var index = ctArr.indexOf(name); if (index > -1) { ctArr.splice(index, 1); } }else { //else add it to ctArr ctArr.push(name); } if(ctArr.length != 0){ history.replaceState(null, title, url+"?ct="+ctArr.join()); }else { history.replaceState(null, title, url); } }else if(type=='topic'){ topicArr.push(name); history.replaceState(null, title, url+"?ct="+ctArr.join()+"&topic="+topicArr.join()); } } else if(getTopicType && getContentType == null ){ if(type=='ct') { ctArr.push(name); history.replaceState(null, title, url+"?ct="+ctArr.join()+"&topic="+topicArr.join()); }else if(type=='topic'){ //if there is a topic, check if it's in topicArr first var containsTopicName = topicArr.includes(name); //if there is, remove from list (from removeTags) if(containsTopicName){ var index = topicArr.indexOf(name); if (index > -1) { topicArr.splice(index, 1); } }else { //else add it to topicArr topicArr.push(name); } if(topicArr.length != 0){ history.replaceState(null, title, url+"?topic="+topicArr.join()); }else { history.replaceState(null, title, url); } } } } // get # of modules for a list. example: view all (22) function getViewAllNumber(className){ var viewAllSize = $('.segment--initial .resource-module.'+String(className)).length; $('.'+String(className)+'__length').html(viewAllSize); } getViewAllNumber('subscription_management'); getViewAllNumber('billing_and_accounting'); getViewAllNumber('subscriber_retention'); getViewAllNumber('analytics_and_insights'); //show # of results for all resources visible. example: Showing 20 of 100 function showNumResults(){ // need to wait for fadeIn/Out animation to finish before getting values setTimeout(function(){ var visible = $('#results-container .resource-module:visible').length == undefined ? 0 : $('#results-container .resource-module:visible').length; var hidden = $('#results-container .resource-module:hidden').length; var resultsTotalSize = visible + hidden; $('.results__length').html(visible); $('.results__length-total').html(resultsTotalSize); },200); } function showResource(type){ //grab classes from tagsplaceholder var showClasses = $('#tagplaceholder').prop('class'); //make classes as class selectors showClasses = showClasses ? showClasses.replace(/\s+/g, '.').toLowerCase() : ''; $('#results-container .resource-module').hide(); if(showClasses){ var resource = sortResources(showClasses); var howMany = $('.'+showClasses+'').length - 1; if(howMany != 0){ $('#results-container').append(resource); $('.'+showClasses+'').not('.hidden').fadeIn(100); } } showMore(); showNumResults(); } $('.showmore-btn').on('click',function(){ $('#results-container').css('max-height','none'); $('.showmore-wrap').hide(); }); function showMore(){ if($("#results-container").prop('scrollHeight') > $("#results-container").height() ) { // only show if results overflow $('.showmore-wrap').show(); }else { $('#results-container').removeAttr('style'); $('.showmore-wrap').hide(); } } function sortResources(classes){ var resource = $('#results-container .resource-module.'+classes+'').sort(function(a, b) { var aText = $(a).find('.resource-module__title').text().toLowerCase(); var bText = $(b).find('.resource-module__title').text().toLowerCase(); var aValue = $(a).data('priority'); var bValue = $(b).data('priority'); if (aValue == bValue) { //if priority is the same if (aText > bText) { //if alphabetically first return 1; } else if (aText == bText) { return 0; } else { return -1; } } else { // if priority is different return bValue - aValue; // highest to lowest priority first } }); // get the data-url value of resource and place it in an array var resourceArr = []; for (var i = resource.length - 1; i >= 0; i--) { var url = $(resource[i]).data('url'); resourceArr.push(url); } //fimd the duplicates in that array var dupChars = resourceArr.filter((c, index) => { return resourceArr.indexOf(c) !== index; }); // for each duplicate, add a .hidden class to the duplicates in the .results-container for (var i = 0; i < dupChars.length; i++) { // only apply the 'hidden' class to everything that matches the duplicates except for the first one var dupe = $('.results-container .resource-module[data-url="'+dupChars[i]+'"]:gt(0)'); $(dupe).addClass('hidden'); resource = resource.filter(dupe); } resource.detach(); return resource; } function addTag(tagtype,name,type){ filtersCleared = false; var tagsContainer = $('.tags-container'); var html = "<div class='tag' data-tagtype='"+type+"' data-tagclass='"+tagtype+"'>"+name+"</div>"; tagsContainer.append(html); $('#tagplaceholder').addClass(tagtype); if($(".tags-container").prop('scrollHeight') > $(".tags-container").height() ) { // only show if tags overflow $('.showtags').show(); } } function updateNavFilterNumbers(){ var topicsSelected = $('.topics-subnav').find('.active').length; var contentTypeSelected = $('.content-type-subnav').find('.active').length; if(topicsSelected != 0){ $('.topics-selected').html(topicsSelected); $('.topics-menu .sort-nav-name').find('span').show(); $('.clear-filters').show(); }else{ $('.topics-menu .sort-nav-name').find('span').hide(); } if(contentTypeSelected != 0){ $('.content-type-selected').html(contentTypeSelected); $('.content-type-menu .sort-nav-name').find('span').show(); $('.clear-filters').show(); }else{ $('.content-type-menu .sort-nav-name').find('span').hide(); } if(topicsSelected == 0 && contentTypeSelected == 0){ $('.clear-filters').hide(); } } function clearFilters(){ filtersCleared = true; $('.sort-subnav-item').removeClass('active'); //removes all active classes on nav dropdowns $('#tagplaceholder').removeClass(); // update tagplaceholder to be nothing $('.tag').hide(); //remove all tags $('#results-container .resource-module').fadeIn(100); // show all resources updateURLParams('clear',''); setTimeout(function(){ showMore(); updateNavFilterNumbers(); }, 150); } function removeTag(name,type){ $('#tagplaceholder').removeClass(name); $('.sort-subnav-item[data-topic="'+name+'"]').removeClass('active'); //remove nav active state $('.sort-subnav-item[data-content-type="'+name+'"]').removeClass('active'); //remove nav active state //grab classes from tagsplaceholder var showClasses = $('#tagplaceholder').prop('class'); //make classes as class selectors showClasses = showClasses ? showClasses.replace(/\s+/g, '.').toLowerCase() : ''; //hide all resource-modules with that class name $('#results-container .resource-module.'+name+'').fadeOut(100); //remove actual module //only show the ones that have class if(showClasses){ var resource = sortResources(showClasses); $('#results-container').append(resource); $('.'+showClasses+'').not('.hidden').fadeIn(100); }else { // if no more tag classes, show all modules clearFilters(); } //hide actual tag $('.tag[data-tagclass='+name+']').hide(); updateNavFilterNumbers(); showNumResults(); showMore(); if(filtersCleared == false){ updateURLParams(type,name); } } $('.clear-filters').on('click',function(){ clearFilters(); }); $('.back-to-top').on('click',function(){ $('html').delay(100).animate({ scrollTop: 300 }, 500); }); // sorting of sort navigation $('.sort-subnav-item').on('click',function(){ //hide all other segments and show results showResults(); var topic = $(this).data('topic'); var contentType = $(this).data('content-type'); var name = $(this).data('name'); //if results is showing all modules (from clicking the view all button), hide all modules first if($('#results-container').hasClass('show-all')){ $('#results-container').removeClass('show-all'); $('#results-container .resource-module').fadeOut(100); } if($('#results-container .resource-module').hasClass(topic) && !$(this).hasClass('active')){ $(this).addClass('active'); addTag(topic,name,'topic'); showResource(topic); updateURLParams('topic',topic); }else if($('#results-container .resource-module').hasClass(contentType) && !$(this).hasClass('active')){ $(this).addClass('active'); addTag(contentType,name,'ct'); showResource(contentType); updateURLParams('ct',contentType); }else if($(this).hasClass('active')){ //remove resource var navData = $(this).data('topic') ? $(this).data('topic') : $(this).data('content-type'); var type = $(this).data('topic') ? 'topic' : 'ct'; $(this).removeClass('active'); removeTag(navData,type); } updateNavFilterNumbers(); showNumResults(); //init showMore(); }); $('.sort-nav-item a').on('click',function(e){ e.preventDefault(); }); $('.view-all').on('click', function(){ showResults(); var topic = $(this).data('topic'); var name = $(this).data('name'); addTag(topic,name,'topic'); showResource(topic); }); $('body').on('click','.tag',function(){ var tagClass = $(this).data('tagclass'); var tagType = $(this).data('tagtype'); removeTag(tagClass,tagType); showNumResults(); }); $('.showtags').on('click',function(){ $('.tags-container').css('height','auto'); $(this).hide(); }); // checks if there is a URL param for ct (content type). If there is, sort by that content type var firstLoad = true; var queryString = window.location.search; var urlParams = new URLSearchParams(queryString); var typeOfContent = urlParams.get('ct'); var topicType = urlParams.get('topic'); if(typeOfContent){ var contentTypeArray = typeOfContent.split(','); //clicks through each contentType in the list from ?ct= contentTypeArray.forEach(function(item, index, array) { $('.sort-subnav-item[data-content-type='+item+']').click(); }); } if(topicType){ var topicTypeArray = topicType.split(','); //clicks through each topicType in the list from ?topic= topicTypeArray.forEach(function(item, index, array) { $('.sort-subnav-item[data-topic='+item+']').click(); }); } //set to false so that it won't run the firstLoad condition in the updateURLParams() function firstLoad = false; }); </script> <script type="text/javascript">$(window).on('load',function(){ $animation = $('.animation'), canAnimate = function(){ return !$('html').hasClass('no-cssanimations'); }, playAnimation = function() { if (canAnimate() == true) { $animation.each(function() { var t = this; if($(t).hasClass('short')){ $(t).waypoint({ offset: 350, handler: function($t) { $(t).addClass('play'); } }); }else if($(t).hasClass('shorter')){ $(t).waypoint({ offset: '20%', handler: function($t) { $(t).addClass('play'); } }); }else if($(t).hasClass('tall')){ $(t).waypoint({ offset: '80%', handler: function($t) { $(t).addClass('play'); } }); }else{ $(t).waypoint({ offset: 500, handler: function($t) { $(t).addClass('play'); } }); } }); }; }; if($animation.length > 0){ playAnimation(); }; }); </script> <script type="text/javascript">$(document).ready(function(){ var headerEl = $('.header-wrap'); var navigationItems = headerEl.find('.navigation__item'); var leaveTime = 300; var triggerNavTimeout = 10; var headerHoverTimer; var scrollV; var userHasEnteredSubnav = false; $(window).on('scroll', function(){ scrollV = $(this).scrollTop(); }); var onHeaderEnter = function(){ clearTimeout(headerHoverTimer); headerEl.addClass('header-wrap--fixed'); }; var onHeaderLeave = function(){ headerHoverTimer = setTimeout(function(){ headerEl.removeClass('header-wrap--fixed'); }, leaveTime); }; var onItemEnter = function(){ clearTimeout(headerHoverTimer); headerEl.addClass('header--hover'); }; var onItemLeave = function(){ headerHoverTimer = setTimeout(function(){ headerEl.removeClass('header--hover'); }, leaveTime); }; var clearAllSubs = function(){ headerEl.find('.navigation__item--hover').removeClass('navigation__item--hover'); headerEl.find('.hover').removeClass('hover'); }; headerEl.on('mouseenter focus', function(){ onHeaderEnter(); }); headerEl.on('keyup', function(e) { if (e.which == 9) { onHeaderEnter(); } }); headerEl.on('mouseleave', function(){ scrollV == 0 ? onHeaderLeave() : null; clearAllSubs(); }); navigationItems.each(function(){ var navigationItemHoverTimer; var el = $(this); var hasSub = $(this).hasClass('subnav'); var navSubnav = $(this).data('subnav'); // name of the subnav var hasSubnavItem = $(this).find('.subnav-item__column').length; var navSubObserver = null; var navEnterTimeout; var navigationLink = $('.navigation a'); var hideSubNav = function() { userHasEnteredSubnav = false; if(navSubnav !== 'undefined'){ navItem= $('.subnav-item__column--'+navSubnav).addClass('hide'); } if($(".subnav-item__column:hover, .subnav-item__column:focus").length === 0) { // if not hovering over subnav el.removeClass('navigation__item--hover'); } onItemLeave(); }; hideSubNav(); if(hasSub){ el.on('mouseenter focus keyup', function(){ clearTimeout(navigationItemHoverTimer); navSubObserver = el; clearTimeout(navEnterTimeout); // user has entered subnav if(el.hasClass('header-nav')) { userHasEnteredSubnav = true; // check to see if user ever entered subnav. } navEnterTimeout = setTimeout(function(){ if (navSubObserver === el) { if($(".subnav-item__column:hover, .subnav-item__column:focus").length === 0){ // if not hovering over subnav clearAllSubs(); } el.addClass('navigation__item--hover'); if(hasSub){ $('.subnav-item__column').addClass('hide'); $('.subnav-item__column--'+navSubnav).removeClass('hide'); } onItemEnter(); } }, triggerNavTimeout); // add active class to first subnav item el.find('.subnav-item__nav').removeClass('active'); el.find('.subnav-item__nav').first().addClass('active'); el.find('.subnav-item__secondary').removeClass('active'); el.find('.subnav-item__secondary--1').addClass('active'); }); el.on('mouseleave', function(){ clearTimeout(navEnterTimeout); navSubObserver = null; // User hovered out of main nav, probably into subnav. if(!el.hasClass('header-nav')) { // check to see if user ever entered subnav. setTimeout(function(){ if(!userHasEnteredSubnav) { hideSubNav(); } }, triggerNavTimeout); return; } hideSubNav(); // select only the 1st of the subnav on mouseleave el.find('.subnav-item__secondary').removeClass('active'); el.find('.subnav-item__secondary--1').addClass('active'); }); //close nav when clicking on link navigationLink.on('click',function(){ hideSubNav(); }); } }); $(".subnav-item__column").on('mouseleave', function() { clearAllSubs(); }); var navigationItemNav = $('.subnav-item__left .subnav-item__nav'); navigationItemNav.on('mouseenter focus keyup', function(){ $('.subnav-item__left .subnav-item__nav').removeClass('active'); $(this).addClass('active'); $('.subnav-item__secondary').removeClass('active'); var hoverdata = $(this).data('hover'); $('.subnav-item__secondary--'+hoverdata).addClass('active'); }); // mobile nav const $mobileToggle = $('.action-toggle-mobile-nav'); const $mobileMenu = $('#mobileNav'); const $headerWrap = $('.header-wrap'); $mobileToggle.on('click', function() { var $this = $(this); var promoBannerPadding = $('.promo-banner--padding'); $this.toggleClass('header__toggle--active'); $mobileMenu.toggleClass('mobile-nav__menu--active'); $this.find('.category-item-link').toggleClass('active') $headerWrap.toggleClass('mobile-nav-open'); if(promoBannerPadding.length){ $('.wrap__content').toggleClass('nav-open'); } //fix background nav scrolling issue // if(headerLink.hasClass('header__toggle--active')) { // $('html').css('overflow-y','scroll'); // } else { // $('html').css('overflow-y','hidden'); // } }); function manageActiveItem (element) { var $menuItem = element.closest('.mobile-nav__category-item-link.mobile-nav__accordion-toggle'); var $accordianActive = element.closest('.mobile-nav__accordion'); $('.mobile-nav__category-item-link.mobile-nav__accordion-toggle').not($menuItem).removeClass('active'); $('.mobile-nav__accordion').not($accordianActive).removeClass('active'); element.find('.mobile-nav__accordion').removeClass('active'); element.removeClass('active'); } $('.mobile-nav__accordion-toggle').on('click', function() { var $this = $(this); if($this.hasClass('active')) { manageActiveItem($this) return; } manageActiveItem($this); $this.toggleClass('active'); $this.siblings('.mobile-nav__accordion').toggleClass('active'); }); var lastScrollTop = 0; var winW = $(window).width(); var headerWrap = $('.stickynav .header-wrap'); // on load and scroll $(window).on('load scroll', function() { var scrollPos = $(window).scrollTop(); var heroBanner = $('.home-promo'); var heroBannerHeight = heroBanner.outerHeight(); if(heroBanner.length){ var heroBannerHeight = heroBanner.outerHeight(); } else { var heroBannerHeight = 0; } if (scrollPos > lastScrollTop) { //scrolling down if (scrollPos >= heroBannerHeight || winW <= 992) { headerWrap.addClass('header-wrap--fixed').css({ 'top': '0' }); } else if (scrollPos < heroBannerHeight) { headerWrap.removeClass('header-wrap--fixed').css({ 'top': heroBannerHeight }); } } else { //scrolling up headerWrap.removeClass('header-wrap--fixed').css({ 'top': heroBannerHeight }); } }); }); </script> <script type="text/javascript">(function($, doc, win){ "user strict"; // Array Remove - By John Resig (MIT Licensed) // Array.prototype.remove = function(from, to) { // var rest = this.slice((to || from) + 1 || this.length); // this.length = from < 0 ? this.length + from : from; // return this.push.apply(this, rest); // }; // var parseURL = function(string){ // var url = (string != "" && string != undefined) ? string : location.href; // return url.split('/'); // } // ,isroot = function(array){ // var address = (array !== null) ? array : parseURL(); // address.pop(); // var last = address[address.length-1]; // if(last === 'product' || address[address.length-2] === 'product'){ // return true; // } // return last; // } // ,changeURL = function(loc){ // var urlArray = parseURL(); // if(isroot(urlArray) !== true) // urlArray.pop(urlArray[urlArray.length-1]); // urlArray.push(loc); // return urlArray.join('/'); // } // ,locate = function(loc, title, desc, state){ // if(title == undefined){ // title = 'Product'; // } // title = title + " | Product - Recurly"; // var url = changeURL(loc)+"/"; // ga('send', 'pageview'); // if(!$('html').hasClass('ie9')){ // if(state == 'replaceState'){ // history.replaceState(null, title, url); // }else if(state == 'pushState') { // history.pushState(null, title, url); // } // } // $('title').text(title); // $('meta[property="og:title"], meta[name="twitter:title"]').attr('content', title); // $('meta[property="og:url"], meta[name="twitter:url"]').attr('content', url); // $('meta[name=description], meta[property="og:description"], meta[name="twitter:description"]').attr('content', desc); // $('link[rel=canonical]').attr('href', url); // } // ,scrollPage = function(loc){ // $('html, body').animate({ // scrollTop : $('#'+loc).offset().top - 79 // }, 800); // } // ,pageLoadScroll = function(){ // if($('body').hasClass('product')){ // var loc = isroot(parseURL()); // var cur = parseURL(); // if(cur.length == 5){ // cur.push(""); // } // var curLast = cur[cur.length-1]; // if( loc !== true && // (cur[cur.length-1] == 'product' || // cur[cur.length-1] == 'subscription-management' || // cur[cur.length-1] == 'payment-optimization' || // cur[cur.length-1] == 'billing-and-accounting' || // cur[cur.length-1] == 'security-and-compliance' || // cur[cur.length-1] == 'developer-resources' || // cur[cur.length-1] == 'expert-support' )){ // scrollPage(loc); // }else { // function offsetAnchor() { // var yPos = curLast != "" ? $(curLast).offset().top - 79 : 0; // window.scrollTo(window.scrollX, yPos); // } // $(window).on("hashchange", function () { // offsetAnchor(); // }); // window.setTimeout(function() { // offsetAnchor(); // }, 500); // } // }; // } // ,pageLoad = function(){ // // if($('body').hasClass('product')){ // // var cur = parseURL(); // // if(cur.length == 5 && cur[cur.length-2] != 'product'){ // // cur.push(""); // // } // // if(cur.length == 5){ // // cur.push(""); // // } // // if(cur[cur.length-1] == ""){ // // var newcur = cur.pop(); // // } // // var popped = cur.pop(); // // popped = popped.toString().replace("#",""); // // if( cur[cur.length-1] == 'subscription-management' || // // cur[cur.length-1] == 'payment-optimization' || // // cur[cur.length-1] == 'billing-and-accounting' || // // cur[cur.length-1] == 'security-and-compliance' || // // cur[cur.length-1] == 'developer-resources' || // // cur[cur.length-1] == 'expert-support' ){ // // window.location.replace(cur.join('/')+'/#'+popped); // // }else if(cur[cur.length-1] == 'product' ){ // in subpages // // var urlArray = parseURL(); // // if(urlArray.length == 5 && urlArray[urlArray.length-1] != ''){ // // var joined = urlArray.join('/'); // // window.history.replaceState(null, 'title', joined+'/'); // // } // // } // // }; // } // ,clickHandler = function(e, that){ // var href = $(that).attr('href'), // current = location.href; // href = parseURL(href); // current = parseURL(current); // e.preventDefault(); // if(href[href.length-1] === ""){ // href.pop(); // } // // scroll to page // if( current[current.length-2] === href[href.length-2] && current[current.length-2] !== 'product' ){ // e.preventDefault(); // var loc = href[href.length-1]; // var title = $('#'+loc).find('.heading-label'), // desc = $('#'+loc).attr('data-description'); // locate(loc, $(title[0]).html(), desc, 'pushState'); // scrollPage(loc); // } else if(href[href.length-2] == 'product' || href[href.length-2] == '' ){ // // go to product-sub page // e.preventDefault(); // var hrefpopped2 = href.pop(); // href = href.join('/'); // window.location = href+'/'+hrefpopped2+'/'; // }else if(href[href.length-3] == 'product' ){ // // go to product-sub page id // e.preventDefault(); // var hrefpopped2 = href.pop(); // href = href.join('/'); // window.location = href+'/#'+hrefpopped2; // // return false; // } // }; // pageLoadScroll(); // pageLoad(); // $('.product').find('.data-section:not("#help")').waypoint(function(direction){ // if(this.element.id != null){ // if(direction == 'up'){ // if(this.element.previousElementSibling != null){ // var loc = this.element.previousElementSibling.id; // }else if(this.parentElement != undefined){ // var loc = this.element.parentElement.id; // }else { // var loc = this.element.parentElement.previousElementSibling.id; // } // }else { // var loc = this.element.id; // } // if(loc){ // var desc = $('#'+loc).attr('data-description'), // title = $('#'+loc).find('.heading-label'); // locate(loc, $(title[0]).html(), desc, 'replaceState'); // } // }; // },{ // offset: 80 // }); // $('.navigation__productlist a, .heading-lite a').on('click', function(e){ // clickHandler(e, this); // }); // var winW = $(window).width(); // $(window).on('resize', function(){ // winW = $(window).width(); // }); // show/hide sticky nav var lastScrollTop = 0; var ctaSegment = $('.cta-segment--inline'); if(ctaSegment.length > 0){ var height = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight; } })(jQuery, document, window); </script> <script type="text/javascript">(function(){ /* config area - replace with your instance values */ var mktoFormConfig = { podId : "//go.recurly.com", munchkinId : "439-LSC-903", formIds : [1483] //blog subscribe }; /* ---- NO NEED TO TOUCH ANYTHING BELOW THIS LINE! ---- */ function mktoFormChain(config) { /* util */ var arrayFrom = Function.prototype.call.bind(Array.prototype.slice); /* const */ var MKTOFORM_ID_ATTRNAME = "data-formid"; /* fix inter-form label bug! */ MktoForms2.whenRendered(function(form) { $('.mktoForm').removeAttr('style'); $('.mktoForm > style').remove(); $('.mktoHasWidth').width('auto'); var blogSubscribeExists = $('.blog__subscribe-wrapper').length; if(blogSubscribeExists){ $('.blog__subscribe-wrapper .mktoForm .mktoButtonWrap.mktoSimple .mktoButton').text('Submit'); $('.blog__subscribe-wrapper .mktoForm input[type=email]').click(function() { $('.blog__subscribe-wrapper .mktoForm > div:nth-child(2)').addClass('open'); $('.blog__subscribe-wrapper .gdpr__privacy').addClass('open'); $('.blog__subscribe-wrapper .mktoForm .mktoButtonWrap.mktoSimple .mktoButton').addClass('open'); $('.blog__subscribe-wrapper .mktoForm .mktoButtonRow').addClass('open'); }); } var thankYouExists = $('.blog__subscribe-input .submitted-message').length; if(thankYouExists){ $('.blog__subscribe-input').addClass('thankyou'); } function randomNumber() { return "_" + new Date().getTime() + Math.random(); } var formEl = form.getFormElem()[0]; arrayFrom(formEl.querySelectorAll("label[for]")).forEach(function(labelEl) { var forEl = formEl.querySelector('[id="' + labelEl.htmlFor + '"]'); if (forEl) { labelEl.htmlFor = forEl.id = forEl.id + randomNumber(); } }); var btn = $(formEl).find('.mktoButton'); $('.mktoForm').removeAttr('style'); $('.mktoForm > style').remove(); $('.mktoHasWidth').width('auto'); //Add an onSuccess handler form.onSuccess(function(values, followUpUrl) { // only for blog if($(formEl).parent().hasClass('blog__subscribe-wrapper')){ $('.mktoButton').text(''); btn.addClass('progress').css({'background':'url("/img2/icons/icon_loading-success_css.svg?'+randomNumber()+'") center no-repeat #893999', 'background-size':'24px'}).val(''); $(formEl).find('.mktoField').prop( "disabled", true ).change() setTimeout(function(){ $('.blog__subscribe-start').fadeOut(500); $('.blog__subscribe-wrapper .mktoForm').fadeTo(500, 0).delay(500).css({'z-index':'-1','height':'5rem'}); $('.blog__subscribe-start').fadeTo(500, 0).delay(500).css({'display':'none'}); $('.blog__subscribe-end').fadeIn(500); },3000); } return false; }); }); MktoForms2.onFormRender(function(form) { //label animation $(".mktoField").focus(function() { var label = $(this).prevAll('label'); $(this).addClass('active'); label.addClass('active'); }); $(".mktoField").blur(function() { var label = $(this).prevAll('label'); var input = $(this); if (!(input).val()) { label.removeClass('active'); } }); }); /* chain, ensuring only one #mktoForm_nnn exists at a time */ arrayFrom(config.formIds).forEach(function(formId) { var loadForm = MktoForms2.loadForm.bind(MktoForms2,config.podId,config.munchkinId,formId), formEls = arrayFrom(document.querySelectorAll("[" + MKTOFORM_ID_ATTRNAME + '="' + formId + '"]')); (function loadFormCb(formEls) { var formEl = formEls.shift(); formEl.id = "mktoForm_" + formId; loadForm(function(form) { formEl.id = ""; if (formEls.length) { loadFormCb(formEls); } }); })(formEls); }); } var form14833exists = false; $('form').each(function(){ if($(this).data('formid') == '1483'){ form14833exists = true; } }); if(form14833exists && typeof MktoForms2 != "undefined" ) { mktoFormChain(mktoFormConfig); } }()); </script> <script type="text/javascript">// add target="_blank" to all outgoing links $('.wrap__content a').each(function() { var a = new RegExp('/' + window.location.host + '/'); if (!a.test(this.href)) { $(this).attr("target","_blank"); } }); </script> <script type="text/javascript"> (function(){ // Marketo Forms if(typeof MktoForms2 != "undefined" ){ MktoForms2.whenReady( function(form){ //move privacy policy before the submit button $('.mktoForm').each(function(){ var privacy = $(this).find('.gdpr__privacy').closest('.mktoFormRow').detach(); var mktoButton = $(this).find('.mktoButtonRow'); privacy.insertAfter(mktoButton); }); }); } // Qualified (function(w,q){w['QualifiedObject']=q;w[q]=w[q]||function(){ (w[q].q=w[q].q||[]).push(arguments)};})(window,'qualified') let script = document.createElement("script"); script.type = 'text/javascript'; script.async = true; script.src = 'https://js.qualified.com/qualified.js?token=axRUhvBKmPtNTBZg'; document.head.appendChild(script); }()); </script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10