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

<head>
  <meta charset="utf-8">
  <meta http-equiv="x-ua-compatible" content="ie=edge">
  <title>Ultimate Credit Card Payment Suite</title>
  <meta name="description" content="RevCent offers a full range of tools to route credit card payments, handle declines, recover revenue, manage chargebacks and more." />
  <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: 85px;
    }



    .revenue-recovery-section sup {
        top: -1em;
        color: #808080;
        font-weight: 200;
        font-size: 40%;
    }


    @media only screen and (max-width: 767px) {
        .revenue-recovery-section h1 {
            font-size: var(--h2);
            line-height: 1.23;
        }
    }

    span.recovered-text {
        font-size: 16px;
        font-weight: 400;
        color: #5b5b5b;
        vertical-align: middle;
    }

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

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

    .mid-management-tab-content {
        padding: 30px;
        border-radius: 10px;
    }


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


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


    .Typewriter__cursor {
        display: none;
    }

    #mid-management-row .rbt-default-tab .tab-content {
        background: var(--color-light);
        padding: 40px;
        min-height: 390px;
    }

    #mid-management-row .rbt-default-tab .tab-button .tabs__tab .nav-link.active {
        background: var(--color-light);
    }

    #mid-management-row .nav-justified .nav-item,
    #mid-management-row .nav-justified>.nav-link {
        flex-basis: content;
        flex-grow: 1;
        text-align: center;
    }


    .flow-inout {
        background: transparent;
        border: 0;
        border-top: 10px solid transparent;
        border-bottom: 10px solid transparent;
        border-left: 10px solid #6e00be;
        height: 0px;
        width: 0px;
        border-radius: 0;
        position: absolute;
        z-index: 1;
        top: 50%;
    }


    .payment-flow-card .flow-input {
        left: -5px;
    }

    .payment-flow-card .flow-output {
        right: -5px;
    }

    .payment-flow-card {
        overflow: visible;
    }


    #flow-paths {
        z-index: 1;
        position: absolute;
    }

    #flow-paths path {
        fill: none;
        stroke-width: 4;
    }

    #flow-paths .solid-path {
        stroke: #6e00be;
    }

    #flow-paths .green-path {
        stroke: #51ad10;
        stroke: url(#fade-green);
    }

    #flow-paths .grey-path {
        stroke: url(#fade-info);
    }

    #flow-paths .faded-path {
        stroke: url(#fade-purple);
    }

    .flow-inout.process-payment-input {
        border-left: 10px solid #51ad10;
    }

    .flow-inout.insert-metadata-input {
        border-left: 10px solid #1BA2DB;
    }

    .hero-ui-cards .rbt-card .card-header {
        border-top-right-radius: 6px;
        border-top-left-radius: 6px;
        border-bottom: 0;
    }

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

    .hero-ui-cards>.rbt-card {
        position: absolute;
        width: auto;
        height: auto;
        min-width: 250px;
        padding: 0;
    }

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

    .hero-ui-cards {
        --heroCardLeftNone: 100px;
        --heroCardLeftShort: 540px;
        --heroCardLeftLong: 560px;
        position: absolute;
    }

    .hero-ui-cards .hero-ui-card:not(.start-payment-card) {
        width: 260px;
    }

    .hero-ui-cards .hero-ui-card.gateway-chosen-card {
        width: 340px;
    }

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

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

    @media only screen and (max-width: 991px) {
        .hero-ui-cards {
            transform: scale(.8);
            position: relative;
            --heroCardLeftNone: 0px;
            --heroCardLeftShort: 405px;
            --heroCardLeftLong: 405px;
        }

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

        .hero-ui-cards .hero-ui-card.gateway-chosen-card {
            position: relative;
            min-width: auto;
            width: auto;
        }


        .payment-flow-card .flow-input,
        .payment-flow-card .flow-output {
            display: none;
        }
        #flow-paths{
            display:none;
        }
    }

    @media only screen and (max-width: 787px) {
        .hero-ui-cards {
            --heroCardLeftNone: -40px;
            --heroCardLeftShort: 165px;
            --heroCardLeftLong: 165px;
        }
    }

    .hero-ui-cards .start-payment-card {
        top: 200px;
        width: 1px;
        height: 5px;
        left: 0px;
        position: absolute;
    }

    .hero-ui-cards .gateway-chosen-card {
        left: var(--heroCardLeftNone);
        top: 0px;
    }

    .hero-ui-cards .payment-processed-card {
        left: var(--heroCardLeftShort);
        top: 80px
    }

    .hero-ui-cards .insert-metadata-card {
        left: var(--heroCardLeftLong);
        top: 350px;
    }

    .hero-ui-cards .card-header {
        padding: 12px 20px;
    }

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

<body class="MainBody Page-Theme-1" data-pagetheme="1">
    <div class="">
        <!-- 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 V1</a></li>
                                                            <li><a href="/docs/api/v2">API V2</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">API V1</a></li>
                                                <li><a href="/docs/api/v2">API V2</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">

            <svg height="1000" width="100%" id="flow-paths">
                <defs>
                    <linearGradient id="fade-purple" x1="0%" y1="0%" x2="100%" y2="0%">
                        <stop offset="0%" stop-color="#fefafd" />
                        <stop offset="100%" stop-color="#6e00be" />
                    </linearGradient>
                    <linearGradient id="fade-green" x1="0%" y1="0%" x2="100%" y2="0%">
                        <stop offset="0%" stop-color="#6e00be" />
                        <stop offset="70%" stop-color="#51ad10" />
                        <stop offset="100%" stop-color="#51ad10" />
                    </linearGradient>
                    <linearGradient id="fade-info" x1="0%" y1="0%" x2="100%" y2="0%">
                        <stop offset="0%" stop-color="#6e00be" />
                        <stop offset="70%" stop-color="#1BA2DB" />
                        <stop offset="100%" stop-color="#1BA2DB" />
                    </linearGradient>
                </defs>
            </svg>
            <div class="Sect__masked">
                <div class="Sect__backgroundMask">
                    <div class="Sect__background bg-color-page-theme">

                    </div>
                </div>
                <div class="gradient-canvas-wrapper section-separator-wrapper section-separator-250">
                    <canvas class="section-separator-canvas gradient-canvas"></canvas>
                </div>
                <div class="container Sect__container">
                    <div class="container-wrap Sect__layoutContainer">
                        <div class="container-inner Sect__layout">

                            <div class="row">
                                <div class="col-lg-5 mt--40" id="hero-col-1">
                                    <div class="content">
                                        <div class="inner product-hero-inner">
                                            <h1 class="title">
                                                <span class="hero-title">Ultimate</span><br>
                                                <span class="hero-title">Credit Card</span><br>
                                                <span class="hero-title">Payment Suite</span>
                                            </h1>
                                            <p class="sub-description">RevCent offers a full range of tools to route credit card payments, handle declines, recover revenue, manage chargebacks and more.</p>

                                            <div class="row">
                                                <div class="col-lg-4 mb--10">
                                                    <a class="rbt-btn btn-xs page-theme-section-link d-block text-center" href="#section-payment-gateways">Gateways</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-payment-profiles">Payment Routing</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-revenue-recovery">Recovery</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-chargeback-management">Chargebacks</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-card-data">Card Data</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-mid-management">MID Mgmt.</a>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>

                                <div class="col-lg-7" id="hero-ui-display">
                                    <div class="hero-ui-cards">
                                        <div class="start-payment-card" style="">
                                            <div class="start-payment-output" style="height:1px"></div>
                                        </div>
                                        <div class="rbt-card bg-color-white-opacity-more no-border shadow-13 payment-flow-card hero-ui-card gateway-chosen-card">
                                            <div class="flow-inout flow-input choose-gateway-input"></div>
                                            <div class="flow-inout flow-output choose-gateway-output"></div>
                                            <div class="card-header bg-color-purple">
                                                <p>
                                                    <i class="fal fa-fw fa-university color-white" style="font-size: 13px;margin-right: 5px;"></i><span class="color-white" style="font-weight: 600;font-size: 15px;"> Gateway Chosen</span>
                                                </p>
                                            </div>
                                            <div class="card-body">
                                                <div class="row">
                                                    <div class="col-lg-12 mb--10">
                                                        <p class="mb--0 text-center">
                                                            <strong class="color-body">Selected Gateway</strong>
                                                        </p>
                                                        <h6 class="mb--5 text-strong text-center">NMI</h6>
                                                    </div>
                                                    <div class="col-lg-12">
                                                        <div class="rbt-card bg-color-purple-1 no-shadow">
                                                            <div class="card-body">
                                                                <p class="mb--10 text-center">
                                                                    <em class="mb--10 text-muted">Selection Settings</em>
                                                                </p>
                                                                <p class="mb--0">
                                                                    <strong class="mb--10 color-purple">Evenly distribute</strong> across the gateway list formed from gateway group(s):
                                                                </p>
                                                                <ul class="mb--0 list-unstyled ">
                                                                    <li class="list-item mb--0 mt--0 text-strong color-purple">Acme Inc. Gateways</li>
                                                                </ul>
                                                                <p class="mb--10  text-center text-strong text-muted">AND</p>
                                                                <p class="mb--0 ">Prefer gateway <strong>if any</strong> of the following:</p>
                                                                <ul class="mb--0  list-unstyled">
                                                                    <li class="list-item color-purple mt--0 mb--5">
                                                                        <strong>Previously Approved For Customer</strong>
                                                                    </li>
                                                                </ul>
                                                                <p class="mb--10  text-center text-strong text-muted">AND</p>
                                                                <p class="mb--0 ">Do not choose gateway <strong>if any</strong> of the following:</p>
                                                                <ul class="mb--0  list-unstyled">
                                                                    <li class="list-item color-purple mt--0 mb--5">
                                                                        <strong>Previously Declined For Customer</strong>
                                                                    </li>
                                                                </ul>
                                                                <p class="mb--10  text-center text-strong text-muted">AND</p>
                                                                <p class="mb--0 ">Do not choose gateway <strong>if in any</strong> of the following gateway group(s):</p>
                                                                <ul class="mb--0  list-unstyled">
                                                                    <li class="list-item color-purple mt--0 mb--5">
                                                                        <strong>Closed MIDs</strong>
                                                                    </li>
                                                                </ul>
                                                                <p class="mb--10  text-center text-strong text-muted">AND</p>
                                                                <p class="mb--0 ">As a failsafe, if no gateways end up being chosen, <strong>randomly choose</strong> from the following gateway(s):</p>
                                                                <ul class="mb--0  list-unstyled">
                                                                    <li class="list-item color-purple mt--0 mb--5">
                                                                        <strong>Backup Gateway</strong>
                                                                    </li>
                                                                </ul>
                                                            </div>
                                                        </div>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="rbt-card bg-color-white-opacity-more no-border shadow-13 payment-flow-card hero-ui-card payment-processed-card">
                                            <div class="flow-inout flow-input process-payment-input"></div>
                                            <div class="card-header bg-color-dark-green">
                                                <p>
                                                    <i class="fal fa-fw fa-credit-card color-white" style="font-size: 13px;margin-right: 5px;"></i>
                                                    <span class="color-white" style="font-weight: 600;font-size: 15px;"> Payment Success</span>
                                                </p>
                                            </div>
                                            <div class="card-body">
                                                <div class="row">
                                                    <div class="col-lg-12">
                                                        <p class="mb--0 text-center">
                                                            <strong class="color-body">Amount</strong>
                                                        </p>
                                                        <h5 class="mb--10 text-center" style="color: #139135">$125.08</h5>
                                                        <ul class="mb--0 list-unstyled ">
                                                            <li class="list-item mb--0 mt--0">ID: <strong>aW5NrjYPLLA9v</strong></li>
                                                            <li class="list-item mb--0 mt--0">Gateway: <strong>NMI</strong></li>
                                                            <li class="list-item mb--0 mt--0">Gateway Trans. ID: <strong>4691520268</strong></li>
                                                            <li class="list-item mb--0 mt--0">Gateway Response: <strong>Approved</strong></li>
                                                            <li class="list-item mb--0 mt--0">Gateway Auth Code: <strong>531921</strong></li>
                                                        </ul>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="rbt-card bg-color-white-opacity-more no-border shadow-13 payment-flow-card hero-ui-card insert-metadata-card">
                                            <div class="flow-inout flow-input insert-metadata-input"></div>
                                            <div class="card-header bg-color-info">
                                                <p>
                                                    <i class="far fa-fw fa-code color-white" style="font-size: 13px;margin-right: 5px;"></i>
                                                    <span class="color-white" style="font-weight: 600;font-size: 15px;"> Metadata Inserted</span>
                                                </p>
                                            </div>
                                            <div class="card-body">
                                                <div class="row">
                                                    <div class="col-lg-12">
                                                        <p class="mb--10 text-center">
                                                            <strong class="color-body">Inserted To Customer</strong>
                                                        </p>
                                                        <ul class="mb--0 list-unstyled">
                                                            <li class="list-item mb--0 mt--0"><em class="text-muted">request_type</em>: <strong>initial_sale</strong></li>
                                                            <li class="list-item mb--0 mt--0"><em class="text-muted">num_attempts</em>: <strong>1</strong></li>
                                                            <li class="list-item mb--0 mt--0"><em class="text-muted">is_upsell</em>: <strong>false</strong></li>
                                                        </ul>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </section>




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

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

                    </div>
                </div>

                <div class="SeparatorSlantSet SeparatorSlantSet--BottomLeft SeparatorSlantSet--layoutIntersecting">
                    <div class="SeparatorSlant SeparatorSlant--accentNone SeparatorSlant--variantSolid SeparatorSlant--insetSmall SeparatorSlant--widthFull"></div>
                </div>
                <div class="container Sect__container">
                    <div class="container-wrap Sect__layoutContainer">
                        <div class="container-inner Sect__layout">
                            <span class="rbt-badge-6 page-theme-badge">Start Processing</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">Payment<br>Gateways</h1>
                                    </div>
                                    <p class="mb--10">Add your merchant account gateways to RevCent in no time. RevCent currently supports several gateways and are constantly adding new ones.</p>
                                    <p><a class="page-theme-link small" href="https://kb.revcent.com/en/payments/credit-card/gateway" target="_blank">Gateway 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="row">
                                        <div class="col-lg-4 mt--20">
                                            <div class="rbt-card bg-color-light no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">Pick Your Gateway</h5>
                                                    <p class="mb--0">Choose the payment gateway you are using from the list of gateways available in RevCent.</p>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-lg-4 mt--20">
                                            <div class="rbt-card bg-color-light no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">Enter Credentials</h5>
                                                    <p class="mb--0">Enter the credentials provided by the gateway. Include the discount rate and fees for profit reporting.</p>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-lg-4 mt--20">
                                            <div class="rbt-card bg-color-light no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">Process Payments</h5>
                                                    <p class="mb--0">Once a gateway is added, you are immediately able to process credit card transactions using RevCent.</p>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>


                            <div class="row mb--80 d-none d-xl-block">
                                <div class="col-sm-12">
                                    <div class="container">
                                        <div class="row" id="gateways-row">

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


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

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

            <div class="Sect__masked">
                <div class="Sect__backgroundMask">
                    <div class="Sect__background bg-color-light-xl"></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">Payment Profiles</span>
                            <div class="row mb--60">
                                <div class="col-xl-4">
                                    <div class="section-title text-start mb--20">
                                        <h1 class="title">Payment<br>Routing</h1>
                                    </div>
                                    <p class="">Payment profiles allow you to <strong>route payments</strong> to the gateway you want, with simple or advanced processing and routing logic.</p>
                                </div>
                                <div class="col-xl-7 offset-xl-1 d-none">
                                    <div class="sect-thumbnail-main fade-page-theme">
                                        <div class="sect-thumbnail-wrapper" style="height:330px;margin-top: -80px;">
                                            <div class="sect-thumbnail no-border">
                                                <img class="sect-img" src="https://cdn.revcent.com/public-new/img/mgmt-page/payment-flow-builder-sm.png" style="-moz-transform:scale(1.25);-webkit-transform: scale(1.25);transform: scale(1.25);">
                                            </div>
                                        </div>
                                        <div class="sect-thumbnail-fade">
                                        </div>
                                    </div>
                                </div>
                            </div>

                            <div class="row mb--30">
                                <div class="col-lg-4 mt--20">
                                    <div class="rbt-card bg-color-dark-purple-3 bg-color-text-white no-shadow">
                                        <div class="card-body">
                                            <h5 class="mb--10">Next-Gen or Basic</h5>
                                            <p class="mb--0">RevCent offers two types of payment profiles, the Next-Gen Profile and the Basic Profile.</p>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-lg-4 mt--20">
                                    <div class="rbt-card bg-color-dark-purple-3 bg-color-text-white no-shadow">
                                        <div class="card-body">
                                            <h5 class="mb--10">Dynamic Routing</h5>
                                            <p class="mb--0">Payment profiles allow you to route payments to the most optimal gateway at time of payment.</p>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-lg-4 mt--20">
                                    <div class="rbt-card bg-color-dark-purple-3 bg-color-text-white no-shadow">
                                        <div class="card-body">
                                            <h5 class="mb--10">Increase Approvals</h5>
                                            <p class="mb--0">Utilizing payment profiles in conjunction with rules, filters and groups, will increase approvals.</p>
                                        </div>
                                    </div>
                                </div>
                            </div>
                            <div class="row mb--80 extra-padding">

                                <div class="col-lg-12 mt--40">
                                    <div class="rbt-card bg-color-purple-2 shadow-12 white-borderexd no-shadow">
                                        <div class="card-body">
                                            <div class="row align-items-center mt--10">
                                                <div class="col-lg-5">
                                                    <h3 class="mb--10">Next-Gen Profile <span class="rbt-badge-super bg-color-purple color-white">New</span></h3>
                                                    <p class="mb--10">The Next-Gen profile is a payment router which <strong>you design</strong> using the visual payment flow builder.</p>
                                                    <p><a class="page-theme-link small" href="https://kb.revcent.com/en/payments/credit-card/next-gen-payment-profile" target="_blank">Next-Gen Profile Docs<i class="far fa-fw fa-angle-right small"></i></a></p>
                                                    <ul class="mb--30 mt--40">
                                                        <li class="list-item">
                                                            Great for businesses with advanced payment needs.
                                                        </li>
                                                        <li class="list-item">
                                                            Payment flow is created using the visual builder.
                                                        </li>
                                                        <li class="list-item">
                                                            Filters, branching and pre/post payment actions.
                                                        </li>
                                                        <li class="list-item">
                                                            Gateway choice settings offer unlimited potential.
                                                        </li>
                                                    </ul>
                                                </div>
                                                <div class="col-lg-6 offset-lg-1">
                                                    <div class="row mt--0">
                                                        <div class="col-lg-12 mb--20">
                                                            <div class="thumbnail-wrapper inner-thumbnail bg-color-white shadow-13" style="padding:0">
                                                                <div class="thumbnail">
                                                                    <img class="sect-img" src="https://cdn.revcent.com/public-new/img/payments-management/payments-payment-profile-flow.png" style="transform-origin: center right;transform: scale(1.35);">
                                                                </div>
                                                            </div>
                                                        </div>
                                                    </div>
                                                </div>
                                                <div class="col-lg-12">
                                                    <div class="row mt--0">
                                                        <div class="col-lg-6 mt--20">
                                                            <div class="rbt-card bg-color-purple-2 no-shadow">
                                                                <div class="card-body">
                                                                    <h5 class="mb--10">Multiple Stores</h5>
                                                                    <p class="">You have more than one store, each with its own corporation. You want to prevent cross corp transactions while keeping approvals high.</p>
                                                                </div>
                                                            </div>
                                                        </div>
                                                        <div class="col-lg-6 mt--20">
                                                            <div class="rbt-card bg-color-purple-2 no-shadow">
                                                                <div class="card-body">
                                                                    <h5 class="mb--10">Advanced Routing</h5>
                                                                    <p class="">You require advanced payment routing logic, including initial sales versus upsells, customer retries and scenarios which require specificity.</p>
                                                                </div>
                                                            </div>
                                                        </div>
                                                    </div>
                                                </div>
                                            </div>

                                        </div>
                                    </div>
                                </div>
                                <div class="col-lg-12 mt--80">
                                    <div class="rbt-card bg-color-lighter white-boxrdered shadow-12 no-shadow">
                                        <div class="card-body">
                                            <div class="row align-items-center mt--10">
                                                <div class="col-lg-5">
                                                    <h3 class="mb--10">Basic Profile <span class="rbt-badge-super bg-color-gray color-white d-none">Simple</span></h3>
                                                    <p class="mb--10">The Basic profile is a step based payment router, with up to three steps, allowing simplified routing.</p>
                                                    <p class="mb--30"><a class="page-theme-link small" href="https://kb.revcent.com/payments/credit-card/payment-profile" target="_blank">Basic Profile Docs<i class="far fa-fw fa-angle-right small"></i></a></p>
                                                    <ul class="mb--30 mt--40">
                                                        <li class="list-item">
                                                            Useful for basic payment processing.
                                                        </li>
                                                        <li class="list-item">
                                                            Payment flow is a fixed, max 3 step design.
                                                        </li>
                                                        <li class="list-item">
                                                            Each step can be a static or dynamic gateway.
                                                        </li>
                                                        <li class="list-item">
                                                            Gateway choice settings are limited in capability.
                                                        </li>
                                                    </ul>
                                                </div>
                                                <div class="col-lg-6 offset-lg-1">
                                                    <div class="row mt--0">
                                                        <div class="col-lg-12 mb--20">
                                                            <div class="thumbnail-wrapper inner-thumbnail bg-color-white shadow-13">
                                                                <div class="thumbnail">
                                                                    <img class="sect-img" src="https://cdn.revcent.com/public-new/img/payments-management/payments-payment-profile-basic.png" style="">
                                                                </div>
                                                            </div>
                                                        </div>
                                                    </div>
                                                </div>
                                                <div class="col-lg-12">
                                                    <div class="row mt--0">
                                                        <div class="col-lg-6 mt--20">
                                                            <div class="rbt-card bg-color-black-opacity no-shadow">
                                                                <div class="card-body">
                                                                    <h5 class="mb--10">Single Store</h5>
                                                                    <p class="">Your business consists of a single store and corporation, with consistently high approval rates and minimal to no chargebacks.</p>
                                                                </div>
                                                            </div>
                                                        </div>
                                                        <div class="col-lg-6 mt--20">
                                                            <div class="rbt-card bg-color-black-opacity no-shadow">
                                                                <div class="card-body">
                                                                    <h5 class="mb--10">Simple Routing</h5>
                                                                    <p class="">You only require basic payment routing, without the need for custom filtering, distribution or gateway choice logic.</p>
                                                                </div>
                                                            </div>
                                                        </div>
                                                    </div>
                                                </div>
                                            </div>

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

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

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

            <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">Recover Lost Revenue</span>
                            <div class="row mb--30">
                                <div class="col-sm-12 col-xl-5">
                                    <div class="section-title text-start mb--20">
                                        <h1 class="title">Revenue<br>Recovery</h1>
                                    </div>
                                    <p class="">Recover lost revenue, including abandoned carts and failed renewals, using RevCent's automated revenue recovery tools.</p>
                                </div>
                            </div>


                            <div class="row mb--100">

                                <div class="col-lg-4 mt--30">
                                    <div class="rbt-card bg-color-white-opacity white-bordered card-top-img shadow-12">
                                        <div class="card-body">
                                            <div class="row">
                                                <div class="col-lg-12 bg-color-white-opacity card-top-img-col">
                                                    <div class="card-top-text-wrap text-center ">
                                                        <h1 class="mb--0"><span class="color-pink-dark helv-font">30</span><sup>%</sup> </h1>
                                                        <h5 class="title mb--0">Soft Decline</h5>
                                                        <span class="recovered-text">recovery rate</span>
                                                    </div>
                                                </div>
                                                <div class="col-lg-12 bg-color-white card-top-white-bordered card-top-content-col">
                                                    <div class="card-top-content-wrap">
                                                        <p class="mb--10">A soft decline occurs when a customer either submitted incorrect info, asked to contact their bank, etc. Soft declines have the highest recovery rate.</p>
                                                        <p><a class="page-theme-link small" href="https://kb.revcent.com/en/payments/credit-card/next-gen-payment-profile" target="_blank">Next-Gen Payment Profile<i class="far fa-fw fa-angle-right small"></i></a></p>

                                                        <ol class="mb--0">
                                                            <li class="list-item">
                                                                Utilize a Next-Gen payment profile to parse a gateway response.
                                                            </li>
                                                            <li class="list-item">
                                                                Provide specific terms which must match within the response.
                                                            </li>
                                                            <li class="list-item">
                                                                If a match occurs, create a custom error message to display.
                                                            </li>
                                                            <li class="list-item">
                                                                Display the error message to the customer during checkout.
                                                            </li>
                                                        </ol>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>

                                <div class="col-lg-4 mt--30">
                                    <div class="rbt-card bg-color-white-opacity white-bordered card-top-img shadow-12">
                                        <div class="card-body">
                                            <div class="row">
                                                <div class="col-lg-12 bg-color-white-opacity card-top-img-col">
                                                    <div class="card-top-text-wrap text-center ">
                                                        <h1 class="mb--0"><span class="color-orange helv-font">15</span><sup>%</sup></h1>
                                                        <h5 class="title mb--0">Abandoned Cart</h5>
                                                        <span class="recovered-text">recovery rate</span>
                                                    </div>
                                                </div>
                                                <div class="col-lg-12 bg-color-white card-top-white-bordered card-top-content-col">
                                                    <div class="card-top-content-wrap">
                                                        <p class="mb--10">An abandoned cart occurs when a customer tried to pay for an initial sale, but all attempts were unsuccessful. At RevCent we call this a pending sale.</p>
                                                        <p><a class="page-theme-link small" href="https://kb.revcent.com/en/revenue/sale/pending-sale#pending-sale-profile" target="_blank">Pending Sale Profile<i class="far fa-fw fa-angle-right small"></i></a></p>
                                                        <ol class="mb--0">
                                                            <li class="list-item">
                                                                Utilize a pending sale profile to retry failed initial sales.
                                                            </li>
                                                            <li class="list-item">
                                                                Set specific time rules on when to re-attempt payment.
                                                            </li>
                                                            <li class="list-item">
                                                                Filters are available to avoid re-attempts you wish to skip.
                                                            </li>
                                                            <li class="list-item">
                                                                RevCent processes the re-attempts automatically.
                                                            </li>
                                                        </ol>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>

                                <div class="col-lg-4 mt--30">
                                    <div class="rbt-card bg-color-white-opacity white-bordered card-top-img shadow-12">
                                        <div class="card-body">
                                            <div class="row">
                                                <div class="col-lg-12 bg-color-white-opacity card-top-img-col">
                                                    <div class="card-top-text-wrap text-center ">
                                                        <h1 class="mb--0"><span class="color-blue helv-font">13</span><sup>%</sup></h1>
                                                        <h5 class="title mb--0">Hard Decline</h5>
                                                        <span class="recovered-text">recovery rate</span>
                                                    </div>
                                                </div>
                                                <div class="col-lg-12 bg-color-white card-top-white-bordered card-top-content-col">
                                                    <div class="card-top-content-wrap">
                                                        <p class="mb--10">Encompasses all other declined payment attempts that were either fully rejected, or were partially successful via transaction amount reduction.</p>
                                                        <p><a class="page-theme-link small" href="https://kb.revcent.com/en/payments/credit-card/salvage-transaction#salvage-transaction-profile" target="_blank">Salvage Transaction Profile<i class="far fa-fw fa-angle-right small"></i></a></p>
                                                        <ol class="mb--0">
                                                            <li class="list-item">
                                                                Utilize a salvage transaction profile to recover lost revenue.
                                                            </li>
                                                            <li class="list-item">
                                                                Can apply to failed renewals, failed trial expirations and sales.
                                                            </li>
                                                            <li class="list-item">
                                                                Set specific rules and filters, including max number of attempts.
                                                            </li>
                                                            <li class="list-item">
                                                                Process the recovery attempts automatically or manually.
                                                            </li>
                                                        </ol>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>

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

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

            <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">Fight Chargebacks</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">Chargeback<br>Management</h1>
                                    </div>
                                    <p class="color-white mb--10">RevCent's easy to implement API and document feature allow third party chargeback management companies to integrate, fight and update chargeback representment data.</p>
                                    <p><a class="page-theme-link dark-link small" href="https://kb.revcent.com/en/payments/credit-card/automated-chargeback-management" target="_blank">Chargeback Management<i class="far fa-fw fa-angle-right small"></i></a></p>

                                </div>
                            </div>
                            <div class="row mb--120">
                                <div class="col-md-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">API</h4>
                                                    </div>
                                                    <p class="color-white mb--10">Utilize the RevCent API to create a chargeback, retrieve evidence and modify a chargebacks' details.</p>
                                                    <p><a class="page-theme-link dark-link small" href="/docs/api#chargeback" target="_blank">Chargeback API Docs<i class="far fa-fw fa-angle-right small"></i></a></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">Implementation</h5>
                                                    </div>
                                                    <p class="color-white">Easily create a chargeback in RevCent specific to a transaction. You can provide the gateway transaction ID or the RevCent transaction ID.</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">Well Documented</h5>
                                                    </div>
                                                    <p class="color-white mb--10">Check out our API docs for examples, schemas and more.</p>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-md-6 offset-md-1 col-sm-12">
                                    <div class="developer-example-wrap mt--20">
                                        <pre id="chargeback-management-example-1" class="highlight-code language-javascript hljs" style="font-size:14px;max-height:450px;overflow:scroll;margin-bottom:0px;">
                                        </pre>
                                    </div>
                                </div>
                            </div>
                            <div class="row mb--120">
                                <div class="col-md-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">Evidence</h4>
                                                    </div>
                                                    <p class="color-white mb--10">Documents in RevCent are the important details regarding a specific item and can be accessed via web app or API. The document feature is especially useful for fighting chargebacks.</p>
                                                    <p><a class="page-theme-link dark-link small" href="https://kb.revcent.com/en/tools/documents" target="_blank">Representment Evidence<i class="far fa-fw fa-angle-right small"></i></a></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">Doc JSON</h5>
                                                    </div>
                                                    <p class="color-white"> The raw JSON will contain all info specific to the transaction which has a chargeback, including tracking visitor information, IP details and more.</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">Doc ZIP</h5>
                                                    </div>
                                                    <p class="color-white">The document ZIP file will contain the raw JSON data as well as a friendly formatted .docx file. You can download the ZIP file in the web app or using the zip_url property in the API call response.</p>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-md-6 offset-md-1 col-sm-12">
                                    <div class="developer-example-wrap mt--20 d-none">
                                        <pre id="chargeback-management-example-2" class="highlight-code language-javascript hljs" style="font-size:14px;max-height:450px;overflow:scroll;margin-bottom:0px;">
                                        </pre>
                                    </div>
                                    <div class="developer-example-wrap mt--20">
                                        <pre id="chargeback-management-example-3" class="highlight-code language-json hljs" style="font-size:14px;max-height:450px;overflow:scroll;margin-bottom:0px;">
                                        </pre>
                                    </div>
                                </div>
                            </div>

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


        <section class="Section Sect--angleNormal Sect--paddingNormal" id="section-card-data">

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

                    </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">PCI Level 1</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">Customer<br>Card Storage</h1>
                                    </div>
                                    <p class="mb--10">RevCent is a certified PCI DSS Level 1 service provider and securely stores customer credit cards.</p>
                                    <p><a class="page-theme-link small" href="https://kb.revcent.com/en/customer/customer-card" target="_blank">Customer Card Docs<i class="far fa-fw fa-angle-right small"></i></a></p>
                                </div>
                            </div>

                            <div class="row mb--100">
                                <div class="col-sm-12">
                                    <div class="row">
                                        <div class="col-lg-4 mt--20">
                                            <div class="rbt-card bg-color-purple-3 no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">PCI Level 1</h5>
                                                    <p class="mb--5">Our PCI DSS Level 1 certification allows us to store customer card data on behalf of our users.</p>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-lg-4 mt--20">
                                            <div class="rbt-card bg-color-purple-3 no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">Encryption</h5>
                                                    <p class="mb--5">RevCent utilizes the latest encryption for all communication, access and payment data storage.</p>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-lg-4 mt--20">
                                            <div class="rbt-card bg-color-purple-3 no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">Monitoring</h5>
                                                    <p class="mb--5">RevCent runs on AWS, which provides enhanced monitoring capabilities and threat detection.</p>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>

                            <div class="row mb--120">
                                <div class="col-sm-12">
                                    <div class="row">
                                        <div class="col-lg-4">
                                            <div class="section-title text-start">
                                                <h4 class="title">How It Works</h4>
                                            </div>
                                            <p class="">When RevCent encounters a non-existing card for a customer, it will validate, enrich with BIN data and securely store it.</p>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-xxl-3 col-lg-6 mt--20">
                                    <div class="rbt-card bg-color-purple-1 no-shadow">
                                        <div class="card-body">
                                            <h5 class="mb--10"><span class="badge rounded-pill numbering-badge bg-color-body h5-badge d-none">1</span> New Card</h5>
                                            <p class="">A new card is either detected during an initial sale request, created using the API or added via web.</p>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-xxl-3 col-lg-6 mt--20">
                                    <div class="rbt-card bg-color-purple-2 no-shadow">
                                        <div class="card-body">
                                            <h5 class="mb--10"><span class="badge rounded-pill numbering-badge bg-color-body h5-badge d-none">2</span> Card Validated</h5>
                                            <p class="">The new credit card is validated, enriched with BIN data and undergoes multiple fraud checks.</p>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-xxl-3 col-lg-6 mt--20">
                                    <div class="rbt-card bg-color-purple-3 no-shadow">
                                        <div class="card-body">

                                            <h5 class="mb--10"><span class="badge rounded-pill numbering-badge bg-color-body h5-badge d-none">3</span> Card Stored</h5>
                                            <p class="">If the card is valid and does not already exist, it will be securely stored on behalf of the user.</p>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-xxl-3 col-lg-6 mt--20">
                                    <div class="rbt-card bg-color-purple-4 no-shadow">
                                        <div class="card-body">

                                            <h5 class="mb--10"><span class="badge rounded-pill numbering-badge bg-color-body h5-badge d-none">4</span> Card Processed</h5>
                                            <p class="">Any initial sale requests or future payments for the customer are processed using the stored credit card.</p>
                                        </div>
                                    </div>
                                </div>
                            </div>

                            <div class="row mb--120">
                                <div class="col-sm-12">
                                    <div class="row">
                                        <div class="col-lg-4">
                                            <div class="section-title text-start">
                                                <h4 class="title">How You Benefit</h4>
                                            </div>
                                            <p class="">Saved customer payment data can be used for additional purchases, renewals and trial expirations.</p>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-lg-4 mt--20">
                                    <div class="rbt-card bg-color-purple-1 no-shadow">
                                        <div class="card-body">
                                            <h5 class="mb--10">Additional Purchases</h5>
                                            <p class="">Use the stored card for future purchases such as upsells, new orders and more.</p>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-lg-4 mt--20">
                                    <div class="rbt-card bg-color-purple-1 no-shadow">
                                        <div class="card-body">
                                            <h5 class="mb--10">Subscription Renewals</h5>
                                            <p class="">Subscriptions are renewed using the current default customer card within RevCent.</p>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-lg-4 mt--20">
                                    <div class="rbt-card bg-color-purple-1 no-shadow">
                                        <div class="card-body">

                                            <h5 class="mb--10">Trial Expirations</h5>
                                            <p class="">Trial expirations will use the customer card from the initial sale associated with it.</p>
                                        </div>
                                    </div>
                                </div>
                            </div>

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


        <section class="Section Sect--angleTop Sect--paddingNormal d-none" id="section-bin-routing">

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

                    </div>
                </div>
                <div class="container Sect__container">
                    <div class="container-wrap Sect__layoutContainer">
                        <div class="container-inner Sect__layout">



                            <span class="rbt-badge-6 page-theme-badge">Increase Approvals</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">BIN<br>Routing</h1>
                                    </div>
                                    <p class="mb--10">Increase approvals by routing payments to specific gateways based on the first 6 or 8 digits of the credit card number.</p>
                                    <p><a class="page-theme-link small" href="https://kb.revcent.com/en/payments/credit-card/bin-profile" target="_blank">BIN Routing Docs<i class="far fa-fw fa-angle-right small"></i></a></p>
                                </div>
                            </div>

                            <div class="row mb--100">
                                <div class="col-sm-12">
                                    <div class="row">
                                        <div class="col-lg-4 mt--20">
                                            <div class="rbt-card bg-color-purple-2 no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">BIN Profiles</h5>
                                                    <p class="mb--5">Create a list of BINs using the BIN profile table in the RevCent web app.</p>
                                                    <p><a class="page-theme-link small" href="https://kb.revcent.com/en/payments/credit-card/bin-profile" target="_blank">BIN Profile Docs<i class="far fa-fw fa-angle-right small"></i></a></p>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-lg-4 mt--20">
                                            <div class="rbt-card bg-color-purple-2 no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">Gateway Settings</h5>
                                                    <p class="mb--5">Set only, prefer and deny BIN settings for each gateway using BIN profiles.</p>
                                                    <p><a class="page-theme-link small" href="https://kb.revcent.com/en/payments/credit-card/gateway#bin" target="_blank">Gateway Docs<i class="far fa-fw fa-angle-right small"></i></a></p>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-lg-4 mt--20">
                                            <div class="rbt-card bg-color-purple-2 no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">BIN Research</h5>
                                                    <p class="mb--5">Run research queries in your dashboard to see BIN performance per gateway. </p>
                                                    <p><a class="page-theme-link small" href="https://kb.revcent.com/en/payments/credit-card/bin-profile#bin-research" target="_blank">Research Docs<i class="far fa-fw fa-angle-right small"></i></a></p>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>

                            <div class="row mb--120">
                                <div class="col-sm-12">
                                    <div class="row">
                                        <div class="col-lg-4">
                                            <div class="section-title text-start">
                                                <h4 class="title">How It Works</h4>
                                            </div>
                                            <p class="">RevCent can allow, prefer or deny specific BIN's at the gateway level at time of payment.</p>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-xxl-3 col-lg-6 mt--20">
                                    <div class="rbt-card bg-color-purple-1 no-shadow">
                                        <div class="card-body">
                                            <h5 class="mb--10"><span class="badge rounded-pill numbering-badge bg-color-body h5-badge">1</span> Payment Request</h5>
                                            <p class="">When a payment request is received, RevCent will parse the credit card BIN.</p>
                                            <ul class="mb--0">
                                                <li class="list-item">
                                                    Credit card BIN information is enriched with issuer details.
                                                </li>
                                                <li class="list-item">
                                                    The BIN is searched against all BIN profiles and gateways.
                                                </li>
                                            </ul>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-xxl-3 col-lg-6 mt--20">
                                    <div class="rbt-card bg-color-purple-2 no-shadow">
                                        <div class="card-body">
                                            <h5 class="mb--10"><span class="badge rounded-pill numbering-badge bg-color-body h5-badge">2</span> BIN Match</h5>
                                            <p class="">RevCent matches for gateway BIN profile allow, prefer and deny settings.</p>
                                            <ul class="mb--0">
                                                <li class="list-item">
                                                    If a match is found for allow or prefer, the gateway is viable.
                                                </li>
                                                <li class="list-item">
                                                    If a match is found for deny, the gateway is not to be chosen.
                                                </li>
                                            </ul>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-xxl-3 col-lg-6 mt--20">
                                    <div class="rbt-card bg-color-purple-3 no-shadow">
                                        <div class="card-body">

                                            <h5 class="mb--10"><span class="badge rounded-pill numbering-badge bg-color-body h5-badge">3</span> Gateway Selected</h5>
                                            <p class="">Any gateways that match the allow or prefer settings are prioritized.</p>
                                            <ul class="mb--0">
                                                <li class="list-item">
                                                    Gateways that matched the allow BIN setting are given priority over prefer.
                                                </li>
                                                <li class="list-item">
                                                    If no gateways match, BIN is ignored and normal gateway selection occurs.
                                                </li>
                                            </ul>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-xxl-3 col-lg-6 mt--20">
                                    <div class="rbt-card bg-color-purple-4 no-shadow">
                                        <div class="card-body">

                                            <h5 class="mb--10"><span class="badge rounded-pill numbering-badge bg-color-body h5-badge">4</span> Payment Processed</h5>
                                            <p class="">The final gateway selected will receive the payment to be processed.</p>
                                            <ul class="mb--0">
                                                <li class="list-item">
                                                    Approvals should increase if BIN profiles and gateways are optimized.
                                                </li>
                                                <li class="list-item">
                                                    Conduct BIN research to find the most optimal gateway at the BIN level.
                                                </li>
                                            </ul>
                                        </div>
                                    </div>
                                </div>
                            </div>

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


        <section class="Section Sect--angleNormal Sect--paddingNormal" id="section-mid-management">

            <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">Protect Your MID's</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">MID<br>Management</h1>
                                    </div>
                                    <p class="">Stop losing merchant accounts, and increase approvals, by properly managing them using RevCent's suite of payment, anti-fraud and reporting tools.</p>
                                </div>
                            </div>


                            <div class="row mb--80" id="mid-management-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="mid-management-1-tab" data-bs-toggle="tab" data-bs-target="#mid-management-1" type="button" role="tab" aria-controls="mid-management-1" aria-selected="true">No Cross Corp.</button>
                                            </li>
                                            <li class="nav-item tabs__tab " role="presentation">
                                                <button class="nav-link" id="mid-management-2-tab" data-bs-toggle="tab" data-bs-target="#mid-management-2" type="button" role="tab" aria-controls="mid-management-2" aria-selected="false">Set Limits</button>
                                            </li>
                                            <li class="nav-item tabs__tab " role="presentation">
                                                <button class="nav-link" id="mid-management-3-tab" data-bs-toggle="tab" data-bs-target="#mid-management-3" type="button" role="tab" aria-controls="mid-management-3" aria-selected="false">Smart Retries</button>
                                            </li>
                                            <li class="nav-item tabs__tab " role="presentation">
                                                <button class="nav-link" id="mid-management-4-tab" data-bs-toggle="tab" data-bs-target="#mid-management-4" type="button" role="tab" aria-controls="mid-management-4" aria-selected="false">Prevent Fraud</button>
                                            </li>
                                            <li class="nav-item tabs__tab " role="presentation">
                                                <button class="nav-link" id="mid-management-5-tab" data-bs-toggle="tab" data-bs-target="#mid-management-5" type="button" role="tab" aria-controls="mid-management-5" aria-selected="false">Monitor</button>
                                            </li>
                                        </ul>
                                        <div class="tab-content">
                                            <div class="tab-pane fade show active" id="mid-management-1" role="tabpanel" aria-labelledby="mid-management-1">
                                                <div class="row">
                                                    <div class="col-lg-4 mt--20">
                                                        <h4 class="mb--10 mt--10">Gateway Groups</h4>
                                                        <p class="mb--10">Properly organize your merchant accounts and prevent cross corp transactions using gateway groups.</p>
                                                        <p class=""><a class="page-theme-link small" href="https://kb.revcent.com/en/payments/credit-card/gateway-group" target="_blank">Gateway Group Docs<i class="far fa-fw fa-angle-right small"></i></a></p>
                                                    </div>
                                                    <div class="col-lg-7 offset-lg-1 col-sm-12 mt--10">
                                                        <ul class="mt--20">
                                                            <li class="list-item">
                                                                Create a gateway group for each merchant account corporation you plan to add to RevCent. You will use the gateway group feature as a MID corp. organizer.
                                                            </li>
                                                            <li class="list-item">
                                                                When adding a merchant account, set the corresponding gateway group according to the corporation the MID is associated with.
                                                            </li>
                                                            <li class="list-item">
                                                                Utilize gateway group restrictions within payment profiles to prevent individual customers from transacting across corporations.
                                                            </li>
                                                            <li class="list-item">
                                                                When a customer transacts with a specific gateway group, they will only be allowed to transact with MID's in the same group.
                                                            </li>
                                                            <!-- <li class="list-item">
                                                                As an added benefit, increase approvals by enabling preferred gateway settings for subscription renewal and trial expiration payments.
                                                            </li> -->
                                                        </ul>
                                                    </div>
                                                </div>

                                            </div>

                                            <div class="tab-pane fade" id="mid-management-2" role="tabpanel" aria-labelledby="mid-management-2">
                                                <div class="row">
                                                    <div class="col-lg-4 mt--20">
                                                        <h4 class="mb--10 mt--10">Revenue Rules</h4>
                                                        <p class="mb--10">Utilize revenue rules for individual MID's, including volume, chargebacks, declines and more.</p>
                                                        <p class=""><a class="page-theme-link small" href="https://kb.revcent.com/en/payments/credit-card/gateway#revenue-rules" target="_blank">Revenue Rule Docs<i class="far fa-fw fa-angle-right small"></i></a></p>
                                                    </div>
                                                    <div class="col-lg-7 offset-lg-1 col-sm-12 mt--10">
                                                        <ul class="mt--20">
                                                            <li class="list-item">
                                                                Prevent RevCent from using a MID if one or more revenue rules do not pass. Revenue rules can be based on volume, chargebacks, and time.
                                                            </li>
                                                            <li class="list-item">
                                                                Depending on your monthly cap for a MID, set a daily limit on the amount captured, preventing the MID from processing once the limit has been reached.
                                                            </li>
                                                            <li class="list-item">
                                                                You have the ability to prevent processing on a specific MID if the number, or volume, of decline transactions has reached a specific treshold you specify.
                                                            </li>
                                                            <li class="list-item">
                                                                If chargeback management is properly integrated, you can prevent processing on a MID that has surpassed a specific number of chargebacks.
                                                            </li>
                                                        </ul>
                                                    </div>
                                                </div>

                                            </div>

                                            <div class="tab-pane fade" id="mid-management-3" role="tabpanel" aria-labelledby="mid-management-3">
                                                <div class="row">
                                                    <div class="col-lg-4 mt--20">
                                                        <h4 class="mb--10 mt--10">Next-Gen Profiles</h4>
                                                        <p class="mb--10">Use the Next-Gen Payment Profile to retry transactions on the same gateway if specific gateway error messages are returned.</p>
                                                        <p class=""><a class="page-theme-link small" href="https://kb.revcent.com/payments/credit-card/next-gen-payment-profile" target="_blank">Next-Gen Profile Docs<i class="far fa-fw fa-angle-right small"></i></a></p>
                                                    </div>
                                                    <div class="col-lg-7 offset-lg-1 col-sm-12 mt--10">
                                                        <ul class="mt--20">
                                                            <li class="list-item">
                                                                If a MID returns a CVV error response or code, a Next-Gen profile allows you to return a custom error message to the customer.
                                                            </li>
                                                            <li class="list-item">
                                                                If a MID returns a Contact Bank or Pick Up Card error, ask the customer to contact their bank, then retry on the same MID.
                                                            </li>
                                                            <li class="list-item">
                                                                If offering upsells, retry on the same MID that the customer was approved on for the initial sale, ensuring processing success.
                                                            </li>
                                                            <li class="list-item">
                                                                If a customers' payment is declined, prevent the same MID from processing the transaction on any additional payments for the customer.
                                                            </li>
                                                        </ul>
                                                    </div>
                                                </div>

                                            </div>


                                            <div class="tab-pane fade" id="mid-management-4" role="tabpanel" aria-labelledby="mid-management-4">
                                                <div class="row">
                                                    <div class="col-lg-4 mt--20">
                                                        <h4 class="mb--10 mt--10">Sentinel Anti-Fraud</h4>
                                                        <p class="mb--10">RevCent offers Sentinel, an in-house multi layered anti-fraud system which protects your account from processing fraudulent charges.</p>
                                                        <p class=""><a class="page-theme-link small" href="/products/payments/anti-fraud">Anti-Fraud<i class="far fa-fw fa-angle-right small"></i></a></p>
                                                    </div>
                                                    <div class="col-lg-7 offset-lg-1 col-sm-12 mt--10">
                                                        <ul class="mt--20">
                                                            <li class="list-item">
                                                                Utilize Sentinel, an anti-fraud tool built by RevCent, designed after years of experience with ecommerce payments.
                                                            </li>
                                                            <li class="list-item">
                                                                Sentinel prevents fraudulent payments from ever processing on a MID, and saves fraud data to prevent future attempts.
                                                            </li>
                                                            <li class="list-item">
                                                                Every payment attempt undergoes three separate anti-fraud mechanisms: Fraud Firewall, Visitor Validator and a third party check.
                                                            </li>
                                                            <li class="list-item">
                                                                You have the ability to customize the behavior and strictness of Sentinel, allowing certain payment attempts to be processed.
                                                            </li>
                                                        </ul>
                                                    </div>
                                                </div>

                                            </div>


                                            <div class="tab-pane fade" id="mid-management-5" role="tabpanel" aria-labelledby="mid-management-5">
                                                <div class="row">
                                                    <div class="col-lg-4 mt--20">
                                                        <h4 class="mb--10 mt--10">Reporting</h4>
                                                        <p class="mb--10">Keep track of your MID's approval rates and overall performance using the reporting tools that RevCent offers.</p>
                                                        <p class=""><a class="page-theme-link small" href="/products/reporting/suite">Reporting<i class="far fa-fw fa-angle-right small"></i></a></p>
                                                    </div>
                                                    <div class="col-lg-7 offset-lg-1 col-sm-12 mt--10">
                                                        <ul class="mt--20">
                                                            <li class="list-item">
                                                                Check to see if MID's are underperforming, or have exceeded their cap, using the pre-built report pages or the custom dashboard.
                                                            </li>
                                                            <li class="list-item">
                                                                View individual MID chargeback rates, including by request type and method, to identify any problematic payments you may need to address.
                                                            </li>
                                                            <li class="list-item">
                                                                Decline rates and overall decline volume can be viewed on the Payments Report page, with the ability to group by metadata or other variables.
                                                            </li>
                                                            <li class="list-item">
                                                                Set up automatic notifications based on a specific metric related to one or more MID's using the Auto Query feature built into the custom dashboard.
                                                            </li>
                                                        </ul>
                                                    </div>
                                                </div>

                                            </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/uuid/uuid.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>
        let connect_nodes=[
            {
                start: '.start-payment-output',
                end: '.choose-gateway-input',
                path_class: 'faded-path'
            },{
                start: '.choose-gateway-output',
                end: '.process-payment-input',
                path_class: 'green-path'
            },{
                start: '.choose-gateway-output',
                end: '.insert-metadata-input',
                path_class: 'grey-path'
            }];
        let paths=document.getElementById('flow-paths');


        function connectFlowNodes(flow_connections) {
            let padding_l=-6;
            let padding_t=-10;
            let bezierWeight=0.5;
            let oldPaths=paths.children;
            for(let a=oldPaths.length-1;a>=0;a--) {
                if(oldPaths[a].tagName!=='defs') {
                    paths.removeChild(oldPaths[a]);
                }
            }

            let x1,y1,x4,y4,dx,x2,x3,path,start,end;

            for(let a=0;a<flow_connections.length;a++) {
                start=$(flow_connections[a].start);
                end=$(flow_connections[a].end);

                x1=start.offset().left+start.width()/2-padding_l;
                y1=start.offset().top+start.height()/2-padding_t;
                x4=end.offset().left+start.width()/2-padding_l;
                y4=end.offset().top+start.height()/2-padding_t;
                dx=Math.abs(x4-x1)*bezierWeight;

                if(x4<x1) {
                    x2=x1-dx;
                    x3=x4+dx;
                } else {
                    x2=x1+dx;
                    x3=x4-dx;
                }

                data=`M${x1} ${y1} C ${x2} ${y1} ${x3} ${y4} ${x4} ${y4}`;

                path=document.createElementNS('http://www.w3.org/2000/svg','path');
                path.setAttribute('d',data);
                path.setAttribute('class',flow_connections[a].path_class);
                paths.appendChild(path);
            }
        }

        connectFlowNodes(connect_nodes);

        $(window).on("resize",function() {
            connectFlowNodes(connect_nodes);
        });
    </script>

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

        var typewriter=new Typewriter(app,{
            //strings: ['<li class="list-item"><i class="fad fa-fw fa-sm fa-terminal small"></i> Payment request received</li>', '<li class="list-item"><i class="fad fa-fw fa-sm fa-terminal small"></i> Sentinel ENABLED</li>', '<li class="list-item"><i class="fad fa-fw fa-sm fa-terminal small"></i> Fraud Firewall OK</li>', '<li class="list-item"><i class="fad fa-fw fa-sm fa-terminal small"></i> Visitor Validator OK</li>', '<li class="list-item"><i class="fad fa-fw fa-sm fa-terminal small"></i> Third party check OK</li>', '<li class="list-item"><i class="fad fa-fw fa-sm fa-terminal small"></i> Sentinel PASSED</li>', '<li class="list-item"><i class="fad fa-fw fa-sm fa-terminal small"></i> <span class="terminal-console-green">OK to Process Payment...</span></li>'],
            loop: false,
            cursor: '',
            delay: 20
        });

        typewriter
            .typeString('<li class="list-item"><i class="fad fa-fw fa-sm fa-terminal small"></i> Payment Request Received</li>')
            .pauseFor(20)
            .typeString('<li class="list-item"><i class="fad fa-fw fa-sm fa-terminal small"></i> Anti Fraud: <span class="terminal-console-green">PASSED</span></li>')
            .pauseFor(50)
            .typeString('<li class="list-item"><i class="fad fa-fw fa-sm fa-terminal small"></i> Payment Profile: <span class="terminal-console-green">ENABLED</span></li>')
            .pauseFor(20)
            .typeString('<li class="list-item"><i class="fad fa-fw fa-sm fa-terminal small"></i> Filters: <span class="terminal-console-green">PASSED</span></li>')
            .pauseFor(20)
            .typeString('<li class="list-item"><i class="fad fa-fw fa-sm fa-terminal small"></i> Rules: <span class="terminal-console-green">PASSED</span></li>')
            .pauseFor(20)
            .typeString('<li class="list-item"><i class="fad fa-fw fa-sm fa-terminal small"></i> Gateway Selected: <span class="color-secondary">NMI</span></li>')
            .pauseFor(20)
            .typeString('<li class="list-item"><i class="fad fa-fw fa-sm fa-terminal small"></i> Gateway request sent...</li>')
            .pauseFor(100)
            .typeString('<li class="list-item"><i class="fad fa-fw fa-sm fa-terminal small"></i> Gateway response: <span class="terminal-console-green">Approved</span></li>')
            .start();
    </script>

    <script>
        let gateways=['adyen','authorizenet','braintree','cardpointe','checkoutcom','cybersource','elavon','fluidpay','maverick','nab','nmi','pathly','payjunction','paysafe','psigate','stripe','worldpay'];

        $.each(gateways,function(c,d) {
            $('#gateways-row').append(`
            <div class="col-sm-2">
                <div class="thumbnail-wrapper">
                    <div class="thumbnail image-1 d-block text-center">
                        <img class="gateway-logo" src="https://cdn.revcent.com/img/product-img/all-img/third-party-integrations/${d}.png">
                    </div>
                </div>
            </div>
            `);
        });


    </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 api_examples={
            'chargeback-management-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": "chargeback",
            "method": "create",
            "gateway_transaction_id": "60157523306",
            "chargeback_date": "12/01/2020",
            "received_date": "12/04/2020",
            "representment": {
                "initiated": true,
                "initiated_date": "12/04/2020"
            }
        }
    }'`
            },

            'chargeback-management-example-2': {
                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": "document",
                "method": "retrieve",
                "item_type": "transaction",
                "id": "1234567"
            }
        }
    }'`
            },

            'chargeback-management-example-3': {
                code: `
{
    "document_json": {
        "api_call": {
            "api_account": "4aG0HMJ1ZnMpy2r4MW5A",
            "code": 1,
            "id": "k6UGlB1mNLWEr9orPvR4",
            "method": "create",
            "request": {
                "bill_to": {
                    "first_name": "George",
                    "last_name": "Washington",
                    "address_line_1": "1600 Pennsylvania Avenue",
                    "address_line_2": "",
                    "city": "Washington",
                    "state": "DC",
                    "zip": "20500",
                    "country": "US",
                    "email": "georgew@whitehouse.com",
                    "phone": "2024561414"
                },
                "campaign": "B2Rd8raX8XEQk6S1z1P9",
                "customer_id": "n8LOEjvgilkPd6bWVPXj",
                "ip_address": "123.456.789.0",
                "metadata": [],
                "method": "create",
                "payment_profile": "pY24LzukqKoJgVE6bM2J",
                "product": [
                    {
                        "id": "P8y4YTnXAnLk1bJ6OgWw",
                        "quantity": 1
                    }
                ],
                "ship_to": {
                    "first_name": "George",
                    "last_name": "Washington",
                    "address_line_1": "1600 Pennsylvania Avenue",
                    "address_line_2": "",
                    "city": "Washington",
                    "state": "DC",
                    "zip": "20500",
                    "country": "US",
                    "email": "georgew@whitehouse.com",
                    "phone": "2024561414"
                },
                "shipping": [
                    {
                        "amount": 0,
                        "cost": 0,
                        "provider": "USPS",
                        "provider_method": "Ground",
                        "free_shipping": true
                    }
                ],
                "type": "sale",
                "unique_request_id": "777777"
            },
            "type": "sale"
        },
        "campaign": {
            "id": "B2Rd8raX8XEQk6S1z1P9",
            "name": "My Campaign"
        },
        "chargebacks": [],
        "customer": {
            "address_line_1": "1600 Pennsylvania Avenue",
            "address_line_2": "",
            "blocked": false,
            "city": "Washington",
            "company": "",
            "country": "US",
            "device_details": {
                "region_timezone": "-04:00",
                "os": "iOS",
                "device_type": "phone",
                "window_size": "0x0",
                "screen_resolution": "414x896",
                "browser": "APPLE_WEB_KIT",
                "region_language": "en-US"
            },
            "email": "georgew@whitehouse.com",
            "email_details": {
                "email": "georgew@whitehouse.com",
                "score": 1,
                "deliverable": true,
                "domain_details": {
                    "domain": "whitehouse.com",
                    "tld": ".com",
                    "registered": true,
                    "registrar_name": "US Gov.",
                    "registered_to": "Whitehouse",
                    "disposable": false,
                    "free": true,
                    "custom": false,
                    "dmarc_enforced": true,
                    "spf_strict": true,
                    "valid_mx": true,
                    "accept_all": true,
                    "suspicious_tld": false,
                    "website_exists": true
                },
                "account_details": {
                    "apple": {
                        "registered": true
                    },
                    "facebook": {
                        "registered": true,
                        "url": null,
                        "name": null,
                        "photo": null
                    },
                    "google": {
                        "registered": true,
                        "photo": null
                    },
                    "instagram": {
                        "registered": true
                    },
                    "linkedin": {
                        "registered": null,
                        "photo": null
                    },
                    "microsoft": {
                        "registered": true
                    },
                    "myspace": {
                        "registered": false
                    },
                    "pinterest": {
                        "registered": false
                    },
                    "skype": {
                        "registered": false
                    },
                    "spotify": {
                        "registered": false
                    },
                    "tumblr": {
                        "registered": false
                    },
                    "twitter": {
                        "registered": true
                    },
                    "yahoo": {
                        "registered": true
                    }
                }
            },
            "enabled": false,
            "first_name": "George",
            "full_address": "1600 Pennsylvania Ave, Washington, DC 20500, USA",
            "geocode_success": true,
            "google_place_id": "ChIJGVtI4by3t4kRr51d_Qm_x58",
            "id": "n8LOEjvgilkPd6bWVPXj",
            "internal_id": "",
            "ip_details": {
                "ip": "123.456.789.0",
                "score": 3,
                "country": "US",
                "state_prov": "",
                "city": "",
                "timezone_offset": "-04:00",
                "isp_name": "Acme ISP",
                "latitude": 42.86563,
                "longitude": -73.77095,
                "type": "ISP",
                "tor": false,
                "vpn": false,
                "web_proxy": false,
                "public_proxy": false,
                "spam_number": 3
            },
            "last_name": "Washington",
            "lat": "42.123456",
            "lon": "-73.123456",
            "phone": "+12024561414",
            "phone_details": {
                "number": 12024561414,
                "valid": true,
                "type": "MOBILE",
                "country": "US",
                "carrier": "VERIZON WIRELESS - DC",
                "score": 0,
                "account_details": {
                    "facebook": {
                        "registered": true
                    },
                    "google": {
                        "registered": false
                    },
                    "twitter": {
                        "registered": false
                    },
                    "instagram": {
                        "registered": true
                    },
                    "yahoo": {
                        "registered": null
                    },
                    "whatsapp": {
                        "registered": false,
                        "photo": null,
                        "last_seen": null
                    },
                    "telegram": {
                        "registered": false,
                        "photo": null,
                        "last_seen": null
                    },
                    "viber": {
                        "registered": null,
                        "photo": null,
                        "last_seen": null
                    }
                }
            },
            "state": "DC",
            "state_long": "DC",
            "zip": "20500"
        },
        "fraud_detection_requests": [
            {
                "created_date": "2023-07-13T00:13:33+00:00",
                "fraud_score": 4,
                "id": "L1mrPvBnBo0hGlBNLWEn",
                "is_error": false,
                "is_fraud_detected": false,
                "is_sentinel": false,
                "is_third_party_integration": true,
                "raw_response": "{}",
                "score_threshold": 25,
                "score_threshold_bound": "upper",
                "third_party_fraud_detection_id": "123456",
                "third_party_integration": {
                    "id": "b0aO8VWoAlvMQp9r6kdt",
                    "name": "SEON",
                    "third_party": {
                        "id": "0pJngyjNlyimGmYnM8Eb",
                        "name": "SEON"
                    }
                }
            },
            {
                "created_date": "2023-07-13T00:13:33+00:00",
                "fraud_score": 0,
                "id": "m7LJ7266pg8G9lfly8Y9",
                "is_error": false,
                "is_fraud_detected": false,
                "is_sentinel": true,
                "is_third_party_integration": false,
                "raw_response": "",
                "score_threshold": 0,
                "score_threshold_bound": "upper",
                "third_party_fraud_detection_id": "",
                "third_party_integration": null
            }
        ],
        "iso_currency": "USD",
        "metadata": [],
        "payment_type": {
            "id": "KnQ0KlNE6kf5mobyV0pN",
            "name": "Credit Card"
        },
        "products": [
            {
                "id": "P8y4YTnXAnLk1bJ6OgWw",
                "internal_id": "my_product_id",
                "name": "My Product",
                "price": 49.99,
                "quantity": 1,
                "sku": "my_product_sku",
                "total_amount": 49.99
            }
        ],
        "sale": {
            "amount": 49.99,
            "created_date": "2023-07-13T00:13:32+00:00",
            "id": "ypgXrBmYav8ULMAnaRWW",
            "unique_request_id": "123456"
        },
        "shipping": [
            {
                "amount": 0,
                "created_date": "2023-07-13T00:13:39+00:00",
                "fulfillment_account": {
                    "id": "adJZ2629LbOEFpM27WdQ",
                    "name": "My Fulfillment",
                    "fulfillment_center": {
                        "id": "wLN45BQGRmh78OnKbVk0",
                        "name": "ShipStation"
                    }
                },
                "fulfillment_account_notified": true,
                "fulfillment_account_notified_date": "2023-07-13T00:15:40+00:00",
                "id": "hdr8525wljv8GALg9E0p",
                "is_delivered": true,
                "is_free": true,
                "is_shipped": true,
                "provider": "USPS",
                "provider_delivered_date_unix": 1689596220,
                "provider_method": "usps_other",
                "provider_tracking": "9400100000000000000000",
                "provider_tracking_url": "https://tools.usps.com/go/TrackConfirmAction?tLabels=9400100000000000000000",
                "ship_date_unix": 1689206400,
                "ship_to": {
                    "first_name": "George",
                    "last_name": "Washington",
                    "address_line_1": "1600 Pennsylvania Avenue",
                    "address_line_2": "",
                    "city": "Washington",
                    "state": "DC",
                    "zip": "20500",
                    "country": "US",
                    "company": "",
                    "email": "georgew@whitehouse.com",
                    "phone": "2024561414"
                },
                "shipping_status": "Delivered"
            }
        ],
        "tracking_entries": [
            {
                "created_date": "2023-07-13T00:04:02+00:00",
                "host": "www.mywebsite.com",
                "hosted_page": null,
                "id": "GaK0GZEAyJQ2mo9LzAsn",
                "pathname": "/",
                "tracking_domain": {
                    "name": "mywebsite.com",
                    "id": "rJZs4YbXMrvjKP6K0LJk",
                    "domain": "mywebsite.com"
                }
            }
        ],
        "tracking_visitor": {
            "created_date": "2023-07-13T00:04:02+00:00",
            "fingerprint": "f0744494dbb96cca22baeee0262bed79",
            "id": "m62V4R1rkw8KYJ5vPcKw",
            "ip_address": "123.456.789.0",
            "ip_details": {
                "ip": "123.456.789.0",
                "is_eu": false,
                "city": "Washington",
                "region": "DC",
                "region_code": "DC",
                "region_type": "state",
                "country_name": "United States",
                "country_code": "US",
                "continent_name": "North America",
                "continent_code": "NA",
                "latitude": 12.0124124124124,
                "longitude": -72.0124124124124,
                "postal": null,
                "calling_code": "1",
                "asn": {
                    "asn": "AS123456",
                    "name": "Acme ISP",
                    "domain": "acme.com",
                    "route": "12.34.5.6/16",
                    "type": "business"
                },
                "company": {
                    "name": "Acme ISP",
                    "domain": "acme.com",
                    "network": "12.34.5.6/16",
                    "type": "business"
                },
                "languages": [
                    {
                        "name": "English",
                        "native": "English",
                        "code": "en"
                    }
                ],
                "currency": {
                    "name": "US Dollar",
                    "code": "USD",
                    "symbol": "$",
                    "native": "$",
                    "plural": "US dollars"
                },
                "time_zone": {
                    "name": "America/New_York",
                    "abbr": "EDT",
                    "offset": "-0400",
                    "is_dst": true,
                    "current_time": "2023-07-13T00:04:02-04:00"
                },
                "threat": {
                    "is_tor": false,
                    "is_icloud_relay": false,
                    "is_proxy": false,
                    "is_datacenter": false,
                    "is_anonymous": false,
                    "is_known_attacker": false,
                    "is_known_abuser": false,
                    "is_threat": false,
                    "is_bogon": false,
                    "blocklists": []
                }
            },
            "user_agent": "Mozilla/5.0"
        },
        "transactions": [
            {
                "amount": 49.99,
                "approved": true,
                "created_date": "2023-07-13T00:13:38+00:00",
                "customer_card": {
                    "type": "Visa",
                    "id": "bOArW0JnjLkhY2z69K4A",
                    "first_6": "424242",
                    "last_4": "4242",
                    "expiry_date": "12/44",
                    "expiry_month": "12",
                    "expiry_year": "2044",
                    "bin_details": {
                        "card_bin": "424242",
                        "bin_bank": "BANK N.A.",
                        "bin_card": "VISA",
                        "bin_type": "DEBIT",
                        "bin_level": "STANDARD",
                        "bin_country": "UNITED STATES",
                        "bin_country_code": "US",
                        "bin_website": "www.bank.com",
                        "bin_phone": "1-800-123-4567",
                        "bin_valid": true,
                        "card_issuer": "VISA"
                    }
                },
                "declined": false,
                "error": false,
                "gateway_auth_code": "",
                "gateway_avs_result_code": "M",
                "gateway_cavv_result_code": "",
                "gateway_cvv_result_code": "M",
                "gateway_id": "L0bZVn7Z8GPbHm068OzM",
                "gateway_name": "My Gateway",
                "gateway_result_phrase": "approved",
                "gateway_transaction_id": "60158956353",
                "held": false,
                "id": "7NJrwLG0Q5mSb42vWPK5",
                "merchant_account_id": "1234567",
                "result": "Approved",
                "result_code": 1
            }
        ]
    },
    "expires_on": "2023-09-16T15:35:04+00:00",
    "id": "mwPLLyf1rWW4a9Jn6Plo",
    "zip_url": "https://userdocument.revcent.com/RANDOM_STRING.zip"
}`
            }
        }
        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>
</body>


</html>