.item .type {
    position: absolute;
    width: 30px;
    height: 35px;
    z-index: 100;
    bottom: 10px;
    right: 10px;
    font-size: 0;
}
.item .type.audio {
    background: url('../img/audio.svg') no-repeat center center;
    background-size: 100%;
}
.item .type.video {
    background: url('../img/video.svg') no-repeat center center;
    background-size: 100%;
}
.item .type.photo {
    background: url('../img/photo.svg') no-repeat center center;
    background-size: 100%;
}

#resource .button.audio {
    display: block;
    background: url('../img/audio.svg') no-repeat left center;
    background-size: 20px;
    padding-left: 25px;
    height: 25px;
    line-height: 25px;
}
#resource .button.video {
    display: block;
    background: url('../img/video.svg') no-repeat left center;
    background-size: 20px;
    padding-left: 25px;
    height: 25px;
    line-height: 25px;
}
#resource .button.photo {
    display: block;
    background: url('../img/photo.svg') no-repeat left center;
    background-size: 20px;
    padding-left: 25px;
    height: 25px;
    line-height: 25px;
}
#resource .viewer {
    background: #000;
    margin-bottom: var(--default-spacing);
}
#resource .viewer .image {
    position: relative;
    padding-top: 50%;
}
#resource .viewer .wrapper {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
#resource .viewer .wrapper img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#resource .viewer audio {
    width: 100%;
}
#resource .viewer .play {
    position: absolute;
    z-index: 100;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}
#resource .viewer .play .icon {
    width: 60px;
    height: 70px;
    background: url('../img/play.svg') no-repeat center center;
    background-size: 100%;
}