<!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</a></li>
                                                        </ul>
                                                    </div>
                                                    <div class="col-lg-12 col-xl-6 col-xxl-6 single-mega-item">
                                                        <h3 class="rbt-short-title">Popular Guides</h3>
                                                        <ul class="mega-menu-item">
                                                            <li><a href="https://kb.revcent.com/en/tracking/conversion-tracking" target="_blank">Conversion Tracking</a></li>
                                                            <li><a href="https://kb.revcent.com/integrations/third-party-shop/woocommerce-installation" target="_blank">WooCommerce Integration</a></li>
                                                            <li><a href="https://kb.revcent.com/en/payments/credit-card/payment-profile" target="_blank">Payment Profiles</a></li>
                                                        </ul>
                                                    </div>
                                                </div>
                                                <div class="row">
                                                    <div class="col-lg-12">
                                                        <ul class="nav-quick-access">
                                                            <li><a href="https://revcent.statuspage.io/" target="_blank"><i class="feather-folder-minus"></i> System Status</a></li>
                                                            <li><a href="https://kb.revcent.com/en/guides/initial-setup" target="_blank"><i class="feather-folder-minus"></i> Quick Start Guide</a></li>
                                                        </ul>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                        <!-- End Mega Menu  -->
                                    </li>

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

                        <div class="header-right">

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


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

                            </ul>

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

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

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

            </div>

        </header>


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

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

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


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




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

            <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/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>