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

<head>
  <meta charset="utf-8">
  <meta http-equiv="x-ua-compatible" content="ie=edge">
  <title>Inbound and Outbound Integrations</title>
  <meta name="description" content="Integrate directly with us, integrate with native third parties or create custom integrations." />
  <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;
    }

    #section-conversions .rbt-card-body {
        padding-top: 0px;
    }

    @media (max-width:1112px) {
        #third-party-integrations-card-body {
            max-height: 400px;
            overflow: hidden scroll;
        }
    }

    .thumbnail.image-1.image-third-party-integration {
        text-align: center;
        padding: 5px;
    }

    #third-party-integrations-card-body {
        padding-top: 0px;
    }

    #api-example-hero {
        opacity: 1;
        border-radius: 8px;
        background: #700b3c !important;
        height: 380px;
        width: 500px;
        font-size: 14px;
        overflow: scroll;
        margin-bottom: 0px;
    }


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


    #api-examples-row .rbt-default-tab .tab-content {
        padding: 40px;
    }

    #api-examples-row .rbt-default-tab .tab-button .tabs__tab .nav-link.active {
        background: #fff0f5;
    }
</style>
</head>

<body class="MainBody Page-Theme-2" data-pagetheme="2">
    <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" data-palettenum="24"></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 mb--100 mt--40">
                                    <div class="content">
                                        <div class="inner product-hero-inner">
                                            <h1 class="title">
                                                <span class="hero-title">Inbound +</span><br>
                                                <span class="hero-title">Outbound</span><br>
                                                <span class="hero-title">Integrations</span>
                                            </h1>
                                            <p class="sub-description">Integrate directly with us, integrate with native third parties or create custom integrations.</p>

                                            <div class="row hero-small-mb">
                                                <div class="col-lg-4 mb--10">
                                                    <a class="rbt-btn btn-xs page-theme-section-link d-block text-center" href="#section-api">API</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-woocommerce">WooCommerce</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-third-party">Third Party</a>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-lg-5 offset-lg-2 d-none d-lg-block ">
                                    <div class="rbt-about-area about-style-1 mb--150">
                                        <div class="container">
                                            <div class="thumbnail-wrapper">
                                                <div class="thumbnail image-1" style="left:-40px;top:25px">
                                                    <pre id="api-example-hero" class="highlight-code language-javascript hljs hero-box-shadow" style=""></pre>
                                                </div>
                                                <div class="thumbnail image-2" style="top:130px;right:-160px;">
                                                    <div class="hero-terminal-simulator">
                                                        <div class="terminal-hero-header">
                                                            <ul class="list-unstyled list-inline terminal-mac-buttons mb--0">
                                                                <li class="list-inline-item">
                                                                    <i class="fas fa-fw fa-circle mac-button mac-button-close"></i>
                                                                </li>
                                                                <li class="list-inline-item">
                                                                    <i class="fas fa-fw fa-circle mac-button mac-button-minimize"></i>
                                                                </li>
                                                                <li class="list-inline-item">
                                                                    <i class="fas fa-fw fa-circle mac-button mac-button-maximize"></i>
                                                                </li>
                                                            </ul>
                                                        </div>
                                                        <div class="rbt-card bg-color-darker bg-color-text-white hero-box-shadow terminal-hero-card">
                                                            <div class="card-body" id="terminal-hero-card-body">
                                                                <p class="mb--0 small text-end" style="color: #949494!important;font-size: .7em;margin-top: -10px;">./integrations.js</p>
                                                                <ol class="mb--0 ml--10 terminal-font list-unstyled" id="terminal-hero-ol">
                                                                </ol>
                                                            </div>
                                                        </div>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </section>





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

            <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">Direct</span>
                            <div class="row mb--30">
                                <div class="col-sm-12 col-lg-5">
                                    <div class="section-title text-start mb--20">
                                        <h1 class="title">API<br>Integration</h1>
                                    </div>
                                    <p class=" mb--10">Easily integrate with RevCent using our API. Documentation is extremely thorough, with full request and response examples.</p>
                                    <p><a class="page-theme-link small" href="/docs/api" target="_blank">API Docs<i class="far fa-fw fa-angle-right small"></i></a></p>
                                </div>
                            </div>


                            <div class="row mb--120">
                                <div class="col-lg-4 mt--20">
                                    <div class="rbt-card bg-color-pink-5 bg-color-text-white no-shadow">
                                        <div class="card-body">
                                            <h5 class="mb--10">Fast</h5>
                                            <p class="mb--0">The RevCent API is built for speed, with an average sub-second response, regardless of peak use.</p>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-lg-4 mt--20">
                                    <div class="rbt-card bg-color-pink-6 bg-color-text-white no-shadow">
                                        <div class="card-body">
                                            <h5 class="mb--10">Scalable</h5>
                                            <p class="mb--0">Our serverless architecture is capable of handling an extremely high number of concurrent requests.</p>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-lg-4 mt--20">
                                    <div class="rbt-card bg-color-pink-7 bg-color-text-white no-shadow">
                                        <div class="card-body">
                                            <h5 class="mb--10">HTTP</h5>
                                            <p class="mb--0">Communicate with the API using any language, via HTTP and JSON post body, without needing an SDK.</p>
                                        </div>
                                    </div>
                                </div>
                            </div>


                            <div class="row mb--30">
                                <div class="col-lg-4">
                                    <div class="section-title text-start">
                                        <h4 class="title">API Examples</h4>
                                    </div>
                                    <p class="">Below are a few examples of the most common API requests and responses. Please review the API Docs for all possible requests and responses.</p>
                                </div>
                            </div>
                            <div class="row mb--80" id="api-examples-row">
                                <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="examples-api-1-tab" data-bs-toggle="tab" data-bs-target="#examples-api-1" type="button" role="tab" aria-controls="examples-api-1" aria-selected="true">Create A Sale</button>
                                            </li>
                                            <li class="nav-item tabs__tab " role="presentation">
                                                <button class="nav-link" id="examples-api-2-tab" data-bs-toggle="tab" data-bs-target="#examples-api-2" type="button" role="tab" aria-controls="examples-api-2" aria-selected="false">Create A Customer</button>
                                            </li>
                                            <li class="nav-item tabs__tab " role="presentation">
                                                <button class="nav-link" id="examples-api-3-tab" data-bs-toggle="tab" data-bs-target="#examples-api-3" type="button" role="tab" aria-controls="examples-api-3" aria-selected="false">Insert Metadata</button>
                                            </li>
                                        </ul>
                                        <div class="rainbow-tab-content tab-content bg-color-pink-2">
                                            <div class="tab-pane fade show active" id="examples-api-1" role="tabpanel" aria-labelledby="examples-api-1">
                                                <div class="row extra-padding mb--30">
                                                    <div class="col-lg-5">
                                                        <p class="mb--10">Create a new sale using the sale create API call. Multiple payment types and options are available.</p>
                                                        <p><a class="page-theme-link small" href="/docs/api#sale-create" target="_blank">Details & Schema<i class="far fa-fw fa-angle-right small"></i></a></p>
                                                    </div>
                                                </div>
                                                <div class="row extra-padding">
                                                    <div class="col-lg-6">
                                                        <p class="mb--0 small">Request</p>
                                                        <div class="developer-example-wrap mt--10">
                                                            <pre id="api-example-1" class="highlight-code language-javascript hljs" style="font-size:14px;max-height:300px;overflow:scroll;margin-bottom:0px;"></pre>
                                                        </div>
                                                    </div>
                                                    <div class="col-lg-6">
                                                        <p class="mb--0 small">Response</p>
                                                        <div class="developer-example-wrap mt--10">
                                                            <pre id="api-example-2" class="highlight-code language-json hljs" style="font-size:14px;max-height:300px;overflow:scroll;margin-bottom:0px;"></pre>
                                                        </div>
                                                    </div>
                                                </div>
                                            </div>

                                            <div class="tab-pane fade" id="examples-api-2" role="tabpanel" aria-labelledby="examples-api-2">
                                                <div class="row extra-padding mb--30">
                                                    <div class="col-lg-5">
                                                        <p class="mb--10">Create a new customer using the customer create API call. Include payment data and metadata.</p>
                                                        <p><a class="page-theme-link small" href="/docs/api#customer-create" target="_blank">Details & Schema<i class="far fa-fw fa-angle-right small"></i></a></p>
                                                    </div>
                                                </div>
                                                <div class="row extra-padding">
                                                    <div class="col-lg-6">
                                                        <p class="mb--0 small">Request</p>
                                                        <div class="developer-example-wrap mt--10">
                                                            <pre id="api-example-3" class="highlight-code language-javascript hljs" style="font-size:14px;max-height:300px;overflow:scroll;margin-bottom:0px;"></pre>
                                                        </div>
                                                    </div>
                                                    <div class="col-lg-6">
                                                        <p class="mb--0 small">Response</p>
                                                        <div class="developer-example-wrap mt--10">
                                                            <pre id="api-example-4" class="highlight-code language-json hljs" style="font-size:14px;max-height:300px;overflow:scroll;margin-bottom:0px;"></pre>
                                                        </div>
                                                    </div>
                                                </div>
                                            </div>

                                            <div class="tab-pane fade" id="examples-api-3" role="tabpanel" aria-labelledby="examples-api-3">
                                                <div class="row extra-padding mb--30">
                                                    <div class="col-lg-5">
                                                        <p class="mb--10">Insert metadata on the fly using the metadata insert API call. Extremely useful for conversion tracking, AB testing and more.</p>
                                                        <p><a class="page-theme-link small" href="/docs/api#metadata-insert" target="_blank">Details & Schema<i class="far fa-fw fa-angle-right small"></i></a></p>
                                                    </div>
                                                </div>
                                                <div class="row extra-padding">
                                                    <div class="col-lg-6">
                                                        <p class="mb--0 small">Request</p>
                                                        <div class="developer-example-wrap mt--10">
                                                            <pre id="api-example-5" class="highlight-code language-javascript hljs" style="font-size:14px;max-height:300px;overflow:scroll;margin-bottom:0px;"></pre>
                                                        </div>
                                                    </div>
                                                    <div class="col-lg-6">
                                                        <p class="mb--0 small">Response</p>
                                                        <div class="developer-example-wrap mt--10">
                                                            <pre id="api-example-6" class="highlight-code language-json hljs" style="font-size:14px;max-height:300px;overflow:scroll;margin-bottom:0px;"></pre>
                                                        </div>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>

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



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

            <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 bg-white-opacity">WP Plugin</span>
                            <div class="row mb--30">
                                <div class="col-sm-12 col-xl-5">
                                    <div class="section-title text-start mb--10">
                                        <div class="thumbnail-wrapper">
                                            <div class="thumbnail image-1 d-block">
                                                <img class="" style="max-height:100px;margin-left:-15px;" src="https://cdn.revcent.com/img/product-img/all-img/third-party-integrations/woocommerce-wide.png">
                                            </div>
                                        </div>
                                        <h1 class="title d-none">WooCommerce<br>Integration</h1>
                                    </div>
                                    <p class="mb--10">Link your WooCommerce store with RevCent to process payments, manage customers, sync order data and more.</p>
                                    <p class="mb--0"><a class="color-purple small" href="https://kb.revcent.com/en/integrations/third-party-shop/woocommerce-installation" target="_blank">Installation Guide<i class="far fa-fw fa-angle-right small"></i></a></p>
                                    <p class="d-none"><a class="page-theme-link small" href="https://wordpress.org/plugins/revcent-payments/" target="_blank">Plugin Page<i class="far fa-fw fa-angle-right small"></i></a></p>
                                </div>
                            </div>


                            <div class="row mb--120">
                                <div class="col-lg-4 mt--20">
                                    <div class="rbt-card bg-color-woo-purple bg-color-text-white no-shadow">
                                        <div class="card-body">
                                            <h5 class="mb--10">Quick Setup</h5>
                                            <p class="mb--0">Link your WooCommerce store with RevCent in minutes.</p>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-lg-4 mt--20">
                                    <div class="rbt-card bg-color-woo-purple bg-color-text-white no-shadow">
                                        <div class="card-body">
                                            <h5 class="mb--10">WordPress Plugin</h5>
                                            <p class="mb--0">Our plugin handles credit card payments and tracking.</p>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-lg-4 mt--20">
                                    <div class="rbt-card bg-color-woo-purple bg-color-text-white no-shadow">
                                        <div class="card-body">
                                            <h5 class="mb--10">Order Updates</h5>
                                            <p class="mb--0">Sale changes in RevCent are reflected in WooCommerce.</p>
                                        </div>
                                    </div>
                                </div>
                            </div>

                            <div class="row mb--100">
                                <div class="col-sm-12">
                                    <div class="row">
                                        <div class="col-lg-4">
                                            <div class="section-title text-start">
                                                <h4 class="title">How It Works</h4>
                                            </div>
                                            <p class="">RevCent acts as a bi-directional payment processing and order management tool for your WooCommerce store.</p>
                                        </div>
                                    </div>
                                    <div class="row">
                                        <div class="col-lg-3 mt--20">
                                            <div class="rbt-card bg-color-woo-purple-light no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">Install The Plugin</h5>
                                                    <p class="mb--30">Install the RevCent Payments plugin in your WordPress dashboard.</p>
                                                    <ul class="mb--0">
                                                        <li class="list-item">
                                                            Search for the RevCent Payments plugin.
                                                        </li>
                                                        <li class="list-item">
                                                            Install and activate the plugin.
                                                        </li>
                                                        <li class="list-item">
                                                            Link your store with RevCent.
                                                        </li>
                                                    </ul>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-lg-3 mt--20">
                                            <div class="rbt-card bg-color-woo-purple-light no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">Link Your Store</h5>
                                                    <p class="mb--30">RevCent will connect to your store and complete the set up process.</p>
                                                    <ul class="mb--0">
                                                        <li class="list-item">
                                                            Create a third party shop in RevCent.
                                                        </li>
                                                        <li class="list-item">
                                                            Enter your WooCommerce credentials.
                                                        </li>
                                                        <li class="list-item">
                                                            RevCent will complete the installation.
                                                        </li>
                                                    </ul>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-lg-3 mt--20">
                                            <div class="rbt-card bg-color-woo-purple-light no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">Process Payments</h5>
                                                    <p class="mb--30">Begin processing credit card, PayPal and third party payments.</p>
                                                    <ul class="mb--0">
                                                        <li class="list-item">
                                                            Select RevCent Payments for credit card payments.
                                                        </li>
                                                        <li class="list-item">
                                                            PayPal, Sezzle, etc. will be synced in the background.
                                                        </li>
                                                        <li class="list-item">
                                                            All order management, such as refunds, should be done in RevCent.
                                                        </li>
                                                    </ul>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-lg-3 mt--20">
                                            <div class="rbt-card bg-color-woo-purple-light no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">Auto Sync</h5>
                                                    <p class="mb--30">RevCent will automatically sync order updates in WooCommmerce.</p>
                                                    <ul class="mb--0">
                                                        <li class="list-item">
                                                            Updates to your orders will reflect in WooCommerce.
                                                        </li>
                                                        <li class="list-item">
                                                            Refunds, shipping status and more will be synced.
                                                        </li>
                                                        <li class="list-item">
                                                            Everything is done automatically by RevCent.
                                                        </li>
                                                    </ul>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>


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



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

            <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">Integrate Anything</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 color-white">Custom<br>Integrations</h1>
                                    </div>
                                    <p class="color-white mb--10">Functions allows you to integrate RevCent, both inbound and outbound, with any third party.</p>
                                    <p><a class="page-theme-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--60">
                                <div class="col-lg-5 col-sm-12">
                                    <div class="row">
                                        <div class="col-sm-12">
                                            <div class="row mb--40">
                                                <div class="col-sm-12">
                                                    <div class="section-title text-start color-white">
                                                        <h4 class="title color-white">Write Code</h4>
                                                    </div>
                                                    <p class="color-white">Use the built-in code editor to write your own custom code, which is securely hosted and run by RevCent.</p>
                                                </div>
                                            </div>

                                            <div class="row mb--40">
                                                <div class="col-sm-12">
                                                    <div class="section-title text-start color-white">
                                                        <h5 class="color-white">JavaScript</h5>
                                                    </div>
                                                    <p class="color-white">Run JavaScript code via the Node.js runtime, with pre-installed dependencies and internet access.</p>
                                                </div>
                                            </div>

                                            <div class="row mb--40">
                                                <div class="col-sm-12">
                                                    <div class="section-title text-start color-white">
                                                        <h5 class="color-white">Triggers</h5>
                                                    </div>
                                                    <p class="color-white">RevCent offers many different function triggers including events, inbound URL's and schedules.</p>
                                                </div>
                                            </div>

                                            <div class="row mb--40">
                                                <div class="col-sm-12">
                                                    <div class="section-title text-start color-white">
                                                        <h5 class="color-white">Any Third Party</h5>
                                                    </div>
                                                    <p class="color-white">Functions gives you the capability to integrate any third party, regardless of complexity.</p>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-lg-6 offset-lg-1 col-sm-12">
                                    <div class="row">
                                        <div class="col-sm-12">
                                            <div id="functions-container-wrap" class="developer-example-wrap mt--20">
                                                <div id="functions-container" style="width:100%;height:520px;border:0px solid grey;"></div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </section>



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

            <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">Built-In</span>
                            <div class="row mb--60">
                                <div class="col-sm-12 col-lg-4">
                                    <div class="section-title text-start mb--20">
                                        <h1 class="title">Native<br>Third Parties</h1>
                                    </div>
                                    <p class="mb--10">RevCent has native third party integrations, each triggerable via specific events.</p>
                                    <p><a class="page-theme-link small" href="https://kb.revcent.com/en/integrations/third-party/third-party-integration" target="_blank">Third Party Docs<i class="far fa-fw fa-angle-right small"></i></a></p>
                                </div>
                            </div>
                            <div class="row mb--80">
                                <div class="col-sm-12">
                                    <div class="rbt-cardx small-shadowx">
                                        <div class="rbt-card-body" id="third-party-integrations-card-body">
                                            <div class="row" id="third-party-integrations-wrap">
                                            </div>
                                        </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
            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. 
               More examples at https://github.com/RevCent/function-examples
            */

            const Twilio = global.twilio;
            const sale_details = event.data.item_details;
            const customer_details = event.data.item_details.customer;
            const twilio_account_sid = process.env.twilio_account_sid;
            const twilio_auth_token = process.env.twilio_auth_token;

            let twilio = new Twilio(twilio_account_sid, twilio_auth_token);
            twilio.messages.create({
                from: process.env.twilio_from_number,
                to: customer_details.phone,
                body: 'Thank you for your $' + sale_details.amount_gross + ' 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: 13,
                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 type="text/javascript">
        let api_examples={
            'url-example-1': {
                code: `
https://www.mysite.com?source=facebook&ad=gift&fcblid=uFCrBkUgEvKg

`
            },
            'metadata-example-1': {
                code: `
   "metadata": [
        {
            "name": "source",
            "value": "facebook"
        },
        {
            "name": "ad",
            "value": "freegift"
        },
        {
            "name": "fcblid",
            "value": "uFCrBkUgEvKg"
        }
    ]
`
            },
            'insert-metadata-example-1': {
                code: `
    curl --location --request POST 'https://api.revcent.com/v1'
    --header 'Content-Type: application/json'
    --header 'x-api-key: REVCENT_API_KEY'
    --data-raw '{
        "request": {
            "type": "metadata",
            "method": "insert",
            "item_type": "customer",
            "item_id": "pgm1q7yjKjF7qyAM7EXK",
            "metadata": [
                {
                    "name": "sms_sent",
                    "value": "true"
                }
            ]
        }
    }'`
            },
            'api-example-hero': {
                code: `
    curl --location --request POST 'https://api.revcent.com/v1'
    --header 'Content-Type: application/json'
    --header 'x-api-key: REVCENT_API_KEY'
    --data-raw '{
        "request": {
            "type": "sale",
            "method": "create",
            "payment": {
                "credit_card": {
                    "card_number": "4242424242424242",
                    "exp_month": 4,
                    "exp_year": 22,
                    "card_code": "123"
                }
            },
            "campaign": "Adwords Campaign",
            "iso_currency": "USD",
            "payment_profile": "MyAwesomeProfile",
            "customer": {
                "first_name": "George",
                "last_name": "Washington",
                "address_line_1": "1600 Pennsylvania Ave",
                "address_line_2": "",
                "city": "Washington",
                "state": "DC",
                "zip": "20500",
                "country": "USA",
                "company": "",
                "email": "george@whitehouse.gov",
                "phone": "2024561414"
            },
            "product": [
                {
                    "id": "robo_vac",
                    "quantity": 1
                },
                {
                    "id": "av_2017",
                    "price": 19.99
                }
            ],
            "tax": [
                {
                    "amount": 9.31,
                    "rate": 7.3,
                    "name": "State Sales",
                    "description": "seven percent"
                }
            ],
            "shipping": [
                {
                    "amount": 5,
                    "provider": "usps",
                    "provider_method": "priority"
                }
            ],
            "metadata": [
                {
                    "name": "fbclid",
                    "value": "Cjat0KwhCQjdTq..."
                },
                {
                    "name": "landing_page",
                    "value": "v1"
                }
            ]
        }
    }'`
            },
            'api-example-1': {
                code: `
    curl --location --request POST 'https://api.revcent.com/v1'
    --header 'Content-Type: application/json'
    --header 'x-api-key: REVCENT_API_KEY'
    --data-raw '{
        "request": {
            "type": "sale",
            "method": "create",
            "payment": {
                "credit_card": {
                    "card_number": "4242424242424242",
                    "exp_month": 4,
                    "exp_year": 22,
                    "card_code": "123"
                }
            },
            "campaign": "Adwords Campaign",
            "iso_currency": "USD",
            "payment_profile": "MyAwesomeProfile",
            "customer": {
                "first_name": "George",
                "last_name": "Washington",
                "address_line_1": "1600 Pennsylvania Ave",
                "address_line_2": "",
                "city": "Washington",
                "state": "DC",
                "zip": "20500",
                "country": "USA",
                "company": "",
                "email": "george@whitehouse.gov",
                "phone": "2024561414"
            },
            "product": [
                {
                    "id": "robo_vac",
                    "quantity": 1
                },
                {
                    "id": "av_2017",
                    "price": 19.99
                }
            ],
            "tax": [
                {
                    "amount": 9.31,
                    "rate": 7.3,
                    "name": "State Sales",
                    "description": "seven percent"
                }
            ],
            "shipping": [
                {
                    "amount": 5,
                    "provider": "usps",
                    "provider_method": "priority"
                }
            ],
            "metadata": [
                {
                    "name": "fbclid",
                    "value": "Cjat0KwhCQjdTq..."
                },
                {
                    "name": "landing_page",
                    "value": "v1"
                }
            ]
        }
    }'`
            },
            'api-example-2': {
                code: `
{
    "amount": 111.86,
    "amount_captured": 111.86,
    "amount_discounted": 0,
    "amount_fees": 3.02,
    "amount_gross": 111.86,
    "amount_net": 108.84,
    "amount_original_total": 274.28,
    "amount_remaining": 162.42,
    "amount_to_salvage": 12.43,
    "api_call_id": "O051ZWQ4XjijnV5LkVGl",
    "api_call_processed": true,
    "api_call_unix": 1565833755,
    "campaign_id": "mJ1zZoOobEuP8pnWKXd1",
    "campaign_name": "Adwords Campaign",
    "card_id": "WmPn2g8bakcKnWWEmRlJ",
    "code": 1,
    "customer": {
        "address_line_1": "1600 Pennsylvania Ave",
        "address_line_2": "",
        "blocked": false,
        "city": "Washington",
        "company": "",
        "country": "USA",
        "email": "georgew@whitehouse.com",
        "enabled": true,
        "first_name": "George",
        "full_address": "1600 Pennsylvania Ave NW, Washington, DC 20500, USA",
        "geocode_success": true,
        "google_place_id": "ChIJGVtI4by3t4kRr51d_Qm_x58",
        "id": "4r158EzJmmcVM69dNLkg",
        "internal_id": "pres_0001",
        "last_name": "Washington",
        "lat": "38.8976633",
        "lon": "-77.0365739",
        "metadata": [],
        "phone": "2024561414",
        "state": "DC",
        "state_long": "DC",
        "zip": "20500"
    },
    "customer_id": "ajOAl24bBXc5nXwagAOg",
    "discount_created": [],
    "fraud_detection_response": {
        "code": 1,
        "message": "No fraud detected.",
        "fraud_detected": false,
        "fraud_detection_created": null,
        "fraud_detection_request": {
            "id": "rmMrXO5G8EFk8zO0rGlX",
            "third_party": {
                "id": "mJEZdyVavzUL0gGoLR1Z",
                "name": "Kount"
            },
            "third_party_integration": {
                "id": "ajYRoLokyXf62qy06JpZ",
                "name": "Kount Risk Inquiry"
            },
            "third_party_raw_response": "",
            "third_party_order_id": "",
            "third_party_fraud_detection_id": "DWN40J2NPKRW",
            "third_party_response_ms": 834
        }
    },
    "gateway": "Braintree",
    "gateway_id": "NkAMJOzpB5iEAOrdloV0",
    "gateway_raw_response": "",
    "internal_customer_id": "cus_3197",
    "internal_sale_id": "sale_7678",
    "iso_currency": "USD",
    "payment_profile_results": {
        "payment_profile_id": "ajyXm76OpjSL4p5oO2By",
        "original_amount": 124.29,
        "final_amount": 111.86,
        "successful_step_num": 2,
        "successful_gateway": "Braintree",
        "num_declined_transactions": 1,
        "declined_transaction_array": [
            "RJ5MaZMap1cZdP9w7ayE"
        ],
        "step_array": [
            {
                "step_action": "initial",
                "step_amount": 124.29,
                "step_cascade_result": {
                    "cascade_order": "sort_order",
                    "enabled_gateways": [
                        "2rE2pQGMd7SYjGp42yEL",
                        "LYE26MW8Rlh5VbJmlp2l",
                        "GOJankNpkpsPzw6No1OP",
                        "NkAMJOzpB5iEAOrdloV0"
                    ],
                    "gateway_results": [
                        {
                            "gateway_id": "2rE2pQGMd7SYjGp42yEL",
                            "order": 1,
                            "revenue_rules": {
                                "enabled": false,
                                "passed": true,
                                "details": []
                            },
                            "success": true,
                            "time_rules": {
                                "enabled": false,
                                "passed": true,
                                "details": []
                            }
                        }
                    ],
                    "start_gateway": "2rE2pQGMd7SYjGp42yEL"
                },
                "step_gateway": "Worldpay",
                "step_gateway_id": "2rE2pQGMd7SYjGp42yEL",
                "step_gateway_response": "",
                "step_modifier": "",
                "step_num": 1,
                "step_result": "Declined",
                "step_setting": "initial",
                "step_source": "cascade",
                "step_transaction": "RJ5MaZMap1cZdP9w7ayE"
            },
            {
                "step_action": "next",
                "step_amount": 111.86,
                "step_cascade_result": null,
                "step_gateway": "Braintree",
                "step_gateway_id": "NkAMJOzpB5iEAOrdloV0",
                "step_modifier": "10",
                "step_num": 2,
                "step_result": "Approved",
                "step_setting": "modifypct",
                "step_source": "gateway",
                "step_transaction": "vEwWZv5B5zIXM9bq1yQd"
            }
        ]
    },
    "product_sale_created": [
        {
            "amount_original_total": 149.99,
            "amount_captured": 0,
            "amount_gross": 0,
            "amount_net": 0,
            "amount_fees": 0,
            "amount_remaining": 149.99,
            "amount_to_salvage": 0,
            "amount_discounted": 0,
            "id": "7rwyAzL5LXUa8QrGMoMR",
            "price": 149.99,
            "quantity": 1,
            "product": {
                "id": "0pBLXVZW08SNw0XOKZ7X",
                "name": "Robo Vac",
                "internal_id": "robo_vac",
                "sku": "robo_vac_sku"
            },
            "subscription": {
                "id": "4r15qAlZlyUoMprMNVpE"
            },
            "trial": {
                "id": "k6vn81lElqsvKEB4K2JA"
            }
        },
        {
            "amount_original_total": 19.99,
            "amount_captured": 17.73,
            "amount_gross": 17.73,
            "amount_net": 17.25,
            "amount_fees": 0.48,
            "amount_remaining": 2.26,
            "amount_to_salvage": 2.26,
            "amount_discounted": 0,
            "id": "Nk5vOzGAGRfrmg8LZXVM",
            "price": 19.99,
            "quantity": 1,
            "product": {
                "id": "6r8O5MLbw2t6n4v1lGqK",
                "name": "AV 2017",
                "internal_id": "av_2017",
                "sku": "av_2017_sku"
            },
            "subscription": {
                "id": "VPm9vVEoERc6Wy6Jg7Jg"
            },
            "trial": null
        }
    ],
    "request_method": "create",
    "request_type": "sale",
    "result": "Approved",
    "sale_id": "rm9EG1BjrXcqm64KKq6z",
    "salvage_transaction": {
        "id": "9rdE4zvXvQUjVp22ddgm",
        "amount": 12.43,
        "enabled": true,
        "sale_creator": false
    },
    "salvage_transaction_created": true,
    "ship_to": {
        "first_name": "George",
        "last_name": "Washington",
        "address_line_1": "1600 Pennsylvania Ave",
        "address_line_2": "",
        "city": "Washington",
        "state": "DC",
        "zip": "20500",
        "company": "",
        "country": "USA",
        "email": "george@whitehouse.gov",
        "phone": "2024561414"
    },
    "shipping_created": [
        {
            "amount_original_total": 5,
            "amount_captured": 5,
            "amount_gross": 5,
            "amount_net": 4.87,
            "amount_fees": 0.14,
            "amount_remaining": 0,
            "amount_to_salvage": 0,
            "amount_discounted": 0,
            "id": "Q45o8zGpGRu098B88npR",
            "provider": "usps",
            "provider_method": "priority_mail",
            "provider_tracking": "3546 5214",
            "weight": 0
        }
    ],
    "subscription_created": [
        {
            "id": "VPm9vVEoERc6Wy6Jg7Jg",
            "start_date_unix": 1565833755,
            "next_renewal_date_unix": 1568512155,
            "product_sale": {
                "id": "Nk5vOzGAGRfrmg8LZXVM"
            },
            "product": {
                "id": "6r8O5MLbw2t6n4v1lGqK",
                "name": "AV 2017",
                "internal_id": "av_2017",
                "sku": "av_2017_sku"
            },
            "trial": null
        }
    ],
    "tax_created": [
        {
            "amount_original_total": 9.31,
            "amount_captured": 9.31,
            "amount_gross": 9.31,
            "amount_net": 9.06,
            "amount_fees": 0.25,
            "amount_remaining": 0,
            "amount_to_salvage": 0,
            "id": "2rdJNg4E4yUplpKWYnpo",
            "name": "User Provided Tax",
            "description": "",
            "rate": 0.08
        }
    ],
    "third_party_shop": null,
    "transaction_id": "vEwWZv5B5zIXM9bq1yQd",
    "trial_created": [
        {
            "id": "k6vn81lElqsvKEB4K2JA",
            "num_days": 1,
            "end_date_unix": 1565920155,
            "product_sale": {
                "id": "7rwyAzL5LXUa8QrGMoMR"
            },
            "product": {
                "id": "0pBLXVZW08SNw0XOKZ7X",
                "name": "Robo Vac",
                "internal_id": "robo_vac",
                "sku": "robo_vac_sku"
            },
            "subscription": {
                "id": "4r15qAlZlyUoMprMNVpE"
            }
        }
    ]
}`
            },
            'api-example-3': {
                code: `
    curl --location --request POST 'https://api.revcent.com/v1'
    --header 'Content-Type: application/json'
    --header 'x-api-key: REVCENT_API_KEY'
    --data-raw '{
    "request": {
        "type": "customer",
        "method": "create",
        "campaign": "Twitter Campaign",
        "customer": {
            "first_name": "George",
            "last_name": "Washington",
            "address_line_1": "1600 Pennsylvania Ave",
            "address_line_2": "",
            "city": "Washington",
            "state": "DC",
            "zip": "20500",
            "country": "USA",
            "company": "",
            "email": "george@whitehouse.gov",
            "phone": "2024561414"
        },
        "bill_to": {
            "first_name": "George",
            "last_name": "Washington",
            "address_line_1": "1600 Pennsylvania Ave",
            "address_line_2": "",
            "city": "Washington",
            "state": "DC",
            "zip": "20500",
            "country": "USA",
            "company": "",
            "email": "george@whitehouse.gov",
            "phone": "2024561414"
        },
        "internal_customer_id": "cus_7791",
        "payment": {
            "credit_card": {
                "card_number": "4242424242424242",
                "exp_month": 12,
                "exp_year": 20,
                "card_code": "999"
            }
        },
        "metadata": [
            {
                "name": "adwords_click",
                "value": "Cjat0KwhCQjdTq..."
            },
            {
                "name": "sign_up_page",
                "value": "v1"
            }
        ]
    }
}'`
            },
            'api-example-4': {
                code: `
{
  "api_call_id": "Nk5voyYVvgTOJkEdGRyj",
  "api_call_processed": true,
  "api_call_unix": 1565814918,
  "campaign_id": "JN0Zpj7RGJiwKqAnRoy6",
  "campaign_name": "Twitter Campaign",
  "card_id": "YaVqjAZNqzCGvrrZgGqm",
  "code": 1,
  "customer_email": "george@whitehouse.gov",
  "customer_first_name": "George",
  "customer_id": "mJGAbQ0zAmU12rpngR1M",
  "customer_last_name": "Washington",
  "request_method": "create",
  "request_type": "customer",
  "result": "Created new customer and added card."
}`
            },
            'api-example-5': {
                code: `
    curl --location --request POST 'https://api.revcent.com/v1'
    --header 'Content-Type: application/json'
    --header 'x-api-key: REVCENT_API_KEY'
    --data-raw '{
        "request": {
            "type": "metadata",
            "method": "insert",
            "item_type": "sale",
            "item_id": "pgm1q7yjKjF7qyAM7EXK",
            "cascade": false,
            "metadata": [
                {
                    "name": "new_name",
                    "value": "new value"
                }
            ]
        }
    }'`
            },
            'api-example-6': {
                code: `
{
  "api_call_date": "2022-06-02T15:16:15+00:00",
  "api_call_id": "JNGoAdZ7v8iRooaArOOy",
  "api_call_processed": true,
  "api_call_unix": 1654182975,
  "code": 1,
  "customer": {
    "address_line_1": "1600 Pennsylvania Ave",
    "address_line_2": "",
    "blocked": false,
    "city": "Washington",
    "company": "",
    "country": "USA",
    "email": "georgew@whitehouse.com",
    "enabled": true,
    "first_name": "George",
    "full_address": "1600 Pennsylvania Ave NW, Washington, DC 20500, USA",
    "geocode_success": true,
    "google_place_id": "ChIJGVtI4by3t4kRr51d_Qm_x58",
    "id": "4r158EzJmmcVM69dNLkg",
    "internal_id": "pres_0001",
    "last_name": "Washington",
    "lat": "38.8976633",
    "lon": "-77.0365739",
    "metadata": [],
    "phone": "2024561414",
    "state": "DC",
    "state_long": "DC",
    "zip": "20500"
  },
  "item_id": "pgm1q7yjKjF7qyAM7EXK",
  "item_type": "sale",
  "metadata": [
    {
      "name": "new_name",
      "value": "new value"
    }
  ],
  "request_method": "insert",
  "request_type": "metadata",
  "result": "Metadata inserted."
}`
            }

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

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



    <script>
        function getIntegrations() {
            return _.orderBy([{
                name: 'mailchimp',
                hx: '<h3>Mailchimp</h3>',
                p: '<p>Automatically add a new customer email address to your Mailchimp lists.</p>',
                a: '',
                img: 'third-party-integrations/mailchimp',
                img_style: 'max-height: 130px;margin-top: 20px;',
                img_class: ''
            },
            {
                name: 'taxjar',
                hx: '<h3>TaxJar</h3>',
                p: '<p>Integrate your TaxJar account with RevCent.</p>',
                a: '',
                img: 'third-party-integrations/taxjar',
                img_style: 'max-height: 130px;margin-top: 20px;',
                img_class: ''
            },
            {
                name: 'amazon-pay',
                hx: '<h3>Amazon Pay</h3>',
                p: '<p>Integrate your Amazon Pay account with RevCent.</p>',
                a: '',
                img: 'third-party-integrations/amazon-pay',
                img_style: 'max-height: 130px;margin-top: 20px;',
                img_class: ''
            },
            {
                name: 'seon',
                hx: '<h3>SEON</h3>',
                p: '<p>Integrate your SEON account with RevCent to combat fraud and enrich data.</p>',
                a: '',
                img: 'third-party-integrations/seon',
                img_style: 'max-height: 130px;margin-top: 20px;',
                img_class: ''
            },
            {
                name: 'open-ai',
                hx: '<h3>OpenAI</h3>',
                p: '<p>Integrate your OpenAI account with RevCent.</p>',
                a: '',
                img: 'third-party-integrations/open-ai',
                img_style: 'max-height: 130px;margin-top: 20px;',
                img_class: ''
            },
            {
                name: 'pathly',
                hx: '<h3>Pathly</h3>',
                p: '<p>Integrate your Pathly account with RevCent.</p>',
                a: '',
                img: 'third-party-integrations/pathly',
                img_style: 'max-height: 130px;margin-top: 20px;',
                img_class: ''
            },
            {
                name: 'fluidpay',
                hx: '<h3>FluidPay</h3>',
                p: '<p>Integrate your FluidPay account with RevCent.</p>',
                a: '',
                img: 'third-party-integrations/fluidpay',
                img_style: 'max-height: 130px;margin-top: 20px;',
                img_class: ''
            },
            {
                name: 'icontact',
                hx: '<h3>iContact</h3>',
                p: '<p>Automatically add a new customer emails to your iContact account.</p>',
                a: '',
                img: 'third-party-integrations/icontact',
                img_style: 'max-height: 130px;margin-top: 20px;',
                img_class: ''
            },
            {
                name: 'klaviyo',
                hx: '<h3>Klaviyo</h3>',
                p: '<p>Automatically add a new customer emails to your Klaviyo lists.</p>',
                a: '',
                img: 'third-party-integrations/klaviyo',
                img_style: 'max-height: 130px;margin-top: 20px;',
                img_class: ''
            },
            {
                name: 'xero',
                hx: '<h3>Xero</h3>',
                p: '<p>Have invoices and payments created upon sales and renewals in Xero.</p>',
                a: '',
                img: 'third-party-integrations/xero',
                img_style: 'max-height: 130px;margin-top: 20px;',
                img_class: ''
            },
            {
                name: 'avalara',
                hx: '<h3>Avalara</h3>',
                p: '<p>Calculate tax on the fly and update tax information in Avalara.</p>',
                a: '',
                img: 'third-party-integrations/avalara',
                img_style: 'max-height: 130px;margin-top: 20px;',
                img_class: ''
            },
            {
                name: 'activecampaign',
                hx: '<h3>ActiveCampaign</h3>',
                p: '<p>Sync contacts, tags and lists in your ActiveCampaign account.</p>',
                a: '',
                img: 'third-party-integrations/active-campaign',
                img_style: 'max-height: 130px;margin-top: 20px;',
                img_class: ''
            },
            {
                name: 'kount',
                hx: '<h3>Kount</h3>',
                p: '<p>Instantly detect fraud prior to processing a payment with a gateway.</p>',
                a: '',
                img: 'third-party-integrations/kount',
                img_style: 'max-height: 130px;margin-top: 20px;',
                img_class: ''
            },
            {
                name: 'midigator',
                hx: '<h3>Midigator</h3>',
                p: '<p>Notify Midigator on credit card payments for chargeback management.</p>',
                a: '',
                img: 'third-party-integrations/midigator',
                img_style: 'max-height: 130px;margin-top: 20px;',
                img_class: ''
            },
            {
                name: 'woofunnels',
                hx: '<h3>WooFunnels</h3>',
                p: '<p>WooCommerce upsells with WooFunnels, natively integrated with RevCent.</p>',
                a: '',
                img: 'third-party-integrations/woofunnels',
                img_style: 'max-height: 130px;margin-top: 20px;',
                img_class: ''
            },
            {
                name: '3plcentral',
                hx: '<h3>3PL Central</h3>',
                p: '<p>Automatically notify 3PL Central when shipments are created or modified.</p>',
                a: '',
                img: 'third-party-integrations/3pl-central',
                img_style: 'max-height: 130px;margin-top: 20px;',
                img_class: ''
            },
            {
                name: 'shipstation',
                hx: '<h3>ShipStation</h3>',
                p: '<p>Automatically notify ShipStation when shipments are created or modified.</p>',
                a: '',
                img: 'third-party-integrations/shipstation',
                img_style: 'max-height: 130px;margin-top: 20px;',
                img_class: ''
            },
            {
                name: 'cardpointe',
                hx: '<h3>CardPointe</h3>',
                p: '<p>Integrate your CardPointe account with RevCent.</p>',
                a: '',
                img: 'third-party-integrations/cardpointe',
                img_style: 'max-height: 130px;margin-top: 20px;',
                img_class: ''
            },
            {
                name: 'payjunction',
                hx: '<h3>PayJunction</h3>',
                p: '<p>Integrate your PayJunction account with RevCent.</p>',
                a: '',
                img: 'third-party-integrations/payjunction',
                img_style: 'max-height: 130px;margin-top: 20px;',
                img_class: ''
            },
            {
                name: 'adyen',
                hx: '<h3>Adyen</h3>',
                p: '<p>Integrate your Adyen account with RevCent.</p>',
                a: '',
                img: 'third-party-integrations/adyen',
                img_style: 'max-height: 130px;margin-top: 20px;',
                img_class: ''
            },
            {
                name: 'afterpay',
                hx: '<h3>Afterpay</h3>',
                p: '<p>Integrate your Afterpay account with RevCent.</p>',
                a: '',
                img: 'third-party-integrations/afterpay',
                img_style: 'max-height: 130px;margin-top: 20px;',
                img_class: ''
            },
            {
                name: 'sezzle',
                hx: '<h3>Sezzle</h3>',
                p: '<p>Integrate your Sezzle account with RevCent.</p>',
                a: '',
                img: 'third-party-integrations/sezzle',
                img_style: 'max-height: 130px;margin-top: 20px;',
                img_class: ''
            },
            {
                name: 'affirm',
                hx: '<h3>Affirm</h3>',
                p: '<p>Integrate your Affirm account with RevCent.</p>',
                a: '',
                img: 'third-party-integrations/affirm',
                img_style: 'max-height: 130px;margin-top: 20px;',
                img_class: ''
            },
            {
                name: 'klarna',
                hx: '<h3>Klarna</h3>',
                p: '<p>Integrate your Klarna account with RevCent.</p>',
                a: '',
                img: 'third-party-integrations/klarna',
                img_style: 'max-height: 130px;margin-top: 20px;',
                img_class: ''
            },
            {
                name: 'checkoutcom',
                hx: '<h3>Checkout.com</h3>',
                p: '<p>Integrate your Checkout.com account with RevCent.</p>',
                a: '',
                img: 'third-party-integrations/checkoutcom',
                img_style: 'max-height: 130px;margin-top: 20px;',
                img_class: ''
            },
            {
                name: 'cybersource',
                hx: '<h3>CyberSource</h3>',
                p: '<p>Integrate your CyberSource account with RevCent.</p>',
                a: '',
                img: 'third-party-integrations/cybersource',
                img_style: 'max-height: 130px;margin-top: 20px;',
                img_class: ''
            },
            {
                name: 'shipbob',
                hx: '<h3>ShipBob</h3>',
                p: '<p>Automatically notify ShipBob when shipments are created or modified.</p>',
                a: '',
                img: 'third-party-integrations/shipbob',
                img_style: 'max-height: 130px;margin-top: 20px;',
                img_class: ''
            },
            {
                name: 'shippingeasy',
                hx: '<h3>Shipping Easy</h3>',
                p: '<p>Automatically notify Shipping Easy when shipments are created or modified.</p>',
                a: '',
                img: 'third-party-integrations/shipping-easy',
                img_style: 'max-height: 130px;margin-top: 20px;',
                img_class: ''
            },
            {
                name: 'fulfillmentlab',
                hx: '<h3>Fulfillment Lab</h3>',
                p: '<p>Automatically notify Fulfillment Lab when shipments are created or modified.</p>',
                a: '',
                img: 'third-party-integrations/fulfillment-lab',
                img_style: 'max-height: 130px;margin-top: 20px;',
                img_class: ''
            },
            {
                name: 'shipworks',
                hx: '<h3>ShipWorks</h3>',
                p: '<p>Create a custom ShipWorks store to pull shipments from RevCent.</p>',
                a: '',
                img: 'third-party-integrations/shipworks',
                img_style: 'max-height: 130px;margin-top: 20px;',
                img_class: ''
            },
            {
                name: 'authorizenet',
                hx: '<h3>Authorize.net</h3>',
                p: '<p>Integrate your Authorize.net account with RevCent.</p>',
                a: '',
                img: 'third-party-integrations/authorizenet',
                img_style: 'max-height: 130px;margin-top: 20px;',
                img_class: ''
            },{
                name: 'braintree',
                hx: '<h3>Braintree</h3>',
                p: '<p>Integrate your Braintree account with RevCent.</p>',
                a: '',
                img: 'third-party-integrations/braintree',
                img_style: 'max-height: 130px;margin-top: 20px;',
                img_class: ''
            },{
                name: 'elavon',
                hx: '<h3>Elavon</h3>',
                p: '<p>Integrate your Elavon account with RevCent.</p>',
                a: '',
                img: 'third-party-integrations/elavon',
                img_style: 'max-height: 130px;margin-top: 20px;',
                img_class: ''
            },{
                name: 'nab',
                hx: '<h3>NAB</h3>',
                p: '<p>Integrate your NAB account with RevCent.</p>',
                a: '',
                img: 'third-party-integrations/nab',
                img_style: 'max-height: 130px;margin-top: 20px;',
                img_class: ''
            },{
                name: 'nmi',
                hx: '<h3>NMI</h3>',
                p: '<p>Integrate your NMI account with RevCent.</p>',
                a: '',
                img: 'third-party-integrations/nmi',
                img_style: 'max-height: 130px;margin-top: 20px;',
                img_class: ''
            },{
                name: 'paypal',
                hx: '<h3>PayPal</h3>',
                p: '<p>Integrate your PayPal account with RevCent.</p>',
                a: '',
                img: 'third-party-integrations/paypal',
                img_style: 'max-height: 130px;margin-top: 20px;',
                img_class: ''
            },{
                name: 'maxmind',
                hx: '<h3>MaxMind</h3>',
                p: '<p>Use risk scoring to identify high-risk activity before processing payments.</p>',
                a: '',
                img: 'third-party-integrations/maxmind',
                img_style: 'max-height: 130px;margin-top: 20px;',
                img_class: ''
            },{
                name: 'paysafe',
                hx: '<h3>PaySafe</h3>',
                p: '<p>Integrate your PaySafe account with RevCent.</p>',
                a: '',
                img: 'third-party-integrations/paysafe',
                img_style: 'max-height: 130px;margin-top: 20px;',
                img_class: ''
            },{
                name: 'psigate',
                hx: '<h3>PSIGate</h3>',
                p: '<p>Integrate your PSIGate account with RevCent.</p>',
                a: '',
                img: 'third-party-integrations/psigate',
                img_style: 'max-height: 130px;margin-top: 20px;',
                img_class: ''
            },{
                name: 'stripe',
                hx: '<h3>Stripe</h3>',
                p: '<p>Integrate your Stripe account with RevCent.</p>',
                a: '',
                img: 'third-party-integrations/stripe',
                img_style: 'max-height: 130px;margin-top: 20px;',
                img_class: ''
            },{
                name: 'worldpay',
                hx: '<h3>Worldpay</h3>',
                p: '<p>Integrate your Worldpay account with RevCent.</p>',
                a: '',
                img: 'third-party-integrations/worldpay',
                img_style: 'max-height: 130px;margin-top: 20px;',
                img_class: ''
            },{
                name: 'woocommerce',
                hx: '<h3>WooCommerce</h3>',
                p: '<p>Integrate your WooCommerce store with RevCent.</p>',
                a: '',
                img: 'third-party-integrations/woocommerce',
                img_style: 'max-height: 130px;margin-top: 20px;',
                img_class: ''
            }
            ],['name'],['asc']);
        };
        let integrations=getIntegrations();
        $.each(integrations,function(c,d) {
            $('#third-party-integrations-wrap').append(`
                <div class="col-lg-1 col-sm-2">
                    <div class="thumbnail-wrapper">
                        <div class="thumbnail image-1 d-block image-third-party-integration">
                            <img class="gateway-logo" src="https://cdn.revcent.com/img/product-img/all-img/${d.img}.png">
                        </div>
                    </div>
                </div>
            `);
        });


    </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> NMI transaction saved <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> ShipStation notified <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> Klaviyo profile created <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> TaxJar updated <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> SEON data enrichment complete <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> Midigator transaction added <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> User sale integrations processed.</li>')
            .start();
    </script>
</body>


</html>