<!DOCTYPE html>
<html lang="en" class="MainHtml">

<head>
  <meta charset="utf-8">
  <meta http-equiv="x-ua-compatible" content="ie=edge">
  <title>Enabling Innovative Ecommerce</title>
  <meta name="description" content="RevCent offers a suite of cutting-edge tools, giving ecommerce businesses the ability to innovate." />
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  <link rel="icon" href="https://cdn.revcent.com/img/favicon.png">


  <link rel="stylesheet" href="https://cdn.revcent.com/public-new/css/vendor/bootstrap.min.css">
  <link rel="stylesheet" href="https://cdn.revcent.com/public-new/css/vendor/slick.css">
  <link rel="stylesheet" href="https://cdn.revcent.com/public-new/css/vendor/slick-theme.css">
  <link rel="stylesheet" href="https://cdn.revcent.com/public-new/css/plugins/sal.css">
  <link rel="stylesheet" href="https://cdn.revcent.com/public-new/css/plugins/feather.css">
  <link rel="stylesheet" href="https://cdn.revcent.com/css/plugins/fontawesome-5/css/all.css">
  <link rel="stylesheet" href="https://cdn.revcent.com/public-new/css/plugins/euclid-circulara.css">
  <link rel="stylesheet" href="https://cdn.revcent.com/public-new/css/plugins/swiper.css">
  <link rel="stylesheet" href="https://cdn.revcent.com/public-new/css/plugins/magnify.css">
  <link rel="stylesheet" href="https://cdn.revcent.com/public-new/css/plugins/odometer.css">
  <link rel="stylesheet" href="https://cdn.revcent.com/public-new/css/plugins/animation.css">
  <link rel="stylesheet" href="https://cdn.revcent.com/public-new/css/plugins/bootstrap-select.min.css">
  <link rel="stylesheet" href="https://cdn.revcent.com/public-new/css/plugins/jquery-ui.css">
  <link rel="stylesheet" href="https://cdn.revcent.com/public-new/css/plugins/magnigy-popup.min.css">
  <link rel="stylesheet" href="https://cdn.revcent.com/public-new/css/plugins/plyr.css">
  <link rel="stylesheet" href="https://cdn.revcent.com/css/plugins/sweetalert/sweetalert.css" type="text/css" />
  <link rel="stylesheet" href="https://cdn.revcent.com/public-new/css/style.css">
  <style>
    html {
      --gutterWidth: 16px;
      --scrollbarWidth: 0px;
      --windowWidth: calc(100vw - var(--scrollbarWidth));
      --layoutWidth: calc(var(--windowWidth) - var(--gutterWidth)*2);
      --layoutWidthMax: 1080px;
      --viewWidthSmall: 375;
      --viewWidthMedium: 600;
      --viewWidthLarge: 1112;
      --viewportScale: calc(var(--windowWidth)/var(--viewWidthLarge));
      --paddingTop: 160px;
      --paddingBottom: 160px;
      --colPadNone: 0;
      --colPadSmall: 8px;
      --colPadNormal: 16px;
      --colPadMedium: 16px;
      --colPadLarge: 16px;
      --colPadXLarge: 16px;
      --rowGap: 8px;
      --navSignupBg: #b966e721;
      --navSignupColor: #b966e7;
      --navSignupBgH: #b966e7;
      --navSignupColorH: #ffffff;
      --shadow-blue: 0px 6px 34px rgb(119 138 255 / 18%);
      --shadow-12: 0px 18px 36px -12px rgba(0, 0, 0, 0.1), 0px 30px 45px -30px rgba(50, 50, 93, 0.25)
    }


    @media (min-width:768px) {
      html {
        --colPadMedium: 32px;
        --colPadLarge: 64px;
        --colPadXLarge: 64px;
      }
    }

    @media (min-width:991px) {
      html {
        --colPadXLarge: 112px;
      }
    }

    @media (min-width:1112px) {
      html {
        --layoutWidth: var(--layoutWidthMax);
        --gutterWidth: calc(var(--windowWidth)/2 - var(--layoutWidth)/2)
      }
    }
  </style>

  <style>
    :root {
      --color-body: #474a51;
      --largeHeroLWidthMax: 1080px;
      --largeHeroLWidth: var(--largeHeroLWidthMax);
      --largeHeroGWidth: calc(var(--windowWidth)/2 - var(--largeHeroLWidth)/2);
      --largeHeroOffsetX: var(--largeHeroGWidth);
      --largeHeroTransformX: calc(var(--largeHeroGWidth)*0.8);
      --largeHeroPaddingTop: calc(116*1px);
      --largeHeroGHeight: calc(100% + var(--largeHeroPaddingTop) + var(--largeHeroTransformX)*0.212);
    }
  </style>

  <style>
    .Section {
      --sectAngleSin: var(--angleNormalSin);
      --sectAngle: 0;
      --sectPaddingSmallMax: 110;
      --sectPaddingXSmallMax: 72;
      --sectPaddingMin: 72;
      --sectPaddingMax: var(--sectPaddingNormalMax);
      --sectPaddingTopMax: var(--sectPaddingMax);
      --sectPaddingBottomMax: var(--sectPaddingMax);
      --sectionMarginBottom: 0;
      --sectAngleHeight: calc(var(--windowWidth)*var(--sectAngleSin));
      --sectAnglePaddingBaseMin: 100;
      --sectAnglePaddingBaseMax: var(--sectPaddingMax);
      --sectAnglePaddingTopBaseMax: var(--sectAnglePaddingBaseMax);
      --sectAnglePaddingBottomBaseMax: var(--sectAnglePaddingBaseMax);
      --sectAngleMaxHeight: none;
      --sectionOverflow: hidden;
      --sectionTransformOrigin: 100% 0;
      --sectionBackgroundOverflow: visible;
      position: relative;
      z-index: 1;
      margin-bottom: var(--sectionMarginBottom);
      color: var(--textColor);
      scroll-margin-top: calc(var(--fNvHeight) + var(--fNvSpacing) - var(--sectPaddingTop))
    }


    .Section {
      --sectPaddingNormalMax: 128
    }


    .Sect--hasStickyNav {
      --sectionOverflow: visible
    }

    .Sect--hasBorderTop .Sect__background {
      border-top: 1px solid rgba(230, 235, 241, .52)
    }

    .Sect--paddingSmall {
      --sectPaddingMax: var(--sectPaddingSmallMax)
    }

    .Sect--paddingXSmall {
      --sectPaddingMax: var(--sectPaddingXSmallMax)
    }

    .Section {
      --sectAnglePaddingTopBase: calc(var(--sectAnglePaddingBaseMin)*1px + (var(--sectAnglePaddingTopBaseMax) - var(--sectAnglePaddingBaseMin))*(var(--windowWidth)/737 - 0.50882px));
      --sectAnglePaddingBottomBase: calc(var(--sectAnglePaddingBaseMin)*1px + (var(--sectAnglePaddingBottomBaseMax) - var(--sectAnglePaddingBaseMin))*(var(--windowWidth)/737 - 0.50882px));
      --sectPaddingTopGutterWidth: var(--gutterWidth);
      --sectAnglePaddingTop: calc(var(--sectAngleHeight) - var(--sectAngleSin)*var(--sectPaddingTopGutterWidth) + var(--sectAnglePaddingTopBase));
      --sectAnglePaddingBottom: calc(var(--sectAngleHeight) - var(--sectAngleSin)*var(--gutterWidth) + var(--sectAnglePaddingBottomBase));
      --sectPaddingTop: calc(var(--sectPaddingMin)*1px + (var(--sectPaddingTopMax) - var(--sectPaddingMin))*(var(--windowWidth)/737 - 0.50882px));
      --sectPaddingBottom: calc(var(--sectPaddingMin)*1px + (var(--sectPaddingBottomMax) - var(--sectPaddingMin))*(var(--windowWidth)/737 - 0.50882px));
    }

    @media (max-width:375px) {
      .Section {
        --sectAnglePaddingTopBase: calc(var(--sectAnglePaddingBaseMin)*1px);
        --sectAnglePaddingBottomBase: calc(var(--sectAnglePaddingBaseMin)*1px);
        --sectPaddingTop: calc(var(--sectPaddingMin)*1px);
        --sectPaddingBottom: calc(var(--sectPaddingMin)*1px)
      }
    }

    @media (min-width:1112px) {
      .Section {
        --sectAnglePaddingTopBase: calc(var(--sectAnglePaddingTopBaseMax)*1px);
        --sectAnglePaddingBottomBase: calc(var(--sectAnglePaddingBottomBaseMax)*1px);
        --sectPaddingTop: calc(var(--sectPaddingTopMax)*1px);
        --sectPaddingBottom: calc(var(--sectPaddingBottomMax)*1px)
      }
    }

    .Sect__background {
      position: relative;
      height: 100%;
      max-height: var(--sectAngleMaxHeight);
      width: 100%;
      top: 0;
      left: 0;
      transform-origin: var(--sectionTransformOrigin);
      transform: skewY(var(--sectAngle));
      background: var(--backgroundColor);
      overflow: hidden
    }

    .Sect__background--isTransparent {
      background: hsla(0, 0%, 100%, .2);
      -webkit-backdrop-filter: blur(7px);
      backdrop-filter: blur(7px)
    }

    .Sect__masked {
      overflow: var(--sectionOverflow)
    }

    .Sect__container {
      position: relative;
      z-index: 1;
      display: flex;
      justify-content: center;
      min-height: var(--sectionMinHeight)
    }

    .Sect__layoutContainer {
      width: 100%;
      margin: 0 var(--colPadNormal)
    }

    .Sect__layout {
      padding: var(--sectPaddingTop) 0 var(--sectPaddingBottom)
    }

    .Sect--angleTop {
      --sectPaddingTop: var(--sectAnglePaddingTop);
      --sectAngle: var(--angleNormal)
    }

    .Sect--angleBottom {
      --sectionTransformOrigin: 0 0
    }

    .Sect--angleBoth,
    .Sect--angleBottom {
      --sectPaddingBottom: var(--sectAnglePaddingBottom);
      --sectionMarginBottom: calc(var(--sectAngleHeight)*-1)
    }

    .Sect--angleBoth {
      --sectPaddingTop: var(--sectAnglePaddingTop);
      --sectAngle: var(--angleNormal)
    }

    .Sect--bleed3 {
      --sectPaddingBottom: 0
    }

    .Sect__backgroundMask {
      position: absolute;
      width: 100%;
      height: 100%;
      overflow: var(--sectionBackgroundOverflow)
    }

    .Sect--paddingTopNone {
      --sectPaddingTop: 0
    }

    .Sect--paddingBottomNone {
      --sectPaddingBottom: 0
    }
  </style>
  <style>
    .MainHtml {
      --filterShadowMedium: 0px 3px 11.5px -3.5px rgba(50, 50, 93, 0.25), 0px 3.8px 7.5px -3.7px rgba(0, 0, 0, 0.1);
      --scrollbarOffset: 10px;
      --angleNormal: -6deg;
      --angleStrong: -12deg;
      --angleNormalSin: 0.106;
      --angleStrongSin: 0.212;
      --fNvHeight: 60px;
      --fNvSpacing: 48px;
      color-scheme: only light
    }

    .MainHtml *,
    .MainHtml :after,
    .MainHtml :before {
      box-sizing: border-box;
    }



    .MainHtml[data-loading] {
      overflow-x: hidden
    }

    .MainHtml[data-loading] :after,
    .MainHtml[data-loading] :before,
    .MainHtml[data-loading] :not([data-transition-in]) {
      transition: none !important
    }

    .MainBody {
      margin: 0;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }

    .SiteFooterSection {
      --sectionBackgroundOverflow: hidden;
    }

    .SiteFooterSection {
      z-index: 2;
    }
  </style>

  <style>
    .MainHtml {
      --heroImgShadow: rgba(50, 50, 93, 0.25);
    }

    .Page-Theme-0 {
      --blendBackground: #d6d6d6;
      --blendIntersection: #d6d6d6;
      --blendForeground: #d6d6d6;
      --pageThemeBg: #fdfafd;
      --pageThemeLink: #800080;
      --pageThemeLinkH: #800080;
      --badgeColor: #6b6b6b;
      --badgeBackground: #bfbfbf21;
      --pageThemeSectionLink: #fff;
      --pageThemeSectionLinkBg: #9400FF;
      --pageThemeSectionLinkH: #9400FF;
      --pageThemeSectionLinkHBg: #80008021;
      --navSignupBg: #f1ddff;
      --navSignupColor: #192335;
      --navSignupBgH: #9400FF;
      --navSignupColorH: #ffffff;
    }

    .Page-Theme-1 {
      --blendBackground: #9400ff;
      --blendIntersection: #9400ff;
      --blendForeground: #9400ff;
      --pageThemeBg: #fdfafd;
      --pageThemeLink: #9400ff;
      --pageThemeLinkH: #c068ff;
      --pageThemeLinkDark: #b959ff;
      --badgeColor: #af1eff;
      --badgeBackground: #b966e721;
      --pageThemeSectionLink: #fff;
      --pageThemeSectionLinkBg: #9400FF;
      --pageThemeSectionLinkH: #9400FF;
      --pageThemeSectionLinkHBg: #80008021;
      --navSignupBg: #f1ddff;
      --navSignupColor: #192335;
      --navSignupBgH: #9400FF;
      --navSignupColorH: #ffffff;
      --heroImgShadow: rgba(148, 0, 255, 0.5);
    }

    .Page-Theme-2 {
      --blendBackground: #ff2171;
      --blendIntersection: #ff2171;
      --blendForeground: #ff2171;
      --pageThemeBg: #fffafc;
      --pageThemeLink: #FF2171;
      --pageThemeLinkH: #ff679e;
      --badgeColor: #FF2171;
      --badgeBackground: #ffebf2;
      --pageThemeSectionLink: #fff;
      --pageThemeSectionLinkBg: #ff0f80;
      --pageThemeSectionLinkH: #ff0f80;
      --pageThemeSectionLinkHBg: #ffeaf2;
      --navSignupBg: #ff217121;
      --navSignupColor: #192335;
      --navSignupBgH: #FF2171;
      --navSignupColorH: #ffffff;
      --heroImgShadow: rgba(255, 16, 127, 0.5);
    }

    .Page-Theme-3 {
      --blendBackground: #ff3802;
      --blendIntersection: #ff3802;
      --blendForeground: #ff3802;
      --pageThemeBg: #fffcfb;
      --pageThemeLink: #e75703;
      --pageThemeLinkH: #e75703;
      --badgeColor: #ff7300;
      --badgeBackground: #ff39010f;
      --pageThemeSectionLink: #fff;
      --pageThemeSectionLinkBg: #ff3802;
      --pageThemeSectionLinkH: #ff3802;
      --pageThemeSectionLinkHBg: #ffd89d85;
      --navSignupBg: #ffd89d85;
      --navSignupColor: #192335;
      --navSignupBgH: #ff3802;
      --navSignupColorH: #ffffff;
      --heroImgShadow: rgba(255, 57, 1, 0.5);
    }

    .Page-Theme-4 {
      --blendBackground: #00c918;
      --blendIntersection: #00c918;
      --blendForeground: #00c918;
      --pageThemeBg: #fbfffc;
      --pageThemeLink: #00ab14;
      --pageThemeLinkH: #00ab14;
      --badgeColor: #00c918;
      --badgeBackground: #eafff2;
      --pageThemeSectionLink: #fff;
      --pageThemeSectionLinkBg: #00c918;
      --pageThemeSectionLinkH: #119b44;
      --pageThemeSectionLinkHBg: #c5ffdb;
      --navSignupBg: #daffe8;
      --navSignupColor: #192335;
      --navSignupBgH: #14bf53;
      --navSignupColorH: #ffffff;
      --heroImgShadow: rgba(4, 201, 25, 0.5);
    }

    .Page-Theme-5 {
      --blendBackground: #1b8bff;
      --blendIntersection: #1b8bff;
      --blendForeground: #1b8bff;
      --pageThemeBg: #fbfdff;
      --pageThemeLink: #082d7a;
      --pageThemeLinkH: #082d7a;
      --pageThemeLinkDark: #1b8bff;
      --badgeColor: #082d7a;
      --badgeBackground: #c3f5ff;
      --pageThemeSectionLink: #fff;
      --pageThemeSectionLinkBg: #1b8bff;
      --pageThemeSectionLinkH: #082d7a;
      --pageThemeSectionLinkHBg: #c3f5ff;
      --navSignupBg: #1a8bff2b;
      --navSignupColor: #192335;
      --navSignupBgH: #1b8bff;
      --navSignupColorH: #ffffff;
      --heroImgShadow: rgba(26, 139, 255, 0.5);
    }

    .Page-Theme-6 {
      --blendBackground: #930077;
      --blendIntersection: #930077;
      --blendForeground: #930077;
      --pageThemeBg: #fffbfe;
      --pageThemeLink: #930077;
      --pageThemeLinkH: #930077;
      --badgeColor: #930077;
      --badgeBackground: #fff0fc;
      --pageThemeSectionLink: #fff;
      --pageThemeSectionLinkBg: #930077;
      --pageThemeSectionLinkH: #930077;
      --pageThemeSectionLinkHBg: #fff;
      --navSignupBg: #ffeafb;
      --navSignupColor: #192335;
      --navSignupBgH: #930077;
      --navSignupColorH: #fff;
      --heroImgShadow: rgba(147, 0, 119, 0.5);
    }


    .hero-img.page-theme-hero-img {
      box-shadow: 0 50px 100px -20px rgba(50, 50, 93, 0.25), 0 30px 60px -30px rgba(50, 50, 93, 0.25)
    }

    .bg-color-page-theme {
      background-color: var(--pageThemeBg) !important;
    }

    a.bg-page-theme-nav-signup {
      background: var(--navSignupBg) !important;
      color: var(--navSignupColor) !important;
    }

    a.bg-page-theme-nav-signup:hover,
    a.bg-page-theme-nav-signup:focus {
      background: var(--navSignupBgH) !important;
      color: var(--navSignupColorH) !important;
    }


    a.page-theme-link {
      color: var(--pageThemeLink);
    }

    a.page-theme-link.dark-link {
      color: var(--pageThemeLinkDark);
    }

    a.page-theme-link:hover,
    a.page-theme-link:focus {
      color: var(--pageThemeLinkH);
    }

    .page-theme-section-link {
      background: var(--pageThemeSectionLinkBg) !important;
      color: var(--pageThemeSectionLink) !important;
    }

    a.page-theme-section-link:hover,
    button.page-theme-section-link:hover {
      background: var(--pageThemeSectionLinkHBg) !important;
      color: var(--pageThemeSectionLinkH) !important;
    }


    .rbt-badge-6.page-theme-badge {
      background: var(--badgeBackground) !important;
      color: var(--badgeColor) !important;
    }

    .SeparatorSlant {
      --slantInset: 0px;
      --slantWidth: var(--gutterWidth);
      --slantMinWidth: 80px;
      --slantHeight: 40px;
      --slantIntersectionTop: calc(var(--slantSetHeight) - var(--slantHeight));
      --slantIntersectionInset: 0px;
      --slantIntersectionWidth: var(--gutterWidth);
      --slantIntersectionBackground: var(--blendIntersection);
      --slantMaxInset: calc(var(--layoutWidth)/2);
      --slantStartMax: calc(var(--layoutWidth) + var(--gutterWidth));
      --slantStart: calc(var(--slantStartMax) - var(--slantInset) + var(--slantBorderOffset));
      --slantBorderOffset: 0px;
      right: var(--slantStart);
      width: calc(var(--slantWidth) + var(--slantInset) - var(--slantBorderOffset)*2);
      position: absolute;
      height: var(--slantHeight);
      background: var(--slantColor);
      overflow: hidden;
    }

    .SeparatorSlantSet {
      --slantSetHeight: 72px;
      --slantSetAlignCenterOffset: -40px;
      --slantSetSubpixelOffset: 0;
      --slantSetAngle: var(--angleNormal);
      position: absolute;
      height: var(--slantSetHeight);
      width: 100%;
      transform: skewY(var(--slantSetAngle)) translateY(var(--slantSetSubpixelOffset));
      overflow: hidden;
    }



    .SeparatorSlant__intersection {
      position: absolute;
      top: var(--slantIntersectionTop);
      height: var(--slantHeight);
      transform: translateY(-0.25px);
      background: var(--slantIntersectionBackground);
      left: calc(var(--slantWidth) - var(--slantIntersectionWidth));
      width: calc(var(--slantIntersectionWidth) + var(--slantIntersectionInset));
    }

    .SeparatorSlantSet--alignCenter {
      top: var(--slantSetAlignCenterOffset);
    }

    .SeparatorSlantSet--alignEnd {
      top: calc(var(--slantSetHeight)*-1);
    }

    .SeparatorSlant--insetNormal {
      --slantInset: calc(var(--slantMaxInset)*0.25);
    }

    .SeparatorSlant--accentNone:first-of-type {
      --slantColor: var(--blendBackground);
    }

    .SeparatorSlant--widthNormal {
      --slantWidth: 160px;
    }

    .SeparatorSlantSet--BottomLeft .SeparatorSlant.SeparatorSlant--accentNone {
      --slantColor: var(--blendForeground);
    }

    .SeparatorSlantSet--BottomLeft .SeparatorSlant {
      top: var(--slantIntersectionTop);
    }

    .SeparatorSlant--insetSmall {
      --slantInset: calc(var(--slantMaxInset)*0.125);
    }

    .SeparatorSlant:nth-of-type(3) {
      --slantColor: transparent;
    }

    .SeparatorSlant--intersectionInsetSmall {
      --slantIntersectionInset: calc(var(--slantMaxInset)*0.25);
    }

    .SeparatorSlant--intersectionWidthNormal {
      --slantIntersectionWidth: 160px;
    }

    .SeparatorSlantSet--BottomRight .SeparatorSlant__intersection,
    .SeparatorSlantSet--TopRight .SeparatorSlant__intersection {
      left: auto;
      right: calc(var(--slantWidth) - var(--slantIntersectionWidth));
    }


    .SeparatorSlantSet--TopRight {
      --slantSetSubpixelOffset: -0.35px;
      top: 0;
      right: 0;
      transform-origin: 100% 0;
    }

    .SeparatorSlantSet--TopLeft {
      top: 0;
      left: 0;
      transform-origin: 100% 0;
    }

    .SeparatorSlantSet--BottomLeft {
      left: 0;
      bottom: 0;
      transform-origin: 0 100%;
    }


    .SeparatorSlantSet--BottomRight .SeparatorSlant,
    .SeparatorSlantSet--TopRight .SeparatorSlant {
      right: auto;
      left: var(--slantStart);
    }
  </style>

  <style>
    .rbt-btn:hover {
      background-color: var(--color-primary);
      color: var(--color-white);
      transform: translate3d(0, -2px, 0);
      box-shadow: var(--shadow-7);
    }

    .rbt-btn.btn-white {
      box-shadow: none;
    }

    .rbt-btn.btn-white:hover {
      box-shadow: var(--shadow-7);
      background: var(--color-white);
      color: var(--color-heading);
    }


    .rbt-header.rbt-transparent-header {
      max-width: 1450px;
      margin-left: auto;
      margin-right: auto;
    }

    .bg-violet-opacity-2 {
      background: rgba(226, 213, 252, 0.8) !important;
      color: var(--color-violet) !important;
    }

    a.text-link:hover {
      cursor: pointer;
    }

    .quick-access>li.account-access {
      padding-left: 10px;
      margin-left: 20px;
      margin-right: 20px;
      position: relative;
    }

    .rbt-header .logo a img {
      max-height: 21px;
    }

    .rbt-banner-1 {
      background: var(--gradient-2) !important;
      background: linear-gradient(180deg, #f4e9fd87 0%, #FFFFFF 100%) !important;
    }

    .rbt-banner-1.variation-2 .content,
    .rbt-banner-1.variation-2 .content .inner .title,
    .rbt-banner-1.variation-2 .content .inner .description {
      padding-right: 0%;
    }

    .product-hero .content,
    .product-hero .content .inner .title,
    .product-hero .content .inner .description {
      padding-right: 0%;
    }


    .quick-access>li.account-access:first-child::after {
      background: none;
    }

    .height-450 {
      height: 450px;
    }

    .height-350 {
      height: 350px;
    }

    .height-250 {
      height: 250px;
    }

    .height-450,
    .height-350,
    .height-250 {
      display: flex;
      align-items: center;
    }

    .rbt-section-gap-2.simple-page,
    .rbt-section-gap.simple-page {
      padding-top: 0px;
      margin-top: -20px
    }

    @media only screen and (max-width: 1199px) {

      .height-450,
      .height-350,
      .height-250 {
        height: auto
      }
    }

    @media only screen and (min-width: 1199px) {
      .rbt-section-gap-2.simple-page {
        padding-top: 0px;
        /* margin-top: -90px */
      }
    }

    .rbt-section-gap-2 {
      padding: 60px 0;
    }

    a.a-no-link:hover {
      cursor: default;
    }

    .form-group input:focus {
      outline: none;
    }

    .form-group input:focus-visible {
      border-color: #efefef;
      outline: none;
    }

    .form-group.focused label {
      color: var(--color-gray);
    }

    .form-group span.focus-border {
      background-color: var(--color-gray);
    }

    .quick-access>li.account-access::after {
      background: none !important;
    }



    .inner-skew-angle {
      position: absolute;
      height: 100px;
      width: 100%;
      transform: skewY(-6deg) translateY(0);
      overflow: hidden;
    }

    .product-separator-skew .inner-skew-angle {
      transform: skewY(var(--angleNormal)) translateY(0);
    }



    .large-hero h1 span.hero-title-1,
    .large-hero h1 span.hero-title-2 {
      color: #fff;
      text-shadow: 1px 1px #00000052;
    }

    .large-hero .large-hero-inner,
    .product-hero .product-hero-inner {
      top: 0px;
    }

    @media only screen and (min-width: 991px) {

      .large-hero .second-col {
        top: 40px;
        margin-bottom: 30px;
      }

      .bg-color-light-blue {
        background-color: #f0f2ff;
      }
    }

    @media only screen and (max-width: 991px) {

      .large-hero .second-col,
      .product-hero .second-col {
        top: 100px;
        height: 100%;
      }
    }

    .large-hero.height-750,
    .product-hero.height-750 {
      height: 850px;
      display: flex;
      align-items: center;
    }

    @media only screen and (min-width: 991px) {
      .large-hero.height-750.register-hero {
        height: 1250px;
        display: flex;
        align-items: center;
      }

      .large-hero.height-750.pricing-hero {
        height: 950px;
        display: flex;
        align-items: center;
      }

      .large-hero.height-750.contact-hero {
        height: 950px;
        display: flex;
        align-items: center;
      }
    }

    @media only screen and (max-width: 991px) {

      .large-hero.height-750,
      .product-hero.height-750 {
        height: auto;
      }
    }

    .large-hero.rbt-banner-area.rbt-banner-1 {
      background: none !important;
    }

    @media only screen and (min-width: 768px) and (max-width: 991px) {
      .product-hero {
        padding: 0 60px;
        padding-top: 100px;
        padding-bottom: 100px;
      }
    }

    @media only screen and (min-width: 1200px) {

      .large-hero.rbt-banner-1.variation-2 .content .inner h1.title,
      .large-hero.rbt-banner-large-hero .content .inner h1.title,
      .product-hero .content .inner h1.title,
      .product-hero-inner h1.title {
        line-height: .95;
      }
    }



    #hero-background-wrapper {
      position: absolute;
      top: auto;
      left: calc(var(--largeHeroOffsetX)*-1);
      left: 0;
      width: var(--windowWidth);
      height: var(--largeHeroGHeight);
      transform-origin: var(--largeHeroTransformX) 100%;
      transform: skewY(-12deg);
      overflow: hidden;
    }

    .white-hero-nav .rbt-header .mainmenu-nav .mainmenu>li>a,
    .white-hero-nav .quick-access>li>a {
      color: #fff !important;
      text-shadow: 1px 1px #00000036;
    }

    .white-hero-nav .rbt-header .mainmenu-nav .mainmenu>li>a:hover,
    .white-hero-nav .rbt-header .mainmenu-nav .mainmenu>li>a:focus,
    .white-hero-nav .rbt-header .mainmenu-nav .mainmenu>li>a:active,
    .white-hero-nav .quick-access>li>a:hover {
      color: #fff !important;
      opacity: .6;
    }

    .white-hero-nav .rbt-header .mainmenu-nav .mainmenu>li:hover>a,
    .white-hero-nav .rbt-header .mainmenu-nav .mainmenu>li.active>a {
      color: #fff !important;
      opacity: .6;
    }

    .large-hero .large-hero-inner.inner .sub-description,
    .product-hero .product-hero-inner.inner .sub-description {
      max-width: 80%;
    }

    .large-hero.rbt-banner-1 .content .inner .title,
    .large-hero.rbt-banner-large-hero .content .inner .title,
    .product-hero.rbt-banner-1 .content .inner .title {
      letter-spacing: -0.03em;
      color: #000;
    }

    .large-hero .large-hero-inner.inner .sub-description .hero-quote {
      max-width: 80%;
      color: #5a5a5a !important;
    }

    @media only screen and (min-width: 1200px) {
      .product-hero .about-style-1 .thumbnail-wrapper .thumbnail.image-1 {
        left: 200px;
        top: 0px;
      }

    }

    @media only screen and (max-width: 767px) {

      .large-hero .large-hero-inner.inner .sub-description,
      .product-hero .product-hero-inner.inner .sub-description {
        color: #000;
        max-width: 100%;
        background-color: #ffffffc4;
        padding: 10px;
        border-radius: 5px;
        text-align: center;
      }

      .large-hero .large-hero-inner.inner .sub-description .hero-quote {
        max-width: 100%;
      }

      .rbt-banner-1.variation-2 .content .inner .description {
        font-size: 24px;
      }

      .product-hero .content .inner .description {
        font-size: 24px;
      }

      .product-hero {
        padding: 0 15px;
        padding-top: 90px;
        padding-bottom: 50px;
      }

      .product-hero .image-1 {
        left: 0px;
        top: 20px;
      }
    }

    @media only screen and (max-width: 991px) {

      .large-hero.rbt-banner-1 .content .inner .title,
      .large-hero.rbt-banner-large-hero .content .inner .title {
        font-size: 65px;
        margin-left: -1px;
        line-height: 1;
      }

      .product-hero .content .inner .title {
        font-size: 40px;
      }

      .product-hero-inner h1.title {
        font-size: 40px;
        margin-left: -3px;
      }
    }

    @media only screen and (min-width: 992px) and (max-width: 1199px) {

      .large-hero.rbt-banner-1 .content .inner .title,
      .large-hero.rbt-banner-large-hero .content .inner .title {
        font-size: 90px;
        margin-left: -5px;
      }

      .product-hero .content .inner .title {
        font-size: 50px;
      }

      .product-hero-inner h1.title {
        font-size: 50px;
        margin-left: -3px;
      }
    }

    @media only screen and (min-width: 1200px) {

      .large-hero.rbt-banner-1 .content .inner .title,
      .large-hero.rbt-banner-large-hero .content .inner .title {
        font-size: 130px;
        margin-left: -10px;
      }

      .product-hero .content .inner .title {
        font-size: 60px;
      }

      .product-hero-inner h1.title {
        font-size: 75px;
        margin-left: -5px;
      }
    }

    @media only screen and (max-width: 991px) {
      .hero-small-mb {
        margin-bottom: 100px;
      }
    }

    .small-shadow {
      box-shadow: 0px 1px 4px rgb(215 216 222 / 97%);
    }

    .rbt-card.small-shadow {
      box-shadow: 0px 1px 4px rgb(215 216 222 / 97%);
    }

    .rbt-card.white-bordered {
      border: 3px solid #fff;
      border-radius: 8px;
    }

    .rbt-card.white-bordered-large {
      border: 4px solid #fff;
      border-radius: 10px;
    }

    .card-top-white-bordered {
      border-top: 3px solid #ffffff;
    }

    .card-top-grey-bordered {
      border-top: 3px solid #737373;
    }

    .rbt-card.thin-border {
      border: 2px solid #fff;
    }

    .rbt-card.thinner-border {
      border: 1px solid #fff;
    }

    .advance-pricing .pricing-middle {
      height: 100%;
      background: var(--color-lighter);
      padding: 60px 50px;
      border-radius: 0px;
    }

    .advance-pricing .price-wrapper .price-amount {
      font-size: 60px;
      text-align: center;
      display: block;
      color: var(--color-heading);
      font-weight: 700;
      line-height: 1;
    }

    .advance-pricing .price-wrapper .price-amount sup {
      font-size: 16px;
      top: -34px;
    }

    .advance-pricing .main-title {
      margin-bottom: 10px;
    }

    .rbt-contact-form.contact-form-style-1.semi-trans-hero-bg {
      background: #ffffffe8;
    }

    .rbt-contact-form.contact-form-style-1.semi-trans-hero-outline {
      outline: 10px solid #ffffff21;
    }

    .rbt-round-btn::after {
      background: #f6f6f64f;
    }

    .popup-mobile-menu .inner-wrapper .inner-top .close-button {
      height: 25px;
    }

    .popup-mobile-menu .inner-wrapper .inner-top .logo a img {
      max-height: 20px;
    }

    p {
      color: #425466;
    }

    .page-hero-wrapper {
      position: absolute;
      bottom: 0;
      left: 0;
      top: 0;
      width: 100%;
      height: 450px;
      transform-origin: 0 100%;
      transform: skewY(var(--angleNormal));
      will-change: transform;
      z-index: 0;
    }

    .page-hero-canvas {
      position: relative;
      display: block;
      width: inherit;
      height: 100%;
    }

    .hero-thumbnail .small {
      font-size: .75em;
    }

    .section-separator-wrapper {
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      transform-origin: 0 100%;
      transform: skewY(var(--angleNormal));
      will-change: transform;
      z-index: 0;
    }

    .section-separator-wrapper.skew-flat {
      transform: skewY(0);
    }

    .section-separator-wrapper.section-separator-250 {
      height: 250px;
    }

    .section-separator-wrapper.section-separator-300 {
      height: 300px;
    }

    .section-separator-wrapper.section-separator-400 {
      height: 400px;
    }

    .section-separator-wrapper.section-separator-500 {
      height: 500px;
    }

    .section-separator-wrapper.section-separator-10 {
      height: 10px;
    }

    .section-separator-canvas {
      position: absolute;
      display: block;
      width: inherit;
      height: 100%;
    }

    .gradient-canvas {
      image-rendering: pixelated;
    }

    @media only screen and (max-width: 787px) {}

    @media only screen and (max-width: 991px) {}


    @media only screen and (min-width: 992px) and (max-width: 1199px) {}

    @media only screen and (min-width: 1200px) {}


    .rbt-btn.btn-secondary:hover {
      background-color: var(--color-secondary);
    }

    .rbt-btn.btn-violet:hover {
      background: var(--color-violet);
    }

    .rbt-card-nav a:hover,
    .rbt-card-nav a:focus,
    .rbt-card-nav a:active {
      text-decoration: none;
      outline: none;
      color: var(--pageThemeLink);
    }

    .text-strong {
      font-weight: 600;
    }

    .rbt-badge-card.large-badge {
      padding: 3px 10px;
      font-size: 14px;
    }

    .v-align-super {
      vertical-align: super;
    }

    div.developer-example-wrap {
      border: 1px solid #ffffff26;
      border-radius: 14px;
    }

    .thumbnail-wrapper .thumbnail.outlined-img img {
      outline: 10px solid #ffffff21;
    }

    .developer-example-wrap pre {
      border-radius: 14px;
    }

    .thumbnail-wrapper .thumbnail img.hero-img {
      border-radius: 6px;
    }

    .thumbnail-wrapper.inner-thumbnail {
      padding: 4px;
      border-radius: 6px;
      overflow: hidden;
    }

    .thumbnail-wrapper.inner-thumbnail .thumbnail {
      border-radius: 6px;
      overflow: hidden;
    }

    @media only screen and (max-width: 991px) {
      .row.extra-padding.extra-padding-y .mt--20 {
        margin-top: 20px;
      }
    }

    @media only screen and (min-width: 992px) {
      .row.extra-padding {
        --bs-gutter-x: 5rem;
      }

      .row.extra-padding.extra-padding-y {
        --bs-gutter-y: 5rem;
      }

      .row.extra-padding.extra-padding-y .mt--20 {
        margin-top: var(--bs-gutter-y) !important;
      }
    }

    span.title-numeral {
      font-size: 30px;
      font-weight: 600;
      color: #ffffff;
      line-height: 1.26;
    }

    div.title-numeral-wrap {
      position: absolute;
      margin-top: 0px;
      margin-left: -55px;
      height: 40px;
      width: 40px;
      border-radius: 50px;
      background: #616161;
      text-align: center;
    }



    div.title-numeral-wrap-v2 span.title-numeral {
      font-size: 25px;
      font-weight: 600;
      color: #ffffff;
      line-height: 1.17;
      color: var(--color-secondary) !important;
    }

    div.title-numeral-wrap-v2 {
      position: absolute;
      margin-top: 4px;
      margin-left: -45px;
      height: 30px;
      width: 30px;
      border-radius: 30px;
      background: #8000806e;
      text-align: center;
      background: var(--secondary-opacity) !important;
    }

    @media (min-width: 992px) {
      div.row.row-extra-padding>[class^="col-"] {
        padding-right: 40px;
      }
    }

    .rbt-card-body.card-body-padded {
      padding: 40px;
    }

    .rbt-card.card-nopadded,
    .rbt-card.card-nopadded .rbt-card-body {
      padding: 0px;
    }

    .rbt-card-col-1 {
      padding: 70px;
      padding-top: 30px;
      padding-bottom: 30px;
      z-index: 1;
    }

    .card-gradient {
      height: 100%;
      opacity: .26;
    }

    .card-gradient-wrap {
      height: 100%;
      /* position: relative; */
    }

    .card-gradient-overlay {
      height: 100%;
      position: relative;
      background: linear-gradient(90deg, rgb(255 255 255) 0%, rgb(255 255 255 / 92%) 56%, rgb(255 255 255 / 20%) 100%);
    }

    .card-gradient-overlay-vertical {
      height: 100%;
      position: relative;
      background: linear-gradient(0deg, rgb(255 255 255) 0%, rgb(255 255 255 / 92%) 56%, rgb(255 255 255 / 20%) 100%);
    }

    .card-gradient-wrap .card-icon {
      position: absolute;
      font-size: 100px;
    }

    .bg-card-color-white-bordered {
      background: var(--color-white);
      background-color: var(--color-white) !important;
      border-radius: 4px;
    }

    .tab-button-style-2 li a.active {
      color: var(--color-violet);
    }

    .tab-button-style-2 li a::after {
      background-color: var(--color-violet);
    }

    ul.tab-button-style-2 li a:hover,
    ul.tab-button-style-2 li a:focus,
    ul.tab-button-style-2 li a:active {
      color: var(--pageThemeLink);
    }

    .advance-tab-button-1 .tab-button-list .tab-button {
      padding: 25px 25px;
    }
  </style>

  <style>
    .lifespan-lg-wrap .advance-tab-button-1 .tab-button-list .tab-button::after {
      border-left: 20px solid var(--color-lighter);
    }

    .lifespan-lg-wrap .advance-tab-button-1 .tab-button-list .tab-button::before {
      background: var(--color-lighter);
      box-shadow: none;
    }

    .does-it-all-tab-content {
      padding: 30px;
      border-radius: 10px;
    }
  </style>

  <style>
    .bg-rose-opacity {
      background: #f6a1e430 !important;
      color: #a90087 !important;
    }

    .color-rose {
      color: #a90087 !important;
    }


    .color-coral-dark {
      color: #f26e42 !important;
    }

    .color-orange {
      color: #ff3901 !important;
    }

    .color-blue {
      color: #005cb7 !important;
    }

    .color-blue-dark {
      color: #004f9e !important;
    }
    .color-info-dark {
      color: #00aacc !important;
    }

    .color-green {
      color: #139135 !important;
    }
    .color-secondary-dark {
      color: #8627ba !important;
    }

    .color-pink-dark {
      color: #e03b71 !important;
    }

    .color-hot-pink {
      color: #ff2171 !important;
    }

    .bg-color-violet-opacity-light {
      background: #80008005 !important;
    }

    .bg-color-hot-pink {
      background-color: #ff2171 !important;
    }

    .color-purple {
      color: #6e00be !important;
    }

    .bg-color-purple {
      background-color: #6e00be !important;
    }

    .bg-color-purple-1 {
      background: #aa7ae90a !important;
    }

    .bg-color-purple-2 {
      background: #aa7ae913 !important;
    }

    .bg-color-purple-3 {
      background: #aa7ae924 !important;
    }

    .bg-color-purple-4 {
      background: #aa7ae930 !important;
    }


    .bg-color-purple-5 {
      background: #b966e7 !important;
    }

    .bg-color-purple-6 {
      background: #ab45e3 !important;
    }

    .bg-color-purple-7 {
      background: #a427e9 !important;
    }

    .bg-color-orange {
      background-color: #ff3802 !important;
    }

    .bg-color-orange-1 {
      background: #ff380208 !important;
    }

    .bg-color-orange-2 {
      background: #ff380213 !important;
    }

    .bg-color-orange-3 {
      background: #ff380220 !important;
    }

    .bg-color-orange-4 {
      background: #ff38022b !important;
    }

    .bg-color-orange-5l {
      background: #ff6c2e !important;
    }

    .bg-color-orange-5 {
      background: #ff5f1c !important;
    }

    .bg-color-orange-6 {
      background: #ff4d01 !important;
    }

    .bg-color-orange-7 {
      background: #ff3901 !important;
    }


    .bg-color-pink {
      background-color: #ff2171 !important;
    }

    .bg-color-pink-1 {
      background: #ff217108 !important;
    }

    .bg-color-pink-2 {
      background: #ff217113 !important;
    }

    .bg-color-pink-3 {
      background: #ff217124 !important;
    }

    .bg-color-pink-4 {
      background: #ff217130 !important;
    }


    .bg-color-pink-5 {
      background: #f93491 !important;
    }

    .bg-color-pink-6 {
      background: #ff278d !important;
    }

    .bg-color-pink-7 {
      background: #ff0f80 !important;
    }

    .bg-color-pink-8 {
      background: #fa0074 !important;
    }

    .bg-color-blue {
      background-color: #1a8bff !important;
    }

    .bg-color-blue-1 {
      background: #1a8bff08 !important;
    }

    .bg-color-blue-2 {
      background: #1a8bff13 !important;
    }

    .bg-color-blue-3 {
      background: #1a8bff24 !important;
    }

    .bg-color-blue-4 {
      background: #1a8bff30 !important;
    }


    .bg-color-blue-5l {
      background: #007eff !important;
    }

    .bg-color-blue-5 {
      background: #0076ee !important;
    }

    .bg-color-blue-6 {
      background: #006bd6 !important;
    }

    .bg-color-blue-7 {
      background: #005cb7 !important;
    }

    .bg-color-woo-purple {
      background: #7f54b2 !important;
    }

    .bg-color-woo-purple-light {
      background: #7f54b21a !important;
    }

    .bg-color-dark-purple-1 {
      background: #980ee4 !important;
    }

    .bg-color-dark-purple-2 {
      background: #8805d0 !important;
    }

    .bg-color-dark-purple-3 {
      background: #6b00a5 !important;
    }

    .bg-color-dark-purple-4 {
      background: #580088 !important;
    }

    .bg-color-pink-1 {
      background: #db709312 !important;
    }

    .bg-color-light-xl {
      background-color: #fafcff !important;
    }


    .bg-color-google-blue {
      background-color: #4285F4 !important;
    }

    .bg-color-google-green {
      background-color: #0F9D58 !important;
    }

    .bg-color-dark-green {
      background-color: #1a9139 !important;
    }

    .bg-color-google-red {
      background-color: #DB4437 !important;
    }

    .bg-color-google-yellow {
      background-color: #F4B400 !important;
    }

    .bg-color-white-light-opacity {
      background-color: #ffffff0d !important;
    }

    .bg-color-white-light-xl-opacity {
      background-color: #ffffff05 !important;
    }

    .bg-color-white-xl-opacity {
      background-color: #ffffff03 !important;
    }

    .bg-color-white-opacity-more {
        background-color: #ffffffe3 !important;
    }

    .bg-color-transparent {
        background-color: transparent!important;
    }
    .rbt-badge-6.bg-color-gray {
      color: #fff !important;
      background-color: #8e979b !important;
    }

    .color-bright-lime {
      color: #b0ff14 !important;
    }

    .color-bright-aqua {
      color: #07ffb9 !important;
    }

    .badge.numbering-badge {
      padding: 0.35em 0.6em;
    }

    @media (min-width:991px) {
      .numbered-badge-wrap .badge.numbering-badge {
        vertical-align: sub;
        margin-left: -12px;
      }
    }

    .numbered-badge-wrap .badge.numbering-badge {
      font-size: .9em !important;
    }

    .h5-badge {
      font-size: .67em;
      vertical-align: text-top;
      margin-right: 5px;
    }

    .card-light-purple-bg {
      box-shadow: none;
      background-color: #80008008;
    }

    .bg-color-light {
      background-color: #f6f9fc !important;
    }

    .bg-color-gray-med {
      background-color: #e6e8f1 !important;
    }

    .bg-color-gray-med-xl {
      background-color: #eef0f8 !important;
    }

    .mw--90 {
      max-width: 90%;
    }

    .mw--80 {
      max-width: 80%;
    }

    .padded-thumbnail {
      padding: 20px;
      background-color: #fff;
      border-radius: 6px;
    }

    .padded-thumbnail img {
      max-height: 500px;
    }

    .popup-mobile-menu .mainmenu li a:hover,
    .popup-mobile-menu .mainmenu li a:focus,
    .popup-mobile-menu .mainmenu li a:active {
      color: #9d2fef;
    }

    .Sect--Dark li.list-item.color-white {
      color: #f0f0f0 !important;
    }

    span.helv-font {
      font-family: "Helvetica Neue", sans-serif;
    }

    /* .hljs.highlight-code.language-plaintext {
      color: #4dd0e1;
    } */

    div.developer-example-wrap {
      border: 1px solid #ffffff26;
      border-radius: 14px;
    }

    #functions-container-wrap .margin-view-overlays,
    #functions-container-wrap .lines-content.monaco-editor-background {
      background-color: #021012 !important;
    }

    #functions-container-wrap .developer-example-wrap,
    .developer-example-wrap pre.highlight-code.language-cpp.hljs,
    #functions-container-wrap .monaco-editor.no-user-select.mac.showUnused.showDeprecated.vs-dark,
    #functions-container-wrap .monaco-editor .overflow-guard {
      border-radius: 14px;
    }


    .hljs {
      background: #021012 !important;
    }

    section.svg-section svg {
      margin-bottom: -1px;
    }

    section.svg-section svg {
      position: relative;
      z-index: 1;
    }

    .no-shadow {
      box-shadow: none !important;
    }

    .rbt-default-tab.tab-dark-bg {}

    .rbt-default-tab.tab-dark-bg .tab-button .tabs__tab .nav-link {
      color: var(--color-white);
      /* background: var(--color-gray); */
    }

    .rbt-default-tab.tab-dark-bg .tab-button .tabs__tab .nav-link.active {
      color: var(--color-heading);
      background: var(--color-lighter);
      border-color: transparent;
    }

    .rbt-default-tab.tab-dark-bg div.tab-content {
      padding: 30px;
      border-bottom-left-radius: .25rem;
      border-bottom-right-radius: .25rem;
    }

    .rbt-badge-super {
      background: var(--color-gray-light);
      padding: 4px 7px;
      font-size: 11px;
      display: inline-block;
      vertical-align: super;
      height: 22px;
      align-items: center;
      border-radius: var(--radius-small);
      justify-content: center;
      width: max-content;
    }

    .rbt-badge-default {
      font-size: 14px;
      line-height: 15px;
      font-weight: 500;
      margin-bottom: 15px;
      display: inline-block;
      padding: 10px 20px;
      border-radius: 100px;
      text-transform: uppercase;
      display: inline-block;
      background: #0c0c0c0a;
      color: var(--color-body);
    }

    .row.hero-btn-row .bg-secondary-opacity {
      color: #8d11d2 !important;
    }

    .row.hero-btn-row a.bg-secondary-opacity:hover,
    .row.hero-btn-row button.bg-secondary-opacity:hover {
      background: #a631e7 !important;
      color: var(--color-white) !important;
    }

    .row.hero-btn-row .bg-pink-opacity {
      background: #d733aa21 !important;
      color: #e3259f !important;
    }

    .row.hero-btn-row a.bg-pink-opacity:hover,
    .row.hero-btn-row button.bg-pink-opacity:hover {
      background: #d52186 !important;
      color: var(--color-white) !important;
    }

    .rbt-card.bg-color-text-white h4,
    .rbt-card.bg-color-text-white h5,
    .rbt-card.bg-color-text-white h6,
    .rbt-card.bg-color-text-white p,
    .rbt-card.bg-color-text-white ul li.list-item,
    .rbt-card.bg-color-text-white ol li.list-item {
      color: white !important;
    }

    .tab-content.bg-color-text-white h4,
    .tab-content.bg-color-text-white h5,
    .tab-content.bg-color-text-white h6,
    .tab-content.bg-color-text-white p,
    .tab-content.bg-color-text-white ul li.list-item,
    .tab-content.bg-color-text-white ol li.list-item {
      color: white !important;
    }

    .rbt-card.shadow-blue,
    .thumbnail.shadow-blue {
      box-shadow: var(--shadow-blue);
    }

    .rbt-card.shadow-12,
    .thumbnail.shadow-12 {
      box-shadow: var(--shadow-12);
    }

    .shadow-13 {
      box-shadow: 0 50px 100px -20px rgba(50, 50, 93, 0.25), 0 30px 60px -30px rgba(0, 0, 0, 0.3) !important;
    }

    .shadow-14 {
      box-shadow: 0 50px 100px -20px rgba(50, 50, 93, 0.25), 0 30px 60px -30px rgba(50, 50, 93, 0.25) !important;
    }

    .rbt-default-tab .rainbow-tab-content {
      background: var(--color-light);
      padding: 40px;
    }

    .rbt-default-tab .tab-button .tabs__tab .nav-link.active {
      background: var(--color-light);
      border-color: transparent;
    }

    .border-radius--30 {
      border-radius: 30px !important;
    }

    .border-radius--20 {
      border-radius: 20px !important;
    }

    .border-radius--15 {
      border-radius: 15px !important;
    }

    .border-radius--10 {
      border-radius: 10px !important;
    }

    .hero-terminal-simulator {
      opacity: .9
    }

    .terminal-font {
      font-family: "Courier 10 Pitch", Courier, monospace;
    }

    .terminal-font i {
      color: #7a7a7a !important;
      font-size: .775em;
    }

    .terminal-console-green,
    .terminal-font .terminal-console-green i {
      color: #3EB75E !important
    }

    .terminal-console-blue,
    .terminal-font .terminal-console-blue i {
      color: #579bec !important;
    }

    span.terminal-console-pink {
      color: #ff2171;
    }

    .hero-box-shadow {
      box-shadow: 0 50px 100px -20px rgba(50, 50, 93, 0.25), 0 30px 60px -30px rgba(50, 50, 93, 0.25);
    }

    #hero-ui-display {
      cursor: default !important;
      -webkit-touch-callout: none;
      -webkit-user-select: none;
      -khtml-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
      user-select: none;
    }

    p.italic,
    span.italic {
      font-style: italic;
    }

    .rbt-default-tab .tab-button.white-nav .tabs__tab .nav-link.active {
      background: #fff;
      color: var(--color-heading);
      border-color: transparent;
    }

    .rbt-default-tab .tab-button.blue-trans-nav .tabs__tab .nav-link.active {
      background: #1a8bff13;
      border-color: transparent;
    }
  </style>

  <style>
    .Typewriter__cursor {
      display: none;
    }

    .hero-terminal-simulator {
      --terminalHeroBorderRadius: 10px;
      --terminalHeaderBorderRadius: 10px;
      --terminalHeroBgColor: #e8e8e8;
      border-radius: var(--terminalHeroBorderRadius);
      overflow: hidden;
      box-shadow: 0 20px 80px -20px rgba(50, 50, 93, 0.85), 0 10px 30px -20px rgba(50, 50, 93, 0.45);
    }

    .hero-terminal-simulator {
      opacity: 1;
    }

    .terminal-hero-card {
      border-top-left-radius: 0px;
      border-top-right-radius: 0px;
      /* opacity: .95; */
      padding: 20px;
    }

    .terminal-hero-header {
      height: 40px;
      background: var(--terminalHeroBgColor);
    }

    .terminal-mac-buttons {
      position: relative;
      top: -3px;
      left: 15px;
    }

    .mac-button {
      font-size: 13px;
    }

    .mac-button-close {
      color: #FF5D5A
    }

    .mac-button-minimize {
      color: #f5c350
    }

    .mac-button-maximize {
      color: #65cd57
    }
  </style>

  <style>
    .sect-thumbnail-main {
      position: relative;
      --sectImgScale: scale(1.7);
    }

    .sect-thumbnail-main.scale-less {
      --sectImgScale: scale(1.503);
    }

    .sect-thumbnail-main.scale-none {
      --sectImgScale: scale(1);
    }

    .sect-thumbnail-main.fade-white {
      --mgmtFadeBgColor: #ffffff;
    }

    .sect-thumbnail-main.fade-light {
      --mgmtFadeBgColor: #f6f9fc;
    }

    .sect-thumbnail-main.fade-light-xl {
      --mgmtFadeBgColor: #fafcff;
    }

    .sect-thumbnail-main.fade-gray {
      --mgmtFadeBgColor: #a0a9ac;
    }

    .sect-thumbnail-main.fade-gray-lighter {
      --mgmtFadeBgColor: #ebebeb;
    }

    .sect-thumbnail-main.fade-darker {
      --mgmtFadeBgColor: #192335;
    }

    .sect-thumbnail-main.fade-blue-1 {
      --mgmtFadeBgColor: #ecf2fa;
    }

    .sect-thumbnail-main.fade-lighter {
      --mgmtFadeBgColor: var(--color-lighter)
    }

    .sect-thumbnail-main.fade-page-theme {
      --mgmtFadeBgColor: var(--pageThemeBg)
    }

    .sect-thumbnail-wrapper {
      height: 350px;
      overflow: hidden;
      padding: 30px 30px 0px 30px;
      margin-top: -100px;
    }


    .sect-img {
      /* border-radius: 10px; */
    }

    .sect-img:not(.no-transform) {
      -moz-transform: var(--sectImgScale);
      -webkit-transform: var(--sectImgScale);
      transform: var(--sectImgScale);
      transform-origin: top left;
    }

    .sect-thumbnail {
      box-shadow: 0px 10px 30px -10px #47479b38, 0 10px 30px -10px #3f3f7338;
      border-radius: 10px;
      background: #fff;
      overflow: hidden;
      border: 0;
      height: 100%;
    }

    .sect-thumbnail:not(.no-border) {
      border: 15px solid #fff;
    }

    .sect-thumbnail.no-background {
      background: none;
    }

    .sect-thumbnail-fade {
      height: 70px;
      width: 100%;
      bottom: 0px;
      position: absolute;
      background: linear-gradient(to bottom, transparent, var(--mgmtFadeBgColor));
    }



    .sect-thumbnail-main.sect-thumbnail-cornered {
      position: absolute;
      bottom: -10px;
    }

    .sect-thumbnail-cornered .sect-thumbnail-wrapper {
      overflow: hidden;
      padding: 0;
      margin-top: 0px;
    }




    .manage-cards-row .sect-thumbnail-wrapper {
      height: 220px;
    }

    .sect-thumbnail-cornered .sect-img {
      border-radius: 0px;
      opacity: 1;
    }

    .sect-thumbnail-cornered .sect-img:not(.no-transform) {
      -moz-transform: var(--sectImgScale);
      -webkit-transform: var(--sectImgScale);
      transform: var(--sectImgScale);
      transform-origin: top left;
    }

    .sect-thumbnail-cornered .sect-thumbnail:not(.no-mask) {
      box-shadow: none;
      border-radius: 0px;
      border-top-left-radius: 10px;
      mask-image: linear-gradient(to left, transparent, var(--mgmtFadeBgColor) 30%);
      -webkit-mask-image: linear-gradient(to left, transparent, var(--mgmtFadeBgColor) 30%);
    }

    .sect-thumbnail-cornered .sect-thumbnail {
      border-top-right-radius: 0;
    }




    .tabs-bordered {
      --tabsBorderColor: #000;
      --tabsBorderRadius: 6px;
    }

    .tabs-bordered.rbt-default-tab .tab-button.white-nav .tabs__tab .nav-link.active {
      border-left: 1px solid var(--tabsBorderColor);
      border-right: 1px solid var(--tabsBorderColor);
      border-top: 1px solid var(--tabsBorderColor);
    }

    .tabs-bordered.rbt-default-tab .tab-button.white-nav .tabs__tab .nav-link:not(.active) {
      border-bottom: 1px solid var(--tabsBorderColor);
    }

    .tabs-bordered.rbt-default-tab .rainbow-tab-content {
      border-left: 1px solid var(--tabsBorderColor);
      border-right: 1px solid var(--tabsBorderColor);
      border-bottom: 1px solid var(--tabsBorderColor);
      border-bottom-left-radius: var(--tabsBorderRadius);
      border-bottom-right-radius: var(--tabsBorderRadius);
    }


    @media only screen and (min-width: 992px) {
      .card-left-content-col {
        border-left: 3px solid #fff;
      }

      .rbt-card.card-left-img .card-left-img-col .sect-thumbnail,
      .rbt-card.card-left-img .card-left-img-col .sect-img {
        border-radius: 0px;
      }
    }


    @media only screen and (min-width: 992px) {
      .sd--60 {
        bottom: -60px;
      }

      .sd--80 {
        bottom: -80px;
      }

      .sd--100 {
        bottom: -100px;
      }
    }

    .rbt-card.card-top-img,
    .rbt-card.card-top-img .card-body,
    .rbt-card.card-left-img,
    .rbt-card.card-left-img .card-body {
      padding: 0;
    }

    .rbt-card.card-top-img .card-top-img-col,
    .rbt-card.card-left-img .card-left-img-col {
      padding-left: 0;
      padding-right: 0;
    }


    .rbt-card.card-top-img .card-top-img-col .sect-thumbnail-wrapper,
    .rbt-card.card-left-img .card-left-img-col .sect-thumbnail-wrapper {
      padding: 0px;
      margin-top: 0px;
      height: 250px;
      overflow: hidden;
    }

    .rbt-card.card-top-img .card-top-img-col .sect-thumbnail-wrapper.short {
      height: 210px;
    }

    .rbt-card.card-top-img .card-top-img-col .sect-thumbnail-wrapper.tall {
      height: auto;
      max-height: 330px;
      min-height: 250px;
    }

    .rbt-card.card-top-img .card-top-img-col .sect-thumbnail {
      margin-left: 10%;
      margin-top: 10%
    }

    .rbt-card.card-top-img .card-top-img-col .sect-img {
      padding: 20px;
    }

    .card-top-content-wrap,
    .card-left-content-wrap {
      padding: 30px;
    }

    .card-top-text-wrap {
      padding: 40px;
    }

    .rbt-card.card-top-img .card-top-img-col .sect-thumbnail-fade,
    .rbt-card.card-left-img .card-left-img-col .sect-thumbnail-fade {
      opacity: .5;
    }


    .ml--10p {
      margin-left: 10%;
    }

    .mr--10p {
      margin-right: 10%;
    }

    .mlt--0 {
      margin-left: 0% !important;
      margin-top: 0% !important;
    }

    .op--9 {
      opacity: .9 !important;
    }

    .op--8 {
      opacity: .8 !important;
    }

    .op--7 {
      opacity: .7 !important;
    }

    .op--6 {
      opacity: .6 !important;
    }

    .op--5 {
      opacity: .5 !important;
    }

    .op--4 {
      opacity: .4 !important;
    }

    .op--3 {
      opacity: .3 !important;
    }

    .op--2 {
      opacity: .2 !important;
    }

    .op--1 {
      opacity: .1 !important;
    }

    .bg-color-lighter-d {
      background-color: #e1e4e8 !important;
    }

    .sect-thumbnail-wrapper.inner-box-shadow {
      box-shadow: var(--shadow-1);
    }

    .bg-gradient-white-blue {
      background: linear-gradient(rgb(255, 255, 255) 0%, rgb(250 252 255) 100%) !important;
    }

    .bg-gradient-white-purple {
      background: linear-gradient(rgb(255, 255, 255) 0%, rgb(247 239 255) 100%) !important;
    }

    .no-bottom-radius {
      border-bottom-left-radius: 0;
      border-bottom-right-radius: 0;
    }

    .btn-lg.btn-outline-secondary:focus {
      color: #fff;
    }
  </style>
  <style>
    .duo-image-wrap {
      position: relative;
    }

    .duo-image-wrap .thumbnail-wrapper {
      position: relative;
      display: flex;
      flex-wrap: wrap;
    }

    .duo-image-wrap .thumbnail-wrapper .thumbnail img {
      max-height: 450px;
      background-color: #fff;
      padding: 0px;
    }


    .duo-image-wrap img {
      object-fit: cover;
    }

    .duo-image-wrap .thumbnail-wrapper .thumbnail.image-1 {
      position: relative;
    }

    .duo-image-wrap .thumbnail-wrapper .thumbnail.image-2 {
      position: absolute;
      top: 0;
    }
  </style>
  <style>
    @media only screen and (min-width: 992px) {

      .duo-image-wrap .thumbnail-wrapper .thumbnail.image-2 {
        left: 0;
      }

      .row.duo-image-dormant-customer {
        margin-bottom: 250px;
      }

      .row.duo-image-soft-decline {
        margin-bottom: 300px;
      }

      .row.duo-image-renewal-sms {
        margin-bottom: 80px;
      }

      .duo-image-dormant-customer .duo-image-wrap .thumbnail-wrapper .thumbnail.image-1 {
        left: 200px;
        top: -50px;
      }

      .duo-image-dormant-customer .duo-image-wrap .thumbnail-wrapper .thumbnail.image-1 img {
        max-height: 550px;
      }


      .duo-image-dormant-customer .duo-image-wrap .thumbnail-wrapper .thumbnail.image-2 {
        top: 10px;
      }

      .duo-image-dormant-customer .duo-image-wrap .thumbnail-wrapper .thumbnail.image-2 img {
        max-height: 475px;
      }

      .duo-image-soft-decline .duo-image-wrap .thumbnail-wrapper .thumbnail.image-1 {
        left: 50px;
        top: -70px;
      }

      .duo-image-soft-decline .duo-image-wrap .thumbnail-wrapper .thumbnail.image-1 img {}

      .duo-image-soft-decline .duo-image-wrap .thumbnail-wrapper .thumbnail.image-2 {
        top: 130px;
      }

      .duo-image-soft-decline .duo-image-wrap .thumbnail-wrapper .thumbnail.image-2 img {
        max-height: 300px;
      }

      .duo-image-renewal-sms .duo-image-wrap .thumbnail-wrapper .thumbnail.image-1 {
        left: 320px;
        top: -20px;
      }

      .duo-image-renewal-sms .duo-image-wrap .thumbnail-wrapper .thumbnail.image-2 {}
    }

    @media only screen and (max-width: 991px) {

      .duo-image-wrap .thumbnail-wrapper .thumbnail.image-2 {
        right: 0;
      }

      .duo-image-wrap .thumbnail-wrapper .thumbnail img {
        background-color: #fff;
        padding: 0px;
      }

      .duo-image-wrap .thumbnail-wrapper .thumbnail.image-1 img {
        max-height: 350px;
      }

      .duo-image-wrap .thumbnail-wrapper .thumbnail.image-2 img {
        max-height: 300px;
        max-width: 60vw;
      }

      .duo-image-wrap .thumbnail-wrapper .thumbnail.image-2 {
        top: 100px;
      }


      .row.duo-image-dormant-customer {
        margin-bottom: 150px;
      }

      .row.duo-image-soft-decline {
        margin-bottom: 150px;
      }

      .row.duo-image-soft-decline {
        margin-bottom: 150px;
      }

      .row.duo-image-renewal-sms {
        margin-bottom: 100px;
      }
    }



    .gradient-canvas-overlay-wrap {
      height: 100%;
      width: 100%;
      position: absolute;
      right: 0;
      top: 0;
      --overlayPercent: 50%;
    }

    .gradient-canvas-overlay {
      height: 100%;
    }

    .overlay--50 {
      --overlayPercent: 50%;
    }

    .overlay--40 {
      --overlayPercent: 40%;
    }

    .overlay--30 {
      --overlayPercent: 30%;
    }

    .overlay--20 {
      --overlayPercent: 20%;
    }

    .overlay--10 {
      --overlayPercent: 10%;
    }

    .overlay-white {
      background: linear-gradient(#fff var(--overlayPercent), transparent);
    }

    .overlay-light {
      background: linear-gradient(#f6f9fc 30%, transparent);
    }

    .overlay-light-xl {
      background: linear-gradient(#fafcff 30%, transparent);
    }

    .overlay-lighter {
      background: linear-gradient(#F2F5F9 30%, transparent);
    }

    .overlay-purple {
      background: linear-gradient(#fbf9ff 40%, transparent);
    }
  </style><link rel="stylesheet" href="https://cdn.revcent.com/css/plugins/highlightjs/vs2015.css" type="text/css" />

<style>
    .gateway-logo {
        max-height: 150px;
    }

    /* ul.groups-source-list li span.badge {
        background-color: #5600b0 !important;
    }

    ul.groups-metrics-list li span.badge {
        background-color: #460886 !important;
    }

    ul.groups-enrichment-list li span.badge {
        background-color: #37026d !important;
    } */
    ul.groups-source-list li span.badge,
    ul.groups-metrics-list li span.badge,
    ul.groups-enrichment-list li span.badge {
        background-color: #484848 !important;
    }

    ul.groups-list li span.badge {
        font-size: .85em !important;
        font-weight: 400 !important;
        padding: 0.5em 0.65em;
        border-radius: 0.5rem;
    }

    hr.groups-list-hr {
        margin-top: 8px;
        margin-bottom: 8px;
        background-color: #d7d7d7;
        opacity: 1;
    }

    .row.nav-pill-stacked-tabs {
        min-height: 360px;
    }

    .nav-pill-stacked-tabs .nav.nav-pills.flex-column.tab-button-style-2 .nav-link {
        color: #6c00a5;
    }

    .nav-pill-stacked-tabs .nav.nav-pills.flex-column.tab-button-style-2 .nav-link.active,
    .nav-pill-stacked-tabs .nav.nav-pills.flex-column.tab-button-style-2 .show>.nav-link {
        color: #fff;
        background-color: #a427e9;
    }

    .nav-pill-stacked-tabs .nav.nav-pills.flex-column.tab-button-style-2 li a::after {
        display: none !important;
    }

    .nav-pill-stacked-tabs .nav.nav-pills.flex-column.tab-button-style-2 {
        border-bottom: none !important;
        margin-bottom: 0 !important;
    }

    @media (min-width:991px) {
        .nav-pill-stacked-tabs .nav-pill-stacked-tab-content {
            padding-left: 50px;
        }
    }

    .nav-pill-stacked-tabs .nav.nav-pills.flex-column.tab-button-style-2 li a {
        padding: 25px 28px;
    }


    img.third-party-logo {
        max-width: 30px;
    }



    @media only screen and (min-width: 992px) {
        .hero-terminal-simulator {
            margin-top: 0px;
        }
    }

    .hero-terminal-simulator {
        opacity: .95;
    }

    #terminal-hero-card-body {
        min-height: 350px;
        min-width: 510px;
    }

    .Typewriter__cursor {
        display: none;
    }

    #customer-group-tabs.rbt-default-tab .tab-button .tabs__tab .nav-link.active {
        background: #f6f9fc !important;
        background-color: #f6f9fc !important;
        border-color: transparent;
    }

    #ai-tabs.rbt-default-tab .tab-button .tabs__tab .nav-link.active {
        background: #aa7ae924 !important;
        background-color: #aa7ae924 !important;
        border-color: transparent;
    }

    .group-qualifier-list-card {
        padding: 0px 10px 0px 10px;
    }




    .hero-ui-cards>.rbt-card {
        position: relative;
        width: auto;
        height: auto;
        min-width: 200px;
    }

    .hero-ui-cards .rbt-card {
        padding: 0px;
    }

    .hero-ui-cards .rbt-card .card-body {
        padding: 15px;
    }

    .hero-ui-cards .rbt-card .card-header {
        padding: 10px 15px 10px 15px;
        border-bottom: 0;
    }

    .hero-ui-cards p,
    .hero-ui-cards li {
        font-size: .9em;
        line-height: 1.45 !important;
    }

    .hero-ui-cards {
        position: relative;

        --heroCardLeftFunction: 25%;
        --heroCardTopFunction: 180px;
        --heroCardScaleFunction: .75;
        --heroCardLeftAiChat: -5%;
        --heroCardTopAiChat: -75px;
        --heroCardScaleAiChat: .65;
        --heroCardLeftTemplate: 80%;
        --heroCardRightTemplate: -200px;
        --heroCardTopTemplate: 80px;
        --heroCardScaleTemplate: 1;
    }

    #ai-chat-box-output {
        height: 400px;
    }


    .hero-ui-cards li {
        margin-top: 0;
        margin-bottom: 5px;
        color: #000000;
    }


    #hero-col-1 {
        margin-bottom: 175px;
    }

    @media only screen and (max-width: 991px) {
        .hero-ui-cards {
            --heroCardTopAiChat: -75px;
            --heroCardLeftAiChat: -13%;
            --heroCardScaleAiChat: .6;
            --heroCardTopFunction: 120px;
            --heroCardLeftFunction: 20%;
            --heroCardScaleFunction: .65;
            --heroCardRightTemplate: 0;
            --heroCardTopTemplate: 80px;
            --heroCardLeftTemplate: 70%;
            --heroCardScaleTemplate: 1;
        }

        #hero-col-1 {
            margin-bottom: 30px;
        }
    }

    @media only screen and (max-width: 787px) {
        .hero-ui-cards {
            --heroCardTopAiChat: -50px;
            --heroCardLeftAiChat: -14%;
            --heroCardScaleAiChat: .6;
            --heroCardTopFunction: 120px;
            --heroCardLeftFunction: 0%;
            --heroCardScaleFunction: .45;
            --heroCardRightTemplate: 0;
            --heroCardTopTemplate: 80px;
            --heroCardLeftTemplate: 70%;
            --heroCardScaleTemplate: 1;
        }

        #ai-chat-box-output {
            height: 300px;
        }

        #hero-col-1 {
            margin-bottom: 10px;
        }
    }


    .hero-ui-cards .function-card {
        left: var(--heroCardLeftFunction);
        top: var(--heroCardTopFunction);
        transform: scale(var(--heroCardScaleFunction));
        width: max-content;
        background-color: #333867d4 !important;
        position: absolute;
    }

    .hero-ui-cards .ai-chat-card {
        left: var(--heroCardLeftAiChat);
        top: var(--heroCardTopAiChat);
        transform: scale(var(--heroCardScaleAiChat));
    }

    .hero-ui-cards .template-card {
        left: var(--heroCardLeftTemplate);
        right: var(--heroCardRightTemplate);
        top: var(--heroCardTopTemplate);
        transform: scale(var(--heroCardScaleTemplate));
        position: absolute;
    }

    .hero-card-list-ul li.list-item:last-child {
        margin-bottom: 0;
    }

    .hero-card-list-ul {
        padding: 5px;
    }

    .hero-ui-cards .function-card .hljs {
        padding: 0px 20px 20px 20px;
        background: transparent !important;
        overflow: hidden;
        margin-bottom: 0px;
        font-size: 12px;
        color: #48d0ff;
    }

    .hero-ui-cards .function-card .hljs-string {
        color: #ffffff;
    }

    .hero-ui-cards .function-card .hljs-keyword {
        color: #b5ddff;
    }

    .hero-ui-cards .template-card .card-body {
        padding: 20px 15px 20px 15px;
    }
</style>
</head>

<body class="MainBody Page-Theme-1" data-pagetheme="1">
    <div class="white-hero-navx">
        <!-- Start Header Area -->
        <header class="rbt-header rbt-header-1 rbt-transparent-header">
            <div class="rbt-sticky-placeholder"></div>
            <div class="rbt-header-wrapper header-space-betwween header-sticky">
                <div class="container-fluid">
                    <div class="mainbar-row rbt-navigation-center align-items-center">
                        <div class="header-left rbt-header-content">
                            <div class="header-info">
                                <div class="logo">
                                    <a href="/">

        
                                        <img src="https://cdn.revcent.com/img/revcent-logo-black.png" alt="RevCent Logo">
                                    </a>
                                </div>
                            </div>
                        </div>

                        <div class="rbt-main-navigation d-none d-xl-block">
                            <nav class="mainmenu-nav">
                                <ul class="mainmenu">

                                    <li class="with-megamenu has-menu-child-item position-static">
                                        <a class="a-no-link">Product <i class="feather-chevron-down d-none"></i></a>
                                        <div class="triangle-border-top-nav triangle-border-top-nav-grey"></div>
                                        <!-- Start Mega Menu  -->
                                        <div class="rbt-megamenu grid-item-3 advanced-tab-button-wrapper" style="margin-left:0">
                                            <div class="wrapper">


                                                <div class="row g-5">
                                                    <div class="col-lg-4 col-md-12 col-sm-12 col-12 mt_md--30 mt_sm--30 order-2 order-lg-1 advanced-tab-button-content-col-1">
                                                        <div class="advance-tab-button advance-tab-button-1">
                                                            <ul class="nav nav-tabs tab-button-list advanced-tab-button-nav" id="myTab" role="tablist">
                                                                <li class="nav-item" role="presentation">
                                                                    <a href="#" class="nav-link tab-button active" id="payments-tab" data-bs-toggle="tab" data-bs-target="#payments" role="tab" aria-controls="payments" aria-selected="true">
                                                                        <div class="tab">
                                                                            <h4 class="title">Payments</h4>
                                                                            <p class="description">Accept payments and increase revenue.</p>
                                                                        </div>
                                                                    </a>
                                                                </li>

                                                                <li class="nav-item" role="presentation">
                                                                    <a href="#" class="nav-link tab-button" id="manage-tab" data-bs-toggle="tab" data-bs-target="#manage" role="tab" aria-controls="manage" aria-selected="false">
                                                                        <div class="tab">
                                                                            <h4 class="title">Manage</h4>
                                                                            <p class="description">Manage mulitple aspects of your business.</p>
                                                                        </div>
                                                                    </a>
                                                                </li>
                                                                <li class="nav-item" role="presentation">
                                                                    <a href="#" class="nav-link tab-button" id="track-report-tab" data-bs-toggle="tab" data-bs-target="#track-report" role="tab" aria-controls="track-report" aria-selected="true">
                                                                        <div class="tab">
                                                                            <h4 class="title">Track & Report</h4>
                                                                            <p class="description">Conversion tracking and reporting.</p>
                                                                        </div>
                                                                    </a>
                                                                </li>
                                                                <li class="nav-item" role="presentation">
                                                                    <a href="#" class="nav-link tab-button" id="tools-tab" data-bs-toggle="tab" data-bs-target="#tools" role="tab" aria-controls="tools" aria-selected="false">
                                                                        <div class="tab">
                                                                            <h4 class="title">Tools</h4>
                                                                            <p class="description">Advanced capabilities and features.</p>
                                                                        </div>
                                                                    </a>
                                                                </li>
                                                            </ul>
                                                        </div>
                                                    </div>
                                                    <div class="col-lg-8 col-md-12 col-sm-12 col-12 order-1 order-lg-2  advanced-tab-button-content-col-2">
                                                        <div class="tab-content advanced-tab-button-content">
                                                            <div class="tab-pane advance-tab-content-1 active show" id="payments" role="tabpanel" aria-labelledby="payments-tab">
                                                                <div class="row">
                                                                    <div class="col-lg-6 col-md-12 col-sm-12 col-12">
                                                                        <ul class="mega-menu-item">
                                                                            <li>
                                                                                <a href="/products/payments/credit-card">
                                                                                    <strong>Credit Card</strong>
                                                                                    <br>
                                                                                    <span>The ultimate credit card payment suite</span>
                                                                                </a>
                                                                            </li>
                                                                            <li>
                                                                                <a href="/products/payments/payment-profiles">
                                                                                    <strong>Payment Routing</strong>
                                                                                    <br>
                                                                                    <span>Dynamically route payments</span>
                                                                                </a>
                                                                            </li>
                                                                            <li>
                                                                                <a href="/products/payments/revenue-recovery">
                                                                                    <strong>Recovery Recovery</strong>
                                                                                    <br>
                                                                                    <span>Automatically recover lost revenue</span>
                                                                                </a>
                                                                            </li>
                                                                            <li>
                                                                                <a href="/products/payments/chargeback-management">
                                                                                    <strong>Chargebacks</strong>
                                                                                    <br>
                                                                                    <span>Integrated chargeback management</span>
                                                                                </a>
                                                                            </li>
                                                                        </ul>
                                                                    </div>
                                                                    <div class="col-lg-6 col-md-12 col-sm-12 col-12">
                                                                        <ul class="mega-menu-item">
                                                                            <li>
                                                                                <a href="/products/payments/anti-fraud">
                                                                                    <strong>Anti Fraud</strong>
                                                                                    <br>
                                                                                    <span>Prevent fraud with Sentinel, our in-house anti-fraud tool</span>
                                                                                </a>
                                                                            </li>
                                                                            <li>
                                                                                <a href="/products/payments/alternative">
                                                                                    <strong>Third Party</strong>
                                                                                    <br>
                                                                                    <span>PayPal, Amazon Pay & more</span>
                                                                                </a>
                                                                            </li>
                                                                            <li>
                                                                                <a href="/products/payments/credit-card#section-mid-management">
                                                                                    <strong>MID Management</strong>
                                                                                    <br>
                                                                                    <span>Organize MID's and prevent cross corp transactions</span>
                                                                                </a>
                                                                            </li>
                                                                            <li>
                                                                                <a href="/products/payments/credit-card#section-card-data">
                                                                                    <strong>Card Storage</strong>
                                                                                    <br>
                                                                                    <span>Store customer cards securely within RevCent</span>
                                                                                </a>
                                                                            </li>
                                                                        </ul>
                                                                    </div>
                                                                </div>
                                                            </div>
                                                            <div class="tab-pane advance-tab-content-1" id="manage" role="tabpanel" aria-labelledby="manage-tab">
                                                                <div class="row">
                                                                    <div class="col-lg-6 col-md-12 col-sm-12 col-12">
                                                                        <ul class="mega-menu-item">
                                                                            <li>
                                                                                <a href="/products/manage/suite">
                                                                                    <strong>Sales</strong>
                                                                                    <br>
                                                                                    <span>View and manage sales</span>
                                                                                </a>
                                                                            </li>
                                                                            <li>
                                                                                <a href="/products/manage/suite#section-customers">
                                                                                    <strong>Customers</strong>
                                                                                    <br>
                                                                                    <span>Customer management in one place</span>
                                                                                </a>
                                                                            </li>
                                                                            <li>
                                                                                <a href="/products/manage/suite#section-shipping">
                                                                                    <strong>Shipping</strong>
                                                                                    <br>
                                                                                    <span>Automate with integrated fulfillment centers</span>
                                                                                </a>
                                                                            </li>
                                                                            <li>
                                                                                <a href="/products/manage/suite#section-products">
                                                                                    <strong>Products</strong>
                                                                                    <br>
                                                                                    <span>Multiple product types and variations</span>
                                                                                </a>
                                                                            </li>
                                                                        </ul>
                                                                    </div>
                                                                    <div class="col-lg-6 col-md-12 col-sm-12 col-12">
                                                                        <ul class="mega-menu-item">
                                                                            <li>
                                                                                <a href="/products/manage/suite#section-subscriptions">
                                                                                    <strong>Subscriptions</strong>
                                                                                    <br>
                                                                                    <span>Recurring billing made easy</span>
                                                                                </a>
                                                                            </li>
                                                                            <li>
                                                                                <a href="/products/manage/suite#section-tax">
                                                                                    <strong>Tax</strong>
                                                                                    <br>
                                                                                    <span>Manage tax using profiles or third parties</span>
                                                                                </a>
                                                                            </li>
                                                                            <li>
                                                                                <a href="/products/manage/suite#section-organizations">
                                                                                    <strong>Users</strong>
                                                                                    <br>
                                                                                    <span>Add users with granular permissions</span>
                                                                                </a>
                                                                            </li>
                                                                            <li>
                                                                                <a href="/products/manage/suite#section-notes">
                                                                                    <strong>Notes</strong>
                                                                                    <br>
                                                                                    <span>Take notes on customers, sales and more</span>
                                                                                </a>
                                                                            </li>
                                                                        </ul>
                                                                    </div>
                                                                </div>
                                                            </div>
                                                            <div class="tab-pane advance-tab-content-1" id="track-report" role="tabpanel" aria-labelledby="track-report-tab">
                                                                <div class="row">
                                                                    <div class="col-lg-6 col-md-12 col-sm-12 col-12">
                                                                        <ul class="mega-menu-item">
                                                                            <li>
                                                                                <a href="/products/tracking/suite">
                                                                                    <strong>DNS Tracking</strong>
                                                                                    <br>
                                                                                    <span>Accurately track visitors across domains</span>
                                                                                </a>
                                                                            </li>
                                                                            <li>
                                                                                <a href="/products/tracking/suite#section-utilize-metadata">
                                                                                    <strong>Metadata</strong>
                                                                                    <br>
                                                                                    <span>Utilize detailed metadata</span>
                                                                                </a>
                                                                            </li>
                                                                            <li>
                                                                                <a href="/products/tracking/suite#section-conversions">
                                                                                    <strong>Conversions</strong>
                                                                                    <br>
                                                                                    <span>Know your true conversion metrics</span>
                                                                                </a>
                                                                            </li>
                                                                            <li>
                                                                                <a href="/products/tracking/suite#section-adwords">
                                                                                    <strong>AdWords</strong>
                                                                                    <br>
                                                                                    <span>Link your AdWords account with RevCent</span>
                                                                                </a>
                                                                            </li>
                                                                        </ul>
                                                                    </div>
                                                                    <div class="col-lg-6 col-md-12 col-sm-12 col-12">
                                                                        <ul class="mega-menu-item">
                                                                            <li>
                                                                                <a href="/products/reporting/suite">
                                                                                    <strong>Reports</strong>
                                                                                    <br>
                                                                                    <span>Pre-built reporting pages with popular metrics</span>
                                                                                </a>
                                                                            </li>
                                                                            <li>
                                                                                <a href="/products/reporting/suite#section-dashboard">
                                                                                    <strong>Dashboard</strong>
                                                                                    <br>
                                                                                    <span>Advanced customizable metrics</span>
                                                                                </a>
                                                                            </li>
                                                                            <li>
                                                                                <a href="/products/reporting/suite#section-auto-queries">
                                                                                    <strong>Auto Queries</strong>
                                                                                    <br>
                                                                                    <span>Receive custom metrics data via email, SMS and more</span>
                                                                                </a>
                                                                            </li>
                                                                            <li>
                                                                                <a href="/products/reporting/suite#section-bigquery">
                                                                                    <strong>BigQuery</strong>
                                                                                    <br>
                                                                                    <span>Direct data access via Google BigQuery</span>
                                                                                </a>
                                                                            </li>
                                                                        </ul>
                                                                    </div>
                                                                </div>
                                                            </div>
                                                            <div class="tab-pane advance-tab-content-1" id="tools" role="tabpanel" aria-labelledby="tools-tab">
                                                                <div class="row">
                                                                    <div class="col-lg-6 col-md-12 col-sm-12 col-12">
                                                                        <ul class="mega-menu-item">
                                                                            <li>
                                                                                <a href="/products/tools/suite">
                                                                                    <strong>Customer Groups</strong>
                                                                                    <br>
                                                                                    <span>Hyper advanced customer segments</span>
                                                                                </a>
                                                                            </li>
                                                                            <li>
                                                                                <a href="/products/tools/suite#section-flows">
                                                                                    <strong>Flows</strong>
                                                                                    <br>
                                                                                    <span>Visual customer engagement builder</span>
                                                                                </a>
                                                                            </li>
                                                                            <li>
                                                                                <a href="/products/tools/suite#section-functions">
                                                                                    <strong>Functions</strong>
                                                                                    <br>
                                                                                    <span>Run custom code hosted by RevCent</span>
                                                                                </a>
                                                                            </li>
                                                                            <li>
                                                                                <a href="/products/tools/suite#section-ai">
                                                                                    <strong>AI</strong>
                                                                                    <br>
                                                                                    <span>Natively integrated with OpenAI</span>
                                                                                </a>
                                                                            </li>
                                                                        </ul>
                                                                    </div>
                                                                    <div class="col-lg-6 col-md-12 col-sm-12 col-12">
                                                                        <ul class="mega-menu-item">
                                                                            <li>
                                                                                <a href="/products/tools/suite#section-email-templates">
                                                                                    <strong>Email Templates</strong>
                                                                                    <br>
                                                                                    <span>Send emails according to triggers</span>
                                                                                </a>
                                                                            </li>
                                                                            <li>
                                                                                <a href="/products/tools/suite#section-firehose">
                                                                                    <strong>Firehose</strong>
                                                                                    <br>
                                                                                    <span>Send event details to any endpoint</span>
                                                                                </a>
                                                                            </li>
                                                                            <li>
                                                                                <a href="/products/integration/suite">
                                                                                    <strong>Integrations</strong>
                                                                                    <br>
                                                                                    <span>Inbound, outbound & custom integrations</span>
                                                                                </a>
                                                                            </li>
                                                                            <li>
                                                                                <a href="/products/tools/suite#section-customer-portals">
                                                                                    <strong>Customer Portals</strong>
                                                                                    <br>
                                                                                    <span>Customer portals for self service</span>
                                                                                </a>
                                                                            </li>
                                                                        </ul>
                                                                    </div>
                                                                </div>
                                                            </div>
                                                        </div>
                                                    </div>

                                                </div>
                                            </div>
                                            <!-- End Mega Menu  -->
                                    </li>

                                    <li class="with-megamenu has-menu-child-item position-static">
                                        <a class="a-no-link">Industries <i class="feather-chevron-down d-none"></i></a>
                                        <div class="triangle-border-top-nav"></div>
                                        <!-- Start Mega Menu  -->
                                        <div class="rbt-megamenu grid-item-4">
                                            <div class="wrapper">
                                                <div class="row row--15">
                                                    <div class="col-lg-12 col-xl-3 col-xxl-3 single-mega-item">
                                                        <h3 class="rbt-short-title">Ecommerce</h3>
                                                        <ul class="mega-menu-item">
                                                            <li>
                                                                <a href="/products/integration/suite#section-woocommerce">
                                                                    <strong>WooCommerce Plugin</strong>
                                                                    <br>
                                                                    <span>Link an existing WooCommerce store</span>
                                                                </a>
                                                            </li>
                                                            <li>
                                                                <a href="/products/integration/suite#section-woocommerce">
                                                                    <strong>Hosted WooCommere</strong>
                                                                    <br>
                                                                    <span>Spin up a WooCommerce store in minutes</span>
                                                                </a>
                                                            </li>
                                                            <li>
                                                                <a href="/products/integration/suite#section-api">
                                                                    <strong>Direct API</strong>
                                                                    <br>
                                                                    <span>Integrate a custom store via API</span>
                                                                </a>
                                                            </li>
                                                            <li>
                                                                <a href="/products/tracking/suite">
                                                                    <strong>Tracking</strong>
                                                                    <br>
                                                                    <span>In-house DNS tracking</span>
                                                                </a>
                                                            </li>
                                                        </ul>
                                                    </div>
                                                    <div class="col-lg-12 col-xl-3 col-xxl-3 single-mega-item">
                                                        <h3 class="rbt-short-title">SAAS</h3>
                                                        <ul class="mega-menu-item">
                                                            <li>
                                                                <a href="/products/integration/suite#section-api">
                                                                    <strong>Advanced API</strong>
                                                                    <br>
                                                                    <span>Use our API to process payments, retrieve data and more</span>
                                                                </a>
                                                            </li>
                                                            <li>
                                                                <a href="/products/tools/suite#section-functions">
                                                                    <strong>Functions</strong>
                                                                    <br>
                                                                    <span>Run your own code in the cloud without servers</span>
                                                                </a>
                                                            </li>
                                                            <li>
                                                                <a href="/products/tracking/suite#section-metadata">
                                                                    <strong>Metadata</strong>
                                                                    <br>
                                                                    <span>Implement metadata in API requests for granular analysis</span>
                                                                </a>
                                                            </li>
                                                        </ul>
                                                    </div>
                                                    <div class="col-lg-12 col-xl-3 col-xxl-3 single-mega-item">
                                                        <h3 class="rbt-short-title">Call Center</h3>
                                                        <ul class="mega-menu-item">
                                                            <li>
                                                                <a href="/products/manage/suite#section-organizations">
                                                                    <strong>Organizations</strong>
                                                                    <br>
                                                                    <span>Organize users by business to separate concerns</span>
                                                                </a>
                                                            </li>
                                                            <li>
                                                                <a href="/products/manage/suite#section-organizations">
                                                                    <strong>Permissions</strong>
                                                                    <br>
                                                                    <span>User hierarchy and granular permissions within organizations</span>
                                                                </a>
                                                            </li>
                                                            <li>
                                                                <a href="/products/manage/suite#section-notes">
                                                                    <strong>Item Notes</strong>
                                                                    <br>
                                                                    <span>Take notes which are visible throughout the system</span>
                                                                </a>
                                                            </li>
                                                        </ul>
                                                    </div>
                                                    <div class="col-lg-12 col-xl-3 col-xxl-3 single-mega-item">
                                                        <h3 class="rbt-short-title">Self Serve</h3>
                                                        <ul class="mega-menu-item">
                                                            <li>
                                                                <a href="/products/manage/suite">
                                                                    <strong>Manual Billing</strong>
                                                                    <br>
                                                                    <span>Create sales and process customer payments in the RevCent web app</span>
                                                                </a>
                                                            </li>
                                                            <li>
                                                                <a href="/products/manage/suite">
                                                                    <strong>Invoices</strong>
                                                                    <br>
                                                                    <span>Create invoices and send clients a link to pay online or print and mail</span>
                                                                </a>
                                                            </li>
                                                            <li>
                                                                <a href="/products/tools/suite#section-customer-portals">
                                                                    <strong>Portals</strong>
                                                                    <br>
                                                                    <span>Allow customers to login and make payments, track shipping and more</span>
                                                                </a>
                                                            </li>
                                                        </ul>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                        <!-- End Mega Menu  -->
                                    </li>

                                    <li class="">
                                        <a href="/pricing">Pricing
                                            <i class="feather-chevron-down d-none"></i>
                                        </a>
                                    </li>

                                    <li class="with-megamenu has-menu-child-item">
                                        <a class="a-no-link">Help <i class="feather-chevron-down d-none"></i></a>
                                        <div class="triangle-border-top-nav"></div>
                                        <!-- Start Mega Menu  -->
                                        <div class="rbt-megamenu grid-item-2">
                                            <div class="wrapper">
                                                <div class="row row--15">
                                                    <div class="col-lg-12 col-xl-6 col-xxl-6 single-mega-item">
                                                        <h3 class="rbt-short-title">Docs</h3>
                                                        <ul class="mega-menu-item">
                                                            <li><a href="https://kb.revcent.com/" target="_blank">Knowledge Base <i class="far fa-external-link-square-alt small"></i></a></li>
                                                            <li><a href="/docs/api">API</a></li>
                                                        </ul>
                                                    </div>
                                                    <div class="col-lg-12 col-xl-6 col-xxl-6 single-mega-item">
                                                        <h3 class="rbt-short-title">Popular Guides</h3>
                                                        <ul class="mega-menu-item">
                                                            <li><a href="https://kb.revcent.com/en/tracking/conversion-tracking" target="_blank">Conversion Tracking</a></li>
                                                            <li><a href="https://kb.revcent.com/integrations/third-party-shop/woocommerce-installation" target="_blank">WooCommerce Integration</a></li>
                                                            <li><a href="https://kb.revcent.com/en/payments/credit-card/payment-profile" target="_blank">Payment Profiles</a></li>
                                                        </ul>
                                                    </div>
                                                </div>
                                                <div class="row">
                                                    <div class="col-lg-12">
                                                        <ul class="nav-quick-access">
                                                            <li><a href="https://revcent.statuspage.io/" target="_blank"><i class="feather-folder-minus"></i> System Status</a></li>
                                                            <li><a href="https://kb.revcent.com/en/guides/initial-setup" target="_blank"><i class="feather-folder-minus"></i> Quick Start Guide</a></li>
                                                        </ul>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                        <!-- End Mega Menu  -->
                                    </li>

                                    <li class="">
                                        <a href="/contact">Contact
                                        </a>
                                    </li>
                                </ul>
                            </nav>
                        </div>

                        <div class="header-right">

                            <!-- Navbar Icons -->
                            <ul class="quick-access">


        
                                <li class="account-access rbt-user-wrapper d-none d-xl-block">
                                    <a class="" href="/register"><i class="feather-user-plus"></i>Sign Up</a>
                                </li>
                                <li class="account-access rbt-user-wrapper d-none d-xl-block">
                                    <a href="/login"><i class="feather-log-in"></i>Log In</a>
                                </li>
        

                            </ul>

                            <!-- Start Mobile-Menu-Bar -->
                            <div class="mobile-menu-bar d-block d-xl-none">
                                <div class="hamberger">

        
                                    <button class="hamberger-button rbt-round-btn">
                                        <i class="feather-menu"></i>
                                    </button>
                                </div>
                            </div>
                            <!-- Start Mobile-Menu-Bar -->

                        </div>
                    </div>
                </div>

            </div>

        </header>


        <!-- Mobile Menu Section -->
        <div class="popup-mobile-menu">
            <div class="inner-wrapper">
                <div class="inner-top">
                    <div class="content">
                        <div class="logo">
                            <a href="/">
                                <img src="https://cdn.revcent.com/img/revcent-logo-black.png" alt="RevCent">
                            </a>
                        </div>
                        <div class="rbt-btn-close">
                            <button class="close-button rbt-round-btn"><i class="feather-x"></i></button>
                        </div>
                    </div>
                </div>

                <nav class="mainmenu-nav">
                    <ul class="mainmenu">
                        <li class="with-megamenu has-menu-child-item position-static">
                            <a href="#">Payments <i class="feather-chevron-down"></i></a>
                            <div class="rbt-megamenu grid-item-4">
                                <div class="wrapper">
                                    <div class="row row--15">
                                        <div class="col-lg-12 col-xl-3 col-xxl-3 single-mega-item">
                                            <ul class="mega-menu-item">
                                                <li>
                                                    <a href="/products/payments/credit-card">
                                                        Credit Card
                                                        <br>
                                                        <span class="text-muted small">The ultimate credit card payment suite</span>
                                                    </a>
                                                </li>
                                                <li>
                                                    <a href="/products/payments/payment-profiles">
                                                        Payment Routing
                                                        <br>
                                                        <span class="text-muted small">Dynamically route payments</span>
                                                    </a>
                                                </li>
                                                <li>
                                                    <a href="/products/payments/revenue-recovery">
                                                        Recovery Recovery
                                                        <br>
                                                        <span class="text-muted small">Automatically recover lost revenue</span>
                                                    </a>
                                                </li>
                                                <li>
                                                    <a href="/products/payments/chargeback-management">
                                                        Chargebacks
                                                        <br>
                                                        <span class="text-muted small">Integrated chargeback management</span>
                                                    </a>
                                                </li>
                                                <li>
                                                    <a href="/products/payments/anti-fraud">
                                                        Anti Fraud
                                                        <br>
                                                        <span class="text-muted small">Prevent fraud with Sentinel, our in-house anti-fraud tool</span>
                                                    </a>
                                                </li>
                                                <li>
                                                    <a href="/products/payments/alternative">
                                                        Third Party
                                                        <br>
                                                        <span class="text-muted small">PayPal, Amazon Pay & more</span>
                                                    </a>
                                                </li>
                                                <li>
                                                    <a href="/products/payments/credit-card#section-mid-management">
                                                        MID Management
                                                        <br>
                                                        <span class="text-muted small">Organize MID's and prevent cross corp transactions</span>
                                                    </a>
                                                </li>
                                                <li>
                                                    <a href="/products/payments/credit-card#section-card-data">
                                                        Card Storage
                                                        <br>
                                                        <span class="text-muted small">Store customer cards securely within RevCent</span>
                                                    </a>
                                                </li>
                                            </ul>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </li>
                        <li class="with-megamenu has-menu-child-item position-static">
                            <a href="#">Management <i class="feather-chevron-down"></i></a>
                            <div class="rbt-megamenu grid-item-4">
                                <div class="wrapper">
                                    <div class="row row--15">
                                        <div class="col-lg-12 col-xl-3 col-xxl-3 single-mega-item">
                                            <ul class="mega-menu-item">
                                                <li>
                                                    <a href="/products/manage/suite">
                                                        Sales
                                                        <br>
                                                        <span class="text-muted small">View and manage sales</span>
                                                    </a>
                                                </li>
                                                <li>
                                                    <a href="/products/manage/suite#section-customers">
                                                        Customers
                                                        <br>
                                                        <span class="text-muted small">Customer management in one place</span>
                                                    </a>
                                                </li>
                                                <li>
                                                    <a href="/products/manage/suite#section-shipping">
                                                        Shipping
                                                        <br>
                                                        <span class="text-muted small">Automate with integrated fulfillment centers</span>
                                                    </a>
                                                </li>
                                                <li>
                                                    <a href="/products/manage/suite#section-products">
                                                        Products
                                                        <br>
                                                        <span class="text-muted small">Multiple product types and variations</span>
                                                    </a>
                                                </li>
                                                <li>
                                                    <a href="/products/manage/suite#section-subscriptions">
                                                        Subscriptions
                                                        <br>
                                                        <span class="text-muted small">Recurring billing made easy</span>
                                                    </a>
                                                </li>
                                                <li>
                                                    <a href="/products/manage/suite#section-tax">
                                                        Tax
                                                        <br>
                                                        <span class="text-muted small">Manage tax using profiles or third parties</span>
                                                    </a>
                                                </li>
                                                <li>
                                                    <a href="/products/manage/suite#section-organizations">
                                                        Users
                                                        <br>
                                                        <span class="text-muted small">Add users with granular permissions</span>
                                                    </a>
                                                </li>
                                                <li>
                                                    <a href="/products/manage/suite#section-notes">
                                                        Notes
                                                        <br>
                                                        <span class="text-muted small">Take notes on customers, sales and more</span>
                                                    </a>
                                                </li>
                                            </ul>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </li>
                        <li class="with-megamenu has-menu-child-item position-static">
                            <a href="#">Tracking <i class="feather-chevron-down"></i></a>
                            <div class="rbt-megamenu grid-item-4">
                                <div class="wrapper">
                                    <div class="row row--15">
                                        <div class="col-lg-12 col-xl-3 col-xxl-3 single-mega-item">
                                            <ul class="mega-menu-item">
                                                <li>
                                                    <a href="/products/tracking/suite">
                                                        DNS Tracking
                                                        <br>
                                                        <span class="text-muted small">Accurately track visitors across domains</span>
                                                    </a>
                                                </li>
                                                <li>
                                                    <a href="/products/tracking/suite#section-utilize-metadata">
                                                        Metadata
                                                        <br>
                                                        <span class="text-muted small">Utilize detailed metadata</span>
                                                    </a>
                                                </li>
                                                <li>
                                                    <a href="/products/tracking/suite#section-conversions">
                                                        Conversions
                                                        <br>
                                                        <span class="text-muted small">Know your true conversion metrics</span>
                                                    </a>
                                                </li>
                                                <li>
                                                    <a href="/products/tracking/suite#section-adwords">
                                                        AdWords
                                                        <br>
                                                        <span class="text-muted small">Link your AdWords account with RevCent</span>
                                                    </a>
                                                </li>
                                            </ul>
                                        </div>
                                    </div>
                                </div>
                            </div>
                            <!-- End Mega Menu  -->
                        </li>
                        <li class="with-megamenu has-menu-child-item position-static">
                            <a href="#">Reporting <i class="feather-chevron-down"></i></a>
                            <div class="rbt-megamenu grid-item-4">
                                <div class="wrapper">
                                    <div class="row row--15">
                                        <div class="col-lg-12 col-xl-3 col-xxl-3 single-mega-item">
                                            <ul class="mega-menu-item">
                                                <li>
                                                    <a href="/products/reporting/suite">
                                                        Reports
                                                        <br>
                                                        <span class="text-muted small">Pre-built reporting pages with popular metrics</span>
                                                    </a>
                                                </li>
                                                <li>
                                                    <a href="/products/reporting/suite#section-dashboard">
                                                        Dashboard
                                                        <br>
                                                        <span class="text-muted small">Advanced customizable metrics</span>
                                                    </a>
                                                </li>
                                                <li>
                                                    <a href="/products/reporting/suite#section-auto-queries">
                                                        Auto Queries
                                                        <br>
                                                        <span class="text-muted small">Receive custom metrics data via email, SMS and more</span>
                                                    </a>
                                                </li>
                                                <li>
                                                    <a href="/products/reporting/suite#section-bigquery">
                                                        BigQuery
                                                        <br>
                                                        <span class="text-muted small">Direct data access via Google BigQuery</span>
                                                    </a>
                                                </li>
                                            </ul>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </li>
                        <li class="with-megamenu has-menu-child-item position-static">
                            <a href="#">Tools <i class="feather-chevron-down"></i></a>
                            <div class="rbt-megamenu grid-item-4">
                                <div class="wrapper">
                                    <div class="row row--15">
                                        <div class="col-lg-12 col-xl-3 col-xxl-3 single-mega-item">
                                            <ul class="mega-menu-item">
                                                <li>
                                                    <a href="/products/tools/suite">
                                                        Customer Groups
                                                        <br>
                                                        <span class="text-muted small">Hyper advanced customer segments</span>
                                                    </a>
                                                </li>
                                                <li>
                                                    <a href="/products/tools/suite#section-flows">
                                                        Flows
                                                        <br>
                                                        <span class="text-muted small">Visual customer engagement builder</span>
                                                    </a>
                                                </li>
                                                <li>
                                                    <a href="/products/tools/suite#section-functions">
                                                        Functions
                                                        <br>
                                                        <span class="text-muted small">Run custom code hosted by RevCent</span>
                                                    </a>
                                                </li>
                                                <li>
                                                    <a href="/products/tools/suite#section-ai">
                                                        AI
                                                        <br>
                                                        <span class="text-muted small">Natively integrated with OpenAI</span>
                                                    </a>
                                                </li>
                                                <li>
                                                    <a href="/products/tools/suite#section-email-templates">
                                                        Email Templates
                                                        <br>
                                                        <span class="text-muted small">Send emails according to triggers</span>
                                                    </a>
                                                </li>
                                                <li>
                                                    <a href="/products/tools/suite#section-firehose">
                                                        Firehose
                                                        <br>
                                                        <span class="text-muted small">Send event details to any endpoint</span>
                                                    </a>
                                                </li>
                                                <li>
                                                    <a href="/products/integration/suite">
                                                        Integrations
                                                        <br>
                                                        <span class="text-muted small">Inbound, outbound & custom integrations</span>
                                                    </a>
                                                </li>
                                                <li>
                                                    <a href="/products/tools/suite#section-customer-portals">
                                                        Customer Portals
                                                        <br>
                                                        <span class="text-muted small">Customer portals for self service</span>
                                                    </a>
                                                </li>
                                            </ul>
                                        </div>
                                    </div>
                                </div>
                            </div>
                            <!-- End Mega Menu  -->
                        </li>
                        <li>
                            <a href="/pricing">
                                Pricing
                            </a>
                        </li>
                        <li class="with-megamenu has-menu-child-item position-static">
                            <a href="#">Help <i class="feather-chevron-down"></i></a>
                            <div class="rbt-megamenu grid-item-4">
                                <div class="wrapper">
                                    <div class="row row--15">
                                        <div class="col-lg-12 col-xl-3 col-xxl-3 single-mega-item">
                                            <h3 class="rbt-short-title">Docs</h3>
                                            <ul class="mega-menu-item">
                                                <li><a href="https://kb.revcent.com/" target="_blank">Knowledge Base <i class="far fa-external-link-square-alt small"></i></a></li>
                                                <li><a href="/docs/api" target="_blank">API <i class="far fa-external-link-square-alt small"></i></a></li>
                                            </ul>
                                        </div>

                                        <div class="col-lg-12 col-xl-3 col-xxl-3 single-mega-item">
                                            <h3 class="rbt-short-title">Popular Guides</h3>
                                            <ul class="mega-menu-item">
                                                <li><a href="https://kb.revcent.com/en/tracking/conversion-tracking" target="_blank">Conversion Tracking</a></li>
                                                <li><a href="https://kb.revcent.com/integrations/third-party-shop/woocommerce-installation" target="_blank">WooCommerce Integration</a></li>
                                                <li><a href="https://kb.revcent.com/en/payments/credit-card/payment-profile" target="_blank">Payment Profiles</a></li>
                                            </ul>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </li>
                        <li>
                            <a href="/contact">
                                Contact
                            </a>
                        </li>
                    </ul>
                </nav>
                <div class="mobile-menu-bottom">
                    <div class="rbt-btn-wrapper mb--20">
                        <a href="/register" class="rbt-btn btn-sm bg-color-pink-4 color-hot-pink d-block text-center">Sign Up</a>
                    </div>
                    <div class="rbt-btn-wrapper mb--20">
                        <a href="/login" class="rbt-btn btn-sm bg-color-purple-4 d-block text-center color-purple">Login</a>
                    </div>
                </div>
            </div>
        </div>
        <a class="close_side_menu" href="javascript:void(0);"></a>    </div>


    <main class="rbt-main-wrapper">





        <section class="Section Sect--angleBottom Sect--paddingNormal">

            <div class="Sect__masked">
                <div class="Sect__backgroundMask">
                    <div class="Sect__background bg-color-page-theme">

                    </div>
                </div>
                <div class="gradient-canvas-wrapper section-separator-wrapper section-separator-250">
                    <canvas class="section-separator-canvas gradient-canvas"></canvas>
                </div>
                <div class="container Sect__container">
                    <div class="container-wrap Sect__layoutContainer">
                        <div class="container-inner Sect__layout">
                            <div class="row">
                                <div class="col-lg-5 mt--40" id="hero-col-1">
                                    <div class="content">
                                        <div class="inner product-hero-inner">
                                            <h1 class="title">
                                                <span class="hero-title">Enabling</span><br>
                                                <span class="hero-title">Innovative</span><br>
                                                <span class="hero-title">Ecommerce</span>
                                            </h1>
                                            <p class="sub-description">RevCent offers a suite of cutting-edge tools, giving ecommerce businesses the ability to innovate.</p>

                                            <div class="row">
                                                <div class="col-lg-4 mb--10">
                                                    <a class="rbt-btn btn-xs page-theme-section-link d-block text-center" href="#section-customer-groups">Groups</a>
                                                </div>
                                                <div class="col-lg-4 mb--10">
                                                    <a class="rbt-btn btn-xs page-theme-section-link d-block text-center" href="#section-flows">Flows</a>
                                                </div>
                                                <div class="col-lg-4 mb--10">
                                                    <a class="rbt-btn btn-xs page-theme-section-link d-block text-center" href="#section-functions">Functions</a>
                                                </div>
                                                <div class="col-lg-4 mb--10">
                                                    <a class="rbt-btn btn-xs page-theme-section-link d-block text-center" href="#section-email-templates">Emails</a>
                                                </div>
                                                <div class="col-lg-4 mb--10">
                                                    <a class="rbt-btn btn-xs page-theme-section-link d-block text-center" href="#section-ai">AI</a>
                                                </div>
                                                <div class="col-lg-4 mb--10">
                                                    <a class="rbt-btn btn-xs page-theme-section-link d-block text-center" href="#section-customer-portals">Portals</a>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>


                                <div class="col-lg-6 offset-lg-1" id="hero-ui-display">
                                    <div class="hero-ui-cards">

                                        <div class="rbt-card bg-color-white shadow-13 no-border hero-ui-card template-card d-lg-block d-nonex">
                                            <div class="card-body">
                                                <div class="thumbnail image-1" style="">
                                                    <img class="no-shadow" src="https://cdn.revcent.com/public-new/img/heros/email-template.png" style="transform: none;">
                                                </div>
                                            </div>
                                        </div>
                                        <div class="rbt-card bg-color-white shadow-13 no-border hero-ui-card ai-chat-card">
                                            <div class="card-header bg-color-purple">
                                                <span class="color-white" style="font-size: 13px;"><i class="far fa-fw fa-robot mr--10"></i> Chat with the AI about the customer</span>
                                                <span class="color-white float-end"><i class="fal fa-fw fa-times small"></i></span>
                                            </div>
                                            <div class="card-body">
                                                <div class="row">
                                                    <div class="col-12">
                                                        <div id="ai-chat-box-output" style="overflow:hidden">
                                                            <div class="ai-chat-box-request-wrap">
                                                                <div class="rbt-card bg-color-white no-shadow mb--20" style="border: 1px solid #cdcdcd;">
                                                                    <div class="card-body" style="padding:20px">
                                                                        <div class="row">
                                                                            <div class="col-sm-12">
                                                                                <p class="small text-muted ai-chat-box-chat-details" style="margin-bottom:0px">
                                                                                    <span class="small">02/28/2024 1:39:56pm</span>
                                                                                    <span class="float-end small pl--5"><i class="fal fa-fw fa-trash"></i></span>
                                                                                    <span class="float-end small pl--5"><i class="fal fa-fw fa-star"></i></span>
                                                                                    <span class="float-end small pl--5"><i class="fas fa-fw fa-save"></i></span>
                                                                                    <span class="float-end small pl--5"><i class="far fa-fw fa-sync-alt"></i></span>
                                                                                </p>
                                                                            </div>
                                                                        </div>
                                                                        <hr class="mt--10 mb--10">
                                                                        <div class="row align-items-center">
                                                                            <div class="col-3">
                                                                                <span class="badge bg-secondary d-block"><i class="far fa-fw fa-user"></i> <span class="d-none d-sm-inline-flex"> Message</span></span>
                                                                            </div>
                                                                            <div class="col-9">
                                                                                <div class="rbt-card bg-color-lighter no-shadow">
                                                                                    <div class="card-body">
                                                                                        <p class="text-muted">What was the ad source and ad id?</p>
                                                                                    </div>
                                                                                </div>
                                                                            </div>
                                                                        </div>
                                                                        <hr class="mt--10 mb--10">
                                                                        <div class="row align-items-center">
                                                                            <div class="col-3">
                                                                                <span class="badge bg-info d-block"><i class="far fa-fw fa-robot"></i> <span class="d-none d-sm-inline-flex"> OpenAI</span></span>
                                                                            </div>
                                                                            <div class="col-9">
                                                                                <div class="rbt-card bg-color-lighter no-shadow">
                                                                                    <div class="card-body">
                                                                                        <p class="text-muted">According to the customer metadata, the ad_source is "facebook" and the ad_id is "448802".</p>
                                                                                    </div>
                                                                                </div>
                                                                            </div>
                                                                        </div>
                                                                    </div>
                                                                </div>
                                                                <div class="rbt-card bg-color-white no-shadow mb--20 d-none" style="border: 1px solid #cdcdcd;">
                                                                    <div class="card-body" style="padding:20px">
                                                                        <div class="row">
                                                                            <div class="col-sm-12">
                                                                                <p class="small text-muted ai-chat-box-chat-details" style="margin-bottom:0px">
                                                                                    <span class="small">02/28/2024 1:39:56pm</span>
                                                                                    <span class="float-end small pl--5"><i class="fal fa-fw fa-trash"></i></span>
                                                                                    <span class="float-end small pl--5"><i class="fal fa-fw fa-star"></i></span>
                                                                                    <span class="float-end small pl--5"><i class="fas fa-fw fa-save"></i></span>
                                                                                    <span class="float-end small pl--5"><i class="far fa-fw fa-sync-alt"></i></span>
                                                                                </p>
                                                                            </div>
                                                                        </div>
                                                                        <hr class="mt--10 mb--10">
                                                                        <div class="row align-items-center">
                                                                            <div class="col-3">
                                                                                <span class="badge bg-secondary d-block"><i class="far fa-fw fa-user"></i> Message</span>
                                                                            </div>
                                                                            <div class="col-9">
                                                                                <div class="rbt-card bg-color-lighter no-shadow">
                                                                                    <div class="card-body">
                                                                                        <p class="text-muted">What did the customer buy?</p>
                                                                                    </div>
                                                                                </div>
                                                                            </div>
                                                                        </div>
                                                                        <hr class="mt--10 mb--10">
                                                                        <div class="row align-items-center">
                                                                            <div class="col-3">
                                                                                <span class="badge bg-info d-block"><i class="far fa-fw fa-robot"></i> OpenAI</span>
                                                                            </div>
                                                                            <div class="col-9">
                                                                                <div class="rbt-card bg-color-lighter no-shadow">
                                                                                    <div class="card-body">
                                                                                        <p class="text-muted">The customer purchased a USB 100GB hard drive.</p>
                                                                                    </div>
                                                                                </div>
                                                                            </div>
                                                                        </div>
                                                                    </div>
                                                                </div>
                                                            </div>
                                                        </div>
                                                        <div class="rbt-card bg-color-white no-shadow mb--5 mt--10">
                                                            <div class="card-body" style="border: 1px solid #cdcdcd;border-radius:6px;padding: 10px 15px 10px 15px;">
                                                                <p class="mb--0 text-muted"><span>Send a message... </span><span class="float-end"><i class="fal fa-paper-plane"></i></span></p>
                                                            </div>
                                                        </div>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>


                                        <div class="rbt-card bg-color-darker shadow-13 no-border hero-ui-card function-card">
                                            <div class="card-body">
                                                <div class="row">
                                                    <div class="col-12">
                                                        <pre id="function-code-hero" class="highlight-code language-sql hljs"></pre>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>


                                    </div>
                                </div>



                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </section>




        <section class="Section Sect--angleBoth Sect--paddingNormal" id="section-customer-groups">

            <div class=" Sect__masked">
                <div class="Sect__backgroundMask">
                    <div class="Sect__background bg-color-white">

                    </div>
                </div>
                <div class="SeparatorSlantSet SeparatorSlantSet--BottomLeft SeparatorSlantSet--layoutIntersecting">
                    <div class="SeparatorSlant SeparatorSlant--accentNone SeparatorSlant--variantSolid SeparatorSlant--insetSmall SeparatorSlant--widthFull"></div>
                </div>
                <div class="container Sect__container">
                    <div class="container-wrap Sect__layoutContainer">
                        <div class="container-inner Sect__layout">
                            <span class="rbt-badge-6 page-theme-badge">Segmentation</span>
                            <div class="row mb--60">
                                <div class="col-sm-12 col-xl-4">
                                    <div class="section-title text-start mb--20">
                                        <h1 class="title">Customer<br>Groups</h1>
                                    </div>
                                    <p class="mb--10">Segment your customers at a broad or granular level for targeted marketing, reporting and overall revenue growth.</p>
                                    <p><a class="page-theme-link small" href="https://kb.revcent.com/en/customer/customer-group" target="_blank">Customer Group Docs<i class="far fa-fw fa-angle-right small"></i></a></p>
                                </div>
                                <div class="col-xl-7 offset-xl-1 d-none d-xl-block">
                                    <div class="sect-thumbnail-main fade-white scale-none">
                                        <div class="sect-thumbnail-wrapper">
                                            <div class="sect-thumbnail">
                                                <img class="sect-img" src="https://cdn.revcent.com/public-new/img/customer-group/customer-group-ltv.png">
                                            </div>
                                        </div>
                                        <div class="sect-thumbnail-fade">
                                        </div>
                                    </div>
                                </div>
                            </div>


                            <div class="row mb--100">
                                <div class="col-lg-4 mt--20">
                                    <div class="rbt-card bg-color-light no-shadow">
                                        <div class="card-body">
                                            <h5 class="mb--10">Segment</h5>
                                            <p class="mb--0">Create customer groups by setting the qualifying metrics, attributes and enriched data each customer must have.</p>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-lg-4 mt--20">
                                    <div class="rbt-card bg-color-light no-shadow">
                                        <div class="card-body">
                                            <h5 class="mb--10">Utilize</h5>
                                            <p class="mb--0">Implement customer groups to engage your existing customer base, identify profitable audiences and increase revenue.</p>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-lg-4 mt--20">
                                    <div class="rbt-card bg-color-light no-shadow">
                                        <div class="card-body">
                                            <h5 class="mb--10">Capitalize</h5>
                                            <p class="mb--0">If used correctly, customer groups can become one of the most profitable tools for any ecommerce business.</p>
                                        </div>
                                    </div>
                                </div>
                            </div>

                            <div class="row mb--120">
                                <div class="col-lg-4">
                                    <div class="section-title text-start">
                                        <h4 class="title">Qualifiers</h4>
                                    </div>
                                    <p class="mb--10">Qualify customers for a group based on their individual metrics, attributes and enriched data.</p>
                                    <p class="d-none"><a class="page-theme-link small" href="https://kb.revcent.com/en/customer/customer-group#specific-values-1" target="_blank">All Qualifiers<i class="far fa-fw fa-angle-right small"></i></a></p>

                                </div>
                                <div class="col-sm-12 mt--10">
                                    <div class="rbt-card bg-color-lighter no-shadow group-qualifier-list-card">
                                        <div class="card-body">
                                            <p class="mb--0 small text-muted italic">Metrics</p>
                                            <ul class="list-unstyled list-inline groups-list groups-metrics-list mb--0">
                                                <li class="list-inline-item">
                                                    <span class="badge">Account Age</span>
                                                </li>
                                                <li class="list-inline-item">
                                                    <span class="badge">Lifetime Value</span>
                                                </li>
                                                <li class="list-inline-item">
                                                    <span class="badge">Number Of Sales</span>
                                                </li>
                                                <li class="list-inline-item">
                                                    <span class="badge">Number Of Successful Sales</span>
                                                </li>
                                                <li class="list-inline-item">
                                                    <span class="badge">Number Of Declined Sales</span>
                                                </li>
                                                <li class="list-inline-item">
                                                    <span class="badge">Average Sale</span>
                                                </li>
                                                <li class="list-inline-item">
                                                    <span class="badge">Sales Gross</span>
                                                </li>
                                                <li class="list-inline-item">
                                                    <span class="badge">Upsells</span>
                                                </li>
                                                <li class="list-inline-item">
                                                    <span class="badge">Abandoned Sales</span>
                                                </li>
                                                <li class="list-inline-item">
                                                    <span class="badge">Days Since Last Sale</span>
                                                </li>
                                                <li class="list-inline-item">
                                                    <span class="badge">Number of Renewals</span>
                                                </li>
                                                <li class="list-inline-item">
                                                    <span class="badge">Number of Successful Renewals</span>
                                                </li>
                                                <li class="list-inline-item">
                                                    <span class="badge">Number of Overdue Renewals</span>
                                                </li>
                                                <li class="list-inline-item">
                                                    <span class="badge">Days Since Last Renewal</span>
                                                </li>
                                                <li class="list-inline-item">
                                                    <span class="badge">Fraud Detections</span>
                                                </li>
                                                <li class="list-inline-item">
                                                    <span class="badge">Number of Refunds</span>
                                                </li>
                                                <li class="list-inline-item">
                                                    <span class="badge">Lifetime Refunded</span>
                                                </li>
                                                <li class="list-inline-item">
                                                    <span class="badge">Number of Chargebacks</span>
                                                </li>
                                                <li class="list-inline-item">
                                                    <span class="badge">Lifetime Chargeback</span>
                                                </li>
                                                <li class="list-inline-item">
                                                    <span class="badge">PayPal Disputes</span>
                                                </li>
                                            </ul>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-sm-12 mt--10">
                                    <div class="rbt-card bg-color-lighter no-shadow group-qualifier-list-card">
                                        <div class="card-body">
                                            <p class="mb--0 small text-muted italic">Attributes</p>
                                            <ul class="list-unstyled list-inline groups-list groups-source-list mb--0">
                                                <li class="list-inline-item">
                                                    <span class="badge">Source Campaign</span>
                                                </li>
                                                <li class="list-inline-item">
                                                    <span class="badge">Products Purchased</span>
                                                </li>
                                                <li class="list-inline-item">
                                                    <span class="badge">Source Shop</span>
                                                </li>
                                                <li class="list-inline-item">
                                                    <span class="badge">Subscription Status</span>
                                                </li>
                                                <li class="list-inline-item">
                                                    <span class="badge">Tracking Params</span>
                                                </li>
                                                <li class="list-inline-item">
                                                    <span class="badge">Metadata</span>
                                                </li>
                                            </ul>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-sm-12 mt--10">
                                    <div class="rbt-card bg-color-lighter no-shadow group-qualifier-list-card">
                                        <div class="card-body">
                                            <p class="mb--0 small text-muted italic">Enriched Data</p>
                                            <ul class="list-unstyled list-inline groups-list groups-enrichment-list mb--0">
                                                <li class="list-inline-item">
                                                    <span class="badge">Social Media</span>
                                                </li>
                                                <li class="list-inline-item">
                                                    <span class="badge">Email Accounts</span>
                                                </li>
                                                <li class="list-inline-item">
                                                    <span class="badge">App Accounts</span>
                                                </li>
                                                <li class="list-inline-item">
                                                    <span class="badge">Phone Validated</span>
                                                </li>
                                                <li class="list-inline-item">
                                                    <span class="badge">Phone Country</span>
                                                </li>
                                                <li class="list-inline-item">
                                                    <span class="badge">Email Validated</span>
                                                </li>
                                                <li class="list-inline-item">
                                                    <span class="badge">Email Deliverable</span>
                                                </li>
                                            </ul>
                                        </div>
                                    </div>
                                </div>
                            </div>
                            <div class="row mb--120">
                                <div class="col-sm-12">
                                    <div class="row">
                                        <div class="col-lg-4">
                                            <div class="section-title text-start">
                                                <h4 class="title">Example Groups</h4>
                                            </div>
                                            <p class="">Below are examples on creating and utilizing customer groups to maximize revenue.</p>
                                        </div>
                                    </div>
                                    <div class="row">
                                        <div class="col-lg-4 mt--20">
                                            <div class="rbt-card bg-color-light no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10 d-none"><i class="fal fa-fw fa-calendar"></i></h5>
                                                    <h5 class="mb--10">Dormant Customers</h5>
                                                    <p class="mb--0">Segment profitable customers who haven't returned for a given period of time. Create special offers and incentives to get them to purchase again.</p>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-lg-4 mt--20">
                                            <div class="rbt-card bg-color-light no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10 d-none"><i class="fal fa-fw fa-users"></i></h5>
                                                    <h5 class="mb--10">Lookalike Audiences</h5>
                                                    <p class="mb--0">Create a customer group containing your ideal customers. Use the group to target similar audiences in Facebook, AdWords and other marketing channels.</p>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-lg-4 mt--20">
                                            <div class="rbt-card bg-color-light no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10 d-none"><i class="fal fa-fw fa-user-headset"></i></h5>
                                                    <h5 class="mb--10">Brand Loyalty</h5>
                                                    <p class="mb--0">Identify and group your most valuable customers. Implement personalized engagement strategies using the group to build a loyal customer base.</p>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </section>



        <section class="Section Sect--angleBoth Sect--paddingNormal" id="section-flows">

            <div class="Sect__masked">
                <div class="Sect__backgroundMask">
                    <div class="Sect__background bg-color-page-theme">

                    </div>
                </div>
                <div class="container Sect__container">
                    <div class="container-wrap Sect__layoutContainer">
                        <div class="container-inner Sect__layout">
                            <span class="rbt-badge-6 page-theme-badge">Automated Tasks</span>
                            <div class="row mb--60">
                                <div class="col-xl-4">
                                    <div class="section-title text-start mb--20 mt--30">
                                        <h1 class="title">Flows</h1>
                                    </div>
                                    <p class="mb--10">Automatically engage customers, take actions and much more using the flows feature.</p>
                                    <p><a class="page-theme-link small" href="https://kb.revcent.com/en/tools/flows" target="_blank">Flow Docs<i class="far fa-fw fa-angle-right small"></i></a></p>
                                </div>
                                <div class="col-xl-7 offset-xl-1 d-none d-xl-block">
                                    <div class="sect-thumbnail-main fade-page-theme scale-none">
                                        <div class="sect-thumbnail-wrapper">
                                            <div class="sect-thumbnail no-border">
                                                <img class="sect-img" src="https://cdn.revcent.com/public-new/img/flow-example-grid-bg.png">
                                            </div>
                                        </div>
                                        <div class="sect-thumbnail-fade">
                                        </div>
                                    </div>
                                </div>
                            </div>

                            <div class="row mb--120">
                                <div class="col-sm-12">
                                    <div class="row extra-paddingx">
                                        <div class="col-lg-4 mt--20">
                                            <div class="rbt-card bg-color-dark-purple-3 bg-color-text-white no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">You Build It</h5>
                                                    <p class="mb--0">Use the visual builder in RevCent to create your desired flow.</p>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-lg-4 mt--20">
                                            <div class="rbt-card bg-color-dark-purple-3 bg-color-text-white no-shadow no-padding">
                                                <div class="card-body">
                                                    <h5 class="mb--10">We Run It</h5>
                                                    <p class="mb--0">RevCent will automatically process the flow according to your design.</p>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-lg-4 mt--20">
                                            <div class="rbt-card bg-color-dark-purple-3 bg-color-text-white no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">Endless Potential</h5>
                                                    <p class="mb--0">Flows offer unlimited potential for conversions, engagement and more.</p>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>


                            <div class="row mb--120">
                                <div class="col-sm-12">
                                    <div class="row">
                                        <div class="col-lg-4">
                                            <div class="section-title text-start">
                                                <h4 class="title">Flow Process</h4>
                                            </div>
                                            <p class="">Flows are a perfect tool for business needing an automated engagement solution.</p>
                                        </div>
                                    </div>
                                    <div class="row">
                                        <div class="col-lg-3 mt--20">
                                            <div class="rbt-card bg-color-purple-1 no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">Design</h5>
                                                    <ul class="mb--0">
                                                        <li class="list-item">
                                                            Design your flow using the drag and drop interface.
                                                        </li>
                                                        <li class="list-item">
                                                            Each node can be either a start, filter or action.
                                                        </li>
                                                        <li class="list-item">
                                                            Create filtered branches with variable actions.
                                                        </li>
                                                    </ul>
                                                </div>
                                            </div>
                                        </div>

                                        <div class="col-lg-3 mt--20">
                                            <div class="rbt-card bg-color-purple-2 no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">Run</h5>
                                                    <ul class="mb--0">
                                                        <li class="list-item">
                                                            A flow run begins based on the start node settings.
                                                        </li>
                                                        <li class="list-item">
                                                            Each flow run is specific to the originating customer.
                                                        </li>
                                                        <li class="list-item">
                                                            Flow runs are fully automated and viewable.
                                                        </li>
                                                    </ul>
                                                </div>
                                            </div>
                                        </div>

                                        <div class="col-lg-3 mt--20">
                                            <div class="rbt-card bg-color-purple-3 no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">Duration</h5>
                                                    <ul class="mb--0">
                                                        <li class="list-item">
                                                            Great for short or long term engagement.
                                                        </li>
                                                        <li class="list-item">
                                                            Flow runs can hibernate for variable periods.
                                                        </li>
                                                        <li class="list-item">
                                                            Conduct time delayed outcome branching.
                                                        </li>
                                                    </ul>
                                                </div>
                                            </div>
                                        </div>

                                        <div class="col-lg-3 mt--20">
                                            <div class="rbt-card bg-color-purple-4 no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">Profit</h5>
                                                    <ul class="mb--0">
                                                        <li class="list-item">
                                                            Offer specials to generate returning customers.
                                                        </li>
                                                        <li class="list-item">
                                                            Engage abandoned carts and overdue subscribers.
                                                        </li>
                                                        <li class="list-item">
                                                            Build a loyal customer base using personalization.
                                                        </li>
                                                    </ul>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                            <div class="row mb--120">
                                <div class="col-sm-12">
                                    <div class="row">
                                        <div class="col-lg-4">
                                            <div class="section-title text-start">
                                                <h4 class="title">Flow Uses</h4>
                                            </div>
                                            <p class="">Below are some examples on how RevCent users increase revenue using flows.</p>
                                        </div>
                                    </div>
                                    <div class="row">
                                        <div class="col-lg-4 mt--20">
                                            <div class="rbt-card bg-color-purple-2 no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10 d-none"><i class="fal fa-fw fa-envelope-open-dollar"></i></h5>
                                                    <h5 class="mb--10">Abandoned Cart</h5>
                                                    <p class="">Create a flow that checks to see if a sale was successfully paid. If abandoned, send an email to the customer with a discount.</p>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-lg-4 mt--20">
                                            <div class="rbt-card bg-color-purple-2 no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10 d-none"><i class="fal fa-fw fa-cart-plus"></i></h5>
                                                    <h5 class="mb--10">Upsell Offers</h5>
                                                    <p class="">After a customer successfully purchases, wait a few minutes, then send an offer with related products, warranties, addons, etc.</p>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-lg-4 mt--20">
                                            <div class="rbt-card bg-color-purple-2 no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10 d-none"><i class="fal fa-fw fa-badge-dollar"></i></h5>
                                                    <h5 class="mb--10">Valuable Customers</h5>
                                                    <p class="">Create a high LTV customer group. When a customer enters the group, automate personalized engagement over time.</p>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </section>


        <section class="Section Sect--angleTop Sect--paddingNormal" id="section-email-templates">

            <div class=" Sect__masked">
                <div class="Sect__backgroundMask">
                    <div class="Sect__background bg-color-white">

                    </div>
                </div>
                <div class="SeparatorSlantSet SeparatorSlantSet--TopRight SeparatorSlantSet--layoutIntersecting">
                    <div class="SeparatorSlant SeparatorSlant--accentNone SeparatorSlant--variantSolid SeparatorSlant--insetNormal SeparatorSlant--widthFull"></div>
                </div>
                <div class="container Sect__container">
                    <div class="container-wrap Sect__layoutContainer">
                        <div class="container-inner Sect__layout">
                            <span class="rbt-badge-6 page-theme-badge">Custom Emails</span>
                            <div class="row mb--60">
                                <div class="col-sm-12 col-xl-4">
                                    <div class="section-title text-start mb--20">
                                        <h1 class="title">Email<br>Templates</h1>
                                    </div>
                                    <p class="mb--10">Send emails automatically when specific events occur, including new sales, shipments and more.</p>
                                    <p><a class="page-theme-link small" href="https://kb.revcent.com/en/integrations/smtp/email-template" target="_blank">Email Template Docs<i class="far fa-fw fa-angle-right small"></i></a></p>
                                </div>
                                <div class="col-xl-7 offset-xl-1 d-none d-xl-block">
                                    <div class="sect-thumbnail-main fade-white scale-none">
                                        <div class="sect-thumbnail-wrapper">
                                            <div class="sect-thumbnail">
                                                <img class="sect-img" src="https://cdn.revcent.com/public-new/img/email-template/email-template-tall.png">
                                            </div>
                                        </div>
                                        <div class="sect-thumbnail-fade">
                                        </div>
                                    </div>
                                </div>
                            </div>

                            <div class="row mb--100">
                                <div class="col-sm-12">
                                    <div class="row extra-paddingx">
                                        <div class="col-lg-4 mt--20">
                                            <div class="rbt-card bg-color-light no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">Automated</h5>
                                                    <p class="mb--5">RevCent sends emails based on triggers, with pre-event and time delay options.</p>
                                                    <p><a class="page-theme-link small" href="https://kb.revcent.com/en/integrations/smtp/email-template#email-template-triggers" target="_blank">Triggers<i class="far fa-fw fa-angle-right small"></i></a></p>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-lg-4 mt--20">
                                            <div class="rbt-card bg-color-light no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">Built-In Editor</h5>
                                                    <p class="mb--5">Use both the visual and code editors to build the exact template you want.</p>
                                                    <p><a class="page-theme-link small" href="https://kb.revcent.com/en/integrations/smtp/email-template#design-editor" target="_blank">Editors<i class="far fa-fw fa-angle-right small"></i></a></p>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-lg-4 mt--20">
                                            <div class="rbt-card bg-color-light no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">Handlebars.js</h5>
                                                    <p class="mb--5">Dynamic data is rendered using the familiar Handlebars templating language.</p>
                                                    <p><a class="page-theme-link small" href="https://kb.revcent.com/en/integrations/smtp/email-template#handlebars-syntax" target="_blank">Handlebars<i class="far fa-fw fa-angle-right small"></i></a></p>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>

                            <div class="row mb--30">
                                <div class="col-lg-4">
                                    <div class="section-title text-start">
                                        <h4 class="title">Make It Perfect</h4>
                                    </div>
                                    <p class="">Use our email template builder to create and customize your email templates exactly how you want them.</p>
                                </div>
                            </div>


                            <div class="row mb--120">
                                <div class="col-sm-12">
                                    <div class="rbt-default-tab">
                                        <ul class="nav nav-tabs nav-justified tab-button" role="tablist">
                                            <li class="nav-item tabs__tab " role="presentation">
                                                <button class="nav-link active" id="email-template-tab-1-tab" data-bs-toggle="tab" data-bs-target="#email-template-tab-1" type="button" role="tab" aria-controls="email-template-tab-1" aria-selected="true">Design</button>
                                            </li>
                                            <li class="nav-item tabs__tab " role="presentation">
                                                <button class="nav-link" id="email-template-tab-2-tab" data-bs-toggle="tab" data-bs-target="#email-template-tab-2" type="button" role="tab" aria-controls="email-template-tab-2" aria-selected="false">Code</button>
                                            </li>
                                            <li class="nav-item tabs__tab " role="presentation">
                                                <button class="nav-link" id="email-template-tab-3-tab" data-bs-toggle="tab" data-bs-target="#email-template-tab-3" type="button" role="tab" aria-controls="email-template-tab-3" aria-selected="false">Preview</button>
                                            </li>
                                            <li class="nav-item tabs__tab " role="presentation">
                                                <button class="nav-link" id="email-template-tab-4-tab" data-bs-toggle="tab" data-bs-target="#email-template-tab-4" type="button" role="tab" aria-controls="email-template-tab-4" aria-selected="false">Input Data</button>
                                            </li>
                                            <li class="nav-item tabs__tab " role="presentation">
                                                <button class="nav-link" id="email-template-tab-5-tab" data-bs-toggle="tab" data-bs-target="#email-template-tab-5" type="button" role="tab" aria-controls="email-template-tab-5" aria-selected="false">Pre-Built</button>
                                            </li>
                                        </ul>
                                        <div class="rainbow-tab-content tab-content">
                                            <div class="tab-pane fade show active" id="email-template-tab-1" role="tabpanel" aria-labelledby="email-template-tab-1">
                                                <div class="row extra-padding mb--0">
                                                    <div class="col-lg-6">
                                                        <h5 class="tab-title">Visual Editor</h5>
                                                        <p class="tab-description">Use the built-in visual HTML editor to design your email template.</p>
                                                        <ul class="mw--80">
                                                            <li class="list-item">
                                                                WYSIWYG visual HTML editor.
                                                            </li>
                                                            <li class="list-item">
                                                                Add remote image URL's for branding.
                                                            </li>
                                                            <li class="list-item">
                                                                Customize fields using Handlebars dot notation.
                                                            </li>
                                                            <li class="list-item">
                                                                Drag and drop, coloration, font sizes and more.
                                                            </li>
                                                        </ul>
                                                    </div>
                                                    <div class="col-lg-6">
                                                        <div class="thumbnail-wrapper mt--20">
                                                            <div class="thumbnail image-1 d-block shadow-12">
                                                                <img class="" src="https://cdn.revcent.com/public-new/img/email-template/email-template-1.png">
                                                            </div>
                                                        </div>
                                                    </div>
                                                </div>
                                            </div>

                                            <div class="tab-pane fade" id="email-template-tab-2" role="tabpanel" aria-labelledby="email-template-tab-2">

                                                <div class="row extra-padding mb--0">
                                                    <div class="col-lg-6">
                                                        <h5 class="tab-title">Code Editor</h5>
                                                        <p class="tab-description">Use the code editor raw HTML formatting of your template.</p>
                                                        <ul class="mw--80">
                                                            <li class="list-item">
                                                                Make changes to the raw HTML code of the email template.
                                                            </li>
                                                            <li class="list-item">
                                                                Handlebars syntax applies when editing via code.
                                                            </li>
                                                            <li class="list-item">
                                                                RevCent will convert external CSS to inline before sending.
                                                            </li>
                                                            <li class="list-item">
                                                                The code editor contains formatting, error checking and more.
                                                            </li>
                                                        </ul>
                                                    </div>
                                                    <div class="col-lg-6">
                                                        <div class="thumbnail-wrapper mt--20">
                                                            <div class="thumbnail image-1 d-block shadow-12">
                                                                <img class="" src="https://cdn.revcent.com/public-new/img/email-template/email-template-2.png">
                                                            </div>
                                                        </div>
                                                    </div>
                                                </div>
                                            </div>

                                            <div class="tab-pane fade" id="email-template-tab-3" role="tabpanel" aria-labelledby="email-template-tab-3">
                                                <div class="row extra-padding mb--0">
                                                    <div class="col-lg-6">
                                                        <h5 class="tab-title">Template Preview</h5>
                                                        <p class="tab-description">Instantly preview your email template when changes are made.</p>
                                                        <ul class="mw--80">
                                                            <li class="list-item">
                                                                View exactly how an email when look when sent to a recipient.
                                                            </li>
                                                            <li class="list-item">
                                                                Changes to the visual and code editor instantly update the preview.
                                                            </li>
                                                            <li class="list-item">
                                                                Handlebars and custom data is automatically rendered when previewing.
                                                            </li>
                                                            <li class="list-item">
                                                                Rendered as an iFrame to best represent what the customer will see.
                                                            </li>
                                                        </ul>
                                                    </div>
                                                    <div class="col-lg-6">
                                                        <div class="thumbnail-wrapper mt--20">
                                                            <div class="thumbnail image-1 d-block shadow-12">
                                                                <img class="" src="https://cdn.revcent.com/public-new/img/email-template/email-template-3.png">
                                                            </div>
                                                        </div>
                                                    </div>
                                                </div>
                                            </div>

                                            <div class="tab-pane fade" id="email-template-tab-4" role="tabpanel" aria-labelledby="email-template-tab-4">
                                                <div class="row extra-padding mb--0">
                                                    <div class="col-lg-6">
                                                        <h5 class="tab-title">Input Data</h5>
                                                        <p class="tab-description">View the input data for easy Handlebars templating.</p>
                                                        <ul class="mw--80">
                                                            <li class="list-item">
                                                                Example input JSON data is provided. Click a property to get the shortcode.
                                                            </li>
                                                            <li class="list-item">
                                                                Access JSON properties via Handlebars dot notation.
                                                            </li>
                                                            <li class="list-item">
                                                                Utilize static JSON data to be included when rendering.
                                                            </li>
                                                            <li class="list-item">
                                                                You can run a custom function return JSON dynamically.
                                                            </li>
                                                        </ul>
                                                    </div>
                                                    <div class="col-lg-6">
                                                        <div class="thumbnail-wrapper mt--20">
                                                            <div class="thumbnail image-1 d-block shadow-12">
                                                                <img class="" src="https://cdn.revcent.com/public-new/img/email-template/email-template-4.png">
                                                            </div>
                                                        </div>
                                                    </div>
                                                </div>
                                            </div>

                                            <div class="tab-pane fade" id="email-template-tab-5" role="tabpanel" aria-labelledby="email-template-tab-5">
                                                <div class="row extra-padding mb--0">
                                                    <div class="col-lg-6">
                                                        <h5 class="tab-title">Pre-Built Templates</h5>
                                                        <p class="tab-description">Over 30 pre-built templates are available for you to get started.</p>
                                                        <ul class="mw--80">
                                                            <li class="list-item">
                                                                Ready for production with the proper Handlebars syntax.
                                                            </li>
                                                            <li class="list-item">
                                                                Two versions are provided, blue and black.
                                                            </li>
                                                            <li class="list-item">
                                                                Find the template version you want and click the load button.
                                                            </li>
                                                            <li class="list-item">
                                                                Each is built for specific triggers, such as new sale, refunds and more.
                                                            </li>
                                                        </ul>
                                                    </div>
                                                    <div class="col-lg-6">
                                                        <div class="thumbnail-wrapper mt--20">
                                                            <div class="thumbnail image-1 d-block shadow-12">
                                                                <img class="" src="https://cdn.revcent.com/public-new/img/email-template/email-template-5.png">
                                                            </div>
                                                        </div>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </section>



        <section class="Section Sect--angleBottom Sect--paddingNormal" id="section-events">

            <div class=" Sect__masked">
                <div class="Sect__backgroundMask">
                    <div class="Sect__background bg-color-lighter">

                    </div>
                </div>
                <div class="SeparatorSlantSet SeparatorSlantSet--BottomLeft SeparatorSlantSet--layoutIntersecting">
                    <div class="SeparatorSlant SeparatorSlant--accentNone SeparatorSlant--variantSolid SeparatorSlant--insetSmall SeparatorSlant--widthFull"></div>
                </div>
                <div class="container Sect__container">
                    <div class="container-wrap Sect__layoutContainer">
                        <div class="container-inner Sect__layout">
                            <span class="rbt-badge-6 page-theme-badge">Trigger Tools</span>
                            <div class="row mb--60">
                                <div class="col-sm-12 col-xl-5">
                                    <div class="section-title text-start mb--20">
                                        <h1 class="title">Events</h1>
                                    </div>
                                    <p class="mb--10">Events that occur within your RevCent account can be used to automatically trigger tools such as Functions or AI Assistants.</p>
                                    <p><a class="page-theme-link small" href="https://kb.revcent.com/en/revcent-account/events" target="_blank">Event Docs<i class="far fa-fw fa-angle-right small"></i></a></p>
                                </div>
                            </div>

                            <div class="row mb--120">
                                <div class="col-sm-12">
                                    <div class="row">
                                        <div class="col-lg-3 mt--20">
                                            <div class="rbt-card bg-color-bodyest bg-color-text-white no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">90+ Events</h5>
                                                    <p class="mb--5">There are over 90 unique account events available as triggers.</p>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-lg-3 mt--20">
                                            <div class="rbt-card bg-color-bodyest bg-color-text-white no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">Automated</h5>
                                                    <p class="mb--5">Triggers are activated when one ore more matching events occur.</p>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-lg-3 mt--20">
                                            <div class="rbt-card bg-color-bodyest bg-color-text-white no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">Integrated</h5>
                                                    <p class="mb--5">Events are integrated with tools such as Functions and AI.</p>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-lg-3 mt--20">
                                            <div class="rbt-card bg-color-bodyest bg-color-text-white no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">Granular</h5>
                                                    <p class="mb--5">Utilize dot notation expressions to filter only specific events.</p>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>

                            <div class="row mb--30">
                                <div class="col-lg-5">
                                    <div class="section-title text-start">
                                        <h4 class="title">Events In Action</h4>
                                    </div>
                                    <p class="">Below are example uses showing the power and capability to take customized actions upon specific events.</p>
                                </div>
                            </div>

                            <div class="row mb--100">
                                <div class="col-lg-4 mt--20">
                                    <div class="rbt-card bg-color-white no-shadow">
                                        <div class="card-body">
                                            <div class="thumbnail-wrapper mb--20 d-none">
                                                <div class="thumbnail image-1 d-block image-third-party-integration">
                                                    <img class="third-party-logo" src="https://cdn.revcent.com/img/product-img/all-img/third-party-integrations/slack.png">
                                                </div>
                                            </div>
                                            <h5 class="mb--10">Slack Alert</h5>
                                            <p class="mb--5">Notify a Slack channel when a credit card chargeback is created in RevCent.</p>
                                            <p><a class="page-theme-link small" href="https://github.com/RevCent/function-examples/blob/main/event-send-slack-message.js" target="_blank">Example Code<i class="far fa-fw fa-angle-right small"></i></a></p>
                                            <ul class="">
                                                <li class="list-item">
                                                    Create a function with a <em>chargeback.created</em> event trigger.
                                                </li>
                                                <li class="list-item">
                                                    Use the example function code to message a specific Slack channel.
                                                </li>
                                                <li class="list-item">
                                                    Parse the chargeback event details to customize the Slack message.
                                                </li>
                                                <li class="list-item">
                                                    When a chargeback is created in RevCent, the function will post a detailed message to Slack.
                                                </li>
                                            </ul>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-lg-4 mt--20">
                                    <div class="rbt-card bg-color-white no-shadow">
                                        <div class="card-body">
                                            <div class="thumbnail-wrapper mb--20 d-none">
                                                <div class="thumbnail image-1 d-block image-third-party-integration">
                                                    <img class="third-party-logo" src="https://cdn.revcent.com/img/product-img/all-img/third-party-integrations/telegram.png">
                                                </div>
                                            </div>
                                            <h5 class="mb--10">Telegram & AI</h5>
                                            <p class="mb--5">Message a Telegram group with an AI generated summary of a query result.</p>
                                            <p><a class="page-theme-link small" href="https://github.com/RevCent/function-examples/blob/main/ai-assistant-to-telegram.js" target="_blank">Example Code<i class="far fa-fw fa-angle-right small"></i></a></p>
                                            <ul class="">
                                                <li class="list-item">
                                                    Create a function with an AI Assistant trigger and example code.
                                                </li>
                                                <li class="list-item">
                                                    Create an AI Assistant with the new function as the action.
                                                </li>
                                                <li class="list-item">
                                                    Create an Auto Query using the created AI Assistant as the target.
                                                </li>
                                                <li class="list-item">
                                                    The AI response will generate a human readable summary and post it to Telegram.
                                                </li>
                                            </ul>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-lg-4 mt--20">
                                    <div class="rbt-card bg-color-white no-shadow">
                                        <div class="card-body">
                                            <div class="thumbnail-wrapper mb--20 d-none">
                                                <div class="thumbnail image-1 d-block image-third-party-integration">
                                                    <img class="third-party-logo" src="https://cdn.revcent.com/img/product-img/all-img/third-party-integrations/mysql.png">
                                                </div>
                                            </div>
                                            <h5 class="mb--10">MySQL Insert</h5>
                                            <p class="mb--5">Insert a new record into MySQL when a customer is created in RevCent.</p>
                                            <p><a class="page-theme-link small" href="https://github.com/RevCent/function-examples/blob/main/event-connect-to-mysql.js" target="_blank">Example Code<i class="far fa-fw fa-angle-right small"></i></a></p>
                                            <ul class="">
                                                <li class="list-item">
                                                    Create a function with a <em>customer.created</em> event trigger.
                                                </li>
                                                <li class="list-item">
                                                    Use the example code for the function to connect to a MySQL database.
                                                </li>
                                                <li class="list-item">
                                                    Make sure to whitelist the RevCent IP addresses for MySQL security.
                                                </li>
                                                <li class="list-item">
                                                    When a customer is created in RevCent, the function will connect to and create a record in MySQL.
                                                </li>
                                            </ul>
                                        </div>
                                    </div>
                                </div>
                            </div>

                        </div>
                    </div>
                </div>
            </div>
        </section>

        <section class="Section Sect--angleTop Sect--paddingNormal" id="section-functions">

            <div class=" Sect__masked">
                <div class="Sect__backgroundMask">
                    <div class="Sect__background bg-color-darker">

                    </div>
                </div>
                <div class="container Sect__container">
                    <div class="container-wrap Sect__layoutContainer">
                        <div class="container-inner Sect__layout">
                            <span class="rbt-badge-6 bg-white-opacity">Run Your Code</span>
                            <div class="row mb--20">
                                <div class="col-sm-12 col-xl-5">
                                    <div class="section-title text-start mb--20">
                                        <h1 class="title color-white">Functions</h1>
                                    </div>
                                    <p class="color-white mb--10">Run your own custom JavaScript code, based on triggers and events that occur, all within a secure, isolated environment.</p>
                                    <p><a class="page-theme-link dark-link small" href="https://kb.revcent.com/en/integrations/functions" target="_blank">Function Docs<i class="far fa-fw fa-angle-right small"></i></a></p>

                                </div>
                            </div>

                            <div class="row mb--80">
                                <div class="col-lg-4 mt--30">
                                    <div class="rbt-card no-shadow bg-color-white-opacity">
                                        <div class="rbt-card-body pt--10">
                                            <h5 class="title color-white">JavaScript</h5>
                                            <p class="small color-white">The language used is JavaScript, and your code is run via the Node.js runtime.</p>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-lg-4 mt--30">
                                    <div class="rbt-card no-shadow bg-color-white-opacity">
                                        <div class="rbt-card-body pt--10">
                                            <h5 class="title color-white">Hosted</h5>
                                            <p class="small color-white">Your code is hosted and run by RevCent in a secure, isolated environment.</p>

                                        </div>
                                    </div>
                                </div>
                                <div class="col-lg-4 mt--30">
                                    <div class="rbt-card no-shadow bg-color-white-opacity">
                                        <div class="rbt-card-body pt--10">
                                            <h5 class="title color-white">Event Driven</h5>
                                            <p class="small color-white">Your function is executed via triggers such as new sales, customers and requests.</p>
                                        </div>
                                    </div>
                                </div>
                            </div>

                            <div class="row extra-padding mb--120">
                                <div class="col-lg-5 mb--10">
                                    <div class="section-title text-start">
                                        <h4 class="title color-white">Code Editor</h4>
                                    </div>
                                    <p class="color-white">Use the built-in code editor within RevCent to write your code. The editor includes error checking, formatting and more.</p>
                                </div>
                                <div class="col-sm-12 mb--20">
                                    <div id="functions-container-wrap" class="developer-example-wrap mt--20">
                                        <div id="functions-container" style="width:100%;height:600px;border:0px solid grey;"></div>
                                    </div>
                                </div>
                            </div>


                            <div class="row extra-padding mb--60">
                                <div class="col-lg-6 mb--60">
                                    <div class="row extra-padding">
                                        <div class="col-lg-9 mb--10">
                                            <div class="section-title text-start">
                                                <h4 class="title color-white">Triggers</h4>
                                            </div>
                                            <p class="color-white mb--10">Execute your function using various triggers including events, URL's and more.</p>
                                            <p><a class="text-info small d-none" href="https://kb.revcent.com/en/integrations/functions#function-trigger" target="_blank">Trigger Docs<i class="far fa-fw fa-angle-right small"></i></a></p>

                                        </div>
                                        <div class="col-lg-11 mt--10 mb--20">

                                            <ul class="">
                                                <li class="list-item color-white-off">
                                                    <span class="color-white">Account Event</span>
                                                    <br>
                                                    Function is triggered by RevCent when a specific event occurs.
                                                </li>
                                                <li class="list-item color-white-off">
                                                    <span class="color-white">Auto Query</span>
                                                    <br>
                                                    Process query results from an Auto Query.
                                                </li>
                                                <li class="list-item color-white-off">
                                                    <span class="color-white">Email Template</span>
                                                    <br>
                                                    Generate custom data for an Email Template.
                                                </li>
                                                <li class="list-item color-white-off">
                                                    <span class="color-white">Flow</span>
                                                    <br>
                                                    Use the function as an action within a Flow.
                                                </li>
                                                <li class="list-item color-white-off">
                                                    <span class="color-white">Payment Profile</span>
                                                    <br>
                                                    Run a function during the processing of a Next-Gen payment profile.
                                                </li>
                                                <li class="list-item color-white-off">
                                                    <span class="color-white">Schedule</span>
                                                    <br>
                                                    Function is triggered by RevCent on a fixed schedule using a cron expression.
                                                </li>
                                                <li class="list-item color-white-off">
                                                    <span class="color-white">URL</span>
                                                    <br>
                                                    The function is given a unique URL and can be triggered upon HTTP requests.
                                                </li>
                                                <li class="list-item color-white-off">
                                                    <span class="color-white">Webhook</span>
                                                    <br>
                                                    Send a POST request to a unique URL with a success or fail response.
                                                </li>
                                            </ul>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-lg-6 mb--60">
                                    <div class="row">
                                        <div class="col-lg-9 mb--10">
                                            <div class="section-title text-start">
                                                <h4 class="title color-white">Dependencies</h4>
                                            </div>
                                            <p class="color-white">Several popular dependencies are pre-installed and available for use when running a function.</p>
                                        </div>
                                        <div class="col-lg-12 mb--20">
                                            <div class="developer-example-wrap mt--20">
                                                <pre id="dependencies-list-json" class="highlight-code language-json hljs" style="font-size:14px;max-height:560px;overflow:scroll;margin-bottom:0px;">
                                                </pre>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </section>



        <section class="Section Sect--angleBottom Sect--paddingNormal" id="section-ai">

            <div class=" Sect__masked">
                <div class="Sect__backgroundMask">
                    <div class="Sect__background bg-color-white">

                    </div>
                </div>
                <div class="SeparatorSlantSet SeparatorSlantSet--BottomLeft SeparatorSlantSet--layoutIntersecting" style="z-index:2;">
                    <div class="SeparatorSlant SeparatorSlant--accentNone SeparatorSlant--variantSolid SeparatorSlant--insetSmall SeparatorSlant--widthFull"></div>
                </div>
                <div class="container Sect__container">
                    <div class="container-wrap Sect__layoutContainer">
                        <div class="container-inner Sect__layout">

                            <span class="rbt-badge-6 page-theme-badge">AI Integrated</span>
                            <div class="row mb--60">
                                <div class="col-sm-12 col-xl-4">
                                    <div class="section-title text-start mb--20">
                                        <h1 class="title">AI</h1>
                                    </div>
                                    <p class="mb--10">AI capabilities are natively integrated within RevCent, allowing you to ask questions, take actions and more using the latest LLM's.</p>
                                    <p><a class="page-theme-link small" href="https://kb.revcent.com/en/tools/ai" target="_blank">AI Docs<i class="far fa-fw fa-angle-right small"></i></a></p>
                                </div>
                                <div class="col-xl-7 offset-xl-1 d-none d-xl-blockx">
                                    <div class="sect-thumbnail-main fade-page-theme scale-none">
                                        <div class="sect-thumbnail-wrapper">
                                            <div class="sect-thumbnail">
                                                <img class="sect-img" src="https://cdn.revcent.com/public-new/img/open-ai-settings.png">
                                            </div>
                                        </div>
                                        <div class="sect-thumbnail-fade">
                                        </div>
                                    </div>
                                </div>
                                <div class="col-lg-3 offset-lg-3 d-none d-lg-blockx">
                                    <div class="thumbnail-wrapper mt--15">
                                        <div class="thumbnail image-1 d-block image-third-party-integration">
                                            <img class="" src="https://cdn.revcent.com/img/product-img/all-img/third-party-integrations/open-ai-wide.png">
                                        </div>
                                    </div>
                                </div>
                            </div>


                            <div class="row mb--120">
                                <div class="col-sm-12">
                                    <div class="row">
                                        <div class="col-lg-3 mt--20">
                                            <div class="rbt-card bg-color-purple-4 no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">Models</h5>
                                                    <p class="mb--0">Choose a LLM from a list specific to your AI account integration.</p>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-lg-3 mt--20">
                                            <div class="rbt-card bg-color-purple-4 no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">Built-In</h5>
                                                    <p class="mb--0">The AI is natively integrated throughout the RevCent system.</p>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-lg-3 mt--20">
                                            <div class="rbt-card bg-color-purple-4 no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">Automated</h5>
                                                    <p class="mb--0">RevCent can automatically interact with the AI when events occur.</p>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-lg-3 mt--20">
                                            <div class="rbt-card bg-color-purple-4 no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">Actionable</h5>
                                                    <p class="mb--0">Conduct actions such as email or functions, based on AI responses.</p>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>


                            <div class="row mb--120">
                                <div class="col-sm-12">
                                    <div class="rbt-default-tab" id="ai-tabs">
                                        <ul class="nav nav-tabs nav-justified tab-button" role="tablist">
                                            <li class="nav-item tabs__tab " role="presentation">
                                                <button class="nav-link active" id="open-ai-tab-1-tab" data-bs-toggle="tab" data-bs-target="#open-ai-tab-1" type="button" role="tab" aria-controls="open-ai-tab-1" aria-selected="true">AI Chat</button>
                                            </li>
                                            <li class="nav-item tabs__tab " role="presentation">
                                                <button class="nav-link" id="open-ai-tab-2-tab" data-bs-toggle="tab" data-bs-target="#open-ai-tab-2" type="button" role="tab" aria-controls="open-ai-tab-2" aria-selected="false">AI Assistant</button>
                                            </li>
                                        </ul>
                                        <div class="rainbow-tab-content tab-content bg-color-purple-3">
                                            <div class="tab-pane fade show active" id="open-ai-tab-1" role="tabpanel" aria-labelledby="open-ai-tab-1">
                                                <div class="row">
                                                    <div class="col-lg-5">
                                                        <div class="section-title text-start">
                                                            <h4 class="title">AI Chat</h4>
                                                        </div>
                                                        <p class="mb--10">Chat with AI about sales, customers and more in the RevCent web app.</p>
                                                        <p><a class="page-theme-link small" href="https://kb.revcent.com/en/tools/ai#ai-chat" target="_blank">AI Chat Docs<i class="far fa-fw fa-angle-right small"></i></a></p>
                                                        <ul>
                                                            <li class="list-item">
                                                                When viewing a sale, customer, subscription, etc. click the AI chat button to open the chat window.
                                                            </li>
                                                            <li class="list-item">
                                                                Chat with the AI about the specific item you are viewing, with your messages along the item data being sent to AI.
                                                            </li>
                                                            <li class="list-item">
                                                                Have RevCent automatically message with AI and pin the response to an items' details page for quick analysis.
                                                            </li>
                                                            <li class="list-item">
                                                                The latest conversational models are available when configuring your integration with AI and RevCent.
                                                            </li>
                                                        </ul>
                                                    </div>
                                                    <div class="col-lg-5 offset-lg-2">
                                                        <div class="thumbnail-wrapper">
                                                            <div class="thumbnail image-1 d-block shadow-12">
                                                                <img class="" style="max-height:700px;border-radius:6px;" src="https://cdn.revcent.com/public-new/img/ai-chat-box.png">
                                                            </div>
                                                        </div>
                                                    </div>
                                                </div>
                                            </div>

                                            <div class="tab-pane fade" id="open-ai-tab-2" role="tabpanel" aria-labelledby="open-ai-tab-2">
                                                <div class="row">
                                                    <div class="col-lg-5">
                                                        <div class="section-title text-start">
                                                            <h4 class="title">AI Assistant</h4>
                                                        </div>
                                                        <p class="mb--10">You can create an AI assistant to automatically chat with the AI regarding specific items.</p>
                                                        <p><a class="page-theme-link small" href="https://kb.revcent.com/en/tools/ai#ai-assistant" target="_blank">AI Assistant Docs<i class="far fa-fw fa-angle-right small"></i></a></p>
                                                        <ul>
                                                            <li class="list-item">
                                                                The AI assistant can be triggered on a schedule, when an event occurs, when an auto query completes, or as an action in flow.
                                                            </li>
                                                            <li class="list-item">
                                                                Set specific filters to only the items or events you want, thus limiting the cost of using AI.
                                                            </li>
                                                            <li class="list-item">
                                                                Take actions based on the AI response, including modifying a customer, sending an email or running a function.
                                                            </li>
                                                        </ul>
                                                    </div>
                                                    <div class="col-lg-6 offset-lg-1">
                                                        <div class="thumbnail-wrapper mt--20">
                                                            <div class="thumbnail-wrapper rbt-card shadow-12">
                                                                <img class="" style="max-height:700px;border-radius:6px;" src="https://cdn.revcent.com/public-new/img/ai-assistant.png">
                                                            </div>
                                                        </div>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>




                            <div class="row mb--120">
                                <div class="col-sm-12">
                                    <div class="row">
                                        <div class="col-lg-4">
                                            <div class="section-title text-start">
                                                <h4 class="title">AI Examples</h4>
                                            </div>
                                            <p class="">Below are ways in which you can utilize AI in conjunction with RevCent.</p>
                                        </div>
                                    </div>
                                    <div class="row">
                                        <div class="col-lg-4 mt--20">
                                            <div class="rbt-card bg-color-purple-3 no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10 d-none"><i class="fal fa-fw fa-headset"></i></h5>
                                                    <h5 class="mb--10">Engage After Call</h5>
                                                    <p class="mb--10">Utilize the AI assistant to determine whether a customer had a negative experience with customer service, and if so follow up.</p>
                                                    <p><a class="page-theme-link small" href="https://kb.revcent.com/en/tools/ai#auto-engage-after-call" target="_blank">More Info<i class="far fa-fw fa-angle-right small"></i></a></p>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-lg-4 mt--20">
                                            <div class="rbt-card bg-color-purple-3 no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10 d-none"><i class="fal fa-fw fa-comment-alt-lines"></i></h5>
                                                    <h5 class="mb--10">Summarize Auto Query</h5>
                                                    <p class="mb--10">Utilize the Auto Query feature with an AI assistant to email you a dashboard report CSV with a summary of the query results.</p>
                                                    <p><a class="page-theme-link small" href="https://kb.revcent.com/en/tools/ai#auto-report-with-summary" target="_blank">More Info<i class="far fa-fw fa-angle-right small"></i></a></p>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-lg-4 mt--20">
                                            <div class="rbt-card bg-color-purple-3 no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10 d-none"><i class="fal fa-fw fa-thumbtack"></i></h5>
                                                    <h5 class="mb--10">Pin Responses</h5>
                                                    <p class="mb--10">Have the AI parse specific details about a sale and pin the response to the details page for fast customer support analysis.</p>
                                                    <p><a class="page-theme-link small" href="https://kb.revcent.com/en/tools/ai#attach-human-readable-info" target="_blank">More Info<i class="far fa-fw fa-angle-right small"></i></a></p>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>

                <div class="gradient-canvas-wrapper section-separator-wrapper" style="height:100%;opacity:.1;transform: none;">
                    <canvas class="section-separator-canvas gradient-canvas" data-palettenum="1" data-gradamp="100"></canvas>
                </div>
                <div class="gradient-canvas-overlay-wrap overlay--30">
                    <div class="gradient-canvas-overlay overlay-white"></div>
                </div>
            </div>
        </section>



        <section class="Section Sect--angleTop Sect--paddingNormal" id="section-firehose">

            <div class=" Sect__masked">
                <div class="Sect__backgroundMask">
                    <div class="Sect__background bg-color-light">
                    </div>
                </div>
                <div class="container Sect__container">
                    <div class="container-wrap Sect__layoutContainer">
                        <div class="container-inner Sect__layout">
                            <span class="rbt-badge-6 page-theme-badge">Send Postbacks</span>
                            <div class="row mb--60">
                                <div class="col-sm-12 col-xl-4">
                                    <div class="section-title text-start mb--20">
                                        <h1 class="title ">Firehose</h1>
                                    </div>
                                    <p class=" mb--10">Automatically POST specific API call responses to an external URL, with custom settings and filtering options.</p>
                                    <p><a class="page-theme-link small" href="https://kb.revcent.com/en/integrations/firehose" target="_blank">Firehose Docs<i class="far fa-fw fa-angle-right small"></i></a></p>
                                </div>
                                <div class="col-xl-7 offset-xl-1 d-none d-xl-block">
                                    <div class="sect-thumbnail-main fade-light scale-none">
                                        <div class="sect-thumbnail-wrapper">
                                            <div class="sect-thumbnail">
                                                <img class="sect-img" src="https://cdn.revcent.com/public-new/img/firehose.png">
                                            </div>
                                        </div>
                                        <div class="sect-thumbnail-fade">
                                        </div>
                                    </div>
                                </div>
                            </div>


                            <div class="row mb--120">
                                <div class="col-sm-12">
                                    <div class="row">
                                        <div class="col-lg-3 mt--20">
                                            <div class="rbt-card bg-color-gray-med no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">Any Endpoint</h5>
                                                    <p class="mb--0">Input a valid HTTPS endpoint in which RevCent will send a POST request to.</p>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-lg-3 mt--20">
                                            <div class="rbt-card bg-color-gray-med no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">Raw JSON</h5>
                                                    <p class="mb--0">The endpoint will receive the raw response returned by the RevCent API.</p>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-lg-3 mt--20">
                                            <div class="rbt-card bg-color-gray-med no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">Configurable</h5>
                                                    <p class="mb--0">Send specific API call responses based on the request type and method.</p>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-lg-3 mt--20">
                                            <div class="rbt-card bg-color-gray-med no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">Automated</h5>
                                                    <p class="mb--0">Any enabled firehoses are automatically triggered when API calls occur.</p>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>

                            <div class="row mb--120 extra-padding">
                                <div class="col-sm-12">
                                    <div class="row">
                                        <div class="col-lg-4">
                                            <div class="section-title text-start">
                                                <h4 class="title">Firehose Process</h4>
                                            </div>
                                            <p class="">Automatically forward all, or filtered, API call responses to URL endpoints using a RevCent firehose.</p>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-lg-4 mt--20">
                                    <div class="rbt-card bg-color-gray-med-xl no-shadow">
                                        <div class="card-body">
                                            <h5 class="mb--10"><span class="badge rounded-pill numbering-badge bg-color-body h5-badge">1</span> API Call Complete</h5>
                                            <p class="">Once an API call to RevCent has completed, a JSON response is returned.</p>
                                            <ul class="mb--0">
                                                <li class="list-item">
                                                    The RevCent API call response is used as the POST body for validated firehose endpoints.
                                                </li>
                                                <li class="list-item">
                                                    All response properties outlined in the <a class="page-theme-link" href="/docs/api" target="_blank">API docs</a> are contained in the endpoint body.
                                                </li>
                                            </ul>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-lg-4 mt--20">
                                    <div class="rbt-card bg-color-gray-med-xl no-shadow">
                                        <div class="card-body">
                                            <h5 class="mb--10"><span class="badge rounded-pill numbering-badge bg-color-body h5-badge">2</span> Firehose Validated</h5>
                                            <p class="">Enabled firehoses are validated to check if the API call response is viable.</p>
                                            <ul class="mb--0">
                                                <li class="list-item">
                                                    Utilize the filter settings within the firehose to send only necessary responses.
                                                </li>
                                                <li class="list-item">
                                                    For more advanced filtering and response parsing, we recommend using a <a class="page-theme-link" href="#section-functions">function</a> instead.
                                                </li>
                                            </ul>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-lg-4 mt--20">
                                    <div class="rbt-card bg-color-gray-med-xl no-shadow">
                                        <div class="card-body">

                                            <h5 class="mb--10"><span class="badge rounded-pill numbering-badge bg-color-body h5-badge">3</span> Send To Endpoint</h5>
                                            <p class="">RevCent will POST the viable API call response to validated firehose endpoints.</p>
                                            <ul class="mb--0">
                                                <li class="list-item">
                                                    RevCent can append parameters to the endpoint URL if you require specific routing.
                                                </li>
                                                <li class="list-item">
                                                    Include one or more headers that RevCent will include. Useful for authentication.
                                                </li>
                                            </ul>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </section>




        <section class="Section Sect--angleNormal Sect--paddingNormal" id="section-customer-portals">

            <div class="Sect__masked">
                <div class="Sect__backgroundMask">
                    <div class="Sect__background bg-color-white">

                    </div>
                </div>

                <div class="container Sect__container">
                    <div class="container-wrap Sect__layoutContainer">
                        <div class="container-inner Sect__layout">
                            <span class="rbt-badge-6 page-theme-badge">Self Serve</span>
                            <div class="row mb--60">
                                <div class="col-sm-12 col-xl-4">
                                    <div class="section-title text-start mb--20">
                                        <h1 class="title">Customer<br>Portals</h1>
                                    </div>
                                    <p class="mb--10">Have your customers login and view their sales, track shipping, update payment info and more.</p>
                                    <p><a class="page-theme-link small" href="https://kb.revcent.com/en/customer/customer-portal" target="_blank">Customer Portal Docs<i class="far fa-fw fa-angle-right small"></i></a></p>

                                </div>
                                <div class="col-xl-7 offset-xl-1 d-none d-xl-block">
                                    <div class="sect-thumbnail-main fade-white scale-none">
                                        <div class="sect-thumbnail-wrapper">
                                            <div class="sect-thumbnail">
                                                <img class="sect-img" src="https://cdn.revcent.com/public-new/img/customer-portal.png">
                                            </div>
                                        </div>
                                        <div class="sect-thumbnail-fade">
                                        </div>
                                    </div>
                                </div>
                            </div>


                            <div class="row mb--120">
                                <div class="col-sm-12">
                                    <div class="row">
                                        <div class="col-lg-4 mt--20">
                                            <div class="rbt-card bg-color-light no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">Hosted</h5>
                                                    <p class="mb--0">RevCent hosts and runs the portal on your own subdomain using DNS.</p>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-lg-4 mt--20">
                                            <div class="rbt-card bg-color-light no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">Secure</h5>
                                                    <p class="mb--0">Complete with built-in customer account signup and authentication.</p>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-lg-4 mt--20">
                                            <div class="rbt-card bg-color-light no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">Permissions</h5>
                                                    <p class="mb--0">Specify what customers can and cannot do when managing their account.</p>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>

                            <div class="row mb--60">
                                <div class="col-sm-12">
                                    <div class="row">
                                        <div class="col-lg-4">
                                            <div class="section-title text-start">
                                                <h4 class="title">Portal Framework</h4>
                                            </div>
                                            <p class="">Create a portal in minutes, then provide customers with a URL to signup, login and manage.</p>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-xl-3 mt--20">
                                    <div class="rbt-card bg-color-light-xl no-shadow">
                                        <div class="card-body">
                                            <h5 class="mb--10">DNS Subdomain</h5>
                                            <p class="">Create a <a class="page-theme-link" href="/products/tracking/suite#section-dns-tracking">tracking domain</a> in RevCent, complete the DNS setup process, and use the 'portal' subdomain.</p>
                                            <ul class="mb--0">
                                                <li class="list-item">
                                                    Follow the DNS domain setup instructions to receive the portal subdomain.
                                                </li>
                                                <li class="list-item">
                                                    A custom subdomain allows you to embed your portal as an iFrame on your site.
                                                </li>
                                            </ul>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-xl-3 mt--20">
                                    <div class="rbt-card bg-color-light-xl no-shadow">
                                        <div class="card-body">
                                            <h5 class="mb--10">Portal URL</h5>
                                            <p class="">Each portal subdomain URL is given page paths for customer sign up, login and account management.</p>
                                            <ul class="mb--0">
                                                <li class="list-item">
                                                    Portal paths are static, allowing you to embed, create links in emails and more.
                                                </li>
                                                <li class="list-item">
                                                    RevCent takes care of the necessary auth system for secure customer account access.
                                                </li>
                                            </ul>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-xl-3 mt--20">
                                    <div class="rbt-card bg-color-light-xl no-shadow">
                                        <div class="card-body">
                                            <h5 class="mb--10">Registration</h5>
                                            <p class="">Customers must create an account with the portal, verify their email and match existing orders.</p>
                                            <ul class="mb--0">
                                                <li class="list-item">
                                                    Every customer must sign up with the portal and verify their email address using a code.
                                                </li>
                                                <li class="list-item">
                                                    Email addresses must match existing sales in RevCent in order to view account data.
                                                </li>
                                            </ul>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-xl-3 mt--20">
                                    <div class="rbt-card bg-color-light-xl no-shadow">
                                        <div class="card-body">
                                            <h5 class="mb--10">Management</h5>
                                            <p class="">Once a customer is signed up and verified they can then view their sales, update info and more.</p>
                                            <ul class="mb--0">
                                                <li class="list-item">
                                                    Customers can view their sales history, track shipments and manage subscriptions.
                                                </li>
                                                <li class="list-item">
                                                    Payment and contact info can be updated by the customer, as well as pay past due renewals.
                                                </li>
                                            </ul>
                                        </div>
                                    </div>
                                </div>
                            </div>

                        </div>
                    </div>
                </div>
            </div>
        </section>




        <footer class="Section SiteFooterSection Sect--paddingXSmall">
            <div class=" Sect__masked">
                <div class="Sect__backgroundMask">
                    <div class="Sect__background bg-color-white">
                    </div>
                </div>
                <div class="container Sect__container">
                    <div class="container-wrap Sect__layoutContainer">
                        <div class="container-inner Sect__layout">
                            
                                    <!-- Start Copyright Area  -->
                                    <div class="copyright-area copyright-style-1 ptb--20">
                                        <div class="container">
                                            <div class="row align-items-center">
                                                <div class="col-xxl-6 col-xl-6 col-lg-6 col-md-12 col-12">
                                                    <p class="rbt-link-hover text-center text-lg-start">© RevCent</p>
                                                </div>
                                                <div class="col-xxl-6 col-xl-6 col-lg-6 col-md-12 col-12">
                                                    <ul class="copyright-link rbt-link-hover justify-content-center justify-content-lg-end mt_sm--10 mt_md--10">
                                                        <li><a href="/terms-and-conditions">Terms & Conditions</a></li>
                                                        <li><a href="/privacy-policy">Privacy Policy</a></li>
                                                    </ul>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                    <!-- End Copyright Area  -->                        </div>
                    </div>
                </div>
            </div>
        </footer>

    </main>

    <!-- End Page Wrapper Area -->
    <div class="rbt-progress-parent d-none">
        <svg class="rbt-back-circle svg-inner" width="100%" height="100%" viewBox="-1 -1 102 102">
            <path d="M50,1 a49,49 0 0,1 0,98 a49,49 0 0,1 0,-98" />
        </svg>
    </div>

    <script src="https://cdn.revcent.com/public-new/js/vendor/modernizr.min.js"></script>
    <script src="https://cdn.revcent.com/public-new/js/vendor/jquery.js"></script>
    <script src="https://cdn.revcent.com/public-new/js/vendor/bootstrap.min.js"></script>
    <script src="https://cdn.revcent.com/public-new/js/vendor/sal.js"></script>
    <script src="https://cdn.revcent.com/public-new/js/vendor/swiper.js"></script>
    <script src="https://cdn.revcent.com/public-new/js/vendor/magnify.min.js"></script>
    <script src="https://cdn.revcent.com/public-new/js/vendor/jquery-appear.js"></script>
    <script src="https://cdn.revcent.com/public-new/js/vendor/odometer.js"></script>
    <script src="https://cdn.revcent.com/public-new/js/vendor/backtotop.js"></script>
    <script src="https://cdn.revcent.com/public-new/js/vendor/isotop.js"></script>
    <script src="https://cdn.revcent.com/public-new/js/vendor/imageloaded.js"></script>
    <script src="https://cdn.revcent.com/public-new/js/vendor/wow.js"></script>
    <script src="https://cdn.revcent.com/public-new/js/vendor/waypoint.min.js"></script>
    <script src="https://cdn.revcent.com/public-new/js/vendor/easypie.js"></script>
    <script src="https://cdn.revcent.com/public-new/js/vendor/text-type.js"></script>
    <script src="https://cdn.revcent.com/public-new/js/vendor/jquery-one-page-nav.js"></script>
    <script src="https://cdn.revcent.com/public-new/js/vendor/bootstrap-select.min.js"></script>
    <script src="https://cdn.revcent.com/public-new/js/vendor/jquery-ui.js"></script>
    <script src="https://cdn.revcent.com/public-new/js/vendor/magnify-popup.min.js"></script>
    <script src="https://cdn.revcent.com/public-new/js/vendor/paralax-scroll.js"></script>
    <script src="https://cdn.revcent.com/public-new/js/vendor/paralax.min.js"></script>
    <script src="https://cdn.revcent.com/public-new/js/vendor/countdown.js"></script>
    <script src="https://cdn.revcent.com/public-new/js/vendor/plyr.js"></script>
    <script src="https://cdn.revcent.com/js/plugins/lodash/lodash.js"></script>
    <script src="https://cdn.revcent.com/js/plugins/sweetalert/sweetalert.min.js"></script>

    <script src="https://cdn.revcent.com/js/plugins/validation/jquery.validate.min.js"></script>
    <script src="https://cdn.revcent.com/js/plugins/validation/additional-methods.min.js"></script>
    <script src="https://www.google.com/recaptcha/api.js?onload=recaptchaLibLoaded&render=explicit" async defer></script>
    <script src="https://cdn.revcent.com/js/plugins/anim-gradient/anim-gradient.js"></script>
    <script src="https://cdn.revcent.com/js/plugins/highlightjs/highlight-2.min.js"></script>
    <script src="https://cdn.revcent.com/js/plugins/typeit/typeit.js"></script>




    <script>
      let registerRequestRecaptchaWidget;
      let contactModalRecaptchaWidget;
      recaptchaLibLoaded=function() {
        let recaptcha_site_key='6LcDsNUUAAAAAIpsHmkuI7Renzt8xNAl7HHItOou';
        if($('#recaptcha_contact_modal').length>0) {
          contactModalRecaptchaWidget=grecaptcha.render('recaptcha_contact_modal',{
            'sitekey': recaptcha_site_key
          });
        }
        if($('#recaptcha_register_request').length>0) {
          registerRequestRecaptchaWidget=grecaptcha.render('recaptcha_register_request',{
            'sitekey': recaptcha_site_key
          });
        }
      };

      $(document).ready(function() {
        $(document).on('mouseenter','.advanced-tab-button-nav .nav-link:not(.active)',function(a) {
          $(this).tab('show');
        });
        $('.lobtn').click(function() {
          $.ajax({
            type: 'POST',
            url: '/auth/logout',
            dataType: "json",
            success: function(x) {
              window.location.replace('/');
            }
          });
        });
      });
    </script>

    <script>
      // $('.page-theme-link.small').hover(function() {
      //   $(this).children('i.far.fa-angle-right.small').addClass('ml--5');
      // },
      //   function() {
      //     $(this).children('i.far.fa-angle-right.small').removeClass('ml--5');
      //   });
    </script>
    <script>
      let hero_palette=[
        ['#521262','#6639a6','#3490de','#6fe7dd'], //0
        ['#f8ecfd','#c264fe','#a82ffc','#7a08fa'], //purple 1
        ['#d9faff','#00bbf0','#005792','#00204a'], //ice 2
        ['#fc85ae','#9e579d','#574b90','#303a52'], //city night 3
        ['#abedd8','#46cdcf','#3d84a8','#48466d'], //sea foam 4
        ['#d2ecf9','#1891ac','#1f5f8b','#253b6e'], //ocean 5
        ['#ffbd39','#e61c5d','#930077','#3a0088'], //dark fruit 6
        ['#ff165d','#ff9a00','#ebedb4','#3ec1d3'], //fruit 7
        ['#ffde7d','#f6416c','#f8f3d4','#00b8a9'], //light melon 8
        ['#eaeaea','#ff2e63','#252a34','#08d9d6'], //peppermint 9
        ['#64379f','#9854cb','#ddacf5','#33a8b5'], // 10
        ['#5f59f7','#6592fd','#44c2fd','#8c61ff'], // 11
        ['#a7dbd8','#e0e4cc','#f38630','#fa6900'], // 12
        ['#0dceda','#6ef3d6','#c6fce5','#ebfffa'], //13
        ['#7e6bc4','#c79ecf','#d6c8ff','#fef0ff'], //14
        ['#d988bc','#ffa8b8','#ffd2a5','#ffffc1'], //15
        ['#8a00d4','#d527b7','#f782c2','#f9c46b'], //16
        ['#556270','#4ecdc4','#c7f464','#ff6b6b'], //17
        ['#bce784','#5dd39e','#348aa7','#525174'], //18
        ['#ff9de2','#8c82fc','#b693fe','#7effdb'], //19
        ['#8971d0','#7dace4','#95e8d7','#adf7d1'], //20
        ['#fff5a5','#ffaa64','#ff8264','#ff6464'], //21
        ['#a7ff83','#17b978','#086972','#071a52'], //22
        ['#2f9296','#46b7b9','#87dfd6','#dff5f2'], //23
        ['#74f9ff','#e8ffe8','#a6fff2','#00e0ff'], //24
        ['#d7fbe8','#62d2a2','#9df3c4','#1fab89'], //25
        ['#F0FF42','#82CD47','#54B435','#379237'],//26
        ['#F49D1A','#009FBD','#210062','#77037B'], //27
        ['#13bf53','#38E54D','#9CFF2E','#FDFF00'], //28
        ['#07e3d1','#7203ad','#C70A80','#ffe100'], //29
        ['#FFBE0B','#70d6ff','#FF006E','#8338EC'], //30
        ['#92bff0','#57cdff','#1b8bff','#0061c9'], //31
        ['#fff75e','#ffe94e','#ffda3d','#fdc43f'], //32
        ['#E60965','#F94892','#FFA1C9','#E80F88'], //33
        ['#a200ff','#7e00c7','#b940ff','#8b3aba'], //34
        ['#930077','#7f2381','#6a3287','#eb1ec5'], //35
      ];

      let page_theme_gradients={
        '1': 1,
        '2': 33,
        '3': 21,
        '4': 28,
        '5': 31,
        '6': 35,
        '7': 33
      };

      if($('.gradient-canvas').length>0&&(typeof $('.gradient-canvas').attr('data-palettenum')!=='undefined'||typeof $('body.MainBody').attr('data-pagetheme')!=='undefined'||typeof $('.rbt-main-wrapper').attr('data-palettearray')!=='undefined')) {
        $('.gradient-canvas').each(function() {
          let angle=0;
          let palette_array;
          let amplitude=320;
          let static=false;
          let indiv_grad=$(this);
          if(typeof $('body.MainBody').attr('data-pagetheme')!=='undefined'&&$(this).parent('.gradient-canvas-wrapper').hasClass('section-separator-250')&&typeof page_theme_gradients?.[$('body.MainBody').attr('data-pagetheme')]!=='undefined') {
            palette_array=hero_palette[page_theme_gradients[$('body.MainBody').attr('data-pagetheme')]];
          } else if(typeof $(this).attr('data-palettearray')!=='undefined') {
            palette_array=JSON.parse($(this).attr('data-palettearray'));
          } else {
            palette_array=hero_palette[parseInt($(this).attr('data-palettenum'))];
          }
          if(typeof $(this).attr('data-gradamp')!=='undefined'&&parseInt($(this).attr('data-gradamp'))>0) {
            amplitude=parseInt($(this).attr('data-gradamp'));
          }
          if(typeof $(this).attr('data-gradangle')!=='undefined'&&parseInt($(this).attr('data-gradangle'))>0) {
            angle=parseInt($(this).attr('data-gradangle'));
          }

          if(typeof $(this).attr('data-gradstatic')!=='undefined'&&$(this).attr('data-gradstatic')==='true') {
            static=true;
          }
          if(typeof $(this).attr('data-gradshuffle')!=='undefined'&&$(this).attr('data-gradshuffle')==='true') {
            palette_array=palette_array
              .map(value => ({value,sort: Math.random()}))
              .sort((a,b) => a.sort-b.sort)
              .map(({value}) => value)
          }



          indiv_grad.gradient({
            colors: palette_array,
            angle,
            amplitude,
            static,
            density: [.06, .16]
          });
        });
      }
    </script>


    <script>


      (function(window,document,$,undefined) {
        'use strict';

        let siteConf={
          i: function(e) {
            siteConf.d();
            siteConf.methods();
          },

          d: function(e) {
            this._window=$(window),
              this._document=$(document),
              this._body=$('body'),
              this._html=$('html'),
              this.sideNav=$('.rbt-search-dropdown')
          },
          methods: function(e) {
            siteConf._clickDoc();
            siteConf.popupMobileMenu();
          },
          _clickDoc: function() {
            var inputblur,inputFocus,openSideNav,closeSideNav;
            inputblur=function(e) {
              if(!$(this).val()) {
                $(this).parent('.form-group').removeClass('focused');
              }
            };
            inputFocus=function(e) {
              $(this).parents('.form-group').addClass('focused');
            };
            openSideNav=function(e) {
              e.preventDefault();
              siteConf.sideNav.addClass('active');
              $('.search-trigger-active').addClass('open');
              siteConf._html.addClass('side-nav-opened');
            };

            closeSideNav=function(e) {
              if(!$('.rbt-search-dropdown, .rbt-search-dropdown *:not(".search-trigger-active, .search-trigger-active *")').is(e.target)) {
                siteConf.sideNav.removeClass('active');
                $('.search-trigger-active').removeClass('open');
                siteConf._html.removeClass('side-nav-opened');
              }
            };
            siteConf._document
              .on('blur','input,textarea,select',inputblur)
              .on('focus','input:not([type="radio"]),input:not([type="checkbox"]),textarea,select',inputFocus)
              .on('click','.search-trigger-active',openSideNav)
              .on('click','.side-nav-opened',closeSideNav)
          },




          popupMobileMenu: function(e) {
            $('.hamberger-button').on('click',function(e) {
              $('.popup-mobile-menu').addClass('active');
            });

            $('.close-button').on('click',function(e) {
              $('.popup-mobile-menu').removeClass('active');
              $('.popup-mobile-menu .mainmenu .has-dropdown > a, .popup-mobile-menu .mainmenu .with-megamenu > a').siblings('.submenu, .rbt-megamenu').removeClass('active').slideUp('400');
              $('.popup-mobile-menu .mainmenu .has-dropdown > a, .popup-mobile-menu .mainmenu .with-megamenu > a').removeClass('open')
            });

            $('.popup-mobile-menu .mainmenu .has-dropdown > a, .popup-mobile-menu .mainmenu .with-megamenu > a').on('click',function(e) {
              e.preventDefault();
              $(this).siblings('.submenu, .rbt-megamenu').toggleClass('active').slideToggle('400');
              $(this).toggleClass('open')
            })

            $('.popup-mobile-menu, .popup-mobile-menu .mainmenu.onepagenav li a').on('click',function(e) {
              e.target===this&&$('.popup-mobile-menu').removeClass('active')&&$('.popup-mobile-menu .mainmenu .has-dropdown > a, .popup-mobile-menu .mainmenu .with-megamenu > a').siblings('.submenu, .rbt-megamenu').removeClass('active').slideUp('400')&&$('.popup-mobile-menu .mainmenu .has-dropdown > a, .popup-mobile-menu .mainmenu .with-megamenu > a').removeClass('open');
            });
          }
        }
        siteConf.i();


      })(window,document,jQuery);
      
    </script><script type="text/javascript">
</script>

    <script src="https://cdn.revcent.com/js/plugins/codemirror/codemirror.js">
    </script>
    <script src="https://cdn.revcent.com/js/plugins/codemirror/mode/javascript/javascript.js">
    </script>
    <script src="https://cdn.revcent.com/js/plugins/codemirror/addon/lint/lint.js">
    </script>
    <script src="https://cdn.revcent.com/js/plugins/codemirror/mode/xml/xml.js">
    </script>
    <script src="https://cdn.revcent.com/js/plugins/codemirror/addon/lint/jshint.js">
    </script>
    <script src="https://cdn.revcent.com/js/plugins/codemirror/addon/lint/xml-hint.js">
    </script>
    <script src="https://cdn.revcent.com/js/plugins/codemirror/addon/lint/javascript-lint.js">
    </script>
    <script src="https://cdn.revcent.com/js/plugins/codemirror/addon/lint/json-lint.js">
    </script>
    <script src="https://cdn.revcent.com/js/plugins/codemirror/addon/lint/html-lint.js">
    </script>
    <script src="https://cdn.revcent.com/js/plugins/beautify/beautify.js">
    </script>
    <script src="https://cdn.revcent.com/js/plugins/beautify/beautify-html.min.js">
    </script>
    <script src="https://cdn.revcent.com/js/plugins/monaco-editor/min/vs/loader.js"></script>


    <script type="text/javascript">
        let code_examples={

            'function-code-hero': {
                code: `
const Twilio = global.twilio;

const sale_details = event.data.item_details;
const customer_details = event.data.item_details.customer;
const sale_amount = sale_details.amount_gross;

let twilio = new Twilio(process.env.sid, process.env.token);
twilio.messages.create({
    from: process.env.twilio_from_number,
    to: customer_details.phone,
    body: 'Thank you for your $' + sale_amount + ' purchase!'
}, function(err, result) {
    if (err) {
        console.log(err);
        callback(err);
    } else {
        callback(null, result.sid);
    }
});`
            },
            'dependencies-list-json': {
                code: `
{
    "@mailchimp/mailchimp_marketing": "^3.0.75",
    "@mailchimp/mailchimp_transactional": "^1.0.47",
    "@sendgrid/mail": "^7.7.0",
    "@slack/web-api": "^6.9.0",
    "activecampaign": "^1.2.5",
    "ajv": "^8.11.0",
    "ascii-table": "0.0.9",
    "axios": "^0.27.2",
    "crypto-js": "^4.1.1",
    "facebook-nodejs-business-sdk": "^18.0.2",
    "google-ads-api": "^14.1.0",
    "google-libphonenumber": "^3.2.30",
    "handlebars": "^4.7.7",
    "html-to-text": "^9.0.3",
    "input": "^1.0.1",
    "json2csv": "^5.0.7",
    "jsonwebtoken": "^8.5.1",
    "klaviyo-sdk": "^1.0.1",
    "lodash": "^4.17.21",
    "moment": "^2.29.4",
    "mongodb": "^4.6.0",
    "mysql": "^2.18.1",
    "nodemailer": "^6.7.5",
    "openai": "^3.1.0",
    "pg": "^8.7.3",
    "qs": "^6.10.3",
    "redis": "^4.1.0",
    "request": "^2.88.2",
    "shippo": "^1.7.1",
    "superagent": "^7.1.3",
    "twilio": "^4.19.0",
    "uuid": "^8.3.2",
    "validator": "^13.7.0",
    "xml2js": "^0.4.23"
}
`}

        };
        for(let elem_id in code_examples) {
            if($('#'+elem_id).length>0) {
                $('#'+elem_id).append(code_examples[elem_id].code);
            }
        }

        hljs.configure({
            cssSelector: '.highlight-code'
        });
        hljs.highlightAll();
    </script>

    <script type="text/javascript">

        let
            functions_dependencies={
                "@mailchimp/mailchimp_marketing": "^3.0.75",
                "@mailchimp/mailchimp_transactional": "^1.0.47",
                "@sendgrid/mail": "^7.7.0",
                "@slack/web-api": "^6.9.0",
                "activecampaign": "^1.2.5",
                "ajv": "^8.11.0",
                "ascii-table": "0.0.9",
                "axios": "^0.27.2",
                "crypto-js": "^4.1.1",
                "facebook-nodejs-business-sdk": "^18.0.2",
                "google-ads-api": "^14.1.0",
                "google-libphonenumber": "^3.2.30",
                "handlebars": "^4.7.7",
                "html-to-text": "^9.0.3",
                "input": "^1.0.1",
                "json2csv": "^5.0.7",
                "jsonwebtoken": "^8.5.1",
                "klaviyo-sdk": "^1.0.1",
                "lodash": "^4.17.21",
                "moment": "^2.29.4",
                "mongodb": "^4.6.0",
                "mysql": "^2.18.1",
                "nodemailer": "^6.7.5",
                "openai": "^3.1.0",
                "pg": "^8.7.3",
                "qs": "^6.10.3",
                "redis": "^4.1.0",
                "request": "^2.88.2",
                "shippo": "^1.7.1",
                "superagent": "^7.1.3",
                "twilio": "^4.19.0",
                "uuid": "^8.3.2",
                "validator": "^13.7.0",
                "xml2js": "^0.4.23"
            };


        let code_editors={};
        let monaco_global='';
        for(let key in functions_dependencies) {
            monaco_global+='"'+key+'" : any;\n'
        }
        require.config({
            paths: {
                vs: 'https://cdn.revcent.com/js/plugins/monaco-editor/min/vs'
            }
        });

        require(['vs/editor/editor.main'],function() {
            let custom_code=`
            /*
                In this example, a customer is sent a text message via Twilio after successfully completing a purchase. 
                We used the sale.created.success.paid Event notation. The event.data.item_details object contains the sale details.  
                The customer information is contained within the sale details, accessible via event.data.item_details.customer
            */

            const Twilio = global.twilio; // Accessing the "twilio" module from the global object

            const sale_details = event.data.item_details; // Getting the sale details
            const customer_details = event.data.item_details.customer; // Getting the customer details
            const sale_amount = sale_details.amount_gross; // Get the amount paid for the sale via amount_gross property.


            let twilio = new Twilio(process.env.twilio_account_sid, process.env.twilio_auth_token);
            twilio.messages.create({
                from: process.env.twilio_from_number,
                to: customer_details.phone,
                body: 'Thank you for your $' + sale_amount + ' purchase!'
            }, function(err, result) {
                if (err) {
                    console.log(err);
                    callback(err);
                } else {
                    callback(null, result.sid);
                }
            });
    `;

            code_editors.main=monaco.editor.create(document.getElementById('functions-container'),{
                value: [js_beautify(custom_code)].join('\n'),
                language: 'javascript',
                theme: 'vs-dark',
                fontSize: 14,
                automaticLayout: true,
                scrollBeyondLastLine: false,
                scrollbar: {
                    alwaysConsumeMouseWheel: false
                },
                quickSuggestions: false,
                minimap: {
                    enabled: false
                }
            });
            const functions_env=`
              interface Event {
                 data: any;
              }
              declare const global: {
                ${monaco_global}
              } 
              declare const process: {
                  env: {
                      [key: string]: string;
                  };
              };
              declare const event: Event;
              declare const context: {
                'source': {
                    id: string;
                    name: string;
                    trigger: string;
                    method: string;
                    content_type: string;
                    ip_address: string;
                    headers: {
                      [key: string]: string;
                    };
                    url_params: {
                      [key: string]: string;
                    };
                    run_id: string;
                    process_id: string;
                    prior_process_id: string;
                };
                'function': {
                    id: string;
                    name: string;
                    stored_data: string;
                };
                'function_run': {
                    id: string;
                };
              };
              declare const callback: (error: any, response: any, stored_data: any);
            `;

            monaco.languages.typescript.javascriptDefaults.addExtraLib(functions_env,'ts:filename/facts.d.ts');
            monaco.languages.typescript.javascriptDefaults.setDiagnosticsOptions({
                diagnosticCodesToIgnore: [6385,7044]
            });
            monaco.languages.typescript.javascriptDefaults.setCompilerOptions({
                target: monaco.languages.typescript.ScriptTarget.ES2016,
                moduleResolution: monaco.languages.typescript.ModuleResolutionKind.NodeJs,
                module: monaco.languages.typescript.ModuleKind.CommonJS,
                allowNonTsExtensions: true,
                allowJs: true,
                checkJs: true
            });
        });
    </script>


    <script>
        var app=document.getElementById('terminal-hero-ol');

        var typewriter=new Typewriter(app,{
            loop: false,
            cursor: '',
            delay: 25
        });
        typewriter
            .typeString('<li class="list-item"><i class="fad fa-fw fa-sm fa-terminal small"></i> <span class="terminal-console-green">New successful purchase!</span></li>')
            .pauseFor(100)
            .typeString('<li class="list-item"><i class="fad fa-fw fa-sm fa-terminal small"></i> 1. Order confirmation emailed <span class="terminal-console-green"><i class="fas fa-check"></i></span></li>')
            .pauseFor(100)
            .typeString('<li class="list-item"><i class="fad fa-fw fa-sm fa-terminal small"></i> 2. Conversion postback success <span class="terminal-console-green"><i class="fas fa-check"></i></span></li>')
            .pauseFor(100)
            .typeString('<li class="list-item"><i class="fad fa-fw fa-sm fa-terminal small"></i> 3. Customer added to \'Purchased\' group <span class="terminal-console-green"><i class="fas fa-check"></i></span></li>')
            .pauseFor(100)
            .typeString('<li class="list-item"><i class="fad fa-fw fa-sm fa-terminal small"></i> 4. Upsell offer SMS sent <span class="terminal-console-green"><i class="fas fa-check"></i></span></li>')
            .pauseFor(100)
            .typeString('<li class="list-item"><i class="fad fa-fw fa-sm fa-terminal small"></i> 5. Engagement flow started <span class="terminal-console-green"><i class="fas fa-check"></i></span></li>')
            .pauseFor(100)
            .typeString('<li class="list-item"><i class="fad fa-fw fa-sm fa-terminal small"></i> 6. AI Assistant triggered <span class="terminal-console-green"><i class="fas fa-check"></i></span></li>')
            .pauseFor(100)
            .typeString('<li class="list-item"><i class="fad fa-fw fa-sm fa-terminal small"></i> Initial actions complete.</li>')
            .start();
    </script>
</body>


</html>