.scanned-photo {
  display: flex;
  /* height: 477px; */
  justify-content: center;
  position: relative;
  width: 100%;
  align-items: center;
}

.scanned-photo__container {
  /* background-color: red; */
  height: 100%;
  position: relative;
  width: 100%;
  z-index: 2;
}

.scanned-photo__stick {
  animation: scanned-photo-stick-move 5.5s cubic-bezier(0.37, 0, 0.63, 1);
  /* animation-delay: 14.5s; */
  animation-fill-mode: forwards;
  animation-iteration-count: infinite;
  background-color: var(--strong-blue-text);
  height: 2px;
  /* left: -2px; */
  opacity: 0;
  position: absolute;
  width: 100%;
  z-index: 5;
}

@keyframes fadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

.scanned-photo__stick_hidden,
.scanned-photo__decoration_hidden {
  animation: fadeOut 0.5s ease-in-out forwards !important;
  visibility: visible !important;
}

.scanned-photo__image-container {
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.scanned-photo__image {
  /* height: 100%; */
  /* object-fit: cover; */
  object-fit: contain;
  width: auto;
  border-radius: 15px;
  height: 100%;
  max-height: 380px;
}

.scanned-photo__svg-objects {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.scanned-photo__finger-point {
  animation: finger-show 1s linear;
  animation-fill-mode: forwards;
  transform: scale(0);
  transform-origin: center center;
}

.scanned-photo__line {
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2px;
  fill-rule: evenodd;
  clip-rule: evenodd;
  stroke-miterlimit: 1.5;
  stroke-dasharray: 500;
  stroke: #fff;
  fill: none;
  animation: line-show 1.5s linear;
  animation-fill-mode: forwards;
}

.scanned-photo__line_heart {
  stroke: #EE463A;
  /* animation-delay: 4.5s; */
}

.scanned-photo__line_life {
  stroke: #024AD6;
}

.scanned-photo__line_head {
  stroke: #52EF67;
  /* animation-delay: 1.5s; */
}

.scanned-photo__line_fate {
  stroke: #EF45DC;
  /* animation-delay: 3s; */
}

.scanned-photo__decoration {
  align-items: center;
  display: flex;
  justify-content: center;
  opacity: 0;
  animation: scanned-photo-opacity 1.5s cubic-bezier(0.37, 0, 0.63, 1);
  /* animation-delay: 12s; */
  animation-fill-mode: forwards;
  height: 220px;
  position: absolute;
  width: 220px;
}

.scanned-photo__decoration__corners {
  animation: scanned-photo-corners-opacity 1.5s cubic-bezier(0.37, 0, 0.63, 1);
  /* animation-delay: 13.5s; */
  animation-fill-mode: forwards;
  background: linear-gradient(to right,
      var(--strong-blue-text) 2px,
      transparent 2px) 0 0,
    linear-gradient(to right, var(--strong-blue-text) 2px, transparent 2px) 0 100%,
    linear-gradient(to left, var(--strong-blue-text) 2px, transparent 2px) 100% 0,
    linear-gradient(to left, var(--strong-blue-text) 2px, transparent 2px) 100% 100%,
    linear-gradient(to bottom, var(--strong-blue-text) 2px, transparent 2px) 0 0,
    linear-gradient(to bottom, var(--strong-blue-text) 2px, transparent 2px) 100% 0,
    linear-gradient(to top, var(--strong-blue-text) 2px, transparent 2px) 0 100%,
    linear-gradient(to top, var(--strong-blue-text) 2px, transparent 2px) 100% 100%;
  background-repeat: no-repeat;
  background-size: 15px 15px;
  height: 100%;
  position: relative;
  width: 100%;
  align-items: center;
  display: flex;
  justify-content: center;
  opacity: 0;
}

body.dark-theme .scanned-photo__decoration__corners {
  background: linear-gradient(to right,
      #BAC2EE 2px,
      transparent 2px) 0 0,
    linear-gradient(to right, #BAC2EE 2px, transparent 2px) 0 100%,
    linear-gradient(to left, #BAC2EE 2px, transparent 2px) 100% 0,
    linear-gradient(to left, #BAC2EE 2px, transparent 2px) 100% 100%,
    linear-gradient(to bottom, #BAC2EE 2px, transparent 2px) 0 0,
    linear-gradient(to bottom, #BAC2EE 2px, transparent 2px) 100% 0,
    linear-gradient(to top, #BAC2EE 2px, transparent 2px) 0 100%,
    linear-gradient(to top, #BAC2EE 2px, transparent 2px) 100% 100%;
  background-repeat: no-repeat;
  background-size: 15px 15px;
}

.scanned-photo__decoration__corners>svg {
  position: absolute;
}

.scanned-photo__decoration__light-blue-circle {
  align-items: center;
  background: var(--pale-blue);
  border-radius: 50%;
  display: flex;
  height: 200px;
  justify-content: center;
  position: absolute;
  width: 200px;
}

.scanned-photo_small {
  animation: scanned-photo-resize 1.5s cubic-bezier(0.37, 0, 0.63, 1);
  animation-fill-mode: forwards;
}

.scanned-photo_small .scanned-photo__container {
  animation: scanned-photo-container-resize 1.5s cubic-bezier(0.37, 0, 0.63, 1);
  animation-fill-mode: forwards;
}

.scanned-photo_small .scanned-photo__image {
  height: 100%;
}

.scanned-photo__line-text {
  font-size: 16px;
  font-weight: 600;
  opacity: 0;
  animation: fadeIn 0.3s forwards;
  stroke: #000;
  stroke-width: 0.6px;
}

.scanned-photo__line-text_heart {
  fill: #EE463A;
  /* animation-delay: 4.5s; */
}

.scanned-photo__line-text_life {
  fill: #024AD6;
}

.scanned-photo__line-text_head {
  fill: #52EF67;
  /* animation-delay: 1.5s; */
}

.scanned-photo__line-text_fate {
  fill: #EF45DC;
  /* animation-delay: 3s; */
}

.scanned-photo__line-scale {
  fill: none;
  stroke-width: 2px;
  opacity: 0;
  animation: fadeIn 0.5s linear forwards;
}

.scanned-photo__line-scale-text {
  opacity: 0;
  animation: fadeIn 0.5s linear forwards;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes scanned-photo-resize {
  100% {
    height: 207px;
    /* align-items: center; */
  }
}

@keyframes scanned-photo-container-resize {
  100% {
    /* border: 3px solid #fff; */
    height: 70.7%;
    /* margin-top: 20px; */
    width: auto;
    /* aspect-ratio: 1 / 1; */
  }
}

@keyframes scanned-photo-opacity {
  100% {
    opacity: 1;
  }
}

@keyframes scanned-photo-corners-opacity {
  10% {
    opacity: 0;
  }

  20% {
    opacity: 0.7;
  }

  40% {
    opacity: 0.3;
  }

  50% {
    opacity: 0.6;
  }

  100% {
    opacity: 1;
  }
}

@keyframes scanned-photo-stick-move {
  0% {
    opacity: 1;
    top: 0;
  }

  50% {
    opacity: 1;
    top: 100%;
  }

  100% {
    opacity: 1;
    top: 0;
  }
}

@keyframes finger-show {
  100% {
    transform: scale(1);
  }
}

@keyframes line-show {
  100% {
    stroke-dashoffset: 0;
  }
}

body.dark-theme .scanned-photo__decoration_svg>circle:first-child {
  stroke: #4C526C;
}

body.dark-theme .scanned-photo__decoration_svg>circle:last-child {
  fill: #BAC2EE;
}

body.dark-theme .scanned-photo__decoration__light-blue-circle {
  background: #4C526C;
}