.banner-primary {
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .banner-primary--solib-mob {
    padding: 16px;
    border-radius: 16px;
    border: 1px solid var(--color-grey-transparent);
  }
}

.banner-primary-thumb {
  display: grid;
  gap: 48px;
}

.banner-primary-thumb--four {
  grid-template-columns: repeat(4, 1fr);
}

.banner-primary-thumb--three {
  grid-template-columns: repeat(3, 1fr);
}

.banner-primary-thumb--two {
  grid-template-columns: repeat(2, 1fr);
}

.banner-primary-thumb .swiper-wrapper {
  display: grid;
  gap: 48px;
}

.banner-primary-thumb--four .swiper-wrapper {
  grid-template-columns: repeat(4, 1fr);
}

.banner-primary-thumb--three .swiper-wrapper {
  grid-template-columns: repeat(3, 1fr);
}

.banner-primary-thumb--two .swiper-wrapper {
  grid-template-columns: repeat(2, 1fr);
}

.banner-primary-elem {
  color: #a6a6a6;
  cursor: pointer;
}

.banner-primary-elem--underline {
  position: relative;
}

.banner-primary-elem .title {
  color: #a6a6a6;
  cursor: pointer;
}

.banner-primary-thumb .banner-primary-tab--active .banner-primary-elem,
.banner-primary-thumb .banner-primary-tab--active .banner-primary-elem .title,
.banner-primary-thumb .swiper-slide-thumb-active .banner-primary-elem,
.banner-primary-thumb .swiper-slide-thumb-active .banner-primary-elem .title {
  color: black;
}

.banner-primary-thumb .banner-primary-tab--active .banner-primary-elem--underline:after,
.banner-primary-thumb .swiper-slide-thumb-active .banner-primary-elem--underline:after {
  content: '';
  position: absolute;
  width: 100%;
  height: 4px;
  background-color: #d9d9d980;
  border-radius: 13px;
  bottom: -14px;
  left: 0;
}

.banner-primary-thumb .banner-primary-tab--active .banner-primary-elem--underline:before,
.banner-primary-thumb .swiper-slide-thumb-active .banner-primary-elem--underline:before {
  content: '';
  position: absolute;
  width: 100%;
  height: 4px;
  background-color: #727272b2;
  border-radius: 13px;
  bottom: -14px;
  left: 0;
  transform: scaleX(0);
  transform-origin: left center;
  animation-name: banner-progress-fill;
  animation-delay: 1s;
  animation-duration: 8s;
  animation-timing-function: linear;
  animation-fill-mode: forwards;
}

@keyframes banner-progress-fill {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}

.banner-primary-thumb-mob {
  display: none;
}

.banner-primary-images {
  position: relative;
}

.banner-primary-image img {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
}

.banner-primary-images .swiper-pagination {
  margin-top: 32px;
  display: none;
}

.banner-primary-images .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background-color: #00000099;
  opacity: 0.5;
}

.banner-primary-images .swiper-pagination-bullet-active {
  opacity: 1;
}

.banner-primary-images .swiper-horizontal > .swiper-pagination-bullets,
.banner-primary-images .swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: auto !important;
  top: auto !important;
}

@media screen and (max-width: 1199px) {
  .banner-primary-thumb--four {
    grid-template-columns: repeat(2, 1fr);
    gap: 36px 48px;
  }

  /* Legacy */
  .banner-primary--four .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 36px 48px;
  }
}

@media screen and (max-width: 767px) {
  .banner-primary-thumb {
    display: none;
  }

  .banner-primary__images .swiper-slide {
    padding: 16px 0 0 16px;
    overflow: hidden;
    border-width: 2px;
    border-style: solid;
    border-color: rgba(222, 222, 224, 0.25);
    border-radius: 16px;
  }

  .banner-primary-thumb-mob {
    display: block;
  }

  .banner-primary-images .swiper-pagination {
    display: block;
  }
}
