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

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

.t-zoomer__wrapper {
  bottom: 0;
  left: 0;
  opacity: 0;
  position: fixed;
  right: 0;
  top: 0;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  transition: all .2s ease-in-out;
  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 {
  opacity: 1;
  z-index: 9999999;
}

.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 {
  background: #fff;
  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);
}

@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;
  }
}

@media screen and (max-width:768px) {
  .t-carousel__zoomer__control .t-carousel__zoomer__arrow {
    height: 10px;
    width: 10px;
  }
}

@media screen and (max-width:768px) {
  .t-carousel__zoomer-control {
    width: 10%;
  }
}

@media screen and (max-width:768px) {
  .t-carousel__zoomer__arrow__left {
    left: 15px;
  }
}

@media screen and (max-width:768px) {
  .t-carousel__zoomer__arrow__right {
    right: 15px;
  }
}

@media screen and (max-width:768px) {
  .t-carousel__zoomer__arrow__wrapper:before, .t-carousel__zoomer__arrow__wrapper_dark:before {
    height: 18px;
    top: calc(50% - 19px);
    width: 18px;
  }
}

@media screen and (max-width:768px) {
  .t-carousel__zoomer__arrow__wrapper.t-carousel__zoomer__arrow__wrapper_left:before {
    left: calc(50% - 21px);
  }
}

@media screen and (max-width:768px) {
  .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;
}

@keyframes hide {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

