.app {
    text-align: center;
    background-color: #14162c;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.logo {
    height: 30vmin;
    pointer-events: none;
}

@media (prefers-reduced-motion: no-preference) {
    .logo {
        animation: logo-heart-beat infinite 2s linear;
    }
}

header {
    display: flex;
    margin-bottom: 6vmin;
}

main {
    font-size: calc(10px + 2vmin);
    display: flex;
    color: white;
}

footer {
    display: flex;
    margin-top: 4vmin;
}

footer .separator {
    color: #55586c;
    font-size: 1rem;
    margin: 0 0.7rem;
}

footer a {
    color: #55586c;
    text-decoration: none;
    font-size: 1.1rem;
}

footer a:hover {
    color: #f4646a;
}

@keyframes logo-heart-beat  {
    0% {
        transform: scale(1);
    }

    14% {
        transform: scale(1.1);
    }

    28% {
        transform: scale(1);
    }

    42% {
        transform: scale(1.1);
    }

    70% {
        transform: scale(1);
    }
}
