/* ==========================================================================
   Site utilities
   ========================================================================== */

:root {
}

body {
  overflow-x: hidden !important;
  width: 100%;
}


html {
  overflow-wrap: break-word;
  word-wrap: break-word;
  hyphens: auto;
  -webkit-hyphens: auto;
  overflow-x: hidden !important;
  width: 100%;
}

p,
li {
  hyphens: auto;
  -webkit-hyphens: auto;
}

.auto-stack-spacing .elementor > .e-con + .e-con,
.auto-stack-spacing > .elementor-widget-container > .elementor > .elementor-section-wrap > .e-con + .e-con,
.auto-stack-spacing > .elementor-widget-container > .elementor > .e-con + .e-con,
.auto-stack-spacing .elementor-edit-area-active > .elementor-section-wrap > .e-con + .e-con {
  margin-top: 32px;
}

@media (max-width: 767px) {
  .auto-stack-spacing .elementor > .e-con + .e-con,
  .auto-stack-spacing > .elementor-widget-container > .elementor > .elementor-section-wrap > .e-con + .e-con,
  .auto-stack-spacing > .elementor-widget-container > .elementor > .e-con + .e-con,
  .auto-stack-spacing .elementor-edit-area-active > .elementor-section-wrap > .e-con + .e-con {
    margin-top: 24px;
  }
}

@view-transition {
    navigation: auto;
}

.main-header {
    view-transition-name: main-header;
}

::view-transition-old(main-header),
::view-transition-new(main-header) {
    animation: none;
}

::view-transition-old(root) {
    animation: page-out 160ms ease-out both;
}

::view-transition-new(root) {
    animation: page-in 450ms cubic-bezier(.16, 1, .3, 1) both;
}

@keyframes page-out {
    to {
        opacity: 0;
    }
}

@keyframes page-in {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ==========================================================================
   Reveal on scroll
   ========================================================================== */

.reveal-on-scroll {
  opacity: 0;
  transform: translateY(24px);
  will-change: opacity, transform;
  transition: none !important;
}

body.elementor-editor-active .reveal-on-scroll {
  opacity: 1 !important;
  transform: none !important;
}

@media (max-width: 767px) {
  .reveal-on-scroll {
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
    will-change: auto;
  }
}