/* Keep Elementor content visible when its WordPress animation bootstrap is absent. */
.elementor-invisible {
  visibility: visible !important;
  opacity: 1 !important;
}

html.static-effects-ready .elementor-invisible.static-reveal:not(.is-visible) {
  visibility: hidden !important;
  opacity: 0 !important;
}

.elementor-invisible.static-reveal.is-visible {
  visibility: visible !important;
  opacity: 1 !important;
  animation-duration: 1.25s;
  animation-fill-mode: both;
  animation-timing-function: cubic-bezier(.215, .61, .355, 1);
}

/* Elementor normally applies this viewport stretch with JavaScript. */
.elementor-section-stretched {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

.static-reveal.static-effect-left.is-visible {
  animation-name: static-bounce-left;
}

.static-reveal.static-effect-right.is-visible {
  animation-name: static-bounce-right;
}

.static-reveal.static-effect-center.is-visible {
  animation-name: static-bounce-center;
}

.static-reveal.static-effect-grow.is-visible {
  animation-name: static-grow;
}

@keyframes static-bounce-left {
  0% {
    opacity: 0;
    transform: translate3d(-3000px, 0, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(25px, 0, 0);
  }
  75% { transform: translate3d(-10px, 0, 0); }
  90% { transform: translate3d(5px, 0, 0); }
  100% {
    opacity: 1;
    transform: none;
  }
}

@keyframes static-bounce-right {
  0% {
    opacity: 0;
    transform: translate3d(3000px, 0, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(-25px, 0, 0);
  }
  75% { transform: translate3d(10px, 0, 0); }
  90% { transform: translate3d(-5px, 0, 0); }
  100% {
    opacity: 1;
    transform: none;
  }
}

@keyframes static-bounce-center {
  0% {
    opacity: 0;
    transform: scale3d(.3, .3, .3);
  }
  20% { transform: scale3d(1.1, 1.1, 1.1); }
  40% { transform: scale3d(.9, .9, .9); }
  60% {
    opacity: 1;
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% { transform: scale3d(.97, .97, .97); }
  100% {
    opacity: 1;
    transform: scale3d(1, 1, 1);
  }
}

@keyframes static-grow {
  0% {
    opacity: 0;
    transform: scale3d(.75, .75, .75);
  }
  100% {
    opacity: 1;
    transform: scale3d(1, 1, 1);
  }
}

/* Static hosting has no WordPress comment endpoint. */
#comments,
.comments-area {
  display: none !important;
}

/* Fallback for the homepage Revolution Slider canvas on static hosting. */
.static-home-hero {
  position: relative;
  min-height: min(868px, 100vh);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  color: #fff;
  text-align: center;
  background: #1f1d24;
  z-index: 0;
}

.static-home-hero-slide {
  position: absolute;
  inset: 0;
  background-position: center;
  background-size: cover;
  opacity: 0;
  animation: static-hero-slide 18s ease-in-out infinite;
  transition: opacity 1.2s ease-in-out;
}

.static-home-hero-slide:nth-child(1) {
  animation-delay: 0s;
}

.static-home-hero-slide:nth-child(2) {
  animation-delay: 9s;
}

.static-home-hero-slide::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(rgba(0, 0, 0, .2), rgba(0, 0, 0, .38));
  content: '';
}

.static-home-hero-slide.is-active {
  opacity: 1;
}

.static-home-hero ~ sr7-module {
  display: none !important;
}

@keyframes static-hero-slide {
  0%, 45% { opacity: 1; }
  55%, 100% { opacity: 0; }
}

.static-home-hero-content {
  position: relative;
  z-index: 1;
  padding: 3rem 1.5rem;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .45);
  transition: opacity .6s ease;
  animation: static-hero-content 18s ease-in-out infinite;
}

.static-home-hero.is-secondary .static-home-hero-content {
  opacity: 0;
}

.static-home-hero-content-secondary {
  position: absolute;
  z-index: 1;
  padding: 3rem 1.5rem;
  opacity: 0;
  text-align: center;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .45);
  animation: static-hero-content-secondary 18s ease-in-out infinite;
}

.static-home-hero-content-secondary h2 {
  margin: 0 0 1rem;
  color: #fff;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.25rem, 5vw, 4.75rem);
  font-weight: 400;
  line-height: 1.08;
}

.static-home-hero-content-secondary p {
  margin: 0;
  color: #cdb083;
  font-size: clamp(.8rem, 1.5vw, 1.05rem);
  font-weight: 700;
  letter-spacing: .18em;
}

@keyframes static-hero-content-secondary {
  0%, 45% { opacity: 0; }
  55%, 95% { opacity: 1; }
  100% { opacity: 0; }
}

@keyframes static-hero-content {
  0%, 45% { opacity: 1; }
  55%, 100% { opacity: 0; }
}

.static-home-hero h1 {
  margin: 0 0 1rem;
  color: inherit;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.25rem, 5vw, 4.75rem);
  font-weight: 400;
  line-height: 1.08;
}

.static-home-hero p {
  margin: 0;
  color: inherit;
  font-size: clamp(.8rem, 1.5vw, 1.05rem);
  letter-spacing: .18em;
}

@media (max-width: 768px) {
  .static-home-hero {
    min-height: 560px;
  }
}
