main {
    height: 100%;
}

body {
    height: 100%;
    background: #02020e;
    min-height: 100vh;
    /*overflow: hidden;*/
}

.canvas-wrap {
    height: 100%;
    width: 100%;
    z-index: 3;
}
.canvas-wrap .shadow-left {
    position: absolute;
    width: 80px;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1;
    background-image: linear-gradient(to left, rgba(9, 1, 24, 0) 0%, #090118 100%);
}
.canvas-wrap .shadow-right {
    position: absolute;
    width: 80px;
    height: 100%;
    top: 0;
    right: 0;
    z-index: 1;
    background-image: linear-gradient(to right, rgba(9, 1, 24, 0) 0%, #090118 100%);
}
.canvas-wrap .shadow-top {
    position: absolute;
    width: 100%;
    height: 80px;
    top: 0;
    left: 0;
    z-index: 1;
    background-image: linear-gradient(to top, rgba(9, 1, 24, 0) 0%, #090118 100%);
}
.canvas-wrap .shadow-bottom {
    position: absolute;
    width: 100%;
    height: 80px;
    bottom: 0;
    left: 0;
    z-index: 1;
    background-image: linear-gradient(to bottom, rgba(9, 1, 24, 0) 0%, #090118 100%);
}
.canvas-wrap:before {
    content: "";
    position: absolute;
    width: 80px;
    height: 100%;
    top: 0;
    right: 0;
    z-index: 1;
    background-image: linear-gradient(to right, rgba(9, 1, 24, 0) 0%, #090118 100%);
}
.canvas-wrap img {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
    opacity: 0;
    transition: opacity 1s ease 0.3s;
}
.canvas-wrap img.loaded {
    opacity: 1;
}