.rc-image {
  display: inline-flex;
  position: relative;
}

.rc-image-img {
  width: 100%;
  height: auto;
}

.rc-image-img-placeholder {
  background-color: #f3f3f3;
  background-repeat: no-repeat;
  background-position: center center;
  background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjhweCIgaGVpZ2h0PSIyMnB4IiB2aWV3Qm94PSIwIDAgMjggMjIiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDU1LjIgKDc4MTgxKSAtIGh0dHBzOi8vc2tldGNoYXBwLmNvbSAtLT4KICAgIDx0aXRsZT5pbWFnZS1maWxs5aSH5Lu9PC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGcgaWQ9Iuafpeeci+WbvueJh+S8mOWMljQuMCIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9IuWKoOi9veWbvueJhyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTU3Mi4wMDAwMDAsIC01MDYuMDAwMDAwKSI+CiAgICAgICAgICAgIDxnIGlkPSJpbWFnZS1maWxs5aSH5Lu9IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1NzAuMDAwMDAwLCA1MDEuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlIiBmaWxsPSIjMDAwMDAwIiBvcGFjaXR5PSIwIiB4PSIwIiB5PSIwIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjwvcmVjdD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yOSw1IEwzLDUgQzIuNDQ2ODc1LDUgMiw1LjQ0Njg3NSAyLDYgTDIsMjYgQzIsMjYuNTUzMTI1IDIuNDQ2ODc1LDI3IDMsMjcgTDI5LDI3IEMyOS41NTMxMjUsMjcgMzAsMjYuNTUzMTI1IDMwLDI2IEwzMCw2IEMzMCw1LjQ0Njg3NSAyOS41NTMxMjUsNSAyOSw1IFogTTEwLjU2MjUsOS41IEMxMS42NjU2MjUsOS41IDEyLjU2MjUsMTAuMzk2ODc1IDEyLjU2MjUsMTEuNSBDMTIuNTYyNSwxMi42MDMxMjUgMTEuNjY1NjI1LDEzLjUgMTAuNTYyNSwxMy41IEM5LjQ1OTM3NSwxMy41IDguNTYyNSwxMi42MDMxMjUgOC41NjI1LDExLjUgQzguNTYyNSwxMC4zOTY4NzUgOS40NTkzNzUsOS41IDEwLjU2MjUsOS41IFogTTI2LjYyMTg3NSwyMy4xNTkzNzUgQzI2LjU3ODEyNSwyMy4xOTY4NzUgMjYuNTE4NzUsMjMuMjE4NzUgMjYuNDU5Mzc1LDIzLjIxODc1IEw1LjUzNzUsMjMuMjE4NzUgQzUuNCwyMy4yMTg3NSA1LjI4NzUsMjMuMTA2MjUgNS4yODc1LDIyLjk2ODc1IEM1LjI4NzUsMjIuOTA5Mzc1IDUuMzA5Mzc1LDIyLjg1MzEyNSA1LjM0Njg3NSwyMi44MDYyNSBMMTAuNjY4NzUsMTYuNDkzNzUgQzEwLjc1NjI1LDE2LjM4NzUgMTAuOTE1NjI1LDE2LjM3NSAxMS4wMjE4NzUsMTYuNDYyNSBDMTEuMDMxMjUsMTYuNDcxODc1IDExLjA0Mzc1LDE2LjQ4MTI1IDExLjA1MzEyNSwxNi40OTM3NSBMMTQuMTU5Mzc1LDIwLjE4MTI1IEwxOS4xLDE0LjMyMTg3NSBDMTkuMTg3NSwxNC4yMTU2MjUgMTkuMzQ2ODc1LDE0LjIwMzEyNSAxOS40NTMxMjUsMTQuMjkwNjI1IEMxOS40NjI1LDE0LjMgMTkuNDc1LDE0LjMwOTM3NSAxOS40ODQzNzUsMTQuMzIxODc1IEwyNi42NTkzNzUsMjIuODA5Mzc1IEMyNi43NDA2MjUsMjIuOTEyNSAyNi43MjgxMjUsMjMuMDcxODc1IDI2LjYyMTg3NSwyMy4xNTkzNzUgWiIgaWQ9IlNoYXBlIiBmaWxsPSIjRThFOEU4Ij48L3BhdGg+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==');
}

.rc-image-placeholder {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.rc-image-mask {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: rgb(0 0 0 / 30%);
  opacity: 0;
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  transition: opacity 0.3s;
}

.rc-image:hover .rc-image-mask {
  opacity: 1;
}

.rc-image-preview {
  text-align: center;
  height: 100%;
  pointer-events: none;
}

.rc-image-preview-body {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
}

.rc-image-preview.zoom-enter,
.rc-image-preview.zoom-appear {
  transform: none;
  opacity: 0;
  animation-duration: 0.3s;
}

.rc-image-preview-mask {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1000;
  height: 100%;
  background-color: #000;
  opacity: 0.8;
}

.rc-image-preview-mask-hidden {
  display: none;
}

.rc-image-preview-img {
  cursor: grab;
  transform: scale3d(1, 1, 1);
  transition: transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s;
  user-select: none;
  vertical-align: middle;
  max-width: 100%;
  max-height: 100%;
  pointer-events: auto;
}

.rc-image-preview-img-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  transition: transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s;
}

.rc-image-preview-img-wrapper::before {
  content: '';
  display: inline-block;
  height: 50%;
  width: 1px;
  margin-right: -1px;
}

.rc-image-preview-moving .rc-image-preview-img {
  cursor: grabbing;
}

.rc-image-preview-moving .rc-image-preview-img-wrapper {
  transition-duration: 0s;
}

.rc-image-preview-wrap {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1000;
  overflow: auto;
  outline: 0;
  -webkit-overflow-scrolling: touch;
}

.rc-image-preview-operations {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  pointer-events: auto;
  list-style: none;
  position: absolute;
  display: flex;
  top: 0;
  right: 0;
  width: 100%;
  align-items: center;
  flex-direction: row-reverse;
  z-index: 1;
  color: #bbb;
  background: rgb(0 0 0 / 45%);
}

.rc-image-preview-operations-progress {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.rc-image-preview-operations-operation {
  padding: 10px;
  cursor: pointer;
  margin-left: 10px;
}

.rc-image-preview-operations-operation-disabled {
  pointer-events: none;
  color: #6f6f6f;
}

.rc-image-preview-operations-operation:last-of-type {
  margin-left: 0;
}

.rc-image-preview-operations-icon {
  font-size: 18px;
}

.rc-image-preview-switch-left {
  position: absolute;
  left: 10px;
  top: 50%;
  width: 44px;
  height: 44px;
  margin-top: -22px;
  background: rgb(187 187 187 / 45%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
  pointer-events: auto;
  color: #bbb;
}

.rc-image-preview-switch-left-disabled {
  background: rgb(187 187 187 / 30%);
  color: #6f6f6f;
  cursor: not-allowed;
}

.rc-image-preview-switch-left-disabled > .anticon {
  cursor: not-allowed;
}

.rc-image-preview-switch-left > .anticon {
  font-size: 24px;
}

.rc-image-preview-switch-right {
  position: absolute;
  right: 10px;
  top: 50%;
  width: 44px;
  height: 44px;
  margin-top: -22px;
  background: rgb(187 187 187 / 45%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
  pointer-events: auto;
  color: #bbb;
}

.rc-image-preview-switch-right-disabled {
  background: rgb(187 187 187 / 20%);
  color: #6f6f6f;
  cursor: not-allowed;
}

.rc-image-preview-switch-right-disabled > .anticon {
  cursor: not-allowed;
}

.rc-image-preview-switch-right > .anticon {
  font-size: 24px;
}

.fade-enter,
.fade-appear {
  animation-duration: 0.2s;
  animation-fill-mode: both;
  animation-play-state: paused;
}

.fade-leave {
  animation-duration: 0.2s;
  animation-fill-mode: both;
  animation-play-state: paused;
}

.fade-enter.fade-enter-active,
.fade-appear.fade-appear-active {
  animation-name: rc-image-fade-in;
  animation-play-state: running;
}

.fade-leave.fade-leave-active {
  animation-name: rc-image-fade-out;
  animation-play-state: running;
  pointer-events: none;
}

/* stylelint-disable-next-line no-duplicate-selectors */
.fade-enter,
.fade-appear {
  opacity: 0;
  animation-timing-function: linear;
}

/* stylelint-disable-next-line no-duplicate-selectors */
.fade-leave {
  animation-timing-function: linear;
}

@keyframes rc-image-fade-in {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes rc-image-fade-out {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

.zoom-enter,
.zoom-appear {
  animation-duration: 0.2s;
  animation-fill-mode: both;
  animation-play-state: paused;
}

.zoom-leave {
  animation-duration: 0.2s;
  animation-fill-mode: both;
  animation-play-state: paused;
}

.zoom-enter.zoom-enter-active,
.zoom-appear.zoom-appear-active {
  animation-name: rc-image-zoom-in;
  animation-play-state: running;
}

.zoom-leave.zoom-leave-active {
  animation-name: rc-image-zoom-out;
  animation-play-state: running;
  pointer-events: none;
}

/* stylelint-disable-next-line no-duplicate-selectors */
.zoom-enter,
.zoom-appear {
  transform: scale(0);
  opacity: 0;
  animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
}

/* stylelint-disable-next-line no-duplicate-selectors */
.zoom-leave {
  animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);
}

@keyframes rc-image-zoom-in {
  0% {
    transform: scale(0.2);
    opacity: 0;
  }

  100% {
    transform: scale(1);
    opacity: 1;
  }
}

@keyframes rc-image-zoom-out {
  0% {
    transform: scale(1);
  }

  100% {
    transform: scale(0.2);
    opacity: 0;
  }
}
