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

<head>
  <meta charset="utf-8">
  <meta http-equiv="x-ua-compatible" content="ie=edge">
  <title>Infinite Reporting Potential</title>
  <meta name="description" content="RevCent offers the ultimate array of reporting tools with pre-built reports, custom dashboard, BigQuery SQL 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: 150px;
    }

    #report-pages-tabs.rbt-default-tab .tab-button .tabs__tab .nav-link {
        font-size: 13px;
    }

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




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

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

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

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

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

    .hero-ui-cards {
        --heroCardLeftSql: 65%;
        --heroCardTopSql: 90px;
        --heroCardLeftDashboard: 5%;
        --heroCardTopDashboard: 25px;
        --heroCardLeftReport: 30%;
        --heroCardTopReport: -40px;
        position: relative;
    }



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

    .hero-ui-cards {}


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

    @media only screen and (min-width: 992px) and (max-width: 1399px) {
        .hero-ui-cards {
            --heroCardTopDashboard: 105px;
            --heroCardTopReport: 40px;
            --heroCardTopSql: 125px;
        }
    }

    @media only screen and (max-width: 991px) {
        .hero-ui-cards {
            transform: scale(1);
            --heroCardLeftSql: 0%;
            --heroCardLeftDashboard: 0%;
            --heroCardLeftReport: 15%;
        }

        .hero-ui-cards .sql-card {
            transform: scale(.5);
        }

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

    @media only screen and (max-width: 787px) {
        .hero-ui-cards {
            --heroCardLeftSql: 20%;
            --heroCardLeftDashboard: 0%;
            --heroCardLeftReport: 10%;
        }

        .hero-ui-cards .sql-card {
            transform: scale(.5);
        }

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


    .hero-ui-cards .sql-card {
        left: var(--heroCardLeftSql);
        top: var(--heroCardTopSql);
        width: max-content;
        background-color: #0b337ad1 !important;
        position: absolute;
        transform: scale(.85);
    }

    .hero-ui-cards .dashboard-card {
        left: var(--heroCardLeftDashboard);
        top: var(--heroCardTopDashboard);
    }

    .hero-ui-cards .report-card {
        left: var(--heroCardLeftReport);
        top: var(--heroCardTopReport);
        max-width: 80%;
        background-color: #fffffff5 !important;
        transform: scale(.95);
    }

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

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

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

    .hero-ui-cards .report-card td {
        border: 0;
    }
</style>
</head>

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

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

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

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


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

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

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

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

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

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

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

                        <div class="header-right">

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


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

                            </ul>

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

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

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

            </div>

        </header>


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

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

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


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





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

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

                    </div>
                </div>
                <div class="gradient-canvas-wrapper section-separator-wrapper section-separator-250">
                    <canvas class="section-separator-canvas gradient-canvas" data-palettenum="1" data-gradampx="800"></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">Infinite</span><br>
                                                <span class="hero-title">Reporting</span><br>
                                                <span class="hero-title">Potential</span>
                                            </h1>
                                            <p class="sub-description">RevCent offers the ultimate array of reporting tools with pre-built reports, custom dashboard, BigQuery SQL and more.</p>

                                            <div class="row hero-small-mbx">
                                                <div class="col-lg-4 mb--10">
                                                    <a class="rbt-btn btn-xs page-theme-section-link d-block text-center" href="#section-reports">Reports</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-dashboard">Dashboard</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-bigquery">BigQuery</a>
                                                </div>
                                                <div class="col-lg-4 mb--10 d-none d-lg-block">
                                                    <a class="rbt-btn btn-xs page-theme-section-link d-block text-center" href="#section-auto-queries">Auto Query</a>
                                                </div>
                                                <div class="col-lg-4 mb--10 d-none d-lg-block">
                                                    <a class="rbt-btn btn-xs page-theme-section-link d-block text-center" href="#section-sql">SQL</a>
                                                </div>
                                                <div class="col-lg-4 mb--10 d-none d-lg-block">
                                                    <a class="rbt-btn btn-xs page-theme-section-link d-block text-center" href="#section-adwords-reporting">AdWords</a>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>

                                <div class="col-lg-6 offset-lg-1" id="hero-ui-display">
                                    <div class="hero-ui-cards">
                                        <div class="rbt-card bg-color-transparent no-shadow no-border hero-ui-card dashboard-card">
                                            <div class="card-body bg-color-transparent">
                                                <div class="row">
                                                    <div class="col-12">
                                                        <div class="thumbnail image-1" style="">
                                                            <img class="sect-img no-shadow" src="https://cdn.revcent.com/public-new/img/heros/dashboard-column-chart-2.png" style="transform: none;">
                                                        </div>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>

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



                                        <div class="rbt-card bg-color-white-opacity-more shadow-13 no-border hero-ui-card report-card">
                                            <div class="card-header bg-color-white-opacity d-none">
                                                <span class="color-body" style="font-size: 13px;"> Payments Report</span>
                                            </div>
                                            <div class="card-body">
                                                <div class="row">
                                                    <div class="col-12">
                                                        <table class="table metric-example-table table-borderless overflow-hidden mb--0" style="font-size: .75em;">
                                                            <thead>
                                                                <tr>
                                                                    <th class="text-muted">Campaign</th>
                                                                    <th class="text-muted">Sales</th>
                                                                    <th class="text-muted">Gross</th>
                                                                    <th class="text-muted">Average</th>
                                                                </tr>
                                                            </thead>
                                                            <tbody>
                                                                <tr>
                                                                    <td class="text-strong">AdWords</td>
                                                                    <td class="">382</td>
                                                                    <td class="color-green">82,672.44</td>
                                                                    <td class="color-green">216.42</td>
                                                                </tr>
                                                                <tr>
                                                                    <td class="text-strong">Facebook</td>
                                                                    <td class="">360</td>
                                                                    <td class="color-green">77,061.60</td>
                                                                    <td class="color-green">214.06</td>
                                                                </tr>
                                                                <tr>
                                                                    <td class="text-strong">TikTok</td>
                                                                    <td class="">315</td>
                                                                    <td class="color-green">66,005.10</td>
                                                                    <td class="color-green">209.54</td>
                                                                </tr>
                                                            </tbody>
                                                        </table>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                                




                            </div>

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




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

            <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">Pre-Built</span>
                            <div class="row mb--60">
                                <div class="col-xl-4">
                                    <div class="section-title text-start mb--20">
                                        <h1 class="title">Pre-Built<br>Reports</h1>
                                    </div>
                                    <p class=" mb--10">RevCent continuously generates pre-built reports each time changes occur in your account, including new sales, renewals and more.</p>
                                    <p class="d-none"><a class="page-theme-link small" href="https://kb.revcent.com/en/reporting/reports" target="_blank">Reports Docs<i class="far fa-fw fa-angle-right small"></i></a></p>
                                </div>
                                <div class="col-xl-7 offset-xl-1 d-none d-xl-block">
                                    <div class="sect-thumbnail-main fade-white">
                                        <div class="sect-thumbnail-wrapper" style="height:330px;margin-top: -80px;">
                                            <div class="sect-thumbnail no-borderx">
                                                <img class="sect-img" src="https://cdn.revcent.com/public-new/img/mgmt-page/payments-report-lg.png" style="-moz-transform:scale(1.502);-webkit-transform: scale(1.502);transform: scale(1.502);">
                                            </div>
                                        </div>
                                        <div class="sect-thumbnail-fade">
                                        </div>
                                    </div>
                                </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">Pre-Built</h5>
                                                    <p class="mb--0">All reports are generated by RevCent, allowing instant loading and quick multi metric analysis.</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">Popular Metrics</h5>
                                                    <p class="mb--0">The most popular metrics suggested by users are calculated, compiled, saved and rendered in the UI.</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">Auto Updates</h5>
                                                    <p class="mb--0">Each time a change occurs in your account, RevCent runs a new report, providing the most recent metrics.</p>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>


                            <div class="row mb--30">
                                <div class="col-lg-4">
                                    <div class="section-title text-start">
                                        <h4 class="title">Report Types</h4>
                                    </div>
                                    <p class="">Multiple report types are available, with relevant metrics specific to each.</p>
                                </div>
                            </div>
                            <div class="row mb--80">
                                <div class="col-sm-12">
                                    <div class="rbt-default-tab" id="report-pages-tabs">
                                        <ul class="nav nav-tabs nav-justified tab-button" role="tablist">
                                            <li class="nav-item tabs__tab " role="presentation">
                                                <button class="nav-link active" id="report-pages-5-tab" data-bs-toggle="tab" data-bs-target="#report-pages-5" type="button" role="tab" aria-controls="report-pages-5" aria-selected="false">Payments</button>
                                            </li>
                                            <li class="nav-item tabs__tab " role="presentation">
                                                <button class="nav-link" id="report-pages-4-tab" data-bs-toggle="tab" data-bs-target="#report-pages-4" type="button" role="tab" aria-controls="report-pages-4" aria-selected="false">Sales</button>
                                            </li>
                                            <li class="nav-item tabs__tab " role="presentation">
                                                <button class="nav-link" id="report-pages-2-tab" data-bs-toggle="tab" data-bs-target="#report-pages-2" type="button" role="tab" aria-controls="report-pages-2" aria-selected="false">Customers</button>
                                            </li>
                                            <li class="nav-item tabs__tab " role="presentation">
                                                <button class="nav-link" id="report-pages-7-tab" data-bs-toggle="tab" data-bs-target="#report-pages-7" type="button" role="tab" aria-controls="report-pages-7" aria-selected="false">Subs.</button>
                                            </li>
                                            <li class="nav-item tabs__tab " role="presentation">
                                                <button class="nav-link" id="report-pages-8-tab" data-bs-toggle="tab" data-bs-target="#report-pages-8" type="button" role="tab" aria-controls="report-pages-8" aria-selected="false">Trials</button>
                                            </li>
                                            <li class="nav-item tabs__tab " role="presentation">
                                                <button class="nav-link" id="report-pages-6-tab" data-bs-toggle="tab" data-bs-target="#report-pages-6" type="button" role="tab" aria-controls="report-pages-6" aria-selected="false">Recovery</button>
                                            </li>
                                            <li class="nav-item tabs__tab " role="presentation">
                                                <button class="nav-link" id="report-pages-3-tab" data-bs-toggle="tab" data-bs-target="#report-pages-3" type="button" role="tab" aria-controls="report-pages-3" aria-selected="false">Fraud</button>
                                            </li>
                                            <li class="nav-item tabs__tab " role="presentation">
                                                <button class="nav-link" id="report-pages-1-tab" data-bs-toggle="tab" data-bs-target="#report-pages-1" type="button" role="tab" aria-controls="report-pages-1" aria-selected="true">Chargebacks</button>
                                            </li>
                                        </ul>
                                        <div class="rainbow-tab-content tab-content">
                                            <div class="tab-pane fade" id="report-pages-1" role="tabpanel" aria-labelledby="report-pages-1">
                                                <div class="row extra-padding mb--30">
                                                    <div class="col-lg-5">
                                                        <h5 class="mb--10">Chargeback Report</h5>
                                                        <p class="mb--10">The chargeback report contains numerous metrics specific to credit card transactions that have a chargeback, including representment status.</p>
                                                    </div>
                                                </div>
                                                <div class="row extra-padding mb--0">
                                                    <div class="col-lg-12">
                                                        <p class="mb--0"><small>Segments & Filters</small></p>
                                                        <ul class="list-unstyled list-inline mb--10 report-page-segments-list" data-reportpage="chargeback">
                                                        </ul>
                                                        <p class="mb--0"><small>Metrics</small></p>
                                                        <ul class="list-unstyled list-inline mb--0 report-page-metrics-list" data-reportpage="chargeback">
                                                        </ul>
                                                    </div>
                                                </div>
                                            </div>

                                            <div class="tab-pane fade" id="report-pages-2" role="tabpanel" aria-labelledby="report-pages-2">
                                                <div class="row extra-padding mb--30">
                                                    <div class="col-lg-5">
                                                        <h5 class="mb--10">Customers Report</h5>
                                                        <p class="mb--10">The customers report provides a broad or granular overview of all customer activity in your account.</p>
                                                    </div>
                                                </div>
                                                <div class="row extra-padding mb--0">
                                                    <div class="col-lg-12">
                                                        <p class="mb--0"><small>Segments & Filters</small></p>
                                                        <ul class="list-unstyled list-inline mb--10 report-page-segments-list" data-reportpage="customer">
                                                        </ul>
                                                        <p class="mb--0"><small>Metrics</small></p>
                                                        <ul class="list-unstyled list-inline mb--0 report-page-metrics-list" data-reportpage="customer">
                                                        </ul>
                                                    </div>
                                                </div>
                                            </div>

                                            <div class="tab-pane fade" id="report-pages-3" role="tabpanel" aria-labelledby="report-pages-3">
                                                <div class="row extra-padding mb--30">
                                                    <div class="col-lg-5">
                                                        <h5 class="mb--10">Fraud Report</h5>
                                                        <p class="mb--10">The fraud report provides a broad or granular overview of all fraud activity in your account.</p>
                                                    </div>
                                                </div>
                                                <div class="row extra-padding mb--0">
                                                    <div class="col-lg-12">
                                                        <p class="mb--0"><small>Segments & Filters</small></p>
                                                        <ul class="list-unstyled list-inline mb--10 report-page-segments-list" data-reportpage="fraud">
                                                        </ul>
                                                        <p class="mb--0"><small>Metrics</small></p>
                                                        <ul class="list-unstyled list-inline mb--0 report-page-metrics-list" data-reportpage="fraud">
                                                        </ul>
                                                    </div>
                                                </div>
                                            </div>

                                            <div class="tab-pane fade" id="report-pages-4" role="tabpanel" aria-labelledby="report-pages-4">
                                                <div class="row extra-padding mb--30">
                                                    <div class="col-lg-5">
                                                        <h5 class="mb--10">Initial Sales Report</h5>
                                                        <p class="mb--10">The initial sales report provides a broad or granular overview of all initial sales and upsells in your account.</p>
                                                    </div>
                                                </div>
                                                <div class="row extra-padding mb--0">
                                                    <div class="col-lg-12">
                                                        <p class="mb--0"><small>Segments & Filters</small></p>
                                                        <ul class="list-unstyled list-inline mb--10 report-page-segments-list" data-reportpage="sale">
                                                        </ul>
                                                        <p class="mb--0"><small>Metrics</small></p>
                                                        <ul class="list-unstyled list-inline mb--0 report-page-metrics-list" data-reportpage="sale">
                                                        </ul>
                                                    </div>
                                                </div>
                                            </div>

                                            <div class="tab-pane fade show active" id="report-pages-5" role="tabpanel" aria-labelledby="report-pages-5">
                                                <div class="row extra-padding mb--30">
                                                    <div class="col-lg-5">
                                                        <h5 class="mb--10">Payments Report</h5>
                                                        <p class="mb--10">The payments report contains metrics related to credit card transactions, PayPal transactions and offline payments within your account.</p>
                                                    </div>
                                                </div>
                                                <div class="row extra-padding mb--0">
                                                    <div class="col-lg-12">
                                                        <p class="mb--0"><small>Segments & Filters</small></p>
                                                        <ul class="list-unstyled list-inline mb--10 report-page-segments-list" data-reportpage="payment">
                                                        </ul>
                                                        <p class="mb--0"><small>Metrics</small></p>
                                                        <ul class="list-unstyled list-inline mb--0 report-page-metrics-list" data-reportpage="payment">
                                                        </ul>
                                                    </div>
                                                </div>
                                            </div>

                                            <div class="tab-pane fade" id="report-pages-6" role="tabpanel" aria-labelledby="report-pages-6">
                                                <div class="row extra-padding mb--30">
                                                    <div class="col-lg-5">
                                                        <h5 class="mb--10">Recovery Report</h5>
                                                        <p class="mb--10">The revenue recovery report provides a broad or granular overview of all recovery activity in your account.</p>
                                                    </div>
                                                </div>
                                                <div class="row extra-padding mb--0">
                                                    <div class="col-lg-12">
                                                        <p class="mb--0"><small>Segments & Filters</small></p>
                                                        <ul class="list-unstyled list-inline mb--10 report-page-segments-list" data-reportpage="recovery">
                                                        </ul>
                                                        <p class="mb--0"><small>Metrics</small></p>
                                                        <ul class="list-unstyled list-inline mb--0 report-page-metrics-list" data-reportpage="recovery">
                                                        </ul>
                                                    </div>
                                                </div>
                                            </div>

                                            <div class="tab-pane fade" id="report-pages-7" role="tabpanel" aria-labelledby="report-pages-7">
                                                <div class="row extra-padding mb--30">
                                                    <div class="col-lg-5">
                                                        <h5 class="mb--10">Subscriptions Report</h5>
                                                        <p class="mb--10">The subscriptions report provides a broad or granular overview of all subscription activity in your account.</p>
                                                    </div>
                                                </div>
                                                <div class="row extra-padding mb--0">
                                                    <div class="col-lg-12">
                                                        <p class="mb--0"><small>Segments & Filters</small></p>
                                                        <ul class="list-unstyled list-inline mb--10 report-page-segments-list" data-reportpage="subscription">
                                                        </ul>
                                                        <p class="mb--0"><small>Metrics</small></p>
                                                        <ul class="list-unstyled list-inline mb--0 report-page-metrics-list" data-reportpage="subscription">
                                                        </ul>
                                                    </div>
                                                </div>
                                            </div>

                                            <div class="tab-pane fade" id="report-pages-8" role="tabpanel" aria-labelledby="report-pages-8">
                                                <div class="row extra-padding mb--30">
                                                    <div class="col-lg-5">
                                                        <h5 class="mb--10">Trials Report</h5>
                                                        <p class="mb--10">The trials report provides a broad or granular overview of all trial activity in your account.</p>
                                                    </div>
                                                </div>
                                                <div class="row extra-padding mb--0">
                                                    <div class="col-lg-12">
                                                        <p class="mb--0"><small>Segments & Filters</small></p>
                                                        <ul class="list-unstyled list-inline mb--10 report-page-segments-list" data-reportpage="trial">
                                                        </ul>
                                                        <p class="mb--0"><small>Metrics</small></p>
                                                        <ul class="list-unstyled list-inline mb--0 report-page-metrics-list" data-reportpage="trial">
                                                        </ul>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>



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


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

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

                    </div>
                </div>
                <div class="container Sect__container">
                    <div class="container-wrap Sect__layoutContainer">
                        <div class="container-inner Sect__layout">
                            <span class="rbt-badge-6 page-theme-badge">You Create</span>
                            <div class="row mb--60">
                                <div class="col-sm-12 col-xl-4">
                                    <div class="section-title text-start mb--20">
                                        <h1 class="title">Custom<br>Dashboard</h1>
                                    </div>
                                    <p class=" mb--10">The RevCent dashboard is an extremely powerful reporting solution that enables you to create and run the exact queries you want.</p>
                                    <p><a class="page-theme-link small" href="https://kb.revcent.com/en/reporting/dashboard" target="_blank">Dashboard Docs<i class="far fa-fw fa-angle-right small"></i></a></p>
                                </div>
                                <div class="col-xl-7 offset-xl-1 d-none d-xl-block">
                                    <div class="sect-thumbnail-main fade-page-theme">
                                        <div class="sect-thumbnail-wrapper" style="height:330px;margin-top: -80px;">
                                            <div class="sect-thumbnail">
                                                <img class="sect-img" src="https://cdn.revcent.com/public-new/img/mgmt-page/dashboard-lg.png" style="-moz-transform:scale(1.34);-webkit-transform: scale(1.34);transform: scale(1.34);">
                                            </div>
                                        </div>
                                        <div class="sect-thumbnail-fade">
                                        </div>
                                    </div>
                                </div>
                            </div>


                            <div class="row mb--100">
                                <div class="col-sm-12">
                                    <div class="row">
                                        <div class="col-lg-3 mt--20">
                                            <div class="rbt-card bg-color-blue-7 bg-color-text-white no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">Customized</h5>
                                                    <p class="mb--0">You build your dashboard exactly how you want, with the specific analytics you wish to view.</p>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-lg-3 mt--20">
                                            <div class="rbt-card bg-color-blue-7 bg-color-text-white no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">Analytics</h5>
                                                    <p class="mb--0">The analytics available when building your dashboard include counts, sums, averages and more.</p>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-lg-3 mt--20">
                                            <div class="rbt-card bg-color-blue-7 bg-color-text-white no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">Granular</h5>
                                                    <p class="mb--0">The filtering, grouping and analytic options enables you to run the most granular reports possible.</p>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-lg-3 mt--20">
                                            <div class="rbt-card bg-color-blue-7 bg-color-text-white no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">Automated</h5>
                                                    <p class="mb--0">You have the ability to have RevCent run queries at a specific frequency using the Auto Query feature.</p>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>

                            <div class="row mb--100">
                                <div class="col-sm-12">
                                    <div class="row">
                                        <div class="col-lg-4">
                                            <div class="section-title text-start">
                                                <h4 class="title">How It Works</h4>
                                            </div>
                                            <p class="">The custom dashboard consists of tabs and panels, each panel being specific analytic query with an element display.</p>
                                        </div>
                                    </div>
                                    <div class="row">
                                        <div class="col-lg-4 mt--20">
                                            <div class="rbt-card bg-color-blue-2 no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">Choose An Analytic</h5>
                                                    <p class="mb--10">You choose a analytics for an item type, such as sum amount gross for sales.</p>
                                                    <p><a class="page-theme-link small" href="https://kb.revcent.com/en/reporting/dashboard#analytic" target="_blank">Analytic Docs<i class="far fa-fw fa-angle-right small"></i></a></p>
                                                    <ul class="mb--0">
                                                        <li class="list-item">
                                                            Numerous analytics available specific to item type.
                                                        </li>
                                                        <li class="list-item">
                                                            Aggregations include sum, average, count and percentage.
                                                        </li>
                                                        <li class="list-item">
                                                            Values include amount gross, average per item and many more.
                                                        </li>
                                                        <li class="list-item">
                                                            Certain item types have custom analytic aggregations.
                                                        </li>
                                                    </ul>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-lg-4 mt--20">
                                            <div class="rbt-card bg-color-blue-3 no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">Pick An Element</h5>
                                                    <p class="mb--10">You choose an element for the panel which will display the final query results.</p>
                                                    <p><a class="page-theme-link small" href="https://kb.revcent.com/en/reporting/dashboard#element" target="_blank">Element Docs<i class="far fa-fw fa-angle-right small"></i></a></p>

                                                    <ul class="mb--0">
                                                        <li class="list-item">
                                                            Several elements available, with custom settings for each.
                                                        </li>
                                                        <li class="list-item">
                                                            Elements include bar charts, pie charts, tables and more.
                                                        </li>
                                                        <li class="list-item">
                                                            All elements can be exported as raw JSON, PDF's and CSV's.
                                                        </li>
                                                        <li class="list-item">
                                                            Some item types have unique elements, such as cohort charts.
                                                        </li>
                                                    </ul>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-lg-4 mt--20">
                                            <div class="rbt-card bg-color-blue-4 no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">Run The Query</h5>
                                                    <p class="mb--10">Once a metric and element have been chosen, run the query for the panel.</p>
                                                    <p><a class="page-theme-link small" href="https://kb.revcent.com/en/reporting/dashboard#panel-examples" target="_blank">Query Examples<i class="far fa-fw fa-angle-right small"></i></a></p>

                                                    <ul class="mb--0">
                                                        <li class="list-item">
                                                            Queries are run on-demand, ensuring the latest data is used.
                                                        </li>
                                                        <li class="list-item">
                                                            All queries utilize Google Bigquery as the query engine.
                                                        </li>
                                                        <li class="list-item">
                                                            BigQuery is scalable up to petabyte sized source data.
                                                        </li>
                                                        <li class="list-item">
                                                            When the query completes, the output element is displayed.
                                                        </li>
                                                    </ul>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>


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


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

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

                    </div>
                </div>
                <div class="SeparatorSlantSet SeparatorSlantSet--TopRight SeparatorSlantSet--layoutIntersecting">
                    <div class="SeparatorSlant SeparatorSlant--accentNone SeparatorSlant--variantSolid SeparatorSlant--insetNormal SeparatorSlant--widthFull"></div>
                </div>
                <div class="container Sect__container">
                    <div class="container-wrap Sect__layoutContainer">
                        <div class="container-inner Sect__layout">
                            <span class="rbt-badge-6 page-theme-badge">Run Reports</span>
                            <div class="row mb--60">
                                <div class="col-xl-4">
                                    <div class="section-title text-start mb--20">
                                        <h1 class="title">Auto<br>Queries</h1>
                                    </div>
                                    <p class=" mb--10">Create automated queries within the custom dashboard and take actions such as emailing query results, running functions and chatting with AI.</p>
                                    <p><a class="page-theme-link small" href="https://kb.revcent.com/en/tools/auto-query" target="_blank">Auto Query Docs<i class="far fa-fw fa-angle-right small"></i></a></p>
                                </div>
                                <div class="col-xl-7 offset-xl-1 d-none d-xl-block">
                                    <div class="sect-thumbnail-main fade-white">
                                        <div class="sect-thumbnail-wrapper" style="height:330px;margin-top: -80px;">
                                            <div class="sect-thumbnail">
                                                <img class="sect-img" src="https://cdn.revcent.com/public-new/img/mgmt-page/auto-query.png" style="-moz-transform:scale(1.3);-webkit-transform: scale(1.3);transform: scale(1.3);">
                                            </div>
                                        </div>
                                        <div class="sect-thumbnail-fade">
                                        </div>
                                    </div>
                                </div>
                            </div>

                            <div class="row mb--100">
                                <div class="col-lg-3 mt--20">
                                    <div class="rbt-card bg-color-light-xl no-shadow">
                                        <div class="card-body">
                                            <h5 class="mb--10">View Dashboard</h5>
                                            <p class="mb--0">Go to your custom dashboard in the web UI and choose a tab. If you have not yet created a tab, you can import pre-built tabs.</p>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-lg-3 mt--20">
                                    <div class="rbt-card bg-color-light-xl no-shadow">
                                        <div class="card-body">
                                            <h5 class="mb--10">Select A Panel</h5>
                                            <p class="mb--0">Create an auto query by selecting a specific panel, in which it's query will be automatically run at a specific interval.</p>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-lg-3 mt--20">
                                    <div class="rbt-card bg-color-light-xl no-shadow">
                                        <div class="card-body">
                                            <h5 class="mb--10">Set The Schedule</h5>
                                            <p class="mb--0">Set the frequency in which you want RevCent to run the auto query, i.e. every x number of hours, days, weeks or months.</p>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-lg-3 mt--20">
                                    <div class="rbt-card bg-color-light-xl no-shadow">
                                        <div class="card-body">
                                            <h5 class="mb--10">Pick A Target</h5>
                                            <p class="mb--0">Select a specific action(s) to take once the query results are ready such as sending emails, running functions and asking AI.</p>
                                        </div>
                                    </div>
                                </div>
                            </div>


                            <div class="row mb--100">
                                <div class="col-sm-12">
                                    <div class="row">
                                        <div class="col-lg-4">
                                            <div class="section-title text-start">
                                                <h4 class="title">Example Uses</h4>
                                            </div>
                                            <p class="">Below are ways in which you can implement auto queries to fit certain business requirements.</p>
                                        </div>
                                    </div>
                                    <div class="row">
                                        <div class="col-xl-4 mt--20">
                                            <div class="rbt-card bg-color-light-xl no-shadow">
                                                <div class="card-body">
                                                    <div class="row">
                                                        <div class="col-lg-12">
                                                            <h5 class="mb--10">Daily Report</h5>
                                                            <p class="mb--15 mw--80">At the end of each business day, you want receive a CSV report on total number of sales and volume for the day, for each campaign.</p>
                                                            <ul class="list-unstyled">
                                                                <li class="list-item">
                                                                    <a class="page-theme-link small" href="/products/tools/suite#section-email-templates">Email Templates<i class="far fa-fw fa-angle-right small"></i></a>
                                                                </li>
                                                                <li class="list-item">
                                                                    <a class="page-theme-link small" href="https://kb.revcent.com/en/tools/auto-query#days" target="_blank">Daily Schedule<i class="far fa-fw fa-angle-right small"></i></a>
                                                                </li>
                                                            </ul>
                                                        </div>
                                                        <div class="col-lg-12">
                                                            <div class="rbt-card bg-color-blue-1 no-shadow">
                                                                <div class="card-bodyx">
                                                                    <ol class="mb--0">
                                                                        <li class="list-item">
                                                                            Create a panel in the dashboard which counts the total number of sales and the sum gross amount, grouped by campaign.
                                                                        </li>
                                                                        <li class="list-item">
                                                                            Add an auto query to the panel which will run at specific time, within your timezone.
                                                                        </li>
                                                                        <li class="list-item">
                                                                            In the auto query, add an email action by selecting a template specific to the query.
                                                                        </li>
                                                                        <li class="list-item">
                                                                            Query results will be converted to a CSV, attached to the email and sent to the recipients in the email template.
                                                                        </li>
                                                                    </ol>
                                                                </div>
                                                            </div>
                                                        </div>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-xl-4 mt--20">
                                            <div class="rbt-card bg-color-light-xl no-shadow">
                                                <div class="card-body">
                                                    <div class="row">
                                                        <div class="col-lg-12">
                                                            <h5 class="mb--10">Gateway Alert</h5>
                                                            <p class="mb--15 mw--80">You want to be notified by SMS if one or more gateways have exceeded a certain threshold, such as gross captured transactions.</p>
                                                            <ul class="list-unstyled">
                                                                <li class="list-item">
                                                                    <a class="page-theme-link small" href="/products/tools/suite#section-functions">Functions<i class="far fa-fw fa-angle-right small"></i></a>
                                                                </li>
                                                                <li class="list-item">
                                                                    <a class="page-theme-link small" href="https://kb.revcent.com/en/tools/auto-query#hours" target="_blank">Hourly Schedule<i class="far fa-fw fa-angle-right small"></i></a>
                                                                </li>
                                                            </ul>
                                                        </div>
                                                        <div class="col-lg-12">
                                                            <div class="rbt-card bg-color-blue-1 no-shadow">
                                                                <div class="card-bodyx">
                                                                    <ol class="mb--0">
                                                                        <li class="list-item">
                                                                            Create a panel in the dashboard which calculates the sum amount of captured transactions, grouped by gateway.
                                                                        </li>
                                                                        <li class="list-item">
                                                                            Add an auto query to the panel and set the schedule frequency to run every 1 hour.
                                                                        </li>
                                                                        <li class="list-item">
                                                                            For the auto query action, select a function you created which is meant to process query results.
                                                                        </li>
                                                                        <li class="list-item">
                                                                            Run a function that will loop through the results and send a SMS if any gateway value has been exceeded.
                                                                        </li>
                                                                    </ol>
                                                                </div>
                                                            </div>
                                                        </div>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-xl-4 mt--20">
                                            <div class="rbt-card bg-color-light-xl no-shadow">
                                                <div class="card-body">
                                                    <div class="row">
                                                        <div class="col-lg-12">
                                                            <h5 class="mb--10">AI Summary</h5>
                                                            <p class="mb--15 mw--80">You want to receive a daily email summary of the total number of new customers for each store, in a human readable format.</p>
                                                            <ul class="list-unstyled">
                                                                <li class="list-item">
                                                                    <a class="page-theme-link small" href="https://kb.revcent.com/tools/ai#ai-assistant" target="_blank">AI Assistant<i class="far fa-fw fa-angle-right small"></i></a>
                                                                </li>
                                                                <li class="list-item">
                                                                    <a class="page-theme-link small" href="https://kb.revcent.com/tools/ai#auto-report-with-summary" target="_blank">Auto Report<i class="far fa-fw fa-angle-right small"></i></a>
                                                                </li>
                                                            </ul>
                                                        </div>
                                                        <div class="col-lg-12">
                                                            <div class="rbt-card bg-color-blue-1 no-shadow">
                                                                <div class="card-bodyx">
                                                                    <ol class="mb--0">
                                                                        <li class="list-item">
                                                                            Create a panel in the dashboard which counts the number of newly created customers, grouped by third party shop.
                                                                        </li>
                                                                        <li class="list-item">
                                                                            Add an auto query to the panel which will run at specific time, within your timezone.
                                                                        </li>
                                                                        <li class="list-item">
                                                                            For the auto query action, select an AI Assistant created for summarizing query results.
                                                                        </li>
                                                                        <li class="list-item">
                                                                            Query results will be sent to the AI Assistant, which will ask AI for a summary and email you the response.
                                                                        </li>
                                                                    </ol>
                                                                </div>
                                                            </div>
                                                        </div>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>



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


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

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

                    </div>
                </div>
                <div class="container Sect__container">
                    <div class="container-wrap Sect__layoutContainer">
                        <div class="container-inner Sect__layout">
                            <span class="rbt-badge-6 bg-white-opacity">Run SQL</span>
                            <div class="row mb--60">
                                <div class="col-lg-5">
                                    <div class="section-title text-start mb--20">
                                        <h1 class="title color-white">Google<br>BigQuery</h1>
                                    </div>
                                    <p class="color-white mb--10">RevCent stores your data within Google BigQuery for all reports, dashboard metrics and more. You have the ability to directly access your data within BigQuery via the BigQuery Access tool.</p>
                                    <p><a class="page-theme-link dark-link small" href="https://kb.revcent.com/en/tools/bigquery-access" target="_blank">Bigquery Access Docs<i class="far fa-fw fa-angle-right small"></i></a></p>
                                </div>
                                <div class="col-lg-6 offset-lg-1 d-none d-lg-blockx">
                                    <div class="thumbnail-wrapper text-center">
                                        <div class="thumbnail d-block">
                                            <img class="bigquery-logo" src="https://cdn.revcent.com/img/product-img/all-img/third-party-integrations/bigquery.png" style="height:245px">
                                        </div>
                                    </div>
                                </div>
                            </div>
                            <div class="row mb--100">
                                <div class="col-lg-4 mt--30">
                                    <div class="rbt-card no-shadow bg-color-white-opacity">
                                        <div class="rbt-card-body pt--10">
                                            <h5 class="title color-white">Raw Data</h5>
                                            <p class="color-white">All of your RevCent data is securely stored within Google BigQuery, an enterprise level big data warehouse in the cloud.</p>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-lg-4 mt--30">
                                    <div class="rbt-card no-shadow bg-color-white-opacity">
                                        <div class="rbt-card-body pt--10">
                                            <h5 class="title color-white">Latest</h5>
                                            <p class="color-white">RevCent immediately streams updates to BigQuery when changes occur within your account, ensuring up to date metrics.</p>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-lg-4 mt--30">
                                    <div class="rbt-card no-shadow bg-color-white-opacity">
                                        <div class="rbt-card-body pt--10">
                                            <h5 class="title color-white">Scalable</h5>
                                            <p class="color-white">BigQuery was built to handle petabyte sized queries, ensuring all of your data is queryable regardless of total dataset size.</p>
                                        </div>
                                    </div>
                                </div>
                            </div>
                            <div class="row mb--20" id="section-sql">
                                <div class="col-lg-4">
                                    <div class="section-title text-start color-white">
                                        <h3 class="title color-white">Run SQL</h3>
                                    </div>
                                    <p class="color-white mb--10">Run SQL queries on your raw data within the BigQuery console, via the BigQuery API or using an SDK.</p>
                                    <p><a class="page-theme-link dark-link small" href="https://cloud.google.com/bigquery" target="_blank">Google Bigquery<i class="far fa-fw fa-angle-right small"></i></a></p>

                                </div>
                            </div>
                            <div class="row mb--120">
                                <div class="col-lg-6">
                                    <div class="developer-example-wrap mt--20">
                                        <pre id="bigquery-sql-example-1" class="highlight-code language-sql hljs" style="font-size:14px;height:420px;overflow:hidden;margin-bottom:0px;">
                                        </pre>
                                    </div>
                                </div>
                                <div class="col-lg-6">
                                    <div class="developer-example-wrap mt--20">
                                        <pre id="bigquery-sql-example-2" class="highlight-code language-json hljs" style="font-size:14px;height:420px;overflow:hidden;margin-bottom:0px;">
                                        </pre>
                                    </div>
                                </div>
                            </div>

                            <div class="row mb--10">
                                <div class="col-lg-4">
                                    <div class="section-title text-start color-white">
                                        <h3 class="title color-white">Connect</h3>
                                    </div>
                                    <p class="color-white mb--10">Link your RevCent data within BigQuery to external tools and services for additional data analytics capabilities.</p>
                                    <p><a class="page-theme-link dark-link small" href="https://cloud.google.com/bigquery/docs/data-analysis-tools-intro" target="_blank">BigQuery BI<i class="far fa-fw fa-angle-right small"></i></a></p>
                                </div>
                            </div>
                            <div class="row mb--120">
                                <div class="col-lg-3 mt--30">
                                    <div class="rbt-card no-shadow bg-color-bodyest">
                                        <div class="rbt-card-body pt--10">
                                            <div class="thumbnail-wrapper mb--20">
                                                <div class="thumbnail image-1 d-block image-third-party-integration">
                                                    <img class="third-party-logo" src="https://cdn.revcent.com/img/product-img/all-img/third-party-integrations/google-sheets.png">
                                                </div>
                                            </div>
                                            <h5 class="title color-white mb--5">Google Sheets</h5>
                                            <p class="color-white mb--10">Use Google Sheets to create and edit online spreadsheets. Get insights together with secure sharing from any device.</p>
                                            <p class="mb--0"><a class="color-white small" href="https://www.google.com/sheets/about/" target="_blank">More<i class="far fa-fw fa-angle-right small"></i></a></p>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-lg-3 mt--30">
                                    <div class="rbt-card no-shadow bg-color-bodyest">
                                        <div class="rbt-card-body pt--10">
                                            <div class="thumbnail-wrapper mb--20">
                                                <div class="thumbnail image-1 d-block image-third-party-integration">
                                                    <img class="third-party-logo" src="https://cdn.revcent.com/img/product-img/all-img/third-party-integrations/looker.png">
                                                </div>
                                            </div>
                                            <h5 class="title color-white mb--5">Looker</h5>
                                            <p class="color-white mb--10">Looker is an enterprise platform for BI, data applications, and analytics that helps you explore and share insights.</p>
                                            <p class="mb--0"><a class="color-white small" href="https://cloud.google.com/looker" target="_blank">More<i class="far fa-fw fa-angle-right small"></i></a></p>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-lg-3 mt--30">
                                    <div class="rbt-card no-shadow bg-color-bodyest">
                                        <div class="rbt-card-body pt--10">
                                            <div class="thumbnail-wrapper mb--20">
                                                <div class="thumbnail image-1 d-block image-third-party-integration">
                                                    <img class="third-party-logo" src="https://cdn.revcent.com/img/product-img/all-img/third-party-integrations/tableau.png">
                                                </div>
                                            </div>
                                            <h5 class="title color-white mb--5">Tableau</h5>
                                            <p class="color-white mb--10">Tableau can help anyone see and understand their data. Connect to almost any database, drag and drop, and share.</p>
                                            <p class="mb--0"><a class="color-white small" href="https://www.tableau.com/" target="_blank">More<i class="far fa-fw fa-angle-right small"></i></a></p>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-lg-3 mt--30">
                                    <div class="rbt-card no-shadow bg-color-bodyest">
                                        <div class="rbt-card-body pt--10">
                                            <div class="thumbnail-wrapper mb--20">
                                                <div class="thumbnail image-1 d-block image-third-party-integration">
                                                    <img class="third-party-logo" src="https://cdn.revcent.com/img/product-img/all-img/third-party-integrations/qlik.png">
                                                </div>
                                            </div>
                                            <h5 class="title color-white mb--5">Qlik</h5>
                                            <p class="color-white mb--10">Qlik is an analytics tool that helps you use your data to solve problems, meet new objectives, and address business needs.</p>
                                            <p class="mb--0"><a class="color-white small" href="https://www.qlik.com/" target="_blank">More<i class="far fa-fw fa-angle-right small"></i></a></p>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </section>



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

            <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">AdWords To BigQuery</span>
                            <div class="row mb--60">
                                <div class="col-xl-4">
                                    <div class="section-title text-start mb--20">
                                        <h1 class="title">AdWords <small>+</small><br>RevCent Data</h1>
                                    </div>
                                    <p class=" mb--10">If you link your AdWords account with RevCent, all of your AdWords data can be joined with your RevCent data, giving you the most precise advertising metrics.</p>
                                    <p><a class="page-theme-link small" href="https://kb.revcent.com/en/tracking/google-adwords" target="_blank">AdWords Integration Docs<i class="far fa-fw fa-angle-right small"></i></a></p>
                                </div>
                                <div class="col-xl-7 offset-xl-1 d-none d-xl-block">
                                    <div class="sect-thumbnail-main fade-white">
                                        <div class="sect-thumbnail-wrapper" style="height:330px;margin-top: -80px;">
                                            <div class="sect-thumbnail no-borderx" style="height:330px">
                                                <img class="sect-img" src="https://kb.revcent.com/web-app-images/adwords-click-details-sale.png" style="-moz-transform:scale(1.56);-webkit-transform: scale(1.56);transform: scale(1.56);">
                                            </div>
                                        </div>
                                        <div class="sect-thumbnail-fade">
                                        </div>
                                    </div>
                                </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-blue-5 bg-color-text-white no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">AdWords Data</h5>
                                                    <p class="mb--0">All of your Google AdWords data is transferred to BigQuery, including detailed table views.</p>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-lg-4 mt--20">
                                            <div class="rbt-card bg-color-blue-5 bg-color-text-white no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">RevCent Join</h5>
                                                    <p class="mb--0">The custom dashboard gives you the ability to query your AdWords and RevCent data as one dataset.</p>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-lg-4 mt--20">
                                            <div class="rbt-card bg-color-blue-5 bg-color-text-white no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">Managed</h5>
                                                    <p class="mb--0">The AdWords data transfer service is fully managed by Google, with your datasets updated daily.</p>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>

                            <div class="row mb--100">
                                <div class="col-sm-12">
                                    <div class="row">
                                        <div class="col-lg-4">
                                            <div class="section-title text-start">
                                                <h4 class="title">Example Metrics</h4>
                                            </div>
                                            <p class="">Below are ways to utilize the power of being able to query your AdWords and RevCent data together.</p>
                                        </div>
                                    </div>
                                    <div class="row">
                                        <div class="col-xl-3 mt--20">
                                            <div class="rbt-card bg-color-blue-1 no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">Campaign Churn</h5>
                                                    <p class="mb--10">Increase campaign spend based on the renewal rates per cycle.</p>
                                                    <ul class="mb--0">
                                                        <li class="list-item">
                                                            Analytic: SUM
                                                        </li>
                                                        <li class="list-item">
                                                            Value: Click Cost
                                                        </li>
                                                        <li class="list-item">
                                                            Group By: AdWords Campaign
                                                        </li>
                                                        <li class="list-item">
                                                            Element: Subscription Cohort
                                                        </li>
                                                    </ul>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-xl-3 mt--20">
                                            <div class="rbt-card bg-color-blue-2 no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">Keyword Profit</h5>
                                                    <p class="mb--10">Discover keywords that produce the highest overall profit.</p>
                                                    <ul class="mb--0">
                                                        <li class="list-item">
                                                            Analytic: SUM
                                                        </li>
                                                        <li class="list-item">
                                                            Value: Sale Profit
                                                        </li>
                                                        <li class="list-item">
                                                            Group By: AdWords Keyword
                                                        </li>
                                                        <li class="list-item">
                                                            Element: Table
                                                        </li>
                                                    </ul>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-xl-3 mt--20">
                                            <div class="rbt-card bg-color-blue-3 no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">Network Products</h5>
                                                    <p class="mb--10">Determine what products are purchased the most per network.</p>
                                                    <ul class="mb--0">
                                                        <li class="list-item">
                                                            Analytic: COUNT
                                                        </li>
                                                        <li class="list-item">
                                                            Value: Product Name
                                                        </li>
                                                        <li class="list-item">
                                                            Group By: AdWords Network
                                                        </li>
                                                        <li class="list-item">
                                                            Element: Pie
                                                        </li>
                                                    </ul>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-xl-3 mt--20">
                                            <div class="rbt-card bg-color-blue-4 no-shadow">
                                                <div class="card-body">
                                                    <h5 class="mb--10">Audience Refunds</h5>
                                                    <p class="mb--10">Identify audiences to avoid based on their overall refund rate.</p>
                                                    <ul class="mb--0">
                                                        <li class="list-item">
                                                            Analytic: AVG
                                                        </li>
                                                        <li class="list-item">
                                                            Value: Refund Amount
                                                        </li>
                                                        <li class="list-item">
                                                            Group By: Customer Location
                                                        </li>
                                                        <li class="list-item">
                                                            Element: Map
                                                        </li>
                                                    </ul>
                                                </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 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 report_pages={
            chargeback: {
                segments: ['Campaign','Gateway','Request Type','Sale','Renewal','Trial','Metadata','RDR','Ethoca','Verifi'],
                metrics: ['Chargeback %','Chargeback Amount','Number Of Chargebacks','Representments Awaiting','Representments Awaiting Amount','Representments Won','Representments Won Amount','Representments Lost','Representments Lost Amount','Chargebacks With Representment','Chargebacks Without Representment','Chargeback Amount After Representment','Chargeback % After Representment']
            },
            customer: {
                segments: ['Campaign','Customer Group','Metadata'],
                metrics: ['Number Of Customers','Customers %','Number Of Paid Customers','Paid Customers %','Paid Customers LTV','Number of Repeat Customers','Repeat Customers %','Avg. Refund Per Customer','Avg. Chargeback Per Customer','Number Of Declined Customers','Declined Customers %','Number Of Prospects','Prospects %','Customers With Refund %','Number Of Customers With Refund','Customers With Chargeback %','Number Of Customers With Chargeback','Customers With Fraud %','Number Of Customers With Fraud']
            },
            fraud: {
                segments: ['Campaign','Firewall','Sentinel','Third Party','Reason','Metadata'],
                metrics: ['Fraud Prevented','Fraud Prevented %','Firewall Blocked','Firewall Blocked %','Firewall Scans','Fraud Detections','Fraud Detection %','Fraud Scans','Sentinel Detections','Sentinel %','Sentinel Scans','Third Party Detections','Third Party %','Third Party Scans']
            },
            payment: {
                segments: ['Campaign','Processor','Payment Type','Request Method','Reason','Metadata'],
                metrics: ['Approved Amount','Approved Count','Approved %','Approved Fees','Cap','Cap %','Declined Amount','Declined Count','Declined %','Declined Fees','Chargeback Amount','Chargeback Count','Chargeback %','Refund Amount','Refund Count','Refund %','Sales Approved Amount','Sales Approved Count','Sales Approved %','Trials Approved Amount','Trials Approved Count','Trials Approved %','Renewals Approved Amount','Renewals Approved Count','Renewals Approved %','Salvage Approved Amount','Salvage Approved Count','Salvage Approved %','Abandoned Cart Approved Amount','Abandoned Cart Approved Count','Abandoned Cart Approved %']
            },
            sale: {
                segments: ['Campaign','Product','Payment Type','Sale Type','Metadata'],
                metrics: ['Net Revenue','Net Profit','Fees','Tax','Costs','Reversals','Number Of Initial Sales','Initial Sale Revenue','Initial Sale %','Number of Upsells','Upsell Revenue','Upsell %','Trial Amount','Product Revenue','Product Quantity','Product Initial Sale Quantity','Product Upsell Quantity','Product %','Product Costs','Shipping Revenue','Shipping %','Shipping Costs','Refunds','Refund %','Chargebacks','Chargeback %']
            },
            recovery: {
                segments: ['Campaign','Recovery Type'],
                metrics: ['Total Amount','Recovered Amount','Recovered Count','Recovered %','Failed Amount','Failed Count','Failed %','Attempted Amount','Attempted Count','Attempted %','Remaining Amount','Remaining Count','Remaining %','Chargeback Amount','Chargeback Count','Chargeback %','Refund Amount','Refund Count','Refund %']
            },
            subscription: {
                segments: ['Campaign','Product'],
                metrics: ['Lifetime Value','Lifetime Count','New Count','Active Count','Overdue Count','Suspended Count','Cancelled Count','Inception Status','Inception Cohort','Renewal Upcoming Amount','Renewal Upcoming Count','Renewal Successful Amount','Renewal Successful Count','Renewal Successful %','Renewal Failed Amount','Renewal Failed Count','Renewal Failed %','Chargeback Amount','Chargeback Count','Chargeback %','Refund Amount','Refund Count','Refund %']
            },
            trial: {
                segments: ['Campaign','Product','Metadata'],
                metrics: ['Active Amount','Active Count','New Count','Estimated Success Amount','Estimated Success Count','Estimated Success %','Ended Count','Renewal Upcoming Amount','Renewal Upcoming Count','Successful Amount','Successful Count','Successful %','Failed Amount','Failed Count','Failed %','Cancelled Amount','Cancelled Count','Cancelled %','Chargeback Amount','Chargeback Count','Chargeback %','Refund Amount','Refund Count','Refund %']
            }
        };

        for(let report_page in report_pages) {
            if(typeof report_pages[report_page]?.segments!=='undefined'&&Array.isArray(report_pages[report_page].segments)&&report_pages[report_page].segments.length>0&&$('ul.report-page-segments-list[data-reportpage="'+report_page+'"]').length>0) {
                $.each(report_pages[report_page].segments,function(c,d) {
                    $('ul.report-page-segments-list[data-reportpage="'+report_page+'"]').append(`
                        <li class="list-inline-item">
                            <span class="rbt-badge variation-02 bg-secondary-opacity">${d}</span>
                        </li>
                    `);
                });
            }
            if(typeof report_pages[report_page]?.metrics!=='undefined'&&Array.isArray(report_pages[report_page].metrics)&&report_pages[report_page].metrics.length>0&&$('ul.report-page-metrics-list[data-reportpage="'+report_page+'"]').length>0) {
                $.each(report_pages[report_page].metrics,function(c,d) {
                    $('ul.report-page-metrics-list[data-reportpage="'+report_page+'"]').append(`
                        <li class="list-inline-item">
                            <span class="rbt-badge variation-02 bg-primary-opacity">${d}</span>
                        </li>
                    `);
                });
            }
        }



        let api_examples={
            'bigquery-sql-hero': {
                code: `
SELECT 
    campaign.name AS Campaign,
    COUNT(DISTINCT sales.id) AS Sales, 
    ROUND(SUM(sales.amount_gross),2) AS Gross, 
    ROUND(AVG(sales.amount_gross),2) AS Average
FROM
    sales
LEFT JOIN 
    campaign AS campaign
    ON sales.campaign = campaign.id
GROUP BY 
    Campaign
ORDER BY
    Gross
DESC
`
            },
            'bigquery-sql-example-1': {
                code: `
    SELECT 
      campaign.name AS campaign_name,
      COUNT(DISTINCT sales.id) AS num_sales, 
      ROUND(SUM(sales.amount_gross),2) AS gross
    FROM
      sales
    LEFT JOIN 
      campaign AS campaign
      ON sales.campaign = campaign.id
    WHERE 
      campaign.name IN UNNEST(["AdWords", "Facebook", "Taboola"])
    GROUP BY 
      campaign_name
    ORDER BY
      gross
    DESC
    `
            },

            'bigquery-sql-example-2': {
                code: `
    [
        {
            "campaign_name": "Facebook",
            "num_sales": 4923,
            "gross": 1107675.12
        },
        {
            "campaign_name": "AdWords",
            "num_sales": 515,
            "gross": 115875.89
        },
        {
            "campaign_name": "Taboola",
            "num_sales": 92,
            "gross": 20700.35
        }
    ]
    `
            }
        }
        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>