/* ===================== INTRO PRELOADER ===================== */
.intro-preloader {
  position: fixed;
  inset: 0;
  background-color: transparent;
  z-index: 9999;
  display: none;
}

html.has-hero-intro .intro-preloader {
  display: block;
}

html.has-hero-intro,
html.has-hero-intro body,
body.is-loading {
  overflow: hidden !important;
}

.has-hero-intro .swiper-slide:first-child .hero-initial-hide > * {
  opacity: 0;
  transform: translateY(20px);
}

.has-hero-intro #rebrand-site-header {
  opacity: 0;
}

/* Preloader SVG */
.preloader-svg {
  position: absolute;
  inset: 0;
}

/* Content wrapper inside preloader */
.content-wrapper {
  max-width: var(--max-viewport-width);
  margin: 0 auto;
  position: relative;
  z-index: 10;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: space-between;
  align-items: center;
  padding: 5rem 1rem;
}

@media (min-width: 1024px) {
  .content-wrapper {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    place-content: center;
  }
}

/* Preloader elements */
.preloader-logo-wrap {
  opacity: 0;
  grid-column: span 2 / span 2;
  transform: translateX(5rem);
  position: relative;
  z-index: 10;
}

.preloader-wordmark-wrap {
  opacity: 0;
  color: var(--kapital-black);
  grid-column: span 2 / span 2;
  position: relative;
  z-index: 10;
}

.preloader-imgs-wrap {
  display: none;
}

@media (min-width: 1024px) {
  .preloader-imgs-wrap {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    align-items: center;
    justify-content: space-between;
    grid-column: span 8 / span 8;
    z-index: 10;
  }
}

#absolute-logo {
  opacity: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(calc(-50% - 320px), -50%);
}

#absolute-logo svg {
  height: 180vw;
  transform: rotate(15deg);
  color: #f6f5f4;
}

.intro-img {
  opacity: 0;
  width: 296px;
  height: 496px;
  object-fit: contain;
  border-radius: 25px;
}

.intro-img-wrap-top {
  transform: translate(-10rem, 2.5rem);
}

.intro-img-wrap-bottom {
  transform: translate(-8rem, 7rem);
}

#mask-rect {
  opacity: 0;
}

@media (max-width: 1023px) {
  .preloader-logo-wrap,
  .intro-img-wrap-top,
  .intro-img-wrap-bottom,
  #absolute-logo {
    display: none !important;
  }
}
