#video {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    min-width: 100%;
    min-height: 100%;
    margin: 0 auto;
    z-index: -1;
    filter: grayscale(1);
}

#story {
    font-size: 32pt;
    text-align: center;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 700px;
    color: black;
    padding: 20px;
    background-color: white;
    white-space: pre-line;
    display: none;
    animation: fadein 2s ease;
}

a {
    color: #aaaaaa;
    text-decoration: none;
}

@keyframes fadein {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes fadeout {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}

@keyframes shift {
    0% {
        filter: grayscale(1);
    }
    100% {
        filter: grayscale(0);
    }
}