.date
{
    font-style: italic;
    font-size: 50px;
    margin-right: 30px;
}
.heart
{
    /* color: #ff0000; */
    /* font-size: 100px; */
    width: 100px;
    height: 100px;
    background: url("/media/broken-heart.png");
    background-size: 100% 100%;
}
.heart-old {
    color: #ff0000;
    font-size: 100px;
}
.main
{
    display: flex;
    align-items: center;
    justify-content: space-around;
    flex-direction: column;
    transition: background-image 1s;
    background-size: cover;
    background-size: cover;
    background-repeat: no-repeat;
}
.main:not(.main-old) {
    background-image: url("/media/rain.gif");
    /* background-image: url("/media/heart-and-blood-loop.gif"); */
}

.background-video {
    position: absolute;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    top: 0;
    left: 0;
    object-fit: cover;
}

html,body,.main
{
    padding: 0;
    margin: 0;
    height: 100%;
    overflow: hidden;
}

.main-block, .quotes
{
    display: flex;
    align-items: center;
    background-color: rgba(220,220,220,.7);
    padding: 25px;
    border-radius: 20px;
    box-sizing: border-box;
}

.quotes
{
    width: 80vw;
    max-width: 360px;
    font-style: italic;
    font-size: 20px;
    overflow: hidden;
    transition: all .5s;
}

.links
{
    display: flex;
    flex-wrap: wrap;
    /* bottom: 50px; */
}

.link-item
{
    background-color: rgba(220,220,220,.9);
    padding: 10px;
    margin: 0 10px;
    border-radius: 10px;
    text-align: center;
    color: #000 !important;
    text-decoration: none !important;
    font-size: 25px;
    display: block;
    transition: background-color .5s;
}

.link-item:hover
{
    background-color: rgba(255,255,0,.9);
}

.bg-image
{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
    opacity: 0;
    transition: all 2s;
}

.bg-image.showed
{
    opacity: 1;
}

@media (max-width: 800px)
{
    .link-item
    {
        width: 100%;
        margin: 0 0 10px;
    }

    .links
    {
        bottom: 20px;
    }

    .date
    {
        font-size: 40px;
    }

    .links
    {
        justify-content: center;
    }
}

.quote-row
{
    position: relative;
}

.quote-letter
{
    position: relative;
    right: -135%;
}

.quote-letter.move
{
    animation: quote-letter-animation 5s linear 0s 1 normal forwards;
}

.quote-letter.end
{
    right: 0;
    animation: quote-letter-animation-end 5s linear 0s 1 normal forwards;
}

@keyframes quote-letter-animation 
{
    0%
    {
        right: -135%;
    }
    100%
    {
        right: 0;
    }    
}

@keyframes quote-letter-animation-end
{
    0%
    {
        right: 0;
    }
    100%
    {
        right: 135%;
    }    
}

.main {
    position: relative;
}

.pain-text {
    position: absolute;
    z-index: 1;
    color: silver;
    font-size: 50px;
    opacity: .7;
    animation: pain_text_animation 10s ease 0s 1;
}

@keyframes pain_text_animation {
    0% {
        opacity: 0;
    }

    50% {
        opacity: .7;
    }

    100% {
        opacity: 0;
    }
}

.quotes, .links, .main-block {
    position: relative;
    z-index: 2;  
}