*,
:after,
:before {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.scroll__hidden {
  overflow-x: hidden !important;
  overflow-y: scroll;
  height: 100vh;
}
.scroll__hidden-wrapper {
  max-height: 100vh;
  overflow: hidden;
}
.wrapper {
  min-height: 100dvh;
  width: 100%;
}
.preloader {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 999;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.preloader-bg {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
@media screen and (max-width: 650px) {
  .preloader-bg {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.preloader-line {
  background: var(--white);
}
@media screen and (max-width: 650px) {
  .preloader-line {
    display: none;
  }
}
.preloader-line-mob {
  display: block;
}
.preloader-content {
  position: relative;
  z-index: 3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.2rem;
}
@media screen and (max-width: 650px) {
  .preloader-content {
    gap: 0.8rem;
  }
}

.test {
  position: absolute;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.test path {
  fill: var(--red);
}
.preloader-text {
  font-size: max(18px, 3.6rem);
  line-height: 125%;
  text-wrap: balance;
  line-height: unset;
  overflow: hidden;
  visibility: hidden;
}
@media screen and (max-width: 650px) {
  .preloader-text {
    font-size: max(18px, 2.2rem);
    line-height: 120%;
  }
}
@media screen and (max-width: 650px) {
  .preloader-text {
    font-size: 6.7rem;
    line-height: 120%;
    letter-spacing: -0.014em;
  }
}
@media screen and (max-width: 650px) and (max-width: 650px) {
  .preloader-text {
    font-size: 2.8rem;
    letter-spacing: 0;
  }
}
.main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  min-height: 100dvh;
}



:root {
  --white: #fff;
  --transition-speed: cubic-bezier(0.28, 0.11, 0.32, 1);
  --transition-fast: 0.21s var(--transition-speed);
  --transition-default: 0.42s var(--transition-speed);
  --transition-slow: 1.32s var(--transition-speed);
}