@keyframes passing-through {
 0% {
  opacity: 0;
  transform: translateY(40px)
 }

 30%,
 70% {
  opacity: 1;
  transform: translateY(0px)
 }

 100% {
  opacity: 0;
  transform: translateY(-40px)
 }
}

@keyframes slide-in {
 0% {
  opacity: 0;
  transform: translateY(40px)
 }

 30% {
  opacity: 1;
  transform: translateY(0px)
 }
}

@keyframes pulse {
 0% {
  transform: scale(1)
 }

 10% {
  transform: scale(1.1)
 }

 20% {
  transform: scale(1)
 }
}

.dropzone,
.dropzone * {
 box-sizing: border-box
}

.dropzone {
 min-height: 150px;
 border: 1px solid rgba(0, 0, 0, .8);
 border-radius: 5px;
 padding: 20px 20px
}

.dropzone.dz-clickable {
 cursor: pointer
}

.dropzone.dz-clickable * {
 cursor: default
}

.dropzone.dz-clickable .dz-message,
.dropzone.dz-clickable .dz-message * {
 cursor: pointer
}

.dropzone.dz-started .dz-message {
 display: none
}

.dropzone.dz-drag-hover {
 border-style: solid
}

.dropzone.dz-drag-hover .dz-message {
 opacity: .5
}

.dropzone .dz-message {
 text-align: center;
 margin: auto;
}

.dropzone .dz-message .dz-button {
 background: none;
 color: inherit;
 border: none;
 padding: 0;
 font: inherit;
 cursor: pointer;
 outline: inherit
}

.dropzone .dz-preview {
 position: relative;
 display: inline-block;
 vertical-align: top;
 margin: 0;
 min-height: 90px;
}

.dropzone .dz-preview:hover {
 z-index: 1000
}

.dropzone .dz-preview:hover .dz-details {
 opacity: 1
}

.dropzone .dz-preview.dz-file-preview .dz-image {
 border-radius: 20px;
 background: #999;
 background: linear-gradient(to bottom, #eee, #ddd)
}

.dropzone .dz-preview.dz-file-preview .dz-details {
 opacity: 1
}

.dropzone .dz-preview.dz-image-preview {
 background: #fff
}

.dropzone .dz-preview.dz-image-preview .dz-details {
 transition: opacity .2s linear
}

.dropzone .dz-preview .dz-remove {
 font-size: 14px;
 text-align: center;
 display: block;
 cursor: pointer;
 border: none;
 position: absolute;
 top: 0;
}

.dropzone .dz-preview .dz-remove:hover {
 text-decoration: underline
}

.dropzone .dz-preview:hover .dz-details {
 opacity: 1
}

.dropzone .dz-preview .dz-details {
 z-index: 20;
 position: absolute;
 top: 0;
 left: 0;
 opacity: 0;
 font-size: 13px;
 min-width: 100%;
 max-width: 100%;
 padding: 2em 1em;
 text-align: center;
 color: rgba(0, 0, 0, .9);
 line-height: 150%
}

.dropzone .dz-preview .dz-details .dz-size {
 margin-bottom: 1em;
 font-size: 16px
}

.dropzone .dz-preview .dz-details .dz-filename {
 white-space: nowrap
}

.dropzone .dz-preview .dz-details .dz-filename:hover span {
 border: 1px solid rgba(200, 200, 200, .8);
 background-color: rgba(255, 255, 255, .8)
}

.dropzone .dz-preview .dz-details .dz-filename:not(:hover) {
 overflow: hidden;
 text-overflow: ellipsis
}

.dropzone .dz-preview .dz-details .dz-filename:not(:hover) span {
 border: 1px solid transparent
}

.dropzone .dz-preview .dz-details .dz-filename span,
.dropzone .dz-preview .dz-details .dz-size span {
 background-color: rgba(255, 255, 255, .4);
 padding: 0 .4em;
 border-radius: 3px
}

.dropzone .dz-preview:hover .dz-image img {
 /* transform:scale(1.05, 1.05); */
 /* filter:blur(8px); */
}

.dropzone .dz-preview .dz-image {
 border-radius: 0;
 overflow: hidden;
 width: 117px;
 height: 120px;
 position: relative;
 display: block;
 z-index: 10
}

.dropzone .dz-preview .dz-image img {
 display: block;
 width: 100%;
 height: 100%;
 object-fit: cover;
}

.dropzone .dz-preview.dz-success .dz-success-mark {
 animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);
}

.dropzone .dz-preview.dz-error .dz-error-mark {
 opacity: 1;
 animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1)
}

.dropzone .dz-preview .dz-success-mark,
.dropzone .dz-preview .dz-error-mark {
 pointer-events: none;
 opacity: 0;
 z-index: 500;
 position: absolute;
 display: block;
 top: 50%;
 left: 50%;
 margin-left: -27px;
 margin-top: -27px;
 /* background:rgba(0,0,0,.8); */
 border-radius: 50%
}

.dropzone .dz-preview .dz-success-mark svg,
.dropzone .dz-preview .dz-error-mark svg {
 display: block;
 width: 40px;
 height: 40px;
 fill: #6872C7;
}

.dropzone .dz-preview.dz-processing .dz-progress {
 opacity: 1;
 transition: all .2s linear
}

.dropzone .dz-preview.dz-complete .dz-progress {
 opacity: 0;
 transition: opacity .4s ease-in
}

.dropzone .dz-preview:not(.dz-processing) .dz-progress {
 animation: pulse 6s ease infinite
}

.dropzone .dz-preview .dz-progress {
 opacity: 1;
 z-index: 1000;
 pointer-events: none;
 position: absolute;
 height: 20px;
 top: 50%;
 margin-top: -10px;
 left: 15%;
 right: 15%;
 border: 3px solid rgba(0, 0, 0, .8);
 background: rgba(0, 0, 0, .8);
 border-radius: 10px;
 overflow: hidden
}

.dropzone .dz-preview .dz-progress .dz-upload {
 background: #fff;
 display: block;
 position: relative;
 height: 100%;
 width: 0;
 transition: width 300ms ease-in-out;
 border-radius: 17px
}

.dropzone .dz-preview.dz-error .dz-error-message {
 display: block
}

.dropzone .dz-preview.dz-error:hover .dz-error-message {
 opacity: 1;
 pointer-events: auto
}

.dropzone .dz-preview .dz-error-message {
 pointer-events: none;
 z-index: 1000;
 position: absolute;
 display: block;
 display: none;
 opacity: 0;
 transition: opacity .3s ease;
 border-radius: 8px;
 font-size: 13px;
 top: 130px;
 left: -10px;
 width: 140px;
 background: #b10606;
 padding: .5em 1em;
 color: #fff
}

.dropzone .dz-preview .dz-error-message:after {
 content: "";
 position: absolute;
 top: -6px;
 left: 64px;
 width: 0;
 height: 0;
 border-left: 6px solid transparent;
 border-right: 6px solid transparent;
 border-bottom: 6px solid #b10606
}