/* =========================================================
   Professional Pioneers v1.9.97
   Global footer logo sizing + homepage Services title motion.
   This file is injected on every public page through app.php.
========================================================= */

/* Keep the footer logo at the same compact size on every page,
   not only on the homepage where home-layout-v1994.css is loaded. */
html body .pp-main-footer .pp-footer-logo-link .pp-footer-logo,
html body footer.pp-main-footer .pp-footer-logo {
  display: block !important;
  width: 75px !important;
  max-width: 75px !important;
  height: auto !important;
  object-fit: contain !important;
}

@media (max-width: 991px) {
  html body .pp-main-footer .pp-footer-logo-link .pp-footer-logo,
  html body footer.pp-main-footer .pp-footer-logo {
    width: 65px !important;
    max-width: 65px !important;
  }
}

@media (max-width: 767px) {
  html body .pp-main-footer .pp-footer-logo-link .pp-footer-logo,
  html body footer.pp-main-footer .pp-footer-logo {
    width: 56px !important;
    max-width: 56px !important;
  }
}

@media (max-width: 430px) {
  html body .pp-main-footer .pp-footer-logo-link .pp-footer-logo,
  html body footer.pp-main-footer .pp-footer-logo {
    width: 49px !important;
    max-width: 49px !important;
  }
}

/* Homepage Services: title begins exactly in the card centre and
   rises vertically to the top over three seconds. It stays centered
   horizontally instead of drifting left or right. */
html body #services.pp-services-section .pp-service-content,
html body .pp-services-section#services .pp-service-content {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  right: auto !important;
  width: min(86%, 420px) !important;
  padding: 0 !important;
  transform: translate(-50%, -50%) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  transition:
    top 3s cubic-bezier(.22,.61,.36,1),
    left 3s cubic-bezier(.22,.61,.36,1),
    transform 3s cubic-bezier(.22,.61,.36,1),
    width 3s cubic-bezier(.22,.61,.36,1) !important;
  will-change: top, transform !important;
}

html body #services.pp-services-section .pp-service-title,
html body .pp-services-section#services .pp-service-title,
html[dir="rtl"] body #services.pp-services-section .pp-service-title,
html[dir="rtl"] body .pp-services-section#services .pp-service-title {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  transform: none !important;
  transition: transform 3s cubic-bezier(.22,.61,.36,1) !important;
}

html body #services.pp-services-section .pp-service-card:hover .pp-service-content,
html body #services.pp-services-section .pp-service-card:focus-within .pp-service-content,
html body #services.pp-services-section .pp-service-card:active .pp-service-content,
html body .pp-services-section#services .pp-service-card:hover .pp-service-content,
html body .pp-services-section#services .pp-service-card:focus-within .pp-service-content,
html body .pp-services-section#services .pp-service-card:active .pp-service-content {
  top: 18px !important;
  left: 50% !important;
  width: calc(100% - 36px) !important;
  transform: translateX(-50%) !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: center !important;
}

html body #services.pp-services-section .pp-service-card:hover .pp-service-title,
html body #services.pp-services-section .pp-service-card:focus-within .pp-service-title,
html body #services.pp-services-section .pp-service-card:active .pp-service-title,
html body .pp-services-section#services .pp-service-card:hover .pp-service-title,
html body .pp-services-section#services .pp-service-card:focus-within .pp-service-title,
html body .pp-services-section#services .pp-service-card:active .pp-service-title,
html[dir="rtl"] body #services.pp-services-section .pp-service-card:hover .pp-service-title,
html[dir="rtl"] body #services.pp-services-section .pp-service-card:focus-within .pp-service-title,
html[dir="rtl"] body #services.pp-services-section .pp-service-card:active .pp-service-title,
html[dir="rtl"] body .pp-services-section#services .pp-service-card:hover .pp-service-title,
html[dir="rtl"] body .pp-services-section#services .pp-service-card:focus-within .pp-service-title,
html[dir="rtl"] body .pp-services-section#services .pp-service-card:active .pp-service-title {
  text-align: center !important;
}

@media (max-width: 767px) {
  html body #services.pp-services-section .pp-service-content,
  html body .pp-services-section#services .pp-service-content {
    top: 50% !important;
    width: min(88%, 360px) !important;
  }

  html body #services.pp-services-section .pp-service-card:hover .pp-service-content,
  html body #services.pp-services-section .pp-service-card:focus-within .pp-service-content,
  html body #services.pp-services-section .pp-service-card:active .pp-service-content,
  html body .pp-services-section#services .pp-service-card:hover .pp-service-content,
  html body .pp-services-section#services .pp-service-card:focus-within .pp-service-content,
  html body .pp-services-section#services .pp-service-card:active .pp-service-content {
    top: 14px !important;
    left: 50% !important;
    width: calc(100% - 28px) !important;
    transform: translateX(-50%) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body #services.pp-services-section .pp-service-content,
  html body #services.pp-services-section .pp-service-title,
  html body .pp-services-section#services .pp-service-content,
  html body .pp-services-section#services .pp-service-title {
    transition-duration: .01ms !important;
  }
}
