/* RSNV Pro Expertise 1.0.0
   Heading Oswald Regular 40/59, centered, 900px.
   "Major Payroll and HR System" is #7A23D6.
   60px to a 96px logo row. Logos are 80px apart,
   vertically centered, height set per logo, width from the file.
   White background. 160px under the row.
*/

@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@400&display=swap");

.elementor-section:has(.elementor-widget-resnv-pro-expertise),
.elementor-section:has(.elementor-widget-resnv-pro-expertise) > .elementor-container,
.elementor-section:has(.elementor-widget-resnv-pro-expertise) .elementor-column,
.elementor-section:has(.elementor-widget-resnv-pro-expertise) .elementor-widget-wrap,
.e-con:has(.elementor-widget-resnv-pro-expertise),
.e-con:has(.elementor-widget-resnv-pro-expertise) > .e-con-inner,
.elementor-widget-resnv-pro-expertise,
.elementor-widget-resnv-pro-expertise > .elementor-widget-container {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: clip !important;
  overflow-y: visible !important;
  background: transparent !important;
  background-color: transparent !important;
}

.elementor-section.elementor-section-boxed:has(.elementor-widget-resnv-pro-expertise) > .elementor-container {
  max-width: none !important;
  width: 100% !important;
}

.rsnv-pro-expertise {
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  padding: 0 0 160px;
  background: #ffffff;
  color: #091443;
  overflow: hidden;
}

.rsnv-pro-expertise__title {
  box-sizing: border-box !important;
  width: max-content !important;
  max-width: calc(100% - 40px) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  color: #091443 !important;
  font-family: Oswald, sans-serif !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-size: 40px !important;
  line-height: 59px !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

.rsnv-pro-expertise__title span {
  color: #7a23d6;
}

.rsnv-pro-expertise__logos {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  height: 96px;
  margin-top: 60px;
  overflow: hidden;
}

.rsnv-pro-expertise__track {
  display: flex;
  align-items: center;
  width: max-content;
  animation: rsnv-expertise-marquee 38s linear infinite;
}

.rsnv-pro-expertise__logos:hover .rsnv-pro-expertise__track,
.rsnv-pro-expertise__logos:focus-within .rsnv-pro-expertise__track {
  animation-play-state: paused;
}

.rsnv-pro-expertise__group {
  display: flex;
  align-items: center;
  gap: 80px;
  padding-right: 80px;
}

.rsnv-pro-expertise__brand {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  height: 96px;
  margin: 0;
  padding: 0;
  line-height: 0;
}

.elementor-widget-resnv-pro-expertise img.rsnv-pro-expertise__logo,
.rsnv-pro-expertise__logo {
  display: block;
  width: auto !important;
  height: var(--rsnv-logo-h, 60px) !important;
  max-width: none !important;
  max-height: 96px !important;
  object-fit: contain;
  object-position: center;
}

@keyframes rsnv-expertise-marquee {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-50%, 0, 0); }
}

@media (max-width: 1040px) {
  .rsnv-pro-expertise {
    padding-bottom: 96px;
  }

  .rsnv-pro-expertise__title {
    width: 100%;
    max-width: 640px;
    font-size: 32px;
    line-height: 42px;
    white-space: normal;
  }

  .rsnv-pro-expertise__logos {
    margin-top: 40px;
  }

  .rsnv-pro-expertise__group {
    gap: 56px;
    padding-right: 56px;
  }
}

@media (max-width: 760px) {
  .rsnv-pro-expertise {
    padding-bottom: 56px;
  }

  .rsnv-pro-expertise__title {
    max-width: none;
    padding: 0 20px;
    font-size: 32px;
    line-height: 42px;
    white-space: normal;
  }

  .rsnv-pro-expertise__logos {
    height: 72px;
    margin-top: 28px;
  }

  .rsnv-pro-expertise__brand {
    height: 72px;
  }

  .elementor-widget-resnv-pro-expertise img.rsnv-pro-expertise__logo,
  .rsnv-pro-expertise__logo {
    height: min(var(--rsnv-logo-h, 60px), 48px) !important;
    max-height: 48px !important;
  }

  .rsnv-pro-expertise__group {
    gap: 36px;
    padding-right: 36px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rsnv-pro-expertise__track {
    animation: none;
    transform: none;
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    justify-content: center;
    flex-wrap: wrap;
    row-gap: 24px;
  }

  .rsnv-pro-expertise__group[aria-hidden="true"] {
    display: none;
  }

  .rsnv-pro-expertise__logos {
    height: auto;
    overflow: visible;
  }

  .rsnv-pro-expertise__group {
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
    padding: 0 20px;
    box-sizing: border-box;
  }
}
