.t-body_scroll-locked {
  left: 0;
  position: fixed;
  width: 100%
}

.t-zoomer__show_fixed {
  height: 100vh;
  max-height: 100vh;
  max-width: 100%;
  overflow: hidden
}

@-webkit-keyframes showZoomerWrapper {
  0% {
    opacity: 0
  }

  to {
    opacity: 1
  }
}

@keyframes showZoomerWrapper {
  0% {
    opacity: 0
  }

  to {
    opacity: 1
  }
}

.t-zoomer__wrapper {
  bottom: 0;
  display: none;
  left: 0;
  opacity: 0;
  position: fixed;
  right: 0;
  top: 0;
  transition: -webkit-transform .3s ease-out;
  transition: transform .3s ease-out;
  transition: transform .3s ease-out, -webkit-transform .3s ease-out;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  z-index: -1
}

.t-zoomer__show .zoomer-no-scale .t-carousel__zoomer__inner {
  cursor: default
}

.t-zoomer__show .t-zoomer__wrapper {
  -webkit-animation: showZoomerWrapper .3s ease-in-out both;
  animation: showZoomerWrapper .3s ease-in-out both;
  display: block;
  z-index: 10000001
}

.t-zoomer__container {
  text-align: center;
  top: 0
}

.t-zoomer__bg,
.t-zoomer__container {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0
}

.t-zoomer__bg {
  cursor: zoom-in;
  top: 0
}

.t-zoomer__comments {
  box-sizing: border-box;
  display: block;
  height: auto;
  margin: 0 auto;
  max-width: 700px;
  padding: 14px;
  text-align: center;
  -webkit-transform: translateZ(0)
}

.t-zoomer__descr {
  z-index: 3
}

.t-zoomable,
.t-zoomer__show .t-carousel__zoomer__inner,
.t-zoomer__show .t-zoomable {
  cursor: zoom-in
}

.t-zoomer__container {
  z-index: 99999999
}

.t-carousel__zoomed,
.t-carousel__zoomer__slides {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0
}

.t-carousel__zoomer__inner {
  bottom: 15px;
  left: 15px;
  overflow: hidden;
  position: absolute;
  right: 15px;
  top: 15px
}

.t-carousel__zoomer__track {
  -webkit-backface-visibility: hidden;
  bottom: 0;
  position: absolute;
  top: 0;
  -webkit-transform-style: preserve-3d;
  transition-duration: .25s;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  transition-timing-function: cubic-bezier(.29, .39, .2, .96)
}

.t-carousel__zoomer__item,
.t-carousel__zoomer__track {
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex
}

.t-carousel__zoomer__item {
  -ms-flex-negative: 0;
  -ms-flex-pack: center;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-flex-shrink: 0;
  flex-shrink: 0;
  height: 100%;
  -webkit-justify-content: center;
  justify-content: center;
  width: 100vw
}

.t-carousel__zoomer__img {
  -webkit-backface-visibility: hidden;
  display: block;
  margin: auto;
  max-height: calc(100vh - 30px);
  max-width: 100%;
  object-fit: contain;
  overflow: auto;
  -webkit-transform: none
}

.t-zoomer-loader {
  bottom: 0;
  display: none;
  height: 40px;
  left: 0;
  margin: auto;
  mix-blend-mode: difference;
  position: absolute;
  right: 0;
  top: 0;
  width: 40px;
  z-index: 1000
}

.t-carousel__zoomer__inner:has(.t-carousel__zoomer__item.active img:not(.loaded)) .t-zoomer-loader {
  display: inline-block
}

.t-zoomer-loader .t-icon-loader-rect {
  --animation-duration: 1s;
  -webkit-animation: t-icon-loader-animation var(--animation-duration) linear infinite;
  animation: t-icon-loader-animation var(--animation-duration) linear infinite
}

.t-zoomer-loader .t-icon-loader-rect:first-child {
  -webkit-animation-delay: calc(var(--animation-duration)/-8*8);
  animation-delay: calc(var(--animation-duration)/-8*8)
}

.t-zoomer-loader .t-icon-loader-rect:nth-child(2) {
  -webkit-animation-delay: calc(var(--animation-duration)/-8*7);
  animation-delay: calc(var(--animation-duration)/-8*7)
}

.t-zoomer-loader .t-icon-loader-rect:nth-child(3) {
  -webkit-animation-delay: calc(var(--animation-duration)/-8*6);
  animation-delay: calc(var(--animation-duration)/-8*6)
}

.t-zoomer-loader .t-icon-loader-rect:nth-child(4) {
  -webkit-animation-delay: calc(var(--animation-duration)/-8*5);
  animation-delay: calc(var(--animation-duration)/-8*5)
}

.t-zoomer-loader .t-icon-loader-rect:nth-child(5) {
  -webkit-animation-delay: calc(var(--animation-duration)/-8*4);
  animation-delay: calc(var(--animation-duration)/-8*4)
}

.t-zoomer-loader .t-icon-loader-rect:nth-child(6) {
  -webkit-animation-delay: calc(var(--animation-duration)/-8*3);
  animation-delay: calc(var(--animation-duration)/-8*3)
}

.t-zoomer-loader .t-icon-loader-rect:nth-child(7) {
  -webkit-animation-delay: calc(var(--animation-duration)/-8*2);
  animation-delay: calc(var(--animation-duration)/-8*2)
}

.t-zoomer-loader .t-icon-loader-rect:nth-child(8) {
  -webkit-animation-delay: calc(var(--animation-duration)/-8*1);
  animation-delay: calc(var(--animation-duration)/-8*1)
}

@-webkit-keyframes t-icon-loader-animation {
  to {
    opacity: 0
  }
}

@keyframes t-icon-loader-animation {
  to {
    opacity: 0
  }
}

.t-zoomer__close {
  cursor: pointer;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  height: auto;
  padding: 10px;
  position: fixed;
  right: 10px;
  top: 10px;
  transition: opacity .3s ease-in-out;
  width: auto;
  z-index: 999999999999
}

.t-zoomer__close:hover {
  opacity: .7
}

.t-zoomer__close-line {
  background-color: #222;
  height: 26px;
  left: 15px;
  position: absolute;
  width: 2px
}

.t-zoomer__close-line-first {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg)
}

.t-zoomer__close-line-second {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg)
}

.t-carousel__zoomer__control {
  bottom: 50px;
  cursor: pointer;
  left: 0;
  position: absolute;
  top: 50px;
  transition: opacity .3s ease-in-out;
  width: 15%;
  z-index: 99
}

.t-carousel__zoomer__control_right {
  left: auto;
  right: 0
}

.t-carousel__zoomer__control:hover {
  opacity: .6
}

.t-carousel__zoomer__arrow {
  background: 0 0;
  height: 18px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  width: 18px
}

.t-carousel__zoomer__arrow__wrapper {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%) scale(.8)
}

.t-carousel__zoomer__arrow_right {
  border-right: 2px solid;
  border-top: 2px solid
}

.t-carousel__zoomer__arrow_left {
  border-bottom: 2px solid;
  border-left: 2px solid
}

img.t-carousel__zoomer__img.ui-draggable.ui-draggable-handle {
  cursor: grab
}

.t-carousel__zoomer__arrow__wrapper:before {
  background: hsla(0, 0%, 100%, .3);
  border-radius: 50%;
  content: "";
  height: 26px;
  padding: 10px;
  position: absolute;
  top: calc(50% - 23px);
  width: 26px
}

.t-carousel__zoomer__arrow__wrapper_dark:before {
  background: rgba(1, 1, 1, .3)
}

.t-carousel__zoomer__arrow__wrapper.t-carousel__zoomer__arrow__wrapper_left:before {
  left: calc(50% - 26px)
}

.t-carousel__zoomer__arrow__wrapper.t-carousel__zoomer__arrow__wrapper_right:before {
  right: calc(50% - 26px)
}

.scale-active .t-carousel__zoomer__img {
  bottom: unset;
  cursor: zoom-out;
  left: unset;
  max-height: inherit;
  max-width: inherit;
  right: unset;
  top: unset
}

.scale-active .t-carousel__zoomer__inner {
  bottom: 0;
  left: 0;
  right: 0;
  top: 0
}

.scale-active .t-carousel__zoomer__control {
  height: 15%;
  margin: auto
}

.t-zoomer__scale.showed {
  cursor: pointer;
  display: none;
  padding: 10px;
  position: fixed;
  right: 65px;
  top: 10px;
  transition: opacity .3s ease-in-out;
  z-index: 999999999
}

.t-zoomer__scale.showed .icon-increase {
  display: block
}

.scale-active .t-carousel__zoomer__img {
  position: absolute
}

.scale-active .t-carousel__zoomer__item {
  display: none
}

.scale-active .t-carousel__zoomer__item.active {
  display: block
}

.scale-active .t-zoomer__scale.showed .icon-increase,
.t-zoomer__scale.showed .icon-decrease {
  display: none
}

.scale-active .t-zoomer__scale.showed .icon-decrease {
  display: block
}

.t-zoomer__close,
.t-zoomer__scale.showed {
  background: hsla(0, 0%, 100%, .3);
  border-radius: 50%
}

.t-carousel__zoomer__arrow__wrapper_right {
  right: 20px
}

.t-carousel__zoomer__arrow__wrapper_left {
  left: 20px
}

.t-zoomer__scale:hover {
  opacity: .7
}

.t-zoomer__hide-animation {
  -webkit-animation-delay: 3s;
  animation-delay: 3s;
  -webkit-animation-duration: .3s;
  animation-duration: .3s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-name: hide;
  animation-name: hide
}

.t-zoomer__title {
  font-size: 16px;
  font-weight: 400
}

@media screen and (max-width:1200px) {
  .t-zoomer__title {
    font-size: 14px
  }
}

@media screen and (max-width:640px) {
  .t-zoomer__title {
    font-size: 12px
  }
}

@media screen and (max-width:768px) {
  .t-carousel__zoomer__inner {
    bottom: 0;
    left: 0;
    right: 0;
    top: 0
  }

  .t-carousel__zoomer__control .t-carousel__zoomer__arrow {
    height: 10px;
    width: 10px
  }

  .t-carousel__zoomer-control {
    width: 10%
  }

  .t-carousel__zoomer__arrow__left {
    left: 15px
  }

  .t-carousel__zoomer__arrow__right {
    right: 15px
  }

  .t-carousel__zoomer__arrow__wrapper:before,
  .t-carousel__zoomer__arrow__wrapper_dark:before {
    height: 18px;
    top: calc(50% - 19px);
    width: 18px
  }

  .t-carousel__zoomer__arrow__wrapper.t-carousel__zoomer__arrow__wrapper_left:before {
    left: calc(50% - 21px)
  }

  .t-carousel__zoomer__arrow__wrapper.t-carousel__zoomer__arrow__wrapper_right:before {
    right: calc(50% - 21px)
  }
}

.t-carousel__zoomer__item-innactive .t-carousel__zoomer__wrapper {
  display: none
}

@supports (-webkit-overflow-scrolling:touch) {
  .t-carousel__zoomer__img {
    object-fit: contain
  }
}

@-webkit-keyframes hide {
  0% {
    opacity: 1
  }

  to {
    opacity: 0
  }
}

@keyframes hide {
  0% {
    opacity: 1
  }

  to {
    opacity: 0
  }
}