.b-text {
  z-index: 1;
}

.b-text__bg {
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: -2;
}

.b-text img {
  object-fit: cover;
}

.b-text__title {
  font-size: clamp(43px, 8vw, 83px);
  color: #ffeb6c;
  margin-bottom: 5px;
}

.b-text__text {
  font-size: clamp(21px, 3vw, 32px);
  color: #fff;
}

.b-text__btn {
  min-width: 288px;
  margin-top: clamp(30px, 5vw, 50px);
}

.b-text__top:before,
.b-text__top:after {
  content: '';
  display: block;
  position: absolute;
  z-index: -1;
  background: #ffeb6c;
  top: 0;
  bottom: 0;
  right: 25px;
}

.b-text__top:before {
  width: 4px;
  animation: swing 6s ease-in-out infinite;
  transform-origin: center center;
}

.b-text__top:after {
  width: 2px;
  animation: swing 3s ease-in-out infinite;
  transform-origin: center center;
}

@-moz-keyframes swing {
  0% {
    transform: rotate(0deg);
  }

  25% {
    transform: rotate(2deg);
  }

  50% {
    transform: rotate(0deg);
  }

  75% {
    transform: rotate(-2deg);
  }

  100% {
    transform: rotate(0deg);
  }
}

@-webkit-keyframes swing {
  0% {
    transform: rotate(0deg);
  }

  25% {
    transform: rotate(2deg);
  }

  50% {
    transform: rotate(0deg);
  }

  75% {
    transform: rotate(-2deg);
  }

  100% {
    transform: rotate(0deg);
  }
}

@-o-keyframes swing {
  0% {
    transform: rotate(0deg);
  }

  25% {
    transform: rotate(2deg);
  }

  50% {
    transform: rotate(0deg);
  }

  75% {
    transform: rotate(-2deg);
  }

  100% {
    transform: rotate(0deg);
  }
}

@keyframes swing {
  0% {
    transform: rotate(0deg);
  }

  25% {
    transform: rotate(2deg);
  }

  50% {
    transform: rotate(0deg);
  }

  75% {
    transform: rotate(-2deg);
  }

  100% {
    transform: rotate(0deg);
  }
}

@media screen and (min-width: 576px) {
  .b-text {
    padding: clamp(80px, 12vw, 180px) 0;
  }

  .b-text__text {
    font-weight: bold;
  }

  .b-text__top:before,
  .b-text__top:after {
    right: 8%;
  }
}

@media screen and (min-width: 1400px) {
  .b-text .container {
    max-width: 1346px;
  }
}
@media screen and (min-width: 576px) {
  .b-text .container {
    width: 80%;
  } 
}

@media screen and (max-width: 575px) {
  .b-text {
    background: #a7a9ac;
    padding-bottom: 30px;
  }

  .b-text__top {
    position: relative;
    padding: 10vw 0;
    margin-bottom: 20px;
  }

  .b-text__top .container {
    min-height: 50vw;
  }

  .b-text__text {
    color: #000;
  }

  .b-text__btn {
    width: 100%;
  }
}