:root {
  --main-color:           #000000;
  --secondary-color:      #858585;
  --focus-color:          #0047FF;
  --accent-color:         #7354fe;
  --gradient:             linear-gradient(90deg, rgba(113, 86, 255, 1) 35%, rgba(158, 55, 255, 1) 100%);
  --gradient-70:          linear-gradient(90deg, rgba(113, 86, 255, 0.70) 35%, rgba(158, 55, 255, 0.70) 100%);
  --gradient-90:          linear-gradient(90deg, rgba(113, 86, 255, 0.90) 35%, rgba(158, 55, 255, 0.90) 100%);
}

*,
*:before,
*:after {
  box-sizing: border-box;
}

.svg-sprite {
  position: absolute;
  left: -9999px;
  top: -9999px;
  height: 0;
  width: 0;
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
}

.icon {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  flex-shrink: 0;
}

html,
body {
  display: flex;
  flex-direction: column;
}

html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  scroll-behavior: smooth;
}

html.behavior-auto {
  scroll-behavior: auto;
}

html.is-loading:before,
html.is-loading:after {
  content: '';
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 99999998;
}

html.is-loading:before {
  background: rgb(0 0 0 / 70%);
}

html.is-loading:after {
  width: 50px;
  height: 50px;
  margin: auto;
  border: 2px solid #fff;
  border-right-color: transparent;
  border-radius: 50%;
  animation: rotate 1s linear infinite;
  z-index: 99999999;
}

@keyframes rotate {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

body {
  font-family: 'Poppins', Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 24px;
  background-color: #000;
  background-image: url('../images/page-bg-products.png');
  background-position: center top;
  background-repeat: no-repeat;
  color: #fff;
  min-width: 320px;
  min-height: 100vh;
  margin: 0;
}

.home-page body {
  background-image: url('../images/page-bg-home.jpg');
}

@media (min-width: 1790px) {
  .home-page body {
    background-size: 100% auto;
  }
}

.products-page body {
  background-image: url('../images/page-bg-products.png');
}

.about-page body {
  background-image: url('../images/page-bg-about.png');
}

.partner-page body {
  background-image: url('../images/page-bg-partner.png');
}

.contacts-page body {
  background-image: url('../images/page-bg-contacts.png');
}

button,
input,
optgroup,
select,
textarea {
  font: inherit;
  color: inherit;
  margin: 0;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
}

button::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

:active,
:focus {
  outline: none;
}

img {
  vertical-align: middle;
  border: none;
  max-width: 100%;
  height: auto;
}

b,
strong {
  font-weight: bold;
}

a {
  text-decoration: none;
  color: inherit;
  transition: color 0.15s ease-in-out;
}

.text {
  font-size: 18px;
  line-height: 1.4;
}

.text a {
  color: var(--accent-color);
}

.text a:hover {
  text-decoration: underline;
}

p,
ul,
ol,
dl,
pre,
table,
figure,
address,
fieldset,
blockquote {
  margin: 0 0 16px 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: inherit;
  font-weight: 700;
  line-height: 1;
  color: inherit;
  margin: 0 0 16px 0;
}

h1,
.h1 {
  font-size: 76px;
}

h2,
.h2 {
  font-size: 50px;
}

h3,
.h3 {
  font-size: 36px;
}

h4,
.h4 {
  font-size: 32px;
}

h5,
.h5 {
  font-size: 24px;
}

h6,
.h6 {
  font-size: 18px;
}

@media (min-width: 1430px) {
  .container {
    max-width: 1392px;
  }
}

.container {
  --bs-gutter-x: 30px;
}

.row {
  --bs-gutter-x: 20px;
}

.row.gx-4 {
  --bs-gutter-x: 30px;
}

.color-red {
  color: red;
}

.form-group {
  margin-bottom: 43px;
}

.form-control,
.form-select {
  display: block;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  appearance: none;
  border: none;
  width: 100%;
  height: 60px;
  font-size: 17px;
  line-height: 24px;
  font-weight: bold;
  padding: 18px 18px;
  border-radius: 8px;
  background-color: #fff;
  color: var(--main-color);
  transition: 0.15s ease-in-out;
  transition-property: color, background-color, box-shadow;
}

.form-control::placeholder {
  color: var(--secondary-color);
}

input.form-control::placeholder {
  font-size: 15px;
}

.form-control:focus::placeholder {
  color: transparent;
}

.form-select {
  max-width: 100%; 
  margin: 0;
  padding-right: 40px;
  background-image: url('../images/select-arrow.svg');
  background-repeat: no-repeat;
  background-position: right 18px center;
  background-size: 11px 6px;
}

.form-select.is-empty {
  color: var(--secondary-color);
  font-size: 15px;
}

.form-select option {
  font-size: 17px;
  color: var(--main-color);
}

.form-select::-ms-expand {
  display: none;
}

textarea.form-control {
  max-width: 100%;
  min-width: 100%;
  overflow: auto;
  height: auto;
  resize: none;
  font-size: 18px;
  line-height: 28px;
}

.form-control:focus,
.form-select:focus {
  outline: none;
}

.form-control[disabled],
.form-select[disabled] {
  background-color: #f5f5f5;
  color: var(--secondary-color);
  opacity: 1;
  cursor: default;
  cursor: not-allowed;
}

.form-control.error,
.form-select.error {
  background-color: #ffe5e5;
}

.btn {
  display: inline-block;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  text-decoration: none;
  user-select: none;
  cursor: pointer;
  border: none;
  background-color: #000;
  background-image: var(--gradient);
  color: #fff;
  font-weight: 900;
  font-size: 23px;
  line-height: 24px;
  padding: 20px 31px;
  border-radius: 10px;
  letter-spacing: -0.04em;
  transition: 0.15s ease-in-out;
}

.btn:hover {
  background-image: var(--gradient-90);
}

.btn:active {
  background-image: var(--gradient-70);
}

.btn:focus-visible {
  box-shadow: 0 0 0 2px var(--focus-color) inset;
}

.btn_round {
  border-radius: 100px;
}

.btn_outline {
  background-image: none;
  background-color: transparent;
  box-shadow: 0 0 0 1px #fff inset;
}

.btn_outline:hover {
  background-image: var(--gradient);
}

.btn_outline:active {
  background-color: #000;
  background-image: var(--gradient-70);
}

.btn_white {
  background-image: none !important;
  background-color: #fff;
  color: var(--main-color);
}

.btn_white:hover {
  background-color: #B8B8B8;
  color: var(--main-color);
}

.btn_white:active {
  background-color: #969696;
  color: var(--main-color);
}

.btn_black {
  background-image: none !important;
  background-color: #000;
  color: #fff;
}

.btn_black:hover {
  background-color: #B8B8B8;
  color: #fff;
}

.btn_black:active {
  background-color: #969696;
  color: #fff;
}

.btn_border {
  position: relative;
  z-index: 1;
  color: var(--main-color);
}

.btn_border:hover {
  color: var(--main-color);
}

.btn_border:active {
  color: var(--main-color);
}

.btn_border:before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: 2px;
  border-radius: 8px;
  z-index: -1;
  background-color: #fff;
}

.btn_border.btn_round:before {
  border-radius: 100px;
}

.btn_border:hover:before {
  background-color: #B8B8B8;
}

.btn_border:active:before {
  background-color: #969696;
}

.btn_arrow {
  background-image: none !important;
  background-color: transparent;
  box-shadow: 0 0 0 1px #fff inset;
  border-radius: 100px;
}

.btn_arrow:hover {
  background-color: #fff;
  color: var(--main-color);
}

.btn_arrow:active {
  background-color: #D9D9D9;
  color: var(--main-color);
}

.btn_block {
  width: 100%;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.btn[disabled],
.btn.is-disabled {
  opacity: .55;
  cursor: default;
  cursor: not-allowed;
}

.btn .icon {
  margin-top: -1.03%;
}

.form-label {
  display: block;
  font-size: 15px;
  line-height: 22px;
  font-weight: bold;
  color: #fff;
  margin-bottom: 10px;
}

.section_white .form-label {
  color: var(--secondary-color);
}

.form-field {
  padding: 2px;
  border-radius: 10px;
  background: var(--gradient);
}

.form-textarea {
  margin-top: 56px;
  position: relative;
}

.form-textarea__bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border-radius: 22px;
  clip-path: url(#textarea-1);
  transform: rotate(180deg);
  background: linear-gradient(22deg, #7156FF 20%, #9E37FF 80%);
}

.form-textarea__bg:before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: 2px;
  background: #fff;
  border-radius: 20px;
  clip-path: url(#textarea-1-1);
}

.form-textarea_2 .form-textarea__bg {
  clip-path: url(#textarea-2);
}

.form-textarea_2 .form-textarea__bg:before {
  clip-path: url(#textarea-2-1);
}

.form-textarea__content {
  display: block;
  padding: 2px 2px 75px;
  position: relative;
}

.form-textarea_2 .form-textarea__content {
  padding-bottom: 66px;
}

.form-textarea textarea {
  border-radius: 20px 20px 10px 0;
  background: none !important;
  border: none !important;
  outline: none !important;
  max-height: 1912px !important;
  position: relative;
  padding-bottom: 3px;
}

.form-textarea_2 textarea {
  padding-bottom: 14px;
}

.form-textarea__footer {
  position: absolute;
  right: 0;
  bottom: 0;
}

.form-textarea__footer .btn {
  padding: 0;
  width: 144px;
  height: 68px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.form-textarea_2 .form-textarea__footer .btn {
  width: 95px;
  height: 54px;
}

.close-btn {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  border: none;
  background: none;
  padding: 0;
  width: 40px;
  height: 40px;
  color: var(--main-color);
}

.close-btn:hover {
  color: var(--accent-color);
}

.close-btn:before,
.close-btn:after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 20px;
  border-bottom: 2px solid;
  margin: -1px 0 0 -10px;
  transform: rotate(45deg);
}

.close-btn:after {
  transform: rotate(-45deg);  
}

.popup-window {
  background: #fff;
  color: var(--main-color);
  padding: 50px 100px;
  width: 950px;
  border-radius: 50px;
  overflow: visible;
}

.popup-window:not(.fancybox__content) {
  display: none;
}

.popup-window .close-btn {
  position: absolute;
  right: 0;
  top: 0;
}

.popup-window__logo {
  text-align: center;
  margin-bottom: 64px;
}

.popup-window__content {
  font-size: 24px;
  font-weight: 400;
  line-height: 102.8%;
  text-align: center;
}

.popup-window h2,
.popup-window .h2 {
  font-size: 44px;
  font-weight: 700;
  line-height: 102.8%;
  margin-bottom: 31px;
}

.popup-window__buttons {
  margin: 53px auto 0;
  max-width: 584px;
  width: 100%;
}

.popup-window__buttons .row {
  --bs-gutter-x: 42px;
}

.popup-window__buttons .btn {
  font-size: 30px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.45px;
  text-transform: uppercase;
}

.swiper-button-prev,
.swiper-button-next {
  width: 34px;
  height: 60px;
}

.swiper-button-prev:focus-visible,
.swiper-button-next:focus-visible {
  box-shadow: 0 0 0 2px var(--focus-color) inset;
}

.swiper-button-prev:after,
.swiper-button-next:after {
  display: none;
}

.swiper-button-prev:before,
.swiper-button-next:before {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 44px;
  height: 44px;
  margin: -22px;
  background: #fff;
  --stroke: 2px;
  clip-path: polygon(0 0, 100% 0, 100% 100%, calc(100% - var(--stroke)) 100%, calc(100% - var(--stroke)) var(--stroke), 0 var(--stroke));
}

.swiper-button-prev:hover:before,
.swiper-button-next:hover:before {
  background: linear-gradient(90deg, #7156FF 35.62%, #9E37FF 100%);
}

.swiper-button-prev:before {
  transform: translateX(14px) rotate(225deg);
}

.swiper-button-next:before {
  transform: translateX(-14px) rotate(45deg);
}

.swiper-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
}

.swiper-pagination-bullet {
  margin: 0 !important;
  width: 40px;
  height: 40px;
  border-radius: 0;
  background: none !important;
  position: relative;
  opacity: 1;
}

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

.swiper-pagination-bullet:focus-visible {
  box-shadow: 0 0 0 2px var(--focus-color) inset;
}

.swiper-pagination-bullet:before {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 20px;
  height: 20px;
  margin: -10px;
  background: #fff;
  border-radius: 50%;
  opacity: 1;
}

.swiper-pagination-bullet:not(.swiper-pagination-bullet-active):before {
  opacity: .26;
  transform: scale(.75);
}

.menu-popup__bg,
.menu-popup__close {
  display: none;
}

.content {
  flex-grow: 1;
  min-height: 1px;
}

.logo {

}

.logo img {

}

.search {
  width: 201px;
}

.search__form {

}

.search__wrapper {
  position: relative;
}

.search__input {
  font-size: 14px;
  line-height: 21px;
  letter-spacing: -0.045em;
  height: 37px;
  padding: 8px 12px;
  padding-right: 40px;
  border-radius: 100px;
  color: rgba(113, 86, 255, 1);
}

input.search__input::placeholder {
  font-size: 14px;
}

.search__input:focus::placeholder {
  color: transparent;
}

.search__input:hover {

}

.search__input:focus-visible {
  box-shadow: 0 0 0 2px var(--focus-color) inset;
}

.search__btn {
  position: absolute;
  right: 0;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background-color: #000;
  background-image: var(--gradient);
  color: var(--main-color);
  width: 37px;
  height: 37px;
  border-radius: 50%;
  transition: 0.15s ease-in-out;
}

.search__btn:hover,
.search:hover .search__btn {
  color: #fff;
}

.search__input:focus-visible ~ .search__btn,
.search__btn:focus-visible {
  box-shadow: 0 0 0 2px var(--focus-color) inset;
}

.header {

}

.header__warning {
  background: #fff;
  text-align: center;
  font-size: 14px;
  line-height: 20px;
  color: #7E7E7E;
  padding: 20px 0;
}

.header__warning strong {
  font-weight: bold;
  color: var(--main-color);
  margin-right: 0.35em;
}

.header__content {
  padding-top: 52px;
}

.header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.header__logo {
  flex-shrink: 0;
  min-width: 201px;
}

.header__nav {

}

.nav {
  font-size: 18px;
  line-height: 102.8%;
  font-weight: bold;
  letter-spacing: -0.05em;
}

.nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
}

.nav li {
  margin: 0 9px;
}

.nav a {
  display: block;
  position: relative;
}

.nav a:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 2px;
  background: var(--gradient);
  transition: 0.15s ease-in-out;
}

.nav a:not(.is-active):hover:after {
  width: calc(100% - 7px);
}

.nav a.is-active {
  color: rgba(113, 86, 255, 1);
}

@supports ((background-clip: text) or (-webkit-background-clip: text)) {
  .nav a.is-active {
    color: transparent;
    background: var(--gradient);
    -webkit-background-clip: text;
    background-clip: text;
  }
}

.header__search {

}

.header__burger {
  display: none;
}

.content {

}

.page-layout {

}

.page-layout__aside {

}

.page-layout__content {

}

.page-name {
  position: relative;
  font-size: 70px;
  line-height: 0.8;
  font-weight: 700;
  white-space: nowrap;
  color: var(--main-color);
  letter-spacing: 0.025em;
  text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff;
}

@supports ((text-stroke: 1px white) or (-webkit-text-stroke: 1px white)) {
  .page-name {
    color: transparent;
    -webkit-text-stroke: 1px white;
    text-stroke: 1px white;
    text-shadow: none;
  }
}

.page-name__inner {
  position: absolute;
  left: 100%;
  top: 0;
  transform: rotate(90deg);
  transform-origin: left top;
}

.about-page .page-name {
  font-size: 80px;
  word-spacing: 0.12em;
}

.page-header {
  display: flex;
  align-items: center;
  margin-bottom: 38px;
}

.page-header img {
  position: relative;
  top: -2px;
  margin-right: 20px;
}

.page-header h1,
.page-header .h1 {
  margin: 0;
}

.breadcrumbs {
  margin: 82px 0 28px;
  font-size: 32px;
  font-weight: 500;
  line-height: normal;
  letter-spacing: -1.6px;
}

.breadcrumbs ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
}

.breadcrumbs li {

}

.breadcrumbs li:not(:last-child):after {
  content: '/';
  opacity: .4;
  margin: 0 0.25em;
}

.breadcrumbs a {
  opacity: .4;
}

.breadcrumbs a:hover,
.breadcrumbs a.is-active {
  opacity: 1;
}

.aside {
  background: var(--gradient);
  color: #fff;
  border-radius: 10px;
  padding: 42px 38px 74px 32px;
  max-width: 326px;
  font-size: 14px;
  line-height: 21px;
  font-weight: 600;
  letter-spacing: -0.05em;
}

.aside__item:not(:last-child) {
  margin-bottom: 26px;
  padding-bottom: 15px;
  border-bottom: 1px solid;
}

.aside__item-title {
  font-size: 40px;
  line-height: 1;
  font-weight: 600;
  letter-spacing: -0.05em;
  margin-bottom: 12px;
}

.aside__item-title small {
  font-size: 0.5em;
  line-height: 1;
  letter-spacing: -0.05em;
}

.aside__item-text:not(:last-child) {
  margin-bottom: 12px;
}

.aside_contacts {
  font-weight: normal;
  line-height: 102.8%;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  padding: 32px 38px 64px 32px;
}

.aside_contacts .aside__item-title {
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}

.aside_contacts .aside__item:not(:last-child) {
  margin-bottom: 15px;
}

.aside_contacts .aside__item-text strong {
  display: block;
  font-weight: 500;
}

.aside_contacts .aside__item-text strong:not(:last-child) {
  margin-bottom: 6px;
}

.footer {
  border-top: 1px solid #fff;
  position: relative;
}

.footer__inner {
  display: flex;
}

.footer__aside {
  background: #7156FF;
  background: linear-gradient(90deg, #7156FF, #9E37FF);
  color: #fff;
  margin-right: 40px;
  flex: 0 0 auto;
  width: 462px;
  padding: 40px 57px 30px 0;
}

.footer__aside:before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 50%;
  margin-right: 681px;
  background: #7156FF;
}

.product-verification {
    min-height: 100%;
    display: flex;
    flex-direction: column;
}

.product-verification__title {
  font-size: 36px;
  line-height: 1;
  font-weight: bold;
  letter-spacing: 0.018em;
  margin-bottom: 18px;
}

.product-verification__text {
  font-size: 18px;
  line-height: 130%;
  margin-bottom: 23px;
}

.product-verification__form {
  margin-bottom: 39px;
}

.product-verification__form-row {
  display: flex;
}

.product-verification__input-wrapper {
  flex-grow: 1;
  min-width: 1px;
}

.product-verification__input {
  font-size: 14px;
  border-radius: 10px;
  height: 52px;
  padding: 14px;
}

input.product-verification__input::placeholder {
  font-size: 14px;
  font-weight: normal;
}

.product-verification__btn-wrapper {
  margin-left: 47px;
}

.product-verification__btn {
  padding: 14px 20px;
  min-width: 146px;
}

.product-verification__footer {
  font-size: 13px;
  margin-top: auto;
}

.footer__content {
  flex-grow: 1;
  min-width: 1px;
  padding: 40px 0;
}

.footer__main {

}

.footer__section-title {
  color: #A1A1A1;
  font-size: 16px;
  line-height: 102.8%;
  letter-spacing: -0.01em;
  margin-bottom: 16px;
}

.footer__nav,
.footer__contacts {
  font-size: 20px;
  line-height: 102.8%;
  letter-spacing: -0.01em;
}

.footer__nav ul,
.footer__contacts ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer__nav li,
.footer__contacts li {
  margin-bottom: 17px;
}

.footer__nav a {
  display: inline-block;
  vertical-align: top;
  position: relative;
}

.footer__nav a:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 2px;
  background: var(--gradient);
  transition: 0.15s ease-in-out;
}

.footer__nav a:hover {

}

.footer__nav a.is-active {
  font-size: 18px;
  font-weight: bold;
  letter-spacing: -0.05em;
}

.footer__nav a.is-active:after,
.footer__nav a:hover:after {
  width: calc(100% - 7px);
}

.footer__bottom {
  margin-top: 30px;
}

.footer__logo {

}

.footer__logo img {
  display: block;
  height: 21px;
  width: auto;
}

.footer__social {
    max-width: 240px;
}

.footer__social ul {
  margin: -10px -5px 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}

.footer__social li {
  margin: 10px 5px 0;
}

.footer__social a {
  display: block;
  height: 21px;
  width: auto;
}

.footer__social .icon {
  display: block;
}

.footer__social a:hover {
  color: var(--accent-color);
}

.footer__qr {
  padding-left: 40px;
}

.footer__qr-item {
  width: 120px;
  margin-bottom: 15px;
}

.footer__qr-item:last-child {
  margin-bottom: 0;
}

.footer__qr-item img {
  display: block;
  width: 100%;
  height: auto;
}

.section {
  padding: 100px 0;
}

.section_white {
  background: #fff;
  color: var(--main-color);
}

.about {
  max-width: 671px;
}

.about-list {
  display: flex;
  flex-wrap: wrap;
  margin: -32px -10px 0;
  font-size: 15px;
  line-height: 22px;
}

.about-list__item {
  flex: 0 0 auto;
  width: 25%;
  padding: 0 10px;
  margin-top: 68px;
  text-align: center;
}

.about-list__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 85px;
}

.about-list__icon img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}

.about-list__text {
  margin-top: 13px;
}

.contacts-form-wrapper {
  max-width: 556px;
  margin-left: auto;
  margin-top: 109px;
  margin-bottom: -24px;
}

.contacts-form-wrapper .form-group {
  margin-bottom: 24px;
}

.contacts-form-wrapper .form-textarea {
  margin-top: 33px;
}

.partner-form-wrapper {
  max-width: 666px;
  margin-left: auto;
  margin-bottom: -43px;
  padding-top: 67px;
}

.partner-form-wrapper h2 {
  margin-bottom: 51px;
}

.become-partner {
  overflow: hidden;
}

.become-partner__inner {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  height: 665px;
}

.become-partner__header {
  position: absolute;
  left: 0;
  right: 0;
  top: 90px;
  display: flex;
  justify-content: center;
  z-index: 2;
}

.become-partner__title {
  position: relative;
  font-family: 'Raleway', Helvetica, Arial, sans-serif;
  font-size: 170px;
  line-height: 1;
  font-weight: 700;
  white-space: nowrap;
  text-transform: uppercase;
  color: var(--main-color);
  text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff;
}

@supports ((text-stroke: 1px white) or (-webkit-text-stroke: 1px white)) {
  .become-partner__title {
    color: transparent;
    -webkit-text-stroke: 1px white;
    text-stroke: 1px white;
    text-shadow: none;
  }
}

.become-partner__content {
  position: relative;
  z-index: 1;
}

.become-partner__content-image {
  position: absolute;
  left: 0;
  bottom: 10px;
}

.become-partner__content-image img {
  display: block;
  max-width: none;
}

.become-partner__content-text {
  position: relative;
  font-family: 'Raleway', Helvetica, Arial, sans-serif;
  font-size: 18px;
  line-height: 24px;
  width: 390px;
  padding: 0 57px 41px 57px;
}

.become-partner__aside {
  width: 281px;
  margin-bottom: 47px;
  position: relative;
  z-index: 3;
}

.become-partner__aside-icon {
  margin-bottom: 73px;
}

.become-partner__aside-icon img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 43px;
}

.become-partner__aside-btn {
  padding: 0 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  white-space: normal;
  text-align: left;
  height: 66px;
}

.partners-aside-image {
  position: absolute;
  right: -21px;
  top: -331px;
  max-width: none;
  pointer-events: none;
}

.partners-aside-wrapper {
  position: relative;
  height: 100%;
}

.partners-aside {
  background: var(--gradient);
  color: #fff;
  min-height: 100%;
  border-radius: 20px;
  position: relative;
  padding: 50px 30px 100px;
  font-size: 16px;
  line-height: 24px;
  font-weight: 500;
}

.partners-aside__logo {
  margin-bottom: 97px;
}

.partners-aside__slider {

}

.partners-aside__slider-item {

}

.partners-aside__title {
  font-weight: bold;
  font-size: 53px;
  line-height: 1.1;
  margin-bottom: 36px;
}

.partners-aside__text {
  max-width: 370px;
  margin-bottom: 38px;
}

.partners-aside__global-btn {
  display: block;
  border: none;
  background: none;
  padding: 0;
  text-align: left;
}

.partners-aside__global-btn-title {
  display: block;
  font-weight: bold;
  font-size: 64px;
  line-height: 1.1;
  margin-bottom: 67px;
}

.partners-aside__global-btn-icon {
  display: block;
}

.partners-aside__global {
  font-family: 'Raleway', Helvetica, Arial, sans-serif;
  max-width: 300px;
  min-height: 306px;
}

.partners-aside__global-item {
  margin-bottom: 25px;
  position: relative;
  padding-left: 15px;
}

.partners-aside__global-item:before {
  content: '';
  position: absolute;
  left: 0;
  top: 5px;
  bottom: 5px;
  width: 5px;
  background: #000;
}

.partners-aside__global-title {
  font-size: 18px;
  line-height: 1.25;
  font-weight: bold;
}

.partners-aside__global-text {
  font-size: 14px;
  line-height: 21px;
  font-weight: normal;
  color: #B7B7B7;
}

.partners-aside__global-text a {
  color: inherit;
  text-decoration: none;
}

.partners-aside__global-text a:hover {
  color: #fff;
}

.partners-aside__map {
  position: relative;
  max-width: 494px;
}

.partners-aside__map:before {
  content: '';
  display: block;
  padding-top: calc(245 * 100% / 494);
}

.partners-aside__map-img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.partners-aside__map-img img {
  display: block;
  width: 100%;
  height: 100%;
}

.partners-aside__map ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.partners-aside__map li {
  position: absolute;
}

.partners-aside__map-dott {
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #000;
  transform: translate(-50%, -50%);
  font-size: 0;
  line-height: 1;
  text-indent: -9999px;
}

.partners-aside__map-dott:hover {
  background: var(--gradient);
}

.partners-aside__list {
  text-align: center;
  font-size: 20px;
  line-height: 1.3;
  font-weight: bold;
}

.partners-aside__list ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.partners-aside__list li {
  padding-bottom: 10px;
}

.partners-aside__list li:last-child {
  padding-bottom: 0;
}

.partners-aside__list a {
  display: inline-block;
  position: relative;
  color: #E3E3E3;
  padding: 7px 0 10px;
}

.partners-aside__list a:hover,
.partners-aside__list a.is-active {
  color: #fff;
}

.partners-aside__list a:before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  background: #fff;
  opacity: 0;
}

.partners-aside__list a.is-active:before {
  opacity: 1;
}

.partners-aside__contacts {

}

.partners-aside__contacts-section {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  margin: 0 -10px;
}

.partners-aside__contacts-section:not(.is-active) {
  display: none;
}

.partners-aside__contacts-col {
  flex-basis: 0;
  flex-grow: 1;
  min-width: 50%;
  padding: 0 10px;
}

.partners-aside__contacts-col:nth-child(even) {
  text-align: right;
}

.partners-aside__contacts-title {
  font-size: 28px;
  margin-bottom: 19px;
}

.partners-aside__contacts-list {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0.02em;
  word-break: break-all;
  word-break: break-word;
}

.partners-aside__contacts-item {
  margin-bottom: 6px;
}

.partners-aside__contacts-row {
  display: flex;
  column-gap: 6px;
  align-items: center;
}

.partners-aside__contacts-col:nth-child(even) .partners-aside__contacts-row {
  flex-direction: row-reverse;
}

.partners-aside__contacts-icon {
  flex-shrink: 0;
}

.partners-aside__contacts-icon svg {
  display: block;
}

.partners-aside__contacts-text {

}

.partners-aside__contacts-text strong {
  font-weight: 500;
}

.partners-aside__contacts-text a {
  color: #A8A8A8;
  text-decoration: none;
}

.partners-aside__contacts-text a:hover {
  color: #fff;
}

.partners-aside .swiper-pagination {
  bottom: 43px;
}

.banners-slider {
  position: relative;
  background-color: #000;
  border-radius: 20px;
  margin-bottom: 100px;
}

.banners-slider img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 20px;
}

.main {
  margin: 33px 0 110px;
}

.main__header {
  font-size: 96px;
  line-height: 1.07;
  font-weight: bold;
  letter-spacing: 0.22em;
  color: #D9D9D9;
  margin-bottom: 22px;
}

.main__header h1,
.main__header .h1 {
  font: inherit;
  margin: 0;
}

.main__header strong {
  display: block;
  font-weight: bold;
  letter-spacing: 0.02em;
  text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff;
}

@supports ((text-stroke: 1px white) or (-webkit-text-stroke: 1px white)) {
  .main__header strong {
    color: transparent;
    -webkit-text-stroke: 1px white;
    text-stroke: 1px white;
    text-shadow: none;
  }
}

.main__text {
  font-size: 21px;
  font-weight: 400;
  line-height: 139.8%;
  letter-spacing: -0.01em;
  max-width: 18em;
  margin-bottom: 23px;
}

.main__buttons {

}

.main__buttons .btn {
  padding: 21px 40px;
}

.main-slider-wrapper {
  position: relative;
  padding-right: 100px;
}

.main-slider {
  max-width: 690px;
}

.main-slider .swiper-button-prev,
.main-slider .swiper-button-next {
  left: auto;
  right: 14px;
  margin: 0;
}

.main-slider .swiper-button-prev {
  top: -15px;
  bottom: auto;
  transform: rotate(90deg);
}

.main-slider .swiper-button-next {
  top: auto;
  bottom: -15px;
  transform: rotate(90deg);
}

.main-slider .swiper-pagination {
  flex-direction: column;
  bottom: 32px;
  top: 32px;
  right: 11px;
  left: auto;
  width: 40px;
}

.main-slider .swiper-pagination-bullet {
  margin: 10px 0 !important;
}

.main-slider__section {

}

.main-slider__row {
  display: flex;
  flex-wrap: wrap;
  margin: -20px -10px 0;
}

.main-slider__item {
  display: flex;
  flex: 0 0 auto;
  width: 50%;
  padding: 0 10px;
  margin-top: 20px;
}

.main-slider__item_lg {
  width: 100%;
}

.main-item {
  position: relative;
  width: 100%;
}

.main-item__image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.main-item__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 20px;
}

.main-item__inner {
  position: relative;
  padding: 52px 20px;
}

.sticker {
  display: inline-flex;
  vertical-align: top;
  border-radius: 6px;
  background: #FD7F38;
  align-items: center;
  white-space: nowrap;
  height: 30px;
  padding: 0 12px;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: -0.04em;
}

.sticker img {
  width: 20px;
  height: 20px;
  object-fit: contain;
  flex-shrink: 0;
  margin-right: 6px;
}

.main-item__sticker {
  position: absolute;
  left: 50px;
  top: 60px;
}

.main-item__content {
  display: flex;
  flex-direction: column;
  margin-left: auto;
  width: min-content;
  min-height: 365px;
  min-width: 234px;
  max-width: 320px;
}

.main-item__header {

}

.main-item__subtitle {
  color: #737373;
  font-size: 19px;
  line-height: 139.8%;
  letter-spacing: -0.19px;
}

.main-item__title {
  font-size: 30px;
  line-height: 170.5%;
  letter-spacing: -0.3px;
}

.main-item__footer {
  margin-top: auto;
}

.main-item__btn {
  width: 100%;
  padding-left: 0;
  padding-right: 0;
}

.main-card {
  position: relative;
  color: #fff;
  width: 100%;
  min-height: 234px;
}

.main-card__bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border-radius: 25px;
  clip-path: url(#card);
  transform: rotate(180deg);
  background: linear-gradient(270deg, #9E37FF, #7156FF 65%);
}

.main-card__inner {
  position: relative;
  z-index: 1;
  padding: 20px;
  min-height: 100%;
  display: flex;
  flex-direction: column;
}

.main-card__header {
  margin-bottom: 15px;
}

.main-card__category {
  font-size: 17px;
  font-weight: 400;
  line-height: 21px;
  letter-spacing: -0.08px;
  padding: 11px 26px;
}

.main-card__content {
  margin-top: auto;
  margin-right: 140px;
}

.main-card__title {
  font-size: 20px;
  font-weight: 900;
  line-height: 102.8%;
  letter-spacing: -0.1px;
  margin-bottom: 10px;
}

.main-card__data {
  font-size: 14px;
  font-weight: 600;
  line-height: normal;
}

.main-card__data-item:not(:last-child) {
  margin-bottom: 5px;
}

.main-card__image {
  position: absolute;
  z-index: -1;
  right: 51px;
  bottom: 9px;
  width: 100px;
  height: 200px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  transform: rotate(16deg);
}

.main-card__image img {
  flex-shrink: 0;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}

.main-card__footer {
  position: absolute;
  right: 0;
  bottom: 0;
}

.main-card__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  width: 61px;
  height: 54px;
}

.exhibition {
  overflow: hidden;
}

.exhibition__inner {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -15px;
}

.exhibition__content {
  flex: 0 0 auto;
  padding: 0 15px;
  width: 54.597701%;
}

.exhibition__header {
  margin: 0 0 59px;
}

.exhibition__galleries {

}

.exhibition__galleries-item {

}

.exhibition__galleries-item:not(.is-active) {
  display: none;
}

.exhibition__gallery {
  display: flex;
  flex-wrap: wrap;
  margin: -30px -10px 0;
}

.exhibition__gallery-item {
  flex: 0 0 auto;
  width: 33.333333%;
  padding: 0 10px;
  margin-top: 30px;
}

.exhibition__gallery-item a {
  display: block;
  position: relative;
}

.exhibition__gallery-item a:before {
  content: '';
  display: block;
  padding-top: 100%;
}

.exhibition__gallery-item img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.exhibition__map-wrapper {
  flex: 0 0 auto;
  padding: 0 15px;
  width: 45.402299%;
}

.exhibition__map-title {
  text-align: right;
  color: rgba(113, 86, 255, 1);
  margin: 0;
}

@supports ((background-clip: text) or (-webkit-background-clip: text)) {
  .exhibition__map-title {
    color: transparent;
    background: var(--gradient);
    -webkit-background-clip: text;
    background-clip: text;
  }
}

.exhibition__selectbox {
  position: relative;
  margin-bottom: 59px;
}

.exhibition__selectbox-target {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  cursor: pointer;
  color: #fff;
}

.exhibition__selectbox-target .icon {
  font-size: 8px;
  top: 4px;
  margin-left: 15px;
}

.exhibition__selectbox-list {
  position: absolute;
  right: 45px;
  top: 100%;
  line-height: 1.2;
  margin: 0;
  z-index: 1;
  text-align: right;
  display: none;
}

.exhibition__selectbox.is-open .exhibition__selectbox-list {
  display: block;
}

.exhibition__selectbox-btn {
  display: block;
  color: rgba(113, 86, 255, 1);
}

@supports ((background-clip: text) or (-webkit-background-clip: text)) {
  .exhibition__selectbox-btn {
    color: transparent;
    background: var(--gradient);
    -webkit-background-clip: text;
    background-clip: text;
  }
}

.exhibition__selectbox-btn.is-active {
  display: none;
}

.exhibition__map {
  max-width: 618px;
  margin: 0 -15px 0 -1px;
  position: relative;
}

.exhibition__map:before {
  content: '';
  display: block;
  padding-top: calc(369 * 100% / 618);
}

.exhibition__map-img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.exhibition__map-img img {
  display: block;
  width: 100%;
  height: 100%;
}

.exhibition__map-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.exhibition__map-item {
  position: absolute;
}

.exhibition__map-dott {
  display: block;
  width: 50px;
  height: 45px;
  transform: translate(-50%, -100%);
  transform-origin: center bottom;
  color: #A3A3A3;
  transition: 0.15s ease-in-out;
  transition-property: transform, color;
}

.exhibition__map-dott:hover {
  color: #FD7F38;
}

.exhibition__map-dott:active {
  color: #BF5518;
}

.exhibition__map-dott.is-active {
  transform: translate(-50%, -100%) scale(1.2);
  color: #7156FF;
}

.exhibition__map-dott:focus-visible {
  box-shadow: 0 0 0 2px var(--focus-color) inset;
}

.exhibition__map-dott span {
  display: none;
}

.exhibition__map-footer {
  font-size: 111px;
  font-weight: 700;
  line-height: 102.8%;
  text-align: right;
  margin-top: 30px;
  margin-right: -15px;
  letter-spacing: 0.015em;
  text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff;
}

@supports ((text-stroke: 1px white) or (-webkit-text-stroke: 1px white)) {
  .exhibition__map-footer {
    color: transparent;
    -webkit-text-stroke: 1px white;
    text-stroke: 1px white;
    text-shadow: none;
  }
}

.find-us {
  --top: 65px;
  --height: 240px;
  background: #fff;
  color: var(--main-color);
  margin-top: calc(100px + var(--top));
}

.find-us__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: var(--height);
}

.find-us__title {
  font-size: 72px;
  font-weight: 700;
  line-height: 102.8%;
}

.find-us__title strong {
  font-weight: inherit;
  text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
}

@supports ((text-stroke: 1px black) or (-webkit-text-stroke: 1px black)) {
  .find-us__title strong {
    color: transparent;
    -webkit-text-stroke: 1px black;
    text-stroke: 1px black;
    text-shadow: none;
  }
}

.find-us__logo {

}

.find-us__logo img {

}

.find-us__map {
  position: relative;
  width: 551px;
  align-self: flex-start;
  margin-top: calc(-1 * var(--top));
}

.find-us__map img {
  display: block;
  width: 100%;
  height: auto;
}

.find-us__map-overlay {
  position: absolute;
  left: 0;
  top: var(--top);
  width: 100%;
  height: var(--height);
  overflow: hidden;
}

.find-us__map-overlay img {
  margin-top: calc(-1 * var(--top));
}

.product {

}

.product__main {
  border-radius: 75px 75px 30px 30px;
  background: #fff;
  color: var(--main-color);
  position: relative;
  margin-bottom: 20px;
}

.product__breadcrumbs.breadcrumbs {
  color: var(--main-color);
  font-size: 28px;
  margin: 0 0 32px;
}

.product__breadcrumbs.breadcrumbs a {
  opacity: 1;
}

.product__breadcrumbs.breadcrumbs a:hover {
  color: var(--accent-color);
}

.product__breadcrumbs.breadcrumbs li:after {
  opacity: 1;
}

.product__slider {

}

.product__slider-item {

}

.product-item {
  display: flex;
  padding: 59px 114px 50px;
}

.product-item__content {
  flex-grow: 1;
  min-width: 1px;
  padding-right: 40px;
}

.product-item__title {
  font-size: 64px;
  font-weight: 600;
  line-height: normal;
  letter-spacing: -3.2px;
  margin-bottom: 58px;
}

.product-item__data {
  font-size: 28px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -1.4px;
  max-width: 15em;
}

.product-item__data-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  column-gap: 20px;
  border-bottom: 1px solid;
  margin-bottom: 33px;
}

.product-item__data-row:last-child {
  margin-bottom: 0;
}

.product-item__data-title {

}

.product-item__data-desc {
  text-align: right;
}

.product-item__aside {
  flex: 0 0 auto;
  width: 330px;
}

.product-item__image {
  max-width: 330px;
  margin: -25px auto 47px;
}

.product-image {
  position: relative;
}

.product-image:before {
  content: '';
  display: block;
  padding-top: calc(380 * 100% / 330);
}

.product-image__circle {
  width: calc(326 * 100% / 330);
  background: #000;
  border-radius: 50%;
  position: absolute;
  left: 50%;
  margin-left: calc(-163 * 100% / 330);
  bottom: calc(11 * 100% / 380);
  padding-top: calc(326 * 100% / 330);
}

.product-image__main {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.product-image__blur {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  filter: blur(100px);
  opacity: 0.3;
}

.product-image img {
  flex-shrink: 0;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  position: relative;
  z-index: 2;
}

.product-item__btn-row {
  text-align: center;
}

@keyframes product_animation_1 {
  from {
    transform: translate3d(0, -100px, 0);
    opacity: 0;
  }

  to {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

@keyframes product_animation_2 {
  from {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }

  to {
    transform: translate3d(0, 100px, 0);
    opacity: 0;
  }
}

@keyframes product_animation_3 {
  from {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }

  to {
    transform: translate3d(0, -100px, 0);
    opacity: 0;
  }
}

.product__breadcrumbs,
.product-item__title,
.product-item__data,
.product-image__main {
  animation: product_animation_2 .8s cubic-bezier(0.215, 0.61, 0.355, 1) both;
}

.product-image__main {
  animation-name: product_animation_3;
}

.swiper-slide-active .product__breadcrumbs,
.swiper-slide-active .product-item__title,
.swiper-slide-active .product-item__data,
.swiper-slide-active .product-image__main {
  animation-name: product_animation_1;
}

.product.is-ready .product__breadcrumbs {animation-delay: .2s;}
.product.is-ready .product-item__title {animation-delay: .1s;}
.product.is-ready .product-item__data {animation-delay: .0s;}
.product.is-ready .product-image__main {animation-delay: .1s;}

.product.is-ready .swiper-slide-active .product__breadcrumbs {animation-delay: 0.8s;}
.product.is-ready .swiper-slide-active .product-item__title {animation-delay: 0.7s;}
.product.is-ready .swiper-slide-active .product-item__data {animation-delay: 0.6s;}
.product.is-ready .swiper-slide-active .product-image__main {animation-delay: 0.7s;}

.product-item {
  opacity: 0;
  transition: opacity 0.35s ease-in-out;
}

.product.is-ready .product-item {
  opacity: 1;
}

.product-item__btn {
  font-size: 16px;
  line-height: 24px;
  padding: 17px 40px;
}

.product__thumbs {
  border-radius: 30px 30px 75px 75px;
  position: relative;
  background: #EBEBEB;
  color: var(--main-color);
}

.product__thumbs-slider {

}

.product__thumbs-slider .swiper {
  border-radius: 30px 30px 75px 75px;
  padding: 0 150px;
  text-align: center;
}

.product__thumbs-slider .swiper-wrapper {
  display: inline-flex;
  vertical-align: top;
  width: auto;
  max-width: 100%;
}

.product__thumbs-slider .swiper-pagination {
  flex-direction: column;
  bottom: 0;
  top: 0;
  right: 40px;
  left: auto;
  width: 40px;
}

.product__thumbs-slider .swiper-pagination-bullet:before {
  background: #000;
}

.product__thumbs-slider .swiper-pagination-bullet:not(.swiper-pagination-bullet-active):before {
  background: #929292;
  opacity: 1;
  transform: none;
}

.product__thumbs-slider-item {
  opacity: 0;
  transition: opacity 0.15s ease-in-out;
}

.product__thumbs-slider-item.swiper-slide-visible {
  opacity: 1;
}

.product-thumb {
  text-align: center;
  cursor: pointer;
  padding: 40px 20px;
}

.product-thumb__image {
  height: 220px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.product-thumb__blur {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  filter: blur(70px);
  opacity: 0;
  transition: opacity 0.15s ease-in-out;
}

.product-thumb__image img {
  flex-shrink: 0;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  position: relative;
  z-index: 2;
}

.product-thumb__title {
  text-align: center;
  font-size: 32px;
  font-weight: 500;
  line-height: 1.25;
  min-height: 2.5em;
  letter-spacing: -1.6px;
  margin-top: 16px;
}

.product-thumb,
.product-thumb__blur {
  transition: 0.35s ease-in-out;
}

.product-thumb__image {
  transition: 0.15s ease-in-out;
}

.product-thumb:hover {
  transform: scale(1.1);
}

.product-thumb:active .product-thumb__image {
  transform: translateY(5px);
}

.swiper-slide-thumb-active .product-thumb__blur {
  opacity: .7;
}