.frontpage-bg {
    animation: frontpage-bg-anim 30s linear infinite;
    background: rgb(80, 37, 98);
    background: linear-gradient(90deg, rgba(80,37,98,1) 0%, rgb(43, 37, 98) 50%, rgb(80, 37, 98) 100%);
    background-size: 300vw 1px;
    font-family: 'Montserrat', sans-serif;
    color: white;
}

@keyframes frontpage-bg-anim {
    0% {
        background-position: 0;
    }
    100% {
        background-position: 300vw;
    }
}

.arrow-img {
    animation: arrow-img-anim 4s ease-in-out infinite;
    position: absolute;
    transform: translate(-50%, -50%);
}

@keyframes arrow-img-anim {
    0%, 100% {
        top: 0;

    }
    50% {
        top: 10px;
    }
}

a.link-buttons, a.link-buttons:visited {
    border-radius: 100vmax;
    padding: 0.5vh 1vh;
    border: 0.25vh solid white;
    margin: 1vh;
    text-decoration: none;
    background: rgba(255, 255, 255, 0);
    transition: background 0.1s ease-in-out;
    font-size: 2vh;
}

a.link-buttons:hover, a.link-buttons:focus {
    background: rgba(255, 255, 255, 0.15);
    transition: background 0.1s ease-in-out;
}

a.link-buttons:active {
    background: rgba(255, 255, 255, 0.3);
    transition: background-color 0.05s ease-in-out;
}

.description {
    font-family: 'Source Sans Pro', sans-serif;
    padding: 4rem 8rem;
    background: linear-gradient(180deg, #f9f9f9 10px, #fff 10px, #fff 20px, #fcfcfc 20px, #fcfcfc 30px, #fff 30px);
    background-size: 1px 40px;
    animation: description-anim 15s cubic-bezier(0.45, 0.05, 0.55, 0.95) normal infinite;
}

@keyframes description-anim {
    0% {
        background-position-y: 0;
    }
    100% {
        background-position-y: 120px;
    }
}

.description h1 {
    font-family: 'Montserrat', sans-serif;
}

.description p {
    margin: 1rem 25vw 1rem 5vw;
    text-indent: 2rem;
}

.available-list {
    margin-top: 0;
    margin-left: 10vw;
}

.available-list a {
    color: black;
}

.text-animation {
    animation: text-animation-anim 1s cubic-bezier(0.7, 0.05, 0.25, 0.9) 1;
}

@keyframes text-animation-anim {
    0% {
        opacity: 0;
        margin-top: 2rem;
    }
    100% {
        opacity: 1;
        margin-top: 0;
    }
}

h1 {
    margin: 0;
    font-size: 10vh;
}